effect 2.0.0-next.56 → 2.0.0-next.57

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 (887) hide show
  1. package/dist/cjs/BigDecimal.js +9 -9
  2. package/dist/cjs/BigDecimal.js.map +1 -1
  3. package/dist/cjs/BigInt.js.map +1 -1
  4. package/dist/cjs/Boolean.js.map +1 -1
  5. package/dist/cjs/Brand.js.map +1 -1
  6. package/dist/cjs/Cache.js.map +1 -1
  7. package/dist/cjs/Cause.js.map +1 -1
  8. package/dist/cjs/Channel.js.map +1 -1
  9. package/dist/cjs/Chunk.js +38 -29
  10. package/dist/cjs/Chunk.js.map +1 -1
  11. package/dist/cjs/Config.js +3 -3
  12. package/dist/cjs/Config.js.map +1 -1
  13. package/dist/cjs/Context.js.map +1 -1
  14. package/dist/cjs/Data.js.map +1 -1
  15. package/dist/cjs/Deferred.js.map +1 -1
  16. package/dist/cjs/Differ.js.map +1 -1
  17. package/dist/cjs/Duration.js +45 -2
  18. package/dist/cjs/Duration.js.map +1 -1
  19. package/dist/cjs/Effect.js +6 -11
  20. package/dist/cjs/Effect.js.map +1 -1
  21. package/dist/cjs/Either.js +36 -7
  22. package/dist/cjs/Either.js.map +1 -1
  23. package/dist/cjs/Equal.js.map +1 -1
  24. package/dist/cjs/Equivalence.js +1 -1
  25. package/dist/cjs/Equivalence.js.map +1 -1
  26. package/dist/cjs/Fiber.js.map +1 -1
  27. package/dist/cjs/FiberRef.js +6 -1
  28. package/dist/cjs/FiberRef.js.map +1 -1
  29. package/dist/cjs/Function.js.map +1 -1
  30. package/dist/cjs/GlobalValue.js.map +1 -1
  31. package/dist/cjs/GroupBy.js.map +1 -1
  32. package/dist/cjs/Hash.js.map +1 -1
  33. package/dist/cjs/Inspectable.js +4 -6
  34. package/dist/cjs/Inspectable.js.map +1 -1
  35. package/dist/cjs/KeyedPool.js.map +1 -1
  36. package/dist/cjs/Layer.js +9 -29
  37. package/dist/cjs/Layer.js.map +1 -1
  38. package/dist/cjs/List.js +25 -22
  39. package/dist/cjs/List.js.map +1 -1
  40. package/dist/cjs/LogLevel.js.map +1 -1
  41. package/dist/cjs/Logger.js.map +1 -1
  42. package/dist/cjs/Match.js.map +1 -1
  43. package/dist/cjs/MergeDecision.js.map +1 -1
  44. package/dist/cjs/Metric.js.map +1 -1
  45. package/dist/cjs/MetricHook.js.map +1 -1
  46. package/dist/cjs/MetricKey.js.map +1 -1
  47. package/dist/cjs/MetricKeyType.js.map +1 -1
  48. package/dist/cjs/MetricPair.js.map +1 -1
  49. package/dist/cjs/MetricState.js.map +1 -1
  50. package/dist/cjs/MutableHashMap.js +1 -1
  51. package/dist/cjs/MutableHashMap.js.map +1 -1
  52. package/dist/cjs/MutableHashSet.js +1 -1
  53. package/dist/cjs/MutableHashSet.js.map +1 -1
  54. package/dist/cjs/MutableList.js +1 -1
  55. package/dist/cjs/MutableList.js.map +1 -1
  56. package/dist/cjs/MutableQueue.js +1 -1
  57. package/dist/cjs/MutableQueue.js.map +1 -1
  58. package/dist/cjs/MutableRef.js +1 -1
  59. package/dist/cjs/MutableRef.js.map +1 -1
  60. package/dist/cjs/NonEmptyIterable.js.map +1 -1
  61. package/dist/cjs/Number.js.map +1 -1
  62. package/dist/cjs/Option.js +19 -12
  63. package/dist/cjs/Option.js.map +1 -1
  64. package/dist/cjs/Order.js +1 -1
  65. package/dist/cjs/Order.js.map +1 -1
  66. package/dist/cjs/Ordering.js.map +1 -1
  67. package/dist/cjs/Pipeable.js.map +1 -1
  68. package/dist/cjs/Pool.js +15 -17
  69. package/dist/cjs/Pool.js.map +1 -1
  70. package/dist/cjs/Predicate.js.map +1 -1
  71. package/dist/cjs/PrimaryKey.js +7 -1
  72. package/dist/cjs/PrimaryKey.js.map +1 -1
  73. package/dist/cjs/Queue.js.map +1 -1
  74. package/dist/cjs/ReadonlyArray.js +200 -187
  75. package/dist/cjs/ReadonlyArray.js.map +1 -1
  76. package/dist/cjs/ReadonlyRecord.js +59 -6
  77. package/dist/cjs/ReadonlyRecord.js.map +1 -1
  78. package/dist/cjs/RedBlackTree.js.map +1 -1
  79. package/dist/cjs/Ref.js.map +1 -1
  80. package/dist/cjs/Reloadable.js.map +1 -1
  81. package/dist/cjs/Request.js +8 -1
  82. package/dist/cjs/Request.js.map +1 -1
  83. package/dist/cjs/RequestBlock.js +5 -24
  84. package/dist/cjs/RequestBlock.js.map +1 -1
  85. package/dist/cjs/RequestResolver.js.map +1 -1
  86. package/dist/cjs/Resource.js.map +1 -1
  87. package/dist/cjs/STM.js.map +1 -1
  88. package/dist/cjs/Schedule.js.map +1 -1
  89. package/dist/cjs/Scheduler.js.map +1 -1
  90. package/dist/cjs/ScopedCache.js.map +1 -1
  91. package/dist/cjs/ScopedRef.js.map +1 -1
  92. package/dist/cjs/Sink.js.map +1 -1
  93. package/dist/cjs/SortedMap.js +1 -1
  94. package/dist/cjs/SortedMap.js.map +1 -1
  95. package/dist/cjs/SortedSet.js +1 -1
  96. package/dist/cjs/SortedSet.js.map +1 -1
  97. package/dist/cjs/Stream.js.map +1 -1
  98. package/dist/cjs/Streamable.js +3 -0
  99. package/dist/cjs/Streamable.js.map +1 -1
  100. package/dist/cjs/String.js.map +1 -1
  101. package/dist/cjs/Struct.js.map +1 -1
  102. package/dist/cjs/SubscriptionRef.js.map +1 -1
  103. package/dist/cjs/Supervisor.js.map +1 -1
  104. package/dist/cjs/SynchronizedRef.js.map +1 -1
  105. package/dist/cjs/TArray.js.map +1 -1
  106. package/dist/cjs/TDeferred.js.map +1 -1
  107. package/dist/cjs/TMap.js.map +1 -1
  108. package/dist/cjs/TPriorityQueue.js.map +1 -1
  109. package/dist/cjs/TPubSub.js.map +1 -1
  110. package/dist/cjs/TQueue.js.map +1 -1
  111. package/dist/cjs/TRef.js.map +1 -1
  112. package/dist/cjs/TSet.js.map +1 -1
  113. package/dist/cjs/Take.js.map +1 -1
  114. package/dist/cjs/TestAnnotation.js.map +1 -1
  115. package/dist/cjs/TestAnnotationMap.js.map +1 -1
  116. package/dist/cjs/TestAnnotations.js.map +1 -1
  117. package/dist/cjs/TestClock.js.map +1 -1
  118. package/dist/cjs/TestContext.js +2 -2
  119. package/dist/cjs/TestContext.js.map +1 -1
  120. package/dist/cjs/UpstreamPullRequest.js.map +1 -1
  121. package/dist/cjs/UpstreamPullStrategy.js.map +1 -1
  122. package/dist/cjs/Utils.js.map +1 -1
  123. package/dist/cjs/internal/Iterable.js.map +1 -1
  124. package/dist/cjs/internal/blockedRequests.js +3 -2
  125. package/dist/cjs/internal/blockedRequests.js.map +1 -1
  126. package/dist/cjs/internal/cache.js +3 -0
  127. package/dist/cjs/internal/cache.js.map +1 -1
  128. package/dist/cjs/internal/cause.js +1 -1
  129. package/dist/cjs/internal/cause.js.map +1 -1
  130. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  131. package/dist/cjs/internal/channel/channelState.js +2 -1
  132. package/dist/cjs/internal/channel/channelState.js.map +1 -1
  133. package/dist/cjs/internal/channel/childExecutorDecision.js.map +1 -1
  134. package/dist/cjs/internal/channel/continuation.js +9 -1
  135. package/dist/cjs/internal/channel/continuation.js.map +1 -1
  136. package/dist/cjs/internal/channel/mergeDecision.js.map +1 -1
  137. package/dist/cjs/internal/channel/mergeState.js.map +1 -1
  138. package/dist/cjs/internal/channel/mergeStrategy.js.map +1 -1
  139. package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
  140. package/dist/cjs/internal/channel/subexecutor.js.map +1 -1
  141. package/dist/cjs/internal/channel/upstreamPullRequest.js +1 -1
  142. package/dist/cjs/internal/channel/upstreamPullRequest.js.map +1 -1
  143. package/dist/cjs/internal/channel/upstreamPullStrategy.js +1 -1
  144. package/dist/cjs/internal/channel/upstreamPullStrategy.js.map +1 -1
  145. package/dist/cjs/internal/channel.js.map +1 -1
  146. package/dist/cjs/internal/clock.js.map +1 -1
  147. package/dist/cjs/internal/concurrency.js.map +1 -1
  148. package/dist/cjs/internal/config.js +16 -24
  149. package/dist/cjs/internal/config.js.map +1 -1
  150. package/dist/cjs/internal/configError.js +2 -2
  151. package/dist/cjs/internal/configError.js.map +1 -1
  152. package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -1
  153. package/dist/cjs/internal/configProvider.js +5 -3
  154. package/dist/cjs/internal/configProvider.js.map +1 -1
  155. package/dist/cjs/internal/configSecret.js.map +1 -1
  156. package/dist/cjs/internal/context.js +5 -5
  157. package/dist/cjs/internal/context.js.map +1 -1
  158. package/dist/cjs/internal/core-effect.js +13 -9
  159. package/dist/cjs/internal/core-effect.js.map +1 -1
  160. package/dist/cjs/internal/core-stream.js +7 -1
  161. package/dist/cjs/internal/core-stream.js.map +1 -1
  162. package/dist/cjs/internal/core.js +47 -77
  163. package/dist/cjs/internal/core.js.map +1 -1
  164. package/dist/cjs/internal/data.js.map +1 -1
  165. package/dist/cjs/internal/dataSource.js.map +1 -1
  166. package/dist/cjs/internal/deferred.js +2 -0
  167. package/dist/cjs/internal/deferred.js.map +1 -1
  168. package/dist/cjs/internal/differ/chunkPatch.js.map +1 -1
  169. package/dist/cjs/internal/differ/contextPatch.js.map +1 -1
  170. package/dist/cjs/internal/differ/hashMapPatch.js.map +1 -1
  171. package/dist/cjs/internal/differ/hashSetPatch.js.map +1 -1
  172. package/dist/cjs/internal/differ/orPatch.js.map +1 -1
  173. package/dist/cjs/internal/differ.js.map +1 -1
  174. package/dist/cjs/internal/effect/circular.js +1 -0
  175. package/dist/cjs/internal/effect/circular.js.map +1 -1
  176. package/dist/cjs/internal/effectable.js +18 -5
  177. package/dist/cjs/internal/effectable.js.map +1 -1
  178. package/dist/cjs/internal/either.js +1 -1
  179. package/dist/cjs/internal/either.js.map +1 -1
  180. package/dist/cjs/internal/encoding/base64.js.map +1 -1
  181. package/dist/cjs/internal/encoding/base64Url.js.map +1 -1
  182. package/dist/cjs/internal/encoding/common.js.map +1 -1
  183. package/dist/cjs/internal/encoding/hex.js.map +1 -1
  184. package/dist/cjs/internal/executionStrategy.js.map +1 -1
  185. package/dist/cjs/internal/fiber.js +2 -0
  186. package/dist/cjs/internal/fiber.js.map +1 -1
  187. package/dist/cjs/internal/fiberId.js +3 -3
  188. package/dist/cjs/internal/fiberId.js.map +1 -1
  189. package/dist/cjs/internal/fiberRefs/patch.js.map +1 -1
  190. package/dist/cjs/internal/fiberRefs.js.map +1 -1
  191. package/dist/cjs/internal/fiberRuntime.js +172 -208
  192. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  193. package/dist/cjs/internal/groupBy.js +4 -1
  194. package/dist/cjs/internal/groupBy.js.map +1 -1
  195. package/dist/cjs/internal/hashMap/array.js.map +1 -1
  196. package/dist/cjs/internal/hashMap/node.js.map +1 -1
  197. package/dist/cjs/internal/hashMap.js +1 -1
  198. package/dist/cjs/internal/hashMap.js.map +1 -1
  199. package/dist/cjs/internal/hashSet.js +1 -1
  200. package/dist/cjs/internal/hashSet.js.map +1 -1
  201. package/dist/cjs/internal/keyedPool.js +3 -0
  202. package/dist/cjs/internal/keyedPool.js.map +1 -1
  203. package/dist/cjs/internal/layer.js +23 -53
  204. package/dist/cjs/internal/layer.js.map +1 -1
  205. package/dist/cjs/internal/logger.js +2 -1
  206. package/dist/cjs/internal/logger.js.map +1 -1
  207. package/dist/cjs/internal/matcher.js.map +1 -1
  208. package/dist/cjs/internal/metric/hook.js +2 -1
  209. package/dist/cjs/internal/metric/hook.js.map +1 -1
  210. package/dist/cjs/internal/metric/key.js +1 -1
  211. package/dist/cjs/internal/metric/key.js.map +1 -1
  212. package/dist/cjs/internal/metric/keyType.js +2 -1
  213. package/dist/cjs/internal/metric/keyType.js.map +1 -1
  214. package/dist/cjs/internal/metric/pair.js +1 -1
  215. package/dist/cjs/internal/metric/pair.js.map +1 -1
  216. package/dist/cjs/internal/metric/polling.js.map +1 -1
  217. package/dist/cjs/internal/metric/registry.js.map +1 -1
  218. package/dist/cjs/internal/metric/state.js +1 -1
  219. package/dist/cjs/internal/metric/state.js.map +1 -1
  220. package/dist/cjs/internal/metric.js +7 -5
  221. package/dist/cjs/internal/metric.js.map +1 -1
  222. package/dist/cjs/internal/opCodes/layer.js +4 -4
  223. package/dist/cjs/internal/opCodes/layer.js.map +1 -1
  224. package/dist/cjs/internal/option.js +1 -1
  225. package/dist/cjs/internal/option.js.map +1 -1
  226. package/dist/cjs/internal/pool.js +2 -0
  227. package/dist/cjs/internal/pool.js.map +1 -1
  228. package/dist/cjs/internal/pubsub.js +1 -1
  229. package/dist/cjs/internal/pubsub.js.map +1 -1
  230. package/dist/cjs/internal/query.js +1 -1
  231. package/dist/cjs/internal/query.js.map +1 -1
  232. package/dist/cjs/internal/queue.js +6 -4
  233. package/dist/cjs/internal/queue.js.map +1 -1
  234. package/dist/cjs/internal/random.js.map +1 -1
  235. package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
  236. package/dist/cjs/internal/redBlackTree.js +3 -1
  237. package/dist/cjs/internal/redBlackTree.js.map +1 -1
  238. package/dist/cjs/internal/ref.js +1 -0
  239. package/dist/cjs/internal/ref.js.map +1 -1
  240. package/dist/cjs/internal/reloadable.js +1 -1
  241. package/dist/cjs/internal/reloadable.js.map +1 -1
  242. package/dist/cjs/internal/request.js +5 -2
  243. package/dist/cjs/internal/request.js.map +1 -1
  244. package/dist/cjs/internal/resource.js +2 -1
  245. package/dist/cjs/internal/resource.js.map +1 -1
  246. package/dist/cjs/internal/ringBuffer.js.map +1 -1
  247. package/dist/cjs/internal/runtime.js +1 -1
  248. package/dist/cjs/internal/runtime.js.map +1 -1
  249. package/dist/cjs/internal/runtimeFlags.js.map +1 -1
  250. package/dist/cjs/internal/schedule/interval.js.map +1 -1
  251. package/dist/cjs/internal/schedule/intervals.js.map +1 -1
  252. package/dist/cjs/internal/schedule.js +6 -1
  253. package/dist/cjs/internal/schedule.js.map +1 -1
  254. package/dist/cjs/internal/scopedCache.js +5 -2
  255. package/dist/cjs/internal/scopedCache.js.map +1 -1
  256. package/dist/cjs/internal/scopedRef.js +1 -0
  257. package/dist/cjs/internal/scopedRef.js.map +1 -1
  258. package/dist/cjs/internal/sink.js +5 -1
  259. package/dist/cjs/internal/sink.js.map +1 -1
  260. package/dist/cjs/internal/stm/core.js +3 -1
  261. package/dist/cjs/internal/stm/core.js.map +1 -1
  262. package/dist/cjs/internal/stm/stm/journal.js.map +1 -1
  263. package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
  264. package/dist/cjs/internal/stm/stm/tExit.js +2 -1
  265. package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
  266. package/dist/cjs/internal/stm/stm.js.map +1 -1
  267. package/dist/cjs/internal/stm/tArray.js +1 -1
  268. package/dist/cjs/internal/stm/tArray.js.map +1 -1
  269. package/dist/cjs/internal/stm/tMap.js +2 -1
  270. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  271. package/dist/cjs/internal/stm/tPriorityQueue.js +1 -1
  272. package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
  273. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  274. package/dist/cjs/internal/stm/tQueue.js +2 -0
  275. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  276. package/dist/cjs/internal/stm/tRandom.js.map +1 -1
  277. package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -1
  278. package/dist/cjs/internal/stm/tRef.js +1 -1
  279. package/dist/cjs/internal/stm/tRef.js.map +1 -1
  280. package/dist/cjs/internal/stm/tSemaphore.js.map +1 -1
  281. package/dist/cjs/internal/stm/tSet.js +1 -1
  282. package/dist/cjs/internal/stm/tSet.js.map +1 -1
  283. package/dist/cjs/internal/stream/haltStrategy.js.map +1 -1
  284. package/dist/cjs/internal/stream/handoff.js +1 -1
  285. package/dist/cjs/internal/stream/handoff.js.map +1 -1
  286. package/dist/cjs/internal/stream.js +1 -1
  287. package/dist/cjs/internal/stream.js.map +1 -1
  288. package/dist/cjs/internal/string-utils.js.map +1 -1
  289. package/dist/cjs/internal/subscriptionRef.js +1 -1
  290. package/dist/cjs/internal/subscriptionRef.js.map +1 -1
  291. package/dist/cjs/internal/supervisor/patch.js.map +1 -1
  292. package/dist/cjs/internal/supervisor.js +1 -0
  293. package/dist/cjs/internal/supervisor.js.map +1 -1
  294. package/dist/cjs/internal/synchronizedRef.js.map +1 -1
  295. package/dist/cjs/internal/take.js +2 -1
  296. package/dist/cjs/internal/take.js.map +1 -1
  297. package/dist/cjs/internal/version.js +1 -1
  298. package/dist/dts/BigDecimal.d.ts +5 -5
  299. package/dist/dts/BigDecimal.d.ts.map +1 -1
  300. package/dist/dts/Cache.d.ts +4 -3
  301. package/dist/dts/Cache.d.ts.map +1 -1
  302. package/dist/dts/Cause.d.ts +2 -1
  303. package/dist/dts/Cause.d.ts.map +1 -1
  304. package/dist/dts/Channel.d.ts +8 -7
  305. package/dist/dts/Channel.d.ts.map +1 -1
  306. package/dist/dts/Chunk.d.ts +55 -45
  307. package/dist/dts/Chunk.d.ts.map +1 -1
  308. package/dist/dts/Config.d.ts +16 -15
  309. package/dist/dts/Config.d.ts.map +1 -1
  310. package/dist/dts/Context.d.ts +4 -3
  311. package/dist/dts/Context.d.ts.map +1 -1
  312. package/dist/dts/Data.d.ts +4 -4
  313. package/dist/dts/Data.d.ts.map +1 -1
  314. package/dist/dts/Deferred.d.ts +3 -2
  315. package/dist/dts/Deferred.d.ts.map +1 -1
  316. package/dist/dts/Differ.d.ts +15 -14
  317. package/dist/dts/Differ.d.ts.map +1 -1
  318. package/dist/dts/Duration.d.ts +11 -0
  319. package/dist/dts/Duration.d.ts.map +1 -1
  320. package/dist/dts/Effect.d.ts +30 -27
  321. package/dist/dts/Effect.d.ts.map +1 -1
  322. package/dist/dts/Either.d.ts +46 -10
  323. package/dist/dts/Either.d.ts.map +1 -1
  324. package/dist/dts/Equivalence.d.ts +1 -1
  325. package/dist/dts/Fiber.d.ts +5 -4
  326. package/dist/dts/Fiber.d.ts.map +1 -1
  327. package/dist/dts/FiberRef.d.ts +7 -1
  328. package/dist/dts/FiberRef.d.ts.map +1 -1
  329. package/dist/dts/GroupBy.d.ts +5 -4
  330. package/dist/dts/GroupBy.d.ts.map +1 -1
  331. package/dist/dts/HKT.d.ts +5 -4
  332. package/dist/dts/HKT.d.ts.map +1 -1
  333. package/dist/dts/Inspectable.d.ts +0 -4
  334. package/dist/dts/Inspectable.d.ts.map +1 -1
  335. package/dist/dts/KeyedPool.d.ts +4 -3
  336. package/dist/dts/KeyedPool.d.ts.map +1 -1
  337. package/dist/dts/Layer.d.ts +14 -39
  338. package/dist/dts/Layer.d.ts.map +1 -1
  339. package/dist/dts/List.d.ts +32 -33
  340. package/dist/dts/List.d.ts.map +1 -1
  341. package/dist/dts/Logger.d.ts +3 -2
  342. package/dist/dts/Logger.d.ts.map +1 -1
  343. package/dist/dts/Match.d.ts +20 -8
  344. package/dist/dts/Match.d.ts.map +1 -1
  345. package/dist/dts/MergeDecision.d.ts +6 -5
  346. package/dist/dts/MergeDecision.d.ts.map +1 -1
  347. package/dist/dts/Metric.d.ts +6 -5
  348. package/dist/dts/Metric.d.ts.map +1 -1
  349. package/dist/dts/MetricHook.d.ts +3 -2
  350. package/dist/dts/MetricHook.d.ts.map +1 -1
  351. package/dist/dts/MetricKey.d.ts +2 -1
  352. package/dist/dts/MetricKey.d.ts.map +1 -1
  353. package/dist/dts/MetricKeyType.d.ts +3 -2
  354. package/dist/dts/MetricKeyType.d.ts.map +1 -1
  355. package/dist/dts/MetricPair.d.ts +2 -1
  356. package/dist/dts/MetricPair.d.ts.map +1 -1
  357. package/dist/dts/MetricState.d.ts +2 -1
  358. package/dist/dts/MetricState.d.ts.map +1 -1
  359. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  360. package/dist/dts/MutableHashSet.d.ts.map +1 -1
  361. package/dist/dts/MutableQueue.d.ts.map +1 -1
  362. package/dist/dts/MutableRef.d.ts.map +1 -1
  363. package/dist/dts/Option.d.ts +26 -13
  364. package/dist/dts/Option.d.ts.map +1 -1
  365. package/dist/dts/Order.d.ts +1 -1
  366. package/dist/dts/Pool.d.ts +18 -19
  367. package/dist/dts/Pool.d.ts.map +1 -1
  368. package/dist/dts/PrimaryKey.d.ts +5 -0
  369. package/dist/dts/PrimaryKey.d.ts.map +1 -1
  370. package/dist/dts/Queue.d.ts +5 -4
  371. package/dist/dts/Queue.d.ts.map +1 -1
  372. package/dist/dts/ReadonlyArray.d.ts +134 -170
  373. package/dist/dts/ReadonlyArray.d.ts.map +1 -1
  374. package/dist/dts/ReadonlyRecord.d.ts +38 -5
  375. package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
  376. package/dist/dts/RedBlackTree.d.ts +3 -2
  377. package/dist/dts/RedBlackTree.d.ts.map +1 -1
  378. package/dist/dts/Ref.d.ts +2 -1
  379. package/dist/dts/Ref.d.ts.map +1 -1
  380. package/dist/dts/Reloadable.d.ts +2 -1
  381. package/dist/dts/Reloadable.d.ts.map +1 -1
  382. package/dist/dts/Request.d.ts +14 -3
  383. package/dist/dts/Request.d.ts.map +1 -1
  384. package/dist/dts/RequestBlock.d.ts +17 -36
  385. package/dist/dts/RequestBlock.d.ts.map +1 -1
  386. package/dist/dts/RequestResolver.d.ts +3 -2
  387. package/dist/dts/RequestResolver.d.ts.map +1 -1
  388. package/dist/dts/Resource.d.ts +3 -2
  389. package/dist/dts/Resource.d.ts.map +1 -1
  390. package/dist/dts/STM.d.ts +4 -3
  391. package/dist/dts/STM.d.ts.map +1 -1
  392. package/dist/dts/Schedule.d.ts +7 -6
  393. package/dist/dts/Schedule.d.ts.map +1 -1
  394. package/dist/dts/ScopedCache.d.ts +4 -3
  395. package/dist/dts/ScopedCache.d.ts.map +1 -1
  396. package/dist/dts/ScopedRef.d.ts +2 -1
  397. package/dist/dts/ScopedRef.d.ts.map +1 -1
  398. package/dist/dts/Sink.d.ts +6 -5
  399. package/dist/dts/Sink.d.ts.map +1 -1
  400. package/dist/dts/SortedMap.d.ts +3 -2
  401. package/dist/dts/SortedMap.d.ts.map +1 -1
  402. package/dist/dts/SortedSet.d.ts +2 -1
  403. package/dist/dts/SortedSet.d.ts.map +1 -1
  404. package/dist/dts/Stream.d.ts +5 -4
  405. package/dist/dts/Stream.d.ts.map +1 -1
  406. package/dist/dts/Streamable.d.ts.map +1 -1
  407. package/dist/dts/SubscriptionRef.d.ts +2 -1
  408. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  409. package/dist/dts/Supervisor.d.ts +2 -1
  410. package/dist/dts/Supervisor.d.ts.map +1 -1
  411. package/dist/dts/SynchronizedRef.d.ts +2 -1
  412. package/dist/dts/SynchronizedRef.d.ts.map +1 -1
  413. package/dist/dts/TArray.d.ts +2 -1
  414. package/dist/dts/TArray.d.ts.map +1 -1
  415. package/dist/dts/TDeferred.d.ts +3 -2
  416. package/dist/dts/TDeferred.d.ts.map +1 -1
  417. package/dist/dts/TMap.d.ts +3 -2
  418. package/dist/dts/TMap.d.ts.map +1 -1
  419. package/dist/dts/TPriorityQueue.d.ts +2 -1
  420. package/dist/dts/TPriorityQueue.d.ts.map +1 -1
  421. package/dist/dts/TPubSub.d.ts +2 -1
  422. package/dist/dts/TPubSub.d.ts.map +1 -1
  423. package/dist/dts/TQueue.d.ts +3 -2
  424. package/dist/dts/TQueue.d.ts.map +1 -1
  425. package/dist/dts/TRef.d.ts +2 -1
  426. package/dist/dts/TRef.d.ts.map +1 -1
  427. package/dist/dts/TSet.d.ts +2 -1
  428. package/dist/dts/TSet.d.ts.map +1 -1
  429. package/dist/dts/Take.d.ts +3 -2
  430. package/dist/dts/Take.d.ts.map +1 -1
  431. package/dist/dts/TestAnnotation.d.ts +2 -1
  432. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  433. package/dist/dts/TestContext.d.ts.map +1 -1
  434. package/dist/dts/Types.d.ts +21 -0
  435. package/dist/dts/Types.d.ts.map +1 -1
  436. package/dist/dts/UpstreamPullRequest.d.ts +2 -1
  437. package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
  438. package/dist/dts/UpstreamPullStrategy.d.ts +2 -1
  439. package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
  440. package/dist/dts/Utils.d.ts +6 -5
  441. package/dist/dts/Utils.d.ts.map +1 -1
  442. package/dist/dts/internal/config.d.ts +1 -2
  443. package/dist/dts/internal/config.d.ts.map +1 -1
  444. package/dist/dts/internal/core-stream.d.ts.map +1 -1
  445. package/dist/dts/internal/logger.d.ts.map +1 -1
  446. package/dist/dts/internal/metric/keyType.d.ts.map +1 -1
  447. package/dist/dts/internal/version.d.ts +1 -1
  448. package/dist/esm/BigDecimal.js +7 -7
  449. package/dist/esm/BigDecimal.js.map +1 -1
  450. package/dist/esm/BigInt.js.map +1 -1
  451. package/dist/esm/Boolean.js.map +1 -1
  452. package/dist/esm/Brand.js.map +1 -1
  453. package/dist/esm/Cache.js.map +1 -1
  454. package/dist/esm/Cause.js.map +1 -1
  455. package/dist/esm/Channel.js.map +1 -1
  456. package/dist/esm/Chunk.js +38 -29
  457. package/dist/esm/Chunk.js.map +1 -1
  458. package/dist/esm/Config.js +3 -3
  459. package/dist/esm/Config.js.map +1 -1
  460. package/dist/esm/Context.js.map +1 -1
  461. package/dist/esm/Data.js.map +1 -1
  462. package/dist/esm/Deferred.js.map +1 -1
  463. package/dist/esm/Differ.js.map +1 -1
  464. package/dist/esm/Duration.js +44 -2
  465. package/dist/esm/Duration.js.map +1 -1
  466. package/dist/esm/Effect.js +2 -7
  467. package/dist/esm/Effect.js.map +1 -1
  468. package/dist/esm/Either.js +35 -6
  469. package/dist/esm/Either.js.map +1 -1
  470. package/dist/esm/Equal.js.map +1 -1
  471. package/dist/esm/Equivalence.js +1 -1
  472. package/dist/esm/Equivalence.js.map +1 -1
  473. package/dist/esm/Fiber.js.map +1 -1
  474. package/dist/esm/FiberRef.js +5 -0
  475. package/dist/esm/FiberRef.js.map +1 -1
  476. package/dist/esm/Function.js.map +1 -1
  477. package/dist/esm/GlobalValue.js.map +1 -1
  478. package/dist/esm/GroupBy.js.map +1 -1
  479. package/dist/esm/HKT.js +0 -3
  480. package/dist/esm/HKT.js.map +1 -1
  481. package/dist/esm/Hash.js.map +1 -1
  482. package/dist/esm/Inspectable.js +2 -4
  483. package/dist/esm/Inspectable.js.map +1 -1
  484. package/dist/esm/KeyedPool.js.map +1 -1
  485. package/dist/esm/Layer.js +8 -28
  486. package/dist/esm/Layer.js.map +1 -1
  487. package/dist/esm/List.js +25 -22
  488. package/dist/esm/List.js.map +1 -1
  489. package/dist/esm/LogLevel.js.map +1 -1
  490. package/dist/esm/Logger.js.map +1 -1
  491. package/dist/esm/Match.js.map +1 -1
  492. package/dist/esm/MergeDecision.js.map +1 -1
  493. package/dist/esm/Metric.js.map +1 -1
  494. package/dist/esm/MetricHook.js.map +1 -1
  495. package/dist/esm/MetricKey.js.map +1 -1
  496. package/dist/esm/MetricKeyType.js.map +1 -1
  497. package/dist/esm/MetricPair.js.map +1 -1
  498. package/dist/esm/MetricState.js.map +1 -1
  499. package/dist/esm/MutableHashMap.js +2 -2
  500. package/dist/esm/MutableHashMap.js.map +1 -1
  501. package/dist/esm/MutableHashSet.js +2 -2
  502. package/dist/esm/MutableHashSet.js.map +1 -1
  503. package/dist/esm/MutableList.js +2 -2
  504. package/dist/esm/MutableList.js.map +1 -1
  505. package/dist/esm/MutableQueue.js +2 -2
  506. package/dist/esm/MutableQueue.js.map +1 -1
  507. package/dist/esm/MutableRef.js +2 -2
  508. package/dist/esm/MutableRef.js.map +1 -1
  509. package/dist/esm/NonEmptyIterable.js.map +1 -1
  510. package/dist/esm/Number.js.map +1 -1
  511. package/dist/esm/Option.js +19 -12
  512. package/dist/esm/Option.js.map +1 -1
  513. package/dist/esm/Order.js +1 -1
  514. package/dist/esm/Order.js.map +1 -1
  515. package/dist/esm/Ordering.js.map +1 -1
  516. package/dist/esm/Pipeable.js.map +1 -1
  517. package/dist/esm/Pool.js +15 -17
  518. package/dist/esm/Pool.js.map +1 -1
  519. package/dist/esm/Predicate.js.map +1 -1
  520. package/dist/esm/PrimaryKey.js +5 -0
  521. package/dist/esm/PrimaryKey.js.map +1 -1
  522. package/dist/esm/Queue.js.map +1 -1
  523. package/dist/esm/ReadonlyArray.js +193 -177
  524. package/dist/esm/ReadonlyArray.js.map +1 -1
  525. package/dist/esm/ReadonlyRecord.js +56 -5
  526. package/dist/esm/ReadonlyRecord.js.map +1 -1
  527. package/dist/esm/RedBlackTree.js.map +1 -1
  528. package/dist/esm/Ref.js.map +1 -1
  529. package/dist/esm/Reloadable.js.map +1 -1
  530. package/dist/esm/Request.js +7 -0
  531. package/dist/esm/Request.js.map +1 -1
  532. package/dist/esm/RequestBlock.js +3 -22
  533. package/dist/esm/RequestBlock.js.map +1 -1
  534. package/dist/esm/RequestResolver.js.map +1 -1
  535. package/dist/esm/Resource.js.map +1 -1
  536. package/dist/esm/STM.js.map +1 -1
  537. package/dist/esm/Schedule.js.map +1 -1
  538. package/dist/esm/Scheduler.js.map +1 -1
  539. package/dist/esm/ScopedCache.js.map +1 -1
  540. package/dist/esm/ScopedRef.js.map +1 -1
  541. package/dist/esm/Sink.js.map +1 -1
  542. package/dist/esm/SortedMap.js +2 -2
  543. package/dist/esm/SortedMap.js.map +1 -1
  544. package/dist/esm/SortedSet.js +2 -2
  545. package/dist/esm/SortedSet.js.map +1 -1
  546. package/dist/esm/Stream.js.map +1 -1
  547. package/dist/esm/Streamable.js +3 -0
  548. package/dist/esm/Streamable.js.map +1 -1
  549. package/dist/esm/String.js.map +1 -1
  550. package/dist/esm/Struct.js.map +1 -1
  551. package/dist/esm/SubscriptionRef.js.map +1 -1
  552. package/dist/esm/Supervisor.js.map +1 -1
  553. package/dist/esm/SynchronizedRef.js.map +1 -1
  554. package/dist/esm/TArray.js.map +1 -1
  555. package/dist/esm/TDeferred.js.map +1 -1
  556. package/dist/esm/TMap.js.map +1 -1
  557. package/dist/esm/TPriorityQueue.js.map +1 -1
  558. package/dist/esm/TPubSub.js.map +1 -1
  559. package/dist/esm/TQueue.js.map +1 -1
  560. package/dist/esm/TRef.js.map +1 -1
  561. package/dist/esm/TSet.js.map +1 -1
  562. package/dist/esm/Take.js.map +1 -1
  563. package/dist/esm/TestAnnotation.js.map +1 -1
  564. package/dist/esm/TestAnnotationMap.js.map +1 -1
  565. package/dist/esm/TestAnnotations.js.map +1 -1
  566. package/dist/esm/TestClock.js.map +1 -1
  567. package/dist/esm/TestContext.js +2 -2
  568. package/dist/esm/TestContext.js.map +1 -1
  569. package/dist/esm/UpstreamPullRequest.js.map +1 -1
  570. package/dist/esm/UpstreamPullStrategy.js.map +1 -1
  571. package/dist/esm/Utils.js.map +1 -1
  572. package/dist/esm/internal/Iterable.js.map +1 -1
  573. package/dist/esm/internal/blockedRequests.js +3 -2
  574. package/dist/esm/internal/blockedRequests.js.map +1 -1
  575. package/dist/esm/internal/cache.js +3 -0
  576. package/dist/esm/internal/cache.js.map +1 -1
  577. package/dist/esm/internal/cause.js +1 -1
  578. package/dist/esm/internal/cause.js.map +1 -1
  579. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  580. package/dist/esm/internal/channel/channelState.js +2 -1
  581. package/dist/esm/internal/channel/channelState.js.map +1 -1
  582. package/dist/esm/internal/channel/childExecutorDecision.js.map +1 -1
  583. package/dist/esm/internal/channel/continuation.js +9 -1
  584. package/dist/esm/internal/channel/continuation.js.map +1 -1
  585. package/dist/esm/internal/channel/mergeDecision.js.map +1 -1
  586. package/dist/esm/internal/channel/mergeState.js.map +1 -1
  587. package/dist/esm/internal/channel/mergeStrategy.js.map +1 -1
  588. package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
  589. package/dist/esm/internal/channel/subexecutor.js.map +1 -1
  590. package/dist/esm/internal/channel/upstreamPullRequest.js +1 -1
  591. package/dist/esm/internal/channel/upstreamPullRequest.js.map +1 -1
  592. package/dist/esm/internal/channel/upstreamPullStrategy.js +1 -1
  593. package/dist/esm/internal/channel/upstreamPullStrategy.js.map +1 -1
  594. package/dist/esm/internal/channel.js.map +1 -1
  595. package/dist/esm/internal/clock.js.map +1 -1
  596. package/dist/esm/internal/concurrency.js.map +1 -1
  597. package/dist/esm/internal/config.js +15 -22
  598. package/dist/esm/internal/config.js.map +1 -1
  599. package/dist/esm/internal/configError.js +2 -2
  600. package/dist/esm/internal/configError.js.map +1 -1
  601. package/dist/esm/internal/configProvider/pathPatch.js.map +1 -1
  602. package/dist/esm/internal/configProvider.js +5 -3
  603. package/dist/esm/internal/configProvider.js.map +1 -1
  604. package/dist/esm/internal/configSecret.js.map +1 -1
  605. package/dist/esm/internal/context.js +6 -6
  606. package/dist/esm/internal/context.js.map +1 -1
  607. package/dist/esm/internal/core-effect.js +13 -9
  608. package/dist/esm/internal/core-effect.js.map +1 -1
  609. package/dist/esm/internal/core-stream.js +7 -1
  610. package/dist/esm/internal/core-stream.js.map +1 -1
  611. package/dist/esm/internal/core.js +46 -75
  612. package/dist/esm/internal/core.js.map +1 -1
  613. package/dist/esm/internal/data.js.map +1 -1
  614. package/dist/esm/internal/dataSource.js.map +1 -1
  615. package/dist/esm/internal/deferred.js +2 -0
  616. package/dist/esm/internal/deferred.js.map +1 -1
  617. package/dist/esm/internal/differ/chunkPatch.js.map +1 -1
  618. package/dist/esm/internal/differ/contextPatch.js.map +1 -1
  619. package/dist/esm/internal/differ/hashMapPatch.js.map +1 -1
  620. package/dist/esm/internal/differ/hashSetPatch.js.map +1 -1
  621. package/dist/esm/internal/differ/orPatch.js.map +1 -1
  622. package/dist/esm/internal/differ.js.map +1 -1
  623. package/dist/esm/internal/effect/circular.js +1 -0
  624. package/dist/esm/internal/effect/circular.js.map +1 -1
  625. package/dist/esm/internal/effectable.js +17 -4
  626. package/dist/esm/internal/effectable.js.map +1 -1
  627. package/dist/esm/internal/either.js +2 -2
  628. package/dist/esm/internal/either.js.map +1 -1
  629. package/dist/esm/internal/encoding/base64.js.map +1 -1
  630. package/dist/esm/internal/encoding/base64Url.js.map +1 -1
  631. package/dist/esm/internal/encoding/common.js.map +1 -1
  632. package/dist/esm/internal/encoding/hex.js.map +1 -1
  633. package/dist/esm/internal/executionStrategy.js.map +1 -1
  634. package/dist/esm/internal/fiber.js +2 -0
  635. package/dist/esm/internal/fiber.js.map +1 -1
  636. package/dist/esm/internal/fiberId.js +4 -4
  637. package/dist/esm/internal/fiberId.js.map +1 -1
  638. package/dist/esm/internal/fiberRefs/patch.js.map +1 -1
  639. package/dist/esm/internal/fiberRefs.js.map +1 -1
  640. package/dist/esm/internal/fiberRuntime.js +169 -205
  641. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  642. package/dist/esm/internal/groupBy.js +4 -1
  643. package/dist/esm/internal/groupBy.js.map +1 -1
  644. package/dist/esm/internal/hashMap/array.js.map +1 -1
  645. package/dist/esm/internal/hashMap/node.js.map +1 -1
  646. package/dist/esm/internal/hashMap.js +2 -2
  647. package/dist/esm/internal/hashMap.js.map +1 -1
  648. package/dist/esm/internal/hashSet.js +2 -2
  649. package/dist/esm/internal/hashSet.js.map +1 -1
  650. package/dist/esm/internal/keyedPool.js +3 -0
  651. package/dist/esm/internal/keyedPool.js.map +1 -1
  652. package/dist/esm/internal/layer.js +22 -52
  653. package/dist/esm/internal/layer.js.map +1 -1
  654. package/dist/esm/internal/logger.js +2 -1
  655. package/dist/esm/internal/logger.js.map +1 -1
  656. package/dist/esm/internal/matcher.js.map +1 -1
  657. package/dist/esm/internal/metric/hook.js +2 -1
  658. package/dist/esm/internal/metric/hook.js.map +1 -1
  659. package/dist/esm/internal/metric/key.js +1 -1
  660. package/dist/esm/internal/metric/key.js.map +1 -1
  661. package/dist/esm/internal/metric/keyType.js +2 -1
  662. package/dist/esm/internal/metric/keyType.js.map +1 -1
  663. package/dist/esm/internal/metric/pair.js +1 -1
  664. package/dist/esm/internal/metric/pair.js.map +1 -1
  665. package/dist/esm/internal/metric/polling.js.map +1 -1
  666. package/dist/esm/internal/metric/registry.js.map +1 -1
  667. package/dist/esm/internal/metric/state.js +1 -1
  668. package/dist/esm/internal/metric/state.js.map +1 -1
  669. package/dist/esm/internal/metric.js +7 -5
  670. package/dist/esm/internal/metric.js.map +1 -1
  671. package/dist/esm/internal/opCodes/layer.js +3 -3
  672. package/dist/esm/internal/opCodes/layer.js.map +1 -1
  673. package/dist/esm/internal/option.js +2 -2
  674. package/dist/esm/internal/option.js.map +1 -1
  675. package/dist/esm/internal/pool.js +2 -0
  676. package/dist/esm/internal/pool.js.map +1 -1
  677. package/dist/esm/internal/pubsub.js +1 -1
  678. package/dist/esm/internal/pubsub.js.map +1 -1
  679. package/dist/esm/internal/query.js +1 -1
  680. package/dist/esm/internal/query.js.map +1 -1
  681. package/dist/esm/internal/queue.js +6 -4
  682. package/dist/esm/internal/queue.js.map +1 -1
  683. package/dist/esm/internal/random.js.map +1 -1
  684. package/dist/esm/internal/redBlackTree/iterator.js.map +1 -1
  685. package/dist/esm/internal/redBlackTree.js +4 -2
  686. package/dist/esm/internal/redBlackTree.js.map +1 -1
  687. package/dist/esm/internal/ref.js +1 -0
  688. package/dist/esm/internal/ref.js.map +1 -1
  689. package/dist/esm/internal/reloadable.js +1 -1
  690. package/dist/esm/internal/reloadable.js.map +1 -1
  691. package/dist/esm/internal/request.js +4 -1
  692. package/dist/esm/internal/request.js.map +1 -1
  693. package/dist/esm/internal/resource.js +2 -1
  694. package/dist/esm/internal/resource.js.map +1 -1
  695. package/dist/esm/internal/ringBuffer.js.map +1 -1
  696. package/dist/esm/internal/runtime.js +2 -2
  697. package/dist/esm/internal/runtime.js.map +1 -1
  698. package/dist/esm/internal/runtimeFlags.js.map +1 -1
  699. package/dist/esm/internal/schedule/interval.js.map +1 -1
  700. package/dist/esm/internal/schedule/intervals.js.map +1 -1
  701. package/dist/esm/internal/schedule.js +6 -1
  702. package/dist/esm/internal/schedule.js.map +1 -1
  703. package/dist/esm/internal/scopedCache.js +5 -2
  704. package/dist/esm/internal/scopedCache.js.map +1 -1
  705. package/dist/esm/internal/scopedRef.js +1 -0
  706. package/dist/esm/internal/scopedRef.js.map +1 -1
  707. package/dist/esm/internal/sink.js +5 -1
  708. package/dist/esm/internal/sink.js.map +1 -1
  709. package/dist/esm/internal/stm/core.js +3 -1
  710. package/dist/esm/internal/stm/core.js.map +1 -1
  711. package/dist/esm/internal/stm/stm/journal.js.map +1 -1
  712. package/dist/esm/internal/stm/stm/stmState.js.map +1 -1
  713. package/dist/esm/internal/stm/stm/tExit.js +2 -1
  714. package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
  715. package/dist/esm/internal/stm/stm.js.map +1 -1
  716. package/dist/esm/internal/stm/tArray.js +1 -1
  717. package/dist/esm/internal/stm/tArray.js.map +1 -1
  718. package/dist/esm/internal/stm/tMap.js +2 -1
  719. package/dist/esm/internal/stm/tMap.js.map +1 -1
  720. package/dist/esm/internal/stm/tPriorityQueue.js +1 -1
  721. package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
  722. package/dist/esm/internal/stm/tPubSub.js.map +1 -1
  723. package/dist/esm/internal/stm/tQueue.js +2 -0
  724. package/dist/esm/internal/stm/tQueue.js.map +1 -1
  725. package/dist/esm/internal/stm/tRandom.js.map +1 -1
  726. package/dist/esm/internal/stm/tReentrantLock.js.map +1 -1
  727. package/dist/esm/internal/stm/tRef.js +1 -1
  728. package/dist/esm/internal/stm/tRef.js.map +1 -1
  729. package/dist/esm/internal/stm/tSemaphore.js.map +1 -1
  730. package/dist/esm/internal/stm/tSet.js +1 -1
  731. package/dist/esm/internal/stm/tSet.js.map +1 -1
  732. package/dist/esm/internal/stream/haltStrategy.js.map +1 -1
  733. package/dist/esm/internal/stream/handoff.js +1 -1
  734. package/dist/esm/internal/stream/handoff.js.map +1 -1
  735. package/dist/esm/internal/stream.js +1 -1
  736. package/dist/esm/internal/stream.js.map +1 -1
  737. package/dist/esm/internal/string-utils.js.map +1 -1
  738. package/dist/esm/internal/subscriptionRef.js +1 -1
  739. package/dist/esm/internal/subscriptionRef.js.map +1 -1
  740. package/dist/esm/internal/supervisor/patch.js.map +1 -1
  741. package/dist/esm/internal/supervisor.js +1 -0
  742. package/dist/esm/internal/supervisor.js.map +1 -1
  743. package/dist/esm/internal/synchronizedRef.js.map +1 -1
  744. package/dist/esm/internal/take.js +2 -1
  745. package/dist/esm/internal/take.js.map +1 -1
  746. package/dist/esm/internal/version.js +1 -1
  747. package/package.json +1 -1
  748. package/src/BigDecimal.ts +7 -7
  749. package/src/Cache.ts +4 -3
  750. package/src/Cause.ts +2 -1
  751. package/src/Channel.ts +8 -7
  752. package/src/Chunk.ts +66 -57
  753. package/src/Config.ts +16 -16
  754. package/src/Context.ts +4 -3
  755. package/src/Data.ts +4 -4
  756. package/src/Deferred.ts +3 -2
  757. package/src/Differ.ts +15 -14
  758. package/src/Duration.ts +54 -2
  759. package/src/Effect.ts +18 -29
  760. package/src/Either.ts +65 -10
  761. package/src/Equivalence.ts +1 -1
  762. package/src/Fiber.ts +5 -4
  763. package/src/FiberRef.ts +8 -1
  764. package/src/GroupBy.ts +5 -4
  765. package/src/HKT.ts +5 -4
  766. package/src/Inspectable.ts +2 -4
  767. package/src/KeyedPool.ts +4 -3
  768. package/src/Layer.ts +19 -56
  769. package/src/List.ts +44 -43
  770. package/src/Logger.ts +3 -2
  771. package/src/Match.ts +50 -38
  772. package/src/MergeDecision.ts +6 -5
  773. package/src/Metric.ts +8 -5
  774. package/src/MetricHook.ts +3 -2
  775. package/src/MetricKey.ts +2 -1
  776. package/src/MetricKeyType.ts +3 -2
  777. package/src/MetricPair.ts +2 -1
  778. package/src/MetricState.ts +2 -1
  779. package/src/MutableHashMap.ts +2 -2
  780. package/src/MutableHashSet.ts +2 -2
  781. package/src/MutableList.ts +2 -2
  782. package/src/MutableQueue.ts +2 -2
  783. package/src/MutableRef.ts +2 -2
  784. package/src/Option.ts +32 -14
  785. package/src/Order.ts +1 -1
  786. package/src/Pool.ts +18 -19
  787. package/src/PrimaryKey.ts +6 -0
  788. package/src/Queue.ts +5 -4
  789. package/src/ReadonlyArray.ts +300 -324
  790. package/src/ReadonlyRecord.ts +60 -5
  791. package/src/RedBlackTree.ts +3 -2
  792. package/src/Ref.ts +2 -1
  793. package/src/Reloadable.ts +2 -1
  794. package/src/Request.ts +15 -3
  795. package/src/RequestBlock.ts +22 -61
  796. package/src/RequestResolver.ts +3 -2
  797. package/src/Resource.ts +3 -2
  798. package/src/STM.ts +4 -3
  799. package/src/Schedule.ts +7 -6
  800. package/src/ScopedCache.ts +4 -3
  801. package/src/ScopedRef.ts +2 -1
  802. package/src/Sink.ts +6 -5
  803. package/src/SortedMap.ts +5 -4
  804. package/src/SortedSet.ts +4 -3
  805. package/src/Stream.ts +5 -4
  806. package/src/Streamable.ts +3 -0
  807. package/src/SubscriptionRef.ts +2 -1
  808. package/src/Supervisor.ts +2 -1
  809. package/src/SynchronizedRef.ts +2 -1
  810. package/src/TArray.ts +2 -1
  811. package/src/TDeferred.ts +3 -2
  812. package/src/TMap.ts +3 -2
  813. package/src/TPriorityQueue.ts +2 -1
  814. package/src/TPubSub.ts +2 -1
  815. package/src/TQueue.ts +3 -2
  816. package/src/TRef.ts +2 -1
  817. package/src/TSet.ts +2 -1
  818. package/src/Take.ts +3 -2
  819. package/src/TestAnnotation.ts +2 -2
  820. package/src/TestContext.ts +5 -4
  821. package/src/Types.ts +24 -0
  822. package/src/UpstreamPullRequest.ts +2 -1
  823. package/src/UpstreamPullStrategy.ts +2 -1
  824. package/src/Utils.ts +6 -5
  825. package/src/internal/blockedRequests.ts +78 -81
  826. package/src/internal/cache.ts +3 -0
  827. package/src/internal/cause.ts +1 -1
  828. package/src/internal/channel/channelState.ts +5 -3
  829. package/src/internal/channel/continuation.ts +19 -10
  830. package/src/internal/channel/upstreamPullRequest.ts +1 -1
  831. package/src/internal/channel/upstreamPullStrategy.ts +1 -1
  832. package/src/internal/config.ts +15 -23
  833. package/src/internal/configError.ts +2 -2
  834. package/src/internal/configProvider.ts +6 -4
  835. package/src/internal/context.ts +6 -6
  836. package/src/internal/core-effect.ts +27 -30
  837. package/src/internal/core-stream.ts +7 -1
  838. package/src/internal/core.ts +78 -118
  839. package/src/internal/deferred.ts +2 -0
  840. package/src/internal/effect/circular.ts +1 -0
  841. package/src/internal/effectable.ts +18 -4
  842. package/src/internal/either.ts +2 -2
  843. package/src/internal/fiber.ts +2 -0
  844. package/src/internal/fiberId.ts +4 -4
  845. package/src/internal/fiberRuntime.ts +228 -269
  846. package/src/internal/groupBy.ts +4 -1
  847. package/src/internal/hashMap.ts +2 -2
  848. package/src/internal/hashSet.ts +2 -2
  849. package/src/internal/keyedPool.ts +3 -0
  850. package/src/internal/layer.ts +29 -77
  851. package/src/internal/logger.ts +2 -1
  852. package/src/internal/metric/hook.ts +2 -1
  853. package/src/internal/metric/key.ts +1 -1
  854. package/src/internal/metric/keyType.ts +2 -1
  855. package/src/internal/metric/pair.ts +1 -1
  856. package/src/internal/metric/state.ts +1 -1
  857. package/src/internal/metric.ts +8 -5
  858. package/src/internal/opCodes/layer.ts +6 -6
  859. package/src/internal/option.ts +2 -2
  860. package/src/internal/pool.ts +2 -0
  861. package/src/internal/pubsub.ts +2 -1
  862. package/src/internal/query.ts +1 -1
  863. package/src/internal/queue.ts +18 -10
  864. package/src/internal/redBlackTree.ts +4 -2
  865. package/src/internal/ref.ts +1 -0
  866. package/src/internal/reloadable.ts +1 -1
  867. package/src/internal/request.ts +14 -1
  868. package/src/internal/resource.ts +2 -1
  869. package/src/internal/runtime.ts +2 -2
  870. package/src/internal/schedule.ts +6 -1
  871. package/src/internal/scopedCache.ts +7 -2
  872. package/src/internal/scopedRef.ts +1 -0
  873. package/src/internal/sink.ts +5 -1
  874. package/src/internal/stm/core.ts +3 -1
  875. package/src/internal/stm/stm/tExit.ts +5 -3
  876. package/src/internal/stm/tArray.ts +1 -1
  877. package/src/internal/stm/tMap.ts +2 -1
  878. package/src/internal/stm/tPriorityQueue.ts +1 -1
  879. package/src/internal/stm/tQueue.ts +2 -0
  880. package/src/internal/stm/tRef.ts +1 -1
  881. package/src/internal/stm/tSet.ts +1 -1
  882. package/src/internal/stream/handoff.ts +1 -1
  883. package/src/internal/stream.ts +2 -2
  884. package/src/internal/subscriptionRef.ts +1 -1
  885. package/src/internal/supervisor.ts +1 -0
  886. package/src/internal/take.ts +2 -1
  887. package/src/internal/version.ts +1 -1
