@typed/fx 2.0.0-beta.3 → 2.0.0-beta.5

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 (663) hide show
  1. package/README.md +34 -20
  2. package/dist/Fx/Fx.d.ts +364 -12
  3. package/dist/Fx/Fx.d.ts.map +1 -1
  4. package/dist/Fx/Fx.js +37 -6
  5. package/dist/Fx/TypeId.d.ts +49 -3
  6. package/dist/Fx/TypeId.d.ts.map +1 -1
  7. package/dist/Fx/TypeId.js +39 -2
  8. package/dist/Fx/combinators/additive.d.ts +156 -5
  9. package/dist/Fx/combinators/additive.d.ts.map +1 -1
  10. package/dist/Fx/combinators/additive.js +156 -5
  11. package/dist/Fx/combinators/catch.d.ts +195 -22
  12. package/dist/Fx/combinators/catch.d.ts.map +1 -1
  13. package/dist/Fx/combinators/catch.js +186 -16
  14. package/dist/Fx/combinators/causes.d.ts +24 -1
  15. package/dist/Fx/combinators/causes.d.ts.map +1 -1
  16. package/dist/Fx/combinators/causes.js +24 -1
  17. package/dist/Fx/combinators/changesWithEffect.d.ts +20 -0
  18. package/dist/Fx/combinators/changesWithEffect.d.ts.map +1 -1
  19. package/dist/Fx/combinators/changesWithEffect.js +20 -0
  20. package/dist/Fx/combinators/compact.d.ts +17 -0
  21. package/dist/Fx/combinators/compact.d.ts.map +1 -1
  22. package/dist/Fx/combinators/compact.js +17 -0
  23. package/dist/Fx/combinators/concatMap.d.ts +86 -0
  24. package/dist/Fx/combinators/concatMap.d.ts.map +1 -0
  25. package/dist/Fx/combinators/concatMap.js +86 -0
  26. package/dist/Fx/combinators/continueWith.d.ts +109 -1
  27. package/dist/Fx/combinators/continueWith.d.ts.map +1 -1
  28. package/dist/Fx/combinators/continueWith.js +109 -1
  29. package/dist/Fx/combinators/debounce.d.ts +34 -0
  30. package/dist/Fx/combinators/debounce.d.ts.map +1 -0
  31. package/dist/Fx/combinators/debounce.js +35 -0
  32. package/dist/Fx/combinators/delay.d.ts +34 -0
  33. package/dist/Fx/combinators/delay.d.ts.map +1 -0
  34. package/dist/Fx/combinators/delay.js +31 -0
  35. package/dist/Fx/combinators/dropUntil.d.ts +42 -0
  36. package/dist/Fx/combinators/dropUntil.d.ts.map +1 -1
  37. package/dist/Fx/combinators/dropUntil.js +42 -0
  38. package/dist/Fx/combinators/during.d.ts +38 -0
  39. package/dist/Fx/combinators/during.d.ts.map +1 -0
  40. package/dist/Fx/combinators/during.js +85 -0
  41. package/dist/Fx/combinators/ensuring.d.ts +33 -3
  42. package/dist/Fx/combinators/ensuring.d.ts.map +1 -1
  43. package/dist/Fx/combinators/ensuring.js +33 -3
  44. package/dist/Fx/combinators/exhaustLatestMap.d.ts +40 -4
  45. package/dist/Fx/combinators/exhaustLatestMap.d.ts.map +1 -1
  46. package/dist/Fx/combinators/exhaustLatestMap.js +40 -4
  47. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts +39 -3
  48. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts.map +1 -1
  49. package/dist/Fx/combinators/exhaustLatestMapEffect.js +39 -3
  50. package/dist/Fx/combinators/exhaustMap.d.ts +37 -0
  51. package/dist/Fx/combinators/exhaustMap.d.ts.map +1 -1
  52. package/dist/Fx/combinators/exhaustMap.js +37 -0
  53. package/dist/Fx/combinators/exhaustMapEffect.d.ts +32 -0
  54. package/dist/Fx/combinators/exhaustMapEffect.d.ts.map +1 -1
  55. package/dist/Fx/combinators/exhaustMapEffect.js +32 -0
  56. package/dist/Fx/combinators/exit.d.ts +22 -1
  57. package/dist/Fx/combinators/exit.d.ts.map +1 -1
  58. package/dist/Fx/combinators/exit.js +22 -1
  59. package/dist/Fx/combinators/filter.d.ts +16 -0
  60. package/dist/Fx/combinators/filter.d.ts.map +1 -1
  61. package/dist/Fx/combinators/filter.js +16 -0
  62. package/dist/Fx/combinators/filterEffect.d.ts +21 -0
  63. package/dist/Fx/combinators/filterEffect.d.ts.map +1 -1
  64. package/dist/Fx/combinators/filterEffect.js +21 -0
  65. package/dist/Fx/combinators/filterMap.d.ts +19 -0
  66. package/dist/Fx/combinators/filterMap.d.ts.map +1 -1
  67. package/dist/Fx/combinators/filterMap.js +19 -0
  68. package/dist/Fx/combinators/filterMapEffect.d.ts +20 -0
  69. package/dist/Fx/combinators/filterMapEffect.d.ts.map +1 -1
  70. package/dist/Fx/combinators/filterMapEffect.js +20 -0
  71. package/dist/Fx/combinators/filterMapLoop.d.ts +19 -0
  72. package/dist/Fx/combinators/filterMapLoop.d.ts.map +1 -1
  73. package/dist/Fx/combinators/filterMapLoop.js +19 -0
  74. package/dist/Fx/combinators/filterMapLoopCause.d.ts +20 -0
  75. package/dist/Fx/combinators/filterMapLoopCause.d.ts.map +1 -1
  76. package/dist/Fx/combinators/filterMapLoopCause.js +20 -0
  77. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts +20 -0
  78. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts.map +1 -1
  79. package/dist/Fx/combinators/filterMapLoopCauseEffect.js +20 -0
  80. package/dist/Fx/combinators/filterMapLoopEffect.d.ts +20 -0
  81. package/dist/Fx/combinators/filterMapLoopEffect.d.ts.map +1 -1
  82. package/dist/Fx/combinators/filterMapLoopEffect.js +20 -0
  83. package/dist/Fx/combinators/flatMap.d.ts +48 -3
  84. package/dist/Fx/combinators/flatMap.d.ts.map +1 -1
  85. package/dist/Fx/combinators/flatMap.js +35 -2
  86. package/dist/Fx/combinators/flatMapConcurrently.d.ts +50 -3
  87. package/dist/Fx/combinators/flatMapConcurrently.d.ts.map +1 -1
  88. package/dist/Fx/combinators/flatMapConcurrently.js +47 -1
  89. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts +47 -3
  90. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts.map +1 -1
  91. package/dist/Fx/combinators/flatMapConcurrentlyEffect.js +39 -1
  92. package/dist/Fx/combinators/flatMapEffect.d.ts +44 -2
  93. package/dist/Fx/combinators/flatMapEffect.d.ts.map +1 -1
  94. package/dist/Fx/combinators/flatMapEffect.js +31 -1
  95. package/dist/Fx/combinators/flip.d.ts +33 -1
  96. package/dist/Fx/combinators/flip.d.ts.map +1 -1
  97. package/dist/Fx/combinators/flip.js +33 -1
  98. package/dist/Fx/combinators/gen.d.ts +28 -9
  99. package/dist/Fx/combinators/gen.d.ts.map +1 -1
  100. package/dist/Fx/combinators/gen.js +27 -3
  101. package/dist/Fx/combinators/genScoped.d.ts +32 -9
  102. package/dist/Fx/combinators/genScoped.d.ts.map +1 -1
  103. package/dist/Fx/combinators/genScoped.js +30 -2
  104. package/dist/Fx/combinators/grouped.d.ts +89 -0
  105. package/dist/Fx/combinators/grouped.d.ts.map +1 -0
  106. package/dist/Fx/combinators/grouped.js +146 -0
  107. package/dist/Fx/combinators/index.d.ts +35 -0
  108. package/dist/Fx/combinators/index.d.ts.map +1 -1
  109. package/dist/Fx/combinators/index.js +35 -0
  110. package/dist/Fx/combinators/keyed.d.ts +121 -7
  111. package/dist/Fx/combinators/keyed.d.ts.map +1 -1
  112. package/dist/Fx/combinators/keyed.js +68 -10
  113. package/dist/Fx/combinators/loop.d.ts +16 -0
  114. package/dist/Fx/combinators/loop.d.ts.map +1 -1
  115. package/dist/Fx/combinators/loop.js +16 -0
  116. package/dist/Fx/combinators/loopCause.d.ts +17 -0
  117. package/dist/Fx/combinators/loopCause.d.ts.map +1 -1
  118. package/dist/Fx/combinators/loopCause.js +17 -0
  119. package/dist/Fx/combinators/loopCauseEffect.d.ts +18 -0
  120. package/dist/Fx/combinators/loopCauseEffect.d.ts.map +1 -1
  121. package/dist/Fx/combinators/loopCauseEffect.js +18 -0
  122. package/dist/Fx/combinators/loopEffect.d.ts +23 -0
  123. package/dist/Fx/combinators/loopEffect.d.ts.map +1 -1
  124. package/dist/Fx/combinators/loopEffect.js +23 -0
  125. package/dist/Fx/combinators/map.d.ts +45 -0
  126. package/dist/Fx/combinators/map.d.ts.map +1 -1
  127. package/dist/Fx/combinators/map.js +42 -0
  128. package/dist/Fx/combinators/mapBoth.d.ts +19 -0
  129. package/dist/Fx/combinators/mapBoth.d.ts.map +1 -1
  130. package/dist/Fx/combinators/mapBoth.js +19 -0
  131. package/dist/Fx/combinators/mapEffect.d.ts +24 -0
  132. package/dist/Fx/combinators/mapEffect.d.ts.map +1 -1
  133. package/dist/Fx/combinators/mapEffect.js +24 -0
  134. package/dist/Fx/combinators/mapError.d.ts +20 -4
  135. package/dist/Fx/combinators/mapError.d.ts.map +1 -1
  136. package/dist/Fx/combinators/mapError.js +20 -4
  137. package/dist/Fx/combinators/mergeAll.d.ts +34 -0
  138. package/dist/Fx/combinators/mergeAll.d.ts.map +1 -1
  139. package/dist/Fx/combinators/mergeAll.js +34 -0
  140. package/dist/Fx/combinators/mergeOrdered.d.ts +35 -3
  141. package/dist/Fx/combinators/mergeOrdered.d.ts.map +1 -1
  142. package/dist/Fx/combinators/mergeOrdered.js +35 -3
  143. package/dist/Fx/combinators/onError.d.ts +33 -3
  144. package/dist/Fx/combinators/onError.d.ts.map +1 -1
  145. package/dist/Fx/combinators/onError.js +33 -3
  146. package/dist/Fx/combinators/onExit.d.ts +28 -2
  147. package/dist/Fx/combinators/onExit.d.ts.map +1 -1
  148. package/dist/Fx/combinators/onExit.js +28 -2
  149. package/dist/Fx/combinators/onInterrupt.d.ts +48 -3
  150. package/dist/Fx/combinators/onInterrupt.d.ts.map +1 -1
  151. package/dist/Fx/combinators/onInterrupt.js +48 -3
  152. package/dist/Fx/combinators/pairwise.d.ts +28 -0
  153. package/dist/Fx/combinators/pairwise.d.ts.map +1 -0
  154. package/dist/Fx/combinators/pairwise.js +31 -0
  155. package/dist/Fx/combinators/provide.d.ts +138 -17
  156. package/dist/Fx/combinators/provide.d.ts.map +1 -1
  157. package/dist/Fx/combinators/provide.js +134 -13
  158. package/dist/Fx/combinators/race.d.ts +92 -0
  159. package/dist/Fx/combinators/race.d.ts.map +1 -0
  160. package/dist/Fx/combinators/race.js +149 -0
  161. package/dist/Fx/combinators/repeat.d.ts +41 -0
  162. package/dist/Fx/combinators/repeat.d.ts.map +1 -0
  163. package/dist/Fx/combinators/repeat.js +57 -0
  164. package/dist/Fx/combinators/result.d.ts +22 -0
  165. package/dist/Fx/combinators/result.d.ts.map +1 -1
  166. package/dist/Fx/combinators/result.js +26 -12
  167. package/dist/Fx/combinators/retry.d.ts +53 -0
  168. package/dist/Fx/combinators/retry.d.ts.map +1 -0
  169. package/dist/Fx/combinators/retry.js +71 -0
  170. package/dist/Fx/combinators/sample.d.ts +31 -0
  171. package/dist/Fx/combinators/sample.d.ts.map +1 -0
  172. package/dist/Fx/combinators/sample.js +42 -0
  173. package/dist/Fx/combinators/scan.d.ts +39 -0
  174. package/dist/Fx/combinators/scan.d.ts.map +1 -1
  175. package/dist/Fx/combinators/scan.js +41 -2
  176. package/dist/Fx/combinators/since.d.ts +30 -0
  177. package/dist/Fx/combinators/since.d.ts.map +1 -0
  178. package/dist/Fx/combinators/since.js +39 -0
  179. package/dist/Fx/combinators/skip.d.ts +31 -0
  180. package/dist/Fx/combinators/skip.d.ts.map +1 -1
  181. package/dist/Fx/combinators/skip.js +31 -0
  182. package/dist/Fx/combinators/skipRepeats.d.ts +16 -0
  183. package/dist/Fx/combinators/skipRepeats.d.ts.map +1 -1
  184. package/dist/Fx/combinators/skipRepeats.js +16 -0
  185. package/dist/Fx/combinators/skipRepeatsWith.d.ts +17 -0
  186. package/dist/Fx/combinators/skipRepeatsWith.d.ts.map +1 -1
  187. package/dist/Fx/combinators/skipRepeatsWith.js +17 -0
  188. package/dist/Fx/combinators/skipWhile.d.ts +68 -0
  189. package/dist/Fx/combinators/skipWhile.d.ts.map +1 -1
  190. package/dist/Fx/combinators/skipWhile.js +68 -0
  191. package/dist/Fx/combinators/slice.d.ts +82 -0
  192. package/dist/Fx/combinators/slice.d.ts.map +1 -1
  193. package/dist/Fx/combinators/slice.js +33 -0
  194. package/dist/Fx/combinators/switchMap.d.ts +38 -0
  195. package/dist/Fx/combinators/switchMap.d.ts.map +1 -1
  196. package/dist/Fx/combinators/switchMap.js +42 -4
  197. package/dist/Fx/combinators/switchMapEffect.d.ts +37 -0
  198. package/dist/Fx/combinators/switchMapEffect.d.ts.map +1 -1
  199. package/dist/Fx/combinators/switchMapEffect.js +37 -0
  200. package/dist/Fx/combinators/take.d.ts +32 -0
  201. package/dist/Fx/combinators/take.d.ts.map +1 -1
  202. package/dist/Fx/combinators/take.js +32 -0
  203. package/dist/Fx/combinators/takeUntil.d.ts +46 -0
  204. package/dist/Fx/combinators/takeUntil.d.ts.map +1 -1
  205. package/dist/Fx/combinators/takeUntil.js +46 -0
  206. package/dist/Fx/combinators/takeWhile.d.ts +31 -0
  207. package/dist/Fx/combinators/takeWhile.d.ts.map +1 -1
  208. package/dist/Fx/combinators/takeWhile.js +31 -0
  209. package/dist/Fx/combinators/tapEffect.d.ts +16 -0
  210. package/dist/Fx/combinators/tapEffect.d.ts.map +1 -1
  211. package/dist/Fx/combinators/tapEffect.js +16 -0
  212. package/dist/Fx/combinators/throttle.d.ts +79 -0
  213. package/dist/Fx/combinators/throttle.d.ts.map +1 -0
  214. package/dist/Fx/combinators/throttle.js +99 -0
  215. package/dist/Fx/combinators/timeout.d.ts +76 -0
  216. package/dist/Fx/combinators/timeout.d.ts.map +1 -0
  217. package/dist/Fx/combinators/timeout.js +110 -0
  218. package/dist/Fx/combinators/tuple.d.ts +30 -0
  219. package/dist/Fx/combinators/tuple.d.ts.map +1 -1
  220. package/dist/Fx/combinators/tuple.js +34 -3
  221. package/dist/Fx/combinators/until.d.ts +27 -0
  222. package/dist/Fx/combinators/until.d.ts.map +1 -0
  223. package/dist/Fx/combinators/until.js +56 -0
  224. package/dist/Fx/combinators/unwrap.d.ts +29 -0
  225. package/dist/Fx/combinators/unwrap.d.ts.map +1 -1
  226. package/dist/Fx/combinators/unwrap.js +29 -0
  227. package/dist/Fx/combinators/unwrapScoped.d.ts +33 -0
  228. package/dist/Fx/combinators/unwrapScoped.d.ts.map +1 -1
  229. package/dist/Fx/combinators/unwrapScoped.js +33 -0
  230. package/dist/Fx/combinators/when.d.ts +35 -0
  231. package/dist/Fx/combinators/when.d.ts.map +1 -1
  232. package/dist/Fx/combinators/when.js +36 -1
  233. package/dist/Fx/combinators/withLatestFrom.d.ts +58 -0
  234. package/dist/Fx/combinators/withLatestFrom.d.ts.map +1 -0
  235. package/dist/Fx/combinators/withLatestFrom.js +68 -0
  236. package/dist/Fx/combinators/withSpan.d.ts +35 -1
  237. package/dist/Fx/combinators/withSpan.d.ts.map +1 -1
  238. package/dist/Fx/combinators/withSpan.js +34 -3
  239. package/dist/Fx/combinators/zip.d.ts +60 -0
  240. package/dist/Fx/combinators/zip.d.ts.map +1 -1
  241. package/dist/Fx/combinators/zip.js +60 -0
  242. package/dist/Fx/constructors/at.d.ts +20 -0
  243. package/dist/Fx/constructors/at.d.ts.map +1 -1
  244. package/dist/Fx/constructors/at.js +20 -0
  245. package/dist/Fx/constructors/die.d.ts +21 -0
  246. package/dist/Fx/constructors/die.d.ts.map +1 -1
  247. package/dist/Fx/constructors/die.js +21 -0
  248. package/dist/Fx/constructors/empty.d.ts +18 -0
  249. package/dist/Fx/constructors/empty.d.ts.map +1 -1
  250. package/dist/Fx/constructors/empty.js +18 -0
  251. package/dist/Fx/constructors/fail.d.ts +21 -0
  252. package/dist/Fx/constructors/fail.d.ts.map +1 -1
  253. package/dist/Fx/constructors/fail.js +21 -0
  254. package/dist/Fx/constructors/failCause.d.ts +22 -0
  255. package/dist/Fx/constructors/failCause.d.ts.map +1 -1
  256. package/dist/Fx/constructors/failCause.js +22 -0
  257. package/dist/Fx/constructors/fn.d.ts +113 -13
  258. package/dist/Fx/constructors/fn.d.ts.map +1 -1
  259. package/dist/Fx/constructors/fn.js +36 -0
  260. package/dist/Fx/constructors/fromEffect.d.ts +43 -1
  261. package/dist/Fx/constructors/fromEffect.d.ts.map +1 -1
  262. package/dist/Fx/constructors/fromEffect.js +43 -1
  263. package/dist/Fx/constructors/fromFailures.d.ts +24 -0
  264. package/dist/Fx/constructors/fromFailures.d.ts.map +1 -1
  265. package/dist/Fx/constructors/fromFailures.js +24 -0
  266. package/dist/Fx/constructors/fromIterable.d.ts +22 -0
  267. package/dist/Fx/constructors/fromIterable.d.ts.map +1 -1
  268. package/dist/Fx/constructors/fromIterable.js +22 -0
  269. package/dist/Fx/constructors/fromSchedule.d.ts +23 -0
  270. package/dist/Fx/constructors/fromSchedule.d.ts.map +1 -1
  271. package/dist/Fx/constructors/fromSchedule.js +25 -2
  272. package/dist/Fx/constructors/index.d.ts +2 -1
  273. package/dist/Fx/constructors/index.d.ts.map +1 -1
  274. package/dist/Fx/constructors/index.js +2 -1
  275. package/dist/Fx/constructors/interrupt.d.ts +21 -1
  276. package/dist/Fx/constructors/interrupt.d.ts.map +1 -1
  277. package/dist/Fx/constructors/interrupt.js +21 -1
  278. package/dist/Fx/constructors/make.d.ts +146 -1
  279. package/dist/Fx/constructors/make.d.ts.map +1 -1
  280. package/dist/Fx/constructors/make.js +56 -5
  281. package/dist/Fx/constructors/periodic.d.ts +29 -0
  282. package/dist/Fx/constructors/periodic.d.ts.map +1 -1
  283. package/dist/Fx/constructors/periodic.js +29 -0
  284. package/dist/Fx/constructors/succeed.d.ts +75 -3
  285. package/dist/Fx/constructors/succeed.d.ts.map +1 -1
  286. package/dist/Fx/constructors/succeed.js +75 -3
  287. package/dist/Fx/constructors/suspend.d.ts +28 -0
  288. package/dist/Fx/constructors/suspend.d.ts.map +1 -1
  289. package/dist/Fx/constructors/suspend.js +28 -0
  290. package/dist/Fx/constructors/sync.d.ts +32 -0
  291. package/dist/Fx/constructors/sync.d.ts.map +1 -0
  292. package/dist/Fx/constructors/sync.js +32 -0
  293. package/dist/Fx/internal/DeferredRef.d.ts +259 -7
  294. package/dist/Fx/internal/DeferredRef.d.ts.map +1 -1
  295. package/dist/Fx/internal/DeferredRef.js +260 -9
  296. package/dist/Fx/internal/UnionToTuple.d.ts +22 -0
  297. package/dist/Fx/internal/UnionToTuple.d.ts.map +1 -1
  298. package/dist/Fx/internal/diff.d.ts +586 -0
  299. package/dist/Fx/internal/diff.d.ts.map +1 -1
  300. package/dist/Fx/internal/diff.js +120 -9
  301. package/dist/Fx/internal/effectableEvaluateKey.d.ts +30 -0
  302. package/dist/Fx/internal/effectableEvaluateKey.d.ts.map +1 -0
  303. package/dist/Fx/internal/effectableEvaluateKey.js +29 -0
  304. package/dist/Fx/internal/effectableWithOverride.d.ts +55 -0
  305. package/dist/Fx/internal/effectableWithOverride.d.ts.map +1 -0
  306. package/dist/Fx/internal/effectableWithOverride.js +46 -0
  307. package/dist/Fx/internal/equivalence.d.ts +29 -0
  308. package/dist/Fx/internal/equivalence.d.ts.map +1 -1
  309. package/dist/Fx/internal/equivalence.js +29 -0
  310. package/dist/Fx/internal/multicast.d.ts +145 -2
  311. package/dist/Fx/internal/multicast.d.ts.map +1 -1
  312. package/dist/Fx/internal/multicast.js +146 -4
  313. package/dist/Fx/internal/ring-buffer.d.ts +149 -0
  314. package/dist/Fx/internal/ring-buffer.d.ts.map +1 -1
  315. package/dist/Fx/internal/ring-buffer.js +155 -0
  316. package/dist/Fx/internal/scope.d.ts +184 -0
  317. package/dist/Fx/internal/scope.d.ts.map +1 -1
  318. package/dist/Fx/internal/scope.js +150 -0
  319. package/dist/Fx/internal/yieldable.d.ts +117 -2
  320. package/dist/Fx/internal/yieldable.d.ts.map +1 -1
  321. package/dist/Fx/internal/yieldable.js +86 -3
  322. package/dist/Fx/run/collect.d.ts +89 -0
  323. package/dist/Fx/run/collect.d.ts.map +1 -1
  324. package/dist/Fx/run/collect.js +90 -1
  325. package/dist/Fx/run/first.d.ts +22 -0
  326. package/dist/Fx/run/first.d.ts.map +1 -1
  327. package/dist/Fx/run/first.js +22 -0
  328. package/dist/Fx/run/fork.d.ts +50 -0
  329. package/dist/Fx/run/fork.d.ts.map +1 -1
  330. package/dist/Fx/run/fork.js +50 -0
  331. package/dist/Fx/run/observe.d.ts +106 -0
  332. package/dist/Fx/run/observe.d.ts.map +1 -1
  333. package/dist/Fx/run/observe.js +108 -2
  334. package/dist/Fx/run/runPromise.d.ts +43 -0
  335. package/dist/Fx/run/runPromise.d.ts.map +1 -1
  336. package/dist/Fx/run/runPromise.js +43 -0
  337. package/dist/Fx/stream.d.ts +92 -0
  338. package/dist/Fx/stream.d.ts.map +1 -1
  339. package/dist/Fx/stream.js +60 -1
  340. package/dist/Push/Push.d.ts +1219 -94
  341. package/dist/Push/Push.d.ts.map +1 -1
  342. package/dist/Push/Push.js +1015 -86
  343. package/dist/RefArray.d.ts +2 -0
  344. package/dist/RefArray.d.ts.map +1 -0
  345. package/dist/RefArray.js +1 -0
  346. package/dist/RefBigDecimal.d.ts +2 -0
  347. package/dist/RefBigDecimal.d.ts.map +1 -0
  348. package/dist/RefBigDecimal.js +1 -0
  349. package/dist/RefBigInt.d.ts +2 -0
  350. package/dist/RefBigInt.d.ts.map +1 -0
  351. package/dist/RefBigInt.js +1 -0
  352. package/dist/RefBoolean.d.ts +2 -0
  353. package/dist/RefBoolean.d.ts.map +1 -0
  354. package/dist/RefBoolean.js +1 -0
  355. package/dist/RefCause.d.ts +2 -0
  356. package/dist/RefCause.d.ts.map +1 -0
  357. package/dist/RefCause.js +1 -0
  358. package/dist/RefChunk.d.ts +2 -0
  359. package/dist/RefChunk.d.ts.map +1 -0
  360. package/dist/RefChunk.js +1 -0
  361. package/dist/RefDateTime.d.ts +2 -0
  362. package/dist/RefDateTime.d.ts.map +1 -0
  363. package/dist/RefDateTime.js +1 -0
  364. package/dist/RefDuration.d.ts +2 -0
  365. package/dist/RefDuration.d.ts.map +1 -0
  366. package/dist/RefDuration.js +1 -0
  367. package/dist/RefGraph.d.ts +2 -0
  368. package/dist/RefGraph.d.ts.map +1 -0
  369. package/dist/RefGraph.js +1 -0
  370. package/dist/RefHashMap.d.ts +2 -0
  371. package/dist/RefHashMap.d.ts.map +1 -0
  372. package/dist/RefHashMap.js +1 -0
  373. package/dist/RefHashRing.d.ts +2 -0
  374. package/dist/RefHashRing.d.ts.map +1 -0
  375. package/dist/RefHashRing.js +1 -0
  376. package/dist/RefHashSet.d.ts +2 -0
  377. package/dist/RefHashSet.d.ts.map +1 -0
  378. package/dist/RefHashSet.js +1 -0
  379. package/dist/RefIterable.d.ts +2 -0
  380. package/dist/RefIterable.d.ts.map +1 -0
  381. package/dist/RefIterable.js +1 -0
  382. package/dist/RefOption.d.ts +2 -0
  383. package/dist/RefOption.d.ts.map +1 -0
  384. package/dist/RefOption.js +1 -0
  385. package/dist/RefRecord.d.ts +2 -0
  386. package/dist/RefRecord.d.ts.map +1 -0
  387. package/dist/RefRecord.js +1 -0
  388. package/dist/RefResult.d.ts +2 -0
  389. package/dist/RefResult.d.ts.map +1 -0
  390. package/dist/RefResult.js +1 -0
  391. package/dist/RefString.d.ts +2 -0
  392. package/dist/RefString.d.ts.map +1 -0
  393. package/dist/RefString.js +1 -0
  394. package/dist/RefStruct.d.ts +2 -0
  395. package/dist/RefStruct.d.ts.map +1 -0
  396. package/dist/RefStruct.js +1 -0
  397. package/dist/RefSubject/Hydration.d.ts +504 -0
  398. package/dist/RefSubject/Hydration.d.ts.map +1 -0
  399. package/dist/RefSubject/Hydration.js +300 -0
  400. package/dist/RefSubject/RefArray.d.ts +351 -4
  401. package/dist/RefSubject/RefArray.d.ts.map +1 -1
  402. package/dist/RefSubject/RefArray.js +339 -3
  403. package/dist/RefSubject/RefBigDecimal.d.ts +221 -1
  404. package/dist/RefSubject/RefBigDecimal.d.ts.map +1 -1
  405. package/dist/RefSubject/RefBigDecimal.js +210 -1
  406. package/dist/RefSubject/RefBigInt.d.ts +166 -1
  407. package/dist/RefSubject/RefBigInt.d.ts.map +1 -1
  408. package/dist/RefSubject/RefBigInt.js +155 -1
  409. package/dist/RefSubject/RefBoolean.d.ts +166 -1
  410. package/dist/RefSubject/RefBoolean.d.ts.map +1 -1
  411. package/dist/RefSubject/RefBoolean.js +155 -1
  412. package/dist/RefSubject/RefCause.d.ts +122 -1
  413. package/dist/RefSubject/RefCause.d.ts.map +1 -1
  414. package/dist/RefSubject/RefCause.js +111 -1
  415. package/dist/RefSubject/RefChunk.d.ts +406 -1
  416. package/dist/RefSubject/RefChunk.d.ts.map +1 -1
  417. package/dist/RefSubject/RefChunk.js +394 -0
  418. package/dist/RefSubject/RefDateTime.d.ts +122 -1
  419. package/dist/RefSubject/RefDateTime.d.ts.map +1 -1
  420. package/dist/RefSubject/RefDateTime.js +111 -1
  421. package/dist/RefSubject/RefDuration.d.ts +155 -1
  422. package/dist/RefSubject/RefDuration.d.ts.map +1 -1
  423. package/dist/RefSubject/RefDuration.js +144 -1
  424. package/dist/RefSubject/RefGraph.d.ts +320 -6
  425. package/dist/RefSubject/RefGraph.d.ts.map +1 -1
  426. package/dist/RefSubject/RefGraph.js +303 -0
  427. package/dist/RefSubject/RefHashMap.d.ts +296 -1
  428. package/dist/RefSubject/RefHashMap.d.ts.map +1 -1
  429. package/dist/RefSubject/RefHashMap.js +284 -0
  430. package/dist/RefSubject/RefHashRing.d.ts +146 -2
  431. package/dist/RefSubject/RefHashRing.d.ts.map +1 -1
  432. package/dist/RefSubject/RefHashRing.js +133 -0
  433. package/dist/RefSubject/RefHashSet.d.ts +230 -1
  434. package/dist/RefSubject/RefHashSet.d.ts.map +1 -1
  435. package/dist/RefSubject/RefHashSet.js +218 -0
  436. package/dist/RefSubject/RefIterable.d.ts +327 -1
  437. package/dist/RefSubject/RefIterable.d.ts.map +1 -1
  438. package/dist/RefSubject/RefIterable.js +315 -0
  439. package/dist/RefSubject/RefOption.d.ts +144 -1
  440. package/dist/RefSubject/RefOption.d.ts.map +1 -1
  441. package/dist/RefSubject/RefOption.js +133 -1
  442. package/dist/RefSubject/RefRecord.d.ts +339 -1
  443. package/dist/RefSubject/RefRecord.d.ts.map +1 -1
  444. package/dist/RefSubject/RefRecord.js +327 -0
  445. package/dist/RefSubject/RefResult.d.ts +155 -23
  446. package/dist/RefSubject/RefResult.d.ts.map +1 -1
  447. package/dist/RefSubject/RefResult.js +122 -1
  448. package/dist/RefSubject/RefString.d.ts +188 -1
  449. package/dist/RefSubject/RefString.d.ts.map +1 -1
  450. package/dist/RefSubject/RefString.js +177 -1
  451. package/dist/RefSubject/RefStruct.d.ts +156 -1
  452. package/dist/RefSubject/RefStruct.d.ts.map +1 -1
  453. package/dist/RefSubject/RefStruct.js +145 -1
  454. package/dist/RefSubject/RefSubject.d.ts +1168 -15
  455. package/dist/RefSubject/RefSubject.d.ts.map +1 -1
  456. package/dist/RefSubject/RefSubject.js +850 -58
  457. package/dist/RefSubject/RefTrie.d.ts +290 -4
  458. package/dist/RefSubject/RefTrie.d.ts.map +1 -1
  459. package/dist/RefSubject/RefTrie.js +278 -3
  460. package/dist/RefSubject/RefTuple.d.ts +117 -1
  461. package/dist/RefSubject/RefTuple.d.ts.map +1 -1
  462. package/dist/RefSubject/RefTuple.js +106 -1
  463. package/dist/RefSubject/index.d.ts +1 -0
  464. package/dist/RefSubject/index.d.ts.map +1 -1
  465. package/dist/RefSubject/index.js +1 -0
  466. package/dist/RefSubject.d.ts +2 -1
  467. package/dist/RefSubject.d.ts.map +1 -1
  468. package/dist/RefSubject.js +2 -1
  469. package/dist/RefTrie.d.ts +2 -0
  470. package/dist/RefTrie.d.ts.map +1 -0
  471. package/dist/RefTrie.js +1 -0
  472. package/dist/RefTuple.d.ts +2 -0
  473. package/dist/RefTuple.d.ts.map +1 -0
  474. package/dist/RefTuple.js +1 -0
  475. package/dist/Sink/Sink.d.ts +385 -14
  476. package/dist/Sink/Sink.d.ts.map +1 -1
  477. package/dist/Sink/Sink.js +53 -6
  478. package/dist/Sink/combinators.d.ts +731 -2
  479. package/dist/Sink/combinators.d.ts.map +1 -1
  480. package/dist/Sink/combinators.js +707 -5
  481. package/dist/Subject/Subject.d.ts +1016 -22
  482. package/dist/Subject/Subject.d.ts.map +1 -1
  483. package/dist/Subject/Subject.js +904 -39
  484. package/dist/Versioned/Versioned.d.ts +426 -9
  485. package/dist/Versioned/Versioned.d.ts.map +1 -1
  486. package/dist/Versioned/Versioned.js +241 -15
  487. package/dist/index.d.ts +22 -3
  488. package/dist/index.d.ts.map +1 -1
  489. package/dist/index.js +22 -3
  490. package/package.json +120 -11
  491. package/dist/Fx/constructors/fromYieldable.d.ts +0 -12
  492. package/dist/Fx/constructors/fromYieldable.d.ts.map +0 -1
  493. package/dist/Fx/constructors/fromYieldable.js +0 -12
  494. package/src/Fx/Fx.ts +0 -164
  495. package/src/Fx/TypeId.ts +0 -25
  496. package/src/Fx/combinators/additive.ts +0 -142
  497. package/src/Fx/combinators/catch.ts +0 -416
  498. package/src/Fx/combinators/causes.ts +0 -23
  499. package/src/Fx/combinators/changesWithEffect.ts +0 -66
  500. package/src/Fx/combinators/compact.ts +0 -15
  501. package/src/Fx/combinators/continueWith.ts +0 -78
  502. package/src/Fx/combinators/dropUntil.ts +0 -47
  503. package/src/Fx/combinators/ensuring.ts +0 -23
  504. package/src/Fx/combinators/exhaustLatestMap.ts +0 -74
  505. package/src/Fx/combinators/exhaustLatestMapEffect.ts +0 -25
  506. package/src/Fx/combinators/exhaustMap.ts +0 -36
  507. package/src/Fx/combinators/exhaustMapEffect.ts +0 -23
  508. package/src/Fx/combinators/exit.ts +0 -15
  509. package/src/Fx/combinators/filter.ts +0 -22
  510. package/src/Fx/combinators/filterEffect.ts +0 -31
  511. package/src/Fx/combinators/filterMap.ts +0 -23
  512. package/src/Fx/combinators/filterMapEffect.ts +0 -32
  513. package/src/Fx/combinators/filterMapLoop.ts +0 -35
  514. package/src/Fx/combinators/filterMapLoopCause.ts +0 -36
  515. package/src/Fx/combinators/filterMapLoopCauseEffect.ts +0 -46
  516. package/src/Fx/combinators/filterMapLoopEffect.ts +0 -36
  517. package/src/Fx/combinators/flatMap.ts +0 -51
  518. package/src/Fx/combinators/flatMapConcurrently.ts +0 -39
  519. package/src/Fx/combinators/flatMapConcurrentlyEffect.ts +0 -26
  520. package/src/Fx/combinators/flatMapEffect.ts +0 -42
  521. package/src/Fx/combinators/flip.ts +0 -14
  522. package/src/Fx/combinators/gen.ts +0 -24
  523. package/src/Fx/combinators/genScoped.ts +0 -24
  524. package/src/Fx/combinators/index.ts +0 -61
  525. package/src/Fx/combinators/keyed.ts +0 -369
  526. package/src/Fx/combinators/loop.ts +0 -27
  527. package/src/Fx/combinators/loopCause.ts +0 -34
  528. package/src/Fx/combinators/loopCauseEffect.ts +0 -36
  529. package/src/Fx/combinators/loopEffect.ts +0 -34
  530. package/src/Fx/combinators/map.ts +0 -22
  531. package/src/Fx/combinators/mapBoth.ts +0 -40
  532. package/src/Fx/combinators/mapEffect.ts +0 -32
  533. package/src/Fx/combinators/mapError.ts +0 -28
  534. package/src/Fx/combinators/mergeAll.ts +0 -22
  535. package/src/Fx/combinators/mergeOrdered.ts +0 -123
  536. package/src/Fx/combinators/onError.ts +0 -40
  537. package/src/Fx/combinators/onExit.ts +0 -82
  538. package/src/Fx/combinators/onInterrupt.ts +0 -87
  539. package/src/Fx/combinators/provide.ts +0 -124
  540. package/src/Fx/combinators/result.ts +0 -39
  541. package/src/Fx/combinators/scan.ts +0 -82
  542. package/src/Fx/combinators/skip.ts +0 -41
  543. package/src/Fx/combinators/skipRepeats.ts +0 -15
  544. package/src/Fx/combinators/skipRepeatsWith.ts +0 -40
  545. package/src/Fx/combinators/skipWhile.ts +0 -100
  546. package/src/Fx/combinators/slice.ts +0 -55
  547. package/src/Fx/combinators/switchMap.ts +0 -55
  548. package/src/Fx/combinators/switchMapEffect.ts +0 -25
  549. package/src/Fx/combinators/take.ts +0 -38
  550. package/src/Fx/combinators/takeUntil.ts +0 -88
  551. package/src/Fx/combinators/takeWhile.ts +0 -47
  552. package/src/Fx/combinators/tapEffect.ts +0 -39
  553. package/src/Fx/combinators/tuple.ts +0 -79
  554. package/src/Fx/combinators/unwrap.ts +0 -21
  555. package/src/Fx/combinators/unwrapScoped.ts +0 -26
  556. package/src/Fx/combinators/when.ts +0 -64
  557. package/src/Fx/combinators/withSpan.ts +0 -24
  558. package/src/Fx/combinators/zip.ts +0 -175
  559. package/src/Fx/constructors/at.ts +0 -23
  560. package/src/Fx/constructors/die.ts +0 -17
  561. package/src/Fx/constructors/empty.ts +0 -10
  562. package/src/Fx/constructors/fail.ts +0 -14
  563. package/src/Fx/constructors/failCause.ts +0 -14
  564. package/src/Fx/constructors/fn.ts +0 -245
  565. package/src/Fx/constructors/fromEffect.ts +0 -24
  566. package/src/Fx/constructors/fromFailures.ts +0 -19
  567. package/src/Fx/constructors/fromIterable.ts +0 -15
  568. package/src/Fx/constructors/fromSchedule.ts +0 -18
  569. package/src/Fx/constructors/fromYieldable.ts +0 -17
  570. package/src/Fx/constructors/index.ts +0 -15
  571. package/src/Fx/constructors/interrupt.ts +0 -13
  572. package/src/Fx/constructors/make.ts +0 -103
  573. package/src/Fx/constructors/periodic.ts +0 -15
  574. package/src/Fx/constructors/succeed.ts +0 -37
  575. package/src/Fx/constructors/suspend.ts +0 -6
  576. package/src/Fx/index.ts +0 -6
  577. package/src/Fx/internal/DeferredRef.ts +0 -87
  578. package/src/Fx/internal/UnionToTuple.ts +0 -12
  579. package/src/Fx/internal/diff.ts +0 -191
  580. package/src/Fx/internal/equivalence.ts +0 -12
  581. package/src/Fx/internal/multicast.ts +0 -51
  582. package/src/Fx/internal/ring-buffer.ts +0 -60
  583. package/src/Fx/internal/scope.ts +0 -58
  584. package/src/Fx/internal/yieldable.ts +0 -31
  585. package/src/Fx/run/collect.ts +0 -79
  586. package/src/Fx/run/first.ts +0 -20
  587. package/src/Fx/run/fork.ts +0 -40
  588. package/src/Fx/run/index.ts +0 -5
  589. package/src/Fx/run/observe.ts +0 -114
  590. package/src/Fx/run/runPromise.ts +0 -32
  591. package/src/Fx/stream.ts +0 -42
  592. package/src/Fx.additive-combinators.test.ts +0 -126
  593. package/src/Fx.catch-additive.test.ts +0 -206
  594. package/src/Fx.catch.test.ts +0 -60
  595. package/src/Fx.dropUntil.test.ts +0 -61
  596. package/src/Fx.fn.test.ts +0 -51
  597. package/src/Fx.lifecycle.test.ts +0 -79
  598. package/src/Fx.mapError-mapBoth.test.ts +0 -101
  599. package/src/Fx.provide-combinators.test.ts +0 -94
  600. package/src/Fx.result-changesWithEffect.test.ts +0 -112
  601. package/src/Fx.scan.test.ts +0 -73
  602. package/src/Fx.takeWhile-skipWhile.test.ts +0 -84
  603. package/src/Fx.test.ts +0 -71
  604. package/src/Fx.ts +0 -1
  605. package/src/Fx.zip-merge-additive.test.ts +0 -171
  606. package/src/Fx.zip.test.ts +0 -133
  607. package/src/Push/Push.ts +0 -1072
  608. package/src/Push/index.ts +0 -1
  609. package/src/Push.additive.test.ts +0 -256
  610. package/src/Push.test.ts +0 -26
  611. package/src/Push.ts +0 -1
  612. package/src/RefSubject/RefArray.ts +0 -516
  613. package/src/RefSubject/RefBigDecimal.test.ts +0 -56
  614. package/src/RefSubject/RefBigDecimal.ts +0 -295
  615. package/src/RefSubject/RefBigInt.test.ts +0 -56
  616. package/src/RefSubject/RefBigInt.ts +0 -189
  617. package/src/RefSubject/RefBoolean.test.ts +0 -57
  618. package/src/RefSubject/RefBoolean.ts +0 -185
  619. package/src/RefSubject/RefCause.test.ts +0 -53
  620. package/src/RefSubject/RefCause.ts +0 -146
  621. package/src/RefSubject/RefChunk.ts +0 -516
  622. package/src/RefSubject/RefDateTime.test.ts +0 -43
  623. package/src/RefSubject/RefDateTime.ts +0 -261
  624. package/src/RefSubject/RefDuration.test.ts +0 -49
  625. package/src/RefSubject/RefDuration.ts +0 -188
  626. package/src/RefSubject/RefGraph.ts +0 -649
  627. package/src/RefSubject/RefHashMap.ts +0 -474
  628. package/src/RefSubject/RefHashRing.ts +0 -262
  629. package/src/RefSubject/RefHashSet.ts +0 -308
  630. package/src/RefSubject/RefIterable.ts +0 -454
  631. package/src/RefSubject/RefOption.test.ts +0 -67
  632. package/src/RefSubject/RefOption.ts +0 -193
  633. package/src/RefSubject/RefRecord.ts +0 -621
  634. package/src/RefSubject/RefResult.test.ts +0 -63
  635. package/src/RefSubject/RefResult.ts +0 -209
  636. package/src/RefSubject/RefString.test.ts +0 -61
  637. package/src/RefSubject/RefString.ts +0 -256
  638. package/src/RefSubject/RefStruct.test.ts +0 -60
  639. package/src/RefSubject/RefStruct.ts +0 -253
  640. package/src/RefSubject/RefSubject.ts +0 -2644
  641. package/src/RefSubject/RefTrie.ts +0 -365
  642. package/src/RefSubject/RefTuple.test.ts +0 -60
  643. package/src/RefSubject/RefTuple.ts +0 -231
  644. package/src/RefSubject/index.ts +0 -21
  645. package/src/RefSubject.additive-parity.test.ts +0 -101
  646. package/src/RefSubject.test.ts +0 -65
  647. package/src/RefSubject.ts +0 -1
  648. package/src/Sink/Sink.ts +0 -159
  649. package/src/Sink/combinators.ts +0 -1115
  650. package/src/Sink/index.ts +0 -2
  651. package/src/Sink.combinators.test.ts +0 -88
  652. package/src/Sink.reduce-collect-head-last.test.ts +0 -107
  653. package/src/Sink.ts +0 -1
  654. package/src/Subject/Subject.ts +0 -441
  655. package/src/Subject/index.ts +0 -1
  656. package/src/Subject.test.ts +0 -47
  657. package/src/Subject.ts +0 -1
  658. package/src/Versioned/Versioned.ts +0 -597
  659. package/src/Versioned/index.ts +0 -1
  660. package/src/Versioned.filterMap.test.ts +0 -91
  661. package/src/Versioned.test.ts +0 -23
  662. package/src/Versioned.ts +0 -1
  663. package/src/index.ts +0 -7
