dtsgenerator
Version:
TypeScript d.ts file generator for JSON Schema file
71 lines (70 loc) • 2.9 kB
TypeScript
export declare namespace JsonSchemaDraft04 {
interface Schema {
id?: string;
$schema?: string;
$ref?: string;
title?: string;
description?: string;
example?: string;
default?: any;
nullable?: boolean;
multipleOf?: number;
maximum?: number;
exclusiveMaximum?: boolean;
minimum?: number;
exclusiveMinimum?: boolean;
maxLength?: Schema.Definitions.PositiveInteger;
minLength?: Schema.Definitions.PositiveIntegerDefault0;
pattern?: string;
additionalItems?: boolean | Schema;
items?: Schema | Schema.Definitions.SchemaArray;
maxItems?: Schema.Definitions.PositiveInteger;
minItems?: Schema.Definitions.PositiveIntegerDefault0;
uniqueItems?: boolean;
maxProperties?: Schema.Definitions.PositiveInteger;
minProperties?: Schema.Definitions.PositiveIntegerDefault0;
required?: Schema.Definitions.StringArray;
additionalProperties?: boolean | Schema;
definitions?: Record<string, Schema>;
properties?: Record<string, Schema>;
patternProperties?: Record<string, Schema>;
dependencies?: Record<string, Schema | Schema.Definitions.StringArray>;
enum?: any[];
type?: Schema.Definitions.SimpleTypes | Schema.Definitions.SimpleTypes[];
format?: string;
allOf?: Schema.Definitions.SchemaArray;
anyOf?: Schema.Definitions.SchemaArray;
oneOf?: Schema.Definitions.SchemaArray;
not?: Schema;
}
namespace Schema {
namespace Definitions {
type PositiveInteger = number;
type PositiveIntegerDefault0 = number;
type SchemaArray = Schema[];
type SimpleTypes = 'array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string' | 'any' | 'undefined';
type StringArray = string[];
}
namespace Properties {
type Default = any;
type Description = string;
type Enum = any[];
type ExclusiveMaximum = boolean;
type ExclusiveMinimum = boolean;
type MaxItems = Definitions.PositiveInteger;
type MaxLength = Definitions.PositiveInteger;
type MaxProperties = Definitions.PositiveInteger;
type Maximum = number;
type MinItems = Definitions.PositiveIntegerDefault0;
type MinLength = Definitions.PositiveIntegerDefault0;
type MinProperties = Definitions.PositiveIntegerDefault0;
type Minimum = number;
type MultipleOf = number;
type Pattern = string;
type Required = Definitions.StringArray;
type Title = string;
type Type = Definitions.SimpleTypes | Definitions.SimpleTypes[];
type UniqueItems = boolean;
}
}
}