1.5.0 • Published 9 years ago

get-safe v1.5.0

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

get-safe

Safe access to deeply nested properties or functions in JS objects without getting a TypeError but undefined instead.

You can even call a nested function in objects if the last nested key ends with (). You can pass arguments by adding them as last parameters of the get-safe function call.

Install:

Using npm

npm install get-safe --save

Using yarn:

yarn add navscroll

Directly include it in html:

<!-- Browsers with ES module support load this file. -->
<script type="module" src="node_modules/get-safe/browser-version/get-safe.js"></script>

<!-- Older browsers load this file (and module-supporting -->
<!-- browsers know when *not* to load this file). -->
<script nomodule src="node_modules/get-safe/browser-version/get-safe-legacy.js"></script>

How to use

const _ = require ('get-safe');
const myObj = {
 foo: {
   bar: {
     baz: ['winter','is','coming'],
     fifo (arg1, arg2) {
       console.log("I'am a function, arguments are:",...arguments);
       return 42;
     }
   }
 }
};

// Tests
console.log(_('foo.bar.baz.2',myObj)); // logs 'coming'
console.log(_('foo.bar.fifo()',myObj,'arg1','arg2')); // calls the nested function 'fifo' and logs its result
console.log(_('foo.inexistant.property.baz',myObj)); // logs 'undefined'

NOTE: If you are NOT making a function call and just accessing a property, you can pass a default value as the third argument, this will be returned instead of undefined if the nested property doesn't exsit.

1.5.0

9 years ago

1.4.2

10 years ago

1.4.1

10 years ago

1.4.0

10 years ago

1.3.0

10 years ago

1.2.0

10 years ago

1.1.0

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago