safely retrieve nested object keys

object, path, nested, reach, nested object, safe lookup, object path
npm install reach-es5@1.0.0



Forked from the great Reach package but es5-ified :( to please Webpack Uglify!

Current Version Build Status via Travis CI


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, '');
// Returns 3


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.