@typed/fx 1.18.4 → 1.20.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 (423) hide show
  1. package/AsyncData/package.json +6 -0
  2. package/Emitter/package.json +6 -0
  3. package/Form/package.json +6 -0
  4. package/FormEntry/package.json +6 -0
  5. package/Fx/package.json +6 -0
  6. package/Guard/package.json +6 -0
  7. package/Idle/package.json +6 -0
  8. package/Match/package.json +6 -0
  9. package/Pull/package.json +6 -0
  10. package/Push/package.json +6 -0
  11. package/RefArray/package.json +6 -0
  12. package/RefChunk/package.json +6 -0
  13. package/RefHashMap/package.json +6 -0
  14. package/RefHashSet/package.json +6 -0
  15. package/RefSubject/package.json +6 -0
  16. package/Sink/package.json +6 -0
  17. package/Stream/package.json +6 -0
  18. package/Subject/package.json +6 -0
  19. package/TypeId/package.json +6 -0
  20. package/Typeclass/package.json +6 -0
  21. package/Versioned/package.json +6 -0
  22. package/dist/cjs/AsyncData.js +177 -0
  23. package/dist/cjs/AsyncData.js.map +1 -0
  24. package/dist/cjs/Emitter.js +24 -21
  25. package/dist/cjs/Emitter.js.map +1 -1
  26. package/dist/cjs/Form.js +78 -21
  27. package/dist/cjs/Form.js.map +1 -1
  28. package/dist/cjs/FormEntry.js +75 -48
  29. package/dist/cjs/FormEntry.js.map +1 -1
  30. package/dist/cjs/Fx.js +517 -872
  31. package/dist/cjs/Fx.js.map +1 -1
  32. package/dist/cjs/Guard.js +21 -13
  33. package/dist/cjs/Guard.js.map +1 -1
  34. package/dist/cjs/Idle.js +49 -37
  35. package/dist/cjs/Idle.js.map +1 -1
  36. package/dist/cjs/Match.js +99 -61
  37. package/dist/cjs/Match.js.map +1 -1
  38. package/dist/cjs/Pull.js.map +1 -1
  39. package/dist/cjs/Push.js +168 -0
  40. package/dist/cjs/Push.js.map +1 -0
  41. package/dist/cjs/RefArray.js +32 -30
  42. package/dist/cjs/RefArray.js.map +1 -1
  43. package/dist/cjs/RefChunk.js +26 -24
  44. package/dist/cjs/RefChunk.js.map +1 -1
  45. package/dist/cjs/RefHashMap.js +20 -20
  46. package/dist/cjs/RefHashMap.js.map +1 -1
  47. package/dist/cjs/RefHashSet.js +11 -8
  48. package/dist/cjs/RefHashSet.js.map +1 -1
  49. package/dist/cjs/RefSubject.js +899 -158
  50. package/dist/cjs/RefSubject.js.map +1 -1
  51. package/dist/cjs/Sink.js +588 -62
  52. package/dist/cjs/Sink.js.map +1 -1
  53. package/dist/cjs/Stream.js +15 -10
  54. package/dist/cjs/Stream.js.map +1 -1
  55. package/dist/cjs/Subject.js +153 -55
  56. package/dist/cjs/Subject.js.map +1 -1
  57. package/dist/cjs/TypeId.js +10 -5
  58. package/dist/cjs/TypeId.js.map +1 -1
  59. package/dist/cjs/Typeclass.js +28 -31
  60. package/dist/cjs/Typeclass.js.map +1 -1
  61. package/dist/cjs/Versioned.js +118 -57
  62. package/dist/cjs/Versioned.js.map +1 -1
  63. package/dist/cjs/index.js +44 -8
  64. package/dist/cjs/index.js.map +1 -1
  65. package/dist/cjs/internal/{deferred-ref.js → DeferredRef.js} +45 -13
  66. package/dist/cjs/internal/DeferredRef.js.map +1 -0
  67. package/dist/cjs/internal/UnionToTuple.js +6 -0
  68. package/dist/cjs/internal/UnionToTuple.js.map +1 -0
  69. package/dist/cjs/internal/core.js +1590 -779
  70. package/dist/cjs/internal/core.js.map +1 -1
  71. package/dist/cjs/internal/diff.js +114 -0
  72. package/dist/cjs/internal/diff.js.map +1 -0
  73. package/dist/cjs/internal/effect-loop-operator.js +288 -0
  74. package/dist/cjs/internal/effect-loop-operator.js.map +1 -0
  75. package/dist/cjs/internal/effect-operator.js +46 -37
  76. package/dist/cjs/internal/effect-operator.js.map +1 -1
  77. package/dist/cjs/internal/effect-producer.js +74 -0
  78. package/dist/cjs/internal/effect-producer.js.map +1 -0
  79. package/dist/cjs/internal/helpers.js +158 -128
  80. package/dist/cjs/internal/helpers.js.map +1 -1
  81. package/dist/cjs/internal/keyed.js +136 -173
  82. package/dist/cjs/internal/keyed.js.map +1 -1
  83. package/dist/cjs/internal/loop-operator.js +213 -0
  84. package/dist/cjs/internal/loop-operator.js.map +1 -0
  85. package/dist/cjs/internal/operator.js +79 -0
  86. package/dist/cjs/internal/operator.js.map +1 -0
  87. package/dist/cjs/internal/protos.js +19 -81
  88. package/dist/cjs/internal/protos.js.map +1 -1
  89. package/dist/cjs/internal/provide.js +47 -25
  90. package/dist/cjs/internal/provide.js.map +1 -1
  91. package/dist/cjs/internal/requestIdleCallback.js +5 -5
  92. package/dist/cjs/internal/requestIdleCallback.js.map +1 -1
  93. package/dist/cjs/internal/share.js +12 -15
  94. package/dist/cjs/internal/share.js.map +1 -1
  95. package/dist/cjs/internal/sync-operator.js +50 -22
  96. package/dist/cjs/internal/sync-operator.js.map +1 -1
  97. package/dist/cjs/internal/sync-producer.js +114 -0
  98. package/dist/cjs/internal/sync-producer.js.map +1 -0
  99. package/dist/cjs/internal/withKey.js +45 -51
  100. package/dist/cjs/internal/withKey.js.map +1 -1
  101. package/dist/dts/AsyncData.d.ts +185 -0
  102. package/dist/dts/AsyncData.d.ts.map +1 -0
  103. package/dist/dts/Emitter.d.ts +13 -20
  104. package/dist/dts/Emitter.d.ts.map +1 -1
  105. package/dist/dts/Form.d.ts +45 -28
  106. package/dist/dts/Form.d.ts.map +1 -1
  107. package/dist/dts/FormEntry.d.ts +25 -13
  108. package/dist/dts/FormEntry.d.ts.map +1 -1
  109. package/dist/dts/Fx.d.ts +983 -1387
  110. package/dist/dts/Fx.d.ts.map +1 -1
  111. package/dist/dts/Guard.d.ts +8 -1
  112. package/dist/dts/Guard.d.ts.map +1 -1
  113. package/dist/dts/Idle.d.ts +3 -3
  114. package/dist/dts/Idle.d.ts.map +1 -1
  115. package/dist/dts/Match.d.ts +8 -8
  116. package/dist/dts/Match.d.ts.map +1 -1
  117. package/dist/dts/Pull.d.ts +5 -5
  118. package/dist/dts/Pull.d.ts.map +1 -1
  119. package/dist/dts/Push.d.ts +170 -0
  120. package/dist/dts/Push.d.ts.map +1 -0
  121. package/dist/dts/RefArray.d.ts +21 -23
  122. package/dist/dts/RefArray.d.ts.map +1 -1
  123. package/dist/dts/RefChunk.d.ts +17 -19
  124. package/dist/dts/RefChunk.d.ts.map +1 -1
  125. package/dist/dts/RefHashMap.d.ts +19 -20
  126. package/dist/dts/RefHashMap.d.ts.map +1 -1
  127. package/dist/dts/RefHashSet.d.ts +12 -16
  128. package/dist/dts/RefHashSet.d.ts.map +1 -1
  129. package/dist/dts/RefSubject.d.ts +396 -187
  130. package/dist/dts/RefSubject.d.ts.map +1 -1
  131. package/dist/dts/Sink.d.ts +193 -93
  132. package/dist/dts/Sink.d.ts.map +1 -1
  133. package/dist/dts/Stream.d.ts +7 -1
  134. package/dist/dts/Stream.d.ts.map +1 -1
  135. package/dist/dts/Subject.d.ts +27 -36
  136. package/dist/dts/Subject.d.ts.map +1 -1
  137. package/dist/dts/TypeId.d.ts +10 -0
  138. package/dist/dts/TypeId.d.ts.map +1 -1
  139. package/dist/dts/Typeclass.d.ts +2 -2
  140. package/dist/dts/Typeclass.d.ts.map +1 -1
  141. package/dist/dts/Versioned.d.ts +50 -78
  142. package/dist/dts/Versioned.d.ts.map +1 -1
  143. package/dist/dts/index.d.ts +66 -6
  144. package/dist/dts/index.d.ts.map +1 -1
  145. package/dist/dts/internal/DeferredRef.d.ts +20 -0
  146. package/dist/dts/internal/DeferredRef.d.ts.map +1 -0
  147. package/dist/dts/internal/UnionToTuple.d.ts +6 -0
  148. package/dist/dts/internal/UnionToTuple.d.ts.map +1 -0
  149. package/dist/dts/internal/core.d.ts +218 -450
  150. package/dist/dts/internal/core.d.ts.map +1 -1
  151. package/dist/dts/internal/diff.d.ts +38 -0
  152. package/dist/dts/internal/diff.d.ts.map +1 -0
  153. package/dist/dts/internal/effect-loop-operator.d.ts +34 -0
  154. package/dist/dts/internal/effect-loop-operator.d.ts.map +1 -0
  155. package/dist/dts/internal/effect-operator.d.ts +8 -5
  156. package/dist/dts/internal/effect-operator.d.ts.map +1 -1
  157. package/dist/dts/internal/effect-producer.d.ts +25 -0
  158. package/dist/dts/internal/effect-producer.d.ts.map +1 -0
  159. package/dist/dts/internal/helpers.d.ts +33 -24
  160. package/dist/dts/internal/helpers.d.ts.map +1 -1
  161. package/dist/dts/internal/keyed.d.ts +3 -3
  162. package/dist/dts/internal/keyed.d.ts.map +1 -1
  163. package/dist/dts/internal/loop-operator.d.ts +40 -0
  164. package/dist/dts/internal/loop-operator.d.ts.map +1 -0
  165. package/dist/dts/internal/operator.d.ts +16 -0
  166. package/dist/dts/internal/operator.d.ts.map +1 -0
  167. package/dist/dts/internal/protos.d.ts +16 -43
  168. package/dist/dts/internal/protos.d.ts.map +1 -1
  169. package/dist/dts/internal/provide.d.ts +7 -1
  170. package/dist/dts/internal/provide.d.ts.map +1 -1
  171. package/dist/dts/internal/share.d.ts +12 -9
  172. package/dist/dts/internal/share.d.ts.map +1 -1
  173. package/dist/dts/internal/sync-operator.d.ts +7 -3
  174. package/dist/dts/internal/sync-operator.d.ts.map +1 -1
  175. package/dist/dts/internal/sync-producer.d.ts +36 -0
  176. package/dist/dts/internal/sync-producer.d.ts.map +1 -0
  177. package/dist/dts/internal/withKey.d.ts +3 -3
  178. package/dist/dts/internal/withKey.d.ts.map +1 -1
  179. package/dist/esm/AsyncData.js +151 -0
  180. package/dist/esm/AsyncData.js.map +1 -0
  181. package/dist/esm/Emitter.js +24 -21
  182. package/dist/esm/Emitter.js.map +1 -1
  183. package/dist/esm/Form.js +69 -14
  184. package/dist/esm/Form.js.map +1 -1
  185. package/dist/esm/FormEntry.js +77 -52
  186. package/dist/esm/FormEntry.js.map +1 -1
  187. package/dist/esm/Fx.js +509 -874
  188. package/dist/esm/Fx.js.map +1 -1
  189. package/dist/esm/Guard.js +5 -1
  190. package/dist/esm/Guard.js.map +1 -1
  191. package/dist/esm/Idle.js +49 -39
  192. package/dist/esm/Idle.js.map +1 -1
  193. package/dist/esm/Match.js +103 -63
  194. package/dist/esm/Match.js.map +1 -1
  195. package/dist/esm/Pull.js.map +1 -1
  196. package/dist/esm/Push.js +159 -0
  197. package/dist/esm/Push.js.map +1 -0
  198. package/dist/esm/RefArray.js +32 -30
  199. package/dist/esm/RefArray.js.map +1 -1
  200. package/dist/esm/RefChunk.js +26 -24
  201. package/dist/esm/RefChunk.js.map +1 -1
  202. package/dist/esm/RefHashMap.js +20 -20
  203. package/dist/esm/RefHashMap.js.map +1 -1
  204. package/dist/esm/RefHashSet.js +11 -8
  205. package/dist/esm/RefHashSet.js.map +1 -1
  206. package/dist/esm/RefSubject.js +873 -150
  207. package/dist/esm/RefSubject.js.map +1 -1
  208. package/dist/esm/Sink.js +608 -57
  209. package/dist/esm/Sink.js.map +1 -1
  210. package/dist/esm/Stream.js +13 -9
  211. package/dist/esm/Stream.js.map +1 -1
  212. package/dist/esm/Subject.js +151 -56
  213. package/dist/esm/Subject.js.map +1 -1
  214. package/dist/esm/TypeId.js +9 -4
  215. package/dist/esm/TypeId.js.map +1 -1
  216. package/dist/esm/Typeclass.js +29 -29
  217. package/dist/esm/Typeclass.js.map +1 -1
  218. package/dist/esm/Versioned.js +110 -53
  219. package/dist/esm/Versioned.js.map +1 -1
  220. package/dist/esm/index.js +66 -6
  221. package/dist/esm/index.js.map +1 -1
  222. package/dist/esm/internal/DeferredRef.js +54 -0
  223. package/dist/esm/internal/DeferredRef.js.map +1 -0
  224. package/dist/esm/internal/UnionToTuple.js +2 -0
  225. package/dist/esm/internal/UnionToTuple.js.map +1 -0
  226. package/dist/esm/internal/core.js +1439 -719
  227. package/dist/esm/internal/core.js.map +1 -1
  228. package/dist/esm/internal/diff.js +82 -0
  229. package/dist/esm/internal/diff.js.map +1 -0
  230. package/dist/esm/internal/effect-loop-operator.js +269 -0
  231. package/dist/esm/internal/effect-loop-operator.js.map +1 -0
  232. package/dist/esm/internal/effect-operator.js +44 -37
  233. package/dist/esm/internal/effect-operator.js.map +1 -1
  234. package/dist/esm/internal/effect-producer.js +47 -0
  235. package/dist/esm/internal/effect-producer.js.map +1 -0
  236. package/dist/esm/internal/helpers.js +157 -129
  237. package/dist/esm/internal/helpers.js.map +1 -1
  238. package/dist/esm/internal/keyed.js +128 -139
  239. package/dist/esm/internal/keyed.js.map +1 -1
  240. package/dist/esm/internal/loop-operator.js +186 -0
  241. package/dist/esm/internal/loop-operator.js.map +1 -0
  242. package/dist/esm/internal/operator.js +68 -0
  243. package/dist/esm/internal/operator.js.map +1 -0
  244. package/dist/esm/internal/protos.js +16 -75
  245. package/dist/esm/internal/protos.js.map +1 -1
  246. package/dist/esm/internal/provide.js +33 -25
  247. package/dist/esm/internal/provide.js.map +1 -1
  248. package/dist/esm/internal/requestIdleCallback.js +5 -5
  249. package/dist/esm/internal/requestIdleCallback.js.map +1 -1
  250. package/dist/esm/internal/share.js +12 -12
  251. package/dist/esm/internal/share.js.map +1 -1
  252. package/dist/esm/internal/sync-operator.js +49 -21
  253. package/dist/esm/internal/sync-operator.js.map +1 -1
  254. package/dist/esm/internal/sync-producer.js +88 -0
  255. package/dist/esm/internal/sync-producer.js.map +1 -0
  256. package/dist/esm/internal/withKey.js +46 -47
  257. package/dist/esm/internal/withKey.js.map +1 -1
  258. package/package.json +22 -62
  259. package/src/AsyncData.ts +447 -0
  260. package/src/Emitter.ts +47 -38
  261. package/src/Form.ts +185 -65
  262. package/src/FormEntry.ts +142 -109
  263. package/src/Fx.ts +1685 -1851
  264. package/src/Guard.ts +12 -1
  265. package/src/Idle.ts +76 -62
  266. package/src/Match.ts +149 -93
  267. package/src/Pull.ts +8 -8
  268. package/src/Push.ts +472 -0
  269. package/src/RefArray.ts +53 -51
  270. package/src/RefChunk.ts +44 -41
  271. package/src/RefHashMap.ts +57 -43
  272. package/src/RefHashSet.ts +21 -31
  273. package/src/RefSubject.ts +1984 -457
  274. package/src/Sink.ts +922 -171
  275. package/src/Stream.ts +32 -20
  276. package/src/Subject.ts +230 -87
  277. package/src/TypeId.ts +16 -4
  278. package/src/Typeclass.ts +31 -32
  279. package/src/Versioned.ts +220 -168
  280. package/src/index.ts +78 -6
  281. package/src/internal/DeferredRef.ts +62 -0
  282. package/src/internal/UnionToTuple.ts +11 -0
  283. package/src/internal/core.ts +2491 -1950
  284. package/src/internal/diff.ts +157 -0
  285. package/src/internal/effect-loop-operator.ts +466 -0
  286. package/src/internal/effect-operator.ts +89 -54
  287. package/src/internal/effect-producer.ts +125 -0
  288. package/src/internal/helpers.ts +275 -205
  289. package/src/internal/keyed.ts +192 -241
  290. package/src/internal/loop-operator.ts +266 -0
  291. package/src/internal/operator.ts +87 -0
  292. package/src/internal/protos.ts +29 -104
  293. package/src/internal/provide.ts +48 -40
  294. package/src/internal/requestIdleCallback.ts +5 -6
  295. package/src/internal/share.ts +26 -24
  296. package/src/internal/sync-operator.ts +68 -27
  297. package/src/internal/sync-producer.ts +146 -0
  298. package/src/internal/withKey.ts +64 -74
  299. package/dist/cjs/Computed.js +0 -115
  300. package/dist/cjs/Computed.js.map +0 -1
  301. package/dist/cjs/Filtered.js +0 -95
  302. package/dist/cjs/Filtered.js.map +0 -1
  303. package/dist/cjs/Model.js +0 -119
  304. package/dist/cjs/Model.js.map +0 -1
  305. package/dist/cjs/RefAsyncData.js +0 -187
  306. package/dist/cjs/RefAsyncData.js.map +0 -1
  307. package/dist/cjs/RefAsyncDataArray.js +0 -38
  308. package/dist/cjs/RefAsyncDataArray.js.map +0 -1
  309. package/dist/cjs/RefBoolean.js +0 -45
  310. package/dist/cjs/RefBoolean.js.map +0 -1
  311. package/dist/cjs/RefNumber.js +0 -49
  312. package/dist/cjs/RefNumber.js.map +0 -1
  313. package/dist/cjs/internal/core-ref-subject.js +0 -254
  314. package/dist/cjs/internal/core-ref-subject.js.map +0 -1
  315. package/dist/cjs/internal/core-subject.js +0 -108
  316. package/dist/cjs/internal/core-subject.js.map +0 -1
  317. package/dist/cjs/internal/deferred-ref.js.map +0 -1
  318. package/dist/cjs/internal/effect-primitive.js +0 -47
  319. package/dist/cjs/internal/effect-primitive.js.map +0 -1
  320. package/dist/cjs/internal/fx-effect-proto.js +0 -58
  321. package/dist/cjs/internal/fx-effect-proto.js.map +0 -1
  322. package/dist/cjs/internal/fx-primitive.js +0 -193
  323. package/dist/cjs/internal/fx-primitive.js.map +0 -1
  324. package/dist/cjs/internal/fx.js +0 -240
  325. package/dist/cjs/internal/fx.js.map +0 -1
  326. package/dist/cjs/internal/matchers.js +0 -34
  327. package/dist/cjs/internal/matchers.js.map +0 -1
  328. package/dist/cjs/internal/run.js +0 -54
  329. package/dist/cjs/internal/run.js.map +0 -1
  330. package/dist/cjs/internal/schema-ref-subject.js +0 -132
  331. package/dist/cjs/internal/schema-ref-subject.js.map +0 -1
  332. package/dist/cjs/internal/versioned-transform.js +0 -46
  333. package/dist/cjs/internal/versioned-transform.js.map +0 -1
  334. package/dist/dts/Computed.d.ts +0 -106
  335. package/dist/dts/Computed.d.ts.map +0 -1
  336. package/dist/dts/Filtered.d.ts +0 -97
  337. package/dist/dts/Filtered.d.ts.map +0 -1
  338. package/dist/dts/Model.d.ts +0 -200
  339. package/dist/dts/Model.d.ts.map +0 -1
  340. package/dist/dts/RefAsyncData.d.ts +0 -236
  341. package/dist/dts/RefAsyncData.d.ts.map +0 -1
  342. package/dist/dts/RefAsyncDataArray.d.ts +0 -56
  343. package/dist/dts/RefAsyncDataArray.d.ts.map +0 -1
  344. package/dist/dts/RefBoolean.d.ts +0 -47
  345. package/dist/dts/RefBoolean.d.ts.map +0 -1
  346. package/dist/dts/RefNumber.d.ts +0 -48
  347. package/dist/dts/RefNumber.d.ts.map +0 -1
  348. package/dist/dts/internal/core-ref-subject.d.ts +0 -100
  349. package/dist/dts/internal/core-ref-subject.d.ts.map +0 -1
  350. package/dist/dts/internal/core-subject.d.ts +0 -5
  351. package/dist/dts/internal/core-subject.d.ts.map +0 -1
  352. package/dist/dts/internal/deferred-ref.d.ts +0 -12
  353. package/dist/dts/internal/deferred-ref.d.ts.map +0 -1
  354. package/dist/dts/internal/effect-primitive.d.ts +0 -6
  355. package/dist/dts/internal/effect-primitive.d.ts.map +0 -1
  356. package/dist/dts/internal/fx-effect-proto.d.ts +0 -30
  357. package/dist/dts/internal/fx-effect-proto.d.ts.map +0 -1
  358. package/dist/dts/internal/fx-primitive.d.ts +0 -109
  359. package/dist/dts/internal/fx-primitive.d.ts.map +0 -1
  360. package/dist/dts/internal/fx.d.ts +0 -245
  361. package/dist/dts/internal/fx.d.ts.map +0 -1
  362. package/dist/dts/internal/matchers.d.ts +0 -33
  363. package/dist/dts/internal/matchers.d.ts.map +0 -1
  364. package/dist/dts/internal/run.d.ts +0 -8
  365. package/dist/dts/internal/run.d.ts.map +0 -1
  366. package/dist/dts/internal/schema-ref-subject.d.ts +0 -5
  367. package/dist/dts/internal/schema-ref-subject.d.ts.map +0 -1
  368. package/dist/dts/internal/versioned-transform.d.ts +0 -17
  369. package/dist/dts/internal/versioned-transform.d.ts.map +0 -1
  370. package/dist/esm/Computed.js +0 -103
  371. package/dist/esm/Computed.js.map +0 -1
  372. package/dist/esm/Filtered.js +0 -83
  373. package/dist/esm/Filtered.js.map +0 -1
  374. package/dist/esm/Model.js +0 -100
  375. package/dist/esm/Model.js.map +0 -1
  376. package/dist/esm/RefAsyncData.js +0 -163
  377. package/dist/esm/RefAsyncData.js.map +0 -1
  378. package/dist/esm/RefAsyncDataArray.js +0 -27
  379. package/dist/esm/RefAsyncDataArray.js.map +0 -1
  380. package/dist/esm/RefBoolean.js +0 -31
  381. package/dist/esm/RefBoolean.js.map +0 -1
  382. package/dist/esm/RefNumber.js +0 -35
  383. package/dist/esm/RefNumber.js.map +0 -1
  384. package/dist/esm/internal/core-ref-subject.js +0 -242
  385. package/dist/esm/internal/core-ref-subject.js.map +0 -1
  386. package/dist/esm/internal/core-subject.js +0 -90
  387. package/dist/esm/internal/core-subject.js.map +0 -1
  388. package/dist/esm/internal/deferred-ref.js +0 -23
  389. package/dist/esm/internal/deferred-ref.js.map +0 -1
  390. package/dist/esm/internal/effect-primitive.js +0 -41
  391. package/dist/esm/internal/effect-primitive.js.map +0 -1
  392. package/dist/esm/internal/fx-effect-proto.js +0 -43
  393. package/dist/esm/internal/fx-effect-proto.js.map +0 -1
  394. package/dist/esm/internal/fx-primitive.js +0 -175
  395. package/dist/esm/internal/fx-primitive.js.map +0 -1
  396. package/dist/esm/internal/fx.js +0 -216
  397. package/dist/esm/internal/fx.js.map +0 -1
  398. package/dist/esm/internal/matchers.js +0 -38
  399. package/dist/esm/internal/matchers.js.map +0 -1
  400. package/dist/esm/internal/run.js +0 -32
  401. package/dist/esm/internal/run.js.map +0 -1
  402. package/dist/esm/internal/schema-ref-subject.js +0 -121
  403. package/dist/esm/internal/schema-ref-subject.js.map +0 -1
  404. package/dist/esm/internal/versioned-transform.js +0 -37
  405. package/dist/esm/internal/versioned-transform.js.map +0 -1
  406. package/src/Computed.ts +0 -289
  407. package/src/Filtered.ts +0 -274
  408. package/src/Model.ts +0 -483
  409. package/src/RefAsyncData.ts +0 -547
  410. package/src/RefAsyncDataArray.ts +0 -135
  411. package/src/RefBoolean.ts +0 -71
  412. package/src/RefNumber.ts +0 -77
  413. package/src/internal/core-ref-subject.ts +0 -528
  414. package/src/internal/core-subject.ts +0 -143
  415. package/src/internal/deferred-ref.ts +0 -26
  416. package/src/internal/effect-primitive.ts +0 -230
  417. package/src/internal/fx-effect-proto.ts +0 -56
  418. package/src/internal/fx-primitive.ts +0 -223
  419. package/src/internal/fx.ts +0 -619
  420. package/src/internal/matchers.ts +0 -83
  421. package/src/internal/run.ts +0 -51
  422. package/src/internal/schema-ref-subject.ts +0 -163
  423. package/src/internal/versioned-transform.ts +0 -48
