reach

1.0.1 • Public • Published

reach

Current Version Build Status via Travis CI Dependencies belly-button-style

Safely retrieve nested object keys. Inspired by the Hoek module's reach() method.

const Reach = require('reach');
const obj = {
  foo: {
    bar: {
      baz: 3
    }
  }
};
 
Reach(obj, 'foo.bar.baz');
// Returns 3

Methods

Reach exports a single function, described below.

reach(obj, chain [, options])

  • Arguments
    • obj (object) - An object to retrieve a value from.
    • chain (string) - A string specifying the path to traverse within obj. Path segments are delimited by periods ('.') by default. If a non-string is provided, a TypeError is thrown.
    • options (object) - A configuration object supporting the following keys.
      • separator (string) - Path segment delimiter. Defaults to '.'.
      • strict (boolean) - If true, an error is thrown when the complete chain cannot be found in obj. Defaults to false.
      • default - The value returned if the complete chain cannot be found in obj, and strict is false. Defaults to undefined.
  • Returns
    • The value found by traversing chain through obj. If no value is found, and the strict option is false (default behavior), then default is returned.

Traverses an object, obj. The path through the object is dictated by the chain string.

Package Sidebar

Install

npm i reach

Weekly Downloads

2,099

Version

1.0.1

License

MIT

Unpacked Size

7.54 kB

Total Files

6

Last publish

Collaborators

  • cjihrig