A fast drop-in replacement for lodash.set.
$ npm i fast-path-set --save
const set = require('fast-path-set')
const obj = {}
set(obj, 'a.b.c', 1)
console.log(obj.a.b.c)
Check test.js for more detailed usage examples. There is one key difference to lodash.set, which is the fact fast-path-set will prioritise safety and abort attempts to overwrite non-object values. It also correctly prevents prototype pollution attacks.
$ npm i lodash.set
$ node bench.js lodash.set
85422.0864751339
$ npm i dset
$ node bench.js dset
65307.5742549896
$ node bench.js fast-path-set
63214.1385409832
Thanks to
Luke Edwards,
James M Snell and
Simone Sanfratello
for helping polishing this to perfection.
MIT
We use cookies
We use cookies to analyze traffic and improve your experience. You can accept or reject analytics cookies.