@jiaozhiye/qm-design-vue
Version:
A Component Library for Vue3.0
17 lines (16 loc) • 862 B
TypeScript
import { AnyFunction } from '../../_utils/types';
export type NoInfer<A> = [A][A extends any ? 0 : never];
export type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
export declare function memo<TDeps extends ReadonlyArray<any>, TResult>(getDeps: () => [...TDeps], fn: (...args: NoInfer<[...TDeps]>) => TResult, opts: {
key: false | string;
noCache?: () => boolean;
debug?: () => boolean;
onChange?: (result: TResult) => void;
initialDeps?: TDeps;
}): {
(): TResult;
updateDeps(newDeps: [...TDeps]): void;
};
export declare function notUndefined<T>(value: T | undefined, msg?: string): T;
export declare const approxEqual: (a: number, b: number) => boolean;
export declare const debounce: (targetWindow: Window & typeof globalThis, fn: AnyFunction<any>, ms: number) => (this: any, ...args: Array<any>) => void;