CtorToType
@tsed/schema
Usage
typescript
import { CtorToType } from "@tsed/specs/schema/src/domain/types";Overview
ts
type CtorToType<C> = C extends StringConstructor ? string : C extends NumberConstructor ? number : C extends BooleanConstructor ? boolean : C extends DateConstructor ? Date : C extends ArrayConstructor ? any[] : C extends MapConstructor ? Record<string, any> : C extends SetConstructor ? Set<any> : C extends ObjectConstructor ? Record<string, any> : C extends abstract new (...args: any) => any ? InstanceType<C> : any;Description
Maps common JavaScript constructors to their corresponding TypeScript types.
This utility type converts constructor functions (String, Number, Date, etc.) into their corresponding runtime types, enabling better type inference when creating schemas programmatically.
Type Mappings
StringConstructor→stringNumberConstructor→numberBooleanConstructor→booleanDateConstructor→DateArrayConstructor→any[]MapConstructor→Record<string, any>SetConstructor→Set<any>ObjectConstructor→Record<string, any>- Custom classes →
InstanceType<C>
Usage
typescript
type StringType = CtorToType<StringConstructor>; // string
type DateType = CtorToType<DateConstructor>; // Date
type CustomType = CtorToType<typeof MyClass>; // MyClass