Create nested getter properties and any intermediary dot notation (`'a.b.c'`) paths
npm install set-getter> Create nested getter properties and any intermediary dot notation ('a.b.c') paths
Please consider following this project's author, Brian Woodward, and consider starring the project to show your :heart: and support.
Install with npm:
``sh`
$ npm install --save set-getter
`js`
var getter = require('set-getter');
set-getter works like set-value by adding a property to an object or an object hierarchy using dot notation. The main difference is that the property is added using Object.defineProperty and is expected to be a getter function that returns a value.
Example
`js
var obj = {};
// root level property
getter(obj, 'foo', function() {
return 'bar';
});
console.log(obj.foo);
//=> 'bar'
// property dot notation
getter(obj, 'bar.baz', function() {
return 'qux';
});
console.log(obj.bar.baz);
//=> 'qux'
// property array notation
getter(obj, ['beep', 'boop'], function() {
return 'bop';
});
console.log(obj.beep.boop);
//=> 'bop'
`
Defines a getter function on an object using property path notation.
Params
* obj {Object}: Object to add property to.prop
* {String|Array}: Property string or array to add.getter
* {Function}: Getter function to add as a property.
Example
`js`
var obj = {};
getter(obj, 'foo', function() {
return 'bar';
});
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Running Tests
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
`sh`
$ npm install && npm test
Building docs
_(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)_
To generate the readme, run the following command:
`sh``
$ npm install -g verbose/verb#dev verb-generate-readme && verb
Brian Woodward
* GitHub Profile
* Twitter Profile
* LinkedIn Profile
Copyright © 2021, Brian Woodward.
Released under the MIT License.
*
_This file was generated by verb-generate-readme, v0.8.0, on June 18, 2021._