@@ -1,44 +1,630 @@
1
1
  import type * as Equivalence from "effect/Equivalence";
2
+ /** An immutable, ordered collection of keyed collection changes.
3
+ *
4
+ * @remarks
5
+ * ## Why
6
+ *
7
+ * Materializing the changes lets a caller inspect or batch the complete transition before applying
8
+ * it. The array contains removals in old-index order followed by additions, moves, and in-place
9
+ * updates in new-index order.
10
+ *
11
+ * ## Ownership and lifetime
12
+ *
13
+ * The array and records are newly allocated values. They acquire no Scope and retain only the
14
+ * values and keys placed in each record.
15
+ *
16
+ * @since 1.0.0
17
+ * @category models
18
+ * @stability internal-but-published
19
+ */
2
20
  export type DiffResult<A, B> = ReadonlyArray<Diff<A, B>>;
21
+ /** A single keyed collection change produced by `diff` or `diffIterator`.
22
+ *
23
+ * @remarks
24
+ * ## Why
25
+ *
26
+ * The discriminated union makes structural changes exhaustive without requiring a renderer or
27
+ * collection implementation. Indices refer to the original array for removals and move sources,
28
+ * and to the new array for additions, updates, and move destinations.
29
+ *
30
+ * ## Ownership and lifetime
31
+ *
32
+ * A change record is inert data with no services, cleanup, or retained resources beyond its value
33
+ * and key.
34
+ *
35
+ * @since 1.0.0
36
+ * @category models
37
+ * @stability internal-but-published
38
+ */
3
39
  export type Diff<A, B> = Add<A, B> | Remove<A, B> | Update<A, B> | Moved<A, B>;
