import { BooleanTsonSchema } from './BooleanTsonSchema'; import { NumberTsonSchema } from './NumberTsonSchema'; import { ObjectTsonSchema } from './ObjectTsonSchema'; import { StringTsonSchema } from './StringTsonSchema'; import { PrimitiveOrFromTsonSchema } from './PrimitiveOrFromTsonSchema'; import { FromObjectTsonSchema } from './FromObjectTsonSchema'; import { ArrayTsonSchema } from './ArrayTsonSchema'; import { EnumTsonSchemaOf } from './EnumTsonSchemaOf'; import { FromMapTsonSchema, MapTsonSchema } from './MapTsonSchema'; import { DateTsonSchema } from './DateTsonSchema'; export type FromTsonSchema = T extends DateTsonSchema ? string : T extends StringTsonSchema ? string : T extends NumberTsonSchema ? number : T extends BooleanTsonSchema ? boolean : T extends EnumTsonSchemaOf ? PrimitiveOrFromTsonSchema

: T extends ObjectTsonSchema ? FromObjectTsonSchema : T extends MapTsonSchema ? FromMapTsonSchema : T extends ArrayTsonSchema ? FromTsonSchema[] : never;