@powersync/web 2.5.0 → 2.6.0

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 (82) hide show
  1. package/dist/index.react_native_web.js +80 -21
  2. package/dist/index.react_native_web.js.map +1 -1
  3. package/dist/worker/AccessHandlePoolVFS-Do8lc5Ck.js +2 -0
  4. package/dist/worker/AccessHandlePoolVFS-Do8lc5Ck.js.map +1 -0
  5. package/dist/worker/FacadeVFS-d1ZDvud7.js.map +1 -1
  6. package/dist/worker/IDBBatchAtomicVFS-CDb4d4wN.js +2 -0
  7. package/dist/worker/IDBBatchAtomicVFS-CDb4d4wN.js.map +1 -0
  8. package/dist/worker/MemoryVFS-DVJL5F8j.js.map +1 -1
  9. package/dist/worker/OPFSCoopSyncVFS-CDNBPKfy.js +2 -0
  10. package/dist/worker/OPFSCoopSyncVFS-CDNBPKfy.js.map +1 -0
  11. package/dist/worker/OPFSWriteAheadVFS-V9yBrLWl.js +2 -0
  12. package/dist/worker/OPFSWriteAheadVFS-V9yBrLWl.js.map +1 -0
  13. package/dist/worker/assets/mc-wa-sqlite-Cq3AePIW.wasm +0 -0
  14. package/dist/worker/assets/{mc-wa-sqlite-async-DdlQmAUV.wasm → mc-wa-sqlite-async-aRcIGeKj.wasm} +0 -0
  15. package/dist/worker/assets/wa-sqlite-CePoIZt_.wasm +0 -0
  16. package/dist/worker/assets/wa-sqlite-async-B3FiUnt1.wasm +0 -0
  17. package/dist/worker/{mc-wa-sqlite-PubB6u8c.js → mc-wa-sqlite-DRR2R_uj.js} +2 -2
  18. package/dist/worker/mc-wa-sqlite-DRR2R_uj.js.map +1 -0
  19. package/dist/worker/{mc-wa-sqlite-async-DJG_ANKO.js → mc-wa-sqlite-async-C40l6kIz.js} +2 -2
  20. package/dist/worker/mc-wa-sqlite-async-C40l6kIz.js.map +1 -0
  21. package/dist/worker/{wa-sqlite-D1_4mGs8.js → wa-sqlite-_a9CU4MM.js} +2 -2
  22. package/dist/worker/wa-sqlite-_a9CU4MM.js.map +1 -0
  23. package/dist/worker/wa-sqlite-async-Da0d0GJg.js +2 -0
  24. package/dist/worker/wa-sqlite-async-Da0d0GJg.js.map +1 -0
  25. package/dist/worker/{websockets-Q8W_lerF.js → websockets-Dx9ExO-W.js} +2 -2
  26. package/dist/worker/{websockets-Q8W_lerF.js.map → websockets-Dx9ExO-W.js.map} +1 -1
  27. package/dist/worker/worker.js +1 -1
  28. package/dist/worker/worker.js.map +1 -1
  29. package/lib/db/PowerSyncDatabase.d.ts +4 -3
  30. package/lib/db/PowerSyncDatabase.js +3 -0
  31. package/lib/db/PowerSyncDatabase.js.map +1 -1
  32. package/lib/db/adapters/options.d.ts +30 -0
  33. package/lib/db/adapters/options.js.map +1 -1
  34. package/lib/db/adapters/resolveAndValidateOptions.js +6 -1
  35. package/lib/db/adapters/resolveAndValidateOptions.js.map +1 -1
  36. package/lib/db/adapters/wa-sqlite/RawSqliteConnection.d.ts +5 -0
  37. package/lib/db/adapters/wa-sqlite/RawSqliteConnection.js +7 -2
  38. package/lib/db/adapters/wa-sqlite/RawSqliteConnection.js.map +1 -1
  39. package/lib/db/adapters/wa-sqlite/WASQLiteOpenFactory.js +4 -2
  40. package/lib/db/adapters/wa-sqlite/WASQLiteOpenFactory.js.map +1 -1
  41. package/lib/db/adapters/wa-sqlite/vfs.d.ts +24 -1
  42. package/lib/db/adapters/wa-sqlite/vfs.js +33 -4
  43. package/lib/db/adapters/wa-sqlite/vfs.js.map +1 -1
  44. package/lib/db/sync/SharedWebStreamingSyncImplementation.d.ts +1 -0
  45. package/lib/db/sync/SharedWebStreamingSyncImplementation.js +28 -11
  46. package/lib/db/sync/SharedWebStreamingSyncImplementation.js.map +1 -1
  47. package/lib/db/sync/WebRemote.d.ts +2 -3
  48. package/lib/db/sync/WebRemote.js +0 -2
  49. package/lib/db/sync/WebRemote.js.map +1 -1
  50. package/lib/worker/sync/SharedSyncImplementation.d.ts +9 -2
  51. package/lib/worker/sync/SharedSyncImplementation.js +66 -37
  52. package/lib/worker/sync/SharedSyncImplementation.js.map +1 -1
  53. package/lib/worker/sync/WorkerClient.d.ts +3 -3
  54. package/lib/worker/sync/WorkerClient.js +3 -3
  55. package/lib/worker/sync/WorkerClient.js.map +1 -1
  56. package/package.json +6 -6
  57. package/src/db/PowerSyncDatabase.ts +6 -3
  58. package/src/db/adapters/options.ts +32 -0
  59. package/src/db/adapters/resolveAndValidateOptions.ts +9 -1
  60. package/src/db/adapters/wa-sqlite/RawSqliteConnection.ts +12 -2
  61. package/src/db/adapters/wa-sqlite/WASQLiteOpenFactory.ts +6 -2
  62. package/src/db/adapters/wa-sqlite/vfs.ts +51 -4
  63. package/src/db/sync/SharedWebStreamingSyncImplementation.ts +34 -15
  64. package/src/db/sync/WebRemote.ts +2 -5
  65. package/src/worker/sync/SharedSyncImplementation.ts +89 -48
  66. package/src/worker/sync/WorkerClient.ts +4 -3
  67. package/dist/worker/AccessHandlePoolVFS-B9CKqcQ3.js +0 -2
  68. package/dist/worker/AccessHandlePoolVFS-B9CKqcQ3.js.map +0 -1
  69. package/dist/worker/IDBBatchAtomicVFS-BfRzbRoV.js +0 -2
  70. package/dist/worker/IDBBatchAtomicVFS-BfRzbRoV.js.map +0 -1
  71. package/dist/worker/OPFSCoopSyncVFS-BxXAVpVQ.js +0 -2
  72. package/dist/worker/OPFSCoopSyncVFS-BxXAVpVQ.js.map +0 -1
  73. package/dist/worker/OPFSWriteAheadVFS-DuqXaOct.js +0 -2
  74. package/dist/worker/OPFSWriteAheadVFS-DuqXaOct.js.map +0 -1
  75. package/dist/worker/assets/mc-wa-sqlite-BHScYYZw.wasm +0 -0
  76. package/dist/worker/assets/wa-sqlite-CIxTmRHQ.wasm +0 -0
  77. package/dist/worker/assets/wa-sqlite-async-zc68fxQq.wasm +0 -0
  78. package/dist/worker/mc-wa-sqlite-PubB6u8c.js.map +0 -1
  79. package/dist/worker/mc-wa-sqlite-async-DJG_ANKO.js.map +0 -1
  80. package/dist/worker/wa-sqlite-D1_4mGs8.js.map +0 -1
  81. package/dist/worker/wa-sqlite-async-BxkwNY-2.js +0 -2
  82. package/dist/worker/wa-sqlite-async-BxkwNY-2.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { type PowerSyncBackendConnector, type PowerSyncCloseOptions, BasePowerSyncDatabaseOptions, DatabaseSource, DBAdapter, PowerSyncDatabaseConstructor, CommonPowerSyncDatabase } from '@powersync/common';
