@typed/fx 1.18.4 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. package/AsyncData/package.json +6 -0
  2. package/Emitter/package.json +6 -0
  3. package/Form/package.json +6 -0
  4. package/FormEntry/package.json +6 -0
  5. package/Fx/package.json +6 -0
  6. package/Guard/package.json +6 -0
  7. package/Idle/package.json +6 -0
  8. package/Match/package.json +6 -0
  9. package/Pull/package.json +6 -0
  10. package/Push/package.json +6 -0
  11. package/RefArray/package.json +6 -0
  12. package/RefChunk/package.json +6 -0
  13. package/RefHashMap/package.json +6 -0
  14. package/RefHashSet/package.json +6 -0
  15. package/RefSubject/package.json +6 -0
  16. package/Sink/package.json +6 -0
  17. package/Stream/package.json +6 -0
  18. package/Subject/package.json +6 -0
  19. package/TypeId/package.json +6 -0
  20. package/Typeclass/package.json +6 -0
  21. package/Versioned/package.json +6 -0
  22. package/dist/cjs/AsyncData.js +177 -0
  23. package/dist/cjs/AsyncData.js.map +1 -0
  24. package/dist/cjs/Emitter.js +24 -21
  25. package/dist/cjs/Emitter.js.map +1 -1
  26. package/dist/cjs/Form.js +78 -21
  27. package/dist/cjs/Form.js.map +1 -1
  28. package/dist/cjs/FormEntry.js +75 -48
  29. package/dist/cjs/FormEntry.js.map +1 -1
  30. package/dist/cjs/Fx.js +517 -872
  31. package/dist/cjs/Fx.js.map +1 -1
  32. package/dist/cjs/Guard.js +21 -13
  33. package/dist/cjs/Guard.js.map +1 -1
  34. package/dist/cjs/Idle.js +49 -37
  35. package/dist/cjs/Idle.js.map +1 -1
  36. package/dist/cjs/Match.js +99 -61
  37. package/dist/cjs/Match.js.map +1 -1
  38. package/dist/cjs/Pull.js.map +1 -1
  39. package/dist/cjs/Push.js +168 -0
  40. package/dist/cjs/Push.js.map +1 -0
  41. package/dist/cjs/RefArray.js +32 -30
  42. package/dist/cjs/RefArray.js.map +1 -1
  43. package/dist/cjs/RefChunk.js +26 -24
  44. package/dist/cjs/RefChunk.js.map +1 -1
  45. package/dist/cjs/RefHashMap.js +20 -20
  46. package/dist/cjs/RefHashMap.js.map +1 -1
  47. package/dist/cjs/RefHashSet.js +11 -8
  48. package/dist/cjs/RefHashSet.js.map +1 -1
  49. package/dist/cjs/RefSubject.js +899 -158
  50. package/dist/cjs/RefSubject.js.map +1 -1
  51. package/dist/cjs/Sink.js +588 -62
  52. package/dist/cjs/Sink.js.map +1 -1
  53. package/dist/cjs/Stream.js +15 -10
  54. package/dist/cjs/Stream.js.map +1 -1
  55. package/dist/cjs/Subject.js +153 -55
  56. package/dist/cjs/Subject.js.map +1 -1
  57. package/dist/cjs/TypeId.js +10 -5
  58. package/dist/cjs/TypeId.js.map +1 -1
  59. package/dist/cjs/Typeclass.js +28 -31
  60. package/dist/cjs/Typeclass.js.map +1 -1
  61. package/dist/cjs/Versioned.js +118 -57
  62. package/dist/cjs/Versioned.js.map +1 -1
  63. package/dist/cjs/index.js +44 -8
  64. package/dist/cjs/index.js.map +1 -1
  65. package/dist/cjs/internal/{deferred-ref.js → DeferredRef.js} +45 -13
  66. package/dist/cjs/internal/DeferredRef.js.map +1 -0
  67. package/dist/cjs/internal/UnionToTuple.js +6 -0
  68. package/dist/cjs/internal/UnionToTuple.js.map +1 -0
  69. package/dist/cjs/internal/core.js +1590 -779
  70. package/dist/cjs/internal/core.js.map +1 -1
  71. package/dist/cjs/internal/diff.js +114 -0
  72. package/dist/cjs/internal/diff.js.map +1 -0
  73. package/dist/cjs/internal/effect-loop-operator.js +288 -0
  74. package/dist/cjs/internal/effect-loop-operator.js.map +1 -0
  75. package/dist/cjs/internal/effect-operator.js +46 -37
  76. package/dist/cjs/internal/effect-operator.js.map +1 -1
  77. package/dist/cjs/internal/effect-producer.js +74 -0
  78. package/dist/cjs/internal/effect-producer.js.map +1 -0
  79. package/dist/cjs/internal/helpers.js +158 -128
  80. package/dist/cjs/internal/helpers.js.map +1 -1
  81. package/dist/cjs/internal/keyed.js +136 -173
  82. package/dist/cjs/internal/keyed.js.map +1 -1
  83. package/dist/cjs/internal/loop-operator.js +213 -0
  84. package/dist/cjs/internal/loop-operator.js.map +1 -0
  85. package/dist/cjs/internal/operator.js +79 -0
  86. package/dist/cjs/internal/operator.js.map +1 -0
  87. package/dist/cjs/internal/protos.js +19 -81
  88. package/dist/cjs/internal/protos.js.map +1 -1
  89. package/dist/cjs/internal/provide.js +47 -25
  90. package/dist/cjs/internal/provide.js.map +1 -1
  91. package/dist/cjs/internal/requestIdleCallback.js +5 -5
  92. package/dist/cjs/internal/requestIdleCallback.js.map +1 -1
  93. package/dist/cjs/internal/share.js +12 -15
  94. package/dist/cjs/internal/share.js.map +1 -1
  95. package/dist/cjs/internal/sync-operator.js +50 -22
  96. package/dist/cjs/internal/sync-operator.js.map +1 -1
  97. package/dist/cjs/internal/sync-producer.js +114 -0
  98. package/dist/cjs/internal/sync-producer.js.map +1 -0
  99. package/dist/cjs/internal/withKey.js +45 -51
  100. package/dist/cjs/internal/withKey.js.map +1 -1
  101. package/dist/dts/AsyncData.d.ts +185 -0
  102. package/dist/dts/AsyncData.d.ts.map +1 -0
  103. package/dist/dts/Emitter.d.ts +13 -20
  104. package/dist/dts/Emitter.d.ts.map +1 -1
  105. package/dist/dts/Form.d.ts +45 -28
  106. package/dist/dts/Form.d.ts.map +1 -1
  107. package/dist/dts/FormEntry.d.ts +25 -13
  108. package/dist/dts/FormEntry.d.ts.map +1 -1
  109. package/dist/dts/Fx.d.ts +983 -1387
  110. package/dist/dts/Fx.d.ts.map +1 -1
  111. package/dist/dts/Guard.d.ts +8 -1
  112. package/dist/dts/Guard.d.ts.map +1 -1
  113. package/dist/dts/Idle.d.ts +3 -3
  114. package/dist/dts/Idle.d.ts.map +1 -1
  115. package/dist/dts/Match.d.ts +8 -8
  116. package/dist/dts/Match.d.ts.map +1 -1
  117. package/dist/dts/Pull.d.ts +5 -5
  118. package/dist/dts/Pull.d.ts.map +1 -1
  119. package/dist/dts/Push.d.ts +170 -0
  120. package/dist/dts/Push.d.ts.map +1 -0
  121. package/dist/dts/RefArray.d.ts +21 -23
  122. package/dist/dts/RefArray.d.ts.map +1 -1
  123. package/dist/dts/RefChunk.d.ts +17 -19
  124. package/dist/dts/RefChunk.d.ts.map +1 -1
  125. package/dist/dts/RefHashMap.d.ts +19 -20
  126. package/dist/dts/RefHashMap.d.ts.map +1 -1
  127. package/dist/dts/RefHashSet.d.ts +12 -16
  128. package/dist/dts/RefHashSet.d.ts.map +1 -1
  129. package/dist/dts/RefSubject.d.ts +396 -187
  130. package/dist/dts/RefSubject.d.ts.map +1 -1
  131. package/dist/dts/Sink.d.ts +193 -93
  132. package/dist/dts/Sink.d.ts.map +1 -1
  133. package/dist/dts/Stream.d.ts +7 -1
  134. package/dist/dts/Stream.d.ts.map +1 -1
  135. package/dist/dts/Subject.d.ts +27 -36
  136. package/dist/dts/Subject.d.ts.map +1 -1
  137. package/dist/dts/TypeId.d.ts +10 -0
  138. package/dist/dts/TypeId.d.ts.map +1 -1
  139. package/dist/dts/Typeclass.d.ts +2 -2
  140. package/dist/dts/Typeclass.d.ts.map +1 -1
  141. package/dist/dts/Versioned.d.ts +50 -78
  142. package/dist/dts/Versioned.d.ts.map +1 -1
  143. package/dist/dts/index.d.ts +66 -6
  144. package/dist/dts/index.d.ts.map +1 -1
  145. package/dist/dts/internal/DeferredRef.d.ts +20 -0
  146. package/dist/dts/internal/DeferredRef.d.ts.map +1 -0
  147. package/dist/dts/internal/UnionToTuple.d.ts +6 -0
  148. package/dist/dts/internal/UnionToTuple.d.ts.map +1 -0
  149. package/dist/dts/internal/core.d.ts +218 -450
  150. package/dist/dts/internal/core.d.ts.map +1 -1
  151. package/dist/dts/internal/diff.d.ts +38 -0
  152. package/dist/dts/internal/diff.d.ts.map +1 -0
  153. package/dist/dts/internal/effect-loop-operator.d.ts +34 -0
  154. package/dist/dts/internal/effect-loop-operator.d.ts.map +1 -0
  155. package/dist/dts/internal/effect-operator.d.ts +8 -5
  156. package/dist/dts/internal/effect-operator.d.ts.map +1 -1
  157. package/dist/dts/internal/effect-producer.d.ts +25 -0
  158. package/dist/dts/internal/effect-producer.d.ts.map +1 -0
  159. package/dist/dts/internal/helpers.d.ts +33 -24
  160. package/dist/dts/internal/helpers.d.ts.map +1 -1
  161. package/dist/dts/internal/keyed.d.ts +3 -3
  162. package/dist/dts/internal/keyed.d.ts.map +1 -1
  163. package/dist/dts/internal/loop-operator.d.ts +40 -0
  164. package/dist/dts/internal/loop-operator.d.ts.map +1 -0
  165. package/dist/dts/internal/operator.d.ts +16 -0
  166. package/dist/dts/internal/operator.d.ts.map +1 -0
  167. package/dist/dts/internal/protos.d.ts +16 -43
  168. package/dist/dts/internal/protos.d.ts.map +1 -1
  169. package/dist/dts/internal/provide.d.ts +7 -1
  170. package/dist/dts/internal/provide.d.ts.map +1 -1
  171. package/dist/dts/internal/share.d.ts +12 -9
  172. package/dist/dts/internal/share.d.ts.map +1 -1
  173. package/dist/dts/internal/sync-operator.d.ts +7 -3
  174. package/dist/dts/internal/sync-operator.d.ts.map +1 -1
  175. package/dist/dts/internal/sync-producer.d.ts +36 -0
  176. package/dist/dts/internal/sync-producer.d.ts.map +1 -0
  177. package/dist/dts/internal/withKey.d.ts +3 -3
  178. package/dist/dts/internal/withKey.d.ts.map +1 -1
  179. package/dist/esm/AsyncData.js +151 -0
  180. package/dist/esm/AsyncData.js.map +1 -0
  181. package/dist/esm/Emitter.js +24 -21
  182. package/dist/esm/Emitter.js.map +1 -1
  183. package/dist/esm/Form.js +69 -14
  184. package/dist/esm/Form.js.map +1 -1
  185. package/dist/esm/FormEntry.js +77 -52
  186. package/dist/esm/FormEntry.js.map +1 -1
  187. package/dist/esm/Fx.js +509 -874
  188. package/dist/esm/Fx.js.map +1 -1
  189. package/dist/esm/Guard.js +5 -1
  190. package/dist/esm/Guard.js.map +1 -1
  191. package/dist/esm/Idle.js +49 -39
  192. package/dist/esm/Idle.js.map +1 -1
  193. package/dist/esm/Match.js +103 -63
  194. package/dist/esm/Match.js.map +1 -1
  195. package/dist/esm/Pull.js.map +1 -1
  196. package/dist/esm/Push.js +159 -0
  197. package/dist/esm/Push.js.map +1 -0
  198. package/dist/esm/RefArray.js +32 -30
  199. package/dist/esm/RefArray.js.map +1 -1
  200. package/dist/esm/RefChunk.js +26 -24
  201. package/dist/esm/RefChunk.js.map +1 -1
  202. package/dist/esm/RefHashMap.js +20 -20
  203. package/dist/esm/RefHashMap.js.map +1 -1
  204. package/dist/esm/RefHashSet.js +11 -8
  205. package/dist/esm/RefHashSet.js.map +1 -1
  206. package/dist/esm/RefSubject.js +873 -150
  207. package/dist/esm/RefSubject.js.map +1 -1
  208. package/dist/esm/Sink.js +608 -57
  209. package/dist/esm/Sink.js.map +1 -1
  210. package/dist/esm/Stream.js +13 -9
  211. package/dist/esm/Stream.js.map +1 -1
  212. package/dist/esm/Subject.js +151 -56
  213. package/dist/esm/Subject.js.map +1 -1
  214. package/dist/esm/TypeId.js +9 -4
  215. package/dist/esm/TypeId.js.map +1 -1
  216. package/dist/esm/Typeclass.js +29 -29
  217. package/dist/esm/Typeclass.js.map +1 -1
  218. package/dist/esm/Versioned.js +110 -53
  219. package/dist/esm/Versioned.js.map +1 -1
  220. package/dist/esm/index.js +66 -6
  221. package/dist/esm/index.js.map +1 -1
  222. package/dist/esm/internal/DeferredRef.js +54 -0
  223. package/dist/esm/internal/DeferredRef.js.map +1 -0
  224. package/dist/esm/internal/UnionToTuple.js +2 -0
  225. package/dist/esm/internal/UnionToTuple.js.map +1 -0
  226. package/dist/esm/internal/core.js +1439 -719
  227. package/dist/esm/internal/core.js.map +1 -1
  228. package/dist/esm/internal/diff.js +82 -0
  229. package/dist/esm/internal/diff.js.map +1 -0
  230. package/dist/esm/internal/effect-loop-operator.js +269 -0
  231. package/dist/esm/internal/effect-loop-operator.js.map +1 -0
  232. package/dist/esm/internal/effect-operator.js +44 -37
  233. package/dist/esm/internal/effect-operator.js.map +1 -1
  234. package/dist/esm/internal/effect-producer.js +47 -0
  235. package/dist/esm/internal/effect-producer.js.map +1 -0
  236. package/dist/esm/internal/helpers.js +157 -129
  237. package/dist/esm/internal/helpers.js.map +1 -1
  238. package/dist/esm/internal/keyed.js +128 -139
  239. package/dist/esm/internal/keyed.js.map +1 -1
  240. package/dist/esm/internal/loop-operator.js +186 -0
  241. package/dist/esm/internal/loop-operator.js.map +1 -0
  242. package/dist/esm/internal/operator.js +68 -0
  243. package/dist/esm/internal/operator.js.map +1 -0
  244. package/dist/esm/internal/protos.js +16 -75
  245. package/dist/esm/internal/protos.js.map +1 -1
  246. package/dist/esm/internal/provide.js +33 -25
  247. package/dist/esm/internal/provide.js.map +1 -1
  248. package/dist/esm/internal/requestIdleCallback.js +5 -5
  249. package/dist/esm/internal/requestIdleCallback.js.map +1 -1
  250. package/dist/esm/internal/share.js +12 -12
  251. package/dist/esm/internal/share.js.map +1 -1
  252. package/dist/esm/internal/sync-operator.js +49 -21
  253. package/dist/esm/internal/sync-operator.js.map +1 -1
  254. package/dist/esm/internal/sync-producer.js +88 -0
  255. package/dist/esm/internal/sync-producer.js.map +1 -0
  256. package/dist/esm/internal/withKey.js +46 -47
  257. package/dist/esm/internal/withKey.js.map +1 -1
  258. package/package.json +22 -62
  259. package/src/AsyncData.ts +447 -0
  260. package/src/Emitter.ts +47 -38
  261. package/src/Form.ts +185 -65
  262. package/src/FormEntry.ts +142 -109
  263. package/src/Fx.ts +1685 -1851
  264. package/src/Guard.ts +12 -1
  265. package/src/Idle.ts +76 -62
  266. package/src/Match.ts +149 -93
  267. package/src/Pull.ts +8 -8
  268. package/src/Push.ts +472 -0
  269. package/src/RefArray.ts +53 -51
  270. package/src/RefChunk.ts +44 -41
  271. package/src/RefHashMap.ts +57 -43
  272. package/src/RefHashSet.ts +21 -31
  273. package/src/RefSubject.ts +1984 -457
  274. package/src/Sink.ts +922 -171
  275. package/src/Stream.ts +32 -20
  276. package/src/Subject.ts +230 -87
  277. package/src/TypeId.ts +16 -4
  278. package/src/Typeclass.ts +31 -32
  279. package/src/Versioned.ts +220 -168
  280. package/src/index.ts +78 -6
  281. package/src/internal/DeferredRef.ts +62 -0
  282. package/src/internal/UnionToTuple.ts +11 -0
  283. package/src/internal/core.ts +2491 -1950
  284. package/src/internal/diff.ts +157 -0
  285. package/src/internal/effect-loop-operator.ts +466 -0
  286. package/src/internal/effect-operator.ts +89 -54
  287. package/src/internal/effect-producer.ts +125 -0
  288. package/src/internal/helpers.ts +275 -205
  289. package/src/internal/keyed.ts +192 -241
  290. package/src/internal/loop-operator.ts +266 -0
  291. package/src/internal/operator.ts +87 -0
  292. package/src/internal/protos.ts +29 -104
  293. package/src/internal/provide.ts +48 -40
  294. package/src/internal/requestIdleCallback.ts +5 -6
  295. package/src/internal/share.ts +26 -24
  296. package/src/internal/sync-operator.ts +68 -27
  297. package/src/internal/sync-producer.ts +146 -0
  298. package/src/internal/withKey.ts +64 -74
  299. package/dist/cjs/Computed.js +0 -115
  300. package/dist/cjs/Computed.js.map +0 -1
  301. package/dist/cjs/Filtered.js +0 -95
  302. package/dist/cjs/Filtered.js.map +0 -1
  303. package/dist/cjs/Model.js +0 -119
  304. package/dist/cjs/Model.js.map +0 -1
  305. package/dist/cjs/RefAsyncData.js +0 -187
  306. package/dist/cjs/RefAsyncData.js.map +0 -1
  307. package/dist/cjs/RefAsyncDataArray.js +0 -38
  308. package/dist/cjs/RefAsyncDataArray.js.map +0 -1
  309. package/dist/cjs/RefBoolean.js +0 -45
  310. package/dist/cjs/RefBoolean.js.map +0 -1
  311. package/dist/cjs/RefNumber.js +0 -49
  312. package/dist/cjs/RefNumber.js.map +0 -1
  313. package/dist/cjs/internal/core-ref-subject.js +0 -254
  314. package/dist/cjs/internal/core-ref-subject.js.map +0 -1
  315. package/dist/cjs/internal/core-subject.js +0 -108
  316. package/dist/cjs/internal/core-subject.js.map +0 -1
  317. package/dist/cjs/internal/deferred-ref.js.map +0 -1
  318. package/dist/cjs/internal/effect-primitive.js +0 -47
  319. package/dist/cjs/internal/effect-primitive.js.map +0 -1
  320. package/dist/cjs/internal/fx-effect-proto.js +0 -58
  321. package/dist/cjs/internal/fx-effect-proto.js.map +0 -1
  322. package/dist/cjs/internal/fx-primitive.js +0 -193
  323. package/dist/cjs/internal/fx-primitive.js.map +0 -1
  324. package/dist/cjs/internal/fx.js +0 -240
  325. package/dist/cjs/internal/fx.js.map +0 -1
  326. package/dist/cjs/internal/matchers.js +0 -34
  327. package/dist/cjs/internal/matchers.js.map +0 -1
  328. package/dist/cjs/internal/run.js +0 -54
  329. package/dist/cjs/internal/run.js.map +0 -1
  330. package/dist/cjs/internal/schema-ref-subject.js +0 -132
  331. package/dist/cjs/internal/schema-ref-subject.js.map +0 -1
  332. package/dist/cjs/internal/versioned-transform.js +0 -46
  333. package/dist/cjs/internal/versioned-transform.js.map +0 -1
  334. package/dist/dts/Computed.d.ts +0 -106
  335. package/dist/dts/Computed.d.ts.map +0 -1
  336. package/dist/dts/Filtered.d.ts +0 -97
  337. package/dist/dts/Filtered.d.ts.map +0 -1
  338. package/dist/dts/Model.d.ts +0 -200
  339. package/dist/dts/Model.d.ts.map +0 -1
  340. package/dist/dts/RefAsyncData.d.ts +0 -236
  341. package/dist/dts/RefAsyncData.d.ts.map +0 -1
  342. package/dist/dts/RefAsyncDataArray.d.ts +0 -56
  343. package/dist/dts/RefAsyncDataArray.d.ts.map +0 -1
  344. package/dist/dts/RefBoolean.d.ts +0 -47
  345. package/dist/dts/RefBoolean.d.ts.map +0 -1
  346. package/dist/dts/RefNumber.d.ts +0 -48
  347. package/dist/dts/RefNumber.d.ts.map +0 -1
  348. package/dist/dts/internal/core-ref-subject.d.ts +0 -100
  349. package/dist/dts/internal/core-ref-subject.d.ts.map +0 -1
  350. package/dist/dts/internal/core-subject.d.ts +0 -5
  351. package/dist/dts/internal/core-subject.d.ts.map +0 -1
  352. package/dist/dts/internal/deferred-ref.d.ts +0 -12
  353. package/dist/dts/internal/deferred-ref.d.ts.map +0 -1
  354. package/dist/dts/internal/effect-primitive.d.ts +0 -6
  355. package/dist/dts/internal/effect-primitive.d.ts.map +0 -1
  356. package/dist/dts/internal/fx-effect-proto.d.ts +0 -30
  357. package/dist/dts/internal/fx-effect-proto.d.ts.map +0 -1
  358. package/dist/dts/internal/fx-primitive.d.ts +0 -109
  359. package/dist/dts/internal/fx-primitive.d.ts.map +0 -1
  360. package/dist/dts/internal/fx.d.ts +0 -245
  361. package/dist/dts/internal/fx.d.ts.map +0 -1
  362. package/dist/dts/internal/matchers.d.ts +0 -33
  363. package/dist/dts/internal/matchers.d.ts.map +0 -1
  364. package/dist/dts/internal/run.d.ts +0 -8
  365. package/dist/dts/internal/run.d.ts.map +0 -1
  366. package/dist/dts/internal/schema-ref-subject.d.ts +0 -5
  367. package/dist/dts/internal/schema-ref-subject.d.ts.map +0 -1
  368. package/dist/dts/internal/versioned-transform.d.ts +0 -17
  369. package/dist/dts/internal/versioned-transform.d.ts.map +0 -1
  370. package/dist/esm/Computed.js +0 -103
  371. package/dist/esm/Computed.js.map +0 -1
  372. package/dist/esm/Filtered.js +0 -83
  373. package/dist/esm/Filtered.js.map +0 -1
  374. package/dist/esm/Model.js +0 -100
  375. package/dist/esm/Model.js.map +0 -1
  376. package/dist/esm/RefAsyncData.js +0 -163
  377. package/dist/esm/RefAsyncData.js.map +0 -1
  378. package/dist/esm/RefAsyncDataArray.js +0 -27
  379. package/dist/esm/RefAsyncDataArray.js.map +0 -1
  380. package/dist/esm/RefBoolean.js +0 -31
  381. package/dist/esm/RefBoolean.js.map +0 -1
  382. package/dist/esm/RefNumber.js +0 -35
  383. package/dist/esm/RefNumber.js.map +0 -1
  384. package/dist/esm/internal/core-ref-subject.js +0 -242
  385. package/dist/esm/internal/core-ref-subject.js.map +0 -1
  386. package/dist/esm/internal/core-subject.js +0 -90
  387. package/dist/esm/internal/core-subject.js.map +0 -1
  388. package/dist/esm/internal/deferred-ref.js +0 -23
  389. package/dist/esm/internal/deferred-ref.js.map +0 -1
  390. package/dist/esm/internal/effect-primitive.js +0 -41
  391. package/dist/esm/internal/effect-primitive.js.map +0 -1
  392. package/dist/esm/internal/fx-effect-proto.js +0 -43
  393. package/dist/esm/internal/fx-effect-proto.js.map +0 -1
  394. package/dist/esm/internal/fx-primitive.js +0 -175
  395. package/dist/esm/internal/fx-primitive.js.map +0 -1
  396. package/dist/esm/internal/fx.js +0 -216
  397. package/dist/esm/internal/fx.js.map +0 -1
  398. package/dist/esm/internal/matchers.js +0 -38
  399. package/dist/esm/internal/matchers.js.map +0 -1
  400. package/dist/esm/internal/run.js +0 -32
  401. package/dist/esm/internal/run.js.map +0 -1
  402. package/dist/esm/internal/schema-ref-subject.js +0 -121
  403. package/dist/esm/internal/schema-ref-subject.js.map +0 -1
  404. package/dist/esm/internal/versioned-transform.js +0 -37
  405. package/dist/esm/internal/versioned-transform.js.map +0 -1
  406. package/src/Computed.ts +0 -289
  407. package/src/Filtered.ts +0 -274
  408. package/src/Model.ts +0 -483
  409. package/src/RefAsyncData.ts +0 -547
  410. package/src/RefAsyncDataArray.ts +0 -135
  411. package/src/RefBoolean.ts +0 -71
  412. package/src/RefNumber.ts +0 -77
  413. package/src/internal/core-ref-subject.ts +0 -528
  414. package/src/internal/core-subject.ts +0 -143
  415. package/src/internal/deferred-ref.ts +0 -26
  416. package/src/internal/effect-primitive.ts +0 -230
  417. package/src/internal/fx-effect-proto.ts +0 -56
  418. package/src/internal/fx-primitive.ts +0 -223
  419. package/src/internal/fx.ts +0 -619
  420. package/src/internal/matchers.ts +0 -83
  421. package/src/internal/run.ts +0 -51
  422. package/src/internal/schema-ref-subject.ts +0 -163
  423. package/src/internal/versioned-transform.ts +0 -48
