@opendaw/studio-adapters 0.0.52 → 0.0.53

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.
@@ -0,0 +1,28 @@
1
+ import { Box } from "@opendaw/lib-box";
2
+ import { Pointers } from "@opendaw/studio-enums";
3
+ import { Attempt, JSONValue } from "@opendaw/lib-std";
4
+ export declare namespace MetaData {
5
+ /**
6
+ * Stores the given value in the target box under the given origin.
7
+ * Needs to be called within a transaction.
8
+ * @param target The box to store the meta-data in.
9
+ * @param value The value to store. Must be JSON-serializable.
10
+ * @param origin The origin of the meta-data. Must be unique to the app.
11
+ */
12
+ const store: (target: Box<Pointers.MetaData>, value: JSONValue, origin: string) => void;
13
+ /**
14
+ * Reads the meta-data from the target box.
15
+ * Returns a failed Attempt if no meta-data is found or the value is not deserializable.
16
+ * @param target The box to read the meta-data from.
17
+ * @param origin The origin of the meta-data. Must be unique to the app.
18
+ */
19
+ const read: (target: Box<Pointers.MetaData>, origin: string) => Attempt<JSONValue>;
20
+ /**
21
+ * Deletes all meta-data from the target box with the given origin.
22
+ * Needs to be called within a transaction.
23
+ * @param target The box to delete the meta-data from.
24
+ * @param origin The origin of the meta-data. Must be unique to the app.
25
+ */
26
+ const clear: (target: Box<Pointers.MetaData>, origin: string) => void;
27
+ }
28
+ //# sourceMappingURL=MetaData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetaData.d.ts","sourceRoot":"","sources":["../src/MetaData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,kBAAkB,CAAA;AACpC,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,OAAO,EAA4B,SAAS,EAAwB,MAAM,kBAAkB,CAAA;AAGpG,yBAAiB,QAAQ,CAAC;IACtB;;;;;;OAMG;IACI,MAAM,KAAK,GAAI,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,SAAS,EAAE,QAAQ,MAAM,KAAG,IAgBxF,CAAA;IAED;;;;;OAKG;IACI,MAAM,IAAI,GAAI,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,MAAM,KAAG,OAAO,CAAC,SAAS,CAYtF,CAAA;IAED;;;;;OAKG;IACI,MAAM,KAAK,GAAI,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,MAAM,KAAG,IAOtE,CAAA;CACJ"}
@@ -0,0 +1,76 @@
1
+ import { Pointers } from "@opendaw/studio-enums";
2
+ import { Attempts, isNotUndefined, panic, tryCatch, UUID } from "@opendaw/lib-std";
3
+ import { MetaDataBox } from "@opendaw/studio-boxes";
4
+ export var MetaData;
5
+ (function (MetaData) {
6
+ /**
7
+ * Stores the given value in the target box under the given origin.
8
+ * Needs to be called within a transaction.
9
+ * @param target The box to store the meta-data in.
10
+ * @param value The value to store. Must be JSON-serializable.
11
+ * @param origin The origin of the meta-data. Must be unique to the app.
12
+ */
13
+ MetaData.store = (target, value, origin) => {
14
+ if (origin === "") {
15
+ return panic("MetaData.store: origin must be unique to your app.");
16
+ }
17
+ const available = target.pointerHub
18
+ .filter(Pointers.MetaData)
19
+ .map(({ box }) => box)
20
+ .find((box) => box instanceof MetaDataBox && box.origin.getValue() === origin);
21
+ const apply = (box) => {
22
+ box.target.refer(target);
23
+ box.origin.setValue(origin);
24
+ box.value.setValue(JSON.stringify(value));
25
+ };
26
+ if (isNotUndefined(available)) {
27
+ apply(available);
28
+ }
29
+ else {
30
+ MetaDataBox.create(target.graph, UUID.generate(), apply);
31
+ }
32
+ };
33
+ /**
34
+ * Reads the meta-data from the target box.
35
+ * Returns a failed Attempt if no meta-data is found or the value is not deserializable.
36
+ * @param target The box to read the meta-data from.
37
+ * @param origin The origin of the meta-data. Must be unique to the app.
38
+ */
39
+ MetaData.read = (target, origin) => {
40
+ if (origin === "") {
41
+ return panic("MetaData.read: origin must be unique to your app.");
42
+ }
43
+ const existingBox = target.pointerHub
44
+ .filter(Pointers.MetaData)
45
+ .map(({ box }) => box)
46
+ .find((box) => box instanceof MetaDataBox && box.origin.getValue() === origin);
47
+ if (isNotUndefined(existingBox)) {
48
+ const { status, value, error } = tryCatch(() => JSON.parse(existingBox.value.getValue()));
49
+ if (status === "success") {
50
+ return Attempts.ok(value);
51
+ }
52
+ else {
53
+ return Attempts.err(error);
54
+ }
55
+ }
56
+ else {
57
+ return Attempts.err("No meta-data found");
58
+ }
59
+ };
60
+ /**
61
+ * Deletes all meta-data from the target box with the given origin.
62
+ * Needs to be called within a transaction.
63
+ * @param target The box to delete the meta-data from.
64
+ * @param origin The origin of the meta-data. Must be unique to the app.
65
+ */
66
+ MetaData.clear = (target, origin) => {
67
+ if (origin === "") {
68
+ return panic("MetaData.clear: origin must be unique to your app.");
69
+ }
70
+ target.pointerHub
71
+ .filter(Pointers.MetaData)
72
+ .map(({ box }) => box)
73
+ .filter((box) => box instanceof MetaDataBox && box.origin.getValue() === origin)
74
+ .forEach(box => box.delete());
75
+ };
76
+ })(MetaData || (MetaData = {}));
package/dist/index.d.ts CHANGED
@@ -14,6 +14,7 @@ export * from "./EngineStateSchema";
14
14
  export * from "./FieldAdapter";
