toolbox icon indicating copy to clipboard operation
toolbox copied to clipboard

[Proposal]: once function

Open EhsanKey opened this issue 2 months ago • 0 comments

Function Signature

function once<T extends (...args: any[]) => any>(fn: T): T;

Motivation

once restricts a function to be invoked only once. Subsequent calls return the cached result:

const initialize = once(() => {
  console.log('Loading...');
  return { ready: true };
});

initialize(); // Logs: 'Loading...', returns { ready: true }
initialize(); // No log, returns { ready: true }

Benefits:

  • Useful for expensive operations like initialization or API calls.
  • Ensures idempotency for setup functions.
  • Simple and lightweight memoization for single invocation.

EhsanKey avatar Dec 05 '25 17:12 EhsanKey