package/src/RefArray.ts CHANGED
@@ -12,8 +12,6 @@ import * as Option from "effect/Option"
12
12
  import type * as Order from "effect/Order"
13
13
  import * as ReadonlyArray from "effect/ReadonlyArray"
14
14
  import type * as Scope from "effect/Scope"
15
- import type * as Computed from "./Computed.js"
16
- import type * as Filtered from "./Filtered.js"
17
15
  import type * as Fx from "./Fx.js"
18
16
  import * as RefSubject from "./RefSubject.js"
19
17
 
@@ -39,12 +37,14 @@ export function make<R, E, A>(
39
37
  ): Effect.Effect<R | Scope.Scope, never, RefArray<never, E, A>>
40
38
 
41
39
  export function make<R, E, A>(
42
- initial: Fx.FxInput<R, E, ReadonlyArray<A>>,
40
+ initial: Effect.Effect<R, E, ReadonlyArray<A>> | Fx.Fx<R, E, ReadonlyArray<A>>,
43
41
  eq: Equivalence<A> = equals
44
42
  ): Effect.Effect<R | Scope.Scope, never, RefArray<never, E, A>> {
45
43
  return RefSubject.make(
46
44
  initial,
47
- ReadonlyArray.getEquivalence(eq)
45
+ {
46
+ eq: ReadonlyArray.getEquivalence(eq)
47
+ }
48
48
  )
49
49
  }
