Skip to content
This repository has been archived by the owner on May 2, 2020. It is now read-only.

cjihrig/reach

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.