pick-first
v0.1.0
Published
Return the first property on an object with a truthy value that matches the given object path or the first path in an array of object paths.
Downloads
2
Readme
pick-first
Return the first property on an object with a truthy value that matches the given object path or the first path in an array of object paths.
Example
Instead of doing something like this:
var layout = file.layout || file.data.layout || file.locals.layout || file.options.layout;
You can do this:
var layout = pickFirst(file, 'layout', ['data', 'locals', 'options']);
Install
Install with npm
$ npm i pick-first --save
Usage
var pickFirst = require('pick-first');
var o = {a: {b: {c: 'd', e: 'f', g: {x: 'one'}}, x: 'two'}, x: 'three'};
pickFirst(o, 'x', ['a.b.g', 'a']);
//=> 'one'
pickFirst(o, 'x', ['a', 'a.b.g']);
//=> 'two'
pickFirst(o, 'a.x', ['a.b.g', 'a']);
//=> 'two'
API
Related projects
- get-first: Pass an array of object paths (e.g.
a.b.c
) and get the first non-undefined value if… more - get-value: Use property paths (
a.b.c
) get a nested value from an object. - has-value: Returns true if a value exists, false if empty. Works with deeply nested values using… more
- set-value: Create nested values and any intermediaries using dot notation (
'a.b.c'
) paths.
Running tests
Install dev dependencies:
$ npm i -d && npm test
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
Author
Jon Schlinkert
License
This file was generated by verb-cli on May 26, 2015.