@powersync/web 0.0.0-dev-20260216124709 → 0.0.0-dev-20260226160112

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.
Files changed (59) hide show
  1. package/dist/26d61ca9f5694d064635.wasm +0 -0
  2. package/dist/_journeyapps_wa-sqlite-_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapp-89f0ba.index.umd.js +70 -70
  3. package/dist/_journeyapps_wa-sqlite-_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapp-89f0ba.index.umd.js.map +1 -1
  4. package/dist/{_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapps_wa-sqlite_src_example-2530150.index.umd.js → _journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapps_wa-sqlite_src_example-97ebe9.index.umd.js} +77 -77
  5. package/dist/_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapps_wa-sqlite_src_example-97ebe9.index.umd.js.map +1 -0
  6. package/dist/b4c6283dc473b6b3fd24.wasm +0 -0
  7. package/dist/c78985091a0b22aaef03.wasm +0 -0
  8. package/dist/ca59e199e1138b553fad.wasm +0 -0
  9. package/dist/index.umd.js +4177 -202
  10. package/dist/index.umd.js.map +1 -1
  11. package/dist/worker/SharedSyncImplementation.umd.js +18308 -18254
  12. package/dist/worker/SharedSyncImplementation.umd.js.map +1 -1
  13. package/dist/worker/WASQLiteDB.umd.js +16978 -16924
  14. package/dist/worker/WASQLiteDB.umd.js.map +1 -1
  15. package/dist/worker/node_modules_pnpm_bson_6_10_4_node_modules_bson_lib_bson_mjs.umd.js.map +1 -1
  16. package/dist/worker/{node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_src_examples-1d4e74.umd.js → node_modules_pnpm_journeyapps_wa-sqlite_0_0_0-dev-20260226145021_node_modules_journeyapps_wa--0e69f0.umd.js} +20 -20
  17. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_0_0_0-dev-20260226145021_node_modules_journeyapps_wa--0e69f0.umd.js.map +1 -0
  18. package/dist/worker/{node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_src_examples-0d2437.umd.js → node_modules_pnpm_journeyapps_wa-sqlite_0_0_0-dev-20260226145021_node_modules_journeyapps_wa--1787c2.umd.js} +24 -24
  19. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_0_0_0-dev-20260226145021_node_modules_journeyapps_wa--1787c2.umd.js.map +1 -0
  20. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_0_0_0-dev-20260226145021_node_modules_journeyapps_wa--24f702.umd.js +3494 -0
  21. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_0_0_0-dev-20260226145021_node_modules_journeyapps_wa--24f702.umd.js.map +1 -0
  22. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_0_0_0-dev-20260226145021_node_modules_journeyapps_wa--4e15a2.umd.js +31 -0
  23. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_0_0_0-dev-20260226145021_node_modules_journeyapps_wa--4e15a2.umd.js.map +1 -0
  24. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_0_0_0-dev-20260226145021_node_modules_journeyapps_wa--7ba318.umd.js +31 -0
  25. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_0_0_0-dev-20260226145021_node_modules_journeyapps_wa--7ba318.umd.js.map +1 -0
  26. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_0_0_0-dev-20260226145021_node_modules_journeyapps_wa--919198.umd.js +31 -0
  27. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_0_0_0-dev-20260226145021_node_modules_journeyapps_wa--919198.umd.js.map +1 -0
  28. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_0_0_0-dev-20260226145021_node_modules_journeyapps_wa--997c14.umd.js +31 -0
  29. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_0_0_0-dev-20260226145021_node_modules_journeyapps_wa--997c14.umd.js.map +1 -0
  30. package/dist/worker/{node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_src_examples-3622cf.umd.js → node_modules_pnpm_journeyapps_wa-sqlite_0_0_0-dev-20260226145021_node_modules_journeyapps_wa--a6ce73.umd.js} +18 -18
  31. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_0_0_0-dev-20260226145021_node_modules_journeyapps_wa--a6ce73.umd.js.map +1 -0
  32. package/lib/package.json +3 -3
  33. package/lib/src/db/adapters/wa-sqlite/InternalWASQLiteDBAdapter.js +4 -2
  34. package/lib/src/db/adapters/wa-sqlite/WASQLiteConnection.d.ts +10 -1
  35. package/lib/src/db/adapters/wa-sqlite/WASQLiteConnection.js +36 -21
  36. package/lib/src/worker/db/open-worker-database.js +2 -2
  37. package/lib/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +5 -5
  39. package/src/db/adapters/wa-sqlite/InternalWASQLiteDBAdapter.ts +4 -3
  40. package/src/db/adapters/wa-sqlite/WASQLiteConnection.ts +41 -19
  41. package/src/worker/db/open-worker-database.ts +2 -2
  42. package/dist/0b19af1befc07ce338dd.wasm +0 -0
  43. package/dist/2632c3bda9473da74fd5.wasm +0 -0
  44. package/dist/64f5351ba3784bfe2f3e.wasm +0 -0
  45. package/dist/9318ca94aac4d0fe0135.wasm +0 -0
  46. package/dist/_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapps_wa-sqlite_src_example-2530150.index.umd.js.map +0 -1
  47. package/dist/_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapps_wa-sqlite_src_example-2530151.index.umd.js +0 -555
  48. package/dist/_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapps_wa-sqlite_src_example-2530151.index.umd.js.map +0 -1
  49. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_mc-wa-s-3a94cf.umd.js +0 -44
  50. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_mc-wa-s-3a94cf.umd.js.map +0 -1
  51. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_mc-wa-s-868779.umd.js +0 -44
  52. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_mc-wa-s-868779.umd.js.map +0 -1
  53. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_wa-sqli-f60d0d.umd.js +0 -44
  54. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_wa-sqli-f60d0d.umd.js.map +0 -1
  55. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_wa-sqlite_mjs.umd.js +0 -44
  56. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_dist_wa-sqlite_mjs.umd.js.map +0 -1
  57. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_src_examples-0d2437.umd.js.map +0 -1
  58. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_src_examples-1d4e74.umd.js.map +0 -1
  59. package/dist/worker/node_modules_pnpm_journeyapps_wa-sqlite_1_4_1_node_modules_journeyapps_wa-sqlite_src_examples-3622cf.umd.js.map +0 -1
