@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
@@ -1 +1 @@
1
- {"version":3,"file":"Fx.d.ts","sourceRoot":"","sources":["../../src/Fx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAElD,eAAO,MAAM,QAAQ,eAA6B,CAAA;AAClD,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAA;AAEtC,MAAM,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE;QACnB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;QAC5B,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;QAC5B,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;KAC7B,CAAA;IAED,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAEvE,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CACjD;AAED,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACzB,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAC3D,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAed,CAAA;AAED,wBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACxB,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,GAC7D,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAEb;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAoB1E;AAED,yBAAiB,EAAE,CAAC;IAClB,KAAY,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAEhD,KAAY,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC5C,KAAK,GACL,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/B,CAAC,GACD,KAAK,CAAA;IAET,KAAY,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACzC,KAAK,GACL,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAC/B,CAAC,GACD,KAAK,CAAA;IAET,KAAY,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACzC,KAAK,GACL,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAC/B,CAAC,GACD,KAAK,CAAA;CACV;AAED,MAAM,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAChD,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CACxD;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAC9B,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EACvC,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,GAC9C,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAKpB;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAE1D"}
1
+ {"version":3,"file":"Fx.d.ts","sourceRoot":"","sources":["../../src/Fx.ts"],"names":[],"mappings":"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"}
package/dist/cjs/Fx.js CHANGED
@@ -1,44 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isFx = exports.Sink = exports.Traced = exports.Fx = exports.make = exports.FxTypeId = void 0;
4
- const Debug_1 = require("@effect/data/Debug");
3
+ exports.isFx = exports.Sink = exports.Fx = exports.make = exports.FxTypeId = void 0;
5
4
  const Function_1 = require("@effect/data/Function");
6
5
  exports.FxTypeId = Symbol.for('@typed/fx/Fx');
7
- exports.make = (0, Debug_1.methodWithTrace)((trace) => function Fx(run) {
6
+ const fxVariance = {
7
+ _R: Function_1.identity,
8
+ _E: Function_1.identity,
9
+ _A: Function_1.identity,
10
+ };
11
+ const make = function Fx(run) {
8
12
  const fx = {
9
- [exports.FxTypeId]: {
10
- _R: Function_1.identity,
11
- _E: Function_1.identity,
12
- _A: Function_1.identity,
13
- },
14
- run: (0, Debug_1.methodWithTrace)((inner) => (sink) => run(sink).traced(inner).traced(trace)),
15
- addTrace: (inner) => Traced(Traced(fx, inner), trace),
13
+ [exports.FxTypeId]: fxVariance,
14
+ run,
16
15
  };
17
16
  return fx;
18
- });
17
+ };
18
+ exports.make = make;
19
19
  function Fx(run) {
20
20
  return (0, exports.make)(run);
21
21
  }
22
22
  exports.Fx = Fx;
23
- function Traced(fx, trace) {
24
- const traced = {
25
- [exports.FxTypeId]: {
26
- _R: Function_1.identity,
27
- _E: Function_1.identity,
28
- _A: Function_1.identity,
29
- },
30
- run: (sink) => fx
31
- .run(Sink((a) => sink.event(a).traced(trace), (cause) => sink.error(cause).traced(trace)))
32
- .traced(trace),
33
- addTrace: (trace) => Traced(traced, trace),
34
- };
35
- return traced;
36
- }
37
- exports.Traced = Traced;
38
23
  function Sink(event, error) {
39
24
  return {
40
- event: (0, Debug_1.methodWithTrace)((trace) => (a) => event(a).traced(trace)),
41
- error: (0, Debug_1.methodWithTrace)((trace) => (e) => error(e).traced(trace)),
25
+ event,
26
+ error,
42
27
  };
43
28
  }
44
29
  exports.Sink = Sink;
@@ -1 +1 @@
1
- {"version":3,"file":"Fx.js","sourceRoot":"","sources":["../../src/Fx.ts"],"names":[],"mappings":";;;AACA,8CAAoD;AACpD,oDAAgD;AAKnC,QAAA,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAerC,QAAA,IAAI,GAEE,IAAA,uBAAe,EAChC,CAAC,KAAK,EAAE,EAAE,CACR,SAAS,EAAE,CAAU,GAAuB;IAC1C,MAAM,EAAE,GAAgB;QACtB,CAAC,gBAAQ,CAAC,EAAE;YACV,EAAE,EAAE,mBAAQ;YACZ,EAAE,EAAE,mBAAQ;YACZ,EAAE,EAAE,mBAAQ;SACb;QACD,GAAG,EAAE,IAAA,uBAAe,EAAC,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,SAAgB,EAAE,CAChB,GAA8D;IAE9D,OAAO,IAAA,YAAI,EAAC,GAAG,CAAC,CAAA;AAClB,CAAC;AAJD,gBAIC;AAED,SAAgB,MAAM,CAAU,EAAe,EAAE,KAAY;IAC3D,MAAM,MAAM,GAAgB;QAC1B,CAAC,gBAAQ,CAAC,EAAE;YACV,EAAE,EAAE,mBAAQ;YACZ,EAAE,EAAE,mBAAQ;YACZ,EAAE,EAAE,mBAAQ;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;AApBD,wBAoBC;AA6BD,SAAgB,IAAI,CAClB,KAAuC,EACvC,KAA+C;IAE/C,OAAO;QACL,KAAK,EAAE,IAAA,uBAAe,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,KAAK,EAAE,IAAA,uBAAe,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC3E,CAAA;AACH,CAAC;AARD,oBAQC;AAED,SAAgB,IAAI,CAAU,CAAU;IACtC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,gBAAQ,IAAI,CAAC,CAAA;AAC5D,CAAC;AAFD,oBAEC"}
1
+ {"version":3,"file":"Fx.js","sourceRoot":"","sources":["../../src/Fx.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAKnC,QAAA,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAalD,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE,mBAAQ;IACZ,EAAE,EAAE,mBAAQ;IACZ,EAAE,EAAE,mBAAQ;CACb,CAAA;AAEM,MAAM,IAAI,GAEE,SAAS,EAAE,CAAU,GAAuB;IAC7D,MAAM,EAAE,GAAgB;QACtB,CAAC,gBAAQ,CAAC,EAAE,UAAU;QACtB,GAAG;KACJ,CAAA;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AATY,QAAA,IAAI,QAShB;AAED,SAAgB,EAAE,CAChB,GAA8D;IAE9D,OAAO,IAAA,YAAI,EAAC,GAAG,CAAC,CAAA;AAClB,CAAC;AAJD,gBAIC;AAgCD,SAAgB,IAAI,CAClB,KAAuC,EACvC,KAA+C;IAE/C,OAAO;QACL,KAAK;QACL,KAAK;KACN,CAAA;AACH,CAAC;AARD,oBAQC;AAED,SAAgB,IAAI,CAAU,CAAU;IACtC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,gBAAQ,IAAI,CAAC,CAAA;AAC5D,CAAC;AAFD,oBAEC"}
@@ -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,97 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.makeRefArray = void 0;
30
+ const Function_1 = require("@effect/data/Function");
31
+ const Option = __importStar(require("@effect/data/Option"));
32
+ const ReadonlyArray = __importStar(require("@effect/data/ReadonlyArray"));
33
+ const Equivalence = __importStar(require("@effect/data/Equivalence"));
34
+ const Effect = __importStar(require("@effect/io/Effect"));
35
+ const es6_1 = __importDefault(require("fast-deep-equal/es6"));
36
+ const RefSubject_js_1 = require("./RefSubject.js");
37
+ function makeRefArray(initial, eq = es6_1.default) {
38
+ return Effect.gen(function* ($) {
39
+ const arrayEq = Equivalence.array(eq);
40
+ const ref = yield* $((0, RefSubject_js_1.makeRef)(initial, arrayEq));
41
+ const isEmpty = ref.map(ReadonlyArray.isEmptyReadonlyArray);
42
+ const isNonEmpty = ref.map(ReadonlyArray.isNonEmptyReadonlyArray);
43
+ const length = ref.map(ReadonlyArray.length);
44
+ const getIndex = (index) => ref.map(ReadonlyArray.get(index));
45
+ const prepend = (...as) => ref.update(ReadonlyArray.prependAll(as));
46
+ const append = (...as) => ref.update(ReadonlyArray.appendAll(as));
47
+ const insertAt = (index, a) => ref.update((as) => (0, Function_1.pipe)(as, ReadonlyArray.insertAt(index, a), Option.getOrElse(() => as)));
48
+ const replaceAt = (index, a) => ref.update((as) => (0, Function_1.pipe)(as, ReadonlyArray.replace(index, a)));
49
+ const modifyAt = (index, f) => ref.update(ReadonlyArray.modify(index, f));
50
+ const take = (n) => ref.update(ReadonlyArray.take(n));
51
+ const takeRight = (n) => ref.update(ReadonlyArray.takeRight(n));
52
+ const drop = (n) => ref.update(ReadonlyArray.drop(n));
53
+ const dropRight = (n) => ref.update(ReadonlyArray.dropRight(n));
54
+ const takeWhile = (predicate) => ref.update(ReadonlyArray.takeWhile(predicate));
55
+ const dropWhile = (predicate) => ref.update(ReadonlyArray.dropWhile(predicate));
56
+ const sortBy = (...orders) => ref.update(ReadonlyArray.sortBy(...orders));
57
+ const rotate = (n) => ref.update(ReadonlyArray.rotate(n));
58
+ const contains_ = ReadonlyArray.containsWith(eq);
59
+ const contains = (a) => ref.map(contains_(a));
60
+ const dedupe = ref.update(ReadonlyArray.dedupeWith(eq));
61
+ const groupBy = (f) => ref.map(ReadonlyArray.groupBy(f));
62
+ const filterValues = (predicate) => ref.update(ReadonlyArray.filter(predicate));
63
+ const partition = (predicate) => ref.map(ReadonlyArray.partition(predicate));
64
+ const mapValues = (f) => ref.map(ReadonlyArray.map(f));
65
+ const reduce = (b, f) => ref.map(ReadonlyArray.reduce(b, f));
66
+ const reduceRight = (b, f) => ref.map(ReadonlyArray.reduceRight(b, f));
67
+ return Object.assign(ref, {
68
+ append,
69
+ contains,
70
+ drop,
71
+ dropRight,
72
+ dropWhile,
73
+ filterValues,
74
+ getIndex,
75
+ groupBy,
76
+ insertAt,
77
+ isEmpty,
78
+ isNonEmpty,
79
+ length,
80
+ mapValues,
81
+ modifyAt,
82
+ partition,
83
+ prepend,
84
+ reduce,
85
+ reduceRight,
86
+ replaceAt,
87
+ rotate,
88
+ sortBy,
89
+ take,
90
+ takeRight,
91
+ takeWhile,
92
+ dedupe,
93
+ });
94
+ });
95
+ }
96
+ exports.makeRefArray = makeRefArray;
97
+ //# 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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"}