1.0.1 • Published 5 years ago
fast-path-set v1.0.1
fast-path-set
A fast drop-in replacement for lodash.set.
Install
$ npm i fast-path-set --saveUsage
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.
Benchmark
$ 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.1385409832Acknowledgements
Thanks to Luke Edwards, James M Snell and Simone Sanfratello for helping polishing this to perfection.
License
MIT