@typed/fx 1.19.0 → 1.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/AsyncData/package.json +6 -0
  2. package/Push/package.json +6 -0
  3. package/dist/cjs/AsyncData.js +177 -0
  4. package/dist/cjs/AsyncData.js.map +1 -0
  5. package/dist/cjs/Emitter.js +24 -21
  6. package/dist/cjs/Emitter.js.map +1 -1
  7. package/dist/cjs/Form.js +78 -21
  8. package/dist/cjs/Form.js.map +1 -1
  9. package/dist/cjs/FormEntry.js +75 -48
  10. package/dist/cjs/FormEntry.js.map +1 -1
  11. package/dist/cjs/Fx.js +517 -872
  12. package/dist/cjs/Fx.js.map +1 -1
  13. package/dist/cjs/Guard.js +21 -13
  14. package/dist/cjs/Guard.js.map +1 -1
  15. package/dist/cjs/Idle.js +49 -37
  16. package/dist/cjs/Idle.js.map +1 -1
  17. package/dist/cjs/Match.js +99 -61
  18. package/dist/cjs/Match.js.map +1 -1
  19. package/dist/cjs/Pull.js.map +1 -1
  20. package/dist/cjs/Push.js +168 -0
  21. package/dist/cjs/Push.js.map +1 -0
  22. package/dist/cjs/RefArray.js +32 -30
  23. package/dist/cjs/RefArray.js.map +1 -1
  24. package/dist/cjs/RefChunk.js +26 -24
  25. package/dist/cjs/RefChunk.js.map +1 -1
  26. package/dist/cjs/RefHashMap.js +20 -20
  27. package/dist/cjs/RefHashMap.js.map +1 -1
  28. package/dist/cjs/RefHashSet.js +11 -8
  29. package/dist/cjs/RefHashSet.js.map +1 -1
  30. package/dist/cjs/RefSubject.js +904 -158
  31. package/dist/cjs/RefSubject.js.map +1 -1
  32. package/dist/cjs/Sink.js +588 -62
  33. package/dist/cjs/Sink.js.map +1 -1
  34. package/dist/cjs/Stream.js +15 -10
  35. package/dist/cjs/Stream.js.map +1 -1
  36. package/dist/cjs/Subject.js +156 -55
  37. package/dist/cjs/Subject.js.map +1 -1
  38. package/dist/cjs/TypeId.js +10 -5
  39. package/dist/cjs/TypeId.js.map +1 -1
  40. package/dist/cjs/Typeclass.js +28 -31
  41. package/dist/cjs/Typeclass.js.map +1 -1
  42. package/dist/cjs/Versioned.js +118 -57
  43. package/dist/cjs/Versioned.js.map +1 -1
  44. package/dist/cjs/index.js +44 -8
  45. package/dist/cjs/index.js.map +1 -1
  46. package/dist/cjs/internal/{deferred-ref.js → DeferredRef.js} +45 -13
  47. package/dist/cjs/internal/DeferredRef.js.map +1 -0
  48. package/dist/cjs/internal/UnionToTuple.js +6 -0
  49. package/dist/cjs/internal/UnionToTuple.js.map +1 -0
  50. package/dist/cjs/internal/core.js +1590 -779
  51. package/dist/cjs/internal/core.js.map +1 -1
  52. package/dist/cjs/internal/diff.js +114 -0
  53. package/dist/cjs/internal/diff.js.map +1 -0
  54. package/dist/cjs/internal/effect-loop-operator.js +288 -0
  55. package/dist/cjs/internal/effect-loop-operator.js.map +1 -0
  56. package/dist/cjs/internal/effect-operator.js +46 -37
  57. package/dist/cjs/internal/effect-operator.js.map +1 -1
  58. package/dist/cjs/internal/effect-producer.js +74 -0
  59. package/dist/cjs/internal/effect-producer.js.map +1 -0
  60. package/dist/cjs/internal/helpers.js +158 -128
  61. package/dist/cjs/internal/helpers.js.map +1 -1
  62. package/dist/cjs/internal/keyed.js +136 -173
  63. package/dist/cjs/internal/keyed.js.map +1 -1
  64. package/dist/cjs/internal/loop-operator.js +213 -0
  65. package/dist/cjs/internal/loop-operator.js.map +1 -0
  66. package/dist/cjs/internal/operator.js +79 -0
  67. package/dist/cjs/internal/operator.js.map +1 -0
  68. package/dist/cjs/internal/protos.js +19 -81
  69. package/dist/cjs/internal/protos.js.map +1 -1
  70. package/dist/cjs/internal/provide.js +47 -25
  71. package/dist/cjs/internal/provide.js.map +1 -1
  72. package/dist/cjs/internal/requestIdleCallback.js +5 -5
  73. package/dist/cjs/internal/requestIdleCallback.js.map +1 -1
  74. package/dist/cjs/internal/share.js +12 -15
  75. package/dist/cjs/internal/share.js.map +1 -1
  76. package/dist/cjs/internal/sync-operator.js +50 -22
  77. package/dist/cjs/internal/sync-operator.js.map +1 -1
  78. package/dist/cjs/internal/sync-producer.js +114 -0
  79. package/dist/cjs/internal/sync-producer.js.map +1 -0
  80. package/dist/cjs/internal/withKey.js +45 -51
  81. package/dist/cjs/internal/withKey.js.map +1 -1
  82. package/dist/dts/AsyncData.d.ts +185 -0
  83. package/dist/dts/AsyncData.d.ts.map +1 -0
  84. package/dist/dts/Emitter.d.ts +13 -20
  85. package/dist/dts/Emitter.d.ts.map +1 -1
  86. package/dist/dts/Form.d.ts +45 -28
  87. package/dist/dts/Form.d.ts.map +1 -1
  88. package/dist/dts/FormEntry.d.ts +25 -13
  89. package/dist/dts/FormEntry.d.ts.map +1 -1
  90. package/dist/dts/Fx.d.ts +980 -1390
  91. package/dist/dts/Fx.d.ts.map +1 -1
  92. package/dist/dts/Guard.d.ts +8 -1
  93. package/dist/dts/Guard.d.ts.map +1 -1
  94. package/dist/dts/Idle.d.ts +3 -3
  95. package/dist/dts/Idle.d.ts.map +1 -1
  96. package/dist/dts/Match.d.ts +8 -8
  97. package/dist/dts/Match.d.ts.map +1 -1
  98. package/dist/dts/Pull.d.ts +5 -5
  99. package/dist/dts/Pull.d.ts.map +1 -1
  100. package/dist/dts/Push.d.ts +170 -0
  101. package/dist/dts/Push.d.ts.map +1 -0
  102. package/dist/dts/RefArray.d.ts +21 -23
  103. package/dist/dts/RefArray.d.ts.map +1 -1
  104. package/dist/dts/RefChunk.d.ts +17 -19
  105. package/dist/dts/RefChunk.d.ts.map +1 -1
  106. package/dist/dts/RefHashMap.d.ts +19 -20
  107. package/dist/dts/RefHashMap.d.ts.map +1 -1
  108. package/dist/dts/RefHashSet.d.ts +12 -16
  109. package/dist/dts/RefHashSet.d.ts.map +1 -1
  110. package/dist/dts/RefSubject.d.ts +413 -184
  111. package/dist/dts/RefSubject.d.ts.map +1 -1
  112. package/dist/dts/Sink.d.ts +193 -93
  113. package/dist/dts/Sink.d.ts.map +1 -1
  114. package/dist/dts/Stream.d.ts +7 -1
  115. package/dist/dts/Stream.d.ts.map +1 -1
  116. package/dist/dts/Subject.d.ts +27 -36
  117. package/dist/dts/Subject.d.ts.map +1 -1
  118. package/dist/dts/TypeId.d.ts +10 -0
  119. package/dist/dts/TypeId.d.ts.map +1 -1
  120. package/dist/dts/Typeclass.d.ts +2 -2
  121. package/dist/dts/Typeclass.d.ts.map +1 -1
  122. package/dist/dts/Versioned.d.ts +50 -78
  123. package/dist/dts/Versioned.d.ts.map +1 -1
  124. package/dist/dts/index.d.ts +66 -6
  125. package/dist/dts/index.d.ts.map +1 -1
  126. package/dist/dts/internal/DeferredRef.d.ts +20 -0
  127. package/dist/dts/internal/DeferredRef.d.ts.map +1 -0
  128. package/dist/dts/internal/UnionToTuple.d.ts +6 -0
  129. package/dist/dts/internal/UnionToTuple.d.ts.map +1 -0
  130. package/dist/dts/internal/core.d.ts +218 -450
  131. package/dist/dts/internal/core.d.ts.map +1 -1
  132. package/dist/dts/internal/diff.d.ts +38 -0
  133. package/dist/dts/internal/diff.d.ts.map +1 -0
  134. package/dist/dts/internal/effect-loop-operator.d.ts +34 -0
  135. package/dist/dts/internal/effect-loop-operator.d.ts.map +1 -0
  136. package/dist/dts/internal/effect-operator.d.ts +8 -5
  137. package/dist/dts/internal/effect-operator.d.ts.map +1 -1
  138. package/dist/dts/internal/effect-producer.d.ts +25 -0
  139. package/dist/dts/internal/effect-producer.d.ts.map +1 -0
  140. package/dist/dts/internal/helpers.d.ts +33 -24
  141. package/dist/dts/internal/helpers.d.ts.map +1 -1
  142. package/dist/dts/internal/keyed.d.ts +3 -3
  143. package/dist/dts/internal/keyed.d.ts.map +1 -1
  144. package/dist/dts/internal/loop-operator.d.ts +40 -0
  145. package/dist/dts/internal/loop-operator.d.ts.map +1 -0
  146. package/dist/dts/internal/operator.d.ts +16 -0
  147. package/dist/dts/internal/operator.d.ts.map +1 -0
  148. package/dist/dts/internal/protos.d.ts +16 -43
  149. package/dist/dts/internal/protos.d.ts.map +1 -1
  150. package/dist/dts/internal/provide.d.ts +7 -1
  151. package/dist/dts/internal/provide.d.ts.map +1 -1
  152. package/dist/dts/internal/share.d.ts +12 -9
  153. package/dist/dts/internal/share.d.ts.map +1 -1
  154. package/dist/dts/internal/sync-operator.d.ts +7 -3
  155. package/dist/dts/internal/sync-operator.d.ts.map +1 -1
  156. package/dist/dts/internal/sync-producer.d.ts +36 -0
  157. package/dist/dts/internal/sync-producer.d.ts.map +1 -0
  158. package/dist/dts/internal/withKey.d.ts +3 -3
  159. package/dist/dts/internal/withKey.d.ts.map +1 -1
  160. package/dist/esm/AsyncData.js +151 -0
  161. package/dist/esm/AsyncData.js.map +1 -0
  162. package/dist/esm/Emitter.js +24 -21
  163. package/dist/esm/Emitter.js.map +1 -1
  164. package/dist/esm/Form.js +69 -14
  165. package/dist/esm/Form.js.map +1 -1
  166. package/dist/esm/FormEntry.js +77 -52
  167. package/dist/esm/FormEntry.js.map +1 -1
  168. package/dist/esm/Fx.js +509 -874
  169. package/dist/esm/Fx.js.map +1 -1
  170. package/dist/esm/Guard.js +5 -1
  171. package/dist/esm/Guard.js.map +1 -1
  172. package/dist/esm/Idle.js +49 -39
  173. package/dist/esm/Idle.js.map +1 -1
  174. package/dist/esm/Match.js +103 -63
  175. package/dist/esm/Match.js.map +1 -1
  176. package/dist/esm/Pull.js.map +1 -1
  177. package/dist/esm/Push.js +159 -0
  178. package/dist/esm/Push.js.map +1 -0
  179. package/dist/esm/RefArray.js +32 -30
  180. package/dist/esm/RefArray.js.map +1 -1
  181. package/dist/esm/RefChunk.js +26 -24
  182. package/dist/esm/RefChunk.js.map +1 -1
  183. package/dist/esm/RefHashMap.js +20 -20
  184. package/dist/esm/RefHashMap.js.map +1 -1
  185. package/dist/esm/RefHashSet.js +11 -8
  186. package/dist/esm/RefHashSet.js.map +1 -1
  187. package/dist/esm/RefSubject.js +876 -150
  188. package/dist/esm/RefSubject.js.map +1 -1
  189. package/dist/esm/Sink.js +608 -57
  190. package/dist/esm/Sink.js.map +1 -1
  191. package/dist/esm/Stream.js +13 -9
  192. package/dist/esm/Stream.js.map +1 -1
  193. package/dist/esm/Subject.js +154 -56
  194. package/dist/esm/Subject.js.map +1 -1
  195. package/dist/esm/TypeId.js +9 -4
  196. package/dist/esm/TypeId.js.map +1 -1
  197. package/dist/esm/Typeclass.js +29 -29
  198. package/dist/esm/Typeclass.js.map +1 -1
  199. package/dist/esm/Versioned.js +110 -53
  200. package/dist/esm/Versioned.js.map +1 -1
  201. package/dist/esm/index.js +66 -6
  202. package/dist/esm/index.js.map +1 -1
  203. package/dist/esm/internal/DeferredRef.js +54 -0
  204. package/dist/esm/internal/DeferredRef.js.map +1 -0
  205. package/dist/esm/internal/UnionToTuple.js +2 -0
  206. package/dist/esm/internal/UnionToTuple.js.map +1 -0
  207. package/dist/esm/internal/core.js +1439 -719
  208. package/dist/esm/internal/core.js.map +1 -1
  209. package/dist/esm/internal/diff.js +82 -0
  210. package/dist/esm/internal/diff.js.map +1 -0
  211. package/dist/esm/internal/effect-loop-operator.js +269 -0
  212. package/dist/esm/internal/effect-loop-operator.js.map +1 -0
  213. package/dist/esm/internal/effect-operator.js +44 -37
  214. package/dist/esm/internal/effect-operator.js.map +1 -1
  215. package/dist/esm/internal/effect-producer.js +47 -0
  216. package/dist/esm/internal/effect-producer.js.map +1 -0
  217. package/dist/esm/internal/helpers.js +157 -129
  218. package/dist/esm/internal/helpers.js.map +1 -1
  219. package/dist/esm/internal/keyed.js +128 -139
  220. package/dist/esm/internal/keyed.js.map +1 -1
  221. package/dist/esm/internal/loop-operator.js +186 -0
  222. package/dist/esm/internal/loop-operator.js.map +1 -0
  223. package/dist/esm/internal/operator.js +68 -0
  224. package/dist/esm/internal/operator.js.map +1 -0
  225. package/dist/esm/internal/protos.js +16 -75
  226. package/dist/esm/internal/protos.js.map +1 -1
  227. package/dist/esm/internal/provide.js +33 -25
  228. package/dist/esm/internal/provide.js.map +1 -1
  229. package/dist/esm/internal/requestIdleCallback.js +5 -5
  230. package/dist/esm/internal/requestIdleCallback.js.map +1 -1
  231. package/dist/esm/internal/share.js +12 -12
  232. package/dist/esm/internal/share.js.map +1 -1
  233. package/dist/esm/internal/sync-operator.js +49 -21
  234. package/dist/esm/internal/sync-operator.js.map +1 -1
  235. package/dist/esm/internal/sync-producer.js +88 -0
  236. package/dist/esm/internal/sync-producer.js.map +1 -0
  237. package/dist/esm/internal/withKey.js +46 -47
  238. package/dist/esm/internal/withKey.js.map +1 -1
  239. package/package.json +22 -62
  240. package/src/AsyncData.ts +447 -0
  241. package/src/Emitter.ts +47 -38
  242. package/src/Form.ts +185 -65
  243. package/src/FormEntry.ts +142 -109
  244. package/src/Fx.ts +1682 -1854
  245. package/src/Guard.ts +12 -1
  246. package/src/Idle.ts +76 -62
  247. package/src/Match.ts +149 -93
  248. package/src/Pull.ts +8 -8
  249. package/src/Push.ts +472 -0
  250. package/src/RefArray.ts +53 -51
  251. package/src/RefChunk.ts +44 -41
  252. package/src/RefHashMap.ts +57 -43
  253. package/src/RefHashSet.ts +21 -31
  254. package/src/RefSubject.ts +2003 -446
  255. package/src/Sink.ts +922 -171
  256. package/src/Stream.ts +32 -20
  257. package/src/Subject.ts +236 -87
  258. package/src/TypeId.ts +16 -4
  259. package/src/Typeclass.ts +31 -32
  260. package/src/Versioned.ts +220 -168
  261. package/src/index.ts +78 -6
  262. package/src/internal/DeferredRef.ts +62 -0
  263. package/src/internal/UnionToTuple.ts +11 -0
  264. package/src/internal/core.ts +2491 -1950
  265. package/src/internal/diff.ts +157 -0
  266. package/src/internal/effect-loop-operator.ts +466 -0
  267. package/src/internal/effect-operator.ts +89 -54
  268. package/src/internal/effect-producer.ts +125 -0
  269. package/src/internal/helpers.ts +275 -205
  270. package/src/internal/keyed.ts +192 -241
  271. package/src/internal/loop-operator.ts +266 -0
  272. package/src/internal/operator.ts +87 -0
  273. package/src/internal/protos.ts +29 -104
  274. package/src/internal/provide.ts +48 -40
  275. package/src/internal/requestIdleCallback.ts +5 -6
  276. package/src/internal/share.ts +26 -24
  277. package/src/internal/sync-operator.ts +68 -27
  278. package/src/internal/sync-producer.ts +146 -0
  279. package/src/internal/withKey.ts +64 -74
  280. package/Computed/package.json +0 -6
  281. package/Filtered/package.json +0 -6
  282. package/Model/package.json +0 -6
  283. package/RefAsyncData/package.json +0 -6
  284. package/RefAsyncDataArray/package.json +0 -6
  285. package/RefBoolean/package.json +0 -6
  286. package/RefNumber/package.json +0 -6
  287. package/dist/cjs/Computed.js +0 -115
  288. package/dist/cjs/Computed.js.map +0 -1
  289. package/dist/cjs/Filtered.js +0 -95
  290. package/dist/cjs/Filtered.js.map +0 -1
  291. package/dist/cjs/Model.js +0 -119
  292. package/dist/cjs/Model.js.map +0 -1
  293. package/dist/cjs/RefAsyncData.js +0 -187
  294. package/dist/cjs/RefAsyncData.js.map +0 -1
  295. package/dist/cjs/RefAsyncDataArray.js +0 -38
  296. package/dist/cjs/RefAsyncDataArray.js.map +0 -1
  297. package/dist/cjs/RefBoolean.js +0 -45
  298. package/dist/cjs/RefBoolean.js.map +0 -1
  299. package/dist/cjs/RefNumber.js +0 -49
  300. package/dist/cjs/RefNumber.js.map +0 -1
  301. package/dist/cjs/internal/core-ref-subject.js +0 -254
  302. package/dist/cjs/internal/core-ref-subject.js.map +0 -1
  303. package/dist/cjs/internal/core-subject.js +0 -108
  304. package/dist/cjs/internal/core-subject.js.map +0 -1
  305. package/dist/cjs/internal/deferred-ref.js.map +0 -1
  306. package/dist/cjs/internal/effect-primitive.js +0 -47
  307. package/dist/cjs/internal/effect-primitive.js.map +0 -1
  308. package/dist/cjs/internal/fx-effect-proto.js +0 -58
  309. package/dist/cjs/internal/fx-effect-proto.js.map +0 -1
  310. package/dist/cjs/internal/fx-primitive.js +0 -193
  311. package/dist/cjs/internal/fx-primitive.js.map +0 -1
  312. package/dist/cjs/internal/fx.js +0 -240
  313. package/dist/cjs/internal/fx.js.map +0 -1
  314. package/dist/cjs/internal/matchers.js +0 -34
  315. package/dist/cjs/internal/matchers.js.map +0 -1
  316. package/dist/cjs/internal/run.js +0 -54
  317. package/dist/cjs/internal/run.js.map +0 -1
  318. package/dist/cjs/internal/schema-ref-subject.js +0 -132
  319. package/dist/cjs/internal/schema-ref-subject.js.map +0 -1
  320. package/dist/cjs/internal/versioned-transform.js +0 -46
  321. package/dist/cjs/internal/versioned-transform.js.map +0 -1
  322. package/dist/dts/Computed.d.ts +0 -106
  323. package/dist/dts/Computed.d.ts.map +0 -1
  324. package/dist/dts/Filtered.d.ts +0 -97
  325. package/dist/dts/Filtered.d.ts.map +0 -1
  326. package/dist/dts/Model.d.ts +0 -200
  327. package/dist/dts/Model.d.ts.map +0 -1
  328. package/dist/dts/RefAsyncData.d.ts +0 -236
  329. package/dist/dts/RefAsyncData.d.ts.map +0 -1
  330. package/dist/dts/RefAsyncDataArray.d.ts +0 -56
  331. package/dist/dts/RefAsyncDataArray.d.ts.map +0 -1
  332. package/dist/dts/RefBoolean.d.ts +0 -47
  333. package/dist/dts/RefBoolean.d.ts.map +0 -1
  334. package/dist/dts/RefNumber.d.ts +0 -48
  335. package/dist/dts/RefNumber.d.ts.map +0 -1
  336. package/dist/dts/internal/core-ref-subject.d.ts +0 -100
  337. package/dist/dts/internal/core-ref-subject.d.ts.map +0 -1
  338. package/dist/dts/internal/core-subject.d.ts +0 -5
  339. package/dist/dts/internal/core-subject.d.ts.map +0 -1
  340. package/dist/dts/internal/deferred-ref.d.ts +0 -12
  341. package/dist/dts/internal/deferred-ref.d.ts.map +0 -1
  342. package/dist/dts/internal/effect-primitive.d.ts +0 -6
  343. package/dist/dts/internal/effect-primitive.d.ts.map +0 -1
  344. package/dist/dts/internal/fx-effect-proto.d.ts +0 -30
  345. package/dist/dts/internal/fx-effect-proto.d.ts.map +0 -1
  346. package/dist/dts/internal/fx-primitive.d.ts +0 -109
  347. package/dist/dts/internal/fx-primitive.d.ts.map +0 -1
  348. package/dist/dts/internal/fx.d.ts +0 -245
  349. package/dist/dts/internal/fx.d.ts.map +0 -1
  350. package/dist/dts/internal/matchers.d.ts +0 -33
  351. package/dist/dts/internal/matchers.d.ts.map +0 -1
  352. package/dist/dts/internal/run.d.ts +0 -8
  353. package/dist/dts/internal/run.d.ts.map +0 -1
  354. package/dist/dts/internal/schema-ref-subject.d.ts +0 -5
  355. package/dist/dts/internal/schema-ref-subject.d.ts.map +0 -1
  356. package/dist/dts/internal/versioned-transform.d.ts +0 -17
  357. package/dist/dts/internal/versioned-transform.d.ts.map +0 -1
  358. package/dist/esm/Computed.js +0 -103
  359. package/dist/esm/Computed.js.map +0 -1
  360. package/dist/esm/Filtered.js +0 -83
  361. package/dist/esm/Filtered.js.map +0 -1
  362. package/dist/esm/Model.js +0 -100
  363. package/dist/esm/Model.js.map +0 -1
  364. package/dist/esm/RefAsyncData.js +0 -163
  365. package/dist/esm/RefAsyncData.js.map +0 -1
  366. package/dist/esm/RefAsyncDataArray.js +0 -27
  367. package/dist/esm/RefAsyncDataArray.js.map +0 -1
  368. package/dist/esm/RefBoolean.js +0 -31
  369. package/dist/esm/RefBoolean.js.map +0 -1
  370. package/dist/esm/RefNumber.js +0 -35
  371. package/dist/esm/RefNumber.js.map +0 -1
  372. package/dist/esm/internal/core-ref-subject.js +0 -242
  373. package/dist/esm/internal/core-ref-subject.js.map +0 -1
  374. package/dist/esm/internal/core-subject.js +0 -90
  375. package/dist/esm/internal/core-subject.js.map +0 -1
  376. package/dist/esm/internal/deferred-ref.js +0 -23
  377. package/dist/esm/internal/deferred-ref.js.map +0 -1
  378. package/dist/esm/internal/effect-primitive.js +0 -41
  379. package/dist/esm/internal/effect-primitive.js.map +0 -1
  380. package/dist/esm/internal/fx-effect-proto.js +0 -43
  381. package/dist/esm/internal/fx-effect-proto.js.map +0 -1
  382. package/dist/esm/internal/fx-primitive.js +0 -175
  383. package/dist/esm/internal/fx-primitive.js.map +0 -1
  384. package/dist/esm/internal/fx.js +0 -216
  385. package/dist/esm/internal/fx.js.map +0 -1
  386. package/dist/esm/internal/matchers.js +0 -38
  387. package/dist/esm/internal/matchers.js.map +0 -1
  388. package/dist/esm/internal/run.js +0 -32
  389. package/dist/esm/internal/run.js.map +0 -1
  390. package/dist/esm/internal/schema-ref-subject.js +0 -121
  391. package/dist/esm/internal/schema-ref-subject.js.map +0 -1
  392. package/dist/esm/internal/versioned-transform.js +0 -37
  393. package/dist/esm/internal/versioned-transform.js.map +0 -1
  394. package/src/Computed.ts +0 -289
  395. package/src/Filtered.ts +0 -274
  396. package/src/Model.ts +0 -483
  397. package/src/RefAsyncData.ts +0 -547
  398. package/src/RefAsyncDataArray.ts +0 -135
  399. package/src/RefBoolean.ts +0 -71
  400. package/src/RefNumber.ts +0 -77
  401. package/src/internal/core-ref-subject.ts +0 -528
  402. package/src/internal/core-subject.ts +0 -143
  403. package/src/internal/deferred-ref.ts +0 -26
  404. package/src/internal/effect-primitive.ts +0 -230
  405. package/src/internal/fx-effect-proto.ts +0 -56
  406. package/src/internal/fx-primitive.ts +0 -223
  407. package/src/internal/fx.ts +0 -619
  408. package/src/internal/matchers.ts +0 -83
  409. package/src/internal/run.ts +0 -51
  410. package/src/internal/schema-ref-subject.ts +0 -163
  411. package/src/internal/versioned-transform.ts +0 -48
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../dist/cjs/AsyncData.js",
3
+ "module": "../dist/esm/AsyncData.js",
4
+ "types": "../dist/dts/AsyncData.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../dist/cjs/Push.js",
3
+ "module": "../dist/esm/Push.js",
4
+ "types": "../dist/dts/Push.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.asSink = void 0;
7
+ exports.asyncDataRequest = asyncDataRequest;
8
+ exports.succeed = exports.stopLoading = exports.startLoading = exports.runIfNoData = exports.runIfExpired = exports.runAsyncData = exports.matchAsyncDataArray = exports.matchAsyncData = exports.mapInputEffect = exports.mapInput = exports.getSuccess = exports.getFailure = exports.failCause = exports.fail = exports.done = exports.awaitLoadingOrRefreshing = exports.awaitLoading = void 0;
9
+ var AsyncData = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/async-data/AsyncData"));
10
+ var Cause = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Cause"));
11
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
12
+ var Either = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Either"));
13
+ var _Function = /*#__PURE__*/require("effect/Function");
14
+ var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
15
+ var Fx = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Fx.js"));
16
+ var _keyed = /*#__PURE__*/require("./internal/keyed.js");
17
+ var RefSubject = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./RefSubject.js"));
18
+ var Sink = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Sink.js"));
19
+ var _TypeId = /*#__PURE__*/require("./TypeId.js");
20
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
+ /**
23
+ * AsyncData integrations with Fx.
24
+ * @since 1.20.0
25
+ */
26
+
27
+ /**
28
+ * @since 1.20.0
29
+ */
30
+ function asyncDataRequest(effect) {
31
+ return Fx.make(sink => Effect.flatMap(Effect.zipRight(sink.onSuccess(AsyncData.loading()), Effect.exit(effect)), exit => sink.onSuccess(AsyncData.fromExit(exit))));
32
+ }
33
+ /**
34
+ * @since 1.20.0
35
+ */
36
+ const runAsyncData = exports.runAsyncData = /*#__PURE__*/(0, _Function.dual)(2, function runAsyncData(ref, effect) {
37
+ return ref.runUpdates(({
38
+ get,
39
+ set
40
+ }) => Effect.uninterruptibleMask(restore => Effect.flatMap(Effect.flatMap(Effect.tap(get, current => set(AsyncData.startLoading(current))), () => Effect.exit(restore(effect))), exit => set(AsyncData.fromExit(exit)))));
41
+ });
42
+ /**
43
+ * @since 1.20.0
44
+ */
45
+ const matchAsyncData = exports.matchAsyncData = /*#__PURE__*/(0, _Function.dual)(2, function matchAsyncData(fx, matchers) {
46
+ return Fx.matchTags(fx, {
47
+ NoData: () => matchers.NoData,
48
+ Loading: loading => matchers.Loading(RefSubject.filterMap(loading, l => l.progress)),
49
+ Failure: failure => matchers.Failure(RefSubject.mapEffect(failure, f => Either.match(Cause.failureOrCause(f.cause), {
50
+ onLeft: Effect.succeed,
51
+ onRight: Effect.failCause
52
+ })), {
53
+ timestamp: RefSubject.map(failure, f => f.timestamp),
54
+ progress: RefSubject.filterMap(failure, f => Option.flatMap(f.refreshing, l => l.progress))
55
+ }),
56
+ Success: success => matchers.Success(RefSubject.transform(success, s => s.value, value => AsyncData.success(value)), {
57
+ timestamp: RefSubject.map(success, s => s.timestamp),
58
+ progress: RefSubject.filterMap(success, f => Option.flatMap(f.refreshing, l => l.progress))
59
+ })
60
+ });
61
+ });
62
+ /**
63
+ * @since 1.20.0
64
+ */
65
+ const matchAsyncDataArray = exports.matchAsyncDataArray = /*#__PURE__*/(0, _Function.dual)(3, function matchAsyncData(fx, getKey, matchers) {
66
+ return Fx.matchTags(fx, {
67
+ NoData: () => matchers.NoData,
68
+ Loading: loading => matchers.Loading(RefSubject.filterMap(loading, l => l.progress)),
69
+ Failure: failure => matchers.Failure(RefSubject.mapEffect(failure, f => Either.match(Cause.failureOrCause(f.cause), {
70
+ onLeft: Effect.succeed,
71
+ onRight: Effect.failCause
72
+ })), {
73
+ timestamp: RefSubject.map(failure, f => f.timestamp),
74
+ progress: RefSubject.filterMap(failure, f => Option.flatMap(f.refreshing, l => l.progress))
75
+ }),
76
+ Success: success => (0, _keyed.keyed)(RefSubject.map(success, s => s.value), {
77
+ getKey,
78
+ onValue: matchers.Success
79
+ })
80
+ });
81
+ });
82
+ /**
83
+ * @since 1.20.0
84
+ */
85
+ const runIfNoData = exports.runIfNoData = /*#__PURE__*/(0, _Function.dual)(2, function runIfNoData(ref, effect) {
86
+ return Effect.flatMap(ref, current => AsyncData.isNoData(current) ? runAsyncData(ref, effect) : Effect.succeed(current));
87
+ });
88
+ /**
89
+ * @since 1.20.0
90
+ */
91
+ const runIfExpired = exports.runIfExpired = /*#__PURE__*/(0, _Function.dual)(3, function runIfExpired(ref, effect, {
92
+ now,
93
+ ttl
94
+ }) {
95
+ return Effect.flatMap(ref, current => AsyncData.isExpired(current, ttl, now) ? runAsyncData(ref, effect) : Effect.succeed(current));
96
+ });
97
+ /**
98
+ * Await for the AsyncData to stop loading.
99
+ * @since 1.20.0
100
+ * @category updates
101
+ */
102
+ const awaitLoading = data => data.pipe(Fx.dropWhile(AsyncData.isLoading), Fx.take(1), Fx.toReadonlyArray, Effect.map(x => x[0]));
103
+ /**
104
+ * Await for the AsyncData to stop loading or refreshing.
105
+ * @since 1.20.0
106
+ * @category updates
107
+ */
108
+ exports.awaitLoading = awaitLoading;
109
+ const awaitLoadingOrRefreshing = data => data.pipe(Fx.dropWhile(AsyncData.isLoadingOrRefreshing), Fx.take(1), Fx.toReadonlyArray, Effect.map(x => x[0]));
110
+ /**
111
+ * Change the current value of a RefAsyncData to a loading or refreshing state.
112
+ * @since 1.20.0
113
+ * @category updates
114
+ */
115
+ exports.awaitLoadingOrRefreshing = awaitLoadingOrRefreshing;
116
+ const startLoading = ref => RefSubject.update(ref, AsyncData.startLoading);
117
+ /**
118
+ * Change the current value of a RefAsyncData to a non-loading/non-refreshing state.
119
+ * @since 1.20.0
120
+ * @category updates
121
+ */
122
+ exports.startLoading = startLoading;
123
+ const stopLoading = ref => RefSubject.update(ref, AsyncData.stopLoading);
124
+ /**
125
+ * Convert RefAsyncData into a Sink.
126
+ * @since 1.20.0
127
+ * @category conversions
128
+ */
129
+ exports.stopLoading = stopLoading;
130
+ const asSink = ref => Sink.make(cause => RefSubject.set(ref, AsyncData.failCause(cause)), a => RefSubject.set(ref, AsyncData.success(a)));
131
+ /**
132
+ * Map the input value using an Effect
133
+ * @since 1.20.0
134
+ */
135
+ exports.asSink = asSink;
136
+ const mapInputEffect = (ref, f) => Sink.mapEffect(asSink(ref), f);
137
+ /**
138
+ * Map the input value
139
+ * @since 1.20.0
140
+ */
141
+ exports.mapInputEffect = mapInputEffect;
142
+ const mapInput = (ref, f) => Sink.map(asSink(ref), f);
143
+ exports.mapInput = mapInput;
144
+ const isRefFirst = args => args.length === 3 || _TypeId.RefSubjectTypeId in args[0];
145
+ /**
146
+ * Fail with a given cause
147
+ * @since 1.20.0
148
+ */
149
+ const failCause = exports.failCause = /*#__PURE__*/(0, _Function.dual)(isRefFirst, (ref, cause, options) => RefSubject.set(ref, AsyncData.failCause(cause, options)));
150
+ /**
151
+ * Fail with a given error
152
+ * @since 1.20.0
153
+ */
154
+ const fail = exports.fail = /*#__PURE__*/(0, _Function.dual)(isRefFirst, (ref, error, options) => RefSubject.set(ref, AsyncData.fail(error, options)));
155
+ /**
156
+ * Succeed with a value
157
+ * @since 1.20.0
158
+ */
159
+ const succeed = exports.succeed = /*#__PURE__*/(0, _Function.dual)(isRefFirst, (ref, value, options) => RefSubject.set(ref, AsyncData.success(value, options)));
160
+ /**
161
+ * Set Exit value of RefAsyncData
162
+ * @since 1.20.0
163
+ */
164
+ const done = exports.done = /*#__PURE__*/(0, _Function.dual)(2, (ref, exit) => RefSubject.set(ref, AsyncData.done(exit)));
165
+ /**
166
+ * @since 1.20.0
167
+ * @category Filtered
168
+ */
169
+ const getFailure = ref => RefSubject.filterMap(ref, AsyncData.getFailure);
170
+ /**
171
+ * @since 1.20.0
172
+ * @category Filtered
173
+ */
174
+ exports.getFailure = getFailure;
175
+ const getSuccess = ref => RefSubject.filterMap(ref, AsyncData.getSuccess);
176
+ exports.getSuccess = getSuccess;
177
+ //# sourceMappingURL=AsyncData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncData.js","names":["AsyncData","_interopRequireWildcard","require","Cause","Effect","Either","_Function","Option","Fx","_keyed","RefSubject","Sink","_TypeId","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","asyncDataRequest","effect","make","sink","flatMap","zipRight","onSuccess","loading","exit","fromExit","runAsyncData","exports","dual","ref","runUpdates","uninterruptibleMask","restore","tap","current","startLoading","matchAsyncData","fx","matchers","matchTags","NoData","Loading","filterMap","l","progress","Failure","failure","mapEffect","f","match","failureOrCause","cause","onLeft","succeed","onRight","failCause","timestamp","map","refreshing","Success","success","transform","s","value","matchAsyncDataArray","getKey","keyed","onValue","runIfNoData","isNoData","runIfExpired","now","ttl","isExpired","awaitLoading","data","pipe","dropWhile","isLoading","take","toReadonlyArray","x","awaitLoadingOrRefreshing","isLoadingOrRefreshing","update","stopLoading","asSink","mapInputEffect","mapInput","isRefFirst","args","length","RefSubjectTypeId","options","fail","error","done","getFailure","getSuccess"],"sources":["../../src/AsyncData.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -3,35 +3,38 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.make = make;
6
+ exports.withEmitter = withEmitter;
7
+ var Cause = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Cause"));
7
8
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
8
- var Exit = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Exit"));
9
+ var ExecutionStrategy = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/ExecutionStrategy"));
10
+ var Fiber = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Fiber"));
11
+ var Runtime = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Runtime"));
9
12
  var _helpers = /*#__PURE__*/require("./internal/helpers.js");
