@typed/fx 1.13.0 → 1.15.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 (398) hide show
  1. package/dist/Computed.d.ts +42 -0
  2. package/dist/Computed.d.ts.map +1 -0
  3. package/dist/Computed.js +39 -0
  4. package/dist/Computed.js.map +1 -0
  5. package/dist/Filtered.d.ts +34 -0
  6. package/dist/Filtered.d.ts.map +1 -0
  7. package/dist/Filtered.js +40 -0
  8. package/dist/Filtered.js.map +1 -0
  9. package/dist/Fx.d.ts +2 -3
  10. package/dist/Fx.d.ts.map +1 -1
  11. package/dist/Fx.js +11 -26
  12. package/dist/Fx.js.map +1 -1
  13. package/dist/RefArray.d.ts +116 -0
  14. package/dist/RefArray.d.ts.map +1 -0
  15. package/dist/RefArray.js +67 -0
  16. package/dist/RefArray.js.map +1 -0
  17. package/dist/RefSubject.d.ts +23 -20
  18. package/dist/RefSubject.d.ts.map +1 -1
  19. package/dist/RefSubject.js +352 -247
  20. package/dist/RefSubject.js.map +1 -1
  21. package/dist/RefTransform.d.ts +51 -0
  22. package/dist/RefTransform.d.ts.map +1 -0
  23. package/dist/RefTransform.js +69 -0
  24. package/dist/RefTransform.js.map +1 -0
  25. package/dist/Subject.d.ts.map +1 -1
  26. package/dist/Subject.js +2 -3
  27. package/dist/Subject.js.map +1 -1
  28. package/dist/catchAllCause.d.ts +6 -0
  29. package/dist/catchAllCause.d.ts.map +1 -1
  30. package/dist/catchAllCause.js +21 -2
  31. package/dist/catchAllCause.js.map +1 -1
  32. package/dist/cjs/Computed.d.ts +42 -0
  33. package/dist/cjs/Computed.d.ts.map +1 -0
  34. package/dist/cjs/Computed.js +66 -0
  35. package/dist/cjs/Computed.js.map +1 -0
  36. package/dist/cjs/Filtered.d.ts +34 -0
  37. package/dist/cjs/Filtered.d.ts.map +1 -0
  38. package/dist/cjs/Filtered.js +67 -0
  39. package/dist/cjs/Filtered.js.map +1 -0
  40. package/dist/cjs/Fx.d.ts +2 -3
  41. package/dist/cjs/Fx.d.ts.map +1 -1
  42. package/dist/cjs/Fx.js +13 -28
  43. package/dist/cjs/Fx.js.map +1 -1
  44. package/dist/cjs/RefArray.d.ts +116 -0
  45. package/dist/cjs/RefArray.d.ts.map +1 -0
  46. package/dist/cjs/RefArray.js +97 -0
  47. package/dist/cjs/RefArray.js.map +1 -0
  48. package/dist/cjs/RefSubject.d.ts +23 -20
  49. package/dist/cjs/RefSubject.d.ts.map +1 -1
  50. package/dist/cjs/RefSubject.js +358 -249
  51. package/dist/cjs/RefSubject.js.map +1 -1
  52. package/dist/cjs/RefTransform.d.ts +51 -0
  53. package/dist/cjs/RefTransform.d.ts.map +1 -0
  54. package/dist/cjs/RefTransform.js +96 -0
  55. package/dist/cjs/RefTransform.js.map +1 -0
  56. package/dist/cjs/Subject.d.ts.map +1 -1
  57. package/dist/cjs/Subject.js +2 -3
  58. package/dist/cjs/Subject.js.map +1 -1
  59. package/dist/cjs/catchAllCause.d.ts +6 -0
  60. package/dist/cjs/catchAllCause.d.ts.map +1 -1
  61. package/dist/cjs/catchAllCause.js +23 -2
  62. package/dist/cjs/catchAllCause.js.map +1 -1
  63. package/dist/cjs/combineAll.d.ts.map +1 -1
  64. package/dist/cjs/combineAll.js +4 -4
  65. package/dist/cjs/combineAll.js.map +1 -1
  66. package/dist/cjs/combineAllDiscard.d.ts.map +1 -1
  67. package/dist/cjs/combineAllDiscard.js +4 -4
  68. package/dist/cjs/combineAllDiscard.js.map +1 -1
  69. package/dist/cjs/data-first.d.ts +10 -0
  70. package/dist/cjs/data-first.d.ts.map +1 -1
  71. package/dist/cjs/data-first.js +10 -0
  72. package/dist/cjs/data-first.js.map +1 -1
  73. package/dist/cjs/empty.js +1 -1
  74. package/dist/cjs/empty.js.map +1 -1
  75. package/dist/cjs/exhaustMapCause.js +1 -1
  76. package/dist/cjs/exhaustMapCause.js.map +1 -1
  77. package/dist/cjs/exhaustMapLatestCause.js +1 -1
  78. package/dist/cjs/exhaustMapLatestCause.js.map +1 -1
  79. package/dist/cjs/failCause.d.ts +1 -0
  80. package/dist/cjs/failCause.d.ts.map +1 -1
  81. package/dist/cjs/failCause.js +5 -1
  82. package/dist/cjs/failCause.js.map +1 -1
  83. package/dist/cjs/filter.d.ts.map +1 -1
  84. package/dist/cjs/filter.js +1 -1
  85. package/dist/cjs/filter.js.map +1 -1
  86. package/dist/cjs/filterMap.d.ts.map +1 -1
  87. package/dist/cjs/filterMap.js +1 -1
  88. package/dist/cjs/filterMap.js.map +1 -1
  89. package/dist/cjs/fromArray.js +1 -1
  90. package/dist/cjs/fromArray.js.map +1 -1
  91. package/dist/cjs/fromDequeue.d.ts +5 -0
  92. package/dist/cjs/fromDequeue.d.ts.map +1 -0
  93. package/dist/cjs/fromDequeue.js +49 -0
  94. package/dist/cjs/fromDequeue.js.map +1 -0
  95. package/dist/cjs/fromEffect.d.ts.map +1 -1
  96. package/dist/cjs/fromEffect.js +9 -1
  97. package/dist/cjs/fromEffect.js.map +1 -1
  98. package/dist/cjs/fromEmitter.d.ts.map +1 -1
  99. package/dist/cjs/fromEmitter.js +4 -5
  100. package/dist/cjs/fromEmitter.js.map +1 -1
  101. package/dist/cjs/fromFxEffect.d.ts.map +1 -1
  102. package/dist/cjs/fromFxEffect.js +1 -1
  103. package/dist/cjs/fromFxEffect.js.map +1 -1
  104. package/dist/cjs/fromHub.d.ts +5 -0
  105. package/dist/cjs/fromHub.d.ts.map +1 -0
  106. package/dist/cjs/fromHub.js +34 -0
  107. package/dist/cjs/fromHub.js.map +1 -0
  108. package/dist/cjs/fromIterable.js +1 -1
  109. package/dist/cjs/fromIterable.js.map +1 -1
  110. package/dist/cjs/fromStream.d.ts +4 -0
  111. package/dist/cjs/fromStream.d.ts.map +1 -0
  112. package/dist/cjs/fromStream.js +34 -0
  113. package/dist/cjs/fromStream.js.map +1 -0
  114. package/dist/cjs/helpers.d.ts +3 -2
  115. package/dist/cjs/helpers.d.ts.map +1 -1
  116. package/dist/cjs/helpers.js +28 -69
  117. package/dist/cjs/helpers.js.map +1 -1
  118. package/dist/cjs/hold.d.ts +2 -4
  119. package/dist/cjs/hold.d.ts.map +1 -1
  120. package/dist/cjs/hold.js +0 -4
  121. package/dist/cjs/hold.js.map +1 -1
  122. package/dist/cjs/index.d.ts +36 -1
  123. package/dist/cjs/index.d.ts.map +1 -1
  124. package/dist/cjs/index.js +185 -119
  125. package/dist/cjs/index.js.map +1 -1
  126. package/dist/cjs/keyed.d.ts.map +1 -1
  127. package/dist/cjs/keyed.js +23 -12
  128. package/dist/cjs/keyed.js.map +1 -1
  129. package/dist/cjs/mergeAll.d.ts.map +1 -1
  130. package/dist/cjs/mergeAll.js +1 -1
  131. package/dist/cjs/mergeAll.js.map +1 -1
  132. package/dist/cjs/mergeBufferConcurrently.d.ts +8 -0
  133. package/dist/cjs/mergeBufferConcurrently.d.ts.map +1 -0
  134. package/dist/cjs/mergeBufferConcurrently.js +95 -0
  135. package/dist/cjs/mergeBufferConcurrently.js.map +1 -0
  136. package/dist/cjs/mergeConcurrently.d.ts +3 -0
  137. package/dist/cjs/mergeConcurrently.d.ts.map +1 -0
  138. package/dist/cjs/mergeConcurrently.js +69 -0
  139. package/dist/cjs/mergeConcurrently.js.map +1 -0
  140. package/dist/cjs/multicast.d.ts +5 -5
  141. package/dist/cjs/multicast.d.ts.map +1 -1
  142. package/dist/cjs/multicast.js +14 -14
  143. package/dist/cjs/multicast.js.map +1 -1
  144. package/dist/cjs/never.js +1 -1
  145. package/dist/cjs/never.js.map +1 -1
  146. package/dist/cjs/observe.d.ts +3 -0
  147. package/dist/cjs/observe.d.ts.map +1 -1
  148. package/dist/cjs/observe.js +12 -7
  149. package/dist/cjs/observe.js.map +1 -1
  150. package/dist/cjs/onExit.d.ts +5 -0
  151. package/dist/cjs/onExit.d.ts.map +1 -0
  152. package/dist/cjs/onExit.js +33 -0
  153. package/dist/cjs/onExit.js.map +1 -0
  154. package/dist/cjs/orElse.d.ts +4 -0
  155. package/dist/cjs/orElse.d.ts.map +1 -0
  156. package/dist/cjs/orElse.js +34 -0
  157. package/dist/cjs/orElse.js.map +1 -0
  158. package/dist/cjs/promise.js +4 -4
  159. package/dist/cjs/promise.js.map +1 -1
  160. package/dist/cjs/provide.d.ts.map +1 -1
  161. package/dist/cjs/provide.js +6 -3
  162. package/dist/cjs/provide.js.map +1 -1
  163. package/dist/cjs/skipRepeats.d.ts +1 -1
  164. package/dist/cjs/skipRepeats.d.ts.map +1 -1
  165. package/dist/cjs/skipRepeats.js +7 -6
  166. package/dist/cjs/skipRepeats.js.map +1 -1
  167. package/dist/cjs/skipWhile.js +1 -1
  168. package/dist/cjs/skipWhile.js.map +1 -1
  169. package/dist/cjs/slice.js +3 -3
  170. package/dist/cjs/slice.js.map +1 -1
  171. package/dist/cjs/struct.d.ts +5 -0
  172. package/dist/cjs/struct.d.ts.map +1 -0
  173. package/dist/cjs/struct.js +10 -0
  174. package/dist/cjs/struct.js.map +1 -0
  175. package/dist/cjs/switchMapCause.d.ts +1 -0
  176. package/dist/cjs/switchMapCause.d.ts.map +1 -1
  177. package/dist/cjs/switchMapCause.js +13 -2
  178. package/dist/cjs/switchMapCause.js.map +1 -1
  179. package/dist/cjs/switchMatch.js +1 -1
  180. package/dist/cjs/switchMatch.js.map +1 -1
  181. package/dist/cjs/takeWhile.js +1 -1
  182. package/dist/cjs/takeWhile.js.map +1 -1
  183. package/dist/cjs/tap.d.ts.map +1 -1
  184. package/dist/cjs/tap.js +1 -1
  185. package/dist/cjs/tap.js.map +1 -1
  186. package/dist/cjs/tapCause.d.ts.map +1 -1
  187. package/dist/cjs/tapCause.js +5 -2
  188. package/dist/cjs/tapCause.js.map +1 -1
  189. package/dist/cjs/test-utils.js +2 -2
  190. package/dist/cjs/test-utils.js.map +1 -1
  191. package/dist/cjs/toArray.d.ts.map +1 -1
  192. package/dist/cjs/toArray.js +2 -3
  193. package/dist/cjs/toArray.js.map +1 -1
  194. package/dist/cjs/toEnqueue.d.ts +6 -0
  195. package/dist/cjs/toEnqueue.d.ts.map +1 -0
  196. package/dist/cjs/toEnqueue.js +9 -0
  197. package/dist/cjs/toEnqueue.js.map +1 -0
  198. package/dist/cjs/toStream.d.ts +4 -0
  199. package/dist/cjs/toStream.d.ts.map +1 -0
  200. package/dist/cjs/toStream.js +35 -0
  201. package/dist/cjs/toStream.js.map +1 -0
  202. package/dist/combineAll.d.ts.map +1 -1
  203. package/dist/combineAll.js +4 -4
  204. package/dist/combineAll.js.map +1 -1
  205. package/dist/combineAllDiscard.d.ts.map +1 -1
  206. package/dist/combineAllDiscard.js +4 -4
  207. package/dist/combineAllDiscard.js.map +1 -1
  208. package/dist/data-first.d.ts +10 -0
  209. package/dist/data-first.d.ts.map +1 -1
  210. package/dist/data-first.js +10 -0
  211. package/dist/data-first.js.map +1 -1
  212. package/dist/empty.js +1 -1
  213. package/dist/empty.js.map +1 -1
  214. package/dist/exhaustMapCause.js +1 -1
  215. package/dist/exhaustMapCause.js.map +1 -1
  216. package/dist/exhaustMapLatestCause.js +1 -1
  217. package/dist/exhaustMapLatestCause.js.map +1 -1
  218. package/dist/failCause.d.ts +1 -0
  219. package/dist/failCause.d.ts.map +1 -1
  220. package/dist/failCause.js +3 -0
  221. package/dist/failCause.js.map +1 -1
  222. package/dist/filter.d.ts.map +1 -1
  223. package/dist/filter.js +1 -1
  224. package/dist/filter.js.map +1 -1
  225. package/dist/filterMap.d.ts.map +1 -1
  226. package/dist/filterMap.js +1 -1
  227. package/dist/filterMap.js.map +1 -1
  228. package/dist/fromArray.js +1 -1
  229. package/dist/fromArray.js.map +1 -1
  230. package/dist/fromDequeue.d.ts +5 -0
  231. package/dist/fromDequeue.d.ts.map +1 -0
  232. package/dist/fromDequeue.js +21 -0
  233. package/dist/fromDequeue.js.map +1 -0
  234. package/dist/fromEffect.d.ts.map +1 -1
  235. package/dist/fromEffect.js +10 -2
  236. package/dist/fromEffect.js.map +1 -1
  237. package/dist/fromEmitter.d.ts.map +1 -1
  238. package/dist/fromEmitter.js +4 -5
  239. package/dist/fromEmitter.js.map +1 -1
  240. package/dist/fromFxEffect.d.ts.map +1 -1
  241. package/dist/fromFxEffect.js +1 -1
  242. package/dist/fromFxEffect.js.map +1 -1
  243. package/dist/fromHub.d.ts +5 -0
  244. package/dist/fromHub.d.ts.map +1 -0
  245. package/dist/fromHub.js +7 -0
  246. package/dist/fromHub.js.map +1 -0
  247. package/dist/fromIterable.js +1 -1
  248. package/dist/fromIterable.js.map +1 -1
  249. package/dist/fromStream.d.ts +4 -0
  250. package/dist/fromStream.d.ts.map +1 -0
  251. package/dist/fromStream.js +7 -0
  252. package/dist/fromStream.js.map +1 -0
  253. package/dist/helpers.d.ts +3 -2
  254. package/dist/helpers.d.ts.map +1 -1
  255. package/dist/helpers.js +28 -69
  256. package/dist/helpers.js.map +1 -1
  257. package/dist/hold.d.ts +2 -4
  258. package/dist/hold.d.ts.map +1 -1
  259. package/dist/hold.js +0 -4
  260. package/dist/hold.js.map +1 -1
  261. package/dist/index.d.ts +36 -1
  262. package/dist/index.d.ts.map +1 -1
  263. package/dist/index.js +132 -116
  264. package/dist/index.js.map +1 -1
  265. package/dist/keyed.d.ts.map +1 -1
  266. package/dist/keyed.js +24 -13
  267. package/dist/keyed.js.map +1 -1
  268. package/dist/mergeAll.d.ts.map +1 -1
  269. package/dist/mergeAll.js +1 -1
  270. package/dist/mergeAll.js.map +1 -1
  271. package/dist/mergeBufferConcurrently.d.ts +8 -0
  272. package/dist/mergeBufferConcurrently.d.ts.map +1 -0
  273. package/dist/mergeBufferConcurrently.js +68 -0
  274. package/dist/mergeBufferConcurrently.js.map +1 -0
  275. package/dist/mergeConcurrently.d.ts +3 -0
  276. package/dist/mergeConcurrently.d.ts.map +1 -0
  277. package/dist/mergeConcurrently.js +42 -0
  278. package/dist/mergeConcurrently.js.map +1 -0
  279. package/dist/multicast.d.ts +5 -5
  280. package/dist/multicast.d.ts.map +1 -1
  281. package/dist/multicast.js +15 -15
  282. package/dist/multicast.js.map +1 -1
  283. package/dist/never.js +1 -1
  284. package/dist/never.js.map +1 -1
  285. package/dist/observe.d.ts +3 -0
  286. package/dist/observe.d.ts.map +1 -1
  287. package/dist/observe.js +9 -6
  288. package/dist/observe.js.map +1 -1
  289. package/dist/onExit.d.ts +5 -0
  290. package/dist/onExit.d.ts.map +1 -0
  291. package/dist/onExit.js +6 -0
  292. package/dist/onExit.js.map +1 -0
  293. package/dist/orElse.d.ts +4 -0
  294. package/dist/orElse.d.ts.map +1 -0
  295. package/dist/orElse.js +7 -0
  296. package/dist/orElse.js.map +1 -0
  297. package/dist/promise.js +4 -4
  298. package/dist/promise.js.map +1 -1
  299. package/dist/provide.d.ts.map +1 -1
  300. package/dist/provide.js +6 -3
  301. package/dist/provide.js.map +1 -1
  302. package/dist/skipRepeats.d.ts +1 -1
  303. package/dist/skipRepeats.d.ts.map +1 -1
  304. package/dist/skipRepeats.js +4 -6
  305. package/dist/skipRepeats.js.map +1 -1
  306. package/dist/skipWhile.js +1 -1
  307. package/dist/skipWhile.js.map +1 -1
  308. package/dist/slice.js +3 -3
  309. package/dist/slice.js.map +1 -1
  310. package/dist/struct.d.ts +5 -0
  311. package/dist/struct.d.ts.map +1 -0
  312. package/dist/struct.js +6 -0
  313. package/dist/struct.js.map +1 -0
  314. package/dist/switchMapCause.d.ts +1 -0
  315. package/dist/switchMapCause.d.ts.map +1 -1
  316. package/dist/switchMapCause.js +11 -1
  317. package/dist/switchMapCause.js.map +1 -1
  318. package/dist/switchMatch.js +1 -1
  319. package/dist/switchMatch.js.map +1 -1
  320. package/dist/takeWhile.js +1 -1
  321. package/dist/takeWhile.js.map +1 -1
  322. package/dist/tap.d.ts.map +1 -1
  323. package/dist/tap.js +1 -1
  324. package/dist/tap.js.map +1 -1
  325. package/dist/tapCause.d.ts.map +1 -1
  326. package/dist/tapCause.js +5 -2
  327. package/dist/tapCause.js.map +1 -1
  328. package/dist/test-utils.js +2 -2
  329. package/dist/test-utils.js.map +1 -1
  330. package/dist/toArray.d.ts.map +1 -1
  331. package/dist/toArray.js +2 -3
  332. package/dist/toArray.js.map +1 -1
  333. package/dist/toEnqueue.d.ts +6 -0
  334. package/dist/toEnqueue.d.ts.map +1 -0
  335. package/dist/toEnqueue.js +5 -0
  336. package/dist/toEnqueue.js.map +1 -0
  337. package/dist/toStream.d.ts +4 -0
  338. package/dist/toStream.d.ts.map +1 -0
  339. package/dist/toStream.js +8 -0
  340. package/dist/toStream.js.map +1 -0
  341. package/dist/tsconfig.cjs.build.tsbuildinfo +1 -1
  342. package/package.json +5 -5
  343. package/src/Computed.ts +114 -0
  344. package/src/Filtered.ts +112 -0
  345. package/src/Fx.ts +17 -42
  346. package/src/RefArray.ts +226 -0
  347. package/src/RefSubject.test.ts +67 -6
  348. package/src/RefSubject.ts +601 -581
  349. package/src/RefTransform.ts +134 -0
  350. package/src/Subject.ts +4 -13
  351. package/src/catchAllCause.ts +43 -2
  352. package/src/combineAll.ts +16 -13
  353. package/src/combineAllDiscard.ts +16 -13
  354. package/src/data-first.ts +10 -0
  355. package/src/empty.ts +1 -1
  356. package/src/exhaustMapCause.ts +1 -1
  357. package/src/exhaustMapLatestCause.ts +1 -1
  358. package/src/failCause.ts +4 -0
  359. package/src/filter.ts +1 -3
  360. package/src/filterMap.ts +8 -1
  361. package/src/fromArray.ts +1 -1
  362. package/src/fromDequeue.ts +39 -0
  363. package/src/fromEffect.ts +12 -2
  364. package/src/fromEmitter.ts +4 -10
  365. package/src/fromFxEffect.ts +3 -1
  366. package/src/fromHub.ts +10 -0
  367. package/src/fromIterable.ts +1 -1
  368. package/src/helpers.ts +73 -106
  369. package/src/hold.ts +1 -7
  370. package/src/index.ts +573 -607
  371. package/src/keyed.ts +45 -28
  372. package/src/mergeAll.ts +8 -5
  373. package/src/mergeBufferConcurrently.test.ts +37 -0
  374. package/src/mergeBufferConcurrently.ts +105 -0
  375. package/src/mergeConcurrently.test.ts +20 -0
  376. package/src/mergeConcurrently.ts +57 -0
  377. package/src/multicast.ts +30 -22
  378. package/src/never.ts +1 -1
  379. package/src/observe.ts +16 -7
  380. package/src/onExit.ts +13 -0
  381. package/src/orElse.ts +16 -0
  382. package/src/promise.ts +4 -4
  383. package/src/provide.ts +9 -7
  384. package/src/skipRepeats.ts +5 -7
  385. package/src/skipWhile.ts +1 -1
  386. package/src/slice.ts +3 -3
  387. package/src/struct.ts +18 -0
  388. package/src/switchMapCause.ts +17 -1
  389. package/src/switchMatch.ts +1 -1
  390. package/src/takeWhile.ts +1 -1
  391. package/src/tap.ts +5 -1
  392. package/src/tapCause.ts +8 -6
  393. package/src/test-utils.ts +2 -2
  394. package/src/toArray.ts +5 -4
  395. package/src/toEnqueue.ts +13 -0
  396. package/tsconfig.build.json +2 -1
  397. package/tsconfig.build.tsbuildinfo +1 -1
  398. package/vite.config.js +3 -0
