succulent
Version:
Powerful and easy runtime type checking
6 lines (5 loc) • 355 B
TypeScript
declare type Func<Args extends unknown[], R = void> = (...args: Args) => R;
declare type ReportFunc<Args extends unknown[]> = Func<Args>;
declare type ResolveFunc = () => boolean;
export declare function keyReporter<Args extends unknown[], Key>(check: Func<Args>, onError: Func<Args, string>): [report: ReportFunc<Args>, resolve: ResolveFunc];
export {};