pick-first

0.1.0 • Public • Published

pick-first NPM version

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.

Readme

Keywords

none

Package Sidebar

Install

npm i pick-first

Weekly Downloads

1

Version

0.1.0

License

MIT

Last publish

Collaborators

  • jonschlinkert
  • doowb