effect 2.0.0-next.55 → 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 (1063) hide show
  1. package/README.md +14 -9
  2. package/dist/cjs/BigDecimal.js +9 -9
  3. package/dist/cjs/BigDecimal.js.map +1 -1
  4. package/dist/cjs/BigInt.js.map +1 -1
  5. package/dist/cjs/Boolean.js.map +1 -1
  6. package/dist/cjs/Brand.js.map +1 -1
  7. package/dist/cjs/Cache.js.map +1 -1
  8. package/dist/cjs/Cause.js +53 -18
  9. package/dist/cjs/Cause.js.map +1 -1
  10. package/dist/cjs/Channel.js.map +1 -1
  11. package/dist/cjs/ChildExecutorDecision.js.map +1 -1
  12. package/dist/cjs/Chunk.js +43 -34
  13. package/dist/cjs/Chunk.js.map +1 -1
  14. package/dist/cjs/Config.js +3 -3
  15. package/dist/cjs/Config.js.map +1 -1
  16. package/dist/cjs/Context.js.map +1 -1
  17. package/dist/cjs/Data.js +11 -20
  18. package/dist/cjs/Data.js.map +1 -1
  19. package/dist/cjs/Deferred.js.map +1 -1
  20. package/dist/cjs/Differ.js.map +1 -1
  21. package/dist/cjs/Duration.js +49 -2
  22. package/dist/cjs/Duration.js.map +1 -1
  23. package/dist/cjs/Effect.js +10 -8
  24. package/dist/cjs/Effect.js.map +1 -1
  25. package/dist/cjs/Either.js +44 -8
  26. package/dist/cjs/Either.js.map +1 -1
  27. package/dist/cjs/Equal.js.map +1 -1
  28. package/dist/cjs/Equivalence.js +1 -1
  29. package/dist/cjs/Equivalence.js.map +1 -1
  30. package/dist/cjs/Exit.js.map +1 -1
  31. package/dist/cjs/Fiber.js.map +1 -1
  32. package/dist/cjs/FiberRef.js +6 -1
  33. package/dist/cjs/FiberRef.js.map +1 -1
  34. package/dist/cjs/Function.js.map +1 -1
  35. package/dist/cjs/GlobalValue.js.map +1 -1
  36. package/dist/cjs/GroupBy.js.map +1 -1
  37. package/dist/cjs/Hash.js.map +1 -1
  38. package/dist/cjs/HashMap.js.map +1 -1
  39. package/dist/cjs/Inspectable.js +4 -6
  40. package/dist/cjs/Inspectable.js.map +1 -1
  41. package/dist/cjs/KeyedPool.js.map +1 -1
  42. package/dist/cjs/Layer.js +9 -29
  43. package/dist/cjs/Layer.js.map +1 -1
  44. package/dist/cjs/List.js +25 -22
  45. package/dist/cjs/List.js.map +1 -1
  46. package/dist/cjs/LogLevel.js.map +1 -1
  47. package/dist/cjs/Logger.js.map +1 -1
  48. package/dist/cjs/Match.js.map +1 -1
  49. package/dist/cjs/MergeDecision.js.map +1 -1
  50. package/dist/cjs/MergeState.js.map +1 -1
  51. package/dist/cjs/Metric.js.map +1 -1
  52. package/dist/cjs/MetricHook.js.map +1 -1
  53. package/dist/cjs/MetricKey.js.map +1 -1
  54. package/dist/cjs/MetricKeyType.js.map +1 -1
  55. package/dist/cjs/MetricPair.js.map +1 -1
  56. package/dist/cjs/MetricPolling.js +2 -2
  57. package/dist/cjs/MetricPolling.js.map +1 -1
  58. package/dist/cjs/MetricState.js.map +1 -1
  59. package/dist/cjs/MutableHashMap.js +1 -1
  60. package/dist/cjs/MutableHashMap.js.map +1 -1
  61. package/dist/cjs/MutableHashSet.js +1 -1
  62. package/dist/cjs/MutableHashSet.js.map +1 -1
  63. package/dist/cjs/MutableList.js +1 -1
  64. package/dist/cjs/MutableList.js.map +1 -1
  65. package/dist/cjs/MutableQueue.js +1 -1
  66. package/dist/cjs/MutableQueue.js.map +1 -1
  67. package/dist/cjs/MutableRef.js +1 -1
  68. package/dist/cjs/MutableRef.js.map +1 -1
  69. package/dist/cjs/NonEmptyIterable.js.map +1 -1
  70. package/dist/cjs/Number.js.map +1 -1
  71. package/dist/cjs/Option.js +21 -14
  72. package/dist/cjs/Option.js.map +1 -1
  73. package/dist/cjs/Order.js +1 -1
  74. package/dist/cjs/Order.js.map +1 -1
  75. package/dist/cjs/Ordering.js.map +1 -1
  76. package/dist/cjs/Pipeable.js.map +1 -1
  77. package/dist/cjs/Pool.js +15 -17
  78. package/dist/cjs/Pool.js.map +1 -1
  79. package/dist/cjs/Predicate.js +17 -1
  80. package/dist/cjs/Predicate.js.map +1 -1
  81. package/dist/cjs/PrimaryKey.js +21 -0
  82. package/dist/cjs/PrimaryKey.js.map +1 -0
  83. package/dist/cjs/Queue.js +6 -1
  84. package/dist/cjs/Queue.js.map +1 -1
  85. package/dist/cjs/ReadonlyArray.js +202 -187
  86. package/dist/cjs/ReadonlyArray.js.map +1 -1
  87. package/dist/cjs/ReadonlyRecord.js +61 -8
  88. package/dist/cjs/ReadonlyRecord.js.map +1 -1
  89. package/dist/cjs/RedBlackTree.js.map +1 -1
  90. package/dist/cjs/Ref.js.map +1 -1
  91. package/dist/cjs/Reloadable.js.map +1 -1
  92. package/dist/cjs/Request.js +42 -1
  93. package/dist/cjs/Request.js.map +1 -1
  94. package/dist/cjs/RequestBlock.js +5 -24
  95. package/dist/cjs/RequestBlock.js.map +1 -1
  96. package/dist/cjs/RequestResolver.js.map +1 -1
  97. package/dist/cjs/Resource.js.map +1 -1
  98. package/dist/cjs/STM.js +1 -1
  99. package/dist/cjs/STM.js.map +1 -1
  100. package/dist/cjs/Schedule.js.map +1 -1
  101. package/dist/cjs/Scheduler.js.map +1 -1
  102. package/dist/cjs/ScopedCache.js.map +1 -1
  103. package/dist/cjs/ScopedRef.js.map +1 -1
  104. package/dist/cjs/Sink.js.map +1 -1
  105. package/dist/cjs/SortedMap.js +5 -2
  106. package/dist/cjs/SortedMap.js.map +1 -1
  107. package/dist/cjs/SortedSet.js +3 -3
  108. package/dist/cjs/SortedSet.js.map +1 -1
  109. package/dist/cjs/Stream.js.map +1 -1
  110. package/dist/cjs/Streamable.js +3 -0
  111. package/dist/cjs/Streamable.js.map +1 -1
  112. package/dist/cjs/String.js.map +1 -1
  113. package/dist/cjs/Struct.js.map +1 -1
  114. package/dist/cjs/SubscriptionRef.js.map +1 -1
  115. package/dist/cjs/Supervisor.js.map +1 -1
  116. package/dist/cjs/SynchronizedRef.js.map +1 -1
  117. package/dist/cjs/TArray.js.map +1 -1
  118. package/dist/cjs/TDeferred.js.map +1 -1
  119. package/dist/cjs/TMap.js.map +1 -1
  120. package/dist/cjs/TPriorityQueue.js.map +1 -1
  121. package/dist/cjs/TPubSub.js.map +1 -1
  122. package/dist/cjs/TQueue.js.map +1 -1
  123. package/dist/cjs/TRef.js.map +1 -1
  124. package/dist/cjs/TSet.js.map +1 -1
  125. package/dist/cjs/Take.js.map +1 -1
  126. package/dist/cjs/TestAnnotation.js +3 -1
  127. package/dist/cjs/TestAnnotation.js.map +1 -1
  128. package/dist/cjs/TestAnnotationMap.js.map +1 -1
  129. package/dist/cjs/TestAnnotations.js.map +1 -1
  130. package/dist/cjs/TestClock.js.map +1 -1
  131. package/dist/cjs/TestContext.js +2 -2
  132. package/dist/cjs/TestContext.js.map +1 -1
  133. package/dist/cjs/UpstreamPullRequest.js.map +1 -1
  134. package/dist/cjs/UpstreamPullStrategy.js.map +1 -1
  135. package/dist/cjs/Utils.js.map +1 -1
  136. package/dist/cjs/index.js +4 -2
  137. package/dist/cjs/index.js.map +1 -1
  138. package/dist/cjs/internal/Iterable.js.map +1 -1
  139. package/dist/cjs/internal/blockedRequests.js +3 -2
  140. package/dist/cjs/internal/blockedRequests.js.map +1 -1
  141. package/dist/cjs/internal/cache.js +3 -0
  142. package/dist/cjs/internal/cache.js.map +1 -1
  143. package/dist/cjs/internal/cause.js +5 -104
  144. package/dist/cjs/internal/cause.js.map +1 -1
  145. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  146. package/dist/cjs/internal/channel/channelState.js +2 -1
  147. package/dist/cjs/internal/channel/channelState.js.map +1 -1
  148. package/dist/cjs/internal/channel/childExecutorDecision.js.map +1 -1
  149. package/dist/cjs/internal/channel/continuation.js +9 -1
  150. package/dist/cjs/internal/channel/continuation.js.map +1 -1
  151. package/dist/cjs/internal/channel/mergeDecision.js.map +1 -1
  152. package/dist/cjs/internal/channel/mergeState.js.map +1 -1
  153. package/dist/cjs/internal/channel/mergeStrategy.js.map +1 -1
  154. package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
  155. package/dist/cjs/internal/channel/subexecutor.js.map +1 -1
  156. package/dist/cjs/internal/channel/upstreamPullRequest.js +1 -1
  157. package/dist/cjs/internal/channel/upstreamPullRequest.js.map +1 -1
  158. package/dist/cjs/internal/channel/upstreamPullStrategy.js +1 -1
  159. package/dist/cjs/internal/channel/upstreamPullStrategy.js.map +1 -1
  160. package/dist/cjs/internal/channel.js.map +1 -1
  161. package/dist/cjs/internal/clock.js.map +1 -1
  162. package/dist/cjs/internal/concurrency.js.map +1 -1
  163. package/dist/cjs/internal/config.js +16 -24
  164. package/dist/cjs/internal/config.js.map +1 -1
  165. package/dist/cjs/internal/configError.js +2 -2
  166. package/dist/cjs/internal/configError.js.map +1 -1
  167. package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -1
  168. package/dist/cjs/internal/configProvider.js +18 -4
  169. package/dist/cjs/internal/configProvider.js.map +1 -1
  170. package/dist/cjs/internal/configSecret.js.map +1 -1
  171. package/dist/cjs/internal/context.js +5 -5
  172. package/dist/cjs/internal/context.js.map +1 -1
  173. package/dist/cjs/internal/core-effect.js +19 -15
  174. package/dist/cjs/internal/core-effect.js.map +1 -1
  175. package/dist/cjs/internal/core-stream.js +7 -1
  176. package/dist/cjs/internal/core-stream.js.map +1 -1
  177. package/dist/cjs/internal/core.js +203 -85
  178. package/dist/cjs/internal/core.js.map +1 -1
  179. package/dist/cjs/internal/data.js +4 -22
  180. package/dist/cjs/internal/data.js.map +1 -1
  181. package/dist/cjs/internal/dataSource.js +1 -1
  182. package/dist/cjs/internal/dataSource.js.map +1 -1
  183. package/dist/cjs/internal/deferred.js +2 -0
  184. package/dist/cjs/internal/deferred.js.map +1 -1
  185. package/dist/cjs/internal/differ/chunkPatch.js.map +1 -1
  186. package/dist/cjs/internal/differ/contextPatch.js.map +1 -1
  187. package/dist/cjs/internal/differ/hashMapPatch.js.map +1 -1
  188. package/dist/cjs/internal/differ/hashSetPatch.js.map +1 -1
  189. package/dist/cjs/internal/differ/orPatch.js.map +1 -1
  190. package/dist/cjs/internal/differ.js.map +1 -1
  191. package/dist/cjs/internal/effect/circular.js +1 -0
  192. package/dist/cjs/internal/effect/circular.js.map +1 -1
  193. package/dist/cjs/internal/effectable.js +38 -7
  194. package/dist/cjs/internal/effectable.js.map +1 -1
  195. package/dist/cjs/internal/either.js +1 -1
  196. package/dist/cjs/internal/either.js.map +1 -1
  197. package/dist/cjs/internal/encoding/base64.js.map +1 -1
  198. package/dist/cjs/internal/encoding/base64Url.js.map +1 -1
  199. package/dist/cjs/internal/encoding/common.js.map +1 -1
  200. package/dist/cjs/internal/encoding/hex.js.map +1 -1
  201. package/dist/cjs/internal/executionStrategy.js.map +1 -1
  202. package/dist/cjs/internal/fiber.js +2 -0
  203. package/dist/cjs/internal/fiber.js.map +1 -1
  204. package/dist/cjs/internal/fiberId.js +3 -3
  205. package/dist/cjs/internal/fiberId.js.map +1 -1
  206. package/dist/cjs/internal/fiberMessage.js.map +1 -1
  207. package/dist/cjs/internal/fiberRefs/patch.js.map +1 -1
  208. package/dist/cjs/internal/fiberRefs.js.map +1 -1
  209. package/dist/cjs/internal/fiberRuntime.js +181 -218
  210. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  211. package/dist/cjs/internal/groupBy.js +4 -1
  212. package/dist/cjs/internal/groupBy.js.map +1 -1
  213. package/dist/cjs/internal/hashMap/array.js.map +1 -1
  214. package/dist/cjs/internal/hashMap/node.js.map +1 -1
  215. package/dist/cjs/internal/hashMap.js +2 -2
  216. package/dist/cjs/internal/hashMap.js.map +1 -1
  217. package/dist/cjs/internal/hashSet.js +3 -3
  218. package/dist/cjs/internal/hashSet.js.map +1 -1
  219. package/dist/cjs/internal/keyedPool.js +3 -0
  220. package/dist/cjs/internal/keyedPool.js.map +1 -1
  221. package/dist/cjs/internal/layer.js +23 -53
  222. package/dist/cjs/internal/layer.js.map +1 -1
  223. package/dist/cjs/internal/logger.js +2 -1
  224. package/dist/cjs/internal/logger.js.map +1 -1
  225. package/dist/cjs/internal/matcher.js.map +1 -1
  226. package/dist/cjs/internal/metric/hook.js +2 -1
  227. package/dist/cjs/internal/metric/hook.js.map +1 -1
  228. package/dist/cjs/internal/metric/key.js +1 -1
  229. package/dist/cjs/internal/metric/key.js.map +1 -1
  230. package/dist/cjs/internal/metric/keyType.js +2 -1
  231. package/dist/cjs/internal/metric/keyType.js.map +1 -1
  232. package/dist/cjs/internal/metric/pair.js +1 -1
  233. package/dist/cjs/internal/metric/pair.js.map +1 -1
  234. package/dist/cjs/internal/metric/polling.js +7 -7
  235. package/dist/cjs/internal/metric/polling.js.map +1 -1
  236. package/dist/cjs/internal/metric/registry.js.map +1 -1
  237. package/dist/cjs/internal/metric/state.js +1 -1
  238. package/dist/cjs/internal/metric/state.js.map +1 -1
  239. package/dist/cjs/internal/metric.js +11 -5
  240. package/dist/cjs/internal/metric.js.map +1 -1
  241. package/dist/cjs/internal/opCodes/layer.js +4 -4
  242. package/dist/cjs/internal/opCodes/layer.js.map +1 -1
  243. package/dist/cjs/internal/option.js +1 -1
  244. package/dist/cjs/internal/option.js.map +1 -1
  245. package/dist/cjs/internal/pool.js +2 -0
  246. package/dist/cjs/internal/pool.js.map +1 -1
  247. package/dist/cjs/internal/pubsub.js +25 -24
  248. package/dist/cjs/internal/pubsub.js.map +1 -1
  249. package/dist/cjs/internal/query.js +1 -1
  250. package/dist/cjs/internal/query.js.map +1 -1
  251. package/dist/cjs/internal/queue.js +14 -3
  252. package/dist/cjs/internal/queue.js.map +1 -1
  253. package/dist/cjs/internal/random.js.map +1 -1
  254. package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
  255. package/dist/cjs/internal/redBlackTree.js +8 -2
  256. package/dist/cjs/internal/redBlackTree.js.map +1 -1
  257. package/dist/cjs/internal/ref.js +1 -0
  258. package/dist/cjs/internal/ref.js.map +1 -1
  259. package/dist/cjs/internal/reloadable.js +1 -1
  260. package/dist/cjs/internal/reloadable.js.map +1 -1
  261. package/dist/cjs/internal/request.js +33 -16
  262. package/dist/cjs/internal/request.js.map +1 -1
  263. package/dist/cjs/internal/resource.js +4 -3
  264. package/dist/cjs/internal/resource.js.map +1 -1
  265. package/dist/cjs/internal/ringBuffer.js.map +1 -1
  266. package/dist/cjs/internal/runtime.js +3 -4
  267. package/dist/cjs/internal/runtime.js.map +1 -1
  268. package/dist/cjs/internal/runtimeFlags.js.map +1 -1
  269. package/dist/cjs/internal/schedule/interval.js.map +1 -1
  270. package/dist/cjs/internal/schedule/intervals.js.map +1 -1
  271. package/dist/cjs/internal/schedule.js +12 -8
  272. package/dist/cjs/internal/schedule.js.map +1 -1
  273. package/dist/cjs/internal/scopedCache.js +5 -2
  274. package/dist/cjs/internal/scopedCache.js.map +1 -1
  275. package/dist/cjs/internal/scopedRef.js +1 -0
  276. package/dist/cjs/internal/scopedRef.js.map +1 -1
  277. package/dist/cjs/internal/sink.js +6 -2
  278. package/dist/cjs/internal/sink.js.map +1 -1
  279. package/dist/cjs/internal/stm/core.js +5 -3
  280. package/dist/cjs/internal/stm/core.js.map +1 -1
  281. package/dist/cjs/internal/stm/stm/journal.js.map +1 -1
  282. package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
  283. package/dist/cjs/internal/stm/stm/tExit.js +2 -1
  284. package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
  285. package/dist/cjs/internal/stm/stm.js.map +1 -1
  286. package/dist/cjs/internal/stm/tArray.js +1 -1
  287. package/dist/cjs/internal/stm/tArray.js.map +1 -1
  288. package/dist/cjs/internal/stm/tDeferred.js.map +1 -1
  289. package/dist/cjs/internal/stm/tMap.js +2 -1
  290. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  291. package/dist/cjs/internal/stm/tPriorityQueue.js +1 -1
  292. package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
  293. package/dist/cjs/internal/stm/tPubSub.js +17 -14
  294. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  295. package/dist/cjs/internal/stm/tQueue.js +8 -7
  296. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  297. package/dist/cjs/internal/stm/tRandom.js.map +1 -1
  298. package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -1
  299. package/dist/cjs/internal/stm/tRef.js +1 -1
  300. package/dist/cjs/internal/stm/tRef.js.map +1 -1
  301. package/dist/cjs/internal/stm/tSemaphore.js +2 -2
  302. package/dist/cjs/internal/stm/tSemaphore.js.map +1 -1
  303. package/dist/cjs/internal/stm/tSet.js +1 -1
  304. package/dist/cjs/internal/stm/tSet.js.map +1 -1
  305. package/dist/cjs/internal/stream/haltStrategy.js.map +1 -1
  306. package/dist/cjs/internal/stream/handoff.js +1 -1
  307. package/dist/cjs/internal/stream/handoff.js.map +1 -1
  308. package/dist/cjs/internal/stream.js +5 -5
  309. package/dist/cjs/internal/stream.js.map +1 -1
  310. package/dist/cjs/internal/string-utils.js.map +1 -1
  311. package/dist/cjs/internal/subscriptionRef.js +1 -1
  312. package/dist/cjs/internal/subscriptionRef.js.map +1 -1
  313. package/dist/cjs/internal/supervisor/patch.js.map +1 -1
  314. package/dist/cjs/internal/supervisor.js +1 -0
  315. package/dist/cjs/internal/supervisor.js.map +1 -1
  316. package/dist/cjs/internal/synchronizedRef.js.map +1 -1
  317. package/dist/cjs/internal/take.js +3 -2
  318. package/dist/cjs/internal/take.js.map +1 -1
  319. package/dist/cjs/internal/version.js +1 -1
  320. package/dist/dts/BigDecimal.d.ts +5 -5
  321. package/dist/dts/BigDecimal.d.ts.map +1 -1
  322. package/dist/dts/Brand.d.ts +4 -4
  323. package/dist/dts/Brand.d.ts.map +1 -1
  324. package/dist/dts/Cache.d.ts +18 -16
  325. package/dist/dts/Cache.d.ts.map +1 -1
  326. package/dist/dts/Cause.d.ts +94 -26
  327. package/dist/dts/Cause.d.ts.map +1 -1
  328. package/dist/dts/Channel.d.ts +12 -11
  329. package/dist/dts/Channel.d.ts.map +1 -1
  330. package/dist/dts/ChildExecutorDecision.d.ts.map +1 -1
  331. package/dist/dts/Chunk.d.ts +81 -69
  332. package/dist/dts/Chunk.d.ts.map +1 -1
  333. package/dist/dts/Clock.d.ts +4 -4
  334. package/dist/dts/Clock.d.ts.map +1 -1
  335. package/dist/dts/Config.d.ts +20 -19
  336. package/dist/dts/Config.d.ts.map +1 -1
  337. package/dist/dts/ConfigError.d.ts +7 -7
  338. package/dist/dts/ConfigError.d.ts.map +1 -1
  339. package/dist/dts/ConfigProvider.d.ts +3 -3
  340. package/dist/dts/ConfigProvider.d.ts.map +1 -1
  341. package/dist/dts/ConfigProviderPathPatch.d.ts +1 -1
  342. package/dist/dts/ConfigProviderPathPatch.d.ts.map +1 -1
  343. package/dist/dts/Console.d.ts +36 -36
  344. package/dist/dts/Console.d.ts.map +1 -1
  345. package/dist/dts/Context.d.ts +8 -7
  346. package/dist/dts/Context.d.ts.map +1 -1
  347. package/dist/dts/Data.d.ts +6 -20
  348. package/dist/dts/Data.d.ts.map +1 -1
  349. package/dist/dts/Deferred.d.ts +5 -4
  350. package/dist/dts/Deferred.d.ts.map +1 -1
  351. package/dist/dts/Differ.d.ts +24 -23
  352. package/dist/dts/Differ.d.ts.map +1 -1
  353. package/dist/dts/Duration.d.ts +12 -1
  354. package/dist/dts/Duration.d.ts.map +1 -1
  355. package/dist/dts/Effect.d.ts +62 -45
  356. package/dist/dts/Effect.d.ts.map +1 -1
  357. package/dist/dts/Either.d.ts +61 -13
  358. package/dist/dts/Either.d.ts.map +1 -1
  359. package/dist/dts/Equal.d.ts +1 -1
  360. package/dist/dts/Equal.d.ts.map +1 -1
  361. package/dist/dts/Equivalence.d.ts +2 -2
  362. package/dist/dts/Equivalence.d.ts.map +1 -1
  363. package/dist/dts/Exit.d.ts +5 -3
  364. package/dist/dts/Exit.d.ts.map +1 -1
  365. package/dist/dts/Fiber.d.ts +17 -16
  366. package/dist/dts/Fiber.d.ts.map +1 -1
  367. package/dist/dts/FiberRef.d.ts +9 -3
  368. package/dist/dts/FiberRef.d.ts.map +1 -1
  369. package/dist/dts/GroupBy.d.ts +7 -6
  370. package/dist/dts/GroupBy.d.ts.map +1 -1
  371. package/dist/dts/HKT.d.ts +5 -4
  372. package/dist/dts/HKT.d.ts.map +1 -1
  373. package/dist/dts/Hash.d.ts +1 -1
  374. package/dist/dts/Hash.d.ts.map +1 -1
  375. package/dist/dts/HashMap.d.ts +6 -4
  376. package/dist/dts/HashMap.d.ts.map +1 -1
  377. package/dist/dts/HashSet.d.ts +9 -9
  378. package/dist/dts/HashSet.d.ts.map +1 -1
  379. package/dist/dts/Inspectable.d.ts +3 -7
  380. package/dist/dts/Inspectable.d.ts.map +1 -1
  381. package/dist/dts/KeyedPool.d.ts +8 -7
  382. package/dist/dts/KeyedPool.d.ts.map +1 -1
  383. package/dist/dts/Layer.d.ts +16 -41
  384. package/dist/dts/Layer.d.ts.map +1 -1
  385. package/dist/dts/List.d.ts +48 -49
  386. package/dist/dts/List.d.ts.map +1 -1
  387. package/dist/dts/Logger.d.ts +7 -6
  388. package/dist/dts/Logger.d.ts.map +1 -1
  389. package/dist/dts/Match.d.ts +31 -19
  390. package/dist/dts/Match.d.ts.map +1 -1
  391. package/dist/dts/MergeDecision.d.ts +8 -7
  392. package/dist/dts/MergeDecision.d.ts.map +1 -1
  393. package/dist/dts/MergeState.d.ts +5 -5
  394. package/dist/dts/MergeState.d.ts.map +1 -1
  395. package/dist/dts/Metric.d.ts +11 -10
  396. package/dist/dts/Metric.d.ts.map +1 -1
  397. package/dist/dts/MetricHook.d.ts +7 -6
  398. package/dist/dts/MetricHook.d.ts.map +1 -1
  399. package/dist/dts/MetricKey.d.ts +4 -3
  400. package/dist/dts/MetricKey.d.ts.map +1 -1
  401. package/dist/dts/MetricKeyType.d.ts +5 -4
  402. package/dist/dts/MetricKeyType.d.ts.map +1 -1
  403. package/dist/dts/MetricPair.d.ts +4 -3
  404. package/dist/dts/MetricPair.d.ts.map +1 -1
  405. package/dist/dts/MetricPolling.d.ts +16 -16
  406. package/dist/dts/MetricPolling.d.ts.map +1 -1
  407. package/dist/dts/MetricRegistry.d.ts +7 -7
  408. package/dist/dts/MetricRegistry.d.ts.map +1 -1
  409. package/dist/dts/MetricState.d.ts +6 -5
  410. package/dist/dts/MetricState.d.ts.map +1 -1
  411. package/dist/dts/MutableHashMap.d.ts +1 -1
  412. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  413. package/dist/dts/MutableHashSet.d.ts +1 -1
  414. package/dist/dts/MutableHashSet.d.ts.map +1 -1
  415. package/dist/dts/MutableList.d.ts +1 -1
  416. package/dist/dts/MutableList.d.ts.map +1 -1
  417. package/dist/dts/MutableQueue.d.ts +1 -1
  418. package/dist/dts/MutableQueue.d.ts.map +1 -1
  419. package/dist/dts/MutableRef.d.ts +1 -1
  420. package/dist/dts/MutableRef.d.ts.map +1 -1
  421. package/dist/dts/NonEmptyIterable.d.ts +2 -2
  422. package/dist/dts/NonEmptyIterable.d.ts.map +1 -1
  423. package/dist/dts/Option.d.ts +39 -24
  424. package/dist/dts/Option.d.ts.map +1 -1
  425. package/dist/dts/Order.d.ts +2 -2
  426. package/dist/dts/Order.d.ts.map +1 -1
  427. package/dist/dts/Pipeable.d.ts +21 -23
  428. package/dist/dts/Pipeable.d.ts.map +1 -1
  429. package/dist/dts/Pool.d.ts +21 -22
  430. package/dist/dts/Pool.d.ts.map +1 -1
  431. package/dist/dts/Predicate.d.ts +17 -2
  432. package/dist/dts/Predicate.d.ts.map +1 -1
  433. package/dist/dts/PrimaryKey.d.ts +21 -0
  434. package/dist/dts/PrimaryKey.d.ts.map +1 -0
  435. package/dist/dts/PubSub.d.ts +3 -3
  436. package/dist/dts/PubSub.d.ts.map +1 -1
  437. package/dist/dts/Queue.d.ts +49 -29
  438. package/dist/dts/Queue.d.ts.map +1 -1
  439. package/dist/dts/Random.d.ts +3 -3
  440. package/dist/dts/Random.d.ts.map +1 -1
  441. package/dist/dts/ReadonlyArray.d.ts +170 -206
  442. package/dist/dts/ReadonlyArray.d.ts.map +1 -1
  443. package/dist/dts/ReadonlyRecord.d.ts +51 -16
  444. package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
  445. package/dist/dts/RedBlackTree.d.ts +6 -2
  446. package/dist/dts/RedBlackTree.d.ts.map +1 -1
  447. package/dist/dts/Ref.d.ts +5 -4
  448. package/dist/dts/Ref.d.ts.map +1 -1
  449. package/dist/dts/Reloadable.d.ts +4 -3
  450. package/dist/dts/Reloadable.d.ts.map +1 -1
  451. package/dist/dts/Request.d.ts +63 -11
  452. package/dist/dts/Request.d.ts.map +1 -1
  453. package/dist/dts/RequestBlock.d.ts +20 -39
  454. package/dist/dts/RequestBlock.d.ts.map +1 -1
  455. package/dist/dts/RequestResolver.d.ts +7 -6
  456. package/dist/dts/RequestResolver.d.ts.map +1 -1
  457. package/dist/dts/Resource.d.ts +5 -4
  458. package/dist/dts/Resource.d.ts.map +1 -1
  459. package/dist/dts/Runtime.d.ts +3 -3
  460. package/dist/dts/Runtime.d.ts.map +1 -1
  461. package/dist/dts/STM.d.ts +13 -12
  462. package/dist/dts/STM.d.ts.map +1 -1
  463. package/dist/dts/Schedule.d.ts +13 -12
  464. package/dist/dts/Schedule.d.ts.map +1 -1
  465. package/dist/dts/Scheduler.d.ts +3 -3
  466. package/dist/dts/Scheduler.d.ts.map +1 -1
  467. package/dist/dts/ScopedCache.d.ts +13 -12
  468. package/dist/dts/ScopedCache.d.ts.map +1 -1
  469. package/dist/dts/ScopedRef.d.ts +4 -3
  470. package/dist/dts/ScopedRef.d.ts.map +1 -1
  471. package/dist/dts/SingleProducerAsyncInput.d.ts +7 -7
  472. package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -1
  473. package/dist/dts/Sink.d.ts +13 -9
  474. package/dist/dts/Sink.d.ts.map +1 -1
  475. package/dist/dts/SortedMap.d.ts +6 -2
  476. package/dist/dts/SortedMap.d.ts.map +1 -1
  477. package/dist/dts/SortedSet.d.ts +7 -12
  478. package/dist/dts/SortedSet.d.ts.map +1 -1
  479. package/dist/dts/Stream.d.ts +32 -23
  480. package/dist/dts/Stream.d.ts.map +1 -1
  481. package/dist/dts/StreamEmit.d.ts +12 -12
  482. package/dist/dts/StreamEmit.d.ts.map +1 -1
  483. package/dist/dts/Streamable.d.ts.map +1 -1
  484. package/dist/dts/SubscriptionRef.d.ts +4 -3
  485. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  486. package/dist/dts/Supervisor.d.ts +11 -10
  487. package/dist/dts/Supervisor.d.ts.map +1 -1
  488. package/dist/dts/SynchronizedRef.d.ts +5 -4
  489. package/dist/dts/SynchronizedRef.d.ts.map +1 -1
  490. package/dist/dts/TArray.d.ts +4 -3
  491. package/dist/dts/TArray.d.ts.map +1 -1
  492. package/dist/dts/TDeferred.d.ts +5 -4
  493. package/dist/dts/TDeferred.d.ts.map +1 -1
  494. package/dist/dts/TMap.d.ts +5 -4
  495. package/dist/dts/TMap.d.ts.map +1 -1
  496. package/dist/dts/TPriorityQueue.d.ts +4 -3
  497. package/dist/dts/TPriorityQueue.d.ts.map +1 -1
  498. package/dist/dts/TPubSub.d.ts +5 -1
  499. package/dist/dts/TPubSub.d.ts.map +1 -1
  500. package/dist/dts/TQueue.d.ts +12 -11
  501. package/dist/dts/TQueue.d.ts.map +1 -1
  502. package/dist/dts/TRandom.d.ts +3 -3
  503. package/dist/dts/TRandom.d.ts.map +1 -1
  504. package/dist/dts/TRef.d.ts +5 -4
  505. package/dist/dts/TRef.d.ts.map +1 -1
  506. package/dist/dts/TSet.d.ts +4 -3
  507. package/dist/dts/TSet.d.ts.map +1 -1
  508. package/dist/dts/Take.d.ts +5 -4
  509. package/dist/dts/Take.d.ts.map +1 -1
  510. package/dist/dts/TestAnnotation.d.ts +6 -3
  511. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  512. package/dist/dts/TestAnnotations.d.ts +2 -2
  513. package/dist/dts/TestAnnotations.d.ts.map +1 -1
  514. package/dist/dts/TestClock.d.ts +3 -3
  515. package/dist/dts/TestClock.d.ts.map +1 -1
  516. package/dist/dts/TestContext.d.ts.map +1 -1
  517. package/dist/dts/TestLive.d.ts +1 -1
  518. package/dist/dts/TestLive.d.ts.map +1 -1
  519. package/dist/dts/TestSized.d.ts +1 -1
  520. package/dist/dts/TestSized.d.ts.map +1 -1
  521. package/dist/dts/Tracer.d.ts +5 -5
  522. package/dist/dts/Tracer.d.ts.map +1 -1
  523. package/dist/dts/Types.d.ts +28 -0
  524. package/dist/dts/Types.d.ts.map +1 -1
  525. package/dist/dts/UpstreamPullRequest.d.ts +4 -3
  526. package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
  527. package/dist/dts/UpstreamPullStrategy.d.ts +5 -4
  528. package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
  529. package/dist/dts/Utils.d.ts +7 -6
  530. package/dist/dts/Utils.d.ts.map +1 -1
  531. package/dist/dts/index.d.ts +4 -0
  532. package/dist/dts/index.d.ts.map +1 -1
  533. package/dist/dts/internal/config.d.ts +1 -2
  534. package/dist/dts/internal/config.d.ts.map +1 -1
  535. package/dist/dts/internal/core-stream.d.ts.map +1 -1
  536. package/dist/dts/internal/fiberScope.d.ts +1 -1
  537. package/dist/dts/internal/fiberScope.d.ts.map +1 -1
  538. package/dist/dts/internal/logger.d.ts.map +1 -1
  539. package/dist/dts/internal/metric/keyType.d.ts.map +1 -1
  540. package/dist/dts/internal/stream/handoffSignal.d.ts +1 -1
  541. package/dist/dts/internal/stream/handoffSignal.d.ts.map +1 -1
  542. package/dist/dts/internal/version.d.ts +1 -1
  543. package/dist/esm/BigDecimal.js +7 -7
  544. package/dist/esm/BigDecimal.js.map +1 -1
  545. package/dist/esm/BigInt.js.map +1 -1
  546. package/dist/esm/Boolean.js.map +1 -1
  547. package/dist/esm/Brand.js.map +1 -1
  548. package/dist/esm/Cache.js.map +1 -1
  549. package/dist/esm/Cause.js +52 -17
  550. package/dist/esm/Cause.js.map +1 -1
  551. package/dist/esm/Channel.js.map +1 -1
  552. package/dist/esm/ChildExecutorDecision.js.map +1 -1
  553. package/dist/esm/Chunk.js +43 -34
  554. package/dist/esm/Chunk.js.map +1 -1
  555. package/dist/esm/Config.js +3 -3
  556. package/dist/esm/Config.js.map +1 -1
  557. package/dist/esm/Context.js.map +1 -1
  558. package/dist/esm/Data.js +10 -19
  559. package/dist/esm/Data.js.map +1 -1
  560. package/dist/esm/Deferred.js.map +1 -1
  561. package/dist/esm/Differ.js.map +1 -1
  562. package/dist/esm/Duration.js +48 -2
  563. package/dist/esm/Duration.js.map +1 -1
  564. package/dist/esm/Effect.js +9 -7
  565. package/dist/esm/Effect.js.map +1 -1
  566. package/dist/esm/Either.js +43 -7
  567. package/dist/esm/Either.js.map +1 -1
  568. package/dist/esm/Equal.js.map +1 -1
  569. package/dist/esm/Equivalence.js +1 -1
  570. package/dist/esm/Equivalence.js.map +1 -1
  571. package/dist/esm/Exit.js.map +1 -1
  572. package/dist/esm/Fiber.js.map +1 -1
  573. package/dist/esm/FiberRef.js +5 -0
  574. package/dist/esm/FiberRef.js.map +1 -1
  575. package/dist/esm/Function.js.map +1 -1
  576. package/dist/esm/GlobalValue.js.map +1 -1
  577. package/dist/esm/GroupBy.js.map +1 -1
  578. package/dist/esm/HKT.js +0 -3
  579. package/dist/esm/HKT.js.map +1 -1
  580. package/dist/esm/Hash.js.map +1 -1
  581. package/dist/esm/HashMap.js.map +1 -1
  582. package/dist/esm/Inspectable.js +2 -4
  583. package/dist/esm/Inspectable.js.map +1 -1
  584. package/dist/esm/KeyedPool.js.map +1 -1
  585. package/dist/esm/Layer.js +8 -28
  586. package/dist/esm/Layer.js.map +1 -1
  587. package/dist/esm/List.js +25 -22
  588. package/dist/esm/List.js.map +1 -1
  589. package/dist/esm/LogLevel.js.map +1 -1
  590. package/dist/esm/Logger.js.map +1 -1
  591. package/dist/esm/Match.js.map +1 -1
  592. package/dist/esm/MergeDecision.js.map +1 -1
  593. package/dist/esm/MergeState.js.map +1 -1
  594. package/dist/esm/Metric.js.map +1 -1
  595. package/dist/esm/MetricHook.js.map +1 -1
  596. package/dist/esm/MetricKey.js.map +1 -1
  597. package/dist/esm/MetricKeyType.js.map +1 -1
  598. package/dist/esm/MetricPair.js.map +1 -1
  599. package/dist/esm/MetricPolling.js +1 -1
  600. package/dist/esm/MetricPolling.js.map +1 -1
  601. package/dist/esm/MetricState.js.map +1 -1
  602. package/dist/esm/MutableHashMap.js +2 -2
  603. package/dist/esm/MutableHashMap.js.map +1 -1
  604. package/dist/esm/MutableHashSet.js +2 -2
  605. package/dist/esm/MutableHashSet.js.map +1 -1
  606. package/dist/esm/MutableList.js +2 -2
  607. package/dist/esm/MutableList.js.map +1 -1
  608. package/dist/esm/MutableQueue.js +2 -2
  609. package/dist/esm/MutableQueue.js.map +1 -1
  610. package/dist/esm/MutableRef.js +2 -2
  611. package/dist/esm/MutableRef.js.map +1 -1
  612. package/dist/esm/NonEmptyIterable.js.map +1 -1
  613. package/dist/esm/Number.js.map +1 -1
  614. package/dist/esm/Option.js +21 -14
  615. package/dist/esm/Option.js.map +1 -1
  616. package/dist/esm/Order.js +1 -1
  617. package/dist/esm/Order.js.map +1 -1
  618. package/dist/esm/Ordering.js.map +1 -1
  619. package/dist/esm/Pipeable.js.map +1 -1
  620. package/dist/esm/Pool.js +15 -17
  621. package/dist/esm/Pool.js.map +1 -1
  622. package/dist/esm/Predicate.js +15 -0
  623. package/dist/esm/Predicate.js.map +1 -1
  624. package/dist/esm/PrimaryKey.js +14 -0
  625. package/dist/esm/PrimaryKey.js.map +1 -0
  626. package/dist/esm/Queue.js +5 -0
  627. package/dist/esm/Queue.js.map +1 -1
  628. package/dist/esm/ReadonlyArray.js +195 -177
  629. package/dist/esm/ReadonlyArray.js.map +1 -1
  630. package/dist/esm/ReadonlyRecord.js +58 -7
  631. package/dist/esm/ReadonlyRecord.js.map +1 -1
  632. package/dist/esm/RedBlackTree.js.map +1 -1
  633. package/dist/esm/Ref.js.map +1 -1
  634. package/dist/esm/Reloadable.js.map +1 -1
  635. package/dist/esm/Request.js +41 -0
  636. package/dist/esm/Request.js.map +1 -1
  637. package/dist/esm/RequestBlock.js +3 -22
  638. package/dist/esm/RequestBlock.js.map +1 -1
  639. package/dist/esm/RequestResolver.js.map +1 -1
  640. package/dist/esm/Resource.js.map +1 -1
  641. package/dist/esm/STM.js +1 -1
  642. package/dist/esm/STM.js.map +1 -1
  643. package/dist/esm/Schedule.js.map +1 -1
  644. package/dist/esm/Scheduler.js.map +1 -1
  645. package/dist/esm/ScopedCache.js.map +1 -1
  646. package/dist/esm/ScopedRef.js.map +1 -1
  647. package/dist/esm/Sink.js.map +1 -1
  648. package/dist/esm/SortedMap.js +6 -3
  649. package/dist/esm/SortedMap.js.map +1 -1
  650. package/dist/esm/SortedSet.js +4 -4
  651. package/dist/esm/SortedSet.js.map +1 -1
  652. package/dist/esm/Stream.js.map +1 -1
  653. package/dist/esm/Streamable.js +3 -0
  654. package/dist/esm/Streamable.js.map +1 -1
  655. package/dist/esm/String.js.map +1 -1
  656. package/dist/esm/Struct.js.map +1 -1
  657. package/dist/esm/SubscriptionRef.js.map +1 -1
  658. package/dist/esm/Supervisor.js.map +1 -1
  659. package/dist/esm/SynchronizedRef.js.map +1 -1
  660. package/dist/esm/TArray.js.map +1 -1
  661. package/dist/esm/TDeferred.js.map +1 -1
  662. package/dist/esm/TMap.js.map +1 -1
  663. package/dist/esm/TPriorityQueue.js.map +1 -1
  664. package/dist/esm/TPubSub.js.map +1 -1
  665. package/dist/esm/TQueue.js.map +1 -1
  666. package/dist/esm/TRef.js.map +1 -1
  667. package/dist/esm/TSet.js.map +1 -1
  668. package/dist/esm/Take.js.map +1 -1
  669. package/dist/esm/TestAnnotation.js +3 -1
  670. package/dist/esm/TestAnnotation.js.map +1 -1
  671. package/dist/esm/TestAnnotationMap.js.map +1 -1
  672. package/dist/esm/TestAnnotations.js.map +1 -1
  673. package/dist/esm/TestClock.js.map +1 -1
  674. package/dist/esm/TestContext.js +2 -2
  675. package/dist/esm/TestContext.js.map +1 -1
  676. package/dist/esm/UpstreamPullRequest.js.map +1 -1
  677. package/dist/esm/UpstreamPullStrategy.js.map +1 -1
  678. package/dist/esm/Utils.js.map +1 -1
  679. package/dist/esm/index.js +4 -0
  680. package/dist/esm/index.js.map +1 -1
  681. package/dist/esm/internal/Iterable.js.map +1 -1
  682. package/dist/esm/internal/blockedRequests.js +3 -2
  683. package/dist/esm/internal/blockedRequests.js.map +1 -1
  684. package/dist/esm/internal/cache.js +3 -0
  685. package/dist/esm/internal/cache.js.map +1 -1
  686. package/dist/esm/internal/cause.js +4 -97
  687. package/dist/esm/internal/cause.js.map +1 -1
  688. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  689. package/dist/esm/internal/channel/channelState.js +2 -1
  690. package/dist/esm/internal/channel/channelState.js.map +1 -1
  691. package/dist/esm/internal/channel/childExecutorDecision.js.map +1 -1
  692. package/dist/esm/internal/channel/continuation.js +9 -1
  693. package/dist/esm/internal/channel/continuation.js.map +1 -1
  694. package/dist/esm/internal/channel/mergeDecision.js.map +1 -1
  695. package/dist/esm/internal/channel/mergeState.js.map +1 -1
  696. package/dist/esm/internal/channel/mergeStrategy.js.map +1 -1
  697. package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
  698. package/dist/esm/internal/channel/subexecutor.js.map +1 -1
  699. package/dist/esm/internal/channel/upstreamPullRequest.js +1 -1
  700. package/dist/esm/internal/channel/upstreamPullRequest.js.map +1 -1
  701. package/dist/esm/internal/channel/upstreamPullStrategy.js +1 -1
  702. package/dist/esm/internal/channel/upstreamPullStrategy.js.map +1 -1
  703. package/dist/esm/internal/channel.js.map +1 -1
  704. package/dist/esm/internal/clock.js.map +1 -1
  705. package/dist/esm/internal/concurrency.js.map +1 -1
  706. package/dist/esm/internal/config.js +15 -22
  707. package/dist/esm/internal/config.js.map +1 -1
  708. package/dist/esm/internal/configError.js +2 -2
  709. package/dist/esm/internal/configError.js.map +1 -1
  710. package/dist/esm/internal/configProvider/pathPatch.js.map +1 -1
  711. package/dist/esm/internal/configProvider.js +18 -4
  712. package/dist/esm/internal/configProvider.js.map +1 -1
  713. package/dist/esm/internal/configSecret.js.map +1 -1
  714. package/dist/esm/internal/context.js +6 -6
  715. package/dist/esm/internal/context.js.map +1 -1
  716. package/dist/esm/internal/core-effect.js +19 -15
  717. package/dist/esm/internal/core-effect.js.map +1 -1
  718. package/dist/esm/internal/core-stream.js +7 -1
  719. package/dist/esm/internal/core-stream.js.map +1 -1
  720. package/dist/esm/internal/core.js +196 -84
  721. package/dist/esm/internal/core.js.map +1 -1
  722. package/dist/esm/internal/data.js +3 -21
  723. package/dist/esm/internal/data.js.map +1 -1
  724. package/dist/esm/internal/dataSource.js +1 -1
  725. package/dist/esm/internal/dataSource.js.map +1 -1
  726. package/dist/esm/internal/deferred.js +2 -0
  727. package/dist/esm/internal/deferred.js.map +1 -1
  728. package/dist/esm/internal/differ/chunkPatch.js.map +1 -1
  729. package/dist/esm/internal/differ/contextPatch.js.map +1 -1
  730. package/dist/esm/internal/differ/hashMapPatch.js.map +1 -1
  731. package/dist/esm/internal/differ/hashSetPatch.js.map +1 -1
  732. package/dist/esm/internal/differ/orPatch.js.map +1 -1
  733. package/dist/esm/internal/differ.js.map +1 -1
  734. package/dist/esm/internal/effect/circular.js +1 -0
  735. package/dist/esm/internal/effect/circular.js.map +1 -1
  736. package/dist/esm/internal/effectable.js +37 -6
  737. package/dist/esm/internal/effectable.js.map +1 -1
  738. package/dist/esm/internal/either.js +2 -2
  739. package/dist/esm/internal/either.js.map +1 -1
  740. package/dist/esm/internal/encoding/base64.js.map +1 -1
  741. package/dist/esm/internal/encoding/base64Url.js.map +1 -1
  742. package/dist/esm/internal/encoding/common.js.map +1 -1
  743. package/dist/esm/internal/encoding/hex.js.map +1 -1
  744. package/dist/esm/internal/executionStrategy.js.map +1 -1
  745. package/dist/esm/internal/fiber.js +2 -0
  746. package/dist/esm/internal/fiber.js.map +1 -1
  747. package/dist/esm/internal/fiberId.js +4 -4
  748. package/dist/esm/internal/fiberId.js.map +1 -1
  749. package/dist/esm/internal/fiberMessage.js.map +1 -1
  750. package/dist/esm/internal/fiberRefs/patch.js.map +1 -1
  751. package/dist/esm/internal/fiberRefs.js.map +1 -1
  752. package/dist/esm/internal/fiberRuntime.js +178 -215
  753. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  754. package/dist/esm/internal/groupBy.js +4 -1
  755. package/dist/esm/internal/groupBy.js.map +1 -1
  756. package/dist/esm/internal/hashMap/array.js.map +1 -1
  757. package/dist/esm/internal/hashMap/node.js.map +1 -1
  758. package/dist/esm/internal/hashMap.js +3 -3
  759. package/dist/esm/internal/hashMap.js.map +1 -1
  760. package/dist/esm/internal/hashSet.js +4 -4
  761. package/dist/esm/internal/hashSet.js.map +1 -1
  762. package/dist/esm/internal/keyedPool.js +3 -0
  763. package/dist/esm/internal/keyedPool.js.map +1 -1
  764. package/dist/esm/internal/layer.js +22 -52
  765. package/dist/esm/internal/layer.js.map +1 -1
  766. package/dist/esm/internal/logger.js +2 -1
  767. package/dist/esm/internal/logger.js.map +1 -1
  768. package/dist/esm/internal/matcher.js.map +1 -1
  769. package/dist/esm/internal/metric/hook.js +2 -1
  770. package/dist/esm/internal/metric/hook.js.map +1 -1
  771. package/dist/esm/internal/metric/key.js +1 -1
  772. package/dist/esm/internal/metric/key.js.map +1 -1
  773. package/dist/esm/internal/metric/keyType.js +2 -1
  774. package/dist/esm/internal/metric/keyType.js.map +1 -1
  775. package/dist/esm/internal/metric/pair.js +1 -1
  776. package/dist/esm/internal/metric/pair.js.map +1 -1
  777. package/dist/esm/internal/metric/polling.js +6 -6
  778. package/dist/esm/internal/metric/polling.js.map +1 -1
  779. package/dist/esm/internal/metric/registry.js.map +1 -1
  780. package/dist/esm/internal/metric/state.js +1 -1
  781. package/dist/esm/internal/metric/state.js.map +1 -1
  782. package/dist/esm/internal/metric.js +11 -5
  783. package/dist/esm/internal/metric.js.map +1 -1
  784. package/dist/esm/internal/opCodes/layer.js +3 -3
  785. package/dist/esm/internal/opCodes/layer.js.map +1 -1
  786. package/dist/esm/internal/option.js +2 -2
  787. package/dist/esm/internal/option.js.map +1 -1
  788. package/dist/esm/internal/pool.js +2 -0
  789. package/dist/esm/internal/pool.js.map +1 -1
  790. package/dist/esm/internal/pubsub.js +25 -24
  791. package/dist/esm/internal/pubsub.js.map +1 -1
  792. package/dist/esm/internal/query.js +1 -1
  793. package/dist/esm/internal/query.js.map +1 -1
  794. package/dist/esm/internal/queue.js +13 -2
  795. package/dist/esm/internal/queue.js.map +1 -1
  796. package/dist/esm/internal/random.js.map +1 -1
  797. package/dist/esm/internal/redBlackTree/iterator.js.map +1 -1
  798. package/dist/esm/internal/redBlackTree.js +9 -3
  799. package/dist/esm/internal/redBlackTree.js.map +1 -1
  800. package/dist/esm/internal/ref.js +1 -0
  801. package/dist/esm/internal/ref.js.map +1 -1
  802. package/dist/esm/internal/reloadable.js +1 -1
  803. package/dist/esm/internal/reloadable.js.map +1 -1
  804. package/dist/esm/internal/request.js +31 -15
  805. package/dist/esm/internal/request.js.map +1 -1
  806. package/dist/esm/internal/resource.js +4 -3
  807. package/dist/esm/internal/resource.js.map +1 -1
  808. package/dist/esm/internal/ringBuffer.js.map +1 -1
  809. package/dist/esm/internal/runtime.js +3 -4
  810. package/dist/esm/internal/runtime.js.map +1 -1
  811. package/dist/esm/internal/runtimeFlags.js.map +1 -1
  812. package/dist/esm/internal/schedule/interval.js.map +1 -1
  813. package/dist/esm/internal/schedule/intervals.js.map +1 -1
  814. package/dist/esm/internal/schedule.js +12 -8
  815. package/dist/esm/internal/schedule.js.map +1 -1
  816. package/dist/esm/internal/scopedCache.js +5 -2
  817. package/dist/esm/internal/scopedCache.js.map +1 -1
  818. package/dist/esm/internal/scopedRef.js +1 -0
  819. package/dist/esm/internal/scopedRef.js.map +1 -1
  820. package/dist/esm/internal/sink.js +6 -2
  821. package/dist/esm/internal/sink.js.map +1 -1
  822. package/dist/esm/internal/stm/core.js +5 -3
  823. package/dist/esm/internal/stm/core.js.map +1 -1
  824. package/dist/esm/internal/stm/stm/journal.js.map +1 -1
  825. package/dist/esm/internal/stm/stm/stmState.js.map +1 -1
  826. package/dist/esm/internal/stm/stm/tExit.js +2 -1
  827. package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
  828. package/dist/esm/internal/stm/stm.js.map +1 -1
  829. package/dist/esm/internal/stm/tArray.js +1 -1
  830. package/dist/esm/internal/stm/tArray.js.map +1 -1
  831. package/dist/esm/internal/stm/tDeferred.js.map +1 -1
  832. package/dist/esm/internal/stm/tMap.js +2 -1
  833. package/dist/esm/internal/stm/tMap.js.map +1 -1
  834. package/dist/esm/internal/stm/tPriorityQueue.js +1 -1
  835. package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
  836. package/dist/esm/internal/stm/tPubSub.js +17 -14
  837. package/dist/esm/internal/stm/tPubSub.js.map +1 -1
  838. package/dist/esm/internal/stm/tQueue.js +8 -7
  839. package/dist/esm/internal/stm/tQueue.js.map +1 -1
  840. package/dist/esm/internal/stm/tRandom.js.map +1 -1
  841. package/dist/esm/internal/stm/tReentrantLock.js.map +1 -1
  842. package/dist/esm/internal/stm/tRef.js +1 -1
  843. package/dist/esm/internal/stm/tRef.js.map +1 -1
  844. package/dist/esm/internal/stm/tSemaphore.js +2 -2
  845. package/dist/esm/internal/stm/tSemaphore.js.map +1 -1
  846. package/dist/esm/internal/stm/tSet.js +1 -1
  847. package/dist/esm/internal/stm/tSet.js.map +1 -1
  848. package/dist/esm/internal/stream/haltStrategy.js.map +1 -1
  849. package/dist/esm/internal/stream/handoff.js +1 -1
  850. package/dist/esm/internal/stream/handoff.js.map +1 -1
  851. package/dist/esm/internal/stream.js +5 -5
  852. package/dist/esm/internal/stream.js.map +1 -1
  853. package/dist/esm/internal/string-utils.js.map +1 -1
  854. package/dist/esm/internal/subscriptionRef.js +1 -1
  855. package/dist/esm/internal/subscriptionRef.js.map +1 -1
  856. package/dist/esm/internal/supervisor/patch.js.map +1 -1
  857. package/dist/esm/internal/supervisor.js +1 -0
  858. package/dist/esm/internal/supervisor.js.map +1 -1
  859. package/dist/esm/internal/synchronizedRef.js.map +1 -1
  860. package/dist/esm/internal/take.js +3 -2
  861. package/dist/esm/internal/take.js.map +1 -1
  862. package/dist/esm/internal/version.js +1 -1
  863. package/dist/esm/package.json +1 -1
  864. package/package.json +10 -2
  865. package/src/BigDecimal.ts +7 -7
  866. package/src/Brand.ts +4 -4
  867. package/src/Cache.ts +18 -19
  868. package/src/Cause.ts +126 -41
  869. package/src/Channel.ts +12 -11
  870. package/src/ChildExecutorDecision.ts +10 -2
  871. package/src/Chunk.ts +110 -93
  872. package/src/Clock.ts +4 -4
  873. package/src/Config.ts +20 -20
  874. package/src/ConfigError.ts +8 -8
  875. package/src/ConfigProvider.ts +5 -5
  876. package/src/ConfigProviderPathPatch.ts +1 -1
  877. package/src/Console.ts +36 -36
  878. package/src/Context.ts +8 -7
  879. package/src/Data.ts +17 -48
  880. package/src/Deferred.ts +5 -4
  881. package/src/Differ.ts +24 -23
  882. package/src/Duration.ts +59 -2
  883. package/src/Effect.ts +104 -53
  884. package/src/Either.ts +93 -15
  885. package/src/Equal.ts +1 -1
  886. package/src/Equivalence.ts +2 -2
  887. package/src/Exit.ts +21 -7
  888. package/src/Fiber.ts +25 -18
  889. package/src/FiberRef.ts +14 -7
  890. package/src/GroupBy.ts +7 -6
  891. package/src/HKT.ts +5 -4
  892. package/src/Hash.ts +1 -1
  893. package/src/HashMap.ts +6 -4
  894. package/src/HashSet.ts +11 -11
  895. package/src/Inspectable.ts +5 -7
  896. package/src/KeyedPool.ts +16 -9
  897. package/src/Layer.ts +21 -58
  898. package/src/List.ts +68 -65
  899. package/src/Logger.ts +7 -6
  900. package/src/Match.ts +61 -49
  901. package/src/MergeDecision.ts +8 -7
  902. package/src/MergeState.ts +11 -5
  903. package/src/Metric.ts +13 -10
  904. package/src/MetricHook.ts +7 -6
  905. package/src/MetricKey.ts +4 -3
  906. package/src/MetricKeyType.ts +5 -4
  907. package/src/MetricPair.ts +4 -3
  908. package/src/MetricPolling.ts +22 -22
  909. package/src/MetricRegistry.ts +9 -9
  910. package/src/MetricState.ts +8 -5
  911. package/src/MutableHashMap.ts +3 -3
  912. package/src/MutableHashSet.ts +3 -3
  913. package/src/MutableList.ts +3 -3
  914. package/src/MutableQueue.ts +3 -3
  915. package/src/MutableRef.ts +3 -3
  916. package/src/NonEmptyIterable.ts +2 -2
  917. package/src/Option.ts +50 -29
  918. package/src/Order.ts +2 -2
  919. package/src/Pipeable.ts +275 -277
  920. package/src/Pool.ts +21 -22
  921. package/src/Predicate.ts +21 -2
  922. package/src/PrimaryKey.ts +23 -0
  923. package/src/PubSub.ts +3 -3
  924. package/src/Queue.ts +55 -32
  925. package/src/Random.ts +3 -3
  926. package/src/ReadonlyArray.ts +351 -390
  927. package/src/ReadonlyRecord.ts +97 -40
  928. package/src/RedBlackTree.ts +6 -2
  929. package/src/Ref.ts +5 -4
  930. package/src/Reloadable.ts +4 -3
  931. package/src/Request.ts +68 -11
  932. package/src/RequestBlock.ts +27 -66
  933. package/src/RequestResolver.ts +7 -6
  934. package/src/Resource.ts +5 -4
  935. package/src/Runtime.ts +3 -3
  936. package/src/STM.ts +27 -15
  937. package/src/Schedule.ts +14 -13
  938. package/src/Scheduler.ts +3 -3
  939. package/src/Scope.ts +3 -3
  940. package/src/ScopedCache.ts +13 -12
  941. package/src/ScopedRef.ts +4 -3
  942. package/src/SingleProducerAsyncInput.ts +7 -7
  943. package/src/Sink.ts +29 -14
  944. package/src/SortedMap.ts +12 -5
  945. package/src/SortedSet.ts +29 -43
  946. package/src/Stream.ts +75 -33
  947. package/src/StreamEmit.ts +12 -12
  948. package/src/Streamable.ts +3 -0
  949. package/src/SubscriptionRef.ts +6 -3
  950. package/src/Supervisor.ts +12 -11
  951. package/src/SynchronizedRef.ts +5 -4
  952. package/src/TArray.ts +5 -4
  953. package/src/TDeferred.ts +6 -5
  954. package/src/TMap.ts +6 -5
  955. package/src/TPriorityQueue.ts +5 -4
  956. package/src/TPubSub.ts +7 -3
  957. package/src/TQueue.ts +12 -11
  958. package/src/TRandom.ts +3 -3
  959. package/src/TRef.ts +6 -5
  960. package/src/TSet.ts +5 -4
  961. package/src/Take.ts +5 -4
  962. package/src/TestAnnotation.ts +9 -5
  963. package/src/TestAnnotations.ts +2 -2
  964. package/src/TestClock.ts +3 -5
  965. package/src/TestContext.ts +5 -4
  966. package/src/TestLive.ts +1 -1
  967. package/src/TestSized.ts +1 -1
  968. package/src/Tracer.ts +6 -6
  969. package/src/Types.ts +32 -0
  970. package/src/UpstreamPullRequest.ts +12 -5
  971. package/src/UpstreamPullStrategy.ts +5 -4
  972. package/src/Utils.ts +7 -6
  973. package/src/index.ts +5 -0
  974. package/src/internal/blockedRequests.ts +78 -81
  975. package/src/internal/cache.ts +15 -12
  976. package/src/internal/cause.ts +15 -139
  977. package/src/internal/channel/channelExecutor.ts +1 -1
  978. package/src/internal/channel/channelState.ts +10 -8
  979. package/src/internal/channel/continuation.ts +71 -42
  980. package/src/internal/channel/mergeDecision.ts +1 -1
  981. package/src/internal/channel/singleProducerAsyncInput.ts +1 -1
  982. package/src/internal/channel/subexecutor.ts +7 -7
  983. package/src/internal/channel/upstreamPullRequest.ts +1 -1
  984. package/src/internal/channel/upstreamPullStrategy.ts +1 -1
  985. package/src/internal/config.ts +21 -29
  986. package/src/internal/configError.ts +2 -2
  987. package/src/internal/configProvider.ts +20 -5
  988. package/src/internal/context.ts +6 -6
  989. package/src/internal/core-effect.ts +75 -67
  990. package/src/internal/core-stream.ts +25 -22
  991. package/src/internal/core.ts +360 -152
  992. package/src/internal/data.ts +3 -22
  993. package/src/internal/dataSource.ts +1 -1
  994. package/src/internal/deferred.ts +7 -5
  995. package/src/internal/differ/contextPatch.ts +5 -5
  996. package/src/internal/differ/orPatch.ts +18 -6
  997. package/src/internal/effect/circular.ts +4 -3
  998. package/src/internal/effectable.ts +41 -8
  999. package/src/internal/either.ts +2 -2
  1000. package/src/internal/fiber.ts +2 -0
  1001. package/src/internal/fiberId.ts +4 -4
  1002. package/src/internal/fiberMessage.ts +1 -4
  1003. package/src/internal/fiberRuntime.ts +242 -284
  1004. package/src/internal/fiberScope.ts +1 -1
  1005. package/src/internal/groupBy.ts +5 -2
  1006. package/src/internal/hashMap/node.ts +5 -5
  1007. package/src/internal/hashMap.ts +25 -24
  1008. package/src/internal/hashSet.ts +20 -22
  1009. package/src/internal/keyedPool.ts +7 -4
  1010. package/src/internal/layer.ts +35 -89
  1011. package/src/internal/logger.ts +2 -1
  1012. package/src/internal/metric/hook.ts +2 -1
  1013. package/src/internal/metric/key.ts +2 -2
  1014. package/src/internal/metric/keyType.ts +2 -1
  1015. package/src/internal/metric/pair.ts +1 -1
  1016. package/src/internal/metric/polling.ts +26 -26
  1017. package/src/internal/metric/state.ts +1 -1
  1018. package/src/internal/metric.ts +12 -5
  1019. package/src/internal/opCodes/layer.ts +6 -6
  1020. package/src/internal/option.ts +2 -2
  1021. package/src/internal/pool.ts +4 -2
  1022. package/src/internal/pubsub.ts +66 -62
  1023. package/src/internal/query.ts +1 -1
  1024. package/src/internal/queue.ts +36 -14
  1025. package/src/internal/redBlackTree/iterator.ts +1 -1
  1026. package/src/internal/redBlackTree/node.ts +1 -1
  1027. package/src/internal/redBlackTree.ts +11 -4
  1028. package/src/internal/ref.ts +2 -1
  1029. package/src/internal/reloadable.ts +2 -2
  1030. package/src/internal/request.ts +53 -14
  1031. package/src/internal/resource.ts +6 -5
  1032. package/src/internal/ringBuffer.ts +1 -1
  1033. package/src/internal/runtime.ts +4 -5
  1034. package/src/internal/schedule.ts +12 -8
  1035. package/src/internal/scopedCache.ts +14 -7
  1036. package/src/internal/scopedRef.ts +2 -1
  1037. package/src/internal/sink.ts +11 -4
  1038. package/src/internal/stack.ts +1 -1
  1039. package/src/internal/stm/core.ts +6 -4
  1040. package/src/internal/stm/stm/stmState.ts +1 -1
  1041. package/src/internal/stm/stm/tExit.ts +8 -6
  1042. package/src/internal/stm/stm/tryCommit.ts +1 -1
  1043. package/src/internal/stm/stm/versioned.ts +1 -1
  1044. package/src/internal/stm/stm.ts +2 -2
  1045. package/src/internal/stm/tArray.ts +3 -3
  1046. package/src/internal/stm/tDeferred.ts +3 -3
  1047. package/src/internal/stm/tMap.ts +5 -4
  1048. package/src/internal/stm/tPriorityQueue.ts +3 -3
  1049. package/src/internal/stm/tPubSub.ts +43 -38
  1050. package/src/internal/stm/tQueue.ts +9 -8
  1051. package/src/internal/stm/tReentrantLock.ts +2 -2
  1052. package/src/internal/stm/tRef.ts +2 -2
  1053. package/src/internal/stm/tSemaphore.ts +2 -2
  1054. package/src/internal/stm/tSet.ts +3 -3
  1055. package/src/internal/stream/debounceState.ts +2 -2
  1056. package/src/internal/stream/handoff.ts +4 -4
  1057. package/src/internal/stream/handoffSignal.ts +2 -2
  1058. package/src/internal/stream/pull.ts +1 -1
  1059. package/src/internal/stream.ts +68 -35
  1060. package/src/internal/subscriptionRef.ts +3 -3
  1061. package/src/internal/supervisor.ts +4 -3
  1062. package/src/internal/take.ts +4 -3
  1063. package/src/internal/version.ts +1 -1
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.rotate = exports.reverseNonEmpty = exports.reverse = exports.replicate = exports.replaceOption = exports.replace = exports.remove = exports.reduceRight = exports.reduce = exports.range = exports.prependAllNonEmpty = exports.prependAll = exports.prepend = exports.partitionMap = exports.partition = exports.of = exports.modifyOption = exports.modifyNonEmptyLast = exports.modifyNonEmptyHead = exports.modify = exports.min = exports.max = exports.matchRight = exports.matchLeft = exports.match = exports.mapAccum = exports.map = exports.makeBy = exports.make = exports.liftPredicate = exports.liftOption = exports.liftNullable = exports.liftEither = exports.length = exports.lastNonEmpty = exports.last = exports.join = exports.isNonEmptyReadonlyArray = exports.isNonEmptyArray = exports.isEmptyReadonlyArray = exports.isEmptyArray = exports.intersperseNonEmpty = exports.intersperse = exports.intersectionWith = exports.intersection = exports.insertAt = exports.initNonEmpty = exports.init = exports.headNonEmpty = exports.head = exports.groupWith = exports.groupBy = exports.group = exports.getOrder = exports.getEquivalence = exports.get = exports.fromRecord = exports.fromOption = exports.fromNullable = exports.fromIterable = exports.forEach = exports.flattenNonEmpty = exports.flatten = exports.flatMapNullable = exports.flatMapNonEmpty = exports.flatMap = exports.findLastIndex = exports.findLast = exports.findFirstIndex = exports.findFirst = exports.filterMapWhile = exports.filterMap = exports.filter = exports.extend = exports.every = exports.empty = exports.dropWhile = exports.dropRight = exports.drop = exports.differenceWith = exports.difference = exports.dedupeWith = exports.dedupeNonEmptyWith = exports.dedupeNonEmpty = exports.dedupeAdjacentWith = exports.dedupeAdjacent = exports.dedupe = exports.copy = exports.containsWith = exports.contains = exports.compact = exports.chunksOfNonEmpty = exports.chunksOf = exports.chopNonEmpty = exports.chop = exports.cartesianWith = exports.cartesian = exports.appendAllNonEmpty = exports.appendAll = exports.append = void 0;
7
- exports.zipWith = exports.zipNonEmptyWith = exports.zipNonEmpty = exports.zip = exports.unzipNonEmpty = exports.unzip = exports.unsafeGet = exports.unprepend = exports.unionWith = exports.unionNonEmptyWith = exports.unionNonEmpty = exports.union = exports.unfold = exports.unappend = exports.takeWhile = exports.takeRight = exports.take = exports.tailNonEmpty = exports.tail = exports.splitNonEmptyAt = exports.splitAt = exports.span = exports.sortWith = exports.sortNonEmpty = exports.sortByNonEmpty = exports.sortBy = exports.sort = exports.some = exports.setNonEmptyLast = exports.setNonEmptyHead = exports.separate = exports.scanRight = exports.scan = exports.rotateNonEmpty = void 0;
6
+ exports.sortBy = exports.sort = exports.some = exports.setNonEmptyLast = exports.setNonEmptyHead = exports.separate = exports.scanRight = exports.scan = exports.rotate = exports.reverse = exports.replicate = exports.replaceOption = exports.replace = exports.remove = exports.reduceRight = exports.reduce = exports.range = exports.prependAll = exports.prepend = exports.partitionMap = exports.partition = exports.of = exports.modifyOption = exports.modifyNonEmptyLast = exports.modifyNonEmptyHead = exports.modify = exports.min = exports.max = exports.matchRight = exports.matchLeft = exports.match = exports.mapAccum = exports.map = exports.makeBy = exports.make = exports.liftPredicate = exports.liftOption = exports.liftNullable = exports.liftEither = exports.length = exports.lastNonEmpty = exports.last = exports.join = exports.isNonEmptyReadonlyArray = exports.isNonEmptyArray = exports.isEmptyReadonlyArray = exports.isEmptyArray = exports.intersperse = exports.intersectionWith = exports.intersection = exports.insertAt = exports.initNonEmpty = exports.init = exports.headNonEmpty = exports.head = exports.groupWith = exports.groupBy = exports.group = exports.getSomes = exports.getRights = exports.getOrder = exports.getLefts = exports.getEquivalence = exports.get = exports.fromRecord = exports.fromOption = exports.fromNullable = exports.fromIterable = exports.forEach = exports.flatten = exports.flatMapNullable = exports.flatMap = exports.findLastIndex = exports.findLast = exports.findFirstIndex = exports.findFirst = exports.filterMapWhile = exports.filterMap = exports.filter = exports.extend = exports.every = exports.empty = exports.dropWhile = exports.dropRight = exports.drop = exports.differenceWith = exports.difference = exports.dedupeWith = exports.dedupeAdjacentWith = exports.dedupeAdjacent = exports.dedupe = exports.copy = exports.containsWith = exports.contains = exports.chunksOf = exports.chop = exports.cartesianWith = exports.cartesian = exports.appendAll = exports.append = void 0;
7
+ exports.zipWith = exports.zip = exports.unzip = exports.unsafeGet = exports.unprepend = exports.unionWith = exports.union = exports.unfold = exports.unappend = exports.takeWhile = exports.takeRight = exports.take = exports.tailNonEmpty = exports.tail = exports.splitNonEmptyAt = exports.splitAt = exports.span = exports.sortWith = void 0;
8
8
  var E = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Either.js"));
