qbject

2.0.9 • Public • Published

Optional object chaining & creation with ES6 Proxys

Arbitrary property access with a default value. When setting a property, missing objects in the chain are created automatically.

Exports a global 'Qbject' when dumped in your page as a script tag.

You could use this or this or this instead if you just need optional chaining.

Install

$ yarn add qbject

Params

object to wrap ({})
default value (undefined)
unwrap key ('_')

Examples

import Qbject from 'qbject';

const obj1 = Qbject();

console.log(obj1.bar.bar.baz._); // 'undefined'

obj1.arbitrary.deep.mutation = true;

console.log(obj1._); // {"arbitrary":{"deep":{"mutation":true}}}

obj1.foo = 'data';

console.log(obj1.foo._); // 'data'

const obj2 = Qbject({foo: 'test'}, 'something');

console.log(obj2._); // { foo: 'test' }
console.log(obj2.foo._); // 'test'
console.log(obj2.bar._); // 'something'
console.log(obj2.bar.bar._); // 'something'

Readme

Keywords

none

Package Sidebar

Install

npm i qbject

Weekly Downloads

1

Version

2.0.9

License

none

Unpacked Size

4.39 kB

Total Files

4

Last publish

Collaborators

  • kirjava