@hyext/utils
Version:
A tools lib for huya miniapp business development
27 lines (26 loc) • 1.36 kB
TypeScript
export declare type PromisfyFn<T, U> = (...args: Array<T>) => Promise<U>;
declare type PromisfyFnWithCatchOptions = {
executePromiseFn: PromisfyFn<any, any>;
onPending?: (callArgs: Array<any>, callId: number) => void;
onResolve?: (response: any, callId: number) => void;
onReject?: (error: Error, callId: number) => Error | void;
};
export declare const createPromisfyFnWithCatch: (options: PromisfyFnWithCatchOptions) => (...args: any) => Promise<any>;
declare type NormalFn = (...args: Array<any>) => any;
export declare const once: (fn: NormalFn) => (...arg: Array<any>) => any;
export declare const throttle: (delay: number, fn: NormalFn) => (...args: Array<any>) => void;
declare type PollingOptions = {
intervalTime: number;
fn: (...args: Array<any>) => Promise<boolean> | boolean;
immediately?: boolean;
onEnd?: NormalFn;
};
export declare const createPolling: (options: PollingOptions) => (...args: Array<any>) => () => void;
declare type MemoryFn<T extends any[], U> = (...args: T) => U;
/**
* memory - 返回一个缓存每次调用的结果并输出的函数
* @param fn 计算纯函数,入参成员必须是 number | string
* @returns 返回一个缓存入参映射结果的函数
*/
export declare const memory: <T extends any[], U>(fn: MemoryFn<T, U>) => (...args: T) => U;
export {};