project-client/src/shared/utils/once.ts

9 lines
231 B
TypeScript
Raw Normal View History

2023-04-04 07:41:52 +09:00
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;
}