lazy-var
v2.2.2
Published
Lazy initialize values
Downloads
11
Readme
lazy-var.js
Lazy initialize values
Idea
A way to lazy-initialize data. Executes the initializer first time calling .get() and returns the same value afterwards. Supports both synchronous and asynchronous initializers.
The solution is inspired by System.Lazy from dotnet
Install
npm
or install with npm cli
dev@dingdong:~/my-project$ npm install lazy-var
or yarn
dev@dingdong:~/my-project$ yarn add lazy-var
Usage
// Setup lazy variable
import { lazy } from "lazy-var";
import { heavyMethod } from "./lib/stuff.js";
var lazyData = lazy(async () => {
console.log("Request for data");
return await heavyMethod()
});
// Later on: Retrieve the data
var data = await lazyData.get();
// outputs: "Request for data"
// returns: whatever data from heavyMethod
var data2 = await lazyData.get();
// no output
// returns: same data as data