40
+ /** Describes a key that is present only in the new array.
41
+ *
42
+ * @remarks
43
+ * ## Why
44
+ *
45
+ * Additions carry the new value, destination index, and identity key so a consumer can allocate
46
+ * exactly one keyed lifetime at the correct position.
47
+ *
48
+ * ## Ownership and lifetime
49
+ *
50
+ * This immutable record acquires no resources.
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * import type { Add } from "@typed/fx/Fx/internal/diff"
55
+ *
56
+ * const patch: Add<string, string> = { _tag: "Add", value: "A", index: 0, key: "a" }
57
+ * ```
58
+ *
59
+ * @since 1.0.0
60
+ * @category models
61
+ * @stability internal-but-published
62
+ */
4
63
  export interface Add<A, B> {
64
+ /** Discriminates an addition from the other patch variants.
65
+ *
66
+ * @remarks
67
+ * ## Why
68
+ * Enables exhaustive change dispatch without inspecting indices or values.
69
+ *
70
+ * ## Ownership and lifetime
71
+ * Immutable string metadata retained by the record.
72
+ *
73
+ * @since 1.0.0
74
+ * @category fields
75
+ */
5
76
  readonly _tag: "Add";
77
+ /** Index occupied by the value in the new array.
78
+ *
79
+ * @remarks
80
+ * ## Why
81
+ * Identifies the destination for the newly allocated keyed lifetime.
82
+ *
83
+ * ## Ownership and lifetime
84
+ * Immutable numeric metadata with no resources.
85
+ *
86
+ * @since 1.0.0
87
+ * @category fields
88
+ */
6
89
  readonly index: number;
90
+ /** Value from the new array.
91
+ *
92
+ * @remarks
93
+ * ## Why
94
+ * Supplies the payload from which a consumer initializes the new keyed state.
95
+ *
96
+ * ## Ownership and lifetime
97
+ * The record retains this reference but does not otherwise own it.
98
+ *
99
+ * @since 1.0.0
100
+ * @category fields
101
+ */
7
102
  readonly value: A;
103
+ /** Identity returned by `getKey`.
104
+ *
105
+ * @remarks
106
+ * ## Why
107
+ * Associates allocation with the stable identity used by subsequent transitions.
108
+ *
109
+ * ## Ownership and lifetime
110
+ * The record retains this key but acquires no resource.
111
+ *
112
+ * @since 1.0.0
113
+ * @category fields
114
+ */
8
115
  readonly key: B;
9
116
  }
