UNPKG

clone-class

Version:

Clone an ES6 Class as Another Class Name for Isolating Class Static Properties.

46 lines 1.27 kB
/** * Huan LI <zixia@zixia.net> */ /** * Constructor<T> * https://stackoverflow.com/a/50116912/1123955 * * See also: * - https://github.com/Microsoft/TypeScript/issues/10262 * - https://github.com/Microsoft/TypeScript/issues/5843#issuecomment-290972055 * - https://github.com/Microsoft/TypeScript/pull/13743 * * - Types for classes as values in TypeScript * https://2ality.com/2020/04/classes-as-values-typescript.html */ /** * Huan(202108) version: * * T: the `Class` * P: `typeof Class` */ export declare type ClassInterface<C> = { [key in keyof C]: C[key]; }; declare type InstanceInterface<I> = { new (...args: any[]): I; prototype: I; }; declare type Constructor<I extends {} = {}> = InstanceInterface<I>; /** * Huan(202110): TypeError: Cannot read property 'valueDeclaration' of undefined #58 * https://github.com/huan/clone-class/issues/58 * * - Update Oct 13: `typescript@4.5.0-beta` not fix */ /** * Huan(202109) versino: */ /** * https://github.com/wechaty/wechaty/issues/2090 * * Warning: the InstantiatableClass returned by `constructor()` is not really instanciatable: * it's just for typing compatible for some special conditions */ export type { Constructor, }; //# sourceMappingURL=constructor.d.ts.map