jsonSchema.ts 1.2 KB
Newer Older
E
Erich Gamma 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
'use strict';

export interface IJSONSchema {
	id?:string;
	$schema?: string;
	type?:any;
	title?:string;
	default?:any;
	definitions?:IJSONSchemaMap;
	description?:string;
	properties?: IJSONSchemaMap;
	patternProperties?:IJSONSchemaMap;
	additionalProperties?:any;
	minProperties?:number;
	maxProperties?:number;
	dependencies?:any;
	items?:any;
	minItems?:number;
	maxItems?:number;
	uniqueItems?:boolean;
	additionalItems?:boolean;
	pattern?:string;
I
isidor 已提交
27
	errorMessage?: string;
E
Erich Gamma 已提交
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
	minLength?:number;
	maxLength?:number;
	minimum?:number;
	maximum?:number;
	exclusiveMinimum?:boolean;
	exclusiveMaximum?:boolean;
	multipleOf?:number;
	required?:string[];
	$ref?:string;
	anyOf?:IJSONSchema[];
	allOf?:IJSONSchema[];
	oneOf?:IJSONSchema[];
	not?:IJSONSchema;
	enum?:any[];
	format?: string;
}

export interface IJSONSchemaMap {
	[name: string]:IJSONSchema;
}