Have ideas to improve npm?Join in the discussion! »

    @strikeentco/set

    1.0.1 • Public • Published

    set License npm

    Build Status node Test Coverage

    One of the smallest (31 sloc) and most effective implementations of setting a nested value on an object.

    Usage

    $ npm install @strikeentco/set --save
    const set = require('@strikeentco/set');
     
    set({ a: { b: 'c' } }, 'a.b', 'd');
    //=> { a: { b: 'd' } }
     
    set({ a: { b: ['c', 'd'] } }, 'a.b.1', 'e');
    //=> { a: { b: ['c', 'e'] } }
     
    set({ a: { b: ['c', 'd'] } }, ['a', 'b'], 'c');
    //=> { a: { b: 'c' } }
     
    set({ a: { b: 'c' } }, 'a.b.c.d', 'e');
    //=> { a: { b: { c: { d: 'e' } } } }
     
    set({ a: { b: 'c' } }, 'a:b', 'd', ':');
    //=> { a: { b: 'd' } }

    API

    set(obj, path, val, [separator])

    Params:

    • obj (Object) - Source object.
    • path (String|Array) - String or array with path.
    • val (Any) - Value to set.
    • [separator] (String) - . by default.

    License

    The MIT License (MIT)
    Copyright (c) 2018-present Alexey Bystrov

    Install

    npm i @strikeentco/set

    DownloadsWeekly Downloads

    3,816

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    5.12 kB

    Total Files

    4

    Last publish

    Collaborators

    • avatar