13
+ var Sink = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Sink.js"));
10
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
16
  /**
13
- * An Emitter is a a Sink-like type which is can be utilized to adapt external
14
- * APIs into an Fx.
15
- * @since 1.18.0
17
+ * Emitter is a helper for creating Fx from external libraries which are not Effect-native.
18
+ * @since 1.20.0
16
19
  */
17
20
 
18
21
  /**
19
- * Create an Emitter from a Sink
20
- * @since 1.18.0
21
- * @category constructors
22
+ * @since 1.20.0
22
23
  */
23
- function make(sink) {
24
- return Effect.map((0, _helpers.scopedRuntime)(), runtime => makeWithRuntime(runtime, sink));
25
- }
26
- function makeWithRuntime(runtime, sink) {
27
- function emit(exit) {
28
- return runtime.run(Exit.match(exit, sink));
29
- }
30
- emit.succeed = a => emit(Exit.succeed(a));
31
- emit.failCause = e => emit(Exit.failCause(e));
32
- emit.fail = e => emit(Exit.fail(e));
33
- emit.die = e => emit(Exit.die(e));
34
- emit.end = () => runtime.run(sink.earlyExit);
35
- return emit;
24
+ function withEmitter(sink, f) {
25
+ return (0, _helpers.withScope)(scope => Sink.withEarlyExit(sink, sink => {
26
+ return Effect.flatMap(Effect.runtime(), runtime => {
27
+ const runPromiseExit = Runtime.runPromiseExit(runtime);
28
+ const run = effect => runPromiseExit(Effect.flatMap(Effect.forkIn(effect, scope), Fiber.join));
29
+ const emitter = {
30
+ succeed: value => run(sink.onSuccess(value)),
31
+ failCause: cause => run(sink.onFailure(cause)),
32
+ fail: error => run(sink.onFailure(Cause.fail(error))),
33
+ die: error => run(sink.onFailure(Cause.die(error))),
34
+ end: () => run(sink.earlyExit)
35
+ };
36
+ return f(emitter);
37
+ });
38
+ }), ExecutionStrategy.sequential);
36
39
  }
37
40
  //# sourceMappingURL=Emitter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Emitter.js","names":["Effect","_interopRequireWildcard","require","Exit","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","make","sink","map","scopedRuntime","runtime","makeWithRuntime","emit","exit","run","match","succeed","failCause","fail","die","end","earlyExit"],"sources":["../../src/Emitter.ts"],"sourcesContent":[null],"mappings":";;;;;;AAOA,IAAAA,MAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,IAAA,gBAAAF,uBAAA,eAAAC,OAAA;AAIA,IAAAE,QAAA,gBAAAF,OAAA;AAAqD,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAZrD;;;;;;AA8BA;;;;;AAKM,SAAUY,IAAIA,CAAOC,IAA8B;EACvD,OAAO3B,MAAM,CAAC4B,GAAG,CAAC,IAAAC,sBAAa,GAAS,EAAGC,OAAO,IAAKC,eAAe,CAACD,OAAO,EAAEH,IAAI,CAAC,CAAC;AACxF;AACA,SAASI,eAAeA,CACtBD,OAA6B,EAC7BH,IAA8B;EAE9B,SAASK,IAAIA,CAACC,IAAqB;IACjC,OAAOH,OAAO,CAACI,GAAG,CAAC/B,IAAI,CAACgC,KAAK,CAACF,IAAI,EAAEN,IAAI,CAAC,CAAC;EAC5C;EAEAK,IAAI,CAACI,OAAO,GAAIpB,CAAI,IAAKgB,IAAI,CAAC7B,IAAI,CAACiC,OAAO,CAACpB,CAAC,CAAC,CAAC;EAC9CgB,IAAI,CAACK,SAAS,GAAI/B,CAAiB,IAAK0B,IAAI,CAAC7B,IAAI,CAACkC,SAAS,CAAC/B,CAAC,CAAC,CAAC;EAC/D0B,IAAI,CAACM,IAAI,GAAIhC,CAAI,IAAK0B,IAAI,CAAC7B,IAAI,CAACmC,IAAI,CAAChC,CAAC,CAAC,CAAC;EACxC0B,IAAI,CAACO,GAAG,GAAIjC,CAAU,IAAK0B,IAAI,CAAC7B,IAAI,CAACoC,GAAG,CAACjC,CAAC,CAAC,CAAC;EAC5C0B,IAAI,CAACQ,GAAG,GAAG,MAAMV,OAAO,CAACI,GAAG,CAACP,IAAI,CAACc,SAAS,CAAC;EAE5C,OAAOT,IAAI;AACb"}
1
+ {"version":3,"file":"Emitter.js","names":["Cause","_interopRequireWildcard","require","Effect","ExecutionStrategy","Fiber","Runtime","_helpers","Sink","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","withEmitter","sink","f","withScope","scope","withEarlyExit","flatMap","runtime","runPromiseExit","run","effect","forkIn","join","emitter","succeed","value","onSuccess","failCause","cause","onFailure","fail","error","die","end","earlyExit","sequential"],"sources":["../../src/Emitter.ts"],"sourcesContent":[null],"mappings":"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"}
package/dist/cjs/Form.js CHANGED
@@ -5,16 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.Form = Form;
7
7
  exports.FormTypeId = void 0;
8
- exports.make = make;
8
+ exports.derive = derive;
9
+ exports.deriveInput = deriveInput;
9
10
  var _schema = /*#__PURE__*/require("@effect/schema");
10
11
  var _Equivalence = /*#__PURE__*/require("@effect/schema/Equivalence");
11
12
  var S = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/schema/Schema"));
12
- var _effect = /*#__PURE__*/require("effect");
13
- var _Computed = /*#__PURE__*/require("./Computed.js");
13
+ var Cause = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Cause"));
14
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
15
+ var _Predicate = /*#__PURE__*/require("effect/Predicate");
14
16
  var FormEntry = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./FormEntry.js"));
15
17
  var core = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./internal/core.js"));
16
18
  var _protos = /*#__PURE__*/require("./internal/protos.js");
17
19
  var _share = /*#__PURE__*/require("./internal/share.js");
20
+ var RefSubject = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./RefSubject.js"));
18
21
  var _TypeId = /*#__PURE__*/require("./TypeId.js");
19
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
20
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -25,55 +28,79 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
25
28
  /**
26
29
  * @since 1.18.0
27
30
  */
28
- const FormTypeId = exports.FormTypeId = /*#__PURE__*/Symbol.for("./Form.js");
31
+ const FormTypeId = exports.FormTypeId = /*#__PURE__*/Symbol.for("@typed/fx/Form");
29
32
  /**
30
33
  * @since 1.18.0
31
34
  */
32
35
  function Form(entries) {
33
36
  return new FormImpl(entries);
34
37
  }
38
+ /**
39
+ * @since 1.20.0
40
+ */
41
+ function derive(schema) {
42
+ return input => Effect.map(deriveMakeEntries(input, schema.ast), entries => {
43
+ const form = Form(entries);
44
+ if (_TypeId.RefSubjectTypeId in input) {
45
+ return Object.assign(form, {
46
+ persist: Effect.matchEffect(form.decoded, {
47
+ onFailure: error => isParseError(error) ? Effect.unit : input.onFailure(Cause.fail(error)),
48
+ onSuccess: a => input.onSuccess(a)
49
+ })
50
+ });
51
+ }
52
+ return form;
53
+ });
54
+ }
35
55
  /**
36
56
  * @since 1.18.0
37
57
  */
38
- function make(schema) {
39
- return input => _effect.Effect.map(deriveMakeEntries(input, schema.ast), entries => {
58
+ function deriveInput(schema) {
59
+ return input => Effect.map(deriveMakeInputEntries(input, schema.ast), entries => {
40
60
  const form = Form(entries);
41
61
  if (_TypeId.RefSubjectTypeId in input) {
42
62
  return Object.assign(form, {
43
- persist: _effect.Effect.matchCauseEffect(form.decoded, input)
63
+ persist: Effect.matchEffect(form, {
64
+ onFailure: error => isParseError(error) ? Effect.unit : input.onFailure(Cause.fail(error)),
65
+ onSuccess: a => input.onSuccess(a)
66
+ })
44
67
  });
45
68
  }
46
69
  return form;
47
70
  });
48
71
  }
72
+ function isParseError(u) {
73
+ return (0, _Predicate.hasProperty)(u, "_tag") && u["_tag"] === "ParseError";
74
+ }
49
75
  const parseOptions = {
50
76
  errors: "all",
51
77
  onExcessProperty: "ignore"
52
78
  };
53
- // @ts-expect-error
54
79
  class FormImpl extends _protos.FxEffectBase {
55
80
  entries;
56
81
  [FormTypeId] = FormTypeId;
82
+ _fx;
83
+ version;
57
84
  constructor(entries) {
58
85
  super();
59
86
  this.entries = entries;
60
87
  this.schema = buildSchema(entries);
61
- this.version = _effect.Effect.map(
88
+ this.version = Effect.map(
62
89
  // @ts-ignore Infinite type instantiation
63
- _effect.Effect.all(Object.values(entries).map(e => e.version)), versions => versions.reduce((a, b) => a + b, 0));
90
+ Effect.all(Object.values(entries).map(e => e.version)), versions => versions.reduce((a, b) => a + b, 0));
91
+ this._fx = (0, _share.hold)(core.skipRepeatsWith(core.struct(this.entries), (0, _Equivalence.make)(S.from(this.schema))));
64
92
  }
65
93
  get = k => this.entries[k];
66
94
  schema;
67
- version;
68
- toFx() {
69
- return (0, _share.hold)(core.skipRepeatsWith(core.struct(this.entries), (0, _Equivalence.from)(this.schema)));
95
+ run(sink) {
96
+ return this._fx.run(sink);
70
97
  }
71
98
  toEffect() {
72
- return _effect.Effect.all(this.entries, {
99
+ return Effect.all(this.entries, {
73
100
  concurrency: "unbounded"
74
101
  });
75
102
  }
76
- decoded = (0, _Computed.Computed)(this, i => S.decode(this.schema)(i, parseOptions));
103
+ decoded = RefSubject.mapEffect(this, i => S.decode(this.schema)(i, parseOptions));
77
104
  }
78
105
  function buildSchema(entries) {
79
106
  const schemas = {};
@@ -87,12 +114,12 @@ function buildSchema(entries) {
87
114
  }
88
115
  return S.struct(schemas);
89
116
  }
90
- const deriveMakeEntries = (input, ast) => _effect.Effect.suspend(() => {
117
+ const deriveMakeEntries = (input, ast) => Effect.suspend(() => {
91
118
  switch (ast._tag) {
92
119
  case "TypeLiteral":
93
120
  {
94
121
  const propertySignatures = ast.propertySignatures;
95
- return _effect.Effect.gen(function* (_) {
122
+ return Effect.gen(function* (_) {
96
123
  const entries = {};
97
124
  for (const prop of propertySignatures) {
98
125
  const nested = propOf(input, prop.name);
@@ -100,7 +127,36 @@ const deriveMakeEntries = (input, ast) => _effect.Effect.suspend(() => {
100
127
  if (prop.type._tag === "TypeLiteral") {
101
128
  entries[prop.name] = Form(yield* _(deriveMakeEntries(nested, ast)));
102
129
  } else {
103
- entries[prop.name] = yield* _(FormEntry.make({
130
+ entries[prop.name] = yield* _(FormEntry.derive({
131
+ name: prop.name,
132
+ schema: S.make(ast)
133
+ })(nested));
134
+ }
135
+ }
136
+ return entries;
137
+ });
138
+ }
139
+ default:
140
+ {
141
+ // TODO: Wrap in an error
142
+ return Effect.die(new TypeError("Form.deriveMakeEntries only supports TypeLiteral schemas."));
143
+ }
144
+ }
145
+ });
146
+ const deriveMakeInputEntries = (input, ast) => Effect.suspend(() => {
147
+ switch (ast._tag) {
148
+ case "TypeLiteral":
149
+ {
150
+ const propertySignatures = ast.propertySignatures;
151
+ return Effect.gen(function* (_) {
152
+ const entries = {};
153
+ for (const prop of propertySignatures) {
154
+ const nested = propOf(input, prop.name);
155
+ const ast = prop.isOptional ? _schema.AST.createUnion([prop.type, _schema.AST.undefinedKeyword]) : prop.type;
156
+ if (prop.type._tag === "TypeLiteral") {
157
+ entries[prop.name] = Form(yield* _(deriveMakeInputEntries(nested, ast)));
158
+ } else {
159
+ entries[prop.name] = yield* _(FormEntry.deriveInput({
104
160
  name: prop.name,
105
161
  schema: S.make(ast)
106
162
  })(nested));
@@ -111,13 +167,14 @@ const deriveMakeEntries = (input, ast) => _effect.Effect.suspend(() => {
111
167
  }
112
168
  default:
113
169
  {
114
- return _effect.Effect.die(new TypeError("Form.deriveMakeEntries only supports TypeLiteral schemas."));
170
+ // TODO: Wrap in an error
171
+ return Effect.die(new TypeError("Form.deriveMakeEntries only supports TypeLiteral schemas."));
115
172
  }
116
173
  }
117
174
  });
118
175
  const propOf = (input, key) => {
119
176
  if (_TypeId.RefSubjectTypeId in input || _TypeId.ComputedTypeId in input || _TypeId.FilteredTypeId in input) {
120
- return input.map(o => o[key]);
121
- } else if (_TypeId.TypeId in input) return core.map(input, o => o[key]);else return _effect.Effect.map(input, o => o[key]);
177
+ return RefSubject.map(input, o => o[key]);
178
+ } else if (_TypeId.TypeId in input) return core.map(input, o => o[key]);else return Effect.map(input, o => o[key]);
122
179
  };
123
180
  //# sourceMappingURL=Form.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","names":["_schema","require","_Equivalence","S","_interopRequireWildcard","_effect","_Computed","FormEntry","core","_protos","_share","_TypeId","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","FormTypeId","exports","Symbol","for","Form","entries","FormImpl","make","schema","input","Effect","map","deriveMakeEntries","ast","form","RefSubjectTypeId","assign","persist","matchCauseEffect","decoded","parseOptions","errors","onExcessProperty","FxEffectBase","constructor","buildSchema","version","all","values","versions","reduce","b","k","toFx","hold","skipRepeatsWith","struct","from","toEffect","concurrency","Computed","decode","schemas","key","Reflect","ownKeys","entry","suspend","_tag","propertySignatures","gen","_","prop","nested","propOf","name","isOptional","AST","createUnion","type","undefinedKeyword","die","TypeError","ComputedTypeId","FilteredTypeId","o","TypeId"],"sources":["../../src/Form.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","names":["_schema","require","_Equivalence","S","_interopRequireWildcard","Cause","Effect","_Predicate","FormEntry","core","_protos","_share","RefSubject","_TypeId","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","FormTypeId","exports","Symbol","for","Form","entries","FormImpl","derive","schema","input","map","deriveMakeEntries","ast","form","RefSubjectTypeId","assign","persist","matchEffect","decoded","onFailure","error","isParseError","unit","fail","onSuccess","deriveInput","deriveMakeInputEntries","hasProperty","parseOptions","errors","onExcessProperty","FxEffectBase","_fx","version","constructor","buildSchema","all","values","versions","reduce","b","hold","skipRepeatsWith","struct","make","from","k","run","sink","toEffect","concurrency","mapEffect","decode","schemas","key","Reflect","ownKeys","entry","suspend","_tag","propertySignatures","gen","_","prop","nested","propOf","name","isOptional","AST","createUnion","type","undefinedKeyword","die","TypeError","ComputedTypeId","FilteredTypeId","o","TypeId"],"sources":["../../src/Form.ts"],"sourcesContent":[null],"mappings":"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"}