@jsonschema-editor/json-schema 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +45 -0
- package/dist/attribute-registry.d.ts +14 -0
- package/dist/attribute-registry.d.ts.map +1 -0
- package/dist/attribute-registry.js +77 -0
- package/dist/attribute-registry.js.map +1 -0
- package/dist/document.d.ts +38 -0
- package/dist/document.d.ts.map +1 -0
- package/dist/document.js +132 -0
- package/dist/document.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/model/array-schema.d.ts +41 -0
- package/dist/model/array-schema.d.ts.map +1 -0
- package/dist/model/array-schema.js +160 -0
- package/dist/model/array-schema.js.map +1 -0
- package/dist/model/boolean-schema.d.ts +17 -0
- package/dist/model/boolean-schema.d.ts.map +1 -0
- package/dist/model/boolean-schema.js +31 -0
- package/dist/model/boolean-schema.js.map +1 -0
- package/dist/model/composition-schema.d.ts +36 -0
- package/dist/model/composition-schema.d.ts.map +1 -0
- package/dist/model/composition-schema.js +128 -0
- package/dist/model/composition-schema.js.map +1 -0
- package/dist/model/custom-attributes.d.ts +16 -0
- package/dist/model/custom-attributes.d.ts.map +1 -0
- package/dist/model/custom-attributes.js +41 -0
- package/dist/model/custom-attributes.js.map +1 -0
- package/dist/model/factory.d.ts +30 -0
- package/dist/model/factory.d.ts.map +1 -0
- package/dist/model/factory.js +88 -0
- package/dist/model/factory.js.map +1 -0
- package/dist/model/index.d.ts +19 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +19 -0
- package/dist/model/index.js.map +1 -0
- package/dist/model/integer-schema.d.ts +2 -0
- package/dist/model/integer-schema.d.ts.map +1 -0
- package/dist/model/integer-schema.js +2 -0
- package/dist/model/integer-schema.js.map +1 -0
- package/dist/model/metadata.d.ts +25 -0
- package/dist/model/metadata.d.ts.map +1 -0
- package/dist/model/metadata.js +77 -0
- package/dist/model/metadata.js.map +1 -0
- package/dist/model/node.d.ts +54 -0
- package/dist/model/node.d.ts.map +1 -0
- package/dist/model/node.js +108 -0
- package/dist/model/node.js.map +1 -0
- package/dist/model/null-schema.d.ts +17 -0
- package/dist/model/null-schema.d.ts.map +1 -0
- package/dist/model/null-schema.js +31 -0
- package/dist/model/null-schema.js.map +1 -0
- package/dist/model/number-schema.d.ts +2 -0
- package/dist/model/number-schema.d.ts.map +1 -0
- package/dist/model/number-schema.js +2 -0
- package/dist/model/number-schema.js.map +1 -0
- package/dist/model/numeric-schema.d.ts +37 -0
- package/dist/model/numeric-schema.d.ts.map +1 -0
- package/dist/model/numeric-schema.js +95 -0
- package/dist/model/numeric-schema.js.map +1 -0
- package/dist/model/object-schema.d.ts +31 -0
- package/dist/model/object-schema.d.ts.map +1 -0
- package/dist/model/object-schema.js +119 -0
- package/dist/model/object-schema.js.map +1 -0
- package/dist/model/property-collection.d.ts +20 -0
- package/dist/model/property-collection.d.ts.map +1 -0
- package/dist/model/property-collection.js +61 -0
- package/dist/model/property-collection.js.map +1 -0
- package/dist/model/ref-schema.d.ts +20 -0
- package/dist/model/ref-schema.d.ts.map +1 -0
- package/dist/model/ref-schema.js +38 -0
- package/dist/model/ref-schema.js.map +1 -0
- package/dist/model/string-schema.d.ts +29 -0
- package/dist/model/string-schema.d.ts.map +1 -0
- package/dist/model/string-schema.js +75 -0
- package/dist/model/string-schema.js.map +1 -0
- package/dist/model/type-variants.d.ts +9 -0
- package/dist/model/type-variants.d.ts.map +1 -0
- package/dist/model/type-variants.js +25 -0
- package/dist/model/type-variants.js.map +1 -0
- package/dist/model/untyped-schema.d.ts +18 -0
- package/dist/model/untyped-schema.d.ts.map +1 -0
- package/dist/model/untyped-schema.js +31 -0
- package/dist/model/untyped-schema.js.map +1 -0
- package/dist/model/visitor.d.ts +23 -0
- package/dist/model/visitor.d.ts.map +1 -0
- package/dist/model/visitor.js +2 -0
- package/dist/model/visitor.js.map +1 -0
- package/dist/parse.d.ts +6 -0
- package/dist/parse.d.ts.map +1 -0
- package/dist/parse.js +6 -0
- package/dist/parse.js.map +1 -0
- package/dist/types.d.ts +39 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { TypeVariants } from "./type-variants.js";
|
|
2
|
+
export class SchemaNode {
|
|
3
|
+
metadata;
|
|
4
|
+
customAttributes;
|
|
5
|
+
typeVariants = new TypeVariants();
|
|
6
|
+
constructor(metadata, customAttributes) {
|
|
7
|
+
this.metadata = metadata;
|
|
8
|
+
this.customAttributes = customAttributes;
|
|
9
|
+
}
|
|
10
|
+
resolvePath(segments) {
|
|
11
|
+
return this.resolvePathImpl(segments);
|
|
12
|
+
}
|
|
13
|
+
toJSON() {
|
|
14
|
+
const json = {};
|
|
15
|
+
this.writeTypeDefinition(json);
|
|
16
|
+
this.metadata.writeTo(json);
|
|
17
|
+
this.customAttributes.writeTo(json);
|
|
18
|
+
return json;
|
|
19
|
+
}
|
|
20
|
+
resolveAtScope(scope) {
|
|
21
|
+
return this.resolvePath(parseScope(scope));
|
|
22
|
+
}
|
|
23
|
+
clone() {
|
|
24
|
+
return this.deepClone();
|
|
25
|
+
}
|
|
26
|
+
get kind() {
|
|
27
|
+
return this.nodeKind;
|
|
28
|
+
}
|
|
29
|
+
get title() {
|
|
30
|
+
return this.metadata.title;
|
|
31
|
+
}
|
|
32
|
+
set title(value) {
|
|
33
|
+
this.metadata.title = value;
|
|
34
|
+
}
|
|
35
|
+
get description() {
|
|
36
|
+
return this.metadata.description;
|
|
37
|
+
}
|
|
38
|
+
set description(value) {
|
|
39
|
+
this.metadata.description = value;
|
|
40
|
+
}
|
|
41
|
+
get defaultValue() {
|
|
42
|
+
return this.metadata.defaultValue;
|
|
43
|
+
}
|
|
44
|
+
set defaultValue(value) {
|
|
45
|
+
this.metadata.defaultValue = value;
|
|
46
|
+
}
|
|
47
|
+
get examples() {
|
|
48
|
+
return this.metadata.examples;
|
|
49
|
+
}
|
|
50
|
+
set examples(value) {
|
|
51
|
+
this.metadata.examples = value;
|
|
52
|
+
}
|
|
53
|
+
get enumValues() {
|
|
54
|
+
return this.metadata.enumValues;
|
|
55
|
+
}
|
|
56
|
+
set enumValues(value) {
|
|
57
|
+
this.metadata.enumValues = value;
|
|
58
|
+
}
|
|
59
|
+
get constValue() {
|
|
60
|
+
return this.metadata.constValue;
|
|
61
|
+
}
|
|
62
|
+
set constValue(value) {
|
|
63
|
+
this.metadata.constValue = value;
|
|
64
|
+
}
|
|
65
|
+
getCustomAttribute(name) {
|
|
66
|
+
return this.customAttributes.get(name);
|
|
67
|
+
}
|
|
68
|
+
setCustomAttribute(name, value) {
|
|
69
|
+
this.customAttributes.set(name, value);
|
|
70
|
+
}
|
|
71
|
+
deleteCustomAttribute(name) {
|
|
72
|
+
return this.customAttributes.delete(name);
|
|
73
|
+
}
|
|
74
|
+
applyTypeFrom(json) {
|
|
75
|
+
this.typeVariants.applyFrom(json);
|
|
76
|
+
}
|
|
77
|
+
writeTypeTo(json, fallback) {
|
|
78
|
+
this.typeVariants.writeTo(json, fallback);
|
|
79
|
+
}
|
|
80
|
+
cloneBase() {
|
|
81
|
+
return {
|
|
82
|
+
metadata: this.metadata.clone(),
|
|
83
|
+
customAttributes: this.customAttributes.clone(),
|
|
84
|
+
typeVariants: this.typeVariants.clone(),
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
applyMetadata(json) {
|
|
88
|
+
this.metadata.applyFrom(json);
|
|
89
|
+
this.customAttributes.applyFrom(json);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
export class LeafSchema extends SchemaNode {
|
|
93
|
+
resolvePathImpl(_segments) {
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
export class CompositeSchema extends SchemaNode {
|
|
98
|
+
}
|
|
99
|
+
export function parseScope(scope) {
|
|
100
|
+
const segments = [];
|
|
101
|
+
const regex = /\/properties\/([^/]+)/g;
|
|
102
|
+
let match;
|
|
103
|
+
while ((match = regex.exec(scope)) !== null) {
|
|
104
|
+
segments.push(match[1]);
|
|
105
|
+
}
|
|
106
|
+
return segments;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/model/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { JsonSchemaAttributeRegistry } from "../attribute-registry.js";
|
|
2
|
+
import type { JsonSchemaObject } from "../types.js";
|
|
3
|
+
import { CustomAttributeCollection } from "./custom-attributes.js";
|
|
4
|
+
import type { SchemaFactory } from "./factory.js";
|
|
5
|
+
import { LeafSchema } from "./node.js";
|
|
6
|
+
import { SchemaMetadata } from "./metadata.js";
|
|
7
|
+
import type { SchemaVisitor } from "./visitor.js";
|
|
8
|
+
export declare class NullSchema extends LeafSchema {
|
|
9
|
+
readonly nodeKind: "null";
|
|
10
|
+
constructor(registry?: JsonSchemaAttributeRegistry, metadata?: SchemaMetadata, customAttributes?: CustomAttributeCollection);
|
|
11
|
+
static fromJSON(json: JsonSchemaObject, factory: SchemaFactory): NullSchema;
|
|
12
|
+
accept<T>(visitor: SchemaVisitor<T>): T;
|
|
13
|
+
deepClone(): NullSchema;
|
|
14
|
+
createDefaultValue(): null;
|
|
15
|
+
protected writeTypeDefinition(json: JsonSchemaObject): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=null-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"null-schema.d.ts","sourceRoot":"","sources":["../../src/model/null-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,qBAAa,UAAW,SAAQ,UAAU;IACxC,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;gBAGlC,QAAQ,CAAC,EAAE,2BAA2B,EACtC,QAAQ,GAAE,cAAqC,EAC/C,gBAAgB,CAAC,EAAE,yBAAyB;IAK9C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,GAAG,UAAU;IAO3E,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;IAIvC,SAAS,IAAI,UAAU;IAOvB,kBAAkB,IAAI,IAAI;IAI1B,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;CAG5D"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { CustomAttributeCollection } from "./custom-attributes.js";
|
|
2
|
+
import { LeafSchema } from "./node.js";
|
|
3
|
+
import { SchemaMetadata } from "./metadata.js";
|
|
4
|
+
export class NullSchema extends LeafSchema {
|
|
5
|
+
nodeKind = "null";
|
|
6
|
+
constructor(registry, metadata = new SchemaMetadata(), customAttributes) {
|
|
7
|
+
super(metadata, customAttributes ?? new CustomAttributeCollection(registry));
|
|
8
|
+
}
|
|
9
|
+
static fromJSON(json, factory) {
|
|
10
|
+
const node = new NullSchema(factory.attributeRegistry);
|
|
11
|
+
node.applyMetadata(json);
|
|
12
|
+
node.applyTypeFrom(json);
|
|
13
|
+
return node;
|
|
14
|
+
}
|
|
15
|
+
accept(visitor) {
|
|
16
|
+
return visitor.visitNull(this);
|
|
17
|
+
}
|
|
18
|
+
deepClone() {
|
|
19
|
+
const { metadata, customAttributes, typeVariants } = this.cloneBase();
|
|
20
|
+
const copy = new NullSchema(undefined, metadata, customAttributes);
|
|
21
|
+
copy.typeVariants = typeVariants;
|
|
22
|
+
return copy;
|
|
23
|
+
}
|
|
24
|
+
createDefaultValue() {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
writeTypeDefinition(json) {
|
|
28
|
+
this.writeTypeTo(json, "null");
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=null-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"null-schema.js","sourceRoot":"","sources":["../../src/model/null-schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,MAAM,OAAO,UAAW,SAAQ,UAAU;IAC/B,QAAQ,GAAG,MAAe,CAAC;IAEpC,YACE,QAAsC,EACtC,WAA2B,IAAI,cAAc,EAAE,EAC/C,gBAA4C;QAE5C,KAAK,CAAC,QAAQ,EAAE,gBAAgB,IAAI,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAsB,EAAE,OAAsB;QAC5D,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAI,OAAyB;QACjC,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,SAAS;QACP,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAES,mBAAmB,CAAC,IAAsB;QAClD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-schema.d.ts","sourceRoot":"","sources":["../../src/model/number-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-schema.js","sourceRoot":"","sources":["../../src/model/number-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { JsonSchemaAttributeRegistry } from "../attribute-registry.js";
|
|
2
|
+
import type { JsonSchemaObject } from "../types.js";
|
|
3
|
+
import { CustomAttributeCollection } from "./custom-attributes.js";
|
|
4
|
+
import type { SchemaFactory } from "./factory.js";
|
|
5
|
+
import { LeafSchema } from "./node.js";
|
|
6
|
+
import { SchemaMetadata } from "./metadata.js";
|
|
7
|
+
import type { SchemaVisitor } from "./visitor.js";
|
|
8
|
+
export declare abstract class NumericSchema extends LeafSchema {
|
|
9
|
+
protected _minimum?: number;
|
|
10
|
+
protected _maximum?: number;
|
|
11
|
+
protected constructor(registry?: JsonSchemaAttributeRegistry, metadata?: SchemaMetadata, customAttributes?: CustomAttributeCollection);
|
|
12
|
+
get minimum(): number | undefined;
|
|
13
|
+
set minimum(value: number | undefined);
|
|
14
|
+
get maximum(): number | undefined;
|
|
15
|
+
set maximum(value: number | undefined);
|
|
16
|
+
protected applyNumericConstraints(json: JsonSchemaObject): void;
|
|
17
|
+
protected writeNumericConstraints(json: JsonSchemaObject): void;
|
|
18
|
+
}
|
|
19
|
+
export declare class NumberSchema extends NumericSchema {
|
|
20
|
+
readonly nodeKind: "number";
|
|
21
|
+
constructor(registry?: JsonSchemaAttributeRegistry, metadata?: SchemaMetadata, customAttributes?: CustomAttributeCollection);
|
|
22
|
+
static fromJSON(json: JsonSchemaObject, factory: SchemaFactory): NumberSchema;
|
|
23
|
+
accept<T>(visitor: SchemaVisitor<T>): T;
|
|
24
|
+
deepClone(): NumberSchema;
|
|
25
|
+
createDefaultValue(): number;
|
|
26
|
+
protected writeTypeDefinition(json: JsonSchemaObject): void;
|
|
27
|
+
}
|
|
28
|
+
export declare class IntegerSchema extends NumericSchema {
|
|
29
|
+
readonly nodeKind: "integer";
|
|
30
|
+
constructor(registry?: JsonSchemaAttributeRegistry, metadata?: SchemaMetadata, customAttributes?: CustomAttributeCollection);
|
|
31
|
+
static fromJSON(json: JsonSchemaObject, factory: SchemaFactory): IntegerSchema;
|
|
32
|
+
accept<T>(visitor: SchemaVisitor<T>): T;
|
|
33
|
+
deepClone(): IntegerSchema;
|
|
34
|
+
createDefaultValue(): number;
|
|
35
|
+
protected writeTypeDefinition(json: JsonSchemaObject): void;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=numeric-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numeric-schema.d.ts","sourceRoot":"","sources":["../../src/model/numeric-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,8BAAsB,aAAc,SAAQ,UAAU;IACpD,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE5B,SAAS,aACP,QAAQ,CAAC,EAAE,2BAA2B,EACtC,QAAQ,GAAE,cAAqC,EAC/C,gBAAgB,CAAC,EAAE,yBAAyB;IAK9C,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAEpC;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAEpC;IAED,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAK/D,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;CAIhE;AAED,qBAAa,YAAa,SAAQ,aAAa;IAC7C,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;gBAGpC,QAAQ,CAAC,EAAE,2BAA2B,EACtC,QAAQ,GAAE,cAAqC,EAC/C,gBAAgB,CAAC,EAAE,yBAAyB;IAK9C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,GAAG,YAAY;IAQ7E,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;IAIvC,SAAS,IAAI,YAAY;IASzB,kBAAkB,IAAI,MAAM;IAI5B,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;CAI5D;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,QAAQ,CAAC,QAAQ,EAAG,SAAS,CAAU;gBAGrC,QAAQ,CAAC,EAAE,2BAA2B,EACtC,QAAQ,GAAE,cAAqC,EAC/C,gBAAgB,CAAC,EAAE,yBAAyB;IAK9C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,GAAG,aAAa;IAQ9E,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;IAIvC,SAAS,IAAI,aAAa;IAS1B,kBAAkB,IAAI,MAAM;IAI5B,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;CAI5D"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { CustomAttributeCollection } from "./custom-attributes.js";
|
|
2
|
+
import { LeafSchema } from "./node.js";
|
|
3
|
+
import { SchemaMetadata } from "./metadata.js";
|
|
4
|
+
export class NumericSchema extends LeafSchema {
|
|
5
|
+
_minimum;
|
|
6
|
+
_maximum;
|
|
7
|
+
constructor(registry, metadata = new SchemaMetadata(), customAttributes) {
|
|
8
|
+
super(metadata, customAttributes ?? new CustomAttributeCollection(registry));
|
|
9
|
+
}
|
|
10
|
+
get minimum() {
|
|
11
|
+
return this._minimum;
|
|
12
|
+
}
|
|
13
|
+
set minimum(value) {
|
|
14
|
+
this._minimum = value;
|
|
15
|
+
}
|
|
16
|
+
get maximum() {
|
|
17
|
+
return this._maximum;
|
|
18
|
+
}
|
|
19
|
+
set maximum(value) {
|
|
20
|
+
this._maximum = value;
|
|
21
|
+
}
|
|
22
|
+
applyNumericConstraints(json) {
|
|
23
|
+
this._minimum = json.minimum;
|
|
24
|
+
this._maximum = json.maximum;
|
|
25
|
+
}
|
|
26
|
+
writeNumericConstraints(json) {
|
|
27
|
+
if (this._minimum !== undefined)
|
|
28
|
+
json.minimum = this._minimum;
|
|
29
|
+
if (this._maximum !== undefined)
|
|
30
|
+
json.maximum = this._maximum;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export class NumberSchema extends NumericSchema {
|
|
34
|
+
nodeKind = "number";
|
|
35
|
+
constructor(registry, metadata = new SchemaMetadata(), customAttributes) {
|
|
36
|
+
super(registry, metadata, customAttributes);
|
|
37
|
+
}
|
|
38
|
+
static fromJSON(json, factory) {
|
|
39
|
+
const node = new NumberSchema(factory.attributeRegistry);
|
|
40
|
+
node.applyMetadata(json);
|
|
41
|
+
node.applyTypeFrom(json);
|
|
42
|
+
node.applyNumericConstraints(json);
|
|
43
|
+
return node;
|
|
44
|
+
}
|
|
45
|
+
accept(visitor) {
|
|
46
|
+
return visitor.visitNumber(this);
|
|
47
|
+
}
|
|
48
|
+
deepClone() {
|
|
49
|
+
const { metadata, customAttributes, typeVariants } = this.cloneBase();
|
|
50
|
+
const copy = new NumberSchema(undefined, metadata, customAttributes);
|
|
51
|
+
copy.typeVariants = typeVariants;
|
|
52
|
+
copy._minimum = this._minimum;
|
|
53
|
+
copy._maximum = this._maximum;
|
|
54
|
+
return copy;
|
|
55
|
+
}
|
|
56
|
+
createDefaultValue() {
|
|
57
|
+
return 0;
|
|
58
|
+
}
|
|
59
|
+
writeTypeDefinition(json) {
|
|
60
|
+
this.writeTypeTo(json, "number");
|
|
61
|
+
this.writeNumericConstraints(json);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export class IntegerSchema extends NumericSchema {
|
|
65
|
+
nodeKind = "integer";
|
|
66
|
+
constructor(registry, metadata = new SchemaMetadata(), customAttributes) {
|
|
67
|
+
super(registry, metadata, customAttributes);
|
|
68
|
+
}
|
|
69
|
+
static fromJSON(json, factory) {
|
|
70
|
+
const node = new IntegerSchema(factory.attributeRegistry);
|
|
71
|
+
node.applyMetadata(json);
|
|
72
|
+
node.applyTypeFrom(json);
|
|
73
|
+
node.applyNumericConstraints(json);
|
|
74
|
+
return node;
|
|
75
|
+
}
|
|
76
|
+
accept(visitor) {
|
|
77
|
+
return visitor.visitInteger(this);
|
|
78
|
+
}
|
|
79
|
+
deepClone() {
|
|
80
|
+
const { metadata, customAttributes, typeVariants } = this.cloneBase();
|
|
81
|
+
const copy = new IntegerSchema(undefined, metadata, customAttributes);
|
|
82
|
+
copy.typeVariants = typeVariants;
|
|
83
|
+
copy._minimum = this._minimum;
|
|
84
|
+
copy._maximum = this._maximum;
|
|
85
|
+
return copy;
|
|
86
|
+
}
|
|
87
|
+
createDefaultValue() {
|
|
88
|
+
return 0;
|
|
89
|
+
}
|
|
90
|
+
writeTypeDefinition(json) {
|
|
91
|
+
this.writeTypeTo(json, "integer");
|
|
92
|
+
this.writeNumericConstraints(json);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=numeric-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numeric-schema.js","sourceRoot":"","sources":["../../src/model/numeric-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { JsonSchemaAttributeRegistry } from "../attribute-registry.js";
|
|
2
|
+
import type { JsonSchemaObject } from "../types.js";
|
|
3
|
+
import { CustomAttributeCollection } from "./custom-attributes.js";
|
|
4
|
+
import type { SchemaFactory } from "./factory.js";
|
|
5
|
+
import { CompositeSchema, SchemaNode } from "./node.js";
|
|
6
|
+
import { SchemaMetadata } from "./metadata.js";
|
|
7
|
+
import type { SchemaVisitor } from "./visitor.js";
|
|
8
|
+
export declare class ObjectSchema extends CompositeSchema {
|
|
9
|
+
readonly nodeKind: "object";
|
|
10
|
+
private readonly propertyCollection;
|
|
11
|
+
private _additionalProperties;
|
|
12
|
+
constructor(registry?: JsonSchemaAttributeRegistry, metadata?: SchemaMetadata, customAttributes?: CustomAttributeCollection);
|
|
13
|
+
get properties(): ReadonlyMap<string, SchemaNode>;
|
|
14
|
+
get required(): readonly string[];
|
|
15
|
+
get propertyCount(): number;
|
|
16
|
+
get additionalProperties(): boolean | SchemaNode;
|
|
17
|
+
set additionalProperties(value: boolean | SchemaNode);
|
|
18
|
+
getProperty(name: string): SchemaNode | undefined;
|
|
19
|
+
setProperty(name: string, schema: SchemaNode, isRequired?: boolean): this;
|
|
20
|
+
removeProperty(name: string): boolean;
|
|
21
|
+
isPropertyRequired(name: string): boolean;
|
|
22
|
+
setPropertyRequired(name: string, isRequired: boolean): this;
|
|
23
|
+
getChildren(): readonly SchemaNode[];
|
|
24
|
+
static fromJSON(json: JsonSchemaObject, factory: SchemaFactory): ObjectSchema;
|
|
25
|
+
accept<T>(visitor: SchemaVisitor<T>): T;
|
|
26
|
+
deepClone(): ObjectSchema;
|
|
27
|
+
createDefaultValue(): Record<string, unknown>;
|
|
28
|
+
protected writeTypeDefinition(json: JsonSchemaObject): void;
|
|
29
|
+
protected resolvePathImpl(segments: readonly string[]): SchemaNode | undefined;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=object-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-schema.d.ts","sourceRoot":"","sources":["../../src/model/object-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,qBAAa,YAAa,SAAQ,eAAe;IAC/C,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAEtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA4B;IAC/D,OAAO,CAAC,qBAAqB,CAA8B;gBAGzD,QAAQ,CAAC,EAAE,2BAA2B,EACtC,QAAQ,GAAE,cAAqC,EAC/C,gBAAgB,CAAC,EAAE,yBAAyB;IAK9C,IAAI,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAEhD;IAED,IAAI,QAAQ,IAAI,SAAS,MAAM,EAAE,CAEhC;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,oBAAoB,IAAI,OAAO,GAAG,UAAU,CAE/C;IAED,IAAI,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,EAEnD;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIjD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,UAAQ,GAAG,IAAI;IAKvE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIzC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAK5D,WAAW,IAAI,SAAS,UAAU,EAAE;IAQpC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,GAAG,YAAY;IAuB7E,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;IAIvC,SAAS,IAAI,YAAY;IAgBzB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ7C,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAmB3D,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,GAAG,SAAS;CAO/E"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { CustomAttributeCollection } from "./custom-attributes.js";
|
|
2
|
+
import { CompositeSchema } from "./node.js";
|
|
3
|
+
import { SchemaMetadata } from "./metadata.js";
|
|
4
|
+
import { PropertyCollection } from "./property-collection.js";
|
|
5
|
+
export class ObjectSchema extends CompositeSchema {
|
|
6
|
+
nodeKind = "object";
|
|
7
|
+
propertyCollection = new PropertyCollection();
|
|
8
|
+
_additionalProperties = true;
|
|
9
|
+
constructor(registry, metadata = new SchemaMetadata(), customAttributes) {
|
|
10
|
+
super(metadata, customAttributes ?? new CustomAttributeCollection(registry));
|
|
11
|
+
}
|
|
12
|
+
get properties() {
|
|
13
|
+
return this.propertyCollection.asMap();
|
|
14
|
+
}
|
|
15
|
+
get required() {
|
|
16
|
+
return this.propertyCollection.requiredNames;
|
|
17
|
+
}
|
|
18
|
+
get propertyCount() {
|
|
19
|
+
return this.propertyCollection.size;
|
|
20
|
+
}
|
|
21
|
+
get additionalProperties() {
|
|
22
|
+
return this._additionalProperties;
|
|
23
|
+
}
|
|
24
|
+
set additionalProperties(value) {
|
|
25
|
+
this._additionalProperties = value;
|
|
26
|
+
}
|
|
27
|
+
getProperty(name) {
|
|
28
|
+
return this.propertyCollection.get(name);
|
|
29
|
+
}
|
|
30
|
+
setProperty(name, schema, isRequired = false) {
|
|
31
|
+
this.propertyCollection.add(name, schema, { required: isRequired });
|
|
32
|
+
return this;
|
|
33
|
+
}
|
|
34
|
+
removeProperty(name) {
|
|
35
|
+
return this.propertyCollection.remove(name);
|
|
36
|
+
}
|
|
37
|
+
isPropertyRequired(name) {
|
|
38
|
+
return this.propertyCollection.isRequired(name);
|
|
39
|
+
}
|
|
40
|
+
setPropertyRequired(name, isRequired) {
|
|
41
|
+
this.propertyCollection.setRequired(name, isRequired);
|
|
42
|
+
return this;
|
|
43
|
+
}
|
|
44
|
+
getChildren() {
|
|
45
|
+
const children = [...this.propertyCollection.entries()].map(([, schema]) => schema);
|
|
46
|
+
if (this._additionalProperties !== true && this._additionalProperties !== false) {
|
|
47
|
+
children.push(this._additionalProperties);
|
|
48
|
+
}
|
|
49
|
+
return children;
|
|
50
|
+
}
|
|
51
|
+
static fromJSON(json, factory) {
|
|
52
|
+
const node = new ObjectSchema(factory.attributeRegistry);
|
|
53
|
+
node.applyMetadata(json);
|
|
54
|
+
node.applyTypeFrom(json);
|
|
55
|
+
for (const [name, propJson] of Object.entries(json.properties ?? {})) {
|
|
56
|
+
const prop = factory.fromJSON(propJson);
|
|
57
|
+
const isRequired = (json.required ?? []).includes(name);
|
|
58
|
+
node.propertyCollection.add(name, prop, { required: isRequired });
|
|
59
|
+
}
|
|
60
|
+
if (json.additionalProperties === false) {
|
|
61
|
+
node._additionalProperties = false;
|
|
62
|
+
}
|
|
63
|
+
else if (json.additionalProperties &&
|
|
64
|
+
typeof json.additionalProperties === "object") {
|
|
65
|
+
node._additionalProperties = factory.fromJSON(json.additionalProperties);
|
|
66
|
+
}
|
|
67
|
+
return node;
|
|
68
|
+
}
|
|
69
|
+
accept(visitor) {
|
|
70
|
+
return visitor.visitObject(this);
|
|
71
|
+
}
|
|
72
|
+
deepClone() {
|
|
73
|
+
const { metadata, customAttributes, typeVariants } = this.cloneBase();
|
|
74
|
+
const copy = new ObjectSchema(undefined, metadata, customAttributes);
|
|
75
|
+
copy.typeVariants = typeVariants;
|
|
76
|
+
for (const [name, schema] of this.propertyCollection.entries()) {
|
|
77
|
+
copy.setProperty(name, schema.deepClone(), this.propertyCollection.isRequired(name));
|
|
78
|
+
}
|
|
79
|
+
copy._additionalProperties =
|
|
80
|
+
this._additionalProperties === true || this._additionalProperties === false
|
|
81
|
+
? this._additionalProperties
|
|
82
|
+
: this._additionalProperties.deepClone();
|
|
83
|
+
return copy;
|
|
84
|
+
}
|
|
85
|
+
createDefaultValue() {
|
|
86
|
+
const data = {};
|
|
87
|
+
for (const [name, schema] of this.propertyCollection) {
|
|
88
|
+
data[name] = schema.createDefaultValue();
|
|
89
|
+
}
|
|
90
|
+
return data;
|
|
91
|
+
}
|
|
92
|
+
writeTypeDefinition(json) {
|
|
93
|
+
const properties = {};
|
|
94
|
+
for (const [name, schema] of this.propertyCollection) {
|
|
95
|
+
properties[name] = schema.toJSON();
|
|
96
|
+
}
|
|
97
|
+
this.writeTypeTo(json, "object");
|
|
98
|
+
json.properties = properties;
|
|
99
|
+
const required = this.propertyCollection.requiredNames;
|
|
100
|
+
if (required.length)
|
|
101
|
+
json.required = [...required];
|
|
102
|
+
if (this._additionalProperties === false) {
|
|
103
|
+
json.additionalProperties = false;
|
|
104
|
+
}
|
|
105
|
+
else if (this._additionalProperties !== true) {
|
|
106
|
+
json.additionalProperties = this._additionalProperties.toJSON();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
resolvePathImpl(segments) {
|
|
110
|
+
if (segments.length === 0)
|
|
111
|
+
return this;
|
|
112
|
+
const [head, ...tail] = segments;
|
|
113
|
+
const child = this.propertyCollection.get(head);
|
|
114
|
+
if (!child)
|
|
115
|
+
return undefined;
|
|
116
|
+
return tail.length ? child.resolvePath(tail) : child;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=object-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-schema.js","sourceRoot":"","sources":["../../src/model/object-schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAc,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,MAAM,OAAO,YAAa,SAAQ,eAAe;IACtC,QAAQ,GAAG,QAAiB,CAAC;IAErB,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACvD,qBAAqB,GAAyB,IAAI,CAAC;IAE3D,YACE,QAAsC,EACtC,WAA2B,IAAI,cAAc,EAAE,EAC/C,gBAA4C;QAE5C,KAAK,CAAC,QAAQ,EAAE,gBAAgB,IAAI,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC;IAC/C,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;IACtC,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED,IAAI,oBAAoB,CAAC,KAA2B;QAClD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,MAAkB,EAAE,UAAU,GAAG,KAAK;QAC9D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,kBAAkB,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,mBAAmB,CAAC,IAAY,EAAE,UAAmB;QACnD,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACpF,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,IAAI,IAAI,CAAC,qBAAqB,KAAK,KAAK,EAAE,CAAC;YAChF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAsB,EAAE,OAAsB;QAC5D,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEzB,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,IAAI,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACrC,CAAC;aAAM,IACL,IAAI,CAAC,oBAAoB;YACzB,OAAO,IAAI,CAAC,oBAAoB,KAAK,QAAQ,EAC7C,CAAC;YACD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAI,OAAyB;QACjC,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,SAAS;QACP,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,CAAC,qBAAqB;YACxB,IAAI,CAAC,qBAAqB,KAAK,IAAI,IAAI,IAAI,CAAC,qBAAqB,KAAK,KAAK;gBACzE,CAAC,CAAC,IAAI,CAAC,qBAAqB;gBAC5B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB;QAChB,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,mBAAmB,CAAC,IAAsB;QAClD,MAAM,UAAU,GAAqC,EAAE,CAAC;QACxD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrD,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC;QACvD,IAAI,QAAQ,CAAC,MAAM;YAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,qBAAqB,KAAK,KAAK,EAAE,CAAC;YACzC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;QAClE,CAAC;IACH,CAAC;IAES,eAAe,CAAC,QAA2B;QACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACvD,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SchemaNode } from "./node.js";
|
|
2
|
+
export declare class PropertyCollection {
|
|
3
|
+
private readonly properties;
|
|
4
|
+
private readonly required;
|
|
5
|
+
add(name: string, schema: SchemaNode, options?: {
|
|
6
|
+
required?: boolean;
|
|
7
|
+
}): this;
|
|
8
|
+
remove(name: string): boolean;
|
|
9
|
+
get(name: string): SchemaNode | undefined;
|
|
10
|
+
has(name: string): boolean;
|
|
11
|
+
setRequired(name: string, isRequired: boolean): void;
|
|
12
|
+
isRequired(name: string): boolean;
|
|
13
|
+
get requiredNames(): readonly string[];
|
|
14
|
+
get size(): number;
|
|
15
|
+
entries(): IterableIterator<[string, SchemaNode]>;
|
|
16
|
+
[Symbol.iterator](): IterableIterator<[string, SchemaNode]>;
|
|
17
|
+
asMap(): ReadonlyMap<string, SchemaNode>;
|
|
18
|
+
clone(): PropertyCollection;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=property-collection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-collection.d.ts","sourceRoot":"","sources":["../../src/model/property-collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAE9C,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAQ7E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAK7B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIzC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAWpD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,IAAI,aAAa,IAAI,SAAS,MAAM,EAAE,CAErC;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAIjD,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAI3D,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC;IAIxC,KAAK,IAAI,kBAAkB;CAU5B"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export class PropertyCollection {
|
|
2
|
+
properties = new Map();
|
|
3
|
+
required = new Set();
|
|
4
|
+
add(name, schema, options) {
|
|
5
|
+
this.properties.set(name, schema);
|
|
6
|
+
if (options?.required) {
|
|
7
|
+
this.required.add(name);
|
|
8
|
+
}
|
|
9
|
+
return this;
|
|
10
|
+
}
|
|
11
|
+
remove(name) {
|
|
12
|
+
this.required.delete(name);
|
|
13
|
+
return this.properties.delete(name);
|
|
14
|
+
}
|
|
15
|
+
get(name) {
|
|
16
|
+
return this.properties.get(name);
|
|
17
|
+
}
|
|
18
|
+
has(name) {
|
|
19
|
+
return this.properties.has(name);
|
|
20
|
+
}
|
|
21
|
+
setRequired(name, isRequired) {
|
|
22
|
+
if (!this.properties.has(name)) {
|
|
23
|
+
throw new Error(`Property "${name}" does not exist.`);
|
|
24
|
+
}
|
|
25
|
+
if (isRequired) {
|
|
26
|
+
this.required.add(name);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this.required.delete(name);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
isRequired(name) {
|
|
33
|
+
return this.required.has(name);
|
|
34
|
+
}
|
|
35
|
+
get requiredNames() {
|
|
36
|
+
return [...this.required];
|
|
37
|
+
}
|
|
38
|
+
get size() {
|
|
39
|
+
return this.properties.size;
|
|
40
|
+
}
|
|
41
|
+
entries() {
|
|
42
|
+
return this.properties.entries();
|
|
43
|
+
}
|
|
44
|
+
[Symbol.iterator]() {
|
|
45
|
+
return this.entries();
|
|
46
|
+
}
|
|
47
|
+
asMap() {
|
|
48
|
+
return this.properties;
|
|
49
|
+
}
|
|
50
|
+
clone() {
|
|
51
|
+
const copy = new PropertyCollection();
|
|
52
|
+
for (const [name, schema] of this.properties) {
|
|
53
|
+
copy.properties.set(name, schema.deepClone());
|
|
54
|
+
}
|
|
55
|
+
for (const name of this.required) {
|
|
56
|
+
copy.required.add(name);
|
|
57
|
+
}
|
|
58
|
+
return copy;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=property-collection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-collection.js","sourceRoot":"","sources":["../../src/model/property-collection.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,kBAAkB;IACZ,UAAU,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC3C,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAE9C,GAAG,CAAC,IAAY,EAAE,MAAkB,EAAE,OAAgC;QACpE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,UAAmB;QAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,mBAAmB,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK;QACH,MAAM,IAAI,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { JsonSchemaAttributeRegistry } from "../attribute-registry.js";
|
|
2
|
+
import type { JsonSchemaObject } from "../types.js";
|
|
3
|
+
import { CustomAttributeCollection } from "./custom-attributes.js";
|
|
4
|
+
import type { SchemaFactory } from "./factory.js";
|
|
5
|
+
import { LeafSchema } from "./node.js";
|
|
6
|
+
import { SchemaMetadata } from "./metadata.js";
|
|
7
|
+
import type { SchemaVisitor } from "./visitor.js";
|
|
8
|
+
export declare class RefSchema extends LeafSchema {
|
|
9
|
+
private _ref;
|
|
10
|
+
readonly nodeKind: "ref";
|
|
11
|
+
constructor(_ref: string, registry?: JsonSchemaAttributeRegistry, metadata?: SchemaMetadata, customAttributes?: CustomAttributeCollection);
|
|
12
|
+
get ref(): string;
|
|
13
|
+
set ref(value: string);
|
|
14
|
+
static fromJSON(json: JsonSchemaObject, factory: SchemaFactory): RefSchema;
|
|
15
|
+
accept<T>(visitor: SchemaVisitor<T>): T;
|
|
16
|
+
deepClone(): RefSchema;
|
|
17
|
+
createDefaultValue(): unknown;
|
|
18
|
+
protected writeTypeDefinition(json: JsonSchemaObject): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ref-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref-schema.d.ts","sourceRoot":"","sources":["../../src/model/ref-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,qBAAa,SAAU,SAAQ,UAAU;IAIrC,OAAO,CAAC,IAAI;IAHd,QAAQ,CAAC,QAAQ,EAAG,KAAK,CAAU;gBAGzB,IAAI,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,2BAA2B,EACtC,QAAQ,GAAE,cAAqC,EAC/C,gBAAgB,CAAC,EAAE,yBAAyB;IAK9C,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAEpB;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS;IAM1E,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;IAIvC,SAAS,IAAI,SAAS;IAOtB,kBAAkB,IAAI,OAAO;IAI7B,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;CAG5D"}
|