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