@lionweb/validation 0.6.3 → 0.6.13-beta.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/CHANGELOG.md +17 -0
- package/dist/runners/FileUtils.d.ts +1 -1
- package/dist/runners/FileUtils.d.ts.map +1 -1
- package/dist/runners/FileUtils.js +1 -1
- package/dist/runners/FileUtils.js.map +1 -1
- package/dist/runners/Utils.d.ts +1 -1
- package/dist/runners/Utils.d.ts.map +1 -1
- package/dist/validators/LionWebChunkDefinitions.d.ts +9 -0
- package/dist/validators/LionWebChunkDefinitions.d.ts.map +1 -0
- package/dist/validators/LionWebChunkDefinitions.js +106 -0
- package/dist/validators/LionWebChunkDefinitions.js.map +1 -0
- package/dist/validators/LionWebLanguageReferenceValidator.d.ts +1 -3
- package/dist/validators/LionWebLanguageReferenceValidator.d.ts.map +1 -1
- package/dist/validators/LionWebLanguageReferenceValidator.js +4 -5
- package/dist/validators/LionWebLanguageReferenceValidator.js.map +1 -1
- package/dist/validators/LionWebLanguageValidator.d.ts +2 -2
- package/dist/validators/LionWebLanguageValidator.d.ts.map +1 -1
- package/dist/validators/LionWebLanguageValidator.js +1 -1
- package/dist/validators/LionWebReferenceValidator.d.ts +3 -4
- package/dist/validators/LionWebReferenceValidator.d.ts.map +1 -1
- package/dist/validators/LionWebReferenceValidator.js +2 -3
- package/dist/validators/LionWebReferenceValidator.js.map +1 -1
- package/dist/validators/LionWebSyntaxValidator.d.ts +4 -83
- package/dist/validators/LionWebSyntaxValidator.d.ts.map +1 -1
- package/dist/validators/LionWebSyntaxValidator.js +5 -248
- package/dist/validators/LionWebSyntaxValidator.js.map +1 -1
- package/dist/validators/LionWebValidator.d.ts +1 -1
- package/dist/validators/LionWebValidator.d.ts.map +1 -1
- package/dist/validators/LionWebValidator.js +2 -3
- package/dist/validators/LionWebValidator.js.map +1 -1
- package/dist/validators/ValidationFunctions.d.ts +56 -0
- package/dist/validators/ValidationFunctions.d.ts.map +1 -0
- package/dist/validators/ValidationFunctions.js +114 -0
- package/dist/validators/ValidationFunctions.js.map +1 -0
- package/dist/validators/generic/SyntaxValidator.d.ts +37 -0
- package/dist/validators/generic/SyntaxValidator.d.ts.map +1 -0
- package/dist/validators/generic/SyntaxValidator.js +159 -0
- package/dist/validators/generic/SyntaxValidator.js.map +1 -0
- package/dist/validators/{ValidationResult.d.ts → generic/ValidationResult.d.ts} +1 -1
- package/dist/validators/generic/ValidationResult.d.ts.map +1 -0
- package/dist/validators/generic/ValidationResult.js.map +1 -0
- package/dist/validators/generic/ValidationTypes.d.ts +64 -0
- package/dist/validators/generic/ValidationTypes.d.ts.map +1 -0
- package/dist/validators/generic/ValidationTypes.js +45 -0
- package/dist/validators/generic/ValidationTypes.js.map +1 -0
- package/dist/validators/generic/index.d.ts +4 -0
- package/dist/validators/generic/index.d.ts.map +1 -0
- package/dist/validators/generic/index.js +4 -0
- package/dist/validators/generic/index.js.map +1 -0
- package/dist/validators/index.d.ts +3 -2
- package/dist/validators/index.d.ts.map +1 -1
- package/dist/validators/index.js +3 -2
- package/dist/validators/index.js.map +1 -1
- package/package.json +3 -3
- package/src/json/ChunkUtils.d.ts +26 -0
- package/src/json/ChunkUtils.d.ts.map +1 -0
- package/src/json/ChunkUtils.js +46 -0
- package/src/json/ChunkUtils.js.map +1 -0
- package/src/json/JsonContext.d.ts +11 -0
- package/src/json/JsonContext.d.ts.map +1 -0
- package/src/json/JsonContext.js +25 -0
- package/src/json/JsonContext.js.map +1 -0
- package/src/json/LionCore_M3.json +2320 -0
- package/src/json/LionCore_builtins.json +231 -0
- package/src/json/LionWebJson.d.ts +50 -0
- package/src/json/LionWebJson.d.ts.map +1 -0
- package/src/json/LionWebJson.js +27 -0
- package/src/json/LionWebJson.js.map +1 -0
- package/src/json/LionWebJsonChunkWrapper.d.ts +39 -0
- package/src/json/LionWebJsonChunkWrapper.d.ts.map +1 -0
- package/src/json/LionWebJsonChunkWrapper.js +119 -0
- package/src/json/LionWebJsonChunkWrapper.js.map +1 -0
- package/src/json/M3definitions.d.ts +176 -0
- package/src/json/M3definitions.d.ts.map +1 -0
- package/src/json/M3definitions.js +174 -0
- package/src/json/M3definitions.js.map +1 -0
- package/src/json/NodeUtils.d.ts +23 -0
- package/src/json/NodeUtils.d.ts.map +1 -0
- package/src/json/NodeUtils.js +57 -0
- package/src/json/NodeUtils.js.map +1 -0
- package/src/json/index.d.ts +7 -0
- package/src/json/index.d.ts.map +1 -0
- package/src/json/index.js +7 -0
- package/src/json/index.js.map +1 -0
- package/src/languages/CompositeLionWebLanguageWrapper.d.ts +24 -0
- package/src/languages/CompositeLionWebLanguageWrapper.d.ts.map +1 -0
- package/src/languages/CompositeLionWebLanguageWrapper.js +56 -0
- package/src/languages/CompositeLionWebLanguageWrapper.js.map +1 -0
- package/src/languages/LanguageRegistry.d.ts +19 -0
- package/src/languages/LanguageRegistry.d.ts.map +1 -0
- package/src/languages/LanguageRegistry.js +37 -0
- package/src/languages/LanguageRegistry.js.map +1 -0
- package/src/languages/LanguageUtils.d.ts +35 -0
- package/src/languages/LanguageUtils.d.ts.map +1 -0
- package/src/languages/LanguageUtils.js +54 -0
- package/src/languages/LanguageUtils.js.map +1 -0
- package/src/languages/LionWebLanguageWrapper.d.ts +31 -0
- package/src/languages/LionWebLanguageWrapper.d.ts.map +1 -0
- package/src/languages/LionWebLanguageWrapper.js +69 -0
- package/src/languages/LionWebLanguageWrapper.js.map +1 -0
- package/src/languages/MetaPointerMap.d.ts +11 -0
- package/src/languages/MetaPointerMap.d.ts.map +1 -0
- package/src/languages/MetaPointerMap.js +39 -0
- package/src/languages/MetaPointerMap.js.map +1 -0
- package/src/languages/index.d.ts +3 -0
- package/src/languages/index.d.ts.map +1 -0
- package/src/languages/index.js +3 -0
- package/src/languages/index.js.map +1 -0
- package/src/runners/FileUtils.d.ts +6 -0
- package/src/runners/FileUtils.d.ts.map +1 -0
- package/src/runners/FileUtils.js +53 -0
- package/src/runners/FileUtils.js.map +1 -0
- package/src/runners/FileUtils.ts +1 -1
- package/src/runners/RunCheckFolder.d.ts +2 -0
- package/src/runners/RunCheckFolder.d.ts.map +1 -0
- package/src/runners/RunCheckFolder.js +6 -0
- package/src/runners/RunCheckFolder.js.map +1 -0
- package/src/runners/RunCheckFolderWithLanguage.d.ts +2 -0
- package/src/runners/RunCheckFolderWithLanguage.d.ts.map +1 -0
- package/src/runners/RunCheckFolderWithLanguage.js +40 -0
- package/src/runners/RunCheckFolderWithLanguage.js.map +1 -0
- package/src/runners/RunLioncoreDiff.d.ts +2 -0
- package/src/runners/RunLioncoreDiff.d.ts.map +1 -0
- package/src/runners/RunLioncoreDiff.js +22 -0
- package/src/runners/RunLioncoreDiff.js.map +1 -0
- package/src/runners/Utils.d.ts +7 -0
- package/src/runners/Utils.d.ts.map +1 -0
- package/src/runners/Utils.js +48 -0
- package/src/runners/Utils.js.map +1 -0
- package/src/runners/Utils.ts +1 -1
- package/src/runners/index.d.ts +3 -0
- package/src/runners/index.d.ts.map +1 -0
- package/src/runners/index.js +3 -0
- package/src/runners/index.js.map +1 -0
- package/src/tryout.js +21 -0
- package/src/util/graphs.d.ts +18 -0
- package/src/util/graphs.d.ts.map +1 -0
- package/src/util/graphs.js +27 -0
- package/src/util/graphs.js.map +1 -0
- package/src/validators/LionWebChunkDefinitions.ts +120 -0
- package/src/validators/LionWebLanguageReferenceValidator.ts +5 -7
- package/src/validators/LionWebLanguageValidator.ts +2 -2
- package/src/validators/LionWebReferenceValidator.ts +3 -5
- package/src/validators/LionWebSyntaxValidator.ts +6 -300
- package/src/validators/LionWebValidator.ts +2 -3
- package/src/validators/ValidationFunctions.ts +135 -0
- package/src/validators/generic/SyntaxValidator.ts +173 -0
- package/src/validators/{ValidationResult.ts → generic/ValidationResult.ts} +1 -1
- package/src/validators/generic/ValidationTypes.ts +100 -0
- package/src/validators/generic/index.ts +3 -0
- package/src/validators/index.ts +3 -2
- package/structure.puml +25 -0
- package/dist/validators/SimpleFieldValidator.d.ts +0 -27
- package/dist/validators/SimpleFieldValidator.d.ts.map +0 -1
- package/dist/validators/SimpleFieldValidator.js +0 -80
- package/dist/validators/SimpleFieldValidator.js.map +0 -1
- package/dist/validators/ValidationResult.d.ts.map +0 -1
- package/dist/validators/ValidationResult.js.map +0 -1
- package/src/validators/SimpleFieldValidator.ts +0 -98
- /package/dist/validators/{ValidationResult.js → generic/ValidationResult.js} +0 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.6.3
|
|
4
|
+
|
|
5
|
+
* Made validation aware that the `value` field of a property serialization is allowed to be `null`.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## 0.6.2
|
|
9
|
+
|
|
10
|
+
* Don't rely on the JavaScript features – import assertions – that are still marked as experimental.
|
|
11
|
+
(This necessitates explicitly copying the relevant JSON files.)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## Prior versions
|
|
15
|
+
|
|
16
|
+
No changelog has been kept for previous versions, regardless of whether these were published or not.
|
|
17
|
+
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LanguageRegistry } from "../languages/index.js";
|
|
2
|
-
import { ValidationResult } from "../validators/ValidationResult.js";
|
|
2
|
+
import { ValidationResult } from "../validators/generic/ValidationResult.js";
|
|
3
3
|
export declare function validateFile(file: string, registry: LanguageRegistry): void;
|
|
4
4
|
export declare function validateFileResult(file: string, validateAgainstLanguage: boolean, registry: LanguageRegistry): ValidationResult;
|
|
5
5
|
export declare function validateFolder(folder: string, registry: LanguageRegistry): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUtils.d.ts","sourceRoot":"","sources":["../../src/runners/FileUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"FileUtils.d.ts","sourceRoot":"","sources":["../../src/runners/FileUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAG5E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAG3E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,CAc/H;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CA+B/E"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import { LionWebValidator } from "../validators/LionWebValidator.js";
|
|
3
|
-
import { ValidationResult } from "../validators/ValidationResult.js";
|
|
3
|
+
import { ValidationResult } from "../validators/generic/ValidationResult.js";
|
|
4
4
|
import { getFilesRecursive, printIssues } from "./Utils.js";
|
|
5
5
|
export function validateFile(file, registry) {
|
|
6
6
|
const result = validateFileResult(file, false, registry);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUtils.js","sourceRoot":"","sources":["../../src/runners/FileUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"FileUtils.js","sourceRoot":"","sources":["../../src/runners/FileUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE3D,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,QAA0B;IACjE,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IACxD,WAAW,CAAC,MAAM,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,uBAAgC,EAAE,QAA0B;IACzG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACrC,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAEvD,SAAS,CAAC,cAAc,EAAE,CAAA;QAC1B,SAAS,CAAC,kBAAkB,EAAE,CAAA;QAC9B,IAAI,uBAAuB,EAAE,CAAC;YAC1B,SAAS,CAAC,mBAAmB,EAAE,CAAA;QACnC,CAAC;QACD,OAAO,SAAS,CAAC,gBAAgB,CAAA;IACrC,CAAC;IACD,OAAO,IAAI,gBAAgB,EAAE,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,QAA0B;IACrE,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,YAAY,GAAG,CAAC,CAAA;IACpB,IAAI,WAAW,GAAG,CAAC,CAAA;IAEnB,KAAK,MAAM,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACrC,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAEvD,IAAI,CAAC;YACD,SAAS,CAAC,WAAW,EAAE,CAAA;YAEvB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC1C,YAAY,IAAI,CAAC,CAAA;gBACjB,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;gBAC5B,WAAW,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAA;YAC9C,CAAC;iBAAM,CAAC;gBACJ,WAAW,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAA;gBAC1C,WAAW,IAAI,CAAC,CAAA;gBAChB,WAAW,IAAI,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAA;YAC3D,CAAC;QACL,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAA;YACtC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAI,CAAW,EAAE,KAAK,CAAC,CAAA;QACnD,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,YAAY,CAAC,CAAA;IACpD,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,WAAW,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,WAAW,CAAC,CAAA;AACzD,CAAC"}
|
package/dist/runners/Utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ValidationResult } from "../validators/ValidationResult.js";
|
|
1
|
+
import { ValidationResult } from "../validators/generic/ValidationResult.js";
|
|
2
2
|
export declare function getFilesRecursive(dirPath: string, arrayOfFiles: string[]): string[];
|
|
3
3
|
export declare function getFilesDirect(dirPath: string, arrayOfFiles: string[]): string[];
|
|
4
4
|
export declare function getAllDirectories(dirPath: string, arrayOfDirs: string[]): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../src/runners/Utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../src/runners/Utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAE5E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAYxE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAUrE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAavE;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAEzE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAI/E"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TypeDefinition } from "./generic/ValidationTypes.js";
|
|
2
|
+
/**
|
|
3
|
+
* The structure below defines the structure of a LionWeb Chunk by defining all the properties.
|
|
4
|
+
* It can
|
|
5
|
+
* - be fed to the SyntaxValidator to validate an object sat runtime.
|
|
6
|
+
* - used to generate all the types for a LionWebChunk.
|
|
7
|
+
*/
|
|
8
|
+
export declare const expectedTypes: Map<string, TypeDefinition>;
|
|
9
|
+
//# sourceMappingURL=LionWebChunkDefinitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LionWebChunkDefinitions.d.ts","sourceRoot":"","sources":["../../src/validators/LionWebChunkDefinitions.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,cAAc,EAIjB,MAAM,8BAA8B,CAAA;AAErC;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAgGpD,CAAA"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { validateId, validateKey, validateSerializationFormatVersion, validateVersion } from "./ValidationFunctions.js";
|
|
2
|
+
import { MAY_BE_NULL, PrimitiveDef, PropertyDef, } from "./generic/ValidationTypes.js";
|
|
3
|
+
/**
|
|
4
|
+
* The structure below defines the structure of a LionWeb Chunk by defining all the properties.
|
|
5
|
+
* It can
|
|
6
|
+
* - be fed to the SyntaxValidator to validate an object sat runtime.
|
|
7
|
+
* - used to generate all the types for a LionWebChunk.
|
|
8
|
+
*/
|
|
9
|
+
export const expectedTypes = new Map([
|
|
10
|
+
[
|
|
11
|
+
"LionWebMetaPointer",
|
|
12
|
+
[
|
|
13
|
+
PropertyDef({ property: "key", expectedType: "LionWebKey" }),
|
|
14
|
+
PropertyDef({ property: "version", expectedType: "LionWebVersion" }),
|
|
15
|
+
PropertyDef({ property: "language", expectedType: "LionWebKey" })
|
|
16
|
+
]
|
|
17
|
+
],
|
|
18
|
+
[
|
|
19
|
+
"ResponseMessage",
|
|
20
|
+
[
|
|
21
|
+
PropertyDef({ property: "kind", expectedType: "string" }),
|
|
22
|
+
PropertyDef({ property: "message", expectedType: "string" }),
|
|
23
|
+
PropertyDef({ property: "data", expectedType: "object", mayBeNull: true })
|
|
24
|
+
]
|
|
25
|
+
],
|
|
26
|
+
[
|
|
27
|
+
"LionWebChunk",
|
|
28
|
+
[
|
|
29
|
+
PropertyDef({ property: "serializationFormatVersion", expectedType: "LionWebSerializationFormatVersion" }),
|
|
30
|
+
PropertyDef({ property: "languages", expectedType: "LionWebUsedLanguage", isList: true }),
|
|
31
|
+
PropertyDef({ property: "nodes", expectedType: "LionWebNode", isList: true })
|
|
32
|
+
]
|
|
33
|
+
],
|
|
34
|
+
[
|
|
35
|
+
"LionWebUsedLanguage",
|
|
36
|
+
[
|
|
37
|
+
PropertyDef({ property: "key", expectedType: "LionWebKey" }),
|
|
38
|
+
PropertyDef({ property: "version", expectedType: "LionWebVersion" })
|
|
39
|
+
]
|
|
40
|
+
],
|
|
41
|
+
[
|
|
42
|
+
"LionWebNode",
|
|
43
|
+
[
|
|
44
|
+
PropertyDef({ property: "id", expectedType: "LionWebId" }),
|
|
45
|
+
PropertyDef({ property: "classifier", expectedType: "LionWebMetaPointer" }),
|
|
46
|
+
PropertyDef({ property: "properties", expectedType: "LionWebProperty", isList: true }),
|
|
47
|
+
PropertyDef({ property: "containments", expectedType: "LionWebContainment", isList: true }),
|
|
48
|
+
PropertyDef({ property: "references", expectedType: "LionWebReference", isList: true }),
|
|
49
|
+
PropertyDef({ property: "annotations", expectedType: "LionWebId", isList: true }),
|
|
50
|
+
PropertyDef({ property: "parent", expectedType: "LionWebId", mayBeNull: MAY_BE_NULL }),
|
|
51
|
+
]
|
|
52
|
+
],
|
|
53
|
+
[
|
|
54
|
+
"LionWebProperty",
|
|
55
|
+
[
|
|
56
|
+
PropertyDef({ property: "property", expectedType: "LionWebMetaPointer" }),
|
|
57
|
+
PropertyDef({ property: "value", expectedType: "string", mayBeNull: MAY_BE_NULL }),
|
|
58
|
+
]
|
|
59
|
+
],
|
|
60
|
+
[
|
|
61
|
+
"LionWebContainment",
|
|
62
|
+
[
|
|
63
|
+
PropertyDef({ property: "containment", expectedType: "LionWebMetaPointer" }),
|
|
64
|
+
PropertyDef({ property: "children", expectedType: "LionWebId", isList: true }),
|
|
65
|
+
]
|
|
66
|
+
],
|
|
67
|
+
[
|
|
68
|
+
"LionWebReference",
|
|
69
|
+
[
|
|
70
|
+
PropertyDef({ property: "reference", expectedType: "LionWebMetaPointer" }),
|
|
71
|
+
PropertyDef({ property: "targets", expectedType: "LionWebReferenceTarget", isList: true }),
|
|
72
|
+
]
|
|
73
|
+
],
|
|
74
|
+
[
|
|
75
|
+
"LionWebReferenceTarget",
|
|
76
|
+
[
|
|
77
|
+
PropertyDef({ property: "resolveInfo", expectedType: "string", mayBeNull: MAY_BE_NULL }),
|
|
78
|
+
PropertyDef({ property: "reference", expectedType: "LionWebId", mayBeNull: MAY_BE_NULL }),
|
|
79
|
+
]
|
|
80
|
+
],
|
|
81
|
+
/**
|
|
82
|
+
* Elements without properties are assumed to be JSON/JS primitive values, and tested using `typeof`
|
|
83
|
+
* and the (optional) validate function.
|
|
84
|
+
*/
|
|
85
|
+
[
|
|
86
|
+
"LionWebId",
|
|
87
|
+
PrimitiveDef({ primitiveType: "string", validate: validateId }),
|
|
88
|
+
],
|
|
89
|
+
[
|
|
90
|
+
"LionWebKey",
|
|
91
|
+
PrimitiveDef({ primitiveType: "string", validate: validateKey }),
|
|
92
|
+
],
|
|
93
|
+
[
|
|
94
|
+
"LionWebVersion",
|
|
95
|
+
PrimitiveDef({ primitiveType: "string", validate: validateVersion }),
|
|
96
|
+
],
|
|
97
|
+
[
|
|
98
|
+
"LionWebSerializationFormatVersion",
|
|
99
|
+
PrimitiveDef({ primitiveType: "string", validate: validateSerializationFormatVersion }),
|
|
100
|
+
],
|
|
101
|
+
[
|
|
102
|
+
"string",
|
|
103
|
+
PrimitiveDef({ primitiveType: "string" }),
|
|
104
|
+
],
|
|
105
|
+
]);
|
|
106
|
+
//# sourceMappingURL=LionWebChunkDefinitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LionWebChunkDefinitions.js","sourceRoot":"","sources":["../../src/validators/LionWebChunkDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,WAAW,EACX,kCAAkC,EAClC,eAAe,EAClB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAEH,WAAW,EACX,YAAY,EACZ,WAAW,GACd,MAAM,8BAA8B,CAAA;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgC,IAAI,GAAG,CAAyB;IACtF;QACI,oBAAoB;QACpB;YACI,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;YAC5D,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;YACpE,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;SACpE;KACJ;IACD;QACI,iBAAiB;QACjB;YACI,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;YACzD,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;YAC5D,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SAC7E;KACJ;IACD;QACI,cAAc;QACd;YACI,WAAW,CAAC,EAAE,QAAQ,EAAE,4BAA4B,EAAE,YAAY,EAAE,mCAAmC,EAAE,CAAC;YAC1G,WAAW,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACzF,WAAW,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAChF;KACJ;IACD;QACI,qBAAqB;QACrB;YACI,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;YAC5D,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;SACvE;KACJ;IACD;QACI,aAAa;QACb;YACI,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;YAC1D,WAAW,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;YAC3E,WAAW,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACtF,WAAW,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC3F,WAAW,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACvF,WAAW,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACjF,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;SACzF;KACJ;IACD;QACI,iBAAiB;QACjB;YACI,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;YACzE,WAAW,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;SACrF;KACJ;IACD;QACI,oBAAoB;QACpB;YACI,WAAW,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;YAC5E,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SACjF;KACJ;IACD;QACI,kBAAkB;QAClB;YACI,WAAW,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAAC,CAAC;YACzE,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC;SAC5F;KACJ;IACD;QACI,wBAAwB;QACxB;YACI,WAAW,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;YACxF,WAAW,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;SAC5F;KACJ;IACD;;;OAGG;IACH;QACI,WAAW;QACX,YAAY,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;KAClE;IACD;QACI,YAAY;QACZ,YAAY,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;KACnE;IACD;QACI,gBAAgB;QAChB,YAAY,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;KACvE;IACD;QACI,mCAAmC;QACnC,YAAY,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,kCAAkC,EAAE,CAAC;KAC1F;IACD;QACI,QAAQ;QACR,YAAY,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;KAC5C;CACJ,CAAC,CAAA"}
|
|
@@ -3,15 +3,13 @@ import { JsonContext } from "../json/JsonContext.js";
|
|
|
3
3
|
import { LionWebJsonProperty } from "../json/LionWebJson.js";
|
|
4
4
|
import { LionWebJsonChunkWrapper } from "../json/LionWebJsonChunkWrapper.js";
|
|
5
5
|
import { LanguageRegistry } from "../languages/index.js";
|
|
6
|
-
import {
|
|
7
|
-
import { ValidationResult } from "./ValidationResult.js";
|
|
6
|
+
import { ValidationResult } from "./generic/ValidationResult.js";
|
|
8
7
|
/**
|
|
9
8
|
* Check against the language definition
|
|
10
9
|
*/
|
|
11
10
|
export declare class LionWebLanguageReferenceValidator {
|
|
12
11
|
private registry;
|
|
13
12
|
validationResult: ValidationResult;
|
|
14
|
-
simpleFieldValidator: SimpleFieldValidator;
|
|
15
13
|
constructor(validationResult: ValidationResult, registry: LanguageRegistry);
|
|
16
14
|
validate(obj: LionWebJsonChunkWrapper): void;
|
|
17
15
|
private validateContainment;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LionWebLanguageReferenceValidator.d.ts","sourceRoot":"","sources":["../../src/validators/LionWebLanguageReferenceValidator.ts"],"names":[],"mappings":"AAYA,OAAO,EAAsB,eAAe,EAA2B,MAAM,kBAAkB,CAAA;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAEH,mBAAmB,EAEtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAY5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"LionWebLanguageReferenceValidator.d.ts","sourceRoot":"","sources":["../../src/validators/LionWebLanguageReferenceValidator.ts"],"names":[],"mappings":"AAYA,OAAO,EAAsB,eAAe,EAA2B,MAAM,kBAAkB,CAAA;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAEH,mBAAmB,EAEtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAY5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAEhE;;GAEG;AACH,qBAAa,iCAAiC;IAGM,OAAO,CAAC,QAAQ;IAFhE,gBAAgB,EAAE,gBAAgB,CAAA;gBAEtB,gBAAgB,EAAE,gBAAgB,EAAU,QAAQ,EAAE,gBAAgB;IASlF,QAAQ,CAAC,GAAG,EAAE,uBAAuB,GAAG,IAAI;IAoB5C,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,iBAAiB;IAwBzB;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,GAAG,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;CAqF3I"}
|
|
@@ -6,7 +6,7 @@ import { JsonContext } from "../json/JsonContext.js";
|
|
|
6
6
|
// KnownLanguages, LanguageRegistry
|
|
7
7
|
// } from "../languages/LanguageRegistry.js"
|
|
8
8
|
import { LION_CORE_BUILTINS_INAMED_NAME, LIONWEB_BOOLEAN_TYPE, LIONWEB_INTEGER_TYPE, LIONWEB_JSON_TYPE, LIONWEB_STRING_TYPE, M3_Keys } from "../json/M3definitions.js";
|
|
9
|
-
import {
|
|
9
|
+
import { validateBoolean, validateInteger, validateJSON } from "./ValidationFunctions.js";
|
|
10
10
|
/**
|
|
11
11
|
* Check against the language definition
|
|
12
12
|
*/
|
|
@@ -14,7 +14,6 @@ export class LionWebLanguageReferenceValidator {
|
|
|
14
14
|
constructor(validationResult, registry) {
|
|
15
15
|
this.registry = registry;
|
|
16
16
|
this.validationResult = validationResult;
|
|
17
|
-
this.simpleFieldValidator = new SimpleFieldValidator(this.validationResult);
|
|
18
17
|
}
|
|
19
18
|
// reset() {
|
|
20
19
|
// this.validationResult.reset();
|
|
@@ -111,16 +110,16 @@ export class LionWebLanguageReferenceValidator {
|
|
|
111
110
|
const typeReferenceId = refType.targets[0].reference;
|
|
112
111
|
switch (typeReferenceId) {
|
|
113
112
|
case LIONWEB_BOOLEAN_TYPE:
|
|
114
|
-
|
|
113
|
+
validateBoolean(prop.value, this.validationResult, context);
|
|
115
114
|
break;
|
|
116
115
|
case LIONWEB_INTEGER_TYPE:
|
|
117
|
-
|
|
116
|
+
validateInteger(prop.value, this.validationResult, context);
|
|
118
117
|
break;
|
|
119
118
|
case LIONWEB_STRING_TYPE:
|
|
120
119
|
// Each string is correct and having another JSON type is already captured
|
|
121
120
|
break;
|
|
122
121
|
case LIONWEB_JSON_TYPE:
|
|
123
|
-
|
|
122
|
+
validateJSON(prop.value, this.validationResult, context);
|
|
124
123
|
break;
|
|
125
124
|
default: {
|
|
126
125
|
// Check for enumeration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LionWebLanguageReferenceValidator.js","sourceRoot":"","sources":["../../src/validators/LionWebLanguageReferenceValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,+CAA+C,EAC/C,2CAA2C,EAAE,4CAA4C,EACzF,4BAA4B,EAAE,6CAA6C,EAC3E,6BAA6B,EAChC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,8CAA8C,EAC9C,4CAA4C,EAC5C,iCAAiC,EAAE,8BAA8B,EACjE,+BAA+B,EAClC,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAmB,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAOpD,WAAW;AACX,uCAAuC;AACvC,4CAA4C;AAC5C,OAAO,EACH,8BAA8B,EAC9B,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,OAAO,EACV,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"LionWebLanguageReferenceValidator.js","sourceRoot":"","sources":["../../src/validators/LionWebLanguageReferenceValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { LionWebJsonNode } from "../json/index.js";
|
|
|
2
2
|
import { LionWebJsonChunk } from "../json/LionWebJson.js";
|
|
3
3
|
import { LionWebJsonChunkWrapper } from "../json/LionWebJsonChunkWrapper.js";
|
|
4
4
|
import { LanguageRegistry } from "../languages/index.js";
|
|
5
|
-
import { ValidationResult } from "./ValidationResult.js";
|
|
5
|
+
import { ValidationResult } from "./generic/ValidationResult.js";
|
|
6
6
|
/**
|
|
7
7
|
* Validates whether a chunk is a valid language definition
|
|
8
8
|
*/
|
|
@@ -14,7 +14,7 @@ export declare class LionWebLanguageValidator {
|
|
|
14
14
|
/**
|
|
15
15
|
* Check whether the metamodel is a Language.
|
|
16
16
|
* Assumption is that _chunk_ is already validated as a correct :LionWebJsonChunk
|
|
17
|
-
* @param
|
|
17
|
+
* @param chunk
|
|
18
18
|
*/
|
|
19
19
|
validateLanguage(chunk: LionWebJsonChunk): void;
|
|
20
20
|
validateConcept(node: LionWebJsonNode): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LionWebLanguageValidator.d.ts","sourceRoot":"","sources":["../../src/validators/LionWebLanguageValidator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,eAAe,EAAgB,MAAM,kBAAkB,CAAA;AAEpF,OAAO,EAAuB,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAa,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"LionWebLanguageValidator.d.ts","sourceRoot":"","sources":["../../src/validators/LionWebLanguageValidator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,eAAe,EAAgB,MAAM,kBAAkB,CAAA;AAEpF,OAAO,EAAuB,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAa,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAEhE;;GAEG;AACH,qBAAa,wBAAwB;IAKe,OAAO,CAAC,QAAQ;IAJhE,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,YAAY,EAAE,uBAAuB,GAAG,SAAS,CAAA;gBAGrC,gBAAgB,EAAE,gBAAgB,EAAU,QAAQ,EAAE,gBAAgB;IAKlF;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,gBAAgB;IAqBxC,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAS5C,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAWzC,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI;CAW/E"}
|
|
@@ -18,7 +18,7 @@ export class LionWebLanguageValidator {
|
|
|
18
18
|
/**
|
|
19
19
|
* Check whether the metamodel is a Language.
|
|
20
20
|
* Assumption is that _chunk_ is already validated as a correct :LionWebJsonChunk
|
|
21
|
-
* @param
|
|
21
|
+
* @param chunk
|
|
22
22
|
*/
|
|
23
23
|
validateLanguage(chunk) {
|
|
24
24
|
this.chunkWrapper = new LionWebJsonChunkWrapper(chunk);
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { JsonContext } from "../json/JsonContext.js";
|
|
2
2
|
import { LionWebJsonChunk, LionWebJsonMetaPointer, LionWebJsonNode, LwJsonUsedLanguage } from "../json/LionWebJson.js";
|
|
3
3
|
import { LionWebJsonChunkWrapper } from "../json/LionWebJsonChunkWrapper.js";
|
|
4
|
-
import {
|
|
5
|
-
import { ValidationResult } from "./ValidationResult.js";
|
|
4
|
+
import { ValidationResult } from "./generic/ValidationResult.js";
|
|
6
5
|
/**
|
|
7
6
|
* Assuming that the syntax is correct, check whether all LionWeb references are correct,
|
|
8
7
|
* as far as they do not need the used language definition.
|
|
@@ -10,7 +9,6 @@ import { ValidationResult } from "./ValidationResult.js";
|
|
|
10
9
|
export declare class LionWebReferenceValidator {
|
|
11
10
|
validationResult: ValidationResult;
|
|
12
11
|
nodesIdMap: Map<string, LionWebJsonNode>;
|
|
13
|
-
simpleFieldValidator: SimpleFieldValidator;
|
|
14
12
|
constructor(validationResult: ValidationResult);
|
|
15
13
|
validateNodeIds(obj: LionWebJsonChunk, ctx: JsonContext): void;
|
|
16
14
|
validate(obj: LionWebJsonChunkWrapper): void;
|
|
@@ -36,7 +34,8 @@ export declare class LionWebReferenceValidator {
|
|
|
36
34
|
checkDuplicateUsedLanguage(usedLanguages: LwJsonUsedLanguage[], context: JsonContext): void;
|
|
37
35
|
/**
|
|
38
36
|
* Checks whether the parent of node recursively points to `node` itself.
|
|
39
|
-
* @param node
|
|
37
|
+
* @param node The noide being checked
|
|
38
|
+
* @param context The location in the JSON
|
|
40
39
|
*/
|
|
41
40
|
checkParentCircular(node: LionWebJsonNode, context: JsonContext): void;
|
|
42
41
|
validateExistsAsChild(context: JsonContext, parent: LionWebJsonNode | undefined, child: LionWebJsonNode): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LionWebReferenceValidator.d.ts","sourceRoot":"","sources":["../../src/validators/LionWebReferenceValidator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EAEH,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EACrB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"LionWebReferenceValidator.d.ts","sourceRoot":"","sources":["../../src/validators/LionWebReferenceValidator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EAEH,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EACrB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAEhE;;;GAGG;AACH,qBAAa,yBAAyB;IAClC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAqC;gBAEjE,gBAAgB,EAAE,gBAAgB;IAI9C,eAAe,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI;IAW9D,QAAQ,CAAC,GAAG,EAAE,uBAAuB,GAAG,IAAI;IAqD5C;;;;;OAKG;IACH,yBAAyB,CAAC,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,sBAAsB,EAAE,OAAO,EAAE,WAAW;IAWnH;;;;OAIG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW;IActD;;;;;OAKG;IACH,0BAA0B,CAAC,aAAa,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,WAAW;IAiBpF;;;;OAIG;IACH,mBAAmB,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW;IAsB/D,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,GAAG,SAAS,EAAE,KAAK,EAAE,eAAe;IAevG,iCAAiC,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW;CAmChF"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Duplicates_Issue, Reference_ChildMissingInParent_Issue, Reference_CirculairParent_Issue, Reference_DuplicateNodeId_Issue, Reference_LanguageUnknown_Issue, Reference_ParentMissingInChild_Issue, } from "../issues/ReferenceIssues.js";
|
|
2
2
|
import { JsonContext } from "../json/JsonContext.js";
|
|
3
3
|
import { ChunkUtils } from "../json/ChunkUtils.js";
|
|
4
|
-
import { SimpleFieldValidator } from "./SimpleFieldValidator.js";
|
|
5
4
|
/**
|
|
6
5
|
* Assuming that the syntax is correct, check whether all LionWeb references are correct,
|
|
7
6
|
* as far as they do not need the used language definition.
|
|
@@ -10,7 +9,6 @@ export class LionWebReferenceValidator {
|
|
|
10
9
|
constructor(validationResult) {
|
|
11
10
|
this.nodesIdMap = new Map();
|
|
12
11
|
this.validationResult = validationResult;
|
|
13
|
-
this.simpleFieldValidator = new SimpleFieldValidator(this.validationResult);
|
|
14
12
|
}
|
|
15
13
|
validateNodeIds(obj, ctx) {
|
|
16
14
|
// put all nodes in a map, validate that there are no two nodes with the same id.
|
|
@@ -135,7 +133,8 @@ export class LionWebReferenceValidator {
|
|
|
135
133
|
}
|
|
136
134
|
/**
|
|
137
135
|
* Checks whether the parent of node recursively points to `node` itself.
|
|
138
|
-
* @param node
|
|
136
|
+
* @param node The noide being checked
|
|
137
|
+
* @param context The location in the JSON
|
|
139
138
|
*/
|
|
140
139
|
checkParentCircular(node, context) {
|
|
141
140
|
if (node === null || node === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LionWebReferenceValidator.js","sourceRoot":"","sources":["../../src/validators/LionWebReferenceValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,oCAAoC,EACpC,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,oCAAoC,GACvC,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"LionWebReferenceValidator.js","sourceRoot":"","sources":["../../src/validators/LionWebReferenceValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,88 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { ValidationResult } from "./ValidationResult.js";
|
|
4
|
-
export type UnknownObjectType = {
|
|
5
|
-
[key: string]: unknown;
|
|
6
|
-
};
|
|
7
|
-
export type PropertyType = "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" | "array";
|
|
8
|
-
export type PropertyDefinition = {
|
|
9
|
-
/**
|
|
10
|
-
* The property name
|
|
11
|
-
*/
|
|
12
|
-
property: string;
|
|
13
|
-
/**
|
|
14
|
-
* The expected type of the property value
|
|
15
|
-
*/
|
|
16
|
-
expectedType: PropertyType;
|
|
17
|
-
/**
|
|
18
|
-
* Whether the property value is allowed to be null
|
|
19
|
-
*/
|
|
20
|
-
mayBeNull: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* If the property type is correct, check its value further with this function.
|
|
23
|
-
* Will, only be called if `this.recursive === true`.
|
|
24
|
-
* If the property value is an Array, the `checkValue` will be called on each element in the array.
|
|
25
|
-
* @param obj
|
|
26
|
-
* @param ctx
|
|
27
|
-
*/
|
|
28
|
-
validateValue?: ValidatorFunction;
|
|
29
|
-
};
|
|
1
|
+
import { SyntaxValidator } from "./generic/SyntaxValidator.js";
|
|
2
|
+
import { ValidationResult } from "./generic/ValidationResult.js";
|
|
30
3
|
/**
|
|
31
|
-
*
|
|
32
|
-
* The check can be on a single object, or recursively on an object and its children.
|
|
4
|
+
* LionWebSyntaxValidator can check whether objects are structurally LionWeb objects.
|
|
33
5
|
*/
|
|
34
|
-
export declare class LionWebSyntaxValidator {
|
|
35
|
-
validationResult: ValidationResult;
|
|
36
|
-
simpleFieldValidator: SimpleFieldValidator;
|
|
37
|
-
/**
|
|
38
|
-
* When true, each function will work recursively on the given object.
|
|
39
|
-
* When false, will only check the given object.
|
|
40
|
-
* Metapointers are always checked as part of the object, disregarding the va;lue of `recursive`.
|
|
41
|
-
*/
|
|
42
|
-
recursive: boolean;
|
|
6
|
+
export declare class LionWebSyntaxValidator extends SyntaxValidator {
|
|
43
7
|
constructor(validationResult: ValidationResult);
|
|
44
|
-
/**
|
|
45
|
-
* Check whether `obj` is a JSON object that conforms to the serialization syntax of LionCore.
|
|
46
|
-
* All errors found will be pushed into the `errors` array, if its length is not 0, the check has failed.
|
|
47
|
-
* @param obj
|
|
48
|
-
*/
|
|
49
|
-
validate(obj: unknown): void;
|
|
50
|
-
validateLwChunk: (obj: unknown, ctx: JsonContext) => void;
|
|
51
|
-
validateLwUsedLanguage: (obj: unknown, ctx: JsonContext) => void;
|
|
52
|
-
validateLwNode: (obj: unknown, ctx: JsonContext) => void;
|
|
53
|
-
validateLwAnnotation: (obj: unknown, context: JsonContext) => void;
|
|
54
|
-
validateLwProperty: (obj: unknown, ctx: JsonContext) => void;
|
|
55
|
-
validateLwMetaPointer: (obj: unknown, ctx: JsonContext) => void;
|
|
56
|
-
validateLwChild: (obj: unknown, ctx: JsonContext) => void;
|
|
57
|
-
private checkChild;
|
|
58
|
-
/** Checks whether `obj` is not null or defined and has the correct type.
|
|
59
|
-
*/
|
|
60
|
-
private checkType;
|
|
61
|
-
validateLwReference: (obj: unknown, ctx: JsonContext) => void;
|
|
62
|
-
validateLwReferenceTarget: (obj: unknown, ctx: JsonContext) => void;
|
|
63
|
-
/**
|
|
64
|
-
* Check whether all property definitions in `propDef` are correct and check that there are
|
|
65
|
-
* no iother properties in `obj`.
|
|
66
|
-
* @param obj
|
|
67
|
-
* @param propDefs
|
|
68
|
-
* @param context
|
|
69
|
-
*/
|
|
70
|
-
propertyChecks(obj: unknown, propDefs: PropertyDefinition[], context: JsonContext): void;
|
|
71
|
-
/**
|
|
72
|
-
* Check whether there are extra properties that should not be there.
|
|
73
|
-
* @param obj
|
|
74
|
-
* @param properties
|
|
75
|
-
* @param context
|
|
76
|
-
*/
|
|
77
|
-
checkStrayProperties(obj: UnknownObjectType, properties: string[], context: JsonContext): void;
|
|
78
|
-
/**
|
|
79
|
-
* Check whether the value of property `prop` of `obj` has type `expectedType`.
|
|
80
|
-
* @param obj
|
|
81
|
-
* @param prop
|
|
82
|
-
* @param expectedType
|
|
83
|
-
* @param context
|
|
84
|
-
*/
|
|
85
|
-
checkPropertyType: (obj: UnknownObjectType, prop: string, expectedType: PropertyType, mayBeNull: boolean, context: JsonContext) => boolean;
|
|
86
8
|
}
|
|
87
|
-
export declare function SyntaxValidator(jsonChunk: unknown): ValidationResult;
|
|
88
9
|
//# sourceMappingURL=LionWebSyntaxValidator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LionWebSyntaxValidator.d.ts","sourceRoot":"","sources":["../../src/validators/LionWebSyntaxValidator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LionWebSyntaxValidator.d.ts","sourceRoot":"","sources":["../../src/validators/LionWebSyntaxValidator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAEhE;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;gBAE3C,gBAAgB,EAAE,gBAAgB;CAGjD"}
|