@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
@@ -1 +0,0 @@
1
- {"version":3,"file":"fx-primitive.js","sourceRoot":"","sources":["../../../src/internal/fx-primitive.ts"],"names":[],"mappings":"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"}
@@ -1,216 +0,0 @@
1
- import * as Chainable from "@effect/typeclass/Chainable";
2
- import * as Covariant from "@effect/typeclass/Covariant";
3
- import * as Invariant from "@effect/typeclass/Invariant";
4
- import { Fiber } from "effect";
5
- import * as Clock from "effect/Clock";
6
- import * as Effect from "effect/Effect";
7
- import * as Either from "effect/Either";
8
- import * as Exit from "effect/Exit";
9
- import { dual } from "effect/Function";
10
- import * as Layer from "effect/Layer";
11
- import * as Option from "effect/Option";
12
- import * as Queue from "effect/Queue";
13
- import * as Tracer from "effect/Tracer";
14
- import * as Sink from "../Sink.js";
15
- import * as Typeclass from "../Typeclass.js";
16
- import * as core from "./core.js";
17
- import { run } from "./run.js";
18
- import { multicast } from "./share.js";
19
- /**
20
- * Create an Fx which will emit a value after waiting for a specified duration.
21
- * @since 1.18.0
22
- */
23
- export const at = dual(2, function (value, delay) {
24
- return core.fromEffect(Effect.delay(Effect.succeed(value), delay));
25
- });
26
- /**
27
- * Create an Fx which will wait a specified duration of time where no
28
- * events have occurred before emitting a value.
29
- * @since 1.18.0
30
- */
31
- export const debounce = dual(2, function (fx, delay) {
32
- return core.switchMap(fx, (a) => core.fromEffect(Effect.delay(Effect.succeed(a), delay)));
33
- });
34
- /**
35
- * Create an Fx which will wait a specified duration of time before emitting
36
- * an event after the last event.
37
- * @since 1.18.0
38
- */
39
- export const throttle = dual(2, function (fx, delay) {
40
- return core.exhaustMap(fx, (a) => core.fromEffect(Effect.delay(Effect.succeed(a), delay)));
41
- });
42
- /**
43
- * Create an Fx which will wait a specified duration of time where no
44
- * events have occurred before emitting a value.
45
- * @since 1.18.0
46
- */
47
- export const delay = dual(2, function (fx, delay) {
48
- return core.flatMap(fx, (a) => core.fromEffect(Effect.delay(Effect.succeed(a), delay)));
49
- });
50
- /**
51
- * Run an Effect to produce an Fx to run.
52
- * @since 1.18.0
53
- */
54
- export const fromFxEffect = (fxEffect) => core.fromSink((sink) => Effect.flatMap(fxEffect, (fx) => run(fx, sink)));
55
- /**
56
- * Run an Effect when an Fx exits
57
- * @since 1.18.0
58
- */
59
- export const onExit = dual(2, function onExit(fx, f) {
60
- return core.middleware(fx, Effect.onExit(f));
61
- });
62
- /**
63
- * Run an Effect when an Fx is interrupted
64
- * @since 1.18.0
65
- */
66
- export const onInterrupt = dual(2, function onInterrupt(fx, f) {
67
- return core.middleware(fx, Effect.onInterrupt(f));
68
- });
69
- /**
70
- * Run an Effect when an Fx ends with an error
71
- * @since 1.18.0
72
- */
73
- export const onError = dual(2, function onError(fx, f) {
74
- return core.middleware(fx, Effect.onError(f));
75
- });
76
- export const scoped = (fx) => core.middleware(fx, Effect.scoped);
77
- export const annotateLogs = dual(3, function annotateLogs(fx, key, value) {
78
- return core.middleware(fx, (effect) => Effect.annotateLogs(effect, key, value));
79
- });
80
- export const annotateSpans = dual(3, function annotateSpans(fx, key, value) {
81
- return core.middleware(fx, (effect) => Effect.annotateSpans(effect, key, value));
82
- });
83
- export const succeedNone = () => core.succeed(Option.none());
84
- export const succeedSome = (value) => core.succeed(Option.some(value));
85
- export const asSome = (self) => core.map(self, Option.some);
86
- export const asSomeError = (self) => core.mapError(self, Option.some);
87
- export const Do = core.succeed({});
88
- export const bind = Chainable.bind(Typeclass.Monad);
89
- export const bindTo = Invariant.bindTo(Typeclass.Invariant);
90
- const let_ = Covariant.let(Typeclass.Monad);
91
- export { let_ as let };
92
- export const ensuring = dual(2, function (self, finalizer) {
93
- return core.middleware(self, (effect) => Effect.ensuring(effect, finalizer));
94
- });
95
- export const exit = (fx) => core.matchCause(fx, {
96
- onFailure: (cause) => core.succeed(Exit.failCause(cause)),
97
- onSuccess: (a) => core.succeed(Exit.succeed(a))
98
- });
99
- export const either = (fx) => core.match(fx, {
100
- onFailure: (error) => core.succeed(Either.left(error)),
101
- onSuccess: (a) => core.succeed(Either.right(a))
102
- });
103
- export const findFirst = dual(2, function findFirst(fx, f) {
104
- return Effect.asyncEffect((resume) => Effect.zipRight(run(fx, Sink.WithContext((cause) => Effect.sync(() => resume(Effect.failCause(cause))), (a) => Effect.matchCause(f(a), {
105
- onFailure: (cause) => resume(Effect.failCause(cause)),
106
- onSuccess: (b) => b ? resume(Effect.succeedSome(a)) : Effect.unit
107
- }))), Effect.sync(() => resume(Effect.succeedNone))));
108
- });
109
- export const flip = (fx) => core.match(fx, {
110
- onFailure: (error) => core.succeed(error),
111
- onSuccess: (a) => core.fail(a)
112
- });
113
- export const fromNullable = (value) => {
114
- if (value === null || value === undefined) {
115
- return core.empty;
116
- }
117
- else {
118
- return core.succeed(value);
119
- }
120
- };
121
- const if_ = dual(3, function if_(bool, onTrue, onFalse) {
122
- if (typeof bool === "boolean") {
123
- return bool ? core.from(onTrue) : core.from(onFalse);
124
- }
125
- else {
126
- return core.switchMap(bool, (bool) => (bool ? onTrue : onFalse));
127
- }
128
- });
129
- export { if_ as if };
130
- export const when = dual(3, function when_(bool, onTrue, onFalse) {
131
- if (typeof bool === "boolean") {
132
- return bool ? core.from(onTrue) : core.from(onFalse);
133
- }
134
- else {
135
- return core.map(bool, (bool) => (bool ? onTrue : onFalse));
136
- }
137
- });
138
- export const interruptible = (fx) => core.middleware(fx, Effect.interruptible);
139
- export const uninterruptible = (fx) => core.middleware(fx, Effect.uninterruptible);
140
- export const locally = dual(3, function locally(use, self, value) {
141
- return core.middleware(use, (effect) => Effect.locally(effect, self, value));
142
- });
143
- export const locallyWith = dual(3, function locally(use, self, f) {
144
- return core.middleware(use, (effect) => Effect.locallyWith(effect, self, f));
145
- });
146
- export const withTracerTiming = dual(2, function withTracerTiming(fx, enabled) {
147
- return core.middleware(fx, (effect) => Effect.withTracerTiming(effect, enabled));
148
- });
149
- export const withConcurrency = dual(2, function withConcurrency(fx, concurrency) {
150
- return core.middleware(fx, (effect) => Effect.withConcurrency(effect, concurrency));
151
- });
152
- export const withConfigProvider = dual(2, function withConfigProvider(fx, configProvider) {
153
- return core.middleware(fx, (effect) => Effect.withConfigProvider(effect, configProvider));
154
- });
155
- export const withLogSpan = dual(2, function withLogSpan(fx, span) {
156
- return core.middleware(fx, (effect) => Effect.withLogSpan(effect, span));
157
- });
158
- export const withMaxOpsBeforeYield = dual(2, function withMaxOpsBeforeYield(fx, maxOps) {
159
- return core.middleware(fx, (effect) => Effect.withMaxOpsBeforeYield(effect, maxOps));
160
- });
161
- export const withParentSpan = dual(2, function withParentSpan(fx, parentSpan) {
162
- return core.middleware(fx, (effect) => Effect.withParentSpan(effect, parentSpan));
163
- });
164
- export const withRequestBatching = dual(2, function withRequestBatching(fx, requestBatching) {
165
- return core.middleware(fx, (effect) => Effect.withRequestBatching(effect, requestBatching));
166
- });
167
- export const withRequestCache = dual(2, function withRequestCache(fx, cache) {
168
- return core.middleware(fx, (effect) => Effect.withRequestCache(effect, cache));
169
- });
170
- export const withRequestCaching = dual(2, function withRequestCaching(fx, requestCaching) {
171
- return core.middleware(fx, (effect) => Effect.withRequestCaching(effect, requestCaching));
172
- });
173
- export const withScheduler = dual(2, function withScheduler(fx, scheduler) {
174
- return core.middleware(fx, (effect) => Effect.withScheduler(effect, scheduler));
175
- });
176
- export const withSpan = dual(3, function withSpan(self, name, options = {}) {
177
- return core.acquireUseRelease(Effect.flatMap(Effect.currentSpan, (parent) => Effect.makeSpan(name, { ...options, parent: options?.parent || Option.getOrUndefined(parent) })), (span) => core.middleware(self, (effect) => Effect.provideService(effect, Tracer.ParentSpan, span), Sink.setSpan(span)), (span, exit) => Effect.flatMap(Clock.currentTimeNanos, (time) => Effect.sync(() => span.end(time, exit))));
178
- });
179
- export const withTracer = dual(2, function withTracer(fx, tracer) {
180
- return core.middleware(fx, (effect) => Effect.withTracer(effect, tracer));
181
- });
182
- export const partitionMap = dual(2, (self, f) => {
183
- // Multicast such that listening to both streams only runs the Fx once.
184
- const m = multicast(core.map(self, f));
185
- return [
186
- core.filterMap(m, Either.getLeft),
187
- core.filterMap(m, Either.getRight)
188
- ];
189
- });
190
- export function fromDequeue(dequeue) {
191
- return core.fromSink((sink) => Effect.repeatWhileEffect(Effect.matchCauseEffect(dequeue.take, sink), () => dequeueIsActive(dequeue)));
192
- }
193
- /**
194
- * @internal
195
- */
196
- export function dequeueIsActive(dequeue) {
197
- if (Queue.DequeueTypeId in dequeue) {
198
- return Effect.sync(() => dequeue.isActive());
199
- }
200
- else {
201
- return dequeue.isActive;
202
- }
203
- }
204
- export const toEnqueue = dual(2, function toEnqueue(fx, enqueue) {
205
- return core.observe(fx, (a) => enqueue.offer(a));
206
- });
207
- export function fromPubSub(PubSub) {
208
- return core.acquireUseRelease(PubSub.subscribe, (q) => fromDequeue(q), (d) => d.shutdown);
209
- }
210
- export function drainLayer(...fxs) {
211
- return Layer.scopedDiscard(Effect.forkScoped(core.drain(core.merge(fxs))));
212
- }
213
- export const mergeRace = dual(2, function mergeRace(fx, other) {
214
- return core.withScopedFork(({ fork, sink }) => Effect.flatMap(fork(run(other, sink)), (otherFiber) => run(core.tap(fx, () => Fiber.interrupt(otherFiber)), sink)));
215
- });
216
- //# sourceMappingURL=fx.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fx.js","sourceRoot":"","sources":["../../../src/internal/fx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,6BAA6B,CAAA;AACxD,OAAO,KAAK,SAAS,MAAM,6BAA6B,CAAA;AACxD,OAAO,KAAK,SAAS,MAAM,6BAA6B,CAAA;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE9B,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAGnC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,IAAI,MAAM,YAAY,CAAA;AAClC,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC;;;GAGG;AACH,MAAM,CAAC,MAAM,EAAE,GAGX,IAAI,CAAC,CAAC,EAAE,UAAY,KAAQ,EAAE,KAAoB;IACpD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;AACpE,CAAC,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAGjB,IAAI,CAAC,CAAC,EAAE,UAAkB,EAAe,EAAE,KAAoB;IACjE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;AAC3F,CAAC,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAGjB,IAAI,CAAC,CAAC,EAAE,UAAkB,EAAe,EAAE,KAAoB;IACjE,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;AAC5F,CAAC,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAGd,IAAI,CAAC,CAAC,EAAE,UAAkB,EAAe,EAAE,KAAoB;IACjE,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;AACzF,CAAC,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAkB,QAA4C,EAAyB,EAAE,CACnH,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;AAE1E;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAQf,IAAI,CAAC,CAAC,EAAE,SAAS,MAAM,CACzB,EAAe,EACf,CAAyE;IAEzE,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9C,CAAC,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAQpB,IAAI,CAAC,CAAC,EAAE,SAAS,WAAW,CAC9B,EAAe,EACf,CAAwF;IAExF,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAQhB,IAAI,CAAC,CAAC,EAAE,SAAS,OAAO,CAC1B,EAAe,EACf,CAAmE;IAEnE,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAU,EAAe,EAAqC,EAAE,CACpF,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;AAEpC,MAAM,CAAC,MAAM,YAAY,GAKrB,IAAI,CAAC,CAAC,EAAE,SAAS,YAAY,CAC/B,EAAe,EACf,GAAqC,EACrC,KAAe;IAEf,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,GAAa,EAAE,KAAgB,CAAC,CAAC,CAAA;AACtG,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,aAAa,GAKtB,IAAI,CAAC,CAAC,EAAE,SAAS,aAAa,CAChC,EAAe,EACf,GAAqC,EACrC,KAAe;IAEf,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,GAAa,EAAE,KAAgB,CAAC,CAAC,CAAA;AACvG,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAkD,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAK,CAAC,CAAA;AAE9G,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,KAAQ,EAAsC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAI,KAAK,CAAC,CAAC,CAAA;AAEnH,MAAM,CAAC,MAAM,MAAM,GAA+D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;AAEvH,MAAM,CAAC,MAAM,WAAW,GAA+D,CAAC,IAAI,EAAE,EAAE,CAC9F,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;AAElC,MAAM,CAAC,MAAM,EAAE,GAAyB,IAAI,CAAC,OAAO,CAAK,EAAE,CAAC,CAAA;AAE5D,MAAM,CAAC,MAAM,IAAI,GAUb,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAEnC,MAAM,CAAC,MAAM,MAAM,GAGf,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;AAEzC,MAAM,IAAI,GAUN,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAElC,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,CAAA;AAEtB,MAAM,CAAC,MAAM,QAAQ,GAGjB,IAAI,CAAC,CAAC,EAAE,UACV,IAAiB,EACjB,SAA4C;IAE5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;AAC9E,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAU,EAAe,EAAiC,EAAE,CAC9E,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;IAClB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACzD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,MAAM,GAAG,CAAU,EAAe,EAAqC,EAAE,CACpF,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;IACb,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,SAAS,GAQlB,IAAI,CAAC,CAAC,EAAE,SAAS,SAAS,CAC5B,EAAe,EACf,CAA2C;IAE3C,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,CACnC,MAAM,CAAC,QAAQ,CACb,GAAG,CACD,EAAE,EACF,IAAI,CAAC,WAAW,CACd,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAC7D,CAAC,CAAC,EAAE,EAAE,CACJ,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACtB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;KAClE,CAAC,CACL,CACF,EACD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAC9C,CACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAU,EAAe,EAAe,EAAE,CAC5D,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;IACb,SAAS,EAAE,CAAC,KAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;CAC/B,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,KAAkC,EAAoC,EAAE;IACtG,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;AACH,CAAC,CAAA;AAED,MAAM,GAAG,GAoBL,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,CACtB,IAAiC,EACjC,MAA0B,EAC1B,OAA2B;IAE3B,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,SAAS,CACnB,IAAI,EACJ,CAAC,IAAI,EAAoC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CACtE,CAAA;IACH,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAAA;AAEpB,MAAM,CAAC,MAAM,IAAI,GAoBb,IAAI,CAAC,CAAC,EAAE,SAAS,KAAK,CACxB,IAAiC,EACjC,MAAS,EACT,OAAU;IAEV,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,GAAG,CACb,IAAI,EACJ,CAAC,IAAI,EAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAC3C,CAAA;IACH,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAU,EAAe,EAAe,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;AAEjH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAU,EAAe,EAAe,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,eAAe,CAAC,CAAA;AAErH,MAAM,CAAC,MAAM,OAAO,GAGhB,IAAI,CAAC,CAAC,EAAE,SAAS,OAAO,CAC1B,GAAgB,EAChB,IAA0B,EAC1B,KAAQ;IAER,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;AAC9E,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAGpB,IAAI,CAAC,CAAC,EAAE,SAAS,OAAO,CAC1B,GAAgB,EAChB,IAA0B,EAC1B,CAAc;IAEd,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAC9E,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAGzB,IAAI,CAAC,CAAC,EAAE,SAAS,gBAAgB,CACnC,EAAe,EACf,OAAgB;IAEhB,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAClF,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAGxB,IAAI,CAAC,CAAC,EAAE,SAAS,eAAe,CAClC,EAAe,EACf,WAAiC;IAEjC,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;AACrF,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAG3B,IAAI,CAAC,CAAC,EAAE,SAAS,kBAAkB,CACrC,EAAe,EACf,cAA8B;IAE9B,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;AAC3F,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAGpB,IAAI,CAAC,CAAC,EAAE,SAAS,WAAW,CAC9B,EAAe,EACf,IAAY;IAEZ,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;AAC1E,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAG9B,IAAI,CAAC,CAAC,EAAE,SAAS,qBAAqB,CACxC,EAAe,EACf,MAAc;IAEd,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AACtF,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,cAAc,GAGvB,IAAI,CAAC,CAAC,EAAE,SAAS,cAAc,CACjC,EAAe,EACf,UAA6B;IAE7B,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;AACnF,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAG5B,IAAI,CAAC,CAAC,EAAE,SAAS,mBAAmB,CACtC,EAAe,EACf,eAAwB;IAExB,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;AAC7F,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAGzB,IAAI,CAAC,CAAC,EAAE,SAAS,gBAAgB,CACnC,EAAe,EACf,KAAoB;IAEpB,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;AAChF,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAG3B,IAAI,CAAC,CAAC,EAAE,SAAS,kBAAkB,CACrC,EAAe,EACf,cAAuB;IAEvB,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;AAC3F,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,aAAa,GAGtB,IAAI,CAAC,CAAC,EAAE,SAAS,aAAa,CAChC,EAAe,EACf,SAAoB;IAEpB,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;AACjF,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,QAAQ,GAsBjB,IAAI,CAAC,CAAC,EAAE,SAAS,QAAQ,CAC3B,IAAiB,EACjB,IAAY,EACZ,UAMI,EAAE;IAEN,OAAO,IAAI,CAAC,iBAAiB,CAC3B,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,WAAW,EAClB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,EAAS,CAAC,CACnH,EACD,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,UAAU,CACb,IAAI,EACJ,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,EAClE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CACnB,EACH,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAC1G,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GAGnB,IAAI,CAAC,CAAC,EAAE,SAAS,UAAU,CAC7B,EAAe,EACf,MAAqB;IAErB,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAC3E,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAGrB,IAAI,CAAC,CAAC,EAAE,CAAgB,IAAiB,EAAE,CAAgC,EAAE,EAAE;IACjF,uEAAuE;IACvE,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAEtC,OAAO;QACL,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;KAC1B,CAAA;AACZ,CAAC,CAAC,CAAA;AAIF,MAAM,UAAU,WAAW,CAAO,OAAiD;IACjF,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5B,MAAM,CAAC,iBAAiB,CACtB,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAC3C,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAC/B,CACF,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAiD;IAEjD,IAAI,KAAK,CAAC,aAAa,IAAI,OAAO,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC9C,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC,QAAQ,CAAA;IACzB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAKlB,IAAI,CACN,CAAC,EACD,SAAS,SAAS,CAChB,EAAe,EACf,OAAyD;IAEzD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAClD,CAAC,CACF,CAAA;AAID,MAAM,UAAU,UAAU,CAAO,MAA+C;IAC9E,OAAO,IAAI,CAAC,iBAAiB,CAC3B,MAAM,CAAC,SAAS,EAChB,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAClB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAiD,GAAG,GAAQ;IAKpF,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAGlB,IAAI,CACN,CAAC,EACD,SAAS,SAAS,CAAqB,EAAe,EAAE,KAAoB;IAC1E,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAC5C,MAAM,CAAC,OAAO,CACZ,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EACtB,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAC3E,CACF,CAAA;AACH,CAAC,CACF,CAAA"}
@@ -1,38 +0,0 @@
1
- import * as Cause from "effect/Cause";
2
- import * as Effect from "effect/Effect";
3
- import * as TypeId from "../TypeId.js";
4
- export function matchFxPrimitive(matchers) {
5
- return (fx, sink) => {
6
- return matchers[fx._fxTag](fx, sink);
7
- };
8
- }
9
- export function matchFxInput(fx, matchers) {
10
- const type = typeof fx;
11
- if (!fx || !(type === "object" || type === "function"))
12
- return matchers.Otherwise(fx);
13
- else if (isRefSubject(fx))
14
- return matchers.RefSubject(fx);
15
- else if (isFx(fx))
16
- return matchers.Fx(fx);
17
- else if (isEffect(fx))
18
- return matchers.Effect(fx);
19
- else if (isCause(fx))
20
- return matchers.Cause(fx);
21
- else if (Symbol.iterator in fx)
22
- return matchers.Iterable(fx);
23
- else
24
- return matchers.Otherwise(fx);
25
- }
26
- function isFx(input) {
27
- return TypeId.TypeId in input;
28
- }
29
- function isRefSubject(input) {
30
- return TypeId.RefSubjectTypeId in input;
31
- }
32
- function isEffect(input) {
33
- return Effect.EffectTypeId in input;
34
- }
35
- function isCause(input) {
36
- return Cause.CauseTypeId in input;
37
- }
38
- //# sourceMappingURL=matchers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../../src/internal/matchers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAQtC,MAAM,UAAU,gBAAgB,CAC9B,QAgCC;IAED,OAAO,CAAc,EAAe,EAAE,IAAgC,EAAK,EAAE;QAC3E,OAAQ,QAAgB,CAAE,EAA0B,CAAC,MAAM,CAAC,CAAC,EAAS,EAAE,IAAI,CAAC,CAAA;IAC/E,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAa,EAAoB,EAAE,QAO9D;IACC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAC,SAAS,CAAC,EAAO,CAAC,CAAA;SACrF,IAAI,YAAY,CAAC,EAAE,CAAC;QAAE,OAAO,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;SACpD,IAAI,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;SACpC,IAAI,QAAQ,CAAC,EAAE,CAAC;QAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;SAC5C,IAAI,OAAO,CAAC,EAAE,CAAC;QAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;SAC1C,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;;QACvD,OAAO,QAAQ,CAAC,SAAS,CAAC,EAAO,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,IAAI,CAAU,KAAuB;IAC5C,OAAO,MAAM,CAAC,MAAM,IAAI,KAAK,CAAA;AAC/B,CAAC;AAED,SAAS,YAAY,CAAU,KAAuB;IACpD,OAAO,MAAM,CAAC,gBAAgB,IAAI,KAAK,CAAA;AACzC,CAAC;AAED,SAAS,QAAQ,CAAU,KAAuB;IAChD,OAAO,MAAM,CAAC,YAAY,IAAI,KAAK,CAAA;AACrC,CAAC;AAED,SAAS,OAAO,CAAU,KAAuB;IAC/C,OAAO,KAAK,CAAC,WAAW,IAAI,KAAK,CAAA;AACnC,CAAC"}
@@ -1,32 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import * as Sink from "../Sink.js";
3
- import { compileCauseEffectOperatorSink, compileEffectOperatorSink } from "./effect-operator.js";
4
- import * as helpers from "./helpers.js";
5
- import { compileSyncOperatorFailureSink, compileSyncOperatorSink } from "./sync-operator.js";
6
- import { matchFxPrimitive } from "./matchers.js";
7
- const constUnit = () => Effect.unit;
8
- /**
9
- * Run an Fx to completion with the provided Sink.
10
- */
11
- export function run(fx, sink) {
12
- return runFx(fx, sink);
13
- }
14
- const runFx = matchFxPrimitive({
15
- Empty: constUnit,
16
- Fail: (fx, sink) => sink.onFailure(fx.i0),
17
- FromIterable: (fx, sink) => Effect.forEach(fx.i0, sink.onSuccess),
18
- FromSink: (fx, sink) => Effect.contextWithEffect((ctx) => fx.i0(Sink.provide(sink, ctx))),
19
- Never: () => Effect.never,
20
- Succeed: (fx, sink) => sink.onSuccess(fx.i0),
21
- Suspend: (fx, sink) => Effect.suspend(() => run(fx.i0(), sink)),
22
- Sync: (fx, sink) => Effect.suspend(() => sink.onSuccess(fx.i0())),
23
- ToFx: ({ fx }, sink) => run(fx, sink),
24
- WithEarlyExit: (fx, sink) => Effect.contextWithEffect((ctx) => helpers.withScopedFork((fork, scope) => helpers.withEarlyExit(Sink.provide(sink, ctx), (sink) => fx.i0({ sink, fork, scope })))),
25
- WithScopedFork: (fx, sink) => Effect.contextWithEffect((ctx) => helpers.withScopedFork((fork, scope) => fx.i0({ sink: Sink.provide(sink, ctx), fork, scope }))),
26
- WithFlattenStrategy: (fx, sink) => Effect.contextWithEffect((ctx) => helpers.withFlattenStrategy(fx.i1)((fork, scope) => fx.i0({ sink: Sink.provide(sink, ctx), fork, scope }))),
27
- Transformer: (fx, sink) => run(fx.i0, compileSyncOperatorSink(fx.i1, sink)),
28
- TransformerEffect: (fx, sink) => run(fx.i0, compileEffectOperatorSink(fx.i1, sink)),
29
- TransformerCause: (fx, sink) => run(fx.i0, compileSyncOperatorFailureSink(fx.i1, sink)),
30
- TransformerCauseEffect: (fx, sink) => run(fx.i0, compileCauseEffectOperatorSink(fx.i1, sink))
31
- });
32
- //# sourceMappingURL=run.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/internal/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,IAAI,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAChG,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,8BAA8B,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAG5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAA;AAEnC;;GAEG;AACH,MAAM,UAAU,GAAG,CACjB,EAAe,EACf,IAAgC;IAEhC,OAAO,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,KAAK,GAAG,gBAAgB,CAAqC;IACjE,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;IACzC,YAAY,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;IACjE,QAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACzF,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK;IACzB,OAAO,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5C,OAAO,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACjE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC;IACrC,aAAa,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAC1B,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,EAAE,CAC/B,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACrC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CACvF,CACF;IACH,cAAc,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAC3B,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,EAAE,CAC/B,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAC/F;IACH,mBAAmB,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAChC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,EAAE,CAC/B,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAC3G;IACH,WAAW,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,uBAAuB,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3E,iBAAiB,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACnF,gBAAgB,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,8BAA8B,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACvF,sBAAsB,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,8BAA8B,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;CAC9F,CAAC,CAAA"}
@@ -1,121 +0,0 @@
1
- import * as SchemaEquivalence from "@effect/schema/Equivalence";
2
- import * as Schema from "@effect/schema/Schema";
3
- import { Option } from "effect";
4
- import * as Effect from "effect/Effect";
5
- import { ComputedTypeId, FilteredTypeId, RefSubjectTypeId } from "../TypeId.js";
6
- import { make, struct } from "./core-ref-subject.js";
7
- import { map } from "./core.js";
8
- import { matchFxInput } from "./matchers.js";
9
- const makeSchema = (f) => f;
10
- const memoizeThunk = (f) => {
11
- let memoized = Option.none();
12
- return () => {
13
- if (Option.isNone(memoized)) {
14
- memoized = Option.some(f());
15
- }
16
- return memoized.value;
17
- };
18
- };
19
- const defaultSchema = (defaultEq) => makeSchema((input, eq) => make(input, eq || defaultEq));
20
- const go = (ast, getDefaultEq) => {
21
- switch (ast._tag) {
22
- case "AnyKeyword":
23
- case "BigIntKeyword":
24
- case "BooleanKeyword":
25
- case "Literal":
26
- case "Enums":
27
- case "NeverKeyword":
28
- case "NumberKeyword":
29
- case "ObjectKeyword":
30
- case "StringKeyword":
31
- case "SymbolKeyword":
32
- case "TemplateLiteral":
33
- case "Tuple":
34
- case "UndefinedKeyword":
35
- case "UniqueSymbol":
36
- case "UnknownKeyword":
37
- case "VoidKeyword":
38
- case "Union": // TODO: Union should probably be better somehow
39
- return defaultSchema(getDefaultEq(ast));
40
- case "Lazy": {
41
- const get = memoizeThunk(() => go(ast.f(), getDefaultEq));
42
- return makeSchema((input, eq) => get()(input, eq));
43
- }
44
- case "Refinement":
45
- return go(ast.from, getDefaultEq);
46
- case "Transform":
47
- return go(ast.to, getDefaultEq);
48
- case "Declaration":
49
- return go(ast.type, getDefaultEq);
50
- case "TypeLiteral": {
51
- if (ast.propertySignatures.length === 0) {
52
- return defaultSchema(getDefaultEq(ast));
53
- }
54
- const propertySignaturesTypes = ast.propertySignatures.map((propertySignature) => [propertySignature.name, go(propertySignature.type, getDefaultEq)]);
55
- const makeSubjects = (inputs) => Effect.gen(function* (_) {
56
- const subjects = {};
57
- for (const [name, make] of propertySignaturesTypes) {
58
- subjects[name] = yield* _(make(inputs[name]));
59
- }
60
- return subjects;
61
- });
62
- const makeFxInputs = (input) => {
63
- const types = {};
64
- if (RefSubjectTypeId in input || ComputedTypeId in input || FilteredTypeId in input) {
65
- for (const [name] of propertySignaturesTypes) {
66
- types[name] = input.map((o) => o[name]);
67
- }
68
- }
69
- else {
70
- for (const [name] of propertySignaturesTypes) {
71
- types[name] = map(input, (o) => o[name]);
72
- }
73
- }
74
- return types;
75
- };
76
- const makeEffectInputs = (input) => {
77
- const types = {};
78
- for (const [name] of propertySignaturesTypes) {
79
- types[name] = Effect.map(input, (o) => o[name]);
80
- }
81
- return types;
82
- };
83
- return makeSchema((input, eq) => matchFxInput(input, {
84
- RefSubject: (source) => {
85
- return Effect.map(makeSubjects(makeFxInputs(source)), (subjects) => {
86
- const ref = rebuild(subjects);
87
- return Object.assign(subjects, {
88
- persist: Effect.tap(Effect.matchCauseEffect(ref, source), () => "persist" in source ? source.persist : Effect.unit)
89
- });
90
- });
91
- }, // TODO: Expand
92
- Fx: (fx) => makeSubjects(makeFxInputs(fx)),
93
- Effect: (effect) => makeSubjects(makeEffectInputs(effect)),
94
- Cause: (cause) => makeSubjects(makeEffectInputs(Effect.failCause(cause))),
95
- // Shouldn't really happen, but just in case fallback to default Schema
96
- Iterable: () => defaultSchema()(input, eq),
97
- Otherwise: () => defaultSchema()(input, eq)
98
- }));
99
- }
100
- }
101
- };
102
- export function fromRefSubject(source) {
103
- return go(Schema.from(source).ast, (ast) => SchemaEquivalence.from(Schema.make(ast)));
104
- }
105
- export function toRefSubject(source) {
106
- return go(Schema.to(source).ast, (ast) => SchemaEquivalence.to(Schema.make(ast)));
107
- }
108
- const rebuild = (subjects) => {
109
- const output = {};
110
- for (const key of Reflect.ownKeys(subjects)) {
111
- const value = subjects[key];
112
- if (RefSubjectTypeId in value) {
113
- output[key] = value;
114
- }
115
- else {
116
- output[key] = rebuild(value);
117
- }
118
- }
119
- return struct(output);
120
- };
121
- //# sourceMappingURL=schema-ref-subject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-ref-subject.js","sourceRoot":"","sources":["../../../src/internal/schema-ref-subject.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,iBAAiB,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,MAAM,UAAU,GAAG,CACjB,CAG0F,EACvE,EAAE,CAAC,CAA6B,CAAA;AAErD,MAAM,YAAY,GAAG,CAAI,CAAU,EAAE,EAAE;IACrC,IAAI,QAAQ,GAAqB,MAAM,CAAC,IAAI,EAAE,CAAA;IAE9C,OAAO,GAAG,EAAE;QACV,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAmB,CAAA;QAC/C,CAAC;QAED,OAAO,QAAQ,CAAC,KAAK,CAAA;IACvB,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAI,SAAsC,EAAE,EAAE,CAClE,UAAU,CAAC,CAAO,KAAuB,EAAE,EAA+B,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,SAAS,CAAC,CAAC,CAAA;AAE9G,MAAM,EAAE,GAAG,CACT,GAAY,EACZ,YAA0D,EACvC,EAAE;IACrB,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,YAAY,CAAC;QAClB,KAAK,eAAe,CAAC;QACrB,KAAK,gBAAgB,CAAC;QACtB,KAAK,SAAS,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,cAAc,CAAC;QACpB,KAAK,eAAe,CAAC;QACrB,KAAK,eAAe,CAAC;QACrB,KAAK,eAAe,CAAC;QACrB,KAAK,eAAe,CAAC;QACrB,KAAK,iBAAiB,CAAC;QACvB,KAAK,OAAO,CAAC;QACb,KAAK,kBAAkB,CAAC;QACxB,KAAK,cAAc,CAAC;QACpB,KAAK,gBAAgB,CAAC;QACtB,KAAK,aAAa,CAAC;QACnB,KAAK,OAAO,EAAE,gDAAgD;YAC5D,OAAO,aAAa,CAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5C,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAI,GAAG,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAA;YAE5D,OAAO,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;QACpD,CAAC;QACD,KAAK,YAAY;YACf,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;QACnC,KAAK,WAAW;YACd,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;QACjC,KAAK,aAAa;YAChB,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;QACnC,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,IAAI,GAAG,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxC,OAAO,aAAa,CAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;YAC5C,CAAC;YAED,MAAM,uBAAuB,GAAG,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAC/E,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAM,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAU,CACjF,CAAA;YAED,MAAM,YAAY,GAAG,CAAO,MAA+C,EAAE,EAAE,CAC7E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAC,CAAC;gBACpB,MAAM,QAAQ,GAAQ,EAAE,CAAA;gBACxB,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,uBAAuB,EAAE,CAAC;oBACnD,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC/C,CAAC;gBAED,OAAO,QAAQ,CAAA;YACjB,CAAC,CAAC,CAAA;YAEJ,MAAM,YAAY,GAAG,CAAO,KAAkB,EAAE,EAAE;gBAChD,MAAM,KAAK,GAA4C,EAAE,CAAA;gBAEzD,IAAI,gBAAgB,IAAI,KAAK,IAAI,cAAc,IAAI,KAAK,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;oBACpF,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,uBAAuB,EAAE,CAAC;wBAC7C,KAAK,CAAC,IAAI,CAAC,GAAI,KAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAsB,CAAC,CAAC,CAAA;oBACpF,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,uBAAuB,EAAE,CAAC;wBAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAsB,CAAC,CAAC,CAAA;oBAC5D,CAAC;gBACH,CAAC;gBAED,OAAO,KAAK,CAAA;YACd,CAAC,CAAA;YAED,MAAM,gBAAgB,GAAG,CAAO,KAA6B,EAAE,EAAE;gBAC/D,MAAM,KAAK,GAA4C,EAAE,CAAA;gBAEzD,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,uBAAuB,EAAE,CAAC;oBAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAsB,CAAC,CAAC,CAAA;gBACnE,CAAC;gBAED,OAAO,KAAK,CAAA;YACd,CAAC,CAAA;YAED,OAAO,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAC9B,YAAY,CAAC,KAAK,EAAE;gBAClB,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;oBACrB,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE;wBACjE,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAkB,CAAA;wBAE9C,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;4BAC7B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAC7D,SAAS,IAAI,MAAM,CAAC,CAAC,CAAE,MAAiD,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;yBAClG,CAAC,CAAA;oBACJ,CAAC,CAAC,CAAA;gBACJ,CAAC,EAAE,eAAe;gBAClB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CACT,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC1D,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzE,uEAAuE;gBACvE,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,EAAK,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC7C,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa,EAAK,CAAC,KAAK,EAAE,EAAE,CAAC;aAC/C,CAAC,CACH,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,UAAU,cAAc,CAAO,MAA2B;IAC9D,OAAO,EAAE,CAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAC1F,CAAC;AAED,MAAM,UAAU,YAAY,CAAO,MAA2B;IAC5D,OAAO,EAAE,CAAI,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACtF,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,QAAkC,EAAE,EAAE;IACrD,MAAM,MAAM,GAAQ,EAAE,CAAA;IAEtB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;QAE3B,IAAI,gBAAgB,IAAI,KAAK,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;AACvB,CAAC,CAAA"}
@@ -1,37 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import * as Option from "effect/Option";
3
- import { MulticastEffect } from "./helpers.js";
4
- import { FxEffectBase } from "./protos.js";
5
- export class VersionedTransform extends FxEffectBase {
6
- input;
7
- _transformFx;
8
- _transformGet;
9
- _version = 0;
10
- _currentValue = Option.none();
11
- constructor(input, _transformFx, _transformGet) {
12
- super();
13
- this.input = input;
14
- this._transformFx = _transformFx;
15
- this._transformGet = _transformGet;
16
- }
17
- version = Effect.sync(() => this._version);
18
- toFx() {
19
- return this._transformFx(this.input);
20
- }
21
- toEffect() {
22
- // Use MulticastEffect to ensure at most 1 effect is running at a time
23
- const update = new MulticastEffect(Effect.gen(this, function* (_) {
24
- const x = yield* _(this._transformGet(this.input));
25
- this._currentValue = Option.some(x);
26
- this._version = yield* _(this.input.version);
27
- return x;
28
- }));
29
- return Effect.gen(this, function* (_) {
30
- if (Option.isSome(this._currentValue) && (yield* _(this.input.version)) === this._version) {
31
- return this._currentValue.value;
32
- }
33
- return yield* _(update);
34
- });
35
- }
36
- }
37
- //# sourceMappingURL=versioned-transform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"versioned-transform.js","sourceRoot":"","sources":["../../../src/internal/versioned-transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,OAAO,kBACX,SAAQ,YAA4C;IAOzC;IACD;IACA;IANF,QAAQ,GAAG,CAAC,CAAA;IACV,aAAa,GAAqB,MAAM,CAAC,IAAI,EAAE,CAAA;IAEzD,YACW,KAA4C,EAC7C,YAAgD,EAChD,aAA6E;QAErF,KAAK,EAAE,CAAA;QAJE,UAAK,GAAL,KAAK,CAAuC;QAC7C,iBAAY,GAAZ,YAAY,CAAoC;QAChD,kBAAa,GAAb,aAAa,CAAgE;IAGvF,CAAC;IAEQ,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAEnD,IAAI;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;IAED,QAAQ;QACN,sEAAsE;QACtE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAC,CAAC;YAC7D,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAwC,CAAC,CAAC,CAAA;YAErF,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAE5C,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CAAC,CAAA;QAEH,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAC,CAAC;YACjC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAA;YACjC,CAAC;YAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}