@livestore/utils 0.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 (322) hide show
  1. package/dist/.tsbuildinfo.json +1 -0
  2. package/dist/Deferred.d.ts +10 -0
  3. package/dist/Deferred.d.ts.map +1 -0
  4. package/dist/Deferred.js +18 -0
  5. package/dist/Deferred.js.map +1 -0
  6. package/dist/NoopTracer.d.ts +9 -0
  7. package/dist/NoopTracer.d.ts.map +1 -0
  8. package/dist/NoopTracer.js +54 -0
  9. package/dist/NoopTracer.js.map +1 -0
  10. package/dist/base64.d.ts +12 -0
  11. package/dist/base64.d.ts.map +1 -0
  12. package/dist/base64.js +114 -0
  13. package/dist/base64.js.map +1 -0
  14. package/dist/binary.d.ts +4 -0
  15. package/dist/binary.d.ts.map +1 -0
  16. package/dist/binary.js +23 -0
  17. package/dist/binary.js.map +1 -0
  18. package/dist/browser.d.ts +3 -0
  19. package/dist/browser.d.ts.map +1 -0
  20. package/dist/browser.js +28 -0
  21. package/dist/browser.js.map +1 -0
  22. package/dist/effect/Debounce.d.ts +5 -0
  23. package/dist/effect/Debounce.d.ts.map +1 -0
  24. package/dist/effect/Debounce.js +33 -0
  25. package/dist/effect/Debounce.js.map +1 -0
  26. package/dist/effect/Effect.d.ts +7 -0
  27. package/dist/effect/Effect.d.ts.map +1 -0
  28. package/dist/effect/Effect.js +17 -0
  29. package/dist/effect/Effect.js.map +1 -0
  30. package/dist/effect/EndableQueue.d.ts +11 -0
  31. package/dist/effect/EndableQueue.d.ts.map +1 -0
  32. package/dist/effect/EndableQueue.js +22 -0
  33. package/dist/effect/EndableQueue.js.map +1 -0
  34. package/dist/effect/EnvVar.d.ts +16 -0
  35. package/dist/effect/EnvVar.d.ts.map +1 -0
  36. package/dist/effect/EnvVar.js +21 -0
  37. package/dist/effect/EnvVar.js.map +1 -0
  38. package/dist/effect/Error.d.ts +12 -0
  39. package/dist/effect/Error.d.ts.map +1 -0
  40. package/dist/effect/Error.js +13 -0
  41. package/dist/effect/Error.js.map +1 -0
  42. package/dist/effect/Gate.d.ts +14 -0
  43. package/dist/effect/Gate.d.ts.map +1 -0
  44. package/dist/effect/Gate.js +17 -0
  45. package/dist/effect/Gate.js.map +1 -0
  46. package/dist/effect/Layer.d.ts +6 -0
  47. package/dist/effect/Layer.d.ts.map +1 -0
  48. package/dist/effect/Layer.js +11 -0
  49. package/dist/effect/Layer.js.map +1 -0
  50. package/dist/effect/Otel/Dummy.d.ts +5 -0
  51. package/dist/effect/Otel/Dummy.d.ts.map +1 -0
  52. package/dist/effect/Otel/Dummy.js +22 -0
  53. package/dist/effect/Otel/Dummy.js.map +1 -0
  54. package/dist/effect/Otel/Meter.d.ts +20 -0
  55. package/dist/effect/Otel/Meter.d.ts.map +1 -0
  56. package/dist/effect/Otel/Meter.js +76 -0
  57. package/dist/effect/Otel/Meter.js.map +1 -0
  58. package/dist/effect/Otel/OtlpGrpc.d.ts +6 -0
  59. package/dist/effect/Otel/OtlpGrpc.d.ts.map +1 -0
  60. package/dist/effect/Otel/OtlpGrpc.js +42 -0
  61. package/dist/effect/Otel/OtlpGrpc.js.map +1 -0
  62. package/dist/effect/Otel/OtlpHttp.d.ts +6 -0
  63. package/dist/effect/Otel/OtlpHttp.d.ts.map +1 -0
  64. package/dist/effect/Otel/OtlpHttp.js +42 -0
  65. package/dist/effect/Otel/OtlpHttp.js.map +1 -0
  66. package/dist/effect/Otel/OtlpWebsocket.d.ts +6 -0
  67. package/dist/effect/Otel/OtlpWebsocket.d.ts.map +1 -0
  68. package/dist/effect/Otel/OtlpWebsocket.js +42 -0
  69. package/dist/effect/Otel/OtlpWebsocket.js.map +1 -0
  70. package/dist/effect/Otel/Span.d.ts +32 -0
  71. package/dist/effect/Otel/Span.d.ts.map +1 -0
  72. package/dist/effect/Otel/Span.js +97 -0
  73. package/dist/effect/Otel/Span.js.map +1 -0
  74. package/dist/effect/Otel/Tracer.d.ts +15 -0
  75. package/dist/effect/Otel/Tracer.d.ts.map +1 -0
  76. package/dist/effect/Otel/Tracer.js +17 -0
  77. package/dist/effect/Otel/Tracer.js.map +1 -0
  78. package/dist/effect/Otel/index.d.ts +8 -0
  79. package/dist/effect/Otel/index.d.ts.map +1 -0
  80. package/dist/effect/Otel/index.js +9 -0
  81. package/dist/effect/Otel/index.js.map +1 -0
  82. package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpGrpc.d.ts +14 -0
  83. package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpGrpc.d.ts.map +1 -0
  84. package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpGrpc.js +15 -0
  85. package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpGrpc.js.map +1 -0
  86. package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpHttp.d.ts +14 -0
  87. package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpHttp.d.ts.map +1 -0
  88. package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpHttp.js +15 -0
  89. package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpHttp.js.map +1 -0
  90. package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpWebsocket.d.ts +19 -0
  91. package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpWebsocket.d.ts.map +1 -0
  92. package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpWebsocket.js +17 -0
  93. package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpWebsocket.js.map +1 -0
  94. package/dist/effect/Otel/lib-metrics/MetricsProvider.d.ts +10 -0
  95. package/dist/effect/Otel/lib-metrics/MetricsProvider.d.ts.map +1 -0
  96. package/dist/effect/Otel/lib-metrics/MetricsProvider.js +4 -0
  97. package/dist/effect/Otel/lib-metrics/MetricsProvider.js.map +1 -0
  98. package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderGrpc.d.ts +16 -0
  99. package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderGrpc.d.ts.map +1 -0
  100. package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderGrpc.js +39 -0
  101. package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderGrpc.js.map +1 -0
  102. package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderHttp.d.ts +16 -0
  103. package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderHttp.d.ts.map +1 -0
  104. package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderHttp.js +39 -0
  105. package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderHttp.js.map +1 -0
  106. package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderWebsocket.d.ts +16 -0
  107. package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderWebsocket.d.ts.map +1 -0
  108. package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderWebsocket.js +39 -0
  109. package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderWebsocket.js.map +1 -0
  110. package/dist/effect/Otel/lib-metrics/PeriodicMetricsProvider.d.ts +17 -0
  111. package/dist/effect/Otel/lib-metrics/PeriodicMetricsProvider.d.ts.map +1 -0
  112. package/dist/effect/Otel/lib-metrics/PeriodicMetricsProvider.js +27 -0
  113. package/dist/effect/Otel/lib-metrics/PeriodicMetricsProvider.js.map +1 -0
  114. package/dist/effect/Otel/lib-tracer/BatchSpanProcessor.d.ts +18 -0
  115. package/dist/effect/Otel/lib-tracer/BatchSpanProcessor.d.ts.map +1 -0
  116. package/dist/effect/Otel/lib-tracer/BatchSpanProcessor.js +31 -0
  117. package/dist/effect/Otel/lib-tracer/BatchSpanProcessor.js.map +1 -0
  118. package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpGrpc.d.ts +19 -0
  119. package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpGrpc.d.ts.map +1 -0
  120. package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpGrpc.js +36 -0
  121. package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpGrpc.js.map +1 -0
  122. package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpHttp.d.ts +19 -0
  123. package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpHttp.d.ts.map +1 -0
  124. package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpHttp.js +36 -0
  125. package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpHttp.js.map +1 -0
  126. package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpWebsocket.d.ts +9 -0
  127. package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpWebsocket.d.ts.map +1 -0
  128. package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpWebsocket.js +29 -0
  129. package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpWebsocket.js.map +1 -0
  130. package/dist/effect/Otel/lib-tracer/SimpleProcessor.d.ts +19 -0
  131. package/dist/effect/Otel/lib-tracer/SimpleProcessor.d.ts.map +1 -0
  132. package/dist/effect/Otel/lib-tracer/SimpleProcessor.js +25 -0
  133. package/dist/effect/Otel/lib-tracer/SimpleProcessor.js.map +1 -0
  134. package/dist/effect/Otel/lib-tracer/TracerProvider.d.ts +10 -0
  135. package/dist/effect/Otel/lib-tracer/TracerProvider.d.ts.map +1 -0
  136. package/dist/effect/Otel/lib-tracer/TracerProvider.js +7 -0
  137. package/dist/effect/Otel/lib-tracer/TracerProvider.js.map +1 -0
  138. package/dist/effect/Otel/lib-tracer/WebProvider.d.ts +18 -0
  139. package/dist/effect/Otel/lib-tracer/WebProvider.d.ts.map +1 -0
  140. package/dist/effect/Otel/lib-tracer/WebProvider.js +25 -0
  141. package/dist/effect/Otel/lib-tracer/WebProvider.js.map +1 -0
  142. package/dist/effect/ReadonlyArray.d.ts +4 -0
  143. package/dist/effect/ReadonlyArray.d.ts.map +1 -0
  144. package/dist/effect/ReadonlyArray.js +11 -0
  145. package/dist/effect/ReadonlyArray.js.map +1 -0
  146. package/dist/effect/RequestResolver.d.ts +11 -0
  147. package/dist/effect/RequestResolver.d.ts.map +1 -0
  148. package/dist/effect/RequestResolver.js +18 -0
  149. package/dist/effect/RequestResolver.js.map +1 -0
  150. package/dist/effect/STM.d.ts +3 -0
  151. package/dist/effect/STM.d.ts.map +1 -0
  152. package/dist/effect/STM.js +3 -0
  153. package/dist/effect/STM.js.map +1 -0
  154. package/dist/effect/Schedule.d.ts +5 -0
  155. package/dist/effect/Schedule.d.ts.map +1 -0
  156. package/dist/effect/Schedule.js +7 -0
  157. package/dist/effect/Schedule.js.map +1 -0
  158. package/dist/effect/Scheduler.d.ts +49 -0
  159. package/dist/effect/Scheduler.d.ts.map +1 -0
  160. package/dist/effect/Scheduler.js +168 -0
  161. package/dist/effect/Scheduler.js.map +1 -0
  162. package/dist/effect/Schema/SchemaHash.d.ts +3 -0
  163. package/dist/effect/Schema/SchemaHash.d.ts.map +1 -0
  164. package/dist/effect/Schema/SchemaHash.js +15 -0
  165. package/dist/effect/Schema/SchemaHash.js.map +1 -0
  166. package/dist/effect/Schema/SchemaHash.test.d.ts +2 -0
  167. package/dist/effect/Schema/SchemaHash.test.d.ts.map +1 -0
  168. package/dist/effect/Schema/SchemaHash.test.js +13 -0
  169. package/dist/effect/Schema/SchemaHash.test.js.map +1 -0
  170. package/dist/effect/Schema/SchemaJsonWrapper.d.ts +11 -0
  171. package/dist/effect/Schema/SchemaJsonWrapper.d.ts.map +1 -0
  172. package/dist/effect/Schema/SchemaJsonWrapper.js +38 -0
  173. package/dist/effect/Schema/SchemaJsonWrapper.js.map +1 -0
  174. package/dist/effect/Schema/SchemaJsonWrapper.test.d.ts +2 -0
  175. package/dist/effect/Schema/SchemaJsonWrapper.test.d.ts.map +1 -0
  176. package/dist/effect/Schema/SchemaJsonWrapper.test.js +42 -0
  177. package/dist/effect/Schema/SchemaJsonWrapper.test.js.map +1 -0
  178. package/dist/effect/Schema/index.d.ts +15 -0
  179. package/dist/effect/Schema/index.d.ts.map +1 -0
  180. package/dist/effect/Schema/index.js +14 -0
  181. package/dist/effect/Schema/index.js.map +1 -0
  182. package/dist/effect/ServiceContext.d.ts +39 -0
  183. package/dist/effect/ServiceContext.d.ts.map +1 -0
  184. package/dist/effect/ServiceContext.js +61 -0
  185. package/dist/effect/ServiceContext.js.map +1 -0
  186. package/dist/effect/SmartQueue.d.ts +38 -0
  187. package/dist/effect/SmartQueue.d.ts.map +1 -0
  188. package/dist/effect/SmartQueue.js +123 -0
  189. package/dist/effect/SmartQueue.js.map +1 -0
  190. package/dist/effect/Stream/chainSwitch.d.ts +3 -0
  191. package/dist/effect/Stream/chainSwitch.d.ts.map +1 -0
  192. package/dist/effect/Stream/chainSwitch.js +48 -0
  193. package/dist/effect/Stream/chainSwitch.js.map +1 -0
  194. package/dist/effect/Stream/index.d.ts +37 -0
  195. package/dist/effect/Stream/index.d.ts.map +1 -0
  196. package/dist/effect/Stream/index.js +82 -0
  197. package/dist/effect/Stream/index.js.map +1 -0
  198. package/dist/effect/SubscriptionRef.d.ts +10 -0
  199. package/dist/effect/SubscriptionRef.d.ts.map +1 -0
  200. package/dist/effect/SubscriptionRef.js +8 -0
  201. package/dist/effect/SubscriptionRef.js.map +1 -0
  202. package/dist/effect/TimeoutGate.d.ts +13 -0
  203. package/dist/effect/TimeoutGate.d.ts.map +1 -0
  204. package/dist/effect/TimeoutGate.js +41 -0
  205. package/dist/effect/TimeoutGate.js.map +1 -0
  206. package/dist/effect/WebCrypto.d.ts +18 -0
  207. package/dist/effect/WebCrypto.d.ts.map +1 -0
  208. package/dist/effect/WebCrypto.js +56 -0
  209. package/dist/effect/WebCrypto.js.map +1 -0
  210. package/dist/effect/WebLock.d.ts +5 -0
  211. package/dist/effect/WebLock.d.ts.map +1 -0
  212. package/dist/effect/WebLock.js +20 -0
  213. package/dist/effect/WebLock.js.map +1 -0
  214. package/dist/effect/browser.d.ts +19 -0
  215. package/dist/effect/browser.d.ts.map +1 -0
  216. package/dist/effect/browser.js +82 -0
  217. package/dist/effect/browser.js.map +1 -0
  218. package/dist/effect/fetch.d.ts +89 -0
  219. package/dist/effect/fetch.d.ts.map +1 -0
  220. package/dist/effect/fetch.js +142 -0
  221. package/dist/effect/fetch.js.map +1 -0
  222. package/dist/effect/index.d.ts +50 -0
  223. package/dist/effect/index.d.ts.map +1 -0
  224. package/dist/effect/index.js +58 -0
  225. package/dist/effect/index.js.map +1 -0
  226. package/dist/global.d.ts +5 -0
  227. package/dist/global.d.ts.map +1 -0
  228. package/dist/global.js +2 -0
  229. package/dist/global.js.map +1 -0
  230. package/dist/guards.d.ts +6 -0
  231. package/dist/guards.d.ts.map +1 -0
  232. package/dist/guards.js +6 -0
  233. package/dist/guards.js.map +1 -0
  234. package/dist/index.d.ts +69 -0
  235. package/dist/index.d.ts.map +1 -0
  236. package/dist/index.js +162 -0
  237. package/dist/index.js.map +1 -0
  238. package/dist/object/index.d.ts +10 -0
  239. package/dist/object/index.d.ts.map +1 -0
  240. package/dist/object/index.js +10 -0
  241. package/dist/object/index.js.map +1 -0
  242. package/dist/object/omit.d.ts +3 -0
  243. package/dist/object/omit.d.ts.map +1 -0
  244. package/dist/object/omit.js +14 -0
  245. package/dist/object/omit.js.map +1 -0
  246. package/dist/object/pick.d.ts +14 -0
  247. package/dist/object/pick.d.ts.map +1 -0
  248. package/dist/object/pick.js +17 -0
  249. package/dist/object/pick.js.map +1 -0
  250. package/dist/promise.d.ts +6 -0
  251. package/dist/promise.d.ts.map +1 -0
  252. package/dist/promise.js +27 -0
  253. package/dist/promise.js.map +1 -0
  254. package/dist/set.d.ts +2 -0
  255. package/dist/set.d.ts.map +1 -0
  256. package/dist/set.js +10 -0
  257. package/dist/set.js.map +1 -0
  258. package/dist/single-item.d.ts +8 -0
  259. package/dist/single-item.d.ts.map +1 -0
  260. package/dist/single-item.js +9 -0
  261. package/dist/single-item.js.map +1 -0
  262. package/dist/string.d.ts +3 -0
  263. package/dist/string.d.ts.map +1 -0
  264. package/dist/string.js +3 -0
  265. package/dist/string.js.map +1 -0
  266. package/dist/time.d.ts +12 -0
  267. package/dist/time.d.ts.map +1 -0
  268. package/dist/time.js +22 -0
  269. package/dist/time.js.map +1 -0
  270. package/dist/types/index.d.ts +2 -0
  271. package/dist/types/index.d.ts.map +1 -0
  272. package/dist/types/index.js +2 -0
  273. package/dist/types/index.js.map +1 -0
  274. package/dist/types/json.d.ts +27 -0
  275. package/dist/types/json.d.ts.map +1 -0
  276. package/dist/types/json.js +2 -0
  277. package/dist/types/json.js.map +1 -0
  278. package/package.json +58 -0
  279. package/src/Deferred.ts +24 -0
  280. package/src/NoopTracer.ts +75 -0
  281. package/src/base64.ts +118 -0
  282. package/src/browser.ts +32 -0
  283. package/src/effect/Effect.ts +27 -0
  284. package/src/effect/Error.ts +12 -0
  285. package/src/effect/Otel/Dummy.ts +32 -0
  286. package/src/effect/Otel/Meter.ts +145 -0
  287. package/src/effect/Otel/OtlpGrpc.ts +75 -0
  288. package/src/effect/Otel/OtlpHttp.ts +75 -0
  289. package/src/effect/Otel/OtlpWebsocket.ts +75 -0
  290. package/src/effect/Otel/Span.ts +222 -0
  291. package/src/effect/Otel/Tracer.ts +30 -0
  292. package/src/effect/Otel/index.ts +8 -0
  293. package/src/effect/Otel/lib-metrics/ExporterMetricsOltpGrpc.ts +39 -0
  294. package/src/effect/Otel/lib-metrics/ExporterMetricsOltpHttp.ts +39 -0
  295. package/src/effect/Otel/lib-metrics/ExporterMetricsOltpWebsocket.ts +47 -0
  296. package/src/effect/Otel/lib-metrics/MetricsProvider.ts +12 -0
  297. package/src/effect/Otel/lib-metrics/OTLPMetricsProviderGrpc.ts +77 -0
  298. package/src/effect/Otel/lib-metrics/OTLPMetricsProviderHttp.ts +77 -0
  299. package/src/effect/Otel/lib-metrics/OTLPMetricsProviderWebsocket.ts +80 -0
  300. package/src/effect/Otel/lib-metrics/PeriodicMetricsProvider.ts +55 -0
  301. package/src/effect/Otel/lib-tracer/BatchSpanProcessor.ts +58 -0
  302. package/src/effect/Otel/lib-tracer/ExporterTraceOtlpGrpc.ts +64 -0
  303. package/src/effect/Otel/lib-tracer/ExporterTraceOtlpHttp.ts +64 -0
  304. package/src/effect/Otel/lib-tracer/ExporterTraceOtlpWebsocket.ts +38 -0
  305. package/src/effect/Otel/lib-tracer/README.md +1 -0
  306. package/src/effect/Otel/lib-tracer/SimpleProcessor.ts +46 -0
  307. package/src/effect/Otel/lib-tracer/TracerProvider.ts +16 -0
  308. package/src/effect/Otel/lib-tracer/WebProvider.ts +48 -0
  309. package/src/effect/Schedule.ts +12 -0
  310. package/src/effect/ServiceContext.ts +116 -0
  311. package/src/effect/index.ts +65 -0
  312. package/src/global.ts +5 -0
  313. package/src/guards.ts +8 -0
  314. package/src/index.ts +217 -0
  315. package/src/object/index.ts +24 -0
  316. package/src/object/omit.ts +17 -0
  317. package/src/object/pick.ts +27 -0
  318. package/src/promise.ts +43 -0
  319. package/src/set.ts +10 -0
  320. package/src/string.ts +2 -0
  321. package/src/time.ts +25 -0
  322. package/tsconfig.json +13 -0