50
50
 
@@ -94,7 +94,7 @@ export const prepend: {
94
94
  <A>(value: A): <R, E>(ref: RefArray<R, E, A>) => Effect.Effect<R, E, ReadonlyArray<A>>
95
95
  <R, E, A>(ref: RefArray<R, E, A>, value: A): Effect.Effect<R, E, ReadonlyArray<A>>
96
96
  } = dual(2, function prepend<R, E, A>(ref: RefArray<R, E, A>, value: A) {
97
- return ref.update(ReadonlyArray.prepend(value))
97
+ return RefSubject.update(ref, ReadonlyArray.prepend(value))
98
98
  })
99
99
 
100
100
  /**
@@ -108,7 +108,7 @@ export const prependAll: {
108
108
  } = dual(
109
109
  2,
110
110
  function prependAll<R, E, A>(ref: RefArray<R, E, A>, value: Iterable<A>) {
111
- return ref.update(ReadonlyArray.prependAll(value))
111
+ return RefSubject.update(ref, ReadonlyArray.prependAll(value))
112
112
  }
113
113
  )
114
114
 
@@ -121,7 +121,7 @@ export const append: {
121
121
  <A>(value: A): <R, E>(ref: RefArray<R, E, A>) => Effect.Effect<R, E, ReadonlyArray<A>>
122
122
  <R, E, A>(ref: RefArray<R, E, A>, value: A): Effect.Effect<R, E, ReadonlyArray<A>>
123
123
  } = dual(2, function append<R, E, A>(ref: RefArray<R, E, A>, value: A) {
124
- return ref.update(ReadonlyArray.append(value))
124
+ return RefSubject.update(ref, ReadonlyArray.append(value))
125
125
  })
126
126
 
127
127
  /**
@@ -135,7 +135,7 @@ export const appendAll: {
135
135
  ): <R, E>(ref: RefArray<R, E, A>) => Effect.Effect<R, E, ReadonlyArray<A>>
136
136
  <R, E, A>(ref: RefArray<R, E, A>, value: Iterable<A>): Effect.Effect<R, E, ReadonlyArray<A>>
137
137
  } = dual(2, function appendAll<R, E, A>(ref: RefArray<R, E, A>, value: Iterable<A>) {
138
- return ref.update(ReadonlyArray.appendAll(value))
138
+ return RefSubject.update(ref, ReadonlyArray.appendAll(value))
139
139
  })
140
140
 
141
141
  /**
@@ -147,7 +147,7 @@ export const drop: {
147
147
  (n: number): <R, E, A>(ref: RefArray<R, E, A>) => Effect.Effect<R, E, ReadonlyArray<A>>
148
148
  <R, E, A>(ref: RefArray<R, E, A>, n: number): Effect.Effect<R, E, ReadonlyArray<A>>
149
149
  } = dual(2, function drop<R, E, A>(ref: RefArray<R, E, A>, n: number) {
150
- return ref.update(ReadonlyArray.drop(n))
150
+ return RefSubject.update(ref, ReadonlyArray.drop(n))
151
151
  })
152
152
 
153
153
  /**
@@ -159,7 +159,7 @@ export const dropRight: {
159
159
  (n: number): <R, E, A>(ref: RefArray<R, E, A>) => Effect.Effect<R, E, ReadonlyArray<A>>
160
160
  <R, E, A>(ref: RefArray<R, E, A>, n: number): Effect.Effect<R, E, ReadonlyArray<A>>
161
161
  } = dual(2, function dropRight<R, E, A>(ref: RefArray<R, E, A>, n: number) {
162
- return ref.update(ReadonlyArray.dropRight(n))
162
+ return RefSubject.update(ref, ReadonlyArray.dropRight(n))
163
163
  })
164
164
 
165
165
  /**
@@ -178,7 +178,7 @@ export const dropWhile: {
178
178
  } = dual(
179
179
  2,
180
180
  function dropWhile<R, E, A>(ref: RefArray<R, E, A>, predicate: (a: unknown) => boolean) {
181
- return ref.update(ReadonlyArray.dropWhile(predicate))
181
+ return RefSubject.update(ref, ReadonlyArray.dropWhile(predicate))
182
182
  }
183
183
  )
184
184
 
@@ -190,13 +190,13 @@ export const dropWhile: {
190
190
  export const filterValues: {
191
191
  <A>(
192
192
  predicate: (a: A) => boolean
193
- ): <R, E>(ref: RefArray<R, E, A>) => Computed.Computed<R, E, ReadonlyArray<A>>
193
+ ): <R, E>(ref: RefArray<R, E, A>) => RefSubject.Computed<R, E, ReadonlyArray<A>>
194
194
  <R, E, A>(
195
195
  ref: RefArray<R, E, A>,
196
196
  predicate: (a: A) => boolean
197
- ): Computed.Computed<R, E, ReadonlyArray<A>>
197
+ ): RefSubject.Computed<R, E, ReadonlyArray<A>>
198
198
  } = dual(2, function filterValues<R, E, A>(ref: RefArray<R, E, A>, predicate: (a: A) => boolean) {
199
- return ref.map(ReadonlyArray.filter(predicate))
199
+ return RefSubject.map(ref, ReadonlyArray.filter(predicate))
200
200
  })
201
201
 
202
202
  /**
@@ -205,10 +205,10 @@ export const filterValues: {
205
205
  * @category filtered
206
206
  */