package/src/GroupBy.ts CHANGED
@@ -7,6 +7,7 @@ import type { Predicate } from "./Predicate.js"
7
7
  import type * as Queue from "./Queue.js"
8
8
  import type * as Stream from "./Stream.js"
9
9
  import type * as Take from "./Take.js"
10
+ import type * as Types from "./Types.js"
10
11
 
11
12
  /**
12
13
  * @since 2.0.0
@@ -42,10 +43,10 @@ export declare namespace GroupBy {
42
43
  */
43
44
  export interface Variance<out R, out E, out K, out V> {
44
45
  readonly [GroupByTypeId]: {
45
- readonly _R: (_: never) => R
46
- readonly _E: (_: never) => E
47
- readonly _K: (_: never) => K
48
- readonly _V: (_: never) => V
46
+ readonly _R: Types.Covariant<R>
47
+ readonly _E: Types.Covariant<E>
48
+ readonly _K: Types.Covariant<K>
49
+ readonly _V: Types.Covariant<V>
49
50
  }
50
51
  }
51
52
  }
package/src/HKT.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @since 2.0.0
3
3
  */
4
+ import type * as Types from "./Types.js"
4
5
 
5
6
  /**
6
7
  * @since 2.0.0
@@ -37,8 +38,8 @@ export type Kind<F extends TypeLambda, In, Out2, Out1, Target> = F extends {
37
38
  })["type"]
38
39
  : {
39
40
  readonly F: F
40
- readonly In: (_: In) => void
41
- readonly Out2: () => Out2
42
- readonly Out1: () => Out1
43
- readonly Target: (_: Target) => Target
41
+ readonly In: Types.Contravariant<In>
42
+ readonly Out2: Types.Covariant<Out2>
43
+ readonly Out1: Types.Covariant<Out1>
44
+ readonly Target: Types.Invariant<Target>
44
45
  }
@@ -41,7 +41,5 @@ export const toJSON = (x: unknown): unknown => {
41
41
  return x
42
42
  }
43
43
 
44
- /**
45
- * @since 2.0.0
46
- */
47
- export const toString = (x: unknown): string => JSON.stringify(x, null, 2)
44
+ /** @internal */
45
+ export const format = (x: unknown): string => JSON.stringify(x, null, 2)
package/src/KeyedPool.ts CHANGED
@@ -6,6 +6,7 @@ import type * as Effect from "./Effect.js"
6
6
  import * as internal from "./internal/keyedPool.js"
