@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":"effect-loop-operator.js","sourceRoot":"","sources":["../../../src/internal/effect-loop-operator.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import * as Cause from "effect/Cause";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as Option from "effect/Option";
4
- import { WithContext } from "../Sink.js";
4
+ import * as Sink from "../Sink.js";
5
+ import * as SyncOp from "./sync-operator.js";
6
+ import * as SyncProducer from "./sync-producer.js";
5
7
  export const MapEffect = (f) => ({
6
8
  _tag: "MapEffect",
7
9
  f
@@ -18,7 +20,7 @@ export const FilterMapEffect = (f) => ({ _tag: "FilterMapEffect", f });
18
20
  const EffectOperatorFusionMap = {
19
21
  MapEffect: {
20
22
  MapEffect: (op1, op2) => MapEffect((a) => Effect.flatMap(op1.f(a), op2.f)),
21
- TapEffect: (op1, op2) => TapEffect((a) => Effect.tap(op1.f(a), op2.f)),
23
+ TapEffect: (op1, op2) => MapEffect((a) => Effect.tap(op1.f(a), op2.f)),
22
24
  FilterEffect: (op1, op2) => FilterMapEffect((a) => Effect.flatMap(op1.f(a), (b) => Effect.map(op2.f(b), (b2) => b2 ? Option.some(b) : Option.none()))),
23
25
  FilterMapEffect: (op1, op2) => FilterMapEffect((a) => Effect.flatMap(op1.f(a), op2.f))
24
26
  },
@@ -41,7 +43,7 @@ const EffectOperatorFusionMap = {
41
43
  }))),
42
44
  TapEffect: (op1, op2) => FilterMapEffect((a) => Effect.flatMap(op1.f(a), Option.match({
43
45
  onNone: () => Effect.succeedNone,
44
- onSome: (b) => op2.f(a).pipe(Effect.map(() => b))
46
+ onSome: (b) => Effect.as(op2.f(b), Option.some(b))
45
47
  }))),