207
207
  export const getIndex: {
208
- (index: number): <R, E, A>(ref: RefArray<R, E, A>) => Filtered.Filtered<R, E, A>
209
- <R, E, A>(ref: RefArray<R, E, A>, index: number): Filtered.Filtered<R, E, A>
208
+ (index: number): <R, E, A>(ref: RefArray<R, E, A>) => RefSubject.Filtered<R, E, A>
209
+ <R, E, A>(ref: RefArray<R, E, A>, index: number): RefSubject.Filtered<R, E, A>
210
210
  } = dual(2, function getIndex<R, E, A>(ref: RefArray<R, E, A>, index: number) {
211
- return ref.filterMap(ReadonlyArray.get(index))
211
+ return RefSubject.filterMap(ref, ReadonlyArray.get(index))
212
212
  })
213
213
 
214
214
  /**
@@ -221,13 +221,13 @@ export const groupBy: {
221
221
  f: (a: A) => string
222
222
  ): <R, E>(
223
223
  ref: RefArray<R, E, A>
224
- ) => Computed.Computed<R, E, Record<string, ReadonlyArray<A>>>
224
+ ) => RefSubject.Computed<R, E, Record<string, ReadonlyArray<A>>>
225
225
  <R, E, A>(
226
226
  ref: RefArray<R, E, A>,
227
227
  f: (a: A) => string
228
- ): Computed.Computed<R, E, Record<string, ReadonlyArray<A>>>
228
+ ): RefSubject.Computed<R, E, Record<string, ReadonlyArray<A>>>
229
229
  } = dual(2, function groupBy<R, E, A>(ref: RefArray<R, E, A>, f: (a: A) => string) {
230
- return ref.map(ReadonlyArray.groupBy(f))
230
+ return RefSubject.map(ref, ReadonlyArray.groupBy(f))
231
231
  })
232
232
 
233
233
  /**
@@ -246,7 +246,7 @@ export const insertAt: {
246
246
  a: A
247
247
  ): Effect.Effect<R, E, ReadonlyArray<A>>
248
248
  } = dual(3, function insertAt<R, E, A>(ref: RefArray<R, E, A>, index: number, a: A) {
249
- return ref.update((as) => Option.getOrElse(ReadonlyArray.insertAt(as, index, a), () => [...as, a]))
249
+ return RefSubject.update(ref, (as) => Option.getOrElse(ReadonlyArray.insertAt(as, index, a), () => [...as, a]))
250
250
  })
251
251
 
252
252
  /**
@@ -254,8 +254,8 @@ export const insertAt: {
254
254
  * @since 1.18.0
255
255
  * @category computed
256
256
  */
