aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/define-lazy-prop/index.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/define-lazy-prop/index.d.ts')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/define-lazy-prop/index.d.ts33
1 files changed, 33 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/define-lazy-prop/index.d.ts b/sandbox/testAppNevena/Front/node_modules/define-lazy-prop/index.d.ts
new file mode 100644
index 00000000..ba8998b8
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/define-lazy-prop/index.d.ts
@@ -0,0 +1,33 @@
+/**
+Define a [lazily evaluated](https://en.wikipedia.org/wiki/Lazy_evaluation) property on an object.
+
+@param object - Object to add property to.
+@param propertyName - Name of the property to add.
+@param fn - Called the first time `propertyName` is accessed.
+
+@example
+```
+import defineLazyProp = require('define-lazy-prop');
+
+const unicorn = {
+ // …
+};
+
+defineLazyProp(unicorn, 'rainbow', () => expensiveComputation());
+
+app.on('user-action', () => {
+ doSomething(unicorn.rainbow);
+});
+```
+*/
+declare function defineLazyProp<
+ ObjectType extends {[key: string]: unknown},
+ PropertyNameType extends string,
+ PropertyValueType
+>(
+ object: ObjectType,
+ propertyName: PropertyNameType,
+ fn: () => PropertyValueType
+): ObjectType & {[K in PropertyNameType]: PropertyValueType};
+
+export = defineLazyProp;