Get unlimited public & private packages + package-based permissions with npm Pro.Get started »

@strikeentco/set

1.0.0 • Public • Published

set License npm

Build Status node Test Coverage bitHound Score

One of the smallest (24 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 Alexey Bystrov

Install

npm i @strikeentco/set

DownloadsWeekly Downloads

725

Version

1.0.0

License

MIT

Unpacked Size

4.75 kB

Total Files

4

Last publish

Collaborators

  • avatar