UNPKG

@anttiviljami/dtsgenerator

Version:

TypeScript d.ts file generator for JSON Schema file

83 lines (81 loc) 2.75 kB
/* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/no-namespace */ export namespace JsonSchemaDraft07 { export type SchemaObject = { $id?: string; // uri-reference $schema?: string; // uri $ref?: string; // uri-reference $comment?: string; title?: string; description?: string; default?: any; nullable?: boolean; readOnly?: boolean; examples?: any[]; multipleOf?: number; maximum?: number; exclusiveMaximum?: number; minimum?: number; exclusiveMinimum?: number; maxLength?: Schema.Definitions.NonNegativeInteger; minLength?: Schema.Definitions.NonNegativeIntegerDefault0; pattern?: string; // regex additionalItems?: Schema; items?: Schema | Schema.Definitions.SchemaArray; maxItems?: Schema.Definitions.NonNegativeInteger; minItems?: Schema.Definitions.NonNegativeIntegerDefault0; uniqueItems?: boolean; contains?: Schema; maxProperties?: Schema.Definitions.NonNegativeInteger; minProperties?: Schema.Definitions.NonNegativeIntegerDefault0; required?: Schema.Definitions.StringArray; additionalProperties?: Schema; definitions?: { [name: string]: Schema; }; properties?: { [name: string]: Schema; }; patternProperties?: { [name: string]: Schema; }; dependencies?: { [name: string]: Schema | Schema.Definitions.StringArray; }; propertyNames?: Schema; const?: any; enum?: any[]; type?: | Schema.Definitions.SimpleTypes | Schema.Definitions.SimpleTypes[]; format?: string; contentMediaType?: string; contentEncoding?: string; if?: Schema; then?: Schema; else?: Schema; allOf?: Schema.Definitions.SchemaArray; anyOf?: Schema.Definitions.SchemaArray; oneOf?: Schema.Definitions.SchemaArray; not?: Schema; }; export type Schema = SchemaObject | boolean; export namespace Schema { export namespace Definitions { export type NonNegativeInteger = number; export type NonNegativeIntegerDefault0 = number; export type SchemaArray = Schema[]; export type SimpleTypes = | 'array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string' | 'any' | 'undefined'; export type StringArray = string[]; } } }