@itwin/core-bentley
Version:
Bentley JavaScript core components
78 lines • 2.19 kB
TypeScript
/** @packageDocumentation
* @module Json
*/
/** @public */
export type JSONSchemaTypeName = "string" | "number" | "integer" | "boolean" | "null" | "array" | "object";
/** @public */
export type JSONSchemaType = string | number | boolean | object | JSONSchemaType[];
/** @public */
export interface JSONSchema {
id?: string;
$id?: string;
$schema?: string;
type?: JSONSchemaTypeName | JSONSchemaTypeName[];
title?: string;
default?: JSONSchemaType;
definitions?: JSONSchemaMap;
description?: string;
properties?: JSONSchemaMap;
patternProperties?: JSONSchemaMap;
additionalProperties?: boolean | JSONSchema;
minProperties?: number;
maxProperties?: number;
dependencies?: JSONSchemaMap | {
[prop: string]: string[];
};
items?: JSONSchema | JSONSchema[];
minItems?: number;
maxItems?: number;
uniqueItems?: boolean;
additionalItems?: boolean | JSONSchema;
pattern?: string;
minLength?: number;
maxLength?: number;
minimum?: number;
maximum?: number;
exclusiveMinimum?: boolean | number;
exclusiveMaximum?: boolean | number;
multipleOf?: number;
required?: string[];
$ref?: string;
anyOf?: JSONSchema[];
allOf?: JSONSchema[];
oneOf?: JSONSchema[];
not?: JSONSchema;
enum?: JSONSchemaType[];
format?: string;
const?: any;
contains?: JSONSchema;
propertyNames?: JSONSchema;
$comment?: string;
if?: JSONSchema;
then?: JSONSchema;
else?: JSONSchema;
defaultSnippets?: JSONSchemaSnippet[];
errorMessage?: string;
patternErrorMessage?: string;
deprecationMessage?: string;
markdownDeprecationMessage?: string;
enumDescriptions?: string[];
markdownEnumDescriptions?: string[];
markdownDescription?: string;
doNotSuggest?: boolean;
suggestSortText?: string;
allowComments?: boolean;
allowTrailingCommas?: boolean;
}
/** @public */
export interface JSONSchemaMap {
[name: string]: JSONSchema;
}
/** @public */
export interface JSONSchemaSnippet {
label?: string;
description?: string;
body?: any;
bodyText?: string;
}
//# sourceMappingURL=JsonSchema.d.ts.map