7
7
  import type { Pipeable } from "./Pipeable.js"
8
8
  import type * as Scope from "./Scope.js"
9
+ import type * as Types from "./Types.js"
9
10
 
10
11
  /**
11
12
  * @since 2.0.0
@@ -53,9 +54,9 @@ export declare namespace KeyedPool {
53
54
  */
54
55
  export interface Variance<in K, out E, in out A> {
55
56
  readonly [KeyedPoolTypeId]: {
56
- readonly _K: (_: K) => void
57
- readonly _E: (_: never) => E
58
- readonly _A: (_: A) => A
57
+ readonly _K: Types.Contravariant<K>
58
+ readonly _E: Types.Covariant<E>
59
+ readonly _A: Types.Invariant<A>
59
60
  }
60
61
  }
61
62
  }
package/src/Layer.ts CHANGED
@@ -41,6 +41,7 @@ import type * as Schedule from "./Schedule.js"
41
41
  import * as Scheduler from "./Scheduler.js"
42
42
  import type * as Scope from "./Scope.js"
43
43
  import type * as Tracer from "./Tracer.js"
44
+ import type * as Types from "./Types.js"
44
45
 
45
46
  /**
46
47
  * @since 2.0.0
@@ -70,9 +71,9 @@ export declare namespace Layer {
70
71
  */