46
48
  FilterEffect: (op1, op2) => FilterMapEffect((a) => Effect.flatMap(op1.f(a), Option.match({
47
49
  onNone: () => Effect.succeedNone,
@@ -57,15 +59,13 @@ const EffectOperatorFusionMap = {
57
59
  export function fuseEffectOperators(op1, op2) {
58
60
  return EffectOperatorFusionMap[op1._tag][op2._tag](op1, op2);
59
61
  }
62
+ // TODO: We should probably do more specific fusions
60
63
  export function liftSyncOperator(op) {
61
- switch (op._tag) {
62
- case "Filter":
63
- return FilterEffect((a) => Effect.sync(() => op.f(a)));
64
- case "FilterMap":
65
- return FilterMapEffect((a) => Effect.sync(() => op.f(a)));
66
- case "Map":
67
- return MapEffect((a) => Effect.sync(() => op.f(a)));
68
- }
64
+ return SyncOp.matchSyncOperator(op, {
65
+ Filter: (op) => FilterEffect((a) => Effect.succeed(op.f(a))),
66
+ FilterMap: (op) => FilterMapEffect((a) => Effect.succeed(op.f(a))),
67
+ Map: (op) => MapEffect((a) => Effect.succeed(op.f(a)))
68
+ });
69
69
  }
70
70
  export function matchEffectOperator(operator, matchers) {
71
71
  switch (operator._tag) {
@@ -81,36 +81,21 @@ export function matchEffectOperator(operator, matchers) {
81
81
  }
82
82
  export function compileEffectOperatorSink(operator, sink) {
83
83
  return matchEffectOperator(operator, {
84
- MapEffect: (op) => WithContext(sink.onFailure, (a) => Effect.matchCauseEffect(op.f(a), sink)),
85
- FilterEffect: (op) => WithContext(sink.onFailure, (a) => Effect.matchCauseEffect(op.f(a), {
86
- onFailure: sink.onFailure,
87
- onSuccess: (b) => b ? sink.onSuccess(a) : Effect.unit
88
- })),
89
- FilterMapEffect: (op) => WithContext(sink.onFailure, (a) => Effect.matchCauseEffect(op.f(a), {
90
- onFailure: sink.onFailure,
91
- onSuccess: Option.match({
92
- onNone: () => Effect.unit,
93
- onSome: sink.onSuccess
94
- })
95
- })),
96
- TapEffect: (op) => WithContext(sink.onFailure, (a) => Effect.matchCauseEffect(Effect.as(op.f(a), a), sink))
84
+ MapEffect: (op) => Sink.mapEffect(sink, op.f),
85
+ FilterEffect: (op) => Sink.filterEffect(sink, op.f),
86
+ FilterMapEffect: (op) => Sink.filterMapEffect(sink, op.f),
87
+ TapEffect: (op) => Sink.tapEffect(sink, op.f)
97
88
  });
98
89
  }
99
90
  export function compileCauseEffectOperatorSink(operator, sink) {
100
91
  return matchEffectOperator(operator, {
101
- MapEffect: (op) => WithContext((a) => Effect.matchCauseEffect(op.f(a), WithContext((cause2) => sink.onFailure(Cause.sequential(a, cause2)), sink.onFailure)), sink.onSuccess),
102
- FilterEffect: (op) => WithContext((a) => Effect.matchCauseEffect(op.f(a), {
103
- onFailure: (cause2) => sink.onFailure(Cause.sequential(a, cause2)),
104
- onSuccess: (b) => b ? sink.onFailure(a) : Effect.unit
105
- }), sink.onSuccess),
106
- FilterMapEffect: (op) => WithContext((a) => Effect.matchCauseEffect(op.f(a), {
107
- onFailure: (cause2) => sink.onFailure(Cause.sequential(a, cause2)),
108
- onSuccess: Option.match({
109
- onNone: () => Effect.unit,
110
- onSome: sink.onFailure
111
- })
112
- }), sink.onSuccess),
113
- TapEffect: (op) => WithContext((a) => Effect.matchCauseEffect(Effect.as(op.f(a), a), WithContext((cause2) => sink.onFailure(Cause.sequential(a, cause2)), sink.onFailure)), sink.onSuccess)
92
+ MapEffect: (op) => Sink.make((a) => Effect.matchCauseEffect(op.f(a), Sink.make((cause2) => sink.onFailure(Cause.sequential(a, cause2)), sink.onFailure)), sink.onSuccess),
93
+ FilterEffect: (op) => Sink.make((a) => Effect.matchCauseEffect(op.f(a), Sink.make((cause2) => sink.onFailure(Cause.sequential(a, cause2)), (b) => b ? sink.onFailure(a) : Effect.unit)), sink.onSuccess),
94
+ FilterMapEffect: (op) => Sink.make((a) => Effect.matchCauseEffect(op.f(a), Sink.make((cause2) => sink.onFailure(Cause.sequential(a, cause2)), Option.match({
95
+ onNone: () => Effect.unit,
96
+ onSome: sink.onFailure
97
+ }))), sink.onSuccess),
98
+ TapEffect: (op) => Sink.make((a) => Effect.matchCauseEffect(Effect.as(op.f(a), a), Sink.make((cause2) => sink.onFailure(Cause.sequential(a, cause2)), sink.onFailure)), sink.onSuccess)
114
99
  });
115
100
  }
116
101
  export function compileEffectLoop(operator, loop) {
@@ -124,4 +109,26 @@ export function compileEffectLoop(operator, loop) {
124
109
  }))
125
110
  });
126
111
  }
112
+ export function compileEffectReducer(operator, loop) {
113
+ return matchEffectOperator(operator, {
114
+ MapEffect: (op) => (b, i) => Effect.map(Effect.flatMap(op.f(i), (a) => loop(b, a)), Option.some),
115
+ TapEffect: (op) => (b, i) => Effect.map(Effect.flatMap(op.f(i), () => loop(b, i)), Option.some),
116
+ FilterEffect: (op) => (b, i) => Effect.flatMap(op.f(i), (a) => a ? Effect.map(loop(b, i), Option.some) : Effect.succeedNone),
117
+ FilterMapEffect: (op) => (b, i) => Effect.flatMap(op.f(i), Option.match({
118
+ onNone: () => Effect.succeedNone,
119
+ onSome: (a) => Effect.map(loop(b, a), Option.some)
120
+ }))
121
+ });
122
+ }
123
+ export function runSyncReduce(producer, op, seed, f) {
124
+ return matchEffectOperator(op, {
125
+ MapEffect: (op) => SyncProducer.runReduceEffect(producer, seed, (acc, a) => Effect.map(op.f(a), (b) => f(acc, b))),
126
+ TapEffect: (op) => SyncProducer.runReduceEffect(producer, seed, (acc, a) => Effect.map(op.f(a), () => f(acc, a))),
127
+ FilterEffect: (op) => SyncProducer.runReduceEffect(producer, seed, (acc, a) => Effect.map(op.f(a), (b) => b ? acc : f(acc, a))),
128
+ FilterMapEffect: (op) => SyncProducer.runReduceEffect(producer, seed, (acc, a) => Effect.map(op.f(a), Option.match({
129
+ onNone: () => acc,
130
+ onSome: (b) => f(acc, b)
131
+ })))
132
+ });
133
+ }
127
134
  //# sourceMappingURL=effect-operator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"effect-operator.js","sourceRoot":"","sources":["../../../src/internal/effect-operator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"effect-operator.js","sourceRoot":"","sources":["../../../src/internal/effect-operator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Schedule from "effect/Schedule";
3
+ export function FromEffect(source) {
4
+ return { _tag: "FromEffect", source };
5
+ }
6
+ export function FromScheduled(input, schedule) {
7
+ return { _tag: "FromScheduled", schedule, input };
8
+ }
9
+ export function Scheduled(input, schedule) {
10
+ return { _tag: "Scheduled", schedule, input };
11
+ }
12
+ export function runSink(producer, sink) {
13
+ switch (producer._tag) {
14
+ case "FromEffect":
15
+ return Effect.matchCauseEffect(producer.source, sink);
16
+ case "FromScheduled":
17
+ return runFromScheduled(producer, sink);
18
+ case "Scheduled":
19
+ return runSchedule(producer, sink);
20
+ }
21
+ }
22
+ function runFromScheduled(scheduled, sink) {
23
+ return Effect.catchAllCause(Effect.flatMap(scheduled.input, (i) => Effect.scheduleFrom(scheduled.input, i, Schedule.mapEffect(scheduled.schedule, sink.onSuccess))), sink.onFailure);
24
+ }
25
+ function runSchedule(scheduled, sink) {
26
+ return Effect.catchAllCause(Effect.schedule(Effect.matchCauseEffect(scheduled.input, sink), scheduled.schedule), sink.onFailure);
27
+ }
28
+ export function runEffect(producer, f) {
29
+ switch (producer._tag) {
30
+ case "FromEffect":
31
+ return Effect.flatMap(producer.source, f);
32
+ case "FromScheduled":
33
+ return Effect.flatMap(producer.input, (i) => Effect.asyncEffect((resume) => {
34
+ const onFailure = (cause) => Effect.succeed(resume(Effect.failCause(cause)));
35
+ return Effect.matchCauseEffect(Effect.scheduleFrom(producer.input, i, Schedule.mapEffect(producer.schedule, (a) => Effect.catchAllCause(f(a), onFailure))), { onFailure, onSuccess: () => Effect.succeed(resume(Effect.unit)) });
36
+ }));
37
+ case "Scheduled":
38
+ return Effect.schedule(Effect.flatMap(producer.input, f), producer.schedule);
39
+ }
40
+ }
41
+ export function runReduceEffect(producer, initial, f) {
42
+ return Effect.suspend(() => {
43
+ let acc = initial;
44
+ return Effect.map(runEffect(producer, (a) => Effect.map(f(acc, a), (b) => (acc = b))), () => acc);
45
+ });
46
+ }
47
+ //# sourceMappingURL=effect-producer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-producer.js","sourceRoot":"","sources":["../../../src/internal/effect-producer.ts"],"names":[],"mappings":"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"}
@@ -1,46 +1,100 @@
1
- import { getOption, unsafeGet } from "@typed/context";
2
- import { Effectable, Exit, TestClock } from "effect";
3
- import { NoSuchElementException } from "effect/Cause";
1
+ import { getOption } from "@typed/context";
2
+ import { Equivalence } from "effect";
3
+ import * as Cause from "effect/Cause";
4
4
  import * as Effect from "effect/Effect";
5
+ import * as Effectable from "effect/Effectable";
6
+ import * as Equal from "effect/Equal";
7
+ import * as ExecutionStrategy from "effect/ExecutionStrategy";
5
8
  import * as Fiber from "effect/Fiber";
6
9
  import * as Option from "effect/Option";
7
10
  import * as Ref from "effect/Ref";
8
- import * as Runtime from "effect/Runtime";
9
11
  import * as Scope from "effect/Scope";
10
12
  import * as SynchronizedRef from "effect/SynchronizedRef";
11
- import { matchEffectPrimitive } from "./effect-primitive.js";
12
- export function withScopedFork(f) {
13
- return Effect.acquireUseRelease(Scope.make(), (scope) => {
14
- const fork = makeScopedFork(scope);
15
- return f((effect) => fork(Effect.interruptible(effect)), scope);
16
- }, Scope.close);
17
- }
18
- function makeScopedFork(scope) {
19
- const forkIn = Effect.forkIn(scope);
20
- return (effect) => {
21
- // Convert simple Effects directly into synthetic Fibers to avoid the overhead of constructing a fiber.
22
- return matchEffectPrimitive(effect, {
23
- Success: (e) => Effect.succeed(Fiber.succeed(e.i0)),
24
- Failure: (e) => Effect.succeed(Fiber.failCause(e.i0)),
25
- Sync: (e) => Effect.sync(() => Fiber.succeed(e.i0())),
26
- Left: (e) => Effect.succeed(Fiber.fail(e.left)),
27
- Right: (e) => Effect.succeed(Fiber.succeed(e.right)),
28
- None: () => Effect.succeed(Fiber.fail(new NoSuchElementException())),
29
- Some: (e) => Effect.succeed(Fiber.succeed(e.value)),
30
- Otherwise: (e) => forkIn(e)
31
- });
13
+ import * as TestClock from "effect/TestClock";
14
+ export function withBuffers(size, sink) {
15
+ const buffers = Array.from({ length: size }, () => []);
16
+ const finished = new Set();
17
+ let currentIndex = 0;
18
+ const drainBuffer = (index) => {
19
+ const effect = Effect.forEach(buffers[index], sink.onSuccess);
20
+ buffers[index] = [];
21
+ return Effect.flatMap(effect, () => finished.has(index) ? onEnd(index) : Effect.unit);
22
+ };
23
+ const onSuccess = (index, value) => {
24
+ if (index === currentIndex) {
25
+ const buffer = buffers[index];
26
+ if (buffer.length === 0) {
27
+ return sink.onSuccess(value);
28
+ }
29
+ else {
30
+ buffer.push(value);
31
+ return drainBuffer(index);
32
+ }
33
+ }
34
+ else {
35
+ buffers[index].push(value);
36
+ return Effect.unit;
37
+ }
32
38
  };
39
+ const onEnd = (index) => {
40
+ finished.add(index);
41
+ if (index === currentIndex && ++currentIndex < size) {
42
+ return drainBuffer(currentIndex);
43
+ }
44
+ else {
45
+ return Effect.unit;
46
+ }
47
+ };
48
+ return {
49
+ onSuccess,
50
+ onEnd
51
+ };
52
+ }
53
+ export const withScope = (f, executionStrategy) => Effect.acquireUseRelease(Effect.scopeWith((scope) => Scope.fork(scope, executionStrategy)), f, Scope.close);
54
+ export const getExitEquivalence = (A) => Equivalence.make((a, b) => {
55
+ if (a._tag === "Failure") {
56
+ return b._tag === "Failure" && Equal.equals(a.cause, b.cause);
57
+ }
58
+ else {
59
+ return b._tag === "Success" && A(a.value, b.value);
60
+ }
61
+ });
62
+ export function withScopedFork(f, executionStrategy) {
63
+ return withScope((scope) => f(makeForkInScope(scope), scope), executionStrategy);
33
64
  }
34
- export function withSwitchFork(f) {
35
- return withScopedFork((_, scope) => Effect.flatMap(SynchronizedRef.make(Fiber.unit), (ref) => runSwitchFork(ref, scope, f)));
65
+ export function makeForkInScope(scope) {
66
+ return (effect) => matchEffectPrimitive(effect, {
67
+ Success: (a) => Effect.succeed(Fiber.succeed(a)),
68
+ Failure: (cause) => Effect.succeed(Fiber.failCause(cause)),
69
+ Sync: (f) => Effect.sync(() => {
70
+ try {
71
+ return Fiber.succeed(f());
72
+ }
73
+ catch (e) {
74
+ return Fiber.failCause(Cause.die(e));
75
+ }
76
+ }),
77
+ Left: (e) => Effect.succeed(Fiber.fail(e)),
78
+ Right: (a) => Effect.succeed(Fiber.succeed(a)),
79
+ Some: (a) => Effect.succeed(Fiber.succeed(a)),
80
+ None: (e) => Effect.succeed(Fiber.fail(e)),
81
+ Otherwise: (eff) => Effect.forkIn(Effect.provideService(eff, Scope.Scope, scope), scope)
82
+ });
36
83
  }
37
- export function runSwitchFork(ref, scope, f) {
38
- return Effect.flatMap(f((effect) => SynchronizedRef.updateAndGetEffect(ref, (fiber) => Effect.flatMap(Fiber.interrupt(fiber), () => Effect.forkIn(effect, scope))), scope), () => Effect.flatMap(SynchronizedRef.get(ref), Fiber.join));
84
+ export function withSwitchFork(f, executionStrategy) {
85
+ return withScopedFork((fork, scope) => Effect.flatMap(SynchronizedRef.make(Fiber.unit), (ref) => runSwitchFork(ref, fork, scope, f)), executionStrategy);
39
86
  }
40
- export function withExhaustFork(f) {
41
- return withScopedFork((fork, scope) => Effect.flatMap(SynchronizedRef.make(null), (ref) => Effect.flatMap(f((effect) => SynchronizedRef.updateEffect(ref, (fiber) => fiber ? Effect.succeed(fiber) : fork(Effect.onExit(effect, () => Ref.set(ref, null)))), scope), () => Effect.flatMap(Ref.get(ref), (fiber) => fiber ? Fiber.join(fiber) : Effect.unit))));
87
+ export function runSwitchFork(ref, fork, scope, f) {
88
+ return Effect.zipRight(f((effect) => SynchronizedRef.updateEffect(ref, (fiber) => Effect.zipRight(Fiber.interrupt(fiber), fork(effect))), scope), Effect.flatMap(SynchronizedRef.get(ref), Fiber.join));
42
89
  }
43
- export function withExhaustLatestFork(f) {
90
+ export function withExhaustFork(f, executionStrategy) {
91
+ return withScopedFork((fork, scope) => {
92
+ return Effect.flatMap(SynchronizedRef.make(null), (ref) => Effect.flatMap(f((effect) => SynchronizedRef.updateEffect(ref, (fiber) => fiber
93
+ ? Effect.succeed(fiber)
94
+ : fork(Effect.onExit(effect, () => Ref.set(ref, null)))), scope), () => Effect.flatMap(Ref.get(ref), (fiber) => fiber ? Fiber.join(fiber) : Effect.unit)));
95
+ }, executionStrategy);
96
+ }
97
+ export function withExhaustLatestFork(f, executionStrategy) {
44
98
  return withScopedFork((fork, scope) => Effect.flatMap(Effect.zip(Ref.make(undefined), Ref.make(Option.none())), ([ref, nextEffect]) => {
45
99
  const reset = Ref.set(ref, undefined);
46
100
  // Wait for the current fiber to finish
@@ -63,20 +117,27 @@ export function withExhaustLatestFork(f) {
63
117
  ? Ref.set(nextEffect, Option.some(eff))
64
118
  : Effect.flatMap(fork(Effect.ensuring(eff, Effect.zip(reset, runNext))), (fiber) => Ref.set(ref, fiber)));
65
119
  return Effect.zip(f(exhaustLatestFork, scope), awaitNext);
66
- }));
120
+ }), executionStrategy);
67
121
  }
68
- export function withUnboundedFork(f) {
69
- return withScopedFork((fork, scope) => Effect.flatMap(Ref.make(new Set()), (ref) => Effect.flatMap(f((effect) => fork(effect).pipe(Effect.tap((fiber) => Ref.update(ref, (set) => set.add(fiber))), Effect.tap((fiber) => Scope.addFinalizer(scope, Ref.update(ref, (set) => {
70
- set.delete(fiber);
71
- return set;
72
- })))), scope), () => Effect.flatMap(Ref.get(ref), (fibers) => fibers.size > 0 ? Fiber.joinAll(fibers) : Effect.unit))));
122
+ export function withUnboundedFork(f, executionStrategy) {
123
+ return withScopedFork((fork, scope) => Effect.flatMap(Ref.make(new Map()), (ref) => Effect.flatMap(f((effect) => {
124
+ const id = Symbol();
125
+ return Effect.tap(fork(Effect.onExit(effect, () => Ref.update(ref, (map) => (map.delete(id), map)))), (fiber) => {
126
+ if (Fiber.isRuntimeFiber(fiber)) {
127
+ return Ref.update(ref, (map) => map.set(id, fiber));
128
+ }
129
+ else {
130
+ return Effect.unit;
131
+ }
132
+ });
133
+ }, scope), () => Effect.flatMap(Ref.get(ref), (fibers) => fibers.size > 0 ? Fiber.joinAll(fibers.values()) : Effect.unit))), executionStrategy);
73
134
  }
74
135
  export function withBoundedFork(capacity) {
75
- return (f) => {
136
+ return (f, executionStrategy) => {
76
137
  return withScopedFork((fork, scope) => Effect.flatMap(Ref.make(new Set()).pipe(Effect.zip(Effect.makeSemaphore(capacity))), ([ref, semaphore]) => Effect.flatMap(f((effect) => fork(semaphore.withPermits(1)(effect)).pipe(Effect.tap((fiber) => Ref.update(ref, (set) => set.add(fiber))), Effect.tap((fiber) => Scope.addFinalizer(scope, Ref.update(ref, (set) => {
77
138
  set.delete(fiber);
78
139
  return set;
79
- })))), scope), () => Effect.flatMap(Ref.get(ref), (fibers) => fibers.size > 0 ? Fiber.joinAll(fibers) : Effect.unit))));
140
+ })))), scope), () => Effect.flatMap(Ref.get(ref), (fibers) => fibers.size > 0 ? Fiber.joinAll(fibers) : Effect.unit))), executionStrategy);
80
141
  };
