@kospa/base
Version:
Base components for kospa framework
23 lines (22 loc) • 1.07 kB
TypeScript
export interface Extend {
<T, U>(target: T, source: U): T & U;
<T, U, V>(target: T, source1: U, source2: V): T & U & V;
<T, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
(target: Record<string, unknown>, ...sources: any[]): any;
}
export interface Deferred<T> {
promise: Promise<T>;
resolve(val?: T): void;
reject(err: Error): void;
}
export declare function enableLog(enable: boolean): void;
export declare function log(...args: any[]): void;
export declare function error(...args: any[]): void;
export declare const extend: Extend;
export declare function module<T>(): Promise<null>;
export declare function module<T>(name: string): Promise<T>;
export declare function module<T>(names: string[]): Promise<T[]>;
export declare function module<T>(...names: string[]): Promise<T[]>;
export declare function deferred(): Deferred<any>;
export declare function deferred<T>(): Deferred<T>;
export declare function asyncEach<T>(array: T[], iterator: (item: T, index: number, list: T[]) => Promise<any>): Promise<void>;