71
72
  export interface Variance<out RIn, out E, in ROut> {
72
73
  readonly [LayerTypeId]: {
73
- readonly _RIn: (_: never) => RIn
74
- readonly _E: (_: never) => E
75
- readonly _ROut: (_: ROut) => void
74
+ readonly _RIn: Types.Covariant<RIn>
75
+ readonly _E: Types.Covariant<E>
76
+ readonly _ROut: Types.Contravariant<ROut>
76
77
  }
77
78
  }
78
79
  /**
@@ -415,24 +416,23 @@ export const memoize: <RIn, E, ROut>(
415
416
  ) => Effect.Effect<Scope.Scope, never, Layer<RIn, E, ROut>> = internal.memoize
416
417
 
417
418
  /**
418
- * Combines this layer with the specified layer, producing a new layer that
419
- * has the inputs and outputs of both.
419
+ * Merges this layer with the specified layer concurrently, producing a new layer with combined input and output types.
420
420
  *
421
421
  * @since 2.0.0
422
- * @category utils
422
+ * @category zipping
423
423
  */
424
424
  export const merge: {
425
425
  <RIn2, E2, ROut2>(
426
426
  that: Layer<RIn2, E2, ROut2>
427
- ): <RIn, E, ROut>(self: Layer<RIn, E, ROut>) => Layer<RIn2 | RIn, E2 | E, ROut2 | ROut>
428
- <RIn, E, ROut, RIn2, E2, ROut2>(
429
- self: Layer<RIn, E, ROut>,
427
+ ): <RIn, E1, ROut>(self: Layer<RIn, E1, ROut>) => Layer<RIn2 | RIn, E2 | E1, ROut2 | ROut>
428
+ <RIn, E1, ROut, RIn2, E2, ROut2>(
429
+ self: Layer<RIn, E1, ROut>,
430
430
  that: Layer<RIn2, E2, ROut2>
431
- ): Layer<RIn | RIn2, E | E2, ROut | ROut2>
431
+ ): Layer<RIn | RIn2, E1 | E2, ROut | ROut2>
432
432
  } = internal.merge
