@typed/fx 2.0.0-beta.1 → 2.0.0-beta.11

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 (664) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +35 -21
  3. package/dist/Fx/Fx.d.ts +371 -19
  4. package/dist/Fx/Fx.d.ts.map +1 -1
  5. package/dist/Fx/Fx.js +37 -6
  6. package/dist/Fx/TypeId.d.ts +52 -6
  7. package/dist/Fx/TypeId.d.ts.map +1 -1
  8. package/dist/Fx/TypeId.js +41 -4
  9. package/dist/Fx/combinators/additive.d.ts +162 -11
  10. package/dist/Fx/combinators/additive.d.ts.map +1 -1
  11. package/dist/Fx/combinators/additive.js +162 -11
  12. package/dist/Fx/combinators/catch.d.ts +202 -29
  13. package/dist/Fx/combinators/catch.d.ts.map +1 -1
  14. package/dist/Fx/combinators/catch.js +193 -23
  15. package/dist/Fx/combinators/causes.d.ts +25 -2
  16. package/dist/Fx/combinators/causes.d.ts.map +1 -1
  17. package/dist/Fx/combinators/causes.js +25 -2
  18. package/dist/Fx/combinators/changesWithEffect.d.ts +21 -1
  19. package/dist/Fx/combinators/changesWithEffect.d.ts.map +1 -1
  20. package/dist/Fx/combinators/changesWithEffect.js +21 -1
  21. package/dist/Fx/combinators/compact.d.ts +18 -1
  22. package/dist/Fx/combinators/compact.d.ts.map +1 -1
  23. package/dist/Fx/combinators/compact.js +18 -1
  24. package/dist/Fx/combinators/concatMap.d.ts +86 -0
  25. package/dist/Fx/combinators/concatMap.d.ts.map +1 -0
  26. package/dist/Fx/combinators/concatMap.js +86 -0
  27. package/dist/Fx/combinators/continueWith.d.ts +113 -5
  28. package/dist/Fx/combinators/continueWith.d.ts.map +1 -1
  29. package/dist/Fx/combinators/continueWith.js +113 -5
  30. package/dist/Fx/combinators/debounce.d.ts +34 -0
  31. package/dist/Fx/combinators/debounce.d.ts.map +1 -0
  32. package/dist/Fx/combinators/debounce.js +35 -0
  33. package/dist/Fx/combinators/delay.d.ts +36 -0
  34. package/dist/Fx/combinators/delay.d.ts.map +1 -0
  35. package/dist/Fx/combinators/delay.js +33 -0
  36. package/dist/Fx/combinators/dropUntil.d.ts +44 -2
  37. package/dist/Fx/combinators/dropUntil.d.ts.map +1 -1
  38. package/dist/Fx/combinators/dropUntil.js +44 -2
  39. package/dist/Fx/combinators/during.d.ts +38 -0
  40. package/dist/Fx/combinators/during.d.ts.map +1 -0
  41. package/dist/Fx/combinators/during.js +85 -0
  42. package/dist/Fx/combinators/ensuring.d.ts +34 -4
  43. package/dist/Fx/combinators/ensuring.d.ts.map +1 -1
  44. package/dist/Fx/combinators/ensuring.js +34 -4
  45. package/dist/Fx/combinators/exhaustLatestMap.d.ts +41 -5
  46. package/dist/Fx/combinators/exhaustLatestMap.d.ts.map +1 -1
  47. package/dist/Fx/combinators/exhaustLatestMap.js +41 -5
  48. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts +40 -4
  49. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts.map +1 -1
  50. package/dist/Fx/combinators/exhaustLatestMapEffect.js +40 -4
  51. package/dist/Fx/combinators/exhaustMap.d.ts +38 -1
  52. package/dist/Fx/combinators/exhaustMap.d.ts.map +1 -1
  53. package/dist/Fx/combinators/exhaustMap.js +38 -1
  54. package/dist/Fx/combinators/exhaustMapEffect.d.ts +33 -1
  55. package/dist/Fx/combinators/exhaustMapEffect.d.ts.map +1 -1
  56. package/dist/Fx/combinators/exhaustMapEffect.js +33 -1
  57. package/dist/Fx/combinators/exit.d.ts +23 -2
  58. package/dist/Fx/combinators/exit.d.ts.map +1 -1
  59. package/dist/Fx/combinators/exit.js +23 -2
  60. package/dist/Fx/combinators/filter.d.ts +17 -1
  61. package/dist/Fx/combinators/filter.d.ts.map +1 -1
  62. package/dist/Fx/combinators/filter.js +17 -1
  63. package/dist/Fx/combinators/filterEffect.d.ts +22 -1
  64. package/dist/Fx/combinators/filterEffect.d.ts.map +1 -1
  65. package/dist/Fx/combinators/filterEffect.js +22 -1
  66. package/dist/Fx/combinators/filterMap.d.ts +20 -1
  67. package/dist/Fx/combinators/filterMap.d.ts.map +1 -1
  68. package/dist/Fx/combinators/filterMap.js +20 -1
  69. package/dist/Fx/combinators/filterMapEffect.d.ts +21 -1
  70. package/dist/Fx/combinators/filterMapEffect.d.ts.map +1 -1
  71. package/dist/Fx/combinators/filterMapEffect.js +21 -1
  72. package/dist/Fx/combinators/filterMapLoop.d.ts +20 -1
  73. package/dist/Fx/combinators/filterMapLoop.d.ts.map +1 -1
  74. package/dist/Fx/combinators/filterMapLoop.js +20 -1
  75. package/dist/Fx/combinators/filterMapLoopCause.d.ts +21 -1
  76. package/dist/Fx/combinators/filterMapLoopCause.d.ts.map +1 -1
  77. package/dist/Fx/combinators/filterMapLoopCause.js +21 -1
  78. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts +21 -1
  79. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts.map +1 -1
  80. package/dist/Fx/combinators/filterMapLoopCauseEffect.js +21 -1
  81. package/dist/Fx/combinators/filterMapLoopEffect.d.ts +21 -1
  82. package/dist/Fx/combinators/filterMapLoopEffect.d.ts.map +1 -1
  83. package/dist/Fx/combinators/filterMapLoopEffect.js +21 -1
  84. package/dist/Fx/combinators/flatMap.d.ts +50 -5
  85. package/dist/Fx/combinators/flatMap.d.ts.map +1 -1
  86. package/dist/Fx/combinators/flatMap.js +36 -3
  87. package/dist/Fx/combinators/flatMapConcurrently.d.ts +51 -4
  88. package/dist/Fx/combinators/flatMapConcurrently.d.ts.map +1 -1
  89. package/dist/Fx/combinators/flatMapConcurrently.js +48 -2
  90. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts +48 -4
  91. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts.map +1 -1
  92. package/dist/Fx/combinators/flatMapConcurrentlyEffect.js +40 -2
  93. package/dist/Fx/combinators/flatMapEffect.d.ts +46 -4
  94. package/dist/Fx/combinators/flatMapEffect.d.ts.map +1 -1
  95. package/dist/Fx/combinators/flatMapEffect.js +32 -2
  96. package/dist/Fx/combinators/flip.d.ts +34 -2
  97. package/dist/Fx/combinators/flip.d.ts.map +1 -1
  98. package/dist/Fx/combinators/flip.js +34 -2
  99. package/dist/Fx/combinators/gen.d.ts +29 -10
  100. package/dist/Fx/combinators/gen.d.ts.map +1 -1
  101. package/dist/Fx/combinators/gen.js +28 -4
  102. package/dist/Fx/combinators/genScoped.d.ts +33 -10
  103. package/dist/Fx/combinators/genScoped.d.ts.map +1 -1
  104. package/dist/Fx/combinators/genScoped.js +31 -3
  105. package/dist/Fx/combinators/grouped.d.ts +89 -0
  106. package/dist/Fx/combinators/grouped.d.ts.map +1 -0
  107. package/dist/Fx/combinators/grouped.js +146 -0
  108. package/dist/Fx/combinators/index.d.ts +35 -0
  109. package/dist/Fx/combinators/index.d.ts.map +1 -1
  110. package/dist/Fx/combinators/index.js +35 -0
  111. package/dist/Fx/combinators/keyed.d.ts +123 -9
  112. package/dist/Fx/combinators/keyed.d.ts.map +1 -1
  113. package/dist/Fx/combinators/keyed.js +69 -11
  114. package/dist/Fx/combinators/loop.d.ts +17 -1
  115. package/dist/Fx/combinators/loop.d.ts.map +1 -1
  116. package/dist/Fx/combinators/loop.js +17 -1
  117. package/dist/Fx/combinators/loopCause.d.ts +18 -1
  118. package/dist/Fx/combinators/loopCause.d.ts.map +1 -1
  119. package/dist/Fx/combinators/loopCause.js +18 -1
  120. package/dist/Fx/combinators/loopCauseEffect.d.ts +19 -1
  121. package/dist/Fx/combinators/loopCauseEffect.d.ts.map +1 -1
  122. package/dist/Fx/combinators/loopCauseEffect.js +19 -1
  123. package/dist/Fx/combinators/loopEffect.d.ts +24 -1
  124. package/dist/Fx/combinators/loopEffect.d.ts.map +1 -1
  125. package/dist/Fx/combinators/loopEffect.js +24 -1
  126. package/dist/Fx/combinators/map.d.ts +46 -1
  127. package/dist/Fx/combinators/map.d.ts.map +1 -1
  128. package/dist/Fx/combinators/map.js +43 -1
  129. package/dist/Fx/combinators/mapBoth.d.ts +20 -1
  130. package/dist/Fx/combinators/mapBoth.d.ts.map +1 -1
  131. package/dist/Fx/combinators/mapBoth.js +20 -1
  132. package/dist/Fx/combinators/mapEffect.d.ts +25 -1
  133. package/dist/Fx/combinators/mapEffect.d.ts.map +1 -1
  134. package/dist/Fx/combinators/mapEffect.js +25 -1
  135. package/dist/Fx/combinators/mapError.d.ts +21 -5
  136. package/dist/Fx/combinators/mapError.d.ts.map +1 -1
  137. package/dist/Fx/combinators/mapError.js +21 -5
  138. package/dist/Fx/combinators/mergeAll.d.ts +35 -1
  139. package/dist/Fx/combinators/mergeAll.d.ts.map +1 -1
  140. package/dist/Fx/combinators/mergeAll.js +35 -1
  141. package/dist/Fx/combinators/mergeOrdered.d.ts +36 -4
  142. package/dist/Fx/combinators/mergeOrdered.d.ts.map +1 -1
  143. package/dist/Fx/combinators/mergeOrdered.js +68 -14
  144. package/dist/Fx/combinators/onError.d.ts +34 -4
  145. package/dist/Fx/combinators/onError.d.ts.map +1 -1
  146. package/dist/Fx/combinators/onError.js +34 -4
  147. package/dist/Fx/combinators/onExit.d.ts +29 -3
  148. package/dist/Fx/combinators/onExit.d.ts.map +1 -1
  149. package/dist/Fx/combinators/onExit.js +29 -3
  150. package/dist/Fx/combinators/onInterrupt.d.ts +49 -4
  151. package/dist/Fx/combinators/onInterrupt.d.ts.map +1 -1
  152. package/dist/Fx/combinators/onInterrupt.js +49 -4
  153. package/dist/Fx/combinators/pairwise.d.ts +28 -0
  154. package/dist/Fx/combinators/pairwise.d.ts.map +1 -0
  155. package/dist/Fx/combinators/pairwise.js +31 -0
  156. package/dist/Fx/combinators/provide.d.ts +141 -20
  157. package/dist/Fx/combinators/provide.d.ts.map +1 -1
  158. package/dist/Fx/combinators/provide.js +137 -16
  159. package/dist/Fx/combinators/race.d.ts +92 -0
  160. package/dist/Fx/combinators/race.d.ts.map +1 -0
  161. package/dist/Fx/combinators/race.js +149 -0
  162. package/dist/Fx/combinators/repeat.d.ts +41 -0
  163. package/dist/Fx/combinators/repeat.d.ts.map +1 -0
  164. package/dist/Fx/combinators/repeat.js +57 -0
  165. package/dist/Fx/combinators/result.d.ts +23 -1
  166. package/dist/Fx/combinators/result.d.ts.map +1 -1
  167. package/dist/Fx/combinators/result.js +27 -13
  168. package/dist/Fx/combinators/retry.d.ts +53 -0
  169. package/dist/Fx/combinators/retry.d.ts.map +1 -0
  170. package/dist/Fx/combinators/retry.js +71 -0
  171. package/dist/Fx/combinators/sample.d.ts +31 -0
  172. package/dist/Fx/combinators/sample.d.ts.map +1 -0
  173. package/dist/Fx/combinators/sample.js +42 -0
  174. package/dist/Fx/combinators/scan.d.ts +41 -2
  175. package/dist/Fx/combinators/scan.d.ts.map +1 -1
  176. package/dist/Fx/combinators/scan.js +43 -4
  177. package/dist/Fx/combinators/since.d.ts +30 -0
  178. package/dist/Fx/combinators/since.d.ts.map +1 -0
  179. package/dist/Fx/combinators/since.js +39 -0
  180. package/dist/Fx/combinators/skip.d.ts +33 -2
  181. package/dist/Fx/combinators/skip.d.ts.map +1 -1
  182. package/dist/Fx/combinators/skip.js +33 -2
  183. package/dist/Fx/combinators/skipRepeats.d.ts +17 -1
  184. package/dist/Fx/combinators/skipRepeats.d.ts.map +1 -1
  185. package/dist/Fx/combinators/skipRepeats.js +17 -1
  186. package/dist/Fx/combinators/skipRepeatsWith.d.ts +18 -1
  187. package/dist/Fx/combinators/skipRepeatsWith.d.ts.map +1 -1
  188. package/dist/Fx/combinators/skipRepeatsWith.js +18 -1
  189. package/dist/Fx/combinators/skipWhile.d.ts +72 -4
  190. package/dist/Fx/combinators/skipWhile.d.ts.map +1 -1
  191. package/dist/Fx/combinators/skipWhile.js +72 -4
  192. package/dist/Fx/combinators/slice.d.ts +85 -3
  193. package/dist/Fx/combinators/slice.d.ts.map +1 -1
  194. package/dist/Fx/combinators/slice.js +35 -2
  195. package/dist/Fx/combinators/switchMap.d.ts +39 -1
  196. package/dist/Fx/combinators/switchMap.d.ts.map +1 -1
  197. package/dist/Fx/combinators/switchMap.js +43 -5
  198. package/dist/Fx/combinators/switchMapEffect.d.ts +38 -1
  199. package/dist/Fx/combinators/switchMapEffect.d.ts.map +1 -1
  200. package/dist/Fx/combinators/switchMapEffect.js +38 -1
  201. package/dist/Fx/combinators/take.d.ts +34 -2
  202. package/dist/Fx/combinators/take.d.ts.map +1 -1
  203. package/dist/Fx/combinators/take.js +34 -2
  204. package/dist/Fx/combinators/takeUntil.d.ts +49 -3
  205. package/dist/Fx/combinators/takeUntil.d.ts.map +1 -1
  206. package/dist/Fx/combinators/takeUntil.js +49 -3
  207. package/dist/Fx/combinators/takeWhile.d.ts +33 -2
  208. package/dist/Fx/combinators/takeWhile.d.ts.map +1 -1
  209. package/dist/Fx/combinators/takeWhile.js +33 -2
  210. package/dist/Fx/combinators/tapEffect.d.ts +17 -1
  211. package/dist/Fx/combinators/tapEffect.d.ts.map +1 -1
  212. package/dist/Fx/combinators/tapEffect.js +17 -1
  213. package/dist/Fx/combinators/throttle.d.ts +79 -0
  214. package/dist/Fx/combinators/throttle.d.ts.map +1 -0
  215. package/dist/Fx/combinators/throttle.js +99 -0
  216. package/dist/Fx/combinators/timeout.d.ts +76 -0
  217. package/dist/Fx/combinators/timeout.d.ts.map +1 -0
  218. package/dist/Fx/combinators/timeout.js +110 -0
  219. package/dist/Fx/combinators/tuple.d.ts +32 -2
  220. package/dist/Fx/combinators/tuple.d.ts.map +1 -1
  221. package/dist/Fx/combinators/tuple.js +36 -5
  222. package/dist/Fx/combinators/until.d.ts +27 -0
  223. package/dist/Fx/combinators/until.d.ts.map +1 -0
  224. package/dist/Fx/combinators/until.js +56 -0
  225. package/dist/Fx/combinators/unwrap.d.ts +31 -2
  226. package/dist/Fx/combinators/unwrap.d.ts.map +1 -1
  227. package/dist/Fx/combinators/unwrap.js +30 -1
  228. package/dist/Fx/combinators/unwrapScoped.d.ts +34 -1
  229. package/dist/Fx/combinators/unwrapScoped.d.ts.map +1 -1
  230. package/dist/Fx/combinators/unwrapScoped.js +34 -1
  231. package/dist/Fx/combinators/when.d.ts +37 -2
  232. package/dist/Fx/combinators/when.d.ts.map +1 -1
  233. package/dist/Fx/combinators/when.js +38 -3
  234. package/dist/Fx/combinators/withLatestFrom.d.ts +58 -0
  235. package/dist/Fx/combinators/withLatestFrom.d.ts.map +1 -0
  236. package/dist/Fx/combinators/withLatestFrom.js +68 -0
  237. package/dist/Fx/combinators/withSpan.d.ts +35 -1
  238. package/dist/Fx/combinators/withSpan.d.ts.map +1 -1
  239. package/dist/Fx/combinators/withSpan.js +34 -3
  240. package/dist/Fx/combinators/zip.d.ts +64 -4
  241. package/dist/Fx/combinators/zip.d.ts.map +1 -1
  242. package/dist/Fx/combinators/zip.js +64 -4
  243. package/dist/Fx/constructors/at.d.ts +21 -1
  244. package/dist/Fx/constructors/at.d.ts.map +1 -1
  245. package/dist/Fx/constructors/at.js +21 -1
  246. package/dist/Fx/constructors/die.d.ts +22 -1
  247. package/dist/Fx/constructors/die.d.ts.map +1 -1
  248. package/dist/Fx/constructors/die.js +22 -1
  249. package/dist/Fx/constructors/empty.d.ts +19 -1
  250. package/dist/Fx/constructors/empty.d.ts.map +1 -1
  251. package/dist/Fx/constructors/empty.js +19 -1
  252. package/dist/Fx/constructors/fail.d.ts +22 -1
  253. package/dist/Fx/constructors/fail.d.ts.map +1 -1
  254. package/dist/Fx/constructors/fail.js +22 -1
  255. package/dist/Fx/constructors/failCause.d.ts +23 -1
  256. package/dist/Fx/constructors/failCause.d.ts.map +1 -1
  257. package/dist/Fx/constructors/failCause.js +23 -1
  258. package/dist/Fx/constructors/fn.d.ts +116 -16
  259. package/dist/Fx/constructors/fn.d.ts.map +1 -1
  260. package/dist/Fx/constructors/fn.js +36 -0
  261. package/dist/Fx/constructors/fromEffect.d.ts +45 -3
  262. package/dist/Fx/constructors/fromEffect.d.ts.map +1 -1
  263. package/dist/Fx/constructors/fromEffect.js +45 -3
  264. package/dist/Fx/constructors/fromFailures.d.ts +25 -1
  265. package/dist/Fx/constructors/fromFailures.d.ts.map +1 -1
  266. package/dist/Fx/constructors/fromFailures.js +25 -1
  267. package/dist/Fx/constructors/fromIterable.d.ts +23 -1
  268. package/dist/Fx/constructors/fromIterable.d.ts.map +1 -1
  269. package/dist/Fx/constructors/fromIterable.js +23 -1
  270. package/dist/Fx/constructors/fromSchedule.d.ts +26 -1
  271. package/dist/Fx/constructors/fromSchedule.d.ts.map +1 -1
  272. package/dist/Fx/constructors/fromSchedule.js +28 -3
  273. package/dist/Fx/constructors/index.d.ts +2 -1
  274. package/dist/Fx/constructors/index.d.ts.map +1 -1
  275. package/dist/Fx/constructors/index.js +2 -1
  276. package/dist/Fx/constructors/interrupt.d.ts +22 -2
  277. package/dist/Fx/constructors/interrupt.d.ts.map +1 -1
  278. package/dist/Fx/constructors/interrupt.js +22 -2
  279. package/dist/Fx/constructors/make.d.ts +151 -4
  280. package/dist/Fx/constructors/make.d.ts.map +1 -1
  281. package/dist/Fx/constructors/make.js +60 -7
  282. package/dist/Fx/constructors/periodic.d.ts +30 -1
  283. package/dist/Fx/constructors/periodic.d.ts.map +1 -1
  284. package/dist/Fx/constructors/periodic.js +30 -1
  285. package/dist/Fx/constructors/succeed.d.ts +79 -7
  286. package/dist/Fx/constructors/succeed.d.ts.map +1 -1
  287. package/dist/Fx/constructors/succeed.js +79 -7
  288. package/dist/Fx/constructors/suspend.d.ts +28 -0
  289. package/dist/Fx/constructors/suspend.d.ts.map +1 -1
  290. package/dist/Fx/constructors/suspend.js +28 -0
  291. package/dist/Fx/constructors/sync.d.ts +32 -0
  292. package/dist/Fx/constructors/sync.d.ts.map +1 -0
  293. package/dist/Fx/constructors/sync.js +32 -0
  294. package/dist/Fx/internal/DeferredRef.d.ts +259 -7
  295. package/dist/Fx/internal/DeferredRef.d.ts.map +1 -1
  296. package/dist/Fx/internal/DeferredRef.js +260 -9
  297. package/dist/Fx/internal/UnionToTuple.d.ts +22 -0
  298. package/dist/Fx/internal/UnionToTuple.d.ts.map +1 -1
  299. package/dist/Fx/internal/diff.d.ts +586 -0
  300. package/dist/Fx/internal/diff.d.ts.map +1 -1
  301. package/dist/Fx/internal/diff.js +120 -9
  302. package/dist/Fx/internal/effectableEvaluateKey.d.ts +30 -0
  303. package/dist/Fx/internal/effectableEvaluateKey.d.ts.map +1 -0
  304. package/dist/Fx/internal/effectableEvaluateKey.js +29 -0
  305. package/dist/Fx/internal/effectableWithOverride.d.ts +70 -0
  306. package/dist/Fx/internal/effectableWithOverride.d.ts.map +1 -0
  307. package/dist/Fx/internal/effectableWithOverride.js +54 -0
  308. package/dist/Fx/internal/equivalence.d.ts +29 -0
  309. package/dist/Fx/internal/equivalence.d.ts.map +1 -1
  310. package/dist/Fx/internal/equivalence.js +29 -0
  311. package/dist/Fx/internal/multicast.d.ts +145 -2
  312. package/dist/Fx/internal/multicast.d.ts.map +1 -1
  313. package/dist/Fx/internal/multicast.js +146 -4
  314. package/dist/Fx/internal/ring-buffer.d.ts +149 -0
  315. package/dist/Fx/internal/ring-buffer.d.ts.map +1 -1
  316. package/dist/Fx/internal/ring-buffer.js +155 -0
  317. package/dist/Fx/internal/scope.d.ts +184 -0
  318. package/dist/Fx/internal/scope.d.ts.map +1 -1
  319. package/dist/Fx/internal/scope.js +150 -0
  320. package/dist/Fx/internal/yieldable.d.ts +117 -2
  321. package/dist/Fx/internal/yieldable.d.ts.map +1 -1
  322. package/dist/Fx/internal/yieldable.js +86 -3
  323. package/dist/Fx/run/collect.d.ts +93 -4
  324. package/dist/Fx/run/collect.d.ts.map +1 -1
  325. package/dist/Fx/run/collect.js +94 -5
  326. package/dist/Fx/run/first.d.ts +23 -1
  327. package/dist/Fx/run/first.d.ts.map +1 -1
  328. package/dist/Fx/run/first.js +23 -1
  329. package/dist/Fx/run/fork.d.ts +52 -2
  330. package/dist/Fx/run/fork.d.ts.map +1 -1
  331. package/dist/Fx/run/fork.js +52 -2
  332. package/dist/Fx/run/observe.d.ts +112 -4
  333. package/dist/Fx/run/observe.d.ts.map +1 -1
  334. package/dist/Fx/run/observe.js +137 -16
  335. package/dist/Fx/run/runPromise.d.ts +45 -2
  336. package/dist/Fx/run/runPromise.d.ts.map +1 -1
  337. package/dist/Fx/run/runPromise.js +45 -2
  338. package/dist/Fx/stream.d.ts +92 -0
  339. package/dist/Fx/stream.d.ts.map +1 -1
  340. package/dist/Fx/stream.js +60 -1
  341. package/dist/Push/Push.d.ts +1229 -104
  342. package/dist/Push/Push.d.ts.map +1 -1
  343. package/dist/Push/Push.js +1024 -95
  344. package/dist/RefArray.d.ts +2 -0
  345. package/dist/RefArray.d.ts.map +1 -0
  346. package/dist/RefArray.js +1 -0
  347. package/dist/RefBigDecimal.d.ts +2 -0
  348. package/dist/RefBigDecimal.d.ts.map +1 -0
  349. package/dist/RefBigDecimal.js +1 -0
  350. package/dist/RefBigInt.d.ts +2 -0
  351. package/dist/RefBigInt.d.ts.map +1 -0
  352. package/dist/RefBigInt.js +1 -0
  353. package/dist/RefBoolean.d.ts +2 -0
  354. package/dist/RefBoolean.d.ts.map +1 -0
  355. package/dist/RefBoolean.js +1 -0
  356. package/dist/RefCause.d.ts +2 -0
  357. package/dist/RefCause.d.ts.map +1 -0
  358. package/dist/RefCause.js +1 -0
  359. package/dist/RefChunk.d.ts +2 -0
  360. package/dist/RefChunk.d.ts.map +1 -0
  361. package/dist/RefChunk.js +1 -0
  362. package/dist/RefDateTime.d.ts +2 -0
  363. package/dist/RefDateTime.d.ts.map +1 -0
  364. package/dist/RefDateTime.js +1 -0
  365. package/dist/RefDuration.d.ts +2 -0
  366. package/dist/RefDuration.d.ts.map +1 -0
  367. package/dist/RefDuration.js +1 -0
  368. package/dist/RefGraph.d.ts +2 -0
  369. package/dist/RefGraph.d.ts.map +1 -0
  370. package/dist/RefGraph.js +1 -0
  371. package/dist/RefHashMap.d.ts +2 -0
  372. package/dist/RefHashMap.d.ts.map +1 -0
  373. package/dist/RefHashMap.js +1 -0
  374. package/dist/RefHashRing.d.ts +2 -0
  375. package/dist/RefHashRing.d.ts.map +1 -0
  376. package/dist/RefHashRing.js +1 -0
  377. package/dist/RefHashSet.d.ts +2 -0
  378. package/dist/RefHashSet.d.ts.map +1 -0
  379. package/dist/RefHashSet.js +1 -0
  380. package/dist/RefIterable.d.ts +2 -0
  381. package/dist/RefIterable.d.ts.map +1 -0
  382. package/dist/RefIterable.js +1 -0
  383. package/dist/RefOption.d.ts +2 -0
  384. package/dist/RefOption.d.ts.map +1 -0
  385. package/dist/RefOption.js +1 -0
  386. package/dist/RefRecord.d.ts +2 -0
  387. package/dist/RefRecord.d.ts.map +1 -0
  388. package/dist/RefRecord.js +1 -0
  389. package/dist/RefResult.d.ts +2 -0
  390. package/dist/RefResult.d.ts.map +1 -0
  391. package/dist/RefResult.js +1 -0
  392. package/dist/RefString.d.ts +2 -0
  393. package/dist/RefString.d.ts.map +1 -0
  394. package/dist/RefString.js +1 -0
  395. package/dist/RefStruct.d.ts +2 -0
  396. package/dist/RefStruct.d.ts.map +1 -0
  397. package/dist/RefStruct.js +1 -0
  398. package/dist/RefSubject/Hydration.d.ts +504 -0
  399. package/dist/RefSubject/Hydration.d.ts.map +1 -0
  400. package/dist/RefSubject/Hydration.js +300 -0
  401. package/dist/RefSubject/RefArray.d.ts +382 -35
  402. package/dist/RefSubject/RefArray.d.ts.map +1 -1
  403. package/dist/RefSubject/RefArray.js +374 -40
  404. package/dist/RefSubject/RefBigDecimal.d.ts +241 -21
  405. package/dist/RefSubject/RefBigDecimal.d.ts.map +1 -1
  406. package/dist/RefSubject/RefBigDecimal.js +229 -20
  407. package/dist/RefSubject/RefBigInt.d.ts +181 -16
  408. package/dist/RefSubject/RefBigInt.d.ts.map +1 -1
  409. package/dist/RefSubject/RefBigInt.js +169 -15
  410. package/dist/RefSubject/RefBoolean.d.ts +181 -16
  411. package/dist/RefSubject/RefBoolean.d.ts.map +1 -1
  412. package/dist/RefSubject/RefBoolean.js +169 -15
  413. package/dist/RefSubject/RefCause.d.ts +133 -12
  414. package/dist/RefSubject/RefCause.d.ts.map +1 -1
  415. package/dist/RefSubject/RefCause.js +121 -11
  416. package/dist/RefSubject/RefChunk.d.ts +481 -76
  417. package/dist/RefSubject/RefChunk.d.ts.map +1 -1
  418. package/dist/RefSubject/RefChunk.js +471 -75
  419. package/dist/RefSubject/RefDateTime.d.ts +133 -12
  420. package/dist/RefSubject/RefDateTime.d.ts.map +1 -1
  421. package/dist/RefSubject/RefDateTime.js +122 -12
  422. package/dist/RefSubject/RefDuration.d.ts +169 -15
  423. package/dist/RefSubject/RefDuration.d.ts.map +1 -1
  424. package/dist/RefSubject/RefDuration.js +157 -14
  425. package/dist/RefSubject/RefGraph.d.ts +349 -35
  426. package/dist/RefSubject/RefGraph.d.ts.map +1 -1
  427. package/dist/RefSubject/RefGraph.js +334 -32
  428. package/dist/RefSubject/RefHashMap.d.ts +323 -28
  429. package/dist/RefSubject/RefHashMap.d.ts.map +1 -1
  430. package/dist/RefSubject/RefHashMap.js +317 -29
  431. package/dist/RefSubject/RefHashRing.d.ts +159 -15
  432. package/dist/RefSubject/RefHashRing.d.ts.map +1 -1
  433. package/dist/RefSubject/RefHashRing.js +145 -12
  434. package/dist/RefSubject/RefHashSet.d.ts +251 -22
  435. package/dist/RefSubject/RefHashSet.d.ts.map +1 -1
  436. package/dist/RefSubject/RefHashSet.js +238 -20
  437. package/dist/RefSubject/RefIterable.d.ts +358 -32
  438. package/dist/RefSubject/RefIterable.d.ts.map +1 -1
  439. package/dist/RefSubject/RefIterable.js +350 -30
  440. package/dist/RefSubject/RefOption.d.ts +157 -14
  441. package/dist/RefSubject/RefOption.d.ts.map +1 -1
  442. package/dist/RefSubject/RefOption.js +145 -13
  443. package/dist/RefSubject/RefRecord.d.ts +402 -64
  444. package/dist/RefSubject/RefRecord.d.ts.map +1 -1
  445. package/dist/RefSubject/RefRecord.js +364 -39
  446. package/dist/RefSubject/RefResult.d.ts +167 -35
  447. package/dist/RefSubject/RefResult.d.ts.map +1 -1
  448. package/dist/RefSubject/RefResult.js +133 -12
  449. package/dist/RefSubject/RefString.d.ts +205 -18
  450. package/dist/RefSubject/RefString.d.ts.map +1 -1
  451. package/dist/RefSubject/RefString.js +193 -17
  452. package/dist/RefSubject/RefStruct.d.ts +169 -14
  453. package/dist/RefSubject/RefStruct.d.ts.map +1 -1
  454. package/dist/RefSubject/RefStruct.js +157 -13
  455. package/dist/RefSubject/RefSubject.d.ts +1197 -45
  456. package/dist/RefSubject/RefSubject.d.ts.map +1 -1
  457. package/dist/RefSubject/RefSubject.js +935 -88
  458. package/dist/RefSubject/RefTrie.d.ts +323 -37
  459. package/dist/RefSubject/RefTrie.d.ts.map +1 -1
  460. package/dist/RefSubject/RefTrie.js +311 -31
  461. package/dist/RefSubject/RefTuple.d.ts +127 -11
  462. package/dist/RefSubject/RefTuple.d.ts.map +1 -1
  463. package/dist/RefSubject/RefTuple.js +114 -9
  464. package/dist/RefSubject/index.d.ts +1 -0
  465. package/dist/RefSubject/index.d.ts.map +1 -1
  466. package/dist/RefSubject/index.js +1 -0
  467. package/dist/RefSubject.d.ts +2 -1
  468. package/dist/RefSubject.d.ts.map +1 -1
  469. package/dist/RefSubject.js +2 -1
  470. package/dist/RefTrie.d.ts +2 -0
  471. package/dist/RefTrie.d.ts.map +1 -0
  472. package/dist/RefTrie.js +1 -0
  473. package/dist/RefTuple.d.ts +2 -0
  474. package/dist/RefTuple.d.ts.map +1 -0
  475. package/dist/RefTuple.js +1 -0
  476. package/dist/Sink/Sink.d.ts +396 -23
  477. package/dist/Sink/Sink.d.ts.map +1 -1
  478. package/dist/Sink/Sink.js +55 -7
  479. package/dist/Sink/combinators.d.ts +740 -11
  480. package/dist/Sink/combinators.d.ts.map +1 -1
  481. package/dist/Sink/combinators.js +716 -14
  482. package/dist/Subject/Subject.d.ts +1022 -27
  483. package/dist/Subject/Subject.d.ts.map +1 -1
  484. package/dist/Subject/Subject.js +909 -43
  485. package/dist/Versioned/Versioned.d.ts +447 -27
  486. package/dist/Versioned/Versioned.d.ts.map +1 -1
  487. package/dist/Versioned/Versioned.js +282 -48
  488. package/dist/index.d.ts +22 -3
  489. package/dist/index.d.ts.map +1 -1
  490. package/dist/index.js +22 -3
  491. package/package.json +126 -16
  492. package/dist/Fx/constructors/fromYieldable.d.ts +0 -12
  493. package/dist/Fx/constructors/fromYieldable.d.ts.map +0 -1
  494. package/dist/Fx/constructors/fromYieldable.js +0 -12
  495. package/src/Fx/Fx.ts +0 -164
  496. package/src/Fx/TypeId.ts +0 -25
  497. package/src/Fx/combinators/additive.ts +0 -142
  498. package/src/Fx/combinators/catch.ts +0 -421
  499. package/src/Fx/combinators/causes.ts +0 -23
  500. package/src/Fx/combinators/changesWithEffect.ts +0 -66
  501. package/src/Fx/combinators/compact.ts +0 -15
  502. package/src/Fx/combinators/continueWith.ts +0 -78
  503. package/src/Fx/combinators/dropUntil.ts +0 -47
  504. package/src/Fx/combinators/ensuring.ts +0 -23
  505. package/src/Fx/combinators/exhaustLatestMap.ts +0 -74
  506. package/src/Fx/combinators/exhaustLatestMapEffect.ts +0 -25
  507. package/src/Fx/combinators/exhaustMap.ts +0 -36
  508. package/src/Fx/combinators/exhaustMapEffect.ts +0 -23
  509. package/src/Fx/combinators/exit.ts +0 -15
  510. package/src/Fx/combinators/filter.ts +0 -22
  511. package/src/Fx/combinators/filterEffect.ts +0 -31
  512. package/src/Fx/combinators/filterMap.ts +0 -23
  513. package/src/Fx/combinators/filterMapEffect.ts +0 -32
  514. package/src/Fx/combinators/filterMapLoop.ts +0 -35
  515. package/src/Fx/combinators/filterMapLoopCause.ts +0 -36
  516. package/src/Fx/combinators/filterMapLoopCauseEffect.ts +0 -46
  517. package/src/Fx/combinators/filterMapLoopEffect.ts +0 -36
  518. package/src/Fx/combinators/flatMap.ts +0 -51
  519. package/src/Fx/combinators/flatMapConcurrently.ts +0 -39
  520. package/src/Fx/combinators/flatMapConcurrentlyEffect.ts +0 -26
  521. package/src/Fx/combinators/flatMapEffect.ts +0 -42
  522. package/src/Fx/combinators/flip.ts +0 -14
  523. package/src/Fx/combinators/gen.ts +0 -24
  524. package/src/Fx/combinators/genScoped.ts +0 -24
  525. package/src/Fx/combinators/index.ts +0 -61
  526. package/src/Fx/combinators/keyed.ts +0 -369
  527. package/src/Fx/combinators/loop.ts +0 -27
  528. package/src/Fx/combinators/loopCause.ts +0 -34
  529. package/src/Fx/combinators/loopCauseEffect.ts +0 -36
  530. package/src/Fx/combinators/loopEffect.ts +0 -34
  531. package/src/Fx/combinators/map.ts +0 -22
  532. package/src/Fx/combinators/mapBoth.ts +0 -40
  533. package/src/Fx/combinators/mapEffect.ts +0 -32
  534. package/src/Fx/combinators/mapError.ts +0 -28
  535. package/src/Fx/combinators/mergeAll.ts +0 -22
  536. package/src/Fx/combinators/mergeOrdered.ts +0 -123
  537. package/src/Fx/combinators/onError.ts +0 -40
  538. package/src/Fx/combinators/onExit.ts +0 -82
  539. package/src/Fx/combinators/onInterrupt.ts +0 -87
  540. package/src/Fx/combinators/provide.ts +0 -124
  541. package/src/Fx/combinators/result.ts +0 -39
  542. package/src/Fx/combinators/scan.ts +0 -82
  543. package/src/Fx/combinators/skip.ts +0 -41
  544. package/src/Fx/combinators/skipRepeats.ts +0 -15
  545. package/src/Fx/combinators/skipRepeatsWith.ts +0 -40
  546. package/src/Fx/combinators/skipWhile.ts +0 -100
  547. package/src/Fx/combinators/slice.ts +0 -55
  548. package/src/Fx/combinators/switchMap.ts +0 -55
  549. package/src/Fx/combinators/switchMapEffect.ts +0 -25
  550. package/src/Fx/combinators/take.ts +0 -38
  551. package/src/Fx/combinators/takeUntil.ts +0 -88
  552. package/src/Fx/combinators/takeWhile.ts +0 -47
  553. package/src/Fx/combinators/tapEffect.ts +0 -39
  554. package/src/Fx/combinators/tuple.ts +0 -79
  555. package/src/Fx/combinators/unwrap.ts +0 -21
  556. package/src/Fx/combinators/unwrapScoped.ts +0 -26
  557. package/src/Fx/combinators/when.ts +0 -64
  558. package/src/Fx/combinators/withSpan.ts +0 -24
  559. package/src/Fx/combinators/zip.ts +0 -175
  560. package/src/Fx/constructors/at.ts +0 -23
  561. package/src/Fx/constructors/die.ts +0 -17
  562. package/src/Fx/constructors/empty.ts +0 -10
  563. package/src/Fx/constructors/fail.ts +0 -14
  564. package/src/Fx/constructors/failCause.ts +0 -14
  565. package/src/Fx/constructors/fn.ts +0 -245
  566. package/src/Fx/constructors/fromEffect.ts +0 -24
  567. package/src/Fx/constructors/fromFailures.ts +0 -19
  568. package/src/Fx/constructors/fromIterable.ts +0 -15
  569. package/src/Fx/constructors/fromSchedule.ts +0 -18
  570. package/src/Fx/constructors/fromYieldable.ts +0 -17
  571. package/src/Fx/constructors/index.ts +0 -15
  572. package/src/Fx/constructors/interrupt.ts +0 -13
  573. package/src/Fx/constructors/make.ts +0 -103
  574. package/src/Fx/constructors/periodic.ts +0 -15
  575. package/src/Fx/constructors/succeed.ts +0 -37
  576. package/src/Fx/constructors/suspend.ts +0 -6
  577. package/src/Fx/index.ts +0 -6
  578. package/src/Fx/internal/DeferredRef.ts +0 -87
  579. package/src/Fx/internal/UnionToTuple.ts +0 -12
  580. package/src/Fx/internal/diff.ts +0 -191
  581. package/src/Fx/internal/equivalence.ts +0 -12
  582. package/src/Fx/internal/multicast.ts +0 -51
  583. package/src/Fx/internal/ring-buffer.ts +0 -60
  584. package/src/Fx/internal/scope.ts +0 -58
  585. package/src/Fx/internal/yieldable.ts +0 -31
  586. package/src/Fx/run/collect.ts +0 -79
  587. package/src/Fx/run/first.ts +0 -20
  588. package/src/Fx/run/fork.ts +0 -40
  589. package/src/Fx/run/index.ts +0 -5
  590. package/src/Fx/run/observe.ts +0 -114
  591. package/src/Fx/run/runPromise.ts +0 -32
  592. package/src/Fx/stream.ts +0 -42
  593. package/src/Fx.additive-combinators.test.ts +0 -126
  594. package/src/Fx.catch-additive.test.ts +0 -206
  595. package/src/Fx.catch.test.ts +0 -60
  596. package/src/Fx.dropUntil.test.ts +0 -61
  597. package/src/Fx.fn.test.ts +0 -51
  598. package/src/Fx.lifecycle.test.ts +0 -79
  599. package/src/Fx.mapError-mapBoth.test.ts +0 -101
  600. package/src/Fx.provide-combinators.test.ts +0 -94
  601. package/src/Fx.result-changesWithEffect.test.ts +0 -112
  602. package/src/Fx.scan.test.ts +0 -73
  603. package/src/Fx.takeWhile-skipWhile.test.ts +0 -84
  604. package/src/Fx.test.ts +0 -71
  605. package/src/Fx.ts +0 -1
  606. package/src/Fx.zip-merge-additive.test.ts +0 -171
  607. package/src/Fx.zip.test.ts +0 -133
  608. package/src/Push/Push.ts +0 -1072
  609. package/src/Push/index.ts +0 -1
  610. package/src/Push.additive.test.ts +0 -256
  611. package/src/Push.test.ts +0 -26
  612. package/src/Push.ts +0 -1
  613. package/src/RefSubject/RefArray.ts +0 -512
  614. package/src/RefSubject/RefBigDecimal.test.ts +0 -56
  615. package/src/RefSubject/RefBigDecimal.ts +0 -295
  616. package/src/RefSubject/RefBigInt.test.ts +0 -56
  617. package/src/RefSubject/RefBigInt.ts +0 -189
  618. package/src/RefSubject/RefBoolean.test.ts +0 -57
  619. package/src/RefSubject/RefBoolean.ts +0 -185
  620. package/src/RefSubject/RefCause.test.ts +0 -53
  621. package/src/RefSubject/RefCause.ts +0 -146
  622. package/src/RefSubject/RefChunk.ts +0 -510
  623. package/src/RefSubject/RefDateTime.test.ts +0 -43
  624. package/src/RefSubject/RefDateTime.ts +0 -264
  625. package/src/RefSubject/RefDuration.test.ts +0 -49
  626. package/src/RefSubject/RefDuration.ts +0 -188
  627. package/src/RefSubject/RefGraph.ts +0 -650
  628. package/src/RefSubject/RefHashMap.ts +0 -465
  629. package/src/RefSubject/RefHashRing.ts +0 -262
  630. package/src/RefSubject/RefHashSet.ts +0 -308
  631. package/src/RefSubject/RefIterable.ts +0 -445
  632. package/src/RefSubject/RefOption.test.ts +0 -67
  633. package/src/RefSubject/RefOption.ts +0 -193
  634. package/src/RefSubject/RefRecord.ts +0 -612
  635. package/src/RefSubject/RefResult.test.ts +0 -63
  636. package/src/RefSubject/RefResult.ts +0 -209
  637. package/src/RefSubject/RefString.test.ts +0 -61
  638. package/src/RefSubject/RefString.ts +0 -256
  639. package/src/RefSubject/RefStruct.test.ts +0 -60
  640. package/src/RefSubject/RefStruct.ts +0 -253
  641. package/src/RefSubject/RefSubject.ts +0 -2646
  642. package/src/RefSubject/RefTrie.ts +0 -356
  643. package/src/RefSubject/RefTuple.test.ts +0 -60
  644. package/src/RefSubject/RefTuple.ts +0 -231
  645. package/src/RefSubject/index.ts +0 -21
  646. package/src/RefSubject.additive-parity.test.ts +0 -101
  647. package/src/RefSubject.test.ts +0 -65
  648. package/src/RefSubject.ts +0 -1
  649. package/src/Sink/Sink.ts +0 -159
  650. package/src/Sink/combinators.ts +0 -1115
  651. package/src/Sink/index.ts +0 -2
  652. package/src/Sink.combinators.test.ts +0 -88
  653. package/src/Sink.reduce-collect-head-last.test.ts +0 -107
  654. package/src/Sink.ts +0 -1
  655. package/src/Subject/Subject.ts +0 -441
  656. package/src/Subject/index.ts +0 -1
  657. package/src/Subject.test.ts +0 -47
  658. package/src/Subject.ts +0 -1
  659. package/src/Versioned/Versioned.ts +0 -597
  660. package/src/Versioned/index.ts +0 -1
  661. package/src/Versioned.filterMap.test.ts +0 -91
  662. package/src/Versioned.test.ts +0 -23
  663. package/src/Versioned.ts +0 -1
  664. package/src/index.ts +0 -7
