@alexaegis/common
Version:
Common utility functions
17 lines • 925 B
TypeScript
export interface DrySync {
<T extends (...args: never) => unknown>(isDry: boolean, whenWet: T, dryDefault: ReturnType<T>): T;
<T extends (...args: never) => unknown>(isDry: true, whenWet: T, dryDefault?: ReturnType<T>): T;
<T extends (...args: never) => unknown>(isDry: false, whenWet: T): T;
}
/**
* Conditionally dries up a function. When a function is dry it will
* no longer be called, instead it will return true
*/
export declare const drySync: DrySync;
export interface DryAsync {
<T extends (...args: never) => Promise<unknown>>(isDry: boolean, whenWet: T, dryDefault?: Awaited<ReturnType<T>>): T;
<T extends (...args: never) => Promise<unknown>>(isDry: true, whenWet: T, dryDefault?: Awaited<ReturnType<T>>): () => Promise<true>;
<T extends (...args: never) => Promise<unknown>>(isDry: false, whenWet: T): T;
}
export declare const dry: DryAsync;
//# sourceMappingURL=dry.function.d.ts.map