433
433
 
434
434
  /**
435
- * Merges all the layers together in parallel.
435
+ * Combines all the provided layers concurrently, creating a new layer with merged input, error, and output types.
436
436
  *
437
437
  * @since 2.0.0
438
438
  * @category zipping
@@ -496,24 +496,6 @@ export const project: {
496
496
  ): Layer<RIn, E, Context.Tag.Identifier<B>>
497
497
  } = internal.project
498
498
 
499
- /**
500
- * Feeds the output services of this builder into the input of the specified
501
- * builder, resulting in a new builder with the inputs of this builder as
502
- * well as any leftover inputs, and the outputs of the specified builder.
503
- *
504
- * @since 2.0.0
505
- * @category utils
506
- */
507
- export const provide: {
508
- <RIn2, E2, ROut2>(
509
- that: Layer<RIn2, E2, ROut2>
510
- ): <RIn, E, ROut>(self: Layer<RIn, E, ROut>) => Layer<RIn | Exclude<RIn2, ROut>, E2 | E, ROut2>
511
- <RIn, E, ROut, RIn2, E2, ROut2>(
512
- self: Layer<RIn, E, ROut>,
513
- that: Layer<RIn2, E2, ROut2>
514
- ): Layer<RIn | Exclude<RIn2, ROut>, E | E2, ROut2>
515
- } = internal.provide
516
-
517
499
  /**
518
500
  * @since 2.0.0
519
501
  * @category utils
@@ -567,24 +549,6 @@ export const locallyScoped: <A>(self: FiberRef<A>, value: A) => Layer<never, nev
567
549
  export const fiberRefLocallyScopedWith: <A>(self: FiberRef<A>, value: (_: A) => A) => Layer<never, never, never> =
568
550
  internal.fiberRefLocallyScopedWith
569
551
 
570
- /**
571
- * Feeds the output services of this layer into the input of the specified
572
- * layer, resulting in a new layer with the inputs of this layer, and the
573
- * outputs of both layers.
574
- *
575
- * @since 2.0.0
576
- * @category utils
577
- */
578
- export const provideMerge: {
579
- <RIn2, E2, ROut2>(
580
- that: Layer<RIn2, E2, ROut2>
581
- ): <RIn, E, ROut>(self: Layer<RIn, E, ROut>) => Layer<RIn | Exclude<RIn2, ROut>, E2 | E, ROut2 | ROut>
582
- <RIn, E, ROut, RIn2, E2, ROut2>(
583
- self: Layer<RIn, E, ROut>,
584
- that: Layer<RIn2, E2, ROut2>
585
- ): Layer<RIn | Exclude<RIn2, ROut>, E | E2, ROut | ROut2>
586
- } = internal.provideMerge
587
-
588
552
  /**
589
553
  * Retries constructing this layer according to the specified schedule.
590
554
  *
@@ -787,7 +751,7 @@ export const toRuntime: <RIn, E, ROut>(
787
751
  * @since 2.0.0
788
752
  * @category utils
789
753
  */
