@opendaw/lib-box 0.0.39 → 0.0.41
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/dist/graph.d.ts +5 -2
- package/dist/graph.d.ts.map +1 -1
- package/dist/graph.js +8 -5
- package/dist/primitive.js +2 -2
- package/package.json +4 -4
package/dist/graph.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Exec, int, JSONValue, Option, Optional, Procedure, Subscription, UUID } from "@opendaw/lib-std";
|
|
1
|
+
import { Exec, int, JSONValue, Option, Optional, Predicate, Procedure, Subscription, UUID } from "@opendaw/lib-std";
|
|
2
2
|
import { Address } from "./address";
|
|
3
3
|
import { Vertex } from "./vertex";
|
|
4
4
|
import { PointerField } from "./pointer";
|
|
@@ -41,7 +41,10 @@ export declare class BoxGraph<BoxMap = any> {
|
|
|
41
41
|
checksum(): Int8Array;
|
|
42
42
|
onPrimitiveValueUpdate<V extends PrimitiveValues>(field: PrimitiveField<V, any>, oldValue: V, newValue: V): void;
|
|
43
43
|
onPointerAddressUpdated(pointerField: PointerField, oldValue: Option<Address>, newValue: Option<Address>): void;
|
|
44
|
-
dependenciesOf(box: Box
|
|
44
|
+
dependenciesOf(box: Box, options?: {
|
|
45
|
+
excludeBox?: Predicate<Box>;
|
|
46
|
+
alwaysFollowMandatory?: boolean;
|
|
47
|
+
}): Dependencies;
|
|
45
48
|
verifyPointers(): {
|
|
46
49
|
count: int;
|
|
47
50
|
};
|
package/dist/graph.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"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"}
|
package/dist/graph.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { asDefined, assert, ByteArrayInput, ByteArrayOutput, Checksum, isDefined, Listeners, Option, panic, UUID } from "@opendaw/lib-std";
|
|
1
|
+
import { asDefined, assert, ByteArrayInput, ByteArrayOutput, Checksum, isDefined, Listeners, Option, panic, Predicates, UUID } from "@opendaw/lib-std";
|
|
2
2
|
import { Address } from "./address";
|
|
3
3
|
import { DeleteUpdate, NewUpdate, PointerUpdate, PrimitiveUpdate } from "./updates";
|
|
4
4
|
import { Dispatchers } from "./dispatchers";
|
|
@@ -155,11 +155,13 @@ export class BoxGraph {
|
|
|
155
155
|
this.#dispatchers.dispatch(update);
|
|
156
156
|
this.#updateListeners.proxy.onUpdate(update);
|
|
157
157
|
}
|
|
158
|
-
dependenciesOf(box) {
|
|
158
|
+
dependenciesOf(box, options = {}) {
|
|
159
|
+
const excludeBox = isDefined(options.excludeBox) ? options.excludeBox : Predicates.alwaysFalse;
|
|
160
|
+
const alwaysFollowMandatory = isDefined(options.alwaysFollowMandatory) ? options.alwaysFollowMandatory : false;
|
|
159
161
|
const boxes = new Set();
|
|
160
162
|
const pointers = new Set();
|
|
161
163
|
const trace = (box) => {
|
|
162
|
-
if (boxes.has(box)) {
|
|
164
|
+
if (boxes.has(box) || excludeBox(box)) {
|
|
163
165
|
return;
|
|
164
166
|
}
|
|
165
167
|
boxes.add(box);
|
|
@@ -170,7 +172,8 @@ export class BoxGraph {
|
|
|
170
172
|
.unwrap(`Could not find target of ${source.toString()}`);
|
|
171
173
|
pointers.add(source);
|
|
172
174
|
if (targetVertex.pointerRules.mandatory &&
|
|
173
|
-
targetVertex.pointerHub.incoming()
|
|
175
|
+
(alwaysFollowMandatory || targetVertex.pointerHub.incoming()
|
|
176
|
+
.every(pointer => pointers.has(pointer)))) {
|
|
174
177
|
return trace(targetVertex.box);
|
|
175
178
|
}
|
|
176
179
|
});
|
|
@@ -184,7 +187,7 @@ export class BoxGraph {
|
|
|
184
187
|
};
|
|
185
188
|
trace(box);
|
|
186
189
|
boxes.delete(box);
|
|
187
|
-
return { boxes
|
|
190
|
+
return { boxes, pointers: Array.from(pointers).reverse() };
|
|
188
191
|
}
|
|
189
192
|
verifyPointers() {
|
|
190
193
|
this.#edges.validateRequirements();
|
package/dist/primitive.js
CHANGED
|
@@ -67,7 +67,7 @@ export class PrimitiveField extends Field {
|
|
|
67
67
|
get initValue() { return this.#initValue; }
|
|
68
68
|
setInitValue(value) {
|
|
69
69
|
assert(this.graph.constructingBox(), "Cannot change initial value at runtime");
|
|
70
|
-
this.setValue(this.#initValue = value);
|
|
70
|
+
this.setValue(this.#initValue = this.clamp(value));
|
|
71
71
|
}
|
|
72
72
|
getValue() { return this.#value; }
|
|
73
73
|
setValue(value) {
|
|
@@ -76,7 +76,7 @@ export class PrimitiveField extends Field {
|
|
|
76
76
|
if (this.equals(newValue)) {
|
|
77
77
|
return;
|
|
78
78
|
}
|
|
79
|
-
this.#value =
|
|
79
|
+
this.#value = newValue;
|
|
80
80
|
this.graph.onPrimitiveValueUpdate(this, oldValue, newValue);
|
|
81
81
|
}
|
|
82
82
|
writeValue(output, value) { this.serialization().encode(output, value); }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opendaw/lib-box",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.41",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"license": "LGPL-3.0-or-later",
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
"test": "vitest run"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@opendaw/lib-runtime": "^0.0.
|
|
26
|
-
"@opendaw/lib-std": "^0.0.
|
|
25
|
+
"@opendaw/lib-runtime": "^0.0.41",
|
|
26
|
+
"@opendaw/lib-std": "^0.0.41"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@opendaw/eslint-config": "^0.0.20",
|
|
30
30
|
"@opendaw/typescript-config": "^0.0.20"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "cc371b41cc7a5a0d3ef9c13f29df42c893374a53"
|
|
33
33
|
}
|