@@ -0,0 +1,10 @@
1
+ export declare class Deferred<T> {
2
+ private readonly _promise;
3
+ private _resolve;
4
+ private _reject;
5
+ constructor();
6
+ get promise(): Promise<T>;
7
+ resolve: (value: T | PromiseLike<T>) => void;
8
+ reject: (reason?: any) => void;
9
+ }
10
+ //# sourceMappingURL=Deferred.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Deferred.d.ts","sourceRoot":"","sources":["../src/Deferred.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAQ,CAAC,CAAC;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IACrC,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,OAAO,CAAwB;;IASvC,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAExB;IAED,OAAO,UAAW,CAAC,GAAG,YAAY,CAAC,CAAC,KAAG,IAAI,CAE1C;IAED,MAAM,YAAa,GAAG,KAAG,IAAI,CAE5B;CACF"}
@@ -0,0 +1,18 @@
1
+ export class Deferred {
2
+ constructor() {
3
+ this.resolve = (value) => {
4
+ this._resolve(value);
5
+ };
6
+ this.reject = (reason) => {
7
+ this._reject(reason);
8
+ };
9
+ this._promise = new Promise((resolve, reject) => {
10
+ this._resolve = resolve;
11
+ this._reject = reject;
12
+ });
13
+ }
14
+ get promise() {
15
+ return this._promise;
16
+ }
17
+ }
18
+ //# sourceMappingURL=Deferred.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Deferred.js","sourceRoot":"","sources":["../src/Deferred.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAQ;IAKnB;QAWA,YAAO,GAAG,CAAC,KAAyB,EAAQ,EAAE;YAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC,CAAA;QAED,WAAM,GAAG,CAAC,MAAY,EAAQ,EAAE;YAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC,CAAA;QAhBC,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;YACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACvB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;CASF"}
@@ -0,0 +1,9 @@
1
+ import type * as otel from '@opentelemetry/api';
2
+ export declare const makeNoopTracer: () => otel.Tracer;
3
+ export declare class NoopTracer {
4
+ startSpan: () => otel.Span;
5
+ startActiveSpan<F extends (span: otel.Span) => ReturnType<F>>(name: string, fn: F): ReturnType<F>;
6
+ startActiveSpan<F extends (span: otel.Span) => ReturnType<F>>(name: string, opts: otel.SpanOptions, fn: F): ReturnType<F>;
7
+ startActiveSpan<F extends (span: otel.Span) => ReturnType<F>>(name: string, opts: otel.SpanOptions, ctx: otel.Context, fn: F): ReturnType<F>;
8
+ }
9
+ //# sourceMappingURL=NoopTracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoopTracer.d.ts","sourceRoot":"","sources":["../src/NoopTracer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AA6B/C,eAAO,MAAM,cAAc,mBAE1B,CAAA;AAED,qBAAa,UAAU;IACrB,SAAS,kBAAuB;IAEhC,eAAe,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IACjG,eAAe,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAC1D,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,CAAC,WAAW,EACtB,EAAE,EAAE,CAAC,GACJ,UAAU,CAAC,CAAC,CAAC;IAChB,eAAe,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAC1D,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,CAAC,WAAW,EACtB,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,EAAE,EAAE,CAAC,GACJ,UAAU,CAAC,CAAC,CAAC;CA0BjB"}
@@ -0,0 +1,54 @@
1
+ const makeNoopSpan = () => {
2
+ const performanceStartTime = performance.now();
3
+ const span = {
4
+ _performanceStartTime: performanceStartTime,
5
+ setAttribute: () => null,
6
+ setAttributes: () => null,
7
+ addEvent: () => null,
8
+ setStatus: () => null,
9
+ updateName: () => null,
10
+ recordException: () => null,
11
+ end: () => {
12
+ const endTime = performance.now();
13
+ const duration = endTime - performanceStartTime;
14
+ const durationSecs = duration / 1000;
15
+ const durationRestNs = (duration % 1000) * 1000000;
16
+ span._duration = [durationSecs, durationRestNs];
17
+ },
18
+ spanContext: () => {
19
+ return { traceId: 'noop-trace-id', spanId: 'noop-span-id' };
20
+ },
21
+ _duration: [0, 0],
22
+ };
23
+ return span;
24
+ };
25
+ export const makeNoopTracer = () => {
26
+ return new NoopTracer();
27
+ };
28
+ export class NoopTracer {
29
+ constructor() {
30
+ this.startSpan = () => makeNoopSpan();
31
+ }
32
+ startActiveSpan(name, arg2, arg3, arg4) {
33
+ let _opts;
34
+ let _ctx;
35
+ let fn;
36
+ if (arguments.length < 2) {
37
+ return;
38
+ }
39
+ else if (arguments.length === 2) {
40
+ fn = arg2;
41
+ }
42
+ else if (arguments.length === 3) {
43
+ _opts = arg2;
44
+ fn = arg3;
45
+ }
46
+ else {
47
+ _opts = arg2;
48
+ _ctx = arg3;
49
+ fn = arg4;
50
+ }
51
+ return fn(makeNoopSpan());
52
+ }
53
+ }
54
+ //# sourceMappingURL=NoopTracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoopTracer.js","sourceRoot":"","sources":["../src/NoopTracer.ts"],"names":[],"mappings":"AAGA,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,oBAAoB,GAAwB,WAAW,CAAC,GAAG,EAAE,CAAA;IAEnE,MAAM,IAAI,GAAG;QACX,qBAAqB,EAAE,oBAAoB;QAC3C,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI;QACxB,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI;QACzB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;QACpB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI;QACrB,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;QACtB,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI;QAC3B,GAAG,EAAE,GAAG,EAAE;YACR,MAAM,OAAO,GAAwB,WAAW,CAAC,GAAG,EAAE,CAAA;YACtD,MAAM,QAAQ,GAAG,OAAO,GAAG,oBAAoB,CAAA;YAC/C,MAAM,YAAY,GAAG,QAAQ,GAAG,IAAI,CAAA;YACpC,MAAM,cAAc,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,OAAS,CACnD;YAAC,IAAY,CAAC,SAAS,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;QAC3D,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YAChB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QAC7D,CAAC;QACD,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;KACM,CAAA;IAEzB,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,OAAO,IAAI,UAAU,EAA4B,CAAA;AACnD,CAAC,CAAA;AAED,MAAM,OAAO,UAAU;IAAvB;QACE,cAAS,GAAG,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;IAuClC,CAAC;IAzBC,eAAe,CACb,IAAY,EACZ,IAA2B,EAC3B,IAAuB,EACvB,IAAQ;QAER,IAAI,KAAmC,CAAA;QACvC,IAAI,IAA8B,CAAA;QAClC,IAAI,EAAK,CAAA;QAET,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,OAAM;SACP;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,EAAE,GAAG,IAAS,CAAA;SACf;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,KAAK,GAAG,IAAoC,CAAA;YAC5C,EAAE,GAAG,IAAS,CAAA;SACf;aAAM;YACL,KAAK,GAAG,IAAoC,CAAA;YAC5C,IAAI,GAAG,IAAgC,CAAA;YACvC,EAAE,GAAG,IAAS,CAAA;SACf;QAED,OAAO,EAAE,CAAC,YAAY,EAAE,CAAC,CAAA;IAC3B,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * CREDIT: https://gist.github.com/enepomnyaschih/72c423f727d395eeaa09697058238727
3
+ * Encodes a given Uint8Array, ArrayBuffer or string into RFC4648 base64 representation
4
+ * @param data
5
+ */
6
+ export declare const encode: (data: ArrayBuffer | string) => string;
7
+ /**
8
+ * Decodes a given RFC4648 base64 encoded string
9
+ * @param b64
10
+ */
11
+ export declare const decode: (b64: string) => Uint8Array;
12
+ //# sourceMappingURL=base64.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":"AAuEA;;;;GAIG;AACH,eAAO,MAAM,MAAM,SAAU,WAAW,GAAG,MAAM,KAAG,MA0BnD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,QAAS,MAAM,KAAG,UASpC,CAAA"}
package/dist/base64.js ADDED
@@ -0,0 +1,114 @@
1
+ // Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
2
+ // This module is browser compatible.
3
+ // https://deno.land/std/encoding/base64.ts
4
+ const base64abc = [
5
+ 'A',
6
+ 'B',
7
+ 'C',
8
+ 'D',
9
+ 'E',
10
+ 'F',
11
+ 'G',
12
+ 'H',
13
+ 'I',
14
+ 'J',
15
+ 'K',
16
+ 'L',
17
+ 'M',
18
+ 'N',
19
+ 'O',
20
+ 'P',
21
+ 'Q',
22
+ 'R',
23
+ 'S',
24
+ 'T',
25
+ 'U',
26
+ 'V',
27
+ 'W',
28
+ 'X',
29
+ 'Y',
30
+ 'Z',
31
+ 'a',
32
+ 'b',
33
+ 'c',
34
+ 'd',
35
+ 'e',
36
+ 'f',
37
+ 'g',
38
+ 'h',
39
+ 'i',
40
+ 'j',
41
+ 'k',
42
+ 'l',
43
+ 'm',
44
+ 'n',
45
+ 'o',
46
+ 'p',
47
+ 'q',
48
+ 'r',
49
+ 's',
50
+ 't',
51
+ 'u',
52
+ 'v',
53
+ 'w',
54
+ 'x',
55
+ 'y',
56
+ 'z',
57
+ '0',
58
+ '1',
59
+ '2',
60
+ '3',
61
+ '4',
62
+ '5',
63
+ '6',
64
+ '7',
65
+ '8',
66
+ '9',
67
+ '+',
68
+ '/',
69
+ ];
70
+ /**
71
+ * CREDIT: https://gist.github.com/enepomnyaschih/72c423f727d395eeaa09697058238727
72
+ * Encodes a given Uint8Array, ArrayBuffer or string into RFC4648 base64 representation
73
+ * @param data
74
+ */
75
+ export const encode = (data) => {
76
+ const uint8 = typeof data === 'string' ? new TextEncoder().encode(data) : data instanceof Uint8Array ? data : new Uint8Array(data);
77
+ let result = '', i;
78
+ const l = uint8.length;
79
+ for (i = 2; i < l; i += 3) {
80
+ result += base64abc[uint8[i - 2] >> 2];
81
+ result += base64abc[((uint8[i - 2] & 0x03) << 4) | (uint8[i - 1] >> 4)];
82
+ result += base64abc[((uint8[i - 1] & 0x0f) << 2) | (uint8[i] >> 6)];
83
+ result += base64abc[uint8[i] & 0x3f];
84
+ }
85
+ if (i === l + 1) {
86
+ // 1 octet yet to write
87
+ result += base64abc[uint8[i - 2] >> 2];
88
+ result += base64abc[(uint8[i - 2] & 0x03) << 4];
89
+ result += '==';
90
+ }
91
+ if (i === l) {
92
+ // 2 octets yet to write
93
+ result += base64abc[uint8[i - 2] >> 2];
94
+ result += base64abc[((uint8[i - 2] & 0x03) << 4) | (uint8[i - 1] >> 4)];
95
+ result += base64abc[(uint8[i - 1] & 0x0f) << 2];
96
+ result += '=';
97
+ }
98
+ return result;
99
+ };
100
+ /**
101
+ * Decodes a given RFC4648 base64 encoded string
102
+ * @param b64
103
+ */
104
+ export const decode = (b64) => {
105
+ const binString = atob(b64);
106
+ const size = binString.length;
107
+ const bytes = new Uint8Array(size);
108
+ for (let i = 0; i < size; i++) {
109
+ // eslint-disable-next-line unicorn/prefer-code-point
110
+ bytes[i] = binString.charCodeAt(i);
111
+ }
112
+ return bytes;
113
+ };
114
+ //# sourceMappingURL=base64.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.js","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qCAAqC;AACrC,2CAA2C;AAE3C,MAAM,SAAS,GAAG;IAChB,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACJ,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAA0B,EAAU,EAAE;IAC3D,MAAM,KAAK,GACT,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACtH,IAAI,MAAM,GAAG,EAAE,EACb,CAAC,CAAA;IACH,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;IACtB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QACzB,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC,CAAA;QACvC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QACzE,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QACrE,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,CAAA;KACtC;IACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACf,uBAAuB;QACvB,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC,CAAA;QACvC,MAAM,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAChD,MAAM,IAAI,IAAI,CAAA;KACf;IACD,IAAI,CAAC,KAAK,CAAC,EAAE;QACX,wBAAwB;QACxB,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC,CAAA;QACvC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QACzE,MAAM,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAChD,MAAM,IAAI,GAAG,CAAA;KACd;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAc,EAAE;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAA;IAC7B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;QAC7B,qDAAqD;QACrD,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;KACnC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare const encodeNumberTo4Bytes: (num: number) => Uint8Array;
2
+ export declare const decode4BytesToNumber: (bytes: Uint8Array) => number;
3
+ export declare const concatBytes: (...arrays: (Uint8Array | Uint8ClampedArray)[]) => Uint8Array;
4
+ //# sourceMappingURL=binary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,QAAS,MAAM,KAAG,UAOlD,CAAA;AAED,eAAO,MAAM,oBAAoB,UAAW,UAAU,KAAG,MAExD,CAAA;AAED,eAAO,MAAM,WAAW,cAAe,CAAC,UAAU,GAAG,iBAAiB,CAAC,EAAE,KAAG,UAa3E,CAAA"}
package/dist/binary.js ADDED
@@ -0,0 +1,23 @@
1
+ export const encodeNumberTo4Bytes = (num) => {
2
+ const bytes = new Uint8Array(4);
3
+ bytes[0] = num >> 24;
4
+ bytes[1] = num >> 16;
5
+ bytes[2] = num >> 8;
6
+ bytes[3] = num;
7
+ return bytes;
8
+ };
9
+ export const decode4BytesToNumber = (bytes) => {
10
+ return (bytes[0] << 24) | (bytes[1] << 16) | (bytes[2] << 8) | bytes[3];
11
+ };
12
+ export const concatBytes = (...arrays) => {
13
+ const totalSize = arrays.reduce((acc, array) => acc + array.byteLength, 0);
14
+ const result = new Uint8Array(totalSize);
15
+ for (let i = 0, offset = 0; i < arrays.length; i++) {
16
+ const array = arrays[i];
17
+ const arraySize = array.byteLength;
18
+ result.set(array, offset);
19
+ offset += arraySize;
20
+ }
21
+ return result;
22
+ };
23
+ //# sourceMappingURL=binary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary.js","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAc,EAAE;IAC9D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IAC/B,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,CAAA;IACpB,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,CAAA;IACpB,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;IACnB,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;IACd,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAiB,EAAU,EAAE;IAChE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;AAC7E,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAG,MAA0C,EAAc,EAAE;IACvF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IAE1E,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAA;IAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;QACxB,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAA;QAClC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACzB,MAAM,IAAI,SAAS,CAAA;KACpB;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export type DetectedBrowser = 'Something' | 'Opera' | 'Chrome' | 'Safari' | 'Firefox' | 'Edge' | 'Browser';
2
+ export declare const detectBrowserName: () => DetectedBrowser;
3
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;AAE1G,eAAO,MAAM,iBAAiB,EAAE,MAAM,eA6BrC,CAAA"}
@@ -0,0 +1,28 @@
1
+ export const detectBrowserName = () => {
2
+ if (!navigator.userAgent) {
3
+ return 'Something';
4
+ }
5
+ const isOpera = navigator.userAgent.includes('OP');
6
+ const isChrome = navigator.userAgent.includes('Chrome') && !isOpera;
7
+ const isSafari = navigator.userAgent.includes('Safari') && !isChrome;
8
+ const isFirefox = navigator.userAgent.includes('Firefox');
9
+ const isEdge = navigator.userAgent.includes('Edg') || navigator.userAgent.includes('Trident');
10
+ // TODO: also parse out version
11
+ if (isOpera) {
12
+ return 'Opera';
13
+ }
14
+ if (isChrome) {
15
+ return 'Chrome';
16
+ }
17
+ if (isSafari) {
18
+ return 'Safari';
19
+ }
20
+ if (isFirefox) {
21
+ return 'Firefox';
22
+ }
23
+ if (isEdge) {
24
+ return 'Edge';
25
+ }
26
+ return 'Browser';
27
+ };
28
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAA0B,GAAG,EAAE;IAC3D,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;QACxB,OAAO,WAAW,CAAA;KACnB;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;IACnE,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAA;IACpE,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAE7F,+BAA+B;IAE/B,IAAI,OAAO,EAAE;QACX,OAAO,OAAO,CAAA;KACf;IACD,IAAI,QAAQ,EAAE;QACZ,OAAO,QAAQ,CAAA;KAChB;IACD,IAAI,QAAQ,EAAE;QACZ,OAAO,QAAQ,CAAA;KAChB;IACD,IAAI,SAAS,EAAE;QACb,OAAO,SAAS,CAAA;KACjB;IACD,IAAI,MAAM,EAAE;QACV,OAAO,MAAM,CAAA;KACd;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type * as Duration from '@effect/data/Duration';
2
+ import * as Effect from '@effect/io/Effect';
3
+ import type * as Scope from '@effect/io/Scope';
4
+ export declare const debounce: <C, E, A>(effect: Effect.Effect<C, E, A>, minDelay: Duration.Duration) => Effect.Effect<C | Scope.Scope, never, Effect.Effect<never, never, void>>;
5
+ //# sourceMappingURL=Debounce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Debounce.d.ts","sourceRoot":"","sources":["../../src/effect/Debounce.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AA6B9C,eAAO,MAAM,QAAQ,sDAET,iBAAiB,6EAiBzB,CAAA"}
@@ -0,0 +1,33 @@
1
+ import * as Effect from '@effect/io/Effect';
2
+ import * as STM from '@effect/stm/STM';
3
+ import * as TRef from '@effect/stm/TRef';
4
+ const waitAndReset = (count) => STM.gen(function* ($) {
5
+ const current = yield* $(TRef.get(count));
6
+ if (current > 0) {
7
+ return yield* $(TRef.set(count, 0));
8
+ }
9
+ return yield* $(STM.retry);
10
+ });
11
+ const waitForZero = (count) => STM.gen(function* ($) {
12
+ const current = yield* $(TRef.get(count));
13
+ if (current === 0) {
14
+ return;
15
+ }
16
+ return STM.retry;
17
+ });
18
+ const scheduleAndWait = (count) => Effect.gen(function* ($) {
19
+ yield* $(TRef.update(count, (n) => n + 1));
20
+ yield* $(waitForZero(count));
21
+ });
22
+ // TODO remove this in favour of new Effect Request approach
23
+ export const debounce = (effect, minDelay) => Effect.gen(function* ($) {
24
+ const count = yield* $(TRef.make(0));
25
+ yield* $(Effect.gen(function* ($) {
26
+ while (true) {
27
+ yield* $(waitAndReset(count));
28
+ yield* $(effect, Effect.delay(minDelay));
29
+ }
30
+ }), Effect.forkScoped, Effect.interruptible);
31
+ return scheduleAndWait(count);
32
+ });
33
+ //# sourceMappingURL=Debounce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Debounce.js","sourceRoot":"","sources":["../../src/effect/Debounce.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAA;AACtC,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAA;AAExC,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,EAAE,CAChD,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IACzC,IAAI,OAAO,GAAG,CAAC,EAAE;QACf,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;KACpC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAC,CAAA;AAEJ,MAAM,WAAW,GAAG,CAAC,KAAwB,EAAE,EAAE,CAC/C,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IACzC,IAAI,OAAO,KAAK,CAAC,EAAE;QACjB,OAAM;KACP;IACD,OAAO,GAAG,CAAC,KAAK,CAAA;AAClB,CAAC,CAAC,CAAA;AAEJ,MAAM,eAAe,GAAG,CAAC,KAAwB,EAAE,EAAE,CACnD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrB,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1C,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;AAC9B,CAAC,CAAC,CAAA;AAEJ,4DAA4D;AAC5D,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,MAA8B,EAC9B,QAA2B,EAC+C,EAAE,CAC5E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAEpC,KAAK,CAAC,CAAC,CAAC,CACN,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,EAAE;YACX,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;YAC7B,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;SACzC;IACH,CAAC,CAAC,EACF,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,aAAa,CACrB,CAAA;IAED,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import * as Effect from '@effect/io/Effect';
2
+ export * from '@effect/io/Effect';
3
+ export declare const logError: <A>(message: A, ...rest: any[]) => Effect.Effect<never, never, void>;
4
+ /** Logs both on errors and defects */
5
+ export declare const tapCauseLogPretty: <R, E, A>(eff: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>;
6
+ export declare const tapSync: <A>(tapFn: (a: A) => unknown) => <R, E>(eff: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>;
7
+ //# sourceMappingURL=Effect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../../src/effect/Effect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,cAAc,mBAAmB,CAAA;AAEjC,eAAO,MAAM,QAAQ,2BAA4B,GAAG,EAAE,KAAG,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAGrF,CAAA;AAEJ,sCAAsC;AACtC,eAAO,MAAM,iBAAiB,kEAU1B,CAAA;AAEJ,eAAO,MAAM,OAAO,uBACG,OAAO,kEAEyB,CAAA"}
@@ -0,0 +1,17 @@
1
+ import * as Cause from '@effect/io/Cause';
2
+ import * as Effect from '@effect/io/Effect';
3
+ export * from '@effect/io/Effect';
4
+ export const logError = (message, ...rest) => Effect.sync(() => {
5
+ console.error(message, ...rest);
6
+ });
7
+ /** Logs both on errors and defects */
8
+ export const tapCauseLogPretty = (eff) => Effect.tapErrorCause(eff, (err) => {
9
+ if (Cause.isInterruptedOnly(err)) {
10
+ return Effect.unit;
11
+ }
12
+ // @ts-expect-error TODO get proper worker name https://github.com/vitejs/vite/issues/12992
13
+ const threadName = window.__tmpWorkerName ? `Worker ${window.__tmpWorkerName}` : 'Main Thread';
14
+ return logError(`Error on ${threadName}`, Cause.pretty(err));
15
+ });
16
+ export const tapSync = (tapFn) => (eff) => Effect.tap(eff, (a) => Effect.sync(() => tapFn(a)));
17
+ //# sourceMappingURL=Effect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Effect.js","sourceRoot":"","sources":["../../src/effect/Effect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,cAAc,mBAAmB,CAAA;AAEjC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,OAAU,EAAE,GAAG,IAAW,EAAqC,EAAE,CAC3F,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;AACjC,CAAC,CAAC,CAAA;AAEJ,sCAAsC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAU,GAA2B,EAA0B,EAAE,CAChG,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;IAChC,IAAI,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE;QAChC,OAAO,MAAM,CAAC,IAAI,CAAA;KACnB;IAED,2FAA2F;IAC3F,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,aAAa,CAAA;IAE9F,OAAO,QAAQ,CAAC,YAAY,UAAU,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;AAC9D,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,OAAO,GAClB,CAAI,KAAwB,EAAE,EAAE,CAChC,CAAO,GAA2B,EAA0B,EAAE,CAC5D,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import * as Effect from '@effect/io/Effect';
2
+ import * as Queue from '@effect/io/Queue';
3
+ import * as Stream from '@effect/stream/Stream';
4
+ export declare const EndItem: unique symbol;
5
+ export type EndItem = typeof EndItem;
6
+ export type EndableQueueItem<TItem> = TItem | EndItem;
7
+ export type EndableQueue<TItem> = Queue.Queue<EndableQueueItem<TItem>>;
8
+ export declare const make: <TItem>() => Effect.Effect<never, never, Queue.Queue<EndableQueueItem<TItem>>>;
9
+ export declare const end: <TItem>(queue: EndableQueue<TItem>) => Effect.Effect<never, never, boolean>;
10
+ export declare const createStream: <TItem>(queue: EndableQueue<TItem>, maxChunkSize?: number) => Stream.Stream<never, never, TItem>;
11
+ //# sourceMappingURL=EndableQueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndableQueue.d.ts","sourceRoot":"","sources":["../../src/effect/EndableQueue.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAE/C,eAAO,MAAM,OAAO,eAAmE,CAAA;AACvF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAA;AAEpC,MAAM,MAAM,gBAAgB,CAAC,KAAK,IAAI,KAAK,GAAG,OAAO,CAAA;AACrD,MAAM,MAAM,YAAY,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAA;AAEtE,eAAO,MAAM,IAAI,gFAA0D,CAAA;AAE3E,eAAO,MAAM,GAAG,6EAAqE,CAAA;AAErF,eAAO,MAAM,YAAY,qDAET,MAAM,uCAmBrB,CAAA"}
@@ -0,0 +1,22 @@
1
+ import * as Chunk from '@effect/data/Chunk';
2
+ import * as Option from '@effect/data/Option';
3
+ import * as Effect from '@effect/io/Effect';
4
+ import * as Queue from '@effect/io/Queue';
5
+ import * as Stream from '@effect/stream/Stream';
6
+ export const EndItem = Symbol.for('@livestore/utils/effect/EnvVarEndableQueue/EndItem');
7
+ export const make = () => Queue.unbounded();
8
+ export const end = (queue) => Queue.offer(queue, EndItem);
9
+ export const createStream = (queue, maxChunkSize = Stream.DefaultChunkSize) => {
10
+ return Stream.repeatEffectChunkOption(Effect.gen(function* ($) {
11
+ const items = yield* $(Queue.takeBetween(queue, 1, maxChunkSize));
12
+ const nonEndItems = Chunk.filter(items, (item) => item !== EndItem);
13
+ if (Chunk.isEmpty(nonEndItems)) {
14
+ return yield* $(Effect.fail(Option.none()));
15
+ }
16
+ if (nonEndItems.length !== items.length) {
17
+ yield* $(Queue.offer(queue, EndItem));
18
+ }
19
+ return nonEndItems;
20
+ }));
21
+ };
22
+ //# sourceMappingURL=EndableQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndableQueue.js","sourceRoot":"","sources":["../../src/effect/EndableQueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAE/C,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAA;AAMvF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAU,EAAE,CAAC,KAAK,CAAC,SAAS,EAA2B,CAAA;AAE3E,MAAM,CAAC,MAAM,GAAG,GAAG,CAAQ,KAA0B,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAErF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,KAA0B,EAC1B,eAAuB,MAAM,CAAC,gBAAgB,EACV,EAAE;IACtC,OAAO,MAAM,CAAC,uBAAuB,CACnC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAA;QAEjE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;QAEnE,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;SAC5C;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;YACvC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;SACtC;QAED,OAAO,WAAiC,CAAA;IAC1C,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ import * as Context from '@effect/data/Context';
2
+ import * as Effect from '@effect/io/Effect';
3
+ declare const EnvVarSymbol: unique symbol;
4
+ type EnvVarSymbol = typeof EnvVarSymbol;
5
+ export declare class EnvVarImpl<Name> {
6
+ readonly envVarName: Name;
7
+ readonly value: string;
8
+ readonly [EnvVarSymbol]: symbol;
9
+ constructor(envVarName: Name, value: string);
10
+ }
11
+ export declare const provideEnvVar: <Name extends string>(envVarName: Name) => <R1, E1, A1>(ma: Effect.Effect<R1, E1, A1>) => Effect.Effect<Exclude<R1, EnvVar<Name>>, E1, A1>;
12
+ export interface EnvVar<Name extends string> extends EnvVarImpl<Name> {
13
+ }
14
+ export declare const EnvVarFor: <Name extends string>(envVarName: Name) => Context.Tag<EnvVar<Name>, EnvVar<Name>>;
15
+ export {};
16
+ //# sourceMappingURL=EnvVar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvVar.d.ts","sourceRoot":"","sources":["../../src/effect/EnvVar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,QAAA,MAAM,YAAY,eAA+C,CAAA;AACjE,KAAK,YAAY,GAAG,OAAO,YAAY,CAAA;AAEvC,qBAAa,UAAU,CAAC,IAAI;IAGxB,QAAQ,CAAC,UAAU,EAAE,IAAI;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAHxB,QAAQ,CAAC,CAAC,YAAY,CAAC,SAAe;gBAE3B,UAAU,EAAE,IAAI,EAChB,KAAK,EAAE,MAAM;CAEzB;AAED,eAAO,MAAM,aAAa,4IAQzB,CAAA;AAED,MAAM,WAAW,MAAM,CAAC,IAAI,SAAS,MAAM,CAAE,SAAQ,UAAU,CAAC,IAAI,CAAC;CAAG;AAExE,eAAO,MAAM,SAAS,oFACsC,CAAA"}
@@ -0,0 +1,21 @@
1
+ var _a;
2
+ import * as Context from '@effect/data/Context';
3
+ import * as Effect from '@effect/io/Effect';
4
+ const EnvVarSymbol = Symbol.for('@livestore/utils/effect/EnvVar');
5
+ export class EnvVarImpl {
6
+ constructor(envVarName, value) {
7
+ this.envVarName = envVarName;
8
+ this.value = value;
9
+ this[_a] = EnvVarSymbol;
10
+ }
11
+ }
12
+ _a = EnvVarSymbol;
13
+ export const provideEnvVar = (envVarName) => {
14
+ const value = process?.env?.[envVarName];
15
+ if (value === undefined) {
16
+ return () => Effect.die(new Error(`Environment variable not found: "${envVarName}"`));
17
+ }
18
+ return Effect.provideService(EnvVarFor(envVarName), new EnvVarImpl(envVarName, value));
19
+ };
20
+ export const EnvVarFor = (envVarName) => Context.Tag(Symbol.for(`env/${envVarName}`));
21
+ //# sourceMappingURL=EnvVar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvVar.js","sourceRoot":"","sources":["../../src/effect/EnvVar.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;AAGjE,MAAM,OAAO,UAAU;IAErB,YACW,UAAgB,EAChB,KAAa;QADb,eAAU,GAAV,UAAU,CAAM;QAChB,UAAK,GAAL,KAAK,CAAQ;QAHf,QAAc,GAAG,YAAY,CAAA;IAInC,CAAC;CACL;KALW,YAAY;AAOxB,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,UAAgB,EACmF,EAAE;IACrG,MAAM,KAAK,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAA;IACxC,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,oCAAoC,UAAU,GAAG,CAAC,CAAC,CAAA;KACtF;IACD,OAAO,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;AACxF,CAAC,CAAA;AAID,MAAM,CAAC,MAAM,SAAS,GAAG,CAAsB,UAAgB,EAA2C,EAAE,CAC1G,OAAO,CAAC,GAAG,CAAe,MAAM,CAAC,GAAG,CAAC,OAAO,UAAU,EAAE,CAAC,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ declare const UnknownError_base: new <A extends Record<string, any>>(args: import("@effect/data/Types.js").Equals<Omit<A, keyof import("@effect/data/Equal.js").Equal>, {}> extends true ? void : Omit<A, keyof import("@effect/data/Equal.js").Equal>) => import("@effect/data/Data").Data<A & {
2
+ _tag: "UnknownError";
3
+ }>;
4
+ export declare class UnknownError extends UnknownError_base<{
5
+ readonly error: any;
6
+ readonly payload?: any;
7
+ }> {
8
+ toString: () => string;
9
+ static from: (error: any, payload?: any) => UnknownError;
10
+ }
11
+ export {};
12
+ //# sourceMappingURL=Error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Error.d.ts","sourceRoot":"","sources":["../../src/effect/Error.ts"],"names":[],"mappings":";;;AAIA,qBAAa,YAAa,SAAQ,kBAA4B;IAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC;IAC5G,QAAQ,eAGP;IAED,MAAM,CAAC,IAAI,UAAW,GAAG,YAAY,GAAG,kBAAyC;CAClF"}
@@ -0,0 +1,13 @@
1
+ import { TaggedClass } from '@effect/data/Data';
2
+ import { errorToString, objectToString } from '../index.js';
3
+ export class UnknownError extends TaggedClass('UnknownError') {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.toString = () => {
7
+ const payloadStr = this.payload ? ` with payload ${objectToString(this.payload)}` : '';
8
+ return `UnknownError: ${errorToString(this.error)}${payloadStr}`;
9
+ };
10
+ }
11
+ }
12
+ UnknownError.from = (error, payload) => new UnknownError({ error, payload });
13
+ //# sourceMappingURL=Error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Error.js","sourceRoot":"","sources":["../../src/effect/Error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE3D,MAAM,OAAO,YAAa,SAAQ,WAAW,CAAC,cAAc,CAAkD;IAA9G;;QACE,aAAQ,GAAG,GAAG,EAAE;YACd,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACtF,OAAO,iBAAiB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,EAAE,CAAA;QAClE,CAAC,CAAA;IAGH,CAAC;;AADQ,iBAAI,GAAG,CAAC,KAAU,EAAE,OAAa,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,AAAtE,CAAsE"}
@@ -0,0 +1,14 @@
1
+ import * as Effect from '@effect/io/Effect';
2
+ import * as TRef from '@effect/stm/TRef';
3
+ export declare class Gate {
4
+ private readonly ref;
5
+ constructor(ref: TRef.TRef<boolean>);
6
+ open: Effect.Effect<never, never, boolean>;
7
+ close: Effect.Effect<never, never, boolean>;
8
+ waitForOpen: Effect.Effect<never, never, void>;
9
+ waitForOpenAndThenClose: Effect.Effect<never, never, void>;
10
+ waitForClose: Effect.Effect<never, never, void>;
11
+ runGated: <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>;
12
+ }
13
+ export declare const makeGate: (initiallyOpen: boolean) => Effect.Effect<never, never, Gate>;
14
+ //# sourceMappingURL=Gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Gate.d.ts","sourceRoot":"","sources":["../../src/effect/Gate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAA;AAExC,qBAAa,IAAI;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAEpD,IAAI,uCAAmD;IAEvD,KAAK,uCAAoD;IAEzD,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAI7C;IAED,uBAAuB,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAKzD;IAED,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAI9C;IAED,QAAQ,sEAKL;CACJ;AAED,eAAO,MAAM,QAAQ,kBAAmB,OAAO,KAAG,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAK/E,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { pipe } from '@effect/data/Function';
2
+ import * as Effect from '@effect/io/Effect';
3
+ import * as STM from '@effect/stm/STM';
4
+ import * as TRef from '@effect/stm/TRef';
5
+ export class Gate {
6
+ constructor(ref) {
7
+ this.ref = ref;
8
+ this.open = pipe(TRef.getAndSet(this.ref, true), STM.commit);
9
+ this.close = pipe(TRef.getAndSet(this.ref, false), STM.commit);
10
+ this.waitForOpen = pipe(TRef.get(this.ref), STM.flatMap((isOpen) => STM.check(() => isOpen)), STM.commit);
11
+ this.waitForOpenAndThenClose = pipe(TRef.get(this.ref), STM.flatMap((isOpen) => STM.check(() => isOpen)), STM.flatMap(() => TRef.set(this.ref, false)), STM.commit);
12
+ this.waitForClose = pipe(TRef.get(this.ref), STM.flatMap((isOpen) => STM.check(() => !isOpen)), STM.commit);
13
+ this.runGated = (effect) => pipe(this.waitForOpenAndThenClose, Effect.flatMap(() => effect), Effect.tap(() => this.open));
14
+ }
15
+ }
16
+ export const makeGate = (initiallyOpen) => pipe(TRef.make(initiallyOpen), STM.map((ref) => new Gate(ref)), STM.commit);
17
+ //# sourceMappingURL=Gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Gate.js","sourceRoot":"","sources":["../../src/effect/Gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAA;AACtC,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAA;AAExC,MAAM,OAAO,IAAI;IACf,YAA6B,GAAuB;QAAvB,QAAG,GAAH,GAAG,CAAoB;QAEpD,SAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QAEvD,UAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QAEzD,gBAAW,GAAsC,IAAI,CACnD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAClB,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAChD,GAAG,CAAC,MAAM,CACX,CAAA;QAED,4BAAuB,GAAsC,IAAI,CAC/D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAClB,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAChD,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAC5C,GAAG,CAAC,MAAM,CACX,CAAA;QAED,iBAAY,GAAsC,IAAI,CACpD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAClB,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EACjD,GAAG,CAAC,MAAM,CACX,CAAA;QAED,aAAQ,GAAG,CAAU,MAA8B,EAA0B,EAAE,CAC7E,IAAI,CACF,IAAI,CAAC,uBAAuB,EAC5B,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5B,CAAA;IA9BoD,CAAC;CA+BzD;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,aAAsB,EAAqC,EAAE,CACpF,IAAI,CACF,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EACxB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAC/B,GAAG,CAAC,MAAM,CACX,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from '@effect/io/Layer';
2
+ import type * as Effect from '@effect/io/Effect';
3
+ import * as Layer from '@effect/io/Layer';
4
+ export declare const unwrapEffect: <R, R1, E, E1, A>(self: Effect.Effect<R1, E1, Layer.Layer<R, E, A>>) => Layer.Layer<R | R1, E | E1, A>;
5
+ export declare const DummyLive: Layer.Layer<never, never, "dummy">;
6
+ //# sourceMappingURL=Layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Layer.d.ts","sourceRoot":"","sources":["../../src/effect/Layer.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAEhC,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAEzC,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EACzC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAC9C,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAIjC,CAAA;AAGD,eAAO,MAAM,SAAS,oCAAgC,CAAA"}
@@ -0,0 +1,11 @@
1
+ export * from '@effect/io/Layer';
2
+ import * as Context from '@effect/data/Context';
3
+ import * as Layer from '@effect/io/Layer';
4
+ export const unwrapEffect = (self) => {
5
+ const tag = Context.Tag();
6
+ const eff = Layer.effect(tag, self);
7
+ return Layer.flatMap(eff, (context) => Context.get(context, tag));
8
+ };
9
+ const Dummy = Context.Tag('@livestore/utils/effect/Dummy');
10
+ export const DummyLive = Layer.succeed(Dummy, 'dummy');
11
+ //# sourceMappingURL=Layer.js.map