tiny-immutable-set
v1.3.1
Published
Minimal, immutable deep set
Downloads
107
Maintainers
Readme
tiny-immutable-set
A minimal, immutable, deep set utility for Javascript objects and arrays.
Inspired by, and based on, NickGard's tiny-get
Usage
import { set } from 'tiny-immutable-set';
const newState = set(state, 'deep.path', newValue);
The original state
is not modified.
Notes
- If you're using lodash then you don't need this: see this thread for alternatives.
- Unlike most other setter utilities, this is slightly faster if you use a string for the path, instead of an array:
set(obj, "deep.path[123]", newVal)
instead ofset(obj, ["deep", "path", 123], newVal)
. - The small bundle size of this library comes with a slight speed tradeoff. This library is a little slower than immutable-assign and immutable.js, but a little faster than Immer and seamless-immutable. See full benchmark here.