@typed/fx 1.32.0 → 2.0.0-beta.1

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 (881) hide show
  1. package/README.md +367 -2
  2. package/dist/Fx/Fx.d.ts +96 -0
  3. package/dist/Fx/Fx.d.ts.map +1 -0
  4. package/dist/Fx/Fx.js +35 -0
  5. package/dist/Fx/TypeId.d.ts +20 -0
  6. package/dist/Fx/TypeId.d.ts.map +1 -0
  7. package/dist/Fx/TypeId.js +15 -0
  8. package/dist/Fx/combinators/additive.d.ts +94 -0
  9. package/dist/Fx/combinators/additive.d.ts.map +1 -0
  10. package/dist/Fx/combinators/additive.js +92 -0
  11. package/dist/Fx/combinators/catch.d.ts +114 -0
  12. package/dist/Fx/combinators/catch.d.ts.map +1 -0
  13. package/dist/Fx/combinators/catch.js +123 -0
  14. package/dist/Fx/combinators/causes.d.ts +12 -0
  15. package/dist/Fx/combinators/causes.d.ts.map +1 -0
  16. package/dist/Fx/combinators/causes.js +16 -0
  17. package/dist/Fx/combinators/changesWithEffect.d.ts +20 -0
  18. package/dist/Fx/combinators/changesWithEffect.d.ts.map +1 -0
  19. package/dist/Fx/combinators/changesWithEffect.js +28 -0
  20. package/dist/Fx/combinators/compact.d.ts +12 -0
  21. package/dist/Fx/combinators/compact.d.ts.map +1 -0
  22. package/dist/Fx/combinators/compact.js +11 -0
  23. package/dist/Fx/combinators/continueWith.d.ts +51 -0
  24. package/dist/Fx/combinators/continueWith.d.ts.map +1 -0
  25. package/dist/Fx/combinators/continueWith.js +41 -0
  26. package/dist/Fx/combinators/dropUntil.d.ts +29 -0
  27. package/dist/Fx/combinators/dropUntil.d.ts.map +1 -0
  28. package/dist/Fx/combinators/dropUntil.js +23 -0
  29. package/dist/Fx/combinators/ensuring.d.ts +16 -0
  30. package/dist/Fx/combinators/ensuring.d.ts.map +1 -0
  31. package/dist/Fx/combinators/ensuring.js +13 -0
  32. package/dist/Fx/combinators/exhaustLatestMap.d.ts +15 -0
  33. package/dist/Fx/combinators/exhaustLatestMap.d.ts.map +1 -0
  34. package/dist/Fx/combinators/exhaustLatestMap.js +48 -0
  35. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts +13 -0
  36. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts.map +1 -0
  37. package/dist/Fx/combinators/exhaustLatestMapEffect.js +14 -0
  38. package/dist/Fx/combinators/exhaustMap.d.ts +11 -0
  39. package/dist/Fx/combinators/exhaustMap.d.ts.map +1 -0
  40. package/dist/Fx/combinators/exhaustMap.js +19 -0
  41. package/dist/Fx/combinators/exhaustMapEffect.d.ts +11 -0
  42. package/dist/Fx/combinators/exhaustMapEffect.d.ts.map +1 -0
  43. package/dist/Fx/combinators/exhaustMapEffect.js +12 -0
  44. package/dist/Fx/combinators/exit.d.ts +12 -0
  45. package/dist/Fx/combinators/exit.d.ts.map +1 -0
  46. package/dist/Fx/combinators/exit.js +11 -0
  47. package/dist/Fx/combinators/filter.d.ts +14 -0
  48. package/dist/Fx/combinators/filter.d.ts.map +1 -0
  49. package/dist/Fx/combinators/filter.js +12 -0
  50. package/dist/Fx/combinators/filterEffect.d.ts +15 -0
  51. package/dist/Fx/combinators/filterEffect.d.ts.map +1 -0
  52. package/dist/Fx/combinators/filterEffect.js +12 -0
  53. package/dist/Fx/combinators/filterMap.d.ts +15 -0
  54. package/dist/Fx/combinators/filterMap.d.ts.map +1 -0
  55. package/dist/Fx/combinators/filterMap.js +12 -0
  56. package/dist/Fx/combinators/filterMapEffect.d.ts +16 -0
  57. package/dist/Fx/combinators/filterMapEffect.d.ts.map +1 -0
  58. package/dist/Fx/combinators/filterMapEffect.js +12 -0
  59. package/dist/Fx/combinators/filterMapLoop.d.ts +17 -0
  60. package/dist/Fx/combinators/filterMapLoop.d.ts.map +1 -0
  61. package/dist/Fx/combinators/filterMapLoop.js +14 -0
  62. package/dist/Fx/combinators/filterMapLoopCause.d.ts +18 -0
  63. package/dist/Fx/combinators/filterMapLoopCause.d.ts.map +1 -0
  64. package/dist/Fx/combinators/filterMapLoopCause.js +14 -0
  65. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts +18 -0
  66. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts.map +1 -0
  67. package/dist/Fx/combinators/filterMapLoopCauseEffect.js +13 -0
  68. package/dist/Fx/combinators/filterMapLoopEffect.d.ts +17 -0
  69. package/dist/Fx/combinators/filterMapLoopEffect.d.ts.map +1 -0
  70. package/dist/Fx/combinators/filterMapLoopEffect.js +13 -0
  71. package/dist/Fx/combinators/flatMap.d.ts +23 -0
  72. package/dist/Fx/combinators/flatMap.d.ts.map +1 -0
  73. package/dist/Fx/combinators/flatMap.js +21 -0
  74. package/dist/Fx/combinators/flatMapConcurrently.d.ts +12 -0
  75. package/dist/Fx/combinators/flatMapConcurrently.d.ts.map +1 -0
  76. package/dist/Fx/combinators/flatMapConcurrently.js +23 -0
  77. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts +12 -0
  78. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts.map +1 -0
  79. package/dist/Fx/combinators/flatMapConcurrentlyEffect.js +13 -0
  80. package/dist/Fx/combinators/flatMapEffect.d.ts +24 -0
  81. package/dist/Fx/combinators/flatMapEffect.d.ts.map +1 -0
  82. package/dist/Fx/combinators/flatMapEffect.js +14 -0
  83. package/dist/Fx/combinators/flip.d.ts +11 -0
  84. package/dist/Fx/combinators/flip.d.ts.map +1 -0
  85. package/dist/Fx/combinators/flip.js +11 -0
  86. package/dist/Fx/combinators/gen.d.ts +20 -0
  87. package/dist/Fx/combinators/gen.d.ts.map +1 -0
  88. package/dist/Fx/combinators/gen.js +14 -0
  89. package/dist/Fx/combinators/genScoped.d.ts +20 -0
  90. package/dist/Fx/combinators/genScoped.d.ts.map +1 -0
  91. package/dist/Fx/combinators/genScoped.js +13 -0
  92. package/dist/Fx/combinators/index.d.ts +62 -0
  93. package/dist/Fx/combinators/index.d.ts.map +1 -0
  94. package/dist/Fx/combinators/index.js +61 -0
  95. package/dist/Fx/combinators/keyed.d.ts +44 -0
  96. package/dist/Fx/combinators/keyed.d.ts.map +1 -0
  97. package/dist/Fx/combinators/keyed.js +199 -0
  98. package/dist/Fx/combinators/loop.d.ts +16 -0
  99. package/dist/Fx/combinators/loop.d.ts.map +1 -0
  100. package/dist/Fx/combinators/loop.js +14 -0
  101. package/dist/Fx/combinators/loopCause.d.ts +16 -0
  102. package/dist/Fx/combinators/loopCause.d.ts.map +1 -0
  103. package/dist/Fx/combinators/loopCause.js +13 -0
  104. package/dist/Fx/combinators/loopCauseEffect.d.ts +17 -0
  105. package/dist/Fx/combinators/loopCauseEffect.d.ts.map +1 -0
  106. package/dist/Fx/combinators/loopCauseEffect.js +13 -0
  107. package/dist/Fx/combinators/loopEffect.d.ts +16 -0
  108. package/dist/Fx/combinators/loopEffect.d.ts.map +1 -0
  109. package/dist/Fx/combinators/loopEffect.js +13 -0
  110. package/dist/Fx/combinators/map.d.ts +14 -0
  111. package/dist/Fx/combinators/map.d.ts.map +1 -0
  112. package/dist/Fx/combinators/map.js +12 -0
  113. package/dist/Fx/combinators/mapBoth.d.ts +21 -0
  114. package/dist/Fx/combinators/mapBoth.d.ts.map +1 -0
  115. package/dist/Fx/combinators/mapBoth.js +14 -0
  116. package/dist/Fx/combinators/mapEffect.d.ts +15 -0
  117. package/dist/Fx/combinators/mapEffect.d.ts.map +1 -0
  118. package/dist/Fx/combinators/mapEffect.js +12 -0
  119. package/dist/Fx/combinators/mapError.d.ts +17 -0
  120. package/dist/Fx/combinators/mapError.d.ts.map +1 -0
  121. package/dist/Fx/combinators/mapError.js +16 -0
  122. package/dist/Fx/combinators/mergeAll.d.ts +11 -0
  123. package/dist/Fx/combinators/mergeAll.d.ts.map +1 -0
  124. package/dist/Fx/combinators/mergeAll.js +15 -0
  125. package/dist/Fx/combinators/mergeOrdered.d.ts +14 -0
  126. package/dist/Fx/combinators/mergeOrdered.d.ts.map +1 -0
  127. package/dist/Fx/combinators/mergeOrdered.js +89 -0
  128. package/dist/Fx/combinators/onError.d.ts +17 -0
  129. package/dist/Fx/combinators/onError.d.ts.map +1 -0
  130. package/dist/Fx/combinators/onError.js +14 -0
  131. package/dist/Fx/combinators/onExit.d.ts +16 -0
  132. package/dist/Fx/combinators/onExit.d.ts.map +1 -0
  133. package/dist/Fx/combinators/onExit.js +39 -0
  134. package/dist/Fx/combinators/onInterrupt.d.ts +16 -0
  135. package/dist/Fx/combinators/onInterrupt.d.ts.map +1 -0
  136. package/dist/Fx/combinators/onInterrupt.js +38 -0
  137. package/dist/Fx/combinators/provide.d.ts +56 -0
  138. package/dist/Fx/combinators/provide.d.ts.map +1 -0
  139. package/dist/Fx/combinators/provide.js +54 -0
  140. package/dist/Fx/combinators/result.d.ts +23 -0
  141. package/dist/Fx/combinators/result.d.ts.map +1 -0
  142. package/dist/Fx/combinators/result.js +32 -0
  143. package/dist/Fx/combinators/scan.d.ts +33 -0
  144. package/dist/Fx/combinators/scan.d.ts.map +1 -0
  145. package/dist/Fx/combinators/scan.js +38 -0
  146. package/dist/Fx/combinators/skip.d.ts +27 -0
  147. package/dist/Fx/combinators/skip.d.ts.map +1 -0
  148. package/dist/Fx/combinators/skip.js +22 -0
  149. package/dist/Fx/combinators/skipRepeats.d.ts +11 -0
  150. package/dist/Fx/combinators/skipRepeats.d.ts.map +1 -0
  151. package/dist/Fx/combinators/skipRepeats.js +12 -0
  152. package/dist/Fx/combinators/skipRepeatsWith.d.ts +12 -0
  153. package/dist/Fx/combinators/skipRepeatsWith.d.ts.map +1 -0
  154. package/dist/Fx/combinators/skipRepeatsWith.js +20 -0
  155. package/dist/Fx/combinators/skipWhile.d.ts +49 -0
  156. package/dist/Fx/combinators/skipWhile.d.ts.map +1 -0
  157. package/dist/Fx/combinators/skipWhile.js +66 -0
  158. package/dist/Fx/combinators/slice.d.ts +36 -0
  159. package/dist/Fx/combinators/slice.d.ts.map +1 -0
  160. package/dist/Fx/combinators/slice.js +23 -0
  161. package/dist/Fx/combinators/switchMap.d.ts +13 -0
  162. package/dist/Fx/combinators/switchMap.d.ts.map +1 -0
  163. package/dist/Fx/combinators/switchMap.js +33 -0
  164. package/dist/Fx/combinators/switchMapEffect.d.ts +13 -0
  165. package/dist/Fx/combinators/switchMapEffect.d.ts.map +1 -0
  166. package/dist/Fx/combinators/switchMapEffect.js +14 -0
  167. package/dist/Fx/combinators/take.d.ts +27 -0
  168. package/dist/Fx/combinators/take.d.ts.map +1 -0
  169. package/dist/Fx/combinators/take.js +22 -0
  170. package/dist/Fx/combinators/takeUntil.d.ts +42 -0
  171. package/dist/Fx/combinators/takeUntil.d.ts.map +1 -0
  172. package/dist/Fx/combinators/takeUntil.js +45 -0
  173. package/dist/Fx/combinators/takeWhile.d.ts +29 -0
  174. package/dist/Fx/combinators/takeWhile.d.ts.map +1 -0
  175. package/dist/Fx/combinators/takeWhile.js +23 -0
  176. package/dist/Fx/combinators/tapEffect.d.ts +15 -0
  177. package/dist/Fx/combinators/tapEffect.d.ts.map +1 -0
  178. package/dist/Fx/combinators/tapEffect.js +18 -0
  179. package/dist/Fx/combinators/tuple.d.ts +27 -0
  180. package/dist/Fx/combinators/tuple.d.ts.map +1 -0
  181. package/dist/Fx/combinators/tuple.js +46 -0
  182. package/dist/Fx/combinators/unwrap.d.ts +12 -0
  183. package/dist/Fx/combinators/unwrap.d.ts.map +1 -0
  184. package/dist/Fx/combinators/unwrap.js +14 -0
  185. package/dist/Fx/combinators/unwrapScoped.d.ts +15 -0
  186. package/dist/Fx/combinators/unwrapScoped.d.ts.map +1 -0
  187. package/dist/Fx/combinators/unwrapScoped.js +16 -0
  188. package/dist/Fx/combinators/when.d.ts +36 -0
  189. package/dist/Fx/combinators/when.d.ts.map +1 -0
  190. package/dist/Fx/combinators/when.js +28 -0
  191. package/dist/Fx/combinators/withSpan.d.ts +4 -0
  192. package/dist/Fx/combinators/withSpan.d.ts.map +1 -0
  193. package/dist/Fx/combinators/withSpan.js +6 -0
  194. package/dist/Fx/combinators/zip.d.ts +75 -0
  195. package/dist/Fx/combinators/zip.d.ts.map +1 -0
  196. package/dist/Fx/combinators/zip.js +100 -0
  197. package/dist/Fx/constructors/at.d.ts +16 -0
  198. package/dist/Fx/constructors/at.d.ts.map +1 -0
  199. package/dist/Fx/constructors/at.js +13 -0
  200. package/dist/Fx/constructors/die.d.ts +11 -0
  201. package/dist/Fx/constructors/die.d.ts.map +1 -0
  202. package/dist/Fx/constructors/die.js +12 -0
  203. package/dist/Fx/constructors/empty.d.ts +8 -0
  204. package/dist/Fx/constructors/empty.d.ts.map +1 -0
  205. package/dist/Fx/constructors/empty.js +8 -0
  206. package/dist/Fx/constructors/fail.d.ts +11 -0
  207. package/dist/Fx/constructors/fail.d.ts.map +1 -0
  208. package/dist/Fx/constructors/fail.js +12 -0
  209. package/dist/Fx/constructors/failCause.d.ts +12 -0
  210. package/dist/Fx/constructors/failCause.d.ts.map +1 -0
  211. package/dist/Fx/constructors/failCause.js +11 -0
  212. package/dist/Fx/constructors/fn.d.ts +47 -0
  213. package/dist/Fx/constructors/fn.d.ts.map +1 -0
  214. package/dist/Fx/constructors/fn.js +23 -0
  215. package/dist/Fx/constructors/fromEffect.d.ts +21 -0
  216. package/dist/Fx/constructors/fromEffect.d.ts.map +1 -0
  217. package/dist/Fx/constructors/fromEffect.js +21 -0
  218. package/dist/Fx/constructors/fromFailures.d.ts +10 -0
  219. package/dist/Fx/constructors/fromFailures.d.ts.map +1 -0
  220. package/dist/Fx/constructors/fromFailures.js +13 -0
  221. package/dist/Fx/constructors/fromIterable.d.ts +12 -0
  222. package/dist/Fx/constructors/fromIterable.d.ts.map +1 -0
  223. package/dist/Fx/constructors/fromIterable.js +12 -0
  224. package/dist/Fx/constructors/fromSchedule.d.ts +13 -0
  225. package/dist/Fx/constructors/fromSchedule.d.ts.map +1 -0
  226. package/dist/Fx/constructors/fromSchedule.js +13 -0
  227. package/dist/Fx/constructors/fromYieldable.d.ts +12 -0
  228. package/dist/Fx/constructors/fromYieldable.d.ts.map +1 -0
  229. package/dist/Fx/constructors/fromYieldable.js +12 -0
  230. package/dist/Fx/constructors/index.d.ts +16 -0
  231. package/dist/Fx/constructors/index.d.ts.map +1 -0
  232. package/dist/Fx/constructors/index.js +15 -0
  233. package/dist/Fx/constructors/interrupt.d.ts +10 -0
  234. package/dist/Fx/constructors/interrupt.d.ts.map +1 -0
  235. package/dist/Fx/constructors/interrupt.js +12 -0
  236. package/dist/Fx/constructors/make.d.ts +40 -0
  237. package/dist/Fx/constructors/make.d.ts.map +1 -0
  238. package/dist/Fx/constructors/make.js +61 -0
  239. package/dist/Fx/constructors/periodic.d.ts +12 -0
  240. package/dist/Fx/constructors/periodic.d.ts.map +1 -0
  241. package/dist/Fx/constructors/periodic.js +12 -0
  242. package/dist/Fx/constructors/succeed.d.ts +32 -0
  243. package/dist/Fx/constructors/succeed.d.ts.map +1 -0
  244. package/dist/Fx/constructors/succeed.js +32 -0
  245. package/dist/Fx/constructors/suspend.d.ts +3 -0
  246. package/dist/Fx/constructors/suspend.d.ts.map +1 -0
  247. package/dist/Fx/constructors/suspend.js +3 -0
  248. package/dist/Fx/index.d.ts +7 -0
  249. package/dist/Fx/index.d.ts.map +1 -0
  250. package/dist/Fx/index.js +6 -0
  251. package/dist/Fx/internal/DeferredRef.d.ts +29 -0
  252. package/dist/Fx/internal/DeferredRef.d.ts.map +1 -0
  253. package/dist/Fx/internal/DeferredRef.js +63 -0
  254. package/dist/Fx/internal/UnionToTuple.d.ts.map +1 -0
  255. package/dist/Fx/internal/UnionToTuple.js +1 -0
  256. package/dist/Fx/internal/diff.d.ts +44 -0
  257. package/dist/Fx/internal/diff.d.ts.map +1 -0
  258. package/dist/Fx/internal/diff.js +106 -0
  259. package/dist/Fx/internal/equivalence.d.ts +4 -0
  260. package/dist/Fx/internal/equivalence.d.ts.map +1 -0
  261. package/dist/Fx/internal/equivalence.js +10 -0
  262. package/dist/Fx/internal/multicast.d.ts +10 -0
  263. package/dist/Fx/internal/multicast.d.ts.map +1 -0
  264. package/dist/Fx/internal/multicast.js +32 -0
  265. package/dist/Fx/internal/ring-buffer.d.ts +14 -0
  266. package/dist/Fx/internal/ring-buffer.d.ts.map +1 -0
  267. package/dist/Fx/internal/ring-buffer.js +52 -0
  268. package/dist/Fx/internal/scope.d.ts +11 -0
  269. package/dist/Fx/internal/scope.d.ts.map +1 -0
  270. package/dist/Fx/internal/scope.js +12 -0
  271. package/dist/Fx/internal/yieldable.d.ts +17 -0
  272. package/dist/Fx/internal/yieldable.d.ts.map +1 -0
  273. package/dist/Fx/internal/yieldable.js +20 -0
  274. package/dist/Fx/run/collect.d.ts +45 -0
  275. package/dist/Fx/run/collect.d.ts.map +1 -0
  276. package/dist/Fx/run/collect.js +51 -0
  277. package/dist/Fx/run/first.d.ts +14 -0
  278. package/dist/Fx/run/first.d.ts.map +1 -0
  279. package/dist/Fx/run/first.js +16 -0
  280. package/dist/Fx/run/fork.d.ts +29 -0
  281. package/dist/Fx/run/fork.d.ts.map +1 -0
  282. package/dist/Fx/run/fork.js +27 -0
  283. package/dist/Fx/run/index.d.ts +6 -0
  284. package/dist/Fx/run/index.d.ts.map +1 -0
  285. package/dist/Fx/run/index.js +5 -0
  286. package/dist/Fx/run/observe.d.ts +53 -0
  287. package/dist/Fx/run/observe.d.ts.map +1 -0
  288. package/dist/Fx/run/observe.js +55 -0
  289. package/dist/Fx/run/runPromise.d.ts +25 -0
  290. package/dist/Fx/run/runPromise.d.ts.map +1 -0
  291. package/dist/Fx/run/runPromise.js +23 -0
  292. package/dist/Fx/stream.d.ts +7 -0
  293. package/dist/Fx/stream.d.ts.map +1 -0
  294. package/dist/Fx/stream.js +7 -0
  295. package/dist/Fx.d.ts +2 -0
  296. package/dist/Fx.d.ts.map +1 -0
  297. package/dist/Fx.js +1 -0
  298. package/dist/Push/Push.d.ts +375 -0
  299. package/dist/Push/Push.d.ts.map +1 -0
  300. package/dist/Push/Push.js +346 -0
  301. package/dist/Push/index.d.ts +2 -0
  302. package/dist/Push/index.d.ts.map +1 -0
  303. package/dist/Push/index.js +1 -0
  304. package/dist/Push.d.ts +2 -0
  305. package/dist/Push.d.ts.map +1 -0
  306. package/dist/Push.js +1 -0
  307. package/dist/RefSubject/RefArray.d.ts +328 -0
  308. package/dist/RefSubject/RefArray.d.ts.map +1 -0
  309. package/dist/RefSubject/RefArray.js +302 -0
  310. package/dist/RefSubject/RefBigDecimal.d.ts +183 -0
  311. package/dist/RefSubject/RefBigDecimal.d.ts.map +1 -0
  312. package/dist/RefSubject/RefBigDecimal.js +161 -0
  313. package/dist/RefSubject/RefBigInt.d.ts +138 -0
  314. package/dist/RefSubject/RefBigInt.d.ts.map +1 -0
  315. package/dist/RefSubject/RefBigInt.js +126 -0
  316. package/dist/RefSubject/RefBoolean.d.ts +135 -0
  317. package/dist/RefSubject/RefBoolean.d.ts.map +1 -0
  318. package/dist/RefSubject/RefBoolean.js +124 -0
  319. package/dist/RefSubject/RefCause.d.ts +100 -0
  320. package/dist/RefSubject/RefCause.d.ts.map +1 -0
  321. package/dist/RefSubject/RefCause.js +93 -0
  322. package/dist/RefSubject/RefChunk.d.ts +316 -0
  323. package/dist/RefSubject/RefChunk.d.ts.map +1 -0
  324. package/dist/RefSubject/RefChunk.js +286 -0
  325. package/dist/RefSubject/RefDateTime.d.ts +155 -0
  326. package/dist/RefSubject/RefDateTime.d.ts.map +1 -0
  327. package/dist/RefSubject/RefDateTime.js +101 -0
  328. package/dist/RefSubject/RefDuration.d.ts +126 -0
  329. package/dist/RefSubject/RefDuration.d.ts.map +1 -0
  330. package/dist/RefSubject/RefDuration.js +115 -0
  331. package/dist/RefSubject/RefGraph.d.ts +239 -0
  332. package/dist/RefSubject/RefGraph.d.ts.map +1 -0
  333. package/dist/RefSubject/RefGraph.js +272 -0
  334. package/dist/RefSubject/RefHashMap.d.ts +228 -0
  335. package/dist/RefSubject/RefHashMap.d.ts.map +1 -0
  336. package/dist/RefSubject/RefHashMap.js +212 -0
  337. package/dist/RefSubject/RefHashRing.d.ts +123 -0
  338. package/dist/RefSubject/RefHashRing.d.ts.map +1 -0
  339. package/dist/RefSubject/RefHashRing.js +115 -0
  340. package/dist/RefSubject/RefHashSet.d.ts +179 -0
  341. package/dist/RefSubject/RefHashSet.d.ts.map +1 -0
  342. package/dist/RefSubject/RefHashSet.js +164 -0
  343. package/dist/RefSubject/RefIterable.d.ts +257 -0
  344. package/dist/RefSubject/RefIterable.d.ts.map +1 -0
  345. package/dist/RefSubject/RefIterable.js +237 -0
  346. package/dist/RefSubject/RefOption.d.ts +124 -0
  347. package/dist/RefSubject/RefOption.d.ts.map +1 -0
  348. package/dist/RefSubject/RefOption.js +115 -0
  349. package/dist/RefSubject/RefRecord.d.ts +264 -0
  350. package/dist/RefSubject/RefRecord.d.ts.map +1 -0
  351. package/dist/RefSubject/RefRecord.js +249 -0
  352. package/dist/RefSubject/RefResult.d.ts +121 -0
  353. package/dist/RefSubject/RefResult.d.ts.map +1 -0
  354. package/dist/RefSubject/RefResult.js +107 -0
  355. package/dist/RefSubject/RefString.d.ts +147 -0
  356. package/dist/RefSubject/RefString.d.ts.map +1 -0
  357. package/dist/RefSubject/RefString.js +137 -0
  358. package/dist/RefSubject/RefStruct.d.ts +123 -0
  359. package/dist/RefSubject/RefStruct.d.ts.map +1 -0
  360. package/dist/RefSubject/RefStruct.js +113 -0
  361. package/dist/RefSubject/RefSubject.d.ts +1057 -0
  362. package/dist/RefSubject/RefSubject.d.ts.map +1 -0
  363. package/dist/RefSubject/RefSubject.js +1389 -0
  364. package/dist/RefSubject/RefTrie.d.ts +216 -0
  365. package/dist/RefSubject/RefTrie.d.ts.map +1 -0
  366. package/dist/RefSubject/RefTrie.js +201 -0
  367. package/dist/RefSubject/RefTuple.d.ts +107 -0
  368. package/dist/RefSubject/RefTuple.d.ts.map +1 -0
  369. package/dist/RefSubject/RefTuple.js +94 -0
  370. package/dist/RefSubject/index.d.ts +22 -0
  371. package/dist/RefSubject/index.d.ts.map +1 -0
  372. package/dist/RefSubject/index.js +21 -0
  373. package/dist/RefSubject.d.ts +2 -0
  374. package/dist/RefSubject.d.ts.map +1 -0
  375. package/dist/RefSubject.js +1 -0
  376. package/dist/Sink/Sink.d.ts +94 -0
  377. package/dist/Sink/Sink.d.ts.map +1 -0
  378. package/dist/Sink/Sink.js +34 -0
  379. package/dist/Sink/combinators.d.ts +228 -0
  380. package/dist/Sink/combinators.d.ts.map +1 -0
  381. package/dist/Sink/combinators.js +689 -0
  382. package/dist/Sink/index.d.ts +3 -0
  383. package/dist/Sink/index.d.ts.map +1 -0
  384. package/dist/Sink/index.js +2 -0
  385. package/dist/Sink.d.ts +2 -0
  386. package/dist/Sink.d.ts.map +1 -0
  387. package/dist/Sink.js +1 -0
  388. package/dist/Subject/Subject.d.ts +152 -0
  389. package/dist/Subject/Subject.d.ts.map +1 -0
  390. package/dist/Subject/Subject.js +272 -0
  391. package/dist/Subject/index.d.ts +2 -0
  392. package/dist/Subject/index.d.ts.map +1 -0
  393. package/dist/Subject/index.js +1 -0
  394. package/dist/Subject.d.ts +2 -0
  395. package/dist/Subject.d.ts.map +1 -0
  396. package/dist/Subject.js +1 -0
  397. package/dist/Versioned/Versioned.d.ts +206 -0
  398. package/dist/Versioned/Versioned.d.ts.map +1 -0
  399. package/dist/Versioned/Versioned.js +246 -0
  400. package/dist/Versioned/index.d.ts +2 -0
  401. package/dist/Versioned/index.d.ts.map +1 -0
  402. package/dist/Versioned/index.js +1 -0
  403. package/dist/Versioned.d.ts +2 -0
  404. package/dist/Versioned.d.ts.map +1 -0
  405. package/dist/Versioned.js +1 -0
  406. package/dist/index.d.ts +8 -0
  407. package/dist/index.d.ts.map +1 -0
  408. package/dist/index.js +7 -0
  409. package/package.json +26 -195
  410. package/src/Fx/Fx.ts +164 -0
  411. package/src/Fx/TypeId.ts +25 -0
  412. package/src/Fx/combinators/additive.ts +142 -0
  413. package/src/Fx/combinators/catch.ts +421 -0
  414. package/src/Fx/combinators/causes.ts +23 -0
  415. package/src/Fx/combinators/changesWithEffect.ts +66 -0
  416. package/src/Fx/combinators/compact.ts +15 -0
  417. package/src/Fx/combinators/continueWith.ts +78 -0
  418. package/src/Fx/combinators/dropUntil.ts +47 -0
  419. package/src/Fx/combinators/ensuring.ts +23 -0
  420. package/src/Fx/combinators/exhaustLatestMap.ts +74 -0
  421. package/src/Fx/combinators/exhaustLatestMapEffect.ts +25 -0
  422. package/src/Fx/combinators/exhaustMap.ts +36 -0
  423. package/src/Fx/combinators/exhaustMapEffect.ts +23 -0
  424. package/src/Fx/combinators/exit.ts +15 -0
  425. package/src/Fx/combinators/filter.ts +22 -0
  426. package/src/Fx/combinators/filterEffect.ts +31 -0
  427. package/src/Fx/combinators/filterMap.ts +23 -0
  428. package/src/Fx/combinators/filterMapEffect.ts +32 -0
  429. package/src/Fx/combinators/filterMapLoop.ts +35 -0
  430. package/src/Fx/combinators/filterMapLoopCause.ts +36 -0
  431. package/src/Fx/combinators/filterMapLoopCauseEffect.ts +46 -0
  432. package/src/Fx/combinators/filterMapLoopEffect.ts +36 -0
  433. package/src/Fx/combinators/flatMap.ts +51 -0
  434. package/src/Fx/combinators/flatMapConcurrently.ts +39 -0
  435. package/src/Fx/combinators/flatMapConcurrentlyEffect.ts +26 -0
  436. package/src/Fx/combinators/flatMapEffect.ts +42 -0
  437. package/src/Fx/combinators/flip.ts +14 -0
  438. package/src/Fx/combinators/gen.ts +24 -0
  439. package/src/Fx/combinators/genScoped.ts +24 -0
  440. package/src/Fx/combinators/index.ts +61 -0
  441. package/src/Fx/combinators/keyed.ts +369 -0
  442. package/src/Fx/combinators/loop.ts +27 -0
  443. package/src/Fx/combinators/loopCause.ts +34 -0
  444. package/src/Fx/combinators/loopCauseEffect.ts +36 -0
  445. package/src/Fx/combinators/loopEffect.ts +34 -0
  446. package/src/Fx/combinators/map.ts +22 -0
  447. package/src/Fx/combinators/mapBoth.ts +40 -0
  448. package/src/Fx/combinators/mapEffect.ts +32 -0
  449. package/src/Fx/combinators/mapError.ts +28 -0
  450. package/src/Fx/combinators/mergeAll.ts +22 -0
  451. package/src/Fx/combinators/mergeOrdered.ts +123 -0
  452. package/src/Fx/combinators/onError.ts +40 -0
  453. package/src/Fx/combinators/onExit.ts +82 -0
  454. package/src/Fx/combinators/onInterrupt.ts +87 -0
  455. package/src/Fx/combinators/provide.ts +124 -0
  456. package/src/Fx/combinators/result.ts +39 -0
  457. package/src/Fx/combinators/scan.ts +82 -0
  458. package/src/Fx/combinators/skip.ts +41 -0
  459. package/src/Fx/combinators/skipRepeats.ts +15 -0
  460. package/src/Fx/combinators/skipRepeatsWith.ts +40 -0
  461. package/src/Fx/combinators/skipWhile.ts +100 -0
  462. package/src/Fx/combinators/slice.ts +55 -0
  463. package/src/Fx/combinators/switchMap.ts +55 -0
  464. package/src/Fx/combinators/switchMapEffect.ts +25 -0
  465. package/src/Fx/combinators/take.ts +38 -0
  466. package/src/Fx/combinators/takeUntil.ts +88 -0
  467. package/src/Fx/combinators/takeWhile.ts +47 -0
  468. package/src/Fx/combinators/tapEffect.ts +39 -0
  469. package/src/Fx/combinators/tuple.ts +79 -0
  470. package/src/Fx/combinators/unwrap.ts +21 -0
  471. package/src/Fx/combinators/unwrapScoped.ts +26 -0
  472. package/src/Fx/combinators/when.ts +64 -0
  473. package/src/Fx/combinators/withSpan.ts +24 -0
  474. package/src/Fx/combinators/zip.ts +175 -0
  475. package/src/Fx/constructors/at.ts +23 -0
  476. package/src/Fx/constructors/die.ts +17 -0
  477. package/src/Fx/constructors/empty.ts +10 -0
  478. package/src/Fx/constructors/fail.ts +14 -0
  479. package/src/Fx/constructors/failCause.ts +14 -0
  480. package/src/Fx/constructors/fn.ts +245 -0
  481. package/src/Fx/constructors/fromEffect.ts +24 -0
  482. package/src/Fx/constructors/fromFailures.ts +19 -0
  483. package/src/Fx/constructors/fromIterable.ts +15 -0
  484. package/src/Fx/constructors/fromSchedule.ts +18 -0
  485. package/src/Fx/constructors/fromYieldable.ts +17 -0
  486. package/src/Fx/constructors/index.ts +15 -0
  487. package/src/Fx/constructors/interrupt.ts +13 -0
  488. package/src/Fx/constructors/make.ts +103 -0
  489. package/src/Fx/constructors/periodic.ts +15 -0
  490. package/src/Fx/constructors/succeed.ts +37 -0
  491. package/src/Fx/constructors/suspend.ts +6 -0
  492. package/src/Fx/index.ts +6 -0
  493. package/src/Fx/internal/DeferredRef.ts +87 -0
  494. package/src/Fx/internal/UnionToTuple.ts +12 -0
  495. package/src/Fx/internal/diff.ts +191 -0
  496. package/src/Fx/internal/equivalence.ts +12 -0
  497. package/src/Fx/internal/multicast.ts +51 -0
  498. package/src/Fx/internal/ring-buffer.ts +60 -0
  499. package/src/Fx/internal/scope.ts +58 -0
  500. package/src/Fx/internal/yieldable.ts +31 -0
  501. package/src/Fx/run/collect.ts +79 -0
  502. package/src/Fx/run/first.ts +20 -0
  503. package/src/Fx/run/fork.ts +40 -0
  504. package/src/Fx/run/index.ts +5 -0
  505. package/src/Fx/run/observe.ts +114 -0
  506. package/src/Fx/run/runPromise.ts +32 -0
  507. package/src/Fx/stream.ts +42 -0
  508. package/src/Fx.additive-combinators.test.ts +126 -0
  509. package/src/Fx.catch-additive.test.ts +206 -0
  510. package/src/Fx.catch.test.ts +60 -0
  511. package/src/Fx.dropUntil.test.ts +61 -0
  512. package/src/Fx.fn.test.ts +51 -0
  513. package/src/Fx.lifecycle.test.ts +79 -0
  514. package/src/Fx.mapError-mapBoth.test.ts +101 -0
  515. package/src/Fx.provide-combinators.test.ts +94 -0
  516. package/src/Fx.result-changesWithEffect.test.ts +112 -0
  517. package/src/Fx.scan.test.ts +73 -0
  518. package/src/Fx.takeWhile-skipWhile.test.ts +84 -0
  519. package/src/Fx.test.ts +71 -0
  520. package/src/Fx.ts +1 -2591
  521. package/src/Fx.zip-merge-additive.test.ts +171 -0
  522. package/src/Fx.zip.test.ts +133 -0
  523. package/src/Push/Push.ts +1072 -0
  524. package/src/Push/index.ts +1 -0
  525. package/src/Push.additive.test.ts +256 -0
  526. package/src/Push.test.ts +26 -0
  527. package/src/Push.ts +1 -480
  528. package/src/RefSubject/RefArray.ts +512 -0
  529. package/src/RefSubject/RefBigDecimal.test.ts +56 -0
  530. package/src/RefSubject/RefBigDecimal.ts +295 -0
  531. package/src/RefSubject/RefBigInt.test.ts +56 -0
  532. package/src/RefSubject/RefBigInt.ts +189 -0
  533. package/src/RefSubject/RefBoolean.test.ts +57 -0
  534. package/src/RefSubject/RefBoolean.ts +185 -0
  535. package/src/RefSubject/RefCause.test.ts +53 -0
  536. package/src/RefSubject/RefCause.ts +146 -0
  537. package/src/RefSubject/RefChunk.ts +510 -0
  538. package/src/RefSubject/RefDateTime.test.ts +43 -0
  539. package/src/RefSubject/RefDateTime.ts +264 -0
  540. package/src/RefSubject/RefDuration.test.ts +49 -0
  541. package/src/RefSubject/RefDuration.ts +188 -0
  542. package/src/RefSubject/RefGraph.ts +650 -0
  543. package/src/RefSubject/RefHashMap.ts +465 -0
  544. package/src/RefSubject/RefHashRing.ts +262 -0
  545. package/src/RefSubject/RefHashSet.ts +308 -0
  546. package/src/RefSubject/RefIterable.ts +445 -0
  547. package/src/RefSubject/RefOption.test.ts +67 -0
  548. package/src/RefSubject/RefOption.ts +193 -0
  549. package/src/RefSubject/RefRecord.ts +612 -0
  550. package/src/RefSubject/RefResult.test.ts +63 -0
  551. package/src/RefSubject/RefResult.ts +209 -0
  552. package/src/RefSubject/RefString.test.ts +61 -0
  553. package/src/RefSubject/RefString.ts +256 -0
  554. package/src/RefSubject/RefStruct.test.ts +60 -0
  555. package/src/RefSubject/RefStruct.ts +253 -0
  556. package/src/RefSubject/RefSubject.ts +2646 -0
  557. package/src/RefSubject/RefTrie.ts +356 -0
  558. package/src/RefSubject/RefTuple.test.ts +60 -0
  559. package/src/RefSubject/RefTuple.ts +231 -0
  560. package/src/RefSubject/index.ts +21 -0
  561. package/src/RefSubject.additive-parity.test.ts +101 -0
  562. package/src/RefSubject.test.ts +65 -0
  563. package/src/RefSubject.ts +1 -2488
  564. package/src/Sink/Sink.ts +159 -0
  565. package/src/Sink/combinators.ts +1115 -0
  566. package/src/Sink/index.ts +2 -0
  567. package/src/Sink.combinators.test.ts +88 -0
  568. package/src/Sink.reduce-collect-head-last.test.ts +107 -0
  569. package/src/Sink.ts +1 -1044
  570. package/src/Subject/Subject.ts +441 -0
  571. package/src/Subject/index.ts +1 -0
  572. package/src/Subject.test.ts +47 -0
  573. package/src/Subject.ts +1 -330
  574. package/src/Versioned/Versioned.ts +597 -0
  575. package/src/Versioned/index.ts +1 -0
  576. package/src/Versioned.filterMap.test.ts +91 -0
  577. package/src/Versioned.test.ts +23 -0
  578. package/src/Versioned.ts +1 -357
  579. package/src/index.ts +7 -130
  580. package/AsyncData/package.json +0 -6
  581. package/Emitter/package.json +0 -6
  582. package/Form/package.json +0 -6
  583. package/FormEntry/package.json +0 -6
  584. package/Fx/package.json +0 -6
  585. package/Idle/package.json +0 -6
  586. package/LICENSE +0 -21
  587. package/Match/package.json +0 -6
  588. package/Pull/package.json +0 -6
  589. package/Push/package.json +0 -6
  590. package/RefArray/package.json +0 -6
  591. package/RefChunk/package.json +0 -6
  592. package/RefHashMap/package.json +0 -6
  593. package/RefHashSet/package.json +0 -6
  594. package/RefSubject/package.json +0 -6
  595. package/Sink/package.json +0 -6
  596. package/Stream/package.json +0 -6
  597. package/Subject/package.json +0 -6
  598. package/TypeId/package.json +0 -6
  599. package/Typeclass/package.json +0 -6
  600. package/Versioned/package.json +0 -6
  601. package/dist/cjs/AsyncData.js +0 -188
  602. package/dist/cjs/AsyncData.js.map +0 -1
  603. package/dist/cjs/Emitter.js +0 -44
  604. package/dist/cjs/Emitter.js.map +0 -1
  605. package/dist/cjs/Form.js +0 -178
  606. package/dist/cjs/Form.js.map +0 -1
  607. package/dist/cjs/FormEntry.js +0 -110
  608. package/dist/cjs/FormEntry.js.map +0 -1
  609. package/dist/cjs/Fx.js +0 -998
  610. package/dist/cjs/Fx.js.map +0 -1
  611. package/dist/cjs/Idle.js +0 -190
  612. package/dist/cjs/Idle.js.map +0 -1
  613. package/dist/cjs/Match.js +0 -191
  614. package/dist/cjs/Match.js.map +0 -1
  615. package/dist/cjs/Pull.js +0 -52
  616. package/dist/cjs/Pull.js.map +0 -1
  617. package/dist/cjs/Push.js +0 -168
  618. package/dist/cjs/Push.js.map +0 -1
  619. package/dist/cjs/RefArray.js +0 -253
  620. package/dist/cjs/RefArray.js.map +0 -1
  621. package/dist/cjs/RefChunk.js +0 -212
  622. package/dist/cjs/RefChunk.js.map +0 -1
  623. package/dist/cjs/RefHashMap.js +0 -198
  624. package/dist/cjs/RefHashMap.js.map +0 -1
  625. package/dist/cjs/RefHashSet.js +0 -99
  626. package/dist/cjs/RefHashSet.js.map +0 -1
  627. package/dist/cjs/RefSubject.js +0 -1115
  628. package/dist/cjs/RefSubject.js.map +0 -1
  629. package/dist/cjs/Sink.js +0 -662
  630. package/dist/cjs/Sink.js.map +0 -1
  631. package/dist/cjs/Stream.js +0 -87
  632. package/dist/cjs/Stream.js.map +0 -1
  633. package/dist/cjs/Subject.js +0 -205
  634. package/dist/cjs/Subject.js.map +0 -1
  635. package/dist/cjs/TypeId.js +0 -32
  636. package/dist/cjs/TypeId.js.map +0 -1
  637. package/dist/cjs/Typeclass.js +0 -380
  638. package/dist/cjs/Typeclass.js.map +0 -1
  639. package/dist/cjs/Versioned.js +0 -172
  640. package/dist/cjs/Versioned.js.map +0 -1
  641. package/dist/cjs/index.js +0 -89
  642. package/dist/cjs/index.js.map +0 -1
  643. package/dist/cjs/internal/DeferredRef.js +0 -67
  644. package/dist/cjs/internal/DeferredRef.js.map +0 -1
  645. package/dist/cjs/internal/UnionToTuple.js +0 -6
  646. package/dist/cjs/internal/UnionToTuple.js.map +0 -1
  647. package/dist/cjs/internal/bounds.js +0 -26
  648. package/dist/cjs/internal/bounds.js.map +0 -1
  649. package/dist/cjs/internal/core.js +0 -1783
  650. package/dist/cjs/internal/core.js.map +0 -1
  651. package/dist/cjs/internal/diff.js +0 -122
  652. package/dist/cjs/internal/diff.js.map +0 -1
  653. package/dist/cjs/internal/effect-loop-operator.js +0 -288
  654. package/dist/cjs/internal/effect-loop-operator.js.map +0 -1
  655. package/dist/cjs/internal/effect-operator.js +0 -156
  656. package/dist/cjs/internal/effect-operator.js.map +0 -1
  657. package/dist/cjs/internal/effect-producer.js +0 -74
  658. package/dist/cjs/internal/effect-producer.js.map +0 -1
  659. package/dist/cjs/internal/helpers.js +0 -317
  660. package/dist/cjs/internal/helpers.js.map +0 -1
  661. package/dist/cjs/internal/keyed.js +0 -168
  662. package/dist/cjs/internal/keyed.js.map +0 -1
  663. package/dist/cjs/internal/loop-operator.js +0 -213
  664. package/dist/cjs/internal/loop-operator.js.map +0 -1
  665. package/dist/cjs/internal/operator.js +0 -79
  666. package/dist/cjs/internal/operator.js.map +0 -1
  667. package/dist/cjs/internal/protos.js +0 -48
  668. package/dist/cjs/internal/protos.js.map +0 -1
  669. package/dist/cjs/internal/provide.js +0 -100
  670. package/dist/cjs/internal/provide.js.map +0 -1
  671. package/dist/cjs/internal/requestIdleCallback.js +0 -22
  672. package/dist/cjs/internal/requestIdleCallback.js.map +0 -1
  673. package/dist/cjs/internal/share.js +0 -74
  674. package/dist/cjs/internal/share.js.map +0 -1
  675. package/dist/cjs/internal/strategies.js +0 -34
  676. package/dist/cjs/internal/strategies.js.map +0 -1
  677. package/dist/cjs/internal/sync-operator.js +0 -120
  678. package/dist/cjs/internal/sync-operator.js.map +0 -1
  679. package/dist/cjs/internal/sync-producer.js +0 -118
  680. package/dist/cjs/internal/sync-producer.js.map +0 -1
  681. package/dist/cjs/internal/withKey.js +0 -63
  682. package/dist/cjs/internal/withKey.js.map +0 -1
  683. package/dist/dts/AsyncData.d.ts +0 -179
  684. package/dist/dts/AsyncData.d.ts.map +0 -1
  685. package/dist/dts/Emitter.d.ts +0 -24
  686. package/dist/dts/Emitter.d.ts.map +0 -1
  687. package/dist/dts/Form.d.ts +0 -145
  688. package/dist/dts/Form.d.ts.map +0 -1
  689. package/dist/dts/FormEntry.d.ts +0 -65
  690. package/dist/dts/FormEntry.d.ts.map +0 -1
  691. package/dist/dts/Fx.d.ts +0 -1678
  692. package/dist/dts/Fx.d.ts.map +0 -1
  693. package/dist/dts/Idle.d.ts +0 -84
  694. package/dist/dts/Idle.d.ts.map +0 -1
  695. package/dist/dts/Match.d.ts +0 -60
  696. package/dist/dts/Match.d.ts.map +0 -1
  697. package/dist/dts/Pull.d.ts +0 -37
  698. package/dist/dts/Pull.d.ts.map +0 -1
  699. package/dist/dts/Push.d.ts +0 -176
  700. package/dist/dts/Push.d.ts.map +0 -1
  701. package/dist/dts/RefArray.d.ts +0 -278
  702. package/dist/dts/RefArray.d.ts.map +0 -1
  703. package/dist/dts/RefChunk.d.ts +0 -230
  704. package/dist/dts/RefChunk.d.ts.map +0 -1
  705. package/dist/dts/RefHashMap.d.ts +0 -189
  706. package/dist/dts/RefHashMap.d.ts.map +0 -1
  707. package/dist/dts/RefHashSet.d.ts +0 -100
  708. package/dist/dts/RefHashSet.d.ts.map +0 -1
  709. package/dist/dts/RefSubject.d.ts +0 -601
  710. package/dist/dts/RefSubject.d.ts.map +0 -1
  711. package/dist/dts/Sink.d.ts +0 -252
  712. package/dist/dts/Sink.d.ts.map +0 -1
  713. package/dist/dts/Stream.d.ts +0 -66
  714. package/dist/dts/Stream.d.ts.map +0 -1
  715. package/dist/dts/Subject.d.ts +0 -61
  716. package/dist/dts/Subject.d.ts.map +0 -1
  717. package/dist/dts/TypeId.d.ts +0 -51
  718. package/dist/dts/TypeId.d.ts.map +0 -1
  719. package/dist/dts/Typeclass.d.ts +0 -284
  720. package/dist/dts/Typeclass.d.ts.map +0 -1
  721. package/dist/dts/Versioned.d.ts +0 -117
  722. package/dist/dts/Versioned.d.ts.map +0 -1
  723. package/dist/dts/index.d.ts +0 -111
  724. package/dist/dts/index.d.ts.map +0 -1
  725. package/dist/dts/internal/DeferredRef.d.ts +0 -22
  726. package/dist/dts/internal/DeferredRef.d.ts.map +0 -1
  727. package/dist/dts/internal/UnionToTuple.d.ts.map +0 -1
  728. package/dist/dts/internal/bounds.d.ts +0 -9
  729. package/dist/dts/internal/bounds.d.ts.map +0 -1
  730. package/dist/dts/internal/core.d.ts +0 -237
  731. package/dist/dts/internal/core.d.ts.map +0 -1
  732. package/dist/dts/internal/diff.d.ts +0 -42
  733. package/dist/dts/internal/diff.d.ts.map +0 -1
  734. package/dist/dts/internal/effect-loop-operator.d.ts +0 -34
  735. package/dist/dts/internal/effect-loop-operator.d.ts.map +0 -1
  736. package/dist/dts/internal/effect-operator.d.ts +0 -40
  737. package/dist/dts/internal/effect-operator.d.ts.map +0 -1
  738. package/dist/dts/internal/effect-producer.d.ts +0 -25
  739. package/dist/dts/internal/effect-producer.d.ts.map +0 -1
  740. package/dist/dts/internal/helpers.d.ts +0 -60
  741. package/dist/dts/internal/helpers.d.ts.map +0 -1
  742. package/dist/dts/internal/keyed.d.ts +0 -4
  743. package/dist/dts/internal/keyed.d.ts.map +0 -1
  744. package/dist/dts/internal/loop-operator.d.ts +0 -40
  745. package/dist/dts/internal/loop-operator.d.ts.map +0 -1
  746. package/dist/dts/internal/operator.d.ts +0 -16
  747. package/dist/dts/internal/operator.d.ts.map +0 -1
  748. package/dist/dts/internal/protos.d.ts +0 -23
  749. package/dist/dts/internal/protos.d.ts.map +0 -1
  750. package/dist/dts/internal/provide.d.ts +0 -46
  751. package/dist/dts/internal/provide.d.ts.map +0 -1
  752. package/dist/dts/internal/requestIdleCallback.d.ts +0 -3
  753. package/dist/dts/internal/requestIdleCallback.d.ts.map +0 -1
  754. package/dist/dts/internal/share.d.ts +0 -33
  755. package/dist/dts/internal/share.d.ts.map +0 -1
  756. package/dist/dts/internal/strategies.d.ts +0 -9
  757. package/dist/dts/internal/strategies.d.ts.map +0 -1
  758. package/dist/dts/internal/sync-operator.d.ts +0 -32
  759. package/dist/dts/internal/sync-operator.d.ts.map +0 -1
  760. package/dist/dts/internal/sync-producer.d.ts +0 -36
  761. package/dist/dts/internal/sync-producer.d.ts.map +0 -1
  762. package/dist/dts/internal/withKey.d.ts +0 -4
  763. package/dist/dts/internal/withKey.d.ts.map +0 -1
  764. package/dist/esm/AsyncData.js +0 -156
  765. package/dist/esm/AsyncData.js.map +0 -1
  766. package/dist/esm/Emitter.js +0 -33
  767. package/dist/esm/Emitter.js.map +0 -1
  768. package/dist/esm/Form.js +0 -163
  769. package/dist/esm/Form.js.map +0 -1
  770. package/dist/esm/FormEntry.js +0 -100
  771. package/dist/esm/FormEntry.js.map +0 -1
  772. package/dist/esm/Fx.js +0 -984
  773. package/dist/esm/Fx.js.map +0 -1
  774. package/dist/esm/Idle.js +0 -178
  775. package/dist/esm/Idle.js.map +0 -1
  776. package/dist/esm/Match.js +0 -185
  777. package/dist/esm/Match.js.map +0 -1
  778. package/dist/esm/Pull.js +0 -41
  779. package/dist/esm/Pull.js.map +0 -1
  780. package/dist/esm/Push.js +0 -159
  781. package/dist/esm/Push.js.map +0 -1
  782. package/dist/esm/RefArray.js +0 -234
  783. package/dist/esm/RefArray.js.map +0 -1
  784. package/dist/esm/RefChunk.js +0 -196
  785. package/dist/esm/RefChunk.js.map +0 -1
  786. package/dist/esm/RefHashMap.js +0 -176
  787. package/dist/esm/RefHashMap.js.map +0 -1
  788. package/dist/esm/RefHashSet.js +0 -86
  789. package/dist/esm/RefHashSet.js.map +0 -1
  790. package/dist/esm/RefSubject.js +0 -1076
  791. package/dist/esm/RefSubject.js.map +0 -1
  792. package/dist/esm/Sink.js +0 -673
  793. package/dist/esm/Sink.js.map +0 -1
  794. package/dist/esm/Stream.js +0 -76
  795. package/dist/esm/Stream.js.map +0 -1
  796. package/dist/esm/Subject.js +0 -198
  797. package/dist/esm/Subject.js.map +0 -1
  798. package/dist/esm/TypeId.js +0 -26
  799. package/dist/esm/TypeId.js.map +0 -1
  800. package/dist/esm/Typeclass.js +0 -375
  801. package/dist/esm/Typeclass.js.map +0 -1
  802. package/dist/esm/Versioned.js +0 -149
  803. package/dist/esm/Versioned.js.map +0 -1
  804. package/dist/esm/index.js +0 -111
  805. package/dist/esm/index.js.map +0 -1
  806. package/dist/esm/internal/DeferredRef.js +0 -57
  807. package/dist/esm/internal/DeferredRef.js.map +0 -1
  808. package/dist/esm/internal/UnionToTuple.js +0 -2
  809. package/dist/esm/internal/UnionToTuple.js.map +0 -1
  810. package/dist/esm/internal/bounds.js +0 -13
  811. package/dist/esm/internal/bounds.js.map +0 -1
  812. package/dist/esm/internal/core.js +0 -1647
  813. package/dist/esm/internal/core.js.map +0 -1
  814. package/dist/esm/internal/diff.js +0 -92
  815. package/dist/esm/internal/diff.js.map +0 -1
  816. package/dist/esm/internal/effect-loop-operator.js +0 -269
  817. package/dist/esm/internal/effect-loop-operator.js.map +0 -1
  818. package/dist/esm/internal/effect-operator.js +0 -134
  819. package/dist/esm/internal/effect-operator.js.map +0 -1
  820. package/dist/esm/internal/effect-producer.js +0 -47
  821. package/dist/esm/internal/effect-producer.js.map +0 -1
  822. package/dist/esm/internal/helpers.js +0 -299
  823. package/dist/esm/internal/helpers.js.map +0 -1
  824. package/dist/esm/internal/keyed.js +0 -153
  825. package/dist/esm/internal/keyed.js.map +0 -1
  826. package/dist/esm/internal/loop-operator.js +0 -186
  827. package/dist/esm/internal/loop-operator.js.map +0 -1
  828. package/dist/esm/internal/operator.js +0 -68
  829. package/dist/esm/internal/operator.js.map +0 -1
  830. package/dist/esm/internal/protos.js +0 -39
  831. package/dist/esm/internal/protos.js.map +0 -1
  832. package/dist/esm/internal/provide.js +0 -72
  833. package/dist/esm/internal/provide.js.map +0 -1
  834. package/dist/esm/internal/requestIdleCallback.js +0 -16
  835. package/dist/esm/internal/requestIdleCallback.js.map +0 -1
  836. package/dist/esm/internal/share.js +0 -62
  837. package/dist/esm/internal/share.js.map +0 -1
  838. package/dist/esm/internal/strategies.js +0 -8
  839. package/dist/esm/internal/strategies.js.map +0 -1
  840. package/dist/esm/internal/sync-operator.js +0 -95
  841. package/dist/esm/internal/sync-operator.js.map +0 -1
  842. package/dist/esm/internal/sync-producer.js +0 -90
  843. package/dist/esm/internal/sync-producer.js.map +0 -1
  844. package/dist/esm/internal/withKey.js +0 -56
  845. package/dist/esm/internal/withKey.js.map +0 -1
  846. package/dist/esm/package.json +0 -4
  847. package/src/AsyncData.ts +0 -453
  848. package/src/Emitter.ts +0 -59
  849. package/src/Form.ts +0 -489
  850. package/src/FormEntry.ts +0 -214
  851. package/src/Idle.ts +0 -294
  852. package/src/Match.ts +0 -314
  853. package/src/Pull.ts +0 -95
  854. package/src/RefArray.ts +0 -514
  855. package/src/RefChunk.ts +0 -407
  856. package/src/RefHashMap.ts +0 -335
  857. package/src/RefHashSet.ts +0 -179
  858. package/src/Stream.ts +0 -140
  859. package/src/TypeId.ts +0 -59
  860. package/src/Typeclass.ts +0 -459
  861. package/src/internal/DeferredRef.ts +0 -72
  862. package/src/internal/UnionToTuple.ts +0 -11
  863. package/src/internal/bounds.ts +0 -21
  864. package/src/internal/core.ts +0 -3091
  865. package/src/internal/diff.ts +0 -171
  866. package/src/internal/effect-loop-operator.ts +0 -466
  867. package/src/internal/effect-operator.ts +0 -317
  868. package/src/internal/effect-producer.ts +0 -125
  869. package/src/internal/helpers.ts +0 -538
  870. package/src/internal/keyed.ts +0 -235
  871. package/src/internal/loop-operator.ts +0 -266
  872. package/src/internal/operator.ts +0 -87
  873. package/src/internal/protos.ts +0 -57
  874. package/src/internal/provide.ts +0 -151
  875. package/src/internal/requestIdleCallback.ts +0 -19
  876. package/src/internal/share.ts +0 -97
  877. package/src/internal/strategies.ts +0 -15
  878. package/src/internal/sync-operator.ts +0 -166
  879. package/src/internal/sync-producer.ts +0 -148
  880. package/src/internal/withKey.ts +0 -82
  881. /package/dist/{dts → Fx}/internal/UnionToTuple.d.ts +0 -0
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Extensions to RefSubject for working with Option values
3
+ * @since 1.18.0
4
+ */
5
+ import * as Equivalence_ from "effect/Equivalence";
6
+ import { dual } from "effect/Function";
7
+ import * as Option from "effect/Option";
8
+ import * as RefSubject from "./RefSubject.js";
9
+ /**
10
+ * Creates a new `RefOption` from an Option, `Effect`, or `Fx`.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * import { Effect, Option } from "effect"
15
+ * import * as RefOption from "effect/typed/fx/RefSubject/RefOption"
16
+ *
17
+ * const program = Effect.gen(function* () {
18
+ * const value = yield* RefOption.make(Option.some(42))
19
+ * const current = yield* value
20
+ * console.log(current) // { _tag: "Some", value: 42 }
21
+ * })
22
+ * ```
23
+ *
24
+ * @since 1.18.0
25
+ * @category constructors
26
+ */
27
+ export function make(initial, eq = Equivalence_.strictEqual()) {
28
+ return RefSubject.make(initial, { eq: Option.makeEquivalence(eq) });
29
+ }
30
+ /**
31
+ * Set the current state of a RefOption to Some(value).
32
+ * @since 1.18.0
33
+ * @category combinators
34
+ */
35
+ export const setSome = dual(2, function setSome(ref, value) {
36
+ return RefSubject.set(ref, Option.some(value));
37
+ });
38
+ /**
39
+ * Set the current state of a RefOption to None.
40
+ * @since 1.18.0
41
+ * @category combinators
42
+ */
43
+ export const setNone = (ref) => RefSubject.set(ref, Option.none());
44
+ // ========================================
45
+ // Computed
46
+ // ========================================
47
+ /**
48
+ * Map the value inside the Option of a RefOption.
49
+ * @since 1.18.0
50
+ * @category computed
51
+ */
52
+ export const map = dual(2, function map(ref, f) {
53
+ return RefSubject.map(ref, (self) => Option.map(self, f));
54
+ });
55
+ /**
56
+ * FlatMap the value inside the Option of a RefOption.
57
+ * @since 1.18.0
58
+ * @category computed
59
+ */
60
+ export const flatMap = dual(2, function flatMap(ref, f) {
61
+ return RefSubject.map(ref, (self) => Option.flatMap(self, f));
62
+ });
63
+ /**
64
+ * Filter the value inside the Option of a RefOption.
65
+ * @since 1.18.0
66
+ * @category computed
67
+ */
68
+ export const filter = dual(2, function filter(ref, predicate) {
69
+ return RefSubject.map(ref, (self) => Option.filter(self, predicate));
70
+ });
71
+ /**
72
+ * Get the value from the Option or use a fallback value.
73
+ * @since 1.18.0
74
+ * @category computed
75
+ */
76
+ export const getOrElse = dual(2, function getOrElse(ref, fallback) {
77
+ return RefSubject.map(ref, (self) => Option.getOrElse(self, fallback));
78
+ });
79
+ /**
80
+ * Check if the current state of a RefOption is Some.
81
+ * @since 1.18.0
82
+ * @category computed
83
+ */
84
+ export const isSome = (ref) => RefSubject.map(ref, Option.isSome);
85
+ /**
86
+ * Check if the current state of a RefOption is None.
87
+ * @since 1.18.0
88
+ * @category computed
89
+ */
90
+ export const isNone = (ref) => RefSubject.map(ref, Option.isNone);
91
+ /**
92
+ * Check if the current state of a RefOption contains a value.
93
+ * @since 1.18.0
94
+ * @category computed
95
+ */
96
+ export const contains = dual(2, function contains(ref, value) {
97
+ return RefSubject.map(ref, (self) => Option.contains(self, value));
98
+ });
99
+ /**
100
+ * Check if the value inside the Option satisfies a predicate.
101
+ * @since 1.18.0
102
+ * @category computed
103
+ */
104
+ export const exists = dual(2, function exists(ref, predicate) {
105
+ return RefSubject.map(ref, (self) => Option.exists(self, predicate));
106
+ });
107
+ // ========================================
108
+ // Filtered
109
+ // ========================================
110
+ /**
111
+ * Get the value from the Option as a Filtered (fails if None).
112
+ * @since 1.18.0
113
+ * @category filtered
114
+ */
115
+ export const getValue = (ref) => RefSubject.compact(ref);
@@ -0,0 +1,264 @@
1
+ /**
2
+ * Extensions to RefSubject for working with Record values
3
+ * @since 1.18.0
4
+ */
5
+ import type * as Effect from "effect/Effect";
6
+ import * as Option from "effect/Option";
7
+ import * as Record from "effect/Record";
8
+ import type * as Scope from "effect/Scope";
9
+ import type * as Fx from "../Fx/index.js";
10
+ import * as RefSubject from "./RefSubject.js";
11
+ /**
12
+ * A RefRecord is a RefSubject specialized over a Record.
13
+ * @since 1.18.0
14
+ * @category models
15
+ */
16
+ export interface RefRecord<in out K extends string, in out V, in out E = never, out R = never> extends RefSubject.RefSubject<Record.ReadonlyRecord<K, V>, E, R> {
17
+ }
18
+ /**
19
+ * Creates a new `RefRecord` from a Record, `Effect`, or `Fx`.
20
+ * @since 1.18.0
21
+ * @category constructors
22
+ */
23
+ export declare function make<K extends string, V, E, R>(initial: Record.ReadonlyRecord<K, V> | Effect.Effect<Record.ReadonlyRecord<K, V>, E, R> | Fx.Fx<Record.ReadonlyRecord<K, V>, E, R>): Effect.Effect<RefRecord<K, V, E>, never, R | Scope.Scope>;
24
+ /**
25
+ * Set a key-value pair in the Record.
26
+ * @since 1.18.0
27
+ * @category combinators
28
+ */
29
+ export declare const set: {
30
+ <K extends string, V>(key: K, value: V): <E, R>(ref: RefRecord<K, V, E, R>) => Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
31
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, key: K, value: V): Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
32
+ };
33
+ /**
34
+ * Remove a key from the Record.
35
+ * @since 1.18.0
36
+ * @category combinators
37
+ */
38
+ export declare const remove: {
39
+ <K extends string>(key: K): <V, E, R>(ref: RefRecord<K, V, E, R>) => Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
40
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, key: K): Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
41
+ };
42
+ /**
43
+ * Modify the value at a key if it exists.
44
+ * @since 1.18.0
45
+ * @category combinators
46
+ */
47
+ export declare const modify: {
48
+ <K extends string, V>(key: K, f: (v: V) => V): <E, R>(ref: RefRecord<K, V, E, R>) => Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
49
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, key: K, f: (v: V) => V): Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
50
+ };
51
+ /**
52
+ * Replace the value at a key if it exists.
53
+ * @since 1.18.0
54
+ * @category combinators
55
+ */
56
+ export declare const replace: {
57
+ <K extends string, V>(key: K, value: V): <E, R>(ref: RefRecord<K, V, E, R>) => Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
58
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, key: K, value: V): Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
59
+ };
60
+ /**
61
+ * Clear all entries from the Record.
62
+ * @since 1.18.0
63
+ * @category combinators
64
+ */
65
+ export declare const clear: <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>) => Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
66
+ /**
67
+ * Union with another record.
68
+ * @since 1.18.0
69
+ * @category combinators
70
+ */
71
+ export declare const union: {
72
+ <K extends string, V>(that: Record.ReadonlyRecord<K, V>, combine?: (selfValue: V, thatValue: V) => V): <E, R>(ref: RefRecord<K, V, E, R>) => Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
73
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, that: Record.ReadonlyRecord<K, V>, combine?: (selfValue: V, thatValue: V) => V): Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
74
+ };
75
+ /**
76
+ * Intersection with another record.
77
+ * @since 1.18.0
78
+ * @category combinators
79
+ */
80
+ export declare const intersection: {
81
+ <K extends string, V>(that: Record.ReadonlyRecord<K, V>, combine?: (selfValue: V, thatValue: V) => V): <E, R>(ref: RefRecord<K, V, E, R>) => Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
82
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, that: Record.ReadonlyRecord<K, V>, combine?: (selfValue: V, thatValue: V) => V): Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
83
+ };
84
+ /**
85
+ * Difference with another record.
86
+ * @since 1.18.0
87
+ * @category combinators
88
+ */
89
+ export declare const difference: {
90
+ <K extends string, V>(that: Record.ReadonlyRecord<K, V>): <E, R>(ref: RefRecord<K, V, E, R>) => Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
91
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, that: Record.ReadonlyRecord<K, V>): Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
92
+ };
93
+ /**
94
+ * Filter entries in place.
95
+ * @since 1.18.0
96
+ * @category combinators
97
+ */
98
+ export declare const filter: {
99
+ <K extends string, V>(predicate: (value: V, key: K) => boolean): <E, R>(ref: RefRecord<K, V, E, R>) => Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
100
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, predicate: (value: V, key: K) => boolean): Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
101
+ };
102
+ /**
103
+ * Map values in place (endomorphic).
104
+ * @since 1.18.0
105
+ * @category combinators
106
+ */
107
+ export declare const map: {
108
+ <K extends string, V>(f: (value: V, key: K) => V): <E, R>(ref: RefRecord<K, V, E, R>) => Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
109
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, f: (value: V, key: K) => V): Effect.Effect<Record.ReadonlyRecord<K, V>, E, R>;
110
+ };
111
+ /**
112
+ * Get the current size of the Record.
113
+ * @since 1.18.0
114
+ * @category computed
115
+ */
116
+ export declare const size: <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Computed<number, E, R>;
117
+ /**
118
+ * Check if the Record is empty.
119
+ * @since 1.18.0
120
+ * @category computed
121
+ */
122
+ export declare const isEmpty: <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Computed<boolean, E, R>;
123
+ /**
124
+ * Check if the Record is non-empty.
125
+ * @since 1.18.0
126
+ * @category computed
127
+ */
128
+ export declare const isNonEmpty: <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Computed<boolean, E, R>;
129
+ /**
130
+ * Check if a key exists in the Record.
131
+ * @since 1.18.0
132
+ * @category computed
133
+ */
134
+ export declare const has: {
135
+ <K extends string>(key: K): <V, E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Computed<boolean, E, R>;
136
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, key: K): RefSubject.Computed<boolean, E, R>;
137
+ };
138
+ /**
139
+ * Get all keys from the Record.
140
+ * @since 1.18.0
141
+ * @category computed
142
+ */
143
+ export declare const keys: <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Computed<Array<K>, E, R>;
144
+ /**
145
+ * Get all values from the Record.
146
+ * @since 1.18.0
147
+ * @category computed
148
+ */
149
+ export declare const values: <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Computed<Array<V>, E, R>;
150
+ /**
151
+ * Get all entries from the Record.
152
+ * @since 1.18.0
153
+ * @category computed
154
+ */
155
+ export declare const entries: <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Computed<Array<[K, V]>, E, R>;
156
+ /**
157
+ * Map values to a different type.
158
+ * @since 1.18.0
159
+ * @category computed
160
+ */
161
+ export declare const mapValues: {
162
+ <K extends string, V, B>(f: (value: V, key: K) => B): <E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Computed<Record.ReadonlyRecord<K, B>, E, R>;
163
+ <K extends string, V, E, R, B>(ref: RefRecord<K, V, E, R>, f: (value: V, key: K) => B): RefSubject.Computed<Record.ReadonlyRecord<K, B>, E, R>;
164
+ };
165
+ /**
166
+ * Map keys to different keys.
167
+ * @since 1.18.0
168
+ * @category computed
169
+ */
170
+ export declare const mapKeys: {
171
+ <K extends string, K2 extends string>(f: (key: K) => K2): <V, E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Computed<Record.ReadonlyRecord<K2, V>, E, R>;
172
+ <K extends string, V, E, R, K2 extends string>(ref: RefRecord<K, V, E, R>, f: (key: K) => K2): RefSubject.Computed<Record.ReadonlyRecord<K2, V>, E, R>;
173
+ };
174
+ /**
175
+ * Map entries to new key-value pairs.
176
+ * @since 1.18.0
177
+ * @category computed
178
+ */
179
+ export declare const mapEntries: {
180
+ <K extends string, V, K2 extends string, B>(f: (value: V, key: K) => [K2, B]): <E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Computed<Record.ReadonlyRecord<K2, B>, E, R>;
181
+ <K extends string, V, E, R, K2 extends string, B>(ref: RefRecord<K, V, E, R>, f: (value: V, key: K) => [K2, B]): RefSubject.Computed<Record.ReadonlyRecord<K2, B>, E, R>;
182
+ };
183
+ /**
184
+ * Filter entries creating a Computed value.
185
+ * @since 1.18.0
186
+ * @category computed
187
+ */
188
+ export declare const filterValues: {
189
+ <K extends string, V>(predicate: (value: V, key: K) => boolean): <E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Computed<Record.ReadonlyRecord<K, V>, E, R>;
190
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, predicate: (value: V, key: K) => boolean): RefSubject.Computed<Record.ReadonlyRecord<K, V>, E, R>;
191
+ };
192
+ /**
193
+ * Filter and map values.
194
+ * @since 1.18.0
195
+ * @category computed
196
+ */
197
+ export declare const filterMapValues: {
198
+ <K extends string, V, B>(f: (value: V, key: K) => Option.Option<B>): <E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Computed<Record.ReadonlyRecord<K, B>, E, R>;
199
+ <K extends string, V, E, R, B>(ref: RefRecord<K, V, E, R>, f: (value: V, key: K) => Option.Option<B>): RefSubject.Computed<Record.ReadonlyRecord<K, B>, E, R>;
200
+ };
201
+ /**
202
+ * Partition entries.
203
+ * @since 1.18.0
204
+ * @category computed
205
+ */
206
+ export declare const partition: {
207
+ <K extends string, V>(predicate: (value: V, key: K) => boolean): <E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Computed<[Record.ReadonlyRecord<K, V>, Record.ReadonlyRecord<K, V>], E, R>;
208
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, predicate: (value: V, key: K) => boolean): RefSubject.Computed<[Record.ReadonlyRecord<K, V>, Record.ReadonlyRecord<K, V>], E, R>;
209
+ };
210
+ /**
211
+ * Check if any entry satisfies a predicate.
212
+ * @since 1.18.0
213
+ * @category computed
214
+ */
215
+ export declare const some: {
216
+ <K extends string, V>(predicate: (value: V, key: K) => boolean): <E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Computed<boolean, E, R>;
217
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, predicate: (value: V, key: K) => boolean): RefSubject.Computed<boolean, E, R>;
218
+ };
219
+ /**
220
+ * Check if all entries satisfy a predicate.
221
+ * @since 1.18.0
222
+ * @category computed
223
+ */
224
+ export declare const every: {
225
+ <K extends string, V>(predicate: (value: V, key: K) => boolean): <E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Computed<boolean, E, R>;
226
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, predicate: (value: V, key: K) => boolean): RefSubject.Computed<boolean, E, R>;
227
+ };
228
+ /**
229
+ * Reduce the entries to a single value.
230
+ * @since 1.18.0
231
+ * @category computed
232
+ */
233
+ export declare const reduce: {
234
+ <K extends string, V, B>(b: B, f: (b: B, value: V, key: K) => B): <E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Computed<B, E, R>;
235
+ <K extends string, V, E, R, B>(ref: RefRecord<K, V, E, R>, b: B, f: (b: B, value: V, key: K) => B): RefSubject.Computed<B, E, R>;
236
+ };
237
+ /**
238
+ * Get the value at a key as a Filtered.
239
+ * @since 1.18.0
240
+ * @category filtered
241
+ */
242
+ export declare const get: {
243
+ <K extends string>(key: K): <V, E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Filtered<V, E, R>;
244
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, key: K): RefSubject.Filtered<V, E, R>;
245
+ };
246
+ /**
247
+ * Find the first entry satisfying a predicate.
248
+ * @since 1.18.0
249
+ * @category filtered
250
+ */
251
+ export declare const findFirst: {
252
+ <K extends string, V>(predicate: (value: V, key: K) => boolean): <E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Filtered<[K, V], E, R>;
253
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, predicate: (value: V, key: K) => boolean): RefSubject.Filtered<[K, V], E, R>;
254
+ };
255
+ /**
256
+ * Pop a value at a key as a Filtered.
257
+ * @since 1.18.0
258
+ * @category filtered
259
+ */
260
+ export declare const pop: {
261
+ <K extends string>(key: K): <V, E, R>(ref: RefRecord<K, V, E, R>) => RefSubject.Filtered<[V, Record.ReadonlyRecord<K, V>], E, R>;
262
+ <K extends string, V, E, R>(ref: RefRecord<K, V, E, R>, key: K): RefSubject.Filtered<[V, Record.ReadonlyRecord<K, V>], E, R>;
263
+ };
264
+ //# sourceMappingURL=RefRecord.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RefRecord.d.ts","sourceRoot":"","sources":["../../src/RefSubject/RefRecord.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,249 @@
1
+ /**
2
+ * Extensions to RefSubject for working with Record values
3
+ * @since 1.18.0
4
+ */
5
+ import { equals } from "effect/Equal";
6
+ import { dual } from "effect/Function";
7
+ import * as Option from "effect/Option";
8
+ import * as Record from "effect/Record";
9
+ import * as RefSubject from "./RefSubject.js";
10
+ /**
11
+ * Creates a new `RefRecord` from a Record, `Effect`, or `Fx`.
12
+ * @since 1.18.0
13
+ * @category constructors
14
+ */
15
+ export function make(initial) {
16
+ return RefSubject.make(initial, { eq: equals });
17
+ }
18
+ // ========================================
19
+ // Combinators
20
+ // ========================================
21
+ /**
22
+ * Set a key-value pair in the Record.
23
+ * @since 1.18.0
24
+ * @category combinators
25
+ */
26
+ export const set = dual(3, function set(ref, key, value) {
27
+ return RefSubject.update(ref, Record.set(key, value));
28
+ });
29
+ /**
30
+ * Remove a key from the Record.
31
+ * @since 1.18.0
32
+ * @category combinators
33
+ */
34
+ export const remove = dual(2, function remove(ref, key) {
35
+ return RefSubject.update(ref, (r) => Record.remove(r, key));
36
+ });
37
+ /**
38
+ * Modify the value at a key if it exists.
39
+ * @since 1.18.0
40
+ * @category combinators
41
+ */
42
+ export const modify = dual(3, function modify(ref, key, f) {
43
+ return RefSubject.update(ref, (r) => Record.modify(r, key, f) ?? r);
44
+ });
45
+ /**
46
+ * Replace the value at a key if it exists.
47
+ * @since 1.18.0
48
+ * @category combinators
49
+ */
50
+ export const replace = dual(3, function replace(ref, key, value) {
51
+ return RefSubject.update(ref, (r) => Record.replace(r, key, value) ?? r);
52
+ });
53
+ /**
54
+ * Clear all entries from the Record.
55
+ * @since 1.18.0
56
+ * @category combinators
57
+ */
58
+ export const clear = (ref) => RefSubject.update(ref, () => Record.empty());
59
+ /**
60
+ * Union with another record.
61
+ * @since 1.18.0
62
+ * @category combinators
63
+ */
64
+ export const union = dual((args) => RefSubject.isRefSubject(args[0]), function union(ref, that, combine) {
65
+ return RefSubject.update(ref, (r) => Record.union(r, that, combine ?? ((_, b) => b)));
66
+ });
67
+ /**
68
+ * Intersection with another record.
69
+ * @since 1.18.0
70
+ * @category combinators
71
+ */
72
+ export const intersection = dual((args) => RefSubject.isRefSubject(args[0]), function intersection(ref, that, combine) {
73
+ return RefSubject.update(ref, (r) => Record.intersection(r, that, combine ?? ((_, b) => b)));
74
+ });
75
+ /**
76
+ * Difference with another record.
77
+ * @since 1.18.0
78
+ * @category combinators
79
+ */
80
+ export const difference = dual(2, function difference(ref, that) {
81
+ return RefSubject.update(ref, (r) => Record.difference(r, that));
82
+ });
83
+ /**
84
+ * Filter entries in place.
85
+ * @since 1.18.0
86
+ * @category combinators
87
+ */
88
+ export const filter = dual(2, function filter(ref, predicate) {
89
+ return RefSubject.update(ref, (r) => Record.filter(r, predicate));
90
+ });
91
+ /**
92
+ * Map values in place (endomorphic).
93
+ * @since 1.18.0
94
+ * @category combinators
95
+ */
96
+ export const map = dual(2, function map(ref, f) {
97
+ return RefSubject.update(ref, (r) => Record.map(r, f));
98
+ });
99
+ // ========================================
100
+ // Computed
101
+ // ========================================
102
+ /**
103
+ * Get the current size of the Record.
104
+ * @since 1.18.0
105
+ * @category computed
106
+ */
107
+ export const size = (ref) => RefSubject.map(ref, Record.size);
108
+ /**
109
+ * Check if the Record is empty.
110
+ * @since 1.18.0
111
+ * @category computed
112
+ */
113
+ export const isEmpty = (ref) => RefSubject.map(ref, Record.isEmptyRecord);
114
+ /**
115
+ * Check if the Record is non-empty.
116
+ * @since 1.18.0
117
+ * @category computed
118
+ */
119
+ export const isNonEmpty = (ref) => RefSubject.map(ref, (r) => !Record.isEmptyRecord(r));
120
+ /**
121
+ * Check if a key exists in the Record.
122
+ * @since 1.18.0
123
+ * @category computed
124
+ */
125
+ export const has = dual(2, function has(ref, key) {
126
+ return RefSubject.map(ref, Record.has(key));
127
+ });
128
+ /**
129
+ * Get all keys from the Record.
130
+ * @since 1.18.0
131
+ * @category computed
132
+ */
133
+ export const keys = (ref) => RefSubject.map(ref, Record.keys);
134
+ /**
135
+ * Get all values from the Record.
136
+ * @since 1.18.0
137
+ * @category computed
138
+ */
139
+ export const values = (ref) => RefSubject.map(ref, Record.values);
140
+ /**
141
+ * Get all entries from the Record.
142
+ * @since 1.18.0
143
+ * @category computed
144
+ */
145
+ export const entries = (ref) => RefSubject.map(ref, Record.toEntries);
146
+ /**
147
+ * Map values to a different type.
148
+ * @since 1.18.0
149
+ * @category computed
150
+ */
151
+ export const mapValues = dual(2, function mapValues(ref, f) {
152
+ return RefSubject.map(ref, (r) => Record.map(r, f));
153
+ });
154
+ /**
155
+ * Map keys to different keys.
156
+ * @since 1.18.0
157
+ * @category computed
158
+ */
159
+ export const mapKeys = dual(2, function mapKeys(ref, f) {
160
+ return RefSubject.map(ref, (r) => Record.mapKeys(r, f));
161
+ });
162
+ /**
163
+ * Map entries to new key-value pairs.
164
+ * @since 1.18.0
165
+ * @category computed
166
+ */
167
+ export const mapEntries = dual(2, function mapEntries(ref, f) {
168
+ return RefSubject.map(ref, (r) => Record.mapEntries(r, f));
169
+ });
170
+ /**
171
+ * Filter entries creating a Computed value.
172
+ * @since 1.18.0
173
+ * @category computed
174
+ */
175
+ export const filterValues = dual(2, function filterValues(ref, predicate) {
176
+ return RefSubject.map(ref, (r) => Record.filter(r, predicate));
177
+ });
178
+ /**
179
+ * Filter and map values.
180
+ * @since 1.18.0
181
+ * @category computed
182
+ */
183
+ export const filterMapValues = dual(2, function filterMapValues(ref, f) {
184
+ return RefSubject.map(ref, (r) => Record.filterMap(r, f));
185
+ });
186
+ /**
187
+ * Partition entries.
188
+ * @since 1.18.0
189
+ * @category computed
190
+ */
191
+ export const partition = dual(2, function partition(ref, predicate) {
192
+ return RefSubject.map(ref, (r) => Record.partition(r, predicate));
193
+ });
194
+ /**
195
+ * Check if any entry satisfies a predicate.
196
+ * @since 1.18.0
197
+ * @category computed
198
+ */
199
+ export const some = dual(2, function some(ref, predicate) {
200
+ return RefSubject.map(ref, Record.some(predicate));
201
+ });
202
+ /**
203
+ * Check if all entries satisfy a predicate.
204
+ * @since 1.18.0
205
+ * @category computed
206
+ */
207
+ export const every = dual(2, function every(ref, predicate) {
208
+ return RefSubject.map(ref, Record.every(predicate));
209
+ });
210
+ /**
211
+ * Reduce the entries to a single value.
212
+ * @since 1.18.0
213
+ * @category computed
214
+ */
215
+ export const reduce = dual(3, function reduce(ref, b, f) {
216
+ return RefSubject.map(ref, Record.reduce(b, f));
217
+ });
218
+ // ========================================
219
+ // Filtered
220
+ // ========================================
221
+ /**
222
+ * Get the value at a key as a Filtered.
223
+ * @since 1.18.0
224
+ * @category filtered
225
+ */
226
+ export const get = dual(2, function get(ref, key) {
227
+ return RefSubject.filterMap(ref, Record.get(key));
228
+ });
229
+ /**
230
+ * Find the first entry satisfying a predicate.
231
+ * @since 1.18.0
232
+ * @category filtered
233
+ */
234
+ export const findFirst = dual(2, function findFirst(ref, predicate) {
235
+ return RefSubject.filterMap(ref, (r) => Option.fromNullishOr(Record.findFirst(r, predicate)));
236
+ });
237
+ /**
238
+ * Pop a value at a key as a Filtered.
239
+ * @since 1.18.0
240
+ * @category filtered
241
+ */
242
+ export const pop = dual(2, function pop(ref, key) {
243
+ return RefSubject.filterMap(ref, (r) => {
244
+ const result = Record.pop(r, key);
245
+ if (result === undefined)
246
+ return Option.none();
247
+ return Option.some([result[0], result[1]]);
248
+ });
249
+ });