summaryrefslogtreecommitdiff
path: root/node_modules/yaml/dist/schema/json-schema.d.ts
blob: 20b005dca825bfff6fad4622ceaaf62675194478 (plain)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
declare type JsonSchema = boolean | ArraySchema | ObjectSchema | NumberSchema | StringSchema;
declare type JsonType = 'array' | 'object' | 'string' | 'number' | 'integer' | 'boolean' | 'null';
interface CommonSchema {
    type?: JsonType | JsonType[];
    const?: unknown;
    enum?: unknown[];
    format?: string;
    allOf?: JsonSchema[];
    anyOf?: JsonSchema[];
    oneOf?: JsonSchema[];
    not?: JsonSchema;
    if?: JsonSchema;
    then?: JsonSchema;
    else?: JsonSchema;
    $id?: string;
    $defs?: Record<string, JsonSchema>;
    $anchor?: string;
    $dynamicAnchor?: string;
    $ref?: string;
    $dynamicRef?: string;
    $schema?: string;
    $vocabulary?: Record<string, boolean>;
    $comment?: string;
    default?: unknown;
    deprecated?: boolean;
    readOnly?: boolean;
    writeOnly?: boolean;
    title?: string;
    description?: string;
    examples?: unknown[];
}
interface ArraySchema extends CommonSchema {
    prefixItems?: JsonSchema[];
    items?: JsonSchema;
    contains?: JsonSchema;
    unevaluatedItems?: JsonSchema;
    maxItems?: number;
    minItems?: number;
    uniqueItems?: boolean;
    maxContains?: number;
    minContains?: number;
}
interface ObjectSchema extends CommonSchema {
    properties?: Record<string, JsonSchema>;
    patternProperties?: Record<string, JsonSchema>;
    additionalProperties?: JsonSchema;
    propertyNames?: JsonSchema;
    unevaluatedProperties?: JsonSchema;
    maxProperties?: number;
    minProperties?: number;
    required?: string[];
    dependentRequired?: Record<string, string[]>;
    dependentSchemas?: Record<string, JsonSchema>;
}
interface StringSchema extends CommonSchema {
    maxLength?: number;
    minLength?: number;
    patter?: string;
    contentEncoding?: string;
    contentMediaType?: string;
    contentSchema?: JsonSchema;
}
interface NumberSchema extends CommonSchema {
    multipleOf?: number;
    maximum?: number;
    exclusiveMaximum?: number;
    minimum?: number;
    exclusiveMinimum?: number;
}