790
- export const use: {
754
+ export const provide: {
791
755
  <RIn, E, ROut>(
792
756
  self: Layer<RIn, E, ROut>
793
757
  ): <RIn2, E2, ROut2>(that: Layer<RIn2, E2, ROut2>) => Layer<RIn | Exclude<RIn2, ROut>, E | E2, ROut2>
@@ -795,7 +759,7 @@ export const use: {
795
759
  that: Layer<RIn2, E2, ROut2>,
796
760
  self: Layer<RIn, E, ROut>
797
761
  ): Layer<RIn | Exclude<RIn2, ROut>, E2 | E, ROut2>
798
- } = internal.use
762
+ } = internal.provide
799
763
 
800
764
  /**
801
765
  * Feeds the output services of this layer into the input of the specified
@@ -805,7 +769,7 @@ export const use: {
805
769
  * @since 2.0.0
806
770
  * @category utils
807
771
  */
808
- export const useMerge: {
772
+ export const provideMerge: {
809
773
  <RIn, E, ROut>(
810
774
  self: Layer<RIn, E, ROut>
811
775
  ): <RIn2, E2, ROut2>(that: Layer<RIn2, E2, ROut2>) => Layer<RIn | Exclude<RIn2, ROut>, E | E2, ROut | ROut2>
@@ -813,17 +777,16 @@ export const useMerge: {
813
777
  that: Layer<RIn2, E2, ROut2>,
814
778
  self: Layer<RIn, E, ROut>
815
779
  ): Layer<RIn | Exclude<RIn2, ROut>, E2 | E, ROut2 | ROut>
816
- } = internal.useMerge
780
+ } = internal.provideMerge
817
781
 
