9 lines
231 B
TypeScript
9 lines
231 B
TypeScript
|
export function once<T extends Function>(fn: T): T {
|
||
|
let called = false;
|
||
|
return function (this: any, ...args: any[]) {
|
||
|
if (called) return;
|
||
|
called = true;
|
||
|
return fn.apply(this, args);
|
||
|
} as any;
|
||
|
}
|