type SwaggerValueType = | "number" | "array" | "integer" | "string" | "boolean" | "object"; type SwaggerValueFormat = | "double" | "int32" | "int64" | "uuid" | "date-time" | "float"; type SwaggerUnionValueType = SwaggerValueType | SwaggerValueFormat | "enum"; interface EnumDefinitionModel { Name: string, Value: number, Description: string, IsLast: boolean, } interface SwaggerPropertyDefinition { "type": SwaggerValueType, "format": SwaggerValueFormat, "enum": string[], "x-isnullable": boolean, [k: string]: unknown; } interface SwaggerDefinition { required: string[], type: SwaggerValueType, enum?: string[], "x-enumTypeName"?: string, "x-has-enum-pairs"?: string, "x-enum-pairs"?: EnumDefinitionModel[], properties: { [k: string]: SwaggerPropertyDefinition }; [k: string]: unknown; } interface NumericType { type: SwaggerUnionValueType, name: string } interface MappedType { type: string, name: string } interface InferedSchema { propNames: string[], numericTypes: NumericType[], mappedSchema: MappedType[], }