mirror of
https://github.com/toss/es-toolkit.git
synced 2024-12-01 02:33:54 +03:00
cf65b2c601
* chore: add prettierrc * chore: apply format with prettier config * chore: eslint error fix
631 B
631 B
once
Creates a function that is restricted to invoking the provided function func
once.
Repeated calls to the function will return the value from the first invocation.
Signature
function once<F extends () => any>(func: F): F;
Parameters
func
(F extends () => any
): The function to restrict.
Returns
(F
): A new function that invokes func
once and caches the result.
Examples
const initialize = once(() => {
console.log('Initialized!');
return true;
});
initialize(); // Logs: 'Initialized!' and returns true
initialize(); // Returns true without logging