@@ -0,0 +1,42 @@
1
+ import * as Option from '@effect/data/Option';
2
+ import * as Pipeable from '@effect/data/Pipeable';
3
+ import * as Effect from '@effect/io/Effect';
4
+ import { Filtered } from './Filtered.js';
5
+ import { RefTransform, RefTransformImpl, RefTransformInput } from './RefTransform.js';
6
+ export declare const ComputedTypeId: unique symbol;
7
+ export type ComputedTypeId = typeof ComputedTypeId;
8
+ /**
9
+ * A Computed is essentially a "read-only" RefSubject which allows
10
+ * for mapping over the value using an Effect.
11
+ *
12
+ * It always prefers the latest value so it will utilize switchMap
13
+ * internally when running as an Fx.
14
+ */
15
+ export interface Computed<R, E, A> extends RefTransform<R, E, A, R, E, A>, Pipeable.Pipeable {
16
+ readonly [ComputedTypeId]: ComputedTypeId;
17
+ mapEffect<R2, E2, B>(f: (a: A) => Effect.Effect<R2, E2, B>): Computed<R | R2, E | E2, B>;
18
+ map<B>(f: (a: A) => B): Computed<R, E, B>;
19
+ filterMapEffect<R2, E2, B>(f: (a: A) => Effect.Effect<R2, E2, Option.Option<B>>): Filtered<R | R2, E | E2, B>;
20
+ filterMap<B>(f: (a: A) => Option.Option<B>): Filtered<R, E, B>;
21
+ filter(f: (a: A) => boolean): Filtered<R, E, A>;
22
+ filterEffect<R2, E2>(f: (a: A) => Effect.Effect<R2, E2, boolean>): Filtered<R | R2, E | E2, A>;
23
+ filterNot(f: (a: A) => boolean): Filtered<R, E, A>;
24
+ filterNotEffect<R2, E2>(f: (a: A) => Effect.Effect<R2, E2, boolean>): Filtered<R | R2, E | E2, A>;
25
+ /**
26
+ * @internal
27
+ */
28
+ version(): number;
29
+ }
30
+ export declare class ComputedImpl<R, E, A, R2, E2, R3, E3, B> extends RefTransformImpl<R, E, A, R2, E2, A, R | R2 | R3, E | E2 | E3, B, R | R2 | R3, E | E2 | E3, B> implements Computed<R | R2 | R3, E | E2 | E3, B> {
31
+ readonly [ComputedTypeId]: ComputedTypeId;
32
+ constructor(input: RefTransformInput<R, E, A, R2, E2, A>, f: (a: A) => Effect.Effect<R3, E3, B>);
33
+ mapEffect<R4, E4, C>(f: (b: B) => Effect.Effect<R4, E4, C>): Computed<R | R2 | R3 | R4, E | E2 | E3 | E4, C>;
34
+ map<C>(f: (b: B) => C): Computed<R | R2 | R3, E | E2 | E3, C>;
35
+ filterMapEffect<R4, E4, C>(f: (b: B) => Effect.Effect<R4, E4, Option.Option<C>>): Filtered<R | R2 | R3 | R4, E | E2 | E3 | E4, C>;
36
+ filterMap<D>(f: (a: B) => Option.Option<D>): Filtered<R | R2 | R3, E | E2 | E3, D>;
37
+ filterEffect<R4, E4>(f: (a: B) => Effect.Effect<R4, E4, boolean>): Filtered<R | R2 | R3 | R4, E | E2 | E3 | E4, B>;
38
+ filter(f: (a: B) => boolean): Filtered<R | R2 | R3, E | E2 | E3, B>;
39
+ filterNotEffect<R4, E4>(f: (a: B) => Effect.Effect<R4, E4, boolean>): Filtered<R | R2 | R3 | R4, E | E2 | E3 | E4, B>;
40
+ filterNot(f: (a: B) => boolean): Filtered<R | R2 | R3, E | E2 | E3, B>;
41
+ }
42
+ //# sourceMappingURL=Computed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Computed.d.ts","sourceRoot":"","sources":["../src/Computed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,EAAE,QAAQ,EAAgB,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGrF,eAAO,MAAM,cAAc,eAAmC,CAAA;AAC9D,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAA;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ;IAC1F,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,cAAc,CAAA;IAEzC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;IAExF,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAEzC,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EACvB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GACnD,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;IAE9B,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE9D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE/C,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;IAE9F,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAElD,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;IAEjG;;OAEG;IACH,OAAO,IAAI,MAAM,CAAA;CAClB;AAED,qBAAa,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAClD,SAAQ,gBAAgB,CACtB,CAAC,EACD,CAAC,EACD,CAAC,EACD,EAAE,EACF,EAAE,EACF,CAAC,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EACX,CAAC,GAAG,EAAE,GAAG,EAAE,EACX,CAAC,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EACX,CAAC,GAAG,EAAE,GAAG,EAAE,EACX,CAAC,CAEH,YAAW,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAEhD,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,cAAc,CAAiB;gBAE9C,KAAK,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAQ/F,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EACjB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACpC,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAIlD,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAIrB,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EACvB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GACnD,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAIlD,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAI1C,YAAY,CAAC,EAAE,EAAE,EAAE,EACjB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,GAC1C,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAMlD,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO;IAI3B,eAAe,CAAC,EAAE,EAAE,EAAE,EACpB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,GAC1C,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAIlD,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO;CAG/B"}
@@ -0,0 +1,39 @@
1
+ var _a;
2
+ import * as Option from '@effect/data/Option';
3
+ import * as Effect from '@effect/io/Effect';
4
+ import { FilteredImpl } from './Filtered.js';
5
+ import { RefTransformImpl } from './RefTransform.js';
6
+ import { switchMapEffect } from './switchMap.js';
7
+ export const ComputedTypeId = Symbol.for('@typed/fx/Computed');
8
+ export class ComputedImpl extends RefTransformImpl {
9
+ constructor(input, f) {
10
+ super(input, (fx) => switchMapEffect(fx, f), (eff) => Effect.flatMap(eff, f));
11
+ this[_a] = ComputedTypeId;
12
+ }
13
+ mapEffect(f) {
14
+ return new ComputedImpl(this, f);
15
+ }
16
+ map(f) {
17
+ return this.mapEffect((a) => Effect.sync(() => f(a)));
18
+ }
19
+ filterMapEffect(f) {
20
+ return new FilteredImpl(this, f);
21
+ }
22
+ filterMap(f) {
23
+ return this.filterMapEffect((a) => Effect.sync(() => f(a)));
24
+ }
25
+ filterEffect(f) {
26
+ return this.filterMapEffect((a) => Effect.map(f(a), (b) => (b ? Option.some(a) : Option.none())));
27
+ }
28
+ filter(f) {
29
+ return this.filterEffect((a) => Effect.sync(() => f(a)));
30
+ }
31
+ filterNotEffect(f) {
32
+ return this.filterEffect((a) => Effect.map(f(a), (b) => !b));
33
+ }
34
+ filterNot(f) {
35
+ return this.filterNotEffect((a) => Effect.sync(() => f(a)));
36
+ }
37
+ }
38
+ _a = ComputedTypeId;
39
+ //# sourceMappingURL=Computed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Computed.js","sourceRoot":"","sources":["../src/Computed.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAE7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,EAAY,YAAY,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAgB,gBAAgB,EAAqB,MAAM,mBAAmB,CAAA;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AAqC9D,MAAM,OAAO,YACX,SAAQ,gBAaP;IAKD,YAAY,KAA4C,EAAE,CAAqC;QAC7F,KAAK,CACH,KAAK,EACL,CAAC,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC,EAC9B,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAChC,CAAA;QAPM,QAAgB,GAAmB,cAAc,CAAA;IAQ1D,CAAC;IAED,SAAS,CACP,CAAqC;QAErC,OAAO,IAAI,YAAY,CAAC,IAA6C,EAAE,CAAC,CAAC,CAAA;IAC3E,CAAC;IAED,GAAG,CAAI,CAAc;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,eAAe,CACb,CAAoD;QAEpD,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAoD,CAAA;IACrF,CAAC;IAED,SAAS,CAAI,CAA6B;QACxC,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED,YAAY,CACV,CAA2C;QAE3C,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAK,CAAC,CAAC,CACpE,CAAA;IACH,CAAC;IAED,MAAM,CAAC,CAAoB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,eAAe,CACb,CAA2C;QAE3C,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,SAAS,CAAC,CAAoB;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC;CACF;KAnDW,cAAc"}
@@ -0,0 +1,34 @@
1
+ import * as Option from '@effect/data/Option';
2
+ import * as Cause from '@effect/io/Cause';
3
+ import * as Effect from '@effect/io/Effect';
4
+ import { RefTransform, RefTransformImpl, RefTransformInput } from './RefTransform.js';
5
+ export declare const FilteredTypeId: unique symbol;
6
+ export type FilteredTypeId = typeof FilteredTypeId;
7
+ export interface Filtered<R, E, A> extends RefTransform<R, E, A, R, E | Cause.NoSuchElementException, A> {
8
+ readonly [FilteredTypeId]: FilteredTypeId;
9
+ filterMapEffect<R2, E2, B>(f: (a: A) => Effect.Effect<R2, E2, Option.Option<B>>): Filtered<R | R2, E | E2, B>;
10
+ filterMap<R2, E2, B>(f: (a: A) => Option.Option<B>): Filtered<R | R2, E | E2, B>;
11
+ filter<R2, E2>(f: (a: A) => boolean): Filtered<R | R2, E | E2, A>;
12
+ filterEffect<R2, E2>(f: (a: A) => Effect.Effect<R2, E2, boolean>): Filtered<R | R2, E | E2, A>;
13
+ filterNot<R2, E2>(f: (a: A) => boolean): Filtered<R | R2, E | E2, A>;
14
+ filterNotEffect<R2, E2>(f: (a: A) => Effect.Effect<R2, E2, boolean>): Filtered<R | R2, E | E2, A>;
15
+ mapEffect<R2, E2, B>(f: (a: A) => Effect.Effect<R2, E2, B>): Filtered<R | R2, E | E2, B>;
16
+ map<B>(f: (a: A) => B): Filtered<R, E, B>;
17
+ /**
18
+ * @internal
19
+ */
20
+ version(): number;
21
+ }
22
+ export declare class FilteredImpl<R, E, A, R2, E2, R3, E3, C> extends RefTransformImpl<R, E, A, R2, E2, A, R | R2 | R3, E | E2 | E3, C, R | R2 | R3, E | E2 | E3 | Cause.NoSuchElementException, C> implements Filtered<R | R2 | R3, E | E2 | E3, C> {
23
+ readonly [FilteredTypeId]: FilteredTypeId;
24
+ constructor(input: RefTransformInput<R, E, A, R2, E2, A>, f: (a: A) => Effect.Effect<R3, E3, Option.Option<C>>);
25
+ filterMapEffect<R4, E4, D>(f: (a: C) => Effect.Effect<R4, E4, Option.Option<D>>): Filtered<R | R2 | R3 | R4, E | E2 | E3 | E4, D>;
26
+ filterMap<D>(f: (a: C) => Option.Option<D>): Filtered<R | R2 | R3, E | E2 | E3, D>;
27
+ filterEffect<R4, E4>(f: (a: C) => Effect.Effect<R4, E4, boolean>): Filtered<R | R2 | R3 | R4, E | E2 | E3 | E4, C>;
28
+ filter(f: (a: C) => boolean): Filtered<R | R2 | R3, E | E2 | E3, C>;
29
+ filterNotEffect<R4, E4>(f: (a: C) => Effect.Effect<R4, E4, boolean>): Filtered<R | R2 | R3 | R4, E | E2 | E3 | E4, C>;
30
+ filterNot(f: (a: C) => boolean): Filtered<R | R2 | R3, E | E2 | E3, C>;
31
+ mapEffect<R4, E4, D>(f: (a: C) => Effect.Effect<R4, E4, D>): Filtered<R | R2 | R3 | R4, E | E2 | E3 | E4, D>;
32
+ map<D>(f: (a: C) => D): Filtered<R | R2 | R3, E | E2 | E3, D>;
33
+ }
34
+ //# sourceMappingURL=Filtered.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filtered.d.ts","sourceRoot":"","sources":["../src/Filtered.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ var _a;
2
+ import { pipe } from '@effect/data/Function';
3
+ import * as Option from '@effect/data/Option';
4
+ import * as Effect from '@effect/io/Effect';
5
+ import { RefTransformImpl } from './RefTransform.js';
6
+ import { compact } from './filterMap.js';
7
+ import { switchMapEffect } from './switchMap.js';
8
+ export const FilteredTypeId = Symbol.for('@typed/fx/Filtered');
9
+ export class FilteredImpl extends RefTransformImpl {
10
+ constructor(input, f) {
11
+ super(input, (fx) => compact(switchMapEffect(fx, f)), (eff) => Effect.flatten(Effect.flatMap(eff, f)));
12
+ this[_a] = FilteredTypeId;
13
+ }
14
+ filterMapEffect(f) {
15
+ return new FilteredImpl(this, f);
16
+ }
17
+ filterMap(f) {
18
+ return this.filterMapEffect((a) => Effect.sync(() => f(a)));
19
+ }
20
+ filterEffect(f) {
21
+ return this.filterMapEffect((a) => Effect.map(f(a), (b) => (b ? Option.some(a) : Option.none())));
22
+ }
23
+ filter(f) {
24
+ return this.filterEffect((a) => Effect.sync(() => f(a)));
25
+ }
26
+ filterNotEffect(f) {
27
+ return this.filterEffect((a) => Effect.map(f(a), (b) => !b));
28
+ }
29
+ filterNot(f) {
30
+ return this.filterNotEffect((a) => Effect.sync(() => f(a)));
31
+ }
32
+ mapEffect(f) {
33
+ return this.filterMapEffect((a) => pipe(a, f, Effect.map(Option.some)));
34
+ }
35
+ map(f) {
36
+ return this.mapEffect((a) => Effect.sync(() => f(a)));
37
+ }
38
+ }
39
+ _a = FilteredTypeId;
40
+ //# sourceMappingURL=Filtered.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filtered.js","sourceRoot":"","sources":["../src/Filtered.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAE7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,EAAgB,gBAAgB,EAAqB,MAAM,mBAAmB,CAAA;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AA+B9D,MAAM,OAAO,YACX,SAAQ,gBAaP;IAKD,YACE,KAA4C,EAC5C,CAAoD;QAEpD,KAAK,CACH,KAAK,EACL,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EACvC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAChD,CAAA;QAVM,QAAgB,GAAmB,cAAc,CAAA;IAW1D,CAAC;IAED,eAAe,CACb,CAAoD;QAEpD,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAoD,CAAA;IACrF,CAAC;IAED,SAAS,CAAI,CAA6B;QACxC,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED,YAAY,CACV,CAA2C;QAE3C,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAK,CAAC,CAAC,CACpE,CAAA;IACH,CAAC;IAED,MAAM,CAAC,CAAoB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,eAAe,CACb,CAA2C;QAE3C,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,SAAS,CAAC,CAAoB;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED,SAAS,CACP,CAAqC;QAErC,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,GAAG,CAAI,CAAc;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,CAAC;CACF;KAtDW,cAAc"}
package/dist/Fx.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import type { Trace } from '@effect/data/Debug';
2
1
  import type { Cause } from '@effect/io/Cause';
