@theia/core
Version:
Theia is a cloud & desktop IDE framework implemented in TypeScript.
73 lines • 2.07 kB
TypeScript
import { JSONValue } from '@phosphor/coreutils';
export declare type JsonType = 'string' | 'array' | 'number' | 'integer' | 'object' | 'boolean' | 'null';
/**
* extended JSON schema
*/
export interface IJSONSchema {
id?: string;
$id?: string;
$schema?: string;
type?: JsonType | JsonType[];
title?: string;
default?: JSONValue;
definitions?: IJSONSchemaMap;
description?: string;
properties?: IJSONSchemaMap;
patternProperties?: IJSONSchemaMap;
additionalProperties?: boolean | IJSONSchema;
minProperties?: number;
maxProperties?: number;
dependencies?: IJSONSchemaMap | {
[prop: string]: string[];
};
items?: IJSONSchema | IJSONSchema[];
prefixItems?: IJSONSchema[];
minItems?: number;
maxItems?: number;
uniqueItems?: boolean;
additionalItems?: boolean | IJSONSchema;
pattern?: string;
minLength?: number;
maxLength?: number;
minimum?: number;
maximum?: number;
exclusiveMinimum?: boolean | number;
exclusiveMaximum?: boolean | number;
multipleOf?: number;
required?: string[];
$ref?: string;
anyOf?: IJSONSchema[];
allOf?: IJSONSchema[];
oneOf?: IJSONSchema[];
not?: IJSONSchema;
enum?: JSONValue[];
format?: string;
const?: JSONValue;
contains?: IJSONSchema;
propertyNames?: IJSONSchema;
$comment?: string;
if?: IJSONSchema;
then?: IJSONSchema;
else?: IJSONSchema;
defaultSnippets?: IJSONSchemaSnippet[];
errorMessage?: string;
patternErrorMessage?: string;
deprecationMessage?: string;
enumItemLabels?: string[];
enumDescriptions?: string[];
markdownEnumDescriptions?: string[];
markdownDescription?: string;
doNotSuggest?: boolean;
allowComments?: boolean;
allowTrailingCommas?: boolean;
}
export interface IJSONSchemaMap {
[name: string]: IJSONSchema;
}
export interface IJSONSchemaSnippet {
label?: string;
description?: string;
body?: JSONValue;
bodyText?: string;
}
//# sourceMappingURL=json-schema.d.ts.map