Skip to content

optional object chaining & creation with ES6 Proxys

Notifications You must be signed in to change notification settings

kirjavascript/Qbject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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, 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._); // {}
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'

About

optional object chaining & creation with ES6 Proxys

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published