257
- export const isEmpty = <R, E, A>(ref: RefArray<R, E, A>): Computed.Computed<R, E, boolean> =>
258
- ref.map(ReadonlyArray.isEmptyReadonlyArray)
257
+ export const isEmpty = <R, E, A>(ref: RefArray<R, E, A>): RefSubject.Computed<R, E, boolean> =>
258
+ RefSubject.map(ref, ReadonlyArray.isEmptyReadonlyArray)
259
259
 
260
260
  /**
261
261
  * Check to see if a RefArray is non-empty.
@@ -264,15 +264,15 @@ export const isEmpty = <R, E, A>(ref: RefArray<R, E, A>): Computed.Computed<R, E
264
264
  */
265
265
  export const isNonEmpty = <R, E, A>(
266
266
  ref: RefArray<R, E, A>
267
- ): Computed.Computed<R, E, boolean> => ref.map(ReadonlyArray.isNonEmptyReadonlyArray)
267
+ ): RefSubject.Computed<R, E, boolean> => RefSubject.map(ref, ReadonlyArray.isNonEmptyReadonlyArray)
268
268
 
269
269
  /**
270
270
  * Get the current length of a RefArray.
271
271
  * @since 1.18.0
272
272
  * @category computed
273
273
  */
274
- export const length = <R, E, A>(ref: RefArray<R, E, A>): Computed.Computed<R, E, number> =>
275
- ref.map(ReadonlyArray.length)
274
+ export const length = <R, E, A>(ref: RefArray<R, E, A>): RefSubject.Computed<R, E, number> =>
275
+ RefSubject.map(ref, ReadonlyArray.length)
276
276
 
