@opendaw/lib-box 0.0.37 → 0.0.38
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/editing.d.ts.map +1 -1
- package/dist/editing.js +8 -3
- package/dist/object.d.ts +2 -1
- package/dist/object.d.ts.map +1 -1
- package/dist/object.js +4 -0
- package/package.json +4 -4
package/dist/editing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editing.d.ts","sourceRoot":"","sources":["../src/editing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAA;AAChC,OAAO,EAAiB,OAAO,EAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAqBtF,MAAM,WAAW,mBAAmB;IAChC,OAAO,IAAI,IAAI,CAAA;IACf,MAAM,IAAI,IAAI,CAAA;CACjB;AAED,qBAAa,UAAW,YAAW,OAAO;;gBAU1B,KAAK,EAAE,QAAQ;IAI3B,IAAI,KAAK,IAAI,QAAQ,CAAqB;IAE1C,OAAO,IAAI,OAAO;IAElB,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,OAAO;IAUf,IAAI,IAAI,OAAO;IAcf,SAAS,IAAI,OAAO;IAEpB,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAE,OAAc,GAAG,MAAM,CAAC,CAAC,CAAC;IAWxE,iBAAiB,IAAI,mBAAmB;
|
|
1
|
+
{"version":3,"file":"editing.d.ts","sourceRoot":"","sources":["../src/editing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAA;AAChC,OAAO,EAAiB,OAAO,EAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAqBtF,MAAM,WAAW,mBAAmB;IAChC,OAAO,IAAI,IAAI,CAAA;IACf,MAAM,IAAI,IAAI,CAAA;CACjB;AAED,qBAAa,UAAW,YAAW,OAAO;;gBAU1B,KAAK,EAAE,QAAQ;IAI3B,IAAI,KAAK,IAAI,QAAQ,CAAqB;IAE1C,OAAO,IAAI,OAAO;IAElB,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,OAAO;IAUf,IAAI,IAAI,OAAO;IAcf,SAAS,IAAI,OAAO;IAEpB,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAE,OAAc,GAAG,MAAM,CAAC,CAAC,CAAC;IAWxE,iBAAiB,IAAI,mBAAmB;IAuCxC,IAAI,IAAI,IAAI;IAOZ,YAAY,IAAI,IAAI;IAMpB,OAAO,IAAI,IAAI;CAGlB"}
|
package/dist/editing.js
CHANGED
|
@@ -79,12 +79,17 @@ export class BoxEditing {
|
|
|
79
79
|
return result;
|
|
80
80
|
}
|
|
81
81
|
beginModification() {
|
|
82
|
-
this.#graph.
|
|
82
|
+
const alreadyIntransaction = this.#graph.inTransaction();
|
|
83
|
+
if (!alreadyIntransaction) {
|
|
84
|
+
this.#graph.beginTransaction();
|
|
85
|
+
}
|
|
83
86
|
this.#modifying = true;
|
|
84
87
|
const complete = () => {
|
|
85
88
|
this.#modifying = false;
|
|
86
|
-
|
|
87
|
-
|
|
89
|
+
if (!alreadyIntransaction) {
|
|
90
|
+
this.#graph.endTransaction();
|
|
91
|
+
this.#graph.edges().validateRequirements();
|
|
92
|
+
}
|
|
88
93
|
};
|
|
89
94
|
return {
|
|
90
95
|
approve: complete,
|
package/dist/object.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Field, FieldConstruct, Fields } from "./field";
|
|
2
2
|
import { UnreferenceableType } from "./pointer";
|
|
3
|
-
import { DataInput, DataOutput, JSONValue, Maybe, Option, Optional } from "@opendaw/lib-std";
|
|
3
|
+
import { DataInput, DataOutput, JSONValue, Maybe, Observer, Option, Optional, Subscription } from "@opendaw/lib-std";
|
|
4
4
|
import { VertexVisitor } from "./vertex";
|
|
5
5
|
export declare abstract class ObjectField<FIELDS extends Fields> extends Field<UnreferenceableType, FIELDS> {
|
|
6
6
|
#private;
|
|
@@ -11,6 +11,7 @@ export declare abstract class ObjectField<FIELDS extends Fields> extends Field<U
|
|
|
11
11
|
record(): Readonly<Record<string, Field>>;
|
|
12
12
|
getField<K extends keyof FIELDS>(key: K): FIELDS[K];
|
|
13
13
|
optField<K extends keyof FIELDS>(key: K): Option<FIELDS[K]>;
|
|
14
|
+
subscribe(observer: Observer<this>): Subscription;
|
|
14
15
|
read(input: DataInput): void;
|
|
15
16
|
write(output: DataOutput): void;
|
|
16
17
|
toJSON(): Optional<JSONValue>;
|
package/dist/object.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../src/object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,cAAc,EAAY,MAAM,EAAC,MAAM,SAAS,CAAA;AAC/D,OAAO,EAAC,mBAAmB,EAAC,MAAM,WAAW,CAAA;AAC7C,OAAO,EAEH,SAAS,EACT,UAAU,EAGV,SAAS,EACT,KAAK,EACL,MAAM,EACN,QAAQ,
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../src/object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,cAAc,EAAY,MAAM,EAAC,MAAM,SAAS,CAAA;AAC/D,OAAO,EAAC,mBAAmB,EAAC,MAAM,WAAW,CAAA;AAC7C,OAAO,EAEH,SAAS,EACT,UAAU,EAGV,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EAGR,YAAY,EACf,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAA;AAGtC,8BAAsB,WAAW,CAAC,MAAM,SAAS,MAAM,CAAE,SAAQ,KAAK,CAAC,mBAAmB,EAAE,MAAM,CAAC;;IAG/F,SAAS,aAAa,SAAS,EAAE,cAAc,CAAC,mBAAmB,CAAC;IAMpE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,IAAI,MAAM;IAE7C,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAI7D,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC;IAC9B,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzC,QAAQ,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAE3D,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAKjD,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAC5B,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAE/B,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC;IAO7B,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;CAYpC"}
|
package/dist/object.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Field } from "./field";
|
|
2
2
|
import { asDefined, isDefined, isRecord, Option, panic, safeExecute } from "@opendaw/lib-std";
|
|
3
3
|
import { Serializer } from "./serializer";
|
|
4
|
+
import { Propagation } from "./dispatchers";
|
|
4
5
|
export class ObjectField extends Field {
|
|
5
6
|
#fields;
|
|
6
7
|
constructor(construct) {
|
|
@@ -14,6 +15,9 @@ export class ObjectField extends Field {
|
|
|
14
15
|
record() { return this.#fields; }
|
|
15
16
|
getField(key) { return asDefined(this.#fields[key]); }
|
|
16
17
|
optField(key) { return Option.wrap(this.#fields[key]); }
|
|
18
|
+
subscribe(observer) {
|
|
19
|
+
return this.graph.subscribeVertexUpdates(Propagation.Children, this.address, () => this.graph.subscribeEndTransaction(() => observer(this)));
|
|
20
|
+
}
|
|
17
21
|
read(input) { Serializer.readFields(input, this.#fields); }
|
|
18
22
|
write(output) { Serializer.writeFields(output, this.#fields); }
|
|
19
23
|
toJSON() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opendaw/lib-box",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.38",
|
|
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.38",
|
|
26
|
+
"@opendaw/lib-std": "^0.0.38"
|
|
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": "5a6c7ff14cb76c6e46c9511799596a5133dae043"
|
|
33
33
|
}
|