117
+ /** Constructs an immutable `Add` change record.
118
+ *
119
+ * @remarks
120
+ * ## Why
121
+ *
122
+ * Central construction keeps the discriminant and index meaning consistent for diff consumers.
123
+ *
124
+ * ## Ownership and lifetime
125
+ *
126
+ * Allocates one plain object and acquires no services or Scope.
127
+ *
128
+ * @example
129
+ * ```ts
130
+ * import { add } from "@typed/fx/Fx/internal/diff"
131
+ *
132
+ * const patch = add({ id: "a" }, 0, "a")
133
+ * ```
134
+ *
135
+ * @since 1.0.0
136
+ * @category constructors
137
+ * @stability internal-but-published
138
+ */
10
139
  export declare const add: <A, B>(value: A, index: number, key: B) => Add<A, B>;
140
+ /** Describes a key that is present only in the old array.
141
+ *
142
+ * @remarks
143
+ * ## Why
144
+ *
145
+ * Removals retain the old value and index so consumers can close the exact keyed lifetime that no
146
+ * longer appears in the new collection.
147
+ *
148
+ * ## Ownership and lifetime
149
+ *
150
+ * This immutable record performs no cleanup itself and acquires no resources.
151
+ *
152
+ * @example
153
+ * ```ts
154
+ * import type { Remove } from "@typed/fx/Fx/internal/diff"
155
+ *
156
+ * const patch: Remove<string, string> = { _tag: "Remove", value: "A", index: 0, key: "a" }
157
+ * ```
158
+ *
159
+ * @since 1.0.0
160
+ * @category models
161
+ * @stability internal-but-published
162
+ */
11
163
  export interface Remove<A, B> {
164
+ /** Discriminates a removal from the other patch variants.
165
+ *
166
+ * @remarks
167
+ * ## Why
168
+ * Enables exhaustive change dispatch and directs the consumer to cleanup.
169
+ *
170
+ * ## Ownership and lifetime
171
+ * Immutable string metadata retained by the record.
172
+ *
173
+ * @since 1.0.0
174
+ * @category fields
175
+ */
12
176
  readonly _tag: "Remove";
177
+ /** Index occupied by the value in the old array.
178
+ *
179
+ * @remarks
180
+ * ## Why
181
+ * Locates the keyed state before the structural transition is applied.
182
+ *
183
+ * ## Ownership and lifetime
184
+ * Immutable numeric metadata with no resources.
185
+ *
186
+ * @since 1.0.0
187
+ * @category fields
188
+ */
13
189
  readonly index: number;
190
+ /** Value from the old array.
191
+ *
192
+ * @remarks
193
+ * ## Why
194
+ * Preserves the removed payload for cleanup or auditing logic.
195
+ *
196
+ * ## Ownership and lifetime
197
+ * The record retains this reference but does not perform its cleanup.
198
+ *
199
+ * @since 1.0.0
200
+ * @category fields
201
+ */
14
202
  readonly value: A;
203
+ /** Identity returned by `getKey`.
204
+ *
205
+ * @remarks
206
+ * ## Why
207
+ * Selects the exact keyed lifetime that must be removed.
208
+ *
209
+ * ## Ownership and lifetime
210
+ * The record retains this key but acquires no resource.
211
+ *
212
+ * @since 1.0.0
213
+ * @category fields
214
+ */
15
215
  readonly key: B;
16
216
  }