@@ -9,7 +9,22 @@ export var WASQLiteVFS;
9
9
  WASQLiteVFS["IDBBatchAtomicVFS"] = "IDBBatchAtomicVFS";
10
10
  WASQLiteVFS["OPFSCoopSyncVFS"] = "OPFSCoopSyncVFS";
11
11
  WASQLiteVFS["AccessHandlePoolVFS"] = "AccessHandlePoolVFS";
12
+ WASQLiteVFS["OPFSWriteAheadVFS"] = "OPFSWriteAheadVFS";
12
13
  })(WASQLiteVFS || (WASQLiteVFS = {}));
14
+ /**
15
+ * Whether the given `vfs` needs to be hosted by a dedicated worker.
16
+ */
17
+ export function needsDedicatedWorker(vfs) {
18
+ vfs == WASQLiteVFS.AccessHandlePoolVFS || vfs == WASQLiteVFS.OPFSCoopSyncVFS;
19
+ switch (vfs) {
20
+ case WASQLiteVFS.OPFSCoopSyncVFS:
21
+ case WASQLiteVFS.AccessHandlePoolVFS:
22
+ case WASQLiteVFS.OPFSWriteAheadVFS:
23
+ return true;
24
+ default:
25
+ return false;
26
+ }
27
+ }
13
28
  /**
14
29
  * @internal
15
30
  */
