Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@strikeentco/set

strikeentco10.6kMIT1.0.2

Set nested values on an object using a dot path or custom separator

obj, object, prop, property, dot, path, set, deep, create, notation, dotty, key, nested, paths, properties, props, segment, value, values, custom, separator, small, fast

readme

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