@theintern/common
Version:
Common modules used by @theintern projects
10 lines (9 loc) • 621 B
TypeScript
export interface Handle {
destroy(): void;
}
export declare function createHandle(destructor: () => void): Handle;
export declare function createCompositeHandle(...handles: Handle[]): Handle;
export declare function deepMixin<T extends object, U extends object>(target: T, source: U): T & U;
export declare function deepMixin<T extends object, U extends object, V extends object>(target: T, source1: U, source2: V): T & U & V;
export declare function duplicate<T extends object>(source: T): T;
export declare function partial(targetFunction: (...args: any[]) => any, ...suppliedArgs: any[]): (...args: any[]) => any;