effect 2.3.7 → 2.4.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 (422) hide show
  1. package/dist/cjs/BigDecimal.js +1 -1
  2. package/dist/cjs/BigDecimal.js.map +1 -1
  3. package/dist/cjs/BigInt.js +14 -1
  4. package/dist/cjs/BigInt.js.map +1 -1
  5. package/dist/cjs/Chunk.js +1 -1
  6. package/dist/cjs/Chunk.js.map +1 -1
  7. package/dist/cjs/Cron.js +1 -1
  8. package/dist/cjs/Cron.js.map +1 -1
  9. package/dist/cjs/Duration.js +1 -1
  10. package/dist/cjs/Duration.js.map +1 -1
  11. package/dist/cjs/Effect.js +16 -61
  12. package/dist/cjs/Effect.js.map +1 -1
  13. package/dist/cjs/Either.js +35 -6
  14. package/dist/cjs/Either.js.map +1 -1
  15. package/dist/cjs/Equal.js +1 -1
  16. package/dist/cjs/Equal.js.map +1 -1
  17. package/dist/cjs/Exit.js +1 -1
  18. package/dist/cjs/FiberMap.js.map +1 -1
  19. package/dist/cjs/Hash.js +29 -1
  20. package/dist/cjs/Hash.js.map +1 -1
  21. package/dist/cjs/List.js +3 -2
  22. package/dist/cjs/List.js.map +1 -1
  23. package/dist/cjs/Number.js +25 -1
  24. package/dist/cjs/Number.js.map +1 -1
  25. package/dist/cjs/ReadonlyArray.js +2 -2
  26. package/dist/cjs/ReadonlyArray.js.map +1 -1
  27. package/dist/cjs/ReadonlyRecord.js +71 -76
  28. package/dist/cjs/ReadonlyRecord.js.map +1 -1
  29. package/dist/cjs/STM.js.map +1 -1
  30. package/dist/cjs/Schedule.js.map +1 -1
  31. package/dist/cjs/Sink.js.map +1 -1
  32. package/dist/cjs/SortedMap.js +1 -1
  33. package/dist/cjs/SortedMap.js.map +1 -1
  34. package/dist/cjs/SortedSet.js +1 -1
  35. package/dist/cjs/SortedSet.js.map +1 -1
  36. package/dist/cjs/Stream.js +3 -23
  37. package/dist/cjs/Stream.js.map +1 -1
  38. package/dist/cjs/Struct.js +3 -1
  39. package/dist/cjs/Struct.js.map +1 -1
  40. package/dist/cjs/TestAnnotation.js +1 -1
  41. package/dist/cjs/TestAnnotation.js.map +1 -1
  42. package/dist/cjs/internal/cache.js +1 -1
  43. package/dist/cjs/internal/cache.js.map +1 -1
  44. package/dist/cjs/internal/cause.js +1 -1
  45. package/dist/cjs/internal/cause.js.map +1 -1
  46. package/dist/cjs/internal/channel/channelExecutor.js +5 -5
  47. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  48. package/dist/cjs/internal/channel/channelState.js +5 -5
  49. package/dist/cjs/internal/channel/channelState.js.map +1 -1
  50. package/dist/cjs/internal/channel.js.map +1 -1
  51. package/dist/cjs/internal/clock.js +3 -4
  52. package/dist/cjs/internal/clock.js.map +1 -1
  53. package/dist/cjs/internal/context.js +1 -1
  54. package/dist/cjs/internal/context.js.map +1 -1
  55. package/dist/cjs/internal/core-effect.js +6 -23
  56. package/dist/cjs/internal/core-effect.js.map +1 -1
  57. package/dist/cjs/internal/core.js +15 -31
  58. package/dist/cjs/internal/core.js.map +1 -1
  59. package/dist/cjs/internal/data.js +1 -1
  60. package/dist/cjs/internal/data.js.map +1 -1
  61. package/dist/cjs/internal/effect/circular.js +5 -6
  62. package/dist/cjs/internal/effect/circular.js.map +1 -1
  63. package/dist/cjs/internal/effectable.js +2 -2
  64. package/dist/cjs/internal/effectable.js.map +1 -1
  65. package/dist/cjs/internal/either.js +1 -1
  66. package/dist/cjs/internal/either.js.map +1 -1
  67. package/dist/cjs/internal/fiberId.js +2 -9
  68. package/dist/cjs/internal/fiberId.js.map +1 -1
  69. package/dist/cjs/internal/fiberStatus.js +4 -3
  70. package/dist/cjs/internal/fiberStatus.js.map +1 -1
  71. package/dist/cjs/internal/groupBy.js.map +1 -1
  72. package/dist/cjs/internal/hashMap.js +1 -1
  73. package/dist/cjs/internal/hashMap.js.map +1 -1
  74. package/dist/cjs/internal/hashSet.js +1 -1
  75. package/dist/cjs/internal/hashSet.js.map +1 -1
  76. package/dist/cjs/internal/keyedPool.js +2 -2
  77. package/dist/cjs/internal/keyedPool.js.map +1 -1
  78. package/dist/cjs/internal/layer.js +0 -2
  79. package/dist/cjs/internal/layer.js.map +1 -1
  80. package/dist/cjs/internal/metric/keyType.js +4 -4
  81. package/dist/cjs/internal/metric/keyType.js.map +1 -1
  82. package/dist/cjs/internal/metric/state.js +5 -9
  83. package/dist/cjs/internal/metric/state.js.map +1 -1
  84. package/dist/cjs/internal/option.js +1 -1
  85. package/dist/cjs/internal/option.js.map +1 -1
  86. package/dist/cjs/internal/pool.js +1 -1
  87. package/dist/cjs/internal/pool.js.map +1 -1
  88. package/dist/cjs/internal/redBlackTree.js +1 -1
  89. package/dist/cjs/internal/redBlackTree.js.map +1 -1
  90. package/dist/cjs/internal/runtime.js +12 -1
  91. package/dist/cjs/internal/runtime.js.map +1 -1
  92. package/dist/cjs/internal/schedule.js +4 -4
  93. package/dist/cjs/internal/schedule.js.map +1 -1
  94. package/dist/cjs/internal/secret.js +1 -1
  95. package/dist/cjs/internal/secret.js.map +1 -1
  96. package/dist/cjs/internal/sink.js +0 -2
  97. package/dist/cjs/internal/sink.js.map +1 -1
  98. package/dist/cjs/internal/stm/core.js +1 -1
  99. package/dist/cjs/internal/stm/core.js.map +1 -1
  100. package/dist/cjs/internal/stm/stm/stmState.js +6 -4
  101. package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
  102. package/dist/cjs/internal/stm/stm/tExit.js +7 -6
  103. package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
  104. package/dist/cjs/internal/stm/stm.js +1 -0
  105. package/dist/cjs/internal/stm/stm.js.map +1 -1
  106. package/dist/cjs/internal/stream.js +51 -64
  107. package/dist/cjs/internal/stream.js.map +1 -1
  108. package/dist/cjs/internal/trie.js +1 -1
  109. package/dist/cjs/internal/trie.js.map +1 -1
  110. package/dist/cjs/internal/version.js +1 -1
  111. package/dist/dts/BigDecimal.d.ts.map +1 -1
  112. package/dist/dts/BigInt.d.ts +7 -0
  113. package/dist/dts/BigInt.d.ts.map +1 -1
  114. package/dist/dts/Brand.d.ts +1 -1
  115. package/dist/dts/Brand.d.ts.map +1 -1
  116. package/dist/dts/Cause.d.ts +1 -1
  117. package/dist/dts/Cause.d.ts.map +1 -1
  118. package/dist/dts/Channel.d.ts +11 -11
  119. package/dist/dts/Channel.d.ts.map +1 -1
  120. package/dist/dts/Chunk.d.ts +3 -3
  121. package/dist/dts/Config.d.ts +4 -4
  122. package/dist/dts/Config.d.ts.map +1 -1
  123. package/dist/dts/Cron.d.ts +1 -1
  124. package/dist/dts/Cron.d.ts.map +1 -1
  125. package/dist/dts/Differ.d.ts +2 -2
  126. package/dist/dts/Differ.d.ts.map +1 -1
  127. package/dist/dts/Effect.d.ts +52 -108
  128. package/dist/dts/Effect.d.ts.map +1 -1
  129. package/dist/dts/Either.d.ts +126 -83
  130. package/dist/dts/Either.d.ts.map +1 -1
  131. package/dist/dts/Encoding.d.ts +6 -6
  132. package/dist/dts/Encoding.d.ts.map +1 -1
  133. package/dist/dts/Equal.d.ts.map +1 -1
  134. package/dist/dts/Exit.d.ts +2 -2
  135. package/dist/dts/Fiber.d.ts +2 -2
  136. package/dist/dts/Fiber.d.ts.map +1 -1
  137. package/dist/dts/FiberMap.d.ts +4 -5
  138. package/dist/dts/FiberMap.d.ts.map +1 -1
  139. package/dist/dts/GroupBy.d.ts +12 -12
  140. package/dist/dts/GroupBy.d.ts.map +1 -1
  141. package/dist/dts/Hash.d.ts +8 -0
  142. package/dist/dts/Hash.d.ts.map +1 -1
  143. package/dist/dts/Layer.d.ts +26 -26
  144. package/dist/dts/Layer.d.ts.map +1 -1
  145. package/dist/dts/List.d.ts +2 -2
  146. package/dist/dts/List.d.ts.map +1 -1
  147. package/dist/dts/Logger.d.ts +4 -4
  148. package/dist/dts/Match.d.ts +2 -2
  149. package/dist/dts/Match.d.ts.map +1 -1
  150. package/dist/dts/MergeDecision.d.ts +1 -1
  151. package/dist/dts/MergeState.d.ts +5 -5
  152. package/dist/dts/MergeState.d.ts.map +1 -1
  153. package/dist/dts/Metric.d.ts +13 -13
  154. package/dist/dts/Metric.d.ts.map +1 -1
  155. package/dist/dts/MetricPolling.d.ts +4 -4
  156. package/dist/dts/MetricPolling.d.ts.map +1 -1
  157. package/dist/dts/Number.d.ts +8 -0
  158. package/dist/dts/Number.d.ts.map +1 -1
  159. package/dist/dts/Option.d.ts +11 -11
  160. package/dist/dts/ReadonlyArray.d.ts +9 -8
  161. package/dist/dts/ReadonlyArray.d.ts.map +1 -1
  162. package/dist/dts/ReadonlyRecord.d.ts +111 -94
  163. package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
  164. package/dist/dts/Reloadable.d.ts +4 -4
  165. package/dist/dts/Reloadable.d.ts.map +1 -1
  166. package/dist/dts/RequestResolver.d.ts +13 -13
  167. package/dist/dts/RequestResolver.d.ts.map +1 -1
  168. package/dist/dts/Resource.d.ts +1 -1
  169. package/dist/dts/Resource.d.ts.map +1 -1
  170. package/dist/dts/STM.d.ts +144 -139
  171. package/dist/dts/STM.d.ts.map +1 -1
  172. package/dist/dts/Schedule.d.ts +171 -179
  173. package/dist/dts/Schedule.d.ts.map +1 -1
  174. package/dist/dts/SingleProducerAsyncInput.d.ts +1 -1
  175. package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -1
  176. package/dist/dts/Sink.d.ts +13 -13
  177. package/dist/dts/Sink.d.ts.map +1 -1
  178. package/dist/dts/SortedMap.d.ts.map +1 -1
  179. package/dist/dts/SortedSet.d.ts.map +1 -1
  180. package/dist/dts/Stream.d.ts +355 -366
  181. package/dist/dts/Stream.d.ts.map +1 -1
  182. package/dist/dts/Struct.d.ts +3 -3
  183. package/dist/dts/Struct.d.ts.map +1 -1
  184. package/dist/dts/SubscriptionRef.d.ts +2 -2
  185. package/dist/dts/TArray.d.ts +2 -2
  186. package/dist/dts/TDeferred.d.ts +3 -3
  187. package/dist/dts/TMap.d.ts +10 -10
  188. package/dist/dts/TSet.d.ts +4 -4
  189. package/dist/dts/Take.d.ts +2 -2
  190. package/dist/dts/TestAnnotation.d.ts +2 -2
  191. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  192. package/dist/dts/Types.d.ts +7 -0
  193. package/dist/dts/Types.d.ts.map +1 -1
  194. package/dist/dts/internal/metric/keyType.d.ts.map +1 -1
  195. package/dist/dts/internal/metric/state.d.ts.map +1 -1
  196. package/dist/dts/internal/stm/stm.d.ts +2 -15
  197. package/dist/dts/internal/stm/stm.d.ts.map +1 -1
  198. package/dist/esm/BigDecimal.js +1 -1
  199. package/dist/esm/BigDecimal.js.map +1 -1
  200. package/dist/esm/BigInt.js +12 -0
  201. package/dist/esm/BigInt.js.map +1 -1
  202. package/dist/esm/Chunk.js +1 -1
  203. package/dist/esm/Chunk.js.map +1 -1
  204. package/dist/esm/Cron.js +1 -1
  205. package/dist/esm/Cron.js.map +1 -1
  206. package/dist/esm/Duration.js +1 -1
  207. package/dist/esm/Duration.js.map +1 -1
  208. package/dist/esm/Effect.js +13 -58
  209. package/dist/esm/Effect.js.map +1 -1
  210. package/dist/esm/Either.js +42 -5
  211. package/dist/esm/Either.js.map +1 -1
  212. package/dist/esm/Equal.js +1 -1
  213. package/dist/esm/Equal.js.map +1 -1
  214. package/dist/esm/Exit.js +1 -1
  215. package/dist/esm/FiberMap.js.map +1 -1
  216. package/dist/esm/Hash.js +27 -0
  217. package/dist/esm/Hash.js.map +1 -1
  218. package/dist/esm/List.js +3 -2
  219. package/dist/esm/List.js.map +1 -1
  220. package/dist/esm/Number.js +23 -0
  221. package/dist/esm/Number.js.map +1 -1
  222. package/dist/esm/ReadonlyArray.js +2 -2
  223. package/dist/esm/ReadonlyArray.js.map +1 -1
  224. package/dist/esm/ReadonlyRecord.js +70 -75
  225. package/dist/esm/ReadonlyRecord.js.map +1 -1
  226. package/dist/esm/STM.js.map +1 -1
  227. package/dist/esm/Schedule.js.map +1 -1
  228. package/dist/esm/Sink.js.map +1 -1
  229. package/dist/esm/SortedMap.js +1 -1
  230. package/dist/esm/SortedMap.js.map +1 -1
  231. package/dist/esm/SortedSet.js +1 -1
  232. package/dist/esm/SortedSet.js.map +1 -1
  233. package/dist/esm/Stream.js +5 -22
  234. package/dist/esm/Stream.js.map +1 -1
  235. package/dist/esm/Struct.js +3 -1
  236. package/dist/esm/Struct.js.map +1 -1
  237. package/dist/esm/TestAnnotation.js +1 -1
  238. package/dist/esm/TestAnnotation.js.map +1 -1
  239. package/dist/esm/internal/cache.js +1 -1
  240. package/dist/esm/internal/cache.js.map +1 -1
  241. package/dist/esm/internal/cause.js +1 -1
  242. package/dist/esm/internal/cause.js.map +1 -1
  243. package/dist/esm/internal/channel/channelExecutor.js +5 -5
  244. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  245. package/dist/esm/internal/channel/channelState.js +3 -3
  246. package/dist/esm/internal/channel/channelState.js.map +1 -1
  247. package/dist/esm/internal/channel.js.map +1 -1
  248. package/dist/esm/internal/clock.js +3 -4
  249. package/dist/esm/internal/clock.js.map +1 -1
  250. package/dist/esm/internal/context.js +1 -1
  251. package/dist/esm/internal/context.js.map +1 -1
  252. package/dist/esm/internal/core-effect.js +4 -20
  253. package/dist/esm/internal/core-effect.js.map +1 -1
  254. package/dist/esm/internal/core.js +12 -26
  255. package/dist/esm/internal/core.js.map +1 -1
  256. package/dist/esm/internal/data.js +1 -1
  257. package/dist/esm/internal/data.js.map +1 -1
  258. package/dist/esm/internal/effect/circular.js +5 -6
  259. package/dist/esm/internal/effect/circular.js.map +1 -1
  260. package/dist/esm/internal/effectable.js +2 -2
  261. package/dist/esm/internal/effectable.js.map +1 -1
  262. package/dist/esm/internal/either.js +1 -1
  263. package/dist/esm/internal/either.js.map +1 -1
  264. package/dist/esm/internal/fiberId.js +2 -9
  265. package/dist/esm/internal/fiberId.js.map +1 -1
  266. package/dist/esm/internal/fiberStatus.js +4 -3
  267. package/dist/esm/internal/fiberStatus.js.map +1 -1
  268. package/dist/esm/internal/groupBy.js.map +1 -1
  269. package/dist/esm/internal/hashMap.js +1 -1
  270. package/dist/esm/internal/hashMap.js.map +1 -1
  271. package/dist/esm/internal/hashSet.js +1 -1
  272. package/dist/esm/internal/hashSet.js.map +1 -1
  273. package/dist/esm/internal/keyedPool.js +2 -2
  274. package/dist/esm/internal/keyedPool.js.map +1 -1
  275. package/dist/esm/internal/layer.js +0 -2
  276. package/dist/esm/internal/layer.js.map +1 -1
  277. package/dist/esm/internal/metric/keyType.js +4 -4
  278. package/dist/esm/internal/metric/keyType.js.map +1 -1
  279. package/dist/esm/internal/metric/state.js +5 -9
  280. package/dist/esm/internal/metric/state.js.map +1 -1
  281. package/dist/esm/internal/option.js +1 -1
  282. package/dist/esm/internal/option.js.map +1 -1
  283. package/dist/esm/internal/pool.js +1 -1
  284. package/dist/esm/internal/pool.js.map +1 -1
  285. package/dist/esm/internal/redBlackTree.js +1 -1
  286. package/dist/esm/internal/redBlackTree.js.map +1 -1
  287. package/dist/esm/internal/runtime.js +12 -1
  288. package/dist/esm/internal/runtime.js.map +1 -1
  289. package/dist/esm/internal/schedule.js +4 -4
  290. package/dist/esm/internal/schedule.js.map +1 -1
  291. package/dist/esm/internal/secret.js +1 -1
  292. package/dist/esm/internal/secret.js.map +1 -1
  293. package/dist/esm/internal/sink.js +0 -2
  294. package/dist/esm/internal/sink.js.map +1 -1
  295. package/dist/esm/internal/stm/core.js +1 -1
  296. package/dist/esm/internal/stm/core.js.map +1 -1
  297. package/dist/esm/internal/stm/stm/stmState.js +5 -3
  298. package/dist/esm/internal/stm/stm/stmState.js.map +1 -1
  299. package/dist/esm/internal/stm/stm/tExit.js +6 -5
  300. package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
  301. package/dist/esm/internal/stm/stm.js +1 -0
  302. package/dist/esm/internal/stm/stm.js.map +1 -1
  303. package/dist/esm/internal/stream.js +49 -59
  304. package/dist/esm/internal/stream.js.map +1 -1
  305. package/dist/esm/internal/trie.js +1 -1
  306. package/dist/esm/internal/trie.js.map +1 -1
  307. package/dist/esm/internal/version.js +1 -1
  308. package/package.json +3 -2
  309. package/src/BigDecimal.ts +2 -1
  310. package/src/BigInt.ts +13 -0
  311. package/src/Brand.ts +4 -4
  312. package/src/Cause.ts +1 -1
  313. package/src/Channel.ts +17 -17
  314. package/src/Chunk.ts +5 -5
  315. package/src/Config.ts +4 -4
  316. package/src/Cron.ts +4 -3
  317. package/src/Differ.ts +2 -2
  318. package/src/Duration.ts +2 -2
  319. package/src/Effect.ts +68 -145
  320. package/src/Either.ts +215 -133
  321. package/src/Encoding.ts +3 -3
  322. package/src/Equal.ts +1 -1
  323. package/src/Exit.ts +2 -2
  324. package/src/Fiber.ts +2 -2
  325. package/src/FiberMap.ts +0 -1
  326. package/src/GroupBy.ts +16 -16
  327. package/src/Hash.ts +31 -0
  328. package/src/Layer.ts +32 -32
  329. package/src/List.ts +6 -5
  330. package/src/Logger.ts +4 -4
  331. package/src/Match.ts +3 -3
  332. package/src/MergeDecision.ts +1 -1
  333. package/src/MergeState.ts +8 -8
  334. package/src/Metric.ts +13 -13
  335. package/src/MetricPolling.ts +9 -9
  336. package/src/Number.ts +26 -0
  337. package/src/Option.ts +17 -17
  338. package/src/ReadonlyArray.ts +23 -15
  339. package/src/ReadonlyRecord.ts +421 -265
  340. package/src/Reloadable.ts +4 -4
  341. package/src/RequestResolver.ts +19 -19
  342. package/src/Resource.ts +3 -3
  343. package/src/STM.ts +166 -213
  344. package/src/Schedule.ts +331 -361
  345. package/src/SingleProducerAsyncInput.ts +1 -1
  346. package/src/Sink.ts +19 -19
  347. package/src/SortedMap.ts +5 -1
  348. package/src/SortedSet.ts +5 -1
  349. package/src/Stream.ts +449 -456
  350. package/src/Struct.ts +8 -5
  351. package/src/SubscriptionRef.ts +2 -2
  352. package/src/TArray.ts +2 -2
  353. package/src/TDeferred.ts +4 -4
  354. package/src/TMap.ts +10 -10
  355. package/src/TSet.ts +4 -4
  356. package/src/Take.ts +4 -4
  357. package/src/TestAnnotation.ts +7 -9
  358. package/src/Types.ts +11 -0
  359. package/src/internal/blockedRequests.ts +2 -2
  360. package/src/internal/cache.ts +2 -1
  361. package/src/internal/cause.ts +4 -3
  362. package/src/internal/channel/channelExecutor.ts +26 -26
  363. package/src/internal/channel/channelState.ts +13 -13
  364. package/src/internal/channel/mergeDecision.ts +1 -1
  365. package/src/internal/channel/mergeState.ts +6 -6
  366. package/src/internal/channel/singleProducerAsyncInput.ts +5 -5
  367. package/src/internal/channel.ts +43 -43
  368. package/src/internal/clock.ts +3 -4
  369. package/src/internal/config.ts +7 -7
  370. package/src/internal/configError.ts +1 -1
  371. package/src/internal/configProvider/pathPatch.ts +2 -2
  372. package/src/internal/configProvider.ts +1 -1
  373. package/src/internal/context.ts +1 -1
  374. package/src/internal/core-effect.ts +28 -43
  375. package/src/internal/core.ts +19 -44
  376. package/src/internal/data.ts +1 -1
  377. package/src/internal/dataSource.ts +26 -26
  378. package/src/internal/differ/orPatch.ts +7 -7
  379. package/src/internal/differ.ts +2 -2
  380. package/src/internal/effect/circular.ts +10 -11
  381. package/src/internal/effectable.ts +3 -3
  382. package/src/internal/either.ts +23 -20
  383. package/src/internal/encoding/base64.ts +1 -1
  384. package/src/internal/encoding/base64Url.ts +1 -1
  385. package/src/internal/encoding/hex.ts +1 -1
  386. package/src/internal/fiber.ts +2 -2
  387. package/src/internal/fiberId.ts +7 -13
  388. package/src/internal/fiberRuntime.ts +9 -9
  389. package/src/internal/fiberStatus.ts +7 -6
  390. package/src/internal/groupBy.ts +40 -40
  391. package/src/internal/hashMap.ts +2 -2
  392. package/src/internal/hashSet.ts +4 -1
  393. package/src/internal/keyedPool.ts +4 -2
  394. package/src/internal/layer/circular.ts +4 -4
  395. package/src/internal/layer.ts +52 -54
  396. package/src/internal/matcher.ts +5 -5
  397. package/src/internal/metric/keyType.ts +7 -5
  398. package/src/internal/metric/polling.ts +8 -8
  399. package/src/internal/metric/state.ts +11 -10
  400. package/src/internal/metric.ts +6 -6
  401. package/src/internal/option.ts +1 -1
  402. package/src/internal/pool.ts +2 -1
  403. package/src/internal/redBlackTree.ts +2 -2
  404. package/src/internal/reloadable.ts +4 -4
  405. package/src/internal/resource.ts +2 -2
  406. package/src/internal/runtime.ts +32 -19
  407. package/src/internal/schedule.ts +430 -500
  408. package/src/internal/secret.ts +2 -1
  409. package/src/internal/sink.ts +27 -29
  410. package/src/internal/stm/core.ts +24 -24
  411. package/src/internal/stm/stm/stmState.ts +16 -11
  412. package/src/internal/stm/stm/tExit.ts +15 -9
  413. package/src/internal/stm/stm.ts +158 -157
  414. package/src/internal/stm/tArray.ts +3 -3
  415. package/src/internal/stm/tDeferred.ts +5 -5
  416. package/src/internal/stm/tMap.ts +13 -13
  417. package/src/internal/stm/tSet.ts +4 -4
  418. package/src/internal/stream.ts +688 -723
  419. package/src/internal/subscriptionRef.ts +3 -3
  420. package/src/internal/take.ts +6 -6
  421. package/src/internal/trie.ts +2 -2
  422. package/src/internal/version.ts +1 -1