217
+ /** Constructs an immutable `Remove` change record.
218
+ *
219
+ * @remarks
220
+ * ## Why
221
+ *
222
+ * Central construction preserves the old-index convention expected by keyed consumers.
223
+ *
224
+ * ## Ownership and lifetime
225
+ *
226
+ * Allocates one plain object and acquires no services or Scope.
227
+ *
228
+ * @example
229
+ * ```ts
230
+ * import { remove } from "@typed/fx/Fx/internal/diff"
231
+ *
232
+ * const patch = remove({ id: "a" }, 0, "a")
233
+ * ```
234
+ *
235
+ * @since 1.0.0
236
+ * @category constructors
237
+ * @stability internal-but-published
238
+ */
17
239
  export declare const remove: <A, B>(value: A, index: number, key: B) => Remove<A, B>;
240
+ /** Describes a key that stayed at one index but whose value is not equivalent.
241
+ *
242
+ * @remarks
243
+ * ## Why
244
+ *
245
+ * An in-place update lets consumers preserve identity and lifetime while publishing the new value
246
+ * to the existing keyed state.
247
+ *
248
+ * ## Ownership and lifetime
249
+ *
250
+ * This immutable record performs no mutation itself and acquires no resources.
251
+ *
252
+ * @example
253
+ * ```ts
254
+ * import type { Update } from "@typed/fx/Fx/internal/diff"
255
+ *
256
+ * const patch: Update<number, string> = { _tag: "Update", value: 2, index: 0, key: "a" }
257
+ * ```
258
+ *
259
+ * @since 1.0.0
260
+ * @category models
261
+ * @stability internal-but-published
262
+ */
18
263
  export interface Update<A, B> {
264
+ /** Discriminates an in-place update from the other patch variants.
265
+ *
266
+ * @remarks
267
+ * ## Why
268
+ * Directs consumers to publish a new value without reallocating keyed state.
269
+ *
270
+ * ## Ownership and lifetime
271
+ * Immutable string metadata retained by the record.
272
+ *
273
+ * @since 1.0.0
274
+ * @category fields
275
+ */
19
276
  readonly _tag: "Update";
277
+ /** Shared index in the old and new arrays.
278
+ *
279
+ * @remarks
280
+ * ## Why
281
+ * Confirms that identity remained at one position and only its value changed.
282
+ *
283
+ * ## Ownership and lifetime
284
+ * Immutable numeric metadata with no resources.
285
+ *
286
+ * @since 1.0.0
287
+ * @category fields
288
+ */
20
289
  readonly index: number;
290
+ /** Value from the new array.
291
+ *
292
+ * @remarks
293
+ * ## Why
294
+ * Supplies the replacement payload for the existing keyed state.
295
+ *
296
+ * ## Ownership and lifetime
297
+ * The record retains this reference but does not otherwise own it.
298
+ *
299
+ * @since 1.0.0
300
+ * @category fields
301
+ */
21
302
  readonly value: A;
303
+ /** Identity returned by `getKey`.
304
+ *
305
+ * @remarks
306
+ * ## Why
307
+ * Selects the exact keyed state that receives the new value.
308
+ *
309
+ * ## Ownership and lifetime
310
+ * The record retains this key but acquires no resource.
311
+ *
312
+ * @since 1.0.0
313
+ * @category fields
314
+ */
22
315
  readonly key: B;
23
316
  }
