effect 2.0.0-next.42 → 2.0.0-next.43

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 (669) hide show
  1. package/Bigint/dist/effect-Bigint.cjs.dev.js +365 -28
  2. package/Bigint/dist/effect-Bigint.cjs.prod.js +365 -28
  3. package/Boolean/dist/effect-Boolean.cjs.dev.js +243 -22
  4. package/Boolean/dist/effect-Boolean.cjs.prod.js +243 -22
  5. package/Brand/dist/effect-Brand.cjs.dev.js +221 -26
  6. package/Brand/dist/effect-Brand.cjs.prod.js +221 -26
  7. package/Cache/dist/effect-Cache.cjs.dev.js +181 -76
  8. package/Cache/dist/effect-Cache.cjs.prod.js +181 -76
  9. package/Cause/dist/effect-Cause.cjs.dev.js +754 -93
  10. package/Cause/dist/effect-Cause.cjs.prod.js +754 -93
  11. package/Channel/dist/effect-Channel.cjs.dev.js +1205 -213
  12. package/Channel/dist/effect-Channel.cjs.prod.js +1205 -213
  13. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.cjs.dev.js +118 -12
  14. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.cjs.prod.js +118 -12
  15. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.cjs.dev.js +63 -9
  16. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.cjs.prod.js +63 -9
  17. package/ChannelMergeState/dist/effect-ChannelMergeState.cjs.dev.js +107 -12
  18. package/ChannelMergeState/dist/effect-ChannelMergeState.cjs.prod.js +107 -12
  19. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.cjs.dev.js +88 -10
  20. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.cjs.prod.js +88 -10
  21. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.dev.js +130 -89
  22. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.prod.js +130 -89
  23. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.cjs.dev.js +88 -10
  24. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.cjs.prod.js +88 -10
  25. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.cjs.dev.js +87 -10
  26. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.cjs.prod.js +87 -10
  27. package/Chunk/dist/effect-Chunk.cjs.dev.js +1170 -101
  28. package/Chunk/dist/effect-Chunk.cjs.prod.js +1170 -101
  29. package/Clock/dist/effect-Clock.cjs.dev.js +120 -49
  30. package/Clock/dist/effect-Clock.cjs.prod.js +120 -49
  31. package/Config/dist/effect-Config.cjs.dev.js +386 -71
  32. package/Config/dist/effect-Config.cjs.prod.js +386 -71
  33. package/ConfigError/dist/effect-ConfigError.cjs.dev.js +219 -40
  34. package/ConfigError/dist/effect-ConfigError.cjs.prod.js +219 -40
  35. package/ConfigProvider/dist/effect-ConfigProvider.cjs.dev.js +250 -58
  36. package/ConfigProvider/dist/effect-ConfigProvider.cjs.prod.js +250 -58
  37. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.dev.js +92 -28
  38. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.prod.js +92 -28
  39. package/ConfigSecret/dist/effect-ConfigSecret.cjs.dev.js +85 -28
  40. package/ConfigSecret/dist/effect-ConfigSecret.cjs.prod.js +85 -28
  41. package/Console/dist/effect-Console.cjs.dev.js +315 -105
  42. package/Console/dist/effect-Console.cjs.prod.js +315 -105
  43. package/Context/dist/effect-Context.cjs.dev.js +322 -33
  44. package/Context/dist/effect-Context.cjs.prod.js +322 -33
  45. package/Data/dist/effect-Data.cjs.dev.js +223 -21
  46. package/Data/dist/effect-Data.cjs.prod.js +223 -21
  47. package/DefaultServices/dist/effect-DefaultServices.cjs.dev.js +59 -41
  48. package/DefaultServices/dist/effect-DefaultServices.cjs.prod.js +59 -41
  49. package/Deferred/dist/effect-Deferred.cjs.dev.js +254 -55
  50. package/Deferred/dist/effect-Deferred.cjs.prod.js +254 -55
  51. package/Differ/dist/effect-Differ.cjs.dev.js +985 -42
  52. package/Differ/dist/effect-Differ.cjs.prod.js +985 -42
  53. package/Duration/dist/effect-Duration.cjs.dev.js +476 -51
  54. package/Duration/dist/effect-Duration.cjs.prod.js +476 -51
  55. package/Effect/dist/effect-Effect.cjs.dev.js +3484 -410
  56. package/Effect/dist/effect-Effect.cjs.prod.js +3484 -410
  57. package/Effectable/dist/effect-Effectable.cjs.dev.js +92 -21
  58. package/Effectable/dist/effect-Effectable.cjs.prod.js +92 -21
  59. package/Either/dist/effect-Either.cjs.dev.js +475 -43
  60. package/Either/dist/effect-Either.cjs.prod.js +475 -43
  61. package/Encoding/dist/effect-Encoding.cjs.dev.js +302 -29
  62. package/Encoding/dist/effect-Encoding.cjs.prod.js +302 -29
  63. package/Equal/dist/effect-Equal.cjs.dev.js +61 -10
  64. package/Equal/dist/effect-Equal.cjs.prod.js +61 -10
  65. package/Equivalence/dist/effect-Equivalence.cjs.dev.js +213 -23
  66. package/Equivalence/dist/effect-Equivalence.cjs.prod.js +213 -23
  67. package/Error/dist/effect-Error.cjs.dev.js +130 -90
  68. package/Error/dist/effect-Error.cjs.prod.js +130 -90
  69. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.dev.js +2 -2
  70. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.prod.js +2 -2
  71. package/Exit/dist/effect-Exit.cjs.dev.js +395 -69
  72. package/Exit/dist/effect-Exit.cjs.prod.js +395 -69
  73. package/Fiber/dist/effect-Fiber.cjs.dev.js +537 -123
  74. package/Fiber/dist/effect-Fiber.cjs.prod.js +537 -123
  75. package/FiberId/dist/effect-FiberId.cjs.dev.js +19 -19
  76. package/FiberId/dist/effect-FiberId.cjs.prod.js +19 -19
  77. package/FiberRef/dist/effect-FiberRef.cjs.dev.js +400 -120
  78. package/FiberRef/dist/effect-FiberRef.cjs.prod.js +400 -120
  79. package/FiberRefs/dist/effect-FiberRefs.cjs.dev.js +147 -46
  80. package/FiberRefs/dist/effect-FiberRefs.cjs.prod.js +147 -46
  81. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.dev.js +110 -40
  82. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.prod.js +110 -40
  83. package/FiberStatus/dist/effect-FiberStatus.cjs.dev.js +185 -18
  84. package/FiberStatus/dist/effect-FiberStatus.cjs.prod.js +185 -18
  85. package/Function/dist/effect-Function.cjs.dev.js +511 -24
  86. package/Function/dist/effect-Function.cjs.prod.js +511 -24
  87. package/GlobalValue/dist/effect-GlobalValue.cjs.dev.js +18 -3
  88. package/GlobalValue/dist/effect-GlobalValue.cjs.prod.js +18 -3
  89. package/GroupBy/dist/effect-GroupBy.cjs.dev.js +167 -110
  90. package/GroupBy/dist/effect-GroupBy.cjs.prod.js +167 -110
  91. package/Hash/dist/effect-Hash.cjs.dev.js +175 -19
  92. package/Hash/dist/effect-Hash.cjs.prod.js +175 -19
  93. package/HashMap/dist/effect-HashMap.cjs.dev.js +337 -52
  94. package/HashMap/dist/effect-HashMap.cjs.prod.js +337 -52
  95. package/HashSet/dist/effect-HashSet.cjs.dev.js +266 -45
  96. package/HashSet/dist/effect-HashSet.cjs.prod.js +266 -45
  97. package/Hub/dist/effect-Hub.cjs.dev.js +1319 -88
  98. package/Hub/dist/effect-Hub.cjs.prod.js +1319 -88
  99. package/Inspectable/dist/effect-Inspectable.cjs.dev.js +37 -4
  100. package/Inspectable/dist/effect-Inspectable.cjs.prod.js +37 -4
  101. package/KeyedPool/dist/effect-KeyedPool.cjs.dev.js +327 -82
  102. package/KeyedPool/dist/effect-KeyedPool.cjs.prod.js +327 -82
  103. package/Layer/dist/effect-Layer.cjs.dev.js +696 -146
  104. package/Layer/dist/effect-Layer.cjs.prod.js +696 -146
  105. package/List/dist/effect-List.cjs.dev.js +868 -68
  106. package/List/dist/effect-List.cjs.prod.js +868 -68
  107. package/LogLevel/dist/effect-LogLevel.cjs.dev.js +243 -50
  108. package/LogLevel/dist/effect-LogLevel.cjs.prod.js +243 -50
  109. package/LogSpan/dist/effect-LogSpan.cjs.dev.js +34 -3
  110. package/LogSpan/dist/effect-LogSpan.cjs.prod.js +34 -3
  111. package/Logger/dist/effect-Logger.cjs.dev.js +313 -112
  112. package/Logger/dist/effect-Logger.cjs.prod.js +313 -112
  113. package/Metric/dist/effect-Metric.cjs.dev.js +503 -115
  114. package/Metric/dist/effect-Metric.cjs.prod.js +503 -115
  115. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.dev.js +72 -26
  116. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.prod.js +72 -26
  117. package/MetricHook/dist/effect-MetricHook.cjs.dev.js +95 -33
  118. package/MetricHook/dist/effect-MetricHook.cjs.prod.js +95 -33
  119. package/MetricKey/dist/effect-MetricKey.cjs.dev.js +133 -35
  120. package/MetricKey/dist/effect-MetricKey.cjs.prod.js +133 -35
  121. package/MetricKeyType/dist/effect-MetricKeyType.cjs.dev.js +179 -38
  122. package/MetricKeyType/dist/effect-MetricKeyType.cjs.prod.js +179 -38
  123. package/MetricLabel/dist/effect-MetricLabel.cjs.dev.js +47 -12
  124. package/MetricLabel/dist/effect-MetricLabel.cjs.prod.js +47 -12
  125. package/MetricPair/dist/effect-MetricPair.cjs.dev.js +38 -6
  126. package/MetricPair/dist/effect-MetricPair.cjs.prod.js +38 -6
  127. package/MetricPolling/dist/effect-MetricPolling.cjs.dev.js +229 -85
  128. package/MetricPolling/dist/effect-MetricPolling.cjs.prod.js +229 -85
  129. package/MetricRegistry/dist/effect-MetricRegistry.cjs.dev.js +55 -33
  130. package/MetricRegistry/dist/effect-MetricRegistry.cjs.prod.js +55 -33
  131. package/MetricState/dist/effect-MetricState.cjs.dev.js +174 -29
  132. package/MetricState/dist/effect-MetricState.cjs.prod.js +174 -29
  133. package/MutableHashMap/dist/effect-MutableHashMap.cjs.dev.js +149 -32
  134. package/MutableHashMap/dist/effect-MutableHashMap.cjs.prod.js +149 -32
  135. package/MutableHashSet/dist/effect-MutableHashSet.cjs.dev.js +111 -30
  136. package/MutableHashSet/dist/effect-MutableHashSet.cjs.prod.js +111 -30
  137. package/MutableList/dist/effect-MutableList.cjs.dev.js +276 -20
  138. package/MutableList/dist/effect-MutableList.cjs.prod.js +276 -20
  139. package/MutableQueue/dist/effect-MutableQueue.cjs.dev.js +209 -32
  140. package/MutableQueue/dist/effect-MutableQueue.cjs.prod.js +209 -32
  141. package/MutableRef/dist/effect-MutableRef.cjs.dev.js +175 -28
  142. package/MutableRef/dist/effect-MutableRef.cjs.prod.js +175 -28
  143. package/NonEmptyIterable/dist/effect-NonEmptyIterable.cjs.dev.js +25 -2
  144. package/NonEmptyIterable/dist/effect-NonEmptyIterable.cjs.prod.js +25 -2
  145. package/Number/dist/effect-Number.cjs.dev.js +389 -29
  146. package/Number/dist/effect-Number.cjs.prod.js +389 -29
  147. package/Option/dist/effect-Option.cjs.dev.js +1137 -79
  148. package/Option/dist/effect-Option.cjs.prod.js +1137 -79
  149. package/Order/dist/effect-Order.cjs.dev.js +288 -31
  150. package/Order/dist/effect-Order.cjs.prod.js +288 -31
  151. package/Ordering/dist/effect-Ordering.cjs.dev.js +89 -7
  152. package/Ordering/dist/effect-Ordering.cjs.prod.js +89 -7
  153. package/Pipeable/dist/effect-Pipeable.cjs.dev.js +41 -2
  154. package/Pipeable/dist/effect-Pipeable.cjs.prod.js +41 -2
  155. package/Pool/dist/effect-Pool.cjs.dev.js +176 -78
  156. package/Pool/dist/effect-Pool.cjs.prod.js +176 -78
  157. package/Predicate/dist/effect-Predicate.cjs.dev.js +672 -44
  158. package/Predicate/dist/effect-Predicate.cjs.prod.js +672 -44
  159. package/Queue/dist/effect-Queue.cjs.dev.js +426 -104
  160. package/Queue/dist/effect-Queue.cjs.prod.js +426 -104
  161. package/Random/dist/effect-Random.cjs.dev.js +126 -50
  162. package/Random/dist/effect-Random.cjs.prod.js +126 -50
  163. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.dev.js +1589 -157
  164. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.prod.js +1589 -157
  165. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.dev.js +552 -42
  166. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.prod.js +552 -42
  167. package/RedBlackTree/dist/effect-RedBlackTree.cjs.dev.js +1638 -59
  168. package/RedBlackTree/dist/effect-RedBlackTree.cjs.prod.js +1638 -59
  169. package/Ref/dist/effect-Ref.cjs.dev.js +31 -31
  170. package/Ref/dist/effect-Ref.cjs.prod.js +31 -31
  171. package/Reloadable/dist/effect-Reloadable.cjs.dev.js +225 -92
  172. package/Reloadable/dist/effect-Reloadable.cjs.prod.js +225 -92
  173. package/Request/dist/effect-Request.cjs.dev.js +237 -87
  174. package/Request/dist/effect-Request.cjs.prod.js +237 -87
  175. package/RequestBlock/dist/effect-RequestBlock.cjs.dev.js +194 -99
  176. package/RequestBlock/dist/effect-RequestBlock.cjs.prod.js +194 -99
  177. package/RequestResolver/dist/effect-RequestResolver.cjs.dev.js +291 -109
  178. package/RequestResolver/dist/effect-RequestResolver.cjs.prod.js +291 -109
  179. package/Resource/dist/effect-Resource.cjs.dev.js +176 -84
  180. package/Resource/dist/effect-Resource.cjs.prod.js +176 -84
  181. package/Runtime/dist/effect-Runtime.cjs.dev.js +244 -93
  182. package/Runtime/dist/effect-Runtime.cjs.prod.js +244 -93
  183. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.dev.js +418 -120
  184. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.prod.js +418 -120
  185. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.dev.js +25 -25
  186. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.prod.js +25 -25
  187. package/STM/dist/effect-STM.cjs.dev.js +1420 -236
  188. package/STM/dist/effect-STM.cjs.prod.js +1420 -236
  189. package/Schedule/dist/effect-Schedule.cjs.dev.js +1106 -155
  190. package/Schedule/dist/effect-Schedule.cjs.prod.js +1106 -155
  191. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.dev.js +111 -28
  192. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.prod.js +111 -28
  193. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.dev.js +237 -33
  194. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.prod.js +237 -33
  195. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.dev.js +264 -36
  196. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.prod.js +264 -36
  197. package/Scheduler/dist/effect-Scheduler.cjs.dev.js +365 -48
  198. package/Scheduler/dist/effect-Scheduler.cjs.prod.js +365 -48
  199. package/Scope/dist/effect-Scope.cjs.dev.js +191 -81
  200. package/Scope/dist/effect-Scope.cjs.prod.js +191 -81
  201. package/ScopedCache/dist/effect-ScopedCache.cjs.dev.js +511 -78
  202. package/ScopedCache/dist/effect-ScopedCache.cjs.prod.js +511 -78
  203. package/ScopedRef/dist/effect-ScopedRef.cjs.dev.js +146 -81
  204. package/ScopedRef/dist/effect-ScopedRef.cjs.prod.js +146 -81
  205. package/Sink/dist/effect-Sink.cjs.dev.js +1198 -207
  206. package/Sink/dist/effect-Sink.cjs.prod.js +1198 -207
  207. package/SortedMap/dist/effect-SortedMap.cjs.dev.js +194 -39
  208. package/SortedMap/dist/effect-SortedMap.cjs.prod.js +194 -39
  209. package/SortedSet/dist/effect-SortedSet.cjs.dev.js +293 -42
  210. package/SortedSet/dist/effect-SortedSet.cjs.prod.js +293 -42
  211. package/Stream/dist/effect-Stream.cjs.dev.js +3272 -400
  212. package/Stream/dist/effect-Stream.cjs.prod.js +3272 -400
  213. package/StreamHaltStrategy/dist/effect-StreamHaltStrategy.cjs.dev.js +2 -2
  214. package/StreamHaltStrategy/dist/effect-StreamHaltStrategy.cjs.prod.js +2 -2
  215. package/String/dist/effect-String.cjs.dev.js +652 -64
  216. package/String/dist/effect-String.cjs.prod.js +652 -64
  217. package/Struct/dist/effect-Struct.cjs.dev.js +126 -9
  218. package/Struct/dist/effect-Struct.cjs.prod.js +126 -9
  219. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.dev.js +336 -130
  220. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.prod.js +336 -130
  221. package/Supervisor/dist/effect-Supervisor.cjs.dev.js +233 -93
  222. package/Supervisor/dist/effect-Supervisor.cjs.prod.js +233 -93
  223. package/Symbol/dist/effect-Symbol.cjs.dev.js +29 -6
  224. package/Symbol/dist/effect-Symbol.cjs.prod.js +29 -6
  225. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.dev.js +253 -101
  226. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.prod.js +253 -101
  227. package/TArray/dist/effect-TArray.cjs.dev.js +516 -155
  228. package/TArray/dist/effect-TArray.cjs.prod.js +516 -155
  229. package/TDeferred/dist/effect-TDeferred.cjs.dev.js +218 -120
  230. package/TDeferred/dist/effect-TDeferred.cjs.prod.js +218 -120
  231. package/THub/dist/effect-THub.cjs.dev.js +650 -130
  232. package/THub/dist/effect-THub.cjs.prod.js +650 -130
  233. package/TMap/dist/effect-TMap.cjs.dev.js +525 -158
  234. package/TMap/dist/effect-TMap.cjs.prod.js +525 -158
  235. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.dev.js +458 -132
  236. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.prod.js +458 -132
  237. package/TQueue/dist/effect-TQueue.cjs.dev.js +429 -142
  238. package/TQueue/dist/effect-TQueue.cjs.prod.js +429 -142
  239. package/TRandom/dist/effect-TRandom.cjs.dev.js +289 -123
  240. package/TRandom/dist/effect-TRandom.cjs.prod.js +289 -123
  241. package/TReentrantLock/dist/effect-TReentrantLock.cjs.dev.js +530 -131
  242. package/TReentrantLock/dist/effect-TReentrantLock.cjs.prod.js +530 -131
  243. package/TRef/dist/effect-TRef.cjs.dev.js +237 -127
  244. package/TRef/dist/effect-TRef.cjs.prod.js +237 -127
  245. package/TSemaphore/dist/effect-TSemaphore.cjs.dev.js +282 -126
  246. package/TSemaphore/dist/effect-TSemaphore.cjs.prod.js +282 -126
  247. package/TSet/dist/effect-TSet.cjs.dev.js +514 -146
  248. package/TSet/dist/effect-TSet.cjs.prod.js +514 -146
  249. package/Take/dist/effect-Take.cjs.dev.js +295 -111
  250. package/Take/dist/effect-Take.cjs.prod.js +295 -111
  251. package/TestAnnotation/dist/effect-TestAnnotation.cjs.dev.js +132 -33
  252. package/TestAnnotation/dist/effect-TestAnnotation.cjs.prod.js +132 -33
  253. package/TestAnnotationMap/dist/effect-TestAnnotationMap.cjs.dev.js +106 -11
  254. package/TestAnnotationMap/dist/effect-TestAnnotationMap.cjs.prod.js +106 -11
  255. package/TestAnnotations/dist/effect-TestAnnotations.cjs.dev.js +127 -61
  256. package/TestAnnotations/dist/effect-TestAnnotations.cjs.prod.js +127 -61
  257. package/TestClock/dist/effect-TestClock.cjs.dev.js +623 -101
  258. package/TestClock/dist/effect-TestClock.cjs.prod.js +623 -101
  259. package/TestConfig/dist/effect-TestConfig.cjs.dev.js +41 -20
  260. package/TestConfig/dist/effect-TestConfig.cjs.prod.js +41 -20
  261. package/TestContext/dist/effect-TestContext.cjs.dev.js +117 -98
  262. package/TestContext/dist/effect-TestContext.cjs.prod.js +117 -98
  263. package/TestLive/dist/effect-TestLive.cjs.dev.js +82 -42
  264. package/TestLive/dist/effect-TestLive.cjs.prod.js +82 -42
  265. package/TestServices/dist/effect-TestServices.cjs.dev.js +380 -129
  266. package/TestServices/dist/effect-TestServices.cjs.prod.js +380 -129
  267. package/TestSized/dist/effect-TestSized.cjs.dev.js +78 -35
  268. package/TestSized/dist/effect-TestSized.cjs.prod.js +78 -35
  269. package/Tracer/dist/effect-Tracer.cjs.dev.js +104 -43
  270. package/Tracer/dist/effect-Tracer.cjs.prod.js +104 -43
  271. package/Tuple/dist/effect-Tuple.cjs.dev.js +182 -17
  272. package/Tuple/dist/effect-Tuple.cjs.prod.js +182 -17
  273. package/Unify/dist/effect-Unify.cjs.dev.js +37 -3
  274. package/Unify/dist/effect-Unify.cjs.prod.js +37 -3
  275. package/Utils/dist/effect-Utils.cjs.dev.js +354 -9
  276. package/Utils/dist/effect-Utils.cjs.prod.js +354 -9
  277. package/dist/{Context-f958cabc.cjs.prod.js → Context-01a123ac.cjs.prod.js} +8 -8
  278. package/dist/{Context-96739709.cjs.dev.js → Context-593661f6.cjs.dev.js} +8 -8
  279. package/dist/{Effectable-f867d1cb.cjs.prod.js → Effectable-2f022879.cjs.dev.js} +4 -4
  280. package/dist/{Effectable-a6403e5f.cjs.dev.js → Effectable-cd8f3a96.cjs.prod.js} +4 -4
  281. package/dist/{Either-9c349424.cjs.dev.js → Either-12bbe00c.cjs.dev.js} +5 -5
  282. package/dist/{Either-d03d5f05.cjs.prod.js → Either-7a881c7a.cjs.prod.js} +5 -5
  283. package/dist/{ExecutionStrategy-89fbe735.cjs.dev.js → ExecutionStrategy-14d3053a.cjs.prod.js} +1 -13
  284. package/dist/{ExecutionStrategy-dc778180.cjs.prod.js → ExecutionStrategy-70f1a920.cjs.dev.js} +1 -13
  285. package/dist/{FiberId-929dcce4.cjs.dev.js → FiberId-557db880.cjs.dev.js} +8 -30
  286. package/dist/{FiberId-b79e8047.cjs.prod.js → FiberId-e594f6e8.cjs.prod.js} +8 -30
  287. package/dist/{HashSet-ece2cfe8.cjs.dev.js → HashSet-0b4ff1e4.cjs.dev.js} +7 -7
  288. package/dist/{HashSet-6fe62df2.cjs.prod.js → HashSet-6257b66d.cjs.prod.js} +7 -7
  289. package/dist/{Ref-f41d9514.cjs.dev.js → Ref-74b592a4.cjs.dev.js} +5 -25
  290. package/dist/{Ref-b0f07131.cjs.prod.js → Ref-a3a4e50d.cjs.prod.js} +5 -25
  291. package/dist/{RuntimeFlagsPatch-130e990c.cjs.dev.js → RuntimeFlagsPatch-e2769b87.cjs.prod.js} +2 -24
  292. package/dist/{RuntimeFlagsPatch-5570758d.cjs.prod.js → RuntimeFlagsPatch-ea268c50.cjs.dev.js} +2 -24
  293. package/dist/{StreamHaltStrategy-66a53f66.cjs.dev.js → StreamHaltStrategy-9a61b88d.cjs.dev.js} +1 -16
  294. package/dist/{StreamHaltStrategy-07f544a6.cjs.prod.js → StreamHaltStrategy-b495622b.cjs.prod.js} +1 -16
  295. package/dist/{boundaries-03c7494a.cjs.dev.js → boundaries-20cfad9d.cjs.prod.js} +6 -6
  296. package/dist/{boundaries-5d1a46e1.cjs.prod.js → boundaries-3810d885.cjs.dev.js} +6 -6
  297. package/dist/{cache-debb30b9.cjs.prod.js → cache-3a55a13a.cjs.prod.js} +21 -21
  298. package/dist/{cache-6a9fa3c2.cjs.dev.js → cache-83d14f6e.cjs.dev.js} +21 -21
  299. package/dist/{childExecutorDecision-2b30946c.cjs.prod.js → childExecutorDecision-2eed6e25.cjs.dev.js} +1 -1
  300. package/dist/{childExecutorDecision-ad3db696.cjs.dev.js → childExecutorDecision-b5842db5.cjs.prod.js} +1 -1
  301. package/dist/{circular-e96ed3ce.cjs.dev.js → circular-2162b720.cjs.dev.js} +7 -7
  302. package/dist/{circular-4e4a12d0.cjs.dev.js → circular-a4887ee9.cjs.dev.js} +19 -19
  303. package/dist/{circular-fc9d405f.cjs.prod.js → circular-c3ce70f4.cjs.prod.js} +7 -7
  304. package/dist/{circular-b9af7e3c.cjs.prod.js → circular-f72fcb1d.cjs.prod.js} +19 -19
  305. package/dist/{config-a57559a0.cjs.dev.js → config-80900693.cjs.dev.js} +10 -10
  306. package/dist/{config-e86d2f2c.cjs.prod.js → config-d0ddc159.cjs.prod.js} +10 -10
  307. package/dist/{configError-6a3652f8.cjs.prod.js → configError-240e9b61.cjs.dev.js} +3 -3
  308. package/dist/{configError-1686533e.cjs.dev.js → configError-33e55472.cjs.prod.js} +3 -3
  309. package/dist/{configProvider-91019e0c.cjs.prod.js → configProvider-93617d6d.cjs.prod.js} +13 -13
  310. package/dist/{configProvider-e8277224.cjs.dev.js → configProvider-ce43fdbf.cjs.dev.js} +13 -13
  311. package/dist/{configSecret-ecb6c5b3.cjs.prod.js → configSecret-d1caca55.cjs.prod.js} +4 -4
  312. package/dist/{configSecret-5812fa69.cjs.dev.js → configSecret-e34c1b14.cjs.dev.js} +4 -4
  313. package/dist/{core-99a7f5f2.cjs.prod.js → core-0b0539de.cjs.prod.js} +19 -19
  314. package/dist/{core-3a3a9567.cjs.prod.js → core-8ff5a82c.cjs.prod.js} +14 -14
  315. package/dist/{core-5fb17b79.cjs.dev.js → core-b2dfee8d.cjs.dev.js} +14 -14
  316. package/dist/{core-3ddc73fc.cjs.dev.js → core-b4d7b4f5.cjs.dev.js} +19 -19
  317. package/dist/{core-effect-0b09eb55.cjs.dev.js → core-effect-892f3686.cjs.dev.js} +23 -23
  318. package/dist/{core-effect-0efbe120.cjs.prod.js → core-effect-c65770cd.cjs.prod.js} +23 -23
  319. package/dist/{dataSource-894bb2d1.cjs.dev.js → dataSource-5227437c.cjs.dev.js} +7 -7
  320. package/dist/{dataSource-536382d2.cjs.prod.js → dataSource-837686e6.cjs.prod.js} +7 -7
  321. package/dist/declarations/src/index.d.ts.map +1 -1
  322. package/dist/{defaultServices-85cd09a5.cjs.prod.js → defaultServices-086b8ac9.cjs.prod.js} +10 -10
  323. package/dist/{defaultServices-101983cd.cjs.dev.js → defaultServices-5530ff0e.cjs.dev.js} +10 -10
  324. package/dist/effect.cjs.dev.js +466 -344
  325. package/dist/effect.cjs.prod.js +466 -344
  326. package/dist/effect.esm.js +283 -283
  327. package/dist/{fiber-e68a3beb.cjs.dev.js → fiber-1bfb4c1d.cjs.dev.js} +14 -14
  328. package/dist/{fiber-d61e94dc.cjs.prod.js → fiber-2eb0a4c1.cjs.prod.js} +14 -14
  329. package/dist/{fiberRefs-1a0bda7d.cjs.dev.js → fiberRefs-be4fae6a.cjs.dev.js} +7 -7
  330. package/dist/{fiberRefs-56d69854.cjs.prod.js → fiberRefs-be6b6a70.cjs.prod.js} +7 -7
  331. package/dist/{fiberRuntime-d359f080.cjs.prod.js → fiberRuntime-af2d0ca1.cjs.prod.js} +42 -42
  332. package/dist/{fiberRuntime-9699a6b8.cjs.dev.js → fiberRuntime-e0db0ab6.cjs.dev.js} +42 -42
  333. package/dist/{groupBy-5ec3b13b.cjs.prod.js → groupBy-7ce46ea3.cjs.prod.js} +14 -14
  334. package/dist/{groupBy-83c39612.cjs.dev.js → groupBy-bd943372.cjs.dev.js} +14 -14
  335. package/dist/{hook-822704ea.cjs.dev.js → hook-470b717e.cjs.prod.js} +9 -9
  336. package/dist/{hook-6c7550dc.cjs.prod.js → hook-e72b20fd.cjs.dev.js} +9 -9
  337. package/dist/{key-330b98b1.cjs.prod.js → key-378a6a2c.cjs.prod.js} +8 -8
  338. package/dist/{key-a474fc0d.cjs.dev.js → key-f0a1408a.cjs.dev.js} +8 -8
  339. package/dist/{keyType-1e916ae2.cjs.dev.js → keyType-55f27f07.cjs.dev.js} +5 -5
  340. package/dist/{keyType-8460e792.cjs.prod.js → keyType-cf67c69c.cjs.prod.js} +5 -5
  341. package/dist/{label-3e143765.cjs.prod.js → label-011edbe7.cjs.dev.js} +4 -4
  342. package/dist/{label-246fb11d.cjs.dev.js → label-655343b5.cjs.prod.js} +4 -4
  343. package/dist/{layer-4be7be9b.cjs.prod.js → layer-3b1b0e2e.cjs.prod.js} +19 -19
  344. package/dist/{layer-51422619.cjs.dev.js → layer-9cbb61ce.cjs.dev.js} +19 -19
  345. package/dist/{mergeDecision-e483c280.cjs.prod.js → mergeDecision-07c6b5c9.cjs.prod.js} +1 -1
  346. package/dist/{mergeDecision-e457a76b.cjs.dev.js → mergeDecision-be41e797.cjs.dev.js} +1 -1
  347. package/dist/{mergeState-dba66248.cjs.prod.js → mergeState-75990fa2.cjs.prod.js} +1 -1
  348. package/dist/{mergeState-83204f38.cjs.dev.js → mergeState-8153ce39.cjs.dev.js} +1 -1
  349. package/dist/{mergeStrategy-845a1279.cjs.prod.js → mergeStrategy-3dd6e55f.cjs.prod.js} +1 -1
  350. package/dist/{mergeStrategy-b19dc19a.cjs.dev.js → mergeStrategy-81ea5b80.cjs.dev.js} +1 -1
  351. package/dist/{pair-e5443c93.cjs.prod.js → pair-291b78d7.cjs.dev.js} +1 -1
  352. package/dist/{pair-08a8685e.cjs.dev.js → pair-6254cf85.cjs.prod.js} +1 -1
  353. package/dist/{patch-49a74eb1.cjs.prod.js → patch-a1b2802f.cjs.dev.js} +4 -4
  354. package/dist/{patch-d5f75194.cjs.dev.js → patch-c4d6c61e.cjs.prod.js} +4 -4
  355. package/dist/{pathPatch-e46d4168.cjs.dev.js → pathPatch-15c8d723.cjs.prod.js} +6 -6
  356. package/dist/{pathPatch-ded405f6.cjs.prod.js → pathPatch-d9d41297.cjs.dev.js} +6 -6
  357. package/dist/{pool-2db8a1f2.cjs.dev.js → pool-29b03fb2.cjs.dev.js} +12 -12
  358. package/dist/{pool-bcc71d3b.cjs.prod.js → pool-b5c7d254.cjs.prod.js} +12 -12
  359. package/dist/{query-3599e07d.cjs.dev.js → query-67a7c448.cjs.dev.js} +6 -6
  360. package/dist/{query-096bd104.cjs.prod.js → query-d5eefc43.cjs.prod.js} +6 -6
  361. package/dist/{queue-6ee3ba6c.cjs.prod.js → queue-38614769.cjs.prod.js} +9 -9
  362. package/dist/{queue-5fffc770.cjs.dev.js → queue-997d6e51.cjs.dev.js} +9 -9
  363. package/dist/{registry-29905dcc.cjs.prod.js → registry-013ecdde.cjs.prod.js} +7 -7
  364. package/dist/{registry-c883cf52.cjs.dev.js → registry-1099de3f.cjs.dev.js} +7 -7
  365. package/dist/{runtime-851e8d63.cjs.dev.js → runtime-15cc9cc5.cjs.dev.js} +16 -16
  366. package/dist/{runtime-06e3baba.cjs.prod.js → runtime-3a59f5c4.cjs.prod.js} +16 -16
  367. package/dist/{schedule-eb6e347d.cjs.prod.js → schedule-1d92198c.cjs.prod.js} +22 -22
  368. package/dist/{schedule-63e9a90e.cjs.dev.js → schedule-e0f55cab.cjs.dev.js} +22 -22
  369. package/dist/{scopedRef-365da725.cjs.dev.js → scopedRef-88ae648a.cjs.dev.js} +9 -9
  370. package/dist/{scopedRef-8387a141.cjs.prod.js → scopedRef-a0257d92.cjs.prod.js} +9 -9
  371. package/dist/{singleProducerAsyncInput-9d6d57d6.cjs.dev.js → singleProducerAsyncInput-1c6cc8fb.cjs.prod.js} +13 -13
  372. package/dist/{singleProducerAsyncInput-4035643a.cjs.prod.js → singleProducerAsyncInput-998b8fac.cjs.dev.js} +13 -13
  373. package/dist/{sink-9d318853.cjs.dev.js → sink-1ac24bca.cjs.dev.js} +42 -42
  374. package/dist/{sink-c22afb4c.cjs.prod.js → sink-4d668efb.cjs.prod.js} +42 -42
  375. package/dist/{state-0d29362f.cjs.prod.js → state-8fbec044.cjs.dev.js} +4 -4
  376. package/dist/{state-8a8a647c.cjs.dev.js → state-dd1bd066.cjs.prod.js} +4 -4
  377. package/dist/{stm-25e9f751.cjs.dev.js → stm-fbb398a5.cjs.dev.js} +13 -13
  378. package/dist/{stm-52b6d829.cjs.prod.js → stm-fcac86d5.cjs.prod.js} +13 -13
  379. package/dist/{stream-d0865b79.cjs.dev.js → stream-adef675d.cjs.dev.js} +33 -33
  380. package/dist/{stream-5f118d1a.cjs.prod.js → stream-e670e8fa.cjs.prod.js} +33 -33
  381. package/dist/{synchronizedRef-303ae7ce.cjs.prod.js → synchronizedRef-37e32854.cjs.dev.js} +3 -3
  382. package/dist/{synchronizedRef-5c50013e.cjs.dev.js → synchronizedRef-b4cde4de.cjs.prod.js} +3 -3
  383. package/dist/{tArray-3cd19ff4.cjs.dev.js → tArray-239d37ad.cjs.dev.js} +7 -7
  384. package/dist/{tArray-28dfa8e9.cjs.prod.js → tArray-70de8ec4.cjs.prod.js} +7 -7
  385. package/dist/{tMap-7361e520.cjs.dev.js → tMap-4b27665d.cjs.dev.js} +12 -12
  386. package/dist/{tMap-22aa6411.cjs.prod.js → tMap-a202396b.cjs.prod.js} +12 -12
  387. package/dist/{tQueue-4596ba62.cjs.prod.js → tQueue-004a478e.cjs.dev.js} +8 -8
  388. package/dist/{tQueue-86c4ee3b.cjs.dev.js → tQueue-82c4db95.cjs.prod.js} +8 -8
  389. package/dist/{tRef-0bbb1e7e.cjs.prod.js → tRef-bb7cc73a.cjs.dev.js} +3 -3
  390. package/dist/{tRef-c3fe1748.cjs.dev.js → tRef-ee2c7f44.cjs.prod.js} +3 -3
  391. package/dist/{take-6f424894.cjs.prod.js → take-4857b6af.cjs.dev.js} +7 -7
  392. package/dist/{take-df1858f2.cjs.dev.js → take-9c555b46.cjs.prod.js} +7 -7
  393. package/dist/{upstreamPullRequest-705e868d.cjs.prod.js → upstreamPullRequest-7a694281.cjs.dev.js} +1 -1
  394. package/dist/{upstreamPullRequest-c08f06a4.cjs.dev.js → upstreamPullRequest-c89f818d.cjs.prod.js} +1 -1
  395. package/dist/{upstreamPullStrategy-34452db1.cjs.prod.js → upstreamPullStrategy-63cc8967.cjs.prod.js} +1 -1
  396. package/dist/{upstreamPullStrategy-0ccf2960.cjs.dev.js → upstreamPullStrategy-f9f1ab57.cjs.dev.js} +1 -1
  397. package/package.json +3 -2
  398. package/dist/Bigint-0ebd807c.cjs.dev.js +0 -392
  399. package/dist/Bigint-912c77f3.cjs.prod.js +0 -392
  400. package/dist/Boolean-97839b78.cjs.prod.js +0 -264
  401. package/dist/Boolean-f0bc3abf.cjs.dev.js +0 -264
  402. package/dist/Brand-93578f43.cjs.prod.js +0 -224
  403. package/dist/Brand-b238487d.cjs.dev.js +0 -224
  404. package/dist/Cache-27de64e5.cjs.prod.js +0 -127
  405. package/dist/Cache-b1fd7d93.cjs.dev.js +0 -127
  406. package/dist/Cause-73ebfede.cjs.dev.js +0 -791
  407. package/dist/Cause-f90cc424.cjs.prod.js +0 -791
  408. package/dist/Channel-96c79066.cjs.prod.js +0 -1217
  409. package/dist/Channel-ff137fa2.cjs.dev.js +0 -1217
  410. package/dist/ChannelChildExecutorDecision-168278f6.cjs.prod.js +0 -136
  411. package/dist/ChannelChildExecutorDecision-b0e715de.cjs.dev.js +0 -136
  412. package/dist/ChannelMergeDecision-9c266aeb.cjs.prod.js +0 -78
  413. package/dist/ChannelMergeDecision-eeaf4779.cjs.dev.js +0 -78
  414. package/dist/ChannelMergeState-4366d090.cjs.prod.js +0 -125
  415. package/dist/ChannelMergeState-abce1d88.cjs.dev.js +0 -125
  416. package/dist/ChannelMergeStrategy-6193b8e0.cjs.prod.js +0 -104
  417. package/dist/ChannelMergeStrategy-e7ddbb7a.cjs.dev.js +0 -104
  418. package/dist/ChannelSingleProducerAsyncInput-0fd1d6fd.cjs.prod.js +0 -55
  419. package/dist/ChannelSingleProducerAsyncInput-3a95731f.cjs.dev.js +0 -55
  420. package/dist/ChannelUpstreamPullRequest-1ca7d2bd.cjs.dev.js +0 -104
  421. package/dist/ChannelUpstreamPullRequest-208751c3.cjs.prod.js +0 -104
  422. package/dist/ChannelUpstreamPullStrategy-266b5a77.cjs.prod.js +0 -103
  423. package/dist/ChannelUpstreamPullStrategy-ec57dc70.cjs.dev.js +0 -103
  424. package/dist/Chunk-6cf5a8e6.cjs.prod.js +0 -1248
  425. package/dist/Chunk-bd290b8e.cjs.dev.js +0 -1248
  426. package/dist/Clock-dd715d18.cjs.dev.js +0 -97
  427. package/dist/Clock-fb3f7535.cjs.prod.js +0 -97
  428. package/dist/Config-7f41ea05.cjs.prod.js +0 -393
  429. package/dist/Config-ae8e35fb.cjs.dev.js +0 -393
  430. package/dist/ConfigError-c1f762d2.cjs.dev.js +0 -225
  431. package/dist/ConfigError-cee682fa.cjs.prod.js +0 -225
  432. package/dist/ConfigProvider-58a767e3.cjs.prod.js +0 -240
  433. package/dist/ConfigProvider-88a6a51a.cjs.dev.js +0 -240
  434. package/dist/ConfigProviderPathPatch-52422b32.cjs.prod.js +0 -86
  435. package/dist/ConfigProviderPathPatch-d22442e3.cjs.dev.js +0 -86
  436. package/dist/ConfigSecret-c76717e8.cjs.dev.js +0 -83
  437. package/dist/ConfigSecret-ebab2ae7.cjs.prod.js +0 -83
  438. package/dist/Console-3feb9b13.cjs.dev.js +0 -271
  439. package/dist/Console-ad274f55.cjs.prod.js +0 -271
  440. package/dist/Context-25a49952.cjs.prod.js +0 -327
  441. package/dist/Context-3c9e986b.cjs.dev.js +0 -327
  442. package/dist/Data-07dc27f1.cjs.prod.js +0 -237
  443. package/dist/Data-85559fb3.cjs.dev.js +0 -237
  444. package/dist/DefaultServices-4ff6cd71.cjs.prod.js +0 -34
  445. package/dist/DefaultServices-c2fc760b.cjs.dev.js +0 -34
  446. package/dist/Deferred-33cc0aa3.cjs.prod.js +0 -253
  447. package/dist/Deferred-e92635ac.cjs.dev.js +0 -253
  448. package/dist/Differ-0122f60e.cjs.dev.js +0 -992
  449. package/dist/Differ-0bd34066.cjs.prod.js +0 -992
  450. package/dist/Duration-0bc08d03.cjs.prod.js +0 -508
  451. package/dist/Duration-604874d1.cjs.dev.js +0 -508
  452. package/dist/Effect-880ff8dc.cjs.dev.js +0 -3740
  453. package/dist/Effect-9ed81037.cjs.prod.js +0 -3740
  454. package/dist/Effectable-04f3cd30.cjs.dev.js +0 -99
  455. package/dist/Effectable-8997112d.cjs.prod.js +0 -99
  456. package/dist/Either-3fab3796.cjs.prod.js +0 -502
  457. package/dist/Either-a806809d.cjs.dev.js +0 -502
  458. package/dist/Encoding-0cab52d5.cjs.prod.js +0 -309
  459. package/dist/Encoding-d993b1b0.cjs.dev.js +0 -309
  460. package/dist/Equal-281b6ca8.cjs.dev.js +0 -71
  461. package/dist/Equal-ce9977a8.cjs.prod.js +0 -71
  462. package/dist/Equivalence-0bc84518.cjs.prod.js +0 -238
  463. package/dist/Equivalence-de7a0d51.cjs.dev.js +0 -238
  464. package/dist/Error-2ec0b140.cjs.prod.js +0 -57
  465. package/dist/Error-71850b6f.cjs.dev.js +0 -57
  466. package/dist/Exit-720d2786.cjs.prod.js +0 -408
  467. package/dist/Exit-b702e23f.cjs.dev.js +0 -408
  468. package/dist/Fiber-8c99b572.cjs.prod.js +0 -521
  469. package/dist/Fiber-93d51baf.cjs.dev.js +0 -521
  470. package/dist/FiberRef-8e944b1e.cjs.prod.js +0 -385
  471. package/dist/FiberRef-edb41545.cjs.dev.js +0 -385
  472. package/dist/FiberRefs-802c55f6.cjs.prod.js +0 -135
  473. package/dist/FiberRefs-ec1734cb.cjs.dev.js +0 -135
  474. package/dist/FiberRefsPatch-db52f5a6.cjs.prod.js +0 -90
  475. package/dist/FiberRefsPatch-efbeff91.cjs.dev.js +0 -90
  476. package/dist/FiberStatus-b82dad24.cjs.prod.js +0 -197
  477. package/dist/FiberStatus-bac7d58d.cjs.dev.js +0 -197
  478. package/dist/Function-2e6b0cda.cjs.prod.js +0 -538
  479. package/dist/Function-41ce433d.cjs.dev.js +0 -538
  480. package/dist/GlobalValue-81ab6908.cjs.dev.js +0 -28
  481. package/dist/GlobalValue-cb645c99.cjs.prod.js +0 -28
  482. package/dist/GroupBy-15649e19.cjs.dev.js +0 -79
  483. package/dist/GroupBy-342eec35.cjs.prod.js +0 -79
  484. package/dist/HKT-2cc79e63.cjs.dev.js +0 -7
  485. package/dist/HKT-d682535d.cjs.prod.js +0 -7
  486. package/dist/Hash-1bd73210.cjs.prod.js +0 -192
  487. package/dist/Hash-bd154268.cjs.dev.js +0 -192
  488. package/dist/HashMap-12668911.cjs.prod.js +0 -361
  489. package/dist/HashMap-68e290b6.cjs.dev.js +0 -361
  490. package/dist/HashSet-6978c08e.cjs.dev.js +0 -283
  491. package/dist/HashSet-c40a52b1.cjs.prod.js +0 -283
  492. package/dist/Hub-17f075d3.cjs.dev.js +0 -1280
  493. package/dist/Hub-c89028e9.cjs.prod.js +0 -1280
  494. package/dist/Inspectable-3c4a0f5d.cjs.prod.js +0 -50
  495. package/dist/Inspectable-ac929af4.cjs.dev.js +0 -50
  496. package/dist/KeyedPool-44b820c5.cjs.dev.js +0 -282
  497. package/dist/KeyedPool-89ab8fef.cjs.prod.js +0 -282
  498. package/dist/Layer-1cdc4ae0.cjs.prod.js +0 -688
  499. package/dist/Layer-d30c27fd.cjs.dev.js +0 -688
  500. package/dist/List-c6ea7efe.cjs.dev.js +0 -912
  501. package/dist/List-d9775087.cjs.prod.js +0 -912
  502. package/dist/LogLevel-83df6f42.cjs.prod.js +0 -240
  503. package/dist/LogLevel-91738879.cjs.dev.js +0 -240
  504. package/dist/LogSpan-c905a192.cjs.prod.js +0 -46
  505. package/dist/LogSpan-e345ba58.cjs.dev.js +0 -46
  506. package/dist/Logger-70b9b704.cjs.prod.js +0 -275
  507. package/dist/Logger-e4460422.cjs.dev.js +0 -275
  508. package/dist/Metric-17f4b13c.cjs.prod.js +0 -488
  509. package/dist/Metric-f6bae70a.cjs.dev.js +0 -488
  510. package/dist/MetricBoundaries-cf5df220.cjs.prod.js +0 -68
  511. package/dist/MetricBoundaries-f5f5aae1.cjs.dev.js +0 -68
  512. package/dist/MetricHook-3104e93b.cjs.dev.js +0 -90
  513. package/dist/MetricHook-efd05d72.cjs.prod.js +0 -90
  514. package/dist/MetricKey-9cfcaec8.cjs.prod.js +0 -130
  515. package/dist/MetricKey-c3ba437e.cjs.dev.js +0 -130
  516. package/dist/MetricKeyType-6d2d9036.cjs.prod.js +0 -187
  517. package/dist/MetricKeyType-c1d7ebe8.cjs.dev.js +0 -187
  518. package/dist/MetricLabel-6a1886c6.cjs.dev.js +0 -53
  519. package/dist/MetricLabel-7e1d569e.cjs.prod.js +0 -53
  520. package/dist/MetricPair-658ab13d.cjs.dev.js +0 -50
  521. package/dist/MetricPair-aec13967.cjs.prod.js +0 -50
  522. package/dist/MetricPolling-57dfc966.cjs.dev.js +0 -177
  523. package/dist/MetricPolling-cc8ab4df.cjs.prod.js +0 -177
  524. package/dist/MetricRegistry-e4af936b.cjs.dev.js +0 -38
  525. package/dist/MetricRegistry-ff6df283.cjs.prod.js +0 -38
  526. package/dist/MetricState-b65340a4.cjs.dev.js +0 -191
  527. package/dist/MetricState-bd6a5001.cjs.prod.js +0 -191
  528. package/dist/MutableHashMap-74e83e84.cjs.dev.js +0 -154
  529. package/dist/MutableHashMap-95493edb.cjs.prod.js +0 -154
  530. package/dist/MutableHashSet-780dfd63.cjs.prod.js +0 -110
  531. package/dist/MutableHashSet-ec8d7cc4.cjs.dev.js +0 -110
  532. package/dist/MutableList-58124ef2.cjs.dev.js +0 -296
  533. package/dist/MutableList-732af09a.cjs.prod.js +0 -296
  534. package/dist/MutableQueue-0e9f2466.cjs.dev.js +0 -215
  535. package/dist/MutableQueue-f8aba856.cjs.prod.js +0 -215
  536. package/dist/MutableRef-4a2f1f23.cjs.prod.js +0 -194
  537. package/dist/MutableRef-724c4082.cjs.dev.js +0 -194
  538. package/dist/NonEmptyIterable-418cef14.cjs.prod.js +0 -36
  539. package/dist/NonEmptyIterable-bb452f41.cjs.dev.js +0 -36
  540. package/dist/Number-588f6483.cjs.dev.js +0 -417
  541. package/dist/Number-cb2ba2e8.cjs.prod.js +0 -417
  542. package/dist/Option-02025c86.cjs.prod.js +0 -1198
  543. package/dist/Option-03997d77.cjs.dev.js +0 -1198
  544. package/dist/Order-28bdebd2.cjs.dev.js +0 -321
  545. package/dist/Order-8a112bfb.cjs.prod.js +0 -321
  546. package/dist/Ordering-60bf9127.cjs.prod.js +0 -104
  547. package/dist/Ordering-b955b746.cjs.dev.js +0 -104
  548. package/dist/Pipeable-4698db72.cjs.dev.js +0 -52
  549. package/dist/Pipeable-d3ec6711.cjs.prod.js +0 -52
  550. package/dist/Pool-9d1076d0.cjs.prod.js +0 -122
  551. package/dist/Pool-c55003ad.cjs.dev.js +0 -122
  552. package/dist/Predicate-9e859c9c.cjs.dev.js +0 -718
  553. package/dist/Predicate-daa86e61.cjs.prod.js +0 -718
  554. package/dist/Queue-5cd64a6d.cjs.prod.js +0 -394
  555. package/dist/Queue-bc7bd323.cjs.dev.js +0 -394
  556. package/dist/Random-0645cf02.cjs.prod.js +0 -104
  557. package/dist/Random-a321de88.cjs.dev.js +0 -104
  558. package/dist/ReadonlyArray-48949ee7.cjs.dev.js +0 -1721
  559. package/dist/ReadonlyArray-8157f697.cjs.prod.js +0 -1721
  560. package/dist/ReadonlyRecord-605a625b.cjs.dev.js +0 -568
  561. package/dist/ReadonlyRecord-8db8bada.cjs.prod.js +0 -568
  562. package/dist/RedBlackTree-e6bd147c.cjs.dev.js +0 -1669
  563. package/dist/RedBlackTree-eb41ea8a.cjs.prod.js +0 -1669
  564. package/dist/Reloadable-0edff6c9.cjs.dev.js +0 -169
  565. package/dist/Reloadable-b8258af1.cjs.prod.js +0 -169
  566. package/dist/Request-a6ad9d9b.cjs.prod.js +0 -190
  567. package/dist/Request-e36e5b23.cjs.dev.js +0 -190
  568. package/dist/RequestBlock-2901e863.cjs.dev.js +0 -124
  569. package/dist/RequestBlock-67fcbe9d.cjs.prod.js +0 -124
  570. package/dist/RequestResolver-dd99257a.cjs.prod.js +0 -233
  571. package/dist/RequestResolver-f7c90ef8.cjs.dev.js +0 -233
  572. package/dist/Resource-6244a4a2.cjs.prod.js +0 -118
  573. package/dist/Resource-95a6d6d3.cjs.dev.js +0 -118
  574. package/dist/Runtime-a1902a53.cjs.dev.js +0 -191
  575. package/dist/Runtime-e35482c6.cjs.prod.js +0 -191
  576. package/dist/RuntimeFlags-1bd7be71.cjs.prod.js +0 -381
  577. package/dist/RuntimeFlags-33abd026.cjs.dev.js +0 -381
  578. package/dist/STM-18b06ffb.cjs.dev.js +0 -1447
  579. package/dist/STM-698be88d.cjs.prod.js +0 -1447
  580. package/dist/Schedule-2ab499ea.cjs.dev.js +0 -1159
  581. package/dist/Schedule-2ed66272.cjs.prod.js +0 -1159
  582. package/dist/ScheduleDecision-369f2d2b.cjs.prod.js +0 -106
  583. package/dist/ScheduleDecision-ba8d0e87.cjs.dev.js +0 -106
  584. package/dist/ScheduleInterval-51f42533.cjs.dev.js +0 -244
  585. package/dist/ScheduleInterval-78037484.cjs.prod.js +0 -244
  586. package/dist/ScheduleIntervals-b0bfcf3b.cjs.dev.js +0 -265
  587. package/dist/ScheduleIntervals-db13140c.cjs.prod.js +0 -265
  588. package/dist/Scheduler-23a6506c.cjs.dev.js +0 -358
  589. package/dist/Scheduler-f0877070.cjs.prod.js +0 -358
  590. package/dist/Scope-90083792.cjs.dev.js +0 -143
  591. package/dist/Scope-e35df038.cjs.prod.js +0 -143
  592. package/dist/ScopedCache-514f4e7c.cjs.prod.js +0 -467
  593. package/dist/ScopedCache-74a8fce5.cjs.dev.js +0 -467
  594. package/dist/ScopedRef-aab226df.cjs.prod.js +0 -87
  595. package/dist/ScopedRef-d3264ff1.cjs.dev.js +0 -87
  596. package/dist/Sink-9261d74a.cjs.dev.js +0 -1215
  597. package/dist/Sink-cff4b341.cjs.prod.js +0 -1215
  598. package/dist/SortedMap-bb3311c3.cjs.prod.js +0 -210
  599. package/dist/SortedMap-f452cc44.cjs.dev.js +0 -210
  600. package/dist/SortedSet-424670fe.cjs.prod.js +0 -311
  601. package/dist/SortedSet-f90b14a2.cjs.dev.js +0 -311
  602. package/dist/Stream-6d90b2ae.cjs.prod.js +0 -3469
  603. package/dist/Stream-93b679da.cjs.dev.js +0 -3469
  604. package/dist/StreamEmit-a10e1de5.cjs.prod.js +0 -7
  605. package/dist/StreamEmit-ec1da471.cjs.dev.js +0 -7
  606. package/dist/String-23b18ca9.cjs.prod.js +0 -694
  607. package/dist/String-830aaa3e.cjs.dev.js +0 -694
  608. package/dist/Struct-14648d76.cjs.dev.js +0 -141
  609. package/dist/Struct-c6b00f29.cjs.prod.js +0 -141
  610. package/dist/SubscriptionRef-751fcfe1.cjs.dev.js +0 -269
  611. package/dist/SubscriptionRef-e03f691a.cjs.prod.js +0 -269
  612. package/dist/Supervisor-1b659cf4.cjs.prod.js +0 -170
  613. package/dist/Supervisor-edbd5163.cjs.dev.js +0 -170
  614. package/dist/Symbol-55d0b3d8.cjs.prod.js +0 -40
  615. package/dist/Symbol-5d74a5f2.cjs.dev.js +0 -40
  616. package/dist/SynchronizedRef-55ff7bb2.cjs.prod.js +0 -212
  617. package/dist/SynchronizedRef-61c3bd6d.cjs.dev.js +0 -212
  618. package/dist/TArray-b0c09907.cjs.dev.js +0 -455
  619. package/dist/TArray-cded8951.cjs.prod.js +0 -455
  620. package/dist/TDeferred-030586e1.cjs.dev.js +0 -129
  621. package/dist/TDeferred-f62d1da6.cjs.prod.js +0 -129
  622. package/dist/THub-0321bde2.cjs.dev.js +0 -570
  623. package/dist/THub-634ffcd8.cjs.prod.js +0 -570
  624. package/dist/TMap-67a5ea40.cjs.dev.js +0 -463
  625. package/dist/TMap-8c5c3d9b.cjs.prod.js +0 -463
  626. package/dist/TPriorityQueue-4af362f4.cjs.dev.js +0 -381
  627. package/dist/TPriorityQueue-ec4cfbba.cjs.prod.js +0 -381
  628. package/dist/TQueue-52584284.cjs.dev.js +0 -353
  629. package/dist/TQueue-85f6bcbb.cjs.prod.js +0 -353
  630. package/dist/TRandom-265453cb.cjs.dev.js +0 -203
  631. package/dist/TRandom-d9e010c9.cjs.prod.js +0 -203
  632. package/dist/TReentrantLock-6a3d4156.cjs.dev.js +0 -456
  633. package/dist/TReentrantLock-86796969.cjs.prod.js +0 -456
  634. package/dist/TRef-7eb2bee7.cjs.prod.js +0 -152
  635. package/dist/TRef-c862b660.cjs.dev.js +0 -152
  636. package/dist/TSemaphore-9b7d229c.cjs.prod.js +0 -197
  637. package/dist/TSemaphore-c82fb2cd.cjs.dev.js +0 -197
  638. package/dist/TSet-7324f8a5.cjs.prod.js +0 -444
  639. package/dist/TSet-b13e57f6.cjs.dev.js +0 -444
  640. package/dist/Take-27322346.cjs.dev.js +0 -236
  641. package/dist/Take-f7fb5f03.cjs.prod.js +0 -236
  642. package/dist/TestAnnotation-73be7a68.cjs.dev.js +0 -135
  643. package/dist/TestAnnotation-b9b93d03.cjs.prod.js +0 -135
  644. package/dist/TestAnnotationMap-80c87410.cjs.dev.js +0 -125
  645. package/dist/TestAnnotationMap-e946bab5.cjs.prod.js +0 -125
  646. package/dist/TestAnnotations-10747778.cjs.prod.js +0 -97
  647. package/dist/TestAnnotations-f13982a3.cjs.dev.js +0 -97
  648. package/dist/TestClock-ca77e8d2.cjs.dev.js +0 -581
  649. package/dist/TestClock-d144bba1.cjs.prod.js +0 -581
  650. package/dist/TestConfig-1a73e844.cjs.prod.js +0 -37
  651. package/dist/TestConfig-e5ffa946.cjs.dev.js +0 -37
  652. package/dist/TestContext-955af22b.cjs.prod.js +0 -41
  653. package/dist/TestContext-dd910687.cjs.dev.js +0 -41
  654. package/dist/TestLive-93f78882.cjs.dev.js +0 -60
  655. package/dist/TestLive-ea9968d7.cjs.prod.js +0 -60
  656. package/dist/TestServices-64a29e2a.cjs.prod.js +0 -341
  657. package/dist/TestServices-f88bbc6c.cjs.dev.js +0 -341
  658. package/dist/TestSized-16e67d53.cjs.prod.js +0 -64
  659. package/dist/TestSized-d0b7100b.cjs.dev.js +0 -64
  660. package/dist/Tracer-64cf6419.cjs.prod.js +0 -81
  661. package/dist/Tracer-81751f09.cjs.dev.js +0 -81
  662. package/dist/Tuple-27ecf3a1.cjs.prod.js +0 -199
  663. package/dist/Tuple-75d2a389.cjs.dev.js +0 -199
  664. package/dist/Types-1280d3aa.cjs.dev.js +0 -7
  665. package/dist/Types-3a58df45.cjs.prod.js +0 -7
  666. package/dist/Unify-99be0499.cjs.dev.js +0 -48
  667. package/dist/Unify-e86fd412.cjs.prod.js +0 -48
  668. package/dist/Utils-864e1d48.cjs.prod.js +0 -370
  669. package/dist/Utils-b0c14d1b.cjs.dev.js +0 -370
