@lionweb/class-core 0.7.2-beta.0 → 0.7.2-beta.2
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 +1 -0
- package/dist/functions.d.ts +7 -0
- package/dist/functions.d.ts.map +1 -0
- package/dist/functions.js +8 -0
- package/dist/functions.js.map +1 -0
- package/dist/value-managers/base.d.ts.map +1 -1
- package/dist/value-managers/base.js +2 -1
- package/dist/value-managers/base.js.map +1 -1
- package/package.json +4 -4
- package/src/functions.ts +11 -0
- package/src/value-managers/base.ts +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
## 0.7.2
|
|
4
4
|
|
|
5
5
|
* Implement a `propertyValueSerializerWith` function that produces a `PropertyValueSerializer` instance to serialize properties’ values with, properly dealing with enumerations as well.
|
|
6
|
+
* Ensure that deltas w.r.t. features of a node are only emitted when that node is not “free-floating”, i.e. is not a partition itself, or (in-/)directly contained by a partition.
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
## 0.7.1
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { INodeBase } from "./base-types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @return whether the given {@link INodeBase node} is a partition itself,
|
|
4
|
+
* or (in-/)directly contained by a partition.
|
|
5
|
+
*/
|
|
6
|
+
export declare const isContainedByAPartition: ({ classifier, parent }: INodeBase) => boolean;
|
|
7
|
+
//# sourceMappingURL=functions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,wBAAwB,SAAS,KAAG,OAEZ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Concept } from "@lionweb/core";
|
|
2
|
+
/**
|
|
3
|
+
* @return whether the given {@link INodeBase node} is a partition itself,
|
|
4
|
+
* or (in-/)directly contained by a partition.
|
|
5
|
+
*/
|
|
6
|
+
export const isContainedByAPartition = ({ classifier, parent }) => (classifier instanceof Concept && classifier.partition)
|
|
7
|
+
|| (parent !== undefined && isContainedByAPartition(parent));
|
|
8
|
+
//# sourceMappingURL=functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAGvC;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,EAAa,EAAW,EAAE,CAC/E,CAAC,UAAU,YAAY,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC;OACvD,CAAC,MAAM,KAAK,SAAS,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/value-managers/base.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAyB,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/value-managers/base.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAyB,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAI3C;;GAEG;AACH,8BAAsB,YAAY;IAER,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS;IAA7D,SAAS,aAAgC,SAAS,EAAE,SAAS;IAG7D;;;OAGG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,MAAM;CAMrC;AAGD;;;;;GAKG;AACH,8BAAsB,mBAAmB,CAAC,EAAE,SAAS,OAAO,CAAE,SAAQ,YAAY;IAExD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE;IAApD,SAAS,aAAgC,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS;IAK1E;;OAEG;IACH,aAAa,CAAC,cAAc,EAAE,OAAO;IAMrC;;OAEG;IACH,aAAa,CAAC,cAAc,EAAE,OAAO;IAOrC;;OAEG;IACH,QAAQ,CAAC,KAAK,IAAI,OAAO;IAEzB;;OAEG;IACH,kBAAkB,IAAI,KAAK;IAI3B;;OAEG;IACH,YAAY,IAAI,KAAK;CAIxB;AAGD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,WAAW,MAAM,EAAE,WAAW,OAAO,SAkB9E,CAAA"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
17
|
import { featureMetaType } from "@lionweb/core";
|
|
18
|
+
import { isContainedByAPartition } from "../functions.js";
|
|
18
19
|
/**
|
|
19
20
|
* Abstract super/base type for managers of values on classifiers.
|
|
20
21
|
*/
|
|
@@ -27,7 +28,7 @@ export class ValueManager {
|
|
|
27
28
|
* @param deltaThunk a thunk that generates the delta, and is only called when a delta receiver is registered with the container.
|
|
28
29
|
*/
|
|
29
30
|
emitDelta(deltaThunk) {
|
|
30
|
-
if (this.container.receiveDelta) {
|
|
31
|
+
if (this.container.receiveDelta && isContainedByAPartition(this.container)) {
|
|
31
32
|
this.container.receiveDelta(deltaThunk());
|
|
32
33
|
}
|
|
33
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/value-managers/base.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAAW,eAAe,EAAQ,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/value-managers/base.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionweb/class-core",
|
|
3
|
-
"version": "0.7.2-beta.
|
|
3
|
+
"version": "0.7.2-beta.2",
|
|
4
4
|
"description": "Generic, language-aspecific base types for generated TypeScript APIs",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"release": "npm publish"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@lionweb/core": "0.7.2-beta.
|
|
31
|
-
"@lionweb/json": "0.7.2-beta.
|
|
32
|
-
"@lionweb/ts-utils": "0.7.2-beta.
|
|
30
|
+
"@lionweb/core": "0.7.2-beta.2",
|
|
31
|
+
"@lionweb/json": "0.7.2-beta.2",
|
|
32
|
+
"@lionweb/ts-utils": "0.7.2-beta.2",
|
|
33
33
|
"littoral-templates": "0.5.1",
|
|
34
34
|
"mobx": "6.13.7"
|
|
35
35
|
}
|
package/src/functions.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Concept } from "@lionweb/core"
|
|
2
|
+
import { INodeBase } from "./base-types.js"
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @return whether the given {@link INodeBase node} is a partition itself,
|
|
6
|
+
* or (in-/)directly contained by a partition.
|
|
7
|
+
*/
|
|
8
|
+
export const isContainedByAPartition = ({ classifier, parent }: INodeBase): boolean =>
|
|
9
|
+
(classifier instanceof Concept && classifier.partition)
|
|
10
|
+
|| (parent !== undefined && isContainedByAPartition(parent));
|
|
11
|
+
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
import { Feature, featureMetaType, Link } from "@lionweb/core"
|
|
19
19
|
import { INodeBase } from "../base-types.js"
|
|
20
20
|
import { IDelta } from "../deltas/index.js"
|
|
21
|
+
import { isContainedByAPartition } from "../functions.js"
|
|
21
22
|
|
|
22
23
|
|
|
23
24
|
/**
|
|
@@ -33,7 +34,7 @@ export abstract class ValueManager {
|
|
|
33
34
|
* @param deltaThunk a thunk that generates the delta, and is only called when a delta receiver is registered with the container.
|
|
34
35
|
*/
|
|
35
36
|
emitDelta(deltaThunk: () => IDelta) {
|
|
36
|
-
if (this.container.receiveDelta) {
|
|
37
|
+
if (this.container.receiveDelta && isContainedByAPartition(this.container)) {
|
|
37
38
|
this.container.receiveDelta(deltaThunk());
|
|
38
39
|
}
|
|
39
40
|
}
|