@@ -1,295 +0,0 @@
1
- /**
2
- * Extensions to RefSubject for working with BigDecimal values
3
- * @since 1.18.0
4
- */
5
-
6
- import * as BigDecimal from "effect/BigDecimal";
7
- import type * as Effect from "effect/Effect";
8
- import { dual } from "effect/Function";
9
- import type * as Scope from "effect/Scope";
10
- import type * as Fx from "../Fx/index.js";
11
- import * as RefSubject from "./RefSubject.js";
12
-
13
- /**
14
- * A RefBigDecimal is a RefSubject specialized over a BigDecimal value.
15
- * @since 1.18.0
16
- * @category models
17
- */
18
- export interface RefBigDecimal<in out E = never, out R = never> extends RefSubject.RefSubject<
19
- BigDecimal.BigDecimal,
20
- E,
21
- R
22
- > {}
23
-
24
- /**
25
- * Creates a new `RefBigDecimal` from a BigDecimal, `Effect`, or `Fx`.
26
- *
27
- * @example
28
- * ```ts
29
- * import { Effect, BigDecimal } from "effect"
30
- * import * as RefBigDecimal from "effect/typed/fx/RefSubject/RefBigDecimal"
31
- *
32
- * const program = Effect.gen(function* () {
33
- * const value = yield* RefBigDecimal.make(BigDecimal.fromStringUnsafe("123.45"))
34
- * const current = yield* value
35
- * console.log(current) // BigDecimal(123.45)
36
- * })
37
- * ```
38
- *
39
- * @since 1.18.0
40
- * @category constructors
41
- */
42
- export function make<E = never, R = never>(
43
- initial:
44
- | BigDecimal.BigDecimal
45
- | Effect.Effect<BigDecimal.BigDecimal, E, R>
46
- | Fx.Fx<BigDecimal.BigDecimal, E, R>,
47
- ): Effect.Effect<RefBigDecimal<E>, never, R | Scope.Scope> {
48
- return RefSubject.make(initial, { eq: BigDecimal.Equivalence });
49
- }
50
-
51
- // ========================================
52
- // Computed
53
- // ========================================
54
-
55
- /**
56
- * Add a BigDecimal to the current state of a RefBigDecimal.
57
- * @since 1.18.0
58
- * @category computed
59
- */
60
- export const add: {
61
- (
62
- that: BigDecimal.BigDecimal,
63
- ): <E, R>(ref: RefBigDecimal<E, R>) => RefSubject.Computed<BigDecimal.BigDecimal, E, R>;
64
- <E, R>(
65
- ref: RefBigDecimal<E, R>,
66
- that: BigDecimal.BigDecimal,
67
- ): RefSubject.Computed<BigDecimal.BigDecimal, E, R>;
68
- } = dual(2, function add<E, R>(ref: RefBigDecimal<E, R>, that: BigDecimal.BigDecimal) {
69
- return RefSubject.map(ref, (self) => BigDecimal.sum(self, that));
70
- });
71
-
72
- /**
73
- * Subtract a BigDecimal from the current state of a RefBigDecimal.
74
- * @since 1.18.0
75
- * @category computed
76
- */
77
- export const subtract: {
78
- (
79
- that: BigDecimal.BigDecimal,
80
- ): <E, R>(ref: RefBigDecimal<E, R>) => RefSubject.Computed<BigDecimal.BigDecimal, E, R>;
81
- <E, R>(
82
- ref: RefBigDecimal<E, R>,
83
- that: BigDecimal.BigDecimal,
84
- ): RefSubject.Computed<BigDecimal.BigDecimal, E, R>;
85
- } = dual(2, function subtract<E, R>(ref: RefBigDecimal<E, R>, that: BigDecimal.BigDecimal) {
86
- return RefSubject.map(ref, (self) => BigDecimal.subtract(self, that));
87
- });
88
-
89
- /**
90
- * Multiply the current state of a RefBigDecimal by a BigDecimal.
91
- * @since 1.18.0
92
- * @category computed
93
- */
94
- export const multiply: {
95
- (
96
- that: BigDecimal.BigDecimal,
97
- ): <E, R>(ref: RefBigDecimal<E, R>) => RefSubject.Computed<BigDecimal.BigDecimal, E, R>;
98
- <E, R>(
99
- ref: RefBigDecimal<E, R>,
100
- that: BigDecimal.BigDecimal,
101
- ): RefSubject.Computed<BigDecimal.BigDecimal, E, R>;
102
- } = dual(2, function multiply<E, R>(ref: RefBigDecimal<E, R>, that: BigDecimal.BigDecimal) {
103
- return RefSubject.map(ref, (self) => BigDecimal.multiply(self, that));
104
- });
105
-
106
- /**
107
- * Divide the current state of a RefBigDecimal by a BigDecimal.
108
- * @since 1.18.0
109
- * @category computed
110
- */
111
- export const divide: {
112
- (
113
- that: BigDecimal.BigDecimal,
114
- ): <E, R>(
115
- ref: RefBigDecimal<E, R>,
116
- ) => RefSubject.Computed<BigDecimal.BigDecimal | undefined, E, R>;
117
- <E, R>(
118
- ref: RefBigDecimal<E, R>,
119
- that: BigDecimal.BigDecimal,
120
- ): RefSubject.Computed<BigDecimal.BigDecimal | undefined, E, R>;
121
- } = dual(2, function divide<E, R>(ref: RefBigDecimal<E, R>, that: BigDecimal.BigDecimal) {
122
- return RefSubject.map(ref, (self) => BigDecimal.divide(self, that));
123
- });
124
-
125
- /**
126
- * Get the absolute value of the current state of a RefBigDecimal.
127
- * @since 1.18.0
128
- * @category computed
129
- */
130
- export const abs = <E, R>(
131
- ref: RefBigDecimal<E, R>,
132
- ): RefSubject.Computed<BigDecimal.BigDecimal, E, R> => RefSubject.map(ref, BigDecimal.abs);
133
-
134
- /**
135
- * Negate the current state of a RefBigDecimal.
136
- * @since 1.18.0
137
- * @category computed
138
- */
139
- export const negate = <E, R>(
140
- ref: RefBigDecimal<E, R>,
141
- ): RefSubject.Computed<BigDecimal.BigDecimal, E, R> => RefSubject.map(ref, BigDecimal.negate);
142
-
143
- /**
144
- * Round the current state of a RefBigDecimal.
145
- * @since 1.18.0
146
- * @category computed
147
- */
148
- export const round: {
149
- (options?: {
150
- scale?: number;
151
- mode?: BigDecimal.RoundingMode;
152
- }): <E, R>(ref: RefBigDecimal<E, R>) => RefSubject.Computed<BigDecimal.BigDecimal, E, R>;
153
- <E, R>(
154
- ref: RefBigDecimal<E, R>,
155
- options?: { scale?: number; mode?: BigDecimal.RoundingMode },
156
- ): RefSubject.Computed<BigDecimal.BigDecimal, E, R>;
157
- } = dual(2, function round<
158
- E,
159
- R,
160
- >(ref: RefBigDecimal<E, R>, options?: { scale?: number; mode?: BigDecimal.RoundingMode }) {
161
- return RefSubject.map(ref, (self) => BigDecimal.round(self, options));
162
- });
163
-
164
- /**
165
- * Truncate the current state of a RefBigDecimal.
166
- * @since 1.18.0
167
- * @category computed
168
- */
169
- export const truncate: {
170
- (
171
- scale?: number,
172
- ): <E, R>(ref: RefBigDecimal<E, R>) => RefSubject.Computed<BigDecimal.BigDecimal, E, R>;
173
- <E, R>(
174
- ref: RefBigDecimal<E, R>,
175
- scale?: number,
176
- ): RefSubject.Computed<BigDecimal.BigDecimal, E, R>;
177
- } = dual(2, function truncate<E, R>(ref: RefBigDecimal<E, R>, scale?: number) {
178
- return RefSubject.map(ref, (self) => BigDecimal.truncate(self, scale));
179
- });
180
-
181
- /**
182
- * Calculate the ceiling of the current state of a RefBigDecimal.
183
- * @since 1.18.0
184
- * @category computed
185
- */
186
- export const ceil: {
187
- (
188
- scale?: number,
189
- ): <E, R>(ref: RefBigDecimal<E, R>) => RefSubject.Computed<BigDecimal.BigDecimal, E, R>;
190
- <E, R>(
191
- ref: RefBigDecimal<E, R>,
192
- scale?: number,
193
- ): RefSubject.Computed<BigDecimal.BigDecimal, E, R>;
194
- } = dual(2, function ceil<E, R>(ref: RefBigDecimal<E, R>, scale?: number) {
195
- return RefSubject.map(ref, (self) => BigDecimal.ceil(self, scale));
196
- });
197
-
198
- /**
199
- * Calculate the floor of the current state of a RefBigDecimal.
200
- * @since 1.18.0
201
- * @category computed
202
- */
203
- export const floor: {
204
- (
205
- scale?: number,
206
- ): <E, R>(ref: RefBigDecimal<E, R>) => RefSubject.Computed<BigDecimal.BigDecimal, E, R>;
207
- <E, R>(
208
- ref: RefBigDecimal<E, R>,
209
- scale?: number,
210
- ): RefSubject.Computed<BigDecimal.BigDecimal, E, R>;
211
- } = dual(2, function floor<E, R>(ref: RefBigDecimal<E, R>, scale?: number) {
212
- return RefSubject.map(ref, (self) => BigDecimal.floor(self, scale));
213
- });
214
-
215
- /**
216
- * Check if the current state of a RefBigDecimal is zero.
217
- * @since 1.18.0
218
- * @category computed
219
- */
220
- export const isZero = <E, R>(ref: RefBigDecimal<E, R>): RefSubject.Computed<boolean, E, R> =>
221
- RefSubject.map(ref, BigDecimal.isZero);
222
-
223
- /**
224
- * Check if the current state of a RefBigDecimal is negative.
225
- * @since 1.18.0
226
- * @category computed
227
- */
228
- export const isNegative = <E, R>(ref: RefBigDecimal<E, R>): RefSubject.Computed<boolean, E, R> =>
229
- RefSubject.map(ref, BigDecimal.isNegative);
230
-
231
- /**
232
- * Check if the current state of a RefBigDecimal is positive.
233
- * @since 1.18.0
234
- * @category computed
235
- */
236
- export const isPositive = <E, R>(ref: RefBigDecimal<E, R>): RefSubject.Computed<boolean, E, R> =>
237
- RefSubject.map(ref, BigDecimal.isPositive);
238
-
239
- /**
240
- * Check if the current state of a RefBigDecimal is an integer.
241
- * @since 1.18.0
242
- * @category computed
243
- */
244
- export const isInteger = <E, R>(ref: RefBigDecimal<E, R>): RefSubject.Computed<boolean, E, R> =>
245
- RefSubject.map(ref, BigDecimal.isInteger);
246
-
247
- /**
248
- * Get the sign of the current state of a RefBigDecimal.
249
- * @since 1.18.0
250
- * @category computed
251
- */
252
- export const sign = <E, R>(ref: RefBigDecimal<E, R>): RefSubject.Computed<number, E, R> =>
253
- RefSubject.map(ref, BigDecimal.sign);
254
-
255
- /**
256
- * Check if the current state of a RefBigDecimal is less than a BigDecimal.
257
- * @since 1.18.0
258
- * @category computed
259
- */
260
- export const isLessThan: {
261
- (
262
- that: BigDecimal.BigDecimal,
263
- ): <E, R>(ref: RefBigDecimal<E, R>) => RefSubject.Computed<boolean, E, R>;
264
- <E, R>(ref: RefBigDecimal<E, R>, that: BigDecimal.BigDecimal): RefSubject.Computed<boolean, E, R>;
265
- } = dual(2, function isLessThan<E, R>(ref: RefBigDecimal<E, R>, that: BigDecimal.BigDecimal) {
266
- return RefSubject.map(ref, (self) => BigDecimal.isLessThan(self, that));
267
- });
268
-
269
- /**
270
- * Check if the current state of a RefBigDecimal is greater than a BigDecimal.
271
- * @since 1.18.0
272
- * @category computed
273
- */
274
- export const isGreaterThan: {
275
- (
276
- that: BigDecimal.BigDecimal,
277
- ): <E, R>(ref: RefBigDecimal<E, R>) => RefSubject.Computed<boolean, E, R>;
278
- <E, R>(ref: RefBigDecimal<E, R>, that: BigDecimal.BigDecimal): RefSubject.Computed<boolean, E, R>;
279
- } = dual(2, function isGreaterThan<E, R>(ref: RefBigDecimal<E, R>, that: BigDecimal.BigDecimal) {
280
- return RefSubject.map(ref, (self) => BigDecimal.isGreaterThan(self, that));
281
- });
282
-
283
- /**
284
- * Check if the current state of a RefBigDecimal equals a BigDecimal.
285
- * @since 1.18.0
286
- * @category computed
287
- */
288
- export const equals: {
289
- (
290
- that: BigDecimal.BigDecimal,
291
- ): <E, R>(ref: RefBigDecimal<E, R>) => RefSubject.Computed<boolean, E, R>;
292
- <E, R>(ref: RefBigDecimal<E, R>, that: BigDecimal.BigDecimal): RefSubject.Computed<boolean, E, R>;
293
- } = dual(2, function equals<E, R>(ref: RefBigDecimal<E, R>, that: BigDecimal.BigDecimal) {
294
- return RefSubject.map(ref, (self) => BigDecimal.equals(self, that));
295
- });
@@ -1,56 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { Effect } from "effect";
3
- import * as BigInt_ from "effect/BigInt";
4
- import * as RefBigInt from "./RefBigInt.js";
5
-
6
- describe("RefBigInt", () => {
7
- it("creates and gets value", () =>
8
- Effect.gen(function* () {
9
- const value = BigInt_.BigInt(123);
10
- const ref = yield* RefBigInt.make(value);
11
- const current = yield* ref;
12
- expect(current).toBe(value);
13
- }).pipe(Effect.scoped, Effect.runPromise));
14
-
15
- it("adds two BigInt values", () =>
16
- Effect.gen(function* () {
17
- const ref = yield* RefBigInt.make(BigInt_.BigInt(10));
18
- const result = yield* RefBigInt.add(ref, BigInt_.BigInt(5));
19
- expect(result).toBe(BigInt_.BigInt(15));
20
- }).pipe(Effect.scoped, Effect.runPromise));
21
-
22
- it("subtracts two BigInt values", () =>
23
- Effect.gen(function* () {
24
- const ref = yield* RefBigInt.make(BigInt_.BigInt(10));
25
- const result = yield* RefBigInt.subtract(ref, BigInt_.BigInt(3));
26
- expect(result).toBe(BigInt_.BigInt(7));
27
- }).pipe(Effect.scoped, Effect.runPromise));
28
-
29
- it("multiplies two BigInt values", () =>
30
- Effect.gen(function* () {
31
- const ref = yield* RefBigInt.make(BigInt_.BigInt(5));
32
- const result = yield* RefBigInt.multiply(ref, BigInt_.BigInt(4));
33
- expect(result).toBe(BigInt_.BigInt(20));
34
- }).pipe(Effect.scoped, Effect.runPromise));
35
-
36
- it("gets absolute value", () =>
37
- Effect.gen(function* () {
38
- const ref = yield* RefBigInt.make(BigInt_.BigInt(-5));
39
- const result = yield* RefBigInt.abs(ref);
40
- expect(result).toBe(BigInt_.BigInt(5));
41
- }).pipe(Effect.scoped, Effect.runPromise));
42
-
43
- it("checks if zero", () =>
44
- Effect.gen(function* () {
45
- const ref = yield* RefBigInt.make(BigInt_.BigInt(0));
46
- const isZero = yield* RefBigInt.isZero(ref);
47
- expect(isZero).toBe(true);
48
- }).pipe(Effect.scoped, Effect.runPromise));
49
-
50
- it("checks if less than", () =>
51
- Effect.gen(function* () {
52
- const ref = yield* RefBigInt.make(BigInt_.BigInt(5));
53
- const isLess = yield* RefBigInt.isLessThan(ref, BigInt_.BigInt(10));
54
- expect(isLess).toBe(true);
55
- }).pipe(Effect.scoped, Effect.runPromise));
56
- });
@@ -1,189 +0,0 @@
1
- /**
2
- * Extensions to RefSubject for working with BigInt values
3
- * @since 1.18.0
4
- */
5
-
6
- import * as BigInt_ from "effect/BigInt";
7
- import type * as Effect from "effect/Effect";
8
- import * as Equivalence_ from "effect/Equivalence";
9
- import type { Equivalence } from "effect/Equivalence";
10
- import { dual } from "effect/Function";
11
- import type * as Scope from "effect/Scope";
12
- import type * as Fx from "../Fx/index.js";
13
- import * as RefSubject from "./RefSubject.js";
14
-
15
- /**
16
- * A RefBigInt is a RefSubject specialized over a BigInt value.
17
- * @since 1.18.0
18
- * @category models
19
- */
20
- export interface RefBigInt<in out E = never, out R = never> extends RefSubject.RefSubject<
21
- bigint,
22
- E,
23
- R
24
- > {}
25
-
26
- /**
27
- * Creates a new `RefBigInt` from a BigInt, `Effect`, or `Fx`.
28
- *
29
- * @example
30
- * ```ts
31
- * import { Effect, BigInt } from "effect"
32
- * import * as RefBigInt from "effect/typed/fx/RefSubject/RefBigInt"
33
- *
34
- * const program = Effect.gen(function* () {
35
- * const value = yield* RefBigInt.make(BigInt.BigInt(123))
36
- * const current = yield* value
37
- * console.log(current) // 123n
38
- * })
39
- * ```
40
- *
41
- * @since 1.18.0
42
- * @category constructors
43
- */
44
- export function make<E = never, R = never>(
45
- initial: bigint | Effect.Effect<bigint, E, R> | Fx.Fx<bigint, E, R>,
46
- eq: Equivalence<bigint> = Equivalence_.strictEqual(),
47
- ): Effect.Effect<RefBigInt<E>, never, R | Scope.Scope> {
48
- return RefSubject.make(initial, { eq });
49
- }
50
-
51
- // ========================================
52
- // Computed
53
- // ========================================
54
-
55
- /**
56
- * Add a BigInt to the current state of a RefBigInt.
57
- * @since 1.18.0
58
- * @category computed
59
- */
60
- export const add: {
61
- (that: bigint): <E, R>(ref: RefBigInt<E, R>) => RefSubject.Computed<bigint, E, R>;
62
- <E, R>(ref: RefBigInt<E, R>, that: bigint): RefSubject.Computed<bigint, E, R>;
63
- } = dual(2, function add<E, R>(ref: RefBigInt<E, R>, that: bigint) {
64
- return RefSubject.map(ref, (self) => BigInt_.sum(self, that));
65
- });
66
-
67
- /**
68
- * Subtract a BigInt from the current state of a RefBigInt.
69
- * @since 1.18.0
70
- * @category computed
71
- */
72
- export const subtract: {
73
- (that: bigint): <E, R>(ref: RefBigInt<E, R>) => RefSubject.Computed<bigint, E, R>;
74
- <E, R>(ref: RefBigInt<E, R>, that: bigint): RefSubject.Computed<bigint, E, R>;
75
- } = dual(2, function subtract<E, R>(ref: RefBigInt<E, R>, that: bigint) {
76
- return RefSubject.map(ref, (self) => BigInt_.subtract(self, that));
77
- });
78
-
79
- /**
80
- * Multiply the current state of a RefBigInt by a BigInt.
81
- * @since 1.18.0
82
- * @category computed
83
- */
84
- export const multiply: {
85
- (that: bigint): <E, R>(ref: RefBigInt<E, R>) => RefSubject.Computed<bigint, E, R>;
86
- <E, R>(ref: RefBigInt<E, R>, that: bigint): RefSubject.Computed<bigint, E, R>;
87
- } = dual(2, function multiply<E, R>(ref: RefBigInt<E, R>, that: bigint) {
88
- return RefSubject.map(ref, (self) => BigInt_.multiply(self, that));
89
- });
90
-
91
- /**
92
- * Divide the current state of a RefBigInt by a BigInt.
93
- * @since 1.18.0
94
- * @category computed
95
- */
96
- export const divide: {
97
- (that: bigint): <E, R>(ref: RefBigInt<E, R>) => RefSubject.Computed<bigint | undefined, E, R>;
98
- <E, R>(ref: RefBigInt<E, R>, that: bigint): RefSubject.Computed<bigint | undefined, E, R>;
99
- } = dual(2, function divide<E, R>(ref: RefBigInt<E, R>, that: bigint) {
100
- return RefSubject.map(ref, (self) => BigInt_.divide(self, that));
101
- });
102
-
103
- /**
104
- * Get the remainder of dividing the current state of a RefBigInt by a BigInt.
105
- * @since 1.18.0
106
- * @category computed
107
- */
108
- export const mod: {
109
- (that: bigint): <E, R>(ref: RefBigInt<E, R>) => RefSubject.Computed<bigint, E, R>;
110
- <E, R>(ref: RefBigInt<E, R>, that: bigint): RefSubject.Computed<bigint, E, R>;
111
- } = dual(2, function mod<E, R>(ref: RefBigInt<E, R>, that: bigint) {
112
- return RefSubject.map(ref, (self) => BigInt_.remainder(self, that));
113
- });
114
-
115
- /**
116
- * Get the absolute value of the current state of a RefBigInt.
117
- * @since 1.18.0
118
- * @category computed
119
- */
120
- export const abs = <E, R>(ref: RefBigInt<E, R>): RefSubject.Computed<bigint, E, R> =>
121
- RefSubject.map(ref, BigInt_.abs);
122
-
123
- /**
124
- * Negate the current state of a RefBigInt.
125
- * @since 1.18.0
126
- * @category computed
127
- */
128
- export const negate = <E, R>(ref: RefBigInt<E, R>): RefSubject.Computed<bigint, E, R> =>
129
- RefSubject.map(ref, (self) => -self);
130
-
131
- /**
132
- * Check if the current state of a RefBigInt is zero.
133
- * @since 1.18.0
134
- * @category computed
135
- */
136
- export const isZero = <E, R>(ref: RefBigInt<E, R>): RefSubject.Computed<boolean, E, R> =>
137
- RefSubject.map(ref, (self) => self === BigInt_.BigInt(0));
138
-
139
- /**
140
- * Check if the current state of a RefBigInt is negative.
141
- * @since 1.18.0
142
- * @category computed
143
- */
144
- export const isNegative = <E, R>(ref: RefBigInt<E, R>): RefSubject.Computed<boolean, E, R> =>
145
- RefSubject.map(ref, (self) => self < BigInt_.BigInt(0));
146
-
147
- /**
148
- * Check if the current state of a RefBigInt is positive.
149
- * @since 1.18.0
150
- * @category computed
151
- */
152
- export const isPositive = <E, R>(ref: RefBigInt<E, R>): RefSubject.Computed<boolean, E, R> =>
153
- RefSubject.map(ref, (self) => self > BigInt_.BigInt(0));
154
-
155
- /**
156
- * Check if the current state of a RefBigInt is less than a BigInt.
157
- * @since 1.18.0
158
- * @category computed
159
- */
160
- export const isLessThan: {
161
- (that: bigint): <E, R>(ref: RefBigInt<E, R>) => RefSubject.Computed<boolean, E, R>;
162
- <E, R>(ref: RefBigInt<E, R>, that: bigint): RefSubject.Computed<boolean, E, R>;
163
- } = dual(2, function isLessThan<E, R>(ref: RefBigInt<E, R>, that: bigint) {
164
- return RefSubject.map(ref, (self) => BigInt_.isLessThan(self, that));
165
- });
166
-
167
- /**
168
- * Check if the current state of a RefBigInt is greater than a BigInt.
169
- * @since 1.18.0
170
- * @category computed
171
- */
172
- export const isGreaterThan: {
173
- (that: bigint): <E, R>(ref: RefBigInt<E, R>) => RefSubject.Computed<boolean, E, R>;
174
- <E, R>(ref: RefBigInt<E, R>, that: bigint): RefSubject.Computed<boolean, E, R>;
175
- } = dual(2, function isGreaterThan<E, R>(ref: RefBigInt<E, R>, that: bigint) {
176
- return RefSubject.map(ref, (self) => BigInt_.isGreaterThan(self, that));
177
- });
178
-
179
- /**
180
- * Check if the current state of a RefBigInt equals a BigInt.
181
- * @since 1.18.0
182
- * @category computed
183
- */
184
- export const equals: {
185
- (that: bigint): <E, R>(ref: RefBigInt<E, R>) => RefSubject.Computed<boolean, E, R>;
186
- <E, R>(ref: RefBigInt<E, R>, that: bigint): RefSubject.Computed<boolean, E, R>;
187
- } = dual(2, function equals<E, R>(ref: RefBigInt<E, R>, that: bigint) {
188
- return RefSubject.map(ref, (self) => self === that);
189
- });
@@ -1,57 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { Effect } from "effect";
3
- import * as RefBoolean from "./RefBoolean.js";
4
-
5
- describe("RefBoolean", () => {
6
- it("creates and gets value", () =>
7
- Effect.gen(function* () {
8
- const ref = yield* RefBoolean.make(true);
9
- const current = yield* ref;
10
- expect(current).toBe(true);
11
- }).pipe(Effect.scoped, Effect.runPromise));
12
-
13
- it("toggles boolean value", () =>
14
- Effect.gen(function* () {
15
- const ref = yield* RefBoolean.make(true);
16
- yield* RefBoolean.toggle(ref);
17
- const result = yield* ref;
18
- expect(result).toBe(false);
19
- }).pipe(Effect.scoped, Effect.runPromise));
20
-
21
- it("sets to true", () =>
22
- Effect.gen(function* () {
23
- const ref = yield* RefBoolean.make(false);
24
- yield* RefBoolean.setTrue(ref);
25
- const result = yield* ref;
26
- expect(result).toBe(true);
27
- }).pipe(Effect.scoped, Effect.runPromise));
28
-
29
- it("sets to false", () =>
30
- Effect.gen(function* () {
31
- const ref = yield* RefBoolean.make(true);
32
- yield* RefBoolean.setFalse(ref);
33
- const result = yield* ref;
34
- expect(result).toBe(false);
35
- }).pipe(Effect.scoped, Effect.runPromise));
36
-
37
- it("applies AND operation", () =>
38
- Effect.gen(function* () {
39
- const ref = yield* RefBoolean.make(true);
40
- const result = yield* RefBoolean.and(ref, false);
41
- expect(result).toBe(false);
42
- }).pipe(Effect.scoped, Effect.runPromise));
43
-
44
- it("applies OR operation", () =>
45
- Effect.gen(function* () {
46
- const ref = yield* RefBoolean.make(false);
47
- const result = yield* RefBoolean.or(ref, true);
48
- expect(result).toBe(true);
49
- }).pipe(Effect.scoped, Effect.runPromise));
50
-
51
- it("checks if true", () =>
52
- Effect.gen(function* () {
53
- const ref = yield* RefBoolean.make(true);
54
- const isTrue = yield* RefBoolean.isTrue(ref);
55
- expect(isTrue).toBe(true);
56
- }).pipe(Effect.scoped, Effect.runPromise));
57
- });