2
- import { BasePowerSyncDatabase, CreateSyncImplementationOptions, Mutex, StreamingSyncImplementation, TriggerManagerConfig } from '@powersync/shared-internals';
1
+ import { type PowerSyncCloseOptions, BasePowerSyncDatabaseOptions, DatabaseSource, DBAdapter, PowerSyncDatabaseConstructor, CommonPowerSyncDatabase } from '@powersync/common';
2
+ import { BasePowerSyncDatabase, CreateSyncImplementationOptions, InternalConnector, Mutex, StreamingSyncImplementation, TriggerManagerConfig } from '@powersync/shared-internals';
3
3
  import { WebSpecificOpenOptions, WebSQLOpenOptions } from './adapters/options.js';
4
4
  export type WebPowerSyncDatabaseOptions = BasePowerSyncDatabaseOptions & DatabaseSource<WebSQLOpenOptions> & WebSpecificOptions;
5
5
  export interface WebSpecificOptions {
@@ -33,6 +33,7 @@ export declare class WebPowerSyncDatabase extends BasePowerSyncDatabase<WebPower
33
33
  protected resolvedOpenOptions: WebSpecificOpenOptions;
34
34
  protected enableBroadcastLogs: boolean;
35
35
  constructor(options: WebPowerSyncDatabaseOptions);
36
+ get sdkName(): string;
36
37
  _initialize(): Promise<void>;
37
38
  protected generateTriggerManagerConfig(): TriggerManagerConfig;
38
39
  protected openDBAdapter(): DBAdapter;
@@ -45,7 +46,7 @@ export declare class WebPowerSyncDatabase extends BasePowerSyncDatabase<WebPower
45
46
  protected loadVersion(): Promise<void>;
46
47
  protected resolveOfflineSyncStatus(): Promise<void>;
47
48
  protected runExclusive<T>(cb: () => Promise<T>): Promise<T>;
48
- protected generateSyncStreamImplementation(connector: PowerSyncBackendConnector, options: CreateSyncImplementationOptions): StreamingSyncImplementation;
49
+ protected generateSyncStreamImplementation(connector: InternalConnector, options: CreateSyncImplementationOptions): StreamingSyncImplementation;
49
50
  }
50
51
  /**
51
52
  * A PowerSync database which provides SQLite functionality
@@ -25,6 +25,9 @@ export class WebPowerSyncDatabase extends BasePowerSyncDatabase {
25
25
  // Lets development tooling in this page find the live databases.
26
26
  registerDatabase(this);
27
27
  }
28
+ get sdkName() {
29
+ return '@powersync/web';
30
+ }
28
31
  async _initialize() {
29
32
  if (this.database instanceof AsyncDbAdapter) {
30
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"PowerSyncDatabase.js","sourceRoot":"","sources":["../../src/db/PowerSyncDatabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PowerSyncDatabase.js","sourceRoot":"","sources":["../../src/db/PowerSyncDatabase.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,16 @@ export interface WebSpecificOpenOptions {
54
54
  */
55
55
  encryptionKey: string | undefined;
56
56
  vfs: WASQLiteVFS;
