@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,142 @@
1
+ import * as Data from '@effect/data/Data';
2
+ import { pipe } from '@effect/data/Function';
3
+ import * as Effect from '@effect/io/Effect';
4
+ import * as msgpack from 'msgpackr';
5
+ import * as Otel from './Otel/index.js';
6
+ export const fetchHead = (url, headers) => pipe(Effect.tryPromise({
7
+ try: () => fetch(url, { method: 'head', headers }),
8
+ catch: (error) => new FetchHeadError({ url, error }),
9
+ }), Effect.tap((res) => Otel.addAttribute('http.status', res.status)), Otel.withSpan('fetchHead', { attributes: { 'http.url': url.toString() } }));
10
+ export const fetchText = (url, headers) => pipe(Effect.tryPromise({
11
+ try: () => fetch(url, { headers }),
12
+ catch: (error) => new FetchTextError({ url, error }),
13
+ }), Effect.tap((res) => Otel.addAttribute('http.status', res.status)), Effect.flatMap((resp) => resp.ok
14
+ ? Effect.tryPromise({
15
+ try: () => resp.text(),
16
+ catch: (error) => new FetchTextError({ url, error, status: resp.status }),
17
+ })
18
+ : Effect.fail(new FetchTextError({ url, status: resp.status }))), Otel.withSpan('fetchText', { attributes: { 'http.url': url.toString() } }));
19
+ // TODO refactor
20
+ export const fetchPostMsgpack = ({ url, payload, headers, }) => pipe(Effect.try(() => {
21
+ const formData = new FormData();
22
+ const payloadBuffer = msgpack.pack(payload);
23
+ const payloadBlob = new Blob([payloadBuffer], { type: 'application/octet-stream' });
24
+ formData.append('bytes', payloadBlob);
25
+ return formData;
26
+ }), Effect.flatMap((formData) => Effect.tryPromise(() => fetch(url, { headers, method: 'POST', body: formData }))), Effect.mapError((error) => new FetchMsgpackError({ url, error })), Effect.tap((res) => Otel.addAttribute('http.status', res.status)), Effect.flatMap((resp) => resp.ok
27
+ ? Effect.tryPromise({
28
+ try: () => resp.arrayBuffer(),
29
+ catch: (error) => new FetchMsgpackError({ url, error, status: resp.status }),
30
+ })
31
+ : Effect.fail(new FetchMsgpackError({ url, status: resp.status }))), Effect.map((responseBuffer) => {
32
+ // NOTE this is needed since otherwise `new Date(someBigInt)` will throw
33
+ const packr = new msgpack.Packr({ useRecords: false, int64AsNumber: true });
34
+ return packr.unpack(new Uint8Array(responseBuffer));
35
+ }), Otel.withSpan('fetchPostMsgpack', { attributes: { 'http.url': url.toString() } }));
36
+ export const fetchJSON = (url, headers) => pipe(Effect.tryPromise({
37
+ try: () => fetch(url, { headers }),
38
+ catch: (error) => new FetchJSONError({ url, error }),
39
+ }), Effect.tap((res) => Otel.addAttribute('http.status', res.status)), Effect.flatMap((resp) => resp.ok
40
+ ? Effect.tryPromise({
41
+ try: () => resp.json(),
42
+ catch: (error) => new FetchJSONError({
43
+ url,
44
+ error,
45
+ status: resp.status,
46
+ headers: Object.fromEntries(resp.headers.entries()),
47
+ }),
48
+ })
49
+ : pipe(Effect.tryPromise({
50
+ try: () => resp.json(),
51
+ catch: (error) => new FetchJSONError({
52
+ url,
53
+ error,
54
+ status: resp.status,
55
+ headers: Object.fromEntries(resp.headers.entries()),
56
+ }),
57
+ }), Effect.flatMap((body) => Effect.fail(new FetchJSONError({
58
+ url,
59
+ status: resp.status,
60
+ body,
61
+ headers: Object.fromEntries(resp.headers.entries()),
62
+ }))))), Otel.withSpan('fetchJSON', { attributes: { 'http.url': url.toString() } }));
63
+ export const fetchJSONPost = (url, headers) => pipe(Effect.tryPromise({
64
+ try: () => fetch(url, { headers, method: 'post' }),
65
+ catch: (error) => new FetchJSONError({ url, error }),
66
+ }), Effect.tap((res) => Otel.addAttribute('http.status', res.status)), Effect.flatMap((resp) => resp.ok
67
+ ? Effect.tryPromise({
68
+ try: () => resp.json(),
69
+ catch: (error) => new FetchJSONError({ url, error, status: resp.status }),
70
+ })
71
+ : Effect.fail(new FetchJSONError({ url, status: resp.status }))), Otel.withSpan('fetchJSONPost', { attributes: { 'http.url': url.toString() } }));
72
+ // TODO refactor to merge with `fetchJSONPost`
73
+ export const fetchJSONPostWithBody = ({ url, body, headers, }) => pipe(Effect.tryPromise({
74
+ try: () => fetch(url, { headers, method: 'post', body: JSON.stringify(body) }),
75
+ catch: (error) => new FetchJSONError({ url, error }),
76
+ }), Effect.tap((res) => Otel.addAttribute('http.status', res.status)), Effect.flatMap((resp) => resp.ok
77
+ ? Effect.tryPromise({
78
+ try: () => resp.json(),
79
+ catch: (error) => new FetchJSONError({ url, error, status: resp.status }),
80
+ })
81
+ : pipe(Effect.tryPromise(() => resp.json()), Effect.mapError(() => new FetchJSONError({ url, status: resp.status })), Effect.flatMap((jsonError) => Effect.fail(new FetchJSONError({ url, status: resp.status, error: jsonError }))))), Otel.withSpan('fetchJSONPostWithBody', { attributes: { 'http.url': url.toString() } }));
82
+ export const fetchArrayBuffer = (url, headers) => pipe(Effect.tryPromise({
83
+ try: () => fetch(url, { headers }),
84
+ catch: (error) => new FetchArrayBufferError({ url, error }),
85
+ }), Effect.tap((res) => Otel.addAttribute('http.status', res.status)), Effect.flatMap((resp) => resp.ok
86
+ ? Effect.tryPromise({
87
+ try: () => resp.arrayBuffer(),
88
+ catch: (error) => new FetchArrayBufferError({ url, error, status: resp.status }),
89
+ })
90
+ : Effect.fail(new FetchArrayBufferError({ url, status: resp.status }))), Otel.withSpan('fetchArrayBuffer', { attributes: { 'http.url': url.toString() } }));
91
+ export const fetchBlob = (url) => pipe(Effect.tryPromise({
92
+ try: () => fetch(url),
93
+ catch: (error) => new FetchBlobError({ url, error }),
94
+ }), Effect.tap((res) => Otel.addAttribute('http.status', res.status)), Effect.flatMap((resp) => resp.ok
95
+ ? Effect.tryPromise({
96
+ try: () => resp.blob(),
97
+ catch: (error) => new FetchBlobError({ url, error, status: resp.status }),
98
+ })
99
+ : Effect.fail(new FetchBlobError({ url, status: resp.status }))), Otel.withSpan('fetchBlob', { attributes: { 'http.url': url.toString() } }));
100
+ export class FetchHeadError extends Data.TaggedClass('FetchHeadError') {
101
+ constructor() {
102
+ super(...arguments);
103
+ this.message = `Couldn't fetch URL "${this.url}". ${this.error}`;
104
+ this.toString = () => `FetchHeadError: ${JSON.stringify(this)}`;
105
+ }
106
+ }
107
+ export class FetchTextError extends Data.TaggedClass('FetchTextError') {
108
+ constructor() {
109
+ super(...arguments);
110
+ this.message = `Couldn't fetch URL "${this.url}". ${this.error}`;
111
+ this.toString = () => `FetchTextError: ${JSON.stringify(this)}`;
112
+ }
113
+ }
114
+ export class FetchMsgpackError extends Data.TaggedClass('FetchMsgpackError') {
115
+ constructor() {
116
+ super(...arguments);
117
+ this.message = `Couldn't fetch URL "${this.url}". ${this.error}`;
118
+ this.toString = () => `FetchMsgpackError: ${JSON.stringify(this)}`;
119
+ }
120
+ }
121
+ export class FetchJSONError extends Data.TaggedClass('FetchJSONError') {
122
+ constructor() {
123
+ super(...arguments);
124
+ this.message = `Couldn't fetch URL "${this.url}". ${this.error}`;
125
+ this.toString = () => `FetchJSONError: ${JSON.stringify(this)}`;
126
+ }
127
+ }
128
+ export class FetchArrayBufferError extends Data.TaggedClass('FetchArrayBufferError') {
129
+ constructor() {
130
+ super(...arguments);
131
+ this.message = `Couldn't fetch URL "${this.url}". ${this.error}`;
132
+ this.toString = () => `FetchArrayBufferError: ${JSON.stringify(this)}`;
133
+ }
134
+ }
135
+ export class FetchBlobError extends Data.TaggedClass('FetchBlobError') {
136
+ constructor() {
137
+ super(...arguments);
138
+ this.message = `Couldn't fetch URL "${this.url}". ${this.error}`;
139
+ this.toString = () => `FetchBlobError: ${JSON.stringify(this)}`;
140
+ }
141
+ }
142
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/effect/fetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import '../global.js';
2
+ export * as Effect from './Effect.js';
3
+ export * as Scope from '@effect/io/Scope';
4
+ export * as Schedule from './Schedule.js';
5
+ export * as Layer from '@effect/io/Layer';
6
+ export * as Ref from '@effect/io/Ref';
7
+ export * as SynchronizedRef from '@effect/io/SynchronizedRef';
8
+ export * as Queue from '@effect/io/Queue';
9
+ export * as Fiber from '@effect/io/Fiber';
10
+ export * as FiberId from '@effect/io/FiberId';
11
+ export * as RuntimeFlags from '@effect/io/RuntimeFlags';
12
+ export * as Hub from '@effect/io/Hub';
13
+ export * as Exit from '@effect/io/Exit';
14
+ export * as Cause from '@effect/io/Cause';
15
+ export * as Runtime from '@effect/io/Runtime';
16
+ export * as Scheduler from '@effect/io/Scheduler';
17
+ export * as FiberRef from '@effect/io/FiberRef';
18
+ export * as FiberRefs from '@effect/io/FiberRefs';
19
+ export * as FiberRefsPatch from '@effect/io/FiberRefsPatch';
20
+ export * as Deferred from '@effect/io/Deferred';
21
+ export * as Metric from '@effect/io/Metric';
22
+ export * as MetricState from '@effect/io/MetricState';
23
+ export * as Request from '@effect/io/Request';
24
+ export * as Context from '@effect/data/Context';
25
+ export * as Data from '@effect/data/Data';
26
+ export { TaggedClass as Tagged } from '@effect/data/Data';
27
+ export * as Either from '@effect/data/Either';
28
+ export * as Brand from '@effect/data/Brand';
29
+ export * as Hash from '@effect/data/Hash';
30
+ export * as Equal from '@effect/data/Equal';
31
+ export * as Ord from '@effect/data/Order';
32
+ export * as Chunk from '@effect/data/Chunk';
33
+ export * as Duration from '@effect/data/Duration';
34
+ export * as ReadonlyArray from '@effect/data/ReadonlyArray';
35
+ export * as ReadonlyRecord from '@effect/data/ReadonlyRecord';
36
+ export * as SortedMap from '@effect/data/SortedMap';
37
+ export * as HashMap from '@effect/data/HashMap';
38
+ export * as HashSet from '@effect/data/HashSet';
39
+ export * as MutableHashSet from '@effect/data/MutableHashSet';
40
+ export * as Option from '@effect/data/Option';
41
+ export { pipe, identity } from '@effect/data/Function';
42
+ export * as Stream from '@effect/stream/Stream';
43
+ export * as Channel from '@effect/stream/Channel';
44
+ export * as SubscriptionRef from '@effect/stream/SubscriptionRef';
45
+ export * as Schema from '@effect/schema/Schema';
46
+ export * as Match from '@effect/match';
47
+ export * as Otel from './Otel/index.js';
48
+ export * from './Error.js';
49
+ export * as ServiceContext from './ServiceContext.js';
50
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAGrB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAG7C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAC7D,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAC7D,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGtD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAA;AAGjE,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAG/C,OAAO,KAAK,KAAK,MAAM,eAAe,CAAA;AAGtC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AAGvC,cAAc,YAAY,CAAA;AAG1B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,58 @@
1
+ import '../global.js';
2
+ // io
3
+ export * as Effect from './Effect.js';
4
+ export * as Scope from '@effect/io/Scope';
5
+ export * as Schedule from './Schedule.js';
6
+ export * as Layer from '@effect/io/Layer';
7
+ export * as Ref from '@effect/io/Ref';
8
+ export * as SynchronizedRef from '@effect/io/SynchronizedRef';
9
+ export * as Queue from '@effect/io/Queue';
10
+ export * as Fiber from '@effect/io/Fiber';
11
+ export * as FiberId from '@effect/io/FiberId';
12
+ export * as RuntimeFlags from '@effect/io/RuntimeFlags';
13
+ export * as Hub from '@effect/io/Hub';
14
+ export * as Exit from '@effect/io/Exit';
15
+ export * as Cause from '@effect/io/Cause';
16
+ export * as Runtime from '@effect/io/Runtime';
17
+ export * as Scheduler from '@effect/io/Scheduler';
18
+ export * as FiberRef from '@effect/io/FiberRef';
19
+ export * as FiberRefs from '@effect/io/FiberRefs';
20
+ export * as FiberRefsPatch from '@effect/io/FiberRefsPatch';
21
+ export * as Deferred from '@effect/io/Deferred';
22
+ export * as Metric from '@effect/io/Metric';
23
+ export * as MetricState from '@effect/io/MetricState';
24
+ export * as Request from '@effect/io/Request';
25
+ // data
26
+ export * as Context from '@effect/data/Context';
27
+ export * as Data from '@effect/data/Data';
28
+ export { TaggedClass as Tagged } from '@effect/data/Data';
29
+ export * as Either from '@effect/data/Either';
30
+ export * as Brand from '@effect/data/Brand';
31
+ export * as Hash from '@effect/data/Hash';
32
+ export * as Equal from '@effect/data/Equal';
33
+ export * as Ord from '@effect/data/Order';
34
+ export * as Chunk from '@effect/data/Chunk';
35
+ export * as Duration from '@effect/data/Duration';
36
+ export * as ReadonlyArray from '@effect/data/ReadonlyArray';
37
+ export * as ReadonlyRecord from '@effect/data/ReadonlyRecord';
38
+ export * as SortedMap from '@effect/data/SortedMap';
39
+ export * as HashMap from '@effect/data/HashMap';
40
+ export * as HashSet from '@effect/data/HashSet';
41
+ export * as MutableHashSet from '@effect/data/MutableHashSet';
42
+ export * as Option from '@effect/data/Option';
43
+ export { pipe, identity } from '@effect/data/Function';
44
+ // stream
45
+ export * as Stream from '@effect/stream/Stream';
46
+ export * as Channel from '@effect/stream/Channel';
47
+ export * as SubscriptionRef from '@effect/stream/SubscriptionRef';
48
+ // schema
49
+ export * as Schema from '@effect/schema/Schema';
50
+ // match
51
+ export * as Match from '@effect/match';
52
+ // otel
53
+ export * as Otel from './Otel/index.js';
54
+ // error
55
+ export * from './Error.js';
56
+ // ServiceContext
57
+ export * as ServiceContext from './ServiceContext.js';
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,KAAK;AACL,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAE7C,OAAO;AACP,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAC7D,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAC7D,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEtD,SAAS;AACT,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAA;AAEjE,SAAS;AACT,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAE/C,QAAQ;AACR,OAAO,KAAK,KAAK,MAAM,eAAe,CAAA;AAEtC,OAAO;AACP,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AAEvC,QAAQ;AACR,cAAc,YAAY,CAAA;AAE1B,iBAAiB;AACjB,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,5 @@
1
+ declare global {
2
+ export type TODO = any;
3
+ }
4
+ export {};
5
+ //# sourceMappingURL=global.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,CAAC;IACb,MAAM,MAAM,IAAI,GAAG,GAAG,CAAA;CACvB;AAED,OAAO,EAAE,CAAA"}
package/dist/global.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=global.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global.js","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export declare const isNotUndefined: <T>(_: T | undefined) => _ is T;
2
+ export declare const isNotNull: <T>(_: T | null) => _ is T;
3
+ export declare const isUndefined: <T>(_: T | undefined) => _ is undefined;
4
+ export declare const isNil: (val: any) => val is null | undefined;
5
+ export declare const isNotNil: <T>(val: T | null | undefined) => val is T;
6
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,iCAAmD,CAAA;AAE9E,eAAO,MAAM,SAAS,4BAAyC,CAAA;AAC/D,eAAO,MAAM,WAAW,yCAA2D,CAAA;AAEnF,eAAO,MAAM,KAAK,QAAS,GAAG,4BAA+D,CAAA;AAE7F,eAAO,MAAM,QAAQ,4CAAgF,CAAA"}
package/dist/guards.js ADDED
@@ -0,0 +1,6 @@
1
+ export const isNotUndefined = (_) => _ !== undefined;
2
+ export const isNotNull = (_) => _ !== null;
3
+ export const isUndefined = (_) => _ === undefined;
4
+ export const isNil = (val) => val === null || val === undefined;
5
+ export const isNotNil = (val) => val !== null && val !== undefined;
6
+ //# sourceMappingURL=guards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAI,CAAgB,EAAU,EAAE,CAAC,CAAC,KAAK,SAAS,CAAA;AAE9E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,CAAW,EAAU,EAAE,CAAC,CAAC,KAAK,IAAI,CAAA;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,CAAgB,EAAkB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAA;AAEnF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAQ,EAA2B,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAA;AAE7F,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,GAAyB,EAAY,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAA"}
@@ -0,0 +1,69 @@
1
+ export * from './string.js';
2
+ export * from './guards.js';
3
+ export * from './object/index.js';
4
+ export * from './promise.js';
5
+ export * from './time.js';
6
+ export * from './NoopTracer.js';
7
+ export * from './set.js';
8
+ export * from './browser.js';
9
+ export * from './Deferred.js';
10
+ export * as base64 from './base64.js';
11
+ export { default as prettyBytes } from 'pretty-bytes';
12
+ export { v4 as uuid } from 'uuid';
13
+ import type * as otel from '@opentelemetry/api';
14
+ export * as dateFns from 'date-fns';
15
+ export type Prettify<T> = T extends infer U ? {
16
+ [K in keyof U]: Prettify<U[K]>;
17
+ } : never;
18
+ export type PrettifyFlat<T> = T extends infer U ? {
19
+ [K in keyof U]: U[K];
20
+ } : never;
21
+ export type TypeEq<A, B> = (<T>() => T extends A ? 1 : 2) extends <T>() => T extends B ? 1 : 2 ? true : false;
22
+ /** `A` is subtype of `B` */
23
+ export type IsSubtype<A, B> = A extends B ? true : false;
24
+ export type AssertTrue<T extends true> = T;
25
+ export type Writeable<T> = {
26
+ -readonly [P in keyof T]: T[P];
27
+ };
28
+ export type DeepWriteable<T> = {
29
+ -readonly [P in keyof T]: DeepWriteable<T[P]>;
30
+ };
31
+ export type Primitive = null | undefined | string | number | boolean | symbol | bigint;
32
+ export type LiteralUnion<LiteralType, BaseType extends Primitive> = LiteralType | (BaseType & Record<never, never>);
33
+ export declare const sleep: (ms: number) => Promise<unknown>;
34
+ export declare const times: (n: number, fn: (index: number) => {}) => void;
35
+ export declare const debugCatch: <T>(try_: () => T) => T;
36
+ export declare const recRemoveUndefinedValues: (val: any) => void;
37
+ export declare const debugDeepCopy: <T>(val: T) => T;
38
+ export declare const prop: <T extends {}, K extends keyof T>(key: K) => (obj: T) => T[K];
39
+ export declare const objectToString: (error: any) => string;
40
+ export declare const errorToString: (error: any) => string;
41
+ export declare const capitalizeFirstLetter: (str: string) => string;
42
+ /**
43
+ * Use this to make assertion at end of if-else chain that all members of a
44
+ * union have been accounted for.
45
+ */
46
+ export declare function casesHandled(unexpectedCase: never): never;
47
+ export declare const shouldNeverHappen: (msg?: string) => never;
48
+ export declare const assertNever: (failIfFalse: boolean, msg?: string) => void;
49
+ export declare const debuggerPipe: <T>(val: T) => T;
50
+ export declare const notYetImplemented: (msg?: string) => never;
51
+ export declare const noop: () => void;
52
+ export type Thunk<T> = () => T;
53
+ export declare const unwrapThunk: <T>(_: T | (() => T)) => T;
54
+ export type NullableFieldsToOptional<T> = PrettifyFlat<Partial<T> & {
55
+ [K in keyof T as null extends T[K] ? K : never]?: Exclude<T[K], null>;
56
+ } & {
57
+ [K in keyof T as null extends T[K] ? never : K]: T[K];
58
+ }>;
59
+ /** `end` is not included */
60
+ export declare const range: (start: number, end: number) => number[];
61
+ export declare const throttle: (fn: () => void, ms: number) => () => void;
62
+ export declare const getTraceParentHeader: (parentSpan: otel.Span) => string;
63
+ export declare const assertTag: <TObj extends {
64
+ _tag: string;
65
+ }, TTag extends TObj["_tag"]>(obj: TObj, tag: TTag) => Extract<TObj, {
66
+ _tag: TTag;
67
+ }>;
68
+ export declare const getEnv: (varName: string) => string | undefined;
69
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,162 @@
1
+ export * from './string.js';
2
+ export * from './guards.js';
3
+ export * from './object/index.js';
4
+ export * from './promise.js';
5
+ export * from './time.js';
6
+ export * from './NoopTracer.js';
7
+ export * from './set.js';
8
+ export * from './browser.js';
9
+ export * from './Deferred.js';
10
+ export * as base64 from './base64.js';
11
+ export { default as prettyBytes } from 'pretty-bytes';
12
+ export { v4 as uuid } from 'uuid';
13
+ export * as dateFns from 'date-fns';
14
+ export const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
15
+ export const times = (n, fn) => {
16
+ for (let i = 0; i < n; i++) {
17
+ fn(i);
18
+ }
19
+ };
20
+ export const debugCatch = (try_) => {
21
+ try {
22
+ return try_();
23
+ }
24
+ catch (e) {
25
+ debugger;
26
+ throw e;
27
+ }
28
+ };
29
+ export const recRemoveUndefinedValues = (val) => {
30
+ if (Array.isArray(val)) {
31
+ val.forEach(recRemoveUndefinedValues);
32
+ }
33
+ else if (typeof val === 'object') {
34
+ Object.keys(val).forEach((key) => {
35
+ if (val[key] === undefined) {
36
+ delete val[key];
37
+ }
38
+ else {
39
+ recRemoveUndefinedValues(val[key]);
40
+ }
41
+ });
42
+ }
43
+ };
44
+ export const debugDeepCopy = (val) => JSON.parse(JSON.stringify(val));
45
+ export const prop = (key) => (obj) => obj[key];
46
+ export const objectToString = (error) => {
47
+ const stack = typeof process !== 'undefined' && process.env.CL_DEBUG ? error.stack : undefined;
48
+ const str = error.toString();
49
+ const stackStr = stack ? `\n${stack}` : '';
50
+ if (str !== '[object Object]')
51
+ return str + stackStr;
52
+ try {
53
+ return JSON.stringify({ ...error, stack }, null, 2);
54
+ }
55
+ catch (e) {
56
+ console.log(error);
57
+ return 'Error while printing error: ' + e;
58
+ }
59
+ };
60
+ export const errorToString = objectToString;
61
+ export const capitalizeFirstLetter = (str) => str.charAt(0).toUpperCase() + str.slice(1);
62
+ /**
63
+ * Use this to make assertion at end of if-else chain that all members of a
64
+ * union have been accounted for.
65
+ */
66
+ /* eslint-disable-next-line prefer-arrow/prefer-arrow-functions */
67
+ export function casesHandled(unexpectedCase) {
68
+ debugger;
69
+ throw new Error(`A case was not handled for value: ${truncate(objectToString(unexpectedCase), 1000)}`);
70
+ }
71
+ export const shouldNeverHappen = (msg) => {
72
+ debugger;
73
+ throw new Error(`This should never happen ${msg}`);
74
+ };
75
+ export const assertNever = (failIfFalse, msg) => {
76
+ if (failIfFalse === false) {
77
+ debugger;
78
+ throw new Error(`This should never happen ${msg}`);
79
+ }
80
+ };
81
+ export const debuggerPipe = (val) => {
82
+ debugger;
83
+ return val;
84
+ };
85
+ const truncate = (str, length) => {
86
+ if (str.length > length) {
87
+ return str.slice(0, length) + '...';
88
+ }
89
+ else {
90
+ return str;
91
+ }
92
+ };
93
+ export const notYetImplemented = (msg) => {
94
+ debugger;
95
+ throw new Error(`Not yet implemented ${msg}`);
96
+ };
97
+ export const noop = () => { };
98
+ export const unwrapThunk = (_) => {
99
+ if (typeof _ === 'function') {
100
+ return _();
101
+ }
102
+ else {
103
+ return _;
104
+ }
105
+ };
106
+ /** `end` is not included */
107
+ export const range = (start, end) => {
108
+ const length = end - start;
109
+ return Array.from({ length }, (_, i) => start + i);
110
+ };
111
+ export const throttle = (fn, ms) => {
112
+ let shouldWait = false;
113
+ let shouldCallAgain = false;
114
+ const timeoutFunc = () => {
115
+ if (shouldCallAgain) {
116
+ fn();
117
+ shouldCallAgain = false;
118
+ setTimeout(timeoutFunc, ms);
119
+ }
120
+ else {
121
+ shouldWait = false;
122
+ }
123
+ };
124
+ return () => {
125
+ if (shouldWait) {
126
+ shouldCallAgain = true;
127
+ return;
128
+ }
129
+ fn();
130
+ shouldWait = true;
131
+ setTimeout(timeoutFunc, ms);
132
+ };
133
+ };
134
+ export const getTraceParentHeader = (parentSpan) => {
135
+ const spanContext = parentSpan.spanContext();
136
+ // Format: {version}-{trace_id}-{span_id}-{trace_flags}
137
+ // https://www.w3.org/TR/trace-context/#examples-of-http-traceparent-headers
138
+ return `00-${spanContext.traceId}-${spanContext.spanId}-01`;
139
+ };
140
+ export const assertTag = (obj, tag) => {
141
+ if (obj._tag !== tag) {
142
+ throw new Error(`Expected tag ${tag} but got ${obj._tag}`);
143
+ }
144
+ return obj;
145
+ };
146
+ export const getEnv = (varName) => {
147
+ let value;
148
+ // @ts-expect-error `import.meta.env` might not be defined
149
+ if (import.meta.env !== undefined) {
150
+ // @ts-expect-error `import.meta.env` might not be defined
151
+ value = import.meta.env[varName];
152
+ // eslint-disable-next-line unicorn/no-negated-condition
153
+ }
154
+ else if (globalThis.process?.env !== undefined) {
155
+ value = globalThis.process.env[varName];
156
+ }
157
+ else {
158
+ throw new Error(`No environment variables found (neither import.meta.env nor process.env)`);
159
+ }
160
+ return value;
161
+ };
162
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export * from './pick.js';
2
+ export * from './omit.js';
3
+ type ValueOfRecord<R extends Record<any, any>> = R extends Record<any, infer V> ? V : never;
4
+ export declare const mapObjectValues: <O_In extends Record<string, any>, V_Out>(obj: O_In, mapValue: (key: keyof O_In, val: ValueOfRecord<O_In>) => V_Out) => { [K in keyof O_In]: V_Out; };
5
+ export type Entries<T> = {
6
+ [K in keyof T]: [K, T[K]];
7
+ }[keyof T][];
8
+ export declare const objectEntries: <T extends Record<string, any>>(obj: T) => Entries<T>;
9
+ export declare const keyObjectFromObject: <TObj extends Record<string, any>>(obj: TObj) => { [K in keyof TObj]: K; };
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":"AAEA,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AAEzB,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAE3F,eAAO,MAAM,eAAe,uJAM3B,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;AAEjE,eAAO,MAAM,aAAa,uDAA2F,CAAA;AAErH,eAAO,MAAM,mBAAmB,4EAItB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { pipe } from '@effect/data/Function';
2
+ export * from './pick.js';
3
+ export * from './omit.js';
4
+ export const mapObjectValues = (obj, mapValue) => {
5
+ const mappedEntries = Object.entries(obj).map(([key, val]) => [key, mapValue(key, val)]);
6
+ return Object.fromEntries(mappedEntries);
7
+ };
8
+ export const objectEntries = (obj) => Object.entries(obj);
9
+ export const keyObjectFromObject = (obj) => pipe(objectEntries(obj).map(([k]) => [k, k]), Object.fromEntries);
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAE5C,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AAIzB,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,GAAS,EACT,QAA8D,EAChC,EAAE;IAChC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAiB,EAAE,GAAG,CAAC,CAAU,CAAC,CAAA;IAC/G,OAAO,MAAM,CAAC,WAAW,CAAC,aAAa,CAAQ,CAAA;AACjD,CAAC,CAAA;AAID,MAAM,CAAC,MAAM,aAAa,GAAG,CAAgC,GAAM,EAAc,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAe,CAAA;AAErH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAmC,GAAS,EAA4B,EAAE,CAC3G,IAAI,CACF,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACvC,MAAM,CAAC,WAAW,CACZ,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** Returns a shallowly cloned object with the provided keys omitted */
2
+ export declare const omit: <Obj extends Record<string, any>, Keys extends keyof Obj>(obj: Obj, keys: Keys[]) => Omit<Obj, Keys>;
3
+ //# sourceMappingURL=omit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../src/object/omit.ts"],"names":[],"mappings":"AAKA,uEAAuE;AACvE,eAAO,MAAM,IAAI,sGAUhB,CAAA"}
@@ -0,0 +1,14 @@
1
+ // type ConvertUndefined<T> = OrUndefined<{ [K in keyof T as undefined extends T[K] ? K : never]-?: T[K] }>
2
+ // type OrUndefined<T> = { [K in keyof T]: T[K] | undefined }
3
+ // type PickRequired<T> = { [K in keyof T as undefined extends T[K] ? never : K]: T[K] }
4
+ // type ConvertPick<T> = ConvertUndefined<T> & PickRequired<T>
5
+ /** Returns a shallowly cloned object with the provided keys omitted */
6
+ export const omit = (obj, keys) => {
7
+ return Object.keys(obj).reduce((acc, key) => {
8
+ if (!keys.includes(key)) {
9
+ acc[key] = obj[key];
10
+ }
11
+ return acc;
12
+ }, {});
13
+ };
14
+ //# sourceMappingURL=omit.js.map