277
277
  /**
278
278
  * Map (Endomorphic) the values of a RefArray.
@@ -282,13 +282,13 @@ export const length = <R, E, A>(ref: RefArray<R, E, A>): Computed.Computed<R, E,
282
282
  export const map: {
283
283
  <A>(
284
284
  f: (a: A, index: number) => A
285
- ): <R, E>(ref: RefArray<R, E, A>) => Computed.Computed<R, E, ReadonlyArray<A>>
285
+ ): <R, E>(ref: RefArray<R, E, A>) => RefSubject.Computed<R, E, ReadonlyArray<A>>
286
286
  <R, E, A>(
287
287
  ref: RefArray<R, E, A>,
288
288
  f: (a: A, index: number) => A
289
- ): Computed.Computed<R, E, ReadonlyArray<A>>
289
+ ): RefSubject.Computed<R, E, ReadonlyArray<A>>
290
290
  } = dual(2, function mapValues<R, E, A>(ref: RefArray<R, E, A>, f: (a: A, index: number) => A) {
291
- return ref.update(ReadonlyArray.map(f))
291
+ return RefSubject.update(ref, ReadonlyArray.map(f))
292
292
  })
293
293
 
294
294
  /**
@@ -299,15 +299,15 @@ export const map: {
299
299
  export const mapValues: {
300
300
  <A, B>(
301
301
  f: (a: A, index: number) => B
302
- ): <R, E>(ref: RefArray<R, E, A>) => Computed.Computed<R, E, ReadonlyArray<B>>
302
+ ): <R, E>(ref: RefArray<R, E, A>) => RefSubject.Computed<R, E, ReadonlyArray<B>>
303
303
  <R, E, A, B>(
304
304
  ref: RefArray<R, E, A>,
305
305
  f: (a: A, index: number) => B
306
- ): Computed.Computed<R, E, ReadonlyArray<B>>
306
+ ): RefSubject.Computed<R, E, ReadonlyArray<B>>
307
307
  } = dual(
308
308
  2,
309
309
  function mapValues<R, E, A, B>(ref: RefArray<R, E, A>, f: (a: A, index: number) => B) {
310
- return ref.map(ReadonlyArray.map(f))
310
+ return RefSubject.map(ref, ReadonlyArray.map(f))
311
311
  }
312
312
  )
313
313
 
@@ -327,7 +327,7 @@ export const modifyAt: {
327
327
  f: (a: A) => A
328
328
  ): Effect.Effect<R, E, ReadonlyArray<A>>
329
329
  } = dual(3, function modifyAt<R, E, A>(ref: RefArray<R, E, A>, index: number, f: (a: A) => A) {
330
- return ref.update(ReadonlyArray.modify(index, f))
330
+ return RefSubject.update(ref, ReadonlyArray.modify(index, f))
331
331
  })
332
332
 
333
333
  /**
@@ -340,14 +340,14 @@ export const partition: {
340
340
  predicate: (a: A) => a is B
341
341
  ): <R, E>(
342
342
  ref: RefArray<R, E, A>
343
- ) => Computed.Computed<R, E, readonly [ReadonlyArray<B>, ReadonlyArray<A>]>
344
- <R, E, A>(ref: RefArray<R, E, A>, predicate: (a: A) => boolean): Computed.Computed<
343
+ ) => RefSubject.Computed<R, E, readonly [ReadonlyArray<B>, ReadonlyArray<A>]>
344
+ <R, E, A>(ref: RefArray<R, E, A>, predicate: (a: A) => boolean): RefSubject.Computed<
345
345
  never,
346
346
  E,
347
347
  readonly [ReadonlyArray<A>, ReadonlyArray<A>]
348
348
  >
349
349
  } = dual(2, function partition<R, E, A>(ref: RefArray<R, E, A>, predicate: (a: A) => boolean) {
350
- return ref.map(ReadonlyArray.partition(predicate))
350
+ return RefSubject.map(ref, ReadonlyArray.partition(predicate))
351
351
  })
352
352
 
353
353
  /**
@@ -359,16 +359,16 @@ export const reduce: {
359
359
  <A, B>(
360
360
  b: B,
361
361
  f: (b: B, a: A, index: number) => B
362
- ): <R, E>(ref: RefArray<R, E, A>) => Computed.Computed<R, E, B>
362
+ ): <R, E>(ref: RefArray<R, E, A>) => RefSubject.Computed<R, E, B>
363
363
  <R, E, A, B>(
364
364
  ref: RefArray<R, E, A>,
365
365
  b: B,
366
366
  f: (b: B, a: A, index: number) => B
367
- ): Computed.Computed<R, E, B>
367
+ ): RefSubject.Computed<R, E, B>
368
368
  } = dual(
369
369
  3,
370
370
  function reduce<R, E, A, B>(ref: RefArray<R, E, A>, b: B, f: (b: B, a: A, index: number) => B) {
371
- return ref.map(ReadonlyArray.reduce(b, f))
371
+ return RefSubject.map(ref, ReadonlyArray.reduce(b, f))
372
372
  }
373
373
  )
374
374
 
@@ -381,12 +381,12 @@ export const reduceRight: {
381
381
  <A, B>(
382
382
  b: B,
383
383
  f: (b: B, a: A, index: number) => B
384
- ): <R, E>(ref: RefArray<R, E, A>) => Computed.Computed<R, E, B>
384
+ ): <R, E>(ref: RefArray<R, E, A>) => RefSubject.Computed<R, E, B>
385
385
  <R, E, A, B>(
386
386
  ref: RefArray<R, E, A>,
387
387
  b: B,
388
388
  f: (b: B, a: A, index: number) => B
389
- ): Computed.Computed<R, E, B>
389
+ ): RefSubject.Computed<R, E, B>
390
390
  } = dual(
391
391
  3,
392
392
  function reduceRight<R, E, A, B>(
@@ -394,7 +394,7 @@ export const reduceRight: {
394
394
  b: B,
395
395
  f: (b: B, a: A, index: number) => B
396
396
  ) {
397
- return ref.map(ReadonlyArray.reduceRight(b, f))
397
+ return RefSubject.map(ref, ReadonlyArray.reduceRight(b, f))
398
398
  }
399
399
  )
400
400
 
@@ -414,7 +414,7 @@ export const replaceAt: {
414
414
  a: A
415
415
  ): Effect.Effect<R, E, ReadonlyArray<A>>
416
416
  } = dual(3, function replaceAt<R, E, A>(ref: RefArray<R, E, A>, index: number, a: A) {
417
- return ref.update(ReadonlyArray.replace(index, a))
417
+ return RefSubject.update(ref, ReadonlyArray.replace(index, a))
418
418
  })
419
419
 
420
420
  /**
@@ -426,7 +426,7 @@ export const rotate: {
426
426
  (n: number): <R, E, A>(ref: RefArray<R, E, A>) => Effect.Effect<R, E, ReadonlyArray<A>>
427
427
  <R, E, A>(ref: RefArray<R, E, A>, n: number): Effect.Effect<R, E, ReadonlyArray<A>>
428
428
  } = dual(2, function rotate<R, E, A>(ref: RefArray<R, E, A>, n: number) {
429
- return ref.update(ReadonlyArray.rotate(n))
429
+ return RefSubject.update(ref, ReadonlyArray.rotate(n))
430
430
  })
431
431
 
432
432
  /**
@@ -443,7 +443,7 @@ export const sortBy: {
443
443
  orders: Iterable<Order.Order<A>>
444
444
  ): Effect.Effect<R, E, ReadonlyArray<A>>
445
445
  } = dual(2, function sortBy<R, E, A>(ref: RefArray<R, E, A>, orders: Iterable<Order.Order<A>>) {
446
- return ref.update(ReadonlyArray.sortBy(...orders))
446
+ return RefSubject.update(ref, ReadonlyArray.sortBy(...orders))
447
447
  })
448
448
 
449
449
  /**
@@ -455,7 +455,7 @@ export const take: {
455
455
  (n: number): <R, E, A>(ref: RefArray<R, E, A>) => Effect.Effect<R, E, ReadonlyArray<A>>
456
456
  <R, E, A>(ref: RefArray<R, E, A>, n: number): Effect.Effect<R, E, ReadonlyArray<A>>
457
457
  } = dual(2, function take<R, E, A>(ref: RefArray<R, E, A>, n: number) {
458
- return ref.update(ReadonlyArray.take(n))
458
+ return RefSubject.update(ref, ReadonlyArray.take(n))
459
459
  })
460
460
 
461
461
  /**
@@ -467,7 +467,7 @@ export const takeRight: {
467
467
  (n: number): <R, E, A>(ref: RefArray<R, E, A>) => Effect.Effect<R, E, ReadonlyArray<A>>
468
468
  <R, E, A>(ref: RefArray<R, E, A>, n: number): Effect.Effect<R, E, ReadonlyArray<A>>
469
469
  } = dual(2, function takeRight<R, E, A>(ref: RefArray<R, E, A>, n: number) {
470
- return ref.update(ReadonlyArray.takeRight(n))
470
+ return RefSubject.update(ref, ReadonlyArray.takeRight(n))
471
471
  })
472
472
 
473
473
  /**
@@ -486,7 +486,7 @@ export const takeWhile: {
486
486
  } = dual(
487
487
  2,
488
488
  function takeWhile<R, E, A>(ref: RefArray<R, E, A>, predicate: (a: unknown) => boolean) {
489
- return ref.update(ReadonlyArray.takeWhile(predicate))
489
+ return RefSubject.update(ref, ReadonlyArray.takeWhile(predicate))
490
490
  }
491
491
  )
492
492
 
@@ -497,14 +497,16 @@ export const takeWhile: {
497
497
  */
498
498
  export const dedupeWith =
499
499
  <A>(valueEq: Equivalence<A>) => <R, E>(ref: RefArray<R, E, A>): Effect.Effect<R, E, ReadonlyArray<A>> =>
500
- ref.update(ReadonlyArray.dedupeWith(valueEq))
500
+ RefSubject.update(ref, ReadonlyArray.dedupeWith(valueEq))
501
501
 
502
502
  /**
503
503
  * @since 1.18.0
504
504
  */
505
- export const last = <R, E, A>(ref: RefArray<R, E, A>): Filtered.Filtered<R, E, A> => ref.filterMap(ReadonlyArray.last)
505
+ export const last = <R, E, A>(ref: RefArray<R, E, A>): RefSubject.Filtered<R, E, A> =>
506
+ RefSubject.filterMap(ref, ReadonlyArray.last)
506
507
 
507
508
  /**
508
509
  * @since 1.18.0
509
510
  */
510
- export const head = <R, E, A>(ref: RefArray<R, E, A>): Filtered.Filtered<R, E, A> => ref.filterMap(ReadonlyArray.head)
511
+ export const head = <R, E, A>(ref: RefArray<R, E, A>): RefSubject.Filtered<R, E, A> =>
512
+ RefSubject.filterMap(ref, ReadonlyArray.head)
package/src/RefChunk.ts CHANGED
@@ -10,8 +10,6 @@ import { equals } from "effect/Equal"
10
10
  import type { Equivalence } from "effect/Equivalence"
11
11
  import { dual } from "effect/Function"
12
12
  import type * as Scope from "effect/Scope"
13
- import type * as Computed from "./Computed.js"
14
- import type * as Filtered from "./Filtered.js"
15
13
  import type * as Fx from "./Fx.js"
16
14
  import * as RefSubject from "./RefSubject.js"