81
142
  }
82
143
  export function withFlattenStrategy(strategy) {
@@ -93,6 +154,62 @@ export function withFlattenStrategy(strategy) {
93
154
  return withUnboundedFork;
94
155
  }
95
156
  }
157
+ export function matchEffectPrimitive(effect, matchers) {
158
+ const eff = effect;
159
+ switch (eff._tag) {
160
+ case "Success":
161
+ return matchers.Success(eff.value);
162
+ case "Failure":
163
+ return matchers.Failure(eff.cause);
164
+ case "Sync":
165
+ return matchers.Sync(eff.i0);
166
+ case "Left":
167
+ return matchers.Left(eff.left);
168
+ case "Right":
169
+ return matchers.Right(eff.right);
170
+ case "Some":
171
+ return matchers.Some(eff.value);
172
+ case "None":
173
+ return matchers.None(new Cause.NoSuchElementException());
174
+ default:
175
+ return matchers.Otherwise(effect);
176
+ }
177
+ }
178
+ export function adjustTime(input = 1) {
179
+ return Effect.flatMap(Effect.context(), Effect.unifiedFn((ctx) => {
180
+ const testClock = getOption(ctx, TestClock.TestClock);
181
+ if (Option.isSome(testClock)) {
182
+ return testClock.value.adjust(input);
183
+ }
184
+ else {
185
+ return Effect.sleep(input);
186
+ }
187
+ }));
188
+ }
189
+ export function tupleSink(sink, f, expected) {
190
+ return Effect.suspend(() => {
191
+ const values = new Map();
192
+ const getValues = () => Array.from({ length: expected }, (_, i) => values.get(i));
193
+ return f((index, value) => {
194
+ values.set(index, value);
195
+ if (values.size === expected) {
196
+ return sink.onSuccess(getValues());
197
+ }
198
+ else {
199
+ return Effect.unit;
200
+ }
201
+ });
202
+ });
203
+ }
204
+ export function withDebounceFork(f, duration) {
205
+ return withScopedFork((fork, scope) => Effect.flatMap(SynchronizedRef.make(Option.none()), (ref) => Effect.flatMap(f((effect) => SynchronizedRef.updateEffect(ref, Option.match({
206
+ onNone: () => Effect.asSome(fork(Effect.delay(effect, duration))),
207
+ onSome: (fiber) => Fiber.interrupt(fiber).pipe(Effect.zipRight(fork(Effect.delay(effect, duration))), Effect.asSome)
208
+ })), scope), () => SynchronizedRef.get(ref).pipe(Effect.flatMap(Option.match({
209
+ onNone: () => Effect.unit,
210
+ onSome: Fiber.join
211
+ }))))), ExecutionStrategy.sequential);
212
+ }
96
213
  export class RingBuffer {
97
214
  capacity;
98
215
  constructor(capacity) {
@@ -130,83 +247,6 @@ export class RingBuffer {
130
247
  }
131
248
  }
132
249
  }
