effect 2.4.19 → 3.0.1

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 (615) hide show
  1. package/Array/package.json +6 -0
  2. package/FiberHandle/package.json +6 -0
  3. package/Record/package.json +6 -0
  4. package/dist/cjs/{ReadonlyArray.js → Array.js} +46 -23
  5. package/dist/cjs/Array.js.map +1 -0
  6. package/dist/cjs/Brand.js +2 -2
  7. package/dist/cjs/Brand.js.map +1 -1
  8. package/dist/cjs/Channel.js +4 -8
  9. package/dist/cjs/Channel.js.map +1 -1
  10. package/dist/cjs/Chunk.js +5 -1
  11. package/dist/cjs/Chunk.js.map +1 -1
  12. package/dist/cjs/ConfigError.js.map +1 -1
  13. package/dist/cjs/Cron.js +13 -13
  14. package/dist/cjs/Cron.js.map +1 -1
  15. package/dist/cjs/Effect.js +14 -10
  16. package/dist/cjs/Effect.js.map +1 -1
  17. package/dist/cjs/Either.js +4 -1
  18. package/dist/cjs/Either.js.map +1 -1
  19. package/dist/cjs/ExecutionStrategy.js.map +1 -1
  20. package/dist/cjs/Exit.js +3 -9
  21. package/dist/cjs/Exit.js.map +1 -1
  22. package/dist/cjs/Fiber.js +2 -8
  23. package/dist/cjs/Fiber.js.map +1 -1
  24. package/dist/cjs/FiberHandle.js +306 -0
  25. package/dist/cjs/FiberHandle.js.map +1 -0
  26. package/dist/cjs/FiberMap.js +105 -28
  27. package/dist/cjs/FiberMap.js.map +1 -1
  28. package/dist/cjs/FiberRefs.js.map +1 -1
  29. package/dist/cjs/FiberSet.js +51 -15
  30. package/dist/cjs/FiberSet.js.map +1 -1
  31. package/dist/cjs/HashMap.js.map +1 -1
  32. package/dist/cjs/HashSet.js.map +1 -1
  33. package/dist/cjs/Iterable.js +40 -5
  34. package/dist/cjs/Iterable.js.map +1 -1
  35. package/dist/cjs/Layer.js.map +1 -1
  36. package/dist/cjs/List.js +3 -3
  37. package/dist/cjs/List.js.map +1 -1
  38. package/dist/cjs/Metric.js +3 -1
  39. package/dist/cjs/Metric.js.map +1 -1
  40. package/dist/cjs/MetricKey.js.map +1 -1
  41. package/dist/cjs/MetricKeyType.js.map +1 -1
  42. package/dist/cjs/MutableHashMap.js +0 -4
  43. package/dist/cjs/MutableHashMap.js.map +1 -1
  44. package/dist/cjs/Option.js +3 -6
  45. package/dist/cjs/Option.js.map +1 -1
  46. package/dist/cjs/{ReadonlyRecord.js → Record.js} +29 -29
  47. package/dist/cjs/Record.js.map +1 -0
  48. package/dist/cjs/STM.js +4 -10
  49. package/dist/cjs/STM.js.map +1 -1
  50. package/dist/cjs/Schedule.js +2 -2
  51. package/dist/cjs/Schedule.js.map +1 -1
  52. package/dist/cjs/ScopedCache.js.map +1 -1
  53. package/dist/cjs/Stream.js +3 -9
  54. package/dist/cjs/Stream.js.map +1 -1
  55. package/dist/cjs/StreamHaltStrategy.js +2 -0
  56. package/dist/cjs/StreamHaltStrategy.js.map +1 -1
  57. package/dist/cjs/String.js +44 -2
  58. package/dist/cjs/String.js.map +1 -1
  59. package/dist/cjs/TestAnnotations.js +1 -1
  60. package/dist/cjs/TestAnnotations.js.map +1 -1
  61. package/dist/cjs/TestClock.js +3 -3
  62. package/dist/cjs/TestClock.js.map +1 -1
  63. package/dist/cjs/Tracer.js.map +1 -1
  64. package/dist/cjs/index.js +8 -6
  65. package/dist/cjs/index.js.map +1 -1
  66. package/dist/cjs/internal/{readonlyArray.js → array.js} +1 -1
  67. package/dist/cjs/internal/array.js.map +1 -0
  68. package/dist/cjs/internal/cache.js +3 -3
  69. package/dist/cjs/internal/cache.js.map +1 -1
  70. package/dist/cjs/internal/cause.js +3 -3
  71. package/dist/cjs/internal/cause.js.map +1 -1
  72. package/dist/cjs/internal/channel/channelExecutor.js +15 -15
  73. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  74. package/dist/cjs/internal/channel/channelState.js +1 -1
  75. package/dist/cjs/internal/channel/channelState.js.map +1 -1
  76. package/dist/cjs/internal/channel/singleProducerAsyncInput.js +1 -1
  77. package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
  78. package/dist/cjs/internal/channel.js +10 -10
  79. package/dist/cjs/internal/channel.js.map +1 -1
  80. package/dist/cjs/internal/clock.js +2 -2
  81. package/dist/cjs/internal/clock.js.map +1 -1
  82. package/dist/cjs/internal/configError.js +20 -19
  83. package/dist/cjs/internal/configError.js.map +1 -1
  84. package/dist/cjs/internal/configProvider/pathPatch.js +1 -1
  85. package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -1
  86. package/dist/cjs/internal/configProvider.js +47 -48
  87. package/dist/cjs/internal/configProvider.js.map +1 -1
  88. package/dist/cjs/internal/core-effect.js +42 -28
  89. package/dist/cjs/internal/core-effect.js.map +1 -1
  90. package/dist/cjs/internal/core-stream.js +2 -3
  91. package/dist/cjs/internal/core-stream.js.map +1 -1
  92. package/dist/cjs/internal/core.js +27 -31
  93. package/dist/cjs/internal/core.js.map +1 -1
  94. package/dist/cjs/internal/dataSource.js +19 -2
  95. package/dist/cjs/internal/dataSource.js.map +1 -1
  96. package/dist/cjs/internal/differ/readonlyArrayPatch.js +6 -6
  97. package/dist/cjs/internal/differ/readonlyArrayPatch.js.map +1 -1
  98. package/dist/cjs/internal/effect/circular.js +1 -1
  99. package/dist/cjs/internal/effect/circular.js.map +1 -1
  100. package/dist/cjs/internal/executionStrategy.js +4 -4
  101. package/dist/cjs/internal/executionStrategy.js.map +1 -1
  102. package/dist/cjs/internal/fiber.js +5 -6
  103. package/dist/cjs/internal/fiber.js.map +1 -1
  104. package/dist/cjs/internal/fiberRefs/patch.js +1 -1
  105. package/dist/cjs/internal/fiberRefs/patch.js.map +1 -1
  106. package/dist/cjs/internal/fiberRefs.js +1 -1
  107. package/dist/cjs/internal/fiberRefs.js.map +1 -1
  108. package/dist/cjs/internal/fiberRuntime.js +33 -33
  109. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  110. package/dist/cjs/internal/groupBy.js +3 -3
  111. package/dist/cjs/internal/groupBy.js.map +1 -1
  112. package/dist/cjs/internal/hashMap.js.map +1 -1
  113. package/dist/cjs/internal/hashSet.js.map +1 -1
  114. package/dist/cjs/internal/layer/circular.js.map +1 -1
  115. package/dist/cjs/internal/layer.js +5 -5
  116. package/dist/cjs/internal/layer.js.map +1 -1
  117. package/dist/cjs/internal/logger.js +28 -8
  118. package/dist/cjs/internal/logger.js.map +1 -1
  119. package/dist/cjs/internal/managedRuntime.js +1 -1
  120. package/dist/cjs/internal/managedRuntime.js.map +1 -1
  121. package/dist/cjs/internal/metric/boundaries.js +4 -4
  122. package/dist/cjs/internal/metric/boundaries.js.map +1 -1
  123. package/dist/cjs/internal/metric/hook.js +20 -17
  124. package/dist/cjs/internal/metric/hook.js.map +1 -1
  125. package/dist/cjs/internal/metric/key.js +4 -4
  126. package/dist/cjs/internal/metric/key.js.map +1 -1
  127. package/dist/cjs/internal/metric/keyType.js +6 -1
  128. package/dist/cjs/internal/metric/keyType.js.map +1 -1
  129. package/dist/cjs/internal/metric/state.js +4 -4
  130. package/dist/cjs/internal/metric/state.js.map +1 -1
  131. package/dist/cjs/internal/metric.js +4 -4
  132. package/dist/cjs/internal/metric.js.map +1 -1
  133. package/dist/cjs/internal/pool.js +11 -11
  134. package/dist/cjs/internal/pool.js.map +1 -1
  135. package/dist/cjs/internal/pubsub.js +5 -5
  136. package/dist/cjs/internal/pubsub.js.map +1 -1
  137. package/dist/cjs/internal/query.js +2 -2
  138. package/dist/cjs/internal/query.js.map +1 -1
  139. package/dist/cjs/internal/queue.js +9 -9
  140. package/dist/cjs/internal/queue.js.map +1 -1
  141. package/dist/cjs/internal/rateLimiter.js +1 -1
  142. package/dist/cjs/internal/rateLimiter.js.map +1 -1
  143. package/dist/cjs/internal/redBlackTree/iterator.js +2 -2
  144. package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
  145. package/dist/cjs/internal/reloadable.js +1 -1
  146. package/dist/cjs/internal/reloadable.js.map +1 -1
  147. package/dist/cjs/internal/runtime.js +4 -4
  148. package/dist/cjs/internal/runtime.js.map +1 -1
  149. package/dist/cjs/internal/schedule.js +5 -5
  150. package/dist/cjs/internal/schedule.js.map +1 -1
  151. package/dist/cjs/internal/scopedCache.js +7 -7
  152. package/dist/cjs/internal/scopedCache.js.map +1 -1
  153. package/dist/cjs/internal/scopedRef.js +4 -4
  154. package/dist/cjs/internal/scopedRef.js.map +1 -1
  155. package/dist/cjs/internal/secret.js +2 -2
  156. package/dist/cjs/internal/secret.js.map +1 -1
  157. package/dist/cjs/internal/sink.js +10 -10
  158. package/dist/cjs/internal/sink.js.map +1 -1
  159. package/dist/cjs/internal/stm/stm/tExit.js +2 -4
  160. package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
  161. package/dist/cjs/internal/stm/stm.js +11 -11
  162. package/dist/cjs/internal/stm/stm.js.map +1 -1
  163. package/dist/cjs/internal/stm/tMap.js +3 -3
  164. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  165. package/dist/cjs/internal/stm/tPriorityQueue.js +11 -11
  166. package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
  167. package/dist/cjs/internal/stm/tPubSub.js +3 -3
  168. package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
  169. package/dist/cjs/internal/stm/tQueue.js +3 -3
  170. package/dist/cjs/internal/stm/tQueue.js.map +1 -1
  171. package/dist/cjs/internal/stm/tSet.js +1 -1
  172. package/dist/cjs/internal/stm/tSet.js.map +1 -1
  173. package/dist/cjs/internal/stream/haltStrategy.js +5 -5
  174. package/dist/cjs/internal/stream/haltStrategy.js.map +1 -1
  175. package/dist/cjs/internal/stream.js +84 -85
  176. package/dist/cjs/internal/stream.js.map +1 -1
  177. package/dist/cjs/internal/supervisor.js +1 -1
  178. package/dist/cjs/internal/supervisor.js.map +1 -1
  179. package/dist/cjs/internal/take.js +1 -1
  180. package/dist/cjs/internal/take.js.map +1 -1
  181. package/dist/cjs/internal/tracer.js.map +1 -1
  182. package/dist/cjs/internal/trie.js.map +1 -1
  183. package/dist/cjs/internal/version.js +1 -1
  184. package/dist/cjs/internal/version.js.map +1 -1
  185. package/dist/dts/{ReadonlyArray.d.ts → Array.d.ts} +42 -18
  186. package/dist/dts/Array.d.ts.map +1 -0
  187. package/dist/dts/BigDecimal.d.ts.map +1 -1
  188. package/dist/dts/BigInt.d.ts.map +1 -1
  189. package/dist/dts/Brand.d.ts +1 -19
  190. package/dist/dts/Brand.d.ts.map +1 -1
  191. package/dist/dts/Cache.d.ts +10 -10
  192. package/dist/dts/Cache.d.ts.map +1 -1
  193. package/dist/dts/Cause.d.ts +1 -1
  194. package/dist/dts/Cause.d.ts.map +1 -1
  195. package/dist/dts/Channel.d.ts +6 -4
  196. package/dist/dts/Channel.d.ts.map +1 -1
  197. package/dist/dts/Chunk.d.ts +1 -4
  198. package/dist/dts/Chunk.d.ts.map +1 -1
  199. package/dist/dts/ConfigError.d.ts +7 -6
  200. package/dist/dts/ConfigError.d.ts.map +1 -1
  201. package/dist/dts/Cron.d.ts +0 -5
  202. package/dist/dts/Cron.d.ts.map +1 -1
  203. package/dist/dts/Duration.d.ts.map +1 -1
  204. package/dist/dts/Effect.d.ts +38 -33
  205. package/dist/dts/Effect.d.ts.map +1 -1
  206. package/dist/dts/Either.d.ts +5 -2
  207. package/dist/dts/Either.d.ts.map +1 -1
  208. package/dist/dts/Encoding.d.ts.map +1 -1
  209. package/dist/dts/Equivalence.d.ts.map +1 -1
  210. package/dist/dts/ExecutionStrategy.d.ts +10 -2
  211. package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
  212. package/dist/dts/Exit.d.ts +4 -3
  213. package/dist/dts/Exit.d.ts.map +1 -1
  214. package/dist/dts/Fiber.d.ts +4 -2
  215. package/dist/dts/Fiber.d.ts.map +1 -1
  216. package/dist/dts/FiberHandle.d.ts +189 -0
  217. package/dist/dts/FiberHandle.d.ts.map +1 -0
  218. package/dist/dts/FiberMap.d.ts +48 -12
  219. package/dist/dts/FiberMap.d.ts.map +1 -1
  220. package/dist/dts/FiberRefs.d.ts +1 -1
  221. package/dist/dts/FiberRefs.d.ts.map +1 -1
  222. package/dist/dts/FiberSet.d.ts +9 -5
  223. package/dist/dts/FiberSet.d.ts.map +1 -1
  224. package/dist/dts/Function.d.ts.map +1 -1
  225. package/dist/dts/GroupBy.d.ts +1 -1
  226. package/dist/dts/GroupBy.d.ts.map +1 -1
  227. package/dist/dts/HashMap.d.ts +0 -1
  228. package/dist/dts/HashMap.d.ts.map +1 -1
  229. package/dist/dts/HashSet.d.ts +0 -1
  230. package/dist/dts/HashSet.d.ts.map +1 -1
  231. package/dist/dts/Iterable.d.ts +12 -5
  232. package/dist/dts/Iterable.d.ts.map +1 -1
  233. package/dist/dts/Layer.d.ts +6 -6
  234. package/dist/dts/Layer.d.ts.map +1 -1
  235. package/dist/dts/List.d.ts +0 -11
  236. package/dist/dts/List.d.ts.map +1 -1
  237. package/dist/dts/Logger.d.ts +2 -2
  238. package/dist/dts/Logger.d.ts.map +1 -1
  239. package/dist/dts/Metric.d.ts +7 -2
  240. package/dist/dts/Metric.d.ts.map +1 -1
  241. package/dist/dts/MetricKey.d.ts +4 -1
  242. package/dist/dts/MetricKey.d.ts.map +1 -1
  243. package/dist/dts/MetricKeyType.d.ts +4 -1
  244. package/dist/dts/MetricKeyType.d.ts.map +1 -1
  245. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  246. package/dist/dts/Option.d.ts +5 -3
  247. package/dist/dts/Option.d.ts.map +1 -1
  248. package/dist/dts/Order.d.ts.map +1 -1
  249. package/dist/dts/{ReadonlyRecord.d.ts → Record.d.ts} +29 -30
  250. package/dist/dts/Record.d.ts.map +1 -0
  251. package/dist/dts/Request.d.ts +1 -1
  252. package/dist/dts/Request.d.ts.map +1 -1
  253. package/dist/dts/RequestResolver.d.ts +2 -2
  254. package/dist/dts/RequestResolver.d.ts.map +1 -1
  255. package/dist/dts/STM.d.ts +6 -4
  256. package/dist/dts/STM.d.ts.map +1 -1
  257. package/dist/dts/Schedule.d.ts +1 -1
  258. package/dist/dts/Scheduler.d.ts.map +1 -1
  259. package/dist/dts/ScopedCache.d.ts +9 -9
  260. package/dist/dts/ScopedCache.d.ts.map +1 -1
  261. package/dist/dts/SortedMap.d.ts.map +1 -1
  262. package/dist/dts/SortedSet.d.ts +1 -1
  263. package/dist/dts/SortedSet.d.ts.map +1 -1
  264. package/dist/dts/Stream.d.ts +8 -6
  265. package/dist/dts/Stream.d.ts.map +1 -1
  266. package/dist/dts/StreamHaltStrategy.d.ts +14 -2
  267. package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
  268. package/dist/dts/String.d.ts +25 -1
  269. package/dist/dts/String.d.ts.map +1 -1
  270. package/dist/dts/Subscribable.d.ts.map +1 -1
  271. package/dist/dts/TestAnnotation.d.ts.map +1 -1
  272. package/dist/dts/TestAnnotationMap.d.ts.map +1 -1
  273. package/dist/dts/TestAnnotations.d.ts +0 -3
  274. package/dist/dts/TestAnnotations.d.ts.map +1 -1
  275. package/dist/dts/TestClock.d.ts.map +1 -1
  276. package/dist/dts/TestLive.d.ts.map +1 -1
  277. package/dist/dts/TestServices.d.ts.map +1 -1
  278. package/dist/dts/TestSized.d.ts.map +1 -1
  279. package/dist/dts/Tracer.d.ts +12 -5
  280. package/dist/dts/Tracer.d.ts.map +1 -1
  281. package/dist/dts/Trie.d.ts +1 -1
  282. package/dist/dts/Trie.d.ts.map +1 -1
  283. package/dist/dts/Types.d.ts +0 -7
  284. package/dist/dts/Types.d.ts.map +1 -1
  285. package/dist/dts/index.d.ts +11 -7
  286. package/dist/dts/index.d.ts.map +1 -1
  287. package/dist/dts/internal/array.d.ts +5 -0
  288. package/dist/dts/internal/array.d.ts.map +1 -0
  289. package/dist/dts/internal/core-stream.d.ts +4 -0
  290. package/dist/dts/internal/core-stream.d.ts.map +1 -1
  291. package/dist/dts/internal/core.d.ts +3 -1
  292. package/dist/dts/internal/core.d.ts.map +1 -1
  293. package/dist/dts/internal/fiber.d.ts +5 -1
  294. package/dist/dts/internal/fiber.d.ts.map +1 -1
  295. package/dist/dts/internal/hashMap.d.ts.map +1 -1
  296. package/dist/dts/internal/logger.d.ts.map +1 -1
  297. package/dist/dts/internal/metric/keyType.d.ts +3 -1
  298. package/dist/dts/internal/metric/keyType.d.ts.map +1 -1
  299. package/dist/dts/internal/metric/state.d.ts.map +1 -1
  300. package/dist/dts/internal/random.d.ts.map +1 -1
  301. package/dist/dts/internal/runtimeFlags.d.ts.map +1 -1
  302. package/dist/dts/internal/stm/stm/tExit.d.ts +4 -1
  303. package/dist/dts/internal/stm/stm/tExit.d.ts.map +1 -1
  304. package/dist/dts/internal/stm/stm.d.ts +3 -0
  305. package/dist/dts/internal/stm/stm.d.ts.map +1 -1
  306. package/dist/dts/internal/stream.d.ts +5 -1
  307. package/dist/dts/internal/stream.d.ts.map +1 -1
  308. package/dist/esm/{ReadonlyArray.js → Array.js} +42 -20
  309. package/dist/esm/Array.js.map +1 -0
  310. package/dist/esm/Brand.js +2 -2
  311. package/dist/esm/Brand.js.map +1 -1
  312. package/dist/esm/Channel.js +4 -2
  313. package/dist/esm/Channel.js.map +1 -1
  314. package/dist/esm/Chunk.js +4 -1
  315. package/dist/esm/Chunk.js.map +1 -1
  316. package/dist/esm/ConfigError.js.map +1 -1
  317. package/dist/esm/Cron.js +13 -13
  318. package/dist/esm/Cron.js.map +1 -1
  319. package/dist/esm/Effect.js +11 -2
  320. package/dist/esm/Effect.js.map +1 -1
  321. package/dist/esm/Either.js +4 -1
  322. package/dist/esm/Either.js.map +1 -1
  323. package/dist/esm/ExecutionStrategy.js.map +1 -1
  324. package/dist/esm/Exit.js +4 -2
  325. package/dist/esm/Exit.js.map +1 -1
  326. package/dist/esm/Fiber.js +3 -1
  327. package/dist/esm/Fiber.js.map +1 -1
  328. package/dist/esm/FiberHandle.js +265 -0
  329. package/dist/esm/FiberHandle.js.map +1 -0
  330. package/dist/esm/FiberMap.js +103 -26
  331. package/dist/esm/FiberMap.js.map +1 -1
  332. package/dist/esm/FiberRefs.js.map +1 -1
  333. package/dist/esm/FiberSet.js +51 -15
  334. package/dist/esm/FiberSet.js.map +1 -1
  335. package/dist/esm/HashMap.js.map +1 -1
  336. package/dist/esm/HashSet.js.map +1 -1
  337. package/dist/esm/Iterable.js +39 -4
  338. package/dist/esm/Iterable.js.map +1 -1
  339. package/dist/esm/Layer.js.map +1 -1
  340. package/dist/esm/List.js +3 -3
  341. package/dist/esm/List.js.map +1 -1
  342. package/dist/esm/Metric.js +3 -1
  343. package/dist/esm/Metric.js.map +1 -1
  344. package/dist/esm/MetricKey.js.map +1 -1
  345. package/dist/esm/MetricKeyType.js.map +1 -1
  346. package/dist/esm/MutableHashMap.js +0 -3
  347. package/dist/esm/MutableHashMap.js.map +1 -1
  348. package/dist/esm/Option.js +4 -2
  349. package/dist/esm/Option.js.map +1 -1
  350. package/dist/esm/{ReadonlyRecord.js → Record.js} +29 -29
  351. package/dist/esm/Record.js.map +1 -0
  352. package/dist/esm/STM.js +5 -3
  353. package/dist/esm/STM.js.map +1 -1
  354. package/dist/esm/Schedule.js +1 -1
  355. package/dist/esm/Schedule.js.map +1 -1
  356. package/dist/esm/ScopedCache.js.map +1 -1
  357. package/dist/esm/Stream.js +5 -3
  358. package/dist/esm/Stream.js.map +1 -1
  359. package/dist/esm/StreamHaltStrategy.js +2 -0
  360. package/dist/esm/StreamHaltStrategy.js.map +1 -1
  361. package/dist/esm/String.js +37 -1
  362. package/dist/esm/String.js.map +1 -1
  363. package/dist/esm/TestAnnotations.js +1 -1
  364. package/dist/esm/TestAnnotations.js.map +1 -1
  365. package/dist/esm/TestClock.js +3 -3
  366. package/dist/esm/TestClock.js.map +1 -1
  367. package/dist/esm/Tracer.js.map +1 -1
  368. package/dist/esm/index.js +11 -7
  369. package/dist/esm/index.js.map +1 -1
  370. package/dist/esm/internal/{readonlyArray.js → array.js} +1 -1
  371. package/dist/esm/internal/array.js.map +1 -0
  372. package/dist/esm/internal/cache.js +3 -3
  373. package/dist/esm/internal/cache.js.map +1 -1
  374. package/dist/esm/internal/cause.js +3 -3
  375. package/dist/esm/internal/cause.js.map +1 -1
  376. package/dist/esm/internal/channel/channelExecutor.js +15 -15
  377. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  378. package/dist/esm/internal/channel/channelState.js +1 -1
  379. package/dist/esm/internal/channel/channelState.js.map +1 -1
  380. package/dist/esm/internal/channel/singleProducerAsyncInput.js +1 -1
  381. package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
  382. package/dist/esm/internal/channel.js +8 -8
  383. package/dist/esm/internal/channel.js.map +1 -1
  384. package/dist/esm/internal/clock.js +2 -2
  385. package/dist/esm/internal/clock.js.map +1 -1
  386. package/dist/esm/internal/configError.js +20 -19
  387. package/dist/esm/internal/configError.js.map +1 -1
  388. package/dist/esm/internal/configProvider/pathPatch.js +1 -1
  389. package/dist/esm/internal/configProvider/pathPatch.js.map +1 -1
  390. package/dist/esm/internal/configProvider.js +47 -48
  391. package/dist/esm/internal/configProvider.js.map +1 -1
  392. package/dist/esm/internal/core-effect.js +39 -26
  393. package/dist/esm/internal/core-effect.js.map +1 -1
  394. package/dist/esm/internal/core-stream.js +3 -2
  395. package/dist/esm/internal/core-stream.js.map +1 -1
  396. package/dist/esm/internal/core.js +24 -26
  397. package/dist/esm/internal/core.js.map +1 -1
  398. package/dist/esm/internal/dataSource.js +19 -2
  399. package/dist/esm/internal/dataSource.js.map +1 -1
  400. package/dist/esm/internal/differ/readonlyArrayPatch.js +6 -6
  401. package/dist/esm/internal/differ/readonlyArrayPatch.js.map +1 -1
  402. package/dist/esm/internal/effect/circular.js +1 -1
  403. package/dist/esm/internal/effect/circular.js.map +1 -1
  404. package/dist/esm/internal/executionStrategy.js +4 -4
  405. package/dist/esm/internal/executionStrategy.js.map +1 -1
  406. package/dist/esm/internal/fiber.js +6 -5
  407. package/dist/esm/internal/fiber.js.map +1 -1
  408. package/dist/esm/internal/fiberRefs/patch.js +1 -1
  409. package/dist/esm/internal/fiberRefs/patch.js.map +1 -1
  410. package/dist/esm/internal/fiberRefs.js +1 -1
  411. package/dist/esm/internal/fiberRefs.js.map +1 -1
  412. package/dist/esm/internal/fiberRuntime.js +33 -33
  413. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  414. package/dist/esm/internal/groupBy.js +3 -3
  415. package/dist/esm/internal/groupBy.js.map +1 -1
  416. package/dist/esm/internal/hashMap.js.map +1 -1
  417. package/dist/esm/internal/hashSet.js.map +1 -1
  418. package/dist/esm/internal/layer/circular.js.map +1 -1
  419. package/dist/esm/internal/layer.js +5 -5
  420. package/dist/esm/internal/layer.js.map +1 -1
  421. package/dist/esm/internal/logger.js +28 -8
  422. package/dist/esm/internal/logger.js.map +1 -1
  423. package/dist/esm/internal/managedRuntime.js +1 -1
  424. package/dist/esm/internal/managedRuntime.js.map +1 -1
  425. package/dist/esm/internal/metric/boundaries.js +4 -4
  426. package/dist/esm/internal/metric/boundaries.js.map +1 -1
  427. package/dist/esm/internal/metric/hook.js +20 -17
  428. package/dist/esm/internal/metric/hook.js.map +1 -1
  429. package/dist/esm/internal/metric/key.js +4 -4
  430. package/dist/esm/internal/metric/key.js.map +1 -1
  431. package/dist/esm/internal/metric/keyType.js +5 -1
  432. package/dist/esm/internal/metric/keyType.js.map +1 -1
  433. package/dist/esm/internal/metric/state.js +4 -4
  434. package/dist/esm/internal/metric/state.js.map +1 -1
  435. package/dist/esm/internal/metric.js +4 -4
  436. package/dist/esm/internal/metric.js.map +1 -1
  437. package/dist/esm/internal/pool.js +11 -11
  438. package/dist/esm/internal/pool.js.map +1 -1
  439. package/dist/esm/internal/pubsub.js +5 -5
  440. package/dist/esm/internal/pubsub.js.map +1 -1
  441. package/dist/esm/internal/query.js +2 -2
  442. package/dist/esm/internal/query.js.map +1 -1
  443. package/dist/esm/internal/queue.js +9 -9
  444. package/dist/esm/internal/queue.js.map +1 -1
  445. package/dist/esm/internal/rateLimiter.js +1 -1
  446. package/dist/esm/internal/rateLimiter.js.map +1 -1
  447. package/dist/esm/internal/redBlackTree/iterator.js +2 -2
  448. package/dist/esm/internal/redBlackTree/iterator.js.map +1 -1
  449. package/dist/esm/internal/reloadable.js +1 -1
  450. package/dist/esm/internal/reloadable.js.map +1 -1
  451. package/dist/esm/internal/runtime.js +4 -4
  452. package/dist/esm/internal/runtime.js.map +1 -1
  453. package/dist/esm/internal/schedule.js +3 -3
  454. package/dist/esm/internal/schedule.js.map +1 -1
  455. package/dist/esm/internal/scopedCache.js +7 -7
  456. package/dist/esm/internal/scopedCache.js.map +1 -1
  457. package/dist/esm/internal/scopedRef.js +4 -4
  458. package/dist/esm/internal/scopedRef.js.map +1 -1
  459. package/dist/esm/internal/secret.js +2 -2
  460. package/dist/esm/internal/secret.js.map +1 -1
  461. package/dist/esm/internal/sink.js +10 -10
  462. package/dist/esm/internal/sink.js.map +1 -1
  463. package/dist/esm/internal/stm/stm/tExit.js +3 -2
  464. package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
  465. package/dist/esm/internal/stm/stm.js +11 -9
  466. package/dist/esm/internal/stm/stm.js.map +1 -1
  467. package/dist/esm/internal/stm/tMap.js +3 -3
  468. package/dist/esm/internal/stm/tMap.js.map +1 -1
  469. package/dist/esm/internal/stm/tPriorityQueue.js +11 -11
  470. package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
  471. package/dist/esm/internal/stm/tPubSub.js +3 -3
  472. package/dist/esm/internal/stm/tPubSub.js.map +1 -1
  473. package/dist/esm/internal/stm/tQueue.js +3 -3
  474. package/dist/esm/internal/stm/tQueue.js.map +1 -1
  475. package/dist/esm/internal/stm/tSet.js +1 -1
  476. package/dist/esm/internal/stm/tSet.js.map +1 -1
  477. package/dist/esm/internal/stream/haltStrategy.js +5 -5
  478. package/dist/esm/internal/stream/haltStrategy.js.map +1 -1
  479. package/dist/esm/internal/stream.js +85 -84
  480. package/dist/esm/internal/stream.js.map +1 -1
  481. package/dist/esm/internal/supervisor.js +1 -1
  482. package/dist/esm/internal/supervisor.js.map +1 -1
  483. package/dist/esm/internal/take.js +1 -1
  484. package/dist/esm/internal/take.js.map +1 -1
  485. package/dist/esm/internal/tracer.js.map +1 -1
  486. package/dist/esm/internal/trie.js.map +1 -1
  487. package/dist/esm/internal/version.js +1 -1
  488. package/dist/esm/internal/version.js.map +1 -1
  489. package/package.json +23 -15
  490. package/src/{ReadonlyArray.ts → Array.ts} +50 -24
  491. package/src/Brand.ts +3 -3
  492. package/src/Cache.ts +12 -10
  493. package/src/Cause.ts +1 -1
  494. package/src/Channel.ts +12 -9
  495. package/src/Chunk.ts +3 -3
  496. package/src/ConfigError.ts +7 -6
  497. package/src/Cron.ts +17 -17
  498. package/src/Effect.ts +46 -57
  499. package/src/Either.ts +7 -7
  500. package/src/ExecutionStrategy.ts +10 -2
  501. package/src/Exit.ts +11 -9
  502. package/src/Fiber.ts +11 -8
  503. package/src/FiberHandle.ts +433 -0
  504. package/src/FiberMap.ts +200 -73
  505. package/src/FiberRefs.ts +1 -1
  506. package/src/FiberSet.ts +96 -36
  507. package/src/GroupBy.ts +1 -1
  508. package/src/HashMap.ts +0 -1
  509. package/src/HashSet.ts +0 -1
  510. package/src/Iterable.ts +48 -10
  511. package/src/Layer.ts +6 -6
  512. package/src/List.ts +3 -4
  513. package/src/Logger.ts +2 -2
  514. package/src/Metric.ts +9 -2
  515. package/src/MetricKey.ts +9 -1
  516. package/src/MetricKeyType.ts +6 -1
  517. package/src/MutableHashMap.ts +1 -1
  518. package/src/Option.ts +9 -6
  519. package/src/{ReadonlyRecord.ts → Record.ts} +28 -29
  520. package/src/Request.ts +1 -1
  521. package/src/RequestResolver.ts +4 -4
  522. package/src/STM.ts +12 -9
  523. package/src/Schedule.ts +1 -1
  524. package/src/ScopedCache.ts +11 -9
  525. package/src/SortedSet.ts +1 -1
  526. package/src/Stream.ts +14 -11
  527. package/src/StreamHaltStrategy.ts +14 -2
  528. package/src/String.ts +45 -2
  529. package/src/TestAnnotations.ts +1 -1
  530. package/src/TestClock.ts +3 -3
  531. package/src/Tracer.ts +13 -5
  532. package/src/Trie.ts +1 -1
  533. package/src/Types.ts +0 -8
  534. package/src/index.ts +13 -8
  535. package/src/internal/{readonlyArray.ts → array.ts} +1 -1
  536. package/src/internal/cache.ts +40 -40
  537. package/src/internal/cause.ts +5 -6
  538. package/src/internal/channel/channelExecutor.ts +15 -15
  539. package/src/internal/channel/channelState.ts +1 -1
  540. package/src/internal/channel/singleProducerAsyncInput.ts +1 -1
  541. package/src/internal/channel.ts +11 -11
  542. package/src/internal/clock.ts +2 -2
  543. package/src/internal/configError.ts +22 -21
  544. package/src/internal/configProvider/pathPatch.ts +1 -1
  545. package/src/internal/configProvider.ts +50 -53
  546. package/src/internal/core-effect.ts +73 -70
  547. package/src/internal/core-stream.ts +5 -2
  548. package/src/internal/core.ts +51 -50
  549. package/src/internal/dataSource.ts +19 -20
  550. package/src/internal/differ/readonlyArrayPatch.ts +6 -6
  551. package/src/internal/effect/circular.ts +2 -2
  552. package/src/internal/executionStrategy.ts +14 -12
  553. package/src/internal/fiber.ts +8 -5
  554. package/src/internal/fiberRefs/patch.ts +1 -1
  555. package/src/internal/fiberRefs.ts +1 -1
  556. package/src/internal/fiberRuntime.ts +45 -45
  557. package/src/internal/groupBy.ts +4 -4
  558. package/src/internal/hashMap.ts +0 -1
  559. package/src/internal/hashSet.ts +0 -1
  560. package/src/internal/layer/circular.ts +2 -2
  561. package/src/internal/layer.ts +9 -9
  562. package/src/internal/logger.ts +28 -8
  563. package/src/internal/managedRuntime.ts +1 -1
  564. package/src/internal/metric/boundaries.ts +5 -5
  565. package/src/internal/metric/hook.ts +21 -18
  566. package/src/internal/metric/key.ts +8 -5
  567. package/src/internal/metric/keyType.ts +5 -2
  568. package/src/internal/metric/state.ts +5 -5
  569. package/src/internal/metric.ts +8 -6
  570. package/src/internal/pool.ts +11 -11
  571. package/src/internal/pubsub.ts +6 -6
  572. package/src/internal/query.ts +4 -4
  573. package/src/internal/queue.ts +11 -11
  574. package/src/internal/rateLimiter.ts +1 -1
  575. package/src/internal/redBlackTree/iterator.ts +2 -2
  576. package/src/internal/reloadable.ts +1 -1
  577. package/src/internal/runtime.ts +5 -5
  578. package/src/internal/schedule.ts +8 -9
  579. package/src/internal/scopedCache.ts +53 -53
  580. package/src/internal/scopedRef.ts +4 -4
  581. package/src/internal/secret.ts +2 -2
  582. package/src/internal/sink.ts +10 -10
  583. package/src/internal/stm/stm/tExit.ts +5 -2
  584. package/src/internal/stm/stm.ts +13 -9
  585. package/src/internal/stm/tMap.ts +3 -3
  586. package/src/internal/stm/tPriorityQueue.ts +11 -11
  587. package/src/internal/stm/tPubSub.ts +3 -3
  588. package/src/internal/stm/tQueue.ts +3 -3
  589. package/src/internal/stm/tSet.ts +1 -1
  590. package/src/internal/stream/haltStrategy.ts +23 -14
  591. package/src/internal/stream.ts +91 -88
  592. package/src/internal/supervisor.ts +1 -1
  593. package/src/internal/take.ts +1 -1
  594. package/src/internal/tracer.ts +2 -2
  595. package/src/internal/trie.ts +0 -1
  596. package/src/internal/version.ts +1 -1
  597. package/ReadonlyArray/package.json +0 -6
  598. package/ReadonlyRecord/package.json +0 -6
  599. package/dist/cjs/ReadonlyArray.js.map +0 -1
  600. package/dist/cjs/ReadonlyRecord.js.map +0 -1
  601. package/dist/cjs/internal/Iterable.js +0 -61
  602. package/dist/cjs/internal/Iterable.js.map +0 -1
  603. package/dist/cjs/internal/readonlyArray.js.map +0 -1
  604. package/dist/dts/ReadonlyArray.d.ts.map +0 -1
  605. package/dist/dts/ReadonlyRecord.d.ts.map +0 -1
  606. package/dist/dts/internal/Iterable.d.ts +0 -2
  607. package/dist/dts/internal/Iterable.d.ts.map +0 -1
  608. package/dist/dts/internal/readonlyArray.d.ts +0 -5
  609. package/dist/dts/internal/readonlyArray.d.ts.map +0 -1
  610. package/dist/esm/ReadonlyArray.js.map +0 -1
  611. package/dist/esm/ReadonlyRecord.js.map +0 -1
  612. package/dist/esm/internal/Iterable.js +0 -53
  613. package/dist/esm/internal/Iterable.js.map +0 -1
  614. package/dist/esm/internal/readonlyArray.js.map +0 -1
  615. package/src/internal/Iterable.ts +0 -54
