function once once<T extends unknown[],S,>(f: (...args: T) => S): ((...args: T) => S) Type Parameters T extends unknown[] S Parameters f: (...args: T) => S Return Type ((...args: T) => S)