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