@lionweb/validation 0.6.1-beta.0 → 0.6.1-beta.1

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 (160) hide show
  1. package/dist/diff/LionWebJsonDiff.d.ts.map +1 -1
  2. package/dist/diff/LionWebJsonDiff.js +18 -23
  3. package/dist/diff/LionWebJsonDiff.js.map +1 -1
  4. package/dist/diff/changes/ContainmentChange.d.ts +2 -2
  5. package/dist/diff/changes/ContainmentChange.d.ts.map +1 -1
  6. package/dist/diff/changes/ContainmentChange.js.map +1 -1
  7. package/dist/diff/changes/ReferenceChange.d.ts +3 -3
  8. package/dist/diff/changes/ReferenceChange.d.ts.map +1 -1
  9. package/dist/diff/changes/ReferenceChange.js.map +1 -1
  10. package/dist/index.d.ts +2 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +2 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/issues/LanguageIssues.d.ts +37 -13
  15. package/dist/issues/LanguageIssues.d.ts.map +1 -1
  16. package/dist/issues/LanguageIssues.js +49 -13
  17. package/dist/issues/LanguageIssues.js.map +1 -1
  18. package/dist/issues/ReferenceIssues.d.ts +6 -6
  19. package/dist/issues/ReferenceIssues.d.ts.map +1 -1
  20. package/dist/issues/ReferenceIssues.js +6 -6
  21. package/dist/issues/ReferenceIssues.js.map +1 -1
  22. package/dist/issues/SyntaxIssues.d.ts +9 -9
  23. package/dist/issues/SyntaxIssues.d.ts.map +1 -1
  24. package/dist/issues/SyntaxIssues.js +9 -9
  25. package/dist/issues/SyntaxIssues.js.map +1 -1
  26. package/dist/issues/ValidationIssue.d.ts +7 -1
  27. package/dist/issues/ValidationIssue.d.ts.map +1 -1
  28. package/dist/issues/ValidationIssue.js +9 -1
  29. package/dist/issues/ValidationIssue.js.map +1 -1
  30. package/dist/json/LionWebJson.d.ts +1 -14
  31. package/dist/json/LionWebJson.d.ts.map +1 -1
  32. package/dist/json/LionWebJson.js +4 -14
  33. package/dist/json/LionWebJson.js.map +1 -1
  34. package/dist/json/LionWebJsonChunkWrapper.d.ts +20 -8
  35. package/dist/json/LionWebJsonChunkWrapper.d.ts.map +1 -1
  36. package/dist/json/LionWebJsonChunkWrapper.js +50 -22
  37. package/dist/json/LionWebJsonChunkWrapper.js.map +1 -1
  38. package/dist/json/M3definitions.d.ts +176 -0
  39. package/dist/json/M3definitions.d.ts.map +1 -0
  40. package/dist/json/M3definitions.js +174 -0
  41. package/dist/json/M3definitions.js.map +1 -0
  42. package/dist/json/NodeUtils.d.ts +3 -9
  43. package/dist/json/NodeUtils.d.ts.map +1 -1
  44. package/dist/json/NodeUtils.js +18 -31
  45. package/dist/json/NodeUtils.js.map +1 -1
  46. package/dist/json/index.d.ts +1 -2
  47. package/dist/json/index.d.ts.map +1 -1
  48. package/dist/json/index.js +1 -2
  49. package/dist/json/index.js.map +1 -1
  50. package/dist/languages/CompositeLionWebLanguageWrapper.d.ts +24 -0
  51. package/dist/languages/CompositeLionWebLanguageWrapper.d.ts.map +1 -0
  52. package/dist/languages/CompositeLionWebLanguageWrapper.js +56 -0
  53. package/dist/languages/CompositeLionWebLanguageWrapper.js.map +1 -0
  54. package/dist/languages/LanguageRegistry.d.ts +19 -0
  55. package/dist/languages/LanguageRegistry.d.ts.map +1 -0
  56. package/dist/languages/LanguageRegistry.js +37 -0
  57. package/dist/languages/LanguageRegistry.js.map +1 -0
  58. package/dist/languages/LanguageUtils.d.ts +35 -0
  59. package/dist/languages/LanguageUtils.d.ts.map +1 -0
  60. package/dist/languages/LanguageUtils.js +52 -0
  61. package/dist/languages/LanguageUtils.js.map +1 -0
  62. package/dist/languages/LionCore-M3.json +2356 -0
  63. package/{src/json/std-builtins-copy.json → dist/languages/LionCore-builtins.json} +57 -52
  64. package/dist/languages/LionWebLanguageWrapper.d.ts +31 -0
  65. package/dist/languages/LionWebLanguageWrapper.d.ts.map +1 -0
  66. package/dist/languages/LionWebLanguageWrapper.js +69 -0
  67. package/dist/languages/LionWebLanguageWrapper.js.map +1 -0
  68. package/dist/languages/MetaPointerMap.d.ts +11 -0
  69. package/dist/languages/MetaPointerMap.d.ts.map +1 -0
  70. package/dist/languages/MetaPointerMap.js +39 -0
  71. package/dist/languages/MetaPointerMap.js.map +1 -0
  72. package/dist/languages/index.d.ts +3 -0
  73. package/dist/languages/index.d.ts.map +1 -0
  74. package/dist/languages/index.js +3 -0
  75. package/dist/languages/index.js.map +1 -0
  76. package/dist/runners/FileUtils.d.ts +4 -4
  77. package/dist/runners/FileUtils.d.ts.map +1 -1
  78. package/dist/runners/FileUtils.js +8 -32
  79. package/dist/runners/FileUtils.js.map +1 -1
  80. package/dist/runners/RunCheckFolder.js +3 -1
  81. package/dist/runners/RunCheckFolder.js.map +1 -1
  82. package/dist/runners/RunCheckFolderWithLanguage.js +7 -3
  83. package/dist/runners/RunCheckFolderWithLanguage.js.map +1 -1
  84. package/dist/runners/RunCheckOneFile.js +3 -1
  85. package/dist/runners/RunCheckOneFile.js.map +1 -1
  86. package/dist/runners/RunCheckOneFileWithLanguage.js +12 -3
  87. package/dist/runners/RunCheckOneFileWithLanguage.js.map +1 -1
  88. package/dist/runners/Utils.d.ts.map +1 -1
  89. package/dist/runners/Utils.js +0 -1
  90. package/dist/runners/Utils.js.map +1 -1
  91. package/dist/util/graphs.d.ts +18 -0
  92. package/dist/util/graphs.d.ts.map +1 -0
  93. package/dist/util/graphs.js +27 -0
  94. package/dist/util/graphs.js.map +1 -0
  95. package/dist/validators/LionWebLanguageReferenceValidator.d.ts +5 -4
  96. package/dist/validators/LionWebLanguageReferenceValidator.d.ts.map +1 -1
  97. package/dist/validators/LionWebLanguageReferenceValidator.js +96 -34
  98. package/dist/validators/LionWebLanguageReferenceValidator.js.map +1 -1
  99. package/dist/validators/LionWebLanguageValidator.d.ts +15 -3
  100. package/dist/validators/LionWebLanguageValidator.d.ts.map +1 -1
  101. package/dist/validators/LionWebLanguageValidator.js +54 -21
  102. package/dist/validators/LionWebLanguageValidator.js.map +1 -1
  103. package/dist/validators/LionWebReferenceValidator.d.ts.map +1 -1
  104. package/dist/validators/LionWebReferenceValidator.js +0 -5
  105. package/dist/validators/LionWebReferenceValidator.js.map +1 -1
  106. package/dist/validators/LionWebSyntaxValidator.d.ts +1 -1
  107. package/dist/validators/LionWebSyntaxValidator.js +1 -1
  108. package/dist/validators/LionWebValidator.d.ts +3 -3
  109. package/dist/validators/LionWebValidator.d.ts.map +1 -1
  110. package/dist/validators/LionWebValidator.js +5 -8
  111. package/dist/validators/LionWebValidator.js.map +1 -1
  112. package/package.json +5 -5
  113. package/src/diff/LionWebJsonDiff.ts +18 -23
  114. package/src/diff/changes/ContainmentChange.ts +1 -1
  115. package/src/diff/changes/ReferenceChange.ts +2 -2
  116. package/src/index.ts +2 -0
  117. package/src/issues/LanguageIssues.ts +49 -14
  118. package/src/issues/ReferenceIssues.ts +6 -6
  119. package/src/issues/SyntaxIssues.ts +9 -9
  120. package/src/issues/ValidationIssue.ts +12 -2
  121. package/src/json/LionCore_M3.json +2320 -0
  122. package/src/json/LionCore_builtins.json +231 -0
  123. package/src/json/LionWebJson.ts +5 -14
  124. package/src/json/LionWebJsonChunkWrapper.ts +59 -30
  125. package/src/json/M3definitions.ts +177 -0
  126. package/src/json/NodeUtils.ts +21 -39
  127. package/src/json/index.ts +1 -2
  128. package/src/languages/CompositeLionWebLanguageWrapper.ts +57 -0
  129. package/src/languages/LanguageRegistry.ts +44 -0
  130. package/src/languages/LanguageUtils.ts +61 -0
  131. package/src/languages/LionCore-M3.json +2356 -0
  132. package/src/languages/LionCore-builtins.json +372 -0
  133. package/src/languages/LionWebLanguageWrapper.ts +95 -0
  134. package/src/languages/MetaPointerMap.ts +40 -0
  135. package/src/languages/index.ts +2 -0
  136. package/src/runners/FileUtils.ts +9 -36
  137. package/src/runners/RunCheckFolder.ts +3 -1
  138. package/src/runners/RunCheckFolderWithLanguage.ts +7 -7
  139. package/src/runners/RunCheckOneFile.ts +3 -1
  140. package/src/runners/RunCheckOneFileWithLanguage.ts +12 -7
  141. package/src/runners/Utils.ts +0 -1
  142. package/src/tmp.json +574 -0
  143. package/src/tryout.js +21 -0
  144. package/src/util/graphs.ts +36 -0
  145. package/src/validators/LionWebLanguageReferenceValidator.ts +110 -48
  146. package/src/validators/LionWebLanguageValidator.ts +62 -21
  147. package/src/validators/LionWebReferenceValidator.ts +0 -5
  148. package/src/validators/LionWebSyntaxValidator.ts +2 -2
  149. package/src/validators/LionWebValidator.ts +5 -9
  150. package/structure.puml +25 -0
  151. package/dist/json/LanguageUtils.d.ts +0 -9
  152. package/dist/json/LanguageUtils.d.ts.map +0 -1
  153. package/dist/json/LanguageUtils.js +0 -30
  154. package/dist/json/LanguageUtils.js.map +0 -1
  155. package/dist/json/LionWebLanguageDefinition.d.ts +0 -48
  156. package/dist/json/LionWebLanguageDefinition.d.ts.map +0 -1
  157. package/dist/json/LionWebLanguageDefinition.js +0 -126
  158. package/dist/json/LionWebLanguageDefinition.js.map +0 -1
  159. package/src/json/LanguageUtils.ts +0 -52
  160. package/src/json/LionWebLanguageDefinition.ts +0 -144
