0.1.0 • Published 9 years ago

pick-first v0.1.0

Weekly downloads
1
License
MIT
Repository
github
Last release
9 years ago

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.