schemair 0.1.0 → 0.3.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/README.md +542 -32
- package/dist/authoring/index.cjs +13 -350
- package/dist/authoring/index.d.cts +2 -90
- package/dist/authoring/index.d.ts +2 -90
- package/dist/authoring/index.js +2 -304
- package/dist/authoring-Dnrg5TXm.cjs +389 -0
- package/dist/authoring-DyJNYs5o.js +362 -0
- package/dist/chunk-bFfwrPtJ.js +18 -0
- package/dist/compatibility/index.cjs +43 -0
- package/dist/compatibility/index.d.cts +2 -0
- package/dist/compatibility/index.d.ts +2 -0
- package/dist/compatibility/index.js +42 -0
- package/dist/definition/index.cjs +10 -2
- package/dist/definition/index.d.cts +3 -21
- package/dist/definition/index.d.ts +3 -21
- package/dist/definition/index.js +2 -2
- package/dist/definition-BH_LzXGc.js +1115 -0
- package/dist/definition-BLLBpLKv.cjs +1187 -0
- package/dist/index-1sDuqu05.d.ts +373 -0
- package/dist/index-BFSMT_2d.d.ts +53 -0
- package/dist/index-BGz7L_Fq.d.cts +73 -0
- package/dist/index-BTtdqi_M.d.ts +418 -0
- package/dist/index-BfbClf6R.d.cts +20 -0
- package/dist/index-CK7Is7vy.d.cts +420 -0
- package/dist/index-CUGhtuwA.d.cts +53 -0
- package/dist/index-CV8EZQy8.d.ts +92 -0
- package/dist/index-CzNxjqVg.d.cts +47 -0
- package/dist/index-DGHMUZ5m.d.cts +92 -0
- package/dist/{index-eK2Xgrwp.d.ts → index-DxvfPmw6.d.ts} +13 -9
- package/dist/index-T6nFhvGQ.d.ts +20 -0
- package/dist/{index-TACcK_mi.d.cts → index-ba_52Yu9.d.cts} +13 -9
- package/dist/index-hrcM9oJe.d.ts +47 -0
- package/dist/index-i7Au-FQ6.d.cts +373 -0
- package/dist/index-mu1znI1F.d.ts +73 -0
- package/dist/index.cjs +70 -58
- package/dist/index.d.cts +9 -7
- package/dist/index.d.ts +9 -7
- package/dist/index.js +10 -6
- package/dist/integrations/json-schema/index.cjs +328 -0
- package/dist/integrations/json-schema/index.d.cts +53 -0
- package/dist/integrations/json-schema/index.d.ts +53 -0
- package/dist/integrations/json-schema/index.js +324 -0
- package/dist/integrations/standard-schema/index.cjs +32 -0
- package/dist/integrations/standard-schema/index.d.cts +22 -0
- package/dist/integrations/standard-schema/index.d.ts +22 -0
- package/dist/integrations/standard-schema/index.js +32 -0
- package/dist/payload/index.cjs +45 -82
- package/dist/payload/index.d.cts +2 -56
- package/dist/payload/index.d.ts +2 -56
- package/dist/payload/index.js +45 -81
- package/dist/relations/index.cjs +3 -4
- package/dist/relations/index.d.cts +2 -2
- package/dist/relations/index.d.ts +2 -2
- package/dist/relations/index.js +2 -2
- package/dist/{relations-CMz_0nf4.cjs → relations-NUVJkAG8.cjs} +143 -211
- package/dist/{relations-By0bK3UK.js → relations-QtnCRW9x.js} +140 -202
- package/dist/resolve/index.cjs +308 -0
- package/dist/resolve/index.d.cts +2 -0
- package/dist/resolve/index.d.ts +2 -0
- package/dist/resolve/index.js +305 -0
- package/dist/schema-ref-key-BHVFVfj1.cjs +26 -0
- package/dist/schema-ref-key-DR__tPr-.js +14 -0
- package/dist/spec/index.cjs +9 -0
- package/dist/spec/index.d.cts +2 -2
- package/dist/spec/index.d.ts +2 -2
- package/dist/spec/index.js +3 -1
- package/dist/standard/index.cjs +810 -0
- package/dist/standard/index.d.cts +3 -0
- package/dist/standard/index.d.ts +3 -0
- package/dist/standard/index.js +777 -0
- package/dist/standard-BGMgbbEQ.js +471 -0
- package/dist/standard-etPFZDJI.cjs +513 -0
- package/dist/type-interpreter/index.cjs +3 -7
- package/dist/type-interpreter/index.d.cts +2 -99
- package/dist/type-interpreter/index.d.ts +2 -99
- package/dist/type-interpreter/index.js +2 -2
- package/dist/{type-interpreter-Ck0VDhzn.js → type-interpreter-BA8gcLUU.js} +58 -560
- package/dist/{type-interpreter-DAIBUqKf.cjs → type-interpreter-D8xETgq1.cjs} +63 -589
- package/package.json +60 -5
- package/dist/definition-BXj3T94L.js +0 -467
- package/dist/definition-DSZZTz4e.cjs +0 -473
- package/dist/index-CEzHfht2.d.ts +0 -269
- package/dist/index-rzkFjgrt.d.cts +0 -269
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { K as OperationContainerDefinition, L as SchemaTypeTerm, Q as StructuredOperationDefinition, Z as StructuredOperationContainerDefinition, ct as SchemaNode, q as OperationDefinition, y as SchemaTypeExpr } from "./index-i7Au-FQ6.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/definition/validator.d.ts
|
|
4
|
+
type SchemaNodeDefinitionPath = readonly (string | number)[];
|
|
5
|
+
interface SchemaNodeDefinitionDiagnostic {
|
|
6
|
+
readonly code: string;
|
|
7
|
+
readonly path: SchemaNodeDefinitionPath;
|
|
8
|
+
readonly message: string;
|
|
9
|
+
}
|
|
10
|
+
type SchemaNodeDefinitionValidationResult = {
|
|
11
|
+
readonly ok: true;
|
|
12
|
+
readonly node: SchemaNode;
|
|
13
|
+
readonly issues: readonly [];
|
|
14
|
+
} | {
|
|
15
|
+
readonly ok: false;
|
|
16
|
+
readonly issues: readonly SchemaNodeDefinitionDiagnostic[];
|
|
17
|
+
};
|
|
18
|
+
/** Validate only the serializable structural definition of one SchemaNode. */
|
|
19
|
+
declare function validateSchemaNodeDefinition(value: unknown): SchemaNodeDefinitionValidationResult;
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region src/definition/operation-validator.d.ts
|
|
22
|
+
type OperationDefinitionPath = readonly (string | number)[];
|
|
23
|
+
interface OperationDefinitionDiagnostic {
|
|
24
|
+
readonly code: string;
|
|
25
|
+
readonly path: OperationDefinitionPath;
|
|
26
|
+
readonly message: string;
|
|
27
|
+
}
|
|
28
|
+
type OperationDefinitionValidationResult = {
|
|
29
|
+
readonly ok: true;
|
|
30
|
+
readonly operation: OperationDefinition;
|
|
31
|
+
readonly issues: readonly [];
|
|
32
|
+
} | {
|
|
33
|
+
readonly ok: false;
|
|
34
|
+
readonly issues: readonly OperationDefinitionDiagnostic[];
|
|
35
|
+
};
|
|
36
|
+
type OperationContainerDefinitionValidationResult = {
|
|
37
|
+
readonly ok: true;
|
|
38
|
+
readonly container: OperationContainerDefinition;
|
|
39
|
+
readonly issues: readonly [];
|
|
40
|
+
} | {
|
|
41
|
+
readonly ok: false;
|
|
42
|
+
readonly issues: readonly OperationDefinitionDiagnostic[];
|
|
43
|
+
};
|
|
44
|
+
type StructuredOperationDefinitionValidationResult = {
|
|
45
|
+
readonly ok: true;
|
|
46
|
+
readonly operation: StructuredOperationDefinition;
|
|
47
|
+
readonly issues: readonly [];
|
|
48
|
+
} | {
|
|
49
|
+
readonly ok: false;
|
|
50
|
+
readonly issues: readonly OperationDefinitionDiagnostic[];
|
|
51
|
+
};
|
|
52
|
+
type StructuredOperationContainerDefinitionValidationResult = {
|
|
53
|
+
readonly ok: true;
|
|
54
|
+
readonly container: StructuredOperationContainerDefinition;
|
|
55
|
+
readonly issues: readonly [];
|
|
56
|
+
} | {
|
|
57
|
+
readonly ok: false;
|
|
58
|
+
readonly issues: readonly OperationDefinitionDiagnostic[];
|
|
59
|
+
};
|
|
60
|
+
declare function validateOperationDefinition(value: unknown): OperationDefinitionValidationResult;
|
|
61
|
+
declare function validateOperationContainerDefinition(value: unknown): OperationContainerDefinitionValidationResult;
|
|
62
|
+
declare function validateStructuredOperationDefinition(value: unknown): StructuredOperationDefinitionValidationResult;
|
|
63
|
+
declare function validateStructuredOperationContainerDefinition(value: unknown): StructuredOperationContainerDefinitionValidationResult;
|
|
64
|
+
declare function isStructuredOperationDefinition(value: unknown): value is StructuredOperationDefinition;
|
|
65
|
+
declare function isStructuredOperationContainerDefinition(value: unknown): value is StructuredOperationContainerDefinition;
|
|
66
|
+
//#endregion
|
|
67
|
+
//#region src/definition/expression-validator.d.ts
|
|
68
|
+
interface SchemaTypeDefinitionDiagnostic {
|
|
69
|
+
readonly code: string;
|
|
70
|
+
readonly path: readonly (string | number)[];
|
|
71
|
+
readonly message: string;
|
|
72
|
+
}
|
|
73
|
+
type SchemaTypeExprDefinitionValidationResult = {
|
|
74
|
+
readonly ok: true;
|
|
75
|
+
readonly expression: SchemaTypeExpr;
|
|
76
|
+
readonly issues: readonly [];
|
|
77
|
+
} | {
|
|
78
|
+
readonly ok: false;
|
|
79
|
+
readonly issues: readonly SchemaTypeDefinitionDiagnostic[];
|
|
80
|
+
};
|
|
81
|
+
type SchemaTypeTermDefinitionValidationResult = {
|
|
82
|
+
readonly ok: true;
|
|
83
|
+
readonly term: SchemaTypeTerm;
|
|
84
|
+
readonly issues: readonly [];
|
|
85
|
+
} | {
|
|
86
|
+
readonly ok: false;
|
|
87
|
+
readonly issues: readonly SchemaTypeDefinitionDiagnostic[];
|
|
88
|
+
};
|
|
89
|
+
declare function validateSchemaTypeExprDefinition(value: unknown): SchemaTypeExprDefinitionValidationResult;
|
|
90
|
+
declare function validateSchemaTypeTermDefinition(value: unknown): SchemaTypeTermDefinitionValidationResult;
|
|
91
|
+
//#endregion
|
|
92
|
+
export { validateStructuredOperationDefinition as _, validateSchemaTypeTermDefinition as a, SchemaNodeDefinitionValidationResult as b, OperationDefinitionPath as c, StructuredOperationDefinitionValidationResult as d, isStructuredOperationContainerDefinition as f, validateStructuredOperationContainerDefinition as g, validateOperationDefinition as h, validateSchemaTypeExprDefinition as i, OperationDefinitionValidationResult as l, validateOperationContainerDefinition as m, SchemaTypeExprDefinitionValidationResult as n, OperationContainerDefinitionValidationResult as o, isStructuredOperationDefinition as p, SchemaTypeTermDefinitionValidationResult as r, OperationDefinitionDiagnostic as s, SchemaTypeDefinitionDiagnostic as t, StructuredOperationContainerDefinitionValidationResult as u, SchemaNodeDefinitionDiagnostic as v, validateSchemaNodeDefinition as x, SchemaNodeDefinitionPath as y };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { at as SchemaConstraint, ct as SchemaNode, ht as SchemaRefEntry } from "./index-1sDuqu05.js";
|
|
2
2
|
|
|
3
3
|
//#region src/relations/validator.d.ts
|
|
4
4
|
type RelationPath = readonly (string | number)[];
|
|
@@ -6,6 +6,7 @@ interface RelationDiagnostic {
|
|
|
6
6
|
readonly code: string;
|
|
7
7
|
readonly path: RelationPath;
|
|
8
8
|
readonly message: string;
|
|
9
|
+
readonly details?: Readonly<Record<string, unknown>>;
|
|
9
10
|
}
|
|
10
11
|
type RelationStatus = 'assignable' | 'incompatible' | 'unknown' | 'rejected';
|
|
11
12
|
interface RelationResult {
|
|
@@ -36,18 +37,21 @@ type RelationResolution = SchemaNode | {
|
|
|
36
37
|
readonly message?: string;
|
|
37
38
|
} | undefined;
|
|
38
39
|
interface RelationContext {
|
|
40
|
+
/** Pre-resolved external schemas supplied as portable refPath entries. */
|
|
41
|
+
readonly refs?: readonly SchemaRefEntry[];
|
|
39
42
|
readonly resolveRef?: (refPath: readonly string[], context: RelationResolutionContext) => RelationResolution;
|
|
40
43
|
readonly semanticProvider?: (sourcePath: readonly string[] | undefined, targetPath: readonly string[] | undefined, context: RelationProviderContext) => RelationProviderDecision;
|
|
41
44
|
readonly constraintProvider?: (sourceConstraints: readonly SchemaConstraint[] | undefined, targetConstraints: readonly SchemaConstraint[] | undefined, context: RelationProviderContext) => RelationProviderDecision;
|
|
42
45
|
}
|
|
43
|
-
interface AsyncRelationContext {
|
|
44
|
-
readonly resolveRef?: (refPath: readonly string[], context: RelationResolutionContext) => Promise<RelationResolution> | RelationResolution;
|
|
45
|
-
readonly semanticProvider?: (sourcePath: readonly string[] | undefined, targetPath: readonly string[] | undefined, context: RelationProviderContext) => Promise<RelationProviderDecision> | RelationProviderDecision;
|
|
46
|
-
readonly constraintProvider?: (sourceConstraints: readonly SchemaConstraint[] | undefined, targetConstraints: readonly SchemaConstraint[] | undefined, context: RelationProviderContext) => Promise<RelationProviderDecision> | RelationProviderDecision;
|
|
47
|
-
}
|
|
48
46
|
declare function checkSchemaRelation(source: unknown, target: unknown, context?: RelationContext): RelationResult;
|
|
49
47
|
declare const checkSchemaAssignability: typeof checkSchemaRelation;
|
|
50
|
-
declare function checkSchemaRelationAsync(source: unknown, target: unknown, context?: AsyncRelationContext): Promise<RelationResult>;
|
|
51
|
-
declare const checkSchemaAssignabilityAsync: typeof checkSchemaRelationAsync;
|
|
52
48
|
//#endregion
|
|
53
|
-
|
|
49
|
+
//#region src/relations/operation.d.ts
|
|
50
|
+
type OperationRelationComponent = 'definition' | 'input' | 'output' | 'error' | 'emission';
|
|
51
|
+
type OperationRelationDirection = 'source-to-target' | 'target-to-source';
|
|
52
|
+
/** Can source replace target for callers using the target contract?
|
|
53
|
+
* Provider contexts describe each directed schema comparison; input reverses sides.
|
|
54
|
+
*/
|
|
55
|
+
declare function checkOperationRelation(source: unknown, target: unknown, context?: RelationContext): RelationResult;
|
|
56
|
+
//#endregion
|
|
57
|
+
export { RelationDiagnostic as a, RelationProviderDecision as c, RelationResult as d, RelationSide as f, checkSchemaRelation as h, RelationContext as i, RelationResolution as l, checkSchemaAssignability as m, OperationRelationDirection as n, RelationPath as o, RelationStatus as p, checkOperationRelation as r, RelationProviderContext as s, OperationRelationComponent as t, RelationResolutionContext as u };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { d as RelationResult, i as RelationContext } from "./index-DxvfPmw6.js";
|
|
2
|
+
|
|
3
|
+
//#region src/compatibility/index.d.ts
|
|
4
|
+
type CompatibilityStatus = 'compatible' | 'breaking' | 'unknown' | 'invalid';
|
|
5
|
+
interface CompatibilityCheck {
|
|
6
|
+
readonly status: CompatibilityStatus;
|
|
7
|
+
readonly relation: RelationResult;
|
|
8
|
+
}
|
|
9
|
+
interface CompatibilityReport {
|
|
10
|
+
/** Values accepted by the previous declaration are accepted by the next one. */
|
|
11
|
+
readonly previousToNext: CompatibilityCheck;
|
|
12
|
+
/** Values accepted by the next declaration are accepted by the previous one. */
|
|
13
|
+
readonly nextToPrevious: CompatibilityCheck;
|
|
14
|
+
/** Both directional checks are compatible. */
|
|
15
|
+
readonly status: CompatibilityStatus;
|
|
16
|
+
}
|
|
17
|
+
declare function reportSchemaCompatibility(previous: unknown, next: unknown, context?: RelationContext): CompatibilityReport;
|
|
18
|
+
declare function reportOperationCompatibility(previous: unknown, next: unknown, context?: RelationContext): CompatibilityReport;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { reportSchemaCompatibility as a, reportOperationCompatibility as i, CompatibilityReport as n, CompatibilityStatus as r, CompatibilityCheck as t };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { at as SchemaConstraint, ct as SchemaNode, ht as SchemaRefEntry } from "./index-i7Au-FQ6.cjs";
|
|
2
2
|
|
|
3
3
|
//#region src/relations/validator.d.ts
|
|
4
4
|
type RelationPath = readonly (string | number)[];
|
|
@@ -6,6 +6,7 @@ interface RelationDiagnostic {
|
|
|
6
6
|
readonly code: string;
|
|
7
7
|
readonly path: RelationPath;
|
|
8
8
|
readonly message: string;
|
|
9
|
+
readonly details?: Readonly<Record<string, unknown>>;
|
|
9
10
|
}
|
|
10
11
|
type RelationStatus = 'assignable' | 'incompatible' | 'unknown' | 'rejected';
|
|
11
12
|
interface RelationResult {
|
|
@@ -36,18 +37,21 @@ type RelationResolution = SchemaNode | {
|
|
|
36
37
|
readonly message?: string;
|
|
37
38
|
} | undefined;
|
|
38
39
|
interface RelationContext {
|
|
40
|
+
/** Pre-resolved external schemas supplied as portable refPath entries. */
|
|
41
|
+
readonly refs?: readonly SchemaRefEntry[];
|
|
39
42
|
readonly resolveRef?: (refPath: readonly string[], context: RelationResolutionContext) => RelationResolution;
|
|
40
43
|
readonly semanticProvider?: (sourcePath: readonly string[] | undefined, targetPath: readonly string[] | undefined, context: RelationProviderContext) => RelationProviderDecision;
|
|
41
44
|
readonly constraintProvider?: (sourceConstraints: readonly SchemaConstraint[] | undefined, targetConstraints: readonly SchemaConstraint[] | undefined, context: RelationProviderContext) => RelationProviderDecision;
|
|
42
45
|
}
|
|
43
|
-
interface AsyncRelationContext {
|
|
44
|
-
readonly resolveRef?: (refPath: readonly string[], context: RelationResolutionContext) => Promise<RelationResolution> | RelationResolution;
|
|
45
|
-
readonly semanticProvider?: (sourcePath: readonly string[] | undefined, targetPath: readonly string[] | undefined, context: RelationProviderContext) => Promise<RelationProviderDecision> | RelationProviderDecision;
|
|
46
|
-
readonly constraintProvider?: (sourceConstraints: readonly SchemaConstraint[] | undefined, targetConstraints: readonly SchemaConstraint[] | undefined, context: RelationProviderContext) => Promise<RelationProviderDecision> | RelationProviderDecision;
|
|
47
|
-
}
|
|
48
46
|
declare function checkSchemaRelation(source: unknown, target: unknown, context?: RelationContext): RelationResult;
|
|
49
47
|
declare const checkSchemaAssignability: typeof checkSchemaRelation;
|
|
50
|
-
declare function checkSchemaRelationAsync(source: unknown, target: unknown, context?: AsyncRelationContext): Promise<RelationResult>;
|
|
51
|
-
declare const checkSchemaAssignabilityAsync: typeof checkSchemaRelationAsync;
|
|
52
48
|
//#endregion
|
|
53
|
-
|
|
49
|
+
//#region src/relations/operation.d.ts
|
|
50
|
+
type OperationRelationComponent = 'definition' | 'input' | 'output' | 'error' | 'emission';
|
|
51
|
+
type OperationRelationDirection = 'source-to-target' | 'target-to-source';
|
|
52
|
+
/** Can source replace target for callers using the target contract?
|
|
53
|
+
* Provider contexts describe each directed schema comparison; input reverses sides.
|
|
54
|
+
*/
|
|
55
|
+
declare function checkOperationRelation(source: unknown, target: unknown, context?: RelationContext): RelationResult;
|
|
56
|
+
//#endregion
|
|
57
|
+
export { RelationDiagnostic as a, RelationProviderDecision as c, RelationResult as d, RelationSide as f, checkSchemaRelation as h, RelationContext as i, RelationResolution as l, checkSchemaAssignability as m, OperationRelationDirection as n, RelationPath as o, RelationStatus as p, checkOperationRelation as r, RelationProviderContext as s, OperationRelationComponent as t, RelationResolutionContext as u };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ct as SchemaNode, ht as SchemaRefEntry } from "./index-1sDuqu05.js";
|
|
2
|
+
|
|
3
|
+
//#region src/payload/validator.d.ts
|
|
4
|
+
type PayloadPath = readonly (string | number)[];
|
|
5
|
+
interface PayloadValidationDiagnostic {
|
|
6
|
+
readonly code: string;
|
|
7
|
+
readonly path: PayloadPath;
|
|
8
|
+
readonly message: string;
|
|
9
|
+
}
|
|
10
|
+
type PayloadValidationResult = {
|
|
11
|
+
readonly status: 'accepted';
|
|
12
|
+
readonly issues: readonly [];
|
|
13
|
+
} | {
|
|
14
|
+
readonly status: 'rejected' | 'unknown';
|
|
15
|
+
readonly issues: readonly PayloadValidationDiagnostic[];
|
|
16
|
+
};
|
|
17
|
+
type PayloadProviderDecision = boolean | {
|
|
18
|
+
readonly status: 'accepted' | 'rejected' | 'unknown' | 'unsupported';
|
|
19
|
+
readonly message?: string;
|
|
20
|
+
};
|
|
21
|
+
interface PayloadProviderContext {
|
|
22
|
+
readonly path: PayloadPath;
|
|
23
|
+
readonly schema: SchemaNode;
|
|
24
|
+
readonly rootSchema: SchemaNode;
|
|
25
|
+
}
|
|
26
|
+
interface PayloadResolutionContext extends PayloadProviderContext {
|
|
27
|
+
readonly refPath: readonly string[];
|
|
28
|
+
}
|
|
29
|
+
type PayloadResolution = SchemaNode | {
|
|
30
|
+
readonly status: 'resolved';
|
|
31
|
+
readonly schema: SchemaNode;
|
|
32
|
+
} | {
|
|
33
|
+
readonly status: 'unknown' | 'unsupported';
|
|
34
|
+
readonly message?: string;
|
|
35
|
+
} | undefined;
|
|
36
|
+
type SemanticProvider = (semanticPath: readonly string[], value: unknown, context: PayloadProviderContext) => PayloadProviderDecision | undefined;
|
|
37
|
+
type ConstraintProvider = (constraintPath: readonly string[], args: unknown, value: unknown, context: PayloadProviderContext) => PayloadProviderDecision | undefined;
|
|
38
|
+
interface PayloadValidationContext {
|
|
39
|
+
/** Pre-resolved external schemas supplied as portable refPath entries. */
|
|
40
|
+
readonly refs?: readonly SchemaRefEntry[];
|
|
41
|
+
readonly resolveRef?: (refPath: readonly string[], context: PayloadResolutionContext) => PayloadResolution;
|
|
42
|
+
readonly semanticProvider?: SemanticProvider;
|
|
43
|
+
readonly constraintProvider?: ConstraintProvider;
|
|
44
|
+
}
|
|
45
|
+
declare function validatePayload(value: unknown, schema: SchemaNode, context?: PayloadValidationContext): PayloadValidationResult;
|
|
46
|
+
//#endregion
|
|
47
|
+
export { PayloadResolution as a, PayloadValidationDiagnostic as c, validatePayload as d, PayloadProviderDecision as i, PayloadValidationResult as l, PayloadPath as n, PayloadResolutionContext as o, PayloadProviderContext as r, PayloadValidationContext as s, ConstraintProvider as t, SemanticProvider as u };
|
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
//#region src/spec/schema.d.ts
|
|
2
|
+
/** JSON values allowed in opaque constraint arguments. */
|
|
3
|
+
type JsonValue = null | boolean | number | string | JsonValue[] | {
|
|
4
|
+
[key: string]: JsonValue;
|
|
5
|
+
};
|
|
6
|
+
type PrimitiveName = 'string' | 'number' | 'boolean' | 'null';
|
|
7
|
+
type LiteralValue = string | number | boolean;
|
|
8
|
+
interface SchemaConstraint {
|
|
9
|
+
constraintPath: string[];
|
|
10
|
+
args?: JsonValue;
|
|
11
|
+
}
|
|
12
|
+
interface SchemaStringNode {
|
|
13
|
+
kind: 'primitive';
|
|
14
|
+
name: 'string';
|
|
15
|
+
semanticPath?: string[];
|
|
16
|
+
constraints?: SchemaConstraint[];
|
|
17
|
+
}
|
|
18
|
+
interface SchemaNumberNode {
|
|
19
|
+
kind: 'primitive';
|
|
20
|
+
name: 'number';
|
|
21
|
+
semanticPath?: string[];
|
|
22
|
+
constraints?: SchemaConstraint[];
|
|
23
|
+
}
|
|
24
|
+
interface SchemaBooleanNode {
|
|
25
|
+
kind: 'primitive';
|
|
26
|
+
name: 'boolean';
|
|
27
|
+
}
|
|
28
|
+
interface SchemaNullNode {
|
|
29
|
+
kind: 'primitive';
|
|
30
|
+
name: 'null';
|
|
31
|
+
}
|
|
32
|
+
type SchemaPrimitiveNode = SchemaStringNode | SchemaNumberNode | SchemaBooleanNode | SchemaNullNode;
|
|
33
|
+
interface SchemaLiteralNode {
|
|
34
|
+
kind: 'literal';
|
|
35
|
+
literal: LiteralValue;
|
|
36
|
+
}
|
|
37
|
+
interface SchemaRecordField {
|
|
38
|
+
key: string;
|
|
39
|
+
schema: SchemaNode;
|
|
40
|
+
required?: boolean;
|
|
41
|
+
description?: string;
|
|
42
|
+
}
|
|
43
|
+
interface SchemaRecordNode {
|
|
44
|
+
kind: 'record';
|
|
45
|
+
fields: SchemaRecordField[];
|
|
46
|
+
additionalFields?: true | SchemaNode;
|
|
47
|
+
constraints?: SchemaConstraint[];
|
|
48
|
+
}
|
|
49
|
+
interface SchemaArrayNode {
|
|
50
|
+
kind: 'array';
|
|
51
|
+
elementSchema: SchemaNode;
|
|
52
|
+
constraints?: SchemaConstraint[];
|
|
53
|
+
}
|
|
54
|
+
interface SchemaTupleNode {
|
|
55
|
+
kind: 'tuple';
|
|
56
|
+
elementSchemas: SchemaNode[];
|
|
57
|
+
}
|
|
58
|
+
interface SchemaLiteralUnionNode {
|
|
59
|
+
kind: 'literalUnion';
|
|
60
|
+
values: [LiteralValue, LiteralValue, ...LiteralValue[]];
|
|
61
|
+
}
|
|
62
|
+
interface SchemaNullableNode {
|
|
63
|
+
kind: 'nullable';
|
|
64
|
+
value: SchemaNode;
|
|
65
|
+
}
|
|
66
|
+
interface SchemaTaggedUnionVariant {
|
|
67
|
+
key: string;
|
|
68
|
+
schema: SchemaRecordNode;
|
|
69
|
+
description?: string;
|
|
70
|
+
}
|
|
71
|
+
interface SchemaTaggedUnionNode {
|
|
72
|
+
kind: 'taggedUnion';
|
|
73
|
+
discriminator: string;
|
|
74
|
+
variants: SchemaTaggedUnionVariant[];
|
|
75
|
+
}
|
|
76
|
+
interface SchemaRefNode {
|
|
77
|
+
kind: 'ref';
|
|
78
|
+
refPath: string[];
|
|
79
|
+
}
|
|
80
|
+
interface SchemaSelfRefNode {
|
|
81
|
+
kind: 'selfRef';
|
|
82
|
+
}
|
|
83
|
+
/** Closed serializable SchemaIR contract model. */
|
|
84
|
+
type SchemaNode = SchemaPrimitiveNode | SchemaLiteralNode | SchemaRecordNode | SchemaArrayNode | SchemaTupleNode | SchemaLiteralUnionNode | SchemaNullableNode | SchemaTaggedUnionNode | SchemaRefNode | SchemaSelfRefNode;
|
|
85
|
+
/** A host-provided schema bound for an external `refPath`. */
|
|
86
|
+
interface SchemaRefEntry {
|
|
87
|
+
readonly refPath: readonly string[];
|
|
88
|
+
readonly schema: SchemaNode;
|
|
89
|
+
}
|
|
90
|
+
//#endregion
|
|
91
|
+
//#region src/spec/operation.d.ts
|
|
92
|
+
type OperationBinaryMetadata = {
|
|
93
|
+
kind: 'mime';
|
|
94
|
+
value: string;
|
|
95
|
+
};
|
|
96
|
+
type OperationPayloadDefinition = StructuredOperationPayloadDefinition | {
|
|
97
|
+
kind: 'binary';
|
|
98
|
+
meta?: OperationBinaryMetadata;
|
|
99
|
+
};
|
|
100
|
+
interface OperationErrorDefinition {
|
|
101
|
+
description?: string;
|
|
102
|
+
data?: SchemaNode;
|
|
103
|
+
}
|
|
104
|
+
interface OperationChannelDefinition {
|
|
105
|
+
description?: string;
|
|
106
|
+
data?: OperationPayloadDefinition;
|
|
107
|
+
errors?: Record<string, OperationErrorDefinition>;
|
|
108
|
+
}
|
|
109
|
+
interface OperationDefinition {
|
|
110
|
+
description?: string;
|
|
111
|
+
input?: OperationPayloadDefinition;
|
|
112
|
+
output?: OperationPayloadDefinition;
|
|
113
|
+
errors?: Record<string, OperationErrorDefinition>;
|
|
114
|
+
emits?: Record<string, OperationChannelDefinition>;
|
|
115
|
+
}
|
|
116
|
+
/** Short model name used by migration-facing APIs. */
|
|
117
|
+
type Operation = OperationDefinition;
|
|
118
|
+
interface OperationContainerDefinition {
|
|
119
|
+
description?: string;
|
|
120
|
+
operations?: Record<string, OperationDefinition>;
|
|
121
|
+
containers?: Record<string, OperationContainerDefinition>;
|
|
122
|
+
}
|
|
123
|
+
interface StructuredOperationPayloadDefinition {
|
|
124
|
+
kind: 'structured';
|
|
125
|
+
schema: SchemaNode;
|
|
126
|
+
}
|
|
127
|
+
interface StructuredOperationChannelDefinition {
|
|
128
|
+
description?: string;
|
|
129
|
+
data?: StructuredOperationPayloadDefinition;
|
|
130
|
+
errors?: Record<string, OperationErrorDefinition>;
|
|
131
|
+
}
|
|
132
|
+
interface StructuredOperationDefinition {
|
|
133
|
+
description?: string;
|
|
134
|
+
input?: StructuredOperationPayloadDefinition;
|
|
135
|
+
output?: StructuredOperationPayloadDefinition;
|
|
136
|
+
errors?: Record<string, OperationErrorDefinition>;
|
|
137
|
+
emits?: Record<string, StructuredOperationChannelDefinition>;
|
|
138
|
+
}
|
|
139
|
+
interface StructuredOperationContainerDefinition {
|
|
140
|
+
description?: string;
|
|
141
|
+
operations?: Record<string, StructuredOperationDefinition>;
|
|
142
|
+
containers?: Record<string, StructuredOperationContainerDefinition>;
|
|
143
|
+
}
|
|
144
|
+
//#endregion
|
|
145
|
+
//#region src/spec/expression.d.ts
|
|
146
|
+
interface SchemaTypeVariableExpr {
|
|
147
|
+
kind: 'typeVar';
|
|
148
|
+
name: string;
|
|
149
|
+
extends?: SchemaTypeTerm;
|
|
150
|
+
}
|
|
151
|
+
interface SchemaTypeOpaqueHostExpr {
|
|
152
|
+
kind: 'opaqueHostType';
|
|
153
|
+
hostPath: string[];
|
|
154
|
+
}
|
|
155
|
+
interface SchemaTypeAbsentExpr {
|
|
156
|
+
kind: 'absent';
|
|
157
|
+
}
|
|
158
|
+
interface SchemaTypeNeverExpr {
|
|
159
|
+
kind: 'never';
|
|
160
|
+
}
|
|
161
|
+
interface SchemaTypeUnknownExpr {
|
|
162
|
+
kind: 'unknown';
|
|
163
|
+
}
|
|
164
|
+
interface SchemaTypeMaybeAbsentExpr {
|
|
165
|
+
kind: 'maybeAbsent';
|
|
166
|
+
value: SchemaTypeTerm;
|
|
167
|
+
}
|
|
168
|
+
interface SchemaTypeArrayExpr {
|
|
169
|
+
kind: 'arrayOf';
|
|
170
|
+
element: SchemaTypeTerm;
|
|
171
|
+
constraints?: SchemaConstraint[];
|
|
172
|
+
}
|
|
173
|
+
interface SchemaTypeTupleExpr {
|
|
174
|
+
kind: 'tupleOf';
|
|
175
|
+
elements: SchemaTypeTerm[];
|
|
176
|
+
}
|
|
177
|
+
interface SchemaTypeRecordExpr {
|
|
178
|
+
kind: 'recordOf';
|
|
179
|
+
fields: {
|
|
180
|
+
key: string;
|
|
181
|
+
value: SchemaTypeTerm;
|
|
182
|
+
required?: boolean;
|
|
183
|
+
description?: string;
|
|
184
|
+
}[];
|
|
185
|
+
additionalFields?: true | SchemaTypeTerm;
|
|
186
|
+
constraints?: SchemaConstraint[];
|
|
187
|
+
}
|
|
188
|
+
type SchemaFieldSelector = {
|
|
189
|
+
kind: 'all';
|
|
190
|
+
} | {
|
|
191
|
+
kind: 'keys';
|
|
192
|
+
keys: string[];
|
|
193
|
+
onMissing: 'error' | 'ignore';
|
|
194
|
+
};
|
|
195
|
+
type SchemaVariantSelector = SchemaFieldSelector;
|
|
196
|
+
interface SchemaTypeElementOfExpr {
|
|
197
|
+
kind: 'elementOf';
|
|
198
|
+
source: SchemaTypeTerm;
|
|
199
|
+
}
|
|
200
|
+
interface SchemaTypeValueOfExpr {
|
|
201
|
+
kind: 'valueOf';
|
|
202
|
+
source: SchemaTypeTerm;
|
|
203
|
+
}
|
|
204
|
+
interface SchemaTypeElementAtExpr {
|
|
205
|
+
kind: 'elementAt';
|
|
206
|
+
source: SchemaTypeTerm;
|
|
207
|
+
index: number;
|
|
208
|
+
}
|
|
209
|
+
interface SchemaTypeFieldOfExpr {
|
|
210
|
+
kind: 'fieldOf';
|
|
211
|
+
source: SchemaTypeTerm;
|
|
212
|
+
key: string;
|
|
213
|
+
}
|
|
214
|
+
interface SchemaTypeKeyOfExpr {
|
|
215
|
+
kind: 'keyOf';
|
|
216
|
+
source: SchemaTypeTerm;
|
|
217
|
+
}
|
|
218
|
+
interface SchemaTypeFieldsOfExpr {
|
|
219
|
+
kind: 'fieldsOf';
|
|
220
|
+
source: SchemaTypeTerm;
|
|
221
|
+
fields: SchemaFieldSelector;
|
|
222
|
+
}
|
|
223
|
+
interface SchemaTypePickFieldsExpr {
|
|
224
|
+
kind: 'pickFields';
|
|
225
|
+
source: SchemaTypeTerm;
|
|
226
|
+
fields: SchemaFieldSelector;
|
|
227
|
+
}
|
|
228
|
+
interface SchemaTypeOmitFieldsExpr {
|
|
229
|
+
kind: 'omitFields';
|
|
230
|
+
source: SchemaTypeTerm;
|
|
231
|
+
fields: SchemaFieldSelector;
|
|
232
|
+
}
|
|
233
|
+
interface SchemaTypePartialFieldsExpr {
|
|
234
|
+
kind: 'partialFields';
|
|
235
|
+
source: SchemaTypeTerm;
|
|
236
|
+
fields: SchemaFieldSelector;
|
|
237
|
+
}
|
|
238
|
+
interface SchemaTypeRequiredFieldsExpr {
|
|
239
|
+
kind: 'requiredFields';
|
|
240
|
+
source: SchemaTypeTerm;
|
|
241
|
+
fields: SchemaFieldSelector;
|
|
242
|
+
}
|
|
243
|
+
interface SchemaTypeMergeRecordsExpr {
|
|
244
|
+
kind: 'mergeRecords';
|
|
245
|
+
sources: SchemaTypeTerm[];
|
|
246
|
+
conflict: 'leftWins' | 'rightWins' | 'error';
|
|
247
|
+
}
|
|
248
|
+
interface SchemaTypeNullableExpr {
|
|
249
|
+
kind: 'nullableOf';
|
|
250
|
+
value: SchemaTypeTerm;
|
|
251
|
+
}
|
|
252
|
+
interface SchemaTypeTaggedUnionExpr {
|
|
253
|
+
kind: 'taggedUnionOf';
|
|
254
|
+
discriminator: string;
|
|
255
|
+
variants: {
|
|
256
|
+
key: string;
|
|
257
|
+
value: SchemaTypeTerm;
|
|
258
|
+
description?: string;
|
|
259
|
+
}[];
|
|
260
|
+
}
|
|
261
|
+
interface SchemaTypeIntersectExpr {
|
|
262
|
+
kind: 'intersect';
|
|
263
|
+
sources: SchemaTypeTerm[];
|
|
264
|
+
}
|
|
265
|
+
interface SchemaTypeRefineExpr {
|
|
266
|
+
kind: 'refine';
|
|
267
|
+
source: SchemaTypeTerm;
|
|
268
|
+
fields: {
|
|
269
|
+
key: string;
|
|
270
|
+
require?: true;
|
|
271
|
+
intersectWith?: SchemaTypeTerm;
|
|
272
|
+
addConstraints?: SchemaConstraint[];
|
|
273
|
+
}[];
|
|
274
|
+
}
|
|
275
|
+
interface SchemaTypeExcludeVariantsExpr {
|
|
276
|
+
kind: 'excludeVariants';
|
|
277
|
+
source: SchemaTypeTerm;
|
|
278
|
+
variants: SchemaVariantSelector;
|
|
279
|
+
}
|
|
280
|
+
interface SchemaTypeExtractVariantsExpr {
|
|
281
|
+
kind: 'extractVariants';
|
|
282
|
+
source: SchemaTypeTerm;
|
|
283
|
+
variants: SchemaVariantSelector;
|
|
284
|
+
}
|
|
285
|
+
type SchemaTypeExpr = SchemaTypeVariableExpr | SchemaTypeOpaqueHostExpr | SchemaTypeAbsentExpr | SchemaTypeNeverExpr | SchemaTypeUnknownExpr | SchemaTypeMaybeAbsentExpr | SchemaTypeArrayExpr | SchemaTypeTupleExpr | SchemaTypeRecordExpr | SchemaTypeElementOfExpr | SchemaTypeValueOfExpr | SchemaTypeElementAtExpr | SchemaTypeFieldOfExpr | SchemaTypeKeyOfExpr | SchemaTypeFieldsOfExpr | SchemaTypePickFieldsExpr | SchemaTypeOmitFieldsExpr | SchemaTypePartialFieldsExpr | SchemaTypeRequiredFieldsExpr | SchemaTypeMergeRecordsExpr | SchemaTypeNullableExpr | SchemaTypeTaggedUnionExpr | SchemaTypeIntersectExpr | SchemaTypeRefineExpr | SchemaTypeExcludeVariantsExpr | SchemaTypeExtractVariantsExpr;
|
|
286
|
+
type SchemaTypeTerm = SchemaNode | SchemaTypeExpr;
|
|
287
|
+
/** Short model name used by migration-facing APIs. */
|
|
288
|
+
type Expression = SchemaTypeExpr;
|
|
289
|
+
/** Kept here so consumers can share the JSON-compatible expression boundary. */
|
|
290
|
+
type ExpressionArgument = JsonValue;
|
|
291
|
+
//#endregion
|
|
292
|
+
//#region src/spec/standard/paths.d.ts
|
|
293
|
+
declare const STANDARD_SEMANTIC_PATHS: {
|
|
294
|
+
readonly string: {
|
|
295
|
+
readonly date: readonly ["std", "string", "date"];
|
|
296
|
+
readonly datetime: readonly ["std", "string", "datetime"];
|
|
297
|
+
readonly datetimeIso: readonly ["std", "string", "datetime", "iso"];
|
|
298
|
+
readonly email: readonly ["std", "string", "email"];
|
|
299
|
+
readonly url: readonly ["std", "string", "url"];
|
|
300
|
+
readonly ipV4: readonly ["std", "string", "ip", "v4"];
|
|
301
|
+
readonly ipV6: readonly ["std", "string", "ip", "v6"];
|
|
302
|
+
readonly uuid: readonly ["std", "string", "uuid"];
|
|
303
|
+
readonly uuidV4: readonly ["std", "string", "uuid", "v4"];
|
|
304
|
+
readonly json: readonly ["std", "string", "json"];
|
|
305
|
+
readonly base64: readonly ["std", "string", "base64"];
|
|
306
|
+
readonly base64url: readonly ["std", "string", "base64url"];
|
|
307
|
+
readonly hex: readonly ["std", "string", "hex"];
|
|
308
|
+
readonly decimal: readonly ["std", "string", "decimal"];
|
|
309
|
+
readonly bigint: readonly ["std", "string", "bigint"];
|
|
310
|
+
readonly secret: readonly ["std", "string", "secret"];
|
|
311
|
+
readonly token: readonly ["std", "string", "secret", "token"];
|
|
312
|
+
readonly password: readonly ["std", "string", "secret", "password"];
|
|
313
|
+
};
|
|
314
|
+
readonly number: {
|
|
315
|
+
readonly integer: readonly ["std", "number", "integer"];
|
|
316
|
+
readonly safeInteger: readonly ["std", "number", "safeInteger"];
|
|
317
|
+
readonly epochMillis: readonly ["std", "number", "epochMillis"];
|
|
318
|
+
readonly epochSeconds: readonly ["std", "number", "epochSeconds"];
|
|
319
|
+
};
|
|
320
|
+
};
|
|
321
|
+
declare const STANDARD_SEMANTIC_PATH_LIST: ReadonlyArray<readonly string[]>;
|
|
322
|
+
declare const STANDARD_CONSTRAINT_PATHS: {
|
|
323
|
+
readonly string: {
|
|
324
|
+
readonly minLength: readonly ["std", "minLength"];
|
|
325
|
+
readonly maxLength: readonly ["std", "maxLength"];
|
|
326
|
+
readonly pattern: readonly ["std", "pattern"];
|
|
327
|
+
};
|
|
328
|
+
readonly number: {
|
|
329
|
+
readonly minimum: readonly ["std", "minimum"];
|
|
330
|
+
readonly maximum: readonly ["std", "maximum"];
|
|
331
|
+
readonly exclusiveMinimum: readonly ["std", "exclusiveMinimum"];
|
|
332
|
+
readonly exclusiveMaximum: readonly ["std", "exclusiveMaximum"];
|
|
333
|
+
readonly multipleOf: readonly ["std", "multipleOf"];
|
|
334
|
+
};
|
|
335
|
+
readonly array: {
|
|
336
|
+
readonly minItems: readonly ["std", "minItems"];
|
|
337
|
+
readonly maxItems: readonly ["std", "maxItems"];
|
|
338
|
+
readonly uniqueItems: readonly ["std", "uniqueItems"];
|
|
339
|
+
};
|
|
340
|
+
readonly record: {
|
|
341
|
+
readonly minProperties: readonly ["std", "minProperties"];
|
|
342
|
+
readonly maxProperties: readonly ["std", "maxProperties"];
|
|
343
|
+
};
|
|
344
|
+
};
|
|
345
|
+
declare const STANDARD_CONSTRAINT_PATH_LIST: ReadonlyArray<readonly string[]>;
|
|
346
|
+
//#endregion
|
|
347
|
+
//#region src/spec/standard/definitions.d.ts
|
|
348
|
+
interface StandardSemanticDefinition {
|
|
349
|
+
path: readonly string[];
|
|
350
|
+
label: string;
|
|
351
|
+
description: string;
|
|
352
|
+
primitive: 'string' | 'number';
|
|
353
|
+
role: 'validation' | 'annotation';
|
|
354
|
+
}
|
|
355
|
+
interface StandardSemanticRelation {
|
|
356
|
+
source: readonly string[];
|
|
357
|
+
target: readonly string[];
|
|
358
|
+
kind: 'acceptedSetSubset';
|
|
359
|
+
}
|
|
360
|
+
interface StandardConstraintDefinition {
|
|
361
|
+
path: readonly string[];
|
|
362
|
+
label: string;
|
|
363
|
+
description: string;
|
|
364
|
+
target: 'string' | 'number' | 'array' | 'record';
|
|
365
|
+
argsType: 'number' | 'string' | 'boolean';
|
|
366
|
+
argsDomain: 'finiteNumber' | 'nonNegativeInteger' | 'positiveNumber' | 'regexSource' | 'boolean';
|
|
367
|
+
}
|
|
368
|
+
declare const STANDARD_SEMANTIC_DEFINITIONS: ReadonlyArray<StandardSemanticDefinition>;
|
|
369
|
+
/** Explicit accepted-set implications; carrier types are not semantic paths. */
|
|
370
|
+
declare const STANDARD_SEMANTIC_RELATIONS: ReadonlyArray<StandardSemanticRelation>;
|
|
371
|
+
declare const STANDARD_CONSTRAINT_DEFINITIONS: ReadonlyArray<StandardConstraintDefinition>;
|
|
372
|
+
//#endregion
|
|
373
|
+
export { StructuredOperationPayloadDefinition as $, SchemaTypeOpaqueHostExpr as A, SchemaTypeValueOfExpr as B, SchemaTypeIntersectExpr as C, SchemaTypeNeverExpr as D, SchemaTypeMergeRecordsExpr as E, SchemaTypeRequiredFieldsExpr as F, OperationChannelDefinition as G, SchemaVariantSelector as H, SchemaTypeTaggedUnionExpr as I, OperationErrorDefinition as J, OperationContainerDefinition as K, SchemaTypeTerm as L, SchemaTypePickFieldsExpr as M, SchemaTypeRecordExpr as N, SchemaTypeNullableExpr as O, SchemaTypeRefineExpr as P, StructuredOperationDefinition as Q, SchemaTypeTupleExpr as R, SchemaTypeFieldsOfExpr as S, SchemaTypeMaybeAbsentExpr as T, Operation as U, SchemaTypeVariableExpr as V, OperationBinaryMetadata as W, StructuredOperationChannelDefinition as X, OperationPayloadDefinition as Y, StructuredOperationContainerDefinition as Z, SchemaTypeElementOfExpr as _, SchemaSelfRefNode as _t, StandardSemanticDefinition as a, SchemaConstraint as at, SchemaTypeExtractVariantsExpr as b, SchemaTaggedUnionVariant as bt, STANDARD_CONSTRAINT_PATH_LIST as c, SchemaNode as ct, Expression as d, SchemaNumberNode as dt, JsonValue as et, ExpressionArgument as f, SchemaPrimitiveNode as ft, SchemaTypeElementAtExpr as g, SchemaRefNode as gt, SchemaTypeArrayExpr as h, SchemaRefEntry as ht, StandardConstraintDefinition as i, SchemaBooleanNode as it, SchemaTypePartialFieldsExpr as j, SchemaTypeOmitFieldsExpr as k, STANDARD_SEMANTIC_PATHS as l, SchemaNullNode as lt, SchemaTypeAbsentExpr as m, SchemaRecordNode as mt, STANDARD_SEMANTIC_DEFINITIONS as n, PrimitiveName as nt, StandardSemanticRelation as o, SchemaLiteralNode as ot, SchemaFieldSelector as p, SchemaRecordField as pt, OperationDefinition as q, STANDARD_SEMANTIC_RELATIONS as r, SchemaArrayNode as rt, STANDARD_CONSTRAINT_PATHS as s, SchemaLiteralUnionNode as st, STANDARD_CONSTRAINT_DEFINITIONS as t, LiteralValue as tt, STANDARD_SEMANTIC_PATH_LIST as u, SchemaNullableNode as ut, SchemaTypeExcludeVariantsExpr as v, SchemaStringNode as vt, SchemaTypeKeyOfExpr as w, SchemaTypeFieldOfExpr as x, SchemaTupleNode as xt, SchemaTypeExpr as y, SchemaTaggedUnionNode as yt, SchemaTypeUnknownExpr as z };
|