9
9
  var Equal = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Equal.js"));
10
10
  var Equivalence = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Equivalence.js"));
@@ -13,6 +13,7 @@ var readonlyArray = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("
13
13
  var O = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Option.js"));
14
14
  var Order = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Order.js"));
15
15
  var RR = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./ReadonlyRecord.js"));
16
+ var Tuple = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Tuple.js"));
16
17
  function _getRequireWildcardCache(e) {
17
18
  if ("function" != typeof WeakMap) return null;
18
19
  var r = new WeakMap(),
@@ -159,15 +160,21 @@ const matchRight = exports.matchRight = /*#__PURE__*/(0, _Function.dual)(2, (sel
159
160
  */
160
161
  const prepend = exports.prepend = /*#__PURE__*/(0, _Function.dual)(2, (self, head) => [head, ...self]);
161
162
  /**
163
+ * Prepends the specified prefix array (or iterable) to the beginning of the specified array (or iterable).
164
+ * If either array is non-empty, the result is also a non-empty array.
165
+ *
166
+ * @example
167
+ * import * as ReadonlyArray from "effect/ReadonlyArray"
168
+ *
169
+ * assert.deepStrictEqual(
170
+ * ReadonlyArray.prependAll([1, 2], ["a", "b"]),
171
+ * ["a", "b", 1, 2]
172
+ * )
173
+ *
162
174
  * @category concatenating
163
175
  * @since 2.0.0
164
176
  */
165
177
  const prependAll = exports.prependAll = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => fromIterable(that).concat(fromIterable(self)));
166
- /**
167
- * @category concatenating
168
- * @since 2.0.0
169
- */
170
- const prependAllNonEmpty = exports.prependAllNonEmpty = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => prependAll(self, that));
171
178
  /**
172
179
  * Append an element to the end of an `Iterable`, creating a new `NonEmptyArray`.
173
180
  *
@@ -176,15 +183,13 @@ const prependAllNonEmpty = exports.prependAllNonEmpty = /*#__PURE__*/(0, _Functi
176
183
  */
177
184
  const append = exports.append = /*#__PURE__*/(0, _Function.dual)(2, (self, last) => [...self, last]);
178
185
  /**
186
+ * Concatenates two arrays (or iterables), combining their elements.
187
+ * If either array is non-empty, the result is also a non-empty array.
188
+ *
179
189
  * @category concatenating
180
190
  * @since 2.0.0
181
191
  */
182
192
  const appendAll = exports.appendAll = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => fromIterable(self).concat(fromIterable(that)));
183
- /**
184
- * @category concatenating
185
- * @since 2.0.0
186
- */
187
- const appendAllNonEmpty = exports.appendAllNonEmpty = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => appendAll(self, that));
188
193
  /**
189
194
  * Reduce an `Iterable` from the left, keeping all intermediate results instead of only the final result.
190
195
  *
@@ -616,18 +621,13 @@ const remove = exports.remove = /*#__PURE__*/(0, _Function.dual)(2, (self, i) =>
616
621
  */
617
622
  const reverse = self => Array.from(self).reverse();
618
623
  /**
619
- * @category elements
620
- * @since 2.0.0
621
- */
622
- exports.reverse = reverse;
623
- const reverseNonEmpty = self => [lastNonEmpty(self), ...self.slice(0, -1).reverse()];
624
- /**
625
- * Sort the elements of an `Iterable` in increasing order, creating a new `Array`.
624
+ * Create a new array with elements sorted in increasing order based on the specified comparator.
625
+ * If the input is a `NonEmptyReadonlyArray`, the output will also be a `NonEmptyReadonlyArray`.
626
626
  *
627
627
  * @category sorting
628
628
  * @since 2.0.0
629
629
  */
630
- exports.reverseNonEmpty = reverseNonEmpty;
630
+ exports.reverse = reverse;
631
631
  const sort = exports.sort = /*#__PURE__*/(0, _Function.dual)(2, (self, O) => {
632
632
  const out = Array.from(self);
633
633
  out.sort(O);
@@ -638,13 +638,6 @@ const sort = exports.sort = /*#__PURE__*/(0, _Function.dual)(2, (self, O) => {
638
638
  * @category elements
639
639
  */
640
640
  const sortWith = exports.sortWith = /*#__PURE__*/(0, _Function.dual)(3, (self, f, order) => sort(self, Order.mapInput(order, f)));
641
- /**
642
- * Sort the elements of a `NonEmptyReadonlyArray` in increasing order, creating a new `NonEmptyArray`.
643
- *
644
- * @category sorting
645
- * @since 2.0.0
646
- */
647
- const sortNonEmpty = exports.sortNonEmpty = /*#__PURE__*/(0, _Function.dual)(2, (self, O) => sort(O)(self));
648
641
  /**
649
642
  * Sort the elements of an `Iterable` in increasing order, where elements are compared
650
643
  * using first `orders[0]`, then `orders[1]`, etc...
@@ -652,50 +645,45 @@ const sortNonEmpty = exports.sortNonEmpty = /*#__PURE__*/(0, _Function.dual)(2,
652
645
  * @category sorting
653
646
  * @since 2.0.0
654
647
  */
655
- const sortBy = (...orders) => self => {
656
- const input = fromIterable(self);
657
- return isNonEmptyReadonlyArray(input) ? sortByNonEmpty(...orders)(input) : [];
648
+ const sortBy = (...orders) => {
649
+ const sortByAll = sort(Order.combineAll(orders));
650
+ return self => {
651
+ const input = fromIterable(self);
652
+ if (isNonEmptyReadonlyArray(input)) {
653
+ return sortByAll(input);
654
+ }
655
+ return [];
656
+ };
658
657
  };
659
- /**
660
- * @category sorting
661
- * @since 2.0.0
662
- */
663
- exports.sortBy = sortBy;
664
- const sortByNonEmpty = (...orders) => sortNonEmpty(Order.combineAll(orders));
665
658
  /**
666
659
  * Takes two `Iterable`s and returns an `Array` of corresponding pairs.
667
660
  * If one input `Iterable` is short, excess elements of the
668
661
  * longer `Iterable` are discarded.
669
662
  *
663
+ * @category zipping
670
664
  * @since 2.0.0
671
665
  */
672
- exports.sortByNonEmpty = sortByNonEmpty;
673
- const zip = exports.zip = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => zipWith(self, that, (a, b) => [a, b]));
666
+ exports.sortBy = sortBy;
667
+ const zip = exports.zip = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => zipWith(self, that, Tuple.make));
674
668
  /**
675
669
  * Apply a function to pairs of elements at the same index in two `Iterable`s, collecting the results in a new `Array`. If one
676
670
  * input `Iterable` is short, excess elements of the longer `Iterable` are discarded.
677
671
  *
672
+ * @category zipping
678
673
  * @since 2.0.0
679
674
  */
680
675
  const zipWith = exports.zipWith = /*#__PURE__*/(0, _Function.dual)(3, (self, that, f) => {
681
676
  const as = fromIterable(self);
682
677
  const bs = fromIterable(that);
683
- return isNonEmptyReadonlyArray(as) && isNonEmptyReadonlyArray(bs) ? zipNonEmptyWith(bs, f)(as) : [];
684
- });
685
- /**
686
- * @since 2.0.0
687
- */
688
- const zipNonEmpty = exports.zipNonEmpty = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => zipNonEmptyWith(self, that, (a, b) => [a, b]));
689
- /**
690
- * @since 2.0.0
691
- */
692
- const zipNonEmptyWith = exports.zipNonEmptyWith = /*#__PURE__*/(0, _Function.dual)(3, (self, that, f) => {
693
- const cs = [f(headNonEmpty(self), headNonEmpty(that))];
694
- const len = Math.min(self.length, that.length);
695
- for (let i = 1; i < len; i++) {
696
- cs[i] = f(self[i], that[i]);
678
+ if (isNonEmptyReadonlyArray(as) && isNonEmptyReadonlyArray(bs)) {
679
+ const out = [f(headNonEmpty(as), headNonEmpty(bs))];
680
+ const len = Math.min(as.length, bs.length);
681
+ for (let i = 1; i < len; i++) {
682
+ out[i] = f(as[i], bs[i]);
683
+ }
684
+ return out;
697
685
  }
698
- return cs;
686
+ return [];
699
687
  });
700
688
  /**
701
689
  * This function is the inverse of `zip`. Takes an `Iterable` of pairs and return two corresponding `Array`s.
@@ -704,46 +692,38 @@ const zipNonEmptyWith = exports.zipNonEmptyWith = /*#__PURE__*/(0, _Function.dua
704
692
  */
705
693
  const unzip = self => {
706
694
  const input = fromIterable(self);
707
- return isNonEmptyReadonlyArray(input) ? unzipNonEmpty(input) : [[], []];
708
- };
709
- /**
710
- * @since 2.0.0
711
- */
712
- exports.unzip = unzip;
713
- const unzipNonEmpty = self => {
714
- const fa = [self[0][0]];
715
- const fb = [self[0][1]];
716
- for (let i = 1; i < self.length; i++) {
717
- fa[i] = self[i][0];
718
- fb[i] = self[i][1];
695
+ if (isNonEmptyReadonlyArray(input)) {
696
+ const fa = [input[0][0]];
697
+ const fb = [input[0][1]];
698
+ for (let i = 1; i < input.length; i++) {
699
+ fa[i] = input[i][0];
700
+ fb[i] = input[i][1];
701
+ }
702
+ return [fa, fb];
719
703
  }
720
- return [fa, fb];
704
+ return [[], []];
721
705
  };
722
706
  /**
723
- * Places an element in between members of an `Iterable`
707
+ * Places an element in between members of an `Iterable`.
708
+ * If the input is a non-empty array, the result is also a non-empty array.
724
709
  *
725
710
  * @since 2.0.0
726
711
  */
727
- exports.unzipNonEmpty = unzipNonEmpty;
712
+ exports.unzip = unzip;
728
713
  const intersperse = exports.intersperse = /*#__PURE__*/(0, _Function.dual)(2, (self, middle) => {
729
714
  const input = fromIterable(self);
730
- return isNonEmptyReadonlyArray(input) ? intersperseNonEmpty(input, middle) : [];
731
- });
732
- /**
733
- * Places an element in between members of a `NonEmptyReadonlyArray`
734
- *
735
- * @since 2.0.0
736
- */
737
- const intersperseNonEmpty = exports.intersperseNonEmpty = /*#__PURE__*/(0, _Function.dual)(2, (self, middle) => {
738
- const out = [headNonEmpty(self)];
739
- const tail = tailNonEmpty(self);
740
- for (let i = 0; i < tail.length; i++) {
741
- if (i < tail.length) {
742
- out.push(middle);
715
+ if (isNonEmptyReadonlyArray(input)) {
716
+ const out = [headNonEmpty(input)];
717
+ const tail = tailNonEmpty(input);
718
+ for (let i = 0; i < tail.length; i++) {
719
+ if (i < tail.length) {
720
+ out.push(middle);
721
+ }
722
+ out.push(tail[i]);
743
723
  }
744
- out.push(tail[i]);
724
+ return out;
745
725
  }
746
- return out;
726
+ return [];
747
727
  });
748
728
  /**
749
729
  * Apply a function to the head, creating a new `NonEmptyReadonlyArray`.
@@ -771,30 +751,26 @@ const modifyNonEmptyLast = exports.modifyNonEmptyLast = /*#__PURE__*/(0, _Functi
771
751
  const setNonEmptyLast = exports.setNonEmptyLast = /*#__PURE__*/(0, _Function.dual)(2, (self, b) => modifyNonEmptyLast(self, () => b));
772
752
  /**
773
753
  * Rotate an `Iterable` by `n` steps.
754
+ * If the input is a non-empty array, the result is also a non-empty array.
774
755
  *
775
756
  * @since 2.0.0
776
757
  */
777
758
  const rotate = exports.rotate = /*#__PURE__*/(0, _Function.dual)(2, (self, n) => {
778
759
  const input = fromIterable(self);
779
- return isNonEmptyReadonlyArray(input) ? rotateNonEmpty(input, n) : [];
780
- });
781
- /**
782
- * Rotate a `NonEmptyReadonlyArray` by `n` steps.
783
- *
784
- * @since 2.0.0
785
- */
786
- const rotateNonEmpty = exports.rotateNonEmpty = /*#__PURE__*/(0, _Function.dual)(2, (self, n) => {
787
- const len = self.length;
788
- const m = Math.round(n) % len;
789
- if (isOutOfBound(Math.abs(m), self) || m === 0) {
790
- return copy(self);
791
- }
792
- if (m < 0) {
793
- const [f, s] = splitNonEmptyAt(self, -m);
794
- return appendAllNonEmpty(s, f);
795
- } else {
796
- return rotateNonEmpty(self, m - len);
760
+ if (isNonEmptyReadonlyArray(input)) {
761
+ const len = input.length;
762
+ const m = Math.round(n) % len;
763
+ if (isOutOfBound(Math.abs(m), input) || m === 0) {
764
+ return copy(input);
765
+ }
766
+ if (m < 0) {
767
+ const [f, s] = splitNonEmptyAt(input, -m);
768
+ return appendAll(s, f);
769
+ } else {
770
+ return rotate(self, m - len);
771
+ }
797
772
  }
773
+ return [];
798
774
  });
799
775
  /**
800
776
  * Returns a function that checks if a `ReadonlyArray` contains a given value using a provided `isEquivalent` function.
@@ -819,27 +795,6 @@ const _equivalence = /*#__PURE__*/Equal.equivalence();
819
795
  * @since 2.0.0
820
796
  */
821
797
  const contains = exports.contains = /*#__PURE__*/containsWith(_equivalence);
822
- /**
823
- * Remove duplicates from a `NonEmptyReadonlyArray`, keeping the first occurrence of an element using the provided `isEquivalent` function.
824
- *
825
- * @since 2.0.0
826
- */
827
- const dedupeNonEmptyWith = exports.dedupeNonEmptyWith = /*#__PURE__*/(0, _Function.dual)(2, (self, isEquivalent) => {
828
- const out = [headNonEmpty(self)];
829
- const rest = tailNonEmpty(self);
830
- for (const a of rest) {
831
- if (out.every(o => !isEquivalent(a, o))) {
832
- out.push(a);
833
- }
834
- }
835
- return out;
836
- });
837
- /**
838
- * Remove duplicates from a `NonEmptyReadonlyArray`, keeping the first occurrence of an element.
839
- *
840
- * @since 2.0.0
841
- */
842
- const dedupeNonEmpty = exports.dedupeNonEmpty = /*#__PURE__*/dedupeNonEmptyWith( /*#__PURE__*/Equal.equivalence());
843
798
  /**
844
799
  * A useful recursion pattern for processing an `Iterable` to produce a new `Array`, often used for "chopping" up the input
845
800
  * `Iterable`. Typically chop is called with some function that will consume an initial prefix of the `Iterable` and produce a
@@ -849,50 +804,52 @@ const dedupeNonEmpty = exports.dedupeNonEmpty = /*#__PURE__*/dedupeNonEmptyWith(
849
804
  */
850
805
  const chop = exports.chop = /*#__PURE__*/(0, _Function.dual)(2, (self, f) => {
851
806
  const input = fromIterable(self);
852
- return isNonEmptyReadonlyArray(input) ? chopNonEmpty(input, f) : [];
853
- });
854
- /**
855
- * A useful recursion pattern for processing a `NonEmptyReadonlyArray` to produce a new `NonEmptyReadonlyArray`, often used for "chopping" up the input
856
- * `NonEmptyReadonlyArray`. Typically `chop` is called with some function that will consume an initial prefix of the `NonEmptyReadonlyArray` and produce a
857
- * value and the tail of the `NonEmptyReadonlyArray`.
858
- *
859
- * @since 2.0.0
860
- */
861
- const chopNonEmpty = exports.chopNonEmpty = /*#__PURE__*/(0, _Function.dual)(2, (self, f) => {
862
- const [b, rest] = f(self);
863
- const out = [b];
864
- let next = rest;
865
- while (readonlyArray.isNonEmptyArray(next)) {
866
- const [b, rest] = f(next);
867
- out.push(b);
868
- next = rest;
807
+ if (isNonEmptyReadonlyArray(input)) {
808
+ const [b, rest] = f(input);
809
+ const out = [b];
810
+ let next = rest;
811
+ while (readonlyArray.isNonEmptyArray(next)) {
812
+ const [b, rest] = f(next);
813
+ out.push(b);
814
+ next = rest;
815
+ }
816
+ return out;
869
817
  }
870
- return out;
818
+ return [];
871
819
  });
872
820
  /**
873
- * Splits an `Iterable` into two pieces, the first piece has max `n` elements.
821
+ * Splits an `Iterable` into two segments, with the first segment containing a maximum of `n` elements.
822
+ * The value of `n` can be `0`.
874
823
  *
875
824
  * @category getters
876
825
  * @since 2.0.0
877
826
  */
878
827
  const splitAt = exports.splitAt = /*#__PURE__*/(0, _Function.dual)(2, (self, n) => {
879
828
  const input = Array.from(self);
880
- return n >= 1 && isNonEmptyReadonlyArray(input) ? splitNonEmptyAt(input, n) : isEmptyReadonlyArray(input) ? [input, []] : [[], input];
829
+ const _n = Math.floor(n);
830
+ if (isNonEmptyReadonlyArray(input)) {
831
+ if (_n >= 1) {
832
+ return splitNonEmptyAt(input, _n);
833
+ }
834
+ return [[], input];
835
+ }
836
+ return [input, []];
881
837
  });
882
838
  /**
883
839
  * @since 2.0.0
884
840
  */
885
841
  const copy = self => self.slice();
886
842
  /**
887
- * Splits a `NonEmptyReadonlyArray` into two pieces, the first piece has max `n` elements.
843
+ * Splits a `NonEmptyReadonlyArray` into two segments, with the first segment containing a maximum of `n` elements.
844
+ * The value of `n` must be `>= 1`.
888
845
  *
889
846
  * @category getters
890
847
  * @since 2.0.0
891
848
  */
892
849
  exports.copy = copy;
893
850
  const splitNonEmptyAt = exports.splitNonEmptyAt = /*#__PURE__*/(0, _Function.dual)(2, (self, n) => {
894
- const m = Math.max(1, n);
895
- return m >= self.length ? [copy(self), []] : [prepend(self.slice(1, m), headNonEmpty(self)), self.slice(m)];
851
+ const _n = Math.max(1, Math.floor(n));
852
+ return _n >= self.length ? [copy(self), []] : [prepend(self.slice(1, _n), headNonEmpty(self)), self.slice(_n)];
896
853
  });
897
854
  /**
898
855
  * Splits an `Iterable` into length-`n` pieces. The last piece will be shorter if `n` does not evenly divide the length of
@@ -910,23 +867,18 @@ const splitNonEmptyAt = exports.splitNonEmptyAt = /*#__PURE__*/(0, _Function.dua
910
867
  */
911
868
  const chunksOf = exports.chunksOf = /*#__PURE__*/(0, _Function.dual)(2, (self, n) => {
912
869
  const input = fromIterable(self);
913
- return isNonEmptyReadonlyArray(input) ? chunksOfNonEmpty(input, n) : [];
870
+ if (isNonEmptyReadonlyArray(input)) {
871
+ return chop(input, splitNonEmptyAt(n));
872
+ }
873
+ return [];
914
874
  });
915
- /**
916
- * Splits a `NonEmptyReadonlyArray` into length-`n` pieces. The last piece will be shorter if `n` does not evenly divide the length of
917
- * the `NonEmptyReadonlyArray`.
918
- *
919
- * @category getters
920
- * @since 2.0.0
921
- */
922
- const chunksOfNonEmpty = exports.chunksOfNonEmpty = /*#__PURE__*/(0, _Function.dual)(2, (self, n) => chopNonEmpty(self, splitNonEmptyAt(n)));
923
875
  /**
924
876
  * Group equal, consecutive elements of a `NonEmptyReadonlyArray` into `NonEmptyArray`s using the provided `isEquivalent` function.
925
877
  *
926
878
  * @category grouping
927
879
  * @since 2.0.0
928
880
  */
929
- const groupWith = exports.groupWith = /*#__PURE__*/(0, _Function.dual)(2, (self, isEquivalent) => chopNonEmpty(self, as => {
881
+ const groupWith = exports.groupWith = /*#__PURE__*/(0, _Function.dual)(2, (self, isEquivalent) => chop(self, as => {
930
882
  const h = headNonEmpty(as);
931
883
  const out = [h];
932
884
  let i = 1;
@@ -969,28 +921,22 @@ const groupBy = exports.groupBy = /*#__PURE__*/(0, _Function.dual)(2, (self, f)
969
921
  /**
970
922
  * @since 2.0.0
971
923
  */
972
- const unionWith = isEquivalent => (0, _Function.dual)(2, (self, that) => {
924
+ const unionWith = exports.unionWith = /*#__PURE__*/(0, _Function.dual)(3, (self, that, isEquivalent) => {
973
925
  const a = fromIterable(self);
974
926
  const b = fromIterable(that);
975
- return isNonEmptyReadonlyArray(a) && isNonEmptyReadonlyArray(b) ? unionNonEmptyWith(isEquivalent)(a, b) : isNonEmptyReadonlyArray(a) ? a : b;
927
+ if (isNonEmptyReadonlyArray(a)) {
928
+ if (isNonEmptyReadonlyArray(b)) {
929
+ const dedupe = dedupeWith(isEquivalent);
930
+ return dedupe(appendAll(a, b));
931
+ }
932
+ return a;
933
+ }
934
+ return b;
976
935
  });
977
936
  /**
978
937
  * @since 2.0.0
979
938
  */
980
- exports.unionWith = unionWith;
981
- const union = exports.union = /*#__PURE__*/unionWith(_equivalence);
982
- /**
983
- * @since 2.0.0
984
- */
985
- const unionNonEmptyWith = isEquivalent => {
986
- const dedupe = dedupeNonEmptyWith(isEquivalent);
987
- return (0, _Function.dual)(2, (self, that) => dedupe(appendAllNonEmpty(self, that)));
988
- };
989
- /**
990
- * @since 2.0.0
991
- */
992
- exports.unionNonEmptyWith = unionNonEmptyWith;
993
- const unionNonEmpty = exports.unionNonEmpty = /*#__PURE__*/unionNonEmptyWith(_equivalence);
939
+ const union = exports.union = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => unionWith(self, that, _equivalence));
994
940
  /**
995
941
  * Creates an `Array` of unique values that are included in all given `Iterable`s using the provided `isEquivalent` function.
996
942
  * The order and references of result values are determined by the first `Iterable`.
@@ -1020,7 +966,7 @@ const differenceWith = isEquivalent => {
1020
966
  return (0, _Function.dual)(2, (self, that) => fromIterable(self).filter(a => !has(that, a)));
1021
967
  };
1022
968
  /**
1023
- * Creates a `Array` of values not included in the other given `Iterable` using the provided `isEquivalent` function.
969
+ * Creates a `Array` of values not included in the other given `Iterable`.
1024
970
  * The order and references of result values are determined by the first `Iterable`.
1025
971
  *
1026
972
  * @since 2.0.0
@@ -1047,6 +993,8 @@ const of = a => [a];
1047
993
  exports.of = of;
1048
994
  const map = exports.map = /*#__PURE__*/(0, _Function.dual)(2, (self, f) => self.map(f));
1049
995
  /**
996
+ * Applies a function to each element in an array and returns a new array containing the concatenated mapped elements.
997
+ *
1050
998
  * @category sequencing
1051
999
  * @since 2.0.0
1052
1000
  */
@@ -1061,20 +1009,12 @@ const flatMap = exports.flatMap = /*#__PURE__*/(0, _Function.dual)(2, (self, f)
1061
1009
  return out;
1062
1010
  });
1063
1011
  /**
1064
- * @category sequencing
1065
- * @since 2.0.0
1066
- */
1067
- const flatMapNonEmpty = exports.flatMapNonEmpty = flatMap;
1068
- /**
1012
+ * Flattens an array of arrays into a single array by concatenating all arrays.
1013
+ *
1069
1014
  * @category sequencing
1070
1015
  * @since 2.0.0
1071
1016
  */
1072
1017
  const flatten = exports.flatten = /*#__PURE__*/flatMap(_Function.identity);
1073
- /**
1074
- * @category sequencing
1075
- * @since 2.0.0
1076
- */
1077
- const flattenNonEmpty = exports.flattenNonEmpty = /*#__PURE__*/flatMapNonEmpty(_Function.identity);
1078
1018
  /**
1079
1019
  * @category filtering
1080
1020
  * @since 2.0.0
@@ -1127,14 +1067,75 @@ const partitionMap = exports.partitionMap = /*#__PURE__*/(0, _Function.dual)(2,
1127
1067
  return [left, right];
1128
1068
  });
1129
1069
  /**
1070
+ * Retrieves the `Some` values from an `Iterable` of `Option`s, collecting them into an array.
1071
+ *
1072
+ * @example
1073
+ * import { getSomes } from "effect/ReadonlyArray"
1074
+ * import { some, none } from "effect/Option"
1075
+ *
1076
+ * assert.deepStrictEqual(
1077
+ * getSomes([some(1), none(), some(2)]),
1078
+ * [1, 2]
1079
+ * )
1080
+ *
1081
+ * @category filtering
1082
+ * @since 2.0.0
1083
+ */
1084
+ const getSomes = exports.getSomes = /*#__PURE__*/filterMap(_Function.identity);
1085
+ /**
1086
+ * Retrieves the `Left` values from an `Iterable` of `Either`s, collecting them into an array.
1087
+ *
1088
+ * @example
1089
+ * import { getLefts } from "effect/ReadonlyArray"
1090
+ * import { right, left } from "effect/Either"
1091
+ *
1092
+ * assert.deepStrictEqual(
1093
+ * getLefts([right(1), left("err"), right(2)]),
1094
+ * ["err"]
1095
+ * )
1096
+ *
1097
+ * @category filtering
1098
+ * @since 2.0.0
1099
+ */
1100
+ const getLefts = self => {
1101
+ const out = [];
1102
+ for (const a of self) {
1103
+ if (E.isLeft(a)) {
1104
+ out.push(a.left);
1105
+ }
1106
+ }
1107
+ return out;
1108
+ };
1109
+ /**
1110
+ * Retrieves the `Right` values from an `Iterable` of `Either`s, collecting them into an array.
1111
+ *
1112
+ * @example
1113
+ * import { getRights } from "effect/ReadonlyArray"
1114
+ * import { right, left } from "effect/Either"
1115
+ *
1116
+ * assert.deepStrictEqual(
1117
+ * getRights([right(1), left("err"), right(2)]),
1118
+ * [1, 2]
1119
+ * )
1120
+ *
1130
1121
  * @category filtering
1131
1122
  * @since 2.0.0
1132
1123
  */
1133
- const compact = exports.compact = /*#__PURE__*/filterMap(_Function.identity);
1124
+ exports.getLefts = getLefts;
1125
+ const getRights = self => {
1126
+ const out = [];
1127
+ for (const a of self) {
1128
+ if (E.isRight(a)) {
1129
+ out.push(a.right);
1130
+ }
1131
+ }
1132
+ return out;
1133
+ };
1134
1134
  /**
1135
1135
  * @category filtering
1136
1136
  * @since 2.0.0
1137
1137
  */
1138
+ exports.getRights = getRights;
1138
1139
  const filter = exports.filter = /*#__PURE__*/(0, _Function.dual)(2, (self, predicate) => {
1139
1140
  const as = fromIterable(self);
1140
1141
  const out = [];
@@ -1146,6 +1147,8 @@ const filter = exports.filter = /*#__PURE__*/(0, _Function.dual)(2, (self, predi
1146
1147
  return out;
1147
1148
  });
1148
1149
  /**
1150
+ * Separate elements based on a predicate that also exposes the index of the element.
1151
+ *
1149
1152
  * @category filtering
1150
1153
  * @since 2.0.0
1151
1154
  */
@@ -1201,7 +1204,7 @@ const fromNullable = a => a == null ? empty() : [a];
1201
1204
  exports.fromNullable = fromNullable;
1202
1205
  const liftNullable = f => (...a) => fromNullable(f(...a));
1203
1206
  /**
1204
- * @category combining
1207
+ * @category sequencing
1205
1208
  * @since 2.0.0
1206
1209
  */
1207
1210
  exports.liftNullable = liftNullable;
@@ -1279,16 +1282,28 @@ const getEquivalence = exports.getEquivalence = Equivalence.array;
1279
1282
  */
1280
1283
  const forEach = exports.forEach = /*#__PURE__*/(0, _Function.dual)(2, (self, f) => fromIterable(self).forEach((a, i) => f(a, i)));
1281
1284
  /**
1282
- * Remove duplicates from am `Iterable` using the provided `isEquivalent` function, keeping the first occurrence of an element.
1285
+ * Remove duplicates from an `Iterable` using the provided `isEquivalent` function,
1286
+ * preserving the order of the first occurrence of each element.
1283
1287
  *
1284
1288
  * @since 2.0.0
1285
1289
  */
1286
1290
  const dedupeWith = exports.dedupeWith = /*#__PURE__*/(0, _Function.dual)(2, (self, isEquivalent) => {
1287
1291
  const input = fromIterable(self);
1288
- return isNonEmptyReadonlyArray(input) ? dedupeNonEmptyWith(isEquivalent)(input) : [];
1292
+ if (isNonEmptyReadonlyArray(input)) {
1293
+ const out = [headNonEmpty(input)];
1294
+ const rest = tailNonEmpty(input);
1295
+ for (const r of rest) {
1296
+ if (out.every(a => !isEquivalent(r, a))) {
1297
+ out.push(r);
1298
+ }
1299
+ }
1300
+ return out;
1301
+ }
1302
+ return [];
1289
1303
  });
1290
1304
  /**
1291
- * Remove duplicates from am `Iterable`, keeping the first occurrence of an element.
1305
+ * Remove duplicates from an `Iterable`, preserving the order of the first occurrence of each element.
1306
+ * The equivalence used to compare elements is provided by `Equal.equivalence()` from the `Equal` module.
1292
1307
  *
1293
1308
  * @since 2.0.0
1294
1309
  */