317
+ /** Constructs an immutable `Update` change record.
318
+ *
319
+ * @remarks
320
+ * ## Why
321
+ *
322
+ * Central construction preserves the shared-index convention expected by keyed consumers.
323
+ *
324
+ * ## Ownership and lifetime
325
+ *
326
+ * Allocates one plain object and acquires no services or Scope.
327
+ *
328
+ * @example
329
+ * ```ts
330
+ * import { update } from "@typed/fx/Fx/internal/diff"
331
+ *
332
+ * const patch = update({ id: "a", value: 2 }, 0, "a")
333
+ * ```
334
+ *
335
+ * @since 1.0.0
336
+ * @category constructors
337
+ * @stability internal-but-published
338
+ */
24
339
  export declare const update: <A, B>(value: A, index: number, key: B) => Update<A, B>;
340
+ /** Describes a key whose index changed between the old and new arrays.
341
+ *
342
+ * @remarks
343
+ * ## Why
344
+ *
345
+ * Moves preserve keyed identity across reordering. The record carries the new value even when that
346
+ * value also changed; a moved key does not produce a separate `Update` record.
347
+ *
348
+ * ## Ownership and lifetime
349
+ *
350
+ * This immutable record moves nothing by itself and acquires no resources.
351
+ *
352
+ * @example
353
+ * ```ts
354
+ * import type { Moved } from "@typed/fx/Fx/internal/diff"
355
+ *
356
+ * const patch: Moved<string, string> = {
357
+ * _tag: "Moved", value: "A", index: 0, to: 1, key: "a"
358
+ * }
359
+ * ```
360
+ *
361
+ * @since 1.0.0
362
+ * @category models
363
+ * @stability internal-but-published
364
+ */
25
365
  export interface Moved<A, B> {
366
+ /** Discriminates a move from the other patch variants.
367
+ *
368
+ * @remarks
369
+ * ## Why
370
+ * Directs consumers to preserve the keyed lifetime while changing position.
371
+ *
372
+ * ## Ownership and lifetime
373
+ * Immutable string metadata retained by the record.
374
+ *
375
+ * @since 1.0.0
376
+ * @category fields
377
+ */
26
378
  readonly _tag: "Moved";
379
+ /** Index occupied by the key in the old array.
380
+ *
381
+ * @remarks
382
+ * ## Why
383
+ * Locates the existing keyed state before reordering.
384
+ *
385
+ * ## Ownership and lifetime
386
+ * Immutable numeric metadata with no resources.
387
+ *
388
+ * @since 1.0.0
389
+ * @category fields
390
+ */
27
391
  readonly index: number;
392
+ /** Index occupied by the key in the new array.
393
+ *
394
+ * @remarks
395
+ * ## Why
396
+ * Names the destination while keeping the source index separately available.
397
+ *
398
+ * ## Ownership and lifetime
399
+ * Immutable numeric metadata with no resources.
400
+ *
401
+ * @since 1.0.0
402
+ * @category fields
403
+ */
28
404
  readonly to: number;
405
+ /** Value from the new array.
406
+ *
407
+ * @remarks
408
+ * ## Why
409
+ * Allows one move record to carry a simultaneously changed payload.
410
+ *
411
+ * ## Ownership and lifetime
412
+ * The record retains this reference but does not otherwise own it.
413
+ *
414
+ * @since 1.0.0
415
+ * @category fields
416
+ */
29
417
  readonly value: A;
418
+ /** Identity returned by `getKey`.
419
+ *
420
+ * @remarks
421
+ * ## Why
422
+ * Preserves stable identity across the positional transition.
423
+ *
424
+ * ## Ownership and lifetime
425
+ * The record retains this key but acquires no resource.
426
+ *
427
+ * @since 1.0.0
428
+ * @category fields
429
+ */
30
430
  readonly key: B;
31
431
  }
