deep-get-set

1.1.2 • Public • Published

deep-get-set

Set and get values on objects via dot-notation strings.

Example

var deep = require('deep-get-set');

var obj = {
  foo: {
    bar: 'baz',
    'bar.baz': 'qux'
  }
};

// Get
console.log(deep(obj, 'foo.bar'));
  // => "baz"

// Get with array
console.log(deep(obj, ['foo', 'bar.baz']));
  // => "qux"

// Set
deep(obj, 'foo.bar', 'hello');
console.log(obj.foo.bar);
  // => "hello"

// Set with array
deep(obj, ['foo', 'bar.baz'], 'goodbye');
console.log(obj.foo['bar.baz']);
  // => "goodbye"

API

deep(object, path[, value])

Where path is a dot-notation string foo.bar or an array of strings.

  • If value is passed it will be set on the path.
  • Set deep.p = true if you want non-existent paths to be initialized.
  • If you want to unset (or delete), pass undefined as the value.

Installation

With npm do:

npm install deep-get-set

Note

There's a dozen modules like this on npm. This is a fork from @juliangruber's deep-access module, with a big portion of code directly copied from here: https://github.com/substack/js-traverse/blob/master/index.js#L11-L18.

Similar modules:

License

MIT

/deep-get-set/

    Package Sidebar

    Install

    npm i deep-get-set

    Weekly Downloads

    4,488

    Version

    1.1.2

    License

    MIT

    Unpacked Size

    7.63 kB

    Total Files

    6

    Last publish

    Collaborators

    • acstll