@typed/fx 1.19.0 → 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 (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 +899 -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 +153 -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 +396 -187
  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 +873 -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 +151 -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 +1984 -457
  255. package/src/Sink.ts +922 -171
  256. package/src/Stream.ts +32 -20
  257. package/src/Subject.ts +230 -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.js","names":["Effect","_interopRequireWildcard","require","Sink","_effectOperator","helpers","_syncOperator","_matchers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","constUnit","unit","run","fx","sink","runFx","matchFxPrimitive","Empty","Fail","onFailure","i0","FromIterable","forEach","onSuccess","FromSink","contextWithEffect","ctx","provide","Never","never","Succeed","Suspend","suspend","Sync","ToFx","WithEarlyExit","withScopedFork","fork","scope","withEarlyExit","WithScopedFork","WithFlattenStrategy","withFlattenStrategy","i1","Transformer","compileSyncOperatorSink","TransformerEffect","compileEffectOperatorSink","TransformerCause","compileSyncOperatorFailureSink","TransformerCauseEffect","compileCauseEffectOperatorSink"],"sources":["../../../src/internal/run.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,132 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.fromRefSubject = fromRefSubject;
7
- exports.toRefSubject = toRefSubject;
8
- var SchemaEquivalence = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/schema/Equivalence"));
9
- var Schema = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/schema/Schema"));
10
- var _effect = /*#__PURE__*/require("effect");
11
- var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
12
- var _TypeId = /*#__PURE__*/require("../TypeId.js");
13
- var _coreRefSubject = /*#__PURE__*/require("./core-ref-subject.js");
14
- var _core = /*#__PURE__*/require("./core.js");
15
- var _matchers = /*#__PURE__*/require("./matchers.js");
16
- 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); }
17
- 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; }
18
- const makeSchema = f => f;
19
- const memoizeThunk = f => {
20
- let memoized = _effect.Option.none();
21
- return () => {
22
- if (_effect.Option.isNone(memoized)) {
23
- memoized = _effect.Option.some(f());
24
- }
25
- return memoized.value;
26
- };
27
- };
28
- const defaultSchema = defaultEq => makeSchema((input, eq) => (0, _coreRefSubject.make)(input, eq || defaultEq));
29
- const go = (ast, getDefaultEq) => {
30
- switch (ast._tag) {
31
- case "AnyKeyword":
32
- case "BigIntKeyword":
33
- case "BooleanKeyword":
34
- case "Literal":
35
- case "Enums":
36
- case "NeverKeyword":
37
- case "NumberKeyword":
38
- case "ObjectKeyword":
39
- case "StringKeyword":
40
- case "SymbolKeyword":
41
- case "TemplateLiteral":
42
- case "Tuple":
43
- case "UndefinedKeyword":
44
- case "UniqueSymbol":
45
- case "UnknownKeyword":
46
- case "VoidKeyword":
47
- case "Union":
48
- // TODO: Union should probably be better somehow
49
- return defaultSchema(getDefaultEq(ast));
50
- case "Suspend":
51
- {
52
- const get = memoizeThunk(() => go(ast.f(), getDefaultEq));
53
- return makeSchema((input, eq) => get()(input, eq));
54
- }
55
- case "Refinement":
56
- return go(ast.from, getDefaultEq);
57
- case "Transform":
58
- return go(ast.to, getDefaultEq);
59
- case "Declaration":
60
- return go(ast.type, getDefaultEq);
61
- case "TypeLiteral":
62
- {
63
- if (ast.propertySignatures.length === 0) {
64
- return defaultSchema(getDefaultEq(ast));
65
- }
66
- const propertySignaturesTypes = ast.propertySignatures.map(propertySignature => [propertySignature.name, go(propertySignature.type, getDefaultEq)]);
67
- const makeSubjects = inputs => Effect.gen(function* (_) {
68
- const subjects = {};
69
- for (const [name, make] of propertySignaturesTypes) {
70
- subjects[name] = yield* _(make(inputs[name]));
71
- }
72
- return subjects;
73
- });
74
- const makeFxInputs = input => {
75
- const types = {};
76
- if (_TypeId.RefSubjectTypeId in input || _TypeId.ComputedTypeId in input || _TypeId.FilteredTypeId in input) {
77
- for (const [name] of propertySignaturesTypes) {
78
- types[name] = input.map(o => o[name]);
79
- }
80
- } else {
81
- for (const [name] of propertySignaturesTypes) {
82
- types[name] = (0, _core.map)(input, o => o[name]);
83
- }
84
- }
85
- return types;
86
- };
87
- const makeEffectInputs = input => {
88
- const types = {};
89
- for (const [name] of propertySignaturesTypes) {
90
- types[name] = Effect.map(input, o => o[name]);
91
- }
92
- return types;
93
- };
94
- return makeSchema((input, eq) => (0, _matchers.matchFxInput)(input, {
95
- RefSubject: source => {
96
- return Effect.map(makeSubjects(makeFxInputs(source)), subjects => {
97
- const ref = rebuild(subjects);
98
- return Object.assign(subjects, {
99
- persist: Effect.tap(Effect.matchCauseEffect(ref, source), () => "persist" in source ? source.persist : Effect.unit)
100
- });
101
- });
102
- },
103
- // TODO: Expand
104
- Fx: fx => makeSubjects(makeFxInputs(fx)),
105
- Effect: effect => makeSubjects(makeEffectInputs(effect)),
106
- Cause: cause => makeSubjects(makeEffectInputs(Effect.failCause(cause))),
107
- // Shouldn't really happen, but just in case fallback to default Schema
108
- Iterable: () => defaultSchema()(input, eq),
109
- Otherwise: () => defaultSchema()(input, eq)
110
- }));
111
- }
112
- }
113
- };
114
- function fromRefSubject(source) {
115
- return go(Schema.from(source).ast, ast => SchemaEquivalence.from(Schema.make(ast)));
116
- }
117
- function toRefSubject(source) {
118
- return go(Schema.to(source).ast, ast => SchemaEquivalence.to(Schema.make(ast)));
119
- }
120
- const rebuild = subjects => {
121
- const output = {};
122
- for (const key of Reflect.ownKeys(subjects)) {
123
- const value = subjects[key];
124
- if (_TypeId.RefSubjectTypeId in value) {
125
- output[key] = value;
126
- } else {
127
- output[key] = rebuild(value);
128
- }
129
- }
130
- return (0, _coreRefSubject.struct)(output);
131
- };
132
- //# sourceMappingURL=schema-ref-subject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-ref-subject.js","names":["SchemaEquivalence","_interopRequireWildcard","require","Schema","_effect","Effect","_TypeId","_coreRefSubject","_core","_matchers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","makeSchema","f","memoizeThunk","memoized","Option","none","isNone","some","value","defaultSchema","defaultEq","input","eq","make","go","ast","getDefaultEq","_tag","from","to","type","propertySignatures","length","propertySignaturesTypes","map","propertySignature","name","makeSubjects","inputs","gen","_","subjects","makeFxInputs","types","RefSubjectTypeId","ComputedTypeId","FilteredTypeId","o","makeEffectInputs","matchFxInput","RefSubject","source","ref","rebuild","assign","persist","tap","matchCauseEffect","unit","Fx","fx","effect","Cause","cause","failCause","Iterable","Otherwise","fromRefSubject","toRefSubject","output","key","Reflect","ownKeys","struct"],"sources":["../../../src/internal/schema-ref-subject.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.VersionedTransform = void 0;
7
- var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
8
- var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
9
- var _helpers = /*#__PURE__*/require("./helpers.js");
10
- var _protos = /*#__PURE__*/require("./protos.js");
11
- 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); }
12
- 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; }
13
- class VersionedTransform extends _protos.FxEffectBase {
14
- input;
15
- _transformFx;
16
- _transformGet;
17
- _version = 0;
18
- _currentValue = Option.none();
19
- constructor(input, _transformFx, _transformGet) {
20
- super();
21
- this.input = input;
22
- this._transformFx = _transformFx;
23
- this._transformGet = _transformGet;
24
- }
25
- version = Effect.sync(() => this._version);
26
- toFx() {
27
- return this._transformFx(this.input);
28
- }
29
- toEffect() {
30
- // Use MulticastEffect to ensure at most 1 effect is running at a time
31
- const update = new _helpers.MulticastEffect(Effect.gen(this, function* (_) {
32
- const x = yield* _(this._transformGet(this.input));
33
- this._currentValue = Option.some(x);
34
- this._version = yield* _(this.input.version);
35
- return x;
36
- }));
37
- return Effect.gen(this, function* (_) {
38
- if (Option.isSome(this._currentValue) && (yield* _(this.input.version)) === this._version) {
39
- return this._currentValue.value;
40
- }
41
- return yield* _(update);
42
- });
43
- }
44
- }
45
- exports.VersionedTransform = VersionedTransform;
46
- //# sourceMappingURL=versioned-transform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"versioned-transform.js","names":["Effect","_interopRequireWildcard","require","Option","_helpers","_protos","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","VersionedTransform","FxEffectBase","input","_transformFx","_transformGet","_version","_currentValue","none","constructor","version","sync","toFx","toEffect","update","MulticastEffect","gen","_","x","some","isSome","value","exports"],"sources":["../../../src/internal/versioned-transform.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,106 +0,0 @@
1
- /**
2
- * A Computed is a Subject that has a current value that can be read and observed
3
- * @since 1.18.0
4
- */
5
- import type { Tag } from "@typed/context";
6
- import type { Context, Equivalence, Layer, Runtime } from "effect";
7
- import * as Effect from "effect/Effect";
8
- import * as Option from "effect/Option";
9
- import { Filtered } from "./Filtered.js";
10
- import { type Fx } from "./Fx.js";
11
- import { ComputedTypeId } from "./TypeId.js";
12
- import * as Versioned from "./Versioned.js";
13
- /**
14
- * A Computed is a Subject that has a current value that can be read and observed
15
- * @since 1.18.0
16
- * @category models
17
- */
18
- export interface Computed<out R, out E, out A> extends Versioned.Versioned<R, never, R, E, A, R, E, A> {
19
- readonly [ComputedTypeId]: ComputedTypeId;
20
- /**
21
- * Map the current value of this Computed to a new value using an Effect
22
- * @since 1.18.0
23
- */
24
- readonly mapEffect: <R2, E2, B>(f: (a: A) => Effect.Effect<R2, E2, B>) => Computed<R | R2, E | E2, B>;
25
- /**
26
- * Map the current value of this Computed to a new value
27
- * @since 1.18.0
28
- */
29
- readonly map: <B>(f: (a: A) => B) => Computed<R, E, B>;
30
- /**
31
- * Map the current value of this Filtered to a new value using an Effect
32
- * @since 1.18.0
33
- */
34
- readonly filterMapEffect: <R2, E2, B>(f: (a: A) => Effect.Effect<R2, E2, Option.Option<B>>) => Filtered<R | R2, E | E2, B>;
35
- /**
36
- * Map the current value of this Filtered to a new value
37
- * @since 1.18.0
38
- */
39
- readonly filterMap: <B>(f: (a: A) => Option.Option<B>) => Filtered<R, E, B>;
40
- /**
41
- * Filter the current value of this Filtered to a new value using an Effect
42
- */
43
- readonly filterEffect: <R2, E2>(f: (a: A) => Effect.Effect<R2, E2, boolean>) => Filtered<R | R2, E | E2, A>;
44
- /**
45
- * Filter the current value of this Filtered to a new value
46
- */
47
- readonly filter: (f: (a: A) => boolean) => Filtered<R, E, A>;
48
- /**
49
- * Skip values that match the provided Equivalence instance
50
- */
51
- readonly skipRepeats: (eq?: Equivalence.Equivalence<A>) => Computed<R, E, A>;
52
- }
53
- /**
54
- * Create a Computed from a data type which is an Fx and an Effect.
55
- * @since 1.18.0
56
- */
57
- export declare function Computed<R, E, A, R2, E2, B>(input: Versioned.Versioned<R, never, R, E, A, R, E, A>, f: (a: A) => Effect.Effect<R2, E2, B>): Computed<R | R2, E | E2, B>;
58
- /**
59
- * @since 1.18.0
60
- */
61
- export declare namespace Computed {
62
- /**
63
- * @since 1.18.0
64
- */
65
- type Context<T> = [T] extends [Computed<infer R, infer _E, infer _A>] ? R : never;
66
- /**
67
- * @since 1.18.0
68
- */
69
- type Error<T> = [T] extends [Computed<infer _R, infer E, infer _A>] ? E : never;
70
- /**
71
- * @since 1.18.0
72
- */
73
- type Success<T> = [T] extends [Computed<infer _R, infer _E, infer A>] ? A : never;
74
- }
75
- /**
76
- * @since 1.18.0
77
- */
78
- export declare function combine<const Computeds extends ReadonlyArray<Computed<any, any, any>>>(computeds: Computeds): Computed<Fx.Context<Computeds[keyof Computeds]>, Fx.Error<Computeds[keyof Computeds]>, {
79
- readonly [K in keyof Computeds]: Fx.Success<Computeds[K]>;
80
- }>;
81
- /**
82
- * @since 1.18.0
83
- */
84
- export declare function struct<const Computeds extends Readonly<Record<string, Computed<any, any, any>>>>(computeds: Computeds): Computed<Computed.Context<Computeds[keyof Computeds]>, Computed.Error<Computeds[keyof Computeds]>, {
85
- readonly [K in keyof Computeds]: Computed.Success<Computeds[K]>;
86
- }>;
87
- /**
88
- * @since 1.18.0
89
- */
90
- export declare const fromTag: {
91
- <S, R2, E2, B>(f: (s: S) => Computed<R2, E2, B>): <I>(tag: Tag<I, S>) => Computed<I | R2, E2, B>;
92
- <I, S, R2, E2, B>(tag: Tag<I, S>, f: (s: S) => Computed<R2, E2, B>): Computed<I | R2, E2, B>;
93
- };
94
- /**
95
- * @since 1.18.0
96
- */
97
- export declare const provide: {
98
- <R2, E2, S>(layer: Layer.Layer<R2, E2, S>): <R, E, A>(computed: Computed<R, E, A>) => Computed<R2 | Exclude<R, S>, E | E2, A>;
99
- <S>(runtime: Runtime.Runtime<S>): <R, E, A>(computed: Computed<R, E, A>) => Computed<Exclude<R, S>, E, A>;
100
- <S>(context: Context.Context<S>): <R, E, A>(computed: Computed<R, E, A>) => Computed<Exclude<R, S>, E, A>;
101
- <R2, E2, S>(layer: Layer.Layer<R2, E2, S>): <R, E, A>(computed: Computed<R, E, A>) => Computed<R2 | Exclude<R, S>, E | E2, A>;
102
- <R, E, A, R2, E2, S>(computed: Computed<R, E, A>, layer: Layer.Layer<R2, E2, S>): Computed<R2 | Exclude<R, S>, E | E2, A>;
103
- <R, E, A, S>(computed: Computed<R, E, A>, runtime: Runtime.Runtime<S>): Computed<Exclude<R, S>, E, A>;
104
- <R, E, A, S>(computed: Computed<R, E, A>, context: Context.Context<S>): Computed<Exclude<R, S>, E, A>;
105
- };
106
- //# sourceMappingURL=Computed.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Computed.d.ts","sourceRoot":"","sources":["../../src/Computed.ts"],"names":[],"mappings":"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"}
@@ -1,97 +0,0 @@
1
- /**
2
- * A Filtered is a Subject that has a current value that can be read and observed
3
- * but getting the value might not succeed
4
- * @since 1.18.0
5
- */
6
- import type { Tag } from "@typed/context";
7
- import type { Context, Layer, Runtime } from "effect";
8
- import type * as Cause from "effect/Cause";
9
- import * as Effect from "effect/Effect";
10
- import type { Equivalence } from "effect/Equivalence";
11
- import * as Option from "effect/Option";
12
- import { Computed } from "./Computed.js";
13
- import type * as Fx from "./Fx.js";
14
- import { FilteredTypeId } from "./TypeId.js";
15
- import * as Versioned from "./Versioned.js";
16
- /**
17
- * A Filtered is a Subject that has a current value that can be read and observed
18
- * but getting the value might not succeed
19
- * @since 1.18.0
20
- * @category models
21
- */
22
- export interface Filtered<out R, out E, out A> extends Versioned.Versioned<R, never, R, E, A, R, E | Cause.NoSuchElementException, A> {
23
- readonly [FilteredTypeId]: FilteredTypeId;
24
- /**
25
- * Map the current value of this Filtered to a new value using an Effect
26
- * @since 1.18.0
27
- */
28
- readonly filterMapEffect: <R2, E2, B>(f: (a: A) => Effect.Effect<R2, E2, Option.Option<B>>) => Filtered<R | R2, E | E2, B>;
29
- /**
30
- * Map the current value of this Filtered to a new value
31
- * @since 1.18.0
32
- */
33
- readonly filterMap: <B>(f: (a: A) => Option.Option<B>) => Filtered<R, E, B>;
34
- /**
35
- * Filter the current value of this Filtered to a new value using an Effect
36
- */
37
- readonly filterEffect: <R2, E2>(f: (a: A) => Effect.Effect<R2, E2, boolean>) => Filtered<R | R2, E | E2, A>;
38
- /**
39
- * Filter the current value of this Filtered to a new value
40
- */
41
- readonly filter: (f: (a: A) => boolean) => Filtered<R, E, A>;
42
- /**
43
- * Convert a Filtered back into a Computed of an Option
44
- */
45
- readonly option: Computed<R, E, Option.Option<A>>;
46
- /**
47
- * Map the current value of this Computed to a new value using an Effect
48
- * @since 1.18.0
49
- */
50
- readonly mapEffect: <R2, E2, B>(f: (a: A) => Effect.Effect<R2, E2, B>) => Filtered<R | R2, E | E2, B>;
51
- /**
52
- * Map the current value of this Computed to a new value
53
- * @since 1.18.0
54
- */
55
- readonly map: <B>(f: (a: A) => B) => Filtered<R, E, B>;
56
- /**
57
- * Skip values that match the provided Equivalence instance
58
- */
59
- readonly skipRepeats: (eq?: Equivalence<A>) => Filtered<R, E, A>;
60
- }
61
- /**
62
- * Create a Filtered from a data type which is an Fx and an Effect.
63
- * @since 1.18.0
64
- */
65
- export declare function Filtered<R, E, A, R2, E2, B>(input: Versioned.Versioned<R, never, R, E, A, R, E | Cause.NoSuchElementException, A>, f: (a: A) => Effect.Effect<R2, E2, Option.Option<B>>): Filtered<R | R2, E | E2, B>;
66
- /**
67
- * @since 1.18.0
68
- */
69
- export declare function combine<const Computeds extends ReadonlyArray<Filtered<any, any, any> | Computed<any, any, any>>>(computeds: Computeds): Filtered<Fx.Fx.Context<Computeds[number]>, Fx.Fx.Error<Computeds[number]>, {
70
- readonly [K in keyof Computeds]: Fx.Fx.Success<Computeds[number]>;
71
- }>;
72
- /**
73
- * @since 1.18.0
74
- */
75
- export declare function struct<const Computeds extends Readonly<Record<string, Filtered<any, any, any | Computed<any, any, any>>>>>(computeds: Computeds): Filtered<Fx.Fx.Context<Computeds[keyof Computeds]>, Fx.Fx.Error<Computeds[keyof Computeds]>, {
76
- readonly [K in keyof Computeds]: Fx.Fx.Success<Computeds[K]>;
77
- }>;
78
- /**
79
- * @since 1.18.0
80
- */
81
- export declare const fromTag: {
82
- <S, R2, E2, B>(f: (s: S) => Filtered<R2, E2, B>): <I>(tag: Tag<I, S>) => Filtered<I | R2, E2, B>;
83
- <I, S, R2, E2, B>(tag: Tag<I, S>, f: (s: S) => Filtered<R2, E2, B>): Filtered<I | R2, E2, B>;
84
- };
85
- /**
86
- * @since 1.18.0
87
- */
88
- export declare const provide: {
89
- <R2, E2, S>(layer: Layer.Layer<R2, E2, S>): <R, E, A>(filtered: Filtered<R, E, A>) => Filtered<R2 | Exclude<R, S>, E | E2, A>;
90
- <S>(runtime: Runtime.Runtime<S>): <R, E, A>(filtered: Filtered<R, E, A>) => Filtered<Exclude<R, S>, E, A>;
91
- <S>(context: Context.Context<S>): <R, E, A>(filtered: Filtered<R, E, A>) => Filtered<Exclude<R, S>, E, A>;
92
- <R2, E2, S>(layer: Layer.Layer<R2, E2, S>): <R, E, A>(filtered: Filtered<R, E, A>) => Filtered<R2 | Exclude<R, S>, E | E2, A>;
93
- <R, E, A, R2, E2, S>(filtered: Filtered<R, E, A>, layer: Layer.Layer<R2, E2, S>): Filtered<R2 | Exclude<R, S>, E | E2, A>;
94
- <R, E, A, S>(filtered: Filtered<R, E, A>, runtime: Runtime.Runtime<S>): Filtered<Exclude<R, S>, E, A>;
95
- <R, E, A, S>(filtered: Filtered<R, E, A>, context: Context.Context<S>): Filtered<Exclude<R, S>, E, A>;
96
- };
97
- //# sourceMappingURL=Filtered.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Filtered.d.ts","sourceRoot":"","sources":["../../src/Filtered.ts"],"names":[],"mappings":"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"}
@@ -1,200 +0,0 @@
1
- /**
2
- * @typed/context/Model provides a way to group Refs together into a single Ref
3
- * that is utilized as a single unit from the Effect Context.
4
- * @since 1.18.0
5
- */
6
- import * as Effect from "effect/Effect";
7
- import type { Equivalence } from "effect/Equivalence";
8
- import * as Layer from "effect/Layer";
9
- import * as Option from "effect/Option";
10
- import type { Scope } from "effect/Scope";
11
- import { Computed } from "./Computed.js";
12
- import { Filtered } from "./Filtered.js";
13
- import type { Fx, FxInput } from "./Fx.js";
14
- import type { RefSubject } from "./RefSubject.js";
15
- import type { Versioned } from "./Versioned.js";
16
- /**
17
- * @since 1.18.0
18
- * @category symbols
19
- */
20
- export declare const ModelTypeId: unique symbol;
21
- /**
22
- * @since 1.18.0
23
- * @category symbols
24
- */
25
- export type ModelTypeId = typeof ModelTypeId;
26
- type Any = RefSubject<any, any, any> | RefSubject<any, never, any> | Model<any>;
27
- /**
28
- * A Model is a collection of Refs that can be utilized as a single unit from the Effect Context.
29
- * @since 1.18.0
30
- * @category models
31
- */
32
- export interface Model<Refs extends Readonly<Record<string, Any>>> extends Versioned<Model.Identifier<Refs[keyof Refs]>, never, Model.Identifier<Refs[keyof Refs]>, Model.Error<Refs[keyof Refs]>, {
33
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
34
- }, Model.Identifier<Refs[keyof Refs]>, Model.Error<Refs[keyof Refs]>, {
35
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
36
- }> {
37
- readonly [ModelTypeId]: ModelTypeId;
38
- /**
39
- * A Lens into a Ref from any given model at a particular key.
40
- * @since 1.18.0
41
- */
42
- readonly fromKey: <K extends keyof Refs>(key: K) => Refs[K];
43
- /**
44
- * Get the current state of the Model
45
- * @since 1.18.0
46
- */
47
- readonly get: Effect.Effect<Model.Identifier<Refs[keyof Refs]>, never, {
48
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
49
- }>;
50
- /**
51
- * Set the state of the Model
52
- * @since 1.18.0
53
- */
54
- readonly set: (state: {
55
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
56
- }) => Effect.Effect<Model.Identifier<Refs[keyof Refs]>, never, void>;
57
- /**
58
- * Update the state of the Model
59
- * @since 1.18.0
60
- */
61
- readonly update: (f: (state: {
62
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
63
- }) => {
64
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
65
- }) => Effect.Effect<Model.Identifier<Refs[keyof Refs]>, never, void>;
66
- /**
67
- * Modify the state of the Model and return a value
68
- * @since 1.18.0
69
- */
70
- readonly modify: <B>(f: (state: {
71
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
72
- }) => readonly [
73
- B,
74
- {
75
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
76
- }
77
- ]) => Effect.Effect<Model.Identifier<Refs[keyof Refs]>, never, B>;
78
- /**
79
- * Delete the model's state
80
- */
81
- readonly delete: Effect.Effect<Model.Identifier<Refs[keyof Refs]>, never, Option.Option<{
82
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
83
- }>>;
84
- readonly mapEffect: <R2, E2, B>(f: (state: {
85
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
86
- }) => Effect.Effect<R2, E2, B>) => Computed<Model.Identifier<Refs[keyof Refs]> | R2, Model.Error<Refs[keyof Refs]> | E2, B>;
87
- readonly map: <B>(f: (state: {
88
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
89
- }) => B) => Computed<Model.Identifier<Refs[keyof Refs]>, Model.Error<Refs[keyof Refs]>, B>;
90
- readonly filterMapEffect: <R2, E2, B>(f: (state: {
91
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
92
- }) => Effect.Effect<R2, E2, Option.Option<B>>) => Filtered<Model.Identifier<Refs[keyof Refs]> | R2, Model.Error<Refs[keyof Refs]> | E2, B>;
93
- readonly filterMap: <B>(f: (state: {
94
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
95
- }) => Option.Option<B>) => Filtered<Model.Identifier<Refs[keyof Refs]>, Model.Error<Refs[keyof Refs]>, B>;
96
- readonly filterEffect: <R2, E2>(f: (state: {
97
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
98
- }) => Effect.Effect<R2, E2, boolean>) => Filtered<Model.Identifier<Refs[keyof Refs]> | R2, Model.Error<Refs[keyof Refs]> | E2, {
99
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
100
- }>;
101
- readonly filter: (f: (state: {
102
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
103
- }) => boolean) => Filtered<Model.Identifier<Refs[keyof Refs]>, Model.Error<Refs[keyof Refs]>, {
104
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
105
- }>;
106
- }
107
- /**
108
- * @since 1.18.0
109
- */
110
- export declare namespace Model {
111
- /**
112
- * @since 1.18.0
113
- */
114
- type AnyTagged = RefSubject.Tagged<any, any, any> | RefSubject.Tagged<any, never, any> | Model.Tagged<any>;
115
- /**
116
- * @since 1.18.0
117
- */
118
- interface Tagged<Refs extends Readonly<Record<string, AnyTagged>>> extends Model<Refs> {
119
- /**
120
- * Provide a Model to an Effect
121
- * @since 1.18.0
122
- */
123
- readonly of: (state: {
124
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
125
- }, eqs?: MakeEqivalenceOptions<Refs>) => Layer.Layer<never, never, Model.Identifier<Refs[keyof Refs]>>;
126
- /**
127
- * Construct a Layer to provide a Model to an Effect
128
- * @since 1.18.0
129
- */
130
- readonly fromEffect: <R, E>(effect: Effect.Effect<R, E, {
131
- readonly [K in keyof Refs]: Model.State<Refs[K]>;
132
- }>, eqs?: MakeEqivalenceOptions<Refs>) => Layer.Layer<Exclude<R, Scope>, E, Model.Identifier<Refs[keyof Refs]>>;
133
- /**
134
- * Create a Layer from a Model using the Layers of each Ref
135
- * @since 1.18.0
136
- */
137
- readonly makeWith: <Opts extends {
138
- readonly [K in keyof Refs]: (ref: Refs[K]) => Layer.Layer<any, any, Model.Identifier<Refs[K]>> | Layer.Layer<any, never, Model.Identifier<Refs[K]>>;
139
- }>(options: Opts) => Layer.Layer<Exclude<Layer.Layer.Context<ReturnType<Opts[keyof Refs]>>, Scope>, Layer.Layer.Error<ReturnType<Opts[keyof Refs]>>, Model.Identifier<Refs[keyof Refs]>>;
140
- /**
141
- * Create a Layer from a Model using the Layers of each Ref
142
- * @since 1.18.0
143
- */
144
- readonly make: <Opts extends MakeOptions<Refs>>(options: Opts, eqs?: MakeEqivalenceOptions<Refs>) => Layer.Layer<Exclude<Fx.Context<Opts[keyof Refs]>, Scope>, never, Model.Identifier<Refs[keyof Refs]>>;
145
- }
146
- }
147
- type MakeOptions<Refs extends Readonly<Record<string, Any>>> = {
148
- readonly [K in keyof Refs]: Refs[K] extends Model.Tagged<infer Refs2> ? MakeOptions<Refs2> : Refs[K] extends Model<infer Refs2> ? MakeOptions<Refs2> : FxInput<any, Model.Error<Refs[K]>, Model.State<Refs[K]>>;
149
- };
150
- type MakeEqivalenceOptions<Refs extends Readonly<Record<string, Any>>> = {
151
- readonly [K in keyof Refs]?: Refs[K] extends Model.Tagged<infer Refs2> ? MakeEqivalenceOptions<Refs2> : Refs[K] extends Model<infer Refs2> ? MakeEqivalenceOptions<Refs2> : Equivalence<Model.State<Refs[K]>>;
152
- };
153
- /**
154
- * Create a Model from a collection of Refs.
155
- * @since 1.18.0
156
- * @category constructors
157
- */
158
- export declare function Model<const Refs extends Readonly<Record<string, Any>>>(refs: Refs): Model<Refs>;
159
- /**
160
- * Create a Model from a collection of Refs.
161
- * @since 1.18.0
162
- * @category constructors
163
- */
164
- export declare function tagged<const Refs extends Readonly<Record<string, Model.AnyTagged>>>(refs: Refs): Model.Tagged<Refs>;
165
- /**
166
- * @since 1.18.0
167
- */
168
- export declare namespace Model {
169
- /**
170
- * Extract the Identifier of a Model
171
- * @since 1.18.0
172
- */
173
- type Identifier<T> = T extends RefSubject<infer I, infer _, infer __> ? I : [
174
- T
175
- ] extends [Model.Tagged<infer R>] ? {
176
- readonly [K in keyof R]: Identifier<R[K]>;
177
- }[keyof R] : T extends Model<infer R> ? {
178
- readonly [K in keyof R]: Identifier<R[K]>;
179
- }[keyof R] : never;
180
- /**
181
- * Extract the Error of a Model
182
- * @since 1.18.0
183
- */
184
- type Error<T> = T extends RefSubject<infer _, infer E, infer _> ? E : T extends Model.Tagged<infer R> ? {
185
- readonly [K in keyof R]: Error<R[K]>;
186
- }[keyof R] : T extends Model<infer R> ? {
187
- readonly [K in keyof R]: Error<R[K]>;
188
- }[keyof R] : never;
189
- /**
190
- * Extract the State of a Model
191
- * @since 1.18.0
192
- */
193
- type State<T> = T extends RefSubject<infer _, infer __, infer S> ? S : T extends Model.Tagged<infer R> ? [keyof R] extends [never] ? R : {
194
- readonly [K in keyof R]: State<R[K]>;
195
- } : T extends Model<infer R> ? [keyof R] extends [never] ? R : {
196
- readonly [K in keyof R]: State<R[K]>;
197
- } : never;
198
- }
199
- export {};
200
- //# sourceMappingURL=Model.d.ts.map