@typed/fx 1.18.4 → 1.20.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 (423) hide show
  1. package/AsyncData/package.json +6 -0
  2. package/Emitter/package.json +6 -0
  3. package/Form/package.json +6 -0
  4. package/FormEntry/package.json +6 -0
  5. package/Fx/package.json +6 -0
  6. package/Guard/package.json +6 -0
  7. package/Idle/package.json +6 -0
  8. package/Match/package.json +6 -0
  9. package/Pull/package.json +6 -0
  10. package/Push/package.json +6 -0
  11. package/RefArray/package.json +6 -0
  12. package/RefChunk/package.json +6 -0
  13. package/RefHashMap/package.json +6 -0
  14. package/RefHashSet/package.json +6 -0
  15. package/RefSubject/package.json +6 -0
  16. package/Sink/package.json +6 -0
  17. package/Stream/package.json +6 -0
  18. package/Subject/package.json +6 -0
  19. package/TypeId/package.json +6 -0
  20. package/Typeclass/package.json +6 -0
  21. package/Versioned/package.json +6 -0
  22. package/dist/cjs/AsyncData.js +177 -0
  23. package/dist/cjs/AsyncData.js.map +1 -0
  24. package/dist/cjs/Emitter.js +24 -21
  25. package/dist/cjs/Emitter.js.map +1 -1
  26. package/dist/cjs/Form.js +78 -21
  27. package/dist/cjs/Form.js.map +1 -1
  28. package/dist/cjs/FormEntry.js +75 -48
  29. package/dist/cjs/FormEntry.js.map +1 -1
  30. package/dist/cjs/Fx.js +517 -872
  31. package/dist/cjs/Fx.js.map +1 -1
  32. package/dist/cjs/Guard.js +21 -13
  33. package/dist/cjs/Guard.js.map +1 -1
  34. package/dist/cjs/Idle.js +49 -37
  35. package/dist/cjs/Idle.js.map +1 -1
  36. package/dist/cjs/Match.js +99 -61
  37. package/dist/cjs/Match.js.map +1 -1
  38. package/dist/cjs/Pull.js.map +1 -1
  39. package/dist/cjs/Push.js +168 -0
  40. package/dist/cjs/Push.js.map +1 -0
  41. package/dist/cjs/RefArray.js +32 -30
  42. package/dist/cjs/RefArray.js.map +1 -1
  43. package/dist/cjs/RefChunk.js +26 -24
  44. package/dist/cjs/RefChunk.js.map +1 -1
  45. package/dist/cjs/RefHashMap.js +20 -20
  46. package/dist/cjs/RefHashMap.js.map +1 -1
  47. package/dist/cjs/RefHashSet.js +11 -8
  48. package/dist/cjs/RefHashSet.js.map +1 -1
  49. package/dist/cjs/RefSubject.js +899 -158
  50. package/dist/cjs/RefSubject.js.map +1 -1
  51. package/dist/cjs/Sink.js +588 -62
  52. package/dist/cjs/Sink.js.map +1 -1
  53. package/dist/cjs/Stream.js +15 -10
  54. package/dist/cjs/Stream.js.map +1 -1
  55. package/dist/cjs/Subject.js +153 -55
  56. package/dist/cjs/Subject.js.map +1 -1
  57. package/dist/cjs/TypeId.js +10 -5
  58. package/dist/cjs/TypeId.js.map +1 -1
  59. package/dist/cjs/Typeclass.js +28 -31
  60. package/dist/cjs/Typeclass.js.map +1 -1
  61. package/dist/cjs/Versioned.js +118 -57
  62. package/dist/cjs/Versioned.js.map +1 -1
  63. package/dist/cjs/index.js +44 -8
  64. package/dist/cjs/index.js.map +1 -1
  65. package/dist/cjs/internal/{deferred-ref.js → DeferredRef.js} +45 -13
  66. package/dist/cjs/internal/DeferredRef.js.map +1 -0
  67. package/dist/cjs/internal/UnionToTuple.js +6 -0
  68. package/dist/cjs/internal/UnionToTuple.js.map +1 -0
  69. package/dist/cjs/internal/core.js +1590 -779
  70. package/dist/cjs/internal/core.js.map +1 -1
  71. package/dist/cjs/internal/diff.js +114 -0
  72. package/dist/cjs/internal/diff.js.map +1 -0
  73. package/dist/cjs/internal/effect-loop-operator.js +288 -0
  74. package/dist/cjs/internal/effect-loop-operator.js.map +1 -0
  75. package/dist/cjs/internal/effect-operator.js +46 -37
  76. package/dist/cjs/internal/effect-operator.js.map +1 -1
  77. package/dist/cjs/internal/effect-producer.js +74 -0
  78. package/dist/cjs/internal/effect-producer.js.map +1 -0
  79. package/dist/cjs/internal/helpers.js +158 -128
  80. package/dist/cjs/internal/helpers.js.map +1 -1
  81. package/dist/cjs/internal/keyed.js +136 -173
  82. package/dist/cjs/internal/keyed.js.map +1 -1
  83. package/dist/cjs/internal/loop-operator.js +213 -0
  84. package/dist/cjs/internal/loop-operator.js.map +1 -0
  85. package/dist/cjs/internal/operator.js +79 -0
  86. package/dist/cjs/internal/operator.js.map +1 -0
  87. package/dist/cjs/internal/protos.js +19 -81
  88. package/dist/cjs/internal/protos.js.map +1 -1
  89. package/dist/cjs/internal/provide.js +47 -25
  90. package/dist/cjs/internal/provide.js.map +1 -1
  91. package/dist/cjs/internal/requestIdleCallback.js +5 -5
  92. package/dist/cjs/internal/requestIdleCallback.js.map +1 -1
  93. package/dist/cjs/internal/share.js +12 -15
  94. package/dist/cjs/internal/share.js.map +1 -1
  95. package/dist/cjs/internal/sync-operator.js +50 -22
  96. package/dist/cjs/internal/sync-operator.js.map +1 -1
  97. package/dist/cjs/internal/sync-producer.js +114 -0
  98. package/dist/cjs/internal/sync-producer.js.map +1 -0
  99. package/dist/cjs/internal/withKey.js +45 -51
  100. package/dist/cjs/internal/withKey.js.map +1 -1
  101. package/dist/dts/AsyncData.d.ts +185 -0
  102. package/dist/dts/AsyncData.d.ts.map +1 -0
  103. package/dist/dts/Emitter.d.ts +13 -20
  104. package/dist/dts/Emitter.d.ts.map +1 -1
  105. package/dist/dts/Form.d.ts +45 -28
  106. package/dist/dts/Form.d.ts.map +1 -1
  107. package/dist/dts/FormEntry.d.ts +25 -13
  108. package/dist/dts/FormEntry.d.ts.map +1 -1
  109. package/dist/dts/Fx.d.ts +983 -1387
  110. package/dist/dts/Fx.d.ts.map +1 -1
  111. package/dist/dts/Guard.d.ts +8 -1
  112. package/dist/dts/Guard.d.ts.map +1 -1
  113. package/dist/dts/Idle.d.ts +3 -3
  114. package/dist/dts/Idle.d.ts.map +1 -1
  115. package/dist/dts/Match.d.ts +8 -8
  116. package/dist/dts/Match.d.ts.map +1 -1
  117. package/dist/dts/Pull.d.ts +5 -5
  118. package/dist/dts/Pull.d.ts.map +1 -1
  119. package/dist/dts/Push.d.ts +170 -0
  120. package/dist/dts/Push.d.ts.map +1 -0
  121. package/dist/dts/RefArray.d.ts +21 -23
  122. package/dist/dts/RefArray.d.ts.map +1 -1
  123. package/dist/dts/RefChunk.d.ts +17 -19
  124. package/dist/dts/RefChunk.d.ts.map +1 -1
  125. package/dist/dts/RefHashMap.d.ts +19 -20
  126. package/dist/dts/RefHashMap.d.ts.map +1 -1
  127. package/dist/dts/RefHashSet.d.ts +12 -16
  128. package/dist/dts/RefHashSet.d.ts.map +1 -1
  129. package/dist/dts/RefSubject.d.ts +396 -187
  130. package/dist/dts/RefSubject.d.ts.map +1 -1
  131. package/dist/dts/Sink.d.ts +193 -93
  132. package/dist/dts/Sink.d.ts.map +1 -1
  133. package/dist/dts/Stream.d.ts +7 -1
  134. package/dist/dts/Stream.d.ts.map +1 -1
  135. package/dist/dts/Subject.d.ts +27 -36
  136. package/dist/dts/Subject.d.ts.map +1 -1
  137. package/dist/dts/TypeId.d.ts +10 -0
  138. package/dist/dts/TypeId.d.ts.map +1 -1
  139. package/dist/dts/Typeclass.d.ts +2 -2
  140. package/dist/dts/Typeclass.d.ts.map +1 -1
  141. package/dist/dts/Versioned.d.ts +50 -78
  142. package/dist/dts/Versioned.d.ts.map +1 -1
  143. package/dist/dts/index.d.ts +66 -6
  144. package/dist/dts/index.d.ts.map +1 -1
  145. package/dist/dts/internal/DeferredRef.d.ts +20 -0
  146. package/dist/dts/internal/DeferredRef.d.ts.map +1 -0
  147. package/dist/dts/internal/UnionToTuple.d.ts +6 -0
  148. package/dist/dts/internal/UnionToTuple.d.ts.map +1 -0
  149. package/dist/dts/internal/core.d.ts +218 -450
  150. package/dist/dts/internal/core.d.ts.map +1 -1
  151. package/dist/dts/internal/diff.d.ts +38 -0
  152. package/dist/dts/internal/diff.d.ts.map +1 -0
  153. package/dist/dts/internal/effect-loop-operator.d.ts +34 -0
  154. package/dist/dts/internal/effect-loop-operator.d.ts.map +1 -0
  155. package/dist/dts/internal/effect-operator.d.ts +8 -5
  156. package/dist/dts/internal/effect-operator.d.ts.map +1 -1
  157. package/dist/dts/internal/effect-producer.d.ts +25 -0
  158. package/dist/dts/internal/effect-producer.d.ts.map +1 -0
  159. package/dist/dts/internal/helpers.d.ts +33 -24
  160. package/dist/dts/internal/helpers.d.ts.map +1 -1
  161. package/dist/dts/internal/keyed.d.ts +3 -3
  162. package/dist/dts/internal/keyed.d.ts.map +1 -1
  163. package/dist/dts/internal/loop-operator.d.ts +40 -0
  164. package/dist/dts/internal/loop-operator.d.ts.map +1 -0
  165. package/dist/dts/internal/operator.d.ts +16 -0
  166. package/dist/dts/internal/operator.d.ts.map +1 -0
  167. package/dist/dts/internal/protos.d.ts +16 -43
  168. package/dist/dts/internal/protos.d.ts.map +1 -1
  169. package/dist/dts/internal/provide.d.ts +7 -1
  170. package/dist/dts/internal/provide.d.ts.map +1 -1
  171. package/dist/dts/internal/share.d.ts +12 -9
  172. package/dist/dts/internal/share.d.ts.map +1 -1
  173. package/dist/dts/internal/sync-operator.d.ts +7 -3
  174. package/dist/dts/internal/sync-operator.d.ts.map +1 -1
  175. package/dist/dts/internal/sync-producer.d.ts +36 -0
  176. package/dist/dts/internal/sync-producer.d.ts.map +1 -0
  177. package/dist/dts/internal/withKey.d.ts +3 -3
  178. package/dist/dts/internal/withKey.d.ts.map +1 -1
  179. package/dist/esm/AsyncData.js +151 -0
  180. package/dist/esm/AsyncData.js.map +1 -0
  181. package/dist/esm/Emitter.js +24 -21
  182. package/dist/esm/Emitter.js.map +1 -1
  183. package/dist/esm/Form.js +69 -14
  184. package/dist/esm/Form.js.map +1 -1
  185. package/dist/esm/FormEntry.js +77 -52
  186. package/dist/esm/FormEntry.js.map +1 -1
  187. package/dist/esm/Fx.js +509 -874
  188. package/dist/esm/Fx.js.map +1 -1
  189. package/dist/esm/Guard.js +5 -1
  190. package/dist/esm/Guard.js.map +1 -1
  191. package/dist/esm/Idle.js +49 -39
  192. package/dist/esm/Idle.js.map +1 -1
  193. package/dist/esm/Match.js +103 -63
  194. package/dist/esm/Match.js.map +1 -1
  195. package/dist/esm/Pull.js.map +1 -1
  196. package/dist/esm/Push.js +159 -0
  197. package/dist/esm/Push.js.map +1 -0
  198. package/dist/esm/RefArray.js +32 -30
  199. package/dist/esm/RefArray.js.map +1 -1
  200. package/dist/esm/RefChunk.js +26 -24
  201. package/dist/esm/RefChunk.js.map +1 -1
  202. package/dist/esm/RefHashMap.js +20 -20
  203. package/dist/esm/RefHashMap.js.map +1 -1
  204. package/dist/esm/RefHashSet.js +11 -8
  205. package/dist/esm/RefHashSet.js.map +1 -1
  206. package/dist/esm/RefSubject.js +873 -150
  207. package/dist/esm/RefSubject.js.map +1 -1
  208. package/dist/esm/Sink.js +608 -57
  209. package/dist/esm/Sink.js.map +1 -1
  210. package/dist/esm/Stream.js +13 -9
  211. package/dist/esm/Stream.js.map +1 -1
  212. package/dist/esm/Subject.js +151 -56
  213. package/dist/esm/Subject.js.map +1 -1
  214. package/dist/esm/TypeId.js +9 -4
  215. package/dist/esm/TypeId.js.map +1 -1
  216. package/dist/esm/Typeclass.js +29 -29
  217. package/dist/esm/Typeclass.js.map +1 -1
  218. package/dist/esm/Versioned.js +110 -53
  219. package/dist/esm/Versioned.js.map +1 -1
  220. package/dist/esm/index.js +66 -6
  221. package/dist/esm/index.js.map +1 -1
  222. package/dist/esm/internal/DeferredRef.js +54 -0
  223. package/dist/esm/internal/DeferredRef.js.map +1 -0
  224. package/dist/esm/internal/UnionToTuple.js +2 -0
  225. package/dist/esm/internal/UnionToTuple.js.map +1 -0
  226. package/dist/esm/internal/core.js +1439 -719
  227. package/dist/esm/internal/core.js.map +1 -1
  228. package/dist/esm/internal/diff.js +82 -0
  229. package/dist/esm/internal/diff.js.map +1 -0
  230. package/dist/esm/internal/effect-loop-operator.js +269 -0
  231. package/dist/esm/internal/effect-loop-operator.js.map +1 -0
  232. package/dist/esm/internal/effect-operator.js +44 -37
  233. package/dist/esm/internal/effect-operator.js.map +1 -1
  234. package/dist/esm/internal/effect-producer.js +47 -0
  235. package/dist/esm/internal/effect-producer.js.map +1 -0
  236. package/dist/esm/internal/helpers.js +157 -129
  237. package/dist/esm/internal/helpers.js.map +1 -1
  238. package/dist/esm/internal/keyed.js +128 -139
  239. package/dist/esm/internal/keyed.js.map +1 -1
  240. package/dist/esm/internal/loop-operator.js +186 -0
  241. package/dist/esm/internal/loop-operator.js.map +1 -0
  242. package/dist/esm/internal/operator.js +68 -0
  243. package/dist/esm/internal/operator.js.map +1 -0
  244. package/dist/esm/internal/protos.js +16 -75
  245. package/dist/esm/internal/protos.js.map +1 -1
  246. package/dist/esm/internal/provide.js +33 -25
  247. package/dist/esm/internal/provide.js.map +1 -1
  248. package/dist/esm/internal/requestIdleCallback.js +5 -5
  249. package/dist/esm/internal/requestIdleCallback.js.map +1 -1
  250. package/dist/esm/internal/share.js +12 -12
  251. package/dist/esm/internal/share.js.map +1 -1
  252. package/dist/esm/internal/sync-operator.js +49 -21
  253. package/dist/esm/internal/sync-operator.js.map +1 -1
  254. package/dist/esm/internal/sync-producer.js +88 -0
  255. package/dist/esm/internal/sync-producer.js.map +1 -0
  256. package/dist/esm/internal/withKey.js +46 -47
  257. package/dist/esm/internal/withKey.js.map +1 -1
  258. package/package.json +22 -62
  259. package/src/AsyncData.ts +447 -0
  260. package/src/Emitter.ts +47 -38
  261. package/src/Form.ts +185 -65
  262. package/src/FormEntry.ts +142 -109
  263. package/src/Fx.ts +1685 -1851
  264. package/src/Guard.ts +12 -1
  265. package/src/Idle.ts +76 -62
  266. package/src/Match.ts +149 -93
  267. package/src/Pull.ts +8 -8
  268. package/src/Push.ts +472 -0
  269. package/src/RefArray.ts +53 -51
  270. package/src/RefChunk.ts +44 -41
  271. package/src/RefHashMap.ts +57 -43
  272. package/src/RefHashSet.ts +21 -31
  273. package/src/RefSubject.ts +1984 -457
  274. package/src/Sink.ts +922 -171
  275. package/src/Stream.ts +32 -20
  276. package/src/Subject.ts +230 -87
  277. package/src/TypeId.ts +16 -4
  278. package/src/Typeclass.ts +31 -32
  279. package/src/Versioned.ts +220 -168
  280. package/src/index.ts +78 -6
  281. package/src/internal/DeferredRef.ts +62 -0
  282. package/src/internal/UnionToTuple.ts +11 -0
  283. package/src/internal/core.ts +2491 -1950
  284. package/src/internal/diff.ts +157 -0
  285. package/src/internal/effect-loop-operator.ts +466 -0
  286. package/src/internal/effect-operator.ts +89 -54
  287. package/src/internal/effect-producer.ts +125 -0
  288. package/src/internal/helpers.ts +275 -205
  289. package/src/internal/keyed.ts +192 -241
  290. package/src/internal/loop-operator.ts +266 -0
  291. package/src/internal/operator.ts +87 -0
  292. package/src/internal/protos.ts +29 -104
  293. package/src/internal/provide.ts +48 -40
  294. package/src/internal/requestIdleCallback.ts +5 -6
  295. package/src/internal/share.ts +26 -24
  296. package/src/internal/sync-operator.ts +68 -27
  297. package/src/internal/sync-producer.ts +146 -0
  298. package/src/internal/withKey.ts +64 -74
  299. package/dist/cjs/Computed.js +0 -115
  300. package/dist/cjs/Computed.js.map +0 -1
  301. package/dist/cjs/Filtered.js +0 -95
  302. package/dist/cjs/Filtered.js.map +0 -1
  303. package/dist/cjs/Model.js +0 -119
  304. package/dist/cjs/Model.js.map +0 -1
  305. package/dist/cjs/RefAsyncData.js +0 -187
  306. package/dist/cjs/RefAsyncData.js.map +0 -1
  307. package/dist/cjs/RefAsyncDataArray.js +0 -38
  308. package/dist/cjs/RefAsyncDataArray.js.map +0 -1
  309. package/dist/cjs/RefBoolean.js +0 -45
  310. package/dist/cjs/RefBoolean.js.map +0 -1
  311. package/dist/cjs/RefNumber.js +0 -49
  312. package/dist/cjs/RefNumber.js.map +0 -1
  313. package/dist/cjs/internal/core-ref-subject.js +0 -254
  314. package/dist/cjs/internal/core-ref-subject.js.map +0 -1
  315. package/dist/cjs/internal/core-subject.js +0 -108
  316. package/dist/cjs/internal/core-subject.js.map +0 -1
  317. package/dist/cjs/internal/deferred-ref.js.map +0 -1
  318. package/dist/cjs/internal/effect-primitive.js +0 -47
  319. package/dist/cjs/internal/effect-primitive.js.map +0 -1
  320. package/dist/cjs/internal/fx-effect-proto.js +0 -58
  321. package/dist/cjs/internal/fx-effect-proto.js.map +0 -1
  322. package/dist/cjs/internal/fx-primitive.js +0 -193
  323. package/dist/cjs/internal/fx-primitive.js.map +0 -1
  324. package/dist/cjs/internal/fx.js +0 -240
  325. package/dist/cjs/internal/fx.js.map +0 -1
  326. package/dist/cjs/internal/matchers.js +0 -34
  327. package/dist/cjs/internal/matchers.js.map +0 -1
  328. package/dist/cjs/internal/run.js +0 -54
  329. package/dist/cjs/internal/run.js.map +0 -1
  330. package/dist/cjs/internal/schema-ref-subject.js +0 -132
  331. package/dist/cjs/internal/schema-ref-subject.js.map +0 -1
  332. package/dist/cjs/internal/versioned-transform.js +0 -46
  333. package/dist/cjs/internal/versioned-transform.js.map +0 -1
  334. package/dist/dts/Computed.d.ts +0 -106
  335. package/dist/dts/Computed.d.ts.map +0 -1
  336. package/dist/dts/Filtered.d.ts +0 -97
  337. package/dist/dts/Filtered.d.ts.map +0 -1
  338. package/dist/dts/Model.d.ts +0 -200
  339. package/dist/dts/Model.d.ts.map +0 -1
  340. package/dist/dts/RefAsyncData.d.ts +0 -236
  341. package/dist/dts/RefAsyncData.d.ts.map +0 -1
  342. package/dist/dts/RefAsyncDataArray.d.ts +0 -56
  343. package/dist/dts/RefAsyncDataArray.d.ts.map +0 -1
  344. package/dist/dts/RefBoolean.d.ts +0 -47
  345. package/dist/dts/RefBoolean.d.ts.map +0 -1
  346. package/dist/dts/RefNumber.d.ts +0 -48
  347. package/dist/dts/RefNumber.d.ts.map +0 -1
  348. package/dist/dts/internal/core-ref-subject.d.ts +0 -100
  349. package/dist/dts/internal/core-ref-subject.d.ts.map +0 -1
  350. package/dist/dts/internal/core-subject.d.ts +0 -5
  351. package/dist/dts/internal/core-subject.d.ts.map +0 -1
  352. package/dist/dts/internal/deferred-ref.d.ts +0 -12
  353. package/dist/dts/internal/deferred-ref.d.ts.map +0 -1
  354. package/dist/dts/internal/effect-primitive.d.ts +0 -6
  355. package/dist/dts/internal/effect-primitive.d.ts.map +0 -1
  356. package/dist/dts/internal/fx-effect-proto.d.ts +0 -30
  357. package/dist/dts/internal/fx-effect-proto.d.ts.map +0 -1
  358. package/dist/dts/internal/fx-primitive.d.ts +0 -109
  359. package/dist/dts/internal/fx-primitive.d.ts.map +0 -1
  360. package/dist/dts/internal/fx.d.ts +0 -245
  361. package/dist/dts/internal/fx.d.ts.map +0 -1
  362. package/dist/dts/internal/matchers.d.ts +0 -33
  363. package/dist/dts/internal/matchers.d.ts.map +0 -1
  364. package/dist/dts/internal/run.d.ts +0 -8
  365. package/dist/dts/internal/run.d.ts.map +0 -1
  366. package/dist/dts/internal/schema-ref-subject.d.ts +0 -5
  367. package/dist/dts/internal/schema-ref-subject.d.ts.map +0 -1
  368. package/dist/dts/internal/versioned-transform.d.ts +0 -17
  369. package/dist/dts/internal/versioned-transform.d.ts.map +0 -1
  370. package/dist/esm/Computed.js +0 -103
  371. package/dist/esm/Computed.js.map +0 -1
  372. package/dist/esm/Filtered.js +0 -83
  373. package/dist/esm/Filtered.js.map +0 -1
  374. package/dist/esm/Model.js +0 -100
  375. package/dist/esm/Model.js.map +0 -1
  376. package/dist/esm/RefAsyncData.js +0 -163
  377. package/dist/esm/RefAsyncData.js.map +0 -1
  378. package/dist/esm/RefAsyncDataArray.js +0 -27
  379. package/dist/esm/RefAsyncDataArray.js.map +0 -1
  380. package/dist/esm/RefBoolean.js +0 -31
  381. package/dist/esm/RefBoolean.js.map +0 -1
  382. package/dist/esm/RefNumber.js +0 -35
  383. package/dist/esm/RefNumber.js.map +0 -1
  384. package/dist/esm/internal/core-ref-subject.js +0 -242
  385. package/dist/esm/internal/core-ref-subject.js.map +0 -1
  386. package/dist/esm/internal/core-subject.js +0 -90
  387. package/dist/esm/internal/core-subject.js.map +0 -1
  388. package/dist/esm/internal/deferred-ref.js +0 -23
  389. package/dist/esm/internal/deferred-ref.js.map +0 -1
  390. package/dist/esm/internal/effect-primitive.js +0 -41
  391. package/dist/esm/internal/effect-primitive.js.map +0 -1
  392. package/dist/esm/internal/fx-effect-proto.js +0 -43
  393. package/dist/esm/internal/fx-effect-proto.js.map +0 -1
  394. package/dist/esm/internal/fx-primitive.js +0 -175
  395. package/dist/esm/internal/fx-primitive.js.map +0 -1
  396. package/dist/esm/internal/fx.js +0 -216
  397. package/dist/esm/internal/fx.js.map +0 -1
  398. package/dist/esm/internal/matchers.js +0 -38
  399. package/dist/esm/internal/matchers.js.map +0 -1
  400. package/dist/esm/internal/run.js +0 -32
  401. package/dist/esm/internal/run.js.map +0 -1
  402. package/dist/esm/internal/schema-ref-subject.js +0 -121
  403. package/dist/esm/internal/schema-ref-subject.js.map +0 -1
  404. package/dist/esm/internal/versioned-transform.js +0 -37
  405. package/dist/esm/internal/versioned-transform.js.map +0 -1
  406. package/src/Computed.ts +0 -289
  407. package/src/Filtered.ts +0 -274
  408. package/src/Model.ts +0 -483
  409. package/src/RefAsyncData.ts +0 -547
  410. package/src/RefAsyncDataArray.ts +0 -135
  411. package/src/RefBoolean.ts +0 -71
  412. package/src/RefNumber.ts +0 -77
  413. package/src/internal/core-ref-subject.ts +0 -528
  414. package/src/internal/core-subject.ts +0 -143
  415. package/src/internal/deferred-ref.ts +0 -26
  416. package/src/internal/effect-primitive.ts +0 -230
  417. package/src/internal/fx-effect-proto.ts +0 -56
  418. package/src/internal/fx-primitive.ts +0 -223
  419. package/src/internal/fx.ts +0 -619
  420. package/src/internal/matchers.ts +0 -83
  421. package/src/internal/run.ts +0 -51
  422. package/src/internal/schema-ref-subject.ts +0 -163
  423. package/src/internal/versioned-transform.ts +0 -48
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop-operator.d.ts","sourceRoot":"","sources":["../../../src/internal/loop-operator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Sink } from "../Sink";
2
+ import * as EffectLoopOp from "./effect-loop-operator.js";
3
+ import * as EffectOp from "./effect-operator.js";
4
+ import * as LoopOp from "./loop-operator.js";
5
+ import * as SyncOp from "./sync-operator.js";
6
+ export type Operator = SyncOp.SyncOperator | EffectOp.EffectOperator | LoopOp.SyncLoopOperator | EffectLoopOp.EffectLoopOperator;
7
+ export declare function matchOperator<A>(operator: Operator, matchers: {
8
+ SyncOperator: (op: SyncOp.SyncOperator) => A;
9
+ EffectOperator: (op: EffectOp.EffectOperator) => A;
10
+ SyncLoopOperator: (op: LoopOp.SyncLoopOperator) => A;
11
+ EffectLoopOperator: (op: EffectLoopOp.EffectLoopOperator) => A;
12
+ }): A;
13
+ export declare function fuseOperators(first: Operator, second: Operator): Operator;
14
+ export declare function compileOperatorSink<R, R2>(operator: Operator, sink: Sink<R, any, any>): Sink<R | R2, any, any>;
15
+ export declare function compileOperatorSinkCause<R, R2>(operator: Operator, sink: Sink<R, any, any>): Sink<R | R2, any, any>;
16
+ //# sourceMappingURL=operator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../../../src/internal/operator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,YAAY,MAAM,2BAA2B,CAAA;AACzD,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAE5C,MAAM,MAAM,QAAQ,GAChB,MAAM,CAAC,YAAY,GACnB,QAAQ,CAAC,cAAc,GACvB,MAAM,CAAC,gBAAgB,GACvB,YAAY,CAAC,kBAAkB,CAAA;AAEnC,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAC7D,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,YAAY,KAAK,CAAC,CAAA;IAC5C,cAAc,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,cAAc,KAAK,CAAC,CAAA;IAClD,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,gBAAgB,KAAK,CAAC,CAAA;IACpD,kBAAkB,EAAE,CAAC,EAAE,EAAE,YAAY,CAAC,kBAAkB,KAAK,CAAC,CAAA;CAC/D,GAAG,CAAC,CAkBJ;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,CA+BzE;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAO9G;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAOnH"}
@@ -1,50 +1,23 @@
1
- import * as Effect from "effect/Effect";
2
- import * as Equal from "effect/Equal";
3
- import * as Hash from "effect/Hash";
4
- import { Effectable } from "effect";
5
- import { NodeInspectSymbol } from "effect/Inspectable";
6
- import type { Inspectable } from "effect/Inspectable";
7
- import type { Fx, ToFx } from "../Fx.js";
1
+ import type { Effect } from "effect";
2
+ import * as Effectable from "effect/Effectable";
3
+ import type { Fx } from "../Fx.js";
4
+ import type { Sink } from "../Sink.js";
8
5
  import { TypeId } from "../TypeId.js";
