@powersync/common 1.14.0 → 1.16.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 (77) hide show
  1. package/dist/index.js +16 -0
  2. package/lib/client/AbstractPowerSyncDatabase.d.ts +8 -3
  3. package/lib/client/AbstractPowerSyncDatabase.js +12 -4
  4. package/lib/client/AbstractPowerSyncDatabase.js.map +1 -0
  5. package/lib/client/AbstractPowerSyncOpenFactory.js +1 -0
  6. package/lib/client/AbstractPowerSyncOpenFactory.js.map +1 -0
  7. package/lib/client/SQLOpenFactory.js +1 -0
  8. package/lib/client/SQLOpenFactory.js.map +1 -0
  9. package/lib/client/connection/PowerSyncBackendConnector.js +1 -0
  10. package/lib/client/connection/PowerSyncBackendConnector.js.map +1 -0
  11. package/lib/client/connection/PowerSyncCredentials.js +1 -0
  12. package/lib/client/connection/PowerSyncCredentials.js.map +1 -0
  13. package/lib/client/sync/bucket/BucketStorageAdapter.d.ts +3 -2
  14. package/lib/client/sync/bucket/BucketStorageAdapter.js +1 -0
  15. package/lib/client/sync/bucket/BucketStorageAdapter.js.map +1 -0
  16. package/lib/client/sync/bucket/CrudBatch.js +1 -0
  17. package/lib/client/sync/bucket/CrudBatch.js.map +1 -0
  18. package/lib/client/sync/bucket/CrudEntry.js +1 -0
  19. package/lib/client/sync/bucket/CrudEntry.js.map +1 -0
  20. package/lib/client/sync/bucket/CrudTransaction.js +1 -0
  21. package/lib/client/sync/bucket/CrudTransaction.js.map +1 -0
  22. package/lib/client/sync/bucket/OpType.js +1 -0
  23. package/lib/client/sync/bucket/OpType.js.map +1 -0
  24. package/lib/client/sync/bucket/OplogEntry.js +1 -0
  25. package/lib/client/sync/bucket/OplogEntry.js.map +1 -0
  26. package/lib/client/sync/bucket/SqliteBucketStorage.d.ts +4 -2
  27. package/lib/client/sync/bucket/SqliteBucketStorage.js +24 -16
  28. package/lib/client/sync/bucket/SqliteBucketStorage.js.map +1 -0
  29. package/lib/client/sync/bucket/SyncDataBatch.js +1 -0
  30. package/lib/client/sync/bucket/SyncDataBatch.js.map +1 -0
  31. package/lib/client/sync/bucket/SyncDataBucket.js +1 -0
  32. package/lib/client/sync/bucket/SyncDataBucket.js.map +1 -0
  33. package/lib/client/sync/stream/AbstractRemote.d.ts +1 -1
  34. package/lib/client/sync/stream/AbstractRemote.js +4 -4
  35. package/lib/client/sync/stream/AbstractRemote.js.map +1 -0
  36. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.d.ts +4 -5
  37. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js +32 -21
  38. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js.map +1 -0
  39. package/lib/client/sync/stream/streaming-sync-types.js +1 -0
  40. package/lib/client/sync/stream/streaming-sync-types.js.map +1 -0
  41. package/lib/db/Column.js +1 -0
  42. package/lib/db/Column.js.map +1 -0
  43. package/lib/db/DBAdapter.js +1 -0
  44. package/lib/db/DBAdapter.js.map +1 -0
  45. package/lib/db/crud/SyncStatus.js +1 -0
  46. package/lib/db/crud/SyncStatus.js.map +1 -0
  47. package/lib/db/crud/UploadQueueStatus.js +1 -0
  48. package/lib/db/crud/UploadQueueStatus.js.map +1 -0
  49. package/lib/db/schema/Index.js +1 -0
  50. package/lib/db/schema/Index.js.map +1 -0
  51. package/lib/db/schema/IndexedColumn.js +1 -0
  52. package/lib/db/schema/IndexedColumn.js.map +1 -0
  53. package/lib/db/schema/Schema.js +1 -0
  54. package/lib/db/schema/Schema.js.map +1 -0
  55. package/lib/db/schema/Table.js +1 -0
  56. package/lib/db/schema/Table.js.map +1 -0
  57. package/lib/db/schema/TableV2.js +1 -0
  58. package/lib/db/schema/TableV2.js.map +1 -0
  59. package/lib/index.js +1 -0
  60. package/lib/index.js.map +1 -0
  61. package/lib/types/types.js +1 -0
  62. package/lib/types/types.js.map +1 -0
  63. package/lib/utils/AbortOperation.js +1 -0
  64. package/lib/utils/AbortOperation.js.map +1 -0
  65. package/lib/utils/BaseObserver.js +1 -0
  66. package/lib/utils/BaseObserver.js.map +1 -0
  67. package/lib/utils/ControlledExecutor.js +1 -0
  68. package/lib/utils/ControlledExecutor.js.map +1 -0
  69. package/lib/utils/DataStream.js +1 -0
  70. package/lib/utils/DataStream.js.map +1 -0
  71. package/lib/utils/mutex.js +1 -0
  72. package/lib/utils/mutex.js.map +1 -0
  73. package/lib/utils/parseQuery.js +1 -0
  74. package/lib/utils/parseQuery.js.map +1 -0
  75. package/lib/utils/strings.js +1 -0
  76. package/lib/utils/strings.js.map +1 -0
  77. package/package.json +22 -13