432
+ /** Constructs an immutable `Moved` change record.
433
+ *
434
+ * @remarks
435
+ * ## Why
436
+ *
437
+ * Central construction keeps source and destination index meanings explicit.
438
+ *
439
+ * ## Ownership and lifetime
440
+ *
441
+ * Allocates one plain object and acquires no services or Scope.
442
+ *
443
+ * @example
444
+ * ```ts
445
+ * import { moved } from "@typed/fx/Fx/internal/diff"
446
+ *
447
+ * const patch = moved({ id: "a" }, 0, 1, "a")
448
+ * ```
449
+ *
450
+ * @since 1.0.0
451
+ * @category constructors
452
+ * @stability internal-but-published
453
+ */
32
454
  export declare const moved: <A, B>(value: A, from: number, to: number, key: B) => Moved<A, B>;
455
+ /** Configuration and optional index caches for keyed diffing.
456
+ *
457
+ * @remarks
458
+ * ## Why
459
+ *
460
+ * Callers with an existing key index can avoid rebuilding either map, while callers with structured
461
+ * values can define identity independently from value equivalence.
462
+ *
463
+ * ## Ownership and lifetime
464
+ *
465
+ * `diff` and `diffIterator` borrow the functions and maps for one synchronous traversal. They do
466
+ * not mutate supplied maps. Keys must be unique within each array; duplicate keys overwrite earlier
467
+ * entries in a map and make the resulting changes ambiguous.
468
+ *
469
+ * @since 1.0.0
470
+ * @category models
471
+ * @stability internal-but-published
472
+ */
33
473
  export type DiffOptions<A, B extends PropertyKey> = {
474
+ /** Extracts the stable identity key for one value.
475
+ *
476
+ * @remarks
477
+ * ## Why
478
+ * Separates collection identity from payload equality and position.
479
+ *
480
+ * ## Ownership and lifetime
481
+ * Borrowed for the synchronous diff traversal and not retained afterward.
482
+ *
483
+ * @since 1.0.0
484
+ * @category fields
485
+ */
34
486
  readonly getKey: (a: A) => B;
487
+ /** Determines whether same-key values at the same index require an `Update`.
488
+ *
489
+ * @remarks
490
+ * ## Why
491
+ * Lets domain equality suppress updates without changing key identity.
492
+ *
493
+ * ## Ownership and lifetime
494
+ * Borrowed for the synchronous comparison pass and not retained afterward.
495
+ *
496
+ * @since 1.0.0
497
+ * @category fields
498
+ */
35
499
  readonly eq?: Equivalence.Equivalence<A>;
500
+ /** Optional map from old-array keys to old indices.
501
+ *
502
+ * @remarks
503
+ * ## Why
504
+ * Reusing a previous index avoids rebuilding it when the caller already tracks old identity.
505
+ *
506
+ * ## Ownership and lifetime
507
+ * Borrowed read-only for one traversal; the diff does not mutate or retain the map.
508
+ *
509
+ * @since 1.0.0
510
+ * @category fields
511
+ */
36
512
  readonly previousKeyMap?: Map<PropertyKey, number> | undefined;
513
+ /** Optional map from new-array keys to new indices.
514
+ *
515
+ * @remarks
516
+ * ## Why
517
+ * Lets callers validate and index new keys once before diffing and applying changes.
518
+ *
519
+ * ## Ownership and lifetime
520
+ * Borrowed read-only for one traversal; the diff does not mutate or retain the map.
521
+ *
522
+ * @since 1.0.0
523
+ * @category fields
524
+ */
37
525
  readonly keyMap?: Map<PropertyKey, number> | undefined;
38
526
  };