@@ -2,160 +2,1592 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../dist/Either-3fab3796.cjs.prod.js');
6
- require('../../dist/Equal-ce9977a8.cjs.prod.js');
7
- require('../../dist/Equivalence-0bc84518.cjs.prod.js');
8
- require('../../dist/Function-2e6b0cda.cjs.prod.js');
9
- require('../../dist/ReadonlyArray-f9ed7a05.cjs.prod.js');
10
- require('../../dist/Option-02025c86.cjs.prod.js');
11
- require('../../dist/Order-8a112bfb.cjs.prod.js');
12
- require('../../dist/ReadonlyRecord-8db8bada.cjs.prod.js');
13
- var ReadonlyArray_dist_effectReadonlyArray = require('../../dist/ReadonlyArray-8157f697.cjs.prod.js');
14
- require('../../dist/Either-d03d5f05.cjs.prod.js');
15
- require('../../dist/Hash-1bd73210.cjs.prod.js');
16
- require('../../dist/GlobalValue-cb645c99.cjs.prod.js');
17
- require('../../dist/Utils-864e1d48.cjs.prod.js');
18
- require('../../dist/Predicate-daa86e61.cjs.prod.js');
19
- require('../../dist/Inspectable-3c4a0f5d.cjs.prod.js');
20
- require('../../dist/Effectable-f867d1cb.cjs.prod.js');
21
- require('../../dist/Data-07dc27f1.cjs.prod.js');
22
- require('../../dist/Pipeable-d3ec6711.cjs.prod.js');
23
- require('../../dist/Number-cb2ba2e8.cjs.prod.js');
24
-
25
-
26
-
27
- exports.append = ReadonlyArray_dist_effectReadonlyArray.append;
28
- exports.appendAll = ReadonlyArray_dist_effectReadonlyArray.appendAll;
29
- exports.appendAllNonEmpty = ReadonlyArray_dist_effectReadonlyArray.appendAllNonEmpty;
30
- exports.cartesian = ReadonlyArray_dist_effectReadonlyArray.cartesian;
31
- exports.cartesianWith = ReadonlyArray_dist_effectReadonlyArray.cartesianWith;
32
- exports.chop = ReadonlyArray_dist_effectReadonlyArray.chop;
33
- exports.chopNonEmpty = ReadonlyArray_dist_effectReadonlyArray.chopNonEmpty;
34
- exports.chunksOf = ReadonlyArray_dist_effectReadonlyArray.chunksOf;
35
- exports.chunksOfNonEmpty = ReadonlyArray_dist_effectReadonlyArray.chunksOfNonEmpty;
36
- exports.compact = ReadonlyArray_dist_effectReadonlyArray.compact;
37
- exports.contains = ReadonlyArray_dist_effectReadonlyArray.contains;
38
- exports.containsWith = ReadonlyArray_dist_effectReadonlyArray.containsWith;
39
- exports.copy = ReadonlyArray_dist_effectReadonlyArray.copy;
40
- exports.dedupe = ReadonlyArray_dist_effectReadonlyArray.dedupe;
41
- exports.dedupeAdjacent = ReadonlyArray_dist_effectReadonlyArray.dedupeAdjacent;
42
- exports.dedupeAdjacentWith = ReadonlyArray_dist_effectReadonlyArray.dedupeAdjacentWith;
43
- exports.dedupeNonEmpty = ReadonlyArray_dist_effectReadonlyArray.dedupeNonEmpty;
44
- exports.dedupeNonEmptyWith = ReadonlyArray_dist_effectReadonlyArray.dedupeNonEmptyWith;
45
- exports.dedupeWith = ReadonlyArray_dist_effectReadonlyArray.dedupeWith;
46
- exports.difference = ReadonlyArray_dist_effectReadonlyArray.difference;
47
- exports.differenceWith = ReadonlyArray_dist_effectReadonlyArray.differenceWith;
48
- exports.drop = ReadonlyArray_dist_effectReadonlyArray.drop;
49
- exports.dropRight = ReadonlyArray_dist_effectReadonlyArray.dropRight;
50
- exports.dropWhile = ReadonlyArray_dist_effectReadonlyArray.dropWhile;
51
- exports.empty = ReadonlyArray_dist_effectReadonlyArray.empty;
52
- exports.every = ReadonlyArray_dist_effectReadonlyArray.every;
53
- exports.extend = ReadonlyArray_dist_effectReadonlyArray.extend;
54
- exports.filter = ReadonlyArray_dist_effectReadonlyArray.filter;
55
- exports.filterMap = ReadonlyArray_dist_effectReadonlyArray.filterMap;
56
- exports.filterMapWhile = ReadonlyArray_dist_effectReadonlyArray.filterMapWhile;
57
- exports.findFirst = ReadonlyArray_dist_effectReadonlyArray.findFirst;
58
- exports.findFirstIndex = ReadonlyArray_dist_effectReadonlyArray.findFirstIndex;
59
- exports.findLast = ReadonlyArray_dist_effectReadonlyArray.findLast;
60
- exports.findLastIndex = ReadonlyArray_dist_effectReadonlyArray.findLastIndex;
61
- exports.flatMap = ReadonlyArray_dist_effectReadonlyArray.flatMap;
62
- exports.flatMapNonEmpty = ReadonlyArray_dist_effectReadonlyArray.flatMapNonEmpty;
63
- exports.flatMapNullable = ReadonlyArray_dist_effectReadonlyArray.flatMapNullable;
64
- exports.flatten = ReadonlyArray_dist_effectReadonlyArray.flatten;
65
- exports.flattenNonEmpty = ReadonlyArray_dist_effectReadonlyArray.flattenNonEmpty;
66
- exports.forEach = ReadonlyArray_dist_effectReadonlyArray.forEach;
67
- exports.fromIterable = ReadonlyArray_dist_effectReadonlyArray.fromIterable;
68
- exports.fromNullable = ReadonlyArray_dist_effectReadonlyArray.fromNullable;
69
- exports.fromOption = ReadonlyArray_dist_effectReadonlyArray.fromOption;
70
- exports.fromRecord = ReadonlyArray_dist_effectReadonlyArray.fromRecord;
71
- exports.get = ReadonlyArray_dist_effectReadonlyArray.get;
72
- exports.getEquivalence = ReadonlyArray_dist_effectReadonlyArray.getEquivalence;
73
- exports.getOrder = ReadonlyArray_dist_effectReadonlyArray.getOrder;
74
- exports.group = ReadonlyArray_dist_effectReadonlyArray.group;
75
- exports.groupBy = ReadonlyArray_dist_effectReadonlyArray.groupBy;
76
- exports.groupWith = ReadonlyArray_dist_effectReadonlyArray.groupWith;
77
- exports.head = ReadonlyArray_dist_effectReadonlyArray.head;
78
- exports.headNonEmpty = ReadonlyArray_dist_effectReadonlyArray.headNonEmpty;
79
- exports.init = ReadonlyArray_dist_effectReadonlyArray.init;
80
- exports.initNonEmpty = ReadonlyArray_dist_effectReadonlyArray.initNonEmpty;
81
- exports.insertAt = ReadonlyArray_dist_effectReadonlyArray.insertAt;
82
- exports.intersection = ReadonlyArray_dist_effectReadonlyArray.intersection;
83
- exports.intersectionWith = ReadonlyArray_dist_effectReadonlyArray.intersectionWith;
84
- exports.intersperse = ReadonlyArray_dist_effectReadonlyArray.intersperse;
85
- exports.intersperseNonEmpty = ReadonlyArray_dist_effectReadonlyArray.intersperseNonEmpty;
86
- exports.isEmptyArray = ReadonlyArray_dist_effectReadonlyArray.isEmptyArray;
87
- exports.isEmptyReadonlyArray = ReadonlyArray_dist_effectReadonlyArray.isEmptyReadonlyArray;
88
- exports.isNonEmptyArray = ReadonlyArray_dist_effectReadonlyArray.isNonEmptyArray;
89
- exports.isNonEmptyReadonlyArray = ReadonlyArray_dist_effectReadonlyArray.isNonEmptyReadonlyArray;
90
- exports.join = ReadonlyArray_dist_effectReadonlyArray.join;
91
- exports.last = ReadonlyArray_dist_effectReadonlyArray.last;
92
- exports.lastNonEmpty = ReadonlyArray_dist_effectReadonlyArray.lastNonEmpty;
93
- exports.length = ReadonlyArray_dist_effectReadonlyArray.length;
94
- exports.liftEither = ReadonlyArray_dist_effectReadonlyArray.liftEither;
95
- exports.liftNullable = ReadonlyArray_dist_effectReadonlyArray.liftNullable;
96
- exports.liftOption = ReadonlyArray_dist_effectReadonlyArray.liftOption;
97
- exports.liftPredicate = ReadonlyArray_dist_effectReadonlyArray.liftPredicate;
98
- exports.make = ReadonlyArray_dist_effectReadonlyArray.make;
99
- exports.makeBy = ReadonlyArray_dist_effectReadonlyArray.makeBy;
100
- exports.map = ReadonlyArray_dist_effectReadonlyArray.map;
101
- exports.mapAccum = ReadonlyArray_dist_effectReadonlyArray.mapAccum;
102
- exports.mapNonEmpty = ReadonlyArray_dist_effectReadonlyArray.mapNonEmpty;
103
- exports.match = ReadonlyArray_dist_effectReadonlyArray.match;
104
- exports.matchLeft = ReadonlyArray_dist_effectReadonlyArray.matchLeft;
105
- exports.matchRight = ReadonlyArray_dist_effectReadonlyArray.matchRight;
106
- exports.max = ReadonlyArray_dist_effectReadonlyArray.max;
107
- exports.min = ReadonlyArray_dist_effectReadonlyArray.min;
108
- exports.modify = ReadonlyArray_dist_effectReadonlyArray.modify;
109
- exports.modifyNonEmptyHead = ReadonlyArray_dist_effectReadonlyArray.modifyNonEmptyHead;
110
- exports.modifyNonEmptyLast = ReadonlyArray_dist_effectReadonlyArray.modifyNonEmptyLast;
111
- exports.modifyOption = ReadonlyArray_dist_effectReadonlyArray.modifyOption;
112
- exports.of = ReadonlyArray_dist_effectReadonlyArray.of;
113
- exports.partition = ReadonlyArray_dist_effectReadonlyArray.partition;
114
- exports.partitionMap = ReadonlyArray_dist_effectReadonlyArray.partitionMap;
115
- exports.prepend = ReadonlyArray_dist_effectReadonlyArray.prepend;
116
- exports.prependAll = ReadonlyArray_dist_effectReadonlyArray.prependAll;
117
- exports.prependAllNonEmpty = ReadonlyArray_dist_effectReadonlyArray.prependAllNonEmpty;
118
- exports.range = ReadonlyArray_dist_effectReadonlyArray.range;
119
- exports.reduce = ReadonlyArray_dist_effectReadonlyArray.reduce;
120
- exports.reduceRight = ReadonlyArray_dist_effectReadonlyArray.reduceRight;
121
- exports.remove = ReadonlyArray_dist_effectReadonlyArray.remove;
122
- exports.replace = ReadonlyArray_dist_effectReadonlyArray.replace;
123
- exports.replaceOption = ReadonlyArray_dist_effectReadonlyArray.replaceOption;
124
- exports.replicate = ReadonlyArray_dist_effectReadonlyArray.replicate;
125
- exports.reverse = ReadonlyArray_dist_effectReadonlyArray.reverse;
126
- exports.reverseNonEmpty = ReadonlyArray_dist_effectReadonlyArray.reverseNonEmpty;
127
- exports.rotate = ReadonlyArray_dist_effectReadonlyArray.rotate;
128
- exports.rotateNonEmpty = ReadonlyArray_dist_effectReadonlyArray.rotateNonEmpty;
129
- exports.scan = ReadonlyArray_dist_effectReadonlyArray.scan;
130
- exports.scanRight = ReadonlyArray_dist_effectReadonlyArray.scanRight;
131
- exports.separate = ReadonlyArray_dist_effectReadonlyArray.separate;
132
- exports.setNonEmptyHead = ReadonlyArray_dist_effectReadonlyArray.setNonEmptyHead;
133
- exports.setNonEmptyLast = ReadonlyArray_dist_effectReadonlyArray.setNonEmptyLast;
134
- exports.some = ReadonlyArray_dist_effectReadonlyArray.some;
135
- exports.sort = ReadonlyArray_dist_effectReadonlyArray.sort;
136
- exports.sortBy = ReadonlyArray_dist_effectReadonlyArray.sortBy;
137
- exports.sortByNonEmpty = ReadonlyArray_dist_effectReadonlyArray.sortByNonEmpty;
138
- exports.sortNonEmpty = ReadonlyArray_dist_effectReadonlyArray.sortNonEmpty;
139
- exports.sortWith = ReadonlyArray_dist_effectReadonlyArray.sortWith;
140
- exports.span = ReadonlyArray_dist_effectReadonlyArray.span;
141
- exports.splitAt = ReadonlyArray_dist_effectReadonlyArray.splitAt;
142
- exports.splitNonEmptyAt = ReadonlyArray_dist_effectReadonlyArray.splitNonEmptyAt;
143
- exports.tail = ReadonlyArray_dist_effectReadonlyArray.tail;
144
- exports.tailNonEmpty = ReadonlyArray_dist_effectReadonlyArray.tailNonEmpty;
145
- exports.take = ReadonlyArray_dist_effectReadonlyArray.take;
146
- exports.takeRight = ReadonlyArray_dist_effectReadonlyArray.takeRight;
147
- exports.takeWhile = ReadonlyArray_dist_effectReadonlyArray.takeWhile;
148
- exports.unappend = ReadonlyArray_dist_effectReadonlyArray.unappend;
149
- exports.unfold = ReadonlyArray_dist_effectReadonlyArray.unfold;
150
- exports.union = ReadonlyArray_dist_effectReadonlyArray.union;
151
- exports.unionNonEmpty = ReadonlyArray_dist_effectReadonlyArray.unionNonEmpty;
152
- exports.unionNonEmptyWith = ReadonlyArray_dist_effectReadonlyArray.unionNonEmptyWith;
153
- exports.unionWith = ReadonlyArray_dist_effectReadonlyArray.unionWith;
154
- exports.unprepend = ReadonlyArray_dist_effectReadonlyArray.unprepend;
155
- exports.unsafeGet = ReadonlyArray_dist_effectReadonlyArray.unsafeGet;
156
- exports.unzip = ReadonlyArray_dist_effectReadonlyArray.unzip;
157
- exports.unzipNonEmpty = ReadonlyArray_dist_effectReadonlyArray.unzipNonEmpty;
158
- exports.zip = ReadonlyArray_dist_effectReadonlyArray.zip;
159
- exports.zipNonEmpty = ReadonlyArray_dist_effectReadonlyArray.zipNonEmpty;
160
- exports.zipNonEmptyWith = ReadonlyArray_dist_effectReadonlyArray.zipNonEmptyWith;
161
- exports.zipWith = ReadonlyArray_dist_effectReadonlyArray.zipWith;
5
+ var Either_dist_effectEither = require('../../Either/dist/effect-Either.cjs.prod.js');
6
+ var Equal_dist_effectEqual = require('../../Equal/dist/effect-Equal.cjs.prod.js');
7
+ var Equivalence_dist_effectEquivalence = require('../../Equivalence/dist/effect-Equivalence.cjs.prod.js');
8
+ var Function_dist_effectFunction = require('../../Function/dist/effect-Function.cjs.prod.js');
9
+ var ReadonlyArray = require('../../dist/ReadonlyArray-f9ed7a05.cjs.prod.js');
10
+ var Option_dist_effectOption = require('../../Option/dist/effect-Option.cjs.prod.js');
11
+ var Order_dist_effectOrder = require('../../Order/dist/effect-Order.cjs.prod.js');
12
+ var ReadonlyRecord_dist_effectReadonlyRecord = require('../../ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.prod.js');
13
+ require('../../dist/Either-7a881c7a.cjs.prod.js');
14
+ require('../../Hash/dist/effect-Hash.cjs.prod.js');
15
+ require('../../GlobalValue/dist/effect-GlobalValue.cjs.prod.js');
16
+ require('../../Utils/dist/effect-Utils.cjs.prod.js');
17
+ require('../../Predicate/dist/effect-Predicate.cjs.prod.js');
18
+ require('../../Inspectable/dist/effect-Inspectable.cjs.prod.js');
19
+ require('../../dist/Effectable-cd8f3a96.cjs.prod.js');
20
+ require('../../Data/dist/effect-Data.cjs.prod.js');
21
+ require('../../Pipeable/dist/effect-Pipeable.cjs.prod.js');
22
+ require('../../Number/dist/effect-Number.cjs.prod.js');
23
+
24
+ /**
25
+ * This module provides utility functions for working with arrays in TypeScript.
26
+ *
27
+ * @since 2.0.0
28
+ */
29
+
30
+ /**
31
+ * @category type lambdas
32
+ * @since 2.0.0
33
+ */
34
+
35
+ /**
36
+ * @category models
37
+ * @since 2.0.0
38
+ */
39
+
40
+ /**
41
+ * @category models
42
+ * @since 2.0.0
43
+ */
44
+
45
+ /**
46
+ * Builds a `NonEmptyArray` from an non-empty collection of elements.
47
+ *
48
+ * @category constructors
49
+ * @since 2.0.0
50
+ */
51
+ const make = (...elements) => elements;
52
+
53
+ /**
54
+ * Return a `NonEmptyArray` of length `n` with element `i` initialized with `f(i)`.
55
+ *
56
+ * **Note**. `n` is normalized to an integer >= 1.
57
+ *
58
+ * @example
59
+ * import { makeBy } from 'effect/ReadonlyArray'
60
+ *
61
+ * assert.deepStrictEqual(makeBy(5, n => n * 2), [0, 2, 4, 6, 8])
62
+ *
63
+ * @category constructors
64
+ * @since 2.0.0
65
+ */
66
+ const makeBy = (n, f) => {
67
+ const max = Math.max(1, Math.floor(n));
68
+ const out = [f(0)];
69
+ for (let i = 1; i < max; i++) {
70
+ out.push(f(i));
71
+ }
72
+ return out;
73
+ };
74
+
75
+ /**
76
+ * Return a `NonEmptyArray` containing a range of integers, including both endpoints.
77
+ *
78
+ * @example
79
+ * import { range } from 'effect/ReadonlyArray'
80
+ *
81
+ * assert.deepStrictEqual(range(1, 3), [1, 2, 3])
82
+ *
83
+ * @category constructors
84
+ * @since 2.0.0
85
+ */
86
+ const range = (start, end) => start <= end ? makeBy(end - start + 1, i => start + i) : [start];
87
+
88
+ /**
89
+ * Return a `NonEmptyArray` containing a value repeated the specified number of times.
90
+ *
91
+ * **Note**. `n` is normalized to an integer >= 1.
92
+ *
93
+ * @example
94
+ * import { replicate } from 'effect/ReadonlyArray'
95
+ *
96
+ * assert.deepStrictEqual(replicate("a", 3), ["a", "a", "a"])
97
+ *
98
+ * @category constructors
99
+ * @since 2.0.0
100
+ */
101
+ const replicate = /*#__PURE__*/Function_dist_effectFunction.dual(2, (a, n) => makeBy(n, () => a));
102
+
103
+ /**
104
+ * @category conversions
105
+ * @since 2.0.0
106
+ */
107
+ const fromIterable = collection => Array.isArray(collection) ? collection : Array.from(collection);
108
+
109
+ /**
110
+ * Takes a record and returns an array of tuples containing its keys and values.
111
+ *
112
+ * @param self - The record to transform.
113
+ *
114
+ * @example
115
+ * import { fromRecord } from "effect/ReadonlyArray"
116
+ *
117
+ * const x = { a: 1, b: 2, c: 3 }
118
+ * assert.deepStrictEqual(fromRecord(x), [["a", 1], ["b", 2], ["c", 3]])
119
+ *
120
+ * @category conversions
121
+ * @since 2.0.0
122
+ */
123
+ const fromRecord = ReadonlyRecord_dist_effectReadonlyRecord.toEntries;
124
+
125
+ /**
126
+ * @category conversions
127
+ * @since 2.0.0
128
+ */
129
+ const fromOption = Option_dist_effectOption.toArray;
130
+
131
+ /**
132
+ * @category pattern matching
133
+ * @since 2.0.0
134
+ */
135
+ const match = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, {
136
+ onEmpty,
137
+ onNonEmpty
138
+ }) => isNonEmptyReadonlyArray(self) ? onNonEmpty(self) : onEmpty());
139
+
140
+ /**
141
+ * @category pattern matching
142
+ * @since 2.0.0
143
+ */
144
+ const matchLeft = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, {
145
+ onEmpty,
146
+ onNonEmpty
147
+ }) => isNonEmptyReadonlyArray(self) ? onNonEmpty(headNonEmpty(self), tailNonEmpty(self)) : onEmpty());
148
+
149
+ /**
150
+ * @category pattern matching
151
+ * @since 2.0.0
152
+ */
153
+ const matchRight = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, {
154
+ onEmpty,
155
+ onNonEmpty
156
+ }) => isNonEmptyReadonlyArray(self) ? onNonEmpty(initNonEmpty(self), lastNonEmpty(self)) : onEmpty());
157
+
158
+ /**
159
+ * Prepend an element to the front of an `Iterable`, creating a new `NonEmptyArray`.
160
+ *
161
+ * @category concatenating
162
+ * @since 2.0.0
163
+ */
164
+ const prepend = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, head) => [head, ...self]);
165
+
166
+ /**
167
+ * @category concatenating
168
+ * @since 2.0.0
169
+ */
170
+ const prependAll = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => fromIterable(that).concat(fromIterable(self)));
171
+
172
+ /**
173
+ * @category concatenating
174
+ * @since 2.0.0
175
+ */
176
+ const prependAllNonEmpty = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => prependAll(self, that));
177
+
178
+ /**
179
+ * Append an element to the end of an `Iterable`, creating a new `NonEmptyArray`.
180
+ *
181
+ * @category concatenating
182
+ * @since 2.0.0
183
+ */
184
+ const append = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, last) => [...self, last]);
185
+
186
+ /**
187
+ * @category concatenating
188
+ * @since 2.0.0
189
+ */
190
+ const appendAll = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => fromIterable(self).concat(fromIterable(that)));
191
+
192
+ /**
193
+ * @category concatenating
194
+ * @since 2.0.0
195
+ */
196
+ const appendAllNonEmpty = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => appendAll(self, that));
197
+
198
+ /**
199
+ * Reduce an `Iterable` from the left, keeping all intermediate results instead of only the final result.
200
+ *
201
+ * @category folding
202
+ * @since 2.0.0
203
+ */
204
+ const scan = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, b, f) => {
205
+ const out = [b];
206
+ let i = 0;
207
+ for (const a of self) {
208
+ out[i + 1] = f(out[i], a);
209
+ i++;
210
+ }
211
+ return out;
212
+ });
213
+
214
+ /**
215
+ * Reduce an `Iterable` from the right, keeping all intermediate results instead of only the final result.
216
+ *
217
+ * @category folding
218
+ * @since 2.0.0
219
+ */
220
+ const scanRight = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, b, f) => {
221
+ const input = fromIterable(self);
222
+ const out = new Array(input.length + 1);
223
+ out[input.length] = b;
224
+ for (let i = input.length - 1; i >= 0; i--) {
225
+ out[i] = f(out[i + 1], input[i]);
226
+ }
227
+ return out;
228
+ });
229
+
230
+ /**
231
+ * Determine if an `Array` is empty narrowing down the type to `[]`.
232
+ *
233
+ * @param self - The `Array` to check.
234
+ *
235
+ * @example
236
+ * import { isEmptyArray } from "effect/ReadonlyArray"
237
+ *
238
+ * assert.deepStrictEqual(isEmptyArray([]), true);
239
+ * assert.deepStrictEqual(isEmptyArray([1, 2, 3]), false);
240
+ *
241
+ * @category guards
242
+ * @since 2.0.0
243
+ */
244
+ const isEmptyArray = self => self.length === 0;
245
+
246
+ /**
247
+ * Determine if a `ReadonlyArray` is empty narrowing down the type to `readonly []`.
248
+ *
249
+ * @param self - The `ReadonlyArray` to check.
250
+ *
251
+ * @example
252
+ * import { isEmptyReadonlyArray } from "effect/ReadonlyArray"
253
+ *
254
+ * assert.deepStrictEqual(isEmptyReadonlyArray([]), true);
255
+ * assert.deepStrictEqual(isEmptyReadonlyArray([1, 2, 3]), false);
256
+ *
257
+ * @category guards
258
+ * @since 2.0.0
259
+ */
260
+ const isEmptyReadonlyArray = isEmptyArray;
261
+
262
+ /**
263
+ * Determine if an `Array` is non empty narrowing down the type to `NonEmptyArray`.
264
+ *
265
+ * An `Array` is considered to be a `NonEmptyArray` if it contains at least one element.
266
+ *
267
+ * @param self - The `Array` to check.
268
+ *
269
+ * @example
270
+ * import { isNonEmptyArray } from "effect/ReadonlyArray"
271
+ *
272
+ * assert.deepStrictEqual(isNonEmptyArray([]), false);
273
+ * assert.deepStrictEqual(isNonEmptyArray([1, 2, 3]), true);
274
+ *
275
+ * @category guards
276
+ * @since 2.0.0
277
+ */
278
+ const isNonEmptyArray = ReadonlyArray.isNonEmptyArray;
279
+
280
+ /**
281
+ * Determine if a `ReadonlyArray` is non empty narrowing down the type to `NonEmptyReadonlyArray`.
282
+ *
283
+ * A `ReadonlyArray` is considered to be a `NonEmptyReadonlyArray` if it contains at least one element.
284
+ *
285
+ * @param self - The `ReadonlyArray` to check.
286
+ *
287
+ * @example
288
+ * import { isNonEmptyReadonlyArray } from "effect/ReadonlyArray"
289
+ *
290
+ * assert.deepStrictEqual(isNonEmptyReadonlyArray([]), false);
291
+ * assert.deepStrictEqual(isNonEmptyReadonlyArray([1, 2, 3]), true);
292
+ *
293
+ * @category guards
294
+ * @since 2.0.0
295
+ */
296
+ const isNonEmptyReadonlyArray = ReadonlyArray.isNonEmptyArray;
297
+
298
+ /**
299
+ * Return the number of elements in a `ReadonlyArray`.
300
+ *
301
+ * @category getters
302
+ * @since 2.0.0
303
+ */
304
+ const length = self => self.length;
305
+ const isOutOfBound = (i, as) => i < 0 || i >= as.length;
306
+ const clamp = (i, as) => Math.floor(Math.min(Math.max(0, i), as.length));
307
+
308
+ /**
309
+ * This function provides a safe way to read a value at a particular index from a `ReadonlyArray`.
310
+ *
311
+ * @category getters
312
+ * @since 2.0.0
313
+ */
314
+ const get = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, index) => {
315
+ const i = Math.floor(index);
316
+ return isOutOfBound(i, self) ? Option_dist_effectOption.none() : Option_dist_effectOption.some(self[i]);
317
+ });
318
+
319
+ /**
320
+ * Gets an element unsafely, will throw on out of bounds.
321
+ *
322
+ * @since 2.0.0
323
+ * @category unsafe
324
+ */
325
+ const unsafeGet = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, index) => {
326
+ const i = Math.floor(index);
327
+ if (isOutOfBound(i, self)) {
328
+ throw new Error(`Index ${i} out of bounds`);
329
+ }
330
+ return self[i];
331
+ });
332
+
333
+ /**
334
+ * Return a tuple containing the first element, and a new `Array` of the remaining elements, if any.
335
+ *
336
+ * @category getters
337
+ * @since 2.0.0
338
+ */
339
+ const unprepend = self => [headNonEmpty(self), tailNonEmpty(self)];
340
+
341
+ /**
342
+ * Return a tuple containing a copy of the `NonEmptyReadonlyArray` without its last element, and that last element.
343
+ *
344
+ * @category getters
345
+ * @since 2.0.0
346
+ */
347
+ const unappend = self => [initNonEmpty(self), lastNonEmpty(self)];
348
+
349
+ /**
350
+ * Get the first element of a `ReadonlyArray`, or `None` if the `ReadonlyArray` is empty.
351
+ *
352
+ * @category getters
353
+ * @since 2.0.0
354
+ */
355
+ const head = /*#__PURE__*/get(0);
356
+
357
+ /**
358
+ * @category getters
359
+ * @since 2.0.0
360
+ */
361
+ const headNonEmpty = /*#__PURE__*/unsafeGet(0);
362
+
363
+ /**
364
+ * Get the last element in a `ReadonlyArray`, or `None` if the `ReadonlyArray` is empty.
365
+ *
366
+ * @category getters
367
+ * @since 2.0.0
368
+ */
369
+ const last = self => isNonEmptyReadonlyArray(self) ? Option_dist_effectOption.some(lastNonEmpty(self)) : Option_dist_effectOption.none();
370
+
371
+ /**
372
+ * @category getters
373
+ * @since 2.0.0
374
+ */
375
+ const lastNonEmpty = self => self[self.length - 1];
376
+
377
+ /**
378
+ * Get all but the first element of an `Iterable`, creating a new `Array`, or `None` if the `Iterable` is empty.
379
+ *
380
+ * @category getters
381
+ * @since 2.0.0
382
+ */
383
+ const tail = self => {
384
+ const input = fromIterable(self);
385
+ return isNonEmptyReadonlyArray(input) ? Option_dist_effectOption.some(tailNonEmpty(input)) : Option_dist_effectOption.none();
386
+ };
387
+
388
+ /**
389
+ * @category getters
390
+ * @since 2.0.0
391
+ */
392
+ const tailNonEmpty = self => self.slice(1);
393
+
394
+ /**
395
+ * Get all but the last element of an `Iterable`, creating a new `Array`, or `None` if the `Iterable` is empty.
396
+ *
397
+ * @category getters
398
+ * @since 2.0.0
399
+ */
400
+ const init = self => {
401
+ const input = fromIterable(self);
402
+ return isNonEmptyReadonlyArray(input) ? Option_dist_effectOption.some(initNonEmpty(input)) : Option_dist_effectOption.none();
403
+ };
404
+
405
+ /**
406
+ * Get all but the last element of a non empty array, creating a new array.
407
+ *
408
+ * @category getters
409
+ * @since 2.0.0
410
+ */
411
+ const initNonEmpty = self => self.slice(0, -1);
412
+
413
+ /**
414
+ * Keep only a max number of elements from the start of an `Iterable`, creating a new `Array`.
415
+ *
416
+ * **Note**. `n` is normalized to a non negative integer.
417
+ *
418
+ * @category getters
419
+ * @since 2.0.0
420
+ */
421
+ const take = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, n) => {
422
+ const input = fromIterable(self);
423
+ return input.slice(0, clamp(n, input));
424
+ });
425
+
426
+ /**
427
+ * Keep only a max number of elements from the end of an `Iterable`, creating a new `Array`.
428
+ *
429
+ * **Note**. `n` is normalized to a non negative integer.
430
+ *
431
+ * @category getters
432
+ * @since 2.0.0
433
+ */
434
+ const takeRight = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, n) => {
435
+ const input = fromIterable(self);
436
+ const i = clamp(n, input);
437
+ return i === 0 ? [] : input.slice(-i);
438
+ });
439
+
440
+ /**
441
+ * Calculate the longest initial subarray for which all element satisfy the specified predicate, creating a new `Array`.
442
+ *
443
+ * @category getters
444
+ * @since 2.0.0
445
+ */
446
+ const takeWhile = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
447
+ const out = [];
448
+ for (const a of self) {
449
+ if (!predicate(a)) {
450
+ break;
451
+ }
452
+ out.push(a);
453
+ }
454
+ return out;
455
+ });
456
+ const spanIndex = (self, predicate) => {
457
+ let i = 0;
458
+ for (const a of self) {
459
+ if (!predicate(a)) {
460
+ break;
461
+ }
462
+ i++;
463
+ }
464
+ return i;
465
+ };
466
+
467
+ /**
468
+ * Split an `Iterable` into two parts:
469
+ *
470
+ * 1. the longest initial subarray for which all elements satisfy the specified predicate
471
+ * 2. the remaining elements
472
+ *
473
+ * @category filtering
474
+ * @since 2.0.0
475
+ */
476
+ const span = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => splitAt(self, spanIndex(self, predicate)));
477
+
478
+ /**
479
+ * Drop a max number of elements from the start of an `Iterable`, creating a new `Array`.
480
+ *
481
+ * **Note**. `n` is normalized to a non negative integer.
482
+ *
483
+ * @category getters
484
+ * @since 2.0.0
485
+ */
486
+ const drop = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, n) => {
487
+ const input = fromIterable(self);
488
+ return input.slice(clamp(n, input), input.length);
489
+ });
490
+
491
+ /**
492
+ * Drop a max number of elements from the end of an `Iterable`, creating a new `Array`.
493
+ *
494
+ * **Note**. `n` is normalized to a non negative integer.
495
+ *
496
+ * @category getters
497
+ * @since 2.0.0
498
+ */
499
+ const dropRight = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, n) => {
500
+ const input = fromIterable(self);
501
+ return input.slice(0, input.length - clamp(n, input));
502
+ });
503
+
504
+ /**
505
+ * Remove the longest initial subarray for which all element satisfy the specified predicate, creating a new `Array`.
506
+ *
507
+ * @category getters
508
+ * @since 2.0.0
509
+ */
510
+ const dropWhile = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => fromIterable(self).slice(spanIndex(self, predicate)));
511
+
512
+ /**
513
+ * Return the first index for which a predicate holds.
514
+ *
515
+ * @category elements
516
+ * @since 2.0.0
517
+ */
518
+ const findFirstIndex = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
519
+ let i = 0;
520
+ for (const a of self) {
521
+ if (predicate(a)) {
522
+ return Option_dist_effectOption.some(i);
523
+ }
524
+ i++;
525
+ }
526
+ return Option_dist_effectOption.none();
527
+ });
528
+
529
+ /**
530
+ * Return the last index for which a predicate holds.
531
+ *
532
+ * @category elements
533
+ * @since 2.0.0
534
+ */
535
+ const findLastIndex = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
536
+ const input = fromIterable(self);
537
+ for (let i = input.length - 1; i >= 0; i--) {
538
+ if (predicate(input[i])) {
539
+ return Option_dist_effectOption.some(i);
540
+ }
541
+ }
542
+ return Option_dist_effectOption.none();
543
+ });
544
+
545
+ /**
546
+ * Returns the first element that satisfies the specified
547
+ * predicate, or `None` if no such element exists.
548
+ *
549
+ * @category elements
550
+ * @since 2.0.0
551
+ */
552
+ const findFirst = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
553
+ const input = fromIterable(self);
554
+ for (let i = 0; i < input.length; i++) {
555
+ if (predicate(input[i])) {
556
+ return Option_dist_effectOption.some(input[i]);
557
+ }
558
+ }
559
+ return Option_dist_effectOption.none();
560
+ });
561
+
562
+ /**
563
+ * Find the last element for which a predicate holds.
564
+ *
565
+ * @category elements
566
+ * @since 2.0.0
567
+ */
568
+ const findLast = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
569
+ const input = fromIterable(self);
570
+ for (let i = input.length - 1; i >= 0; i--) {
571
+ if (predicate(input[i])) {
572
+ return Option_dist_effectOption.some(input[i]);
573
+ }
574
+ }
575
+ return Option_dist_effectOption.none();
576
+ });
577
+
578
+ /**
579
+ * Insert an element at the specified index, creating a new `NonEmptyArray`,
580
+ * or return `None` if the index is out of bounds.
581
+ *
582
+ * @since 2.0.0
583
+ */
584
+ const insertAt = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, i, b) => {
585
+ const out = Array.from(self);
586
+ // v--- `= self.length` is ok, it means inserting in last position
587
+ if (i < 0 || i > out.length) {
588
+ return Option_dist_effectOption.none();
589
+ }
590
+ out.splice(i, 0, b);
591
+ return Option_dist_effectOption.some(out);
592
+ });
593
+
594
+ /**
595
+ * Change the element at the specified index, creating a new `Array`,
596
+ * or return a copy of the input if the index is out of bounds.
597
+ *
598
+ * @since 2.0.0
599
+ */
600
+ const replace = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, i, b) => modify(self, i, () => b));
601
+
602
+ /**
603
+ * @since 2.0.0
604
+ */
605
+ const replaceOption = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, i, b) => modifyOption(self, i, () => b));
606
+
607
+ /**
608
+ * Apply a function to the element at the specified index, creating a new `Array`,
609
+ * or return a copy of the input if the index is out of bounds.
610
+ *
611
+ * @since 2.0.0
612
+ */
613
+ const modify = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, i, f) => Option_dist_effectOption.getOrElse(modifyOption(self, i, f), () => Array.from(self)));
614
+
615
+ /**
616
+ * Apply a function to the element at the specified index, creating a new `Array`,
617
+ * or return `None` if the index is out of bounds.
618
+ *
619
+ * @since 2.0.0
620
+ */
621
+ const modifyOption = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, i, f) => {
622
+ const out = Array.from(self);
623
+ if (isOutOfBound(i, out)) {
624
+ return Option_dist_effectOption.none();
625
+ }
626
+ const next = f(out[i]);
627
+ // @ts-expect-error
628
+ out[i] = next;
629
+ return Option_dist_effectOption.some(out);
630
+ });
631
+
632
+ /**
633
+ * Delete the element at the specified index, creating a new `Array`,
634
+ * or return a copy of the input if the index is out of bounds.
635
+ *
636
+ * @since 2.0.0
637
+ */
638
+ const remove = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, i) => {
639
+ const out = Array.from(self);
640
+ if (isOutOfBound(i, out)) {
641
+ return out;
642
+ }
643
+ out.splice(i, 1);
644
+ return out;
645
+ });
646
+
647
+ /**
648
+ * Reverse an `Iterable`, creating a new `Array`.
649
+ *
650
+ * @category elements
651
+ * @since 2.0.0
652
+ */
653
+ const reverse = self => Array.from(self).reverse();
654
+
655
+ /**
656
+ * @category elements
657
+ * @since 2.0.0
658
+ */
659
+ const reverseNonEmpty = self => [lastNonEmpty(self), ...self.slice(0, -1).reverse()];
660
+
661
+ /**
662
+ * Sort the elements of an `Iterable` in increasing order, creating a new `Array`.
663
+ *
664
+ * @category sorting
665
+ * @since 2.0.0
666
+ */
667
+ const sort = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, O) => {
668
+ const out = Array.from(self);
669
+ out.sort(O);
670
+ return out;
671
+ });
672
+
673
+ /**
674
+ * @since 2.0.0
675
+ * @category elements
676
+ */
677
+ const sortWith = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, f, order) => sort(self, Order_dist_effectOrder.mapInput(order, f)));
678
+
679
+ /**
680
+ * Sort the elements of a `NonEmptyReadonlyArray` in increasing order, creating a new `NonEmptyArray`.
681
+ *
682
+ * @category sorting
683
+ * @since 2.0.0
684
+ */
685
+ const sortNonEmpty = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, O) => sort(O)(self));
686
+
687
+ /**
688
+ * Sort the elements of an `Iterable` in increasing order, where elements are compared
689
+ * using first `orders[0]`, then `orders[1]`, etc...
690
+ *
691
+ * @category sorting
692
+ * @since 2.0.0
693
+ */
694
+ const sortBy = (...orders) => self => {
695
+ const input = fromIterable(self);
696
+ return isNonEmptyReadonlyArray(input) ? sortByNonEmpty(...orders)(input) : [];
697
+ };
698
+
699
+ /**
700
+ * @category sorting
701
+ * @since 2.0.0
702
+ */
703
+ const sortByNonEmpty = (...orders) => sortNonEmpty(Order_dist_effectOrder.combineAll(orders));
704
+
705
+ /**
706
+ * Takes two `Iterable`s and returns an `Array` of corresponding pairs.
707
+ * If one input `Iterable` is short, excess elements of the
708
+ * longer `Iterable` are discarded.
709
+ *
710
+ * @since 2.0.0
711
+ */
712
+ const zip = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => zipWith(self, that, (a, b) => [a, b]));
713
+
714
+ /**
715
+ * Apply a function to pairs of elements at the same index in two `Iterable`s, collecting the results in a new `Array`. If one
716
+ * input `Iterable` is short, excess elements of the longer `Iterable` are discarded.
717
+ *
718
+ * @since 2.0.0
719
+ */
720
+ const zipWith = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, that, f) => {
721
+ const as = fromIterable(self);
722
+ const bs = fromIterable(that);
723
+ return isNonEmptyReadonlyArray(as) && isNonEmptyReadonlyArray(bs) ? zipNonEmptyWith(bs, f)(as) : [];
724
+ });
725
+
726
+ /**
727
+ * @since 2.0.0
728
+ */
729
+ const zipNonEmpty = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => zipNonEmptyWith(self, that, (a, b) => [a, b]));
730
+
731
+ /**
732
+ * @since 2.0.0
733
+ */
734
+ const zipNonEmptyWith = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, that, f) => {
735
+ const cs = [f(headNonEmpty(self), headNonEmpty(that))];
736
+ const len = Math.min(self.length, that.length);
737
+ for (let i = 1; i < len; i++) {
738
+ cs[i] = f(self[i], that[i]);
739
+ }
740
+ return cs;
741
+ });
742
+
743
+ /**
744
+ * This function is the inverse of `zip`. Takes an `Iterable` of pairs and return two corresponding `Array`s.
745
+ *
746
+ * @since 2.0.0
747
+ */
748
+ const unzip = self => {
749
+ const input = fromIterable(self);
750
+ return isNonEmptyReadonlyArray(input) ? unzipNonEmpty(input) : [[], []];
751
+ };
752
+
753
+ /**
754
+ * @since 2.0.0
755
+ */
756
+ const unzipNonEmpty = self => {
757
+ const fa = [self[0][0]];
758
+ const fb = [self[0][1]];
759
+ for (let i = 1; i < self.length; i++) {
760
+ fa[i] = self[i][0];
761
+ fb[i] = self[i][1];
762
+ }
763
+ return [fa, fb];
764
+ };
765
+
766
+ /**
767
+ * Places an element in between members of an `Iterable`
768
+ *
769
+ * @since 2.0.0
770
+ */
771
+ const intersperse = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, middle) => {
772
+ const input = fromIterable(self);
773
+ return isNonEmptyReadonlyArray(input) ? intersperseNonEmpty(input, middle) : [];
774
+ });
775
+
776
+ /**
777
+ * Places an element in between members of a `NonEmptyReadonlyArray`
778
+ *
779
+ * @since 2.0.0
780
+ */
781
+ const intersperseNonEmpty = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, middle) => {
782
+ const out = [headNonEmpty(self)];
783
+ const tail = tailNonEmpty(self);
784
+ for (let i = 0; i < tail.length; i++) {
785
+ if (i < tail.length) {
786
+ out.push(middle);
787
+ }
788
+ out.push(tail[i]);
789
+ }
790
+ return out;
791
+ });
792
+
793
+ /**
794
+ * Apply a function to the head, creating a new `NonEmptyReadonlyArray`.
795
+ *
796
+ * @since 2.0.0
797
+ */
798
+ const modifyNonEmptyHead = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => [f(headNonEmpty(self)), ...tailNonEmpty(self)]);
799
+
800
+ /**
801
+ * Change the head, creating a new `NonEmptyReadonlyArray`.
802
+ *
803
+ * @since 2.0.0
804
+ */
805
+ const setNonEmptyHead = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, b) => modifyNonEmptyHead(self, () => b));
806
+
807
+ /**
808
+ * Apply a function to the last element, creating a new `NonEmptyReadonlyArray`.
809
+ *
810
+ * @since 2.0.0
811
+ */
812
+ const modifyNonEmptyLast = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => append(initNonEmpty(self), f(lastNonEmpty(self))));
813
+
814
+ /**
815
+ * Change the last element, creating a new `NonEmptyReadonlyArray`.
816
+ *
817
+ * @since 2.0.0
818
+ */
819
+ const setNonEmptyLast = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, b) => modifyNonEmptyLast(self, () => b));
820
+
821
+ /**
822
+ * Rotate an `Iterable` by `n` steps.
823
+ *
824
+ * @since 2.0.0
825
+ */
826
+ const rotate = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, n) => {
827
+ const input = fromIterable(self);
828
+ return isNonEmptyReadonlyArray(input) ? rotateNonEmpty(input, n) : [];
829
+ });
830
+
831
+ /**
832
+ * Rotate a `NonEmptyReadonlyArray` by `n` steps.
833
+ *
834
+ * @since 2.0.0
835
+ */
836
+ const rotateNonEmpty = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, n) => {
837
+ const len = self.length;
838
+ const m = Math.round(n) % len;
839
+ if (isOutOfBound(Math.abs(m), self) || m === 0) {
840
+ return copy(self);
841
+ }
842
+ if (m < 0) {
843
+ const [f, s] = splitNonEmptyAt(self, -m);
844
+ return appendAllNonEmpty(s, f);
845
+ } else {
846
+ return rotateNonEmpty(self, m - len);
847
+ }
848
+ });
849
+
850
+ /**
851
+ * Returns a function that checks if a `ReadonlyArray` contains a given value using a provided `isEquivalent` function.
852
+ *
853
+ * @category elements
854
+ * @since 2.0.0
855
+ */
856
+ const containsWith = isEquivalent => Function_dist_effectFunction.dual(2, (self, a) => {
857
+ for (const i of self) {
858
+ if (isEquivalent(a, i)) {
859
+ return true;
860
+ }
861
+ }
862
+ return false;
863
+ });
864
+ const _equivalence = /*#__PURE__*/Equal_dist_effectEqual.equivalence();
865
+
866
+ /**
867
+ * Returns a function that checks if a `ReadonlyArray` contains a given value using the default `Equivalence`.
868
+ *
869
+ * @category elements
870
+ * @since 2.0.0
871
+ */
872
+ const contains = /*#__PURE__*/containsWith(_equivalence);
873
+
874
+ /**
875
+ * Remove duplicates from a `NonEmptyReadonlyArray`, keeping the first occurrence of an element using the provided `isEquivalent` function.
876
+ *
877
+ * @since 2.0.0
878
+ */
879
+ const dedupeNonEmptyWith = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, isEquivalent) => {
880
+ const out = [headNonEmpty(self)];
881
+ const rest = tailNonEmpty(self);
882
+ for (const a of rest) {
883
+ if (out.every(o => !isEquivalent(a, o))) {
884
+ out.push(a);
885
+ }
886
+ }
887
+ return out;
888
+ });
889
+
890
+ /**
891
+ * Remove duplicates from a `NonEmptyReadonlyArray`, keeping the first occurrence of an element.
892
+ *
893
+ * @since 2.0.0
894
+ */
895
+ const dedupeNonEmpty = /*#__PURE__*/dedupeNonEmptyWith( /*#__PURE__*/Equal_dist_effectEqual.equivalence());
896
+
897
+ /**
898
+ * A useful recursion pattern for processing an `Iterable` to produce a new `Array`, often used for "chopping" up the input
899
+ * `Iterable`. Typically chop is called with some function that will consume an initial prefix of the `Iterable` and produce a
900
+ * value and the rest of the `Array`.
901
+ *
902
+ * @since 2.0.0
903
+ */
904
+ const chop = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => {
905
+ const input = fromIterable(self);
906
+ return isNonEmptyReadonlyArray(input) ? chopNonEmpty(input, f) : [];
907
+ });
908
+
909
+ /**
910
+ * A useful recursion pattern for processing a `NonEmptyReadonlyArray` to produce a new `NonEmptyReadonlyArray`, often used for "chopping" up the input
911
+ * `NonEmptyReadonlyArray`. Typically `chop` is called with some function that will consume an initial prefix of the `NonEmptyReadonlyArray` and produce a
912
+ * value and the tail of the `NonEmptyReadonlyArray`.
913
+ *
914
+ * @since 2.0.0
915
+ */
916
+ const chopNonEmpty = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => {
917
+ const [b, rest] = f(self);
918
+ const out = [b];
919
+ let next = rest;
920
+ while (ReadonlyArray.isNonEmptyArray(next)) {
921
+ const [b, rest] = f(next);
922
+ out.push(b);
923
+ next = rest;
924
+ }
925
+ return out;
926
+ });
927
+
928
+ /**
929
+ * Splits an `Iterable` into two pieces, the first piece has max `n` elements.
930
+ *
931
+ * @category getters
932
+ * @since 2.0.0
933
+ */
934
+ const splitAt = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, n) => {
935
+ const input = Array.from(self);
936
+ return n >= 1 && isNonEmptyReadonlyArray(input) ? splitNonEmptyAt(input, n) : isEmptyReadonlyArray(input) ? [input, []] : [[], input];
937
+ });
938
+
939
+ /**
940
+ * @since 2.0.0
941
+ */
942
+ const copy = self => self.slice();
943
+
944
+ /**
945
+ * Splits a `NonEmptyReadonlyArray` into two pieces, the first piece has max `n` elements.
946
+ *
947
+ * @category getters
948
+ * @since 2.0.0
949
+ */
950
+ const splitNonEmptyAt = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, n) => {
951
+ const m = Math.max(1, n);
952
+ return m >= self.length ? [copy(self), []] : [prepend(self.slice(1, m), headNonEmpty(self)), self.slice(m)];
953
+ });
954
+
955
+ /**
956
+ * Splits an `Iterable` into length-`n` pieces. The last piece will be shorter if `n` does not evenly divide the length of
957
+ * the `Iterable`. Note that `chunksOf(n)([])` is `[]`, not `[[]]`. This is intentional, and is consistent with a recursive
958
+ * definition of `chunksOf`; it satisfies the property that
959
+ *
960
+ * ```ts
961
+ * chunksOf(n)(xs).concat(chunksOf(n)(ys)) == chunksOf(n)(xs.concat(ys)))
962
+ * ```
963
+ *
964
+ * whenever `n` evenly divides the length of `self`.
965
+ *
966
+ * @category getters
967
+ * @since 2.0.0
968
+ */
969
+ const chunksOf = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, n) => {
970
+ const input = fromIterable(self);
971
+ return isNonEmptyReadonlyArray(input) ? chunksOfNonEmpty(input, n) : [];
972
+ });
973
+
974
+ /**
975
+ * Splits a `NonEmptyReadonlyArray` into length-`n` pieces. The last piece will be shorter if `n` does not evenly divide the length of
976
+ * the `NonEmptyReadonlyArray`.
977
+ *
978
+ * @category getters
979
+ * @since 2.0.0
980
+ */
981
+ const chunksOfNonEmpty = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, n) => chopNonEmpty(self, splitNonEmptyAt(n)));
982
+
983
+ /**
984
+ * Group equal, consecutive elements of a `NonEmptyReadonlyArray` into `NonEmptyArray`s using the provided `isEquivalent` function.
985
+ *
986
+ * @category grouping
987
+ * @since 2.0.0
988
+ */
989
+ const groupWith = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, isEquivalent) => chopNonEmpty(self, as => {
990
+ const h = headNonEmpty(as);
991
+ const out = [h];
992
+ let i = 1;
993
+ for (; i < as.length; i++) {
994
+ const a = as[i];
995
+ if (isEquivalent(a, h)) {
996
+ out.push(a);
997
+ } else {
998
+ break;
999
+ }
1000
+ }
1001
+ return [out, as.slice(i)];
1002
+ }));
1003
+
1004
+ /**
1005
+ * Group equal, consecutive elements of a `NonEmptyReadonlyArray` into `NonEmptyArray`s.
1006
+ *
1007
+ * @category grouping
1008
+ * @since 2.0.0
1009
+ */
1010
+ const group = /*#__PURE__*/groupWith( /*#__PURE__*/Equal_dist_effectEqual.equivalence());
1011
+
1012
+ /**
1013
+ * Splits an `Iterable` into sub-non-empty-arrays stored in an object, based on the result of calling a `string`-returning
1014
+ * function on each element, and grouping the results according to values returned
1015
+ *
1016
+ * @category grouping
1017
+ * @since 2.0.0
1018
+ */
1019
+ const groupBy = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => {
1020
+ const out = {};
1021
+ for (const a of self) {
1022
+ const k = f(a);
1023
+ if (Object.prototype.hasOwnProperty.call(out, k)) {
1024
+ out[k].push(a);
1025
+ } else {
1026
+ out[k] = [a];
1027
+ }
1028
+ }
1029
+ return out;
1030
+ });
1031
+
1032
+ /**
1033
+ * @since 2.0.0
1034
+ */
1035
+ const unionWith = isEquivalent => Function_dist_effectFunction.dual(2, (self, that) => {
1036
+ const a = fromIterable(self);
1037
+ const b = fromIterable(that);
1038
+ return isNonEmptyReadonlyArray(a) && isNonEmptyReadonlyArray(b) ? unionNonEmptyWith(isEquivalent)(a, b) : isNonEmptyReadonlyArray(a) ? a : b;
1039
+ });
1040
+
1041
+ /**
1042
+ * @since 2.0.0
1043
+ */
1044
+ const union = /*#__PURE__*/unionWith(_equivalence);
1045
+
1046
+ /**
1047
+ * @since 2.0.0
1048
+ */
1049
+ const unionNonEmptyWith = isEquivalent => {
1050
+ const dedupe = dedupeNonEmptyWith(isEquivalent);
1051
+ return Function_dist_effectFunction.dual(2, (self, that) => dedupe(appendAllNonEmpty(self, that)));
1052
+ };
1053
+
1054
+ /**
1055
+ * @since 2.0.0
1056
+ */
1057
+ const unionNonEmpty = /*#__PURE__*/unionNonEmptyWith(_equivalence);
1058
+
1059
+ /**
1060
+ * Creates an `Array` of unique values that are included in all given `Iterable`s using the provided `isEquivalent` function.
1061
+ * The order and references of result values are determined by the first `Iterable`.
1062
+ *
1063
+ * @since 2.0.0
1064
+ */
1065
+ const intersectionWith = isEquivalent => {
1066
+ const has = containsWith(isEquivalent);
1067
+ return Function_dist_effectFunction.dual(2, (self, that) => fromIterable(self).filter(a => has(that, a)));
1068
+ };
1069
+
1070
+ /**
1071
+ * Creates an `Array` of unique values that are included in all given `Iterable`s.
1072
+ * The order and references of result values are determined by the first `Iterable`.
1073
+ *
1074
+ * @since 2.0.0
1075
+ */
1076
+ const intersection = /*#__PURE__*/intersectionWith(_equivalence);
1077
+
1078
+ /**
1079
+ * Creates a `Array` of values not included in the other given `Iterable` using the provided `isEquivalent` function.
1080
+ * The order and references of result values are determined by the first `Iterable`.
1081
+ *
1082
+ * @since 2.0.0
1083
+ */
1084
+ const differenceWith = isEquivalent => {
1085
+ const has = containsWith(isEquivalent);
1086
+ return Function_dist_effectFunction.dual(2, (self, that) => fromIterable(self).filter(a => !has(that, a)));
1087
+ };
1088
+
1089
+ /**
1090
+ * Creates a `Array` of values not included in the other given `Iterable` using the provided `isEquivalent` function.
1091
+ * The order and references of result values are determined by the first `Iterable`.
1092
+ *
1093
+ * @since 2.0.0
1094
+ */
1095
+ const difference = /*#__PURE__*/differenceWith(_equivalence);
1096
+
1097
+ /**
1098
+ * @category constructors
1099
+ * @since 2.0.0
1100
+ */
1101
+ const empty = () => [];
1102
+
1103
+ /**
1104
+ * Constructs a new `NonEmptyArray<A>` from the specified value.
1105
+ *
1106
+ * @category constructors
1107
+ * @since 2.0.0
1108
+ */
1109
+ const of = a => [a];
1110
+
1111
+ /**
1112
+ * @category mapping
1113
+ * @since 2.0.0
1114
+ */
1115
+ const map = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => self.map(f));
1116
+
1117
+ /**
1118
+ * @category mapping
1119
+ * @since 2.0.0
1120
+ */
1121
+ const mapNonEmpty = map;
1122
+
1123
+ /**
1124
+ * @category sequencing
1125
+ * @since 2.0.0
1126
+ */
1127
+ const flatMap = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => {
1128
+ if (isEmptyReadonlyArray(self)) {
1129
+ return [];
1130
+ }
1131
+ const out = [];
1132
+ for (let i = 0; i < self.length; i++) {
1133
+ out.push(...f(self[i], i));
1134
+ }
1135
+ return out;
1136
+ });
1137
+
1138
+ /**
1139
+ * @category sequencing
1140
+ * @since 2.0.0
1141
+ */
1142
+ const flatMapNonEmpty = flatMap;
1143
+
1144
+ /**
1145
+ * @category sequencing
1146
+ * @since 2.0.0
1147
+ */
1148
+ const flatten = /*#__PURE__*/flatMap(Function_dist_effectFunction.identity);
1149
+
1150
+ /**
1151
+ * @category sequencing
1152
+ * @since 2.0.0
1153
+ */
1154
+ const flattenNonEmpty = /*#__PURE__*/flatMapNonEmpty(Function_dist_effectFunction.identity);
1155
+
1156
+ /**
1157
+ * @category filtering
1158
+ * @since 2.0.0
1159
+ */
1160
+ const filterMap = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => {
1161
+ const as = fromIterable(self);
1162
+ const out = [];
1163
+ for (let i = 0; i < as.length; i++) {
1164
+ const o = f(as[i], i);
1165
+ if (Option_dist_effectOption.isSome(o)) {
1166
+ out.push(o.value);
1167
+ }
1168
+ }
1169
+ return out;
1170
+ });
1171
+
1172
+ /**
1173
+ * Transforms all elements of the `readonlyArray` for as long as the specified function returns some value
1174
+ *
1175
+ * @category filtering
1176
+ * @since 2.0.0
1177
+ */
1178
+ const filterMapWhile = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => {
1179
+ const out = [];
1180
+ for (const a of self) {
1181
+ const b = f(a);
1182
+ if (Option_dist_effectOption.isSome(b)) {
1183
+ out.push(b.value);
1184
+ } else {
1185
+ break;
1186
+ }
1187
+ }
1188
+ return out;
1189
+ });
1190
+
1191
+ /**
1192
+ * @category filtering
1193
+ * @since 2.0.0
1194
+ */
1195
+ const partitionMap = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => {
1196
+ const left = [];
1197
+ const right = [];
1198
+ const as = fromIterable(self);
1199
+ for (let i = 0; i < as.length; i++) {
1200
+ const e = f(as[i], i);
1201
+ if (Either_dist_effectEither.isLeft(e)) {
1202
+ left.push(e.left);
1203
+ } else {
1204
+ right.push(e.right);
1205
+ }
1206
+ }
1207
+ return [left, right];
1208
+ });
1209
+
1210
+ /**
1211
+ * @category filtering
1212
+ * @since 2.0.0
1213
+ */
1214
+ const compact = /*#__PURE__*/filterMap(Function_dist_effectFunction.identity);
1215
+
1216
+ /**
1217
+ * @category filtering
1218
+ * @since 2.0.0
1219
+ */
1220
+ const filter = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
1221
+ const as = fromIterable(self);
1222
+ const out = [];
1223
+ for (let i = 0; i < as.length; i++) {
1224
+ if (predicate(as[i], i)) {
1225
+ out.push(as[i]);
1226
+ }
1227
+ }
1228
+ return out;
1229
+ });
1230
+
1231
+ /**
1232
+ * @category filtering
1233
+ * @since 2.0.0
1234
+ */
1235
+ const partition = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
1236
+ const left = [];
1237
+ const right = [];
1238
+ const as = fromIterable(self);
1239
+ for (let i = 0; i < as.length; i++) {
1240
+ if (predicate(as[i], i)) {
1241
+ right.push(as[i]);
1242
+ } else {
1243
+ left.push(as[i]);
1244
+ }
1245
+ }
1246
+ return [left, right];
1247
+ });
1248
+
1249
+ /**
1250
+ * @category filtering
1251
+ * @since 2.0.0
1252
+ */
1253
+ const separate = /*#__PURE__*/partitionMap(Function_dist_effectFunction.identity);
1254
+
1255
+ /**
1256
+ * @category folding
1257
+ * @since 2.0.0
1258
+ */
1259
+ const reduce = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, b, f) => fromIterable(self).reduce((b, a, i) => f(b, a, i), b));
1260
+
1261
+ /**
1262
+ * @category folding
1263
+ * @since 2.0.0
1264
+ */
1265
+ const reduceRight = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, b, f) => fromIterable(self).reduceRight((b, a, i) => f(b, a, i), b));
1266
+
1267
+ /**
1268
+ * @category lifting
1269
+ * @since 2.0.0
1270
+ */
1271
+ const liftPredicate = predicate => b => predicate(b) ? [b] : [];
1272
+
1273
+ /**
1274
+ * @category lifting
1275
+ * @since 2.0.0
1276
+ */
1277
+ const liftOption = f => (...a) => fromOption(f(...a));
1278
+
1279
+ /**
1280
+ * @category conversions
1281
+ * @since 2.0.0
1282
+ */
1283
+ const fromNullable = a => a == null ? empty() : [a];
1284
+
1285
+ /**
1286
+ * @category lifting
1287
+ * @since 2.0.0
1288
+ */
1289
+ const liftNullable = f => (...a) => fromNullable(f(...a));
1290
+
1291
+ /**
1292
+ * @category combining
1293
+ * @since 2.0.0
1294
+ */
1295
+ const flatMapNullable = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => isNonEmptyReadonlyArray(self) ? fromNullable(f(headNonEmpty(self))) : empty());
1296
+
1297
+ /**
1298
+ * @category lifting
1299
+ * @since 2.0.0
1300
+ */
1301
+ const liftEither = f => (...a) => {
1302
+ const e = f(...a);
1303
+ return Either_dist_effectEither.isLeft(e) ? [] : [e.right];
1304
+ };
1305
+
1306
+ /**
1307
+ * Check if a predicate holds true for every `ReadonlyArray` element.
1308
+ *
1309
+ * @category elements
1310
+ * @since 2.0.0
1311
+ */
1312
+ const every = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, refinement) => self.every(refinement));
1313
+
1314
+ /**
1315
+ * Check if a predicate holds true for some `ReadonlyArray` element.
1316
+ *
1317
+ * @category elements
1318
+ * @since 2.0.0
1319
+ */
1320
+ const some = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => self.some(predicate));
1321
+
1322
+ /**
1323
+ * @since 2.0.0
1324
+ */
1325
+ const extend = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => self.map((_, i, as) => f(as.slice(i))));
1326
+
1327
+ /**
1328
+ * @since 2.0.0
1329
+ */
1330
+ const min = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, O) => self.reduce(Order_dist_effectOrder.min(O)));
1331
+
1332
+ /**
1333
+ * @since 2.0.0
1334
+ */
1335
+ const max = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, O) => self.reduce(Order_dist_effectOrder.max(O)));
1336
+
1337
+ /**
1338
+ * @category constructors
1339
+ * @since 2.0.0
1340
+ */
1341
+ const unfold = (b, f) => {
1342
+ const out = [];
1343
+ let next = b;
1344
+ let o;
1345
+ while (Option_dist_effectOption.isSome(o = f(next))) {
1346
+ const [a, b] = o.value;
1347
+ out.push(a);
1348
+ next = b;
1349
+ }
1350
+ return out;
1351
+ };
1352
+
1353
+ /**
1354
+ * This function creates and returns a new `Order` for an array of values based on a given `Order` for the elements of the array.
1355
+ * The returned `Order` compares two arrays by applying the given `Order` to each element in the arrays.
1356
+ * If all elements are equal, the arrays are then compared based on their length.
1357
+ * It is useful when you need to compare two arrays of the same type and you have a specific way of comparing each element of the array.
1358
+ *
1359
+ * @category instances
1360
+ * @since 2.0.0
1361
+ */
1362
+ const getOrder = Order_dist_effectOrder.array;
1363
+
1364
+ /**
1365
+ * @category instances
1366
+ * @since 2.0.0
1367
+ */
1368
+ const getEquivalence = Equivalence_dist_effectEquivalence.array;
1369
+
1370
+ /**
1371
+ * Iterate over the `Iterable` applying `f`.
1372
+ *
1373
+ * @since 2.0.0
1374
+ */
1375
+ const forEach = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => fromIterable(self).forEach((a, i) => f(a, i)));
1376
+
1377
+ /**
1378
+ * Remove duplicates from am `Iterable` using the provided `isEquivalent` function, keeping the first occurrence of an element.
1379
+ *
1380
+ * @since 2.0.0
1381
+ */
1382
+ const dedupeWith = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, isEquivalent) => {
1383
+ const input = fromIterable(self);
1384
+ return isNonEmptyReadonlyArray(input) ? dedupeNonEmptyWith(isEquivalent)(input) : [];
1385
+ });
1386
+
1387
+ /**
1388
+ * Remove duplicates from am `Iterable`, keeping the first occurrence of an element.
1389
+ *
1390
+ * @since 2.0.0
1391
+ */
1392
+ const dedupe = /*#__PURE__*/dedupeWith( /*#__PURE__*/Equal_dist_effectEqual.equivalence());
1393
+
1394
+ /**
1395
+ * Deduplicates adjacent elements that are identical using the provided `isEquivalent` function.
1396
+ *
1397
+ * @since 2.0.0
1398
+ */
1399
+ const dedupeAdjacentWith = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, isEquivalent) => {
1400
+ const out = [];
1401
+ let lastA = Option_dist_effectOption.none();
1402
+ for (const a of self) {
1403
+ if (Option_dist_effectOption.isNone(lastA) || !isEquivalent(a, lastA.value)) {
1404
+ out.push(a);
1405
+ lastA = Option_dist_effectOption.some(a);
1406
+ }
1407
+ }
1408
+ return out;
1409
+ });
1410
+
1411
+ /**
1412
+ * Deduplicates adjacent elements that are identical.
1413
+ *
1414
+ * @since 2.0.0
1415
+ */
1416
+ const dedupeAdjacent = /*#__PURE__*/dedupeAdjacentWith( /*#__PURE__*/Equal_dist_effectEqual.equivalence());
1417
+
1418
+ /**
1419
+ * Joins the elements together with "sep" in the middle.
1420
+ *
1421
+ * @since 2.0.0
1422
+ * @category folding
1423
+ */
1424
+ const join = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, sep) => fromIterable(self).join(sep));
1425
+
1426
+ /**
1427
+ * Statefully maps over the chunk, producing new elements of type `B`.
1428
+ *
1429
+ * @since 2.0.0
1430
+ * @category folding
1431
+ */
1432
+ const mapAccum = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, s, f) => {
1433
+ let s1 = s;
1434
+ const out = [];
1435
+ for (const a of self) {
1436
+ const r = f(s1, a);
1437
+ s1 = r[0];
1438
+ out.push(r[1]);
1439
+ }
1440
+ return [s1, out];
1441
+ });
1442
+
1443
+ /**
1444
+ * Zips this chunk crosswise with the specified chunk using the specified combiner.
1445
+ *
1446
+ * @since 2.0.0
1447
+ * @category elements
1448
+ */
1449
+ const cartesianWith = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, that, f) => flatMap(self, a => map(that, b => f(a, b))));
1450
+
1451
+ /**
1452
+ * Zips this chunk crosswise with the specified chunk.
1453
+ *
1454
+ * @since 2.0.0
1455
+ * @category elements
1456
+ */
1457
+ const cartesian = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => cartesianWith(self, that, (a, b) => [a, b]));
1458
+
1459
+ exports.append = append;
1460
+ exports.appendAll = appendAll;
1461
+ exports.appendAllNonEmpty = appendAllNonEmpty;
1462
+ exports.cartesian = cartesian;
1463
+ exports.cartesianWith = cartesianWith;
1464
+ exports.chop = chop;
1465
+ exports.chopNonEmpty = chopNonEmpty;
1466
+ exports.chunksOf = chunksOf;
1467
+ exports.chunksOfNonEmpty = chunksOfNonEmpty;
1468
+ exports.compact = compact;
1469
+ exports.contains = contains;
1470
+ exports.containsWith = containsWith;
1471
+ exports.copy = copy;
1472
+ exports.dedupe = dedupe;
1473
+ exports.dedupeAdjacent = dedupeAdjacent;
1474
+ exports.dedupeAdjacentWith = dedupeAdjacentWith;
1475
+ exports.dedupeNonEmpty = dedupeNonEmpty;
1476
+ exports.dedupeNonEmptyWith = dedupeNonEmptyWith;
1477
+ exports.dedupeWith = dedupeWith;
1478
+ exports.difference = difference;
1479
+ exports.differenceWith = differenceWith;
1480
+ exports.drop = drop;
1481
+ exports.dropRight = dropRight;
1482
+ exports.dropWhile = dropWhile;
1483
+ exports.empty = empty;
1484
+ exports.every = every;
1485
+ exports.extend = extend;
1486
+ exports.filter = filter;
1487
+ exports.filterMap = filterMap;
1488
+ exports.filterMapWhile = filterMapWhile;
1489
+ exports.findFirst = findFirst;
1490
+ exports.findFirstIndex = findFirstIndex;
1491
+ exports.findLast = findLast;
1492
+ exports.findLastIndex = findLastIndex;
1493
+ exports.flatMap = flatMap;
1494
+ exports.flatMapNonEmpty = flatMapNonEmpty;
1495
+ exports.flatMapNullable = flatMapNullable;
1496
+ exports.flatten = flatten;
1497
+ exports.flattenNonEmpty = flattenNonEmpty;
1498
+ exports.forEach = forEach;
1499
+ exports.fromIterable = fromIterable;
1500
+ exports.fromNullable = fromNullable;
1501
+ exports.fromOption = fromOption;
1502
+ exports.fromRecord = fromRecord;
1503
+ exports.get = get;
1504
+ exports.getEquivalence = getEquivalence;
1505
+ exports.getOrder = getOrder;
1506
+ exports.group = group;
1507
+ exports.groupBy = groupBy;
1508
+ exports.groupWith = groupWith;
1509
+ exports.head = head;
1510
+ exports.headNonEmpty = headNonEmpty;
1511
+ exports.init = init;
1512
+ exports.initNonEmpty = initNonEmpty;
1513
+ exports.insertAt = insertAt;
1514
+ exports.intersection = intersection;
1515
+ exports.intersectionWith = intersectionWith;
1516
+ exports.intersperse = intersperse;
1517
+ exports.intersperseNonEmpty = intersperseNonEmpty;
1518
+ exports.isEmptyArray = isEmptyArray;
1519
+ exports.isEmptyReadonlyArray = isEmptyReadonlyArray;
1520
+ exports.isNonEmptyArray = isNonEmptyArray;
1521
+ exports.isNonEmptyReadonlyArray = isNonEmptyReadonlyArray;
1522
+ exports.join = join;
1523
+ exports.last = last;
1524
+ exports.lastNonEmpty = lastNonEmpty;
1525
+ exports.length = length;
1526
+ exports.liftEither = liftEither;
1527
+ exports.liftNullable = liftNullable;
1528
+ exports.liftOption = liftOption;
1529
+ exports.liftPredicate = liftPredicate;
1530
+ exports.make = make;
1531
+ exports.makeBy = makeBy;
1532
+ exports.map = map;
1533
+ exports.mapAccum = mapAccum;
1534
+ exports.mapNonEmpty = mapNonEmpty;
1535
+ exports.match = match;
1536
+ exports.matchLeft = matchLeft;
1537
+ exports.matchRight = matchRight;
1538
+ exports.max = max;
1539
+ exports.min = min;
1540
+ exports.modify = modify;
1541
+ exports.modifyNonEmptyHead = modifyNonEmptyHead;
1542
+ exports.modifyNonEmptyLast = modifyNonEmptyLast;
1543
+ exports.modifyOption = modifyOption;
1544
+ exports.of = of;
1545
+ exports.partition = partition;
1546
+ exports.partitionMap = partitionMap;
1547
+ exports.prepend = prepend;
1548
+ exports.prependAll = prependAll;
1549
+ exports.prependAllNonEmpty = prependAllNonEmpty;
1550
+ exports.range = range;
1551
+ exports.reduce = reduce;
1552
+ exports.reduceRight = reduceRight;
1553
+ exports.remove = remove;
1554
+ exports.replace = replace;
1555
+ exports.replaceOption = replaceOption;
1556
+ exports.replicate = replicate;
1557
+ exports.reverse = reverse;
1558
+ exports.reverseNonEmpty = reverseNonEmpty;
1559
+ exports.rotate = rotate;
1560
+ exports.rotateNonEmpty = rotateNonEmpty;
1561
+ exports.scan = scan;
1562
+ exports.scanRight = scanRight;
1563
+ exports.separate = separate;
1564
+ exports.setNonEmptyHead = setNonEmptyHead;
1565
+ exports.setNonEmptyLast = setNonEmptyLast;
1566
+ exports.some = some;
1567
+ exports.sort = sort;
1568
+ exports.sortBy = sortBy;
1569
+ exports.sortByNonEmpty = sortByNonEmpty;
1570
+ exports.sortNonEmpty = sortNonEmpty;
1571
+ exports.sortWith = sortWith;
1572
+ exports.span = span;
1573
+ exports.splitAt = splitAt;
1574
+ exports.splitNonEmptyAt = splitNonEmptyAt;
1575
+ exports.tail = tail;
1576
+ exports.tailNonEmpty = tailNonEmpty;
1577
+ exports.take = take;
1578
+ exports.takeRight = takeRight;
1579
+ exports.takeWhile = takeWhile;
1580
+ exports.unappend = unappend;
1581
+ exports.unfold = unfold;
1582
+ exports.union = union;
1583
+ exports.unionNonEmpty = unionNonEmpty;
1584
+ exports.unionNonEmptyWith = unionNonEmptyWith;
1585
+ exports.unionWith = unionWith;
1586
+ exports.unprepend = unprepend;
1587
+ exports.unsafeGet = unsafeGet;
1588
+ exports.unzip = unzip;
1589
+ exports.unzipNonEmpty = unzipNonEmpty;
1590
+ exports.zip = zip;
1591
+ exports.zipNonEmpty = zipNonEmpty;
1592
+ exports.zipNonEmptyWith = zipNonEmptyWith;
1593
+ exports.zipWith = zipWith;