@lionweb/validation 0.7.0-beta.1 → 0.7.0-beta.10
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/package.json +5 -5
- package/src/issues/ValidationIssue.ts +4 -4
- package/src/runners/Utils.ts +2 -2
- package/src/validators/LionWebChunkDefinitions.ts +80 -90
- package/src/validators/LionWebSyntaxValidator.ts +2 -2
- package/src/validators/LionWebValidator.ts +1 -1
- package/src/validators/ValidationFunctions.ts +5 -5
- package/src/validators/generic/SyntaxValidator.ts +133 -87
- package/src/validators/generic/index.ts +1 -1
- package/src/validators/generic/schema/DefinitionSchema.ts +52 -0
- package/src/validators/generic/{ValidationTypes.ts → schema/ValidationTypes.ts} +65 -35
- package/src/validators/generic/schema/index.ts +2 -0
- package/dist/index.d.ts +0 -5
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -5
- package/dist/index.js.map +0 -1
- package/dist/issues/LanguageIssues.d.ts +0 -99
- package/dist/issues/LanguageIssues.d.ts.map +0 -1
- package/dist/issues/LanguageIssues.js +0 -146
- package/dist/issues/LanguageIssues.js.map +0 -1
- package/dist/issues/ReferenceIssues.d.ts +0 -43
- package/dist/issues/ReferenceIssues.d.ts.map +0 -1
- package/dist/issues/ReferenceIssues.js +0 -53
- package/dist/issues/ReferenceIssues.js.map +0 -1
- package/dist/issues/SyntaxIssues.d.ts +0 -53
- package/dist/issues/SyntaxIssues.d.ts.map +0 -1
- package/dist/issues/SyntaxIssues.js +0 -81
- package/dist/issues/SyntaxIssues.js.map +0 -1
- package/dist/issues/ValidationIssue.d.ts +0 -15
- package/dist/issues/ValidationIssue.d.ts.map +0 -1
- package/dist/issues/ValidationIssue.js +0 -17
- package/dist/issues/ValidationIssue.js.map +0 -1
- package/dist/issues/index.d.ts +0 -5
- package/dist/issues/index.d.ts.map +0 -1
- package/dist/issues/index.js +0 -5
- package/dist/issues/index.js.map +0 -1
- package/dist/languages/CompositeLionWebLanguageWrapper.d.ts +0 -24
- package/dist/languages/CompositeLionWebLanguageWrapper.d.ts.map +0 -1
- package/dist/languages/CompositeLionWebLanguageWrapper.js +0 -56
- package/dist/languages/CompositeLionWebLanguageWrapper.js.map +0 -1
- package/dist/languages/LanguageRegistry.d.ts +0 -19
- package/dist/languages/LanguageRegistry.d.ts.map +0 -1
- package/dist/languages/LanguageRegistry.js +0 -37
- package/dist/languages/LanguageRegistry.js.map +0 -1
- package/dist/languages/LanguageUtils.d.ts +0 -35
- package/dist/languages/LanguageUtils.d.ts.map +0 -1
- package/dist/languages/LanguageUtils.js +0 -54
- package/dist/languages/LanguageUtils.js.map +0 -1
- package/dist/languages/LionCore-M3.json +0 -2356
- package/dist/languages/LionCore-builtins.json +0 -372
- package/dist/languages/LionWebLanguageWrapper.d.ts +0 -31
- package/dist/languages/LionWebLanguageWrapper.d.ts.map +0 -1
- package/dist/languages/LionWebLanguageWrapper.js +0 -69
- package/dist/languages/LionWebLanguageWrapper.js.map +0 -1
- package/dist/languages/MetaPointerMap.d.ts +0 -11
- package/dist/languages/MetaPointerMap.d.ts.map +0 -1
- package/dist/languages/MetaPointerMap.js +0 -39
- package/dist/languages/MetaPointerMap.js.map +0 -1
- package/dist/languages/index.d.ts +0 -3
- package/dist/languages/index.d.ts.map +0 -1
- package/dist/languages/index.js +0 -3
- package/dist/languages/index.js.map +0 -1
- package/dist/runners/FileUtils.d.ts +0 -6
- package/dist/runners/FileUtils.d.ts.map +0 -1
- package/dist/runners/FileUtils.js +0 -53
- package/dist/runners/FileUtils.js.map +0 -1
- package/dist/runners/RunCheckFolder.d.ts +0 -2
- package/dist/runners/RunCheckFolder.d.ts.map +0 -1
- package/dist/runners/RunCheckFolder.js +0 -6
- package/dist/runners/RunCheckFolder.js.map +0 -1
- package/dist/runners/RunCheckFolderWithLanguage.d.ts +0 -2
- package/dist/runners/RunCheckFolderWithLanguage.d.ts.map +0 -1
- package/dist/runners/RunCheckFolderWithLanguage.js +0 -40
- package/dist/runners/RunCheckFolderWithLanguage.js.map +0 -1
- package/dist/runners/RunCheckOneFile.d.ts +0 -2
- package/dist/runners/RunCheckOneFile.d.ts.map +0 -1
- package/dist/runners/RunCheckOneFile.js +0 -6
- package/dist/runners/RunCheckOneFile.js.map +0 -1
- package/dist/runners/RunCheckOneFileWithLanguage.d.ts +0 -2
- package/dist/runners/RunCheckOneFileWithLanguage.d.ts.map +0 -1
- package/dist/runners/RunCheckOneFileWithLanguage.js +0 -31
- package/dist/runners/RunCheckOneFileWithLanguage.js.map +0 -1
- package/dist/runners/RunLioncoreDiff.d.ts +0 -2
- package/dist/runners/RunLioncoreDiff.d.ts.map +0 -1
- package/dist/runners/RunLioncoreDiff.js +0 -22
- package/dist/runners/RunLioncoreDiff.js.map +0 -1
- package/dist/runners/Utils.d.ts +0 -7
- package/dist/runners/Utils.d.ts.map +0 -1
- package/dist/runners/Utils.js +0 -48
- package/dist/runners/Utils.js.map +0 -1
- package/dist/runners/index.d.ts +0 -3
- package/dist/runners/index.d.ts.map +0 -1
- package/dist/runners/index.js +0 -3
- package/dist/runners/index.js.map +0 -1
- package/dist/validators/LionWebChunkDefinitions.d.ts +0 -9
- package/dist/validators/LionWebChunkDefinitions.d.ts.map +0 -1
- package/dist/validators/LionWebChunkDefinitions.js +0 -110
- package/dist/validators/LionWebChunkDefinitions.js.map +0 -1
- package/dist/validators/LionWebLanguageReferenceValidator.d.ts +0 -21
- package/dist/validators/LionWebLanguageReferenceValidator.d.ts.map +0 -1
- package/dist/validators/LionWebLanguageReferenceValidator.js +0 -166
- package/dist/validators/LionWebLanguageReferenceValidator.js.map +0 -1
- package/dist/validators/LionWebLanguageValidator.d.ts +0 -23
- package/dist/validators/LionWebLanguageValidator.d.ts.map +0 -1
- package/dist/validators/LionWebLanguageValidator.js +0 -66
- package/dist/validators/LionWebLanguageValidator.js.map +0 -1
- package/dist/validators/LionWebReferenceValidator.d.ts +0 -43
- package/dist/validators/LionWebReferenceValidator.d.ts.map +0 -1
- package/dist/validators/LionWebReferenceValidator.js +0 -203
- package/dist/validators/LionWebReferenceValidator.js.map +0 -1
- package/dist/validators/LionWebSyntaxValidator.d.ts +0 -9
- package/dist/validators/LionWebSyntaxValidator.d.ts.map +0 -1
- package/dist/validators/LionWebSyntaxValidator.js +0 -11
- package/dist/validators/LionWebSyntaxValidator.js.map +0 -1
- package/dist/validators/LionWebValidator.d.ts +0 -24
- package/dist/validators/LionWebValidator.d.ts.map +0 -1
- package/dist/validators/LionWebValidator.js +0 -55
- package/dist/validators/LionWebValidator.js.map +0 -1
- package/dist/validators/ValidationFunctions.d.ts +0 -60
- package/dist/validators/ValidationFunctions.d.ts.map +0 -1
- package/dist/validators/ValidationFunctions.js +0 -110
- package/dist/validators/ValidationFunctions.js.map +0 -1
- package/dist/validators/generic/SyntaxValidator.d.ts +0 -37
- package/dist/validators/generic/SyntaxValidator.d.ts.map +0 -1
- package/dist/validators/generic/SyntaxValidator.js +0 -157
- package/dist/validators/generic/SyntaxValidator.js.map +0 -1
- package/dist/validators/generic/ValidationResult.d.ts +0 -8
- package/dist/validators/generic/ValidationResult.d.ts.map +0 -1
- package/dist/validators/generic/ValidationResult.js +0 -15
- package/dist/validators/generic/ValidationResult.js.map +0 -1
- package/dist/validators/generic/ValidationTypes.d.ts +0 -68
- package/dist/validators/generic/ValidationTypes.d.ts.map +0 -1
- package/dist/validators/generic/ValidationTypes.js +0 -46
- package/dist/validators/generic/ValidationTypes.js.map +0 -1
- package/dist/validators/generic/index.d.ts +0 -4
- package/dist/validators/generic/index.d.ts.map +0 -1
- package/dist/validators/generic/index.js +0 -4
- package/dist/validators/generic/index.js.map +0 -1
- package/dist/validators/index.d.ts +0 -9
- package/dist/validators/index.d.ts.map +0 -1
- package/dist/validators/index.js +0 -9
- package/dist/validators/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationFunctions.js","sourceRoot":"","sources":["../../src/validators/ValidationFunctions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { JsonContext } from "@lionweb/json-utils";
|
|
2
|
-
import { ValidationResult } from "./ValidationResult.js";
|
|
3
|
-
import { ObjectDefinition, PrimitiveDefinition, TypeDefinition, UnknownObjectType } from "./ValidationTypes.js";
|
|
4
|
-
/**
|
|
5
|
-
* Syntax Validator can check whether objects are structurally conforming to the
|
|
6
|
-
* definitions given in `typeDefinitions`.
|
|
7
|
-
*/
|
|
8
|
-
export declare class SyntaxValidator {
|
|
9
|
-
validationResult: ValidationResult;
|
|
10
|
-
typeDefinitions: Map<string, TypeDefinition>;
|
|
11
|
-
constructor(validationResult: ValidationResult, expectedTypes: Map<string, TypeDefinition>);
|
|
12
|
-
/**
|
|
13
|
-
* Check whether `obj` is a JSON object that conforms to the definition of `expectedType`.
|
|
14
|
-
* All errors found will be pushed into the `errors` array, if its length is not 0, the check has failed.
|
|
15
|
-
* @param obj The object to validate.
|
|
16
|
-
* @param expectedType The expected type of the object.
|
|
17
|
-
*/
|
|
18
|
-
validate(obj: unknown, expectedType: string): void;
|
|
19
|
-
/**
|
|
20
|
-
* Validate whether `object` is structured conform the properties in `propertyDef`
|
|
21
|
-
* @param originalProperty The property of which `object` it the value
|
|
22
|
-
* @param typeDef The property definitions that are being validated
|
|
23
|
-
* @param object The object being validated
|
|
24
|
-
* @param jsonContext The location in the JSON
|
|
25
|
-
* @private
|
|
26
|
-
*/
|
|
27
|
-
validateObjectProperties(originalProperty: string, typeDef: ObjectDefinition, object: UnknownObjectType, jsonContext: JsonContext): void;
|
|
28
|
-
validatePrimitiveValue(propertyName: string, propDef: PrimitiveDefinition, object: unknown, jsonContext: JsonContext): boolean;
|
|
29
|
-
/**
|
|
30
|
-
* Check whether there are extra properties that should not be there.
|
|
31
|
-
* @param obj Object to be validated
|
|
32
|
-
* @param properties The names of the expected properties
|
|
33
|
-
* @param context Location in JSON
|
|
34
|
-
*/
|
|
35
|
-
checkStrayProperties(obj: UnknownObjectType, def: ObjectDefinition, context: JsonContext): void;
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=SyntaxValidator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SyntaxValidator.d.ts","sourceRoot":"","sources":["../../../src/validators/generic/SyntaxValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAQjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAGH,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACpB,MAAM,sBAAsB,CAAA;AAE7B;;;GAGG;AACH,qBAAa,eAAe;IACxB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;gBAEhC,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAK1F;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM;IAY3C;;;;;;;OAOG;IACH,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW;IAmFjI,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO;IAc9H;;;;;OAKG;IACH,oBAAoB,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW;CAS3F"}
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
import { JsonContext } from "@lionweb/json-utils";
|
|
2
|
-
import { Syntax_ArrayContainsNull_Issue, Syntax_PropertyMissingIssue, Syntax_PropertyNullIssue, Syntax_PropertyTypeIssue, Syntax_PropertyUnknownIssue } from "../../issues/index.js";
|
|
3
|
-
import { isObjectDefinition, isPrimitiveDefinition } from "./ValidationTypes.js";
|
|
4
|
-
/**
|
|
5
|
-
* Syntax Validator can check whether objects are structurally conforming to the
|
|
6
|
-
* definitions given in `typeDefinitions`.
|
|
7
|
-
*/
|
|
8
|
-
export class SyntaxValidator {
|
|
9
|
-
constructor(validationResult, expectedTypes) {
|
|
10
|
-
this.validationResult = validationResult;
|
|
11
|
-
this.typeDefinitions = expectedTypes;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Check whether `obj` is a JSON object that conforms to the definition of `expectedType`.
|
|
15
|
-
* All errors found will be pushed into the `errors` array, if its length is not 0, the check has failed.
|
|
16
|
-
* @param obj The object to validate.
|
|
17
|
-
* @param expectedType The expected type of the object.
|
|
18
|
-
*/
|
|
19
|
-
validate(obj, expectedType) {
|
|
20
|
-
const object = obj;
|
|
21
|
-
const typeDef = this.typeDefinitions.get(expectedType);
|
|
22
|
-
if (typeDef === undefined) {
|
|
23
|
-
throw new Error(`SyntaxValidator.validate: cannot find definition for ${expectedType}`);
|
|
24
|
-
}
|
|
25
|
-
else if (isObjectDefinition(typeDef)) {
|
|
26
|
-
this.validateObjectProperties(expectedType, typeDef, object, new JsonContext(null, ["$"]));
|
|
27
|
-
}
|
|
28
|
-
else if (isPrimitiveDefinition(typeDef)) {
|
|
29
|
-
this.validatePrimitiveValue("$", typeDef, object, new JsonContext(null, ["$"]));
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Validate whether `object` is structured conform the properties in `propertyDef`
|
|
34
|
-
* @param originalProperty The property of which `object` it the value
|
|
35
|
-
* @param typeDef The property definitions that are being validated
|
|
36
|
-
* @param object The object being validated
|
|
37
|
-
* @param jsonContext The location in the JSON
|
|
38
|
-
* @private
|
|
39
|
-
*/
|
|
40
|
-
validateObjectProperties(originalProperty, typeDef, object, jsonContext) {
|
|
41
|
-
if (typeDef === null || typeDef === undefined) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
if ((typeof object) !== "object") {
|
|
45
|
-
this.validationResult.issue(new Syntax_PropertyTypeIssue(jsonContext, originalProperty, "object", typeof object));
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
for (const propertyDef of typeDef) {
|
|
49
|
-
const expectedTypeDef = this.typeDefinitions.get(propertyDef.expectedType);
|
|
50
|
-
const validator = propertyDef.validate;
|
|
51
|
-
const propertyValue = object[propertyDef.property];
|
|
52
|
-
if (propertyValue === undefined) {
|
|
53
|
-
if (!propertyDef.isOptional) {
|
|
54
|
-
this.validationResult.issue(new Syntax_PropertyMissingIssue(jsonContext, propertyDef.property));
|
|
55
|
-
}
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
if (!propertyDef.mayBeNull && propertyValue === null) {
|
|
59
|
-
this.validationResult.issue(new Syntax_PropertyNullIssue(jsonContext, propertyDef.property));
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
if (propertyDef.mayBeNull && propertyValue === null) {
|
|
63
|
-
// Ok, stop checking, continue with next property def
|
|
64
|
-
continue;
|
|
65
|
-
}
|
|
66
|
-
if (propertyDef.isList) {
|
|
67
|
-
// Check whether value is an array
|
|
68
|
-
if (!Array.isArray(propertyValue)) {
|
|
69
|
-
const newContext = jsonContext.concat(propertyDef.property);
|
|
70
|
-
this.validationResult.issue(new Syntax_PropertyTypeIssue(newContext, propertyDef.property, "array", typeof propertyValue));
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
// If an array, validate every item in the array
|
|
74
|
-
propertyValue.forEach((item, index) => {
|
|
75
|
-
const newContext = jsonContext.concat(propertyDef.property, index);
|
|
76
|
-
if (item === null) {
|
|
77
|
-
this.validationResult.issue(new Syntax_ArrayContainsNull_Issue(newContext, propertyDef.property, index));
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
if (expectedTypeDef !== undefined) {
|
|
81
|
-
if (isPrimitiveDefinition(expectedTypeDef)) {
|
|
82
|
-
// propertyValue should be a primitive as it has no property definitions
|
|
83
|
-
if (this.validatePrimitiveValue(propertyDef.property, expectedTypeDef, item, jsonContext)) {
|
|
84
|
-
validator.apply(null, [item, this.validationResult, newContext, propertyDef]);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
// propertyValue should be an object, validate its properties
|
|
89
|
-
this.validateObjectProperties(propertyDef.property, expectedTypeDef, item, newContext);
|
|
90
|
-
validator.apply(null, [item, this.validationResult, newContext, propertyDef]);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
throw new Error(`Expected type '${propertyDef.expectedType} has neither property defs, nor a validator.`);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
const newContext = jsonContext.concat(propertyDef.property);
|
|
101
|
-
if (Array.isArray(propertyValue)) {
|
|
102
|
-
this.validationResult.issue(new Syntax_PropertyTypeIssue(newContext, propertyDef.property, propertyDef.expectedType, "array"));
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
// Single valued property, validate it
|
|
106
|
-
if (expectedTypeDef !== undefined) {
|
|
107
|
-
if (isPrimitiveDefinition(expectedTypeDef)) {
|
|
108
|
-
// propertyValue should be a primitive as it has no property definitions
|
|
109
|
-
if (this.validatePrimitiveValue(propertyDef.property, expectedTypeDef, propertyValue, jsonContext)) {
|
|
110
|
-
validator.apply(null, [propertyValue, this.validationResult, newContext, propertyDef]);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
else if (isObjectDefinition(expectedTypeDef)) {
|
|
114
|
-
// propertyValue should be an object, validate its properties
|
|
115
|
-
this.validateObjectProperties(propertyDef.property, expectedTypeDef, propertyValue, newContext);
|
|
116
|
-
validator.apply(null, [propertyValue, this.validationResult, newContext, propertyDef]);
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
throw new Error("EXPECTING ObjectDefinition or PrimitiveDefinition, but got something else");
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
throw new Error(`Expected single type '${propertyDef.expectedType}' for '${propertyDef.property}' at ${newContext.toString()} has neither property defs, nor a validator.`);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
this.checkStrayProperties(object, typeDef, jsonContext);
|
|
128
|
-
}
|
|
129
|
-
validatePrimitiveValue(propertyName, propDef, object, jsonContext) {
|
|
130
|
-
// if (!propDef.mayBeNull && (object === null || object === undefined)) {
|
|
131
|
-
// this.validationResult.issue(new Syntax_PropertyNullIssue(jsonContext, propDef.property))
|
|
132
|
-
// return false
|
|
133
|
-
// }
|
|
134
|
-
if (typeof object !== propDef.primitiveType) {
|
|
135
|
-
this.validationResult.issue(new Syntax_PropertyTypeIssue(jsonContext, propertyName, propDef.primitiveType, typeof object));
|
|
136
|
-
return false;
|
|
137
|
-
}
|
|
138
|
-
propDef.validate(object, this.validationResult, jsonContext);
|
|
139
|
-
return true;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Check whether there are extra properties that should not be there.
|
|
143
|
-
* @param obj Object to be validated
|
|
144
|
-
* @param properties The names of the expected properties
|
|
145
|
-
* @param context Location in JSON
|
|
146
|
-
*/
|
|
147
|
-
checkStrayProperties(obj, def, context) {
|
|
148
|
-
const own = Object.getOwnPropertyNames(obj);
|
|
149
|
-
const defined = def.map(pdef => pdef.property);
|
|
150
|
-
own.forEach((ownProp) => {
|
|
151
|
-
if (!defined.includes(ownProp)) {
|
|
152
|
-
this.validationResult.issue(new Syntax_PropertyUnknownIssue(context, ownProp));
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
//# sourceMappingURL=SyntaxValidator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SyntaxValidator.js","sourceRoot":"","sources":["../../../src/validators/generic/SyntaxValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ValidationIssue } from "../../issues/ValidationIssue.js";
|
|
2
|
-
export declare class ValidationResult {
|
|
3
|
-
issues: ValidationIssue[];
|
|
4
|
-
issue(issue: ValidationIssue): void;
|
|
5
|
-
reset(): void;
|
|
6
|
-
hasErrors(): boolean;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=ValidationResult.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationResult.d.ts","sourceRoot":"","sources":["../../../src/validators/generic/ValidationResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEjE,qBAAa,gBAAgB;IACzB,MAAM,EAAE,eAAe,EAAE,CAAK;IAE9B,KAAK,CAAC,KAAK,EAAE,eAAe;IAI5B,KAAK;IAIL,SAAS,IAAI,OAAO;CAGvB"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export class ValidationResult {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.issues = [];
|
|
4
|
-
}
|
|
5
|
-
issue(issue) {
|
|
6
|
-
this.issues.push(issue);
|
|
7
|
-
}
|
|
8
|
-
reset() {
|
|
9
|
-
this.issues = [];
|
|
10
|
-
}
|
|
11
|
-
hasErrors() {
|
|
12
|
-
return this.issues.length !== 0;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=ValidationResult.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationResult.js","sourceRoot":"","sources":["../../../src/validators/generic/ValidationResult.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,gBAAgB;IAA7B;QACI,WAAM,GAAsB,EAAE,CAAA;IAalC,CAAC;IAXG,KAAK,CAAC,KAAsB;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED,KAAK;QACD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;IACpB,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAA;IACnC,CAAC;CACJ"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { JsonContext } from "@lionweb/json-utils";
|
|
2
|
-
import { ValidationResult } from "./ValidationResult.js";
|
|
3
|
-
export type UnknownObjectType = {
|
|
4
|
-
[key: string]: unknown;
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* Definition of a property, used by the SyntaxValidator to validate objects.
|
|
8
|
-
*
|
|
9
|
-
* **Note** that some of the properties are defined as optional.
|
|
10
|
-
* They should not be empty ever!! But being optional allows to leave them out in the `PropertyDef` function.
|
|
11
|
-
* The `PropertyDef` function sets default values for all optional fields.
|
|
12
|
-
* You should **always** use the `PropertyDef` function to create a `PropertyDefinition`.
|
|
13
|
-
*/
|
|
14
|
-
export type PropertyDefinition = {
|
|
15
|
-
/**
|
|
16
|
-
* The property name
|
|
17
|
-
*/
|
|
18
|
-
property: string;
|
|
19
|
-
/**
|
|
20
|
-
* The expected type of the property value
|
|
21
|
-
*/
|
|
22
|
-
expectedType: string;
|
|
23
|
-
/**
|
|
24
|
-
* Whether the property value is allowed to be null
|
|
25
|
-
*/
|
|
26
|
-
mayBeNull?: boolean;
|
|
27
|
-
/**
|
|
28
|
-
* IS this a list property?
|
|
29
|
-
*/
|
|
30
|
-
isList?: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Is this property optional?
|
|
33
|
-
*/
|
|
34
|
-
isOptional?: boolean;
|
|
35
|
-
/**
|
|
36
|
-
* Additional validation function
|
|
37
|
-
*/
|
|
38
|
-
validate?: ValidatorFunction;
|
|
39
|
-
};
|
|
40
|
-
export type ValidatorFunction = <T>(obj: T, result: ValidationResult, ctx: JsonContext, pdef?: PropertyDefinition) => void;
|
|
41
|
-
export declare const MAY_BE_NULL = true;
|
|
42
|
-
/**
|
|
43
|
-
* Easy way to create a PropertyDefinition typed object with default values.
|
|
44
|
-
* @param propDef
|
|
45
|
-
* @constructor
|
|
46
|
-
*/
|
|
47
|
-
export declare function PropertyDef(propDef: PropertyDefinition): PropertyDefinition;
|
|
48
|
-
export type PrimitiveDefinition = {
|
|
49
|
-
/**
|
|
50
|
-
* The expected type of the property value
|
|
51
|
-
*/
|
|
52
|
-
primitiveType: string;
|
|
53
|
-
/**
|
|
54
|
-
* Additional validation function
|
|
55
|
-
*/
|
|
56
|
-
validate?: ValidatorFunction;
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* Easy way to create a PropertyDefinition typed object with default values.
|
|
60
|
-
* @param propDef
|
|
61
|
-
* @constructor
|
|
62
|
-
*/
|
|
63
|
-
export declare function PrimitiveDef(propDef: PrimitiveDefinition): PrimitiveDefinition;
|
|
64
|
-
export type ObjectDefinition = PropertyDefinition[];
|
|
65
|
-
export type TypeDefinition = ObjectDefinition | PrimitiveDefinition;
|
|
66
|
-
export declare function isObjectDefinition(def: TypeDefinition): def is ObjectDefinition;
|
|
67
|
-
export declare function isPrimitiveDefinition(def: TypeDefinition): def is PrimitiveDefinition;
|
|
68
|
-
//# sourceMappingURL=ValidationTypes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationTypes.d.ts","sourceRoot":"","sources":["../../../src/validators/generic/ValidationTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,MAAM,MAAM,iBAAiB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAE1D;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAAA;AAa1H,eAAO,MAAM,WAAW,OAAO,CAAA;AAE/B;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAU3E;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC/B,CAAA;AACD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,mBAAmB,CAM9E;AACD,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,EAAE,CAAA;AACnD,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,mBAAmB,CAAA;AAEnE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,GAAG,GAAG,IAAI,gBAAgB,CAE/E;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,cAAc,GAAG,GAAG,IAAI,mBAAmB,CAErF"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Default for the `validation` property, does nothing.
|
|
3
|
-
* @param object
|
|
4
|
-
* @param result
|
|
5
|
-
* @param ctx
|
|
6
|
-
* @param pdef
|
|
7
|
-
*/
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
9
|
-
function emptyValidation(object, result, ctx, pdef) { }
|
|
10
|
-
// Make boolean argument more readable.
|
|
11
|
-
export const MAY_BE_NULL = true;
|
|
12
|
-
/**
|
|
13
|
-
* Easy way to create a PropertyDefinition typed object with default values.
|
|
14
|
-
* @param propDef
|
|
15
|
-
* @constructor
|
|
16
|
-
*/
|
|
17
|
-
export function PropertyDef(propDef) {
|
|
18
|
-
const { property, expectedType, mayBeNull = false, isList = false, isOptional = false, validate = emptyValidation } = propDef;
|
|
19
|
-
return {
|
|
20
|
-
property: property,
|
|
21
|
-
expectedType: expectedType,
|
|
22
|
-
isList: isList,
|
|
23
|
-
mayBeNull: mayBeNull,
|
|
24
|
-
isOptional: isOptional,
|
|
25
|
-
validate: validate
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Easy way to create a PropertyDefinition typed object with default values.
|
|
30
|
-
* @param propDef
|
|
31
|
-
* @constructor
|
|
32
|
-
*/
|
|
33
|
-
export function PrimitiveDef(propDef) {
|
|
34
|
-
const { primitiveType, validate = emptyValidation } = propDef;
|
|
35
|
-
return {
|
|
36
|
-
primitiveType: primitiveType,
|
|
37
|
-
validate: validate
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
export function isObjectDefinition(def) {
|
|
41
|
-
return Array.isArray(def);
|
|
42
|
-
}
|
|
43
|
-
export function isPrimitiveDefinition(def) {
|
|
44
|
-
return def?.primitiveType !== undefined;
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=ValidationTypes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationTypes.js","sourceRoot":"","sources":["../../../src/validators/generic/ValidationTypes.ts"],"names":[],"mappings":"AA0CA;;;;;;GAMG;AACH,6DAA6D;AAC7D,SAAS,eAAe,CAAI,MAAS,EAAE,MAAwB,EAAE,GAAgB,EAAE,IAAyB,IAAS,CAAC;AAEtH,uCAAuC;AACvC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAA;AAE/B;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACnD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,GAAG,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,QAAQ,GAAG,eAAe,EAAE,GAAG,OAAO,CAAA;IAC7H,OAAO;QACH,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,YAAY;QAC1B,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,QAAQ;KACrB,CAAA;AACL,CAAC;AAYD;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,OAA4B;IACrD,MAAM,EAAE,aAAa,EAAE,QAAQ,GAAG,eAAe,EAAE,GAAG,OAAO,CAAA;IAC7D,OAAO;QACH,aAAa,EAAE,aAAa;QAC5B,QAAQ,EAAE,QAAQ;KACrB,CAAA;AACL,CAAC;AAID,MAAM,UAAU,kBAAkB,CAAC,GAAmB;IAClD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAmB;IACrD,OAAQ,GAA2B,EAAE,aAAa,KAAK,SAAS,CAAA;AACpE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/validators/generic/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validators/generic/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from "./generic/index.js";
|
|
2
|
-
export * from "./LionWebSyntaxValidator.js";
|
|
3
|
-
export * from "./LionWebReferenceValidator.js";
|
|
4
|
-
export * from "./LionWebLanguageValidator.js";
|
|
5
|
-
export * from "./LionWebLanguageReferenceValidator.js";
|
|
6
|
-
export * from "./LionWebValidator.js";
|
|
7
|
-
export * from "./ValidationFunctions.js";
|
|
8
|
-
export * from "./LionWebChunkDefinitions.js";
|
|
9
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wCAAwC,CAAA;AACtD,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA"}
|
package/dist/validators/index.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from "./generic/index.js";
|
|
2
|
-
export * from "./LionWebSyntaxValidator.js";
|
|
3
|
-
export * from "./LionWebReferenceValidator.js";
|
|
4
|
-
export * from "./LionWebLanguageValidator.js";
|
|
5
|
-
export * from "./LionWebLanguageReferenceValidator.js";
|
|
6
|
-
export * from "./LionWebValidator.js";
|
|
7
|
-
export * from "./ValidationFunctions.js";
|
|
8
|
-
export * from "./LionWebChunkDefinitions.js";
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wCAAwC,CAAA;AACtD,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA"}
|