Define a lazily evaluated property on an object
Useful when the value of a property is expensive to generate, so you want to delay the computation until the property is needed. For example, improving startup performance by deferring nonessential operations.
Install
$ npm install --save define-lazy-prop
Usage
const defineLazyProp = require('define-lazy-prop');
const unicorn = {
// ...
};
defineLazyProp(unicorn, 'rainbow', () => expensiveComputation());
app.on('user-action', () => {
doSomething(unicorn.rainbow);
});
API
defineLazyProp(obj, prop, fn)
obj
Type: Object
Object to add property to.
prop
Type: string
Name of the property to add.
fn
Type: Function
Called the first time prop
is accessed. Expected to return a value.
Related
- lazy-value - Create a lazily evaluated value
- lazy-req - Require modules lazily
- p-lazy - Create a lazy promise
License
MIT © Sindre Sorhus