14 lines
416 B
TypeScript
14 lines
416 B
TypeScript
/*
|
|
* SPDX-License-Identifier: GPL-3.0
|
|
* Vencord Desktop, a desktop app aiming to give you a snappier Discord Experience
|
|
* Copyright (c) 2023 Vendicated and Vencord contributors
|
|
*/
|
|
|
|
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;
|
|
}
|