@opendaw/lib-box 0.0.12 → 0.0.13

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 CHANGED
@@ -1,11 +1,11 @@
1
1
  import { Exec, int, Option, Procedure, Subscription, UUID } from "@opendaw/lib-std";
2
- import { Vertex } from "./vertex";
3
- import { Box } from "./box";
4
2
  import { Address } from "./address";
3
+ import { Vertex } from "./vertex";
5
4
  import { PointerField } from "./pointer";
6
5
  import { PrimitiveField, PrimitiveValues } from "./primitive";
7
- import { Propagation } from "./dispatchers";
6
+ import { Box } from "./box";
8
7
  import { Update } from "./updates";
8
+ import { Propagation } from "./dispatchers";
9
9
  import { GraphEdges } from "./graph-edges";
10
10
  export type BoxFactory<BoxMap> = (name: keyof BoxMap, graph: BoxGraph<BoxMap>, uuid: UUID.Format, constructor: Procedure<Box>) => Box;
11
11
  export interface TransactionListener {
@@ -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,6 +1,6 @@
1
1
  import { assert, ByteArrayInput, ByteArrayOutput, Checksum, isDefined, Listeners, Option, panic, UUID } from "@opendaw/lib-std";
2
- import { Dispatchers } from "./dispatchers";
3
2
  import { DeleteUpdate, NewUpdate, PointerUpdate, PrimitiveUpdate } from "./updates";
3
+ import { Dispatchers } from "./dispatchers";
4
4
  import { GraphEdges } from "./graph-edges";
5
5
  export class BoxGraph {
6
6
  #boxFactory;
@@ -126,7 +126,8 @@ export class BoxGraph {
126
126
  }
127
127
  }
128
128
  #processPointerValueUpdate(pointerField, update) {
129
- const oldVertex = pointerField.targetVertex.unwrapOrNull();
129
+ const { oldValue } = update;
130
+ const oldVertex = oldValue.flatMap(address => this.findVertex(address)).unwrapOrNull();
130
131
  pointerField.resolve();
131
132
  const newVertex = pointerField.targetVertex.unwrapOrNull();
132
133
  if (oldVertex !== newVertex) {
@@ -1 +1 @@
1
- {"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../src/pointer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAsB,YAAY,EAAC,MAAM,kBAAkB,CAAA;AACnH,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,KAAK,EAAE,cAAc,EAAC,MAAM,SAAS,CAAA;AAG7C,QAAA,MAAM,gBAAgB,eAA4B,CAAA;AAElD,MAAM,MAAM,mBAAmB,GAAG,OAAO,gBAAgB,CAAA;AAEzD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,mBAAmB,CAAA;AAEhE,qBAAa,YAAY,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,CAAE,SAAQ,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC;;IACtG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,YAAY,EAAE,SAAS,EAAE,cAAc,CAAC,mBAAmB,CAAC,EAC9C,WAAW,EAAE,CAAC,EACd,SAAS,EAAE,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC;IAU1E,OAAO;IASP,IAAI,UAAU,IAAI,UAAU,CAA+C;IAE3E,IAAI,WAAW,IAAI,CAAC,CAA2B;IAC/C,IAAI,SAAS,IAAI,OAAO,CAAyB;IAEjD,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/D,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAIjD,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAM3D,KAAK,CAAC,MAAM,SAAS,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,SAAS,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI;IAInG,KAAK,IAAI,IAAI;IAEb,IAAI,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,CAA4B;IAC9D,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAQtC;IAED,IAAI,aAAa,IAAI,MAAM,CAAC,OAAO,CAAC,CAA6B;IACjE,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,EAM1C;IAED,OAAO,IAAI,OAAO;IAClB,QAAQ,IAAI,OAAO;IAEnB,OAAO,IAAI,IAAI;IASf,IAAI,CAAC,KAAK,EAAE,SAAS;IAIrB,KAAK,CAAC,MAAM,EAAE,UAAU;CAS3B"}
1
+ {"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../src/pointer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAsB,YAAY,EAAC,MAAM,kBAAkB,CAAA;AACnH,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,KAAK,EAAE,cAAc,EAAC,MAAM,SAAS,CAAA;AAG7C,QAAA,MAAM,gBAAgB,eAA4B,CAAA;AAElD,MAAM,MAAM,mBAAmB,GAAG,OAAO,gBAAgB,CAAA;AAEzD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,mBAAmB,CAAA;AAEhE,qBAAa,YAAY,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,CAAE,SAAQ,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC;;IACtG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,YAAY,EAAE,SAAS,EAAE,cAAc,CAAC,mBAAmB,CAAC,EAC9C,WAAW,EAAE,CAAC,EACd,SAAS,EAAE,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC;IAU1E,OAAO;IASP,IAAI,UAAU,IAAI,UAAU,CAA+C;IAE3E,IAAI,WAAW,IAAI,CAAC,CAA2B;IAC/C,IAAI,SAAS,IAAI,OAAO,CAAyB;IAEjD,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/D,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAIjD,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAM3D,KAAK,CAAC,MAAM,SAAS,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,SAAS,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI;IAInG,KAAK,IAAI,IAAI;IAEb,IAAI,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,CAIjC;IACD,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAQtC;IAED,IAAI,aAAa,IAAI,MAAM,CAAC,OAAO,CAAC,CAA6B;IACjE,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,EAM1C;IAED,OAAO,IAAI,OAAO;IAClB,QAAQ,IAAI,OAAO;IAEnB,OAAO,IAAI,IAAI;IASf,IAAI,CAAC,KAAK,EAAE,SAAS;IAIrB,KAAK,CAAC,MAAM,EAAE,UAAU;CAS3B"}
package/dist/pointer.js CHANGED
@@ -37,7 +37,11 @@ export class PointerField extends Field {
37
37
  this.targetVertex = Option.wrap(vertex);
38
38
  }
39
39
  defer() { this.targetVertex = Option.None; }
40
- get targetVertex() { return this.#targetVertex; }
40
+ get targetVertex() {
41
+ return this.graph.inTransaction()
42
+ ? this.#targetAddress.flatMap((address) => this.graph.findVertex(address))
43
+ : this.#targetVertex;
44
+ }
41
45
  set targetVertex(option) {
42
46
  if (option.nonEmpty()) {
43
47
  const issue = PointerHub.validate(this, option.unwrap());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendaw/lib-box",
3
- "version": "0.0.12",
3
+ "version": "0.0.13",
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.12",
26
- "@opendaw/lib-std": "^0.0.12"
25
+ "@opendaw/lib-runtime": "^0.0.13",
26
+ "@opendaw/lib-std": "^0.0.13"
27
27
  },
28
28
  "devDependencies": {
29
- "@opendaw/eslint-config": "^0.0.12",
30
- "@opendaw/typescript-config": "^0.0.12"
29
+ "@opendaw/eslint-config": "^0.0.13",
30
+ "@opendaw/typescript-config": "^0.0.13"
31
31
  },
32
- "gitHead": "a24f67e337c10d2f5a186d48f2b2769b64c87607"
32
+ "gitHead": "500bff65c31e5472531b8b76efbde302ac42d602"
33
33
  }