9
- export declare const Variance: Fx<any, any, any>[TypeId];
10
- export declare abstract class BaseProto implements Equal.Equal, Hash.Hash, Inspectable {
11
- [Equal.symbol](that: unknown): boolean;
12
- [Hash.symbol](): number;
6
+ export declare abstract class FxBase<R, E, A> implements Fx<R, E, A> {
7
+ readonly [TypeId]: Fx.Variance<R, E, A>;
8
+ abstract run<R2>(sink: Sink<R2, E, A>): Effect.Effect<R | R2, never, unknown>;
13
9
  pipe(): unknown;
14
- toJSON(): unknown;
15
- [NodeInspectSymbol](): unknown;
16
- toString(): string;
17
10
  }
18
- export declare abstract class FxProto<R, E, A> extends BaseProto implements Fx<R, E, A> {
19
- readonly i0?: unknown;
20
- readonly i1?: unknown;
21
- readonly i2?: unknown;
22
- abstract readonly _fxTag: string;
23
- readonly [TypeId]: Fx<R, E, A>[TypeId];
24
- constructor(i0?: unknown, i1?: unknown, i2?: unknown);
25
- [Equal.symbol](that: unknown): boolean;
26
- [Hash.symbol](): number;
27
- toJSON(): unknown;
28
- pipe(): unknown;
29
- }
30
- export declare class OnceEffect<R, E, A> extends Effectable.Class<R, E, A> {
31
- #private;
32
- readonly effect: Effect.Effect<R, E, A>;
33
- constructor(effect: Effect.Effect<R, E, A>);
34
- commit(): Effect.Effect<R, E, A>;
11
+ export declare abstract class FxEffectBase<R, E, A, R2, E2, B> extends Effectable.StructuralClass<R2, E2, B> implements Fx<R, E, A>, Effect.Effect<R2, E2, B> {
12
+ readonly [TypeId]: Fx.Variance<R, E, A>;
13
+ abstract run<R3>(sink: Sink<R3, E, A>): Effect.Effect<R | R3, never, unknown>;
14
+ abstract toEffect(): Effect.Effect<R2, E2, B>;
15
+ protected _effect: Effect.Effect<R2, E2, B> | undefined;
16
+ commit(): Effect.Effect<R2, E2, B>;
35
17
  }
36
- export declare const once: <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>;
37
- export declare abstract class FxEffectBase<R, E, A, R2, E2, B> extends Effectable.StructuralClass<R2, E2, B> implements ToFx<R, E, A> {
38
- _fxTag: "ToFx";
39
- readonly [TypeId]: any;
40
- protected abstract toFx(): Fx<R, E, A>;
41
- protected abstract toEffect(): Effect.Effect<R2, E2, B>;
42
- private _fx;
43
- get fx(): Fx<R, E, A>;
18
+ export declare abstract class EffectBase<R, E, A> extends Effectable.StructuralClass<R, E, A> implements Effect.Effect<R, E, A> {
19
+ abstract toEffect(): Effect.Effect<R, E, A>;
44
20
  private _effect;
45
- commit(): Effect.Effect<R2, E2, B>;
46
- toJSON(): unknown;
47
- [NodeInspectSymbol](): unknown;
48
- toString(): string;
21
+ commit(): Effect.Effect<R, E, A>;
49
22
  }
50
23
  //# sourceMappingURL=protos.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protos.d.ts","sourceRoot":"","sources":["../../../src/internal/protos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protos.d.ts","sourceRoot":"","sources":["../../../src/internal/protos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAG/C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAQrC,8BAAsB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,YAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1D,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAW;IAElD,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC;IAE7E,IAAI;CAGL;AAED,8BAAsB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAE,SAAQ,UAAU,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CACjG,YAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAEhD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAW;IAElD,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC;IAE7E,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE7C,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;IACvD,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;CAOnC;AAED,8BAAsB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,SAAQ,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAClF,YAAW,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEjC,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAE3C,OAAO,CAAC,OAAO,CAAoC;IACnD,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CAOjC"}
@@ -1,5 +1,8 @@
1
1
  import type * as Context from "@typed/context";
2
- import { Effect, Layer, Runtime } from "effect";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Layer from "effect/Layer";
4
+ import * as Runtime from "effect/Runtime";
5
+ import type * as Scope from "effect/Scope";
3
6
  export type Provide<R, E, A> = ProvideContext<A> | ProvideLayer<R, E, A> | ProvideRuntime<A> | ProvideService<A, any> | ProvideServiceEffect<R, E, A, any>;
4
7
  export interface ProvideContext<A> {
5
8
  readonly _tag: "ProvideContext";
@@ -36,5 +39,8 @@ export declare function matchProvide<R = never, E = never, A = never, B = never>
36
39
  readonly ProvideServiceEffect: (tag: Context.Tag<A, any>, service: Effect.Effect<R, E, any>) => B;
37
40
  }): B;
38
41
  export declare function merge<R = never, E = never, A = never, R2 = never, E2 = never, B = never>(self: Provide<R, E, A>, that: Provide<R2, E2, B>): Provide<Exclude<R, B> | R2, E | E2, A | B>;
42
+ export declare function buildWithScope<R, E, A>(provide: Provide<R, E, A>, scope: Scope.Scope): Effect.Effect<R, E, Context.Context<A>>;
43
+ export declare function toLayer<R, E, A>(provide: Provide<R, E, A>): Layer.Layer<R, E, A>;
39
44
  export declare function provideToEffect<R, E, A, R2 = never, E2 = never, S = never>(effect: Effect.Effect<R, E, A>, provide: Provide<R2, E2, S>): Effect.Effect<Exclude<R, S> | R2, E | E2, A>;
45
+ export declare function runtimeToLayer<R>(runtime: Runtime.Runtime<R>): Layer.Layer<never, never, R>;
40
46
  //# sourceMappingURL=provide.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provide.d.ts","sourceRoot":"","sources":["../../../src/internal/provide.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provide.d.ts","sourceRoot":"","sources":["../../../src/internal/provide.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,30 @@
1
+ import { type Scope } from "effect";
2
+ import * as Effect from "effect/Effect";
1
3
  import * as Fiber from "effect/Fiber";
2
4
  import * as MutableRef from "effect/MutableRef";
3
5
  import * as Option from "effect/Option";
4
6
  import type { Fx } from "../Fx.js";
5
- import type { Subject } from "../Subject.js";
6
- import { ToFx } from "./fx-primitive.js";
7
- export declare function share<R, E, A, R2>(fx: Fx<R, E, A>, subject: Subject<R2, E, A>): Fx<R | R2, E, A>;
7
+ import type { Sink } from "../Sink.js";
8
+ import * as Subject from "../Subject.js";
9
+ import { FxBase } from "./protos.js";
10
+ export declare function share<R, E, A, R2>(fx: Fx<R, E, A>, subject: Subject.Subject<R2, E, A>): Fx<R | R2 | Scope.Scope, E, A>;
8
11
  declare class RefCounter {
9
12
  #private;
10
13
  increment(): number;
11
14
  decrement(): number;
12
15
  }
13
- export declare class Share<R, E, A, R2> extends ToFx<R | R2, E, A> {
16
+ export declare class Share<R, E, A, R2> extends FxBase<R | R2 | Scope.Scope, E, A> {
14
17
  readonly i0: Fx<R, E, A>;
15
- readonly i1: Subject<R2, E, A>;
18
+ readonly i1: Subject.Subject<R2, E, A>;
16
19
  _FxFiber: MutableRef.MutableRef<Option.Option<Fiber.Fiber<never, unknown>>>;
17
20
  _RefCount: RefCounter;
18
- constructor(i0: Fx<R, E, A>, i1: Subject<R2, E, A>);
19
- toFx(): Fx<R | R2, E, A>;
21
+ constructor(i0: Fx<R, E, A>, i1: Subject.Subject<R2, E, A>);
22
+ run<R3>(sink: Sink<R3, E, A>): Effect.Effect<R | R2 | R3 | Scope.Scope, never, unknown>;
20
23
  private initialize;
21
24
  private interrupt;
22
25
  }
23
- export declare function multicast<R, E, A>(fx: Fx<R, E, A>): Fx<R, E, A>;
24
- export declare function hold<R, E, A>(fx: Fx<R, E, A>): Fx<R, E, A>;
26
+ export declare function multicast<R, E, A>(fx: Fx<R, E, A>): Fx<R | Scope.Scope, E, A>;
27
+ export declare function hold<R, E, A>(fx: Fx<R, E, A>): Fx<R | Scope.Scope, E, A>;
25
28
  export declare const replay: {
26
29
  (capacity: number): <R, E, A>(fx: Fx<R, E, A>) => Fx<R, E, A>;
27
30
  <R, E, A>(fx: Fx<R, E, A>, capacity: number): Fx<R, E, A>;
@@ -1 +1 @@
1
- {"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../../src/internal/share.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAGxC,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAC/B,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GACzB,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAElB;AAED,cAAM,UAAU;;IAGd,SAAS;IAIT,SAAS;CAGV;AAED,qBAAa,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,SAAQ,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAKtD,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IALhC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAiC;IAC5G,SAAS,aAAmB;gBAGjB,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAKhC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAWxB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,SAAS;CAOlB;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC/B,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACd,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAEb;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC1B,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACd,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAEb;AAED,eAAO,MAAM,MAAM,EAAE;IACnB,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7D,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CAMzD,CAAA"}
1
+ {"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../../src/internal/share.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAA;AACtD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAC/B,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GACjC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAEhC;AAED,cAAM,UAAU;;IAGd,SAAS;IAIT,SAAS;CAGV;AAED,qBAAa,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,SAAQ,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAKtE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IALxC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAiC;IAC5G,SAAS,aAAmB;gBAGjB,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAKxC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;IAavF,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,SAAS;CAOlB;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC/B,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACd,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAE3B;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC1B,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACd,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAE3B;AAED,eAAO,MAAM,MAAM,EAAE;IACnB,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7D,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CAMzD,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import * as Option from "effect/Option";
2
- import { WithContext } from "../Sink.js";
2
+ import * as Sink from "../Sink.js";
3
+ import * as SyncProducer from "./sync-producer.js";
3
4
  export type SyncOperator = Map<any, any> | Filter<any> | FilterMap<any, any>;
4
5
  export interface Map<A, B> {
5
6
  readonly _tag: "Map";
@@ -22,7 +23,10 @@ export declare function matchSyncOperator<A>(operator: SyncOperator, matchers: {
22
23
  readonly Filter: (f: Filter<any>) => A;
23
24
  readonly FilterMap: (f: FilterMap<any, any>) => A;
24
25
  }): A;
25
- export declare function compileSyncOperatorSink<R>(operator: SyncOperator, sink: WithContext<R, any, any>): WithContext<R, any, any>;
26
- export declare function compileSyncOperatorFailureSink<R>(operator: SyncOperator, sink: WithContext<R, any, any>): WithContext<R, any, any>;
26
+ export declare function compileSyncOperatorSink<R>(operator: SyncOperator, sink: Sink.Sink<R, any, any>): Sink.Sink<R, any, any>;
27
+ export declare function compileCauseSyncOperatorSink<R>(operator: SyncOperator, sink: Sink.Sink<R, any, any>): Sink.Sink<R, any, any>;
27
28
  export declare function compileSyncReducer<A, B, C>(operator: SyncOperator, f: (b: B, a: A) => C): (b: B, a: any) => Option.Option<C>;
29
+ export declare function applyArray<A, B>(array: ReadonlyArray<A>, operator: SyncOperator): ReadonlyArray<B>;
30
+ export declare function applyArrayReducer<A, B>(array: Iterable<any>, operator: SyncOperator, seed: B, f: (acc: B, a: A) => B): B;
31
+ export declare function runSyncReduce<A, B>(producer: SyncProducer.SyncProducer<A>, op: SyncOperator, seed: B, f: (acc: B, a: any) => B): B;
28
32
  //# sourceMappingURL=sync-operator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-operator.d.ts","sourceRoot":"","sources":["../../../src/internal/sync-operator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAIxC,MAAM,MAAM,YAAY,GACpB,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GACb,MAAM,CAAC,GAAG,CAAC,GACX,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAEvB,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;CACxB;AAED,eAAO,MAAM,GAAG,qCAA4D,CAAA;AAE5E,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAA;CAC9B;AAED,eAAO,MAAM,MAAM,mBAAoB,OAAO,cAAuC,CAAA;AAErF,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CACvC;AAED,eAAO,MAAM,SAAS,0DAAuF,CAAA;AAkC7G,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,GAAG,YAAY,CAEpF;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;IACrE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;IACrC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACtC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;CAClD,GAAG,CAAC,CASJ;AAED,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAC7B,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAW1B;AAED,wBAAgB,8BAA8B,CAAC,CAAC,EAC9C,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAC7B,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAW1B;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACxC,QAAQ,EAAE,YAAY,EACtB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GACnB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAMpC"}
1
+ {"version":3,"file":"sync-operator.d.ts","sourceRoot":"","sources":["../../../src/internal/sync-operator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { Effect, ReadonlyArray } from "effect";
2
+ import type { Sink } from "../Sink.js";
3
+ export type SyncProducer<A> = Success<A> | FromSync<A> | FromArray<A> | FromIterable<A>;
4
+ export interface Success<A> {
5
+ readonly _tag: "Success";
6
+ readonly source: A;
7
+ }
8
+ export declare const Success: <A>(value: A) => Success<A>;
9
+ export interface FromSync<A> {
10
+ readonly _tag: "FromSync";
11
+ readonly source: () => A;
12
+ }
13
+ export declare const FromSync: <A>(f: () => A) => FromSync<A>;
14
+ export interface FromArray<A> {
15
+ readonly _tag: "FromArray";
16
+ readonly source: ReadonlyArray<A>;
17
+ }
18
+ export declare const FromArray: <A>(array: readonly A[]) => FromArray<A>;
19
+ export interface FromIterable<A> {
20
+ readonly _tag: "FromIterable";
21
+ readonly source: Iterable<A>;
22
+ }
23
+ export declare const FromIterable: <A>(iterable: Iterable<A>) => FromIterable<A>;
24
+ export declare const matchSyncProducer: <A, R>(producer: SyncProducer<A>, matchers: {
25
+ readonly Success: (a: A) => R;
26
+ readonly FromSync: (a: () => A) => R;
27
+ readonly FromArray: (a: readonly A[]) => R;
28
+ readonly FromIterable: (a: Iterable<A>) => R;
29
+ }) => R;
30
+ export declare function runSink<A, R, E>(producer: SyncProducer<A>, sink: Sink<R, E, A>): Effect.Effect<R, never, unknown>;
31
+ export declare function runReduce<A, B>(producer: SyncProducer<A>, initial: B, f: (b: B, a: any) => B): Effect.Effect<never, never, B>;
32
+ export declare function runReduceEffect<A, R2, E2, B>(producer: SyncProducer<A>, initial: B, f: (b: B, a: any) => Effect.Effect<R2, E2, B>): Effect.Effect<R2, E2, B>;
33
+ export declare const syncOnce: <A>(f: () => A) => Effect.Effect<never, never, A>;
34
+ export declare const effectOnce: <R, E, A>(f: () => Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>;
35
+ export declare function runEffect<A, R2, E2, B>(producer: SyncProducer<A>, f: (a: A) => Effect.Effect<R2, E2, B>): Effect.Effect<R2, E2, void>;
36
+ //# sourceMappingURL=sync-producer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-producer.d.ts","sourceRoot":"","sources":["../../../src/internal/sync-producer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAItC,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;AAEvF,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;CACnB;AAED,eAAO,MAAM,OAAO,6BAAoE,CAAA;AAExF,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzB;AAED,eAAO,MAAM,QAAQ,gCAAoE,CAAA;AAEzF,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;CAClC;AAED,eAAO,MAAM,SAAS,0CAAuF,CAAA;AAE7G,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;CAC7B;AAED,eAAO,MAAM,YAAY,+CAA8F,CAAA;AAEvH,eAAO,MAAM,iBAAiB;;;;;OAU7B,CAAA;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EACzB,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAClB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAOlC;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAC5B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,GACrB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAOhC;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC1C,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,CAAC,EACV,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAC5C,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAO1B;AAyBD,eAAO,MAAM,QAAQ,mDAapB,CAAA;AAED,eAAO,MAAM,UAAU,sEAUtB,CAAA;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACpC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EACzB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACpC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAO7B"}
@@ -1,4 +1,4 @@
1
- import type { Fx, FxInput } from "../Fx.js";
2
- import * as RefSubject from "../RefSubject.js";
3
- export declare function withKey<R, E, A, B, R2, E2, C>(fx: Fx<R, E, A>, getKey: (a: A) => B, onValue: (ref: RefSubject.RefSubject<never, never, A>, key: B) => FxInput<R2, E2, C>): Fx<R | R2, E | E2, C>;
1
+ import type * as Scope from "effect/Scope";
2
+ import type { Fx, WithKeyOptions } from "../Fx.js";
3
+ export declare function withKey<R, E, A, B extends PropertyKey, R2, E2, C>(fx: Fx<R, E, A>, options: WithKeyOptions<A, B, R2, E2, C>): Fx<R | R2 | Scope.Scope, E | E2, C>;
4
4
  //# sourceMappingURL=withKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withKey.d.ts","sourceRoot":"","sources":["../../../src/internal/withKey.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAM9C,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC3C,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EACnB,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACnF,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CA2EvB"}
1
+ {"version":3,"file":"withKey.d.ts","sourceRoot":"","sources":["../../../src/internal/withKey.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAMlD,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC/D,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACvC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAErC"}
@@ -0,0 +1,151 @@
1
+ /**
2
+ * AsyncData integrations with Fx.
3
+ * @since 1.20.0
4
+ */
5
+ import * as AsyncData from "@typed/async-data/AsyncData";
6
+ import * as Cause from "effect/Cause";
7
+ import * as Effect from "effect/Effect";
8
+ import * as Either from "effect/Either";
9
+ import { dual } from "effect/Function";
10
+ import * as Option from "effect/Option";
11
+ import * as Fx from "./Fx.js";
12
+ import { keyed } from "./internal/keyed.js";
13
+ import * as RefSubject from "./RefSubject.js";
14
+ import * as Sink from "./Sink.js";
15
+ import { RefSubjectTypeId } from "./TypeId.js";
16
+ /**
17
+ * @since 1.20.0
18
+ */
19
+ export function asyncDataRequest(effect) {
20
+ return Fx.make((sink) => Effect.flatMap(Effect.zipRight(sink.onSuccess(AsyncData.loading()), Effect.exit(effect)), (exit) => sink.onSuccess(AsyncData.fromExit(exit))));
21
+ }
22
+ /**
23
+ * @since 1.20.0
24
+ */
25
+ export const runAsyncData = dual(2, function runAsyncData(ref, effect) {
26
+ return ref.runUpdates(({ get, set }) => Effect.uninterruptibleMask((restore) => Effect.flatMap(Effect.flatMap(Effect.tap(get, (current) => set(AsyncData.startLoading(current))), () => Effect.exit(restore(effect))), (exit) => set(AsyncData.fromExit(exit)))));
27
+ });
28
+ /**
29
+ * @since 1.20.0
30
+ */
31
+ export const matchAsyncData = dual(2, function matchAsyncData(fx, matchers) {
32
+ return Fx.matchTags(fx, {
33
+ NoData: () => matchers.NoData,
34
+ Loading: (loading) => matchers.Loading(RefSubject.filterMap(loading, (l) => l.progress)),
35
+ Failure: (failure) => matchers.Failure(RefSubject.mapEffect(failure, (f) => Either.match(Cause.failureOrCause(f.cause), {
36
+ onLeft: Effect.succeed,
37
+ onRight: Effect.failCause
38
+ })), {
39
+ timestamp: RefSubject.map(failure, (f) => f.timestamp),
40
+ progress: RefSubject.filterMap(failure, (f) => Option.flatMap(f.refreshing, (l) => l.progress))
41
+ }),
42
+ Success: (success) => matchers.Success(RefSubject.transform(success, (s) => s.value, (value) => AsyncData.success(value)), {
43
+ timestamp: RefSubject.map(success, (s) => s.timestamp),
44
+ progress: RefSubject.filterMap(success, (f) => Option.flatMap(f.refreshing, (l) => l.progress))
45
+ })
46
+ });
47
+ });
48
+ /**
49
+ * @since 1.20.0
50
+ */
51
+ export const matchAsyncDataArray = dual(3, function matchAsyncData(fx, getKey, matchers) {
52
+ return Fx.matchTags(fx, {
53
+ NoData: () => matchers.NoData,
54
+ Loading: (loading) => matchers.Loading(RefSubject.filterMap(loading, (l) => l.progress)),
55
+ Failure: (failure) => matchers.Failure(RefSubject.mapEffect(failure, (f) => Either.match(Cause.failureOrCause(f.cause), {
56
+ onLeft: Effect.succeed,
57
+ onRight: Effect.failCause
58
+ })), {
59
+ timestamp: RefSubject.map(failure, (f) => f.timestamp),
60
+ progress: RefSubject.filterMap(failure, (f) => Option.flatMap(f.refreshing, (l) => l.progress))
61
+ }),
62
+ Success: (success) => keyed(RefSubject.map(success, (s) => s.value), {
63
+ getKey,
64
+ onValue: matchers.Success
65
+ })
66
+ });
67
+ });
68
+ /**
69
+ * @since 1.20.0
70
+ */
71
+ export const runIfNoData = dual(2, function runIfNoData(ref, effect) {
72
+ return Effect.flatMap(ref, (current) => AsyncData.isNoData(current) ? runAsyncData(ref, effect) : Effect.succeed(current));
73
+ });
74
+ /**
75
+ * @since 1.20.0
76
+ */
77
+ export const runIfExpired = dual(3, function runIfExpired(ref, effect, { now, ttl }) {
78
+ return Effect.flatMap(ref, (current) => AsyncData.isExpired(current, ttl, now) ? runAsyncData(ref, effect) : Effect.succeed(current));
79
+ });
80
+ /**
81
+ * Await for the AsyncData to stop loading.
82
+ * @since 1.20.0
83
+ * @category updates
84
+ */
85
+ export const awaitLoading = (data) => data.pipe(Fx.dropWhile(AsyncData.isLoading), Fx.take(1), Fx.toReadonlyArray, Effect.map((x) => x[0]));
86
+ /**
87
+ * Await for the AsyncData to stop loading or refreshing.
88
+ * @since 1.20.0
89
+ * @category updates
90
+ */
91
+ export const awaitLoadingOrRefreshing = (data) => data.pipe(Fx.dropWhile(AsyncData.isLoadingOrRefreshing), Fx.take(1), Fx.toReadonlyArray, Effect.map((x) => x[0]));
92
+ /**
93
+ * Change the current value of a RefAsyncData to a loading or refreshing state.
94
+ * @since 1.20.0
95
+ * @category updates
96
+ */
97
+ export const startLoading = (ref) => RefSubject.update(ref, AsyncData.startLoading);
98
+ /**
99
+ * Change the current value of a RefAsyncData to a non-loading/non-refreshing state.
100
+ * @since 1.20.0
101
+ * @category updates
102
+ */
103
+ export const stopLoading = (ref) => RefSubject.update(ref, AsyncData.stopLoading);
104
+ /**
105
+ * Convert RefAsyncData into a Sink.
106
+ * @since 1.20.0
107
+ * @category conversions
108
+ */
109
+ export const asSink = (ref) => Sink.make((cause) => RefSubject.set(ref, AsyncData.failCause(cause)), (a) => RefSubject.set(ref, AsyncData.success(a)));
110
+ /**
111
+ * Map the input value using an Effect
112
+ * @since 1.20.0
113
+ */
114
+ export const mapInputEffect = (ref, f) => Sink.mapEffect(asSink(ref), f);
115
+ /**
116
+ * Map the input value
117
+ * @since 1.20.0
118
+ */
119
+ export const mapInput = (ref, f) => Sink.map(asSink(ref), f);
120
+ const isRefFirst = (args) => args.length === 3 || RefSubjectTypeId in args[0];
121
+ /**
122
+ * Fail with a given cause
123
+ * @since 1.20.0
124
+ */
125
+ export const failCause = dual(isRefFirst, (ref, cause, options) => RefSubject.set(ref, AsyncData.failCause(cause, options)));
126
+ /**
127
+ * Fail with a given error
128
+ * @since 1.20.0
129
+ */
130
+ export const fail = dual(isRefFirst, (ref, error, options) => RefSubject.set(ref, AsyncData.fail(error, options)));
131
+ /**
132
+ * Succeed with a value
133
+ * @since 1.20.0
134
+ */
135
+ export const succeed = dual(isRefFirst, (ref, value, options) => RefSubject.set(ref, AsyncData.success(value, options)));
136
+ /**
137
+ * Set Exit value of RefAsyncData
138
+ * @since 1.20.0
139
+ */
140
+ export const done = dual(2, (ref, exit) => RefSubject.set(ref, AsyncData.done(exit)));
141
+ /**
142
+ * @since 1.20.0
143
+ * @category Filtered
144
+ */
145
+ export const getFailure = (ref) => RefSubject.filterMap(ref, AsyncData.getFailure);
146
+ /**
147
+ * @since 1.20.0
148
+ * @category Filtered
149
+ */
150
+ export const getSuccess = (ref) => RefSubject.filterMap(ref, AsyncData.getSuccess);
151
+ //# sourceMappingURL=AsyncData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncData.js","sourceRoot":"","sources":["../../src/AsyncData.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,31 @@
1
1
  /**
2
- * An Emitter is a a Sink-like type which is can be utilized to adapt external
3
- * APIs into an Fx.
4
- * @since 1.18.0
2
+ * Emitter is a helper for creating Fx from external libraries which are not Effect-native.
3
+ * @since 1.20.0
5
4
  */
5
+ import * as Cause from "effect/Cause";
6
6
  import * as Effect from "effect/Effect";
7
- import * as Exit from "effect/Exit";
8
- import { scopedRuntime } from "./internal/helpers.js";
7
+ import * as ExecutionStrategy from "effect/ExecutionStrategy";
8
+ import * as Fiber from "effect/Fiber";
9
+ import * as Runtime from "effect/Runtime";
10
+ import { withScope } from "./internal/helpers.js";
11
+ import * as Sink from "./Sink.js";
9
12
  /**
10
- * Create an Emitter from a Sink
11
- * @since 1.18.0
12
- * @category constructors
13
+ * @since 1.20.0
13
14
  */
14
- export function make(sink) {
15
- return Effect.map(scopedRuntime(), (runtime) => makeWithRuntime(runtime, sink));
16
- }
17
- function makeWithRuntime(runtime, sink) {
18
- function emit(exit) {
19
- return runtime.run(Exit.match(exit, sink));
20
- }
21
- emit.succeed = (a) => emit(Exit.succeed(a));
22
- emit.failCause = (e) => emit(Exit.failCause(e));
23
- emit.fail = (e) => emit(Exit.fail(e));
24
- emit.die = (e) => emit(Exit.die(e));
25
- emit.end = () => runtime.run(sink.earlyExit);
26
- return emit;
15
+ export function withEmitter(sink, f) {
16
+ return withScope((scope) => Sink.withEarlyExit(sink, (sink) => {
17
+ return Effect.flatMap(Effect.runtime(), (runtime) => {
18
+ const runPromiseExit = Runtime.runPromiseExit(runtime);
19
+ const run = (effect) => runPromiseExit(Effect.flatMap(Effect.forkIn(effect, scope), Fiber.join));
20
+ const emitter = {
21
+ succeed: (value) => run(sink.onSuccess(value)),
22
+ failCause: (cause) => run(sink.onFailure(cause)),
23
+ fail: (error) => run(sink.onFailure(Cause.fail(error))),
24
+ die: (error) => run(sink.onFailure(Cause.die(error))),
25
+ end: () => run(sink.earlyExit)
26
+ };
27
+ return f(emitter);
28
+ });
29
+ }), ExecutionStrategy.sequential);
27
30
  }
28
31
  //# sourceMappingURL=Emitter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Emitter.js","sourceRoot":"","sources":["../../src/Emitter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAInC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAkBrD;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAO,IAA8B;IACvD,OAAO,MAAM,CAAC,GAAG,CAAC,aAAa,EAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;AACxF,CAAC;AACD,SAAS,eAAe,CACtB,OAA6B,EAC7B,IAA8B;IAE9B,SAAS,IAAI,CAAC,IAAqB;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,CAAC,OAAO,GAAG,CAAC,CAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/D,IAAI,CAAC,IAAI,GAAG,CAAC,CAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACxC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5C,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAE5C,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"Emitter.js","sourceRoot":"","sources":["../../src/Emitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAA;AAE7D,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAajC;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,IAAwB,EACxB,CAAsD;IAEtD,OAAO,SAAS,CACd,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,CAAC,aAAa,CAChB,IAAI,EACJ,CAAC,IAAI,EAA+B,EAAE;QACpC,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAK,EAAE,CAAC,OAAO,EAA2B,EAAE;YAC9E,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;YACtD,MAAM,GAAG,GAAG,CAAC,MAAwC,EAAE,EAAE,CACvD,cAAc,CACZ,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC5B,KAAK,CAAC,IAAI,CACX,CACF,CAAA;YAEH,MAAM,OAAO,GAAkB;gBAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC9C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvD,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrD,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;aAC/B,CAAA;YAED,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;IACJ,CAAC,CACF,EACH,iBAAiB,CAAC,UAAU,CAC7B,CAAA;AACH,CAAC"}