@@ -22,7 +22,7 @@ const TrieProto = {
22
22
  for (const item of this) {
23
23
  hash ^= pipe(Hash.hash(item[0]), Hash.combine(Hash.hash(item[1])));
24
24
  }
25
- return hash;
25
+ return Hash.cached(this, hash);
26
26
  },
27
27
  [Equal.symbol](that) {
28
28
  if (isTrie(that)) {
@@ -1 +1 @@
1
- {"version":3,"file":"trie.js","names":["Equal","dual","identity","pipe","Hash","format","NodeInspectSymbol","toJSON","Option","pipeArguments","hasProperty","TrieSymbolKey","TrieTypeId","Symbol","for","trieVariance","_Value","_","TrieProto","iterator","TrieIterator","k","v","symbol","hash","item","combine","that","isTrie","entries","Array","from","every","itemSelf","i","itemThat","equals","toString","_id","values","map","arguments","makeImpl","root","trie","Object","create","_root","_count","count","f","filter","stack","constructor","undefined","push","next","length","node","keyString","isAdded","pop","value","key","done","addToStack","right","mid","left","u","empty","fromIterable","insert","make","self","dStack","nStack","n","cIndex","c","s","n2","d","size","isEmpty","keys","reduce","zero","accumulator","entry","filterMap","option","isSome","compact","forEach","keysWithPrefix","prefix","startsWith","valuesWithPrefix","entriesWithPrefix","toEntriesWithPrefix","get","none","fromNullable","has","unsafeGet","element","isNone","Error","remove","removeNode","child","nc","removeMany","insertMany","iter","modify","updateNode","longestPrefixOf","longestPrefixNode","slice"],"sources":["../../../src/internal/trie.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"trie.js","names":["Equal","dual","identity","pipe","Hash","format","NodeInspectSymbol","toJSON","Option","pipeArguments","hasProperty","TrieSymbolKey","TrieTypeId","Symbol","for","trieVariance","_Value","_","TrieProto","iterator","TrieIterator","k","v","symbol","hash","item","combine","cached","that","isTrie","entries","Array","from","every","itemSelf","i","itemThat","equals","toString","_id","values","map","arguments","makeImpl","root","trie","Object","create","_root","_count","count","f","filter","stack","constructor","undefined","push","next","length","node","keyString","isAdded","pop","value","key","done","addToStack","right","mid","left","u","empty","fromIterable","insert","make","self","dStack","nStack","n","cIndex","c","s","n2","d","size","isEmpty","keys","reduce","zero","accumulator","entry","filterMap","option","isSome","compact","forEach","keysWithPrefix","prefix","startsWith","valuesWithPrefix","entriesWithPrefix","toEntriesWithPrefix","get","none","fromNullable","has","unsafeGet","element","isNone","Error","remove","removeNode","child","nc","removeMany","insertMany","iter","modify","updateNode","longestPrefixOf","longestPrefixNode","slice"],"sources":["../../../src/internal/trie.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- let moduleVersion = "2.3.7";
1
+ let moduleVersion = "2.4.0";
2
2
  export const getCurrentVersion = () => moduleVersion;
3
3
  export const setCurrentVersion = version => {
4
4
  moduleVersion = version;
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "effect",
3
- "version": "2.3.7",
3
+ "version": "2.4.0",
4
4
  "description": "Functional programming in TypeScript",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "https://github.com/effect-ts/effect.git"
8
+ "url": "https://github.com/effect-ts/effect.git",
9
+ "directory": "packages/effect"
9
10
  },
10
11
  "sideEffects": [],
11
12
  "main": "./dist/cjs/index.js",
package/src/BigDecimal.ts CHANGED
@@ -57,7 +57,8 @@ const BigDecimalProto: Omit<BigDecimal, "value" | "scale" | "normalized"> = {
57
57
  const normalized = normalize(this)
58
58
  return pipe(
59
59
  Hash.hash(normalized.value),
60
- Hash.combine(Hash.number(normalized.scale))
60
+ Hash.combine(Hash.number(normalized.scale)),
61
+ Hash.cached(this)
61
62
  )
62
63
  },
63
64
  [Equal.symbol](this: BigDecimal, that: unknown): boolean {
package/src/BigInt.ts CHANGED
@@ -545,3 +545,16 @@ export const multiplyAll = (collection: Iterable<bigint>): bigint => {
545
545
  }
546
546
  return out
547
547
  }
548
+
549
+ /**
550
+ * Convers a bigint into a number
551
+ *
552
+ * @since 2.0.0
553
+ * @category conversions
554
+ */
555
+ export const toNumber = (b: bigint): Option.Option<number> => {
556
+ if (b > BigInt(Number.MAX_SAFE_INTEGER) || b < BigInt(Number.MIN_SAFE_INTEGER)) {
557
+ return Option.none()
558
+ }
559
+ return Option.some(Number(b))
560
+ }
package/src/Brand.ts CHANGED
@@ -102,7 +102,7 @@ export declare namespace Brand {
102
102
  * Constructs a branded type from a value of type `A`, returning `Right<A>`
103
103
  * if the provided `A` is valid, `Left<BrandError>` otherwise.
104
104
  */
105
- either(args: Brand.Unbranded<A>): Either.Either<Brand.BrandErrors, A>
105
+ either(args: Brand.Unbranded<A>): Either.Either<A, Brand.BrandErrors>
106
106
  /**
107
107
  * Attempts to refine the provided value of type `A`, returning `true` if
108
108
  * the provided `A` is valid, `false` otherwise.
@@ -218,7 +218,7 @@ export const refined: <A extends Brand<any>>(
218
218
  refinement: Predicate<Brand.Unbranded<A>>,
219
219
  onFailure: (a: Brand.Unbranded<A>) => Brand.BrandErrors
220
220
  ): Brand.Constructor<A> => {
221
- const either = (args: Brand.Unbranded<A>): Either.Either<Brand.BrandErrors, A> =>
221
+ const either = (args: Brand.Unbranded<A>): Either.Either<A, Brand.BrandErrors> =>
222
222
  refinement(args) ? Either.right(args as A) : Either.left(onFailure(args))
223
223
  // @ts-expect-error
224
224
  return Object.assign((args) =>
@@ -305,8 +305,8 @@ export const all: <Brands extends readonly [Brand.Constructor<any>, ...Array<Bra
305
305
  }[number]
306
306
  > extends infer X extends Brand<any> ? X : Brand<any>
307
307
  > => {
308
- const either = (args: any): Either.Either<Brand.BrandErrors, any> => {
309
- let result: Either.Either<Brand.BrandErrors, any> = Either.right(args)
308
+ const either = (args: any): Either.Either<any, Brand.BrandErrors> => {
309
+ let result: Either.Either<any, Brand.BrandErrors> = Either.right(args)
310
310
  for (const brand of brands) {
311
311
  const nextResult = brand.either(args)
312
312
  if (Either.isLeft(result) && Either.isLeft(nextResult)) {
package/src/Cause.ts CHANGED
@@ -577,7 +577,7 @@ export const failureOption: <E>(self: Cause<E>) => Option.Option<E> = internal.f
577
577
  * @since 2.0.0
578
578
  * @category getters
579
579
  */
580
- export const failureOrCause: <E>(self: Cause<E>) => Either.Either<E, Cause<never>> = internal.failureOrCause
580
+ export const failureOrCause: <E>(self: Cause<E>) => Either.Either<Cause<never>, E> = internal.failureOrCause
581
581
 
582
582
  /**
583
583
  * Converts the specified `Cause<Option<E>>` to an `Option<Cause<E>>` by
package/src/Channel.ts CHANGED
@@ -388,14 +388,14 @@ export const concatAllWith: <
388
388
  * @category utils
389
389
  */
390
390
  export const concatMap: {
391
- <OutElem, OutElem2, InElem2, OutErr2, InErr2, _, InDone2, Env2>(
392
- f: (o: OutElem) => Channel<OutElem2, InElem2, OutErr2, InErr2, _, InDone2, Env2>
391
+ <OutElem, OutElem2, InElem2, OutErr2, InErr2, X, InDone2, Env2>(
392
+ f: (o: OutElem) => Channel<OutElem2, InElem2, OutErr2, InErr2, X, InDone2, Env2>
393
393
  ): <Env, InErr, InElem, InDone, OutErr, OutDone>(
394
394
  self: Channel<OutElem, InElem, OutErr, InErr, OutDone, InDone, Env>
395
395
  ) => Channel<OutElem2, InElem & InElem2, OutErr2 | OutErr, InErr & InErr2, unknown, InDone & InDone2, Env2 | Env>
396
- <Env, InErr, InElem, InDone, OutErr, OutDone, OutElem, OutElem2, Env2, InErr2, InElem2, InDone2, OutErr2, _>(
396
+ <Env, InErr, InElem, InDone, OutErr, OutDone, OutElem, OutElem2, Env2, InErr2, InElem2, InDone2, OutErr2, X>(
397
397
  self: Channel<OutElem, InElem, OutErr, InErr, OutDone, InDone, Env>,
398
- f: (o: OutElem) => Channel<OutElem2, InElem2, OutErr2, InErr2, _, InDone2, Env2>
398
+ f: (o: OutElem) => Channel<OutElem2, InElem2, OutErr2, InErr2, X, InDone2, Env2>
399
399
  ): Channel<OutElem2, InElem & InElem2, OutErr | OutErr2, InErr & InErr2, unknown, InDone & InDone2, Env | Env2>
400
400
  } = channel.concatMap
401
401
 
@@ -1077,7 +1077,7 @@ export const fromEffect: <A, E, R>(
1077
1077
  * @since 2.0.0
1078
1078
  * @category constructors
1079
1079
  */
1080
- export const fromEither: <E, A>(either: Either.Either<E, A>) => Channel<never, unknown, E, unknown, A, unknown> =
1080
+ export const fromEither: <R, L>(either: Either.Either<R, L>) => Channel<never, unknown, L, unknown, R, unknown> =
1081
1081
  channel.fromEither
1082
1082
 
1083
1083
  /**
@@ -1097,7 +1097,7 @@ export const fromInput: <Err, Elem, Done>(
1097
1097
  * @category constructors
1098
1098
  */
1099
1099
  export const fromPubSub: <Done, Err, Elem>(
1100
- pubsub: PubSub.PubSub<Either.Either<Exit.Exit<Done, Err>, Elem>>
1100
+ pubsub: PubSub.PubSub<Either.Either<Elem, Exit.Exit<Done, Err>>>
1101
1101
  ) => Channel<Elem, unknown, Err, unknown, Done, unknown> = channel.fromPubSub
1102
1102
 
1103
1103
  /**
@@ -1107,7 +1107,7 @@ export const fromPubSub: <Done, Err, Elem>(
1107
1107
  * @category constructors
1108
1108
  */
1109
1109
  export const fromPubSubScoped: <Done, Err, Elem>(
1110
- pubsub: PubSub.PubSub<Either.Either<Exit.Exit<Done, Err>, Elem>>
1110
+ pubsub: PubSub.PubSub<Either.Either<Elem, Exit.Exit<Done, Err>>>
1111
1111
  ) => Effect.Effect<Channel<Elem, unknown, Err, unknown, Done, unknown>, never, Scope.Scope> = channel.fromPubSubScoped
1112
1112
 
1113
1113
  /**
@@ -1127,7 +1127,7 @@ export const fromOption: <A>(
1127
1127
  * @category constructors
1128
1128
  */
1129
1129
  export const fromQueue: <Done, Err, Elem>(
1130
- queue: Queue.Dequeue<Either.Either<Exit.Exit<Done, Err>, Elem>>
1130
+ queue: Queue.Dequeue<Either.Either<Elem, Exit.Exit<Done, Err>>>
1131
1131
  ) => Channel<Elem, unknown, Err, unknown, Done, unknown> = channel.fromQueue
1132
1132
 
1133
1133
  /**
@@ -1782,15 +1782,15 @@ export const mapInputContext: {
1782
1782
  * @category context
1783
1783
  */
1784
1784
  export const provideSomeLayer: {
1785
- <Env2, OutErr2, Env0>(
1786
- layer: Layer.Layer<Env2, OutErr2, Env0>
1785
+ <R2, OutErr2, Env0>(
1786
+ layer: Layer.Layer<R2, OutErr2, Env0>
1787
1787
  ): <OutElem, InElem, OutErr, InErr, OutDone, InDone, R>(
1788
1788
  self: Channel<OutElem, InElem, OutErr, InErr, OutDone, InDone, R>
1789
- ) => Channel<OutElem, InElem, OutErr2 | OutErr, InErr, OutDone, InDone, Env0 | Exclude<R, Env2>>
1790
- <OutElem, InElem, OutErr, InErr, OutDone, InDone, R, Env2, OutErr2, Env0>(
1789
+ ) => Channel<OutElem, InElem, OutErr2 | OutErr, InErr, OutDone, InDone, Env0 | Exclude<R, R2>>
1790
+ <OutElem, InElem, OutErr, InErr, OutDone, InDone, R, R2, OutErr2, Env0>(
1791
1791
  self: Channel<OutElem, InElem, OutErr, InErr, OutDone, InDone, R>,
1792
- layer: Layer.Layer<Env2, OutErr2, Env0>
1793
- ): Channel<OutElem, InElem, OutErr | OutErr2, InErr, OutDone, InDone, Env0 | Exclude<R, Env2>>
1792
+ layer: Layer.Layer<R2, OutErr2, Env0>
1793
+ ): Channel<OutElem, InElem, OutErr | OutErr2, InErr, OutDone, InDone, Env0 | Exclude<R, R2>>
1794
1794
  } = channel.provideSomeLayer
1795
1795
 
1796
1796
  /**
@@ -1986,7 +1986,7 @@ export const sync: <OutDone>(
1986
1986
  * @category destructors
1987
1987
  */
1988
1988
  export const toPubSub: <Done, Err, Elem>(
1989
- pubsub: PubSub.PubSub<Either.Either<Exit.Exit<Done, Err>, Elem>>
1989
+ pubsub: PubSub.PubSub<Either.Either<Elem, Exit.Exit<Done, Err>>>
1990
1990
  ) => Channel<never, Elem, never, Err, unknown, Done> = channel.toPubSub
1991
1991
 
1992
1992
  /**
@@ -2000,7 +2000,7 @@ export const toPubSub: <Done, Err, Elem>(
2000
2000
  */
2001
2001
  export const toPull: <OutElem, InElem, OutErr, InErr, OutDone, InDone, Env>(
2002
2002
  self: Channel<OutElem, InElem, OutErr, InErr, OutDone, InDone, Env>
2003
- ) => Effect.Effect<Effect.Effect<Either.Either<OutDone, OutElem>, OutErr, Env>, never, Scope.Scope | Env> =
2003
+ ) => Effect.Effect<Effect.Effect<Either.Either<OutElem, OutDone>, OutErr, Env>, never, Scope.Scope | Env> =
2004
2004
  channel.toPull
2005
2005
 
2006
2006
  /**
@@ -2010,7 +2010,7 @@ export const toPull: <OutElem, InElem, OutErr, InErr, OutDone, InDone, Env>(
2010
2010
  * @category destructors
2011
2011
  */
2012
2012
  export const toQueue: <Done, Err, Elem>(
2013
- queue: Queue.Enqueue<Either.Either<Exit.Exit<Done, Err>, Elem>>
2013
+ queue: Queue.Enqueue<Either.Either<Elem, Exit.Exit<Done, Err>>>
2014
2014
  ) => Channel<never, Elem, never, Err, unknown, Done> = channel.toQueue
2015
2015
 
2016
2016
  /** Converts this channel to a `Sink`.
package/src/Chunk.ts CHANGED
@@ -142,7 +142,7 @@ const ChunkProto: Omit<Chunk<unknown>, "backing" | "depth" | "left" | "length" |
142
142
  return isChunk(that) && _equivalence(this, that)
143
143
  },
144
144
  [Hash.symbol]<A>(this: Chunk<A>): number {
145
- return Hash.array(toReadonlyArray(this))
145
+ return Hash.cached(this, Hash.array(toReadonlyArray(this)))
146
146
  },
147
147
  [Symbol.iterator]<A>(this: Chunk<A>): Iterator<A> {
148
148
  switch (this.backing._tag) {
@@ -934,9 +934,9 @@ export const partition: {
934
934
  * @since 2.0.0
935
935
  */
936
936
  export const partitionMap: {
937
- <A, B, C>(f: (a: A) => Either<B, C>): (self: Chunk<A>) => [left: Chunk<B>, right: Chunk<C>]
938
- <A, B, C>(self: Chunk<A>, f: (a: A) => Either<B, C>): [left: Chunk<B>, right: Chunk<C>]
939
- } = dual(2, <A, B, C>(self: Chunk<A>, f: (a: A) => Either<B, C>): [left: Chunk<B>, right: Chunk<C>] =>
937
+ <A, B, C>(f: (a: A) => Either<C, B>): (self: Chunk<A>) => [left: Chunk<B>, right: Chunk<C>]
938
+ <A, B, C>(self: Chunk<A>, f: (a: A) => Either<C, B>): [left: Chunk<B>, right: Chunk<C>]
939
+ } = dual(2, <A, B, C>(self: Chunk<A>, f: (a: A) => Either<C, B>): [left: Chunk<B>, right: Chunk<C>] =>
940
940
  pipe(
941
941
  RA.partitionMap(toReadonlyArray(self), f),
942
942
  ([l, r]) => [unsafeFromArray(l), unsafeFromArray(r)]
@@ -948,7 +948,7 @@ export const partitionMap: {
948
948
  * @category filtering
949
949
  * @since 2.0.0
950
950
  */
951
- export const separate = <A, B>(self: Chunk<Either<A, B>>): [Chunk<A>, Chunk<B>] =>
951
+ export const separate = <A, B>(self: Chunk<Either<B, A>>): [Chunk<A>, Chunk<B>] =>
952
952
  pipe(
953
953
  RA.separate(toReadonlyArray(self)),
954
954
  ([l, r]) => [unsafeFromArray(l), unsafeFromArray(r)]
package/src/Config.ts CHANGED
@@ -55,7 +55,7 @@ export declare namespace Config {
55
55
  */
56
56
  export interface Primitive<out A> extends Config<A> {
57
57
  readonly description: string
58
- parse(text: string): Either.Either<ConfigError.ConfigError, A>
58
+ parse(text: string): Either.Either<A, ConfigError.ConfigError>
59
59
  }
60
60
 
61
61
  /**
@@ -233,8 +233,8 @@ export const mapAttempt: {
233
233
  * @category utils
234
234
  */
235
235
  export const mapOrFail: {
236
- <A, B>(f: (a: A) => Either.Either<ConfigError.ConfigError, B>): (self: Config<A>) => Config<B>
237
- <A, B>(self: Config<A>, f: (a: A) => Either.Either<ConfigError.ConfigError, B>): Config<B>
236
+ <A, B>(f: (a: A) => Either.Either<B, ConfigError.ConfigError>): (self: Config<A>) => Config<B>
237
+ <A, B>(self: Config<A>, f: (a: A) => Either.Either<B, ConfigError.ConfigError>): Config<B>
238
238
  } = internal.mapOrFail
239
239
 
240
240
  /**
@@ -303,7 +303,7 @@ export const option: <A>(self: Config<A>) => Config<Option.Option<A>> = internal
303
303
  */
304
304
  export const primitive: <A>(
305
305
  description: string,
306
- parse: (text: string) => Either.Either<ConfigError.ConfigError, A>
306
+ parse: (text: string) => Either.Either<A, ConfigError.ConfigError>
307
307
  ) => Config<A> = internal.primitive
308
308
 
309
309
  /**
package/src/Cron.ts CHANGED
@@ -50,7 +50,8 @@ const CronProto: Omit<Cron, "minutes" | "hours" | "days" | "months" | "weekdays"
50
50
  Hash.combine(Hash.array(ReadonlyArray.fromIterable(this.hours))),
51
51
  Hash.combine(Hash.array(ReadonlyArray.fromIterable(this.days))),
52
52
  Hash.combine(Hash.array(ReadonlyArray.fromIterable(this.months))),
53
- Hash.combine(Hash.array(ReadonlyArray.fromIterable(this.weekdays)))
53
+ Hash.combine(Hash.array(ReadonlyArray.fromIterable(this.weekdays))),
54
+ Hash.cached(this)
54
55
  )
55
56
  },
56
57
  toString(this: Cron) {
@@ -184,7 +185,7 @@ export const isParseError = (u: unknown): u is ParseError => hasProperty(u, Pars
184
185
  * @since 2.0.0
185
186
  * @category constructors
186
187
  */
187
- export const parse = (cron: string): Either.Either<ParseError, Cron> => {
188
+ export const parse = (cron: string): Either.Either<Cron, ParseError> => {
188
189
  const segments = cron.split(" ").filter(String.isNonEmpty)
189
190
  if (segments.length !== 5) {
190
191
  return Either.left(ParseError(`Invalid number of segments in cron expression`, cron))
@@ -439,7 +440,7 @@ const weekdayOptions: SegmentOptions = {
439
440
  const parseSegment = (
440
441
  input: string,
441
442
  options: SegmentOptions
442
- ): Either.Either<ParseError, ReadonlySet<number>> => {
443
+ ): Either.Either<ReadonlySet<number>, ParseError> => {
443
444
  const capacity = options.max - options.min + 1
444
445
  const values = new Set<number>()
445
446
  const fields = input.split(",")
package/src/Differ.ts CHANGED
@@ -366,14 +366,14 @@ export const orElseEither: {
366
366
  <Value2, Patch2>(that: Differ<Value2, Patch2>): <Value, Patch>(
367
367
  self: Differ<Value, Patch>
368
368
  ) => Differ<
369
- Either<Value, Value2>,
369
+ Either<Value2, Value>,
370
370
  Differ.Or.Patch<Value, Value2, Patch, Patch2>
371
371
  >
372
372
  <Value, Patch, Value2, Patch2>(
373
373
  self: Differ<Value, Patch>,
374
374
  that: Differ<Value2, Patch2>
375
375
  ): Differ<
376
- Either<Value, Value2>,
376
+ Either<Value2, Value>,
377
377
  Differ.Or.Patch<Value, Value2, Patch, Patch2>
378
378
  >
379
379
  } = internal.orElseEither
package/src/Duration.ts CHANGED
@@ -116,8 +116,8 @@ const infinityValue: DurationValue = { _tag: "Infinity" }
116
116
 
117
117
  const DurationProto: Omit<Duration, "value"> = {
118
118
  [TypeId]: TypeId,
119
- [Hash.symbol](this: Duration): number {
120
- return Hash.structure(this.value)
119
+ [Hash.symbol](this: Duration) {
120
+ return Hash.cached(this, Hash.structure(this.value))
121
121
  },
122
122
  [Equal.symbol](this: Duration, that: unknown): boolean {
123
123
  return isDuration(that) && equals(this, that)