objfile

0.1.2 • Public • Published

objfile

Read from + write to + update INI and JSON files via a simple asynchronous API.

Install for your app

cd /path/to/your/app
npm install objfile --save

Usage

Example

var objfile = require('objfile');

var my_file = objfile('/path/to/my/file.ini'); // auto-identified as INI file

// read
my_file.get('my', 'hierarchy', 'in', 'the', 'object', function (err, value) {
  if (err) {
    console.error(err);
  } else {
    console.log('Value:', value);
  }
});

// write
my_file.set('some', 'other', 'path', 'new_value', function (err) {
  if (err) {
    console.error(err);
  } else {
    console.log('Value set');
  }
});

API

// factory: returns instantiated IniFile or JsonFile
objfile(path[, options][, callback]);
// INI file
new objfile.IniFile(path[, options][, callback]);
// JSON file
new objfile.JsonFile(path[, options][, callback]);

Argument: path

  • type: string
  • value: /path/to/data/file
  • required

Argument: options

  • type: object
  • possible keys/values:
    • type: 'ini' or 'json' forces a type, no path-parsing (factory only)
    • dataRoot: data hierarchy root for get/set/del methods (default: top-level)
  • optional

Argument: callback

  • type: function
  • call: function (err) { /* err has value if file is not readable */ }
  • optional

Return value: IniFile instance or JsonFile instance

Read (get)

my_file.get(key1[, key2, ...], callback);

Argument: key (any number)

  • type: string or number
  • value: key on object
  • required

Argument: callback

  • type: function
  • call: function (err, value) { /* err if key-path does not exist */ }
  • required

Return value: undefined

Write (set)

my_file.get(key1[, key2, ...], value, callback);

Argument: key (any number)

  • type: string or number
  • value: key on object
  • required

Argument: value (required, any type)

Argument: callback

  • type: function
  • call: function (err) { /* err if sync fails */ }
  • optional

Return value: undefined

Delete

my_file.del(key1[, key2, ...], callback);

Argument: key (any number)

  • type: string or number
  • value: key on object
  • required

Argument: callback

  • type: function
  • call: function (err) { /* err if sync fails or key-path does not exist */ }
  • optional

Return value: undefined

Package Sidebar

Install

npm i objfile

Weekly Downloads

0

Version

0.1.2

License

ISC

Last publish

Collaborators

  • gvarsanyi