17
15
 
@@ -37,12 +35,14 @@ export function make<R, E, A>(
37
35
  ): Effect.Effect<R | Scope.Scope, never, RefChunk<never, E, A>>
38
36
 
39
37
  export function make<R, E, A>(
40
- initial: Fx.FxInput<R, E, Chunk.Chunk<A>>,
38
+ initial: Fx.Fx<R, E, Chunk.Chunk<A>> | Effect.Effect<R, E, Chunk.Chunk<A>>,
41
39
  eq: Equivalence<A> = equals
42
40
  ): Effect.Effect<R | Scope.Scope, never, RefChunk<never, E, A>> {
43
41
  return RefSubject.make(
44
42
  initial,
45
- Chunk.getEquivalence(eq)
43
+ {
44
+ eq: Chunk.getEquivalence(eq)
45
+ }
46
46
  )
47
47
  }
48
48
 
@@ -68,7 +68,7 @@ export const prepend: {
68
68
  <A>(value: A): <R, E>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
69
69
  <R, E, A>(ref: RefChunk<R, E, A>, value: A): Effect.Effect<R, E, Chunk.Chunk<A>>
70
70
  } = dual(2, function prepend<R, E, A>(ref: RefChunk<R, E, A>, value: A) {
71
- return ref.update(Chunk.prepend(value))
71
+ return RefSubject.update(ref, Chunk.prepend(value))
72
72
  })
73
73
 
74
74
  /**
@@ -82,7 +82,7 @@ export const prependAll: {
82
82
  } = dual(
83
83
  2,
84
84
  function prependAll<R, E, A>(ref: RefChunk<R, E, A>, value: Iterable<A>) {
85
- return ref.update(Chunk.prependAll(Chunk.fromIterable(value)))
85
+ return RefSubject.update(ref, Chunk.prependAll(Chunk.fromIterable(value)))
86
86
  }
87
87
  )
88
88
 
@@ -95,7 +95,7 @@ export const append: {
95
95
  <A>(value: A): <R, E>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
96
96
  <R, E, A>(ref: RefChunk<R, E, A>, value: A): Effect.Effect<R, E, Chunk.Chunk<A>>
97
97
  } = dual(2, function append<R, E, A>(ref: RefChunk<R, E, A>, value: A) {
98
- return ref.update(Chunk.append(value))
98
+ return RefSubject.update(ref, Chunk.append(value))
99
99
  })
100
100
 
101
101
  /**
@@ -109,7 +109,7 @@ export const appendAll: {
109
109
  ): <R, E>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
110
110
  <R, E, A>(ref: RefChunk<R, E, A>, value: Iterable<A>): Effect.Effect<R, E, Chunk.Chunk<A>>
111
111
  } = dual(2, function appendAll<R, E, A>(ref: RefChunk<R, E, A>, value: Iterable<A>) {
112
- return ref.update(Chunk.appendAll(Chunk.fromIterable(value)))
112
+ return RefSubject.update(ref, Chunk.appendAll(Chunk.fromIterable(value)))
113
113
  })
114
114
 
115
115
  /**
@@ -121,7 +121,7 @@ export const drop: {
121
121
  (n: number): <R, E, A>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
122
122
  <R, E, A>(ref: RefChunk<R, E, A>, n: number): Effect.Effect<R, E, Chunk.Chunk<A>>
123
123
  } = dual(2, function drop<R, E, A>(ref: RefChunk<R, E, A>, n: number) {
124
- return ref.update(Chunk.drop(n))
124
+ return RefSubject.update(ref, Chunk.drop(n))
125
125
  })
126
126
 
127
127
  /**
@@ -133,7 +133,7 @@ export const dropRight: {
133
133
  (n: number): <R, E, A>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
134
134
  <R, E, A>(ref: RefChunk<R, E, A>, n: number): Effect.Effect<R, E, Chunk.Chunk<A>>
135
135
  } = dual(2, function dropRight<R, E, A>(ref: RefChunk<R, E, A>, n: number) {
136
- return ref.update(Chunk.dropRight(n))
136
+ return RefSubject.update(ref, Chunk.dropRight(n))
137
137
  })
138
138
 
139
139
  /**
@@ -152,7 +152,7 @@ export const dropWhile: {
152
152
  } = dual(
153
153
  2,
154
154
  function dropWhile<R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean) {
155
- return ref.update(Chunk.dropWhile(predicate))
155
+ return RefSubject.update(ref, Chunk.dropWhile(predicate))
156
156
  }
157
157
  )
158
158
 
@@ -164,13 +164,13 @@ export const dropWhile: {
164
164
  export const filterValues: {
165
165
  <A>(
166
166
  predicate: (a: A) => boolean
167
- ): <R, E>(ref: RefChunk<R, E, A>) => Computed.Computed<R, E, Chunk.Chunk<A>>
167
+ ): <R, E>(ref: RefChunk<R, E, A>) => RefSubject.Computed<R, E, Chunk.Chunk<A>>
168
168
  <R, E, A>(
169
169
  ref: RefChunk<R, E, A>,
170
170
  predicate: (a: A) => boolean
171
- ): Computed.Computed<R, E, Chunk.Chunk<A>>
171
+ ): RefSubject.Computed<R, E, Chunk.Chunk<A>>
172
172
  } = dual(2, function filterValues<R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean) {
173
- return ref.map(Chunk.filter(predicate))
173
+ return RefSubject.map(ref, Chunk.filter(predicate))
174
174
  })
175
175
 
176
176
  /**
@@ -179,10 +179,10 @@ export const filterValues: {
179
179
  * @category filtered
180
180
  */
181
181
  export const getIndex: {
182
- (index: number): <R, E, A>(ref: RefChunk<R, E, A>) => Filtered.Filtered<R, E, A>
183
- <R, E, A>(ref: RefChunk<R, E, A>, index: number): Filtered.Filtered<R, E, A>
182
+ (index: number): <R, E, A>(ref: RefChunk<R, E, A>) => RefSubject.Filtered<R, E, A>
183
+ <R, E, A>(ref: RefChunk<R, E, A>, index: number): RefSubject.Filtered<R, E, A>
184
184
  } = dual(2, function getIndex<R, E, A>(ref: RefChunk<R, E, A>, index: number) {
185
- return ref.filterMap(Chunk.get(index))
185
+ return RefSubject.filterMap(ref, Chunk.get(index))
186
186
  })
187
187
 
188
188
  /**
@@ -190,7 +190,8 @@ export const getIndex: {
190
190
  * @since 1.18.0
191
191
  * @category computed
192
192
  */
193
- export const isEmpty = <R, E, A>(ref: RefChunk<R, E, A>): Computed.Computed<R, E, boolean> => ref.map(Chunk.isEmpty)
193
+ export const isEmpty = <R, E, A>(ref: RefChunk<R, E, A>): RefSubject.Computed<R, E, boolean> =>
194
+ RefSubject.map(ref, Chunk.isEmpty)
194
195
 
195
196
  /**
196
197
  * Check to see if a RefChunk is non-empty.
@@ -199,14 +200,15 @@ export const isEmpty = <R, E, A>(ref: RefChunk<R, E, A>): Computed.Computed<R, E
199
200
  */
200
201
  export const isNonEmpty = <R, E, A>(
201
202
  ref: RefChunk<R, E, A>
202
- ): Computed.Computed<R, E, boolean> => ref.map(Chunk.isNonEmpty)
203
+ ): RefSubject.Computed<R, E, boolean> => RefSubject.map(ref, Chunk.isNonEmpty)
203
204
 
204
205
  /**
205
206
  * Get the current length of a RefChunk.
206
207
  * @since 1.18.0
207
208
  * @category computed
208
209
  */
209
- export const size = <R, E, A>(ref: RefChunk<R, E, A>): Computed.Computed<R, E, number> => ref.map(Chunk.size)
210
+ export const size = <R, E, A>(ref: RefChunk<R, E, A>): RefSubject.Computed<R, E, number> =>
211
+ RefSubject.map(ref, Chunk.size)
210
212
 