@@ -1,9 +1,9 @@
1
+ import * as RA from "../Array.js"
1
2
  import type * as Cause from "../Cause.js"
2
3
  import type * as ConfigError from "../ConfigError.js"
3
4
  import * as Either from "../Either.js"
4
5
  import { constFalse, constTrue, dual, pipe } from "../Function.js"
5
6
  import { hasProperty } from "../Predicate.js"
6
- import * as RA from "../ReadonlyArray.js"
7
7
  import * as OpCodes from "./opCodes/configError.js"
8
8
 
9
9
  /** @internal */
@@ -16,13 +16,14 @@ export const ConfigErrorTypeId: ConfigError.ConfigErrorTypeId = Symbol.for(
16
16
 
17
17
  /** @internal */
18
18
  export const proto = {
19
+ _tag: "ConfigError",
19
20
  [ConfigErrorTypeId]: ConfigErrorTypeId
20
21
  }
21
22
 
22
23
  /** @internal */
23
24
  export const And = (self: ConfigError.ConfigError, that: ConfigError.ConfigError): ConfigError.ConfigError => {
24
25
  const error = Object.create(proto)
25
- error._tag = OpCodes.OP_AND
26
+ error._op = OpCodes.OP_AND
26
27
  error.left = self
27
28
  error.right = that
28
29
  Object.defineProperty(error, "toString", {
@@ -37,7 +38,7 @@ export const And = (self: ConfigError.ConfigError, that: ConfigError.ConfigError
37
38
  /** @internal */
38
39
  export const Or = (self: ConfigError.ConfigError, that: ConfigError.ConfigError): ConfigError.ConfigError => {
39
40
  const error = Object.create(proto)
40
- error._tag = OpCodes.OP_OR
41
+ error._op = OpCodes.OP_OR
41
42
  error.left = self
42
43
  error.right = that
43
44
  Object.defineProperty(error, "toString", {
@@ -56,7 +57,7 @@ export const InvalidData = (
56
57
  options: ConfigError.Options = { pathDelim: "." }
57
58
  ): ConfigError.ConfigError => {
58
59
  const error = Object.create(proto)
59
- error._tag = OpCodes.OP_INVALID_DATA
60
+ error._op = OpCodes.OP_INVALID_DATA
60
61
  error.path = path
61
62
  error.message = message
62
63
  Object.defineProperty(error, "toString", {
@@ -76,7 +77,7 @@ export const MissingData = (
76
77
  options: ConfigError.Options = { pathDelim: "." }
77
78
  ): ConfigError.ConfigError => {
78
79
  const error = Object.create(proto)
79
- error._tag = OpCodes.OP_MISSING_DATA
80
+ error._op = OpCodes.OP_MISSING_DATA
80
81
  error.path = path
81
82
  error.message = message
82
83
  Object.defineProperty(error, "toString", {
@@ -97,7 +98,7 @@ export const SourceUnavailable = (
97
98
  options: ConfigError.Options = { pathDelim: "." }
98
99
  ): ConfigError.ConfigError => {
99
100
  const error = Object.create(proto)
100
- error._tag = OpCodes.OP_SOURCE_UNAVAILABLE
101
+ error._op = OpCodes.OP_SOURCE_UNAVAILABLE
101
102
  error.path = path
102
103
  error.message = message
103
104
  error.cause = cause
@@ -118,7 +119,7 @@ export const Unsupported = (
118
119
  options: ConfigError.Options = { pathDelim: "." }
119
120
  ): ConfigError.ConfigError => {
120
121
  const error = Object.create(proto)
121
- error._tag = OpCodes.OP_UNSUPPORTED
122
+ error._op = OpCodes.OP_UNSUPPORTED
122
123
  error.path = path
123
124
  error.message = message
124
125
  Object.defineProperty(error, "toString", {
@@ -135,26 +136,26 @@ export const Unsupported = (
135
136
  export const isConfigError = (u: unknown): u is ConfigError.ConfigError => hasProperty(u, ConfigErrorTypeId)
136
137
 
137
138
  /** @internal */
138
- export const isAnd = (self: ConfigError.ConfigError): self is ConfigError.And => self._tag === OpCodes.OP_AND
139
+ export const isAnd = (self: ConfigError.ConfigError): self is ConfigError.And => self._op === OpCodes.OP_AND
139
140
 
140
141
  /** @internal */
141
- export const isOr = (self: ConfigError.ConfigError): self is ConfigError.Or => self._tag === OpCodes.OP_OR
142
+ export const isOr = (self: ConfigError.ConfigError): self is ConfigError.Or => self._op === OpCodes.OP_OR
142
143
 
143
144
  /** @internal */
144
145
  export const isInvalidData = (self: ConfigError.ConfigError): self is ConfigError.InvalidData =>
145
- self._tag === OpCodes.OP_INVALID_DATA
146
+ self._op === OpCodes.OP_INVALID_DATA
146
147
 
147
148
  /** @internal */
148
149
  export const isMissingData = (self: ConfigError.ConfigError): self is ConfigError.MissingData =>
149
- self._tag === OpCodes.OP_MISSING_DATA
150
+ self._op === OpCodes.OP_MISSING_DATA
150
151
 
151
152
  /** @internal */
152
153
  export const isSourceUnavailable = (self: ConfigError.ConfigError): self is ConfigError.SourceUnavailable =>
153
- self._tag === OpCodes.OP_SOURCE_UNAVAILABLE
154
+ self._op === OpCodes.OP_SOURCE_UNAVAILABLE
154
155
 
155
156
  /** @internal */
156
157
  export const isUnsupported = (self: ConfigError.ConfigError): self is ConfigError.Unsupported =>
157
- self._tag === OpCodes.OP_UNSUPPORTED
158
+ self._op === OpCodes.OP_UNSUPPORTED
158
159
 
159
160
  /** @internal */
160
161
  export const prefixed: {
@@ -164,7 +165,7 @@ export const prefixed: {
164
165
  (prefix: ReadonlyArray<string>) => (self: ConfigError.ConfigError) => ConfigError.ConfigError,
165
166
  (self: ConfigError.ConfigError, prefix: ReadonlyArray<string>) => ConfigError.ConfigError
166
167
  >(2, (self, prefix) => {
167
- switch (self._tag) {
168
+ switch (self._op) {
168
169
  case OpCodes.OP_AND: {
169
170
  return And(prefixed(self.left, prefix), prefixed(self.right, prefix))
170
171
  }
@@ -201,12 +202,12 @@ type ConfigErrorCase = AndCase | OrCase
201
202
 
202
203
  /** @internal */
203
204
  interface AndCase {
204
- readonly _tag: "AndCase"
205
+ readonly _op: "AndCase"
205
206
  }
206
207
 
207
208
  /** @internal */
208
209
  interface OrCase {
209
- readonly _tag: "OrCase"
210
+ readonly _op: "OrCase"
210
211
  }
211
212
 
212
213
  /** @internal */
@@ -218,17 +219,17 @@ export const reduceWithContext = dual<
218
219
  const output: Array<Either.Either<Z, ConfigErrorCase>> = []
219
220
  while (input.length > 0) {
220
221
  const error = input.pop()!
221
- switch (error._tag) {
222
+ switch (error._op) {
222
223
  case OpCodes.OP_AND: {
223
224
  input.push(error.right)
224
225
  input.push(error.left)
225
- output.push(Either.left({ _tag: "AndCase" }))
226
+ output.push(Either.left({ _op: "AndCase" }))
226
227
  break
227
228
  }
228
229
  case OpCodes.OP_OR: {
229
230
  input.push(error.right)
230
231
  input.push(error.left)
231
- output.push(Either.left({ _tag: "OrCase" }))
232
+ output.push(Either.left({ _op: "OrCase" }))
232
233
  break
233
234
  }
234
235
  case OpCodes.OP_INVALID_DATA: {
@@ -252,9 +253,9 @@ export const reduceWithContext = dual<
252
253
  const accumulator: Array<Z> = []
253
254
  while (output.length > 0) {
254
255
  const either = output.pop()!
255
- switch (either._tag) {
256
+ switch (either._op) {
256
257
  case "Left": {
257
- switch (either.left._tag) {
258
+ switch (either.left._op) {
258
259
  case "AndCase": {
259
260
  const left = accumulator.pop()!
260
261
  const right = accumulator.pop()!
@@ -1,10 +1,10 @@
1
+ import * as RA from "../../Array.js"
1
2
  import type * as ConfigError from "../../ConfigError.js"
2
3
  import type * as PathPatch from "../../ConfigProviderPathPatch.js"
3
4
  import * as Either from "../../Either.js"
4
5
  import { dual, pipe } from "../../Function.js"
5
6
  import * as List from "../../List.js"
6
7
  import * as Option from "../../Option.js"
7
- import * as RA from "../../ReadonlyArray.js"
8
8
  import * as configError from "../configError.js"
9
9
 
10
10
  /** @internal */
@@ -1,3 +1,4 @@
1
+ import * as Arr from "../Array.js"
1
2
  import type * as Config from "../Config.js"
2
3
  import type * as ConfigError from "../ConfigError.js"
3
4
  import type * as ConfigProvider from "../ConfigProvider.js"
@@ -12,7 +13,6 @@ import * as HashSet from "../HashSet.js"
12
13
  import * as number from "../Number.js"
13
14
  import * as Option from "../Option.js"
14
15
  import { pipeArguments } from "../Pipeable.js"
15
- import * as ReadonlyArray from "../ReadonlyArray.js"
16
16
  import * as regexp from "../RegExp.js"
17
17
  import type * as _config from "./config.js"
18
18
  import * as configError from "./configError.js"
@@ -85,12 +85,12 @@ export const makeFlat = (
85
85
  export const fromFlat = (flat: ConfigProvider.ConfigProvider.Flat): ConfigProvider.ConfigProvider =>
86
86
  make({
87
87
  load: (config) =>
88
- core.flatMap(fromFlatLoop(flat, ReadonlyArray.empty(), config, false), (chunk) =>
89
- Option.match(ReadonlyArray.head(chunk), {
88
+ core.flatMap(fromFlatLoop(flat, Arr.empty(), config, false), (chunk) =>
89
+ Option.match(Arr.head(chunk), {
90
90
  onNone: () =>
91
91
  core.fail(
92
92
  configError.MissingData(
93
- ReadonlyArray.empty(),
93
+ Arr.empty(),
94
94
  `Expected a single value having structure: ${config}`
95
95
  )
96
96
  ),
@@ -104,7 +104,7 @@ export const fromEnv = (
104
104
  config?: Partial<ConfigProvider.ConfigProvider.FromEnvConfig>
105
105
  ): ConfigProvider.ConfigProvider => {
106
106
  const { pathDelim, seqDelim } = Object.assign({}, { pathDelim: "_", seqDelim: "," }, config)
107
- const makePathString = (path: ReadonlyArray<string>): string => pipe(path, ReadonlyArray.join(pathDelim))
107
+ const makePathString = (path: ReadonlyArray<string>): string => pipe(path, Arr.join(pathDelim))
108
108
  const unmakePathString = (pathString: string): ReadonlyArray<string> => pathString.split(pathDelim)
109
109
 
110
110
  const getEnv = () =>
@@ -131,10 +131,10 @@ export const fromEnv = (
131
131
  core.sync(() => {
132
132
  const current = getEnv()
133
133
  const keys = Object.keys(current)
134
- const keyPaths = Array.from(keys).map((value) => unmakePathString(value.toUpperCase()))
134
+ const keyPaths = keys.map((value) => unmakePathString(value.toUpperCase()))
135
135
  const filteredKeyPaths = keyPaths.filter((keyPath) => {
136
136
  for (let i = 0; i < path.length; i++) {
137
- const pathComponent = pipe(path, ReadonlyArray.unsafeGet(i))
137
+ const pathComponent = pipe(path, Arr.unsafeGet(i))
138
138
  const currentElement = keyPath[i]
139
139
  if (currentElement === undefined || pathComponent !== currentElement) {
140
140
  return false
@@ -154,11 +154,11 @@ export const fromMap = (
154
154
  config?: Partial<ConfigProvider.ConfigProvider.FromMapConfig>
155
155
  ): ConfigProvider.ConfigProvider => {
156
156
  const { pathDelim, seqDelim } = Object.assign({ seqDelim: ",", pathDelim: "." }, config)
157
- const makePathString = (path: ReadonlyArray<string>): string => pipe(path, ReadonlyArray.join(pathDelim))
157
+ const makePathString = (path: ReadonlyArray<string>): string => pipe(path, Arr.join(pathDelim))
158
158
  const unmakePathString = (pathString: string): ReadonlyArray<string> => pathString.split(pathDelim)
159
159
  const mapWithIndexSplit = splitIndexInKeys(
160
160
  map,
161
- (str) => Array.from(unmakePathString(str)),
161
+ (str) => unmakePathString(str),
162
162
  makePathString
163
163
  )
164
164
  const load = <A>(
@@ -180,10 +180,10 @@ export const fromMap = (
180
180
  path: ReadonlyArray<string>
181
181
  ): Effect.Effect<HashSet.HashSet<string>, ConfigError.ConfigError> =>
182
182
  core.sync(() => {
183
- const keyPaths = Array.from(mapWithIndexSplit.keys()).map(unmakePathString)
183
+ const keyPaths = Arr.fromIterable(mapWithIndexSplit.keys()).map(unmakePathString)
184
184
  const filteredKeyPaths = keyPaths.filter((keyPath) => {
185
185
  for (let i = 0; i < path.length; i++) {
186
- const pathComponent = pipe(path, ReadonlyArray.unsafeGet(i))
186
+ const pathComponent = pipe(path, Arr.unsafeGet(i))
187
187
  const currentElement = keyPath[i]
188
188
  if (currentElement === undefined || pathComponent !== currentElement) {
189
189
  return false
@@ -203,14 +203,14 @@ const extend = <A, B>(
203
203
  left: ReadonlyArray<A>,
204
204
  right: ReadonlyArray<B>
205
205
  ): [ReadonlyArray<A>, ReadonlyArray<B>] => {
206
- const leftPad = ReadonlyArray.unfold(
206
+ const leftPad = Arr.unfold(
207
207
  left.length,
208
208
  (index) =>
209
209
  index >= right.length ?
210
210
  Option.none() :
211
211
  Option.some([leftDef(index), index + 1])
212
212
  )
213
- const rightPad = ReadonlyArray.unfold(
213
+ const rightPad = Arr.unfold(
214
214
  right.length,
215
215
  (index) =>
216
216
  index >= left.length ?
@@ -244,7 +244,7 @@ const fromFlatLoop = <A>(
244
244
  const op = config as _config.ConfigPrimitive
245
245
  switch (op._tag) {
246
246
  case OpCodes.OP_CONSTANT: {
247
- return core.succeed(ReadonlyArray.of(op.value)) as Effect.Effect<ReadonlyArray<A>, ConfigError.ConfigError>
247
+ return core.succeed(Arr.of(op.value)) as Effect.Effect<ReadonlyArray<A>, ConfigError.ConfigError>
248
248
  }
249
249
  case OpCodes.OP_DESCRIBED: {
250
250
  return core.suspend(
@@ -296,7 +296,7 @@ const fromFlatLoop = <A>(
296
296
  return core.suspend(() =>
297
297
  fromFlatLoop(
298
298
  flat,
299
- concat(prefix, ReadonlyArray.of(op.name)),
299
+ concat(prefix, Arr.of(op.name)),
300
300
  op.config,
301
301
  split
302
302
  )
@@ -310,7 +310,7 @@ const fromFlatLoop = <A>(
310
310
  flat.load(prefix, op, split),
311
311
  core.flatMap((values) => {
312
312
  if (values.length === 0) {
313
- const name = pipe(ReadonlyArray.last(prefix), Option.getOrElse(() => "<n/a>"))
313
+ const name = pipe(Arr.last(prefix), Option.getOrElse(() => "<n/a>"))
314
314
  return core.fail(configError.MissingData([], `Expected ${op.description} with name ${name}`))
315
315
  }
316
316
  return core.succeed(values)
@@ -329,20 +329,20 @@ const fromFlatLoop = <A>(
329
329
  core.flatMap((indices) => {
330
330
  if (indices.length === 0) {
331
331
  return core.suspend(() =>
332
- core.map(fromFlatLoop(flat, patchedPrefix, op.config, true), ReadonlyArray.of)
332
+ core.map(fromFlatLoop(flat, patchedPrefix, op.config, true), Arr.of)
333
333
  ) as unknown as Effect.Effect<ReadonlyArray<A>, ConfigError.ConfigError>
334
334
  }
335
335
  return pipe(
336
336
  core.forEachSequential(
337
337
  indices,
338
- (index) => fromFlatLoop(flat, ReadonlyArray.append(prefix, `[${index}]`), op.config, true)
338
+ (index) => fromFlatLoop(flat, Arr.append(prefix, `[${index}]`), op.config, true)
339
339
  ),
340
340
  core.map((chunkChunk) => {
341
- const flattened = ReadonlyArray.flatten(chunkChunk)
341
+ const flattened = Arr.flatten(chunkChunk)
342
342
  if (flattened.length === 0) {
343
- return ReadonlyArray.of(ReadonlyArray.empty<A>())
343
+ return Arr.of(Arr.empty<A>())
344
344
  }
345
- return ReadonlyArray.of(flattened)
345
+ return Arr.of(flattened)
346
346
  })
347
347
  ) as unknown as Effect.Effect<ReadonlyArray<A>, ConfigError.ConfigError>
348
348
  })
@@ -363,21 +363,18 @@ const fromFlatLoop = <A>(
363
363
  core.forEachSequential((key) =>
364
364
  fromFlatLoop(
365
365
  flat,
366
- concat(prefix, ReadonlyArray.of(key)),
366
+ concat(prefix, Arr.of(key)),
367
367
  op.valueConfig,
368
368
  split
369
369
  )
370
370
  ),
371
- core.map((values) => {
372
- if (values.length === 0) {
373
- return ReadonlyArray.of(HashMap.empty())
371
+ core.map((matrix) => {
372
+ if (matrix.length === 0) {
373
+ return Arr.of(HashMap.empty())
374
374
  }
375
- const matrix = values.map((x) => Array.from(x))
376
375
  return pipe(
377
376
  transpose(matrix),
378
- ReadonlyArray.map((values) =>
379
- HashMap.fromIterable(ReadonlyArray.zip(ReadonlyArray.fromIterable(keys), values))
380
- )
377
+ Arr.map((values) => HashMap.fromIterable(Arr.zip(Arr.fromIterable(keys), values)))
381
378
  )
382
379
  })
383
380
  )
@@ -407,17 +404,17 @@ const fromFlatLoop = <A>(
407
404
  return core.fail(right.left)
408
405
  }
409
406
  if (Either.isRight(left) && Either.isRight(right)) {
410
- const path = pipe(prefix, ReadonlyArray.join("."))
407
+ const path = pipe(prefix, Arr.join("."))
411
408
  const fail = fromFlatLoopFail(prefix, path)
412
409
  const [lefts, rights] = extend(
413
410
  fail,
414
411
  fail,
415
- pipe(left.right, ReadonlyArray.map(Either.right)),
416
- pipe(right.right, ReadonlyArray.map(Either.right))
412
+ pipe(left.right, Arr.map(Either.right)),
413
+ pipe(right.right, Arr.map(Either.right))
417
414
  )
418
415
  return pipe(
419
416
  lefts,
420
- ReadonlyArray.zip(rights),
417
+ Arr.zip(rights),
421
418
  core.forEachSequential(([left, right]) =>
422
419
  pipe(
423
420
  core.zip(left, right),
@@ -590,8 +587,8 @@ export const within = dual<
590
587
  f: (self: ConfigProvider.ConfigProvider) => ConfigProvider.ConfigProvider
591
588
  ) => ConfigProvider.ConfigProvider
592
589
  >(3, (self, path, f) => {
593
- const unnest = ReadonlyArray.reduce(path, self, (provider, name) => unnested(provider, name))
594
- const nest = ReadonlyArray.reduceRight(path, f(unnest), (provider, name) => nested(provider, name))
590
+ const unnest = Arr.reduce(path, self, (provider, name) => unnested(provider, name))
591
+ const nest = Arr.reduceRight(path, f(unnest), (provider, name) => nested(provider, name))
595
592
  return orElse(nest, () => self)
596
593
  })
597
594
 
@@ -612,7 +609,7 @@ const parsePrimitive = <A>(
612
609
  primitive.parse(text),
613
610
  core.mapBoth({
614
611
  onFailure: configError.prefixed(path),
615
- onSuccess: ReadonlyArray.of
612
+ onSuccess: Arr.of
616
613
  })
617
614
  )
618
615
  }
@@ -631,8 +628,8 @@ const indicesFrom = (quotedIndices: HashSet.HashSet<string>): Effect.Effect<Read
631
628
  pipe(
632
629
  core.forEachSequential(quotedIndices, parseQuotedIndex),
633
630
  core.mapBoth({
634
- onFailure: () => ReadonlyArray.empty<number>(),
635
- onSuccess: ReadonlyArray.sort(number.Order)
631
+ onFailure: () => Arr.empty<number>(),
632
+ onSuccess: Arr.sort(number.Order)
636
633
  }),
637
634
  core.either,
638
635
  core.map(Either.merge)
@@ -664,10 +661,10 @@ const splitIndexInKeys = (
664
661
  for (const [pathString, value] of map) {
665
662
  const keyWithIndex = pipe(
666
663
  unmakePathString(pathString),
667
- ReadonlyArray.flatMap((key) =>
664
+ Arr.flatMap((key) =>
668
665
  Option.match(splitIndexFrom(key), {
669
- onNone: () => ReadonlyArray.of(key),
670
- onSome: ([key, index]) => ReadonlyArray.make(key, `[${index}]`)
666
+ onNone: () => Arr.of(key),
667
+ onSome: ([key, index]) => Arr.make(key, `[${index}]`)
671
668
  })
672
669
  )
673
670
  )
@@ -720,7 +717,7 @@ interface JsonArray extends Array<string | number | boolean | null | JsonArray |
720
717
  /** @internal */
721
718
  export const fromJson = (json: unknown): ConfigProvider.ConfigProvider => {
722
719
  const hiddenDelimiter = "\ufeff"
723
- const indexedEntries = ReadonlyArray.map(
720
+ const indexedEntries = Arr.map(
724
721
  getIndexedEntries(json as JsonMap),
725
722
  ([key, value]): [string, string] => [configPathToString(key).join(hiddenDelimiter), value]
726
723
  )
@@ -762,38 +759,38 @@ const getIndexedEntries = (
762
759
  value: string | number | boolean | JsonMap | JsonArray | null
763
760
  ): ReadonlyArray<[path: ReadonlyArray<KeyComponent>, value: string]> => {
764
761
  if (typeof value === "string") {
765
- return ReadonlyArray.make([path, value] as [ReadonlyArray<KeyComponent>, string])
762
+ return Arr.make([path, value] as [ReadonlyArray<KeyComponent>, string])
766
763
  }
767
764
  if (typeof value === "number" || typeof value === "boolean") {
768
- return ReadonlyArray.make([path, String(value)] as [ReadonlyArray<KeyComponent>, string])
765
+ return Arr.make([path, String(value)] as [ReadonlyArray<KeyComponent>, string])
769
766
  }
770
- if (Array.isArray(value)) {
767
+ if (Arr.isArray(value)) {
771
768
  return loopArray(path, value)
772
769
  }
773
770
  if (typeof value === "object" && value !== null) {
774
771
  return loopObject(path, value)
775
772
  }
776
- return ReadonlyArray.empty<[ReadonlyArray<KeyComponent>, string]>()
773
+ return Arr.empty<[ReadonlyArray<KeyComponent>, string]>()
777
774
  }
778
775
  const loopArray = (
779
776
  path: ReadonlyArray<KeyComponent>,
780
777
  values: JsonArray
781
778
  ): ReadonlyArray<[path: ReadonlyArray<KeyComponent>, value: string]> =>
782
- ReadonlyArray.match(values, {
783
- onEmpty: () => ReadonlyArray.make([path, "<nil>"] as [ReadonlyArray<KeyComponent>, string]),
784
- onNonEmpty: ReadonlyArray.flatMap((value, index) => loopAny(ReadonlyArray.append(path, keyIndex(index)), value))
779
+ Arr.match(values, {
780
+ onEmpty: () => Arr.make([path, "<nil>"] as [ReadonlyArray<KeyComponent>, string]),
781
+ onNonEmpty: Arr.flatMap((value, index) => loopAny(Arr.append(path, keyIndex(index)), value))
785
782
  })
786
783
  const loopObject = (
787
784
  path: ReadonlyArray<KeyComponent>,
788
785
  value: JsonMap
789
786
  ): ReadonlyArray<[path: ReadonlyArray<KeyComponent>, value: string]> =>
790
787
  Object.entries(value).flatMap(([key, value]) => {
791
- const newPath = ReadonlyArray.append(path, keyName(key))
788
+ const newPath = Arr.append(path, keyName(key))
792
789
  const result = loopAny(newPath, value)
793
- if (ReadonlyArray.isEmptyReadonlyArray(result)) {
794
- return ReadonlyArray.make([newPath, ""] as [ReadonlyArray<KeyComponent>, string])
790
+ if (Arr.isEmptyReadonlyArray(result)) {
791
+ return Arr.make([newPath, ""] as [ReadonlyArray<KeyComponent>, string])
795
792
  }
796
793
  return result
797
794
  })
798
- return loopObject(ReadonlyArray.empty(), config)
795
+ return loopObject(Arr.empty(), config)
799
796
  }