15
15
  export * from "./IndexComparator";
16
16
  export * from "./IndexedBoxAdapterCollection";
17
+ export * from "./MetaData";
17
18
  export * from "./NoteBroadcaster";
18
19
  export * from "./NoteLifeCycle";
19
20
  export * from "./NoteSignal";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,oCAAoC,CAAA;AAClD,cAAc,cAAc,CAAA;AAC5B,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,WAAW,CAAA;AACzB,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oCAAoC,CAAA;AAClD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,uBAAuB,CAAA;AACrC,cAAc,oCAAoC,CAAA;AAClD,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,mCAAmC,CAAA;AACjD,cAAc,oBAAoB,CAAA;AAClC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oDAAoD,CAAA;AAClE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,wDAAwD,CAAA;AACtE,cAAc,+CAA+C,CAAA;AAC7D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,gDAAgD,CAAA;AAC9D,cAAc,gDAAgD,CAAA;AAC9D,cAAc,oDAAoD,CAAA;AAClE,cAAc,+CAA+C,CAAA;AAC7D,cAAc,4DAA4D,CAAA;AAC1E,cAAc,kDAAkD,CAAA;AAChE,cAAc,4CAA4C,CAAA;AAC1D,cAAc,sCAAsC,CAAA;AACpD,cAAc,2DAA2D,CAAA;AACzE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,4CAA4C,CAAA;AAC1D,cAAc,oDAAoD,CAAA;AAClE,cAAc,4CAA4C,CAAA;AAC1D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,0DAA0D,CAAA;AACxE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,kDAAkD,CAAA;AAChE,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mCAAmC,CAAA;AACjD,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qCAAqC,CAAA;AACnD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oCAAoC,CAAA;AAClD,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA;AACjD,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qCAAqC,CAAA;AACnD,cAAc,oCAAoC,CAAA;AAClD,cAAc,qCAAqC,CAAA;AACnD,cAAc,qDAAqD,CAAA;AACnE,cAAc,sDAAsD,CAAA;AACpE,cAAc,4CAA4C,CAAA;AAC1D,cAAc,sCAAsC,CAAA;AACpD,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,wCAAwC,CAAA;AACtD,cAAc,yCAAyC,CAAA;AACvD,cAAc,UAAU,CAAA"}
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ export * from "./EngineStateSchema";
16
16
  export * from "./FieldAdapter";
17
17
  export * from "./IndexComparator";
18
18
  export * from "./IndexedBoxAdapterCollection";
19
+ export * from "./MetaData";
19
20
  export * from "./NoteBroadcaster";
20
21
  export * from "./NoteLifeCycle";
21
22
  export * from "./NoteSignal";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendaw/studio-adapters",
3
- "version": "0.0.52",
3
+ "version": "0.0.53",
4
4
  "license": "LGPL-3.0-or-later",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -23,17 +23,17 @@
23
23
  "test": "echo \"No tests to run\""
24
24
  },
25
25
  "dependencies": {
26
- "@opendaw/lib-box": "^0.0.51",
27
- "@opendaw/lib-dsp": "^0.0.51",
28
- "@opendaw/lib-runtime": "^0.0.51",
29
- "@opendaw/lib-std": "^0.0.51",
30
- "@opendaw/studio-boxes": "^0.0.51",
31
- "@opendaw/studio-enums": "^0.0.42",
26
+ "@opendaw/lib-box": "^0.0.52",
27
+ "@opendaw/lib-dsp": "^0.0.52",
28
+ "@opendaw/lib-runtime": "^0.0.52",
29
+ "@opendaw/lib-std": "^0.0.52",
30
+ "@opendaw/studio-boxes": "^0.0.52",
31
+ "@opendaw/studio-enums": "^0.0.43",
32
32
  "soundfont2": "^0.5.0"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@opendaw/eslint-config": "^0.0.20",
36
36
  "@opendaw/typescript-config": "^0.0.20"
37
37
  },
38
- "gitHead": "1b6de986a1edbf3e26b8044f9c9e6a887f4b3b87"
38
+ "gitHead": "bd520f2c650ed3cf9088201d7623438555ab4dd2"
39
39
  }