57
+ /**
58
+ * Names of additional no-argument WebAssembly exports to call after the PowerSync core initializer and before
59
+ * opening each SQLite connection, in array order. Each must register a statically linked extension, return
60
+ * SQLITE_OK (0) on success, and be safe to call more than once for a module.
61
+ *
62
+ * Requires a custom wa-sqlite build exporting these functions and a worker bundled against its matching JavaScript.
63
+ * Use exported names without Emscripten's leading underscore, e.g. `decimal_init_static`.
64
+ * Defaults to no additional initialization functions.
65
+ */
66
+ additionalInitializationFunctions?: readonly string[];
57
67
  /**
58
68
  * If the {@link vfs} supports it, an additional amount of read-only connections to open. Using additional read
59
69
  * connections can speed up queries by dispatching them to multiple workers running them concurrently.
@@ -83,6 +93,26 @@ export interface WebSpecificOpenOptions {
83
93
  * Defaults to 0 (disabling the cache).
84
94
  */
85
95
  preparedStatementsCache?: number;
96
+ /**
97
+ * The name of a [Storage Bucket](https://wicg.github.io/storage-buckets/) to keep the database files in,
98
+ * instead of the default bucket of the origin private file system.
99
+ *
100
+ * Only supported by the OPFS-based VFS implementations: {@link WASQLiteVFS.OPFSCoopSyncVFS},
101
+ * {@link WASQLiteVFS.OPFSWriteAheadVFS} and {@link WASQLiteVFS.AccessHandlePoolVFS}. Opening the database fails in
102
+ * a browser without the Storage Buckets API, so set this option only when `'storageBuckets' in navigator`.
103
+ *
104
+ * The SDK forwards the name to `navigator.storageBuckets.open()` unchanged, so the browser reports a name it does not
105
+ * accept. The bucket is opened by name, with the browser's default options. To configure options for the bucket,
106
+ * call and await `navigator.storageBuckets.open()` before opening a PowerSync database.
107
+ *
108
+ * A database in a bucket is a different database from one of the same name in the default bucket: setting this
109
+ * option for an existing database starts with an empty database, and the files in the default bucket are not
110
+ * moved. The SDK groups database resources by database name, without taking the storage bucket into account. To
111
+ * avoid lock contention and wrong update notifications, use unique database names even across buckets.
112
+ *
113
+ * Uses the default bucket when no option is given.
114
+ */
115
+ storageBucket?: string;
86
116
  }
87
117
  export interface ResolvedWebSQLOpenOptions extends SQLOpenOptions, WebSpecificOpenOptions {
88
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/db/adapters/options.ts"],"names":[],"mappings":"AAwGA,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,2CAAiB,CAAA;IACjB,6CAAmB,CAAA;AACrB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/db/adapters/options.ts"],"names":[],"mappings":"AAwIA,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,2CAAiB,CAAA;IACjB,6CAAmB,CAAA;AACrB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC"}
@@ -1,6 +1,6 @@
1
1
  import { LogLevels } from '@powersync/common';
2
2
  import { TemporaryStorageOption } from './options.js';
3
- import { vfsRequiresDedicatedWorkers, WASQLiteVFS } from './wa-sqlite/vfs.js';
3
+ import { vfsRequiresDedicatedWorkers, vfsSupportsStorageBuckets, WASQLiteVFS } from './wa-sqlite/vfs.js';
4
4
  /**
5
5
  * The maximum length of a db filename we support.
6
6
  *
@@ -36,6 +36,11 @@ export function resolveAndValidateOptions(options) {
36
36
  if (vfsRequiresDedicatedWorkers(resolved.vfs) && !resolved.useWebWorker) {
37
37
  throw new Error(`Invalid configuration: The 'useWebWorker' flag must be true when using an OPFS-based VFS (${resolved.vfs}).`);
38
38
  }
39
+ if (resolved.storageBucket != null) {
40
+ if (!vfsSupportsStorageBuckets(resolved.vfs)) {
41
+ throw new Error(`Invalid configuration: The 'storageBucket' option needs an OPFS-based VFS, which ${resolved.vfs} is not.`);
42
+ }
43
+ }
39
44
  return resolved;
40
45
  }
41
46
  //# sourceMappingURL=resolveAndValidateOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAndValidateOptions.js","sourceRoot":"","sources":["../../../src/db/adapters/resolveAndValidateOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAA0B,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAA8C;IAE9C,MAAM,QAAQ,GAA2B;QACvC,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC;QAClC;;;WAGG;QACH,eAAe,EACb,OAAO,UAAU,CAAC,SAAS,KAAK,WAAW,IAAI,mBAAmB;YAClE,OAAO,YAAY,KAAK,WAAW;YACnC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,6BAA6B,CAAC;YACzD,CAAE,MAAc,CAAC,MAAM;QACzB,YAAY,EAAE,IAAI;QAClB,sBAAsB,EAAE,SAAS,CAAC,IAAI;QACtC,gBAAgB,EAAE,sBAAsB,CAAC,MAAM;QAC/C,WAAW,EAAE,EAAE,GAAG,IAAI;QACtB,aAAa,EAAE,SAAS;QACxB,GAAG,EAAE,WAAW,CAAC,iBAAiB;QAClC,iBAAiB,EAAE,CAAC;KACrB,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,2BAA2B,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CACb,6FAA6F,QAAQ,CAAC,GAAG,IAAI,CAC9G,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"resolveAndValidateOptions.js","sourceRoot":"","sources":["../../../src/db/adapters/resolveAndValidateOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAA0B,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEzG;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAA8C;IAE9C,MAAM,QAAQ,GAA2B;QACvC,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC;QAClC;;;WAGG;QACH,eAAe,EACb,OAAO,UAAU,CAAC,SAAS,KAAK,WAAW,IAAI,mBAAmB;YAClE,OAAO,YAAY,KAAK,WAAW;YACnC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,6BAA6B,CAAC;YACzD,CAAE,MAAc,CAAC,MAAM;QACzB,YAAY,EAAE,IAAI;QAClB,sBAAsB,EAAE,SAAS,CAAC,IAAI;QACtC,gBAAgB,EAAE,sBAAsB,CAAC,MAAM;QAC/C,WAAW,EAAE,EAAE,GAAG,IAAI;QACtB,aAAa,EAAE,SAAS;QACxB,GAAG,EAAE,WAAW,CAAC,iBAAiB;QAClC,iBAAiB,EAAE,CAAC;KACrB,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,2BAA2B,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CACb,6FAA6F,QAAQ,CAAC,GAAG,IAAI,CAC9G,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,oFAAoF,QAAQ,CAAC,GAAG,UAAU,CAC3G,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -22,6 +22,11 @@ export interface RawWaSqliteDatabaseOptions {
22
22
  * The amount of prepared statements to cache, or 0 to disable caching.
23
23
  */
24
24
  preparedStatementsCache: number;
25
+ additionalInitializationFunctions?: readonly string[];
26
+ /**
27
+ * The name of a Storage Bucket to keep the database files in, for the OPFS-based VFS implementations.
28
+ */
29
+ storageBucket?: string;
25
30
  }
