@lionweb/validation 0.6.0-beta.4 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,27 +5,22 @@ This package is intentionally kept very lightweight, e.g. it uses types instead
5
5
 
6
6
  It's tested by running the validators against the [test set in `lionweb-integration-testing/testset`](https://github.com/LionWeb-io/lionweb-integration-testing/tree/main/testset).
7
7
 
8
- To run the tests, checkout the `lionweb-integration-testing` project in next to the `lionweb-typescript` project, and run:
9
-
10
- ```shell
11
- # install dependencies and build source:
12
- ./build.sh
13
-
14
- # run the tests in the test set:
15
- npm run testValid
16
- npm run testInvalid
17
- npm run testValidWithLanguage
18
- npm run testInvalidWithLanguage
8
+ To make the testset available in this propject, run
9
+ ```
10
+ npm run setup
11
+ ```
12
+ To build from soure:
13
+ ```
14
+ npm run build
15
+ ```
16
+ To run the tests:
17
+ ```
18
+ npm run test
19
19
  ```
20
20
 
21
- This will run the tests in the respective folders in the `testset/` folder in `lionweb-integration-testing`.
22
-
23
- The commands `npm run publish-local` and `npm run unpublish-local` are used to do a release on a _local_ npm registry (in our case `verdaccio`), for use in other local projects. This ensures that we do not have to do contineous releases when we develop two packages depending on aech other'
21
+ This will run the tests in the respective folders in the `testset/` folder of `lionweb-integration-testing`.
24
22
 
25
- Notes:
26
- - Testing with enums is not implemented yet.
27
- - All tests in the test set with duplicates (which used to be considered invalid), are not invalid anymore, as decided in the meeting on 23-08-2023.
28
- They should be moved to valid.
23
+ The commands `npm run publish-local` and `npm run unpublish-local` are used to do a release on a _local_ npm registry (in our case `verdaccio`), for use in other local projects. This ensures that we do not have to do contineous releases when we develop two packages depending on aech other.
29
24
 
30
25
  The test runner runs tests at various levels similar (but probably not quite) as described in the [model correctness document](https://github.com/LionWeb-io/specification/blob/meinte/correctness/documentation/correctness.adoc).
31
26
  These two should converge in the future.
@@ -59,7 +59,7 @@ export class LionWebJsonDiff {
59
59
  // NB No containment is considered equivalent to a containment with empty _children_
60
60
  if (beforeContainment.children.length !== 0) {
61
61
  beforeContainment.children.forEach(childId => {
62
- this.change(new ChildRemoved(ctx.concat("containments", index), beforeNode, beforeContainment.containment, childId, Missing.MissingAfter));
62
+ this.change(new ChildRemoved(ctx.concat("containments", index), beforeNode, beforeContainment.containment, afterContainment, childId, Missing.MissingAfter));
63
63
  });
64
64
  }
65
65
  }
@@ -73,7 +73,7 @@ export class LionWebJsonDiff {
73
73
  if (beforeContainment === null) {
74
74
  if (afterContainment.children.length !== 0) {
75
75
  afterContainment.children.forEach(childId => {
76
- this.change(new ChildAdded(ctx.concat("containments", index), afterNode, afterContainment.containment, childId, Missing.MissingBefore));
76
+ this.change(new ChildAdded(ctx.concat("containments", index), afterNode, afterContainment.containment, afterContainment, childId, Missing.MissingBefore));
77
77
  });
78
78
  }
79
79
  }
@@ -179,19 +179,19 @@ export class LionWebJsonDiff {
179
179
  for (const childId1 of beforeContainment.children) {
180
180
  if (!afterContainment.children.includes(childId1)) {
181
181
  changeFound = true;
182
- this.change(new ChildRemoved(ctx, node, beforeContainment.containment, childId1));
182
+ this.change(new ChildRemoved(ctx, node, beforeContainment.containment, afterContainment, childId1));
183
183
  }
184
184
  }
185
185
  for (const childId2 of afterContainment.children) {
186
186
  if (!beforeContainment.children.includes(childId2)) {
187
187
  changeFound = true;
188
- this.change(new ChildAdded(ctx, node, beforeContainment.containment, childId2));
188
+ this.change(new ChildAdded(ctx, node, beforeContainment.containment, afterContainment, childId2));
189
189
  }
190
190
  }
191
191
  if (!changeFound) {
192
192
  for (let i = 0; i < afterContainment.children.length; i++) {
193
193
  if (afterContainment.children[i] !== beforeContainment.children[i]) {
194
- this.change(new ChildOrderChanged(ctx.concat("children"), node, afterContainment.containment, ""));
194
+ this.change(new ChildOrderChanged(ctx.concat("children"), node, afterContainment.containment, afterContainment, ""));
195
195
  break;
196
196
  }
197
197
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LionWebJsonDiff.js","sourceRoot":"","sources":["../../src/diff/LionWebJsonDiff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LionWebJsonDiff.js","sourceRoot":"","sources":["../../src/diff/LionWebJsonDiff.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
1
  import { JsonContext } from "../../issues/index.js";
2
- import { LionWebJsonMetaPointer, LionWebJsonNode } from "../../json/index.js";
2
+ import { LionWebJsonContainment, LionWebJsonMetaPointer, LionWebJsonNode } from "../../json/index.js";
3
3
  import { Change, Missing } from "./Change.js";
4
4
  export declare abstract class ContainmentChange extends Change {
5
5
  context: JsonContext;
6
6
  parentNode: LionWebJsonNode;
7
7
  containment: LionWebJsonMetaPointer;
8
+ afterContainment: LionWebJsonContainment | null;
8
9
  childId: string;
9
10
  missing: Missing;
10
- constructor(context: JsonContext, parentNode: LionWebJsonNode, containment: LionWebJsonMetaPointer, childId: string, missing?: Missing);
11
+ constructor(context: JsonContext, parentNode: LionWebJsonNode, containment: LionWebJsonMetaPointer, afterContainment: LionWebJsonContainment | null, childId: string, missing?: Missing);
11
12
  }
12
13
  export declare class ChildAdded extends ContainmentChange {
13
14
  readonly changeType = "ChildAdded";
@@ -1 +1 @@
1
- {"version":3,"file":"ContainmentChange.d.ts","sourceRoot":"","sources":["../../../src/diff/changes/ContainmentChange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE7C,8BAAsB,iBAAkB,SAAQ,MAAM;IAEvC,OAAO,EAAE,WAAW;IACpB,UAAU,EAAE,eAAe;IAC3B,WAAW,EAAE,sBAAsB;IACnC,OAAO,EAAE,MAAM;IACf,OAAO;gBAJP,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,eAAe,EAC3B,WAAW,EAAE,sBAAsB,EACnC,OAAO,EAAE,MAAM,EACf,OAAO,UAAqB;CAI1C;AAED,qBAAa,UAAW,SAAQ,iBAAiB;IAC7C,QAAQ,CAAC,UAAU,gBAAe;IAClC,SAAS,CAAC,GAAG,eAA4G;CAC5H;AAED,qBAAa,YAAa,SAAQ,iBAAiB;IAC/C,QAAQ,CAAC,UAAU,kBAAiB;IACpC,SAAS,CAAC,GAAG,eAAkH;CAClI;AAED,qBAAa,iBAAkB,SAAQ,iBAAiB;IACpD,QAAQ,CAAC,UAAU,uBAAsB;IACzC,SAAS,CAAC,GAAG,eAA0G;CAC1H"}
1
+ {"version":3,"file":"ContainmentChange.d.ts","sourceRoot":"","sources":["../../../src/diff/changes/ContainmentChange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE7C,8BAAsB,iBAAkB,SAAQ,MAAM;IAEvC,OAAO,EAAE,WAAW;IACpB,UAAU,EAAE,eAAe;IAC3B,WAAW,EAAE,sBAAsB;IACnC,gBAAgB,EAAE,sBAAsB,GAAG,IAAI;IAC/C,OAAO,EAAE,MAAM;IACf,OAAO;gBALP,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,eAAe,EAC3B,WAAW,EAAE,sBAAsB,EACnC,gBAAgB,EAAE,sBAAsB,GAAG,IAAI,EAC/C,OAAO,EAAE,MAAM,EACf,OAAO,UAAqB;CAI1C;AAED,qBAAa,UAAW,SAAQ,iBAAiB;IAC7C,QAAQ,CAAC,UAAU,gBAAe;IAClC,SAAS,CAAC,GAAG,eAA4G;CAC5H;AAED,qBAAa,YAAa,SAAQ,iBAAiB;IAC/C,QAAQ,CAAC,UAAU,kBAAiB;IACpC,SAAS,CAAC,GAAG,eAAkH;CAClI;AAED,qBAAa,iBAAkB,SAAQ,iBAAiB;IACpD,QAAQ,CAAC,UAAU,uBAAsB;IACzC,SAAS,CAAC,GAAG,eAA0G;CAC1H"}
@@ -1,10 +1,11 @@
1
1
  import { Change, Missing } from "./Change.js";
2
2
  export class ContainmentChange extends Change {
3
- constructor(context, parentNode, containment, childId, missing = Missing.NotMissing) {
3
+ constructor(context, parentNode, containment, afterContainment, childId, missing = Missing.NotMissing) {
4
4
  super(context);
5
5
  this.context = context;
6
6
  this.parentNode = parentNode;
7
7
  this.containment = containment;
8
+ this.afterContainment = afterContainment;
8
9
  this.childId = childId;
9
10
  this.missing = missing;
10
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ContainmentChange.js","sourceRoot":"","sources":["../../../src/diff/changes/ContainmentChange.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE7C,MAAM,OAAgB,iBAAkB,SAAQ,MAAM;IAClD,YACW,OAAoB,EACpB,UAA2B,EAC3B,WAAmC,EACnC,OAAe,EACf,UAAU,OAAO,CAAC,UAAU;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAA;QANP,YAAO,GAAP,OAAO,CAAa;QACpB,eAAU,GAAV,UAAU,CAAiB;QAC3B,gBAAW,GAAX,WAAW,CAAwB;QACnC,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAqB;IAGvC,CAAC;CACJ;AAED,MAAM,OAAO,UAAW,SAAQ,iBAAiB;IAAjD;;QACa,eAAU,GAAG,YAAY,CAAA;QACxB,QAAG,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,EAAE,kBAAkB,IAAI,CAAC,OAAO,oBAAoB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;IAC7H,CAAC;CAAA;AAED,MAAM,OAAO,YAAa,SAAQ,iBAAiB;IAAnD;;QACa,eAAU,GAAG,cAAc,CAAA;QAC1B,QAAG,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,EAAE,oBAAoB,IAAI,CAAC,OAAO,uBAAuB,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAA;IACnI,CAAC;CAAA;AAED,MAAM,OAAO,iBAAkB,SAAQ,iBAAiB;IAAxD;;QACa,eAAU,GAAG,mBAAmB,CAAA;QAC/B,QAAG,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,EAAE,+CAA+C,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAA;IAC3H,CAAC;CAAA"}
1
+ {"version":3,"file":"ContainmentChange.js","sourceRoot":"","sources":["../../../src/diff/changes/ContainmentChange.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE7C,MAAM,OAAgB,iBAAkB,SAAQ,MAAM;IAClD,YACW,OAAoB,EACpB,UAA2B,EAC3B,WAAmC,EACnC,gBAA+C,EAC/C,OAAe,EACf,UAAU,OAAO,CAAC,UAAU;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAA;QAPP,YAAO,GAAP,OAAO,CAAa;QACpB,eAAU,GAAV,UAAU,CAAiB;QAC3B,gBAAW,GAAX,WAAW,CAAwB;QACnC,qBAAgB,GAAhB,gBAAgB,CAA+B;QAC/C,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAqB;IAGvC,CAAC;CACJ;AAED,MAAM,OAAO,UAAW,SAAQ,iBAAiB;IAAjD;;QACa,eAAU,GAAG,YAAY,CAAA;QACxB,QAAG,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,EAAE,kBAAkB,IAAI,CAAC,OAAO,oBAAoB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;IAC7H,CAAC;CAAA;AAED,MAAM,OAAO,YAAa,SAAQ,iBAAiB;IAAnD;;QACa,eAAU,GAAG,cAAc,CAAA;QAC1B,QAAG,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,EAAE,oBAAoB,IAAI,CAAC,OAAO,uBAAuB,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAA;IACnI,CAAC;CAAA;AAED,MAAM,OAAO,iBAAkB,SAAQ,iBAAiB;IAAxD;;QACa,eAAU,GAAG,mBAAmB,CAAA;QAC/B,QAAG,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,EAAE,+CAA+C,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAA;IAC3H,CAAC;CAAA"}
@@ -1,4 +1,4 @@
1
- import { LionWebId, LionWebJsonChunk, LionWebJsonContainment, LionWebJsonMetaPointer, LionWebJsonNode, LionWebJsonProperty } from "./LionWebJson.js";
1
+ import { LionWebId, LionWebJsonChunk, LionWebJsonNode, LionWebJsonProperty } from "./LionWebJson.js";
2
2
  import { LionWebLanguageDefinition } from "./LionWebLanguageDefinition.js";
3
3
  /**
4
4
  * Wraps around a LionWebJsonChunk, providing access to information inside, using caches to improve performance.
@@ -18,8 +18,6 @@ export declare class LionWebJsonChunkWrapper {
18
18
  */
19
19
  prepareNodeIds(): void;
20
20
  getNode(id: string): LionWebJsonNode | undefined;
21
- findContainment(node: LionWebJsonNode, containment: LionWebJsonMetaPointer): LionWebJsonContainment | undefined;
22
- findProperty(node: LionWebJsonNode, property: LionWebJsonMetaPointer): LionWebJsonProperty | undefined;
23
21
  findNodesOfConcept(conceptKey: string): LionWebJsonNode[];
24
22
  allProperties(conceptNode: LionWebJsonNode): LionWebJsonProperty[];
25
23
  asString(): string;
@@ -1 +1 @@
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,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,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,sBAAsB,GAAG,sBAAsB,GAAG,SAAS;IAM/G,YAAY,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,sBAAsB,GAAG,mBAAmB,GAAG,SAAS;IAMtG,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,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,4 +1,4 @@
1
- import { isEqualMetaPointer, LIONWEB_M3_INAMED_PROPERTY } from "./LionWebJson.js";
1
+ import { LIONWEB_M3_INAMED_PROPERTY } from "./LionWebJson.js";
2
2
  import { NodeUtils } from "./NodeUtils.js";
3
3
  /**
4
4
  * Wraps around a LionWebJsonChunk, providing access to information inside, using caches to improve performance.
@@ -26,12 +26,6 @@ export class LionWebJsonChunkWrapper {
26
26
  getNode(id) {
27
27
  return this.nodesIdMap.get(id);
28
28
  }
29
- findContainment(node, containment) {
30
- return node.containments.find(cont => isEqualMetaPointer(cont.containment, containment));
31
- }
32
- findProperty(node, property) {
33
- return node.properties.find(prop => isEqualMetaPointer(prop.property, property));
34
- }
35
29
  findNodesOfConcept(conceptKey) {
36
30
  return this.jsonChunk.nodes.filter(node => node.classifier.key === conceptKey);
37
31
  }
@@ -64,7 +58,7 @@ export class LionWebJsonChunkWrapper {
64
58
  return "";
65
59
  }
66
60
  let result = "";
67
- const nameProperty = this.findProperty(node, LIONWEB_M3_INAMED_PROPERTY);
61
+ const nameProperty = NodeUtils.findProperty(node, LIONWEB_M3_INAMED_PROPERTY);
68
62
  const name = nameProperty === undefined ? "" : " " + nameProperty.value;
69
63
  result += this.indent(depth) + "(" + node.id + ")" + name + "\n";
70
64
  if (node.annotations !== undefined && node.annotations.length !== 0) {
@@ -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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"}
@@ -1,4 +1,4 @@
1
- import { LionWebJsonContainment, LionWebJsonNode, LionWebJsonProperty, LionWebJsonReference, LionWebJsonReferenceTarget } from "./LionWebJson.js";
1
+ import { LionWebJsonContainment, LionWebJsonMetaPointer, LionWebJsonNode, LionWebJsonProperty, LionWebJsonReference, LionWebJsonReferenceTarget } from "./LionWebJson.js";
2
2
  /**
3
3
  * Utility functions for LionWebJsonNode's
4
4
  */
@@ -9,12 +9,14 @@ export declare class NodeUtils {
9
9
  * @param key
10
10
  */
11
11
  static findLwProperty(node: LionWebJsonNode, key: string): LionWebJsonProperty | null;
12
+ static findProperty(node: LionWebJsonNode, property: LionWebJsonMetaPointer): LionWebJsonProperty | undefined;
12
13
  /**
13
14
  * Find containment child with key equals `key` in `node`.
14
15
  * @param node
15
16
  * @param key
16
17
  */
17
18
  static findLwChild(node: LionWebJsonNode, key: string): LionWebJsonContainment | null;
19
+ static findContainment(node: LionWebJsonNode, containment: LionWebJsonMetaPointer): LionWebJsonContainment | undefined;
18
20
  static findLwReference(node: LionWebJsonNode, key: string): LionWebJsonReference | null;
19
21
  static findLwReferenceTarget(lwReferenceTargets: LionWebJsonReferenceTarget[], target: LionWebJsonReferenceTarget): LionWebJsonReferenceTarget | null;
20
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"NodeUtils.d.ts","sourceRoot":"","sources":["../../src/json/NodeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC7B,MAAM,kBAAkB,CAAA;AAEzB;;GAEG;AACH,qBAAa,SAAS;IAClB;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IASrF;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI;IASrF,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IASvF,MAAM,CAAC,qBAAqB,CACxB,kBAAkB,EAAE,0BAA0B,EAAE,EAChD,MAAM,EAAE,0BAA0B,GACnC,0BAA0B,GAAG,IAAI;IASpC;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,EAAE;IASzD,MAAM,CAAC,8BAA8B,CAAC,YAAY,EAAE,sBAAsB,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;CAGrI"}
1
+ {"version":3,"file":"NodeUtils.d.ts","sourceRoot":"","sources":["../../src/json/NodeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,sBAAsB,EAAE,sBAAsB,EAC9C,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC7B,MAAM,kBAAkB,CAAA;AAEzB;;GAEG;AACH,qBAAa,SAAS;IAClB;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IASrF,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,sBAAsB,GAAG,mBAAmB,GAAG,SAAS;IAM7G;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI;IASrF,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,sBAAsB,GAAG,sBAAsB,GAAG,SAAS;IAOtH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IASvF,MAAM,CAAC,qBAAqB,CACxB,kBAAkB,EAAE,0BAA0B,EAAE,EAChD,MAAM,EAAE,0BAA0B,GACnC,0BAA0B,GAAG,IAAI;IASpC;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,EAAE;IASzD,MAAM,CAAC,8BAA8B,CAAC,YAAY,EAAE,sBAAsB,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;CAGrI"}
@@ -1,4 +1,4 @@
1
- import { isEqualReferenceTarget } from "./LionWebJson.js";
1
+ import { isEqualMetaPointer, isEqualReferenceTarget } from "./LionWebJson.js";
2
2
  /**
3
3
  * Utility functions for LionWebJsonNode's
4
4
  */
@@ -16,6 +16,9 @@ export class NodeUtils {
16
16
  }
17
17
  return null;
18
18
  }
19
+ static findProperty(node, property) {
20
+ return node.properties.find(prop => isEqualMetaPointer(prop.property, property));
21
+ }
19
22
  /**
20
23
  * Find containment child with key equals `key` in `node`.
21
24
  * @param node
@@ -29,6 +32,9 @@ export class NodeUtils {
29
32
  }
30
33
  return null;
31
34
  }
35
+ static findContainment(node, containment) {
36
+ return node.containments.find(cont => isEqualMetaPointer(cont.containment, containment));
37
+ }
32
38
  static findLwReference(node, key) {
33
39
  for (const reference of node.references) {
34
40
  if (reference.reference.key === key) {
@@ -1 +1 @@
1
- {"version":3,"file":"NodeUtils.js","sourceRoot":"","sources":["../../src/json/NodeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EAMzB,MAAM,kBAAkB,CAAA;AAEzB;;GAEG;AACH,MAAM,OAAO,SAAS;IAClB;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,IAAqB,EAAE,GAAW;QACpD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBAChC,OAAO,QAAQ,CAAA;YACnB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,IAAqB,EAAE,GAAW;QACjD,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,IAAI,WAAW,CAAC,WAAW,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBACtC,OAAO,WAAW,CAAA;YACtB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAqB,EAAE,GAAW;QACrD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,SAAS,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBAClC,OAAO,SAAS,CAAA;YACpB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,MAAM,CAAC,qBAAqB,CACxB,kBAAgD,EAChD,MAAkC;QAElC,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;YACzC,IAAI,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC5C,OAAO,SAAS,CAAA;YACpB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAqB;QAC1C,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;QACxC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;QAChC,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,MAAM,CAAC,8BAA8B,CAAC,YAAsC,EAAE,OAAe;QACzF,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;IACrE,CAAC;CACJ"}
1
+ {"version":3,"file":"NodeUtils.js","sourceRoot":"","sources":["../../src/json/NodeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,kBAAkB,EAClB,sBAAsB,EAMzB,MAAM,kBAAkB,CAAA;AAEzB;;GAEG;AACH,MAAM,OAAO,SAAS;IAClB;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,IAAqB,EAAE,GAAW;QACpD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBAChC,OAAO,QAAQ,CAAA;YACnB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,IAAqB,EAAE,QAAgC;QACvE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACvB,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACtD,CAAA;IACL,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,IAAqB,EAAE,GAAW;QACjD,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,IAAI,WAAW,CAAC,WAAW,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBACtC,OAAO,WAAW,CAAA;YACtB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAqB,EAAE,WAAmC;QAC7E,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CACzB,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAC5D,CAAA;IACL,CAAC;IAGD,MAAM,CAAC,eAAe,CAAC,IAAqB,EAAE,GAAW;QACrD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,SAAS,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBAClC,OAAO,SAAS,CAAA;YACpB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,MAAM,CAAC,qBAAqB,CACxB,kBAAgD,EAChD,MAAkC;QAElC,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;YACzC,IAAI,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC5C,OAAO,SAAS,CAAA;YACpB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAqB;QAC1C,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;QACxC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;QAChC,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,MAAM,CAAC,8BAA8B,CAAC,YAAsC,EAAE,OAAe;QACzF,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;IACrE,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lionweb/validation",
3
- "version": "0.6.0-beta.4",
3
+ "version": "0.6.0",
4
4
  "license": "Apache 2.0",
5
5
  "description": "LionWeb Serialization validation",
6
6
  "author": "jos.warmer@openmodeling.nl",
@@ -14,20 +14,17 @@
14
14
  "testing"
15
15
  ],
16
16
  "scripts": {
17
+ "clean": "rm -rf dist/ lionweb-validation-*.tgz",
17
18
  "build": "tsc",
19
+ "lint": "eslint src",
20
+ "test-here": "cd ../test && find dist/validation -type d | sed '1!G;h;$!d' | xargs npx mocha",
21
+ "release": "npm publish",
18
22
  "testValid": "node dist/runners/RunCheckFolder.js ../../../lionweb-integration-testing/testset/valid",
19
23
  "testInvalid": "node dist/runners/RunCheckFolder.js ../../../lionweb-integration-testing/testset/invalid",
20
24
  "testInvalidWithLanguage": "node dist/runners/RunCheckFolderWithLanguage.js ../../../lionweb-integration-testing/testset/withLanguage/invalid/ ../../../lionweb-integration-testing/testset/withLanguage/myLang.language.json",
21
25
  "testValidWithLanguage": "node dist/runners/RunCheckFolderWithLanguage.js ../../../lionweb-integration-testing/testset/withLanguage/valid/ ../../../lionweb-integration-testing/testset/withLanguage/myLang.language.json",
22
- "test": "mocha",
23
26
  "publish-local": "npm publish --registry http://localhost:4873",
24
27
  "unpublish-local": "npm unpublish --force --registry http://localhost:4873",
25
28
  "republish-local": "yarn unpublish-local && yarn publish-local"
26
- },
27
- "devDependencies": {
28
- "@types/node": "20.10.4",
29
- "typescript": "5.3.3"
30
- },
31
- "dependencies": {
32
29
  }
33
30
  }
@@ -91,7 +91,7 @@ export class LionWebJsonDiff {
91
91
  // NB No containment is considered equivalent to a containment with empty _children_
92
92
  if (beforeContainment.children.length !== 0) {
93
93
  beforeContainment.children.forEach(childId => {
94
- this.change(new ChildRemoved(ctx.concat("containments", index), beforeNode, beforeContainment.containment, childId, Missing.MissingAfter))
94
+ this.change(new ChildRemoved(ctx.concat("containments", index), beforeNode, beforeContainment.containment, afterContainment, childId, Missing.MissingAfter))
95
95
  })
96
96
  }
97
97
  } else {
@@ -104,7 +104,7 @@ export class LionWebJsonDiff {
104
104
  if (beforeContainment === null) {
105
105
  if (afterContainment.children.length !== 0) {
106
106
  afterContainment.children.forEach(childId => {
107
- this.change(new ChildAdded(ctx.concat("containments", index), afterNode, afterContainment.containment, childId, Missing.MissingBefore))
107
+ this.change(new ChildAdded(ctx.concat("containments", index), afterNode, afterContainment.containment, afterContainment, childId, Missing.MissingBefore))
108
108
  })
109
109
  }
110
110
  }
@@ -225,19 +225,19 @@ export class LionWebJsonDiff {
225
225
  for (const childId1 of beforeContainment.children) {
226
226
  if (!afterContainment.children.includes(childId1)) {
227
227
  changeFound = true
228
- this.change(new ChildRemoved(ctx, node, beforeContainment.containment, childId1))
228
+ this.change(new ChildRemoved(ctx, node, beforeContainment.containment, afterContainment, childId1))
229
229
  }
230
230
  }
231
231
  for (const childId2 of afterContainment.children) {
232
232
  if (!beforeContainment.children.includes(childId2)) {
233
233
  changeFound = true
234
- this.change(new ChildAdded(ctx, node, beforeContainment.containment, childId2))
234
+ this.change(new ChildAdded(ctx, node, beforeContainment.containment, afterContainment, childId2))
235
235
  }
236
236
  }
237
237
  if (!changeFound) {
238
238
  for (let i: number = 0; i < afterContainment.children.length; i++) {
239
239
  if (afterContainment.children[i] !== beforeContainment.children[i]) {
240
- this.change(new ChildOrderChanged(ctx.concat("children"), node, afterContainment.containment, ""))
240
+ this.change(new ChildOrderChanged(ctx.concat("children"), node, afterContainment.containment, afterContainment, ""))
241
241
  break
242
242
  }
243
243
  }
@@ -1,5 +1,5 @@
1
1
  import { JsonContext } from "../../issues/index.js"
2
- import { LionWebJsonMetaPointer, LionWebJsonNode } from "../../json/index.js"
2
+ import { LionWebJsonContainment, LionWebJsonMetaPointer, LionWebJsonNode } from "../../json/index.js"
3
3
  import { Change, Missing } from "./Change.js"
4
4
 
5
5
  export abstract class ContainmentChange extends Change {
@@ -7,6 +7,7 @@ export abstract class ContainmentChange extends Change {
7
7
  public context: JsonContext,
8
8
  public parentNode: LionWebJsonNode,
9
9
  public containment: LionWebJsonMetaPointer,
10
+ public afterContainment: LionWebJsonContainment | null,
10
11
  public childId: string,
11
12
  public missing = Missing.NotMissing
12
13
  ) {
@@ -1,9 +1,7 @@
1
1
  import {
2
- isEqualMetaPointer, LIONWEB_M3_INAMED_PROPERTY,
2
+ LIONWEB_M3_INAMED_PROPERTY,
3
3
  LionWebId,
4
4
  LionWebJsonChunk,
5
- LionWebJsonContainment,
6
- LionWebJsonMetaPointer,
7
5
  LionWebJsonNode,
8
6
  LionWebJsonProperty
9
7
  } from "./LionWebJson.js"
@@ -41,18 +39,6 @@ export class LionWebJsonChunkWrapper {
41
39
  return this.nodesIdMap.get(id)
42
40
  }
43
41
 
44
- findContainment(node: LionWebJsonNode, containment: LionWebJsonMetaPointer): LionWebJsonContainment | undefined {
45
- return node.containments.find(
46
- cont => isEqualMetaPointer(cont.containment, containment)
47
- )
48
- }
49
-
50
- findProperty(node: LionWebJsonNode, property: LionWebJsonMetaPointer): LionWebJsonProperty | undefined {
51
- return node.properties.find(
52
- prop => isEqualMetaPointer(prop.property, property)
53
- )
54
- }
55
-
56
42
  findNodesOfConcept(conceptKey: string): LionWebJsonNode[] {
57
43
  return this.jsonChunk.nodes.filter(node => node.classifier.key === conceptKey)
58
44
  }
@@ -88,7 +74,7 @@ export class LionWebJsonChunkWrapper {
88
74
  return "";
89
75
  }
90
76
  let result: string = ""
91
- const nameProperty = this.findProperty(node, LIONWEB_M3_INAMED_PROPERTY)
77
+ const nameProperty = NodeUtils.findProperty(node, LIONWEB_M3_INAMED_PROPERTY)
92
78
  const name = nameProperty === undefined ? "" : " " + nameProperty.value
93
79
  result += this.indent(depth) + "(" + node.id + ")" + name + "\n"
94
80
  if (node.annotations !== undefined && node.annotations.length !== 0) {
@@ -1,6 +1,7 @@
1
1
  import {
2
+ isEqualMetaPointer,
2
3
  isEqualReferenceTarget,
3
- LionWebJsonContainment,
4
+ LionWebJsonContainment, LionWebJsonMetaPointer,
4
5
  LionWebJsonNode,
5
6
  LionWebJsonProperty,
6
7
  LionWebJsonReference,
@@ -25,6 +26,12 @@ export class NodeUtils {
25
26
  return null
26
27
  }
27
28
 
29
+ static findProperty(node: LionWebJsonNode, property: LionWebJsonMetaPointer): LionWebJsonProperty | undefined {
30
+ return node.properties.find(
31
+ prop => isEqualMetaPointer(prop.property, property)
32
+ )
33
+ }
34
+
28
35
  /**
29
36
  * Find containment child with key equals `key` in `node`.
30
37
  * @param node
@@ -39,6 +46,13 @@ export class NodeUtils {
39
46
  return null
40
47
  }
41
48
 
49
+ static findContainment(node: LionWebJsonNode, containment: LionWebJsonMetaPointer): LionWebJsonContainment | undefined {
50
+ return node.containments.find(
51
+ cont => isEqualMetaPointer(cont.containment, containment)
52
+ )
53
+ }
54
+
55
+
42
56
  static findLwReference(node: LionWebJsonNode, key: string): LionWebJsonReference | null {
43
57
  for (const reference of node.references) {
44
58
  if (reference.reference.key === key) {
package/build.sh DELETED
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env sh
2
-
3
- rm -rf dist/ lionweb-validation-*.tgz
4
- npm i
5
- npm run build
6
-