@@ -3,7 +3,7 @@ export class Reference_DuplicateNodeId_Issue extends ValidationIssue {
3
3
  constructor(context, nodeId) {
4
4
  super(context);
5
5
  this.nodeId = nodeId;
6
- this.id = "DuplicateNodeId";
6
+ this.issueType = "DuplicateNodeId";
7
7
  this.msg = () => `Node has duplicate id "${this.nodeId}"`;
8
8
  }
9
9
  }
@@ -12,7 +12,7 @@ export class Reference_ChildMissingInParent_Issue extends ValidationIssue {
12
12
  super(context);
13
13
  this.child = child;
14
14
  this.parent = parent;
15
- this.id = "ChildMissingInParent";
15
+ this.issueType = "ChildMissingInParent";
16
16
  this.msg = () => `Node with id "${this.child.id}" has parent with id "${this.parent.id}" but parent does not contains it as a child.`;
17
17
  }
18
18
  }
@@ -21,7 +21,7 @@ export class Reference_ParentMissingInChild_Issue extends ValidationIssue {
21
21
  super(context);
22
22
  this.parent = parent;
23
23
  this.child = child;
24
- this.id = "ParentMissingInChild";
24
+ this.issueType = "ParentMissingInChild";
25
25
  this.msg = () => `Node with id "${this.parent.id}" has child with id "${this.child.id}" but child has parent ${this.child.parent}.`;
26
26
  }
27
27
  }
@@ -30,7 +30,7 @@ export class Reference_CirculairParent_Issue extends ValidationIssue {
30
30
  super(context);
31
31
  this.node = node;
32
32
  this.parentPath = parentPath;
33
- this.id = "CirculairParent";
33
+ this.issueType = "CirculairParent";
34
34
  this.msg = () => `Node with id "${this.node?.id}" has circulair parent through "${this.parentPath}".`;
35
35
  }
36
36
  }
@@ -38,7 +38,7 @@ export class Reference_LanguageUnknown_Issue extends ValidationIssue {
38
38
  constructor(context, languageRef) {
39
39
  super(context);
40
40
  this.languageRef = languageRef;
41
- this.id = "LanguageUnknown";
41
+ this.issueType = "LanguageUnknown";
42
42
  this.msg = () => `Node uses language { language = ${this.languageRef.language}, version = ${this.languageRef.version} } which is not declared in used languages`;
43
43
  }
44
44
  }