@@ -1 +1 @@
1
- {"version":3,"file":"Typeclass.js","sourceRoot":"","sources":["../../src/Typeclass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Typeclass.js","sourceRoot":"","sources":["../../src/Typeclass.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,GAAG,MAAM,6BAA6B,CAAA;AAalD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAW/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,EAAE,GAAuB;IACpC,EAAE,EAAE,EAAE,CAAC,OAAO;CACf,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAA8B;IAClD,IAAI,EAAE,GAAG,CAAC,IAAI,CAAe,EAAE,CAAC,GAAG,CAAC;CACrC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAgC;IACpD,IAAI,EAAE,SAAS,CAAC,IAAI;IACpB,GAAG,EAAE,EAAE,CAAC,GAAG;CACZ,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAgC;IAClD,GAAG,EAAE;IACL,GAAG,SAAS;CACb,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAoC;IAC1D,KAAK,EAAE,EAAE,CAAC,OAAO;CAClB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAoC;IAClE,IAAI,EAAE,SAAS,CAAC,IAAI;IACpB,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;IAC5D,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC;CAC3E,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAoC;IACjE,IAAI,EAAE,SAAS,CAAC,IAAI;IACpB,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;IAC/C,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC;CACxE,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAoC;IAChE,IAAI,EAAE,SAAS,CAAC,IAAI;IACpB,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;IAC9C,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC;CACvE,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAItB;IACF,MAAM,EAAE,mBAAmB;IAC3B,KAAK,EAAE,kBAAkB;IACzB,IAAI,EAAE,iBAAiB;CACf,CAAA;AAEV;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAuC;IACvE,GAAG,SAAS;IACZ,GAAG,mBAAmB;CACvB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAuC;IACtE,GAAG,SAAS;IACZ,GAAG,kBAAkB;CACtB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAuC;IACrE,GAAG,SAAS;IACZ,GAAG,iBAAiB;CACrB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAIxB;IACF,MAAM,EAAE,qBAAqB;IAC7B,KAAK,EAAE,oBAAoB;IAC3B,IAAI,EAAE,mBAAmB;CACjB,CAAA;AAEV;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAA+B;IACzD,GAAG,mBAAmB;IACtB,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK;IACpB,YAAY,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;CACrE,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAA+B;IACxD,GAAG,kBAAkB;IACrB,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK;IACpB,YAAY,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;CAClE,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAA+B;IACvD,GAAG,iBAAiB;IACpB,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK;IACpB,YAAY,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;CACjE,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAkC;IAC9D,GAAG,qBAAqB;IACxB,GAAG,eAAe;CACnB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAkC;IAC7D,GAAG,oBAAoB;IACvB,GAAG,cAAc;CAClB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAkC;IAC5D,GAAG,mBAAmB;IACtB,GAAG,aAAa;CACjB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAIpB;IACF,MAAM,EAAE,iBAAiB;IACzB,KAAK,EAAE,gBAAgB;IACvB,IAAI,EAAE,eAAe;CACb,CAAA;AAEV;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAiC;IACvD,IAAI,EAAE,SAAS,CAAC,IAAI;IACpB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAQ;IACtD,WAAW,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAQ;CAC1E,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAuC;IACjE,GAAG,SAAS;IACZ,GAAG,WAAW;CACf,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAA4B;IAC9C,GAAG,EAAE;IACL,GAAG,WAAW;IACd,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAQ;CACpE,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAkC;IACxD,GAAG,eAAe;IAClB,GAAG,OAAO;CACX,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAoC;IACzD,YAAY,EAAE,IAAI,CAAC,CAAC,EAAE,CAAgB,IAAoB,EAAE,CAAyB,EAAE,EAAE;QACvF,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAEpC,OAAO;YACL,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC;YACxB,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC;SACjB,CAAA;IACZ,CAAC,CAAC;IACF,SAAS,EAAE,EAAE,CAAC,SAAS;CACxB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAA4B;IAC9C,OAAO,EAAE,EAAE,CAAC,OAAO;CACpB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAA+B;IACnD,GAAG,SAAS;IACZ,GAAG,OAAO;CACX,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAA0B;IAC1C,GAAG,WAAW;IACd,GAAG,SAAS;CACb,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAA4B;IAChD,OAAO,EAAE,EAAE,CAAC,SAAS;CACtB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D,GAAG,SAAS;IACZ,GAAG,SAAS;CACb,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAA0B;IACnD,GAAG,WAAW;IACd,GAAG,kBAAkB;CACtB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAA4B;IACjD,OAAO,EAAE,EAAE,CAAC,UAAU;CACvB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA+B;IAC7D,GAAG,SAAS;IACZ,GAAG,UAAU;CACd,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAA0B;IACpD,GAAG,WAAW;IACd,GAAG,mBAAmB;CACvB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA4B;IACvD,OAAO,EAAE,EAAE,CAAC,gBAAgB;CAC7B,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA+B;IACnE,GAAG,SAAS;IACZ,GAAG,gBAAgB;CACpB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA0B;IAC1D,GAAG,WAAW;IACd,GAAG,yBAAyB;CAC7B,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAA4B;IAChD,OAAO,EAAE,EAAE,CAAC,SAAS;CACtB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D,GAAG,SAAS;IACZ,GAAG,SAAS;CACb,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAA0B;IACnD,GAAG,WAAW;IACd,GAAG,kBAAkB;CACtB,CAAA"}
@@ -1,58 +1,96 @@
1
1
  /**
2
- * This module provides a data type which is both an Fx and an Effect. This is a more advanced types, and is the basis
3
- * for creating Computed + Filtered types from a RefSubject which is the canonical implementation of
4
- * an at type which is both Fx + Effect.
5
- * @since 1.18.0
2
+ * Versioned is a special Fx which is also an Effect, and keeps track of a version number of the
3
+ * current value it holds. The Fx portion is used to subscribe to changes, the Effect portion to
4
+ * sample the current value. The version can be utilized to avoid computing work related to this value.
5
+ * @since 1.0.0
6
6
  */
7
- import { Effect, identity } from "effect";
8
- import { dual } from "effect/Function";
7
+ import * as Effect from "effect/Effect";
8
+ import { dual, flow } from "effect/Function";
9
9
  import { sum } from "effect/Number";
10
+ import * as Option from "effect/Option";
10
11
  import * as core from "./internal/core.js";
11
- import * as fxEffectProto from "./internal/fx-effect-proto.js";
12
- import { VersionedTransform } from "./internal/versioned-transform.js";
13
- /**
14
- * Construct a Versioned type.
15
- * @since 1.18.0
16
- * @category constructors
17
- */
18
- export const make = fxEffectProto.makeVersioned;
12
+ import { MulticastEffect } from "./internal/helpers.js";
13
+ import { FxEffectBase } from "./internal/protos.js";
14
+ import * as coreShare from "./internal/share.js";
19
15
  /**
20
- * Construct a Versioned type from a static value.
21
- * @since 1.18.0
22
- * @category constructors
23
- */
24
- export const of = fxEffectProto.versionedOf;
25
- /**
26
- * Transform a Versioned as an Fx and as an Effect separately.
27
- * @since 1.18.0
28
- * @category combinators
16
+ * @since 1.0.0
29
17
  */
30
- export const transform = dual(3, function transform(versioned, transformFx, transformGet) {
31
- return new VersionedTransform(versioned, transformFx, transformGet);
32
- });
18
+ export function make(version, fx, effect) {
19
+ return new VersionedImpl(version, fx, effect);
20
+ }
21
+ class VersionedImpl extends FxEffectBase {
22
+ version;
23
+ fx;
24
+ effect;
25
+ constructor(version, fx, effect) {
26
+ super();
27
+ this.version = version;
28
+ this.fx = fx;
29
+ this.effect = effect;
30
+ }
31
+ run(sink) {
32
+ return this.fx.run(sink);
33
+ }
34
+ toEffect() {
35
+ return this.effect;
36
+ }
37
+ }
33
38
  /**
34
- * Transform a Versioned as an Fx separately from its Effect interface.
35
- * @since 1.18.0
36
- * @category combinators
39
+ * @since 1.0.0
37
40
  */
38
- export const transformFx = dual(2, function transformFx(versioned, f) {
39
- return transform(versioned, f, identity);
40
- });
41
+ export function transform(input, transformFx, transformGet) {
42
+ if (isVersionedTransform(input)) {
43
+ return new VersionedTransform(input.input, flow(input._transformFx, transformFx), flow(input._transformEffect, transformGet));
44
+ }
45
+ else {
46
+ return new VersionedTransform(input, transformFx, transformGet);
47
+ }
48
+ }
41
49
  /**
42
- * Transform a Versioned as an Effect separately from its Fx interface.
43
- * @since 1.18.0
44
- * @category combinators
50
+ * @internal
45
51
  */
46
- export const transformEffect = dual(2, function transformEffect(versioned, f) {
47
- return transform(versioned, identity, f);
48
- });
52
+ export class VersionedTransform extends FxEffectBase {
53
+ input;
54
+ _transformFx;
55
+ _transformEffect;
56
+ _version = -1;
57
+ _currentValue = Option.none();
58
+ _fx;
59
+ constructor(input, _transformFx, _transformEffect) {
60
+ super();
61
+ this.input = input;
62
+ this._transformFx = _transformFx;
63
+ this._transformEffect = _transformEffect;
64
+ this._fx = _transformFx(this.input);
65
+ }
66
+ version = Effect.sync(() => this._version);
67
+ run(sink) {
68
+ return this._fx.run(sink);
69
+ }
70
+ toEffect() {
71
+ const transformed = this._transformEffect(this.input);
72
+ const update = (v) => Effect.tap(transformed, (value) => Effect.sync(() => {
73
+ this._currentValue = Option.some(value);
74
+ this._version = v;
75
+ }));
76
+ return new MulticastEffect(Effect.flatMap(this.input.version, (version) => {
77
+ if (version === this._version && Option.isSome(this._currentValue)) {
78
+ return Effect.succeed(this._currentValue.value);
79
+ }
80
+ return update(version);
81
+ }));
82
+ }
83
+ }
84
+ function isVersionedTransform(u) {
85
+ return u instanceof VersionedTransform;
86
+ }
49
87
  /**
50
88
  * Transform a Versioned's output value as both an Fx and Effect.
51
89
  * @since 1.18.0
52
90
  * @category combinators
53
91
  */
54
92
  export const map = dual(2, function map(versioned, options) {
55
- return transform(versioned, core.map(options.onFx), Effect.map(options.onEffect));
93
+ return transform(versioned, (fx) => core.map(fx, options.onFx), Effect.map(options.onEffect));
56
94
  });
57
95
  /**
58
96
  * Transform a Versioned's output value as both an Fx and Effect using an Effect.
@@ -60,23 +98,22 @@ export const map = dual(2, function map(versioned, options) {
60
98
  * @category combinators
61
99
  */
62
100
  export const mapEffect = dual(2, function mapEffect(versioned, options) {
63
- return transform(versioned, core.mapEffect(options.onFx), Effect.flatMap(options.onEffect));
101
+ return transform(versioned, (fx) => core.mapEffect(fx, options.onFx), Effect.flatMap(options.onEffect));
64
102
  });
65
103
  /**
66
104
  * @since 1.0.0
67
105
  */
68
- export function combine(versioneds) {
69
- return make({
70
- fx: core.combine(versioneds),
71
- effect: Effect.all(versioneds, { concurrency: "unbounded" }),
72
- version: Effect.map(Effect.all(versioneds.map((v) => v.version)), (versions) => versions.reduce(sum, 0))
73
- });
106
+ export function tuple(versioneds) {
107
+ return make(Effect.map(Effect.all(versioneds.map((v) => v.version)), (versions) => versions.reduce(sum, 0)), core.tuple(versioneds), Effect.all(versioneds, { concurrency: "unbounded" }));
74
108
  }
75
109
  /**
76
110
  * @since 1.0.0
77
111
  */
78
112
  export function struct(versioneds) {
79
- return map(combine(Object.entries(versioneds).map(([k, v]) => map(v, { onFx: (x) => [k, x], onEffect: (x) => [k, x] }))), {
113
+ return map(tuple(Object.entries(versioneds).map(([k, v]) => map(v, {
114
+ onFx: (x) => [k, x],
115
+ onEffect: (x) => [k, x]
116
+ }))), {
80
117
  onFx: Object.fromEntries,
81
118
  onEffect: Object.fromEntries
82
119
  });
@@ -84,11 +121,31 @@ export function struct(versioneds) {
84
121
  /**
85
122
  * @since 1.0.0
86
123
  */
87
- export const provide = dual(2, function provide(versioned, layer) {
88
- return transform(make({
89
- effect: versioned,
90
- fx: versioned,
91
- version: Effect.provide(versioned.version, layer)
92
- }), core.provide(layer), Effect.provide(layer));
124
+ export const provide = dual(2, function provide(versioned, context) {
125
+ return make(Effect.provide(versioned.version, context), core.provide(versioned, context), Effect.provide(versioned, context));
93
126
  });
127
+ /**
128
+ * @since 1.0.0
129
+ */
130
+ export function of(value) {
131
+ return make(Effect.succeed(1), core.succeed(value), Effect.succeed(value));
132
+ }
133
+ /**
134
+ * @since 1.0.0
135
+ */
136
+ export function hold(versioned) {
137
+ return make(versioned.version, coreShare.hold(versioned), versioned);
138
+ }
139
+ /**
140
+ * @since 1.0.0
141
+ */
142
+ export function multicast(versioned) {
143
+ return make(versioned.version, coreShare.multicast(versioned), versioned);
144
+ }
145
+ /**
146
+ * @since 1.0.0
147
+ */
148
+ export function replay(versioned, bufferSize) {
149
+ return make(versioned.version, coreShare.replay(versioned, bufferSize), versioned);
150
+ }
94
151
  //# sourceMappingURL=Versioned.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Versioned.js","sourceRoot":"","sources":["../../src/Versioned.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAEnC,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC1C,OAAO,KAAK,aAAa,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAwCtE;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAM4B,aAAa,CAAC,aAAa,CAAA;AAExE;;;;GAIG;AACH,MAAM,CAAC,MAAM,EAAE,GAA+E,aAAa,CAAC,WAAW,CAAA;AAEvH;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAYlB,IAAI,CAAC,CAAC,EAAE,SAAS,SAAS,CAC5B,SAAgD,EAChD,WAAqD,EACrD,YAA4E;IAE5E,OAAO,IAAI,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;AACrE,CAAC,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAWpB,IAAI,CAAC,CAAC,EAAE,SAAS,WAAW,CAC9B,SAAgD,EAChD,CAA2C;IAE3C,OAAO,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;AAC1C,CAAC,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAWxB,IAAI,CAAC,CAAC,EAAE,SAAS,eAAe,CAClC,SAAgD,EAChD,CAAiE;IAEjE,OAAO,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;AAC1C,CAAC,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,GAAG,GAiBZ,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,CACtB,SAAgD,EAChD,OAGC;IAED,OAAO,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;AACnF,CAAC,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAWlB,IAAI,CAAC,CAAC,EAAE,SAAS,SAAS,CAC5B,SAAgD,EAChD,OAGC;IAED,OAAO,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC7F,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,UAAU,OAAO,CACrB,UAAc;IAWd,OAAO,IAAI,CAAC;QACV,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,CAAQ;QACnE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;KACzG,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CACpB,UAAc;IAWd,OAAO,GAAG,CACR,OAAO,CACL,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACxC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAU,EAAE,CAAC,CAC3E,CACF,EACD;QACE,IAAI,EAAE,MAAM,CAAC,WAAW;QACxB,QAAQ,EAAE,MAAM,CAAC,WAAW;KAC7B,CACF,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAgChB,IAAI,CAAC,CAAC,EAAE,SAAS,OAAO,CAC1B,SAAoD,EACpD,KAA8B;IAE9B,OAAO,SAAS,CACd,IAAI,CAAC;QACH,MAAM,EAAE,SAAS;QACjB,EAAE,EAAE,SAAS;QACb,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC;KAClD,CAAC,EACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EACnB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CACtB,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"Versioned.js","sourceRoot":"","sources":["../../src/Versioned.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -9,25 +9,75 @@
9
9
  * @since 1.18.0
10
10
  */
11
11
  /**
12
- * [Computed documentation](https://tylors.github.io/typed/fx/Computed.ts.html)
12
+ * [Fx documentation](https://tylors.github.io/typed/fx/Fx.ts.html)
13
13
  * @since 1.18.0
14
14
  */
15
- export * as Computed from "./Computed.js";
15
+ export * from "./Fx.js";
16
16
  /**
17
- * [Filtered documentation](https://tylors.github.io/typed/fx/Filtered.ts.html)
17
+ * [AsyncData documentation](https://tylors.github.io/typed/fx/AsyncData.ts.html)
18
18
  * @since 1.18.0
19
19
  */
20
- export * as Filtered from "./Filtered.js";
20
+ export * as AsyncData from "./AsyncData.js";
21
21
  /**
22
- * [Fx documentation](https://tylors.github.io/typed/fx/Fx.ts.html)
22
+ * [Emitter documentation](https://tylors.github.io/typed/fx/Emitter.ts.html)
23
23
  * @since 1.18.0
24
24
  */
25
- export * from "./Fx.js";
25
+ export * as Emitter from "./Emitter.js";
26
+ /**
27
+ * [Form documentation](https://tylors.github.io/typed/fx/Form.ts.html)
28
+ * @since 1.18.0
29
+ */
30
+ export * as Form from "./Form.js";
31
+ /**
32
+ * [FormEntry documentation](https://tylors.github.io/typed/fx/FormEntry.ts.html)
33
+ * @since 1.18.0
34
+ */
35
+ export * as FormEntry from "./FormEntry.js";
36
+ /**
37
+ * [Guard documentation](https://tylors.github.io/typed/fx/Guard.ts.html)
38
+ * @since 1.18.0
39
+ */
40
+ export * as Guard from "./Guard.js";
41
+ /**
42
+ * [Idle documentation](https://tylors.github.io/typed/fx/Idle.ts.html)
43
+ * @since 1.18.0
44
+ */
45
+ export * as Idle from "./Idle.js";
46
+ /**
47
+ * [Match documentation](https://tylors.github.io/typed/fx/Match.ts.html)
48
+ * @since 1.18.0
49
+ */
50
+ export * as Match from "./Match.js";
51
+ /**
52
+ * [Pull documentation](https://tylors.github.io/typed/fx/Pull.ts.html)
53
+ * @since 1.18.0
54
+ */
55
+ export * as Pull from "./Pull.js";
56
+ /**
57
+ * [Push documentation](https://tylors.github.io/typed/fx/Push.ts.html)
58
+ * @since 1.18.0
59
+ */
60
+ export * as Push from "./Push.js";
26
61
  /**
27
62
  * [RefArray documentation](https://tylors.github.io/typed/fx/RefArray.ts.html)
28
63
  * @since 1.18.0
29
64
  */
30
65
  export * as RefArray from "./RefArray.js";
66
+ /**
67
+ * [RefChunk documentation](https://tylors.github.io/typed/fx/RefChunk.ts.html)
68
+ * @since 1.18.0
69
+ */
70
+ export * as RefChunk from "./RefChunk.js";
71
+ /**
72
+ * [RefHashMap documentation](https://tylors.github.io/typed/fx/RefHashMap.ts.html)
73
+ * @since 1.18.0
74
+ */
75
+ export * as RefHashMap from "./RefHashMap.js";
76
+ /**
77
+ * [RefHashSet documentation](https://tylors.github.io/typed/fx/RefHashSet.ts.html)
78
+ * @since 1.18.0
79
+ */
80
+ export * as RefHashSet from "./RefHashSet.js";
31
81
  /**
32
82
  * [RefSubject documentation](https://tylors.github.io/typed/fx/RefSubject.ts.html)
33
83
  * @since 1.18.0
@@ -38,6 +88,11 @@ export * as RefSubject from "./RefSubject.js";
38
88
  * @since 1.18.0
39
89
  */
40
90
  export * as Sink from "./Sink.js";
91
+ /**
92
+ * [Stream documentation](https://tylors.github.io/typed/fx/Stream.ts.html)
93
+ * @since 1.18.0
94
+ */
95
+ export * as Stream from "./Stream.js";
41
96
  /**
42
97
  * [Subject documentation](https://tylors.github.io/typed/fx/Subject.ts.html)
43
98
  * @since 1.18.0
@@ -53,4 +108,9 @@ export * as Typeclass from "./Typeclass.js";
53
108
  * @since 1.18.0
54
109
  */
55
110
  export * from "./TypeId.js";
111
+ /**
112
+ * [Versioned documentation](https://tylors.github.io/typed/fx/Versioned.ts.html)
113
+ * @since 1.18.0
114
+ */
115
+ export * as Versioned from "./Versioned.js";
56
116
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,cAAc,SAAS,CAAA;AAEvB;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;GAGG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;GAGG;AACH,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;GAGG;AACH,cAAc,SAAS,CAAA;AAEvB;;;GAGG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;GAGG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;GAGG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;GAGG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;GAGG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;GAGG;AACH,cAAc,aAAa,CAAA;AAE3B;;;GAGG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,54 @@
1
+ import * as Deferred from "effect/Deferred";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Exit from "effect/Exit";
4
+ import * as Option from "effect/Option";
5
+ import { EffectBase } from "./protos.js";
6
+ export class DeferredRef extends EffectBase {
7
+ id;
8
+ eq;
9
+ // Keep track of the latest value emitted by the stream
10
+ current;
11
+ version;
12
+ deferred;
13
+ constructor(id, eq) {
14
+ super();
15
+ this.id = id;
16
+ this.eq = eq;
17
+ this.reset();
18
+ }
19
+ toEffect() {
20
+ return Effect.suspend(() => {
21
+ if (Option.isNone(this.current)) {
22
+ return Deferred.await(this.deferred);
23
+ }
24
+ else {
25
+ return this.current.value;
26
+ }
27
+ });
28
+ }
29
+ done(exit) {
30
+ const current = this.current;
31
+ this.current = Option.some(exit);
32
+ if (Option.isSome(current) && this.eq(current.value, exit)) {
33
+ return false;
34
+ }
35
+ Deferred.unsafeDone(this.deferred, exit);
36
+ this.version += 1;
37
+ return true;
38
+ }
39
+ reset() {
40
+ this.current = Option.none();
41
+ this.version = 0;
42
+ if (this.deferred) {
43
+ Deferred.unsafeDone(this.deferred, Exit.interrupt(this.id));
44
+ }
45
+ this.deferred = Deferred.unsafeMake(this.id);
46
+ }
47
+ }
48
+ export function make(eq) {
49
+ return Effect.map(Effect.fiberId, (id) => new DeferredRef(id, eq));
50
+ }
51
+ export function unsafeMake(id, eq) {
52
+ return new DeferredRef(id, eq);
53
+ }
54
+ //# sourceMappingURL=DeferredRef.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeferredRef.js","sourceRoot":"","sources":["../../../src/internal/DeferredRef.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,MAAM,OAAO,WAAkB,SAAQ,UAAuB;IAMxC;IAA6B;IALjD,uDAAuD;IAChD,OAAO,CAAiC;IACxC,OAAO,CAAS;IAChB,QAAQ,CAA0B;IAEzC,YAAoB,EAAmB,EAAU,EAA4C;QAC3F,KAAK,EAAE,CAAA;QADW,OAAE,GAAF,EAAE,CAAiB;QAAU,OAAE,GAAF,EAAE,CAA0C;QAE3F,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAED,QAAQ;QACN,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;YACzB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtC,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA;YAC3B,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,IAAqB;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEhC,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YAC3D,OAAO,KAAK,CAAA;QACd,CAAC;QAED,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACxC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;QAEjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAEhB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7D,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC9C,CAAC;CACF;AAED,MAAM,UAAU,IAAI,CAAO,EAA4C;IACrE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,UAAU,CAAO,EAAmB,EAAE,EAA4C;IAChG,OAAO,IAAI,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;AAChC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=UnionToTuple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnionToTuple.js","sourceRoot":"","sources":["../../../src/internal/UnionToTuple.ts"],"names":[],"mappings":""}