26
31
  /**
27
32
  * A small wrapper around WA-sqlite to help with opening databases and running statements by preparing them internally.
@@ -46,9 +46,14 @@ export class RawSqliteConnection {
46
46
  const sqlite3 = WaSqliteFactory(module);
47
47
  sqlite3.vfs_register(vfs, true);
48
48
  /**
49
- * Register the PowerSync core SQLite extension
49
+ * Register the PowerSync core and additional statically linked extensions
50
50
  */
51
- module.ccall('powersync_init_static', 'int', []);
51
+ for (const name of ['powersync_init_static', ...(this.options.additionalInitializationFunctions ?? [])]) {
52
+ const result = module.ccall(name, 'int', []);
53
+ if (result !== 0) {
54
+ throw new Error(`SQLite extension initializer ${name} failed with code ${result}`);
55
+ }
56
+ }
52
57
  /**
53
58
  * Create the multiple cipher vfs if an encryption key is provided
54
59
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RawSqliteConnection.js","sourceRoot":"","sources":["../../../../src/db/adapters/wa-sqlite/RawSqliteConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEhF,OAAO,EAAE,gBAAgB,EAAe,MAAM,UAAU,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA2B7D;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IAUT;IATb,UAAU,GAAqB,IAAI,CAAC;IACpC,sBAAsB,CAA+B;IAE7D;;OAEG;IACK,EAAE,GAAW,CAAC,CAAC;IACf,cAAc,CAAgC;IAEtD,YAAqB,OAAmC;QAAnC,YAAO,GAAP,OAAO,CAA4B;QACtD,IAAI,CAAC,cAAc;YACjB,OAAO,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7G,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAW,EAAE,GAAQ;QACxC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,OAAO,CACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,gDAAgD,CAC1G,CAAC;QACF,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC/E,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACpE,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,UAAU,IAAI,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;QAE3E,MAAM,IAAI,CAAC,UAAU,CAAC,2CAA2C,CAAC,CAAC;IACrE,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,MAAW,EAAE,GAAc;QACrD,GAAG,CAAC,UAAU,GAAG,iBAAiB,CAAC;QAEnC,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACrF,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC;;WAEG;QACH,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAEjD;;WAEG;QACH,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YAChH,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,QAAgB;QACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,QAAiB;QAC/C,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACjC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;YACtD,IAAI,OAAO,CAAC;YAEZ,KAAK,MAAM,YAAY,IAAI,QAAQ,EAAE,CAAC;gBACpC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBACpF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;YAED,+CAA+C;YAC/C,MAAM;QACR,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,gBAAgB,CAAC,GAAc,EAAE,EAAE,OAAO,EAAE,WAAW,EAAgB;QAC7E,OAAO;YACL,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;YAC5C,OAAO;YACP,WAAW;SACZ,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB,CAAC,GAAW,EAAE,QAAgB;QACnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAW,EAAE,QAAgB;QAC5C,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACjC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YACzD,IAAI,OAAO,CAAC;YAEZ,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC;YACzB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;YAED,gEAAgE;YAChE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,GAAc,EACd,IAAY,EACZ,QAAe,EACf,YAAkC,EAClC,iBAA0B,IAAI;QAE9B,iEAAiE;QACjE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACjC,IAAI,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;YAC7C,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,YAAY,KAAK,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAEjC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC/C,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,CAAC,gBAAgB,CAAC,GAAc,EAAE,GAAW;QACzD,CAAC;YACC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,QAAQ,CAAC;gBACf,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,kBAAkB,GAAa,EAAE,CAAC;QAExC,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC/B,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,IAAI,CAAC;YACb,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,gHAAgH;YAChH,oDAAoD;YACpD,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC3D,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACnC,qFAAqF;gBACrF,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC5D,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;wBACpB,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC9B,CAAC;oBAED,OAAO;gBACT,CAAC;YACH,CAAC;YAED,kDAAkD;YAClD,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;gBACtC,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"RawSqliteConnection.js","sourceRoot":"","sources":["../../../../src/db/adapters/wa-sqlite/RawSqliteConnection.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ export class WASQLiteOpenFactory {
49
49
  return this.openAdapter();
50
50
  }
51
51
  async openConnection() {
52
- const { enableMultiTabs, useWebWorker, vfs, dbFilename, encryptionKey, temporaryStorage, cacheSizeKb, preparedStatementsCache } = this.options;
52
+ const { enableMultiTabs, useWebWorker, vfs, dbFilename, encryptionKey, temporaryStorage, cacheSizeKb, preparedStatementsCache, additionalInitializationFunctions, storageBucket } = this.options;
53
53
  if (!enableMultiTabs) {
54
54
  this.logger.log({ level: LogLevels.warn, message: 'Multiple tabs are not enabled in this browser' });
55
55
  }
@@ -65,7 +65,9 @@ export class WASQLiteOpenFactory {
65
65
  temporaryStorage,
66
66
  cacheSizeKb,
67
67
  // TODO: Enable prepared statement cache by default?
68
- preparedStatementsCache: preparedStatementsCache ?? 0
68
+ preparedStatementsCache: preparedStatementsCache ?? 0,
69
+ additionalInitializationFunctions,
70
+ storageBucket
69
71
  };
70
72
  }
71
73
  if (useWebWorker) {
@@ -1 +1 @@
1
- {"version":3,"file":"WASQLiteOpenFactory.js","sourceRoot":"","sources":["../../../../src/db/adapters/wa-sqlite/WASQLiteOpenFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WASQLiteOpenFactory.js","sourceRoot":"","sources":["../../../../src/db/adapters/wa-sqlite/WASQLiteOpenFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAmC,MAAM,mBAAmB,CAAC;AAC1F,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,cAAc,EAAwB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAkB,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAoB,MAAM,2BAA2B,CAAC;AAOvG;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACtB,OAAO,CAA4B;IACnC,MAAM,CAAkB;IAEhC,YAAY,OAAmC;QAC7C,IAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEvD,kEAAkE;QAClE,MAAM,SAAS,GAAG,iBAAiB,GAAG,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,sCAAsC,SAAS,GAAG,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAES,WAAW;QACnB,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAErE,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBACd,KAAK,EAAE,SAAS,CAAC,IAAI;oBACrB,OAAO,EAAE;;;4EAGyD;iBACnE,CAAC,CAAC;YACL,CAAC;YAED,OAAO,IAAI,YAAY,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBACd,KAAK,EAAE,SAAS,CAAC,IAAI;gBACrB,OAAO,EAAE,uGAAuG;aACjH,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,EACJ,eAAe,EACf,YAAY,EACZ,GAAG,EACH,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,uBAAuB,EACvB,iCAAiC,EACjC,aAAa,EACd,GAAG,IAAI,CAAC,OAAO,CAAC;QAEjB,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,MAAsB,CAAC;QAC3B,IAAI,iBAAiB,GAAqB,EAAE,CAAC;QAC7C,IAAI,0BAA0B,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;QAElE,SAAS,iCAAiC,CAAC,QAAiB;YAC1D,OAAO;gBACL,QAAQ,EAAE,UAAU;gBACpB,QAAQ;gBACR,GAAG;gBACH,aAAa;gBACb,gBAAgB;gBAChB,WAAW;gBACX,oDAAoD;gBACpD,uBAAuB,EAAE,uBAAuB,IAAI,CAAC;gBACrD,iCAAiC;gBACjC,aAAa;aACd,CAAC;QACJ,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAE5C,MAAM,kBAAkB,GAAG,KAAK,EAAE,QAAiB,EAA2B,EAAE;gBAC9E,IAAI,gBAAkC,CAAC;gBACvC,IAAI,OAAO,eAAe,IAAI,UAAU,EAAE,CAAC;oBACzC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC7C,gBAAgB,GAAG,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC9E,CAAC;qBAAM,CAAC;oBACN,MAAM,cAAc,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;oBACxD,MAAM,SAAS,GAAG,CAAC,cAAc,IAAI,eAAe,CAAC;oBAErD,gBAAgB,GAAG,eAAe,CAAC;wBACjC,OAAO,EAAE,UAAU;wBACnB,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;wBAC3C,MAAM,EAAE,SAAS;wBACjB,YAAY,EAAE,eAAe;wBAC7B,eAAe,EAAE,IAAI,CAAC,MAAM;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAuB,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC7E,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;gBAC1C,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;oBACtC,QAAQ,EAAE,iCAAiC,CAAC,QAAQ,CAAC;oBACrD,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,sBAAsB;oBAC7C,QAAQ,EAAE,MAAM,sBAAsB,CAAC,WAAW,CAAC,MAAM,CAAC;iBAC3D,CAAC,CAAC;gBACH,MAAM,aAAa,GAAG;oBACpB,UAAU;oBACV,MAAM;oBACN,+DAA+D;oBAC/D,0BAA0B,EAAE,KAAK;oBACjC,OAAO,EAAE,GAAG,EAAE;wBACZ,WAAW,CAAC,KAAK,EAAE,CAAC;wBACpB,gBAAgB,CAAC,KAAK,EAAE,CAAC;oBAC3B,CAAC;iBACF,CAAC;gBAEF,OAAO,IAAI,cAAc,CAAC,aAAa,EAAE;oBACvC,GAAG,IAAI,CAAC,OAAO;oBACf,0BAA0B;iBAC3B,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,MAAM,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAEzC,IAAI,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAE,CAAC;gBACzC,0GAA0G;gBAC1G,6BAA6B;gBAC7B,MAAM,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC;gBAEnE,MAAM,wBAAwB,GAA8B,EAAE,CAAC;gBAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAsB,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChD,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1D,CAAC;gBACD,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4FAA4F;YAC5F,MAAM,WAAW,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzD,0BAA0B,GAAG,IAAI,CAAC;YAElC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,iCAAiC,CAAC,KAAK,CAAC,CAAC,CAAC;YAClH,MAAM,GAAG,IAAI,cAAc,CACzB,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,EAC/D;gBACE,GAAG,IAAI,CAAC,OAAO;gBACf,0BAA0B;aAC3B,CACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,MAAM;YACd,iBAAiB;SAClB,CAAC;IACJ,CAAC;CACF"}
@@ -27,6 +27,29 @@ export declare enum WASQLiteVFS {
27
27
  InMemoryVfs = "InMemoryVFS"
28
28
  }
29
29
  export declare function vfsRequiresDedicatedWorkers(vfs: WASQLiteVFS): vfs is WASQLiteVFS.OPFSCoopSyncVFS | WASQLiteVFS.AccessHandlePoolVFS | WASQLiteVFS.OPFSWriteAheadVFS;
30
+ /**
31
+ * Whether the VFS can keep its files in a Storage Bucket, see {@link WebSpecificOpenOptions.storageBucket}.
32
+ */
33
+ export declare function vfsSupportsStorageBuckets(vfs: WASQLiteVFS): vfs is WASQLiteVFS.OPFSCoopSyncVFS | WASQLiteVFS.AccessHandlePoolVFS | WASQLiteVFS.OPFSWriteAheadVFS;
34
+ /**
35
+ * The part of the Storage Buckets API this module uses. The API is not in the TypeScript DOM library yet.
36
+ */
37
+ export interface StorageBucketManagerLike {
38
+ open(name: string): Promise<{
39
+ getDirectory(): Promise<FileSystemDirectoryHandle>;
40
+ }>;
41
+ }
42
+ /**
43
+ * Options for an OPFS-based VFS that keep its files in the named Storage Bucket, see
44
+ * {@link WebSpecificOpenOptions.storageBucket}. Without a bucket name, no options: the VFS uses the root of the
45
+ * origin private file system.
46
+ *
47
+ * @internal
48
+ */
49
+ export declare function vfsOptionsForStorageBucket(storageBucket: string | undefined, storageBuckets?: StorageBucketManagerLike | null | undefined): {
50
+ getRoot?: () => Promise<FileSystemDirectoryHandle>;
51
+ prefix?: string;
52
+ };
30
53
  /**
31
54
  * @internal
32
55
  */