@@ -46,7 +46,7 @@ export class Duplicates_Issue extends ValidationIssue {
46
46
  constructor(context, nodeid) {
47
47
  super(context);
48
48
  this.nodeid = nodeid;
49
- this.id = "Duplicates";
49
+ this.issueType = "Duplicates";
50
50
  this.msg = () => `Duplicate value "${this.nodeid}"`;
51
51
  }
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReferenceIssues.js","sourceRoot":"","sources":["../../src/issues/ReferenceIssues.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,OAAO,+BAAgC,SAAQ,eAAe;IAGhE,YACI,OAAoB,EACb,MAAc;QAErB,KAAK,CAAC,OAAO,CAAC,CAAA;QAFP,WAAM,GAAN,MAAM,CAAQ;QAJhB,OAAE,GAAG,iBAAiB,CAAA;QAS/B,QAAG,GAAG,GAAW,EAAE,CAAC,0BAA0B,IAAI,CAAC,MAAM,GAAG,CAAA;IAF5D,CAAC;CAGJ;AAED,MAAM,OAAO,oCAAqC,SAAQ,eAAe;IAGrE,YACI,OAAoB,EACb,KAAsB,EACtB,MAAuB;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAA;QAHP,UAAK,GAAL,KAAK,CAAiB;QACtB,WAAM,GAAN,MAAM,CAAiB;QALzB,OAAE,GAAG,sBAAsB,CAAA;QAUpC,QAAG,GAAG,GAAW,EAAE,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,EAAE,yBAAyB,IAAI,CAAC,MAAM,CAAC,EAAE,+CAA+C,CAAA;IAFxI,CAAC;CAGJ;AAED,MAAM,OAAO,oCAAqC,SAAQ,eAAe;IAGrE,YACI,OAAoB,EACb,MAAuB,EACvB,KAAsB;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAA;QAHP,WAAM,GAAN,MAAM,CAAiB;QACvB,UAAK,GAAL,KAAK,CAAiB;QALxB,OAAE,GAAG,sBAAsB,CAAA;QAUpC,QAAG,GAAG,GAAW,EAAE,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,EAAE,wBAAwB,IAAI,CAAC,KAAK,CAAC,EAAE,0BAA0B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAA;IAFtI,CAAC;CAGJ;AAED,MAAM,OAAO,+BAAgC,SAAQ,eAAe;IAGhE,YACI,OAAoB,EACb,IAAiC,EACjC,UAAoB;QAE3B,KAAK,CAAC,OAAO,CAAC,CAAA;QAHP,SAAI,GAAJ,IAAI,CAA6B;QACjC,eAAU,GAAV,UAAU,CAAU;QALtB,OAAE,GAAG,iBAAiB,CAAA;QAU/B,QAAG,GAAG,GAAW,EAAE,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,EAAE,mCAAmC,IAAI,CAAC,UAAU,IAAI,CAAA;IAFxG,CAAC;CAGJ;AAED,MAAM,OAAO,+BAAgC,SAAQ,eAAe;IAGhE,YACI,OAAoB,EACb,WAAmC;QAE1C,KAAK,CAAC,OAAO,CAAC,CAAA;QAFP,gBAAW,GAAX,WAAW,CAAwB;QAJrC,OAAE,GAAG,iBAAiB,CAAA;QAQ/B,QAAG,GAAG,GAAG,EAAE,CACP,mCAAmC,IAAI,CAAC,WAAW,CAAC,QAAQ,eAAe,IAAI,CAAC,WAAW,CAAC,OAAO,4CAA4C,CAAA;IAFnJ,CAAC;CAGJ;AAED,MAAM,OAAO,gBAAiB,SAAQ,eAAe;IAGjD,YACI,OAAoB,EACb,MAAc;QAErB,KAAK,CAAC,OAAO,CAAC,CAAA;QAFP,WAAM,GAAN,MAAM,CAAQ;QAJhB,OAAE,GAAG,YAAY,CAAA;QAQ1B,QAAG,GAAG,GAAG,EAAE,CAAC,oBAAoB,IAAI,CAAC,MAAM,GAAG,CAAA;IAD9C,CAAC;CAEJ"}
1
+ {"version":3,"file":"ReferenceIssues.js","sourceRoot":"","sources":["../../src/issues/ReferenceIssues.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,OAAO,+BAAgC,SAAQ,eAAe;IAGhE,YACI,OAAoB,EACb,MAAc;QAErB,KAAK,CAAC,OAAO,CAAC,CAAA;QAFP,WAAM,GAAN,MAAM,CAAQ;QAJhB,cAAS,GAAG,iBAAiB,CAAA;QAStC,QAAG,GAAG,GAAW,EAAE,CAAC,0BAA0B,IAAI,CAAC,MAAM,GAAG,CAAA;IAF5D,CAAC;CAGJ;AAED,MAAM,OAAO,oCAAqC,SAAQ,eAAe;IAGrE,YACI,OAAoB,EACb,KAAsB,EACtB,MAAuB;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAA;QAHP,UAAK,GAAL,KAAK,CAAiB;QACtB,WAAM,GAAN,MAAM,CAAiB;QALzB,cAAS,GAAG,sBAAsB,CAAA;QAU3C,QAAG,GAAG,GAAW,EAAE,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,EAAE,yBAAyB,IAAI,CAAC,MAAM,CAAC,EAAE,+CAA+C,CAAA;IAFxI,CAAC;CAGJ;AAED,MAAM,OAAO,oCAAqC,SAAQ,eAAe;IAGrE,YACI,OAAoB,EACb,MAAuB,EACvB,KAAsB;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAA;QAHP,WAAM,GAAN,MAAM,CAAiB;QACvB,UAAK,GAAL,KAAK,CAAiB;QALxB,cAAS,GAAG,sBAAsB,CAAA;QAU3C,QAAG,GAAG,GAAW,EAAE,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,EAAE,wBAAwB,IAAI,CAAC,KAAK,CAAC,EAAE,0BAA0B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAA;IAFtI,CAAC;CAGJ;AAED,MAAM,OAAO,+BAAgC,SAAQ,eAAe;IAGhE,YACI,OAAoB,EACb,IAAiC,EACjC,UAAoB;QAE3B,KAAK,CAAC,OAAO,CAAC,CAAA;QAHP,SAAI,GAAJ,IAAI,CAA6B;QACjC,eAAU,GAAV,UAAU,CAAU;QALtB,cAAS,GAAG,iBAAiB,CAAA;QAUtC,QAAG,GAAG,GAAW,EAAE,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,EAAE,mCAAmC,IAAI,CAAC,UAAU,IAAI,CAAA;IAFxG,CAAC;CAGJ;AAED,MAAM,OAAO,+BAAgC,SAAQ,eAAe;IAGhE,YACI,OAAoB,EACb,WAAmC;QAE1C,KAAK,CAAC,OAAO,CAAC,CAAA;QAFP,gBAAW,GAAX,WAAW,CAAwB;QAJrC,cAAS,GAAG,iBAAiB,CAAA;QAQtC,QAAG,GAAG,GAAG,EAAE,CACP,mCAAmC,IAAI,CAAC,WAAW,CAAC,QAAQ,eAAe,IAAI,CAAC,WAAW,CAAC,OAAO,4CAA4C,CAAA;IAFnJ,CAAC;CAGJ;AAED,MAAM,OAAO,gBAAiB,SAAQ,eAAe;IAGjD,YACI,OAAoB,EACb,MAAc;QAErB,KAAK,CAAC,OAAO,CAAC,CAAA;QAFP,WAAM,GAAN,MAAM,CAAQ;QAJhB,cAAS,GAAG,YAAY,CAAA;QAQjC,QAAG,GAAG,GAAG,EAAE,CAAC,oBAAoB,IAAI,CAAC,MAAM,GAAG,CAAA;IAD9C,CAAC;CAEJ"}
@@ -6,27 +6,27 @@ export declare abstract class Syntax_PropertyIssue extends ValidationIssue {
6
6
  constructor(context: JsonContext, property: string);
7
7
  }
8
8
  export declare class Syntax_PropertyMissingIssue extends Syntax_PropertyIssue {
9
- readonly id = "PropertyMissing";
9
+ readonly issueType = "PropertyMissing";
10
10
  protected msg: () => string;
11
11
  }
12
12
  export declare class Syntax_PropertyUnknownIssue extends Syntax_PropertyIssue {
13
- readonly id = "PropertyUnknown";
13
+ readonly issueType = "PropertyUnknown";
14
14
  protected msg: () => string;
15
15
  }
16
16
  export declare class Syntax_PropertyNullIssue extends Syntax_PropertyIssue {
17
- readonly id = "PropertyNull";
17
+ readonly issueType = "PropertyNull";
18
18
  protected msg: () => string;
19
19
  }
20
20
  export declare class Syntax_PropertyTypeIssue extends Syntax_PropertyIssue {
21
21
  protected expectedType: string;
22
22
  protected actualType: string;
23
- readonly id = "PropertyTypeIncorrect";
23
+ readonly issueType = "PropertyTypeIncorrect";
24
24
  constructor(context: JsonContext, property: string, expectedType: string, actualType: string);
25
25
  protected msg: () => string;
26
26
  }
27
27
  export declare class Syntax_ArrayContainsNull_Issue extends Syntax_PropertyIssue {
28
28
  index: number;
29
- readonly id = "ArrayContainsNull";
29
+ readonly issueType = "ArrayContainsNull";
30
30
  constructor(context: JsonContext, property: string, index: number);
31
31
  protected msg: () => string;
32
32
  }
@@ -35,19 +35,19 @@ export declare abstract class Syntax_IncorrectFormat_Issue extends ValidationIss
35
35
  constructor(context: JsonContext, value: string);
36
36
  }
37
37
  export declare class Syntax_SerializationFormatVersion_Issue extends Syntax_IncorrectFormat_Issue {
38
- readonly id = "SerializationFormatVersion";
38
+ readonly issueType = "SerializationFormatVersion";
39
39
  protected msg: () => string;
40
40
  }
41
41
  export declare class Syntax_VersionFormat_Issue extends Syntax_IncorrectFormat_Issue {
42
- readonly id = "VersionFormat";
42
+ readonly issueType = "VersionFormat";
43
43
  protected msg: () => string;
44
44
  }
45
45
  export declare class Syntax_KeyFormat_Issue extends Syntax_IncorrectFormat_Issue {
46
- readonly id = "KeyFormat";
46
+ readonly issueType = "KeyFormat";
47
47
  protected msg: () => string;
48
48
  }
49
49
  export declare class Syntax_IdFormat_Issue extends Syntax_IncorrectFormat_Issue {
50
- readonly id = "IdFormat";
50
+ readonly issueType = "IdFormat";
51
51
  protected msg: () => string;
52
52
  }
53
53
  //# sourceMappingURL=SyntaxIssues.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SyntaxIssues.d.ts","sourceRoot":"","sources":["../../src/issues/SyntaxIssues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,8BAAsB,oBAAqB,SAAQ,eAAe;IAEnD,OAAO,EAAE,WAAW;IAC3B,SAAS,CAAC,QAAQ,EAAE,MAAM;gBADnB,OAAO,EAAE,WAAW,EACjB,QAAQ,EAAE,MAAM;CAIjC;AAED,qBAAa,2BAA4B,SAAQ,oBAAoB;IACjE,QAAQ,CAAC,EAAE,qBAAoB;IAC/B,SAAS,CAAC,GAAG,eAAiD;CACjE;AAED,qBAAa,2BAA4B,SAAQ,oBAAoB;IACjE,QAAQ,CAAC,EAAE,qBAAoB;IAC/B,SAAS,CAAC,GAAG,eAA2E;CAC3F;AAED,qBAAa,wBAAyB,SAAQ,oBAAoB;IAC9D,QAAQ,CAAC,EAAE,kBAAiB;IAC5B,SAAS,CAAC,GAAG,eAA0E;CAC1F;AAED,qBAAa,wBAAyB,SAAQ,oBAAoB;IAM1D,SAAS,CAAC,YAAY,EAAE,MAAM;IAC9B,SAAS,CAAC,UAAU,EAAE,MAAM;IANhC,QAAQ,CAAC,EAAE,2BAA0B;gBAGjC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,EACN,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM;IAKhC,SAAS,CAAC,GAAG,eAA+G;CAC/H;AAED,qBAAa,8BAA+B,SAAQ,oBAAoB;IAMzD,KAAK,EAAE,MAAM;IALxB,QAAQ,CAAC,EAAE,uBAAsB;gBAG7B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,EACT,KAAK,EAAE,MAAM;IAKxB,SAAS,CAAC,GAAG,eAAiG;CACjH;AAED,8BAAsB,4BAA6B,SAAQ,eAAe;IAG3D,KAAK,EAAE,MAAM;gBADpB,OAAO,EAAE,WAAW,EACb,KAAK,EAAE,MAAM;CAI3B;AAED,qBAAa,uCAAwC,SAAQ,4BAA4B;IACrF,QAAQ,CAAC,EAAE,gCAA+B;IAC1C,SAAS,CAAC,GAAG,eAAqE;CACrF;AAED,qBAAa,0BAA2B,SAAQ,4BAA4B;IACxE,QAAQ,CAAC,EAAE,mBAAkB;IAC7B,SAAS,CAAC,GAAG,eAAsD;CACtE;AAED,qBAAa,sBAAuB,SAAQ,4BAA4B;IACpE,QAAQ,CAAC,EAAE,eAAc;IACzB,SAAS,CAAC,GAAG,eAAoD;CACpE;AAED,qBAAa,qBAAsB,SAAQ,4BAA4B;IACnE,QAAQ,CAAC,EAAE,cAAa;IACxB,SAAS,CAAC,GAAG,eAAmD;CACnE"}
1
+ {"version":3,"file":"SyntaxIssues.d.ts","sourceRoot":"","sources":["../../src/issues/SyntaxIssues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,8BAAsB,oBAAqB,SAAQ,eAAe;IAEnD,OAAO,EAAE,WAAW;IAC3B,SAAS,CAAC,QAAQ,EAAE,MAAM;gBADnB,OAAO,EAAE,WAAW,EACjB,QAAQ,EAAE,MAAM;CAIjC;AAED,qBAAa,2BAA4B,SAAQ,oBAAoB;IACjE,QAAQ,CAAC,SAAS,qBAAoB;IACtC,SAAS,CAAC,GAAG,eAAiD;CACjE;AAED,qBAAa,2BAA4B,SAAQ,oBAAoB;IACjE,QAAQ,CAAC,SAAS,qBAAoB;IACtC,SAAS,CAAC,GAAG,eAA2E;CAC3F;AAED,qBAAa,wBAAyB,SAAQ,oBAAoB;IAC9D,QAAQ,CAAC,SAAS,kBAAiB;IACnC,SAAS,CAAC,GAAG,eAA0E;CAC1F;AAED,qBAAa,wBAAyB,SAAQ,oBAAoB;IAM1D,SAAS,CAAC,YAAY,EAAE,MAAM;IAC9B,SAAS,CAAC,UAAU,EAAE,MAAM;IANhC,QAAQ,CAAC,SAAS,2BAA0B;gBAGxC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,EACN,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM;IAKhC,SAAS,CAAC,GAAG,eAA+G;CAC/H;AAED,qBAAa,8BAA+B,SAAQ,oBAAoB;IAMzD,KAAK,EAAE,MAAM;IALxB,QAAQ,CAAC,SAAS,uBAAsB;gBAGpC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,EACT,KAAK,EAAE,MAAM;IAKxB,SAAS,CAAC,GAAG,eAAiG;CACjH;AAED,8BAAsB,4BAA6B,SAAQ,eAAe;IAG3D,KAAK,EAAE,MAAM;gBADpB,OAAO,EAAE,WAAW,EACb,KAAK,EAAE,MAAM;CAI3B;AAED,qBAAa,uCAAwC,SAAQ,4BAA4B;IACrF,QAAQ,CAAC,SAAS,gCAA+B;IACjD,SAAS,CAAC,GAAG,eAAqE;CACrF;AAED,qBAAa,0BAA2B,SAAQ,4BAA4B;IACxE,QAAQ,CAAC,SAAS,mBAAkB;IACpC,SAAS,CAAC,GAAG,eAAsD;CACtE;AAED,qBAAa,sBAAuB,SAAQ,4BAA4B;IACpE,QAAQ,CAAC,SAAS,eAAc;IAChC,SAAS,CAAC,GAAG,eAAoD;CACpE;AAED,qBAAa,qBAAsB,SAAQ,4BAA4B;IACnE,QAAQ,CAAC,SAAS,cAAa;IAC/B,SAAS,CAAC,GAAG,eAAmD;CACnE"}
@@ -9,21 +9,21 @@ export class Syntax_PropertyIssue extends ValidationIssue {
9
9
  export class Syntax_PropertyMissingIssue extends Syntax_PropertyIssue {
10
10
  constructor() {
11
11
  super(...arguments);
12
- this.id = "PropertyMissing";
12
+ this.issueType = "PropertyMissing";
13
13
  this.msg = () => `Property "${this.property}" is missing`;
14
14
  }
15
15
  }
16
16
  export class Syntax_PropertyUnknownIssue extends Syntax_PropertyIssue {
17
17
  constructor() {
18
18
  super(...arguments);
19
- this.id = "PropertyUnknown";
19
+ this.issueType = "PropertyUnknown";
20
20
  this.msg = () => `Property "${this.property}" is not defined as a LionWeb property`;
21
21
  }
22
22
  }
23
23
  export class Syntax_PropertyNullIssue extends Syntax_PropertyIssue {
24
24
  constructor() {
25
25
  super(...arguments);
26
- this.id = "PropertyNull";
26
+ this.issueType = "PropertyNull";
27
27
  this.msg = () => `Property "${this.property}" is null, but it should have a value`;
28
28
  }
29
29
  }
@@ -32,7 +32,7 @@ export class Syntax_PropertyTypeIssue extends Syntax_PropertyIssue {
32
32
  super(context, property);
33
33
  this.expectedType = expectedType;
34
34
  this.actualType = actualType;
35
- this.id = "PropertyTypeIncorrect";
35
+ this.issueType = "PropertyTypeIncorrect";
36
36
  this.msg = () => `Property ${this.property} should have type "${this.expectedType}", but has type "${this.actualType}"`;
37
37
  }
38
38
  }
@@ -40,7 +40,7 @@ export class Syntax_ArrayContainsNull_Issue extends Syntax_PropertyIssue {
40
40
  constructor(context, property, index) {
41
41
  super(context, property);
42
42
  this.index = index;
43
- this.id = "ArrayContainsNull";
43
+ this.issueType = "ArrayContainsNull";
44
44
  this.msg = () => `Property "${this.property}" of type array contains null at index "${"" + this.index}" `;
45
45
  }
46
46
  }
@@ -53,28 +53,28 @@ export class Syntax_IncorrectFormat_Issue extends ValidationIssue {
53
53
  export class Syntax_SerializationFormatVersion_Issue extends Syntax_IncorrectFormat_Issue {
54
54
  constructor() {
55
55
  super(...arguments);
56
- this.id = "SerializationFormatVersion";
56
+ this.issueType = "SerializationFormatVersion";
57
57
  this.msg = () => `SerializationFormatVersion "${this.value}" is not a number`;
58
58
  }
59
59
  }
60
60
  export class Syntax_VersionFormat_Issue extends Syntax_IncorrectFormat_Issue {
61
61
  constructor() {
62
62
  super(...arguments);
63
- this.id = "VersionFormat";
63
+ this.issueType = "VersionFormat";
64
64
  this.msg = () => `Version "${this.value}" is an empty string.`;
65
65
  }
66
66
  }
67
67
  export class Syntax_KeyFormat_Issue extends Syntax_IncorrectFormat_Issue {
68
68
  constructor() {
69
69
  super(...arguments);
70
- this.id = "KeyFormat";
70
+ this.issueType = "KeyFormat";
71
71
  this.msg = () => `Key "${this.value}" has incorrect format.`;
72
72
  }
73
73
  }
74
74
  export class Syntax_IdFormat_Issue extends Syntax_IncorrectFormat_Issue {
75
75
  constructor() {
76
76
  super(...arguments);
77
- this.id = "IdFormat";
77
+ this.issueType = "IdFormat";
78
78
  this.msg = () => `Id "${this.value}" has incorrect format.`;
79
79
  }
80
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SyntaxIssues.js","sourceRoot":"","sources":["../../src/issues/SyntaxIssues.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,OAAgB,oBAAqB,SAAQ,eAAe;IAC9D,YACW,OAAoB,EACjB,QAAgB;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAA;QAHP,YAAO,GAAP,OAAO,CAAa;QACjB,aAAQ,GAAR,QAAQ,CAAQ;IAG9B,CAAC;CACJ;AAED,MAAM,OAAO,2BAA4B,SAAQ,oBAAoB;IAArE;;QACa,OAAE,GAAG,iBAAiB,CAAA;QACrB,QAAG,GAAG,GAAG,EAAE,CAAC,aAAa,IAAI,CAAC,QAAQ,cAAc,CAAA;IAClE,CAAC;CAAA;AAED,MAAM,OAAO,2BAA4B,SAAQ,oBAAoB;IAArE;;QACa,OAAE,GAAG,iBAAiB,CAAA;QACrB,QAAG,GAAG,GAAG,EAAE,CAAC,aAAa,IAAI,CAAC,QAAQ,wCAAwC,CAAA;IAC5F,CAAC;CAAA;AAED,MAAM,OAAO,wBAAyB,SAAQ,oBAAoB;IAAlE;;QACa,OAAE,GAAG,cAAc,CAAA;QAClB,QAAG,GAAG,GAAG,EAAE,CAAC,aAAa,IAAI,CAAC,QAAQ,uCAAuC,CAAA;IAC3F,CAAC;CAAA;AAED,MAAM,OAAO,wBAAyB,SAAQ,oBAAoB;IAG9D,YACI,OAAoB,EACpB,QAAgB,EACN,YAAoB,EACpB,UAAkB;QAE5B,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAHd,iBAAY,GAAZ,YAAY,CAAQ;QACpB,eAAU,GAAV,UAAU,CAAQ;QANvB,OAAE,GAAG,uBAAuB,CAAA;QAW3B,QAAG,GAAG,GAAG,EAAE,CAAC,YAAY,IAAI,CAAC,QAAQ,sBAAsB,IAAI,CAAC,YAAY,oBAAoB,IAAI,CAAC,UAAU,GAAG,CAAA;IAF5H,CAAC;CAGJ;AAED,MAAM,OAAO,8BAA+B,SAAQ,oBAAoB;IAGpE,YACI,OAAoB,EACpB,QAAgB,EACT,KAAa;QAEpB,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAFjB,UAAK,GAAL,KAAK,CAAQ;QALf,OAAE,GAAG,mBAAmB,CAAA;QAUvB,QAAG,GAAG,GAAG,EAAE,CAAC,aAAa,IAAI,CAAC,QAAQ,2CAA2C,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;IAF9G,CAAC;CAGJ;AAED,MAAM,OAAgB,4BAA6B,SAAQ,eAAe;IACtE,YACI,OAAoB,EACb,KAAa;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAA;QAFP,UAAK,GAAL,KAAK,CAAQ;IAGxB,CAAC;CACJ;AAED,MAAM,OAAO,uCAAwC,SAAQ,4BAA4B;IAAzF;;QACa,OAAE,GAAG,4BAA4B,CAAA;QAChC,QAAG,GAAG,GAAG,EAAE,CAAC,+BAA+B,IAAI,CAAC,KAAK,mBAAmB,CAAA;IACtF,CAAC;CAAA;AAED,MAAM,OAAO,0BAA2B,SAAQ,4BAA4B;IAA5E;;QACa,OAAE,GAAG,eAAe,CAAA;QACnB,QAAG,GAAG,GAAG,EAAE,CAAC,YAAY,IAAI,CAAC,KAAK,uBAAuB,CAAA;IACvE,CAAC;CAAA;AAED,MAAM,OAAO,sBAAuB,SAAQ,4BAA4B;IAAxE;;QACa,OAAE,GAAG,WAAW,CAAA;QACf,QAAG,GAAG,GAAG,EAAE,CAAC,QAAQ,IAAI,CAAC,KAAK,yBAAyB,CAAA;IACrE,CAAC;CAAA;AAED,MAAM,OAAO,qBAAsB,SAAQ,4BAA4B;IAAvE;;QACa,OAAE,GAAG,UAAU,CAAA;QACd,QAAG,GAAG,GAAG,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,yBAAyB,CAAA;IACpE,CAAC;CAAA"}
1
+ {"version":3,"file":"SyntaxIssues.js","sourceRoot":"","sources":["../../src/issues/SyntaxIssues.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,OAAgB,oBAAqB,SAAQ,eAAe;IAC9D,YACW,OAAoB,EACjB,QAAgB;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAA;QAHP,YAAO,GAAP,OAAO,CAAa;QACjB,aAAQ,GAAR,QAAQ,CAAQ;IAG9B,CAAC;CACJ;AAED,MAAM,OAAO,2BAA4B,SAAQ,oBAAoB;IAArE;;QACa,cAAS,GAAG,iBAAiB,CAAA;QAC5B,QAAG,GAAG,GAAG,EAAE,CAAC,aAAa,IAAI,CAAC,QAAQ,cAAc,CAAA;IAClE,CAAC;CAAA;AAED,MAAM,OAAO,2BAA4B,SAAQ,oBAAoB;IAArE;;QACa,cAAS,GAAG,iBAAiB,CAAA;QAC5B,QAAG,GAAG,GAAG,EAAE,CAAC,aAAa,IAAI,CAAC,QAAQ,wCAAwC,CAAA;IAC5F,CAAC;CAAA;AAED,MAAM,OAAO,wBAAyB,SAAQ,oBAAoB;IAAlE;;QACa,cAAS,GAAG,cAAc,CAAA;QACzB,QAAG,GAAG,GAAG,EAAE,CAAC,aAAa,IAAI,CAAC,QAAQ,uCAAuC,CAAA;IAC3F,CAAC;CAAA;AAED,MAAM,OAAO,wBAAyB,SAAQ,oBAAoB;IAG9D,YACI,OAAoB,EACpB,QAAgB,EACN,YAAoB,EACpB,UAAkB;QAE5B,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAHd,iBAAY,GAAZ,YAAY,CAAQ;QACpB,eAAU,GAAV,UAAU,CAAQ;QANvB,cAAS,GAAG,uBAAuB,CAAA;QAWlC,QAAG,GAAG,GAAG,EAAE,CAAC,YAAY,IAAI,CAAC,QAAQ,sBAAsB,IAAI,CAAC,YAAY,oBAAoB,IAAI,CAAC,UAAU,GAAG,CAAA;IAF5H,CAAC;CAGJ;AAED,MAAM,OAAO,8BAA+B,SAAQ,oBAAoB;IAGpE,YACI,OAAoB,EACpB,QAAgB,EACT,KAAa;QAEpB,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAFjB,UAAK,GAAL,KAAK,CAAQ;QALf,cAAS,GAAG,mBAAmB,CAAA;QAU9B,QAAG,GAAG,GAAG,EAAE,CAAC,aAAa,IAAI,CAAC,QAAQ,2CAA2C,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;IAF9G,CAAC;CAGJ;AAED,MAAM,OAAgB,4BAA6B,SAAQ,eAAe;IACtE,YACI,OAAoB,EACb,KAAa;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAA;QAFP,UAAK,GAAL,KAAK,CAAQ;IAGxB,CAAC;CACJ;AAED,MAAM,OAAO,uCAAwC,SAAQ,4BAA4B;IAAzF;;QACa,cAAS,GAAG,4BAA4B,CAAA;QACvC,QAAG,GAAG,GAAG,EAAE,CAAC,+BAA+B,IAAI,CAAC,KAAK,mBAAmB,CAAA;IACtF,CAAC;CAAA;AAED,MAAM,OAAO,0BAA2B,SAAQ,4BAA4B;IAA5E;;QACa,cAAS,GAAG,eAAe,CAAA;QAC1B,QAAG,GAAG,GAAG,EAAE,CAAC,YAAY,IAAI,CAAC,KAAK,uBAAuB,CAAA;IACvE,CAAC;CAAA;AAED,MAAM,OAAO,sBAAuB,SAAQ,4BAA4B;IAAxE;;QACa,cAAS,GAAG,WAAW,CAAA;QACtB,QAAG,GAAG,GAAG,EAAE,CAAC,QAAQ,IAAI,CAAC,KAAK,yBAAyB,CAAA;IACrE,CAAC;CAAA;AAED,MAAM,OAAO,qBAAsB,SAAQ,4BAA4B;IAAvE;;QACa,cAAS,GAAG,UAAU,CAAA;QACrB,QAAG,GAAG,GAAG,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,yBAAyB,CAAA;IACpE,CAAC;CAAA"}
@@ -1,9 +1,15 @@
1
1
  import { JsonContext } from "../json/JsonContext.js";
2
2
  export declare abstract class ValidationIssue {
3
- abstract readonly id: string;
3
+ abstract readonly issueType: string;
4
4
  context: JsonContext;
5
5
  constructor(context: JsonContext);
6
6
  protected abstract msg(): string;
7
7
  errorMsg(): string;
8
8
  }
9
+ export declare class GenericIssue extends ValidationIssue {
10
+ text: string;
11
+ readonly issueType = "GenericIssue";
12
+ constructor(context: JsonContext, text: string);
13
+ protected msg: () => string;
14
+ }
9
15
  //# sourceMappingURL=ValidationIssue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationIssue.d.ts","sourceRoot":"","sources":["../../src/issues/ValidationIssue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,8BAAsB,eAAe;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IAC5B,OAAO,EAAE,WAAW,CAAA;gBAER,OAAO,EAAE,WAAW;IAIhC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,MAAM;IAEzB,QAAQ,IAAI,MAAM;CAG5B"}
1
+ {"version":3,"file":"ValidationIssue.d.ts","sourceRoot":"","sources":["../../src/issues/ValidationIssue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,8BAAsB,eAAe;IACjC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IACnC,OAAO,EAAE,WAAW,CAAA;gBAER,OAAO,EAAE,WAAW;IAIhC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,MAAM;IAEzB,QAAQ,IAAI,MAAM;CAG5B;AAED,qBAAa,YAAa,SAAQ,eAAe;IAGJ,IAAI,EAAE,MAAM;IAFrD,QAAQ,CAAC,SAAS,kBAAiB;gBAEvB,OAAO,EAAE,WAAW,EAAS,IAAI,EAAE,MAAM;IAIrD,SAAS,CAAC,GAAG,eAAkB;CAClC"}
@@ -3,7 +3,15 @@ export class ValidationIssue {
3
3
  this.context = context;
4
4
  }
5
5
  errorMsg() {
6
- return `${this.id}: ${this.msg()} at ${this.context.toString()} `;
6
+ return `${this.issueType}: ${this.msg()} at ${this.context.toString()} `;
7
+ }
8
+ }
9
+ export class GenericIssue extends ValidationIssue {
10
+ constructor(context, text) {
11
+ super(context);
12
+ this.text = text;
13
+ this.issueType = "GenericIssue";
14
+ this.msg = () => this.text;
7
15
  }
8
16
  }
9
17
  //# sourceMappingURL=ValidationIssue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationIssue.js","sourceRoot":"","sources":["../../src/issues/ValidationIssue.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,eAAe;IAIjC,YAAY,OAAoB;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAIM,QAAQ;QACX,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAA;IACrE,CAAC;CACJ"}
1
+ {"version":3,"file":"ValidationIssue.js","sourceRoot":"","sources":["../../src/issues/ValidationIssue.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,eAAe;IAIjC,YAAY,OAAoB;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAIM,QAAQ;QACX,OAAO,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,GAAG,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAA;IAC5E,CAAC;CACJ;AAED,MAAM,OAAO,YAAa,SAAQ,eAAe;IAG7C,YAAY,OAAoB,EAAS,IAAY;QACjD,KAAK,CAAC,OAAO,CAAC,CAAA;QADuB,SAAI,GAAJ,IAAI,CAAQ;QAF5C,cAAS,GAAG,cAAc,CAAA;QAMzB,QAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAA;IAF/B,CAAC;CAGJ"}
@@ -3,20 +3,7 @@
3
3
  * @see https://lionweb-io.github.io/specification/serialization/serialization.html
4
4
  * We use types instead of classes, because the purpose is to define the Lionweb JSON to be sent over the line.
5
5
  */
6
- export declare const LION_CORE_BUILTINS_KEY = "LionCore-builtins";
7
- export declare const LION_CORE_BUILTINS_INAMED_NAME = "LionCore-builtins-INamed-name";
8
- export declare const LION_CORE_M3_KEY = "LionCore-M3";
9
- export declare const LION_CORE_M3_NAME = "LionCore_M3";
10
- export declare const LION_CORE_M3_VERSION = "2023.1";
11
- export declare const LIONWEB_BOOLEAN_TYPE = "LionCore-builtins-Boolean";
12
- export declare const LIONWEB_JSON_TYPE = "LionCore-builtins-JSON";
13
- export declare const LIONWEB_INTEGER_TYPE = "LionCore-builtins-Integer";
14
- export declare const LIONWEB_STRING_TYPE = "LionCore-builtins-String";
15
- export declare const LIONWEB_M3_INAMED_PROPERTY: {
16
- language: string;
17
- version: string;
18
- key: string;
19
- };
6
+ export declare function isLionWebM3Language(language: LwJsonUsedLanguage): boolean;
20
7
  export type LionWebId = string;
21
8
  export type LionWebJsonMetaPointer = {
22
9
  language: string;
@@ -1 +1 @@
1
- {"version":3,"file":"LionWebJson.d.ts","sourceRoot":"","sources":["../../src/json/LionWebJson.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,sBAAsB,CAAA;AACzD,eAAO,MAAM,8BAA8B,kCAAkC,CAAA;AAC7E,eAAO,MAAM,gBAAgB,gBAAgB,CAAA;AAC7C,eAAO,MAAM,iBAAiB,gBAAgB,CAAA;AAC9C,eAAO,MAAM,oBAAoB,WAAW,CAAA;AAE5C,eAAO,MAAM,oBAAoB,8BAA8B,CAAA;AAC/D,eAAO,MAAM,iBAAiB,2BAA2B,CAAA;AACzD,eAAO,MAAM,oBAAoB,8BAA8B,CAAA;AAC/D,eAAO,MAAM,mBAAmB,6BAA6B,CAAA;AAE7D,eAAO,MAAM,0BAA0B;;;;CAItC,CAAA;AACD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAE9B,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACd,CAAA;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,sBAAsB,GAAG,OAAO,CAElG;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAErH;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,0BAA0B,EAAE,MAAM,CAAA;IAClC,SAAS,EAAE,kBAAkB,EAAE,CAAA;IAC/B,KAAK,EAAE,eAAe,EAAE,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,EAAE,EAAE,SAAS,CAAA;IACb,UAAU,EAAE,sBAAsB,CAAA;IAClC,UAAU,EAAE,mBAAmB,EAAE,CAAA;IACjC,YAAY,EAAE,sBAAsB,EAAE,CAAA;IACtC,UAAU,EAAE,oBAAoB,EAAE,CAAA;IAClC,WAAW,EAAE,SAAS,EAAE,CAAA;IACxB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAA;CAC3B,CAAA;AAED,wBAAgB,YAAY,IAAI,eAAe,CAU9C;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,EAAE,sBAAsB,CAAA;IAChC,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,WAAW,EAAE,sBAAsB,CAAA;IACnC,QAAQ,EAAE,SAAS,EAAE,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IAC/B,SAAS,EAAE,sBAAsB,CAAA;IACjC,OAAO,EAAE,0BAA0B,EAAE,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;CACvB,CAAA"}
1
+ {"version":3,"file":"LionWebJson.d.ts","sourceRoot":"","sources":["../../src/json/LionWebJson.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAGH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAEzE;AACD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAE9B,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACd,CAAA;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,sBAAsB,GAAG,OAAO,CAElG;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAErH;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,0BAA0B,EAAE,MAAM,CAAA;IAClC,SAAS,EAAE,kBAAkB,EAAE,CAAA;IAC/B,KAAK,EAAE,eAAe,EAAE,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,EAAE,EAAE,SAAS,CAAA;IACb,UAAU,EAAE,sBAAsB,CAAA;IAClC,UAAU,EAAE,mBAAmB,EAAE,CAAA;IACjC,YAAY,EAAE,sBAAsB,EAAE,CAAA;IACtC,UAAU,EAAE,oBAAoB,EAAE,CAAA;IAClC,WAAW,EAAE,SAAS,EAAE,CAAA;IACxB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAA;CAC3B,CAAA;AAED,wBAAgB,YAAY,IAAI,eAAe,CAU9C;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,EAAE,sBAAsB,CAAA;IAChC,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,WAAW,EAAE,sBAAsB,CAAA;IACnC,QAAQ,EAAE,SAAS,EAAE,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IAC/B,SAAS,EAAE,sBAAsB,CAAA;IACjC,OAAO,EAAE,0BAA0B,EAAE,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;CACvB,CAAA"}
@@ -1,22 +1,12 @@
1
+ import { LION_CORE_M3_KEY, LION_CORE_M3_VERSION } from "./M3definitions.js";
1
2
  /**
2
3
  * The types defining the structure of the LionWeb JSON format.
3
4
  * @see https://lionweb-io.github.io/specification/serialization/serialization.html
4
5
  * We use types instead of classes, because the purpose is to define the Lionweb JSON to be sent over the line.
5
6
  */
6
- export const LION_CORE_BUILTINS_KEY = "LionCore-builtins";
7
- export const LION_CORE_BUILTINS_INAMED_NAME = "LionCore-builtins-INamed-name";
8
- export const LION_CORE_M3_KEY = "LionCore-M3";
9
- export const LION_CORE_M3_NAME = "LionCore_M3";
10
- export const LION_CORE_M3_VERSION = "2023.1";
11
- export const LIONWEB_BOOLEAN_TYPE = "LionCore-builtins-Boolean";
12
- export const LIONWEB_JSON_TYPE = "LionCore-builtins-JSON";
13
- export const LIONWEB_INTEGER_TYPE = "LionCore-builtins-Integer";
14
- export const LIONWEB_STRING_TYPE = "LionCore-builtins-String";
15
- export const LIONWEB_M3_INAMED_PROPERTY = {
16
- language: LION_CORE_BUILTINS_KEY,
17
- version: LION_CORE_M3_VERSION,
18
- key: LION_CORE_BUILTINS_INAMED_NAME
19
- };
7
+ export function isLionWebM3Language(language) {
8
+ return language.key === LION_CORE_M3_KEY && language.version === LION_CORE_M3_VERSION;
9
+ }
20
10
  export function isEqualMetaPointer(p1, p2) {
21
11
  return p1.key === p2.key && p1.version === p2.version && p1.language === p2.language;
22
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LionWebJson.js","sourceRoot":"","sources":["../../src/json/LionWebJson.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAA;AACzD,MAAM,CAAC,MAAM,8BAA8B,GAAG,+BAA+B,CAAA;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAA;AAC7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAA;AAC9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAA;AAE5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,2BAA2B,CAAA;AAC/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAA;AACzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,2BAA2B,CAAA;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,0BAA0B,CAAA;AAE7D,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACtC,QAAQ,EAAE,sBAAsB;IAChC,OAAO,EAAE,oBAAoB;IAC7B,GAAG,EAAE,8BAA8B;CACtC,CAAA;AASD,MAAM,UAAU,kBAAkB,CAAC,EAA0B,EAAE,EAA0B;IACrF,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC,QAAQ,CAAA;AACxF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAiC,EAAE,MAAkC;IACxG,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,CAAA;AAC3F,CAAC;AAuBD,MAAM,UAAU,YAAY;IACxB,OAAO;QACH,EAAE,EAAE,EAAE;QACN,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QAClD,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,IAAI;KACf,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"LionWebJson.js","sourceRoot":"","sources":["../../src/json/LionWebJson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAE3E;;;;GAIG;AAGH,MAAM,UAAU,mBAAmB,CAAC,QAA4B;IAC5D,OAAO,QAAQ,CAAC,GAAG,KAAK,gBAAgB,IAAI,QAAQ,CAAC,OAAO,KAAK,oBAAoB,CAAA;AACzF,CAAC;AASD,MAAM,UAAU,kBAAkB,CAAC,EAA0B,EAAE,EAA0B;IACrF,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC,QAAQ,CAAA;AACxF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAiC,EAAE,MAAkC;IACxG,OAAO,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,CAAA;AAC3F,CAAC;AAuBD,MAAM,UAAU,YAAY;IACxB,OAAO;QACH,EAAE,EAAE,EAAE;QACN,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QAClD,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,IAAI;KACf,CAAA;AACL,CAAC"}
@@ -1,25 +1,37 @@
1
- import { LionWebId, LionWebJsonChunk, LionWebJsonNode, LionWebJsonProperty } from "./LionWebJson.js";
2
- import { LionWebLanguageDefinition } from "./LionWebLanguageDefinition.js";
1
+ import { LionWebId, LionWebJsonChunk, LionWebJsonContainment, LionWebJsonMetaPointer, LionWebJsonNode, LionWebJsonReference } from "./LionWebJson.js";
3
2
  /**
4
- * Wraps around a LionWebJsonChunk, providing access to information inside, using caches to improve performance.
3
+ * Wraps around a LionWebJsonChunk, providing access to information inside, might be using caches to improve performance.
5
4
  * NB Make sure that the contents of the chunk are not changed after creating the wrapper!
5
+ * NB BE aware that with `pushChunk(...)` the original chunk will be changed.
6
6
  */
7
7
  export declare class LionWebJsonChunkWrapper {
8
8
  jsonChunk: LionWebJsonChunk;
9
- language: LionWebLanguageDefinition | null;
10
9
  /**
11
10
  * Map to get quick access to nodes by id.
12
11
  * @protected
13
12
  */
14
13
  protected nodesIdMap: Map<LionWebId, LionWebJsonNode>;
15
- constructor(chunk: unknown);
14
+ /**
15
+ * Create a wrapper with `chunk` as its chunk
16
+ * @param chunk
17
+ */
18
+ constructor(chunk: LionWebJsonChunk);
16
19
  /** Put all nodes in a map, validate that there are no two nodes with the same id.
17
20
  * The check should logically be in LionWebReferenceValidator, but the created map is needed here.
18
21
  */
19
- prepareNodeIds(): void;
22
+ prepareNodeIds(chunk: LionWebJsonChunk): void;
20
23
  getNode(id: string): LionWebJsonNode | undefined;
21
- findNodesOfConcept(conceptKey: string): LionWebJsonNode[];
22
- allProperties(conceptNode: LionWebJsonNode): LionWebJsonProperty[];
24
+ findNodesOfClassifier(concept: LionWebJsonMetaPointer): LionWebJsonNode[];
25
+ /**
26
+ * Return the target nodes inside `reference` as a list of actual nodes (LionWebJsonNode[])
27
+ * @param reference
28
+ */
29
+ getReferredNodes(reference: LionWebJsonReference | undefined): LionWebJsonNode[];
30
+ /**
31
+ * Return the target nodes inside `reference` as a list of actual nodes (LionWebJsonNode[])
32
+ * @param reference
33
+ */
34
+ getChildrenAsNodes(containment: LionWebJsonContainment | undefined): LionWebJsonNode[];
23
35
  asString(): string;
24
36
  private recursiveToString;
25
37
  private indent;
@@ -1 +1 @@
1
- {"version":3,"file":"LionWebJsonChunkWrapper.d.ts","sourceRoot":"","sources":["../../src/json/LionWebJsonChunkWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACtB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAG1E;;;GAGG;AACH,qBAAa,uBAAuB;IAChC,SAAS,EAAE,gBAAgB,CAAA;IAC3B,QAAQ,EAAE,yBAAyB,GAAG,IAAI,CAAO;IACjD;;;OAGG;IACH,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAwC;gBAEjF,KAAK,EAAE,OAAO;IAK1B;;OAEG;IACH,cAAc;IAMd,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIhD,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,EAAE;IAIzD,aAAa,CAAC,WAAW,EAAE,eAAe,GAAG,mBAAmB,EAAE;IAgBlE,QAAQ,IAAI,MAAM;IAUlB,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,MAAM;CAGjB"}
1
+ {"version":3,"file":"LionWebJsonChunkWrapper.d.ts","sourceRoot":"","sources":["../../src/json/LionWebJsonChunkWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,SAAS,EACT,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACvB,MAAM,kBAAkB,CAAA;AAIzB;;;;GAIG;AACH,qBAAa,uBAAuB;IAChC,SAAS,EAAE,gBAAgB,CAAA;IAC3B;;;OAGG;IACH,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAwC;IAE7F;;;OAGG;gBACS,KAAK,EAAE,gBAAgB;IAKnC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,gBAAgB;IAMtC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIhD,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,EAAE;IAIzE;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,oBAAoB,GAAG,SAAS;IAe5D;;;OAGG;IACH,kBAAkB,CAAC,WAAW,EAAE,sBAAsB,GAAG,SAAS;IAclE,QAAQ,IAAI,MAAM;IAUlB,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,MAAM;CAGjB"}
@@ -1,47 +1,73 @@
1
- import { LIONWEB_M3_INAMED_PROPERTY } from "./LionWebJson.js";
1
+ import { isEqualMetaPointer } from "./LionWebJson.js";
2
+ import { MetaPointers } from "./M3definitions.js";
2
3
  import { NodeUtils } from "./NodeUtils.js";
3
4
  /**
4
- * Wraps around a LionWebJsonChunk, providing access to information inside, using caches to improve performance.
5
+ * Wraps around a LionWebJsonChunk, providing access to information inside, might be using caches to improve performance.
5
6
  * NB Make sure that the contents of the chunk are not changed after creating the wrapper!
7
+ * NB BE aware that with `pushChunk(...)` the original chunk will be changed.
6
8
  */
7
9
  export class LionWebJsonChunkWrapper {
10
+ /**
11
+ * Create a wrapper with `chunk` as its chunk
12
+ * @param chunk
13
+ */
8
14
  constructor(chunk) {
9
- this.language = null;
10
15
  /**
11
16
  * Map to get quick access to nodes by id.
12
17
  * @protected
13
18
  */
14
19
  this.nodesIdMap = new Map();
15
20
  this.jsonChunk = chunk;
16
- this.prepareNodeIds();
21
+ this.prepareNodeIds(chunk);
17
22
  }
18
23
  /** Put all nodes in a map, validate that there are no two nodes with the same id.
19
24
  * The check should logically be in LionWebReferenceValidator, but the created map is needed here.
20
25
  */
21
- prepareNodeIds() {
22
- this.jsonChunk.nodes.forEach(node => {
26
+ prepareNodeIds(chunk) {
27
+ chunk.nodes.forEach(node => {
23
28
  this.nodesIdMap.set(node.id, node);
24
29
  });
25
30
  }
26
31
  getNode(id) {
27
32
  return this.nodesIdMap.get(id);
28
33
  }
29
- findNodesOfConcept(conceptKey) {
30
- return this.jsonChunk.nodes.filter(node => node.classifier.key === conceptKey);
34
+ findNodesOfClassifier(concept) {
35
+ return this.jsonChunk.nodes.filter(node => isEqualMetaPointer(node.classifier, concept));
31
36
  }
32
- allProperties(conceptNode) {
33
- const result = [];
34
- result.push(...conceptNode.properties);
35
- const extendsReference = NodeUtils.findLwReference(conceptNode, "Concept-extends");
36
- if (extendsReference !== null) {
37
- // extendsReference.targets.forEach(target => {
38
- // // Find the extended concept
39
- // if (this.language !== null) {
40
- // // const targetNode = this.language.languageChunkWrapper.getNode(target.reference);
41
- // // TODO etc., but need to cleanup LanguageDefinition first.
42
- // }
43
- // });
37
+ /**
38
+ * Return the target nodes inside `reference` as a list of actual nodes (LionWebJsonNode[])
39
+ * @param reference
40
+ */
41
+ getReferredNodes(reference) {
42
+ if (reference === undefined) {
43
+ return [];
44
44
  }
45
+ const result = reference.targets.flatMap(target => {
46
+ if (target.reference === null) {
47
+ return [];
48
+ }
49
+ else {
50
+ const referredNode = this.getNode(target.reference);
51
+ return referredNode === undefined ? [] : [referredNode];
52
+ }
53
+ });
54
+ return result;
55
+ }
56
+ /**
57
+ * Return the target nodes inside `reference` as a list of actual nodes (LionWebJsonNode[])
58
+ * @param reference
59
+ */
60
+ getChildrenAsNodes(containment) {
61
+ if (containment === undefined) {
62
+ return [];
63
+ }
64
+ const result = [];
65
+ containment.children.forEach(ch => {
66
+ const childNode = this.getNode(ch);
67
+ if (childNode !== undefined) {
68
+ result.push(childNode);
69
+ }
70
+ });
45
71
  return result;
46
72
  }
47
73
  asString() {
@@ -58,7 +84,7 @@ export class LionWebJsonChunkWrapper {
58
84
  return "";
59
85
  }
60
86
  let result = "";
61
- const nameProperty = NodeUtils.findProperty(node, LIONWEB_M3_INAMED_PROPERTY);
87
+ const nameProperty = NodeUtils.findProperty(node, MetaPointers.INamedName);
62
88
  const name = nameProperty === undefined ? "" : " " + nameProperty.value;
63
89
  result += this.indent(depth) + "(" + node.id + ")" + name + "\n";
64
90
  if (node.annotations !== undefined && node.annotations.length !== 0) {
@@ -68,7 +94,9 @@ export class LionWebJsonChunkWrapper {
68
94
  // result += this.indent(depth) + "[[" + JSON.stringify(ann) + "]]\n"
69
95
  });
70
96
  }
71
- node.properties.filter(p => p !== nameProperty).forEach(property => {
97
+ node.properties
98
+ .filter(p => p !== nameProperty)
99
+ .forEach(property => {
72
100
  result += this.indent(depth + 1) + "*property* " + property.property.key + ": " + property.value + "\n";
73
101
  });
74
102
  node.references.forEach(ref => {
@@ -1 +1 @@
1
- {"version":3,"file":"LionWebJsonChunkWrapper.js","sourceRoot":"","sources":["../../src/json/LionWebJsonChunkWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LionWebJsonChunkWrapper.js","sourceRoot":"","sources":["../../src/json/LionWebJsonChunkWrapper.ts"],"names":[],"mappings":"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"}