@opendaw/lib-fusion 0.0.85 → 0.0.86

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.
@@ -1 +1 @@
1
- {"version":3,"file":"OpfsWorker.d.ts","sourceRoot":"","sources":["../../src/opfs/OpfsWorker.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAE,SAAS,EAAW,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAE3C,yBAAiB,UAAU,CAAC;IAGjB,MAAM,IAAI,GAAI,WAAW,SAAS;;oBAIf,MAAM,QAAQ,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;mBAkBzC,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;qBAe1B,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;qBAazB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;mBAUxB,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;iBAWrD,OAAO,CAAC,IAAI,CAAC;kCAWT,CAAC,QAAQ,MAAM,aAAa,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;wCAqBnD,MAAM,YAAY,6BAA6B,GAAG,OAAO,CAAC,0BAA0B,CAAC;8CAO/E,aAAa,CAAC,MAAM,CAAC,YACrB,6BAA6B,GAAG,OAAO,CAAC,yBAAyB,CAAC;MAKnG,CAAA;CAMT"}
1
+ {"version":3,"file":"OpfsWorker.d.ts","sourceRoot":"","sources":["../../src/opfs/OpfsWorker.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAE,SAAS,EAAW,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAE3C,yBAAiB,UAAU,CAAC;IAGjB,MAAM,IAAI,GAAI,WAAW,SAAS;;oBAIf,MAAM,QAAQ,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;mBAkBzC,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;qBAe1B,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;qBAgBzB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;mBAUxB,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;iBAWrD,OAAO,CAAC,IAAI,CAAC;kCAWT,CAAC,QAAQ,MAAM,aAAa,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;wCAqBnD,MAAM,YAAY,6BAA6B,GAAG,OAAO,CAAC,0BAA0B,CAAC;8CAO/E,aAAa,CAAC,MAAM,CAAC,YACrB,6BAA6B,GAAG,OAAO,CAAC,yBAAyB,CAAC;MAKnG,CAAA;CAMT"}
@@ -47,10 +47,17 @@ export var OpfsWorker;
47
47
  if (DEBUG) {
48
48
  console.debug(`exists ${path}`);
49
49
  }
50
- const handle = await this.#resolveFile(path);
50
+ const segments = pathToSegments(path);
51
+ const { status: folderStatus } = await Promises.tryCatch(this.#resolveFolder(segments));
52
+ if (folderStatus === "resolved") {
53
+ return true;
54
+ }
55
+ const { status: fileStatus, value: handle } = await Promises.tryCatch(this.#resolveFile(path));
56
+ if (fileStatus === "rejected") {
57
+ return false;
58
+ }
51
59
  try {
52
- const size = handle.getSize();
53
- return size > 0;
60
+ return handle.getSize() > 0;
54
61
  }
55
62
  finally {
56
63
  handle.close();
@@ -1 +1 @@
1
- {"version":3,"file":"Preferences.d.ts","sourceRoot":"","sources":["../../src/preferences/Preferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,sBAAsB,EACtB,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,UAAU,EAEV,WAAW,EACd,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAErB,MAAM,WAAW,WAAW,CAAC,QAAQ;IACjC,IAAI,QAAQ,IAAI,QAAQ,CAAA;IACxB,SAAS,CAAC,CAAC,SAAS,SAAS,CAAC,QAAQ,CAAC,EACnC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,YAAY,CAAA;IAC3E,mBAAmB,CAAC,CAAC,SAAS,SAAS,CAAC,QAAQ,CAAC,EAC7C,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,YAAY,CAAA;IAC3E,4BAA4B,CAAC,CAAC,SAAS,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAChE,sBAAsB,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAA;CACtE;AAED,yBAAiB,WAAW,CAAC;IAClB,MAAM,IAAI,GAAI,QAAQ,SAAS,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAG,eAAe,CAAC,QAAQ,CAI7G,CAAA;IAEM,MAAM,MAAM,GAAI,QAAQ,SAAS,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAG,iBAAiB,CAAC,QAAQ,CAIjH,CAAA;CAeJ"}
1
+ {"version":3,"file":"Preferences.d.ts","sourceRoot":"","sources":["../../src/preferences/Preferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,sBAAsB,EACtB,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,UAAU,EAEV,WAAW,EACd,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAErB,MAAM,WAAW,WAAW,CAAC,QAAQ;IACjC,IAAI,QAAQ,IAAI,QAAQ,CAAA;IACxB,SAAS,CAAC,CAAC,SAAS,SAAS,CAAC,QAAQ,CAAC,EACnC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,YAAY,CAAA;IAC3E,mBAAmB,CAAC,CAAC,SAAS,SAAS,CAAC,QAAQ,CAAC,EAC7C,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,YAAY,CAAA;IAC3E,4BAA4B,CAAC,CAAC,SAAS,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAChE,sBAAsB,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAA;CACtE;AAED,yBAAiB,WAAW,CAAC;IAGlB,MAAM,IAAI,GAAI,QAAQ,SAAS,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAG,eAAe,CAAC,QAAQ,CAM7G,CAAA;IAEM,MAAM,MAAM,GAAI,QAAQ,SAAS,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAG,iBAAiB,CAAC,QAAQ,CAMjH,CAAA;CAgBJ"}
@@ -3,17 +3,25 @@ import { PreferencesFacade } from "./PreferencesFacade";
3
3
  import { PreferencesHost } from "./PreferencesHost";
4
4
  export var Preferences;
5
5
  (function (Preferences) {
6
+ const hasLocalStorage = typeof localStorage !== "undefined";
6
7
  Preferences.host = (key, zod) => {
7
8
  const facade = new PreferencesHost(loadFromStorage(key, zod));
8
- facade.subscribeAll(() => tryCatch(() => localStorage.setItem(key, JSON.stringify(facade.settings))));
9
+ if (hasLocalStorage) {
10
+ facade.subscribeAll(() => tryCatch(() => localStorage.setItem(key, JSON.stringify(facade.settings))));
11
+ }
9
12
  return facade;
10
13
  };
11
14
  Preferences.facade = (key, zod) => {
12
15
  const facade = new PreferencesFacade(loadFromStorage(key, zod));
13
- facade.subscribeAll(() => tryCatch(() => localStorage.setItem(key, JSON.stringify(facade.settings))));
16
+ if (hasLocalStorage) {
17
+ facade.subscribeAll(() => tryCatch(() => localStorage.setItem(key, JSON.stringify(facade.settings))));
18
+ }
14
19
  return facade;
15
20
  };
16
21
  const loadFromStorage = (key, zod) => {
22
+ if (!hasLocalStorage) {
23
+ return zod.parse({});
24
+ }
17
25
  const stored = localStorage.getItem(key);
18
26
  if (isDefined(stored)) {
19
27
  const { status, value } = tryCatch(() => JSON.parse(stored));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendaw/lib-fusion",
3
- "version": "0.0.85",
3
+ "version": "0.0.86",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "license": "LGPL-3.0-or-later",
@@ -23,10 +23,10 @@
23
23
  "test": "vitest run"
24
24
  },
25
25
  "dependencies": {
26
- "@opendaw/lib-box": "^0.0.78",
27
- "@opendaw/lib-dom": "^0.0.77",
28
- "@opendaw/lib-runtime": "^0.0.73",
29
- "@opendaw/lib-std": "^0.0.72"
26
+ "@opendaw/lib-box": "^0.0.79",
27
+ "@opendaw/lib-dom": "^0.0.78",
28
+ "@opendaw/lib-runtime": "^0.0.74",
29
+ "@opendaw/lib-std": "^0.0.73"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@opendaw/eslint-config": "^0.0.27",
@@ -34,5 +34,5 @@
34
34
  "jsdom": "^25.0.1",
35
35
  "vitest": "^2.1.8"
36
36
  },
37
- "gitHead": "e411bd3e6a00344f0e32bf32490977fe411039b7"
37
+ "gitHead": "0de255fcdacefee9ab663ceeb0d4424a278c5dc4"
38
38
  }