Naming Prosecution Mitigator

    deep-set-in

    2.1.3 • Public • Published

    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

    Install

    npm i deep-set-in

    DownloadsWeekly Downloads

    9

    Version

    2.1.3

    License

    MIT

    Last publish

    Collaborators

    • kulikovsky.igor