@powersync/common 1.57.1 → 2.0.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 (219) hide show
  1. package/lib/attachments/AttachmentContext.d.ts +5 -5
  2. package/lib/attachments/AttachmentContext.js +6 -2
  3. package/lib/attachments/AttachmentContext.js.map +1 -1
  4. package/lib/attachments/AttachmentQueue.d.ts +6 -6
  5. package/lib/attachments/AttachmentQueue.js +9 -8
  6. package/lib/attachments/AttachmentQueue.js.map +1 -1
  7. package/lib/attachments/AttachmentService.d.ts +3 -3
  8. package/lib/attachments/AttachmentService.js +4 -3
  9. package/lib/attachments/AttachmentService.js.map +1 -1
  10. package/lib/attachments/Schema.d.ts +2 -2
  11. package/lib/attachments/SyncingService.d.ts +2 -2
  12. package/lib/attachments/SyncingService.js +21 -6
  13. package/lib/attachments/SyncingService.js.map +1 -1
  14. package/lib/client/{AbstractPowerSyncDatabase.d.ts → CommonPowerSyncDatabase.d.ts} +56 -232
  15. package/lib/client/CommonPowerSyncDatabase.js +2 -0
  16. package/lib/client/CommonPowerSyncDatabase.js.map +1 -0
  17. package/lib/client/SQLOpenFactory.d.ts +35 -13
  18. package/lib/client/SQLOpenFactory.js +1 -25
  19. package/lib/client/SQLOpenFactory.js.map +1 -1
  20. package/lib/client/compilableQueryWatch.d.ts +2 -2
  21. package/lib/client/compilableQueryWatch.js +1 -2
  22. package/lib/client/compilableQueryWatch.js.map +1 -1
  23. package/lib/client/connection/PowerSyncBackendConnector.d.ts +3 -3
  24. package/lib/client/runOnSchemaChange.d.ts +2 -2
  25. package/lib/client/runOnSchemaChange.js.map +1 -1
  26. package/lib/client/sync/bucket/CrudEntry.d.ts +3 -34
  27. package/lib/client/sync/bucket/CrudEntry.js +0 -99
  28. package/lib/client/sync/bucket/CrudEntry.js.map +1 -1
  29. package/lib/client/sync/options.d.ts +65 -0
  30. package/lib/client/sync/options.js +25 -0
  31. package/lib/client/sync/options.js.map +1 -0
  32. package/lib/client/sync/sync-streams.d.ts +1 -1
  33. package/lib/client/triggers/TriggerManager.d.ts +9 -38
  34. package/lib/client/watched/GetAllQuery.d.ts +3 -3
  35. package/lib/client/watched/GetAllQuery.js +1 -1
  36. package/lib/client/watched/GetAllQuery.js.map +1 -1
  37. package/lib/client/watched/WatchedQuery.d.ts +2 -10
  38. package/lib/client/watched/WatchedQuery.js +0 -11
  39. package/lib/client/watched/WatchedQuery.js.map +1 -1
  40. package/lib/client/watched/processors/DifferentialQueryProcessor.d.ts +0 -50
  41. package/lib/client/watched/processors/DifferentialQueryProcessor.js +1 -176
  42. package/lib/client/watched/processors/DifferentialQueryProcessor.js.map +1 -1
  43. package/lib/client/watched/processors/OnChangeQueryProcessor.d.ts +0 -22
  44. package/lib/client/watched/processors/OnChangeQueryProcessor.js +1 -82
  45. package/lib/client/watched/processors/OnChangeQueryProcessor.js.map +1 -1
  46. package/lib/db/DBAdapter.d.ts +72 -154
  47. package/lib/db/DBAdapter.js +70 -108
  48. package/lib/db/DBAdapter.js.map +1 -1
  49. package/lib/db/QueryResult.d.ts +104 -0
  50. package/lib/db/QueryResult.js +96 -0
  51. package/lib/db/QueryResult.js.map +1 -0
  52. package/lib/db/crud/SyncProgress.d.ts +1 -13
  53. package/lib/db/crud/SyncProgress.js +1 -62
  54. package/lib/db/crud/SyncProgress.js.map +1 -1
  55. package/lib/db/crud/SyncStatus.d.ts +32 -66
  56. package/lib/db/crud/SyncStatus.js +1 -253
  57. package/lib/db/crud/SyncStatus.js.map +1 -1
  58. package/lib/db/schema/Column.d.ts +0 -7
  59. package/lib/db/schema/Column.js +0 -7
  60. package/lib/db/schema/Column.js.map +1 -1
  61. package/lib/db/schema/Index.d.ts +2 -6
  62. package/lib/db/schema/Index.js +1 -4
  63. package/lib/db/schema/Index.js.map +1 -1
  64. package/lib/db/schema/IndexedColumn.d.ts +2 -6
  65. package/lib/db/schema/IndexedColumn.js +1 -4
  66. package/lib/db/schema/IndexedColumn.js.map +1 -1
  67. package/lib/db/schema/Schema.d.ts +4 -28
  68. package/lib/db/schema/Schema.js.map +1 -1
  69. package/lib/db/schema/Table.d.ts +50 -96
  70. package/lib/db/schema/Table.js +83 -91
  71. package/lib/db/schema/Table.js.map +1 -1
  72. package/lib/index.d.ts +5 -21
  73. package/lib/index.js +5 -22
  74. package/lib/index.js.map +1 -1
  75. package/lib/utils/BaseObserver.d.ts +1 -1
  76. package/lib/utils/BaseObserver.js +1 -1
  77. package/lib/utils/Logger.d.ts +52 -23
  78. package/lib/utils/Logger.js +35 -33
  79. package/lib/utils/Logger.js.map +1 -1
  80. package/lib/utils/MetaBaseObserver.d.ts +11 -11
  81. package/lib/utils/MetaBaseObserver.js +1 -50
  82. package/lib/utils/MetaBaseObserver.js.map +1 -1
  83. package/lib/utils/mutex.d.ts +3 -53
  84. package/lib/utils/mutex.js +1 -156
  85. package/lib/utils/mutex.js.map +1 -1
  86. package/package.json +8 -45
  87. package/src/attachments/AttachmentContext.ts +11 -10
  88. package/src/attachments/AttachmentQueue.ts +15 -14
  89. package/src/attachments/AttachmentService.ts +7 -6
  90. package/src/attachments/Schema.ts +2 -2
  91. package/src/attachments/SyncingService.ts +23 -9
  92. package/src/client/CommonPowerSyncDatabase.ts +540 -0
  93. package/src/client/SQLOpenFactory.ts +38 -22
  94. package/src/client/compilableQueryWatch.ts +3 -4
  95. package/src/client/connection/PowerSyncBackendConnector.ts +3 -3
  96. package/src/client/runOnSchemaChange.ts +2 -2
  97. package/src/client/sync/bucket/CrudEntry.ts +4 -104
  98. package/src/client/sync/options.ts +77 -0
  99. package/src/client/sync/sync-streams.ts +1 -1
  100. package/src/client/triggers/TriggerManager.ts +10 -41
  101. package/src/client/watched/GetAllQuery.ts +3 -3
  102. package/src/client/watched/WatchedQuery.ts +2 -15
  103. package/src/client/watched/processors/DifferentialQueryProcessor.ts +0 -223
  104. package/src/client/watched/processors/OnChangeQueryProcessor.ts +0 -111
  105. package/src/db/DBAdapter.ts +141 -226
  106. package/src/db/QueryResult.ts +195 -0
  107. package/src/db/crud/SyncProgress.ts +2 -42
  108. package/src/db/crud/SyncStatus.ts +45 -220
  109. package/src/db/schema/Column.ts +0 -8
  110. package/src/db/schema/Index.ts +3 -6
  111. package/src/db/schema/IndexedColumn.ts +3 -6
  112. package/src/db/schema/Schema.ts +4 -4
  113. package/src/db/schema/Table.ts +111 -186
  114. package/src/index.ts +5 -21
  115. package/src/utils/BaseObserver.ts +1 -1
  116. package/src/utils/Logger.ts +80 -34
  117. package/src/utils/MetaBaseObserver.ts +14 -60
  118. package/src/utils/mutex.ts +4 -201
  119. package/dist/bundle.cjs +0 -14390
  120. package/dist/bundle.cjs.map +0 -1
  121. package/dist/bundle.mjs +0 -14309
  122. package/dist/bundle.mjs.map +0 -1
  123. package/dist/bundle.node.cjs +0 -12021
  124. package/dist/bundle.node.cjs.map +0 -1
  125. package/dist/bundle.node.mjs +0 -11940
  126. package/dist/bundle.node.mjs.map +0 -1
  127. package/dist/index.d.cts +0 -4651
  128. package/legacy/sync_protocol.d.ts +0 -103
  129. package/lib/client/AbstractPowerSyncDatabase.js +0 -990
  130. package/lib/client/AbstractPowerSyncDatabase.js.map +0 -1
  131. package/lib/client/AbstractPowerSyncOpenFactory.d.ts +0 -28
  132. package/lib/client/AbstractPowerSyncOpenFactory.js +0 -28
  133. package/lib/client/AbstractPowerSyncOpenFactory.js.map +0 -1
  134. package/lib/client/ConnectionManager.d.ts +0 -115
  135. package/lib/client/ConnectionManager.js +0 -294
  136. package/lib/client/ConnectionManager.js.map +0 -1
  137. package/lib/client/CustomQuery.d.ts +0 -22
  138. package/lib/client/CustomQuery.js +0 -43
  139. package/lib/client/CustomQuery.js.map +0 -1
  140. package/lib/client/constants.d.ts +0 -4
  141. package/lib/client/constants.js +0 -5
  142. package/lib/client/constants.js.map +0 -1
  143. package/lib/client/sync/bucket/BucketStorageAdapter.d.ts +0 -56
  144. package/lib/client/sync/bucket/BucketStorageAdapter.js +0 -29
  145. package/lib/client/sync/bucket/BucketStorageAdapter.js.map +0 -1
  146. package/lib/client/sync/bucket/SqliteBucketStorage.d.ts +0 -37
  147. package/lib/client/sync/bucket/SqliteBucketStorage.js +0 -165
  148. package/lib/client/sync/bucket/SqliteBucketStorage.js.map +0 -1
  149. package/lib/client/sync/stream/AbstractRemote.d.ts +0 -180
  150. package/lib/client/sync/stream/AbstractRemote.js +0 -505
  151. package/lib/client/sync/stream/AbstractRemote.js.map +0 -1
  152. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.d.ts +0 -265
  153. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js +0 -705
  154. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js.map +0 -1
  155. package/lib/client/sync/stream/WebsocketClientTransport.d.ts +0 -15
  156. package/lib/client/sync/stream/WebsocketClientTransport.js +0 -62
  157. package/lib/client/sync/stream/WebsocketClientTransport.js.map +0 -1
  158. package/lib/client/sync/stream/core-instruction.d.ts +0 -77
  159. package/lib/client/sync/stream/core-instruction.js +0 -30
  160. package/lib/client/sync/stream/core-instruction.js.map +0 -1
  161. package/lib/client/triggers/MemoryTriggerClaimManager.d.ts +0 -6
  162. package/lib/client/triggers/MemoryTriggerClaimManager.js +0 -21
  163. package/lib/client/triggers/MemoryTriggerClaimManager.js.map +0 -1
  164. package/lib/client/triggers/TriggerManagerImpl.d.ts +0 -39
  165. package/lib/client/triggers/TriggerManagerImpl.js +0 -410
  166. package/lib/client/triggers/TriggerManagerImpl.js.map +0 -1
  167. package/lib/client/watched/processors/AbstractQueryProcessor.d.ts +0 -68
  168. package/lib/client/watched/processors/AbstractQueryProcessor.js +0 -151
  169. package/lib/client/watched/processors/AbstractQueryProcessor.js.map +0 -1
  170. package/lib/db/ConnectionClosedError.d.ts +0 -12
  171. package/lib/db/ConnectionClosedError.js +0 -23
  172. package/lib/db/ConnectionClosedError.js.map +0 -1
  173. package/lib/db/schema/TableV2.d.ts +0 -11
  174. package/lib/db/schema/TableV2.js +0 -11
  175. package/lib/db/schema/TableV2.js.map +0 -1
  176. package/lib/utils/AbortOperation.d.ts +0 -11
  177. package/lib/utils/AbortOperation.js +0 -21
  178. package/lib/utils/AbortOperation.js.map +0 -1
  179. package/lib/utils/ControlledExecutor.d.ts +0 -31
  180. package/lib/utils/ControlledExecutor.js +0 -54
  181. package/lib/utils/ControlledExecutor.js.map +0 -1
  182. package/lib/utils/async.d.ts +0 -46
  183. package/lib/utils/async.js +0 -147
  184. package/lib/utils/async.js.map +0 -1
  185. package/lib/utils/compatibility.d.ts +0 -8
  186. package/lib/utils/compatibility.js +0 -9
  187. package/lib/utils/compatibility.js.map +0 -1
  188. package/lib/utils/parseQuery.d.ts +0 -12
  189. package/lib/utils/parseQuery.js +0 -20
  190. package/lib/utils/parseQuery.js.map +0 -1
  191. package/lib/utils/queue.d.ts +0 -16
  192. package/lib/utils/queue.js +0 -42
  193. package/lib/utils/queue.js.map +0 -1
  194. package/lib/utils/stream_transform.d.ts +0 -41
  195. package/lib/utils/stream_transform.js +0 -211
  196. package/lib/utils/stream_transform.js.map +0 -1
  197. package/src/client/AbstractPowerSyncDatabase.ts +0 -1408
  198. package/src/client/AbstractPowerSyncOpenFactory.ts +0 -45
  199. package/src/client/ConnectionManager.ts +0 -405
  200. package/src/client/CustomQuery.ts +0 -56
  201. package/src/client/constants.ts +0 -4
  202. package/src/client/sync/bucket/BucketStorageAdapter.ts +0 -65
  203. package/src/client/sync/bucket/SqliteBucketStorage.ts +0 -202
  204. package/src/client/sync/stream/AbstractRemote.ts +0 -644
  205. package/src/client/sync/stream/AbstractStreamingSyncImplementation.ts +0 -970
  206. package/src/client/sync/stream/WebsocketClientTransport.ts +0 -82
  207. package/src/client/sync/stream/core-instruction.ts +0 -109
  208. package/src/client/triggers/MemoryTriggerClaimManager.ts +0 -25
  209. package/src/client/triggers/TriggerManagerImpl.ts +0 -501
  210. package/src/client/watched/processors/AbstractQueryProcessor.ts +0 -226
  211. package/src/db/ConnectionClosedError.ts +0 -25
  212. package/src/db/schema/TableV2.ts +0 -11
  213. package/src/utils/AbortOperation.ts +0 -19
  214. package/src/utils/ControlledExecutor.ts +0 -78
  215. package/src/utils/async.ts +0 -185
  216. package/src/utils/compatibility.ts +0 -9
  217. package/src/utils/parseQuery.ts +0 -31
  218. package/src/utils/queue.ts +0 -48
  219. package/src/utils/stream_transform.ts +0 -260
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractPowerSyncDatabase.js","sourceRoot":"","sources":["../../src/client/AbstractPowerSyncDatabase.ts"],"names":[],"mappings":"AAAA,OAAO,MAAmB,MAAM,WAAW,CAAC;AAC5C,OAAO,EAOL,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACL,iBAAiB,EAGlB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAkC,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEtH,OAAO,EAAwB,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAiB,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EACL,+BAA+B,EAC/B,sBAAsB,EAOvB,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAkB,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAEvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAwB,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAExF,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAyIhE,MAAM,qBAAqB,GAAG,+BAA+B,CAAC;AAE9D,MAAM,gCAAgC,GAA8B;IAClE,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAA0B;IACpE,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,YAAY,EAAE,IAAI;IAClB,oBAAoB,EAAE,+BAA+B;CACtD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC,CAAC,SAAS;AAEzD;;;GAGG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,IAAS,EAAgD,EAAE;IAChH,OAAO,OAAO,IAAI,IAAI,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,OAAgB,yBAA0B,SAAQ,YAAiC;IA4DjE;IA3DtB;;OAEG;IACH,MAAM,CAAU;IAChB,KAAK,CAAU;IAEf;;OAEG;IACH,aAAa,CAAa;IAE1B,UAAU,CAAS;IAET,oBAAoB,CAAuB;IAC3C,eAAe,CAAgB;IAC/B,iBAAiB,CAAoB;IACvC,aAAa,CAA8B;IAEnD,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;IAClD,CAAC;IAES,OAAO,CAAS;IAElB,SAAS,CAAY;IAEnB,iBAAiB,CAAQ;IAEnC;;;OAGG;IACM,QAAQ,CAAiB;IACxB,YAAY,CAAqB;IAE3C,MAAM,CAAU;IAMhB,YAAsB,OAAiC;QACrD,KAAK,EAAE,CAAC;QADY,YAAO,GAAP,OAAO,CAA0B;QAGrD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAErC,IAAI,OAAO,MAAM,EAAE,MAAM,IAAI,UAAU,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;QACnG,CAAC;QAED,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC5B,CAAC;aAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrC,CAAC;aAAM,IAAI,sCAAsC,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;QAExF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAChE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,4BAA4B,EAAE,GAAG,OAAO,EAAE,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG,IAAI,KAAK,EAAE,CAAC;QAErC,mBAAmB;QACnB,IAAI,CAAC,aAAa,GAAG;YACnB,mBAAmB,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC;YAC/E,wBAAwB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE;YAC/D,wBAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC1C,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE;oBACjC,OAAO,EAAE,CAAC,OAAO,CAAC,+BAA+B,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACjG,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC;YAC7C,wBAAwB,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;gBACrD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;oBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,gCAAgC,CAAC,SAAS,EAAE,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;oBACvG,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;wBACtC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE;4BACxB,IAAI,CAAC,aAAa,GAAG,IAAI,UAAU,CAAC;gCAClC,GAAG,MAAM,CAAC,MAAM,EAAE;gCAClB,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY;6BAClE,CAAC,CAAC;4BACH,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;wBACxE,CAAC;qBACF,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;oBAE1B,OAAO;wBACL,IAAI;wBACJ,SAAS;qBACV,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,kBAAkB,CAAC;YACzD,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,IAAI,CAAC,4BAA4B,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,aAAa,EAAE,SAAS,IAAI,KAAK,CAAC;IAChD,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,aAAa,EAAE,UAAU,IAAI,KAAK,CAAC;IACjD,CAAC;IAOD;;;OAGG;IACO,4BAA4B;QACpC,OAAO;YACL,YAAY,EAAE,4BAA4B;SAC3C,CAAC;IACJ,CAAC;IASD;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAmE;QACxF,MAAM,MAAM,GAAG,OAAO,YAAY,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;QAC1E,MAAM,QAAQ,GAAG,OAAO,IAAI,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAEjF,MAAM,aAAa,GACjB,QAAQ,KAAK,SAAS;YACpB,CAAC,CAAC,CAAC,MAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS;YAC1C,CAAC,CAAC,CAAC,MAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;QAE3E,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,SAAsC,EAAE,MAAoB;QAC9E,IAAI,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBACpC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE;oBACxB,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;wBACtB,KAAK,EAAE,CAAC;oBACV,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,SAAS,KAAK;gBACZ,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAQD;;;OAGG;IACO,KAAK,CAAC,UAAU;QACxB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACtC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAC9D,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAES,KAAK,CAAC,WAAW;QACzB,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAsB,0CAA0C,CAAC,CAAC;YAC7G,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC5B,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,WAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,WAAW,GAAG,IAAI,CAAC,UAAW,CAAC,KAAK,CAAC,OAAO,CAAC;iBAC1C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;iBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,uEAAuE,IAAI,CAAC,UAAU,cAAc,CAAC,CAAC,OAAO,EAAE,CAChH,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;YAC9F,MAAM,IAAI,KAAK,CAAC,uEAAuE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IAES,KAAK,CAAC,wBAAwB;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAgB,6CAA6C,CAAC,CAAC;QACrG,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAmB,CAAC;QAEtD,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC;YACnC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAC9B,GAAG,cAAc,CAAC,MAAM,CAAC;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACnC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED;;;;WAIG;QACH,IAAI,CAAC;YACH,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4DAA4D,EAAE,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,CAC1C,EAAE,CAAC,OAAO,CAAC,oCAAoC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CACzF,CAAC;QACF,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,uIAAuI;IAC7H,yBAAyB,CACjC,OAAwC;QAExC,OAAO;YACL,GAAG,OAAO;YACV,YAAY,EACV,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,sBAAsB;YACzG,oBAAoB,EAClB,OAAO,EAAE,oBAAoB,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,+BAA+B;SACxG,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAED;;;OAGG;IACO,YAAY,CAAI,QAA0B;QAClD,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,SAAoC,EAAE,OAAoC;QACtF,MAAM,eAAe,GAA8B,OAAO,IAAI,EAAE,CAAC;QACjE,eAAe,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAExD,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAO,GAAG,gCAAgC;QACjE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAE/B,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAChD,MAAM,EAAE,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,oDAAoD;QACpD,IAAI,CAAC,aAAa,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,IAAY,EAAE,MAA4B;QACnD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CAAC,UAAiC,+BAA+B;QAC1E,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAE5B,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAE/D,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAC/B,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,WAAqB;QAC7C,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACvC,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAC7B,uEAAuE,eAAe,CAAC,IAAI,EAAE,CAC9F,CAAC;gBAEF,MAAM,GAAG,GAAG,MAAM,CAAC,IAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjC,OAAO,IAAI,gBAAgB,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,iCAAiC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzF,MAAM,GAAG,GAAG,MAAM,CAAC,IAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjC,OAAO,IAAI,gBAAgB,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,YAAY,CAAC,QAAgB,wBAAwB;QACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAC9B,+BAA+B,eAAe,CAAC,IAAI,0BAA0B,EAC7E,CAAC,KAAK,GAAG,CAAC,CAAC,CACZ,CAAC;QAEF,MAAM,GAAG,GAAgB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAE3E,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,GAAG,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;YACvB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,OAAO,IAAI,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAwB,EAAE,EAAE,CACrE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAC1D,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,sBAAsB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACnE,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;IACvC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,mBAAmB;QACjB,OAAO;YACL,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE;gBAC1B,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;gBACxB,MAAM,GAAG,GAAG;;;;;;;;;KASf,CAAC;gBAEE,OAAO;oBACL,IAAI,EAAE,KAAK,IAAI,EAAE;wBACf,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAgB,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;wBACzF,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;4BAChC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;wBACrC,CAAC;wBAED,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;wBACnE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBACrC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;wBAChC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;wBAE/B,OAAO;4BACL,IAAI,EAAE,KAAK;4BACX,KAAK,EAAE,IAAI,eAAe,CACxB,KAAK,EACL,KAAK,EAAE,eAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,EAC7F,IAAI,CACL;yBACF,CAAC;oBACJ,CAAC;iBACF,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,YAAoB,EAAE,eAAwB;QAC/E,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACxC,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,eAAe,CAAC,IAAI,gBAAgB,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;YACtF,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,eAAe,CAAC,IAAI,UAAU,CAAC,CAAC;gBAChF,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;oBACxB,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,eAAe,CAAC,OAAO,yDAAyD,EAAE;wBAC3G,eAAe;qBAChB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,eAAe,CAAC,OAAO,yDAAyD,EAAE;oBAC3G,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE;iBACvC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,UAAkB;QAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,UAAU,CAAC,GAAW,EAAE,UAAkB;QAC9C,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,UAAoB;QAClD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAI,GAAW,EAAE,UAAkB;QAC7C,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAI,GAAW,EAAE,UAAkB;QAClD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,UAAkB;QAC1C,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAI,QAAyC;QACzD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAI,QAAyC;QAC1D,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,eAAe,CACnB,QAAyC,EACzC,cAAsB,uBAAuB;QAE7C,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAClC,KAAK,EAAE,EAAE,EAAE,EAAE;YACX,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC/B,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAE,SAAS,EAAE,WAAW,EAAE,CAC3B,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,gBAAgB,CACpB,QAAyC,EACzC,cAAsB,uBAAuB;QAE7C,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CACnC,KAAK,EAAE,EAAE,EAAE,EAAE;YACX,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC/B,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAE,SAAS,EAAE,WAAW,EAAE,CAC3B,CAAC;IACJ,CAAC;IAqCD,KAAK,CACH,GAAW,EACX,UAAkB,EAClB,gBAAiD,EACjD,YAA8B;QAE9B,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,UAAU,IAAI,gBAAgB,EAAE,CAAC;YAC/F,MAAM,OAAO,GAAG,gBAAgC,CAAC;YACjD,MAAM,OAAO,GAAG,YAAY,CAAC;YAE7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,OAAO,GAAG,gBAA+C,CAAC;QAChE,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAU,KAAoC;QACjD,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAC/C,MAAM,eAAe,GAAoC;YACvD,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACd,GAAG;gBACH,UAAU;aACX,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE;gBACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAsB,GAAG,EAAE,UAAU,CAAC,CAAC;gBACvE,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAoB,CAAC;YAC7D,CAAC;SACF,CAAC;QACF,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAU,KAAsC;QACzD,OAAO,IAAI,WAAW,CAAC;YACrB,EAAE,EAAE,IAAI;YACR,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,GAAW,EAAE,UAAkB,EAAE,OAAsB,EAAE,OAAyB;QAClG,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QACjF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAErC,sCAAsC;QACtC,wFAAwF;QACxF,MAAM,YAAY,GAAG,IAAI,sBAAsB,CAAC;YAC9C,EAAE,EAAE,IAAI;YACR,UAAU;YACV,eAAe,EAAE,IAA8B,EAAE,QAAQ;YACzD,YAAY,EAAE;gBACZ,KAAK,EAAE;oBACL,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;wBACd,GAAG,EAAE,GAAG;wBACR,UAAU,EAAE,UAAU,IAAI,EAAE;qBAC7B,CAAC;oBACF,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC;iBACrD;gBACD,cAAc,EAAE,KAAK;gBACrB,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,yBAAyB;gBAC5D,eAAe,EAAE,OAAO,EAAE,MAAM;aACjC;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,YAAY,CAAC,gBAAgB,CAAC;YAC5C,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACf,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,iEAAiE;oBACjE,OAAO;gBACT,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC9C,OAAO,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,uBAAuB,CAAC,GAAW,EAAE,UAAkB,EAAE,OAAyB;QAChF,OAAO,UAAU,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACzD,MAAM,OAAO,GAAiB;gBAC5B,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;oBACnB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;gBACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjB,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;aACF,CAAC;YAEF,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAClF,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACtB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,UAAkB,EAAE,OAAyB;QAC5E,MAAM,cAAc,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAA6C,WAAW,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;YAC9G,MAAM,SAAS,GAAG,SAAS;iBACxB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,UAAU,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,IAAI,QAAQ,CAAC;iBACrF,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAC9B,0GAA0G,EAC1G,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAC5B,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAgCD,QAAQ,CACN,gBAA4D,EAC5D,YAAiC;QAEjC,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,UAAU,IAAI,gBAAgB,EAAE,CAAC;YAC/F,MAAM,OAAO,GAAG,gBAAwC,CAAC;YACzD,MAAM,OAAO,GAAG,YAAY,CAAC;YAE7B,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,OAAO,GAAG,gBAA+C,CAAC;QAChE,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,OAA8B,EAAE,OAA4B;QAC/E,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QACjF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,IAAI,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,CAAC,eAAe,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK,EAAE,EAAE,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAC5G,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,IAAI,yBAAyB,CAAC;QAE3E,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,KAAK,EAAE,CAAqB,EAAE,EAAE;YACtE,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,gBAAgB,CACxC,GAAG,EAAE,CACH,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,aAAa,EAAE,CAAC,YAAY,EAAE,EAAE;YACrE,IAAI,eAAe,EAAE,MAAM,EAAE,OAAO;gBAAE,OAAO;YAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,EACJ,UAAU,CACX,CAAC;QAEF,IAAI,OAAO,EAAE,gBAAgB,EAAE,CAAC;YAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC7C,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC9B,IAAI,CAAC;oBACH,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;oBAChD,iBAAiB,EAAE,CAAC;gBACtB,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,eAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACrD,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAED;;;;;;;;OAQG;IACH,sFAAsF;IACtF,0BAA0B,CAAC,OAAyB;QAClD,OAAO,UAAU,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACzD,IAAI,CAAC,oBAAoB,CACvB;gBACE,QAAQ,EAAE,CAAC,KAAK,EAAQ,EAAE;oBACxB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;gBACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjB,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;aACF,EACD,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAC9B,CAAC;YAEF,mGAAmG;YACnG,oCAAoC;QACtC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACtB,CAAC;IAEO,kBAAkB,CACxB,aAA0B,EAC1B,aAA0B,EAC1B,iBAAoD;QAEpD,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACtG,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBACxB,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,aAAa,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAEO,mBAAmB,CACzB,kBAAkE,EAClE,aAA0B;QAE1B,MAAM,MAAM,GAAG,2BAA2B,CAAC,kBAAkB,CAAC;YAC5D,CAAC,CAAC,kBAAkB,CAAC,MAAM;YAC3B,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,GAAW,EAAE,MAAc;QACvD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC;CACF"}
@@ -1,28 +0,0 @@
1
- import { DBAdapter } from '../db/DBAdapter.js';
2
- import { Schema } from '../db/schema/Schema.js';
3
- import { AbstractPowerSyncDatabase, PowerSyncDatabaseOptions } from './AbstractPowerSyncDatabase.js';
4
- import { SQLOpenOptions } from './SQLOpenFactory.js';
5
- /**
6
- * @internal
7
- */
8
- export interface PowerSyncOpenFactoryOptions extends Partial<PowerSyncDatabaseOptions>, SQLOpenOptions {
9
- /** Schema used for the local database. */
10
- schema: Schema;
11
- }
12
- /**
13
- * @internal
14
- */
15
- export declare abstract class AbstractPowerSyncDatabaseOpenFactory {
16
- protected options: PowerSyncOpenFactoryOptions;
17
- constructor(options: PowerSyncOpenFactoryOptions);
18
- /**
19
- * Schema used for the local database.
20
- */
21
- get schema(): Schema<{
22
- [x: string]: import("../index.js").Table<any>;
23
- }>;
24
- protected abstract openDB(): DBAdapter;
25
- generateOptions(): PowerSyncDatabaseOptions;
26
- abstract generateInstance(options: PowerSyncDatabaseOptions): AbstractPowerSyncDatabase;
27
- getInstance(): AbstractPowerSyncDatabase;
28
- }
@@ -1,28 +0,0 @@
1
- import Logger from 'js-logger';
2
- /**
3
- * @internal
4
- */
5
- export class AbstractPowerSyncDatabaseOpenFactory {
6
- options;
7
- constructor(options) {
8
- this.options = options;
9
- options.logger = options.logger ?? Logger.get(`PowerSync ${this.options.dbFilename}`);
10
- }
11
- /**
12
- * Schema used for the local database.
13
- */
14
- get schema() {
15
- return this.options.schema;
16
- }
17
- generateOptions() {
18
- return {
19
- database: this.openDB(),
20
- ...this.options
21
- };
22
- }
23
- getInstance() {
24
- const options = this.generateOptions();
25
- return this.generateInstance(options);
26
- }
27
- }
28
- //# sourceMappingURL=AbstractPowerSyncOpenFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractPowerSyncOpenFactory.js","sourceRoot":"","sources":["../../src/client/AbstractPowerSyncOpenFactory.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,WAAW,CAAC;AAc/B;;GAEG;AACH,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"}
@@ -1,115 +0,0 @@
1
- import { ILogger } from 'js-logger';
2
- import { SyncStatus } from '../db/crud/SyncStatus.js';
3
- import { BaseListener, BaseObserver } from '../utils/BaseObserver.js';
4
- import { PowerSyncBackendConnector } from './connection/PowerSyncBackendConnector.js';
5
- import { AdditionalConnectionOptions, InternalConnectionOptions, StreamingSyncImplementation, SubscribedStream } from './sync/stream/AbstractStreamingSyncImplementation.js';
6
- import { SyncStream } from './sync/sync-streams.js';
7
- /**
8
- * @internal
9
- */
10
- export interface ConnectionManagerSyncImplementationResult {
11
- sync: StreamingSyncImplementation;
12
- /**
13
- * Additional cleanup function which is called after the sync stream implementation
14
- * is disposed.
15
- */
16
- onDispose: () => Promise<void> | void;
17
- }
18
- /**
19
- * The subset of {@link AbstractStreamingSyncImplementationOptions} managed by the connection manager.
20
- *
21
- * @internal
22
- */
23
- export interface CreateSyncImplementationOptions extends AdditionalConnectionOptions {
24
- subscriptions: SubscribedStream[];
25
- }
26
- /**
27
- * @internal
28
- */
29
- export interface InternalSubscriptionAdapter {
30
- firstStatusMatching(predicate: (status: SyncStatus) => any, abort?: AbortSignal): Promise<void>;
31
- resolveOfflineSyncStatus(): Promise<void>;
32
- rustSubscriptionsCommand(payload: any): Promise<void>;
33
- }
34
- /**
35
- * @internal
36
- */
37
- export interface ConnectionManagerOptions {
38
- createSyncImplementation(connector: PowerSyncBackendConnector, options: CreateSyncImplementationOptions): Promise<ConnectionManagerSyncImplementationResult>;
39
- logger: ILogger;
40
- }
41
- type StoredConnectionOptions = {
42
- connector: PowerSyncBackendConnector;
43
- options: InternalConnectionOptions;
44
- };
45
- /**
46
- * @internal
47
- */
48
- export interface ConnectionManagerListener extends BaseListener {
49
- syncStreamCreated: (sync: StreamingSyncImplementation) => void;
50
- }
51
- /**
52
- * @internal
53
- */
54
- export declare class ConnectionManager extends BaseObserver<ConnectionManagerListener> {
55
- protected options: ConnectionManagerOptions;
56
- /**
57
- * Tracks active connection attempts
58
- */
59
- protected connectingPromise: Promise<void> | null;
60
- /**
61
- * Tracks actively instantiating a streaming sync implementation.
62
- */
63
- protected syncStreamInitPromise: Promise<void> | null;
64
- /**
65
- * Active disconnect operation. Calling disconnect multiple times
66
- * will resolve to the same operation.
67
- */
68
- protected disconnectingPromise: Promise<void> | null;
69
- /**
70
- * Tracks the last parameters supplied to `connect` calls.
71
- * Calling `connect` multiple times in succession will result in:
72
- * - 1 pending connection operation which will be aborted.
73
- * - updating the last set of parameters while waiting for the pending
74
- * attempt to be aborted
75
- * - internally connecting with the last set of parameters
76
- */
77
- protected pendingConnectionOptions: StoredConnectionOptions | null;
78
- syncStreamImplementation: StreamingSyncImplementation | null;
79
- /**
80
- * Additional cleanup function which is called after the sync stream implementation
81
- * is disposed.
82
- */
83
- protected syncDisposer: (() => Promise<void> | void) | null;
84
- /**
85
- * Subscriptions managed in this connection manager.
86
- *
87
- * On the web, these local subscriptions are merged across tabs by a shared worker.
88
- */
89
- private locallyActiveSubscriptions;
90
- constructor(options: ConnectionManagerOptions);
91
- get connector(): PowerSyncBackendConnector | null;
92
- get connectionOptions(): InternalConnectionOptions | null;
93
- get logger(): ILogger;
94
- close(): Promise<void>;
95
- connect(connector: PowerSyncBackendConnector, options: InternalConnectionOptions): Promise<void>;
96
- protected connectInternal(): Promise<void>;
97
- /**
98
- * Close the sync connection.
99
- *
100
- * Use {@link ConnectionManager.connect} to connect again.
101
- */
102
- disconnect(): Promise<void>;
103
- protected disconnectInternal(): Promise<void>;
104
- protected performDisconnect(): Promise<void>;
105
- stream(adapter: InternalSubscriptionAdapter, name: string, parameters: Record<string, any> | null): SyncStream;
106
- /**
107
- * @internal exposed for testing
108
- */
109
- get activeStreams(): {
110
- name: string;
111
- params: Record<string, any> | null;
112
- }[];
113
- private subscriptionsMayHaveChanged;
114
- }
115
- export {};
@@ -1,294 +0,0 @@
1
- import { BaseObserver } from '../utils/BaseObserver.js';
2
- /**
3
- * @internal
4
- */
5
- export class ConnectionManager extends BaseObserver {
6
- options;
7
- /**
8
- * Tracks active connection attempts
9
- */
10
- connectingPromise;
11
- /**
12
- * Tracks actively instantiating a streaming sync implementation.
13
- */
14
- syncStreamInitPromise;
15
- /**
16
- * Active disconnect operation. Calling disconnect multiple times
17
- * will resolve to the same operation.
18
- */
19
- disconnectingPromise;
20
- /**
21
- * Tracks the last parameters supplied to `connect` calls.
22
- * Calling `connect` multiple times in succession will result in:
23
- * - 1 pending connection operation which will be aborted.
24
- * - updating the last set of parameters while waiting for the pending
25
- * attempt to be aborted
26
- * - internally connecting with the last set of parameters
27
- */
28
- pendingConnectionOptions;
29
- syncStreamImplementation;
30
- /**
31
- * Additional cleanup function which is called after the sync stream implementation
32
- * is disposed.
33
- */
34
- syncDisposer;
35
- /**
36
- * Subscriptions managed in this connection manager.
37
- *
38
- * On the web, these local subscriptions are merged across tabs by a shared worker.
39
- */
40
- locallyActiveSubscriptions = new Map();
41
- constructor(options) {
42
- super();
43
- this.options = options;
44
- this.connectingPromise = null;
45
- this.syncStreamInitPromise = null;
46
- this.disconnectingPromise = null;
47
- this.pendingConnectionOptions = null;
48
- this.syncStreamImplementation = null;
49
- this.syncDisposer = null;
50
- }
51
- get connector() {
52
- return this.pendingConnectionOptions?.connector ?? null;
53
- }
54
- get connectionOptions() {
55
- return this.pendingConnectionOptions?.options ?? null;
56
- }
57
- get logger() {
58
- return this.options.logger;
59
- }
60
- async close() {
61
- await this.syncStreamImplementation?.dispose();
62
- await this.syncDisposer?.();
63
- }
64
- async connect(connector, options) {
65
- // Keep track if there were pending operations before this call
66
- const hadPendingOptions = !!this.pendingConnectionOptions;
67
- // Update pending options to the latest values
68
- this.pendingConnectionOptions = {
69
- connector,
70
- options
71
- };
72
- // Disconnecting here provides aborting in progress connection attempts.
73
- // The connectInternal method will clear pending options once it starts connecting (with the options).
74
- // We only need to trigger a disconnect here if we have already reached the point of connecting.
75
- // If we do already have pending options, a disconnect has already been performed.
76
- // The connectInternal method also does a sanity disconnect to prevent straggler connections.
77
- // We should also disconnect if we have already completed a connection attempt.
78
- if (!hadPendingOptions || this.syncStreamImplementation) {
79
- await this.disconnectInternal();
80
- }
81
- // Triggers a connect which checks if pending options are available after the connect completes.
82
- // The completion can be for a successful, unsuccessful or aborted connection attempt.
83
- // If pending options are available another connection will be triggered.
84
- const checkConnection = async () => {
85
- if (this.pendingConnectionOptions) {
86
- // Pending options have been placed while connecting.
87
- // Need to reconnect.
88
- this.connectingPromise = this.connectInternal()
89
- .catch(() => { })
90
- .finally(checkConnection);
91
- return this.connectingPromise;
92
- }
93
- else {
94
- // Clear the connecting promise, done.
95
- this.connectingPromise = null;
96
- return;
97
- }
98
- };
99
- this.connectingPromise ??= this.connectInternal()
100
- .catch(() => { })
101
- .finally(checkConnection);
102
- return this.connectingPromise;
103
- }
104
- async connectInternal() {
105
- let appliedOptions = null;
106
- // This method ensures a disconnect before any connection attempt
107
- await this.disconnectInternal();
108
- /**
109
- * This portion creates a sync implementation which can be racy when disconnecting or
110
- * if multiple tabs on web are in use.
111
- * This is protected in an exclusive lock.
112
- * The promise tracks the creation which is used to synchronize disconnect attempts.
113
- */
114
- this.syncStreamInitPromise = new Promise(async (resolve, reject) => {
115
- try {
116
- if (!this.pendingConnectionOptions) {
117
- this.logger.debug('No pending connection options found, not creating sync stream implementation');
118
- // A disconnect could have cleared this.
119
- resolve();
120
- return;
121
- }
122
- if (this.disconnectingPromise) {
123
- resolve();
124
- return;
125
- }
126
- const { connector, options } = this.pendingConnectionOptions;
127
- appliedOptions = options;
128
- this.pendingConnectionOptions = null;
129
- const { sync, onDispose } = await this.options.createSyncImplementation(connector, {
130
- subscriptions: this.activeStreams,
131
- ...options
132
- });
133
- this.iterateListeners((l) => l.syncStreamCreated?.(sync));
134
- this.syncStreamImplementation = sync;
135
- this.syncDisposer = onDispose;
136
- await this.syncStreamImplementation.waitForReady();
137
- resolve();
138
- }
139
- catch (error) {
140
- reject(error);
141
- }
142
- });
143
- await this.syncStreamInitPromise;
144
- this.syncStreamInitPromise = null;
145
- if (!appliedOptions) {
146
- // A disconnect could have cleared the options which did not create a syncStreamImplementation
147
- return;
148
- }
149
- // It might be possible that a disconnect triggered between the last check
150
- // and this point. Awaiting here allows the sync stream to be cleared if disconnected.
151
- await this.disconnectingPromise;
152
- this.logger.debug('Attempting to connect to PowerSync instance');
153
- await this.syncStreamImplementation?.connect(appliedOptions);
154
- }
155
- /**
156
- * Close the sync connection.
157
- *
158
- * Use {@link ConnectionManager.connect} to connect again.
159
- */
160
- async disconnect() {
161
- // This will help abort pending connects
162
- this.pendingConnectionOptions = null;
163
- await this.disconnectInternal();
164
- }
165
- async disconnectInternal() {
166
- if (this.disconnectingPromise) {
167
- // A disconnect is already in progress
168
- return this.disconnectingPromise;
169
- }
170
- this.disconnectingPromise = this.performDisconnect();
171
- await this.disconnectingPromise;
172
- this.disconnectingPromise = null;
173
- }
174
- async performDisconnect() {
175
- // Wait if a sync stream implementation is being created before closing it
176
- // (syncStreamImplementation must be assigned before we can properly dispose it)
177
- await this.syncStreamInitPromise;
178
- // Keep reference to the sync stream implementation and disposer
179
- // The class members will be cleared before we trigger the disconnect
180
- // to prevent any further calls to the sync stream implementation.
181
- const sync = this.syncStreamImplementation;
182
- this.syncStreamImplementation = null;
183
- const disposer = this.syncDisposer;
184
- this.syncDisposer = null;
185
- await sync?.disconnect();
186
- await sync?.dispose();
187
- await disposer?.();
188
- }
189
- stream(adapter, name, parameters) {
190
- const desc = { name, parameters };
191
- const waitForFirstSync = (abort) => {
192
- return adapter.firstStatusMatching((s) => s.forStream(desc)?.subscription.hasSynced, abort);
193
- };
194
- return {
195
- ...desc,
196
- subscribe: async (options) => {
197
- // NOTE: We also run this command if a subscription already exists, because this increases the expiry date
198
- // (relevant if the app is closed before connecting again, where the last subscribe call determines the ttl).
199
- await adapter.rustSubscriptionsCommand({
200
- subscribe: {
201
- stream: {
202
- name,
203
- params: parameters
204
- },
205
- ttl: options?.ttl,
206
- priority: options?.priority
207
- }
208
- });
209
- if (!this.syncStreamImplementation) {
210
- // We're not connected. So, update the offline sync status to reflect the new subscription.
211
- // (With an active iteration, the sync client would include it in its state).
212
- await adapter.resolveOfflineSyncStatus();
213
- }
214
- const key = `${name}|${JSON.stringify(parameters)}`;
215
- let subscription = this.locallyActiveSubscriptions.get(key);
216
- if (subscription == null) {
217
- const clearSubscription = () => {
218
- this.locallyActiveSubscriptions.delete(key);
219
- this.subscriptionsMayHaveChanged();
220
- };
221
- subscription = new ActiveSubscription(name, parameters, this.logger, waitForFirstSync, clearSubscription);
222
- this.locallyActiveSubscriptions.set(key, subscription);
223
- this.subscriptionsMayHaveChanged();
224
- }
225
- return new SyncStreamSubscriptionHandle(subscription);
226
- },
227
- unsubscribeAll: async () => {
228
- await adapter.rustSubscriptionsCommand({ unsubscribe: { name, params: parameters } });
229
- this.subscriptionsMayHaveChanged();
230
- }
231
- };
232
- }
233
- /**
234
- * @internal exposed for testing
235
- */
236
- get activeStreams() {
237
- return [...this.locallyActiveSubscriptions.values()].map((a) => ({ name: a.name, params: a.parameters }));
238
- }
239
- subscriptionsMayHaveChanged() {
240
- this.syncStreamImplementation?.updateSubscriptions(this.activeStreams);
241
- }
242
- }
243
- class ActiveSubscription {
244
- name;
245
- parameters;
246
- logger;
247
- waitForFirstSync;
248
- clearSubscription;
249
- refcount = 0;
250
- constructor(name, parameters, logger, waitForFirstSync, clearSubscription) {
251
- this.name = name;
252
- this.parameters = parameters;
253
- this.logger = logger;
254
- this.waitForFirstSync = waitForFirstSync;
255
- this.clearSubscription = clearSubscription;
256
- }
257
- decrementRefCount() {
258
- this.refcount--;
259
- if (this.refcount == 0) {
260
- this.clearSubscription();
261
- }
262
- }
263
- }
264
- class SyncStreamSubscriptionHandle {
265
- subscription;
266
- active = true;
267
- constructor(subscription) {
268
- this.subscription = subscription;
269
- subscription.refcount++;
270
- _finalizer?.register(this, subscription, this);
271
- }
272
- get name() {
273
- return this.subscription.name;
274
- }
275
- get parameters() {
276
- return this.subscription.parameters;
277
- }
278
- waitForFirstSync(abort) {
279
- return this.subscription.waitForFirstSync(abort);
280
- }
281
- unsubscribe() {
282
- if (this.active) {
283
- this.active = false;
284
- _finalizer?.unregister(this);
285
- this.subscription.decrementRefCount();
286
- }
287
- }
288
- }
289
- const _finalizer = 'FinalizationRegistry' in globalThis
290
- ? new FinalizationRegistry((sub) => {
291
- sub.logger.warn(`A subscription to ${sub.name} with params ${JSON.stringify(sub.parameters)} leaked! Please ensure calling unsubscribe() when you don't need a subscription anymore. For global subscriptions, consider storing them in global fields to avoid this warning.`);
292
- })
293
- : null;
294
- //# sourceMappingURL=ConnectionManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConnectionManager.js","sourceRoot":"","sources":["../../src/client/ConnectionManager.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import { AbstractPowerSyncDatabase } from './AbstractPowerSyncDatabase.js';
2
- import { Query, StandardWatchedQueryOptions } from './Query.js';
3
- import { DifferentialQueryProcessor, DifferentialWatchedQueryOptions } from './watched/processors/DifferentialQueryProcessor.js';
4
- import { OnChangeQueryProcessor } from './watched/processors/OnChangeQueryProcessor.js';
5
- import { WatchCompatibleQuery, WatchedQueryOptions } from './watched/WatchedQuery.js';
6
- /**
7
- * @internal
8
- */
9
- export interface CustomQueryOptions<RowType> {
10
- db: AbstractPowerSyncDatabase;
11
- query: WatchCompatibleQuery<RowType[]>;
12
- }
13
- /**
14
- * @internal
15
- */
16
- export declare class CustomQuery<RowType> implements Query<RowType> {
17
- protected options: CustomQueryOptions<RowType>;
18
- constructor(options: CustomQueryOptions<RowType>);
19
- protected resolveOptions(options: WatchedQueryOptions): WatchedQueryOptions;
20
- watch(watchOptions: StandardWatchedQueryOptions<RowType>): OnChangeQueryProcessor<RowType[]>;
21
- differentialWatch(differentialWatchOptions: DifferentialWatchedQueryOptions<RowType>): DifferentialQueryProcessor<RowType>;
22
- }
@@ -1,43 +0,0 @@
1
- import { FalsyComparator } from './watched/processors/comparators.js';
2
- import { DifferentialQueryProcessor } from './watched/processors/DifferentialQueryProcessor.js';
3
- import { OnChangeQueryProcessor } from './watched/processors/OnChangeQueryProcessor.js';
4
- import { DEFAULT_WATCH_QUERY_OPTIONS } from './watched/WatchedQuery.js';
5
- /**
6
- * @internal
7
- */
8
- export class CustomQuery {
9
- options;
10
- constructor(options) {
11
- this.options = options;
12
- }
13
- resolveOptions(options) {
14
- return {
15
- reportFetching: options?.reportFetching ?? DEFAULT_WATCH_QUERY_OPTIONS.reportFetching,
16
- throttleMs: options?.throttleMs ?? DEFAULT_WATCH_QUERY_OPTIONS.throttleMs,
17
- triggerOnTables: options?.triggerOnTables
18
- };
19
- }
20
- watch(watchOptions) {
21
- return new OnChangeQueryProcessor({
22
- db: this.options.db,
23
- comparator: watchOptions?.comparator ?? FalsyComparator,
24
- placeholderData: watchOptions?.placeholderData ?? [],
25
- watchOptions: {
26
- ...this.resolveOptions(watchOptions),
27
- query: this.options.query
28
- }
29
- });
30
- }
31
- differentialWatch(differentialWatchOptions) {
32
- return new DifferentialQueryProcessor({
33
- db: this.options.db,
34
- rowComparator: differentialWatchOptions?.rowComparator,
35
- placeholderData: differentialWatchOptions?.placeholderData ?? [],
36
- watchOptions: {
37
- ...this.resolveOptions(differentialWatchOptions),
38
- query: this.options.query
39
- }
40
- });
41
- }
42
- }
43
- //# sourceMappingURL=CustomQuery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CustomQuery.js","sourceRoot":"","sources":["../../src/client/CustomQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EACL,0BAA0B,EAE3B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAA6C,MAAM,2BAA2B,CAAC;AAUnH;;GAEG;AACH,MAAM,OAAO,WAAW;IACA;IAAtB,YAAsB,OAAoC;QAApC,YAAO,GAAP,OAAO,CAA6B;IAAG,CAAC;IAEpD,cAAc,CAAC,OAA4B;QACnD,OAAO;YACL,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,2BAA2B,CAAC,cAAc;YACrF,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,2BAA2B,CAAC,UAAU;YACzE,eAAe,EAAE,OAAO,EAAE,eAAe;SAC1C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAkD;QACtD,OAAO,IAAI,sBAAsB,CAAY;YAC3C,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YACnB,UAAU,EAAE,YAAY,EAAE,UAAU,IAAI,eAAe;YACvD,eAAe,EAAE,YAAY,EAAE,eAAe,IAAI,EAAE;YACpD,YAAY,EAAE;gBACZ,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;gBACpC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;aAC1B;SACF,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,wBAAkE;QAClF,OAAO,IAAI,0BAA0B,CAAU;YAC7C,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YACnB,aAAa,EAAE,wBAAwB,EAAE,aAAa;YACtD,eAAe,EAAE,wBAAwB,EAAE,eAAe,IAAI,EAAE;YAChE,YAAY,EAAE;gBACZ,GAAG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC;gBAChD,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;aAC1B;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,4 +0,0 @@
1
- /**
2
- * @internal
3
- */
4
- export declare const MAX_OP_ID = "9223372036854775807";
@@ -1,5 +0,0 @@
1
- /**
2
- * @internal
3
- */
4
- export const MAX_OP_ID = '9223372036854775807';
5
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/client/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,qBAAqB,CAAC"}