@powersync/common 0.0.0-dev-20260202162549 → 0.0.0-dev-20260202163643

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 (214) hide show
  1. package/dist/bundle.cjs +14470 -0
  2. package/dist/bundle.cjs.map +1 -0
  3. package/dist/bundle.mjs +14379 -0
  4. package/dist/bundle.mjs.map +1 -0
  5. package/dist/bundle.node.cjs +11948 -0
  6. package/dist/bundle.node.cjs.map +1 -0
  7. package/dist/bundle.node.mjs +11857 -0
  8. package/dist/bundle.node.mjs.map +1 -0
  9. package/dist/index.d.cts +4272 -0
  10. package/lib/attachments/AttachmentContext.d.ts +86 -0
  11. package/lib/attachments/AttachmentContext.js +229 -0
  12. package/lib/attachments/AttachmentContext.js.map +1 -0
  13. package/lib/attachments/AttachmentErrorHandler.d.ts +31 -0
  14. package/lib/attachments/AttachmentErrorHandler.js +2 -0
  15. package/lib/attachments/AttachmentErrorHandler.js.map +1 -0
  16. package/lib/attachments/AttachmentQueue.d.ts +149 -0
  17. package/lib/attachments/AttachmentQueue.js +362 -0
  18. package/lib/attachments/AttachmentQueue.js.map +1 -0
  19. package/lib/attachments/AttachmentService.d.ts +29 -0
  20. package/lib/attachments/AttachmentService.js +56 -0
  21. package/lib/attachments/AttachmentService.js.map +1 -0
  22. package/lib/attachments/LocalStorageAdapter.d.ts +62 -0
  23. package/lib/attachments/LocalStorageAdapter.js +6 -0
  24. package/lib/attachments/LocalStorageAdapter.js.map +1 -0
  25. package/lib/attachments/RemoteStorageAdapter.d.ts +27 -0
  26. package/lib/attachments/RemoteStorageAdapter.js +2 -0
  27. package/lib/attachments/RemoteStorageAdapter.js.map +1 -0
  28. package/lib/attachments/Schema.d.ts +50 -0
  29. package/lib/attachments/Schema.js +62 -0
  30. package/lib/attachments/Schema.js.map +1 -0
  31. package/lib/attachments/SyncingService.d.ts +62 -0
  32. package/lib/attachments/SyncingService.js +168 -0
  33. package/lib/attachments/SyncingService.js.map +1 -0
  34. package/lib/attachments/WatchedAttachmentItem.d.ts +17 -0
  35. package/lib/attachments/WatchedAttachmentItem.js +2 -0
  36. package/lib/attachments/WatchedAttachmentItem.js.map +1 -0
  37. package/lib/client/AbstractPowerSyncDatabase.d.ts +615 -0
  38. package/lib/client/AbstractPowerSyncDatabase.js +983 -0
  39. package/lib/client/AbstractPowerSyncDatabase.js.map +1 -0
  40. package/lib/client/AbstractPowerSyncOpenFactory.d.ts +22 -0
  41. package/lib/client/AbstractPowerSyncOpenFactory.js +25 -0
  42. package/lib/client/AbstractPowerSyncOpenFactory.js.map +1 -0
  43. package/lib/client/ConnectionManager.d.ts +112 -0
  44. package/lib/client/ConnectionManager.js +294 -0
  45. package/lib/client/ConnectionManager.js.map +1 -0
  46. package/lib/client/CustomQuery.d.ts +22 -0
  47. package/lib/client/CustomQuery.js +43 -0
  48. package/lib/client/CustomQuery.js.map +1 -0
  49. package/lib/client/Query.d.ts +97 -0
  50. package/lib/client/Query.js +2 -0
  51. package/lib/client/Query.js.map +1 -0
  52. package/lib/client/SQLOpenFactory.d.ts +42 -0
  53. package/lib/client/SQLOpenFactory.js +20 -0
  54. package/lib/client/SQLOpenFactory.js.map +1 -0
  55. package/lib/client/compilableQueryWatch.d.ts +7 -0
  56. package/lib/client/compilableQueryWatch.js +38 -0
  57. package/lib/client/compilableQueryWatch.js.map +1 -0
  58. package/lib/client/connection/PowerSyncBackendConnector.d.ts +23 -0
  59. package/lib/client/connection/PowerSyncBackendConnector.js +2 -0
  60. package/lib/client/connection/PowerSyncBackendConnector.js.map +1 -0
  61. package/lib/client/connection/PowerSyncCredentials.d.ts +5 -0
  62. package/lib/client/connection/PowerSyncCredentials.js +2 -0
  63. package/lib/client/connection/PowerSyncCredentials.js.map +1 -0
  64. package/lib/client/constants.d.ts +1 -0
  65. package/lib/client/constants.js +2 -0
  66. package/lib/client/constants.js.map +1 -0
  67. package/lib/client/runOnSchemaChange.d.ts +2 -0
  68. package/lib/client/runOnSchemaChange.js +24 -0
  69. package/lib/client/runOnSchemaChange.js.map +1 -0
  70. package/lib/client/sync/bucket/BucketStorageAdapter.d.ts +102 -0
  71. package/lib/client/sync/bucket/BucketStorageAdapter.js +19 -0
  72. package/lib/client/sync/bucket/BucketStorageAdapter.js.map +1 -0
  73. package/lib/client/sync/bucket/CrudBatch.d.ts +31 -0
  74. package/lib/client/sync/bucket/CrudBatch.js +26 -0
  75. package/lib/client/sync/bucket/CrudBatch.js.map +1 -0
  76. package/lib/client/sync/bucket/CrudEntry.d.ts +95 -0
  77. package/lib/client/sync/bucket/CrudEntry.js +110 -0
  78. package/lib/client/sync/bucket/CrudEntry.js.map +1 -0
  79. package/lib/client/sync/bucket/CrudTransaction.d.ts +29 -0
  80. package/lib/client/sync/bucket/CrudTransaction.js +25 -0
  81. package/lib/client/sync/bucket/CrudTransaction.js.map +1 -0
  82. package/lib/client/sync/bucket/OpType.d.ts +16 -0
  83. package/lib/client/sync/bucket/OpType.js +23 -0
  84. package/lib/client/sync/bucket/OpType.js.map +1 -0
  85. package/lib/client/sync/bucket/OplogEntry.d.ts +23 -0
  86. package/lib/client/sync/bucket/OplogEntry.js +36 -0
  87. package/lib/client/sync/bucket/OplogEntry.js.map +1 -0
  88. package/lib/client/sync/bucket/SqliteBucketStorage.d.ts +61 -0
  89. package/lib/client/sync/bucket/SqliteBucketStorage.js +324 -0
  90. package/lib/client/sync/bucket/SqliteBucketStorage.js.map +1 -0
  91. package/lib/client/sync/bucket/SyncDataBatch.d.ts +6 -0
  92. package/lib/client/sync/bucket/SyncDataBatch.js +12 -0
  93. package/lib/client/sync/bucket/SyncDataBatch.js.map +1 -0
  94. package/lib/client/sync/bucket/SyncDataBucket.d.ts +40 -0
  95. package/lib/client/sync/bucket/SyncDataBucket.js +40 -0
  96. package/lib/client/sync/bucket/SyncDataBucket.js.map +1 -0
  97. package/lib/client/sync/stream/AbstractRemote.d.ts +140 -0
  98. package/lib/client/sync/stream/AbstractRemote.js +506 -0
  99. package/lib/client/sync/stream/AbstractRemote.js.map +1 -0
  100. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.d.ts +240 -0
  101. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js +990 -0
  102. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js.map +1 -0
  103. package/lib/client/sync/stream/WebsocketClientTransport.d.ts +15 -0
  104. package/lib/client/sync/stream/WebsocketClientTransport.js +61 -0
  105. package/lib/client/sync/stream/WebsocketClientTransport.js.map +1 -0
  106. package/lib/client/sync/stream/core-instruction.d.ts +72 -0
  107. package/lib/client/sync/stream/core-instruction.js +27 -0
  108. package/lib/client/sync/stream/core-instruction.js.map +1 -0
  109. package/lib/client/sync/stream/streaming-sync-types.d.ts +143 -0
  110. package/lib/client/sync/stream/streaming-sync-types.js +26 -0
  111. package/lib/client/sync/stream/streaming-sync-types.js.map +1 -0
  112. package/lib/client/sync/sync-streams.d.ts +98 -0
  113. package/lib/client/sync/sync-streams.js +2 -0
  114. package/lib/client/sync/sync-streams.js.map +1 -0
  115. package/lib/client/triggers/MemoryTriggerClaimManager.d.ts +6 -0
  116. package/lib/client/triggers/MemoryTriggerClaimManager.js +21 -0
  117. package/lib/client/triggers/MemoryTriggerClaimManager.js.map +1 -0
  118. package/lib/client/triggers/TriggerManager.d.ts +459 -0
  119. package/lib/client/triggers/TriggerManager.js +11 -0
  120. package/lib/client/triggers/TriggerManager.js.map +1 -0
  121. package/lib/client/triggers/TriggerManagerImpl.d.ts +39 -0
  122. package/lib/client/triggers/TriggerManagerImpl.js +393 -0
  123. package/lib/client/triggers/TriggerManagerImpl.js.map +1 -0
  124. package/lib/client/triggers/sanitizeSQL.d.ts +34 -0
  125. package/lib/client/triggers/sanitizeSQL.js +69 -0
  126. package/lib/client/triggers/sanitizeSQL.js.map +1 -0
  127. package/lib/client/watched/GetAllQuery.d.ts +32 -0
  128. package/lib/client/watched/GetAllQuery.js +25 -0
  129. package/lib/client/watched/GetAllQuery.js.map +1 -0
  130. package/lib/client/watched/WatchedQuery.d.ts +100 -0
  131. package/lib/client/watched/WatchedQuery.js +14 -0
  132. package/lib/client/watched/WatchedQuery.js.map +1 -0
  133. package/lib/client/watched/processors/AbstractQueryProcessor.d.ts +68 -0
  134. package/lib/client/watched/processors/AbstractQueryProcessor.js +151 -0
  135. package/lib/client/watched/processors/AbstractQueryProcessor.js.map +1 -0
  136. package/lib/client/watched/processors/DifferentialQueryProcessor.d.ts +121 -0
  137. package/lib/client/watched/processors/DifferentialQueryProcessor.js +173 -0
  138. package/lib/client/watched/processors/DifferentialQueryProcessor.js.map +1 -0
  139. package/lib/client/watched/processors/OnChangeQueryProcessor.d.ts +33 -0
  140. package/lib/client/watched/processors/OnChangeQueryProcessor.js +83 -0
  141. package/lib/client/watched/processors/OnChangeQueryProcessor.js.map +1 -0
  142. package/lib/client/watched/processors/comparators.d.ts +30 -0
  143. package/lib/client/watched/processors/comparators.js +35 -0
  144. package/lib/client/watched/processors/comparators.js.map +1 -0
  145. package/lib/db/ConnectionClosedError.d.ts +10 -0
  146. package/lib/db/ConnectionClosedError.js +21 -0
  147. package/lib/db/ConnectionClosedError.js.map +1 -0
  148. package/lib/db/DBAdapter.d.ts +115 -0
  149. package/lib/db/DBAdapter.js +20 -0
  150. package/lib/db/DBAdapter.js.map +1 -0
  151. package/lib/db/crud/SyncProgress.d.ts +68 -0
  152. package/lib/db/crud/SyncProgress.js +61 -0
  153. package/lib/db/crud/SyncProgress.js.map +1 -0
  154. package/lib/db/crud/SyncStatus.d.ts +195 -0
  155. package/lib/db/crud/SyncStatus.js +250 -0
  156. package/lib/db/crud/SyncStatus.js.map +1 -0
  157. package/lib/db/crud/UploadQueueStatus.d.ts +20 -0
  158. package/lib/db/crud/UploadQueueStatus.js +25 -0
  159. package/lib/db/crud/UploadQueueStatus.js.map +1 -0
  160. package/lib/db/schema/Column.d.ts +30 -0
  161. package/lib/db/schema/Column.js +43 -0
  162. package/lib/db/schema/Column.js.map +1 -0
  163. package/lib/db/schema/Index.d.ts +22 -0
  164. package/lib/db/schema/Index.js +30 -0
  165. package/lib/db/schema/Index.js.map +1 -0
  166. package/lib/db/schema/IndexedColumn.d.ts +19 -0
  167. package/lib/db/schema/IndexedColumn.js +30 -0
  168. package/lib/db/schema/IndexedColumn.js.map +1 -0
  169. package/lib/db/schema/RawTable.d.ts +61 -0
  170. package/lib/db/schema/RawTable.js +33 -0
  171. package/lib/db/schema/RawTable.js.map +1 -0
  172. package/lib/db/schema/Schema.d.ts +54 -0
  173. package/lib/db/schema/Schema.js +61 -0
  174. package/lib/db/schema/Schema.js.map +1 -0
  175. package/lib/db/schema/Table.d.ts +157 -0
  176. package/lib/db/schema/Table.js +208 -0
  177. package/lib/db/schema/Table.js.map +1 -0
  178. package/lib/db/schema/TableV2.d.ts +9 -0
  179. package/lib/db/schema/TableV2.js +9 -0
  180. package/lib/db/schema/TableV2.js.map +1 -0
  181. package/lib/index.d.ts +62 -0
  182. package/lib/index.js +63 -0
  183. package/lib/index.js.map +1 -0
  184. package/lib/types/types.d.ts +8 -0
  185. package/lib/types/types.js +2 -0
  186. package/lib/types/types.js.map +1 -0
  187. package/lib/utils/AbortOperation.d.ts +9 -0
  188. package/lib/utils/AbortOperation.js +19 -0
  189. package/lib/utils/AbortOperation.js.map +1 -0
  190. package/lib/utils/BaseObserver.d.ts +18 -0
  191. package/lib/utils/BaseObserver.js +27 -0
  192. package/lib/utils/BaseObserver.js.map +1 -0
  193. package/lib/utils/ControlledExecutor.d.ts +25 -0
  194. package/lib/utils/ControlledExecutor.js +51 -0
  195. package/lib/utils/ControlledExecutor.js.map +1 -0
  196. package/lib/utils/DataStream.d.ts +62 -0
  197. package/lib/utils/DataStream.js +169 -0
  198. package/lib/utils/DataStream.js.map +1 -0
  199. package/lib/utils/Logger.d.ts +31 -0
  200. package/lib/utils/Logger.js +37 -0
  201. package/lib/utils/Logger.js.map +1 -0
  202. package/lib/utils/MetaBaseObserver.d.ts +29 -0
  203. package/lib/utils/MetaBaseObserver.js +51 -0
  204. package/lib/utils/MetaBaseObserver.js.map +1 -0
  205. package/lib/utils/async.d.ts +23 -0
  206. package/lib/utils/async.js +55 -0
  207. package/lib/utils/async.js.map +1 -0
  208. package/lib/utils/mutex.d.ts +7 -0
  209. package/lib/utils/mutex.js +29 -0
  210. package/lib/utils/mutex.js.map +1 -0
  211. package/lib/utils/parseQuery.d.ts +6 -0
  212. package/lib/utils/parseQuery.js +17 -0
  213. package/lib/utils/parseQuery.js.map +1 -0
  214. package/package.json +1 -1