133
- export function withEarlyExit(sink, f) {
134
- return Effect.asyncEffect((resume) => {
135
- const earlyExit = {
136
- ...sink,
137
- earlyExit: Effect.sync(() => resume(Effect.unit))
138
- };
139
- return Effect.matchCauseEffect(f(earlyExit), {
140
- onFailure: sink.onFailure,
141
- onSuccess: () => earlyExit.earlyExit
142
- });
143
- });
144
- }
145
- export function withBuffers(size, sink) {
146
- return Effect.sync(() => {
147
- const buffers = Array.from({ length: size }, () => []);
148
- const finished = new Set();
149
- let currentIndex = 0;
150
- const drainBuffer = (index) => {
151
- const effect = Effect.forEach(buffers[index], sink.onSuccess);
152
- buffers[index] = [];
153
- return Effect.flatMap(effect, () => finished.has(index) ? onEnd(index) : Effect.unit);
154
- };
155
- const onSuccess = (index, value) => {
156
- if (index === currentIndex) {
157
- const buffer = buffers[index];
158
- if (buffer.length === 0) {
159
- return sink.onSuccess(value);
160
- }
161
- else {
162
- buffer.push(value);
163
- return drainBuffer(index);
164
- }
165
- }
166
- else {
167
- buffers[index].push(value);
168
- return Effect.unit;
169
- }
170
- };
171
- const onEnd = (index) => {
172
- finished.add(index);
173
- if (index === currentIndex && ++currentIndex < size) {
174
- return drainBuffer(currentIndex);
175
- }
176
- else {
177
- return Effect.unit;
178
- }
179
- };
180
- return {
181
- onSuccess,
182
- onEnd
183
- };
184
- });
185
- }
186
- export function scopedRuntime() {
187
- return Effect.gen(function* (_) {
188
- const runtime = yield* _(Effect.runtime());
189
- const scope = unsafeGet(runtime.context, Scope.Scope);
190
- const runFork = Runtime.runFork(runtime);
191
- const run = (effect) => {
192
- const fiber = Scope.addFinalizer(scope, Effect.suspend(() => Fiber.interrupt(fiber))).pipe(Effect.zipRight(effect), runFork);
193
- return fiber;
194
- };
195
- const runPromise = (effect) => new Promise((resolve, reject) => {
196
- const fiber = run(effect);
197
- fiber.addObserver(Exit.match({
198
- onFailure: (cause) => reject(Runtime.makeFiberFailure(cause)),
199
- onSuccess: resolve
200
- }));
201
- });
202
- return {
203
- runtime,
204
- scope,
205
- run,
206
- runPromise
207
- };
208
- });
209
- }
210
250
  export function awaitScopeClose(scope) {
211
251
  return Effect.asyncEffect((cb) => Scope.addFinalizerExit(scope, () => Effect.sync(() => cb(Effect.unit))));
212
252
  }
@@ -238,16 +278,4 @@ export class MulticastEffect extends Effectable.Class {
238
278
  });
239
279
  }
240
280
  }
241
- export function adjustTime(input) {
242
- return Effect.gen(function* (_) {
243
- const ctx = yield* _(Effect.context());
244
- const testClock = getOption(ctx, TestClock.TestClock);
245
- if (Option.isSome(testClock)) {
246
- yield* _(testClock.value.adjust(input ?? 1));
247
- }
248
- else if (input) {
249
- yield* _(Effect.sleep(input));
250
- }
251
- });
252
- }
253
281
  //# sourceMappingURL=helpers.js.map