@@ -5,12 +5,12 @@ import { SyncStatus } from '../db/crud/SyncStatus';
5
5
  import { UploadQueueStats } from '../db/crud/UploadQueueStatus';
6
6
  import { Schema } from '../db/schema/Schema';
7
7
  import { BaseObserver } from '../utils/BaseObserver';
8
+ import { SQLOpenFactory, SQLOpenOptions } from './SQLOpenFactory';
8
9
  import { PowerSyncBackendConnector } from './connection/PowerSyncBackendConnector';
9
10
  import { BucketStorageAdapter } from './sync/bucket/BucketStorageAdapter';
10
11
  import { CrudBatch } from './sync/bucket/CrudBatch';
11
12
  import { CrudTransaction } from './sync/bucket/CrudTransaction';
12
- import { AbstractStreamingSyncImplementation, StreamingSyncImplementationListener, StreamingSyncImplementation, PowerSyncConnectionOptions } from './sync/stream/AbstractStreamingSyncImplementation';
13
- import { SQLOpenFactory, SQLOpenOptions } from './SQLOpenFactory';
13
+ import { AbstractStreamingSyncImplementation, PowerSyncConnectionOptions, StreamingSyncImplementation, StreamingSyncImplementationListener } from './sync/stream/AbstractStreamingSyncImplementation';
14
14
  export interface DisconnectAndClearOptions {
15
15
  /** When set to false, data in local-only tables is preserved. */
16
16
  clearLocal?: boolean;
@@ -96,6 +96,11 @@ export declare const DEFAULT_POWERSYNC_DB_OPTIONS: {
96
96
  * be obtained.
97
97
  */
98
98
  export declare const DEFAULT_LOCK_TIMEOUT_MS = 120000;
99
+ /**
100
+ * Tests if the input is a {@link PowerSyncDatabaseOptionsWithSettings}
101
+ * @internal
102
+ */
103
+ export declare const isPowerSyncDatabaseOptionsWithSettings: (test: any) => test is PowerSyncDatabaseOptionsWithSettings;
99
104
  export declare abstract class AbstractPowerSyncDatabase extends BaseObserver<PowerSyncDBListener> {
100
105
  protected options: PowerSyncDatabaseOptions;
101
106
  /**
@@ -143,7 +148,7 @@ export declare abstract class AbstractPowerSyncDatabase extends BaseObserver<Pow
143
148
  /**
144
149
  * Opens the DBAdapter given open options using a default open factory
145
150
  */
146
- protected abstract openDBAdapter(options: SQLOpenOptions): DBAdapter;
151
+ protected abstract openDBAdapter(options: PowerSyncDatabaseOptionsWithSettings): DBAdapter;
147
152
  protected abstract generateSyncStreamImplementation(connector: PowerSyncBackendConnector): AbstractStreamingSyncImplementation;
148
153
  protected abstract generateBucketStorageAdapter(): BucketStorageAdapter;
149
154
  /**
@@ -6,15 +6,15 @@ import { isBatchedUpdateNotification } from '../db/DBAdapter';
6
6
  import { SyncStatus } from '../db/crud/SyncStatus';
7
7
  import { UploadQueueStats } from '../db/crud/UploadQueueStatus';
8
8
  import { BaseObserver } from '../utils/BaseObserver';
9
+ import { ControlledExecutor } from '../utils/ControlledExecutor';
9
10
  import { mutexRunExclusive } from '../utils/mutex';
10
11
  import { quoteIdentifier } from '../utils/strings';
12
+ import { isDBAdapter, isSQLOpenFactory, isSQLOpenOptions } from './SQLOpenFactory';
11
13
  import { PSInternalTable } from './sync/bucket/BucketStorageAdapter';
12
14
  import { CrudBatch } from './sync/bucket/CrudBatch';
13
15
  import { CrudEntry } from './sync/bucket/CrudEntry';
14
16
  import { CrudTransaction } from './sync/bucket/CrudTransaction';
15
17
  import { DEFAULT_CRUD_UPLOAD_THROTTLE_MS } from './sync/stream/AbstractStreamingSyncImplementation';
16
- import { ControlledExecutor } from '../utils/ControlledExecutor';
17
- import { isDBAdapter, isSQLOpenFactory, isSQLOpenOptions } from './SQLOpenFactory';
18
18
  const POWERSYNC_TABLE_MATCH = /(^ps_data__|^ps_data_local__)/;
19
19
  const DEFAULT_DISCONNECT_CLEAR_OPTIONS = {
20
20
  clearLocal: true
@@ -34,6 +34,13 @@ export const DEFAULT_POWERSYNC_DB_OPTIONS = {
34
34
  * be obtained.
35
35
  */
36
36
  export const DEFAULT_LOCK_TIMEOUT_MS = 120_000; // 2 mins
37
+ /**
38
+ * Tests if the input is a {@link PowerSyncDatabaseOptionsWithSettings}
39
+ * @internal
40
+ */
41
+ export const isPowerSyncDatabaseOptionsWithSettings = (test) => {
42
+ return typeof test == 'object' && isSQLOpenOptions(test.database);
43
+ };
37
44
  export class AbstractPowerSyncDatabase extends BaseObserver {
38
45
  options;
39
46
  /**
@@ -68,8 +75,8 @@ export class AbstractPowerSyncDatabase extends BaseObserver {
68
75
  else if (isSQLOpenFactory(database)) {
69
76
  this._database = database.openDB();
70
77
  }
71
- else if (isSQLOpenOptions(database)) {
72
- this._database = this.openDBAdapter(database);
78
+ else if (isPowerSyncDatabaseOptionsWithSettings(options)) {
79
+ this._database = this.openDBAdapter(options);
73
80
  }
74
81
  this.bucketStorageAdapter = this.generateBucketStorageAdapter();
75
82
  this.closed = false;
@@ -663,3 +670,4 @@ export class AbstractPowerSyncDatabase extends BaseObserver {
663
670
  return this.database.readLock((tx) => tx.execute(sql, params));
664
671
  }
665
672
  }
673
+ //# sourceMappingURL=AbstractPowerSyncDatabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractPowerSyncDatabase.js","sourceRoot":"","sources":["../../src/client/AbstractPowerSyncDatabase.ts"],"names":[],"mappings":"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"}
@@ -22,3 +22,4 @@ export class AbstractPowerSyncDatabaseOpenFactory {
22
22
  return this.generateInstance(options);
23
23
  }
24
24
  }
25
+ //# sourceMappingURL=AbstractPowerSyncOpenFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractPowerSyncOpenFactory.js","sourceRoot":"","sources":["../../src/client/AbstractPowerSyncOpenFactory.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,WAAW,CAAC;AAW/B,MAAM,OAAgB,oCAAoC;IAClC;IAAtB,YAAsB,OAAoC;QAApC,YAAO,GAAP,OAAO,CAA6B;QACxD,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACxF,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAID,eAAe;QACb,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;YACvB,GAAG,IAAI,CAAC,OAAO;SAChB,CAAC;IACJ,CAAC;IAID,WAAW;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;CACF"}
@@ -16,3 +16,4 @@ export const isSQLOpenFactory = (test) => {
16
16
  export const isDBAdapter = (test) => {
17
17
  return typeof test?.writeTransaction == 'function';
18
18
  };
19
+ //# sourceMappingURL=SQLOpenFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLOpenFactory.js","sourceRoot":"","sources":["../../src/client/SQLOpenFactory.ts"],"names":[],"mappings":"AA+BA;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAS,EAA0B,EAAE;IACpE,OAAO,OAAO,IAAI,IAAI,QAAQ,IAAI,YAAY,IAAI,IAAI,CAAC;AACzD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAS,EAA0B,EAAE;IACpE,OAAO,OAAO,IAAI,EAAE,MAAM,IAAI,UAAU,CAAC;AAC3C,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAS,EAAqB,EAAE;IAC1D,OAAO,OAAO,IAAI,EAAE,gBAAgB,IAAI,UAAU,CAAC;AACrD,CAAC,CAAC"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=PowerSyncBackendConnector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PowerSyncBackendConnector.js","sourceRoot":"","sources":["../../../src/client/connection/PowerSyncBackendConnector.ts"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=PowerSyncCredentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PowerSyncCredentials.js","sourceRoot":"","sources":["../../../src/client/connection/PowerSyncCredentials.ts"],"names":[],"mappings":""}
@@ -1,7 +1,7 @@
1
- import { OpId } from './CrudEntry';
1
+ import { BaseListener, BaseObserver, Disposable } from '../../../utils/BaseObserver';
2
2
  import { CrudBatch } from './CrudBatch';
3
+ import { CrudEntry, OpId } from './CrudEntry';
3
4
  import { SyncDataBatch } from './SyncDataBatch';
4
- import { BaseListener, BaseObserver, Disposable } from '../../../utils/BaseObserver';
5
5
  export interface Checkpoint {
6
6
  last_op_id: OpId;
7
7
  buckets: BucketChecksum[];
@@ -56,6 +56,7 @@ export interface BucketStorageAdapter extends BaseObserver<BucketStorageListener
56
56
  ready: boolean;
57
57
  failures?: any[];
58
58
  }>;
59
+ nextCrudItem(): Promise<CrudEntry | undefined>;
59
60
  hasCrud(): Promise<boolean>;
60
61
  getCrudBatch(limit?: number): Promise<CrudBatch | null>;
61
62
  hasCompletedSync(): Promise<boolean>;
@@ -6,3 +6,4 @@ export var PSInternalTable;
6
6
  PSInternalTable["OPLOG"] = "ps_oplog";
7
7
  PSInternalTable["UNTYPED"] = "ps_untyped";
8
8
  })(PSInternalTable || (PSInternalTable = {}));
9
+ //# sourceMappingURL=BucketStorageAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BucketStorageAdapter.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/BucketStorageAdapter.ts"],"names":[],"mappings":"AAwCA,MAAM,CAAN,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,mCAAgB,CAAA;IAChB,mCAAgB,CAAA;IAChB,yCAAsB,CAAA;IACtB,qCAAkB,CAAA;IAClB,yCAAsB,CAAA;AACxB,CAAC,EANW,eAAe,KAAf,eAAe,QAM1B"}
@@ -23,3 +23,4 @@ export class CrudBatch {
23
23
  this.complete = complete;
24
24
  }
25
25
  }
26
+ //# sourceMappingURL=CrudBatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrudBatch.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/CrudBatch.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,SAAS;IAKX;IAIA;IAIA;IAZT;IACE;;OAEG;IACI,IAAiB;IACxB;;OAEG;IACI,QAAiB;IACxB;;OAEG;IACI,QAAqD;QARrD,SAAI,GAAJ,IAAI,CAAa;QAIjB,aAAQ,GAAR,QAAQ,CAAS;QAIjB,aAAQ,GAAR,QAAQ,CAA6C;IAC3D,CAAC;CACL"}
@@ -82,3 +82,4 @@ export class CrudEntry {
82
82
  return [this.transactionId, this.clientId, this.op, this.table, this.id, this.opData];
83
83
  }
84
84
  }
85
+ //# sourceMappingURL=CrudEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrudEntry.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/CrudEntry.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,CAAN,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,qHAAqH;IACrH,yBAAW,CAAA;IACX,8GAA8G;IAC9G,6BAAe,CAAA;IACf,4EAA4E;IAC5E,+BAAiB,CAAA;AACnB,CAAC,EAPW,UAAU,KAAV,UAAU,QAOrB;AA2BD;;GAEG;AACH,MAAM,OAAO,SAAS;IACpB;;OAEG;IACH,QAAQ,CAAS;IACjB;;OAEG;IACH,EAAE,CAAS;IACX;;OAEG;IACH,EAAE,CAAa;IACf;;OAEG;IACH,MAAM,CAAuB;IAC7B;;OAEG;IACH,KAAK,CAAS;IACd;;OAEG;IACH,aAAa,CAAU;IAEvB,MAAM,CAAC,OAAO,CAAC,KAAoB;QACjC,MAAM,IAAI,GAAsB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChG,CAAC;IAED,YACE,QAAgB,EAChB,EAAc,EACd,KAAa,EACb,EAAU,EACV,aAAsB,EACtB,MAA4B;QAE5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,aAAa;YACzB,IAAI,EAAE,IAAI,CAAC,MAAM;SAClB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAgB;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACxF,CAAC;CACF"}
@@ -22,3 +22,4 @@ export class CrudTransaction extends CrudBatch {
22
22
  this.transactionId = transactionId;
23
23
  }
24
24
  }
25
+ //# sourceMappingURL=CrudTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrudTransaction.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/CrudTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAKnC;IAIA;IAIA;IAZT;IACE;;OAEG;IACI,IAAiB;IACxB;;OAEG;IACI,QAAgD;IACvD;;OAEG;IACI,aAAsB;QAE7B,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAVtB,SAAI,GAAJ,IAAI,CAAa;QAIjB,aAAQ,GAAR,QAAQ,CAAwC;QAIhD,kBAAa,GAAb,aAAa,CAAS;IAG/B,CAAC;CACF"}
@@ -20,3 +20,4 @@ export class OpType {
20
20
  return Object.entries(OpTypeEnum).find(([, value]) => value === this.value)[0];
21
21
  }
22
22
  }
23
+ //# sourceMappingURL=OpType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpType.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/OpType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,6CAAS,CAAA;IACT,2CAAQ,CAAA;IACR,yCAAO,CAAA;IACP,+CAAU,CAAA;AACZ,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAID;;GAEG;AACH,MAAM,OAAO,MAAM;IAKE;IAJnB,MAAM,CAAC,QAAQ,CAAC,SAAqB;QACnC,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,YAAmB,KAAiB;QAAjB,UAAK,GAAL,KAAK,CAAY;IAAG,CAAC;IAExC,MAAM;QACJ,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;CACF"}
@@ -31,3 +31,4 @@ export class OplogEntry {
31
31
  };
32
32
  }
33
33
  }
34
+ //# sourceMappingURL=OplogEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OplogEntry.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/OplogEntry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAc,MAAM,UAAU,CAAC;AAY9C,MAAM,OAAO,UAAU;IAcZ;IACA;IACA;IACA;IACA;IACA;IACA;IAnBT,MAAM,CAAC,OAAO,CAAC,GAAmB;QAChC,OAAO,IAAI,UAAU,CACnB,GAAG,CAAC,KAAK,EACT,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EACvB,GAAG,CAAC,QAAQ,EACZ,OAAO,GAAG,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EACvE,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,IAAI,CACT,CAAC;IACJ,CAAC;IAED,YACS,KAAW,EACX,EAAU,EACV,QAAgB,EAChB,MAAc,EACd,WAAoB,EACpB,SAAkB,EAClB,IAAa;QANb,UAAK,GAAL,KAAK,CAAM;QACX,OAAE,GAAF,EAAE,CAAQ;QACV,aAAQ,GAAR,QAAQ,CAAQ;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAS;QACpB,cAAS,GAAT,SAAS,CAAS;QAClB,SAAI,GAAJ,IAAI,CAAS;IACnB,CAAC;IAEJ,MAAM;QACJ,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;YACpB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;SACpC,CAAC;IACJ,CAAC;CACF"}
@@ -1,10 +1,11 @@
1
1
  import { Mutex } from 'async-mutex';
2
+ import { ILogger } from 'js-logger';
2
3
  import { DBAdapter, Transaction } from '../../../db/DBAdapter';
4
+ import { BaseObserver } from '../../../utils/BaseObserver';
3
5
  import { BucketState, BucketStorageAdapter, BucketStorageListener, Checkpoint, SyncLocalDatabaseResult } from './BucketStorageAdapter';
4
6
  import { CrudBatch } from './CrudBatch';
7
+ import { CrudEntry } from './CrudEntry';
5
8
  import { SyncDataBatch } from './SyncDataBatch';
6
- import { ILogger } from 'js-logger';
7
- import { BaseObserver } from '../../../utils/BaseObserver';
8
9
  export declare class SqliteBucketStorage extends BaseObserver<BucketStorageListener> implements BucketStorageAdapter {
9
10
  private db;
10
11
  private mutex;
@@ -50,6 +51,7 @@ export declare class SqliteBucketStorage extends BaseObserver<BucketStorageListe
50
51
  private deletePendingBuckets;
51
52
  private clearRemoveOps;
52
53
  updateLocalTarget(cb: () => Promise<string>): Promise<boolean>;
54
+ nextCrudItem(): Promise<CrudEntry | undefined>;
53
55
  hasCrud(): Promise<boolean>;
54
56
  /**
55
57
  * Get a batch of objects to send to the server.
@@ -1,9 +1,9 @@
1
+ import Logger from 'js-logger';
1
2
  import { extractTableUpdates } from '../../../db/DBAdapter';
3
+ import { BaseObserver } from '../../../utils/BaseObserver';
2
4
  import { PSInternalTable } from './BucketStorageAdapter';
3
- import { OpTypeEnum } from './OpType';
4
5
  import { CrudEntry } from './CrudEntry';
5
- import Logger from 'js-logger';
6
- import { BaseObserver } from '../../../utils/BaseObserver';
6
+ import { OpTypeEnum } from './OpType';
7
7
  const COMPACT_OPERATION_INTERVAL = 1_000;
8
8
  export class SqliteBucketStorage extends BaseObserver {
9
9
  db;
@@ -37,8 +37,8 @@ export class SqliteBucketStorage extends BaseObserver {
37
37
  }
38
38
  async init() {
39
39
  this._hasCompletedSync = false;
40
- const existingTableRows = await this.db.execute(`SELECT name FROM sqlite_master WHERE type='table' AND name GLOB 'ps_data_*'`);
41
- for (const row of existingTableRows.rows?._array ?? []) {
40
+ const existingTableRows = await this.db.getAll(`SELECT name FROM sqlite_master WHERE type='table' AND name GLOB 'ps_data_*'`);
41
+ for (const row of existingTableRows ?? []) {
42
42
  this.tableNames.add(row.name);
43
43
  }
44
44
  }
@@ -53,8 +53,8 @@ export class SqliteBucketStorage extends BaseObserver {
53
53
  */
54
54
  startSession() { }
55
55
  async getBucketStates() {
56
- const result = await this.db.execute('SELECT name as bucket, cast(last_op as TEXT) as op_id FROM ps_buckets WHERE pending_delete = 0');
57
- return result.rows?._array ?? [];
56
+ const result = await this.db.getAll('SELECT name as bucket, cast(last_op as TEXT) as op_id FROM ps_buckets WHERE pending_delete = 0');
57
+ return result;
58
58
  }
59
59
  async saveSyncData(batch) {
60
60
  await this.writeTransaction(async (tx) => {
@@ -206,19 +206,19 @@ export class SqliteBucketStorage extends BaseObserver {
206
206
  this.compactCounter = 0;
207
207
  }
208
208
  async updateLocalTarget(cb) {
209
- const rs1 = await this.db.execute("SELECT target_op FROM ps_buckets WHERE name = '$local' AND target_op = ?", [
209
+ const rs1 = await this.db.getAll("SELECT target_op FROM ps_buckets WHERE name = '$local' AND target_op = ?", [
210
210
  SqliteBucketStorage.MAX_OP_ID
211
211
  ]);
212
- if (!rs1.rows?.length) {
212
+ if (!rs1.length) {
213
213
  // Nothing to update
214
214
  return false;
215
215
  }
216
- const rs = await this.db.execute("SELECT seq FROM sqlite_sequence WHERE name = 'ps_crud'");
217
- if (!rs.rows?.length) {
216
+ const rs = await this.db.getAll("SELECT seq FROM sqlite_sequence WHERE name = 'ps_crud'");
217
+ if (!rs.length) {
218
218
  // Nothing to update
219
219
  return false;
220
220
  }
221
- const seqBefore = rs.rows?.item(0)['seq'];
221
+ const seqBefore = rs[0]['seq'];
222
222
  const opId = await cb();
223
223
  this.logger.debug(`[updateLocalTarget] Updating target to checkpoint ${opId}`);
224
224
  return this.writeTransaction(async (tx) => {
@@ -245,9 +245,16 @@ export class SqliteBucketStorage extends BaseObserver {
245
245
  return true;
246
246
  });
247
247
  }
248
+ async nextCrudItem() {
249
+ const next = await this.db.getOptional('SELECT * FROM ps_crud ORDER BY id ASC LIMIT 1');
250
+ if (!next) {
251
+ return;
252
+ }
253
+ return CrudEntry.fromRow(next);
254
+ }
248
255
  async hasCrud() {
249
- const anyData = await this.db.execute('SELECT 1 FROM ps_crud LIMIT 1');
250
- return !!anyData.rows?.length;
256
+ const anyData = await this.db.getOptional('SELECT 1 FROM ps_crud LIMIT 1');
257
+ return !!anyData;
251
258
  }
252
259
  /**
253
260
  * Get a batch of objects to send to the server.
@@ -257,9 +264,9 @@ export class SqliteBucketStorage extends BaseObserver {
257
264
  if (!(await this.hasCrud())) {
258
265
  return null;
259
266
  }
260
- const crudResult = await this.db.execute('SELECT * FROM ps_crud ORDER BY id ASC LIMIT ?', [limit]);
267
+ const crudResult = await this.db.getAll('SELECT * FROM ps_crud ORDER BY id ASC LIMIT ?', [limit]);
261
268
  const all = [];
262
- for (const row of crudResult.rows?._array ?? []) {
269
+ for (const row of crudResult) {
263
270
  all.push(CrudEntry.fromRow(row));
264
271
  }
265
272
  if (all.length === 0) {
@@ -295,3 +302,4 @@ export class SqliteBucketStorage extends BaseObserver {
295
302
  // No-op for now
296
303
  }
297
304
  }
305
+ //# sourceMappingURL=SqliteBucketStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteBucketStorage.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/SqliteBucketStorage.ts"],"names":[],"mappings":"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"}
@@ -9,3 +9,4 @@ export class SyncDataBatch {
9
9
  this.buckets = buckets;
10
10
  }
11
11
  }
12
+ //# sourceMappingURL=SyncDataBatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncDataBatch.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/SyncDataBatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,YAAY;AAEZ,MAAM,OAAO,aAAa;IAKL;IAJnB,MAAM,CAAC,QAAQ,CAAC,IAAS;QACvB,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,YAAmB,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;IAAG,CAAC;CACjD"}
@@ -38,3 +38,4 @@ export class SyncDataBucket {
38
38
  };
39
39
  }
40
40
  }
41
+ //# sourceMappingURL=SyncDataBucket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncDataBucket.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/SyncDataBucket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAkB,MAAM,cAAc,CAAC;AAU1D,MAAM,CAAC,MAAM,SAAS,GAAG,qBAAqB,CAAC;AAE/C,MAAM,OAAO,cAAc;IAYhB;IACA;IAIA;IAIA;IAIA;IAxBT,MAAM,CAAC,OAAO,CAAC,GAAuB;QACpC,OAAO,IAAI,cAAc,CACvB,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAClD,GAAG,CAAC,QAAQ,IAAI,KAAK,EACrB,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,UAAU,CACf,CAAC;IACJ,CAAC;IAED,YACS,MAAc,EACd,IAAkB;IACzB;;OAEG;IACI,QAAiB;IACxB;;OAEG;IACI,KAAY;IACnB;;OAEG;IACI,UAAiB;QAbjB,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAc;QAIlB,aAAQ,GAAR,QAAQ,CAAS;QAIjB,UAAK,GAAL,KAAK,CAAO;QAIZ,eAAU,GAAV,UAAU,CAAO;IACvB,CAAC;IAEJ,MAAM;QACJ,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SAC/C,CAAC;IACJ,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
1
  import { ILogger } from 'js-logger';
2
- import { fetch } from 'cross-fetch';
2
+ import { type fetch } from 'cross-fetch';
3
3
  import { PowerSyncCredentials } from '../../connection/PowerSyncCredentials';
4
4
  import { StreamingSyncLine, StreamingSyncRequest } from './streaming-sync-types';
5
5
  import { DataStream } from '../../../utils/DataStream';
@@ -1,5 +1,4 @@
1
1
  import Logger from 'js-logger';
2
- import { fetch } from 'cross-fetch';
3
2
  import { DataStream } from '../../../utils/DataStream';
4
3
  import ndjsonStream from 'can-ndjson-stream';
5
4
  import { RSocketConnector } from 'rsocket-core';
@@ -23,7 +22,7 @@ export const DEFAULT_REMOTE_LOGGER = Logger.get('PowerSyncRemote');
23
22
  */
24
23
  export class FetchImplementationProvider {
25
24
  getFetch() {
26
- return fetch.bind(globalThis);
25
+ throw new Error('Unspecified fetch implementation');
27
26
  }
28
27
  }
29
28
  export const DEFAULT_REMOTE_OPTIONS = {
@@ -83,7 +82,7 @@ export class AbstractRemote {
83
82
  }
84
83
  async post(path, data, headers = {}) {
85
84
  const request = await this.buildRequest(path);
86
- const res = await fetch(request.url, {
85
+ const res = await this.fetch(request.url, {
87
86
  method: 'POST',
88
87
  headers: {
89
88
  ...headers,
@@ -354,7 +353,7 @@ export class AbstractRemote {
354
353
  processStream();
355
354
  }
356
355
  });
357
- const jsonS = ndjsonStream(new Response(outputStream).body);
356
+ const jsonS = ndjsonStream(outputStream);
358
357
  const stream = new DataStream({
359
358
  logger: this.logger
360
359
  });
@@ -384,3 +383,4 @@ export class AbstractRemote {
384
383
  return stream;
385
384
  }
386
385
  }
386
+ //# sourceMappingURL=AbstractRemote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractRemote.js","sourceRoot":"","sources":["../../../../src/client/sync/stream/AbstractRemote.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { ILogger } from 'js-logger';
2
- import { StreamingSyncRequestParameterType } from './streaming-sync-types';
3
- import { AbstractRemote } from './AbstractRemote';
4
- import { BucketStorageAdapter } from '../bucket/BucketStorageAdapter';
5
2
  import { SyncStatus, SyncStatusOptions } from '../../../db/crud/SyncStatus';
6
- import { BaseObserver, BaseListener, Disposable } from '../../../utils/BaseObserver';
3
+ import { BaseListener, BaseObserver, Disposable } from '../../../utils/BaseObserver';
4
+ import { BucketStorageAdapter } from '../bucket/BucketStorageAdapter';
5
+ import { AbstractRemote } from './AbstractRemote';
6
+ import { StreamingSyncRequestParameterType } from './streaming-sync-types';
7
7
  export declare enum LockType {
8
8
  CRUD = "crud",
9
9
  SYNC = "sync"
@@ -105,7 +105,6 @@ export declare abstract class AbstractStreamingSyncImplementation extends BaseOb
105
105
  hasCompletedSync(): Promise<boolean>;
106
106
  getWriteCheckpoint(): Promise<string>;
107
107
  protected _uploadAllCrud(): Promise<void>;
108
- protected uploadCrudBatch(): Promise<boolean>;
109
108
  connect(options?: PowerSyncConnectionOptions): Promise<void>;
110
109
  disconnect(): Promise<void>;
111
110
  /**
@@ -1,10 +1,10 @@
1
1
  import throttle from 'lodash/throttle';
2
2
  import Logger from 'js-logger';
3
- import { isStreamingKeepalive, isStreamingSyncCheckpoint, isStreamingSyncCheckpointComplete, isStreamingSyncCheckpointDiff, isStreamingSyncData } from './streaming-sync-types';
4
3
  import { SyncStatus } from '../../../db/crud/SyncStatus';
5
- import { SyncDataBucket } from '../bucket/SyncDataBucket';
6
- import { BaseObserver } from '../../../utils/BaseObserver';
7
4
  import { AbortOperation } from '../../../utils/AbortOperation';
5
+ import { BaseObserver } from '../../../utils/BaseObserver';
6
+ import { SyncDataBucket } from '../bucket/SyncDataBucket';
7
+ import { isStreamingKeepalive, isStreamingSyncCheckpoint, isStreamingSyncCheckpointComplete, isStreamingSyncCheckpointDiff, isStreamingSyncData } from './streaming-sync-types';
8
8
  export var LockType;
9
9
  (function (LockType) {
10
10
  LockType["CRUD"] = "crud";
@@ -103,19 +103,40 @@ export class AbstractStreamingSyncImplementation extends BaseObserver {
103
103
  return this.obtainLock({
104
104
  type: LockType.CRUD,
105
105
  callback: async () => {
106
- this.updateSyncStatus({
107
- dataFlow: {
108
- uploading: true
109
- }
110
- });
106
+ /**
107
+ * Keep track of the first item in the CRUD queue for the last `uploadCrud` iteration.
108
+ */
109
+ let checkedCrudItem;
111
110
  while (true) {
111
+ this.updateSyncStatus({
112
+ dataFlow: {
113
+ uploading: true
114
+ }
115
+ });
112
116
  try {
113
- const done = await this.uploadCrudBatch();
114
- if (done) {
117
+ /**
118
+ * This is the first item in the FIFO CRUD queue.
119
+ */
120
+ const nextCrudItem = await this.options.adapter.nextCrudItem();
121
+ if (nextCrudItem) {
122
+ if (nextCrudItem.id == checkedCrudItem?.id) {
123
+ // This will force a higher log level than exceptions which are caught here.
124
+ this.logger.warn(`Potentially previously uploaded CRUD entries are still present in the upload queue.
125
+ Make sure to handle uploads and complete CRUD transactions or batches by calling and awaiting their [.complete()] method.
126
+ The next upload iteration will be delayed.`);
127
+ throw new Error('Delaying due to previously encountered CRUD item.');
128
+ }
129
+ checkedCrudItem = nextCrudItem;
130
+ await this.options.uploadCrud();
131
+ }
132
+ else {
133
+ // Uploading is completed
134
+ await this.options.adapter.updateLocalTarget(() => this.getWriteCheckpoint());
115
135
  break;
116
136
  }
117
137
  }
118
138
  catch (ex) {
139
+ checkedCrudItem = undefined;
119
140
  this.updateSyncStatus({
120
141
  dataFlow: {
121
142
  uploading: false
@@ -139,17 +160,6 @@ export class AbstractStreamingSyncImplementation extends BaseObserver {
139
160
  }
140
161
  });
141
162
  }
142
- async uploadCrudBatch() {
143
- const hasCrud = await this.options.adapter.hasCrud();
144
- if (hasCrud) {
145
- await this.options.uploadCrud();
146
- return false;
147
- }
148
- else {
149
- await this.options.adapter.updateLocalTarget(() => this.getWriteCheckpoint());
150
- return true;
151
- }
152
- }
153
163
  async connect(options) {
154
164
  if (this.abortController) {
155
165
  await this.disconnect();
@@ -493,3 +503,4 @@ export class AbstractStreamingSyncImplementation extends BaseObserver {
493
503
  return new Promise((resolve) => setTimeout(resolve, this.options.retryDelayMs));
494
504
  }
495
505
  }
506
+ //# sourceMappingURL=AbstractStreamingSyncImplementation.js.map