%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
# define-lazy-prop [](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)