211
213
  /**
212
214
  * Map (Endomorphic) the values of a RefChunk.
@@ -216,13 +218,13 @@ export const size = <R, E, A>(ref: RefChunk<R, E, A>): Computed.Computed<R, E, n
216
218
  export const map: {
217
219
  <A>(
218
220
  f: (a: A, index: number) => A
219
- ): <R, E>(ref: RefChunk<R, E, A>) => Computed.Computed<R, E, Chunk.Chunk<A>>
221
+ ): <R, E>(ref: RefChunk<R, E, A>) => RefSubject.Computed<R, E, Chunk.Chunk<A>>
220
222
  <R, E, A>(
221
223
  ref: RefChunk<R, E, A>,
222
224
  f: (a: A, index: number) => A
223
- ): Computed.Computed<R, E, Chunk.Chunk<A>>
225
+ ): RefSubject.Computed<R, E, Chunk.Chunk<A>>
224
226
  } = dual(2, function mapValues<R, E, A>(ref: RefChunk<R, E, A>, f: (a: A, index: number) => A) {
225
- return ref.update(Chunk.map(f))
227
+ return RefSubject.update(ref, Chunk.map(f))
226
228
  })
227
229
 
228
230
  /**
@@ -233,15 +235,15 @@ export const map: {
233
235
  export const mapValues: {
234
236
  <A, B>(
235
237
  f: (a: A, index: number) => B
236
- ): <R, E>(ref: RefChunk<R, E, A>) => Computed.Computed<R, E, ReadonlyArray<B>>
238
+ ): <R, E>(ref: RefChunk<R, E, A>) => RefSubject.Computed<R, E, ReadonlyArray<B>>
237
239
  <R, E, A, B>(
238
240
  ref: RefChunk<R, E, A>,
239
241
  f: (a: A, index: number) => B
240
- ): Computed.Computed<R, E, ReadonlyArray<B>>
242
+ ): RefSubject.Computed<R, E, ReadonlyArray<B>>
241
243
  } = dual(
242
244
  2,
243
245
  function mapValues<R, E, A, B>(ref: RefChunk<R, E, A>, f: (a: A, index: number) => B) {
244
- return ref.map(Chunk.map(f))
246
+ return RefSubject.map(ref, Chunk.map(f))
245
247
  }
246
248
  )
247
249
 
@@ -261,7 +263,7 @@ export const modifyAt: {
261
263
  f: (a: A) => A
262
264
  ): Effect.Effect<R, E, Chunk.Chunk<A>>
263
265
  } = dual(3, function modifyAt<R, E, A>(ref: RefChunk<R, E, A>, index: number, f: (a: A) => A) {
264
- return ref.update(Chunk.modify(index, f))
266
+ return RefSubject.update(ref, Chunk.modify(index, f))
265
267
  })
266
268
 
267
269
  /**
@@ -274,14 +276,14 @@ export const partition: {
274
276
  predicate: (a: A) => a is B
275
277
  ): <R, E>(
276
278
  ref: RefChunk<R, E, A>
277
- ) => Computed.Computed<R, E, readonly [ReadonlyArray<B>, Chunk.Chunk<A>]>
278
- <R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean): Computed.Computed<
279
+ ) => RefSubject.Computed<R, E, readonly [ReadonlyArray<B>, Chunk.Chunk<A>]>
280
+ <R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean): RefSubject.Computed<
279
281
  never,
280
282
  E,
281
283
  readonly [Chunk.Chunk<A>, Chunk.Chunk<A>]
282
284
  >
283
285
  } = dual(2, function partition<R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean) {
284
- return ref.map(Chunk.partition(predicate))
286
+ return RefSubject.map(ref, Chunk.partition(predicate))
285
287
  })
286
288
 
287
289
  /**
@@ -293,16 +295,16 @@ export const reduce: {
293
295
  <A, B>(
294
296
  b: B,
295
297
  f: (b: B, a: A, index: number) => B
296
- ): <R, E>(ref: RefChunk<R, E, A>) => Computed.Computed<R, E, B>
298
+ ): <R, E>(ref: RefChunk<R, E, A>) => RefSubject.Computed<R, E, B>
297
299
  <R, E, A, B>(
298
300
  ref: RefChunk<R, E, A>,
299
301
  b: B,
300
302
  f: (b: B, a: A, index: number) => B
301
- ): Computed.Computed<R, E, B>
303
+ ): RefSubject.Computed<R, E, B>
302
304
  } = dual(
303
305
  3,
304
306
  function reduce<R, E, A, B>(ref: RefChunk<R, E, A>, b: B, f: (b: B, a: A, index: number) => B) {
305
- return ref.map(Chunk.reduce(b, f))
307
+ return RefSubject.map(ref, Chunk.reduce(b, f))
306
308
  }
307
309
  )
308
310
 
@@ -315,12 +317,12 @@ export const reduceRight: {
315
317
  <A, B>(
316
318
  b: B,
317
319
  f: (b: B, a: A, index: number) => B
318
- ): <R, E>(ref: RefChunk<R, E, A>) => Computed.Computed<R, E, B>
320
+ ): <R, E>(ref: RefChunk<R, E, A>) => RefSubject.Computed<R, E, B>
319
321
  <R, E, A, B>(
320
322
  ref: RefChunk<R, E, A>,
321
323
  b: B,
322
324
  f: (b: B, a: A, index: number) => B
323
- ): Computed.Computed<R, E, B>
325
+ ): RefSubject.Computed<R, E, B>
324
326
  } = dual(
325
327
  3,
326
328
  function reduceRight<R, E, A, B>(
@@ -328,7 +330,7 @@ export const reduceRight: {
328
330
  b: B,
329
331
  f: (b: B, a: A, index: number) => B
330
332
  ) {
331
- return ref.map(Chunk.reduceRight(b, f))
333
+ return RefSubject.map(ref, Chunk.reduceRight(b, f))
332
334
  }
333
335
  )
334
336
 
@@ -348,7 +350,7 @@ export const replaceAt: {
348
350
  a: A
349
351
  ): Effect.Effect<R, E, Chunk.Chunk<A>>
350
352
  } = dual(3, function replaceAt<R, E, A>(ref: RefChunk<R, E, A>, index: number, a: A) {
351
- return ref.update(Chunk.replace(index, a))
353
+ return RefSubject.update(ref, Chunk.replace(index, a))
352
354
  })
353
355
 
354
356
  /**
@@ -360,7 +362,7 @@ export const take: {
360
362
  (n: number): <R, E, A>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
361
363
  <R, E, A>(ref: RefChunk<R, E, A>, n: number): Effect.Effect<R, E, Chunk.Chunk<A>>
362
364
  } = dual(2, function take<R, E, A>(ref: RefChunk<R, E, A>, n: number) {
363
- return ref.update(Chunk.take(n))
365
+ return RefSubject.update(ref, Chunk.take(n))
364
366
  })
365
367
 
366
368
  /**
@@ -372,7 +374,7 @@ export const takeRight: {
372
374
  (n: number): <R, E, A>(ref: RefChunk<R, E, A>) => Effect.Effect<R, E, Chunk.Chunk<A>>
373
375
  <R, E, A>(ref: RefChunk<R, E, A>, n: number): Effect.Effect<R, E, Chunk.Chunk<A>>
374
376
  } = dual(2, function takeRight<R, E, A>(ref: RefChunk<R, E, A>, n: number) {
375
- return ref.update(Chunk.takeRight(n))
377
+ return RefSubject.update(ref, Chunk.takeRight(n))
376
378
  })
377
379
 
378
380
  /**
@@ -391,7 +393,7 @@ export const takeWhile: {
391
393
  } = dual(
392
394
  2,
393
395
  function takeWhile<R, E, A>(ref: RefChunk<R, E, A>, predicate: (a: A) => boolean) {
394
- return ref.update(Chunk.takeWhile(predicate))
396
+ return RefSubject.update(ref, Chunk.takeWhile(predicate))
395
397
  }
396
398
  )
397
399
 
@@ -400,4 +402,5 @@ export const takeWhile: {
400
402
  * @since 1.18.0
401
403
  * @category combinators
402
404
  */
403
- export const dedupe = <R, E, A>(ref: RefChunk<R, E, A>): Effect.Effect<R, E, Chunk.Chunk<A>> => ref.update(Chunk.dedupe)
405
+ export const dedupe = <R, E, A>(ref: RefChunk<R, E, A>): Effect.Effect<R, E, Chunk.Chunk<A>> =>
406
+ RefSubject.update(ref, Chunk.dedupe)