2.1.3 • Published 7 years ago

deep-set-in v2.1.3

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

deep-set-in

Sets the value at path of object and array tree

Installation

npm install deep-set-in

Usage

Set property in an object

var deepSetIn = require('deep-set-in')

var obj = { one: { two: { three: 'test' } } }

deepSetIn(obj, ['one', 'two', 'three'], 'works')
// { one: { two: { three: 'works' } } }

Set property in an array

var deepSetIn = require('deep-set-in')

var obj = { one: { two: [{ id: 'test id', val: 'test val' }] } }

deepSetIn(obj, ['one', ['two', 'id', 'test id'], 'val'], 'works')
// { one: { two: [{ id: 'test id', val: 'works' }] } }

Set property in an array with custom comparator

var deepSetIn = require('deep-set-in')

var obj = { one: { two: [{ id: 1, val: 'test val' }] } }

var comparator = function(a, b) {
  return a > b;
};

deepSetIn(obj, ['one', ['two', 'id', 999, comparator], 'val'], 'works')
// { one: { two: [{ id: 1, val: 'works' }] } }

Arguments

deepSetIn(obj, path, value, options)

  • obj - Object: The original object.
  • path - Array: The property path, array with keys.
  • value - *: The new object with set value or undefined.
  • options - Object: The options object.
  • options.immutable - Boolean: Specify modify original object or return modified one.
  • options.create - Boolean: Specify creating of new an object or array if it is not exist.

Tests

npm test

License

MIT

2.1.3

7 years ago

2.1.2

7 years ago

2.1.1

7 years ago

2.1.0

7 years ago

2.0.0

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago