-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Labels
proposalNew feature or requestNew feature or request
Description
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.
Metadata
Metadata
Assignees
Labels
proposalNew feature or requestNew feature or request