package/lib/index.d.ts ADDED
@@ -0,0 +1,62 @@
1
+ export * from './attachments/AttachmentContext.js';
2
+ export * from './attachments/AttachmentErrorHandler.js';
3
+ export * from './attachments/AttachmentQueue.js';
4
+ export * from './attachments/AttachmentService.js';
5
+ export * from './attachments/LocalStorageAdapter.js';
6
+ export * from './attachments/RemoteStorageAdapter.js';
7
+ export * from './attachments/Schema.js';
8
+ export * from './attachments/SyncingService.js';
9
+ export * from './attachments/WatchedAttachmentItem.js';
10
+ export * from './client/AbstractPowerSyncDatabase.js';
11
+ export * from './client/AbstractPowerSyncOpenFactory.js';
12
+ export { compilableQueryWatch, CompilableQueryWatchHandler } from './client/compilableQueryWatch.js';
13
+ export * from './client/connection/PowerSyncBackendConnector.js';
14
+ export * from './client/connection/PowerSyncCredentials.js';
15
+ export { MAX_OP_ID } from './client/constants.js';
16
+ export { runOnSchemaChange } from './client/runOnSchemaChange.js';
17
+ export * from './client/SQLOpenFactory.js';
18
+ export * from './client/sync/bucket/BucketStorageAdapter.js';
19
+ export * from './client/sync/bucket/CrudBatch.js';
20
+ export { CrudEntry, OpId, UpdateType } from './client/sync/bucket/CrudEntry.js';
21
+ export * from './client/sync/bucket/CrudTransaction.js';
22
+ export * from './client/sync/bucket/OplogEntry.js';
23
+ export * from './client/sync/bucket/OpType.js';
24
+ export * from './client/sync/bucket/SqliteBucketStorage.js';
25
+ export * from './client/sync/bucket/SyncDataBatch.js';
26
+ export * from './client/sync/bucket/SyncDataBucket.js';
27
+ export * from './client/sync/stream/AbstractRemote.js';
28
+ export * from './client/sync/stream/AbstractStreamingSyncImplementation.js';
29
+ export * from './client/sync/stream/streaming-sync-types.js';
30
+ export * from './client/sync/sync-streams.js';
31
+ export * from './client/ConnectionManager.js';
32
+ export * from './db/ConnectionClosedError.js';
33
+ export { ProgressWithOperations, SyncProgress } from './db/crud/SyncProgress.js';
34
+ export * from './db/crud/SyncStatus.js';
35
+ export * from './db/crud/UploadQueueStatus.js';
36
+ export * from './db/DBAdapter.js';
37
+ export * from './db/schema/Column.js';
38
+ export * from './db/schema/Index.js';
39
+ export * from './db/schema/IndexedColumn.js';
40
+ export * from './db/schema/RawTable.js';
41
+ export * from './db/schema/Schema.js';
42
+ export * from './db/schema/Table.js';
43
+ export * from './db/schema/TableV2.js';
44
+ export * from './client/Query.js';
45
+ export { MEMORY_TRIGGER_CLAIM_MANAGER } from './client/triggers/MemoryTriggerClaimManager.js';
46
+ export * from './client/triggers/sanitizeSQL.js';
47
+ export * from './client/triggers/TriggerManager.js';
48
+ export { TriggerManagerImpl } from './client/triggers/TriggerManagerImpl.js';
49
+ export * from './client/watched/GetAllQuery.js';
50
+ export * from './client/watched/processors/AbstractQueryProcessor.js';
51
+ export * from './client/watched/processors/comparators.js';
52
+ export * from './client/watched/processors/DifferentialQueryProcessor.js';
53
+ export * from './client/watched/processors/OnChangeQueryProcessor.js';
54
+ export * from './client/watched/WatchedQuery.js';
55
+ export * from './utils/AbortOperation.js';
56
+ export * from './utils/BaseObserver.js';
57
+ export * from './utils/ControlledExecutor.js';
58
+ export * from './utils/DataStream.js';
59
+ export * from './utils/Logger.js';
60
+ export * from './utils/mutex.js';
61
+ export * from './utils/parseQuery.js';
62
+ export * from './types/types.js';
package/lib/index.js ADDED
@@ -0,0 +1,63 @@
1
+ export * from './attachments/AttachmentContext.js';
2
+ export * from './attachments/AttachmentErrorHandler.js';
3
+ export * from './attachments/AttachmentQueue.js';
4
+ export * from './attachments/AttachmentService.js';
5
+ export * from './attachments/LocalStorageAdapter.js';
6
+ export * from './attachments/RemoteStorageAdapter.js';
7
+ export * from './attachments/Schema.js';
8
+ export * from './attachments/SyncingService.js';
9
+ export * from './attachments/WatchedAttachmentItem.js';
10
+ export * from './client/AbstractPowerSyncDatabase.js';
11
+ export * from './client/AbstractPowerSyncOpenFactory.js';
12
+ export { compilableQueryWatch } from './client/compilableQueryWatch.js';
13
+ export * from './client/connection/PowerSyncBackendConnector.js';
14
+ export * from './client/connection/PowerSyncCredentials.js';
15
+ export { MAX_OP_ID } from './client/constants.js';
16
+ export { runOnSchemaChange } from './client/runOnSchemaChange.js';
17
+ export * from './client/SQLOpenFactory.js';
18
+ export * from './client/sync/bucket/BucketStorageAdapter.js';
19
+ export * from './client/sync/bucket/CrudBatch.js';
20
+ export { CrudEntry, UpdateType } from './client/sync/bucket/CrudEntry.js';
21
+ export * from './client/sync/bucket/CrudTransaction.js';
22
+ export * from './client/sync/bucket/OplogEntry.js';
23
+ export * from './client/sync/bucket/OpType.js';
24
+ export * from './client/sync/bucket/SqliteBucketStorage.js';
25
+ export * from './client/sync/bucket/SyncDataBatch.js';
26
+ export * from './client/sync/bucket/SyncDataBucket.js';
27
+ export * from './client/sync/stream/AbstractRemote.js';
28
+ export * from './client/sync/stream/AbstractStreamingSyncImplementation.js';
29
+ export * from './client/sync/stream/streaming-sync-types.js';
30
+ export * from './client/sync/sync-streams.js';
31
+ export * from './client/ConnectionManager.js';
32
+ export * from './db/ConnectionClosedError.js';
33
+ export { SyncProgress } from './db/crud/SyncProgress.js';
34
+ export * from './db/crud/SyncStatus.js';
35
+ export * from './db/crud/UploadQueueStatus.js';
36
+ export * from './db/DBAdapter.js';
37
+ export * from './db/schema/Column.js';
38
+ export * from './db/schema/Index.js';
39
+ export * from './db/schema/IndexedColumn.js';
40
+ export * from './db/schema/RawTable.js';
41
+ export * from './db/schema/Schema.js';
42
+ export * from './db/schema/Table.js';
43
+ export * from './db/schema/TableV2.js';
44
+ export * from './client/Query.js';
45
+ export { MEMORY_TRIGGER_CLAIM_MANAGER } from './client/triggers/MemoryTriggerClaimManager.js';
46
+ export * from './client/triggers/sanitizeSQL.js';
47
+ export * from './client/triggers/TriggerManager.js';
48
+ export { TriggerManagerImpl } from './client/triggers/TriggerManagerImpl.js';
49
+ export * from './client/watched/GetAllQuery.js';
50
+ export * from './client/watched/processors/AbstractQueryProcessor.js';
51
+ export * from './client/watched/processors/comparators.js';
52
+ export * from './client/watched/processors/DifferentialQueryProcessor.js';
53
+ export * from './client/watched/processors/OnChangeQueryProcessor.js';
54
+ export * from './client/watched/WatchedQuery.js';
55
+ export * from './utils/AbortOperation.js';
56
+ export * from './utils/BaseObserver.js';
57
+ export * from './utils/ControlledExecutor.js';
58
+ export * from './utils/DataStream.js';
59
+ export * from './utils/Logger.js';
60
+ export * from './utils/mutex.js';
61
+ export * from './utils/parseQuery.js';
62
+ export * from './types/types.js';
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AAEvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAA+B,MAAM,kCAAkC,CAAC;AACrG,cAAc,kDAAkD,CAAC;AACjE,cAAc,6CAA6C,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,mCAAmC,CAAC;AAClD,OAAO,EAAE,SAAS,EAAQ,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAChF,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,6DAA6D,CAAC;AAC5E,cAAc,8CAA8C,CAAC;AAC7D,cAAc,+BAA+B,CAAC;AAE9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,OAAO,EAA0B,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACjF,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,cAAc,iCAAiC,CAAC;AAChD,cAAc,uDAAuD,CAAC;AACtE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2DAA2D,CAAC;AAC1E,cAAc,uDAAuD,CAAC;AACtE,cAAc,kCAAkC,CAAC;AAEjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface CompilableQuery<T> {
2
+ execute(): Promise<T[]>;
3
+ compile(): CompiledQuery;
4
+ }
5
+ export interface CompiledQuery {
6
+ readonly sql: string;
7
+ readonly parameters: ReadonlyArray<unknown>;
8
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Calls to Abortcontroller.abort(reason: any) will result in the
3
+ * `reason` being thrown. This is not necessarily an error,
4
+ * but extends error for better logging purposes.
5
+ */
6
+ export declare class AbortOperation extends Error {
7
+ protected reason: string;
8
+ constructor(reason: string);
9
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Calls to Abortcontroller.abort(reason: any) will result in the
3
+ * `reason` being thrown. This is not necessarily an error,
4
+ * but extends error for better logging purposes.
5
+ */
6
+ export class AbortOperation extends Error {
7
+ reason;
8
+ constructor(reason) {
9
+ super(reason);
10
+ this.reason = reason;
11
+ // Set the prototype explicitly
12
+ Object.setPrototypeOf(this, AbortOperation.prototype);
13
+ // Capture stack trace
14
+ if (Error.captureStackTrace) {
15
+ Error.captureStackTrace(this, AbortOperation);
16
+ }
17
+ }
18
+ }
19
+ //# sourceMappingURL=AbortOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbortOperation.js","sourceRoot":"","sources":["../../src/utils/AbortOperation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACjB;IAAtB,YAAsB,MAAc;QAClC,KAAK,CAAC,MAAM,CAAC,CAAC;QADM,WAAM,GAAN,MAAM,CAAQ;QAElC,+BAA+B;QAC/B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;QAEtD,sBAAsB;QACtB,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,18 @@
1
+ export interface Disposable {
2
+ dispose: () => Promise<void> | void;
3
+ }
4
+ export type BaseListener = Record<string, ((...event: any) => any) | undefined>;
5
+ export interface BaseObserverInterface<T extends BaseListener> {
6
+ registerListener(listener: Partial<T>): () => void;
7
+ }
8
+ export declare class BaseObserver<T extends BaseListener = BaseListener> implements BaseObserverInterface<T> {
9
+ protected listeners: Set<Partial<T>>;
10
+ constructor();
11
+ dispose(): void;
12
+ /**
13
+ * Register a listener for updates to the PowerSync client.
14
+ */
15
+ registerListener(listener: Partial<T>): () => void;
16
+ iterateListeners(cb: (listener: Partial<T>) => any): void;
17
+ iterateAsyncListeners(cb: (listener: Partial<T>) => Promise<any>): Promise<void>;
18
+ }
@@ -0,0 +1,27 @@
1
+ export class BaseObserver {
2
+ listeners = new Set();
3
+ constructor() { }
4
+ dispose() {
5
+ this.listeners.clear();
6
+ }
7
+ /**
8
+ * Register a listener for updates to the PowerSync client.
9
+ */
10
+ registerListener(listener) {
11
+ this.listeners.add(listener);
12
+ return () => {
13
+ this.listeners.delete(listener);
14
+ };
15
+ }
16
+ iterateListeners(cb) {
17
+ for (const listener of this.listeners) {
18
+ cb(listener);
19
+ }
20
+ }
21
+ async iterateAsyncListeners(cb) {
22
+ for (let i of Array.from(this.listeners.values())) {
23
+ await cb(i);
24
+ }
25
+ }
26
+ }
27
+ //# sourceMappingURL=BaseObserver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseObserver.js","sourceRoot":"","sources":["../../src/utils/BaseObserver.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,YAAY;IACb,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;IAE5C,gBAAe,CAAC;IAEhB,OAAO;QACL,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,QAAoB;QACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,EAAiC;QAChD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAA0C;QACpE,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAClD,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,25 @@
1
+ export interface ControlledExecutorOptions {
2
+ /**
3
+ * If throttling is enabled, it ensures only one task runs at a time,
4
+ * and only one additional task can be scheduled to run after the current task completes. The pending task will be overwritten by the latest task.
5
+ * Enabled by default.
6
+ */
7
+ throttleEnabled?: boolean;
8
+ }
9
+ export declare class ControlledExecutor<T> {
10
+ private task;
11
+ /**
12
+ * Represents the currently running task, which could be a Promise or undefined if no task is running.
13
+ */
14
+ private runningTask;
15
+ private pendingTaskParam;
16
+ /**
17
+ * Flag to determine if throttling is enabled, which controls whether tasks are queued or run immediately.
18
+ */
19
+ private isThrottling;
20
+ private closed;
21
+ constructor(task: (param: T) => Promise<void> | void, options?: ControlledExecutorOptions);
22
+ schedule(param: T): void;
23
+ dispose(): void;
24
+ private execute;
25
+ }
@@ -0,0 +1,51 @@
1
+ export class ControlledExecutor {
2
+ task;
3
+ /**
4
+ * Represents the currently running task, which could be a Promise or undefined if no task is running.
5
+ */
6
+ runningTask;
7
+ pendingTaskParam;
8
+ /**
9
+ * Flag to determine if throttling is enabled, which controls whether tasks are queued or run immediately.
10
+ */
11
+ isThrottling;
12
+ closed;
13
+ constructor(task, options) {
14
+ this.task = task;
15
+ const { throttleEnabled = true } = options ?? {};
16
+ this.isThrottling = throttleEnabled;
17
+ this.closed = false;
18
+ }
19
+ schedule(param) {
20
+ if (this.closed) {
21
+ return;
22
+ }
23
+ if (!this.isThrottling) {
24
+ this.task(param);
25
+ return;
26
+ }
27
+ if (this.runningTask) {
28
+ // set or replace the pending task param with latest one
29
+ this.pendingTaskParam = param;
30
+ return;
31
+ }
32
+ this.execute(param);
33
+ }
34
+ dispose() {
35
+ this.closed = true;
36
+ if (this.runningTask) {
37
+ this.runningTask = undefined;
38
+ }
39
+ }
40
+ async execute(param) {
41
+ this.runningTask = this.task(param);
42
+ await this.runningTask;
43
+ this.runningTask = undefined;
44
+ if (this.pendingTaskParam) {
45
+ const pendingParam = this.pendingTaskParam;
46
+ this.pendingTaskParam = undefined;
47
+ this.execute(pendingParam);
48
+ }
49
+ }
50
+ }
51
+ //# sourceMappingURL=ControlledExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlledExecutor.js","sourceRoot":"","sources":["../../src/utils/ControlledExecutor.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,kBAAkB;IACrB,IAAI,CAAqC;IAEjD;;OAEG;IACK,WAAW,CAAqC;IAEhD,gBAAgB,CAAgB;IAExC;;OAEG;IACK,YAAY,CAAU;IAEtB,MAAM,CAAU;IAExB,YAAY,IAAwC,EAAE,OAAmC;QACvF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAM,EAAE,eAAe,GAAG,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,QAAQ,CAAC,KAAQ;QACf,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,wDAAwD;YACxD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,KAAQ;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,WAAW,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAE7B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC3C,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAElC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,62 @@
1
+ import { ILogger } from 'js-logger';
2
+ import { BaseListener, BaseObserver } from './BaseObserver.js';
3
+ export type DataStreamOptions<ParsedData, SourceData> = {
4
+ mapLine?: (line: SourceData) => ParsedData;
5
+ /**
6
+ * Close the stream if any consumer throws an error
7
+ */
8
+ closeOnError?: boolean;
9
+ pressure?: {
10
+ highWaterMark?: number;
11
+ lowWaterMark?: number;
12
+ };
13
+ logger?: ILogger;
14
+ };
15
+ export type DataStreamCallback<Data extends any = any> = (data: Data) => Promise<void>;
16
+ export interface DataStreamListener<Data extends any = any> extends BaseListener {
17
+ data: (data: Data) => Promise<void>;
18
+ closed: () => void;
19
+ error: (error: Error) => void;
20
+ highWater: () => Promise<void>;
21
+ lowWater: () => Promise<void>;
22
+ }
23
+ export declare const DEFAULT_PRESSURE_LIMITS: {
24
+ highWater: number;
25
+ lowWater: number;
26
+ };
27
+ /**
28
+ * A very basic implementation of a data stream with backpressure support which does not use
29
+ * native JS streams or async iterators.
30
+ * This is handy for environments such as React Native which need polyfills for the above.
31
+ */
32
+ export declare class DataStream<ParsedData, SourceData = any> extends BaseObserver<DataStreamListener<ParsedData>> {
33
+ protected options?: DataStreamOptions<ParsedData, SourceData> | undefined;
34
+ dataQueue: SourceData[];
35
+ protected isClosed: boolean;
36
+ protected processingPromise: Promise<void> | null;
37
+ protected notifyDataAdded: (() => void) | null;
38
+ protected logger: ILogger;
39
+ protected mapLine: (line: SourceData) => ParsedData;
40
+ constructor(options?: DataStreamOptions<ParsedData, SourceData> | undefined);
41
+ get highWatermark(): number;
42
+ get lowWatermark(): number;
43
+ get closed(): boolean;
44
+ close(): Promise<void>;
45
+ /**
46
+ * Enqueues data for the consumers to read
47
+ */
48
+ enqueueData(data: SourceData): void;
49
+ /**
50
+ * Reads data once from the data stream
51
+ * @returns a Data payload or Null if the stream closed.
52
+ */
53
+ read(): Promise<ParsedData | null>;
54
+ /**
55
+ * Executes a callback for each data item in the stream
56
+ */
57
+ forEach(callback: DataStreamCallback<ParsedData>): () => void;
58
+ protected processQueue(): Promise<void> | undefined;
59
+ protected hasDataReader(): boolean;
60
+ protected _processQueue(): Promise<void>;
61
+ protected iterateAsyncErrored(cb: (l: Partial<DataStreamListener<ParsedData>>) => Promise<void>): Promise<void>;
62
+ }
@@ -0,0 +1,169 @@
1
+ import Logger from 'js-logger';
2
+ import { BaseObserver } from './BaseObserver.js';
3
+ export const DEFAULT_PRESSURE_LIMITS = {
4
+ highWater: 10,
5
+ lowWater: 0
6
+ };
7
+ /**
8
+ * A very basic implementation of a data stream with backpressure support which does not use
9
+ * native JS streams or async iterators.
10
+ * This is handy for environments such as React Native which need polyfills for the above.
11
+ */
12
+ export class DataStream extends BaseObserver {
13
+ options;
14
+ dataQueue;
15
+ isClosed;
16
+ processingPromise;
17
+ notifyDataAdded;
18
+ logger;
19
+ mapLine;
20
+ constructor(options) {
21
+ super();
22
+ this.options = options;
23
+ this.processingPromise = null;
24
+ this.isClosed = false;
25
+ this.dataQueue = [];
26
+ this.mapLine = options?.mapLine ?? ((line) => line);
27
+ this.logger = options?.logger ?? Logger.get('DataStream');
28
+ if (options?.closeOnError) {
29
+ const l = this.registerListener({
30
+ error: (ex) => {
31
+ l?.();
32
+ this.close();
33
+ }
34
+ });
35
+ }
36
+ }
37
+ get highWatermark() {
38
+ return this.options?.pressure?.highWaterMark ?? DEFAULT_PRESSURE_LIMITS.highWater;
39
+ }
40
+ get lowWatermark() {
41
+ return this.options?.pressure?.lowWaterMark ?? DEFAULT_PRESSURE_LIMITS.lowWater;
42
+ }
43
+ get closed() {
44
+ return this.isClosed;
45
+ }
46
+ async close() {
47
+ this.isClosed = true;
48
+ await this.processingPromise;
49
+ this.iterateListeners((l) => l.closed?.());
50
+ // Discard any data in the queue
51
+ this.dataQueue = [];
52
+ this.listeners.clear();
53
+ }
54
+ /**
55
+ * Enqueues data for the consumers to read
56
+ */
57
+ enqueueData(data) {
58
+ if (this.isClosed) {
59
+ throw new Error('Cannot enqueue data into closed stream.');
60
+ }
61
+ this.dataQueue.push(data);
62
+ this.notifyDataAdded?.();
63
+ this.processQueue();
64
+ }
65
+ /**
66
+ * Reads data once from the data stream
67
+ * @returns a Data payload or Null if the stream closed.
68
+ */
69
+ async read() {
70
+ if (this.closed) {
71
+ return null;
72
+ }
73
+ // Wait for any pending processing to complete first.
74
+ // This ensures we register our listener before calling processQueue(),
75
+ // avoiding a race where processQueue() sees no reader and returns early.
76
+ if (this.processingPromise) {
77
+ await this.processingPromise;
78
+ }
79
+ // Re-check after await - stream may have closed while we were waiting
80
+ if (this.closed) {
81
+ return null;
82
+ }
83
+ return new Promise((resolve, reject) => {
84
+ const l = this.registerListener({
85
+ data: async (data) => {
86
+ resolve(data);
87
+ // Remove the listener
88
+ l?.();
89
+ },
90
+ closed: () => {
91
+ resolve(null);
92
+ l?.();
93
+ },
94
+ error: (ex) => {
95
+ reject(ex);
96
+ l?.();
97
+ }
98
+ });
99
+ this.processQueue();
100
+ });
101
+ }
102
+ /**
103
+ * Executes a callback for each data item in the stream
104
+ */
105
+ forEach(callback) {
106
+ if (this.dataQueue.length <= this.lowWatermark) {
107
+ this.iterateAsyncErrored(async (l) => l.lowWater?.());
108
+ }
109
+ return this.registerListener({
110
+ data: callback
111
+ });
112
+ }
113
+ processQueue() {
114
+ if (this.processingPromise) {
115
+ return;
116
+ }
117
+ const promise = (this.processingPromise = this._processQueue());
118
+ promise.finally(() => {
119
+ this.processingPromise = null;
120
+ });
121
+ return promise;
122
+ }
123
+ hasDataReader() {
124
+ return Array.from(this.listeners.values()).some((l) => !!l.data);
125
+ }
126
+ async _processQueue() {
127
+ /**
128
+ * Allow listeners to mutate the queue before processing.
129
+ * This allows for operations such as dropping or compressing data
130
+ * on high water or requesting more data on low water.
131
+ */
132
+ if (this.dataQueue.length >= this.highWatermark) {
133
+ await this.iterateAsyncErrored(async (l) => l.highWater?.());
134
+ }
135
+ if (this.isClosed || !this.hasDataReader()) {
136
+ return;
137
+ }
138
+ if (this.dataQueue.length) {
139
+ const data = this.dataQueue.shift();
140
+ const mapped = this.mapLine(data);
141
+ await this.iterateAsyncErrored(async (l) => l.data?.(mapped));
142
+ }
143
+ if (this.dataQueue.length <= this.lowWatermark) {
144
+ const dataAdded = new Promise((resolve) => {
145
+ this.notifyDataAdded = resolve;
146
+ });
147
+ await Promise.race([this.iterateAsyncErrored(async (l) => l.lowWater?.()), dataAdded]);
148
+ this.notifyDataAdded = null;
149
+ }
150
+ if (this.dataQueue.length > 0) {
151
+ setTimeout(() => this.processQueue());
152
+ }
153
+ }
154
+ async iterateAsyncErrored(cb) {
155
+ // Important: We need to copy the listeners, as calling a listener could result in adding another
156
+ // listener, resulting in infinite loops.
157
+ const listeners = Array.from(this.listeners.values());
158
+ for (let i of listeners) {
159
+ try {
160
+ await cb(i);
161
+ }
162
+ catch (ex) {
163
+ this.logger.error(ex);
164
+ this.iterateListeners((l) => l.error?.(ex));
165
+ }
166
+ }
167
+ }
168
+ }
169
+ //# sourceMappingURL=DataStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataStream.js","sourceRoot":"","sources":["../../src/utils/DataStream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import Logger, { type ILogger, type ILogLevel } from 'js-logger';
2
+ export { GlobalLogger, ILogger, ILoggerOpts, ILogHandler, ILogLevel } from 'js-logger';
3
+ export declare const LogLevel: {
4
+ TRACE: Logger.ILogLevel;
5
+ DEBUG: Logger.ILogLevel;
6
+ INFO: Logger.ILogLevel;
7
+ TIME: Logger.ILogLevel;
8
+ WARN: Logger.ILogLevel;
9
+ ERROR: Logger.ILogLevel;
10
+ OFF: Logger.ILogLevel;
11
+ };
12
+ export interface CreateLoggerOptions {
13
+ logLevel?: ILogLevel;
14
+ }
15
+ /**
16
+ * Retrieves the base (default) logger instance.
17
+ *
18
+ * This base logger controls the default logging configuration and is shared
19
+ * across all loggers created with `createLogger`. Adjusting settings on this
20
+ * base logger affects all loggers derived from it unless explicitly overridden.
21
+ *
22
+ */
23
+ export declare function createBaseLogger(): typeof Logger;
24
+ /**
25
+ * Creates and configures a new named logger based on the base logger.
26
+ *
27
+ * Named loggers allow specific modules or areas of your application to have
28
+ * their own logging levels and behaviors. These loggers inherit configuration
29
+ * from the base logger by default but can override settings independently.
30
+ */
31
+ export declare function createLogger(name: string, options?: CreateLoggerOptions): ILogger;
@@ -0,0 +1,37 @@
1
+ import Logger from 'js-logger';
2
+ const TypedLogger = Logger;
3
+ export const LogLevel = {
4
+ TRACE: TypedLogger.TRACE,
5
+ DEBUG: TypedLogger.DEBUG,
6
+ INFO: TypedLogger.INFO,
7
+ TIME: TypedLogger.TIME,
8
+ WARN: TypedLogger.WARN,
9
+ ERROR: TypedLogger.ERROR,
10
+ OFF: TypedLogger.OFF
11
+ };
12
+ /**
13
+ * Retrieves the base (default) logger instance.
14
+ *
15
+ * This base logger controls the default logging configuration and is shared
16
+ * across all loggers created with `createLogger`. Adjusting settings on this
17
+ * base logger affects all loggers derived from it unless explicitly overridden.
18
+ *
19
+ */
20
+ export function createBaseLogger() {
21
+ return Logger;
22
+ }
23
+ /**
24
+ * Creates and configures a new named logger based on the base logger.
25
+ *
26
+ * Named loggers allow specific modules or areas of your application to have
27
+ * their own logging levels and behaviors. These loggers inherit configuration
28
+ * from the base logger by default but can override settings independently.
29
+ */
30
+ export function createLogger(name, options = {}) {
31
+ const logger = Logger.get(name);
32
+ if (options.logLevel) {
33
+ logger.setLevel(options.logLevel);
34
+ }
35
+ return logger;
36
+ }
37
+ //# sourceMappingURL=Logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/utils/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,MAAwC,MAAM,WAAW,CAAC;AAIjE,MAAM,WAAW,GAAY,MAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,WAAW,CAAC,KAAK;IACxB,KAAK,EAAE,WAAW,CAAC,KAAK;IACxB,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,KAAK,EAAE,WAAW,CAAC,KAAK;IACxB,GAAG,EAAE,WAAW,CAAC,GAAG;CACrB,CAAC;AAMF;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,UAA+B,EAAE;IAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}