@itwin/core-bentley
Version:
Bentley JavaScript core components
20 lines • 1.39 kB
TypeScript
/** @packageDocumentation
* @module Utils
*/
/** Check if class `subclass` is a different class from `superclass` but extends from `superclass`
* @param subclass the class that may be a subclass of `superclass`
* @param superclass the class that may be a base class of `subclass`
* @note The constructors of all types must be `public`.
* @returns whether `subclass` is a proper subclass of `superclass`
* @public
*/
export declare function isProperSubclassOf<SuperClass extends new (..._: any[]) => any, NonSubClass extends new (..._: any[]) => any, SubClass extends new (..._: any[]) => InstanceType<SuperClass>>(subclass: SubClass | NonSubClass, superclass: SuperClass): subclass is SubClass;
/** Check if class `subclass` is `superclass` or extends from `superclass`
* @param subclass the class that may be a subclass of `superclass`.
* @param superclass the class that may be a base class of `subclass`.
* @note The constructors of all types must be `public`.
* @returns whether `subclass` is a subclass of `superclass`
* @public
*/
export declare function isSubclassOf<SuperClass extends new (..._: any[]) => any, NonSubClass extends new (..._: any[]) => any, SubClass extends new (..._: any[]) => InstanceType<SuperClass>>(subclass: SuperClass | SubClass | NonSubClass, superclass: SuperClass): subclass is SubClass | SuperClass;
//# sourceMappingURL=ClassUtils.d.ts.map