@typed/fx 1.32.0 → 2.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (818) hide show
  1. package/README.md +344 -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/catch.d.ts +53 -0
  9. package/dist/Fx/combinators/catch.d.ts.map +1 -0
  10. package/dist/Fx/combinators/catch.js +69 -0
  11. package/dist/Fx/combinators/causes.d.ts +12 -0
  12. package/dist/Fx/combinators/causes.d.ts.map +1 -0
  13. package/dist/Fx/combinators/causes.js +16 -0
  14. package/dist/Fx/combinators/compact.d.ts +12 -0
  15. package/dist/Fx/combinators/compact.d.ts.map +1 -0
  16. package/dist/Fx/combinators/compact.js +11 -0
  17. package/dist/Fx/combinators/continueWith.d.ts +51 -0
  18. package/dist/Fx/combinators/continueWith.d.ts.map +1 -0
  19. package/dist/Fx/combinators/continueWith.js +41 -0
  20. package/dist/Fx/combinators/ensuring.d.ts +16 -0
  21. package/dist/Fx/combinators/ensuring.d.ts.map +1 -0
  22. package/dist/Fx/combinators/ensuring.js +13 -0
  23. package/dist/Fx/combinators/exhaustLatestMap.d.ts +15 -0
  24. package/dist/Fx/combinators/exhaustLatestMap.d.ts.map +1 -0
  25. package/dist/Fx/combinators/exhaustLatestMap.js +48 -0
  26. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts +13 -0
  27. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts.map +1 -0
  28. package/dist/Fx/combinators/exhaustLatestMapEffect.js +14 -0
  29. package/dist/Fx/combinators/exhaustMap.d.ts +11 -0
  30. package/dist/Fx/combinators/exhaustMap.d.ts.map +1 -0
  31. package/dist/Fx/combinators/exhaustMap.js +19 -0
  32. package/dist/Fx/combinators/exhaustMapEffect.d.ts +11 -0
  33. package/dist/Fx/combinators/exhaustMapEffect.d.ts.map +1 -0
  34. package/dist/Fx/combinators/exhaustMapEffect.js +12 -0
  35. package/dist/Fx/combinators/exit.d.ts +12 -0
  36. package/dist/Fx/combinators/exit.d.ts.map +1 -0
  37. package/dist/Fx/combinators/exit.js +11 -0
  38. package/dist/Fx/combinators/filter.d.ts +14 -0
  39. package/dist/Fx/combinators/filter.d.ts.map +1 -0
  40. package/dist/Fx/combinators/filter.js +12 -0
  41. package/dist/Fx/combinators/filterEffect.d.ts +15 -0
  42. package/dist/Fx/combinators/filterEffect.d.ts.map +1 -0
  43. package/dist/Fx/combinators/filterEffect.js +12 -0
  44. package/dist/Fx/combinators/filterMap.d.ts +15 -0
  45. package/dist/Fx/combinators/filterMap.d.ts.map +1 -0
  46. package/dist/Fx/combinators/filterMap.js +12 -0
  47. package/dist/Fx/combinators/filterMapEffect.d.ts +16 -0
  48. package/dist/Fx/combinators/filterMapEffect.d.ts.map +1 -0
  49. package/dist/Fx/combinators/filterMapEffect.js +12 -0
  50. package/dist/Fx/combinators/filterMapLoop.d.ts +17 -0
  51. package/dist/Fx/combinators/filterMapLoop.d.ts.map +1 -0
  52. package/dist/Fx/combinators/filterMapLoop.js +14 -0
  53. package/dist/Fx/combinators/filterMapLoopCause.d.ts +18 -0
  54. package/dist/Fx/combinators/filterMapLoopCause.d.ts.map +1 -0
  55. package/dist/Fx/combinators/filterMapLoopCause.js +14 -0
  56. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts +18 -0
  57. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts.map +1 -0
  58. package/dist/Fx/combinators/filterMapLoopCauseEffect.js +13 -0
  59. package/dist/Fx/combinators/filterMapLoopEffect.d.ts +17 -0
  60. package/dist/Fx/combinators/filterMapLoopEffect.d.ts.map +1 -0
  61. package/dist/Fx/combinators/filterMapLoopEffect.js +13 -0
  62. package/dist/Fx/combinators/flatMap.d.ts +23 -0
  63. package/dist/Fx/combinators/flatMap.d.ts.map +1 -0
  64. package/dist/Fx/combinators/flatMap.js +21 -0
  65. package/dist/Fx/combinators/flatMapConcurrently.d.ts +12 -0
  66. package/dist/Fx/combinators/flatMapConcurrently.d.ts.map +1 -0
  67. package/dist/Fx/combinators/flatMapConcurrently.js +22 -0
  68. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts +12 -0
  69. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts.map +1 -0
  70. package/dist/Fx/combinators/flatMapConcurrentlyEffect.js +13 -0
  71. package/dist/Fx/combinators/flatMapEffect.d.ts +24 -0
  72. package/dist/Fx/combinators/flatMapEffect.d.ts.map +1 -0
  73. package/dist/Fx/combinators/flatMapEffect.js +14 -0
  74. package/dist/Fx/combinators/flip.d.ts +11 -0
  75. package/dist/Fx/combinators/flip.d.ts.map +1 -0
  76. package/dist/Fx/combinators/flip.js +11 -0
  77. package/dist/Fx/combinators/gen.d.ts +20 -0
  78. package/dist/Fx/combinators/gen.d.ts.map +1 -0
  79. package/dist/Fx/combinators/gen.js +14 -0
  80. package/dist/Fx/combinators/genScoped.d.ts +20 -0
  81. package/dist/Fx/combinators/genScoped.d.ts.map +1 -0
  82. package/dist/Fx/combinators/genScoped.js +13 -0
  83. package/dist/Fx/combinators/index.d.ts +52 -0
  84. package/dist/Fx/combinators/index.d.ts.map +1 -0
  85. package/dist/Fx/combinators/index.js +51 -0
  86. package/dist/Fx/combinators/keyed.d.ts +44 -0
  87. package/dist/Fx/combinators/keyed.d.ts.map +1 -0
  88. package/dist/Fx/combinators/keyed.js +199 -0
  89. package/dist/Fx/combinators/loop.d.ts +16 -0
  90. package/dist/Fx/combinators/loop.d.ts.map +1 -0
  91. package/dist/Fx/combinators/loop.js +14 -0
  92. package/dist/Fx/combinators/loopCause.d.ts +16 -0
  93. package/dist/Fx/combinators/loopCause.d.ts.map +1 -0
  94. package/dist/Fx/combinators/loopCause.js +13 -0
  95. package/dist/Fx/combinators/loopCauseEffect.d.ts +17 -0
  96. package/dist/Fx/combinators/loopCauseEffect.d.ts.map +1 -0
  97. package/dist/Fx/combinators/loopCauseEffect.js +13 -0
  98. package/dist/Fx/combinators/loopEffect.d.ts +16 -0
  99. package/dist/Fx/combinators/loopEffect.d.ts.map +1 -0
  100. package/dist/Fx/combinators/loopEffect.js +13 -0
  101. package/dist/Fx/combinators/map.d.ts +14 -0
  102. package/dist/Fx/combinators/map.d.ts.map +1 -0
  103. package/dist/Fx/combinators/map.js +12 -0
  104. package/dist/Fx/combinators/mapEffect.d.ts +15 -0
  105. package/dist/Fx/combinators/mapEffect.d.ts.map +1 -0
  106. package/dist/Fx/combinators/mapEffect.js +12 -0
  107. package/dist/Fx/combinators/mergeAll.d.ts +11 -0
  108. package/dist/Fx/combinators/mergeAll.d.ts.map +1 -0
  109. package/dist/Fx/combinators/mergeAll.js +15 -0
  110. package/dist/Fx/combinators/mergeOrdered.d.ts +14 -0
  111. package/dist/Fx/combinators/mergeOrdered.d.ts.map +1 -0
  112. package/dist/Fx/combinators/mergeOrdered.js +89 -0
  113. package/dist/Fx/combinators/onError.d.ts +17 -0
  114. package/dist/Fx/combinators/onError.d.ts.map +1 -0
  115. package/dist/Fx/combinators/onError.js +14 -0
  116. package/dist/Fx/combinators/onExit.d.ts +16 -0
  117. package/dist/Fx/combinators/onExit.d.ts.map +1 -0
  118. package/dist/Fx/combinators/onExit.js +39 -0
  119. package/dist/Fx/combinators/onInterrupt.d.ts +16 -0
  120. package/dist/Fx/combinators/onInterrupt.d.ts.map +1 -0
  121. package/dist/Fx/combinators/onInterrupt.js +38 -0
  122. package/dist/Fx/combinators/provide.d.ts +23 -0
  123. package/dist/Fx/combinators/provide.d.ts.map +1 -0
  124. package/dist/Fx/combinators/provide.js +27 -0
  125. package/dist/Fx/combinators/skip.d.ts +14 -0
  126. package/dist/Fx/combinators/skip.d.ts.map +1 -0
  127. package/dist/Fx/combinators/skip.js +11 -0
  128. package/dist/Fx/combinators/skipRepeats.d.ts +11 -0
  129. package/dist/Fx/combinators/skipRepeats.d.ts.map +1 -0
  130. package/dist/Fx/combinators/skipRepeats.js +12 -0
  131. package/dist/Fx/combinators/skipRepeatsWith.d.ts +12 -0
  132. package/dist/Fx/combinators/skipRepeatsWith.d.ts.map +1 -0
  133. package/dist/Fx/combinators/skipRepeatsWith.js +20 -0
  134. package/dist/Fx/combinators/slice.d.ts +23 -0
  135. package/dist/Fx/combinators/slice.d.ts.map +1 -0
  136. package/dist/Fx/combinators/slice.js +12 -0
  137. package/dist/Fx/combinators/switchMap.d.ts +13 -0
  138. package/dist/Fx/combinators/switchMap.d.ts.map +1 -0
  139. package/dist/Fx/combinators/switchMap.js +33 -0
  140. package/dist/Fx/combinators/switchMapEffect.d.ts +13 -0
  141. package/dist/Fx/combinators/switchMapEffect.d.ts.map +1 -0
  142. package/dist/Fx/combinators/switchMapEffect.js +14 -0
  143. package/dist/Fx/combinators/take.d.ts +14 -0
  144. package/dist/Fx/combinators/take.d.ts.map +1 -0
  145. package/dist/Fx/combinators/take.js +11 -0
  146. package/dist/Fx/combinators/takeUntil.d.ts +28 -0
  147. package/dist/Fx/combinators/takeUntil.d.ts.map +1 -0
  148. package/dist/Fx/combinators/takeUntil.js +31 -0
  149. package/dist/Fx/combinators/tapEffect.d.ts +15 -0
  150. package/dist/Fx/combinators/tapEffect.d.ts.map +1 -0
  151. package/dist/Fx/combinators/tapEffect.js +18 -0
  152. package/dist/Fx/combinators/tuple.d.ts +27 -0
  153. package/dist/Fx/combinators/tuple.d.ts.map +1 -0
  154. package/dist/Fx/combinators/tuple.js +46 -0
  155. package/dist/Fx/combinators/unwrap.d.ts +12 -0
  156. package/dist/Fx/combinators/unwrap.d.ts.map +1 -0
  157. package/dist/Fx/combinators/unwrap.js +14 -0
  158. package/dist/Fx/combinators/unwrapScoped.d.ts +15 -0
  159. package/dist/Fx/combinators/unwrapScoped.d.ts.map +1 -0
  160. package/dist/Fx/combinators/unwrapScoped.js +16 -0
  161. package/dist/Fx/combinators/when.d.ts +36 -0
  162. package/dist/Fx/combinators/when.d.ts.map +1 -0
  163. package/dist/Fx/combinators/when.js +28 -0
  164. package/dist/Fx/combinators/withSpan.d.ts +4 -0
  165. package/dist/Fx/combinators/withSpan.d.ts.map +1 -0
  166. package/dist/Fx/combinators/withSpan.js +6 -0
  167. package/dist/Fx/constructors/at.d.ts +16 -0
  168. package/dist/Fx/constructors/at.d.ts.map +1 -0
  169. package/dist/Fx/constructors/at.js +13 -0
  170. package/dist/Fx/constructors/die.d.ts +11 -0
  171. package/dist/Fx/constructors/die.d.ts.map +1 -0
  172. package/dist/Fx/constructors/die.js +12 -0
  173. package/dist/Fx/constructors/empty.d.ts +8 -0
  174. package/dist/Fx/constructors/empty.d.ts.map +1 -0
  175. package/dist/Fx/constructors/empty.js +8 -0
  176. package/dist/Fx/constructors/fail.d.ts +11 -0
  177. package/dist/Fx/constructors/fail.d.ts.map +1 -0
  178. package/dist/Fx/constructors/fail.js +12 -0
  179. package/dist/Fx/constructors/failCause.d.ts +12 -0
  180. package/dist/Fx/constructors/failCause.d.ts.map +1 -0
  181. package/dist/Fx/constructors/failCause.js +11 -0
  182. package/dist/Fx/constructors/fn.d.ts +47 -0
  183. package/dist/Fx/constructors/fn.d.ts.map +1 -0
  184. package/dist/Fx/constructors/fn.js +23 -0
  185. package/dist/Fx/constructors/fromEffect.d.ts +21 -0
  186. package/dist/Fx/constructors/fromEffect.d.ts.map +1 -0
  187. package/dist/Fx/constructors/fromEffect.js +21 -0
  188. package/dist/Fx/constructors/fromFailures.d.ts +10 -0
  189. package/dist/Fx/constructors/fromFailures.d.ts.map +1 -0
  190. package/dist/Fx/constructors/fromFailures.js +13 -0
  191. package/dist/Fx/constructors/fromIterable.d.ts +12 -0
  192. package/dist/Fx/constructors/fromIterable.d.ts.map +1 -0
  193. package/dist/Fx/constructors/fromIterable.js +12 -0
  194. package/dist/Fx/constructors/fromSchedule.d.ts +13 -0
  195. package/dist/Fx/constructors/fromSchedule.d.ts.map +1 -0
  196. package/dist/Fx/constructors/fromSchedule.js +13 -0
  197. package/dist/Fx/constructors/fromYieldable.d.ts +12 -0
  198. package/dist/Fx/constructors/fromYieldable.d.ts.map +1 -0
  199. package/dist/Fx/constructors/fromYieldable.js +12 -0
  200. package/dist/Fx/constructors/index.d.ts +16 -0
  201. package/dist/Fx/constructors/index.d.ts.map +1 -0
  202. package/dist/Fx/constructors/index.js +15 -0
  203. package/dist/Fx/constructors/interrupt.d.ts +10 -0
  204. package/dist/Fx/constructors/interrupt.d.ts.map +1 -0
  205. package/dist/Fx/constructors/interrupt.js +12 -0
  206. package/dist/Fx/constructors/make.d.ts +40 -0
  207. package/dist/Fx/constructors/make.d.ts.map +1 -0
  208. package/dist/Fx/constructors/make.js +61 -0
  209. package/dist/Fx/constructors/periodic.d.ts +12 -0
  210. package/dist/Fx/constructors/periodic.d.ts.map +1 -0
  211. package/dist/Fx/constructors/periodic.js +12 -0
  212. package/dist/Fx/constructors/succeed.d.ts +32 -0
  213. package/dist/Fx/constructors/succeed.d.ts.map +1 -0
  214. package/dist/Fx/constructors/succeed.js +32 -0
  215. package/dist/Fx/constructors/suspend.d.ts +3 -0
  216. package/dist/Fx/constructors/suspend.d.ts.map +1 -0
  217. package/dist/Fx/constructors/suspend.js +3 -0
  218. package/dist/Fx/index.d.ts +7 -0
  219. package/dist/Fx/index.d.ts.map +1 -0
  220. package/dist/Fx/index.js +6 -0
  221. package/dist/Fx/internal/DeferredRef.d.ts +29 -0
  222. package/dist/Fx/internal/DeferredRef.d.ts.map +1 -0
  223. package/dist/{esm → Fx}/internal/DeferredRef.js +21 -15
  224. package/dist/Fx/internal/UnionToTuple.d.ts.map +1 -0
  225. package/dist/Fx/internal/UnionToTuple.js +1 -0
  226. package/dist/{dts → Fx}/internal/diff.d.ts +3 -1
  227. package/dist/Fx/internal/diff.d.ts.map +1 -0
  228. package/dist/{esm → Fx}/internal/diff.js +37 -23
  229. package/dist/Fx/internal/equivalence.d.ts +4 -0
  230. package/dist/Fx/internal/equivalence.d.ts.map +1 -0
  231. package/dist/Fx/internal/equivalence.js +10 -0
  232. package/dist/Fx/internal/multicast.d.ts +10 -0
  233. package/dist/Fx/internal/multicast.d.ts.map +1 -0
  234. package/dist/Fx/internal/multicast.js +32 -0
  235. package/dist/Fx/internal/ring-buffer.d.ts +14 -0
  236. package/dist/Fx/internal/ring-buffer.d.ts.map +1 -0
  237. package/dist/Fx/internal/ring-buffer.js +52 -0
  238. package/dist/Fx/internal/scope.d.ts +11 -0
  239. package/dist/Fx/internal/scope.d.ts.map +1 -0
  240. package/dist/Fx/internal/scope.js +12 -0
  241. package/dist/Fx/internal/yieldable.d.ts +17 -0
  242. package/dist/Fx/internal/yieldable.d.ts.map +1 -0
  243. package/dist/Fx/internal/yieldable.js +20 -0
  244. package/dist/Fx/run/collect.d.ts +45 -0
  245. package/dist/Fx/run/collect.d.ts.map +1 -0
  246. package/dist/Fx/run/collect.js +51 -0
  247. package/dist/Fx/run/first.d.ts +14 -0
  248. package/dist/Fx/run/first.d.ts.map +1 -0
  249. package/dist/Fx/run/first.js +16 -0
  250. package/dist/Fx/run/fork.d.ts +29 -0
  251. package/dist/Fx/run/fork.d.ts.map +1 -0
  252. package/dist/Fx/run/fork.js +27 -0
  253. package/dist/Fx/run/index.d.ts +6 -0
  254. package/dist/Fx/run/index.d.ts.map +1 -0
  255. package/dist/Fx/run/index.js +5 -0
  256. package/dist/Fx/run/observe.d.ts +53 -0
  257. package/dist/Fx/run/observe.d.ts.map +1 -0
  258. package/dist/Fx/run/observe.js +55 -0
  259. package/dist/Fx/run/runPromise.d.ts +25 -0
  260. package/dist/Fx/run/runPromise.d.ts.map +1 -0
  261. package/dist/Fx/run/runPromise.js +23 -0
  262. package/dist/Fx/stream.d.ts +7 -0
  263. package/dist/Fx/stream.d.ts.map +1 -0
  264. package/dist/Fx/stream.js +7 -0
  265. package/dist/Fx.d.ts +2 -0
  266. package/dist/Fx.d.ts.map +1 -0
  267. package/dist/Fx.js +1 -0
  268. package/dist/Push/Push.d.ts +312 -0
  269. package/dist/Push/Push.d.ts.map +1 -0
  270. package/dist/Push/Push.js +289 -0
  271. package/dist/Push/index.d.ts +2 -0
  272. package/dist/Push/index.d.ts.map +1 -0
  273. package/dist/Push/index.js +1 -0
  274. package/dist/Push.d.ts +2 -0
  275. package/dist/Push.d.ts.map +1 -0
  276. package/dist/Push.js +1 -0
  277. package/dist/{dts → RefSubject}/RefArray.d.ts +68 -18
  278. package/dist/RefSubject/RefArray.d.ts.map +1 -0
  279. package/dist/{esm → RefSubject}/RefArray.js +80 -12
  280. package/dist/RefSubject/RefBigDecimal.d.ts +183 -0
  281. package/dist/RefSubject/RefBigDecimal.d.ts.map +1 -0
  282. package/dist/RefSubject/RefBigDecimal.js +161 -0
  283. package/dist/RefSubject/RefBigInt.d.ts +138 -0
  284. package/dist/RefSubject/RefBigInt.d.ts.map +1 -0
  285. package/dist/RefSubject/RefBigInt.js +126 -0
  286. package/dist/RefSubject/RefBoolean.d.ts +135 -0
  287. package/dist/RefSubject/RefBoolean.d.ts.map +1 -0
  288. package/dist/RefSubject/RefBoolean.js +124 -0
  289. package/dist/RefSubject/RefCause.d.ts +100 -0
  290. package/dist/RefSubject/RefCause.d.ts.map +1 -0
  291. package/dist/RefSubject/RefCause.js +93 -0
  292. package/dist/{dts → RefSubject}/RefChunk.d.ts +157 -71
  293. package/dist/RefSubject/RefChunk.d.ts.map +1 -0
  294. package/dist/{esm → RefSubject}/RefChunk.js +142 -52
  295. package/dist/RefSubject/RefDateTime.d.ts +155 -0
  296. package/dist/RefSubject/RefDateTime.d.ts.map +1 -0
  297. package/dist/RefSubject/RefDateTime.js +101 -0
  298. package/dist/RefSubject/RefDuration.d.ts +126 -0
  299. package/dist/RefSubject/RefDuration.d.ts.map +1 -0
  300. package/dist/RefSubject/RefDuration.js +115 -0
  301. package/dist/RefSubject/RefGraph.d.ts +239 -0
  302. package/dist/RefSubject/RefGraph.d.ts.map +1 -0
  303. package/dist/RefSubject/RefGraph.js +272 -0
  304. package/dist/RefSubject/RefHashMap.d.ts +228 -0
  305. package/dist/RefSubject/RefHashMap.d.ts.map +1 -0
  306. package/dist/RefSubject/RefHashMap.js +212 -0
  307. package/dist/RefSubject/RefHashRing.d.ts +123 -0
  308. package/dist/RefSubject/RefHashRing.d.ts.map +1 -0
  309. package/dist/RefSubject/RefHashRing.js +115 -0
  310. package/dist/RefSubject/RefHashSet.d.ts +179 -0
  311. package/dist/RefSubject/RefHashSet.d.ts.map +1 -0
  312. package/dist/RefSubject/RefHashSet.js +164 -0
  313. package/dist/RefSubject/RefIterable.d.ts +257 -0
  314. package/dist/RefSubject/RefIterable.d.ts.map +1 -0
  315. package/dist/RefSubject/RefIterable.js +237 -0
  316. package/dist/RefSubject/RefOption.d.ts +124 -0
  317. package/dist/RefSubject/RefOption.d.ts.map +1 -0
  318. package/dist/RefSubject/RefOption.js +115 -0
  319. package/dist/RefSubject/RefRecord.d.ts +264 -0
  320. package/dist/RefSubject/RefRecord.d.ts.map +1 -0
  321. package/dist/RefSubject/RefRecord.js +249 -0
  322. package/dist/RefSubject/RefResult.d.ts +121 -0
  323. package/dist/RefSubject/RefResult.d.ts.map +1 -0
  324. package/dist/RefSubject/RefResult.js +107 -0
  325. package/dist/RefSubject/RefString.d.ts +147 -0
  326. package/dist/RefSubject/RefString.d.ts.map +1 -0
  327. package/dist/RefSubject/RefString.js +137 -0
  328. package/dist/RefSubject/RefStruct.d.ts +123 -0
  329. package/dist/RefSubject/RefStruct.d.ts.map +1 -0
  330. package/dist/RefSubject/RefStruct.js +113 -0
  331. package/dist/RefSubject/RefSubject.d.ts +1010 -0
  332. package/dist/RefSubject/RefSubject.d.ts.map +1 -0
  333. package/dist/RefSubject/RefSubject.js +1310 -0
  334. package/dist/RefSubject/RefTrie.d.ts +216 -0
  335. package/dist/RefSubject/RefTrie.d.ts.map +1 -0
  336. package/dist/RefSubject/RefTrie.js +201 -0
  337. package/dist/RefSubject/RefTuple.d.ts +107 -0
  338. package/dist/RefSubject/RefTuple.d.ts.map +1 -0
  339. package/dist/RefSubject/RefTuple.js +94 -0
  340. package/dist/RefSubject/index.d.ts +22 -0
  341. package/dist/RefSubject/index.d.ts.map +1 -0
  342. package/dist/RefSubject/index.js +21 -0
  343. package/dist/RefSubject.d.ts +2 -0
  344. package/dist/RefSubject.d.ts.map +1 -0
  345. package/dist/RefSubject.js +1 -0
  346. package/dist/Sink/Sink.d.ts +94 -0
  347. package/dist/Sink/Sink.d.ts.map +1 -0
  348. package/dist/Sink/Sink.js +34 -0
  349. package/dist/Sink/combinators.d.ts +171 -0
  350. package/dist/Sink/combinators.d.ts.map +1 -0
  351. package/dist/{esm/Sink.js → Sink/combinators.js} +265 -352
  352. package/dist/Sink/index.d.ts +3 -0
  353. package/dist/Sink/index.d.ts.map +1 -0
  354. package/dist/Sink/index.js +2 -0
  355. package/dist/Sink.d.ts +2 -0
  356. package/dist/Sink.d.ts.map +1 -0
  357. package/dist/Sink.js +1 -0
  358. package/dist/Subject/Subject.d.ts +152 -0
  359. package/dist/Subject/Subject.d.ts.map +1 -0
  360. package/dist/Subject/Subject.js +272 -0
  361. package/dist/Subject/index.d.ts +2 -0
  362. package/dist/Subject/index.d.ts.map +1 -0
  363. package/dist/Subject/index.js +1 -0
  364. package/dist/Subject.d.ts +2 -0
  365. package/dist/Subject.d.ts.map +1 -0
  366. package/dist/Subject.js +1 -0
  367. package/dist/Versioned/Versioned.d.ts +176 -0
  368. package/dist/Versioned/Versioned.d.ts.map +1 -0
  369. package/dist/Versioned/Versioned.js +228 -0
  370. package/dist/Versioned/index.d.ts +2 -0
  371. package/dist/Versioned/index.d.ts.map +1 -0
  372. package/dist/Versioned/index.js +1 -0
  373. package/dist/Versioned.d.ts +2 -0
  374. package/dist/Versioned.d.ts.map +1 -0
  375. package/dist/Versioned.js +1 -0
  376. package/dist/index.d.ts +8 -0
  377. package/dist/index.d.ts.map +1 -0
  378. package/dist/index.js +7 -0
  379. package/package.json +19 -192
  380. package/src/Fx/Fx.ts +164 -0
  381. package/src/Fx/TypeId.ts +25 -0
  382. package/src/Fx/combinators/catch.ts +165 -0
  383. package/src/Fx/combinators/causes.ts +23 -0
  384. package/src/Fx/combinators/compact.ts +15 -0
  385. package/src/Fx/combinators/continueWith.ts +78 -0
  386. package/src/Fx/combinators/ensuring.ts +23 -0
  387. package/src/Fx/combinators/exhaustLatestMap.ts +74 -0
  388. package/src/Fx/combinators/exhaustLatestMapEffect.ts +25 -0
  389. package/src/Fx/combinators/exhaustMap.ts +36 -0
  390. package/src/Fx/combinators/exhaustMapEffect.ts +23 -0
  391. package/src/Fx/combinators/exit.ts +15 -0
  392. package/src/Fx/combinators/filter.ts +22 -0
  393. package/src/Fx/combinators/filterEffect.ts +31 -0
  394. package/src/Fx/combinators/filterMap.ts +23 -0
  395. package/src/Fx/combinators/filterMapEffect.ts +32 -0
  396. package/src/Fx/combinators/filterMapLoop.ts +35 -0
  397. package/src/Fx/combinators/filterMapLoopCause.ts +36 -0
  398. package/src/Fx/combinators/filterMapLoopCauseEffect.ts +46 -0
  399. package/src/Fx/combinators/filterMapLoopEffect.ts +36 -0
  400. package/src/Fx/combinators/flatMap.ts +51 -0
  401. package/src/Fx/combinators/flatMapConcurrently.ts +36 -0
  402. package/src/Fx/combinators/flatMapConcurrentlyEffect.ts +26 -0
  403. package/src/Fx/combinators/flatMapEffect.ts +42 -0
  404. package/src/Fx/combinators/flip.ts +14 -0
  405. package/src/Fx/combinators/gen.ts +24 -0
  406. package/src/Fx/combinators/genScoped.ts +24 -0
  407. package/src/Fx/combinators/index.ts +51 -0
  408. package/src/Fx/combinators/keyed.ts +369 -0
  409. package/src/Fx/combinators/loop.ts +27 -0
  410. package/src/Fx/combinators/loopCause.ts +34 -0
  411. package/src/Fx/combinators/loopCauseEffect.ts +36 -0
  412. package/src/Fx/combinators/loopEffect.ts +34 -0
  413. package/src/Fx/combinators/map.ts +22 -0
  414. package/src/Fx/combinators/mapEffect.ts +32 -0
  415. package/src/Fx/combinators/mergeAll.ts +22 -0
  416. package/src/Fx/combinators/mergeOrdered.ts +123 -0
  417. package/src/Fx/combinators/onError.ts +40 -0
  418. package/src/Fx/combinators/onExit.ts +82 -0
  419. package/src/Fx/combinators/onInterrupt.ts +87 -0
  420. package/src/Fx/combinators/provide.ts +62 -0
  421. package/src/Fx/combinators/skip.ts +20 -0
  422. package/src/Fx/combinators/skipRepeats.ts +15 -0
  423. package/src/Fx/combinators/skipRepeatsWith.ts +40 -0
  424. package/src/Fx/combinators/slice.ts +32 -0
  425. package/src/Fx/combinators/switchMap.ts +55 -0
  426. package/src/Fx/combinators/switchMapEffect.ts +25 -0
  427. package/src/Fx/combinators/take.ts +17 -0
  428. package/src/Fx/combinators/takeUntil.ts +50 -0
  429. package/src/Fx/combinators/tapEffect.ts +39 -0
  430. package/src/Fx/combinators/tuple.ts +79 -0
  431. package/src/Fx/combinators/unwrap.ts +21 -0
  432. package/src/Fx/combinators/unwrapScoped.ts +26 -0
  433. package/src/Fx/combinators/when.ts +64 -0
  434. package/src/Fx/combinators/withSpan.ts +24 -0
  435. package/src/Fx/constructors/at.ts +23 -0
  436. package/src/Fx/constructors/die.ts +17 -0
  437. package/src/Fx/constructors/empty.ts +10 -0
  438. package/src/Fx/constructors/fail.ts +14 -0
  439. package/src/Fx/constructors/failCause.ts +14 -0
  440. package/src/Fx/constructors/fn.ts +245 -0
  441. package/src/Fx/constructors/fromEffect.ts +24 -0
  442. package/src/Fx/constructors/fromFailures.ts +19 -0
  443. package/src/Fx/constructors/fromIterable.ts +15 -0
  444. package/src/Fx/constructors/fromSchedule.ts +18 -0
  445. package/src/Fx/constructors/fromYieldable.ts +17 -0
  446. package/src/Fx/constructors/index.ts +15 -0
  447. package/src/Fx/constructors/interrupt.ts +13 -0
  448. package/src/Fx/constructors/make.ts +103 -0
  449. package/src/Fx/constructors/periodic.ts +15 -0
  450. package/src/Fx/constructors/succeed.ts +37 -0
  451. package/src/Fx/constructors/suspend.ts +6 -0
  452. package/src/Fx/index.ts +6 -0
  453. package/src/Fx/internal/DeferredRef.ts +87 -0
  454. package/src/Fx/internal/UnionToTuple.ts +12 -0
  455. package/src/Fx/internal/diff.ts +191 -0
  456. package/src/Fx/internal/equivalence.ts +12 -0
  457. package/src/Fx/internal/multicast.ts +51 -0
  458. package/src/Fx/internal/ring-buffer.ts +60 -0
  459. package/src/Fx/internal/scope.ts +58 -0
  460. package/src/Fx/internal/yieldable.ts +31 -0
  461. package/src/Fx/run/collect.ts +79 -0
  462. package/src/Fx/run/first.ts +20 -0
  463. package/src/Fx/run/fork.ts +40 -0
  464. package/src/Fx/run/index.ts +5 -0
  465. package/src/Fx/run/observe.ts +114 -0
  466. package/src/Fx/run/runPromise.ts +32 -0
  467. package/src/Fx/stream.ts +42 -0
  468. package/src/Fx.catch.test.ts +61 -0
  469. package/src/Fx.fn.test.ts +51 -0
  470. package/src/Fx.lifecycle.test.ts +80 -0
  471. package/src/Fx.test.ts +71 -0
  472. package/src/Fx.ts +1 -2591
  473. package/src/Push/Push.ts +903 -0
  474. package/src/Push/index.ts +1 -0
  475. package/src/Push.test.ts +26 -0
  476. package/src/Push.ts +1 -480
  477. package/src/{RefArray.ts → RefSubject/RefArray.ts} +246 -248
  478. package/src/RefSubject/RefBigDecimal.test.ts +56 -0
  479. package/src/RefSubject/RefBigDecimal.ts +295 -0
  480. package/src/RefSubject/RefBigInt.test.ts +56 -0
  481. package/src/RefSubject/RefBigInt.ts +189 -0
  482. package/src/RefSubject/RefBoolean.test.ts +57 -0
  483. package/src/RefSubject/RefBoolean.ts +185 -0
  484. package/src/RefSubject/RefCause.test.ts +53 -0
  485. package/src/RefSubject/RefCause.ts +146 -0
  486. package/src/RefSubject/RefChunk.ts +510 -0
  487. package/src/RefSubject/RefDateTime.test.ts +43 -0
  488. package/src/RefSubject/RefDateTime.ts +264 -0
  489. package/src/RefSubject/RefDuration.test.ts +49 -0
  490. package/src/RefSubject/RefDuration.ts +188 -0
  491. package/src/RefSubject/RefGraph.ts +650 -0
  492. package/src/RefSubject/RefHashMap.ts +465 -0
  493. package/src/RefSubject/RefHashRing.ts +262 -0
  494. package/src/RefSubject/RefHashSet.ts +308 -0
  495. package/src/RefSubject/RefIterable.ts +445 -0
  496. package/src/RefSubject/RefOption.test.ts +67 -0
  497. package/src/RefSubject/RefOption.ts +193 -0
  498. package/src/RefSubject/RefRecord.ts +612 -0
  499. package/src/RefSubject/RefResult.test.ts +63 -0
  500. package/src/RefSubject/RefResult.ts +209 -0
  501. package/src/RefSubject/RefString.test.ts +61 -0
  502. package/src/RefSubject/RefString.ts +256 -0
  503. package/src/RefSubject/RefStruct.test.ts +60 -0
  504. package/src/RefSubject/RefStruct.ts +253 -0
  505. package/src/RefSubject/RefSubject.ts +2545 -0
  506. package/src/RefSubject/RefTrie.ts +356 -0
  507. package/src/RefSubject/RefTuple.test.ts +60 -0
  508. package/src/RefSubject/RefTuple.ts +231 -0
  509. package/src/RefSubject/index.ts +21 -0
  510. package/src/RefSubject.test.ts +65 -0
  511. package/src/RefSubject.ts +1 -2488
  512. package/src/Sink/Sink.ts +159 -0
  513. package/src/Sink/combinators.ts +993 -0
  514. package/src/Sink/index.ts +2 -0
  515. package/src/Sink.ts +1 -1044
  516. package/src/Subject/Subject.ts +441 -0
  517. package/src/Subject/index.ts +1 -0
  518. package/src/Subject.test.ts +47 -0
  519. package/src/Subject.ts +1 -330
  520. package/src/Versioned/Versioned.ts +521 -0
  521. package/src/Versioned/index.ts +1 -0
  522. package/src/Versioned.test.ts +23 -0
  523. package/src/Versioned.ts +1 -357
  524. package/src/index.ts +7 -130
  525. package/tsconfig.json +6 -0
  526. package/AsyncData/package.json +0 -6
  527. package/Emitter/package.json +0 -6
  528. package/Form/package.json +0 -6
  529. package/FormEntry/package.json +0 -6
  530. package/Fx/package.json +0 -6
  531. package/Idle/package.json +0 -6
  532. package/LICENSE +0 -21
  533. package/Match/package.json +0 -6
  534. package/Pull/package.json +0 -6
  535. package/Push/package.json +0 -6
  536. package/RefArray/package.json +0 -6
  537. package/RefChunk/package.json +0 -6
  538. package/RefHashMap/package.json +0 -6
  539. package/RefHashSet/package.json +0 -6
  540. package/RefSubject/package.json +0 -6
  541. package/Sink/package.json +0 -6
  542. package/Stream/package.json +0 -6
  543. package/Subject/package.json +0 -6
  544. package/TypeId/package.json +0 -6
  545. package/Typeclass/package.json +0 -6
  546. package/Versioned/package.json +0 -6
  547. package/dist/cjs/AsyncData.js +0 -188
  548. package/dist/cjs/AsyncData.js.map +0 -1
  549. package/dist/cjs/Emitter.js +0 -44
  550. package/dist/cjs/Emitter.js.map +0 -1
  551. package/dist/cjs/Form.js +0 -178
  552. package/dist/cjs/Form.js.map +0 -1
  553. package/dist/cjs/FormEntry.js +0 -110
  554. package/dist/cjs/FormEntry.js.map +0 -1
  555. package/dist/cjs/Fx.js +0 -998
  556. package/dist/cjs/Fx.js.map +0 -1
  557. package/dist/cjs/Idle.js +0 -190
  558. package/dist/cjs/Idle.js.map +0 -1
  559. package/dist/cjs/Match.js +0 -191
  560. package/dist/cjs/Match.js.map +0 -1
  561. package/dist/cjs/Pull.js +0 -52
  562. package/dist/cjs/Pull.js.map +0 -1
  563. package/dist/cjs/Push.js +0 -168
  564. package/dist/cjs/Push.js.map +0 -1
  565. package/dist/cjs/RefArray.js +0 -253
  566. package/dist/cjs/RefArray.js.map +0 -1
  567. package/dist/cjs/RefChunk.js +0 -212
  568. package/dist/cjs/RefChunk.js.map +0 -1
  569. package/dist/cjs/RefHashMap.js +0 -198
  570. package/dist/cjs/RefHashMap.js.map +0 -1
  571. package/dist/cjs/RefHashSet.js +0 -99
  572. package/dist/cjs/RefHashSet.js.map +0 -1
  573. package/dist/cjs/RefSubject.js +0 -1115
  574. package/dist/cjs/RefSubject.js.map +0 -1
  575. package/dist/cjs/Sink.js +0 -662
  576. package/dist/cjs/Sink.js.map +0 -1
  577. package/dist/cjs/Stream.js +0 -87
  578. package/dist/cjs/Stream.js.map +0 -1
  579. package/dist/cjs/Subject.js +0 -205
  580. package/dist/cjs/Subject.js.map +0 -1
  581. package/dist/cjs/TypeId.js +0 -32
  582. package/dist/cjs/TypeId.js.map +0 -1
  583. package/dist/cjs/Typeclass.js +0 -380
  584. package/dist/cjs/Typeclass.js.map +0 -1
  585. package/dist/cjs/Versioned.js +0 -172
  586. package/dist/cjs/Versioned.js.map +0 -1
  587. package/dist/cjs/index.js +0 -89
  588. package/dist/cjs/index.js.map +0 -1
  589. package/dist/cjs/internal/DeferredRef.js +0 -67
  590. package/dist/cjs/internal/DeferredRef.js.map +0 -1
  591. package/dist/cjs/internal/UnionToTuple.js +0 -6
  592. package/dist/cjs/internal/UnionToTuple.js.map +0 -1
  593. package/dist/cjs/internal/bounds.js +0 -26
  594. package/dist/cjs/internal/bounds.js.map +0 -1
  595. package/dist/cjs/internal/core.js +0 -1783
  596. package/dist/cjs/internal/core.js.map +0 -1
  597. package/dist/cjs/internal/diff.js +0 -122
  598. package/dist/cjs/internal/diff.js.map +0 -1
  599. package/dist/cjs/internal/effect-loop-operator.js +0 -288
  600. package/dist/cjs/internal/effect-loop-operator.js.map +0 -1
  601. package/dist/cjs/internal/effect-operator.js +0 -156
  602. package/dist/cjs/internal/effect-operator.js.map +0 -1
  603. package/dist/cjs/internal/effect-producer.js +0 -74
  604. package/dist/cjs/internal/effect-producer.js.map +0 -1
  605. package/dist/cjs/internal/helpers.js +0 -317
  606. package/dist/cjs/internal/helpers.js.map +0 -1
  607. package/dist/cjs/internal/keyed.js +0 -168
  608. package/dist/cjs/internal/keyed.js.map +0 -1
  609. package/dist/cjs/internal/loop-operator.js +0 -213
  610. package/dist/cjs/internal/loop-operator.js.map +0 -1
  611. package/dist/cjs/internal/operator.js +0 -79
  612. package/dist/cjs/internal/operator.js.map +0 -1
  613. package/dist/cjs/internal/protos.js +0 -48
  614. package/dist/cjs/internal/protos.js.map +0 -1
  615. package/dist/cjs/internal/provide.js +0 -100
  616. package/dist/cjs/internal/provide.js.map +0 -1
  617. package/dist/cjs/internal/requestIdleCallback.js +0 -22
  618. package/dist/cjs/internal/requestIdleCallback.js.map +0 -1
  619. package/dist/cjs/internal/share.js +0 -74
  620. package/dist/cjs/internal/share.js.map +0 -1
  621. package/dist/cjs/internal/strategies.js +0 -34
  622. package/dist/cjs/internal/strategies.js.map +0 -1
  623. package/dist/cjs/internal/sync-operator.js +0 -120
  624. package/dist/cjs/internal/sync-operator.js.map +0 -1
  625. package/dist/cjs/internal/sync-producer.js +0 -118
  626. package/dist/cjs/internal/sync-producer.js.map +0 -1
  627. package/dist/cjs/internal/withKey.js +0 -63
  628. package/dist/cjs/internal/withKey.js.map +0 -1
  629. package/dist/dts/AsyncData.d.ts +0 -179
  630. package/dist/dts/AsyncData.d.ts.map +0 -1
  631. package/dist/dts/Emitter.d.ts +0 -24
  632. package/dist/dts/Emitter.d.ts.map +0 -1
  633. package/dist/dts/Form.d.ts +0 -145
  634. package/dist/dts/Form.d.ts.map +0 -1
  635. package/dist/dts/FormEntry.d.ts +0 -65
  636. package/dist/dts/FormEntry.d.ts.map +0 -1
  637. package/dist/dts/Fx.d.ts +0 -1678
  638. package/dist/dts/Fx.d.ts.map +0 -1
  639. package/dist/dts/Idle.d.ts +0 -84
  640. package/dist/dts/Idle.d.ts.map +0 -1
  641. package/dist/dts/Match.d.ts +0 -60
  642. package/dist/dts/Match.d.ts.map +0 -1
  643. package/dist/dts/Pull.d.ts +0 -37
  644. package/dist/dts/Pull.d.ts.map +0 -1
  645. package/dist/dts/Push.d.ts +0 -176
  646. package/dist/dts/Push.d.ts.map +0 -1
  647. package/dist/dts/RefArray.d.ts.map +0 -1
  648. package/dist/dts/RefChunk.d.ts.map +0 -1
  649. package/dist/dts/RefHashMap.d.ts +0 -189
  650. package/dist/dts/RefHashMap.d.ts.map +0 -1
  651. package/dist/dts/RefHashSet.d.ts +0 -100
  652. package/dist/dts/RefHashSet.d.ts.map +0 -1
  653. package/dist/dts/RefSubject.d.ts +0 -601
  654. package/dist/dts/RefSubject.d.ts.map +0 -1
  655. package/dist/dts/Sink.d.ts +0 -252
  656. package/dist/dts/Sink.d.ts.map +0 -1
  657. package/dist/dts/Stream.d.ts +0 -66
  658. package/dist/dts/Stream.d.ts.map +0 -1
  659. package/dist/dts/Subject.d.ts +0 -61
  660. package/dist/dts/Subject.d.ts.map +0 -1
  661. package/dist/dts/TypeId.d.ts +0 -51
  662. package/dist/dts/TypeId.d.ts.map +0 -1
  663. package/dist/dts/Typeclass.d.ts +0 -284
  664. package/dist/dts/Typeclass.d.ts.map +0 -1
  665. package/dist/dts/Versioned.d.ts +0 -117
  666. package/dist/dts/Versioned.d.ts.map +0 -1
  667. package/dist/dts/index.d.ts +0 -111
  668. package/dist/dts/index.d.ts.map +0 -1
  669. package/dist/dts/internal/DeferredRef.d.ts +0 -22
  670. package/dist/dts/internal/DeferredRef.d.ts.map +0 -1
  671. package/dist/dts/internal/UnionToTuple.d.ts.map +0 -1
  672. package/dist/dts/internal/bounds.d.ts +0 -9
  673. package/dist/dts/internal/bounds.d.ts.map +0 -1
  674. package/dist/dts/internal/core.d.ts +0 -237
  675. package/dist/dts/internal/core.d.ts.map +0 -1
  676. package/dist/dts/internal/diff.d.ts.map +0 -1
  677. package/dist/dts/internal/effect-loop-operator.d.ts +0 -34
  678. package/dist/dts/internal/effect-loop-operator.d.ts.map +0 -1
  679. package/dist/dts/internal/effect-operator.d.ts +0 -40
  680. package/dist/dts/internal/effect-operator.d.ts.map +0 -1
  681. package/dist/dts/internal/effect-producer.d.ts +0 -25
  682. package/dist/dts/internal/effect-producer.d.ts.map +0 -1
  683. package/dist/dts/internal/helpers.d.ts +0 -60
  684. package/dist/dts/internal/helpers.d.ts.map +0 -1
  685. package/dist/dts/internal/keyed.d.ts +0 -4
  686. package/dist/dts/internal/keyed.d.ts.map +0 -1
  687. package/dist/dts/internal/loop-operator.d.ts +0 -40
  688. package/dist/dts/internal/loop-operator.d.ts.map +0 -1
  689. package/dist/dts/internal/operator.d.ts +0 -16
  690. package/dist/dts/internal/operator.d.ts.map +0 -1
  691. package/dist/dts/internal/protos.d.ts +0 -23
  692. package/dist/dts/internal/protos.d.ts.map +0 -1
  693. package/dist/dts/internal/provide.d.ts +0 -46
  694. package/dist/dts/internal/provide.d.ts.map +0 -1
  695. package/dist/dts/internal/requestIdleCallback.d.ts +0 -3
  696. package/dist/dts/internal/requestIdleCallback.d.ts.map +0 -1
  697. package/dist/dts/internal/share.d.ts +0 -33
  698. package/dist/dts/internal/share.d.ts.map +0 -1
  699. package/dist/dts/internal/strategies.d.ts +0 -9
  700. package/dist/dts/internal/strategies.d.ts.map +0 -1
  701. package/dist/dts/internal/sync-operator.d.ts +0 -32
  702. package/dist/dts/internal/sync-operator.d.ts.map +0 -1
  703. package/dist/dts/internal/sync-producer.d.ts +0 -36
  704. package/dist/dts/internal/sync-producer.d.ts.map +0 -1
  705. package/dist/dts/internal/withKey.d.ts +0 -4
  706. package/dist/dts/internal/withKey.d.ts.map +0 -1
  707. package/dist/esm/AsyncData.js +0 -156
  708. package/dist/esm/AsyncData.js.map +0 -1
  709. package/dist/esm/Emitter.js +0 -33
  710. package/dist/esm/Emitter.js.map +0 -1
  711. package/dist/esm/Form.js +0 -163
  712. package/dist/esm/Form.js.map +0 -1
  713. package/dist/esm/FormEntry.js +0 -100
  714. package/dist/esm/FormEntry.js.map +0 -1
  715. package/dist/esm/Fx.js +0 -984
  716. package/dist/esm/Fx.js.map +0 -1
  717. package/dist/esm/Idle.js +0 -178
  718. package/dist/esm/Idle.js.map +0 -1
  719. package/dist/esm/Match.js +0 -185
  720. package/dist/esm/Match.js.map +0 -1
  721. package/dist/esm/Pull.js +0 -41
  722. package/dist/esm/Pull.js.map +0 -1
  723. package/dist/esm/Push.js +0 -159
  724. package/dist/esm/Push.js.map +0 -1
  725. package/dist/esm/RefArray.js.map +0 -1
  726. package/dist/esm/RefChunk.js.map +0 -1
  727. package/dist/esm/RefHashMap.js +0 -176
  728. package/dist/esm/RefHashMap.js.map +0 -1
  729. package/dist/esm/RefHashSet.js +0 -86
  730. package/dist/esm/RefHashSet.js.map +0 -1
  731. package/dist/esm/RefSubject.js +0 -1076
  732. package/dist/esm/RefSubject.js.map +0 -1
  733. package/dist/esm/Sink.js.map +0 -1
  734. package/dist/esm/Stream.js +0 -76
  735. package/dist/esm/Stream.js.map +0 -1
  736. package/dist/esm/Subject.js +0 -198
  737. package/dist/esm/Subject.js.map +0 -1
  738. package/dist/esm/TypeId.js +0 -26
  739. package/dist/esm/TypeId.js.map +0 -1
  740. package/dist/esm/Typeclass.js +0 -375
  741. package/dist/esm/Typeclass.js.map +0 -1
  742. package/dist/esm/Versioned.js +0 -149
  743. package/dist/esm/Versioned.js.map +0 -1
  744. package/dist/esm/index.js +0 -111
  745. package/dist/esm/index.js.map +0 -1
  746. package/dist/esm/internal/DeferredRef.js.map +0 -1
  747. package/dist/esm/internal/UnionToTuple.js +0 -2
  748. package/dist/esm/internal/UnionToTuple.js.map +0 -1
  749. package/dist/esm/internal/bounds.js +0 -13
  750. package/dist/esm/internal/bounds.js.map +0 -1
  751. package/dist/esm/internal/core.js +0 -1647
  752. package/dist/esm/internal/core.js.map +0 -1
  753. package/dist/esm/internal/diff.js.map +0 -1
  754. package/dist/esm/internal/effect-loop-operator.js +0 -269
  755. package/dist/esm/internal/effect-loop-operator.js.map +0 -1
  756. package/dist/esm/internal/effect-operator.js +0 -134
  757. package/dist/esm/internal/effect-operator.js.map +0 -1
  758. package/dist/esm/internal/effect-producer.js +0 -47
  759. package/dist/esm/internal/effect-producer.js.map +0 -1
  760. package/dist/esm/internal/helpers.js +0 -299
  761. package/dist/esm/internal/helpers.js.map +0 -1
  762. package/dist/esm/internal/keyed.js +0 -153
  763. package/dist/esm/internal/keyed.js.map +0 -1
  764. package/dist/esm/internal/loop-operator.js +0 -186
  765. package/dist/esm/internal/loop-operator.js.map +0 -1
  766. package/dist/esm/internal/operator.js +0 -68
  767. package/dist/esm/internal/operator.js.map +0 -1
  768. package/dist/esm/internal/protos.js +0 -39
  769. package/dist/esm/internal/protos.js.map +0 -1
  770. package/dist/esm/internal/provide.js +0 -72
  771. package/dist/esm/internal/provide.js.map +0 -1
  772. package/dist/esm/internal/requestIdleCallback.js +0 -16
  773. package/dist/esm/internal/requestIdleCallback.js.map +0 -1
  774. package/dist/esm/internal/share.js +0 -62
  775. package/dist/esm/internal/share.js.map +0 -1
  776. package/dist/esm/internal/strategies.js +0 -8
  777. package/dist/esm/internal/strategies.js.map +0 -1
  778. package/dist/esm/internal/sync-operator.js +0 -95
  779. package/dist/esm/internal/sync-operator.js.map +0 -1
  780. package/dist/esm/internal/sync-producer.js +0 -90
  781. package/dist/esm/internal/sync-producer.js.map +0 -1
  782. package/dist/esm/internal/withKey.js +0 -56
  783. package/dist/esm/internal/withKey.js.map +0 -1
  784. package/dist/esm/package.json +0 -4
  785. package/src/AsyncData.ts +0 -453
  786. package/src/Emitter.ts +0 -59
  787. package/src/Form.ts +0 -489
  788. package/src/FormEntry.ts +0 -214
  789. package/src/Idle.ts +0 -294
  790. package/src/Match.ts +0 -314
  791. package/src/Pull.ts +0 -95
  792. package/src/RefChunk.ts +0 -407
  793. package/src/RefHashMap.ts +0 -335
  794. package/src/RefHashSet.ts +0 -179
  795. package/src/Stream.ts +0 -140
  796. package/src/TypeId.ts +0 -59
  797. package/src/Typeclass.ts +0 -459
  798. package/src/internal/DeferredRef.ts +0 -72
  799. package/src/internal/UnionToTuple.ts +0 -11
  800. package/src/internal/bounds.ts +0 -21
  801. package/src/internal/core.ts +0 -3091
  802. package/src/internal/diff.ts +0 -171
  803. package/src/internal/effect-loop-operator.ts +0 -466
  804. package/src/internal/effect-operator.ts +0 -317
  805. package/src/internal/effect-producer.ts +0 -125
  806. package/src/internal/helpers.ts +0 -538
  807. package/src/internal/keyed.ts +0 -235
  808. package/src/internal/loop-operator.ts +0 -266
  809. package/src/internal/operator.ts +0 -87
  810. package/src/internal/protos.ts +0 -57
  811. package/src/internal/provide.ts +0 -151
  812. package/src/internal/requestIdleCallback.ts +0 -19
  813. package/src/internal/share.ts +0 -97
  814. package/src/internal/strategies.ts +0 -15
  815. package/src/internal/sync-operator.ts +0 -166
  816. package/src/internal/sync-producer.ts +0 -148
  817. package/src/internal/withKey.ts +0 -82
  818. /package/dist/{dts → Fx}/internal/UnionToTuple.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RefDuration.d.ts","sourceRoot":"","sources":["../../src/RefSubject/RefDuration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Extensions to RefSubject for working with Duration values
