@powersync/web 0.0.0-dev-20251127205344 → 0.0.0-dev-20251201150812

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 (56) hide show
  1. package/dist/1807036ae51c10ee4d23.wasm +0 -0
  2. package/dist/{10072fe45f0a8fab0a0e.wasm → 307d8ce2280e3bae09d5.wasm} +0 -0
  3. package/dist/{6e435e51534839845554.wasm → cd8b9e8f4c87bf81c169.wasm} +0 -0
  4. package/dist/e797080f5ed0b5324166.wasm +0 -0
  5. package/dist/index.umd.js +336 -177
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/worker/SharedSyncImplementation.umd.js +310 -143
  8. package/dist/worker/SharedSyncImplementation.umd.js.map +1 -1
  9. package/dist/worker/WASQLiteDB.umd.js +19 -5
  10. package/dist/worker/WASQLiteDB.umd.js.map +1 -1
  11. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_mc-wa-sqlite-async_mjs.umd.js +2 -2
  12. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_mc-wa-sqlite-async_mjs.umd.js.map +1 -1
  13. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_mc-wa-sqlite_mjs.umd.js +2 -2
  14. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_mc-wa-sqlite_mjs.umd.js.map +1 -1
  15. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_wa-sqlite-async_mjs.umd.js +2 -2
  16. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_wa-sqlite-async_mjs.umd.js.map +1 -1
  17. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_wa-sqlite_mjs.umd.js +2 -2
  18. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_wa-sqlite_mjs.umd.js.map +1 -1
  19. package/dist/worker/node_modules_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js.umd.js +20 -23
  20. package/dist/worker/node_modules_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js.umd.js.map +1 -1
  21. package/lib/src/db/PowerSyncDatabase.d.ts +1 -1
  22. package/lib/src/db/PowerSyncDatabase.js +4 -4
  23. package/lib/src/db/adapters/AsyncDatabaseConnection.d.ts +8 -0
  24. package/lib/src/db/adapters/AsyncDatabaseConnection.js +11 -1
  25. package/lib/src/db/adapters/LockedAsyncDatabaseAdapter.d.ts +14 -0
  26. package/lib/src/db/adapters/LockedAsyncDatabaseAdapter.js +61 -8
  27. package/lib/src/db/adapters/WorkerWrappedAsyncDatabaseConnection.d.ts +5 -1
  28. package/lib/src/db/adapters/WorkerWrappedAsyncDatabaseConnection.js +15 -7
  29. package/lib/src/db/sync/SharedWebStreamingSyncImplementation.d.ts +1 -4
  30. package/lib/src/db/sync/SharedWebStreamingSyncImplementation.js +45 -31
  31. package/lib/src/worker/sync/MockSyncService.d.ts +2 -0
  32. package/lib/src/worker/sync/MockSyncService.js +3 -0
  33. package/lib/src/worker/sync/MockSyncServiceTypes.d.ts +101 -0
  34. package/lib/src/worker/sync/MockSyncServiceTypes.js +1 -0
  35. package/lib/src/worker/sync/MockSyncServiceWorker.d.ts +56 -0
  36. package/lib/src/worker/sync/MockSyncServiceWorker.js +369 -0
  37. package/lib/src/worker/sync/SharedSyncImplementation.d.ts +18 -8
  38. package/lib/src/worker/sync/SharedSyncImplementation.js +174 -108
  39. package/lib/src/worker/sync/SharedSyncImplementation.worker.js +1 -1
  40. package/lib/src/worker/sync/WorkerClient.d.ts +4 -5
  41. package/lib/src/worker/sync/WorkerClient.js +5 -7
  42. package/lib/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +3 -3
  44. package/src/db/PowerSyncDatabase.ts +13 -15
  45. package/src/db/adapters/AsyncDatabaseConnection.ts +12 -0
  46. package/src/db/adapters/LockedAsyncDatabaseAdapter.ts +71 -9
  47. package/src/db/adapters/WorkerWrappedAsyncDatabaseConnection.ts +19 -6
  48. package/src/db/sync/SharedWebStreamingSyncImplementation.ts +56 -40
  49. package/src/worker/sync/MockSyncService.ts +3 -0
  50. package/src/worker/sync/MockSyncServiceTypes.ts +71 -0
  51. package/src/worker/sync/MockSyncServiceWorker.ts +406 -0
  52. package/src/worker/sync/SharedSyncImplementation.ts +201 -120
  53. package/src/worker/sync/SharedSyncImplementation.worker.ts +1 -1
  54. package/src/worker/sync/WorkerClient.ts +6 -11
  55. package/dist/a730f7ca717b02234beb.wasm +0 -0
  56. package/dist/aa2f408d64445fed090e.wasm +0 -0
@@ -3228,12 +3228,26 @@ class SyncStatus {
3228
3228
  return {
3229
3229
  connected: this.connected,
3230
3230
  connecting: this.connecting,
3231
- dataFlow: this.dataFlowStatus,
3231
+ dataFlow: {
3232
+ ...this.dataFlowStatus,
3233
+ uploadError: this.serializeError(this.dataFlowStatus.uploadError),
3234
+ downloadError: this.serializeError(this.dataFlowStatus.downloadError)
3235
+ },
3232
3236
  lastSyncedAt: this.lastSyncedAt,
3233
3237
  hasSynced: this.hasSynced,
3234
3238
  priorityStatusEntries: this.priorityStatusEntries
3235
3239
  };
3236
3240
  }
3241
+ serializeError(error) {
3242
+ if (typeof error == 'undefined') {
3243
+ return undefined;
3244
+ }
3245
+ return {
3246
+ name: error.name,
3247
+ message: error.message,
3248
+ stack: error.stack
3249
+ };
3250
+ }
3237
3251
  static comparePriorities(a, b) {
3238
3252
  return b.priority - a.priority; // Reverse because higher priorities have lower numbers
3239
3253
  }
@@ -14659,7 +14673,7 @@ The next upload iteration will be delayed.`);
14659
14673
  uploadError: ex
14660
14674
  }
14661
14675
  });
14662
- await this.delayRetry(controller.signal);
14676
+ await this.delayRetry(controller.signal, this.options.crudUploadThrottleMs);
14663
14677
  if (!this.isConnected) {
14664
14678
  // Exit the upload loop if the sync stream is no longer connected
14665
14679
  break;
@@ -15370,14 +15384,14 @@ The next upload iteration will be delayed.`);
15370
15384
  // trigger this for all updates
15371
15385
  this.iterateListeners((cb) => cb.statusUpdated?.(options));
15372
15386
  }
15373
- async delayRetry(signal) {
15387
+ async delayRetry(signal, delayMs) {
15374
15388
  return new Promise((resolve) => {
15375
15389
  if (signal?.aborted) {
15376
15390
  // If the signal is already aborted, resolve immediately
15377
15391
  resolve();
15378
15392
  return;
15379
15393
  }
15380
- const { retryDelayMs } = this.options;
15394
+ const delay = delayMs ?? this.options.retryDelayMs;
15381
15395
  let timeoutId;
15382
15396
  const endDelay = () => {
15383
15397
  resolve();
@@ -15388,7 +15402,7 @@ The next upload iteration will be delayed.`);
15388
15402
  signal?.removeEventListener('abort', endDelay);
15389
15403
  };
15390
15404
  signal?.addEventListener('abort', endDelay, { once: true });
15391
- timeoutId = setTimeout(endDelay, retryDelayMs);
15405
+ timeoutId = setTimeout(endDelay, delay);
15392
15406
  });
15393
15407
  }
15394
15408
  updateSubscriptions(subscriptions) {