define-lazy-prop

Define a lazily evaluated property on an object


Keywords
lazy, property, properties, prop, define, object, value, lazily, laziness, evaluation, eval, execute, getter, function, fn, memoize, cache, defer, deferred
License
MIT
Install
npm install define-lazy-prop@3.0.0

Documentation

define-lazy-prop

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 define-lazy-prop

Usage

import defineLazyProperty from 'define-lazy-prop';

const unicorn = {
	// …
};

defineLazyProperty(unicorn, 'rainbow', () => expensiveComputation());

app.on('user-action', () => {
	doSomething(unicorn.rainbow);
});

API

defineLazyProperty(object, propertyName, valueGetter)

object

Type: object

Object to add the property to.

propertyName

Type: string

Name of the property to add.

valueGetter

Type: Function

Called the first time propertyName is accessed. Expected to return a value.