/** * Type that identifies a value as a static class, even if it is not instantiable. */ export type StaticClass = Function & {prototype: T} & T2 /** * Returns true if the parameter is a static class. * @param something */ export function isStaticClass(something: any): something is StaticClass { return typeof something === 'function' && typeof something.prototype !== 'undefined' }