pickapart
v1.0.0
Published
deep immutable destructuring with omit
Downloads
10
Maintainers
Readme
pickapart
deep immutable destructuring with omit
- If your app is already using
Lodash
, then just use thelodash-pickapart
mixin.
Installation
$ npm install --save pickapart
Usage
const pickapart = require('pickapart');
// pickapart(paths, source)
// * paths: String|Array (optional, if source is an Array)
// * source: Object|Array
const payload = { name: 'abc', meta: { token: 123, easy: true } };
const [token, data] = pickapart('meta.token', payload);
console.log('=> ', payload);
// => { name: 'abc', meta: { token: 123, easy: true }}
console.log('=> ', token);
// => 123
console.log('=> ', data);
// => { name: 'abc', meta: { easy: true }}
const [is, ez] = pickapart(['name', 'meta.easy'], payload);
console.log('=> ', is);
// => 'abc'
console.log('=> ', ez);
// => true
const flavors = ['chocolate', 'vanilla', 'strawberry'];
const [plain, others] = pickapart('[1]', flavors);
console.log('=> ', plain);
// => 'vanilla'
console.log('=> ', others);
// => [ 'chocolate', 'strawberry' ]
const [choco, notChoco] = pickapart(flavors);
console.log('=> ', choco);
// => 'chocolate'
console.log('=> ', notChoco);
// => [ 'vanilla', 'strawberry' ]
License
ISC © Buster Collings