@lionweb/class-core 0.7.2-beta.3 → 0.7.2-beta.4
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/duplicator.d.ts.map +1 -1
- package/dist/duplicator.js.map +1 -1
- package/dist/value-managers/references.d.ts +5 -5
- package/dist/value-managers/references.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/duplicator.ts +2 -2
- package/src/value-managers/references.ts +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
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
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.
|
|
7
|
+
* (Use the modified `MultiRef<T>` type instead of `SingleRef<T>[]` — this is an idempotent change.)
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
## 0.7.1
|
package/dist/duplicator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplicator.d.ts","sourceRoot":"","sources":["../src/duplicator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAe,OAAO,
|
|
1
|
+
{"version":3,"file":"duplicator.d.ts","sourceRoot":"","sources":["../src/duplicator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAe,OAAO,EAAoE,MAAM,eAAe,CAAA;AAItH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAM3C;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,SAAS,KAAK,CAAC,cAAc,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAC;AAEtH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,CAAC;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,eAAe,cAAc,KAAG,UAmE7D,CAAC"}
|
package/dist/duplicator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplicator.js","sourceRoot":"","sources":["../src/duplicator.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,EAAE,WAAW,EAAW,IAAI,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"duplicator.js","sourceRoot":"","sources":["../src/duplicator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Reference, SingleRef } from "@lionweb/core";
|
|
1
|
+
import { MultiRef, Reference, SingleRef } from "@lionweb/core";
|
|
2
2
|
import { INodeBase } from "../base-types.js";
|
|
3
3
|
import { FeatureValueManager } from "./base.js";
|
|
4
4
|
/**
|
|
@@ -6,7 +6,7 @@ import { FeatureValueManager } from "./base.js";
|
|
|
6
6
|
*/
|
|
7
7
|
export declare abstract class ReferenceValueManager<T extends INodeBase> extends FeatureValueManager<Reference> {
|
|
8
8
|
get reference(): Reference;
|
|
9
|
-
abstract getDirectly(): (SingleRef<T> | undefined) | (
|
|
9
|
+
abstract getDirectly(): (SingleRef<T> | undefined) | (MultiRef<T> | undefined);
|
|
10
10
|
/**
|
|
11
11
|
* Adds the given target to the reference.
|
|
12
12
|
* For a single-valued reference, this replaces an already-present target.
|
|
@@ -35,8 +35,8 @@ export declare class RequiredSingleReferenceValueManager<T extends INodeBase> ex
|
|
|
35
35
|
export declare abstract class MultiReferenceValueManager<T extends INodeBase> extends ReferenceValueManager<T> {
|
|
36
36
|
protected constructor(reference: Reference, container: INodeBase);
|
|
37
37
|
private readonly targets;
|
|
38
|
-
getDirectly():
|
|
39
|
-
get():
|
|
38
|
+
getDirectly(): MultiRef<T>;
|
|
39
|
+
get(): MultiRef<T>;
|
|
40
40
|
isSet(): boolean;
|
|
41
41
|
addDirectly(newTarget: SingleRef<T>): void;
|
|
42
42
|
add(newTarget: SingleRef<T>): void;
|
|
@@ -55,7 +55,7 @@ export declare class OptionalMultiReferenceValueManager<T extends INodeBase> ext
|
|
|
55
55
|
}
|
|
56
56
|
export declare class RequiredMultiReferenceValueManager<T extends INodeBase> extends MultiReferenceValueManager<T> {
|
|
57
57
|
constructor(reference: Reference, container: INodeBase);
|
|
58
|
-
get():
|
|
58
|
+
get(): MultiRef<T>;
|
|
59
59
|
remove(targetToRemove: SingleRef<T>): void;
|
|
60
60
|
}
|
|
61
61
|
//# sourceMappingURL=references.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../src/value-managers/references.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../src/value-managers/references.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.4",
|
|
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.4",
|
|
31
|
+
"@lionweb/json": "0.7.2-beta.4",
|
|
32
|
+
"@lionweb/ts-utils": "0.7.2-beta.4",
|
|
33
33
|
"littoral-templates": "0.5.1",
|
|
34
34
|
"mobx": "6.13.7"
|
|
35
35
|
}
|
package/src/duplicator.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
17
|
|
|
18
|
-
import { Containment, Feature, idOf, Link, Property, Reference, SingleRef, unresolved } from "@lionweb/core"
|
|
18
|
+
import { Containment, Feature, idOf, Link, MultiRef, Property, Reference, SingleRef, unresolved } from "@lionweb/core"
|
|
19
19
|
import { LionWebId } from "@lionweb/json"
|
|
20
20
|
import { asArray } from "@lionweb/ts-utils"
|
|
21
21
|
|
|
@@ -54,7 +54,7 @@ export const deepDuplicateWith = (duplicateNode: NodeDuplicator): Duplicator =>
|
|
|
54
54
|
if (feature instanceof Property) {
|
|
55
55
|
duplicatedNode.getPropertyValueManager(feature).setDirectly(value);
|
|
56
56
|
} else if (feature instanceof Link) {
|
|
57
|
-
const values = asArray(value as (
|
|
57
|
+
const values = asArray(value as (MultiRef<INodeBase> | SingleRef<INodeBase>));
|
|
58
58
|
const resolvedValues = values.filter((value) => value !== unresolved) as INodeBase[];
|
|
59
59
|
if (resolvedValues.length > 0) {
|
|
60
60
|
nodesToInstall.push([
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
// SPDX-FileCopyrightText: 2025 TRUMPF Laser SE and other contributors
|
|
16
16
|
// SPDX-License-Identifier: Apache-2.0
|
|
17
17
|
|
|
18
|
-
import { Reference, SingleRef } from "@lionweb/core"
|
|
18
|
+
import { MultiRef, Reference, SingleRef } from "@lionweb/core"
|
|
19
19
|
import { action, observable } from "mobx"
|
|
20
20
|
|
|
21
21
|
import { INodeBase } from "../base-types.js"
|
|
@@ -37,7 +37,7 @@ export abstract class ReferenceValueManager<T extends INodeBase> extends Feature
|
|
|
37
37
|
return this.feature;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
abstract getDirectly(): (SingleRef<T> | undefined) | (
|
|
40
|
+
abstract getDirectly(): (SingleRef<T> | undefined) | (MultiRef<T> | undefined);
|
|
41
41
|
|
|
42
42
|
/**
|
|
43
43
|
* Adds the given target to the reference.
|
|
@@ -159,11 +159,11 @@ export abstract class MultiReferenceValueManager<T extends INodeBase> extends Re
|
|
|
159
159
|
|
|
160
160
|
private readonly targets = observable.array<SingleRef<T>>([], {deep: false});
|
|
161
161
|
|
|
162
|
-
getDirectly():
|
|
162
|
+
getDirectly(): MultiRef<T> {
|
|
163
163
|
return this.targets;
|
|
164
164
|
}
|
|
165
165
|
|
|
166
|
-
get():
|
|
166
|
+
get(): MultiRef<T> {
|
|
167
167
|
return this.getDirectly().slice(); // make defensive copy
|
|
168
168
|
}
|
|
169
169
|
|
|
@@ -259,7 +259,7 @@ export class RequiredMultiReferenceValueManager<T extends INodeBase> extends Mul
|
|
|
259
259
|
this.checkRequired(true);
|
|
260
260
|
}
|
|
261
261
|
|
|
262
|
-
get():
|
|
262
|
+
get(): MultiRef<T> {
|
|
263
263
|
const targets = this.getDirectly();
|
|
264
264
|
if (targets.length === 0) {
|
|
265
265
|
this.throwOnReadOfUnset();
|