@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.
Files changed (142) hide show
  1. package/package.json +5 -5
  2. package/src/issues/ValidationIssue.ts +4 -4
  3. package/src/runners/Utils.ts +2 -2
  4. package/src/validators/LionWebChunkDefinitions.ts +80 -90
  5. package/src/validators/LionWebSyntaxValidator.ts +2 -2
  6. package/src/validators/LionWebValidator.ts +1 -1
  7. package/src/validators/ValidationFunctions.ts +5 -5
  8. package/src/validators/generic/SyntaxValidator.ts +133 -87
  9. package/src/validators/generic/index.ts +1 -1
  10. package/src/validators/generic/schema/DefinitionSchema.ts +52 -0
  11. package/src/validators/generic/{ValidationTypes.ts → schema/ValidationTypes.ts} +65 -35
  12. package/src/validators/generic/schema/index.ts +2 -0
  13. package/dist/index.d.ts +0 -5
  14. package/dist/index.d.ts.map +0 -1
  15. package/dist/index.js +0 -5
  16. package/dist/index.js.map +0 -1
  17. package/dist/issues/LanguageIssues.d.ts +0 -99
  18. package/dist/issues/LanguageIssues.d.ts.map +0 -1
  19. package/dist/issues/LanguageIssues.js +0 -146
  20. package/dist/issues/LanguageIssues.js.map +0 -1
  21. package/dist/issues/ReferenceIssues.d.ts +0 -43
  22. package/dist/issues/ReferenceIssues.d.ts.map +0 -1
  23. package/dist/issues/ReferenceIssues.js +0 -53
  24. package/dist/issues/ReferenceIssues.js.map +0 -1
  25. package/dist/issues/SyntaxIssues.d.ts +0 -53
  26. package/dist/issues/SyntaxIssues.d.ts.map +0 -1
  27. package/dist/issues/SyntaxIssues.js +0 -81
  28. package/dist/issues/SyntaxIssues.js.map +0 -1
  29. package/dist/issues/ValidationIssue.d.ts +0 -15
  30. package/dist/issues/ValidationIssue.d.ts.map +0 -1
  31. package/dist/issues/ValidationIssue.js +0 -17
  32. package/dist/issues/ValidationIssue.js.map +0 -1
  33. package/dist/issues/index.d.ts +0 -5
  34. package/dist/issues/index.d.ts.map +0 -1
  35. package/dist/issues/index.js +0 -5
  36. package/dist/issues/index.js.map +0 -1
  37. package/dist/languages/CompositeLionWebLanguageWrapper.d.ts +0 -24
  38. package/dist/languages/CompositeLionWebLanguageWrapper.d.ts.map +0 -1
  39. package/dist/languages/CompositeLionWebLanguageWrapper.js +0 -56
  40. package/dist/languages/CompositeLionWebLanguageWrapper.js.map +0 -1
  41. package/dist/languages/LanguageRegistry.d.ts +0 -19
  42. package/dist/languages/LanguageRegistry.d.ts.map +0 -1
  43. package/dist/languages/LanguageRegistry.js +0 -37
  44. package/dist/languages/LanguageRegistry.js.map +0 -1
  45. package/dist/languages/LanguageUtils.d.ts +0 -35
  46. package/dist/languages/LanguageUtils.d.ts.map +0 -1
  47. package/dist/languages/LanguageUtils.js +0 -54
  48. package/dist/languages/LanguageUtils.js.map +0 -1
  49. package/dist/languages/LionCore-M3.json +0 -2356
  50. package/dist/languages/LionCore-builtins.json +0 -372
  51. package/dist/languages/LionWebLanguageWrapper.d.ts +0 -31
  52. package/dist/languages/LionWebLanguageWrapper.d.ts.map +0 -1
  53. package/dist/languages/LionWebLanguageWrapper.js +0 -69
  54. package/dist/languages/LionWebLanguageWrapper.js.map +0 -1
  55. package/dist/languages/MetaPointerMap.d.ts +0 -11
  56. package/dist/languages/MetaPointerMap.d.ts.map +0 -1
  57. package/dist/languages/MetaPointerMap.js +0 -39
  58. package/dist/languages/MetaPointerMap.js.map +0 -1
  59. package/dist/languages/index.d.ts +0 -3
  60. package/dist/languages/index.d.ts.map +0 -1
  61. package/dist/languages/index.js +0 -3
  62. package/dist/languages/index.js.map +0 -1
  63. package/dist/runners/FileUtils.d.ts +0 -6
  64. package/dist/runners/FileUtils.d.ts.map +0 -1
  65. package/dist/runners/FileUtils.js +0 -53
  66. package/dist/runners/FileUtils.js.map +0 -1
  67. package/dist/runners/RunCheckFolder.d.ts +0 -2
  68. package/dist/runners/RunCheckFolder.d.ts.map +0 -1
  69. package/dist/runners/RunCheckFolder.js +0 -6
  70. package/dist/runners/RunCheckFolder.js.map +0 -1
  71. package/dist/runners/RunCheckFolderWithLanguage.d.ts +0 -2
  72. package/dist/runners/RunCheckFolderWithLanguage.d.ts.map +0 -1
  73. package/dist/runners/RunCheckFolderWithLanguage.js +0 -40
  74. package/dist/runners/RunCheckFolderWithLanguage.js.map +0 -1
  75. package/dist/runners/RunCheckOneFile.d.ts +0 -2
  76. package/dist/runners/RunCheckOneFile.d.ts.map +0 -1
  77. package/dist/runners/RunCheckOneFile.js +0 -6
  78. package/dist/runners/RunCheckOneFile.js.map +0 -1
  79. package/dist/runners/RunCheckOneFileWithLanguage.d.ts +0 -2
  80. package/dist/runners/RunCheckOneFileWithLanguage.d.ts.map +0 -1
  81. package/dist/runners/RunCheckOneFileWithLanguage.js +0 -31
  82. package/dist/runners/RunCheckOneFileWithLanguage.js.map +0 -1
  83. package/dist/runners/RunLioncoreDiff.d.ts +0 -2
  84. package/dist/runners/RunLioncoreDiff.d.ts.map +0 -1
  85. package/dist/runners/RunLioncoreDiff.js +0 -22
  86. package/dist/runners/RunLioncoreDiff.js.map +0 -1
  87. package/dist/runners/Utils.d.ts +0 -7
  88. package/dist/runners/Utils.d.ts.map +0 -1
  89. package/dist/runners/Utils.js +0 -48
  90. package/dist/runners/Utils.js.map +0 -1
  91. package/dist/runners/index.d.ts +0 -3
  92. package/dist/runners/index.d.ts.map +0 -1
  93. package/dist/runners/index.js +0 -3
  94. package/dist/runners/index.js.map +0 -1
  95. package/dist/validators/LionWebChunkDefinitions.d.ts +0 -9
  96. package/dist/validators/LionWebChunkDefinitions.d.ts.map +0 -1
  97. package/dist/validators/LionWebChunkDefinitions.js +0 -110
  98. package/dist/validators/LionWebChunkDefinitions.js.map +0 -1
  99. package/dist/validators/LionWebLanguageReferenceValidator.d.ts +0 -21
  100. package/dist/validators/LionWebLanguageReferenceValidator.d.ts.map +0 -1
  101. package/dist/validators/LionWebLanguageReferenceValidator.js +0 -166
  102. package/dist/validators/LionWebLanguageReferenceValidator.js.map +0 -1
  103. package/dist/validators/LionWebLanguageValidator.d.ts +0 -23
  104. package/dist/validators/LionWebLanguageValidator.d.ts.map +0 -1
  105. package/dist/validators/LionWebLanguageValidator.js +0 -66
  106. package/dist/validators/LionWebLanguageValidator.js.map +0 -1
  107. package/dist/validators/LionWebReferenceValidator.d.ts +0 -43
  108. package/dist/validators/LionWebReferenceValidator.d.ts.map +0 -1
  109. package/dist/validators/LionWebReferenceValidator.js +0 -203
  110. package/dist/validators/LionWebReferenceValidator.js.map +0 -1
  111. package/dist/validators/LionWebSyntaxValidator.d.ts +0 -9
  112. package/dist/validators/LionWebSyntaxValidator.d.ts.map +0 -1
  113. package/dist/validators/LionWebSyntaxValidator.js +0 -11
  114. package/dist/validators/LionWebSyntaxValidator.js.map +0 -1
  115. package/dist/validators/LionWebValidator.d.ts +0 -24
  116. package/dist/validators/LionWebValidator.d.ts.map +0 -1
  117. package/dist/validators/LionWebValidator.js +0 -55
  118. package/dist/validators/LionWebValidator.js.map +0 -1
  119. package/dist/validators/ValidationFunctions.d.ts +0 -60
  120. package/dist/validators/ValidationFunctions.d.ts.map +0 -1
  121. package/dist/validators/ValidationFunctions.js +0 -110
  122. package/dist/validators/ValidationFunctions.js.map +0 -1
  123. package/dist/validators/generic/SyntaxValidator.d.ts +0 -37
  124. package/dist/validators/generic/SyntaxValidator.d.ts.map +0 -1
  125. package/dist/validators/generic/SyntaxValidator.js +0 -157
  126. package/dist/validators/generic/SyntaxValidator.js.map +0 -1
  127. package/dist/validators/generic/ValidationResult.d.ts +0 -8
  128. package/dist/validators/generic/ValidationResult.d.ts.map +0 -1
  129. package/dist/validators/generic/ValidationResult.js +0 -15
  130. package/dist/validators/generic/ValidationResult.js.map +0 -1
  131. package/dist/validators/generic/ValidationTypes.d.ts +0 -68
  132. package/dist/validators/generic/ValidationTypes.d.ts.map +0 -1
  133. package/dist/validators/generic/ValidationTypes.js +0 -46
  134. package/dist/validators/generic/ValidationTypes.js.map +0 -1
  135. package/dist/validators/generic/index.d.ts +0 -4
  136. package/dist/validators/generic/index.d.ts.map +0 -1
  137. package/dist/validators/generic/index.js +0 -4
  138. package/dist/validators/generic/index.js.map +0 -1
  139. package/dist/validators/index.d.ts +0 -9
  140. package/dist/validators/index.d.ts.map +0 -1
  141. package/dist/validators/index.js +0 -9
  142. 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,4 +0,0 @@
1
- export * from "./ValidationTypes.js";
2
- export * from "./ValidationResult.js";
3
- export * from "./SyntaxValidator.js";
4
- //# sourceMappingURL=index.d.ts.map
@@ -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,4 +0,0 @@
1
- export * from "./ValidationTypes.js";
2
- export * from "./ValidationResult.js";
3
- export * from "./SyntaxValidator.js";
4
- //# sourceMappingURL=index.js.map
@@ -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"}
@@ -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"}