@@ -43,13 +58,7 @@ export const MultiCipherSyncWASQLiteModuleFactory = async () => {
43
58
  */
44
59
  export const DEFAULT_MODULE_FACTORIES = {
45
60
  [WASQLiteVFS.IDBBatchAtomicVFS]: async (options) => {
46
- let module;
47
- if (options.encryptionKey) {
48
- module = await MultiCipherAsyncWASQLiteModuleFactory();
49
- }
50
- else {
51
- module = await AsyncWASQLiteModuleFactory();
52
- }
61
+ const module = await loadModule(true, options);
53
62
  const { IDBBatchAtomicVFS } = await import('@journeyapps/wa-sqlite/src/examples/IDBBatchAtomicVFS.js');
54
63
  return {
55
64
  module,
@@ -58,13 +67,7 @@ export const DEFAULT_MODULE_FACTORIES = {
58
67
  };
59
68
  },
60
69
  [WASQLiteVFS.AccessHandlePoolVFS]: async (options) => {
61
- let module;
62
- if (options.encryptionKey) {
63
- module = await MultiCipherSyncWASQLiteModuleFactory();
64
- }
65
- else {
66
- module = await SyncWASQLiteModuleFactory();
67
- }
70
+ const module = await loadModule(false, options);
68
71
  // @ts-expect-error The types for this static method are missing upstream
69
72
  const { AccessHandlePoolVFS } = await import('@journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js');
70
73
  return {
@@ -73,13 +76,7 @@ export const DEFAULT_MODULE_FACTORIES = {
73
76
  };
74
77
  },
75
78
  [WASQLiteVFS.OPFSCoopSyncVFS]: async (options) => {
76
- let module;
77
- if (options.encryptionKey) {
78
- module = await MultiCipherSyncWASQLiteModuleFactory();
79
- }
80
- else {
81
- module = await SyncWASQLiteModuleFactory();
82
- }
79
+ const module = await loadModule(false, options);
83
80
  // @ts-expect-error The types for this static method are missing upstream
84
81
  const { OPFSCoopSyncVFS } = await import('@journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js');
85
82
  const vfs = await OPFSCoopSyncVFS.create(options.dbFileName, module);
@@ -87,8 +84,26 @@ export const DEFAULT_MODULE_FACTORIES = {
87
84
  module,
88
85
  vfs
89
86
  };
87
+ },
88
+ [WASQLiteVFS.OPFSWriteAheadVFS]: async (options) => {
89
+ const module = await loadModule(false, options);
90
+ // @ts-expect-error The types for this static method are missing upstream
91
+ const { OPFSWriteAheadVFS } = await import('@journeyapps/wa-sqlite/src/examples/OPFSWriteAheadVFS.js');
92
+ const vfs = await OPFSWriteAheadVFS.create(options.dbFileName, module, {
93
+ // TODO: The asyncErrorHandler callback might be interesting to handle IDB failures, but it's not clear how we'd
94
+ // do that from here.
95
+ });
96
+ return { module, vfs };
90
97
  }
91
98
  };
99
+ async function loadModule(async, options) {
100
+ if (async) {
101
+ return await (options.encryptionKey ? MultiCipherAsyncWASQLiteModuleFactory() : AsyncWASQLiteModuleFactory());
102
+ }
103
+ else {
104
+ return await (options.encryptionKey ? MultiCipherSyncWASQLiteModuleFactory() : SyncWASQLiteModuleFactory());
105
+ }
106
+ }
92
107
  /**
93
108
  * @internal
94
109
  * WA-SQLite connection which directly interfaces with WA-SQLite.
@@ -1,10 +1,10 @@
1
1
  import * as Comlink from 'comlink';
2
- import { WASQLiteVFS } from '../../db/adapters/wa-sqlite/WASQLiteConnection.js';
2
+ import { needsDedicatedWorker } from '../../db/adapters/wa-sqlite/WASQLiteConnection.js';
3
3
  /**
4
4
  * Opens a shared or dedicated worker which exposes opening of database connections
5
5
  */
6
6
  export function openWorkerDatabasePort(workerIdentifier, multipleTabs = true, worker = '', vfs) {
7
- const needsDedicated = vfs == WASQLiteVFS.AccessHandlePoolVFS || vfs == WASQLiteVFS.OPFSCoopSyncVFS;
7
+ const needsDedicated = vfs && needsDedicatedWorker(vfs);
8
8
  if (worker) {
9
9
  return !needsDedicated && multipleTabs
10
10
  ? new SharedWorker(`${worker}`, {