818
782
  /**
819
- * Combines this layer the specified layer, producing a new layer that has the
820
- * inputs of both, and the outputs of both combined using the specified
821
- * function.
783
+ * Combines this layer with the specified layer concurrently, creating a new layer with merged input types and
784
+ * combined output types using the provided function.
822
785
  *
823
786
  * @since 2.0.0
824
787
  * @category zipping
825
788
  */
826
- export const zipWithPar: {
789
+ export const zipWith: {
827
790
  <R2, E2, B, A, C>(
828
791
  that: Layer<R2, E2, B>,
829
792
  f: (a: Context.Context<A>, b: Context.Context<B>) => Context.Context<C>
@@ -833,7 +796,7 @@ export const zipWithPar: {
833
796
  that: Layer<R2, E2, B>,
834
797
  f: (a: Context.Context<A>, b: Context.Context<B>) => Context.Context<C>
835
798
  ): Layer<R | R2, E | E2, C>
836
- } = internal.zipWithPar
799
+ } = internal.zipWith
837
800
 
838
801
  /**
839
802
  * @since 2.0.0
package/src/List.ts CHANGED
@@ -27,7 +27,7 @@ import * as Equal from "./Equal.js"
27
27
  import * as Equivalence from "./Equivalence.js"
28
28
  import { dual, identity, unsafeCoerce } from "./Function.js"
29
29
  import * as Hash from "./Hash.js"
30
- import { type Inspectable, NodeInspectSymbol, toJSON, toString } from "./Inspectable.js"
30
+ import { format, type Inspectable, NodeInspectSymbol, toJSON } from "./Inspectable.js"
31
31
  import * as Option from "./Option.js"
32
32
  import type { Pipeable } from "./Pipeable.js"
33
33
  import { pipeArguments } from "./Pipeable.js"
@@ -99,7 +99,7 @@ const ConsProto: Omit<Cons<unknown>, "head" | "tail"> = {
99
99
  [TypeId]: TypeId,
100
100
  _tag: "Cons",
101
101
  toString(this: Cons<unknown>) {
102
- return toString(this.toJSON())
102
+ return format(this.toJSON())
103
103
  },
104
104
  toJSON(this: Cons<unknown>) {
105
105
  return {
@@ -165,7 +165,7 @@ const NilProto: Nil<unknown> = {
165
165
  [TypeId]: TypeId,
166
166
  _tag: "Nil",
167
167
  toString() {
168
- return toString(this.toJSON())
168
+ return format(this.toJSON())
169
169
  },
170
170
  toJSON() {
171
171
  return {
@@ -315,29 +315,29 @@ export const make = <Elements extends readonly [any, ...Array<any>]>(
315
315
  export const append: {
316
316
  <B>(element: B): <A>(self: List<A>) => Cons<A | B>
317
317
  <A, B>(self: List<A>, element: B): Cons<A | B>
318
- } = dual(2, <A, B>(self: List<A>, element: B): Cons<A | B> => appendAllNonEmpty(self, of(element)))
318
+ } = dual(2, <A, B>(self: List<A>, element: B): Cons<A | B> => appendAll(self, of(element)))
319
319
 
320
320
  /**
321
- * Concatentates the specified lists together.
321
+ * Concatenates two lists, combining their elements.
322
+ * If either list is non-empty, the result is also a non-empty list.
323
+ *
324
+ * @example
325
+ * import * as List from "effect/List"
326
+ *
327
+ * assert.deepStrictEqual(
328
+ * List.make(1, 2).pipe(List.appendAll(List.make("a", "b")), List.toArray),
329
+ * [1, 2, "a", "b"]
330
+ * )
322
331
  *
323
332
  * @category concatenating
324
333
  * @since 2.0.0
325
334
  */
326
335
  export const appendAll: {
327
- <B>(that: List<B>): <A>(self: List<A>) => List<A | B>
328
- <A, B>(self: List<A>, that: List<B>): List<A | B>
329
- } = dual(2, <A, B>(self: List<A>, that: List<B>): List<A | B> => prependAll(that, self))
330
-
331
- /**
332
- * @category concatenating
333
- * @since 2.0.0
334
- */
335
- export const appendAllNonEmpty: {
336
- <B>(that: Cons<B>): <A>(self: List<A>) => Cons<B | A>
337
- <B>(that: List<B>): <A>(self: Cons<A>) => Cons<B | A>
336
+ <S extends List<any>, T extends List<any>>(that: T): (self: S) => List.With2<S, T, List.Infer<S> | List.Infer<T>>
338
337
  <A, B>(self: List<A>, that: Cons<B>): Cons<A | B>
339
338
  <A, B>(self: Cons<A>, that: List<B>): Cons<A | B>
340
- } = dual(2, <A, B>(self: Cons<A>, that: List<B>): Cons<A | B> => appendAll(self, that) as any)
339
+ <A, B>(self: List<A>, that: List<B>): List<A | B>
340
+ } = dual(2, <A, B>(self: List<A>, that: List<B>): List<A | B> => prependAll(that, self))
341
341
 
342
342
  /**
343
343
  * Prepends the specified element to the beginning of the list.
@@ -352,13 +352,24 @@ export const prepend: {
352
352
 
353
353
  /**
354
354
  * Prepends the specified prefix list to the beginning of the specified list.
355
+ * If either list is non-empty, the result is also a non-empty list.
356
+ *
357
+ * @example
358
+ * import * as List from "effect/List"
359
+ *
360
+ * assert.deepStrictEqual(
361
+ * List.make(1, 2).pipe(List.prependAll(List.make("a", "b")), List.toArray),
362
+ * ["a", "b", 1, 2]
363
+ * )
355
364
  *
356
365
  * @category concatenating
357
366
  * @since 2.0.0
358
367
  */