3
2
  import type { Effect } from '@effect/io/Effect';
4
3
  import type * as Runtime from '@effect/io/Runtime';
@@ -11,12 +10,12 @@ export interface Fx<out R, out E, out A> {
11
10
  readonly _A: (_: never) => A;
12
11
  };
13
12
  readonly run: <R2>(sink: Sink<R2, E, A>) => Effect<R | R2, never, void>;
14
- readonly addTrace: (trace: Trace) => Fx<R, E, A>;
15
13
  }
16
14
  export declare const make: <R, E, A>(run: <R2>(sink: Sink<R2, E, A>) => Effect<R | R2, never, void>) => Fx<R, E, A>;
17
15
  export declare function Fx<R, E, A>(run: <R2>(sink: Sink<R2, E, A>) => Effect<R | R2, never, void>): Fx<R, E, A>;
18
- export declare function Traced<R, E, A>(fx: Fx<R, E, A>, trace: Trace): Fx<R, E, A>;
19
16
  export declare namespace Fx {
17
+ type Any = Fx<any, any, any>;
18
+ type TupleAny = ReadonlyArray<Any>;
20
19
  type Cancel = Runtime.Cancel<never, void>;
21
20
  type ResourcesOf<T> = [T] extends [never] ? never : T extends Fx<infer R, any, any> ? R : never;
22
21
  type ErrorsOf<T> = [T] extends [never] ? never : T extends Fx<any, infer E, any> ? E : never;
package/dist/Fx.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Fx.d.ts","sourceRoot":"","sources":["../src/Fx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Fx.d.ts","sourceRoot":"","sources":["../src/Fx.ts"],"names":[],"mappings":"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"}
package/dist/Fx.js CHANGED
@@ -1,39 +1,24 @@
1
- import { methodWithTrace } from '@effect/data/Debug';
2
1
  import { identity } from '@effect/data/Function';
3
2
  export const FxTypeId = Symbol.for('@typed/fx/Fx');
4
- export const make = methodWithTrace((trace) => function Fx(run) {
3
+ const fxVariance = {
4
+ _R: identity,
5
+ _E: identity,
6
+ _A: identity,
7
+ };
8
+ export const make = function Fx(run) {
5
9
  const fx = {
6
- [FxTypeId]: {
7
- _R: identity,
8
- _E: identity,
9
- _A: identity,
10
- },
11
- run: methodWithTrace((inner) => (sink) => run(sink).traced(inner).traced(trace)),
12
- addTrace: (inner) => Traced(Traced(fx, inner), trace),
10
+ [FxTypeId]: fxVariance,
11
+ run,
13
12
  };
14
13
  return fx;
15
- });
14
+ };
16
15
  export function Fx(run) {
17
16
  return make(run);
18
17
  }
19
- export function Traced(fx, trace) {
20
- const traced = {
21
- [FxTypeId]: {
22
- _R: identity,
23
- _E: identity,
24
- _A: identity,
25
- },
26
- run: (sink) => fx
27
- .run(Sink((a) => sink.event(a).traced(trace), (cause) => sink.error(cause).traced(trace)))
28
- .traced(trace),
29
- addTrace: (trace) => Traced(traced, trace),
30
- };
31
- return traced;
32
- }
33
18
  export function Sink(event, error) {
34
19
  return {
35
- event: methodWithTrace((trace) => (a) => event(a).traced(trace)),
36
- error: methodWithTrace((trace) => (e) => error(e).traced(trace)),
20
+ event,
21
+ error,
37
22
  };
38
23
  }
39
24
  export function isFx(v) {
package/dist/Fx.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Fx.js","sourceRoot":"","sources":["../src/Fx.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAKhD,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAelD,MAAM,CAAC,MAAM,IAAI,GAEE,eAAe,CAChC,CAAC,KAAK,EAAE,EAAE,CACR,SAAS,EAAE,CAAU,GAAuB;IAC1C,MAAM,EAAE,GAAgB;QACtB,CAAC,QAAQ,CAAC,EAAE;YACV,EAAE,EAAE,QAAQ;YACZ,EAAE,EAAE,QAAQ;YACZ,EAAE,EAAE,QAAQ;SACb;QACD,GAAG,EAAE,eAAe,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChF,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC;KACtD,CAAA;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CACJ,CAAA;AAED,MAAM,UAAU,EAAE,CAChB,GAA8D;IAE9D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,MAAM,CAAU,EAAe,EAAE,KAAY;IAC3D,MAAM,MAAM,GAAgB;QAC1B,CAAC,QAAQ,CAAC,EAAE;YACV,EAAE,EAAE,QAAQ;YACZ,EAAE,EAAE,QAAQ;YACZ,EAAE,EAAE,QAAQ;SACb;QACD,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CACZ,EAAE;aACC,GAAG,CACF,IAAI,CACF,CAAC,CAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACrC,CAAC,KAAe,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACrD,CACF;aACA,MAAM,CAAC,KAAK,CAAC;QAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;KAC3C,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AA6BD,MAAM,UAAU,IAAI,CAClB,KAAuC,EACvC,KAA+C;IAE/C,OAAO;QACL,KAAK,EAAE,eAAe,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,KAAK,EAAE,eAAe,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC3E,CAAA;AACH,CAAC;AAED,MAAM,UAAU,IAAI,CAAU,CAAU;IACtC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,QAAQ,IAAI,CAAC,CAAA;AAC5D,CAAC"}
1
+ {"version":3,"file":"Fx.js","sourceRoot":"","sources":["../src/Fx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAKhD,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAalD,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;CACb,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAEE,SAAS,EAAE,CAAU,GAAuB;IAC7D,MAAM,EAAE,GAAgB;QACtB,CAAC,QAAQ,CAAC,EAAE,UAAU;QACtB,GAAG;KACJ,CAAA;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,UAAU,EAAE,CAChB,GAA8D;IAE9D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;AAClB,CAAC;AAgCD,MAAM,UAAU,IAAI,CAClB,KAAuC,EACvC,KAA+C;IAE/C,OAAO;QACL,KAAK;QACL,KAAK;KACN,CAAA;AACH,CAAC;AAED,MAAM,UAAU,IAAI,CAAU,CAAU;IACtC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,QAAQ,IAAI,CAAC,CAAA;AAC5D,CAAC"}
@@ -0,0 +1,116 @@
1
+ import * as Option from '@effect/data/Option';
2
+ import * as Order from '@effect/data/Order';
3
+ import * as Equivalence from '@effect/data/Equivalence';
4
+ import * as Effect from '@effect/io/Effect';
5
+ import * as Scope from '@effect/io/Scope';
6
+ import { Computed } from './Computed.js';
7
+ import { RefSubject } from './RefSubject.js';
8
+ export interface RefArray<E, A> extends RefSubject<E, readonly A[]> {
9
+ /**
10
+ * Append values to the end of the array contained within the RefSubject
11
+ */
12
+ readonly append: (...as: readonly A[]) => Effect.Effect<never, E, readonly A[]>;
13
+ /**
14
+ * Returns true if the array contains the given value.
15
+ */
16
+ readonly contains: (a: A) => Effect.Effect<never, E, boolean>;
17
+ /**
18
+ * Drops the first `n` values from the array contained within the RefSubject
19
+ */
20
+ readonly drop: (n: number) => Effect.Effect<never, E, readonly A[]>;
21
+ /**
22
+ * Drops the last `n` values from the array contained within the RefSubject
23
+ */
24
+ readonly dropRight: (n: number) => Effect.Effect<never, E, readonly A[]>;
25
+ /**
26
+ * Drops values from the array contained within the RefSubject as long as the predicate returns true
27
+ */
28
+ readonly dropWhile: (predicate: (a: A) => boolean) => Effect.Effect<never, E, readonly A[]>;
29
+ /**
30
+ * Filter the values contained within the RefSubject.
31
+ */
32
+ readonly filterValues: (predicate: (a: A, index: number) => boolean) => Effect.Effect<never, E, readonly A[]>;
33
+ /**
34
+ * Retrieve the value at a given index from the array contained within the RefSubject.
35
+ */
36
+ readonly getIndex: (index: number) => Effect.Effect<never, E, Option.Option<A>>;
37
+ /**
38
+ * Creates a computed value which will group the values contained within the RefSubject by the given function.
39
+ */
40
+ readonly groupBy: (f: (a: A) => string) => Computed<never, E, Record<string, readonly A[]>>;
41
+ /**
42
+ * Insert a value at the given index into the array contained within the RefSubject.
43
+ */
44
+ readonly insertAt: (index: number, a: A) => Effect.Effect<never, E, readonly A[]>;
45
+ /**
46
+ * A Computed value which will be true if the array contained within the RefSubject is empty.
47
+ */
48
+ readonly isEmpty: Computed<never, E, boolean>;
49
+ /**
50
+ * A Computed value which will be true if the array contained within the RefSubject is not empty.
51
+ */
52
+ readonly isNonEmpty: Computed<never, E, boolean>;
53
+ /**
54
+ * A Computed value which will be true if the array contained within the RefSubject is not empty.
55
+ */
56
+ readonly length: Computed<never, E, number>;
57
+ /**
58
+ * Map the values of the array contained within the RefSubject into a Computed value which will
59
+ * always be kept up-to-date.
60
+ */
61
+ readonly mapValues: <B>(f: (a: A, index: number) => B) => Computed<never, E, readonly B[]>;
62
+ /**
63
+ * Modify the value at a given index in the array contained within the RefSubject.
64
+ */
65
+ readonly modifyAt: (index: number, f: (a: A) => A) => Effect.Effect<never, E, readonly A[]>;
66
+ /**
67
+ * Split the array contained within the RefSubject into two arrays, one which contains the values
68
+ * which satisfy the predicate and one which contains the values which do not.
69
+ */
70
+ readonly partition: (predicate: (a: A, index: number) => boolean) => Computed<never, E, readonly [readonly A[], readonly A[]]>;
71
+ /**
72
+ * Prepend values to the beginning of the array contained within the RefSubject
73
+ */
74
+ readonly prepend: (...as: readonly A[]) => Effect.Effect<never, E, readonly A[]>;
75
+ /**
76
+ * Reduce the values contained within the RefSubject into a single value returning a Computed
77
+ * which will always be kept up-to-date.
78
+ */
79
+ readonly reduce: <B>(b: B, f: (b: B, a: A, index: number) => B) => Computed<never, E, B>;
80
+ /**
81
+ * Reduce the values, from last index to first, contained within the RefSubject into a single value returning a Computed
82
+ * which will always be kept up-to-date.
83
+ */
84
+ readonly reduceRight: <B>(b: B, f: (b: B, a: A, index: number) => B) => Computed<never, E, B>;
85
+ /**
86
+ * Replace the value at a given index in the array contained within the RefSubject.
87
+ */
88
+ readonly replaceAt: (index: number, a: A) => Effect.Effect<never, E, readonly A[]>;
89
+ /**
90
+ * Rotate the values in the array contained within the RefSubject by the given number of places.
91
+ * Very helpful for carousel-like functionality.
92
+ */
93
+ readonly rotate: (n: number) => Effect.Effect<never, E, readonly A[]>;
94
+ /**
95
+ * Sort the values in the array contained within the RefSubject by the given ordering.
96
+ */
97
+ readonly sortBy: (...orders: Order.Order<A>[]) => Effect.Effect<never, E, readonly A[]>;
98
+ /**
99
+ * Take the first `n` values from the array contained within the RefSubject
100
+ */
101
+ readonly take: (n: number) => Effect.Effect<never, E, readonly A[]>;
102
+ /**
103
+ * Take the last `n` values from the array contained within the RefSubject
104
+ */
105
+ readonly takeRight: (n: number) => Effect.Effect<never, E, readonly A[]>;
106
+ /**
107
+ * Take values from the array contained within the RefSubject as long as the predicate returns true
108
+ */
109
+ readonly takeWhile: (predicate: (a: A) => boolean) => Effect.Effect<never, E, readonly A[]>;
110
+ /**
111
+ * Removes any duplicates held within the array contained within the RefSubject.
112
+ */
113
+ readonly dedupe: Effect.Effect<never, E, readonly A[]>;
114
+ }
115
+ export declare function makeRefArray<R, E, A>(initial: Effect.Effect<R, E, readonly A[]>, eq?: Equivalence.Equivalence<A>): Effect.Effect<R | Scope.Scope, never, RefArray<E, A>>;
116
+ //# sourceMappingURL=RefArray.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RefArray.d.ts","sourceRoot":"","sources":["../src/RefArray.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { pipe } from '@effect/data/Function';
2
+ import * as Option from '@effect/data/Option';
3
+ import * as ReadonlyArray from '@effect/data/ReadonlyArray';
4
+ import * as Equivalence from '@effect/data/Equivalence';
5
+ import * as Effect from '@effect/io/Effect';
6
+ import fastDeepEqual from 'fast-deep-equal/es6';
7
+ import { makeRef } from './RefSubject.js';
8
+ export function makeRefArray(initial, eq = fastDeepEqual) {
9
+ return Effect.gen(function* ($) {
10
+ const arrayEq = Equivalence.array(eq);
11
+ const ref = yield* $(makeRef(initial, arrayEq));
12
+ const isEmpty = ref.map(ReadonlyArray.isEmptyReadonlyArray);
13
+ const isNonEmpty = ref.map(ReadonlyArray.isNonEmptyReadonlyArray);
14
+ const length = ref.map(ReadonlyArray.length);
15
+ const getIndex = (index) => ref.map(ReadonlyArray.get(index));
16
+ const prepend = (...as) => ref.update(ReadonlyArray.prependAll(as));
17
+ const append = (...as) => ref.update(ReadonlyArray.appendAll(as));
18
+ const insertAt = (index, a) => ref.update((as) => pipe(as, ReadonlyArray.insertAt(index, a), Option.getOrElse(() => as)));
19
+ const replaceAt = (index, a) => ref.update((as) => pipe(as, ReadonlyArray.replace(index, a)));
20
+ const modifyAt = (index, f) => ref.update(ReadonlyArray.modify(index, f));
21
+ const take = (n) => ref.update(ReadonlyArray.take(n));
22
+ const takeRight = (n) => ref.update(ReadonlyArray.takeRight(n));
23
+ const drop = (n) => ref.update(ReadonlyArray.drop(n));
24
+ const dropRight = (n) => ref.update(ReadonlyArray.dropRight(n));
25
+ const takeWhile = (predicate) => ref.update(ReadonlyArray.takeWhile(predicate));
26
+ const dropWhile = (predicate) => ref.update(ReadonlyArray.dropWhile(predicate));
27
+ const sortBy = (...orders) => ref.update(ReadonlyArray.sortBy(...orders));
28
+ const rotate = (n) => ref.update(ReadonlyArray.rotate(n));
29
+ const contains_ = ReadonlyArray.containsWith(eq);
30
+ const contains = (a) => ref.map(contains_(a));
31
+ const dedupe = ref.update(ReadonlyArray.dedupeWith(eq));
32
+ const groupBy = (f) => ref.map(ReadonlyArray.groupBy(f));
33
+ const filterValues = (predicate) => ref.update(ReadonlyArray.filter(predicate));
34
+ const partition = (predicate) => ref.map(ReadonlyArray.partition(predicate));
35
+ const mapValues = (f) => ref.map(ReadonlyArray.map(f));
36
+ const reduce = (b, f) => ref.map(ReadonlyArray.reduce(b, f));
37
+ const reduceRight = (b, f) => ref.map(ReadonlyArray.reduceRight(b, f));
38
+ return Object.assign(ref, {
39
+ append,
40
+ contains,
41
+ drop,
42
+ dropRight,
43
+ dropWhile,
44
+ filterValues,
45
+ getIndex,
46
+ groupBy,
47
+ insertAt,
48
+ isEmpty,
49
+ isNonEmpty,
50
+ length,
51
+ mapValues,
52
+ modifyAt,
53
+ partition,
54
+ prepend,
55
+ reduce,
56
+ reduceRight,
57
+ replaceAt,
58
+ rotate,
59
+ sortBy,
60
+ take,
61
+ takeRight,
62
+ takeWhile,
63
+ dedupe,
64
+ });
65
+ });
66
+ }
67
+ //# sourceMappingURL=RefArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RefArray.js","sourceRoot":"","sources":["../src/RefArray.ts"],"names":[],"mappings":"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"}
@@ -1,45 +1,48 @@
1
1
  import * as Option from '@effect/data/Option';
2
- import * as RR from '@effect/data/ReadonlyRecord';
3
- import * as Equivalence from '@effect/data/typeclass/Equivalence';
2
+ import { Pipeable } from '@effect/data/Pipeable';
3
+ import * as Equivalence from '@effect/data/Equivalence';
4
4
  import * as Effect from '@effect/io/Effect';
5
+ import * as Scope from '@effect/io/Scope';
6
+ import { Computed } from './Computed.js';
5
7
  import { Fx } from './Fx.js';
6
- import type { Subject } from './Subject.js';
8
+ import { Subject } from './Subject.js';
7
9
  export declare const RefSubjectTypeId: unique symbol;
8
10
  export type RefSubjectTypeId = typeof RefSubjectTypeId;
9
- export interface RefSubject<in out E, in out A> extends Subject<E, A>, Effect.Effect<never, E, A> {
11
+ export interface RefSubject<in out E, in out A> extends Subject<E, A>, Computed<never, E, A>, Pipeable {
10
12
  readonly [RefSubjectTypeId]: RefSubjectTypeId;
11
13
  readonly eq: Equivalence.Equivalence<A>;
12
- readonly get: Effect.Effect<never, E, A>;
13
14
  readonly modifyEffect: <R2, E2, B>(f: (a: A) => Effect.Effect<R2, E2, readonly [B, A]>) => Effect.Effect<R2, E | E2, B>;
14
15
  readonly modify: <B>(f: (a: A) => readonly [B, A]) => Effect.Effect<never, E, B>;
15
16
  readonly updateEffect: <R2, E2>(f: (a: A) => Effect.Effect<R2, E2, A>) => Effect.Effect<R2, E | E2, A>;
16
17
  readonly update: (f: (a: A) => A) => Effect.Effect<never, E, A>;
17
- readonly set: (a: A) => Effect.Effect<never, E, A>;
18
+ readonly set: (a: A) => Effect.Effect<never, never, A>;
18
19
  readonly delete: Effect.Effect<never, E, Option.Option<A>>;
19
- readonly mapEffect: <R2, E2, B>(f: (a: A) => Effect.Effect<R2, E2, B>) => Computed<R2, E | E2, B>;
20
- readonly map: <B>(f: (a: A) => B) => Computed<never, E, B>;
20
+ /**
21
+ * The current version of the RefSubject, starting with 0, 1 when initialized,
22
+ * and incremented each time the value is updated.
23
+ */
24
+ readonly version: () => number;
21
25
  }
22
- export interface Computed<R, E, A> extends Fx<R, E, A>, Effect.Effect<R, E, A> {
23
- readonly get: Effect.Effect<R, E, A>;
24
- readonly mapEffect: <R2, E2, B>(f: (a: A) => Effect.Effect<R2, E2, B>) => Computed<R | R2, E | E2, B>;
25
- readonly map: <B>(f: (a: A) => B) => Computed<R, E, B>;
26
- }
27
- export declare function makeRef<R, E, A>(effect: Effect.Effect<R, E, A>, eq?: Equivalence.Equivalence<A>): Effect.Effect<R, never, RefSubject<E, A>>;
26
+ export declare function makeRef<R, E, A>(effect: Effect.Effect<R, E, A>, eq?: Equivalence.Equivalence<A>): Effect.Effect<R | Scope.Scope, never, RefSubject<E, A>>;
28
27
  export declare namespace RefSubject {
29
28
  type Any = RefSubject<any, any> | RefSubject<never, any>;
30
- function tuple<S extends ReadonlyArray<Any>>(...subjects: S): RefSubject<Fx.ErrorsOf<S[number]>, {
31
- readonly [K in keyof S]: Fx.OutputOf<S[K]>;
29
+ function unsafeMake<E, A>(initial: Effect.Effect<never, E, A>, scope: Scope.Scope, eq?: Equivalence.Equivalence<A>): RefSubject<E, A>;
30
+ function tuple<const Refs extends readonly Any[]>(...refs: Refs): RefSubject<Fx.ErrorsOf<Refs[number]>, {
31
+ readonly [K in keyof Refs]: Fx.OutputOf<Refs[K]>;
32
32
  }>;
33
- function struct<S extends RR.ReadonlyRecord<Any>>(subjects: S): RefSubject<Fx.ErrorsOf<S[keyof S]>, {
34
- readonly [K in keyof S]: Fx.OutputOf<S[K]>;
33
+ function struct<const Refs extends Readonly<Record<string, Any>>>(refs: Refs): RefSubject<Fx.ErrorsOf<Refs[string]>, {
34
+ readonly [K in keyof Refs]: Fx.OutputOf<Refs[K]>;
35
35
  }>;
36
36
  function all<S extends ReadonlyArray<Any>>(subjects: S): RefSubject<Fx.ErrorsOf<S[number]>, {
37
37
  readonly [K in keyof S]: Fx.OutputOf<S[K]>;
38
38
  }>;
39
- function all<S extends RR.ReadonlyRecord<Any>>(subjects: S): RefSubject<Fx.ErrorsOf<S[string]>, {
39
+ function all<S extends ReadonlyArray<Any>>(...subjects: S): RefSubject<Fx.ErrorsOf<S[number]>, {
40
+ readonly [K in keyof S]: Fx.OutputOf<S[K]>;
41
+ }>;
42
+ function all<S extends Readonly<Record<string, Any>>>(subjects: S): RefSubject<Fx.ErrorsOf<S[string]>, {
40
43
  readonly [K in keyof S]: Fx.OutputOf<S[K]>;
41
44
  }>;
42
- function unsafeMake<E, A>(get: Effect.Effect<never, E, A>, eq?: Equivalence.Equivalence<A>): RefSubject<E, A>;
43
45
  }
44
46
  export declare function isRefSubject<E, A>(u: unknown): u is RefSubject<E, A>;
47
+ export declare function asRef<R, E, A>(fx: Fx<R, E, A>): Effect.Effect<Scope.Scope | R, never, RefSubject<E, A>>;
45
48
  //# sourceMappingURL=RefSubject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RefSubject.d.ts","sourceRoot":"","sources":["../src/RefSubject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RefSubject.d.ts","sourceRoot":"","sources":["../src/RefSubject.ts"],"names":[],"mappings":"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"}