3
+ * @since 1.18.0
4
+ */
5
+ import * as Duration from "effect/Duration";
6
+ import { dual } from "effect/Function";
7
+ import * as RefSubject from "./RefSubject.js";
8
+ /**
9
+ * Creates a new `RefDuration` from a Duration, `Effect`, or `Fx`.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { Effect, Duration } from "effect"
14
+ * import * as RefDuration from "effect/typed/fx/RefSubject/RefDuration"
15
+ *
16
+ * const program = Effect.gen(function* () {
17
+ * const value = yield* RefDuration.make(Duration.seconds(5))
18
+ * const current = yield* value
19
+ * console.log(current) // Duration(...)
20
+ * })
21
+ * ```
22
+ *
23
+ * @since 1.18.0
24
+ * @category constructors
25
+ */
26
+ export function make(initial) {
27
+ return RefSubject.make(initial, { eq: Duration.Equivalence });
28
+ }
29
+ // ========================================
30
+ // Computed
31
+ // ========================================
32
+ /**
33
+ * Add a Duration to the current state of a RefDuration.
34
+ * @since 1.18.0
35
+ * @category computed
36
+ */
37
+ export const add = dual(2, function add(ref, that) {
38
+ return RefSubject.map(ref, (self) => Duration.sum(self, that));
39
+ });
40
+ /**
41
+ * Subtract a Duration from the current state of a RefDuration.
42
+ * @since 1.18.0
43
+ * @category computed
44
+ */
45
+ export const subtract = dual(2, function subtract(ref, that) {
46
+ return RefSubject.map(ref, (self) => Duration.subtract(self, that));
47
+ });
48
+ /**
49
+ * Multiply the current state of a RefDuration by a number.
50
+ * @since 1.18.0
51
+ * @category computed
52
+ */
53
+ export const multiply = dual(2, function multiply(ref, that) {
54
+ return RefSubject.map(ref, (self) => Duration.times(self, that));
55
+ });
56
+ /**
57
+ * Divide the current state of a RefDuration by a number.
58
+ * @since 1.18.0
59
+ * @category computed
60
+ */
61
+ export const divide = dual(2, function divide(ref, that) {
62
+ return RefSubject.map(ref, (self) => Duration.divide(self, that));
63
+ });
64
+ /**
65
+ * Check if the current state of a RefDuration is zero.
66
+ * @since 1.18.0
67
+ * @category computed
68
+ */
69
+ export const isZero = (ref) => RefSubject.map(ref, Duration.isZero);
70
+ /**
71
+ * Check if the current state of a RefDuration is less than a Duration.
72
+ * @since 1.18.0
73
+ * @category computed
74
+ */
75
+ export const isLessThan = dual(2, function isLessThan(ref, that) {
76
+ return RefSubject.map(ref, (self) => Duration.isLessThan(self, that));
77
+ });
78
+ /**
79
+ * Check if the current state of a RefDuration is greater than a Duration.
80
+ * @since 1.18.0
81
+ * @category computed
82
+ */
83
+ export const isGreaterThan = dual(2, function isGreaterThan(ref, that) {
84
+ return RefSubject.map(ref, (self) => Duration.isGreaterThan(self, that));
85
+ });
86
+ /**
87
+ * Get the milliseconds value of the current state of a RefDuration.
88
+ * @since 1.18.0
89
+ * @category computed
90
+ */
91
+ export const millis = (ref) => RefSubject.map(ref, Duration.toMillis);
92
+ /**
93
+ * Get the seconds value of the current state of a RefDuration.
94
+ * @since 1.18.0
95
+ * @category computed
96
+ */
97
+ export const seconds = (ref) => RefSubject.map(ref, Duration.toSeconds);
98
+ /**
99
+ * Get the minutes value of the current state of a RefDuration.
100
+ * @since 1.18.0
101
+ * @category computed
102
+ */
103
+ export const minutes = (ref) => RefSubject.map(ref, Duration.toMinutes);
104
+ /**
105
+ * Get the hours value of the current state of a RefDuration.
106
+ * @since 1.18.0
107
+ * @category computed
108
+ */
109
+ export const hours = (ref) => RefSubject.map(ref, Duration.toHours);
110
+ /**
111
+ * Get the days value of the current state of a RefDuration.
112
+ * @since 1.18.0
113
+ * @category computed
114
+ */
115
+ export const days = (ref) => RefSubject.map(ref, Duration.toDays);
@@ -0,0 +1,239 @@
1
+ /**
2
+ * Extensions to RefSubject for working with Graph values
3
+ * @since 1.18.0
4
+ */
5
+ import type * as Effect from "effect/Effect";
6
+ import * as Graph from "effect/Graph";
7
+ import type * as Scope from "effect/Scope";
8
+ import type * as Fx from "../Fx/index.js";
9
+ import * as RefSubject from "./RefSubject.js";
10
+ /**
11
+ * A RefGraph is a RefSubject specialized over a Graph.
12
+ * @since 1.18.0
13
+ * @category models
14
+ */
15
+ export interface RefGraph<in out N, in out E, T extends Graph.Kind = "directed", in out Err = never, out R = never> extends RefSubject.RefSubject<Graph.Graph<N, E, T>, Err, R> {
16
+ }
17
+ /**
18
+ * Creates a new `RefGraph` from a Graph, `Effect`, or `Fx`.
19
+ * @since 1.18.0
20
+ * @category constructors
21
+ */
22
+ export declare function make<N, E, T extends Graph.Kind, Err, R>(initial: Graph.Graph<N, E, T> | Effect.Effect<Graph.Graph<N, E, T>, Err, R> | Fx.Fx<Graph.Graph<N, E, T>, Err, R>): Effect.Effect<RefGraph<N, E, T, Err>, never, R | Scope.Scope>;
23
+ /**
24
+ * Creates a new empty directed RefGraph.
25
+ * @since 1.18.0
26
+ * @category constructors
27
+ */
28
+ export declare function directed<N, E, Err, R>(): Effect.Effect<RefGraph<N, E, "directed", Err>, never, R | Scope.Scope>;
29
+ /**
30
+ * Creates a new empty undirected RefGraph.
31
+ * @since 1.18.0
32
+ * @category constructors
33
+ */
34
+ export declare function undirected<N, E, Err, R>(): Effect.Effect<RefGraph<N, E, "undirected", Err>, never, R | Scope.Scope>;
35
+ /**
36
+ * Add a node to the graph.
37
+ * @since 1.18.0
38
+ * @category combinators
39
+ */
40
+ export declare const addNode: {
41
+ <N>(data: N): <E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
42
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, data: N): Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
43
+ };
44
+ /**
45
+ * Remove a node from the graph.
46
+ * @since 1.18.0
47
+ * @category combinators
48
+ */
49
+ export declare const removeNode: {
50
+ (nodeIndex: Graph.NodeIndex): <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
51
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, nodeIndex: Graph.NodeIndex): Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
52
+ };
53
+ /**
54
+ * Update a node's data.
55
+ * @since 1.18.0
56
+ * @category combinators
57
+ */
58
+ export declare const updateNode: {
59
+ <N>(nodeIndex: Graph.NodeIndex, f: (data: N) => N): <E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
60
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, nodeIndex: Graph.NodeIndex, f: (data: N) => N): Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
61
+ };
62
+ /**
63
+ * Add an edge to the graph.
64
+ * @since 1.18.0
65
+ * @category combinators
66
+ */
67
+ export declare const addEdge: {
68
+ <E>(source: Graph.NodeIndex, target: Graph.NodeIndex, data: E): <N, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
69
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, source: Graph.NodeIndex, target: Graph.NodeIndex, data: E): Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
70
+ };
71
+ /**
72
+ * Remove an edge from the graph.
73
+ * @since 1.18.0
74
+ * @category combinators
75
+ */
76
+ export declare const removeEdge: {
77
+ (edgeIndex: Graph.EdgeIndex): <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
78
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, edgeIndex: Graph.EdgeIndex): Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
79
+ };
80
+ /**
81
+ * Update an edge's data.
82
+ * @since 1.18.0
83
+ * @category combinators
84
+ */
85
+ export declare const updateEdge: {
86
+ <E>(edgeIndex: Graph.EdgeIndex, f: (data: E) => E): <N, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
87
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, edgeIndex: Graph.EdgeIndex, f: (data: E) => E): Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
88
+ };
89
+ /**
90
+ * Map all node data.
91
+ * @since 1.18.0
92
+ * @category combinators
93
+ */
94
+ export declare const mapNodes: {
95
+ <N>(f: (data: N) => N): <E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
96
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, f: (data: N) => N): Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
97
+ };
98
+ /**
99
+ * Map all edge data.
100
+ * @since 1.18.0
101
+ * @category combinators
102
+ */
103
+ export declare const mapEdges: {
104
+ <E>(f: (data: E) => E): <N, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
105
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, f: (data: E) => E): Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
106
+ };
107
+ /**
108
+ * Filter nodes.
109
+ * @since 1.18.0
110
+ * @category combinators
111
+ */
112
+ export declare const filterNodes: {
113
+ <N>(predicate: (data: N) => boolean): <E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
114
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, predicate: (data: N) => boolean): Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
115
+ };
116
+ /**
117
+ * Filter edges.
118
+ * @since 1.18.0
119
+ * @category combinators
120
+ */
121
+ export declare const filterEdges: {
122
+ <E>(predicate: (data: E) => boolean): <N, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
123
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, predicate: (data: E) => boolean): Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
124
+ };
125
+ /**
126
+ * Reverse all edge directions.
127
+ * @since 1.18.0
128
+ * @category combinators
129
+ */
130
+ export declare const reverse: <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
131
+ /**
132
+ * Get the node count.
133
+ * @since 1.18.0
134
+ * @category computed
135
+ */
136
+ export declare const nodeCount: <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => RefSubject.Computed<number, Err, R>;
137
+ /**
138
+ * Get the edge count.
139
+ * @since 1.18.0
140
+ * @category computed
141
+ */
142
+ export declare const edgeCount: <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => RefSubject.Computed<number, Err, R>;
143
+ /**
144
+ * Check if a node exists.
145
+ * @since 1.18.0
146
+ * @category computed
147
+ */
148
+ export declare const hasNode: {
149
+ (nodeIndex: Graph.NodeIndex): <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => RefSubject.Computed<boolean, Err, R>;
150
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, nodeIndex: Graph.NodeIndex): RefSubject.Computed<boolean, Err, R>;
151
+ };
152
+ /**
153
+ * Check if an edge exists.
154
+ * @since 1.18.0
155
+ * @category computed
156
+ */
157
+ export declare const hasEdge: {
158
+ (source: Graph.NodeIndex, target: Graph.NodeIndex): <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => RefSubject.Computed<boolean, Err, R>;
159
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, source: Graph.NodeIndex, target: Graph.NodeIndex): RefSubject.Computed<boolean, Err, R>;
160
+ };
161
+ /**
162
+ * Get neighbors of a node.
163
+ * @since 1.18.0
164
+ * @category computed
165
+ */
166
+ export declare const neighbors: {
167
+ (nodeIndex: Graph.NodeIndex): <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => RefSubject.Computed<Array<Graph.NodeIndex>, Err, R>;
168
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, nodeIndex: Graph.NodeIndex): RefSubject.Computed<Array<Graph.NodeIndex>, Err, R>;
169
+ };
170
+ /**
171
+ * Get directed neighbors of a node.
172
+ * @since 1.18.0
173
+ * @category computed
174
+ */
175
+ export declare const neighborsDirected: {
176
+ (nodeIndex: Graph.NodeIndex, direction: Graph.Direction): <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => RefSubject.Computed<Array<Graph.NodeIndex>, Err, R>;
177
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, nodeIndex: Graph.NodeIndex, direction: Graph.Direction): RefSubject.Computed<Array<Graph.NodeIndex>, Err, R>;
178
+ };
179
+ /**
180
+ * Check if the graph is acyclic.
181
+ * @since 1.18.0
182
+ * @category computed
183
+ */
184
+ export declare const isAcyclic: <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => RefSubject.Computed<boolean, Err, R>;
185
+ /**
186
+ * Check if the graph is bipartite (undirected only).
187
+ * @since 1.18.0
188
+ * @category computed
189
+ */
190
+ export declare const isBipartite: <N, E, Err, R>(ref: RefGraph<N, E, "undirected", Err, R>) => RefSubject.Computed<boolean, Err, R>;
191
+ /**
192
+ * Get connected components (undirected only).
193
+ * @since 1.18.0
194
+ * @category computed
195
+ */
196
+ export declare const connectedComponents: <N, E, Err, R>(ref: RefGraph<N, E, "undirected", Err, R>) => RefSubject.Computed<Array<Array<Graph.NodeIndex>>, Err, R>;
197
+ /**
198
+ * Get strongly connected components.
199
+ * @since 1.18.0
200
+ * @category computed
201
+ */
202
+ export declare const stronglyConnectedComponents: <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => RefSubject.Computed<Array<Array<Graph.NodeIndex>>, Err, R>;
203
+ /**
204
+ * Get a node's data.
205
+ * @since 1.18.0
206
+ * @category filtered
207
+ */
208
+ export declare const getNode: {
209
+ (nodeIndex: Graph.NodeIndex): <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => RefSubject.Filtered<N, Err, R>;
210
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, nodeIndex: Graph.NodeIndex): RefSubject.Filtered<N, Err, R>;
211
+ };
212
+ /**
213
+ * Get an edge's data.
214
+ * @since 1.18.0
215
+ * @category filtered
216
+ */
217
+ export declare const getEdge: {
218
+ (edgeIndex: Graph.EdgeIndex): <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => RefSubject.Filtered<Graph.Edge<E>, Err, R>;
219
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, edgeIndex: Graph.EdgeIndex): RefSubject.Filtered<Graph.Edge<E>, Err, R>;
220
+ };
221
+ /**
222
+ * Find a node matching a predicate.
223
+ * @since 1.18.0
224
+ * @category filtered
225
+ */
226
+ export declare const findNode: {
227
+ <N>(predicate: (data: N) => boolean): <E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => RefSubject.Filtered<Graph.NodeIndex, Err, R>;
228
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, predicate: (data: N) => boolean): RefSubject.Filtered<Graph.NodeIndex, Err, R>;
229
+ };
230
+ /**
231
+ * Find an edge matching a predicate.
232
+ * @since 1.18.0
233
+ * @category filtered
234
+ */
235
+ export declare const findEdge: {
236
+ <E>(predicate: (edge: E) => boolean): <N, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => RefSubject.Filtered<Graph.EdgeIndex, Err, R>;
237
+ <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, predicate: (edge: E) => boolean): RefSubject.Filtered<Graph.EdgeIndex, Err, R>;
238
+ };
239
+ //# sourceMappingURL=RefGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RefGraph.d.ts","sourceRoot":"","sources":["../../src/RefSubject/RefGraph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,272 @@
1
+ /**
2
+ * Extensions to RefSubject for working with Graph values
3
+ * @since 1.18.0
4
+ */
5
+ import { equals } from "effect/Equal";
6
+ import { dual } from "effect/Function";
7
+ import * as Graph from "effect/Graph";
8
+ import * as Option from "effect/Option";
9
+ import * as RefSubject from "./RefSubject.js";
10
+ /**
11
+ * Creates a new `RefGraph` from a Graph, `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
+ * Creates a new empty directed RefGraph.
20
+ * @since 1.18.0
21
+ * @category constructors
22
+ */
23
+ export function directed() {
24
+ return RefSubject.make(Graph.directed(), { eq: equals });
25
+ }
26
+ /**
27
+ * Creates a new empty undirected RefGraph.
28
+ * @since 1.18.0
29
+ * @category constructors
30
+ */
31
+ export function undirected() {
32
+ return RefSubject.make(Graph.undirected(), { eq: equals });
33
+ }
34
+ // ========================================
35
+ // Combinators
36
+ // ========================================
37
+ /**
38
+ * Add a node to the graph.
39
+ * @since 1.18.0
40
+ * @category combinators
41
+ */
42
+ export const addNode = dual(2, function addNode(ref, data) {
43
+ return RefSubject.update(ref, (g) => {
44
+ const mutable = Graph.beginMutation(g);
45
+ Graph.addNode(mutable, data);
46
+ return Graph.endMutation(mutable);
47
+ });
48
+ });
49
+ /**
50
+ * Remove a node from the graph.
51
+ * @since 1.18.0
52
+ * @category combinators
53
+ */
54
+ export const removeNode = dual(2, function removeNode(ref, nodeIndex) {
55
+ return RefSubject.update(ref, (g) => {
56
+ const mutable = Graph.beginMutation(g);
57
+ Graph.removeNode(mutable, nodeIndex);
58
+ return Graph.endMutation(mutable);
59
+ });
60
+ });
61
+ /**
62
+ * Update a node's data.
63
+ * @since 1.18.0
64
+ * @category combinators
65
+ */
66
+ export const updateNode = dual(3, function updateNode(ref, nodeIndex, f) {
67
+ return RefSubject.update(ref, (g) => {
68
+ const mutable = Graph.beginMutation(g);
69
+ Graph.updateNode(mutable, nodeIndex, f);
70
+ return Graph.endMutation(mutable);
71
+ });
72
+ });
73
+ /**
74
+ * Add an edge to the graph.
75
+ * @since 1.18.0
76
+ * @category combinators
77
+ */
78
+ export const addEdge = dual(4, function addEdge(ref, source, target, data) {
79
+ return RefSubject.update(ref, (g) => {
80
+ const mutable = Graph.beginMutation(g);
81
+ Graph.addEdge(mutable, source, target, data);
82
+ return Graph.endMutation(mutable);
83
+ });
84
+ });
85
+ /**
86
+ * Remove an edge from the graph.
87
+ * @since 1.18.0
88
+ * @category combinators
89
+ */
90
+ export const removeEdge = dual(2, function removeEdge(ref, edgeIndex) {
91
+ return RefSubject.update(ref, (g) => {
92
+ const mutable = Graph.beginMutation(g);
93
+ Graph.removeEdge(mutable, edgeIndex);
94
+ return Graph.endMutation(mutable);
95
+ });
96
+ });
97
+ /**
98
+ * Update an edge's data.
99
+ * @since 1.18.0
100
+ * @category combinators
101
+ */
102
+ export const updateEdge = dual(3, function updateEdge(ref, edgeIndex, f) {
103
+ return RefSubject.update(ref, (g) => {
104
+ const mutable = Graph.beginMutation(g);
105
+ Graph.updateEdge(mutable, edgeIndex, f);
106
+ return Graph.endMutation(mutable);
107
+ });
108
+ });
109
+ /**
110
+ * Map all node data.
111
+ * @since 1.18.0
112
+ * @category combinators
113
+ */
114
+ export const mapNodes = dual(2, function mapNodes(ref, f) {
115
+ return RefSubject.update(ref, (g) => {
116
+ const mutable = Graph.beginMutation(g);
117
+ Graph.mapNodes(mutable, f);
118
+ return Graph.endMutation(mutable);
119
+ });
120
+ });
121
+ /**
122
+ * Map all edge data.
123
+ * @since 1.18.0
124
+ * @category combinators
125
+ */
126
+ export const mapEdges = dual(2, function mapEdges(ref, f) {
127
+ return RefSubject.update(ref, (g) => {
128
+ const mutable = Graph.beginMutation(g);
129
+ Graph.mapEdges(mutable, f);
130
+ return Graph.endMutation(mutable);
131
+ });
132
+ });
133
+ /**
134
+ * Filter nodes.
135
+ * @since 1.18.0
136
+ * @category combinators
137
+ */
138
+ export const filterNodes = dual(2, function filterNodes(ref, predicate) {
139
+ return RefSubject.update(ref, (g) => {
140
+ const mutable = Graph.beginMutation(g);
141
+ Graph.filterNodes(mutable, predicate);
142
+ return Graph.endMutation(mutable);
143
+ });
144
+ });
145
+ /**
146
+ * Filter edges.
147
+ * @since 1.18.0
148
+ * @category combinators
149
+ */
150
+ export const filterEdges = dual(2, function filterEdges(ref, predicate) {
151
+ return RefSubject.update(ref, (g) => {
152
+ const mutable = Graph.beginMutation(g);
153
+ Graph.filterEdges(mutable, predicate);
154
+ return Graph.endMutation(mutable);
155
+ });
156
+ });
157
+ /**
158
+ * Reverse all edge directions.
159
+ * @since 1.18.0
160
+ * @category combinators
161
+ */
162
+ export const reverse = (ref) => RefSubject.update(ref, (g) => {
163
+ const mutable = Graph.beginMutation(g);
164
+ Graph.reverse(mutable);
165
+ return Graph.endMutation(mutable);
166
+ });
167
+ // ========================================
168
+ // Computed
169
+ // ========================================
170
+ /**
171
+ * Get the node count.
172
+ * @since 1.18.0
173
+ * @category computed
174
+ */
175
+ export const nodeCount = (ref) => RefSubject.map(ref, Graph.nodeCount);
176
+ /**
177
+ * Get the edge count.
178
+ * @since 1.18.0
179
+ * @category computed
180
+ */
181
+ export const edgeCount = (ref) => RefSubject.map(ref, Graph.edgeCount);
182
+ /**
183
+ * Check if a node exists.
184
+ * @since 1.18.0
185
+ * @category computed
186
+ */
187
+ export const hasNode = dual(2, function hasNode(ref, nodeIndex) {
188
+ return RefSubject.map(ref, Graph.hasNode(nodeIndex));
189
+ });
190
+ /**
191
+ * Check if an edge exists.
192
+ * @since 1.18.0
193
+ * @category computed
194
+ */
195
+ export const hasEdge = dual(3, function hasEdge(ref, source, target) {
196
+ return RefSubject.map(ref, Graph.hasEdge(source, target));
197
+ });
198
+ /**
199
+ * Get neighbors of a node.
200
+ * @since 1.18.0
201
+ * @category computed
202
+ */
203
+ export const neighbors = dual(2, function neighbors(ref, nodeIndex) {
204
+ return RefSubject.map(ref, Graph.neighbors(nodeIndex));
205
+ });
206
+ /**
207
+ * Get directed neighbors of a node.
208
+ * @since 1.18.0
209
+ * @category computed
210
+ */
211
+ export const neighborsDirected = dual(3, function neighborsDirected(ref, nodeIndex, direction) {
212
+ return RefSubject.map(ref, Graph.neighborsDirected(nodeIndex, direction));
213
+ });
214
+ /**
215
+ * Check if the graph is acyclic.
216
+ * @since 1.18.0
217
+ * @category computed
218
+ */
219
+ export const isAcyclic = (ref) => RefSubject.map(ref, Graph.isAcyclic);
220
+ /**
221
+ * Check if the graph is bipartite (undirected only).
222
+ * @since 1.18.0
223
+ * @category computed
224
+ */
225
+ export const isBipartite = (ref) => RefSubject.map(ref, Graph.isBipartite);
226
+ /**
227
+ * Get connected components (undirected only).
228
+ * @since 1.18.0
229
+ * @category computed
230
+ */
231
+ export const connectedComponents = (ref) => RefSubject.map(ref, Graph.connectedComponents);
232
+ /**
233
+ * Get strongly connected components.
234
+ * @since 1.18.0
235
+ * @category computed
236
+ */
237
+ export const stronglyConnectedComponents = (ref) => RefSubject.map(ref, Graph.stronglyConnectedComponents);
238
+ // ========================================
239
+ // Filtered
240
+ // ========================================
241
+ /**
242
+ * Get a node's data.
243
+ * @since 1.18.0
244
+ * @category filtered
245
+ */
246
+ export const getNode = dual(2, function getNode(ref, nodeIndex) {
247
+ return RefSubject.filterMap(ref, Graph.getNode(nodeIndex));
248
+ });
249
+ /**
250
+ * Get an edge's data.
251
+ * @since 1.18.0
252
+ * @category filtered
253
+ */
254
+ export const getEdge = dual(2, function getEdge(ref, edgeIndex) {
255
+ return RefSubject.filterMap(ref, (g) => Option.fromUndefinedOr(Graph.getEdge(g, edgeIndex)));
256
+ });
257
+ /**
258
+ * Find a node matching a predicate.
259
+ * @since 1.18.0
260
+ * @category filtered
261
+ */
262
+ export const findNode = dual(2, function findNode(ref, predicate) {
263
+ return RefSubject.filterMap(ref, (g) => Option.fromUndefinedOr(Graph.findNode(g, predicate)));
264
+ });
265
+ /**
266
+ * Find an edge matching a predicate.
267
+ * @since 1.18.0
268
+ * @category filtered
269
+ */
270
+ export const findEdge = dual(2, function findEdge(ref, predicate) {
271
+ return RefSubject.filterMap(ref, (g) => Option.fromUndefinedOr(Graph.findEdge(g, predicate)));
272
+ });