527
+ /** Computes all additions, removals, moves, and same-index updates between two keyed arrays.
528
+ *
529
+ * @remarks
530
+ * ## Why
531
+ *
532
+ * Key identity lets higher-level operators preserve one child state and lifetime across collection
533
+ * updates rather than reconstructing every item when positions change.
534
+ *
535
+ * ## Ownership and lifetime
536
+ *
537
+ * The function is synchronous and acquires no Scope. Unless supplied, it allocates an index map for
538
+ * each non-empty array plus the result records. Empty-array fast paths allocate only their result
539
+ * records. Supplied maps are borrowed and never mutated.
540
+ *
541
+ * ## Ordering, equality, and complexity
542
+ *
543
+ * Removals are emitted first in old order. The second pass emits additions, moves, and then
544
+ * same-position updates in new order. A moved value is represented only as `Moved`, even when its
545
+ * payload changed. Equality defaults to Effect's structural `Equal.equals`. With valid maps the
546
+ * scan is O(old length + new length); building maps has the same time and space bound. Key
547
+ * extraction and equality costs are additional. Keys must be unique in each array.
548
+ *
549
+ * @example
550
+ * ```ts
551
+ * import { diff } from "@typed/fx/Fx/internal/diff"
552
+ *
553
+ * const changes = diff(
554
+ * [{ id: "a", value: 1 }, { id: "b", value: 2 }],
555
+ * [{ id: "b", value: 3 }, { id: "c", value: 4 }],
556
+ * { getKey: ({ id }) => id }
557
+ * )
558
+ * ```
559
+ *
560
+ * @since 1.0.0
561
+ * @category advanced
562
+ * @stability internal-but-published
563
+ */
39
564
  export declare function diff<A extends PropertyKey>(oldValue: ReadonlyArray<A>, newValue: ReadonlyArray<A>, options?: Omit<DiffOptions<A, A>, "getKey">): DiffResult<A, A>;
40
565
  export declare function diff<A, B extends PropertyKey>(oldValue: ReadonlyArray<A>, newValue: ReadonlyArray<A>, options: DiffOptions<A, B>): DiffResult<A, B>;
566
+ /** Lazily yields keyed collection changes using the same two-pass ordering as `diff`.
567
+ *
568
+ * @remarks
569
+ * ## Why
570
+ *
571
+ * A generator lets callers apply or stop consuming changes without first materializing the result
572
+ * array.
573
+ *
574
+ * ## Ownership and lifetime
575
+ *
576
+ * Creating the generator defers all work. On first iteration it builds any missing key maps and
577
+ * retains the two arrays, maps, and functions until iteration completes or the generator is
578
+ * released. It acquires no Scope and mutates none of its inputs.
579
+ *
580
+ * ## Ordering, equality, and complexity
581
+ *
582
+ * Removals are yielded first in old order, followed by additions, moves, and same-index updates in
583
+ * new order. Unlike `diff`, equality defaults to `Object.is`. Total traversal is O(old length + new
584
+ * length), with O(old length + new length) map space when maps are not supplied. Keys must be unique.
585
+ *
586
+ * @example
587
+ * ```ts
588
+ * import { diffIterator } from "@typed/fx/Fx/internal/diff"
589
+ *
590
+ * for (const change of diffIterator(["a", "b"], ["b", "c"])) {
591
+ * console.log(change._tag, change.key)
592
+ * }
593
+ * ```
594
+ *
595
+ * @since 1.0.0
596
+ * @category advanced
597
+ * @stability internal-but-published
598
+ */
41
599
  export declare function diffIterator<A extends PropertyKey>(oldValue: ReadonlyArray<A>, newValue: ReadonlyArray<A>, options?: Omit<DiffOptions<A, A>, "getKey">): Generator<Diff<A, A>>;
42
600
  export declare function diffIterator<A, B extends PropertyKey>(oldValue: ReadonlyArray<A>, newValue: ReadonlyArray<A>, options: DiffOptions<A, B>): Generator<Diff<A, B>>;
601
+ /** Builds a map from each extracted key to its current array index.
602
+ *
603
+ * @remarks
604
+ * ## Why
605
+ *
606
+ * Exposing map construction lets repeated diff callers cache the previous array's index and avoid
607
+ * re-extracting those keys on the next transition.
608
+ *
609
+ * ## Ownership and lifetime
610
+ *
611
+ * The returned map is newly allocated and retains each key until released. The input array is read
612
+ * once and not retained by the map. Duplicate keys are not rejected: the last occurrence wins, so
613
+ * callers that require an unambiguous diff must validate uniqueness separately.
614
+ *
615
+ * The operation is O(n) time and O(n) space, plus the cost of `getKey` and Map hashing.
616
+ *
617
+ * @example
618
+ * ```ts
619
+ * import { getKeyMap } from "@typed/fx/Fx/internal/diff"
620
+ *
621
+ * const map = getKeyMap([{ id: "a" }, { id: "b" }], ({ id }) => id)
622
+ * map.get("b") // 1
623
+ * ```
624
+ *
625
+ * @since 1.0.0
626
+ * @category advanced
627
+ * @stability internal-but-published
628
+ */
43
629
  export declare function getKeyMap<A>(a: ReadonlyArray<A>, getKey: (a: A) => PropertyKey): Map<PropertyKey, number>;
44
630
  //# sourceMappingURL=diff.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/Fx/internal/diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/Fx/internal/diff.ts"],"names":[],"mappings":"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"}