359
368
  export const prependAll: {
360
- <B>(prefix: List<B>): <A>(self: List<A>) => List<A | B>
361
- <A, B>(self: List<A>, prefix: List<B>): List<A | B>
369
+ <S extends List<any>, T extends List<any>>(that: T): (self: S) => List.With2<S, T, List.Infer<S> | List.Infer<T>>
370
+ <A, B>(self: List<A>, that: Cons<B>): Cons<A | B>
371
+ <A, B>(self: Cons<A>, that: List<B>): Cons<A | B>
372
+ <A, B>(self: List<A>, that: List<B>): List<A | B>
362
373
  } = dual(2, <A, B>(self: List<A>, prefix: List<B>): List<A | B> => {
363
374
  if (isNil(self)) {
364
375
  return prefix
@@ -378,17 +389,6 @@ export const prependAll: {
378
389
  }
379
390
  })
380
391
 
381
- /**
382
- * @category concatenating
383
- * @since 2.0.0
384
- */
385
- export const prependAllNonEmpty: {
386
- <B>(that: Cons<B>): <A>(self: List<A>) => Cons<B | A>
387
- <B>(that: List<B>): <A>(self: Cons<A>) => Cons<B | A>
388
- <A, B>(self: List<A>, that: Cons<B>): Cons<A | B>
389
- <A, B>(self: Cons<A>, that: List<B>): Cons<A | B>
390
- } = dual(2, <A, B>(self: Cons<A>, that: List<B>): Cons<A | B> => prependAll(self, that) as any)
391
-
392
392
  /**
393
393
  * Prepends the specified prefix list (in reverse order) to the beginning of the
394
394
  * specified list.
@@ -633,14 +633,17 @@ export const findFirst: {
633
633
  })
634
634
 
635
635
  /**
636
- * Flat maps a list using the specified function.
636
+ * Applies a function to each element in a list and returns a new list containing the concatenated mapped elements.
637
637
  *
638
638
  * @since 2.0.0
639
639
  * @category sequencing
640
640
  */
641
641
  export const flatMap: {
642
- <A, B>(f: (a: A) => List<B>): (self: List<A>) => List<B>
643
- <A, B>(self: List<A>, f: (a: A) => List<B>): List<B>
642
+ <S extends List<any>, T extends List<any>>(
643
+ f: (a: List.Infer<S>, i: number) => T
644
+ ): (self: S) => List.With2<S, T, List.Infer<T>>
645
+ <A, B>(self: Cons<A>, f: (a: A, i: number) => Cons<B>): Cons<B>
646
+ <A, B>(self: List<A>, f: (a: A, i: number) => List<B>): List<B>
644
647
  } = dual(2, <A, B>(self: List<A>, f: (a: A) => List<B>): List<B> => {
645
648
  let rest = self
646
649
  let head: MutableCons<B> | undefined = undefined
@@ -665,15 +668,6 @@ export const flatMap: {
665
668
  return head
666
669
  })
667
670
 
668
- /**
669
- * @category sequencing
670
- * @since 2.0.0
671
- */
672
- export const flatMapNonEmpty: {
673
- <A, B>(f: (a: A) => Cons<B>): (self: Cons<A>) => Cons<B>
674
- <A, B>(self: Cons<A>, f: (a: A) => Cons<B>): Cons<B>
675
- } = flatMap as any
676
-
677
671
  /**
678
672
  * Applies the specified function to each element of the `List`.
679
673
  *
@@ -722,13 +716,20 @@ export declare namespace List {
722
716
  * @since 2.0.0
723
717
  */
724
718
  export type With<T extends List<any>, A> = T extends Cons<any> ? Cons<A> : List<A>
719
+
720
+ /**
721
+ * @since 2.0.0
722
+ */
723
+ export type With2<S extends List<any>, T extends List<any>, A> = S extends Cons<any> ? Cons<A>
724
+ : T extends Cons<any> ? Cons<A>
725
+ : List<A>
725
726
  }
726
727
 
727
728
  /**
728
729
  * Applies the specified mapping function to each element of the list.
729
730
  *
730
731
  * @since 2.0.0
731
- * @category combinators
732
+ * @category mapping
732
733
  */
733
734
  export const map: {
734
735
  <T extends List<any>, B>(f: (a: List.Infer<T>, i: number) => B): (self: T) => List.With<T, B>
package/src/Logger.ts CHANGED
@@ -18,6 +18,7 @@ import type * as LogSpan from "./LogSpan.js"
18
18
  import type * as Option from "./Option.js"
19
19
  import type { Pipeable } from "./Pipeable.js"
20
20
  import type { Scope } from "./Scope.js"
21
+ import type * as Types from "./Types.js"
21
22
 
22
23
  /**
23
24
  * @since 2.0.0
@@ -49,8 +50,8 @@ export declare namespace Logger {
49
50
  */
50
51
  export interface Variance<in Message, out Output> {
51
52
  readonly [LoggerTypeId]: {
52
- readonly _Message: (_: Message) => void
53
- readonly _Output: (_: never) => Output
53
+ readonly _Message: Types.Contravariant<Message>
54
+ readonly _Output: Types.Covariant<Output>
54
55
  }
55
56
  }
56
57
 
package/src/Match.ts CHANGED
@@ -6,7 +6,7 @@ import * as internal from "./internal/matcher.js"
6
6
  import type * as Option from "./Option.js"
7
7
  import type { Pipeable } from "./Pipeable.js"
8
8
  import * as Predicate from "./Predicate.js"
9
- import type { UnionToIntersection } from "./Types.js"
9
+ import type { Contravariant, Covariant, UnionToIntersection } from "./Types.js"
10
10
  import type { Unify } from "./Unify.js"
11
11
 
12
12
  /**
@@ -36,10 +36,10 @@ export type Matcher<Input, Filters, RemainingApplied, Result, Provided> =
36
36
  export interface TypeMatcher<in Input, out Filters, out Remaining, out Result> extends Pipeable {
37
37
  readonly _tag: "TypeMatcher"
38
38
  readonly [MatcherTypeId]: {
39
- readonly _input: (_: Input) => unknown
40
- readonly _filters: (_: never) => Filters
41
- readonly _remaining: (_: never) => Remaining
42
- readonly _result: (_: never) => Result
39
+ readonly _input: Contravariant<Input>
40
+ readonly _filters: Covariant<Filters>
41
+ readonly _remaining: Covariant<Remaining>
42
+ readonly _result: Covariant<Result>
43
43
  }
44
44
  readonly cases: ReadonlyArray<Case>
45
45
  add<I, R, RA, A>(_case: Case): TypeMatcher<I, R, RA, A>
@@ -52,9 +52,9 @@ export interface TypeMatcher<in Input, out Filters, out Remaining, out Result> e
52
52
  export interface ValueMatcher<in Input, Filters, out Remaining, out Result, Provided> extends Pipeable {
53
53
  readonly _tag: "ValueMatcher"
54
54
  readonly [MatcherTypeId]: {
55
- readonly _input: (_: Input) => unknown
56
- readonly _filters: (_: never) => Filters
57
- readonly _result: (_: never) => Result
55
+ readonly _input: Contravariant<Input>
56
+ readonly _filters: Covariant<Filters>
57
+ readonly _result: Covariant<Result>
58
58
  }
59
59
  readonly provided: Provided
60
60
  readonly value: Either.Either<Remaining, Provided>
@@ -107,11 +107,13 @@ export const value: <const I>(
107
107
  */
108
108
  export const valueTags: <
109
109
  const I,
110
- P extends {
111
- readonly [Tag in Types.Tags<"_tag", I> & string]: (
112
- _: Extract<I, { readonly _tag: Tag }>
113
- ) => any
114
- }
110
+ P extends
111
+ & {
112
+ readonly [Tag in Types.Tags<"_tag", I> & string]: (
113
+ _: Extract<I, { readonly _tag: Tag }>
114
+ ) => any
115
+ }
116
+ & { readonly [Tag in Exclude<keyof P, Types.Tags<"_tag", I>>]: never }
115
117
  >(fields: P) => (input: I) => Unify<ReturnType<P[keyof P]>> = internal.valueTags
116
118
 
117
119
  /**
@@ -119,11 +121,13 @@ export const valueTags: <
119
121
  * @since 1.0.0
120
122
  */
121
123
  export const typeTags: <I>() => <
122
- P extends {
123
- readonly [Tag in Types.Tags<"_tag", I> & string]: (
124
- _: Extract<I, { readonly _tag: Tag }>
125
- ) => any
126
- }
124
+ P extends
125
+ & {
126
+ readonly [Tag in Types.Tags<"_tag", I> & string]: (
127
+ _: Extract<I, { readonly _tag: Tag }>
128
+ ) => any
129
+ }
130
+ & { readonly [Tag in Exclude<keyof P, Types.Tags<"_tag", I>>]: never }
127
131
  >(fields: P) => (input: I) => Unify<ReturnType<P[keyof P]>> = internal.typeTags
128
132
 
129
133
  /**
@@ -246,11 +250,13 @@ export const discriminators: <D extends string>(
246
250
  field: D
247
251
  ) => <
248
252
  R,
249
- P extends {
250
- readonly [Tag in Types.Tags<D, R> & string]?:
251
- | ((_: Extract<R, Record<D, Tag>>) => any)
252
- | undefined
253
- }
253
+ P extends
254
+ & {
255
+ readonly [Tag in Types.Tags<D, R> & string]?:
256
+ | ((_: Extract<R, Record<D, Tag>>) => any)
257
+ | undefined
258
+ }
259
+ & { readonly [Tag in Exclude<keyof P, Types.Tags<D, R>>]: never }
254
260
  >(
255
261
  fields: P
256
262
  ) => <I, F, A, Pr>(
@@ -271,11 +277,13 @@ export const discriminatorsExhaustive: <D extends string>(
271
277
  field: D
272
278
  ) => <
273
279
  R,
274
- P extends {
275
- readonly [Tag in Types.Tags<D, R> & string]: (
276
- _: Extract<R, Record<D, Tag>>
277
- ) => any
278
- }
280
+ P extends
281
+ & {
282
+ readonly [Tag in Types.Tags<D, R> & string]: (
283
+ _: Extract<R, Record<D, Tag>>
284
+ ) => any
285
+ }
286
+ & { readonly [Tag in Exclude<keyof P, Types.Tags<D, R>>]: never }
279
287
  >(
280
288
  fields: P
281
289
  ) => <I, F, A, Pr>(
@@ -329,11 +337,13 @@ export const tagStartsWith: <R, P extends string, B>(
329
337
  */
330
338
  export const tags: <
331
339
  R,
332
- P extends {
333
- readonly [Tag in Types.Tags<"_tag", R> & string]?:
334
- | ((_: Extract<R, Record<"_tag", Tag>>) => any)
335
- | undefined
336
- }
340
+ P extends
341
+ & {
342
+ readonly [Tag in Types.Tags<"_tag", R> & string]?:
343
+ | ((_: Extract<R, Record<"_tag", Tag>>) => any)
344
+ | undefined
345
+ }
346
+ & { readonly [Tag in Exclude<keyof P, Types.Tags<"_tag", R>>]: never }
337
347
  >(
338
348
  fields: P
339
349
  ) => <I, F, A, Pr>(
@@ -355,11 +365,13 @@ export const tags: <
355
365
  */
356
366
  export const tagsExhaustive: <
357
367
  R,
358
- P extends {
359
- readonly [Tag in Types.Tags<"_tag", R> & string]: (
360
- _: Extract<R, Record<"_tag", Tag>>
361
- ) => any
362
- }
368
+ P extends
369
+ & {
370
+ readonly [Tag in Types.Tags<"_tag", R> & string]: (
371
+ _: Extract<R, Record<"_tag", Tag>>
372
+ ) => any
373
+ }
374
+ & { readonly [Tag in Exclude<keyof P, Types.Tags<"_tag", R>>]: never }
363
375
  >(
364
376
  fields: P
365
377
  ) => <I, F, A, Pr>(
@@ -4,6 +4,7 @@
4
4
  import type * as Effect from "./Effect.js"
5
5
  import type * as Exit from "./Exit.js"
6
6
  import * as internal from "./internal/channel/mergeDecision.js"
7
+ import type * as Types from "./Types.js"
7
8
 
8
9
  /**
9
10
  * @since 2.0.0
@@ -33,11 +34,11 @@ export declare namespace MergeDecision {
33
34
  */
34
35
  export interface Variance<out R, in E0, in Z0, out E, out Z> {
35
36
  readonly [MergeDecisionTypeId]: {
36
- _R: (_: never) => R
37
- _E0: (_: E0) => void
38
- _Z0: (_: Z0) => void
39
- _E: (_: never) => E
40
- _Z: (_: never) => Z
37
+ _R: Types.Covariant<R>
38
+ _E0: Types.Contravariant<E0>
39
+ _Z0: Types.Contravariant<Z0>
40
+ _E: Types.Covariant<E>
41
+ _Z: Types.Covariant<Z>
41
42
  }
42
43
  }
43
44
  }
package/src/Metric.ts CHANGED
@@ -16,6 +16,7 @@ import type * as MetricPair from "./MetricPair.js"
16
16
  import type * as MetricRegistry from "./MetricRegistry.js"
17
17
  import type * as MetricState from "./MetricState.js"
18
18
  import type { Pipeable } from "./Pipeable.js"
19
+ import type * as Types from "./Types.js"
19
20
 
20
21
  /**
21
22
  * @since 2.0.0
@@ -123,9 +124,9 @@ export declare namespace Metric {
123
124
  */
124
125
  export interface Variance<in out Type, in In, out Out> {
125
126
  readonly [MetricTypeId]: {
126
- readonly _Type: (_: Type) => Type
127
- readonly _In: (_: In) => void
128
- readonly _Out: (_: never) => Out
127
+ readonly _Type: Types.Invariant<Type>
128
+ readonly _In: Types.Contravariant<In>
129
+ readonly _Out: Types.Covariant<Out>
129
130
  }
130
131
  }
131
132
  }
@@ -481,7 +482,8 @@ export const taggedWithLabels: {
481
482
  * @category constructors
482
483
  */
483
484
  export const timer: (
484
- name: string
485
+ name: string,
486
+ description?: string
485
487
  ) => Metric<MetricKeyType.MetricKeyType.Histogram, Duration.Duration, MetricState.MetricState.Histogram> =
486
488
  internal.timer
487
489
 
@@ -496,7 +498,8 @@ export const timer: (
496
498
  */
497
499
  export const timerWithBoundaries: (
498
500
  name: string,
499
- boundaries: Chunk.Chunk<number>
501
+ boundaries: Chunk.Chunk<number>,
502
+ description?: string
500
503
  ) => Metric<MetricKeyType.MetricKeyType.Histogram, Duration.Duration, MetricState.MetricState.Histogram> =
501
504
  internal.timerWithBoundaries
502
505
 
package/src/MetricHook.ts CHANGED
@@ -6,6 +6,7 @@ import * as internal from "./internal/metric/hook.js"
6
6
  import type * as MetricKey from "./MetricKey.js"
7
7
  import type * as MetricState from "./MetricState.js"
8
8
  import type { Pipeable } from "./Pipeable.js"
9
+ import type * as Types from "./Types.js"
9
10
 
10
11
  /**
11
12
  * @since 2.0.0
@@ -80,8 +81,8 @@ export declare namespace MetricHook {
80
81
  */
81
82
  export interface Variance<in In, out Out> {
82
83
  readonly [MetricHookTypeId]: {
83
- readonly _In: (_: In) => void
84
- readonly _Out: (_: never) => Out
84
+ readonly _In: Types.Contravariant<In>
85
+ readonly _Out: Types.Covariant<Out>
85
86
  }
86
87
  }
87
88
  }