Skip to content

javisantos/mb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mb

goat

Exception-free nested nullable attribute accessor. An alternative to facebookincubator/idx in 55 bytes.


Install

Just copy/paste this function into your project:

var mb=(...p) => o => p.map(c => (o = o && o[c])) && o

Alternatively, you can download mb.js.

Use

var getHello = mb("a", "b", 0, "hello");
var getHelloLength = mb("a", "b", 0, "hello", "length");

var obj1 = {
  a: {
    b: [{ hello: "world" }]
  }
};

var obj2 = {
  c: {
    d: "e"
  }
};

getHello(obj1); // world
getHelloLength(obj1); // 5

getHello(obj2); // undefined
getHelloLength(obj2); // undefined

Contribution and Code-Golfing

  1. Clone and shorten current code.
  2. Follow Standard rules (https://standardjs.com/)
  3. Please open test.html in your browser and open console to see if all the tests pass.

Contributors

About

Exception-free nested nullable attribute accessor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 91.5%
  • HTML 8.5%