// eslint-disable-next-line typescript/no-explicit-any const once = any>( fn: T, ): ((...args: Parameters) => ReturnType) => { let isCalled = false; let result: ReturnType; return (...args: Parameters): ReturnType => { if (!isCalled) { isCalled = true; result = fn(...args); } return result; }; }; export default once;