@@ -41,7 +64,7 @@ export type SQLiteModule = Parameters<typeof SQLite.Factory>[0];
41
64
  /**
42
65
  * @internal
43
66
  */
44
- export declare function loadModuleAndVfs({ vfs, filename, encryptionKey }: RawWaSqliteDatabaseOptions): Promise<{
67
+ export declare function loadModuleAndVfs({ vfs, filename, encryptionKey, storageBucket }: RawWaSqliteDatabaseOptions): Promise<{
45
68
  module: SQLiteModule;
46
69
  vfs: SQLiteVFS;
47
70
  }>;
@@ -28,6 +28,35 @@ export var WASQLiteVFS;
28
28
  export function vfsRequiresDedicatedWorkers(vfs) {
29
29
  return vfs != WASQLiteVFS.IDBBatchAtomicVFS && vfs != WASQLiteVFS.InMemoryVfs;
30
30
  }
31
+ /**
32
+ * Whether the VFS can keep its files in a Storage Bucket, see {@link WebSpecificOpenOptions.storageBucket}.
33
+ */
34
+ export function vfsSupportsStorageBuckets(vfs) {
35
+ return (vfs == WASQLiteVFS.OPFSCoopSyncVFS || vfs == WASQLiteVFS.OPFSWriteAheadVFS || vfs == WASQLiteVFS.AccessHandlePoolVFS);
36
+ }
37
+ /**
38
+ * Options for an OPFS-based VFS that keep its files in the named Storage Bucket, see
39
+ * {@link WebSpecificOpenOptions.storageBucket}. Without a bucket name, no options: the VFS uses the root of the
40
+ * origin private file system.
41
+ *
42
+ * @internal
43
+ */
44
+ export function vfsOptionsForStorageBucket(storageBucket, storageBuckets = navigator.storageBuckets) {
45
+ if (storageBucket == null) {
46
+ return {};
47
+ }
48
+ if (storageBuckets == null) {
49
+ throw new Error(`The 'storageBucket' option needs the Storage Buckets API (navigator.storageBuckets), which this browser does not have. Check for it before setting the option.`);
50
+ }
51
+ return {
52
+ // Called by the VFS each time it needs its root directory. Opening the bucket again creates it when the
53
+ // browser deleted it with the rest of the site's data.
54
+ getRoot: () => storageBuckets.open(storageBucket).then((bucket) => bucket.getDirectory()),
55
+ // Keeps the locks and channels of a file apart from those of a file of the same name in another bucket.
56
+ // Bucket names cannot contain ':', so the names of two buckets never overlap.
57
+ prefix: `${storageBucket}:`
58
+ };
59
+ }
31
60
  async function asyncModuleFactory(encryptionKey) {
32
61
  if (encryptionKey) {
33
62
  const { default: factory } = await import('@journeyapps/wa-sqlite/dist/mc-wa-sqlite-async.mjs');
@@ -51,7 +80,7 @@ async function syncModuleFactory(encryptionKey) {
51
80
  /**
52
81
  * @internal
53
82
  */
54
- export async function loadModuleAndVfs({ vfs, filename, encryptionKey }) {
83
+ export async function loadModuleAndVfs({ vfs, filename, encryptionKey, storageBucket }) {
55
84
  let moduleFactory = syncModuleFactory;
56
85
  let resolveVfs;
57
86
  switch (vfs) {
@@ -67,19 +96,19 @@ export async function loadModuleAndVfs({ vfs, filename, encryptionKey }) {
67
96
  case WASQLiteVFS.AccessHandlePoolVFS: {
68
97
  // @ts-expect-error The types for this import are missing upstream
69
98
  const { AccessHandlePoolVFS } = await import('@journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js');
70
- resolveVfs = (module) => AccessHandlePoolVFS.create(filename, module);
99
+ resolveVfs = (module) => AccessHandlePoolVFS.create(filename, module, vfsOptionsForStorageBucket(storageBucket));
71
100
  break;
72
101
  }
73
102
  case WASQLiteVFS.OPFSCoopSyncVFS: {
74
103
  // @ts-expect-error The types for this import are missing upstream
75
104
  const { OPFSCoopSyncVFS } = await import('@journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js');
76
- resolveVfs = (module) => OPFSCoopSyncVFS.create(filename, module);
105
+ resolveVfs = (module) => OPFSCoopSyncVFS.create(filename, module, vfsOptionsForStorageBucket(storageBucket));
77
106
  break;
78
107
  }
79
108
  case WASQLiteVFS.OPFSWriteAheadVFS: {
80
109
  // @ts-expect-error The types for this import are missing upstream
81
110
  const { OPFSWriteAheadVFS } = await import('@journeyapps/wa-sqlite/src/examples/OPFSWriteAheadVFS.js');
82
- resolveVfs = (module) => OPFSWriteAheadVFS.create(filename, module, {});
111
+ resolveVfs = (module) => OPFSWriteAheadVFS.create(filename, module, vfsOptionsForStorageBucket(storageBucket));
83
112
  break;
84
113
  }
85
114
  case WASQLiteVFS.InMemoryVfs: {
@@ -1 +1 @@
1
- {"version":3,"file":"vfs.js","sourceRoot":"","sources":["../../../../src/db/adapters/wa-sqlite/vfs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vfs.js","sourceRoot":"","sources":["../../../../src/db/adapters/wa-sqlite/vfs.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ export interface SharedWebStreamingSyncImplementationOptions extends WebStreamin
33
33
  * The local part of the sync implementation on the web, which talks to a sync implementation hosted in a shared worker.
34
34
  */
35
35
  export declare class SharedWebStreamingSyncImplementation extends WebStreamingSyncImplementation {
36
+ #private;
36
37
  protected syncManager: Comlink.Remote<WorkerClient>;
37
38
  protected clientProvider: SharedSyncClientProvider;
38
39
  protected worker: WorkerConnection;
@@ -60,10 +60,10 @@ class SharedSyncClientProvider extends AbstractSharedSyncClientProvider {
60
60
  * Don't return anything here, just incase something which is not
61
61
  * serializable is returned from the `uploadCrud` function.
62
62
  */
63
- await this.#relay(() => this.options.uploadCrud());
63
+ await this.#relay(() => this.options.connector.uploadCrud());
64
64
  }
65
65
  async postCheckpointRequest(clientId, requestId) {
66
- return await this.#relay(async () => (await this.options.postCheckpointRequest(clientId, requestId)) ?? null);
66
+ return await this.#relay(async () => (await this.options.connector.postCheckpointRequest(clientId, requestId)) ?? null);
67
67
  }
68
68
  get logger() {
69
69
  return this.options.logger;
@@ -140,9 +140,13 @@ export class SharedWebStreamingSyncImplementation extends WebStreamingSyncImplem
140
140
  * - The client sends the params to the shared worker after locks have been registered.
141
141
  */
142
142
  const closeSignal = await generateTabCloseSignal(this.abortOnClose.signal);
143
+ const { identifier, connector } = this.options;
143
144
  // Awaiting here ensures the worker is waiting for the lock
144
- await this.syncManager.addLockBasedCloseSignal(closeSignal);
145
- const { identifier } = this.options;
145
+ await this.syncManager.initialize(closeSignal, {
146
+ hasFetchCredentials: !!connector.fetchCredentials,
147
+ hasPostCheckpointRequest: !!connector.postCheckpointRequest,
148
+ hasUploadCrud: !!connector.uploadCrud
149
+ });
146
150
  await this.syncManager.setParams({
147
151
  dbParams: this.dbAdapter.getConfiguration(),
148
152
  streamOptions: {
@@ -165,8 +169,26 @@ export class SharedWebStreamingSyncImplementation extends WebStreamingSyncImplem
165
169
  return this.syncManager.disconnect();
166
170
  }
167
171
  async dispose() {
168
- await this.waitForReady();
169
- await new Promise((resolve) => {
172
+ let registeredWithWorker = true;
173
+ try {
174
+ await this.waitForReady();
175
+ }
176
+ catch {
177
+ // The worker rejected this client (e.g. because it connects in a mode incompatible with other tabs), so it won't
178
+ // acknowledge a close request either.
179
+ registeredWithWorker = false;
180
+ }
181
+ if (registeredWithWorker) {
182
+ await this.#closeWorkerClient();
183
+ }
184
+ await super.dispose();
185
+ this.abortOnClose.abort();
186
+ // Release the proxy
187
+ this.syncManager[Comlink.releaseProxy]();
188
+ this.worker.close();
189
+ }
190
+ #closeWorkerClient() {
191
+ return new Promise((resolve) => {
170
192
  // This will always be a message port since we use shared workers.
171
193
  const messagePort = this.worker.endpoint;
172
194
  // Listen for the close acknowledgment from the worker
@@ -183,11 +205,6 @@ export class SharedWebStreamingSyncImplementation extends WebStreamingSyncImplem
183
205
  };
184
206
  messagePort.postMessage(closeMessagePayload);
185
207
  });
186
- await super.dispose();
187
- this.abortOnClose.abort();
188
- // Release the proxy
189
- this.syncManager[Comlink.releaseProxy]();
190
- this.worker.close();
191
208
  }
192
209
  async waitForReady() {
193
210
  return this.isInitialized;
@@ -1 +1 @@
1
- {"version":3,"file":"SharedWebStreamingSyncImplementation.js","sourceRoot":"","sources":["../../../src/db/sync/SharedWebStreamingSyncImplementation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SharedWebStreamingSyncImplementation.js","sourceRoot":"","sources":["../../../src/db/sync/SharedWebStreamingSyncImplementation.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { PowerSyncLogger } from '@powersync/common';
2
- import { AbstractRemote, FetchOptions, RemoteConnector } from '@powersync/shared-internals';
2
+ import { AbstractRemote, FetchOptions, InternalConnector } from '@powersync/shared-internals';
3
3
  import type { WebSocketSyncStreamPlatform, WebSocketSupport } from '@powersync/shared-internals/websockets';
4
4
  export declare class WebRemote extends AbstractRemote {
5
- protected connector: RemoteConnector;
6
- constructor(connector: RemoteConnector, logger: PowerSyncLogger);
5
+ constructor(connector: InternalConnector, logger: PowerSyncLogger);
7
6
  protected fetch({ resource, request }: FetchOptions): Promise<Response>;
8
7
  protected loadWebSocketSupport(platform: WebSocketSyncStreamPlatform): Promise<WebSocketSupport>;
9
8
  getUserAgent(): string;
@@ -2,10 +2,8 @@ import { LogLevels } from '@powersync/common';
2
2
  import { AbstractRemote } from '@powersync/shared-internals';
3
3
  import { getUserAgentInfo } from './userAgent.js';
4
4
  export class WebRemote extends AbstractRemote {
5
- connector;
6
5
  constructor(connector, logger) {
7
6
  super(connector, logger);
8
- this.connector = connector;
9
7
  }
10
8
  fetch({ resource, request }) {
11
9
  return fetch(resource, request);
@@ -1 +1 @@
1
- {"version":3,"file":"WebRemote.js","sourceRoot":"","sources":["../../../src/db/sync/WebRemote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAiC,MAAM,6BAA6B,CAAC;AAE5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,OAAO,SAAU,SAAQ,cAAc;IAE/B;IADZ,YACY,SAA0B,EACpC,MAAuB;QAEvB,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAHf,cAAS,GAAT,SAAS,CAAiB;IAItC,CAAC;IAES,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAgB;QACjD,OAAO,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAES,KAAK,CAAC,oBAAoB,CAAC,QAAqC;QACxE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,+GAA+G;YAC/G,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;YACtE,UAAU,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,YAAY;QACV,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,GAAG,gBAAgB,EAAE,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAED,IAAI,UAAwC,CAAC"}
1
+ {"version":3,"file":"WebRemote.js","sourceRoot":"","sources":["../../../src/db/sync/WebRemote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAmC,MAAM,6BAA6B,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,OAAO,SAAU,SAAQ,cAAc;IAC3C,YAAY,SAA4B,EAAE,MAAuB;QAC/D,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IAES,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAgB;QACjD,OAAO,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAES,KAAK,CAAC,oBAAoB,CAAC,QAAqC;QACxE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,+GAA+G;YAC/G,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;YACtE,UAAU,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,YAAY;QACV,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,GAAG,gBAAgB,EAAE,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAED,IAAI,UAAwC,CAAC"}
@@ -28,10 +28,15 @@ export type ManualSharedSyncPayload = {
28
28
  * @internal
29
29
  */
30
30
  export type SharedSyncInitOptions = {
31
- streamOptions: Omit<WebStreamingSyncImplementationOptions, 'adapter' | 'uploadCrud' | 'postCheckpointRequest' | 'remote' | 'subscriptions' | 'logger'>;
31
+ streamOptions: Omit<WebStreamingSyncImplementationOptions, 'connector' | 'adapter' | 'remote' | 'subscriptions' | 'logger'>;
32
32
  dbParams: ResolvedWebSQLOpenOptions;
33
33
  enableBroadcastLogs: boolean;
34
34
  };
35
+ export interface ClientConnectorCapabilities {
36
+ hasFetchCredentials: boolean;
37
+ hasPostCheckpointRequest: boolean;
38
+ hasUploadCrud: boolean;
39
+ }
35
40
  /**
36
41
  * @internal
37
42
  */
@@ -47,6 +52,7 @@ export type WrappedSyncPort = {
47
52
  db?: DBAdapter;
48
53
  currentSubscriptions: SubscribedStream[];
49
54
  closeListeners: (() => void | Promise<void>)[];
55
+ clientCapabilities: ClientConnectorCapabilities;
50
56
  isClosing: boolean;
51
57
  };
52
58
  /**
@@ -99,12 +105,13 @@ export declare class SharedSyncImplementation extends BaseObserver<SharedSyncImp
99
105
  /**
100
106
  * Adds a new client tab's message port to the list of connected ports
101
107
  */
102
- addPort(port: MessagePort): Promise<{
108
+ addPort(port: MessagePort, capabilities: ClientConnectorCapabilities): Promise<{
103
109
  port: MessagePort;
104
110
  clientProvider: Comlink.Remote<AbstractSharedSyncClientProvider>;
105
111
  currentSubscriptions: never[];
106
112
  closeListeners: never[];
107
113
  isClosing: false;
114
+ clientCapabilities: ClientConnectorCapabilities;
108
115
  }>;
109
116
  /**
110
117
  * Removes a message port client from this manager's managed