1.1.5 • Published 3 years ago

file-it v1.1.5

Weekly downloads
117
License
SEE LICENSE IN LI...
Repository
github
Last release
3 years ago

file-it

Helps minimize the amount of fs read and write logic, try/catch logic, writes clean UTF8 json content, and cleans up byte order mark and newline characters to cleanly read and parse json content.

Installation

npm install --save file-it
OR
yarn add file-it

Import or Require

import fileIt from "file-it";
OR
const fileIt = require("file-it");

API


setJsonValue(filename, key, value, options)

  • filename the full file path
  • key the name of the element in the json file
  • value the value you want to set
const fileIt = require('file-it')
const file = '/tmp/data.json'
fileIt.setJsonValue(file, "hello", "universe", {spaces: 2});

getJsonValue(filename, key)

  • filename the full file path
  • key the name of the element in the json file
const fileIt = require('file-it')
const file = '/tmp/data.json'
await fileIt.setJsonValue(file, "hello", "universe", {spaces: 2});
const val = await fileIt.getJsonValue(file, "hello");
console.log("val: ", val); // prints out "universe"

readJsonArraySync(filename)

  • filename the full file path
    • throws If JSON.parse throws an error, pass this error to the callback
const fileIt = require('file-it')
const file = '/tmp/jsonArrayFile.json'
fileIt.readJsonArraySync(file, function (err, data) {
  if (err) console.error(err)
  else console.log(data)
})

readJsonLinesSync(filename)

  • filename the full file path
    • throws If JSON.parse throws an error, pass this error to the callback
const fileIt = require('file-it')
const file = '/tmp/linesOfJsonData.json'
fileIt.readJsonLinesSync(file, function (err, data) {
  if (err) console.error(err)
  else console.log(data)
})

readContentFile(filename)

  • filename the full file path
const fileIt = require('file-it')
const file = '/tmp/data.json'
fileIt.readContentFile(file, function (err, data) {
  if (err) console.error(err)
  else console.log(data)
})

readContentFileSync(filename)

  • filename the full file path
const fileIt = require('file-it')
const file = '/tmp/data.json'
console.log(fileIt.readContentFileSync(file))

readJsonFile(filename)

  • filename the full file path
    • throws If JSON.parse throws an error, pass this error to the callback
const fileIt = require('file-it')
const file = '/tmp/data.json'
fileIt.readJsonFile(file, function (err, data) {
  if (err) console.error(err)
  else console.log(data)
})

You can also use this method with promises. The readJsonFile method will return a promise if you do not pass a callback function.

const fileIt = require('file-it')
const file = '/tmp/data.json'
fileIt.readJsonFile(file)
  .then(data => console.log(data))
  .catch(error => console.error(error))

readJsonFileSync(filename)

  • filename: the full file path
  • content: The string object to write
    • throws If an error is encountered reading or parsing the file, throw the error
const fileIt = require('file-it')
const file = '/tmp/data.json'

console.log(fileIt.readJsonFileSync(file))

appendJsonFileSync(filename, obj, options)

  • filename: the full file path
  • obj: The json object to append to the file
  • options: Pass in any fs.appendFileSync options or set replacer for a JSON replacer. Can also pass in spaces and override EOL string.
const fileIt = require('file-it')

const file = '/tmp/data.json'
const obj = { hello: 'World' }

fileIt.appendJsonFileSync(filename, content, function (err) {
  if (err) console.error(err)
})


writeContentFile(filename, content, callback)

  • filename: the full file path
  • content: The string object to write
const fileIt = require('file-it')

const file = '/tmp/data.txt'
const content = "hello world"

fileIt.writeContentFile(filename, content, function (err) {
  if (err) console.error(err)
})

writeContentFileSync(filename, content)

const fileIt = require('file-it')

const file = '/tmp/data.txt'
const content = "hello world"

fileIt.writeContentFile(filename, content)

writeJsonFile(filename, obj, options, callback)

  • filename: the full file path
  • obj: The json object to write
  • options: Pass in any fs.writeFile options or set replacer for a JSON replacer. Can also pass in spaces and override EOL string.
const fileIt = require('file-it')

const file = '/tmp/data.json'
const obj = { hello: 'World' }

fileIt.writeJsonFile(file, obj, function (err) {
  if (err) console.error(err)
})

Or use with promises as follows:

const fileIt = require('file-it')

const file = '/tmp/data.json'
const obj = { hello: 'World' }

fileIt.writeJsonFile(file, obj)
  .then(res => {
    console.log('Write complete')
  })
  .catch(error => console.error(error))

formatting with spaces:

const fileIt = require('file-it')

const file = '/tmp/data.json'
const obj = { hello: 'World' }

fileIt.writeJsonFile(file, obj, { spaces: 2 }, function (err) {
  if (err) console.error(err)
})

overriding EOL:

const fileIt = require('file-it')

const file = '/tmp/data.json'
const obj = { hello: 'World' }

fileIt.writeJsonFile(file, obj, { spaces: 2, EOL: '\r\n' }, function (err) {
  if (err) console.error(err)
})

appending to an existing JSON file:

You can use fs.writeFile option { flag: 'a' } to achieve this.

const fileIt = require('file-it')

const file = '/tmp/data.json'
const obj = { hello: 'World' }

fileIt.writeJsonFile(file, obj, { flag: 'a' }, function (err) {
  if (err) console.error(err)
})

writeJsonFileSync(filename, obj, options)

  • filename: the full file path
  • obj: The json object to write
  • options: Pass in any fs.writeFileSync options or set replacer for a JSON replacer. Can also pass in spaces and override EOL string.
const fileIt = require('file-it')

const file = '/tmp/data.json'
const obj = { hello: 'World' }

fileIt.writeJsonFileSync(file, obj)

formatting with spaces:

const fileIt = require('file-it')

const file = '/tmp/data.json'
const obj = { hello: 'World' }

fileIt.writeJsonFileSync(file, obj, { spaces: 2 })

overriding EOL:

const fileIt = require('file-it')

const file = '/tmp/data.json'
const obj = { hello: 'World' }

fileIt.writeJsonFileSync(file, obj, { spaces: 2, EOL: '\r\n' })

appending to an existing JSON file:

You can use fs.writeFileSync option { flag: 'a' } to achieve this.

const fileIt = require('file-it')

const file = '/tmp/data.json'
const obj = { hello: 'World' }

fileIt.writeJsonFileSync(file, obj, { flag: 'a' })

findSortedJsonElement(filename, attribute, direction?)

  • filename: the full file path
  • attribute: the name of the attribute within a json element
  • direction: the sort direction "asc" | "desc" - default is desc
const fileIt = require('file-it')

const file = '/tmp/data.json'

const topElement = fileIt.findSortedJsonElement(file, "count")
const fileIt = require('file-it')

const file = '/tmp/data.json'

const bottomElement = fileIt.findSortedJsonElement(file, "count", "asc")
1.1.5

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.28

3 years ago

1.0.27

3 years ago

1.0.26

3 years ago

1.0.24

4 years ago

1.0.23

4 years ago

1.0.19

4 years ago

1.0.22

4 years ago

1.0.21

4 years ago

1.0.20

4 years ago

1.0.18

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.13

4 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.2

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago