PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` # define-lazy-prop [![Build Status](https://travis-ci.org/sindresorhus/define-lazy-prop.svg?branch=master)](https://travis-ci.org/sindresorhus/define-lazy-prop) > Define a [lazily evaluated](https://en.wikipedia.org/wiki/Lazy_evaluation) 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 ```js const defineLazyProp = require('define-lazy-prop'); const unicorn = { // … }; defineLazyProp(unicorn, 'rainbow', () => expensiveComputation()); app.on('user-action', () => { doSomething(unicorn.rainbow); }); ``` ## API ### defineLazyProp(object, propertyName, fn) #### object Type: `Object` Object to add property to. #### propertyName Type: `string` Name of the property to add. #### fn Type: `Function` Called the first time `propertyName` is accessed. Expected to return a value. ## Related - [lazy-value](https://github.com/sindresorhus/lazy-value) - Create a lazily evaluated value - [import-lazy](https://github.com/sindresorhus/import-lazy) - Import a module lazily - [p-lazy](https://github.com/sindresorhus/p-lazy) - Create a lazy promise ## License MIT © [Sindre Sorhus](https://sindresorhus.com)