@powersync/common 1.53.2 → 1.55.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 (221) hide show
  1. package/dist/bundle.cjs +922 -772
  2. package/dist/bundle.cjs.map +1 -1
  3. package/dist/bundle.mjs +922 -772
  4. package/dist/bundle.mjs.map +1 -1
  5. package/dist/bundle.node.cjs +923 -619
  6. package/dist/bundle.node.cjs.map +1 -1
  7. package/dist/bundle.node.mjs +923 -619
  8. package/dist/bundle.node.mjs.map +1 -1
  9. package/dist/index.d.cts +749 -205
  10. package/lib/attachments/AttachmentContext.d.ts +7 -6
  11. package/lib/attachments/AttachmentContext.js +2 -1
  12. package/lib/attachments/AttachmentContext.js.map +1 -1
  13. package/lib/attachments/AttachmentErrorHandler.d.ts +6 -6
  14. package/lib/attachments/AttachmentQueue.d.ts +82 -33
  15. package/lib/attachments/AttachmentQueue.js +16 -18
  16. package/lib/attachments/AttachmentQueue.js.map +1 -1
  17. package/lib/attachments/LocalStorageAdapter.d.ts +14 -8
  18. package/lib/attachments/LocalStorageAdapter.js +3 -0
  19. package/lib/attachments/LocalStorageAdapter.js.map +1 -1
  20. package/lib/attachments/RemoteStorageAdapter.d.ts +4 -4
  21. package/lib/attachments/Schema.d.ts +12 -4
  22. package/lib/attachments/Schema.js +8 -3
  23. package/lib/attachments/Schema.js.map +1 -1
  24. package/lib/attachments/WatchedAttachmentItem.d.ts +3 -1
  25. package/lib/client/AbstractPowerSyncDatabase.d.ts +110 -60
  26. package/lib/client/AbstractPowerSyncDatabase.js +77 -74
  27. package/lib/client/AbstractPowerSyncDatabase.js.map +1 -1
  28. package/lib/client/AbstractPowerSyncOpenFactory.d.ts +6 -0
  29. package/lib/client/AbstractPowerSyncOpenFactory.js +3 -0
  30. package/lib/client/AbstractPowerSyncOpenFactory.js.map +1 -1
  31. package/lib/client/ConnectionManager.d.ts +4 -1
  32. package/lib/client/ConnectionManager.js +1 -1
  33. package/lib/client/ConnectionManager.js.map +1 -1
  34. package/lib/client/Query.d.ts +9 -0
  35. package/lib/client/SQLOpenFactory.d.ts +12 -0
  36. package/lib/client/SQLOpenFactory.js +6 -0
  37. package/lib/client/SQLOpenFactory.js.map +1 -1
  38. package/lib/client/compilableQueryWatch.d.ts +6 -0
  39. package/lib/client/compilableQueryWatch.js +3 -0
  40. package/lib/client/compilableQueryWatch.js.map +1 -1
  41. package/lib/client/connection/PowerSyncBackendConnector.d.ts +3 -0
  42. package/lib/client/connection/PowerSyncCredentials.d.ts +3 -0
  43. package/lib/client/constants.d.ts +3 -0
  44. package/lib/client/constants.js +3 -0
  45. package/lib/client/constants.js.map +1 -1
  46. package/lib/client/runOnSchemaChange.d.ts +3 -0
  47. package/lib/client/runOnSchemaChange.js +3 -0
  48. package/lib/client/runOnSchemaChange.js.map +1 -1
  49. package/lib/client/sync/bucket/BucketStorageAdapter.d.ts +12 -0
  50. package/lib/client/sync/bucket/BucketStorageAdapter.js +6 -0
  51. package/lib/client/sync/bucket/BucketStorageAdapter.js.map +1 -1
  52. package/lib/client/sync/bucket/CrudBatch.d.ts +2 -0
  53. package/lib/client/sync/bucket/CrudBatch.js +2 -0
  54. package/lib/client/sync/bucket/CrudBatch.js.map +1 -1
  55. package/lib/client/sync/bucket/CrudEntry.d.ts +9 -0
  56. package/lib/client/sync/bucket/CrudEntry.js +4 -0
  57. package/lib/client/sync/bucket/CrudEntry.js.map +1 -1
  58. package/lib/client/sync/bucket/CrudTransaction.d.ts +3 -0
  59. package/lib/client/sync/bucket/CrudTransaction.js +3 -0
  60. package/lib/client/sync/bucket/CrudTransaction.js.map +1 -1
  61. package/lib/client/sync/bucket/SqliteBucketStorage.d.ts +3 -0
  62. package/lib/client/sync/bucket/SqliteBucketStorage.js +3 -0
  63. package/lib/client/sync/bucket/SqliteBucketStorage.js.map +1 -1
  64. package/lib/client/sync/stream/AbstractRemote.d.ts +30 -1
  65. package/lib/client/sync/stream/AbstractRemote.js +59 -27
  66. package/lib/client/sync/stream/AbstractRemote.js.map +1 -1
  67. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.d.ts +55 -5
  68. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js +32 -4
  69. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js.map +1 -1
  70. package/lib/client/sync/stream/JsonValue.d.ts +3 -0
  71. package/lib/client/sync/stream/WebsocketClientTransport.js +2 -1
  72. package/lib/client/sync/stream/WebsocketClientTransport.js.map +1 -1
  73. package/lib/client/sync/sync-streams.d.ts +22 -7
  74. package/lib/client/triggers/TriggerManager.d.ts +19 -18
  75. package/lib/client/triggers/TriggerManager.js +2 -1
  76. package/lib/client/triggers/TriggerManager.js.map +1 -1
  77. package/lib/client/triggers/TriggerManagerImpl.d.ts +1 -1
  78. package/lib/client/triggers/TriggerManagerImpl.js +3 -3
  79. package/lib/client/triggers/TriggerManagerImpl.js.map +1 -1
  80. package/lib/client/triggers/sanitizeSQL.d.ts +4 -0
  81. package/lib/client/triggers/sanitizeSQL.js +4 -0
  82. package/lib/client/triggers/sanitizeSQL.js.map +1 -1
  83. package/lib/client/watched/GetAllQuery.d.ts +4 -0
  84. package/lib/client/watched/GetAllQuery.js +2 -0
  85. package/lib/client/watched/GetAllQuery.js.map +1 -1
  86. package/lib/client/watched/WatchedQuery.d.ts +24 -2
  87. package/lib/client/watched/WatchedQuery.js +9 -0
  88. package/lib/client/watched/WatchedQuery.js.map +1 -1
  89. package/lib/client/watched/processors/AbstractQueryProcessor.d.ts +1 -1
  90. package/lib/client/watched/processors/AbstractQueryProcessor.js.map +1 -1
  91. package/lib/client/watched/processors/DifferentialQueryProcessor.d.ts +20 -0
  92. package/lib/client/watched/processors/DifferentialQueryProcessor.js +4 -0
  93. package/lib/client/watched/processors/DifferentialQueryProcessor.js.map +1 -1
  94. package/lib/client/watched/processors/OnChangeQueryProcessor.d.ts +4 -0
  95. package/lib/client/watched/processors/OnChangeQueryProcessor.js.map +1 -1
  96. package/lib/client/watched/processors/comparators.d.ts +8 -0
  97. package/lib/client/watched/processors/comparators.js +4 -0
  98. package/lib/client/watched/processors/comparators.js.map +1 -1
  99. package/lib/db/ConnectionClosedError.d.ts +2 -0
  100. package/lib/db/ConnectionClosedError.js +2 -0
  101. package/lib/db/ConnectionClosedError.js.map +1 -1
  102. package/lib/db/DBAdapter.d.ts +56 -6
  103. package/lib/db/DBAdapter.js +15 -3
  104. package/lib/db/DBAdapter.js.map +1 -1
  105. package/lib/db/crud/SyncProgress.d.ts +6 -1
  106. package/lib/db/crud/SyncProgress.js +2 -0
  107. package/lib/db/crud/SyncProgress.js.map +1 -1
  108. package/lib/db/crud/SyncStatus.d.ts +36 -38
  109. package/lib/db/crud/SyncStatus.js +19 -14
  110. package/lib/db/crud/SyncStatus.js.map +1 -1
  111. package/lib/db/crud/UploadQueueStatus.d.ts +3 -0
  112. package/lib/db/crud/UploadQueueStatus.js +3 -0
  113. package/lib/db/crud/UploadQueueStatus.js.map +1 -1
  114. package/lib/db/schema/Column.d.ts +28 -0
  115. package/lib/db/schema/Column.js +16 -3
  116. package/lib/db/schema/Column.js.map +1 -1
  117. package/lib/db/schema/Index.d.ts +9 -0
  118. package/lib/db/schema/Index.js +6 -0
  119. package/lib/db/schema/Index.js.map +1 -1
  120. package/lib/db/schema/IndexedColumn.d.ts +9 -0
  121. package/lib/db/schema/IndexedColumn.js +6 -0
  122. package/lib/db/schema/IndexedColumn.js.map +1 -1
  123. package/lib/db/schema/RawTable.d.ts +7 -1
  124. package/lib/db/schema/Schema.d.ts +6 -1
  125. package/lib/db/schema/Schema.js +3 -1
  126. package/lib/db/schema/Schema.js.map +1 -1
  127. package/lib/db/schema/Table.d.ts +27 -3
  128. package/lib/db/schema/Table.js +9 -0
  129. package/lib/db/schema/Table.js.map +1 -1
  130. package/lib/db/schema/TableV2.d.ts +2 -0
  131. package/lib/db/schema/TableV2.js +2 -0
  132. package/lib/db/schema/TableV2.js.map +1 -1
  133. package/lib/index.d.ts +1 -1
  134. package/lib/types/types.d.ts +6 -0
  135. package/lib/utils/AbortOperation.d.ts +2 -0
  136. package/lib/utils/AbortOperation.js +2 -0
  137. package/lib/utils/AbortOperation.js.map +1 -1
  138. package/lib/utils/BaseObserver.d.ts +12 -0
  139. package/lib/utils/BaseObserver.js +3 -0
  140. package/lib/utils/BaseObserver.js.map +1 -1
  141. package/lib/utils/ControlledExecutor.d.ts +6 -0
  142. package/lib/utils/ControlledExecutor.js +3 -0
  143. package/lib/utils/ControlledExecutor.js.map +1 -1
  144. package/lib/utils/Logger.d.ts +9 -0
  145. package/lib/utils/Logger.js +6 -0
  146. package/lib/utils/Logger.js.map +1 -1
  147. package/lib/utils/async.d.ts +26 -0
  148. package/lib/utils/async.js +114 -27
  149. package/lib/utils/async.js.map +1 -1
  150. package/lib/utils/compatibility.d.ts +8 -0
  151. package/lib/utils/compatibility.js +9 -0
  152. package/lib/utils/compatibility.js.map +1 -0
  153. package/lib/utils/mutex.d.ts +8 -0
  154. package/lib/utils/mutex.js +3 -0
  155. package/lib/utils/mutex.js.map +1 -1
  156. package/lib/utils/parseQuery.d.ts +6 -0
  157. package/lib/utils/parseQuery.js +3 -0
  158. package/lib/utils/parseQuery.js.map +1 -1
  159. package/lib/utils/stream_transform.d.ts +3 -1
  160. package/lib/utils/stream_transform.js.map +1 -1
  161. package/package.json +3 -3
  162. package/src/attachments/AttachmentContext.ts +7 -6
  163. package/src/attachments/AttachmentErrorHandler.ts +6 -6
  164. package/src/attachments/AttachmentQueue.ts +93 -35
  165. package/src/attachments/LocalStorageAdapter.ts +14 -8
  166. package/src/attachments/README.md +2 -0
  167. package/src/attachments/RemoteStorageAdapter.ts +4 -4
  168. package/src/attachments/Schema.ts +12 -4
  169. package/src/attachments/WatchedAttachmentItem.ts +3 -1
  170. package/src/client/AbstractPowerSyncDatabase.ts +135 -91
  171. package/src/client/AbstractPowerSyncOpenFactory.ts +6 -0
  172. package/src/client/ConnectionManager.ts +4 -1
  173. package/src/client/Query.ts +9 -0
  174. package/src/client/SQLOpenFactory.ts +12 -0
  175. package/src/client/compilableQueryWatch.ts +6 -0
  176. package/src/client/connection/PowerSyncBackendConnector.ts +3 -0
  177. package/src/client/connection/PowerSyncCredentials.ts +3 -0
  178. package/src/client/constants.ts +3 -0
  179. package/src/client/runOnSchemaChange.ts +3 -0
  180. package/src/client/sync/bucket/BucketStorageAdapter.ts +12 -0
  181. package/src/client/sync/bucket/CrudBatch.ts +2 -0
  182. package/src/client/sync/bucket/CrudEntry.ts +9 -0
  183. package/src/client/sync/bucket/CrudTransaction.ts +3 -0
  184. package/src/client/sync/bucket/SqliteBucketStorage.ts +3 -0
  185. package/src/client/sync/stream/AbstractRemote.ts +76 -34
  186. package/src/client/sync/stream/AbstractStreamingSyncImplementation.ts +55 -5
  187. package/src/client/sync/stream/JsonValue.ts +3 -0
  188. package/src/client/sync/stream/WebsocketClientTransport.ts +3 -1
  189. package/src/client/sync/sync-streams.ts +22 -9
  190. package/src/client/triggers/TriggerManager.ts +19 -18
  191. package/src/client/triggers/TriggerManagerImpl.ts +5 -5
  192. package/src/client/triggers/sanitizeSQL.ts +5 -0
  193. package/src/client/watched/GetAllQuery.ts +5 -1
  194. package/src/client/watched/WatchedQuery.ts +24 -2
  195. package/src/client/watched/processors/AbstractQueryProcessor.ts +6 -6
  196. package/src/client/watched/processors/DifferentialQueryProcessor.ts +28 -5
  197. package/src/client/watched/processors/OnChangeQueryProcessor.ts +9 -3
  198. package/src/client/watched/processors/comparators.ts +8 -0
  199. package/src/db/ConnectionClosedError.ts +2 -0
  200. package/src/db/DBAdapter.ts +58 -6
  201. package/src/db/crud/SyncProgress.ts +6 -1
  202. package/src/db/crud/SyncStatus.ts +40 -21
  203. package/src/db/crud/UploadQueueStatus.ts +3 -0
  204. package/src/db/schema/Column.ts +28 -3
  205. package/src/db/schema/Index.ts +9 -0
  206. package/src/db/schema/IndexedColumn.ts +9 -0
  207. package/src/db/schema/RawTable.ts +7 -1
  208. package/src/db/schema/Schema.ts +8 -3
  209. package/src/db/schema/Table.ts +30 -5
  210. package/src/db/schema/TableV2.ts +2 -0
  211. package/src/index.ts +1 -1
  212. package/src/types/types.ts +6 -0
  213. package/src/utils/AbortOperation.ts +2 -0
  214. package/src/utils/BaseObserver.ts +12 -0
  215. package/src/utils/ControlledExecutor.ts +6 -0
  216. package/src/utils/Logger.ts +9 -0
  217. package/src/utils/async.ts +136 -28
  218. package/src/utils/compatibility.ts +9 -0
  219. package/src/utils/mutex.ts +12 -0
  220. package/src/utils/parseQuery.ts +6 -0
  221. package/src/utils/stream_transform.ts +3 -1
