Skip to main content

lazy()

lazy<In, Out>(factory): (input) => Out

Lazy proxy - defers function creation until first call. The factory is called once on the first invocation, then the created function is used directly for all subsequent calls.


Type Parameters

In: In

The input type

Out: Out

The output type


Parameters

factory: () => (input) => Out

A function that creates the real function on demand


Returns

A proxy that initializes lazily


Since

2.4.0


Example

// Expensive connection is only created when first needed
const query = lazy(() => {
const conn = createConnection(); // heavy init
return (sql: string) => conn.execute(sql);
});

// Nothing happens yet...
query("SELECT 1"); // NOW the connection is created, then query runs
query("SELECT 2"); // reuses the same connection