@@ -1,4 +1,7 @@
1
1
  import { DBAdapter } from '../db/DBAdapter.js';
2
+ /**
3
+ * @public
4
+ */
2
5
  export interface SQLOpenOptions {
3
6
  /**
4
7
  * Filename for the database.
@@ -22,6 +25,9 @@ export interface SQLOpenOptions {
22
25
  */
23
26
  debugMode?: boolean;
24
27
  }
28
+ /**
29
+ * @public
30
+ */
25
31
  export interface SQLOpenFactory {
26
32
  /**
27
33
  * Opens a connection adapter to a SQLite DB
@@ -30,13 +36,19 @@ export interface SQLOpenFactory {
30
36
  }
31
37
  /**
32
38
  * Tests if the input is a {@link SQLOpenOptions}
39
+ *
40
+ * @internal
33
41
  */
34
42
  export declare const isSQLOpenOptions: (test: any) => test is SQLOpenOptions;
35
43
  /**
36
44
  * Tests if input is a {@link SQLOpenFactory}
45
+ *
46
+ * @internal
37
47
  */
38
48
  export declare const isSQLOpenFactory: (test: any) => test is SQLOpenFactory;
39
49
  /**
40
50
  * Tests if input is a {@link DBAdapter}
51
+ *
52
+ * @internal
41
53
  */
42
54
  export declare const isDBAdapter: (test: any) => test is DBAdapter;
@@ -1,5 +1,7 @@
1
1
  /**
2
2
  * Tests if the input is a {@link SQLOpenOptions}
3
+ *
4
+ * @internal
3
5
  */
4
6
  export const isSQLOpenOptions = (test) => {
5
7
  // typeof null is `object`, but you cannot use the `in` operator on `null.
@@ -7,12 +9,16 @@ export const isSQLOpenOptions = (test) => {
7
9
  };
8
10
  /**
9
11
  * Tests if input is a {@link SQLOpenFactory}
12
+ *
13
+ * @internal
10
14
  */
11
15
  export const isSQLOpenFactory = (test) => {
12
16
  return typeof test?.openDB == 'function';
13
17
  };
14
18
  /**
15
19
  * Tests if input is a {@link DBAdapter}
20
+ *
21
+ * @internal
16
22
  */
17
23
  export const isDBAdapter = (test) => {
18
24
  return typeof test?.writeTransaction == 'function';
@@ -1 +1 @@
1
- {"version":3,"file":"SQLOpenFactory.js","sourceRoot":"","sources":["../../src/client/SQLOpenFactory.ts"],"names":[],"mappings":"AAkCA;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAS,EAA0B,EAAE;IACpE,0EAA0E;IAC1E,OAAO,IAAI,IAAI,OAAO,IAAI,IAAI,QAAQ,IAAI,YAAY,IAAI,IAAI,CAAC;AACjE,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
+ {"version":3,"file":"SQLOpenFactory.js","sourceRoot":"","sources":["../../src/client/SQLOpenFactory.ts"],"names":[],"mappings":"AAwCA;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAS,EAA0B,EAAE;IACpE,0EAA0E;IAC1E,OAAO,IAAI,IAAI,OAAO,IAAI,IAAI,QAAQ,IAAI,YAAY,IAAI,IAAI,CAAC;AACjE,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAS,EAA0B,EAAE;IACpE,OAAO,OAAO,IAAI,EAAE,MAAM,IAAI,UAAU,CAAC;AAC3C,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAS,EAAqB,EAAE;IAC1D,OAAO,OAAO,IAAI,EAAE,gBAAgB,IAAI,UAAU,CAAC;AACrD,CAAC,CAAC"}
@@ -1,7 +1,13 @@
1
1
  import { CompilableQuery } from './../types/types.js';
2
2
  import { AbstractPowerSyncDatabase, SQLWatchOptions } from './AbstractPowerSyncDatabase.js';
3
+ /**
4
+ * @public
5
+ */
3
6
  export interface CompilableQueryWatchHandler<T> {
4
7
  onResult: (results: T[]) => void;
5
8
  onError?: (error: Error) => void;
6
9
  }
10
+ /**
11
+ * @public
12
+ */
7
13
  export declare function compilableQueryWatch<T>(db: AbstractPowerSyncDatabase, query: CompilableQuery<T>, handler: CompilableQueryWatchHandler<T>, options?: SQLWatchOptions): void;
@@ -1,4 +1,7 @@
1
1
  import { runOnSchemaChange } from './runOnSchemaChange.js';
2
+ /**
3
+ * @public
4
+ */
2
5
  export function compilableQueryWatch(db, query, handler, options) {
3
6
  const { onResult, onError = (e) => { } } = handler ?? {};
4
7
  if (!onResult) {
@@ -1 +1 @@
1
- {"version":3,"file":"compilableQueryWatch.js","sourceRoot":"","sources":["../../src/client/compilableQueryWatch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAO3D,MAAM,UAAU,oBAAoB,CAClC,EAA6B,EAC7B,KAAyB,EACzB,OAAuC,EACvC,OAAyB;IAEzB,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAQ,EAAE,EAAE,GAAE,CAAC,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,EAAE,WAAwB,EAAE,EAAE;QACpD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,UAAgB,EAAE,OAAO,CAAC,CAAC;YAE1F,qBAAqB;YACrB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;YACrC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEjB,EAAE,CAAC,oBAAoB,CACrB;gBACE,QAAQ,EAAE,KAAK,IAAI,EAAE;oBACnB,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;wBACrC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACpB,OAAO,CAAC,KAAK,CAAC,CAAC;oBACjB,CAAC;gBACH,CAAC;gBACD,OAAO;aACR,EACD;gBACE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gBAClB,MAAM,EAAE,cAAc;gBACtB,kDAAkD;gBAClD,MAAM,EAAE,WAAW;aACpB,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IAEF,iBAAiB,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"compilableQueryWatch.js","sourceRoot":"","sources":["../../src/client/compilableQueryWatch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAU3D;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,EAA6B,EAC7B,KAAyB,EACzB,OAAuC,EACvC,OAAyB;IAEzB,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAQ,EAAE,EAAE,GAAE,CAAC,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,EAAE,WAAwB,EAAE,EAAE;QACpD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,UAAgB,EAAE,OAAO,CAAC,CAAC;YAE1F,qBAAqB;YACrB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;YACrC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEjB,EAAE,CAAC,oBAAoB,CACrB;gBACE,QAAQ,EAAE,KAAK,IAAI,EAAE;oBACnB,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;wBACrC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACpB,OAAO,CAAC,KAAK,CAAC,CAAC;oBACjB,CAAC;gBACH,CAAC;gBACD,OAAO;aACR,EACD;gBACE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gBAClB,MAAM,EAAE,cAAc;gBACtB,kDAAkD;gBAClD,MAAM,EAAE,WAAW;aACpB,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IAEF,iBAAiB,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,5 +1,8 @@
1
1
  import { PowerSyncCredentials } from './PowerSyncCredentials.js';
2
2
  import type { AbstractPowerSyncDatabase } from '../AbstractPowerSyncDatabase.js';
3
+ /**
4
+ * @public
5
+ */
3
6
  export interface PowerSyncBackendConnector {
4
7
  /** Allows the PowerSync client to retrieve an authentication token from your backend
5
8
  * which is used to authenticate against the PowerSync service.
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @public
3
+ */
1
4
  export interface PowerSyncCredentials {
2
5
  endpoint: string;
3
6
  token: string;
@@ -1 +1,4 @@
1
+ /**
2
+ * @internal
3
+ */
1
4
  export declare const MAX_OP_ID = "9223372036854775807";
@@ -1,2 +1,5 @@
1
+ /**
2
+ * @internal
3
+ */
1
4
  export const MAX_OP_ID = '9223372036854775807';
2
5
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/client/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,qBAAqB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/client/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,qBAAqB,CAAC"}
@@ -1,2 +1,5 @@
1
1
  import { AbstractPowerSyncDatabase, SQLWatchOptions } from './AbstractPowerSyncDatabase.js';
2
+ /**
3
+ * @internal
4
+ */
2
5
  export declare function runOnSchemaChange(callback: (signal: AbortSignal) => void, db: AbstractPowerSyncDatabase, options?: SQLWatchOptions): void;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @internal
3
+ */
1
4
  export function runOnSchemaChange(callback, db, options) {
2
5
  const triggerWatchedQuery = () => {
3
6
  const abortController = new AbortController();
@@ -1 +1 @@
1
- {"version":3,"file":"runOnSchemaChange.js","sourceRoot":"","sources":["../../src/client/runOnSchemaChange.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAC/B,QAAuC,EACvC,EAA6B,EAC7B,OAAyB;IAEzB,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,qBAAqB,GAAwB,IAAI,CAAC;QACtD,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACzC,qBAAqB,EAAE,EAAE,CAAC;YAC1B,qBAAqB,GAAG,IAAI,CAAC;YAC7B,kDAAkD;YAClD,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC9D,CAAC,CAAC;QAEF,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACzD,qBAAqB,GAAG,EAAE,CAAC,gBAAgB,CAAC;YAC1C,aAAa,EAAE,KAAK,IAAI,EAAE;gBACxB,YAAY,EAAE,CAAC;gBACf,yIAAyI;gBACzI,UAAU,CAAC,GAAG,EAAE,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7C,CAAC;SACF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,mBAAmB,EAAE,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"runOnSchemaChange.js","sourceRoot":"","sources":["../../src/client/runOnSchemaChange.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAuC,EACvC,EAA6B,EAC7B,OAAyB;IAEzB,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,qBAAqB,GAAwB,IAAI,CAAC;QACtD,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACzC,qBAAqB,EAAE,EAAE,CAAC;YAC1B,qBAAqB,GAAG,IAAI,CAAC;YAC7B,kDAAkD;YAClD,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC9D,CAAC,CAAC;QAEF,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACzD,qBAAqB,GAAG,EAAE,CAAC,gBAAgB,CAAC;YAC1C,aAAa,EAAE,KAAK,IAAI,EAAE;gBACxB,YAAY,EAAE,CAAC;gBACf,yIAAyI;gBACzI,UAAU,CAAC,GAAG,EAAE,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7C,CAAC;SACF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,mBAAmB,EAAE,CAAC;AACxB,CAAC"}
@@ -1,6 +1,9 @@
1
1
  import { BaseListener, BaseObserverInterface, Disposable } from '../../../utils/BaseObserver.js';
2
2
  import { CrudBatch } from './CrudBatch.js';
3
3
  import { CrudEntry } from './CrudEntry.js';
4
+ /**
5
+ * @internal
6
+ */
4
7
  export declare enum PSInternalTable {
5
8
  DATA = "ps_data",
6
9
  CRUD = "ps_crud",
@@ -8,6 +11,9 @@ export declare enum PSInternalTable {
8
11
  OPLOG = "ps_oplog",
9
12
  UNTYPED = "ps_untyped"
10
13
  }
14
+ /**
15
+ * @internal
16
+ */
11
17
  export declare enum PowerSyncControlCommand {
12
18
  PROCESS_TEXT_LINE = "line_text",
13
19
  PROCESS_BSON_LINE = "line_binary",
@@ -21,9 +27,15 @@ export declare enum PowerSyncControlCommand {
21
27
  */
22
28
  CONNECTION_STATE = "connection"
23
29
  }
30
+ /**
31
+ * @internal
32
+ */
24
33
  export interface BucketStorageListener extends BaseListener {
25
34
  crudUpdate: () => void;
26
35
  }
36
+ /**
37
+ * @internal
38
+ */
27
39
  export interface BucketStorageAdapter extends BaseObserverInterface<BucketStorageListener>, Disposable {
28
40
  init(): Promise<void>;
29
41
  hasMigratedSubkeys(): Promise<boolean>;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @internal
3
+ */
1
4
  export var PSInternalTable;
2
5
  (function (PSInternalTable) {
3
6
  PSInternalTable["DATA"] = "ps_data";
@@ -6,6 +9,9 @@ export var PSInternalTable;
6
9
  PSInternalTable["OPLOG"] = "ps_oplog";
7
10
  PSInternalTable["UNTYPED"] = "ps_untyped";
8
11
  })(PSInternalTable || (PSInternalTable = {}));
12
+ /**
13
+ * @internal
14
+ */
9
15
  export var PowerSyncControlCommand;
10
16
  (function (PowerSyncControlCommand) {
11
17
  PowerSyncControlCommand["PROCESS_TEXT_LINE"] = "line_text";
@@ -1 +1 @@
1
- {"version":3,"file":"BucketStorageAdapter.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/BucketStorageAdapter.ts"],"names":[],"mappings":"AAIA,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;AAED,MAAM,CAAN,IAAY,uBAYX;AAZD,WAAY,uBAAuB;IACjC,0DAA+B,CAAA;IAC/B,4DAAiC,CAAA;IACjC,wCAAa,CAAA;IACb,0CAAe,CAAA;IACf,qEAA0C,CAAA;IAC1C,4EAAiD,CAAA;IACjD,wEAA6C,CAAA;IAC7C;;OAEG;IACH,0DAA+B,CAAA;AACjC,CAAC,EAZW,uBAAuB,KAAvB,uBAAuB,QAYlC"}
1
+ {"version":3,"file":"BucketStorageAdapter.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/BucketStorageAdapter.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,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;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,uBAYX;AAZD,WAAY,uBAAuB;IACjC,0DAA+B,CAAA;IAC/B,4DAAiC,CAAA;IACjC,wCAAa,CAAA;IACb,0CAAe,CAAA;IACf,qEAA0C,CAAA;IAC1C,4EAAiD,CAAA;IACjD,wEAA6C,CAAA;IAC7C;;OAEG;IACH,0DAA+B,CAAA;AACjC,CAAC,EAZW,uBAAuB,KAAvB,uBAAuB,QAYlC"}
@@ -1,6 +1,8 @@
1
1
  import { CrudEntry } from './CrudEntry.js';
2
2
  /**
3
3
  * A batch of client-side changes.
4
+ *
5
+ * @public
4
6
  */
5
7
  export declare class CrudBatch {
6
8
  /**
@@ -1,5 +1,7 @@
1
1
  /**
2
2
  * A batch of client-side changes.
3
+ *
4
+ * @public
3
5
  */
4
6
  export class CrudBatch {
5
7
  crud;
@@ -1 +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"}
1
+ {"version":3,"file":"CrudBatch.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/CrudBatch.ts"],"names":[],"mappings":"AAEA;;;;GAIG;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"}
@@ -2,10 +2,14 @@
2
2
  * 64-bit unsigned integer stored as a string in base-10.
3
3
  *
4
4
  * Not sortable as a string.
5
+ *
6
+ * @public
5
7
  */
6
8
  export type OpId = string;
7
9
  /**
8
10
  * Type of local change.
11
+ *
12
+ * @public
9
13
  */
10
14
  export declare enum UpdateType {
11
15
  /** Insert or replace existing row. All non-null columns are included in the data. Generated by INSERT statements. */
@@ -15,6 +19,9 @@ export declare enum UpdateType {
15
19
  /** Delete existing row. Contains the id. Generated by DELETE statements. */
16
20
  DELETE = "DELETE"
17
21
  }
22
+ /**
23
+ * @internal
24
+ */
18
25
  export type CrudEntryJSON = {
19
26
  id: string;
20
27
  data: string;
@@ -35,6 +42,8 @@ type CrudEntryOutputJSON = {
35
42
  };
36
43
  /**
37
44
  * A single client-side change.
45
+ *
46
+ * @public
38
47
  */
39
48
  export declare class CrudEntry {
40
49
  /**
@@ -1,5 +1,7 @@
1
1
  /**
2
2
  * Type of local change.
3
+ *
4
+ * @public
3
5
  */
4
6
  export var UpdateType;
5
7
  (function (UpdateType) {
@@ -12,6 +14,8 @@ export var UpdateType;
12
14
  })(UpdateType || (UpdateType = {}));
13
15
  /**
14
16
  * A single client-side change.
17
+ *
18
+ * @public
15
19
  */
16
20
  export class CrudEntry {
17
21
  /**
@@ -1 +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;AA+BD;;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;IAE7B;;;OAGG;IACH,cAAc,CAAuB;IAErC;;OAEG;IACH,KAAK,CAAS;IACd;;OAEG;IACH,aAAa,CAAU;IAEvB;;;;;OAKG;IACH,QAAQ,CAAU;IAElB,MAAM,CAAC,OAAO,CAAC,KAAoB;QACjC,MAAM,IAAI,GAAsB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,OAAO,IAAI,SAAS,CAClB,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAClB,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,EAAE,EACP,KAAK,CAAC,KAAK,EACX,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAED,YACE,QAAgB,EAChB,EAAc,EACd,KAAa,EACb,EAAU,EACV,aAAsB,EACtB,MAA4B,EAC5B,cAAoC,EACpC,QAAiB;QAEjB,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;QACnC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,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;YACjB,GAAG,EAAE,IAAI,CAAC,cAAc;YACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,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;YACL,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,EAAE;YACP,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,EAAE;YACP,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,QAAQ;SACd,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"CrudEntry.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/CrudEntry.ts"],"names":[],"mappings":"AASA;;;;GAIG;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;AAkCD;;;;GAIG;AACH,MAAM,OAAO,SAAS;IACpB;;OAEG;IACH,QAAQ,CAAS;IACjB;;OAEG;IACH,EAAE,CAAS;IACX;;OAEG;IACH,EAAE,CAAa;IACf;;OAEG;IACH,MAAM,CAAuB;IAE7B;;;OAGG;IACH,cAAc,CAAuB;IAErC;;OAEG;IACH,KAAK,CAAS;IACd;;OAEG;IACH,aAAa,CAAU;IAEvB;;;;;OAKG;IACH,QAAQ,CAAU;IAElB,MAAM,CAAC,OAAO,CAAC,KAAoB;QACjC,MAAM,IAAI,GAAsB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,OAAO,IAAI,SAAS,CAClB,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAClB,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,EAAE,EACP,KAAK,CAAC,KAAK,EACX,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAED,YACE,QAAgB,EAChB,EAAc,EACd,KAAa,EACb,EAAU,EACV,aAAsB,EACtB,MAA4B,EAC5B,cAAoC,EACpC,QAAiB;QAEjB,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;QACnC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,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;YACjB,GAAG,EAAE,IAAI,CAAC,cAAc;YACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,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;YACL,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,EAAE;YACP,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,EAAE;YACP,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,QAAQ;SACd,CAAC;IACJ,CAAC;CACF"}
@@ -1,5 +1,8 @@
1
1
  import { CrudBatch } from './CrudBatch.js';
2
2
  import { CrudEntry } from './CrudEntry.js';
3
+ /**
4
+ * @public
5
+ */
3
6
  export declare class CrudTransaction extends CrudBatch {
4
7
  /**
5
8
  * List of client-side changes.
@@ -1,4 +1,7 @@
1
1
  import { CrudBatch } from './CrudBatch.js';
2
+ /**
3
+ * @public
4
+ */
2
5
  export class CrudTransaction extends CrudBatch {
3
6
  crud;
4
7
  complete;
@@ -1 +1 @@
1
- {"version":3,"file":"CrudTransaction.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/CrudTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,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"}
1
+ {"version":3,"file":"CrudTransaction.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/CrudTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C;;GAEG;AACH,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"}
@@ -4,6 +4,9 @@ import { BaseObserver } from '../../../utils/BaseObserver.js';
4
4
  import { BucketStorageAdapter, BucketStorageListener, PowerSyncControlCommand } from './BucketStorageAdapter.js';
5
5
  import { CrudBatch } from './CrudBatch.js';
6
6
  import { CrudEntry } from './CrudEntry.js';
7
+ /**
8
+ * @internal
9
+ */
7
10
  export declare class SqliteBucketStorage extends BaseObserver<BucketStorageListener> implements BucketStorageAdapter {
8
11
  private db;
9
12
  private logger;
@@ -4,6 +4,9 @@ import { BaseObserver } from '../../../utils/BaseObserver.js';
4
4
  import { MAX_OP_ID } from '../../constants.js';
5
5
  import { PSInternalTable } from './BucketStorageAdapter.js';
6
6
  import { CrudEntry } from './CrudEntry.js';
7
+ /**
8
+ * @internal
9
+ */
7
10
  export class SqliteBucketStorage extends BaseObserver {
8
11
  db;
9
12
  logger;
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteBucketStorage.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/SqliteBucketStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqliteBucketStorage.js","sourceRoot":"","sources":["../../../../src/client/sync/bucket/SqliteBucketStorage.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,20 @@ import { type fetch } from 'cross-fetch';
2
2
  import Logger, { ILogger } from 'js-logger';
3
3
  import { PowerSyncCredentials } from '../../connection/PowerSyncCredentials.js';
4
4
  import { SimpleAsyncIterator } from '../../../utils/stream_transform.js';
5
+ /**
6
+ * @internal
7
+ */
5
8
  export type RemoteConnector = {
6
9
  fetchCredentials: () => Promise<PowerSyncCredentials | null>;
7
10
  invalidateCredentials?: () => void;
8
11
  };
12
+ /**
13
+ * @internal
14
+ */
9
15
  export declare const DEFAULT_REMOTE_LOGGER: Logger.ILogger;
16
+ /**
17
+ * @internal
18
+ */
10
19
  export type SyncStreamOptions = {
11
20
  path: string;
12
21
  data: unknown;
@@ -14,6 +23,9 @@ export type SyncStreamOptions = {
14
23
  abortSignal: AbortSignal;
15
24
  fetchOptions?: Request;
16
25
  };
26
+ /**
27
+ * @public
28
+ */
17
29
  export declare enum FetchStrategy {
18
30
  /**
19
31
  * Queues multiple sync events before processing, reducing round-trips.
@@ -26,19 +38,30 @@ export declare enum FetchStrategy {
26
38
  */
27
39
  Sequential = "sequential"
28
40
  }
41
+ /**
42
+ * @internal
43
+ */
29
44
  export type SocketSyncStreamOptions = SyncStreamOptions & {
30
45
  fetchStrategy: FetchStrategy;
31
46
  };
47
+ /**
48
+ * @internal
49
+ */
32
50
  export type FetchImplementation = typeof fetch;
33
51
  /**
34
52
  * Class wrapper for providing a fetch implementation.
35
53
  * The class wrapper is used to distinguish the fetchImplementation
36
54
  * option in [AbstractRemoteOptions] from the general fetch method
37
55
  * which is typeof "function"
56
+ *
57
+ * @internal
38
58
  */
39
59
  export declare class FetchImplementationProvider {
40
60
  getFetch(): FetchImplementation;
41
61
  }
62
+ /**
63
+ * @internal
64
+ */
42
65
  export type AbstractRemoteOptions = {
43
66
  /**
44
67
  * Transforms the PowerSync base URL which might contain
@@ -60,7 +83,13 @@ export type AbstractRemoteOptions = {
60
83
  */
61
84
  fetchOptions?: {};
62
85
  };
86
+ /**
87
+ * @internal
88
+ */
63
89
  export declare const DEFAULT_REMOTE_OPTIONS: AbstractRemoteOptions;
90
+ /**
91
+ * @internal
92
+ */
64
93
  export declare abstract class AbstractRemote {
65
94
  protected connector: RemoteConnector;
66
95
  protected logger: ILogger;
@@ -145,7 +174,7 @@ export declare abstract class AbstractRemote {
145
174
  * Posts a `/sync/stream` request.
146
175
  *
147
176
  * Depending on the `Content-Type` of the response, this returns strings for sync lines or encoded BSON documents as
148
- * {@link Uint8Array}s.
177
+ * `Uint8Array`s.
149
178
  */
150
179
  fetchStream(options: SyncStreamOptions): Promise<SimpleAsyncIterator<Uint8Array | string>>;
151
180
  }
@@ -3,8 +3,8 @@ import { RSocketConnector } from 'rsocket-core';
3
3
  import PACKAGE from '../../../../package.json' with { type: 'json' };
4
4
  import { AbortOperation } from '../../../utils/AbortOperation.js';
5
5
  import { WebsocketClientTransport } from './WebsocketClientTransport.js';
6
- import { doneResult, extractBsonObjects, extractJsonLines } from '../../../utils/stream_transform.js';
7
- import { EventIterator } from 'event-iterator';
6
+ import { doneResult, extractBsonObjects, extractJsonLines, valueResult } from '../../../utils/stream_transform.js';
7
+ import { EventQueue } from '../../../utils/async.js';
8
8
  const POWERSYNC_TRAILING_SLASH_MATCH = /\/+$/;
9
9
  const POWERSYNC_JS_VERSION = PACKAGE.version;
10
10
  const SYNC_QUEUE_REQUEST_HIGH_WATER = 10;
@@ -17,7 +17,13 @@ const SOCKET_TIMEOUT_MS = 30_000;
17
17
  // If there is a backlog of messages (for example on slow connections), keepalive messages could be delayed
18
18
  // significantly. Therefore this is longer than the socket timeout.
19
19
  const KEEP_ALIVE_LIFETIME_MS = 90_000;
20
+ /**
21
+ * @internal
22
+ */
20
23
  export const DEFAULT_REMOTE_LOGGER = Logger.get('PowerSyncRemote');
24
+ /**
25
+ * @public
26
+ */
21
27
  export var FetchStrategy;
22
28
  (function (FetchStrategy) {
23
29
  /**
@@ -36,12 +42,17 @@ export var FetchStrategy;
36
42
  * The class wrapper is used to distinguish the fetchImplementation
37
43
  * option in [AbstractRemoteOptions] from the general fetch method
38
44
  * which is typeof "function"
45
+ *
46
+ * @internal
39
47
  */
40
48
  export class FetchImplementationProvider {
41
49
  getFetch() {
42
50
  throw new Error('Unspecified fetch implementation');
43
51
  }
44
52
  }
53
+ /**
54
+ * @internal
55
+ */
45
56
  export const DEFAULT_REMOTE_OPTIONS = {
46
57
  socketUrlTransformer: (url) => url.replace(/^https?:\/\//, function (match) {
47
58
  return match === 'https://' ? 'wss://' : 'ws://';
@@ -49,6 +60,9 @@ export const DEFAULT_REMOTE_OPTIONS = {
49
60
  fetchImplementation: new FetchImplementationProvider(),
50
61
  fetchOptions: {}
51
62
  };
63
+ /**
64
+ * @internal
65
+ */
52
66
  export class AbstractRemote {
53
67
  connector;
54
68
  logger;
@@ -209,8 +223,19 @@ export class AbstractRemote {
209
223
  let pendingSocket = null;
210
224
  let keepAliveTimeout;
211
225
  let rsocket = null;
212
- let queue = null;
226
+ let paused = false;
227
+ const queue = new EventQueue({
228
+ eventDelivered: () => {
229
+ if (queue.countOutstandingEvents <= SYNC_QUEUE_REQUEST_LOW_WATER) {
230
+ paused = false;
231
+ requestMore();
232
+ }
233
+ }
234
+ });
213
235
  let didClose = false;
236
+ let connectionEstablished = false;
237
+ let pendingEventsCount = syncQueueRequestSize;
238
+ let res = null;
214
239
  const abortRequest = () => {
215
240
  if (didClose) {
216
241
  return;
@@ -223,10 +248,23 @@ export class AbstractRemote {
223
248
  if (rsocket) {
224
249
  rsocket.close();
225
250
  }
226
- if (queue) {
227
- queue.stop();
228
- }
251
+ // Send a bogus event to the queue to ensure a pending listener gets woken up. We check for didClose and would
252
+ // return a doneEvent.
253
+ queue.notify(null);
229
254
  };
255
+ function push(event) {
256
+ queue.notify(event);
257
+ if (queue.countOutstandingEvents >= SYNC_QUEUE_REQUEST_HIGH_WATER) {
258
+ paused = true;
259
+ }
260
+ }
261
+ function requestMore() {
262
+ const delta = syncQueueRequestSize - pendingEventsCount;
263
+ if (!paused && delta > 0) {
264
+ res?.request(delta);
265
+ pendingEventsCount = syncQueueRequestSize;
266
+ }
267
+ }
230
268
  // Handle upstream abort
231
269
  if (options.abortSignal.aborted) {
232
270
  throw new AbortOperation('Connection request aborted');
@@ -281,25 +319,19 @@ export class AbstractRemote {
281
319
  // Helps to prevent double close scenarios
282
320
  rsocket.onClose(() => (rsocket = null));
283
321
  return await new Promise((resolve, reject) => {
284
- let connectionEstablished = false;
285
- let pendingEventsCount = syncQueueRequestSize;
286
- let paused = false;
287
- let res = null;
288
- function requestMore() {
289
- const delta = syncQueueRequestSize - pendingEventsCount;
290
- if (!paused && delta > 0) {
291
- res?.request(delta);
292
- pendingEventsCount = syncQueueRequestSize;
322
+ const queueAsIterator = {
323
+ next: async () => {
324
+ if (didClose)
325
+ return doneResult;
326
+ const notification = await queue.waitForEvent(options.abortSignal);
327
+ if (didClose) {
328
+ return doneResult;
329
+ }
330
+ else {
331
+ return valueResult(notification);
332
+ }
293
333
  }
294
- }
295
- const events = new EventIterator((q) => {
296
- queue = q;
297
- q.on('highWater', () => (paused = true));
298
- q.on('lowWater', () => {
299
- paused = false;
300
- requestMore();
301
- });
302
- }, { highWaterMark: SYNC_QUEUE_REQUEST_HIGH_WATER, lowWaterMark: SYNC_QUEUE_REQUEST_LOW_WATER })[Symbol.asyncIterator]();
334
+ };
303
335
  res = rsocket.requestStream({
304
336
  data: toBuffer(options.data),
305
337
  metadata: toBuffer({
@@ -335,11 +367,11 @@ export class AbstractRemote {
335
367
  // The connection is active
336
368
  if (!connectionEstablished) {
337
369
  connectionEstablished = true;
338
- resolve(events);
370
+ resolve(queueAsIterator);
339
371
  }
340
372
  const { data } = payload;
341
373
  if (data) {
342
- queue.push(data);
374
+ push(data);
343
375
  }
344
376
  // Less events are now pending
345
377
  pendingEventsCount--;
@@ -458,7 +490,7 @@ export class AbstractRemote {
458
490
  * Posts a `/sync/stream` request.
459
491
  *
460
492
  * Depending on the `Content-Type` of the response, this returns strings for sync lines or encoded BSON documents as
461
- * {@link Uint8Array}s.
493
+ * `Uint8Array`s.
462
494
  */
463
495
  async fetchStream(options) {
464
496
  const { isBson, stream } = await this.fetchStreamRaw(options);