effect 2.0.0-next.38 → 2.0.0-next.39

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 (767) hide show
  1. package/Bigint/dist/effect-Bigint.esm.js +346 -5
  2. package/Boolean/dist/effect-Boolean.esm.js +230 -5
  3. package/Brand/dist/effect-Brand.esm.js +204 -20
  4. package/Cache/dist/effect-Cache.cjs.dev.js +13 -13
  5. package/Cache/dist/effect-Cache.cjs.prod.js +13 -13
  6. package/Cache/dist/effect-Cache.esm.js +111 -74
  7. package/Cause/dist/effect-Cause.esm.js +668 -33
  8. package/Channel/dist/effect-Channel.cjs.dev.js +36 -36
  9. package/Channel/dist/effect-Channel.cjs.prod.js +36 -36
  10. package/Channel/dist/effect-Channel.esm.js +1001 -107
  11. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.esm.js +112 -3
  12. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.esm.js +60 -3
  13. package/ChannelMergeState/dist/effect-ChannelMergeState.esm.js +101 -3
  14. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.esm.js +84 -3
  15. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.dev.js +28 -28
  16. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.prod.js +28 -28
  17. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.esm.js +47 -91
  18. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.esm.js +84 -3
  19. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.esm.js +83 -3
  20. package/Chunk/dist/effect-Chunk.esm.js +1084 -20
  21. package/Clock/dist/effect-Clock.cjs.dev.js +3 -3
  22. package/Clock/dist/effect-Clock.cjs.prod.js +3 -3
  23. package/Clock/dist/effect-Clock.esm.js +78 -42
  24. package/Config/dist/effect-Config.esm.js +321 -37
  25. package/ConfigError/dist/effect-ConfigError.esm.js +185 -21
  26. package/ConfigProvider/dist/effect-ConfigProvider.esm.js +198 -39
  27. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.esm.js +70 -24
  28. package/ConfigSecret/dist/effect-ConfigSecret.esm.js +63 -22
  29. package/Console/dist/effect-Console.cjs.dev.js +22 -22
  30. package/Console/dist/effect-Console.cjs.prod.js +22 -22
  31. package/Console/dist/effect-Console.esm.js +154 -83
  32. package/Context/dist/effect-Context.esm.js +295 -17
  33. package/Data/dist/effect-Data.esm.js +163 -7
  34. package/DefaultServices/dist/effect-DefaultServices.cjs.dev.js +3 -3
  35. package/DefaultServices/dist/effect-DefaultServices.cjs.prod.js +3 -3
  36. package/DefaultServices/dist/effect-DefaultServices.esm.js +24 -42
  37. package/Deferred/dist/effect-Deferred.esm.js +206 -33
  38. package/Differ/dist/effect-Differ.esm.js +137 -26
  39. package/Duration/dist/effect-Duration.cjs.dev.js +2 -1
  40. package/Duration/dist/effect-Duration.cjs.mjs +1 -0
  41. package/Duration/dist/effect-Duration.cjs.prod.js +2 -1
  42. package/Duration/dist/effect-Duration.esm.js +438 -16
  43. package/Effect/dist/effect-Effect.cjs.dev.js +26 -26
  44. package/Effect/dist/effect-Effect.cjs.prod.js +26 -26
  45. package/Effect/dist/effect-Effect.esm.js +3093 -89
  46. package/Effectable/dist/effect-Effectable.esm.js +77 -10
  47. package/Either/dist/effect-Either.esm.js +442 -13
  48. package/Encoding/dist/effect-Encoding.esm.js +123 -14
  49. package/Equal/dist/effect-Equal.esm.js +57 -6
  50. package/Equivalence/dist/effect-Equivalence.esm.js +196 -2
  51. package/Error/dist/effect-Error.cjs.dev.js +27 -27
  52. package/Error/dist/effect-Error.cjs.prod.js +27 -27
  53. package/Error/dist/effect-Error.esm.js +47 -91
  54. package/ExecutionStrategy/dist/effect-ExecutionStrategy.esm.js +99 -2
  55. package/Exit/dist/effect-Exit.esm.js +332 -33
  56. package/Fiber/dist/effect-Fiber.cjs.dev.js +18 -18
  57. package/Fiber/dist/effect-Fiber.cjs.prod.js +18 -18
  58. package/Fiber/dist/effect-Fiber.esm.js +423 -77
  59. package/FiberId/dist/effect-FiberId.esm.js +161 -20
  60. package/FiberRef/dist/effect-FiberRef.cjs.dev.js +14 -14
  61. package/FiberRef/dist/effect-FiberRef.cjs.prod.js +14 -14
  62. package/FiberRef/dist/effect-FiberRef.esm.js +289 -75
  63. package/FiberRefs/dist/effect-FiberRefs.esm.js +107 -34
  64. package/FiberRefsPatch/dist/effect-FiberRefsPatch.esm.js +76 -35
  65. package/FiberStatus/dist/effect-FiberStatus.esm.js +89 -7
  66. package/Function/dist/effect-Function.esm.js +492 -1
  67. package/GlobalValue/dist/effect-GlobalValue.esm.js +20 -1
  68. package/GroupBy/dist/effect-GroupBy.cjs.dev.js +37 -37
  69. package/GroupBy/dist/effect-GroupBy.cjs.prod.js +37 -37
  70. package/GroupBy/dist/effect-GroupBy.esm.js +63 -108
  71. package/Hash/dist/effect-Hash.esm.js +164 -5
  72. package/HashMap/dist/effect-HashMap.esm.js +287 -18
  73. package/HashSet/dist/effect-HashSet.esm.js +227 -18
  74. package/Hub/dist/effect-Hub.cjs.dev.js +13 -13
  75. package/Hub/dist/effect-Hub.cjs.prod.js +13 -13
  76. package/Hub/dist/effect-Hub.esm.js +148 -74
  77. package/Inspectable/dist/effect-Inspectable.esm.js +38 -1
  78. package/KeyedPool/dist/effect-KeyedPool.cjs.dev.js +14 -14
  79. package/KeyedPool/dist/effect-KeyedPool.cjs.prod.js +14 -14
  80. package/KeyedPool/dist/effect-KeyedPool.esm.js +104 -75
  81. package/Layer/dist/effect-Layer.cjs.dev.js +22 -22
  82. package/Layer/dist/effect-Layer.cjs.prod.js +22 -22
  83. package/Layer/dist/effect-Layer.esm.js +557 -83
  84. package/List/dist/effect-List.esm.js +816 -21
  85. package/LogLevel/dist/effect-LogLevel.esm.js +202 -33
  86. package/LogSpan/dist/effect-LogSpan.esm.js +24 -1
  87. package/Logger/dist/effect-Logger.cjs.dev.js +24 -24
  88. package/Logger/dist/effect-Logger.cjs.prod.js +24 -24
  89. package/Logger/dist/effect-Logger.esm.js +198 -85
  90. package/Metric/dist/effect-Metric.cjs.dev.js +12 -12
  91. package/Metric/dist/effect-Metric.cjs.prod.js +12 -12
  92. package/Metric/dist/effect-Metric.esm.js +395 -71
  93. package/MetricBoundaries/dist/effect-MetricBoundaries.esm.js +52 -22
  94. package/MetricHook/dist/effect-MetricHook.cjs.dev.js +3 -3
  95. package/MetricHook/dist/effect-MetricHook.cjs.prod.js +3 -3
  96. package/MetricHook/dist/effect-MetricHook.esm.js +68 -27
  97. package/MetricKey/dist/effect-MetricKey.cjs.dev.js +4 -4
  98. package/MetricKey/dist/effect-MetricKey.cjs.prod.js +4 -4
  99. package/MetricKey/dist/effect-MetricKey.esm.js +104 -23
  100. package/MetricKeyType/dist/effect-MetricKeyType.cjs.dev.js +3 -3
  101. package/MetricKeyType/dist/effect-MetricKeyType.cjs.prod.js +3 -3
  102. package/MetricKeyType/dist/effect-MetricKeyType.esm.js +147 -18
  103. package/MetricLabel/dist/effect-MetricLabel.esm.js +41 -9
  104. package/MetricPair/dist/effect-MetricPair.esm.js +38 -3
  105. package/MetricPolling/dist/effect-MetricPolling.cjs.dev.js +18 -18
  106. package/MetricPolling/dist/effect-MetricPolling.cjs.prod.js +18 -18
  107. package/MetricPolling/dist/effect-MetricPolling.esm.js +84 -77
  108. package/MetricRegistry/dist/effect-MetricRegistry.cjs.dev.js +5 -5
  109. package/MetricRegistry/dist/effect-MetricRegistry.cjs.prod.js +5 -5
  110. package/MetricRegistry/dist/effect-MetricRegistry.esm.js +28 -33
  111. package/MetricState/dist/effect-MetricState.esm.js +151 -9
  112. package/MutableHashMap/dist/effect-MutableHashMap.esm.js +128 -20
  113. package/MutableHashSet/dist/effect-MutableHashSet.esm.js +90 -21
  114. package/MutableList/dist/effect-MutableList.esm.js +264 -4
  115. package/MutableQueue/dist/effect-MutableQueue.esm.js +187 -22
  116. package/MutableRef/dist/effect-MutableRef.esm.js +156 -9
  117. package/NonEmptyIterable/dist/effect-NonEmptyIterable.esm.js +28 -1
  118. package/Number/dist/effect-Number.esm.js +369 -5
  119. package/Option/dist/effect-Option.esm.js +1071 -15
  120. package/Order/dist/effect-Order.esm.js +263 -2
  121. package/Ordering/dist/effect-Ordering.esm.js +88 -2
  122. package/Pipeable/dist/effect-Pipeable.esm.js +44 -1
  123. package/Pool/dist/effect-Pool.cjs.dev.js +14 -14
  124. package/Pool/dist/effect-Pool.cjs.prod.js +14 -14
  125. package/Pool/dist/effect-Pool.esm.js +104 -75
  126. package/Predicate/dist/effect-Predicate.esm.js +634 -2
  127. package/Queue/dist/effect-Queue.cjs.dev.js +13 -13
  128. package/Queue/dist/effect-Queue.cjs.prod.js +13 -13
  129. package/Queue/dist/effect-Queue.esm.js +328 -74
  130. package/Random/dist/effect-Random.cjs.dev.js +3 -3
  131. package/Random/dist/effect-Random.cjs.prod.js +3 -3
  132. package/Random/dist/effect-Random.esm.js +83 -42
  133. package/ReadonlyArray/dist/effect-ReadonlyArray.esm.js +1445 -19
  134. package/ReadonlyRecord/dist/effect-ReadonlyRecord.esm.js +518 -17
  135. package/RedBlackTree/dist/effect-RedBlackTree.esm.js +314 -22
  136. package/Ref/dist/effect-Ref.esm.js +111 -33
  137. package/Reloadable/dist/effect-Reloadable.cjs.dev.js +23 -23
  138. package/Reloadable/dist/effect-Reloadable.cjs.prod.js +23 -23
  139. package/Reloadable/dist/effect-Reloadable.esm.js +88 -84
  140. package/Request/dist/effect-Request.cjs.dev.js +13 -13
  141. package/Request/dist/effect-Request.cjs.prod.js +13 -13
  142. package/Request/dist/effect-Request.esm.js +160 -74
  143. package/RequestBlock/dist/effect-RequestBlock.cjs.dev.js +28 -28
  144. package/RequestBlock/dist/effect-RequestBlock.cjs.prod.js +28 -28
  145. package/RequestBlock/dist/effect-RequestBlock.esm.js +103 -91
  146. package/RequestResolver/dist/effect-RequestResolver.cjs.dev.js +28 -28
  147. package/RequestResolver/dist/effect-RequestResolver.cjs.prod.js +28 -28
  148. package/RequestResolver/dist/effect-RequestResolver.esm.js +191 -91
  149. package/Resource/dist/effect-Resource.cjs.dev.js +19 -19
  150. package/Resource/dist/effect-Resource.cjs.prod.js +19 -19
  151. package/Resource/dist/effect-Resource.esm.js +70 -79
  152. package/Runtime/dist/effect-Runtime.cjs.dev.js +20 -20
  153. package/Runtime/dist/effect-Runtime.cjs.prod.js +20 -20
  154. package/Runtime/dist/effect-Runtime.esm.js +157 -79
  155. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.dev.js +24 -24
  156. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.prod.js +24 -24
  157. package/RuntimeFlags/dist/effect-RuntimeFlags.esm.js +305 -85
  158. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.esm.js +158 -27
  159. package/STM/dist/effect-STM.cjs.dev.js +41 -41
  160. package/STM/dist/effect-STM.cjs.prod.js +41 -41
  161. package/STM/dist/effect-STM.esm.js +1193 -112
  162. package/Schedule/dist/effect-Schedule.cjs.dev.js +11 -11
  163. package/Schedule/dist/effect-Schedule.cjs.prod.js +11 -11
  164. package/Schedule/dist/effect-Schedule.esm.js +957 -57
  165. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.dev.js +4 -4
  166. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.prod.js +4 -4
  167. package/ScheduleDecision/dist/effect-ScheduleDecision.esm.js +48 -24
  168. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.dev.js +2 -2
  169. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.prod.js +2 -2
  170. package/ScheduleInterval/dist/effect-ScheduleInterval.esm.js +130 -17
  171. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.dev.js +3 -3
  172. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.prod.js +3 -3
  173. package/ScheduleIntervals/dist/effect-ScheduleIntervals.esm.js +105 -23
  174. package/Scheduler/dist/effect-Scheduler.esm.js +326 -34
  175. package/Scope/dist/effect-Scope.cjs.dev.js +12 -12
  176. package/Scope/dist/effect-Scope.cjs.prod.js +12 -12
  177. package/Scope/dist/effect-Scope.esm.js +117 -71
  178. package/ScopedCache/dist/effect-ScopedCache.cjs.dev.js +14 -14
  179. package/ScopedCache/dist/effect-ScopedCache.cjs.prod.js +14 -14
  180. package/ScopedCache/dist/effect-ScopedCache.esm.js +52 -75
  181. package/ScopedRef/dist/effect-ScopedRef.cjs.dev.js +19 -19
  182. package/ScopedRef/dist/effect-ScopedRef.cjs.prod.js +19 -19
  183. package/ScopedRef/dist/effect-ScopedRef.esm.js +71 -79
  184. package/Sink/dist/effect-Sink.cjs.dev.js +32 -32
  185. package/Sink/dist/effect-Sink.cjs.prod.js +32 -32
  186. package/Sink/dist/effect-Sink.esm.js +997 -101
  187. package/SortedMap/dist/effect-SortedMap.esm.js +168 -23
  188. package/SortedSet/dist/effect-SortedSet.esm.js +263 -23
  189. package/Stream/dist/effect-Stream.cjs.dev.js +37 -37
  190. package/Stream/dist/effect-Stream.cjs.prod.js +37 -37
  191. package/Stream/dist/effect-Stream.esm.js +2879 -108
  192. package/StreamHaltStrategy/dist/effect-StreamHaltStrategy.esm.js +97 -2
  193. package/String/dist/effect-String.esm.js +600 -17
  194. package/Struct/dist/effect-Struct.esm.js +125 -4
  195. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.dev.js +37 -37
  196. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.prod.js +37 -37
  197. package/SubscriptionRef/dist/effect-SubscriptionRef.esm.js +160 -108
  198. package/Supervisor/dist/effect-Supervisor.cjs.dev.js +24 -24
  199. package/Supervisor/dist/effect-Supervisor.cjs.prod.js +24 -24
  200. package/Supervisor/dist/effect-Supervisor.esm.js +148 -85
  201. package/Symbol/dist/effect-Symbol.esm.js +30 -4
  202. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.dev.js +18 -18
  203. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.prod.js +18 -18
  204. package/SynchronizedRef/dist/effect-SynchronizedRef.esm.js +160 -78
  205. package/TArray/dist/effect-TArray.cjs.dev.js +43 -43
  206. package/TArray/dist/effect-TArray.cjs.prod.js +43 -43
  207. package/TArray/dist/effect-TArray.esm.js +367 -114
  208. package/TDeferred/dist/effect-TDeferred.cjs.dev.js +42 -42
  209. package/TDeferred/dist/effect-TDeferred.cjs.prod.js +42 -42
  210. package/TDeferred/dist/effect-TDeferred.esm.js +63 -113
  211. package/THub/dist/effect-THub.cjs.dev.js +44 -44
  212. package/THub/dist/effect-THub.cjs.prod.js +44 -44
  213. package/THub/dist/effect-THub.esm.js +157 -115
  214. package/TMap/dist/effect-TMap.cjs.dev.js +45 -45
  215. package/TMap/dist/effect-TMap.cjs.prod.js +45 -45
  216. package/TMap/dist/effect-TMap.esm.js +373 -116
  217. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.dev.js +41 -41
  218. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.prod.js +41 -41
  219. package/TPriorityQueue/dist/effect-TPriorityQueue.esm.js +184 -113
  220. package/TQueue/dist/effect-TQueue.cjs.dev.js +44 -44
  221. package/TQueue/dist/effect-TQueue.cjs.prod.js +44 -44
  222. package/TQueue/dist/effect-TQueue.esm.js +293 -115
  223. package/TRandom/dist/effect-TRandom.cjs.dev.js +43 -43
  224. package/TRandom/dist/effect-TRandom.cjs.prod.js +43 -43
  225. package/TRandom/dist/effect-TRandom.esm.js +93 -114
  226. package/TReentrantLock/dist/effect-TReentrantLock.cjs.dev.js +41 -41
  227. package/TReentrantLock/dist/effect-TReentrantLock.cjs.prod.js +41 -41
  228. package/TReentrantLock/dist/effect-TReentrantLock.esm.js +199 -112
  229. package/TRef/dist/effect-TRef.cjs.dev.js +41 -41
  230. package/TRef/dist/effect-TRef.cjs.prod.js +41 -41
  231. package/TRef/dist/effect-TRef.esm.js +116 -112
  232. package/TSemaphore/dist/effect-TSemaphore.cjs.dev.js +43 -43
  233. package/TSemaphore/dist/effect-TSemaphore.cjs.prod.js +43 -43
  234. package/TSemaphore/dist/effect-TSemaphore.esm.js +97 -114
  235. package/TSet/dist/effect-TSet.cjs.dev.js +45 -45
  236. package/TSet/dist/effect-TSet.cjs.prod.js +45 -45
  237. package/TSet/dist/effect-TSet.esm.js +268 -116
  238. package/Take/dist/effect-Take.cjs.dev.js +28 -28
  239. package/Take/dist/effect-Take.cjs.prod.js +28 -28
  240. package/Take/dist/effect-Take.esm.js +190 -91
  241. package/TestAnnotation/dist/effect-TestAnnotation.esm.js +111 -26
  242. package/TestAnnotationMap/dist/effect-TestAnnotationMap.esm.js +101 -2
  243. package/TestAnnotations/dist/effect-TestAnnotations.cjs.dev.js +7 -7
  244. package/TestAnnotations/dist/effect-TestAnnotations.cjs.prod.js +7 -7
  245. package/TestAnnotations/dist/effect-TestAnnotations.esm.js +83 -59
  246. package/TestClock/dist/effect-TestClock.cjs.dev.js +24 -24
  247. package/TestClock/dist/effect-TestClock.cjs.prod.js +24 -24
  248. package/TestClock/dist/effect-TestClock.esm.js +411 -87
  249. package/TestConfig/dist/effect-TestConfig.esm.js +27 -18
  250. package/TestContext/dist/effect-TestContext.cjs.dev.js +31 -31
  251. package/TestContext/dist/effect-TestContext.cjs.prod.js +31 -31
  252. package/TestContext/dist/effect-TestContext.esm.js +29 -98
  253. package/TestLive/dist/effect-TestLive.cjs.dev.js +3 -3
  254. package/TestLive/dist/effect-TestLive.cjs.prod.js +3 -3
  255. package/TestLive/dist/effect-TestLive.esm.js +48 -42
  256. package/TestServices/dist/effect-TestServices.cjs.dev.js +29 -29
  257. package/TestServices/dist/effect-TestServices.cjs.prod.js +29 -29
  258. package/TestServices/dist/effect-TestServices.esm.js +269 -96
  259. package/TestSized/dist/effect-TestSized.esm.js +50 -33
  260. package/Tracer/dist/effect-Tracer.cjs.dev.js +3 -3
  261. package/Tracer/dist/effect-Tracer.cjs.prod.js +3 -3
  262. package/Tracer/dist/effect-Tracer.esm.js +68 -42
  263. package/Tuple/dist/effect-Tuple.esm.js +173 -4
  264. package/Unify/dist/effect-Unify.esm.js +40 -2
  265. package/Utils/dist/effect-Utils.esm.js +352 -3
  266. package/dist/{Cache-e7468f24.cjs.dev.js → Cache-1688e584.cjs.dev.js} +1 -1
  267. package/dist/{Cache-65f7e875.cjs.prod.js → Cache-8f2f2b55.cjs.prod.js} +1 -1
  268. package/dist/{Channel-482334e0.cjs.prod.js → Channel-2ce019f1.cjs.prod.js} +2 -2
  269. package/dist/{Channel-4099f225.cjs.dev.js → Channel-544108d2.cjs.dev.js} +2 -2
  270. package/dist/{ChannelSingleProducerAsyncInput-e1260219.cjs.dev.js → ChannelSingleProducerAsyncInput-62f4749c.cjs.dev.js} +1 -1
  271. package/dist/{ChannelSingleProducerAsyncInput-9d23aac3.cjs.prod.js → ChannelSingleProducerAsyncInput-6e0084c3.cjs.prod.js} +1 -1
  272. package/dist/{Clock-0b777b1b.cjs.prod.js → Clock-09ecce0a.cjs.prod.js} +1 -1
  273. package/dist/{Clock-80bf3b4b.cjs.dev.js → Clock-bec722c1.cjs.dev.js} +1 -1
  274. package/dist/{Console-69b2fba9.cjs.prod.js → Console-150b7b40.cjs.prod.js} +3 -3
  275. package/dist/{Console-ff87924b.cjs.dev.js → Console-4825ee9f.cjs.dev.js} +3 -3
  276. package/dist/{DefaultServices-c1a6b148.cjs.dev.js → DefaultServices-d5740d37.cjs.dev.js} +1 -1
  277. package/dist/{DefaultServices-6a83f0aa.cjs.prod.js → DefaultServices-df7495bb.cjs.prod.js} +1 -1
  278. package/dist/{Duration-011e7325.cjs.prod.js → Duration-0bc08d03.cjs.prod.js} +8 -0
  279. package/dist/{Duration-5ac57eb4.cjs.dev.js → Duration-604874d1.cjs.dev.js} +8 -0
  280. package/dist/{Effect-f0659a90.cjs.prod.js → Effect-1442090f.cjs.prod.js} +9 -9
  281. package/dist/{Effect-8392a3cd.cjs.dev.js → Effect-6e9780e6.cjs.dev.js} +9 -9
  282. package/dist/{Error-5edcd83a.cjs.dev.js → Error-5ab157f2.cjs.dev.js} +1 -1
  283. package/dist/{Error-d7f0de14.cjs.prod.js → Error-e9d25c53.cjs.prod.js} +1 -1
  284. package/dist/{Fiber-c797d281.cjs.dev.js → Fiber-6432d5f7.cjs.dev.js} +3 -3
  285. package/dist/{Fiber-3b2a4091.cjs.prod.js → Fiber-e61b3c65.cjs.prod.js} +3 -3
  286. package/dist/{FiberRef-61cd9abe.cjs.dev.js → FiberRef-1db44a9b.cjs.dev.js} +2 -2
  287. package/dist/{FiberRef-0b332631.cjs.prod.js → FiberRef-efb4a3ac.cjs.prod.js} +2 -2
  288. package/dist/{GroupBy-bd212344.cjs.dev.js → GroupBy-8a8149b4.cjs.dev.js} +1 -1
  289. package/dist/{GroupBy-bb08aeb2.cjs.prod.js → GroupBy-b74084af.cjs.prod.js} +1 -1
  290. package/dist/{Hub-926961e9.cjs.prod.js → Hub-6e64debd.cjs.prod.js} +2 -2
  291. package/dist/{Hub-af0194fd.cjs.dev.js → Hub-74834668.cjs.dev.js} +2 -2
  292. package/dist/{KeyedPool-f7b4675c.cjs.dev.js → KeyedPool-b05481e9.cjs.dev.js} +3 -3
  293. package/dist/{KeyedPool-0ddba691.cjs.prod.js → KeyedPool-cd8abf95.cjs.prod.js} +3 -3
  294. package/dist/{Layer-ec0ab71c.cjs.prod.js → Layer-297269fd.cjs.prod.js} +1 -1
  295. package/dist/{Layer-6ad0ac38.cjs.dev.js → Layer-c69f3fdc.cjs.dev.js} +1 -1
  296. package/dist/{Logger-620f1fa9.cjs.dev.js → Logger-680763c7.cjs.dev.js} +2 -2
  297. package/dist/{Logger-3df1180d.cjs.prod.js → Logger-7a664cc3.cjs.prod.js} +2 -2
  298. package/dist/{Metric-ebc35919.cjs.dev.js → Metric-09d012ff.cjs.dev.js} +1 -1
  299. package/dist/{Metric-9607aa06.cjs.prod.js → Metric-b7563a68.cjs.prod.js} +1 -1
  300. package/dist/{MetricHook-fdc68e37.cjs.dev.js → MetricHook-3104e93b.cjs.dev.js} +1 -1
  301. package/dist/{MetricHook-a742d813.cjs.prod.js → MetricHook-efd05d72.cjs.prod.js} +1 -1
  302. package/dist/{MetricKey-b17b2c9a.cjs.prod.js → MetricKey-9cfcaec8.cjs.prod.js} +1 -1
  303. package/dist/{MetricKey-be3afc49.cjs.dev.js → MetricKey-c3ba437e.cjs.dev.js} +1 -1
  304. package/dist/{MetricKeyType-3dfa6802.cjs.prod.js → MetricKeyType-6d2d9036.cjs.prod.js} +1 -1
  305. package/dist/{MetricKeyType-fba3e0ec.cjs.dev.js → MetricKeyType-c1d7ebe8.cjs.dev.js} +1 -1
  306. package/dist/{MetricPolling-061de6b9.cjs.dev.js → MetricPolling-5af0ff67.cjs.dev.js} +3 -3
  307. package/dist/{MetricPolling-6e5e4b2e.cjs.prod.js → MetricPolling-a0a4e798.cjs.prod.js} +3 -3
  308. package/dist/{MetricRegistry-4df5e56b.cjs.dev.js → MetricRegistry-e4af936b.cjs.dev.js} +1 -1
  309. package/dist/{MetricRegistry-da2c65bd.cjs.prod.js → MetricRegistry-ff6df283.cjs.prod.js} +1 -1
  310. package/dist/{Pool-d8e4142e.cjs.prod.js → Pool-54389592.cjs.prod.js} +1 -1
  311. package/dist/{Pool-e8a79a57.cjs.dev.js → Pool-fe1b506a.cjs.dev.js} +1 -1
  312. package/dist/{Queue-de055f1c.cjs.prod.js → Queue-5f954287.cjs.prod.js} +1 -1
  313. package/dist/{Queue-55a39179.cjs.dev.js → Queue-8d082fe4.cjs.dev.js} +1 -1
  314. package/dist/{Random-d6a2f801.cjs.dev.js → Random-35304046.cjs.dev.js} +1 -1
  315. package/dist/{Random-ade126e8.cjs.prod.js → Random-b4709b6a.cjs.prod.js} +1 -1
  316. package/dist/{Reloadable-5f1ed95c.cjs.prod.js → Reloadable-2b8ba75d.cjs.prod.js} +5 -5
  317. package/dist/{Reloadable-e8bcb00e.cjs.dev.js → Reloadable-b01c9297.cjs.dev.js} +5 -5
  318. package/dist/{Request-45226c5f.cjs.prod.js → Request-53592fe4.cjs.prod.js} +2 -2
  319. package/dist/{Request-9d12c3ba.cjs.dev.js → Request-d3b63af6.cjs.dev.js} +2 -2
  320. package/dist/{RequestBlock-0e9f377b.cjs.dev.js → RequestBlock-1aa4c3bd.cjs.dev.js} +1 -1
  321. package/dist/{RequestBlock-d4c7c31d.cjs.prod.js → RequestBlock-8c3b51d1.cjs.prod.js} +1 -1
  322. package/dist/{RequestResolver-8764ee8c.cjs.prod.js → RequestResolver-133197d5.cjs.prod.js} +2 -2
  323. package/dist/{RequestResolver-b287a04a.cjs.dev.js → RequestResolver-86c21b80.cjs.dev.js} +2 -2
  324. package/dist/{Resource-f95cf55a.cjs.prod.js → Resource-2530fe45.cjs.prod.js} +3 -3
  325. package/dist/{Resource-4f2b627f.cjs.dev.js → Resource-e50b4b25.cjs.dev.js} +3 -3
  326. package/dist/{Runtime-969e6cb2.cjs.prod.js → Runtime-0d643f0c.cjs.prod.js} +1 -1
  327. package/dist/{Runtime-dc0234a0.cjs.dev.js → Runtime-c4b887ff.cjs.dev.js} +1 -1
  328. package/dist/{RuntimeFlags-7a400d83.cjs.prod.js → RuntimeFlags-9d8fac5a.cjs.prod.js} +1 -1
  329. package/dist/{RuntimeFlags-60dfc3f5.cjs.dev.js → RuntimeFlags-f67e3984.cjs.dev.js} +1 -1
  330. package/dist/{STM-b8d9766d.cjs.prod.js → STM-23270be2.cjs.prod.js} +2 -2
  331. package/dist/{STM-af9026e6.cjs.dev.js → STM-5a4c9921.cjs.dev.js} +2 -2
  332. package/dist/{Schedule-58648908.cjs.prod.js → Schedule-0444792d.cjs.prod.js} +1 -1
  333. package/dist/{Schedule-76089454.cjs.dev.js → Schedule-b6c7b49a.cjs.dev.js} +1 -1
  334. package/dist/{ScheduleDecision-fbd6bb79.cjs.prod.js → ScheduleDecision-369f2d2b.cjs.prod.js} +1 -1
  335. package/dist/{ScheduleDecision-9555a6dc.cjs.dev.js → ScheduleDecision-ba8d0e87.cjs.dev.js} +1 -1
  336. package/dist/{ScheduleInterval-3ca6dbb0.cjs.dev.js → ScheduleInterval-51f42533.cjs.dev.js} +1 -1
  337. package/dist/{ScheduleInterval-15c7da05.cjs.prod.js → ScheduleInterval-78037484.cjs.prod.js} +1 -1
  338. package/dist/{ScheduleIntervals-36ff45c1.cjs.dev.js → ScheduleIntervals-b0bfcf3b.cjs.dev.js} +1 -1
  339. package/dist/{ScheduleIntervals-a5bbdb0d.cjs.prod.js → ScheduleIntervals-db13140c.cjs.prod.js} +1 -1
  340. package/dist/{Scope-e3e714b4.cjs.prod.js → Scope-311c7eb9.cjs.prod.js} +1 -1
  341. package/dist/{Scope-820b74b2.cjs.dev.js → Scope-6ba9ec6d.cjs.dev.js} +1 -1
  342. package/dist/{ScopedCache-f9b2f52e.cjs.dev.js → ScopedCache-3f58b125.cjs.dev.js} +5 -5
  343. package/dist/{ScopedCache-467ccc2b.cjs.prod.js → ScopedCache-8f99505c.cjs.prod.js} +5 -5
  344. package/dist/{ScopedRef-b45fd0e8.cjs.prod.js → ScopedRef-7946d287.cjs.prod.js} +1 -1
  345. package/dist/{ScopedRef-735385de.cjs.dev.js → ScopedRef-b92e1633.cjs.dev.js} +1 -1
  346. package/dist/{Sink-dffe83ea.cjs.dev.js → Sink-9f13da17.cjs.dev.js} +1 -1
  347. package/dist/{Sink-cb1bba84.cjs.prod.js → Sink-9f82fc3b.cjs.prod.js} +1 -1
  348. package/dist/{Stream-c348a386.cjs.dev.js → Stream-14325ecb.cjs.dev.js} +2 -2
  349. package/dist/{Stream-39e8de11.cjs.prod.js → Stream-cf262c16.cjs.prod.js} +2 -2
  350. package/dist/{SubscriptionRef-62745b92.cjs.prod.js → SubscriptionRef-aa7bdc5f.cjs.prod.js} +5 -5
  351. package/dist/{SubscriptionRef-53e8686c.cjs.dev.js → SubscriptionRef-d3c1aa07.cjs.dev.js} +5 -5
  352. package/dist/{Supervisor-0ea7382b.cjs.prod.js → Supervisor-21087253.cjs.prod.js} +2 -2
  353. package/dist/{Supervisor-cf21fcaa.cjs.dev.js → Supervisor-40dd7ce5.cjs.dev.js} +2 -2
  354. package/dist/{SynchronizedRef-9e9689e9.cjs.dev.js → SynchronizedRef-3181eb0a.cjs.dev.js} +1 -1
  355. package/dist/{SynchronizedRef-2cc5af97.cjs.prod.js → SynchronizedRef-c6e0884b.cjs.prod.js} +1 -1
  356. package/dist/{TArray-6057170a.cjs.prod.js → TArray-6767b4bd.cjs.prod.js} +1 -1
  357. package/dist/{TArray-0b280c93.cjs.dev.js → TArray-a0a4c6e6.cjs.dev.js} +1 -1
  358. package/dist/{TDeferred-73b5dfc2.cjs.prod.js → TDeferred-a9839479.cjs.prod.js} +3 -3
  359. package/dist/{TDeferred-786b2b13.cjs.dev.js → TDeferred-ac2c4025.cjs.dev.js} +3 -3
  360. package/dist/{THub-810db270.cjs.prod.js → THub-25b77864.cjs.prod.js} +5 -5
  361. package/dist/{THub-bcd35bc0.cjs.dev.js → THub-38053ae1.cjs.dev.js} +5 -5
  362. package/dist/{TMap-7206da08.cjs.prod.js → TMap-91505efa.cjs.prod.js} +1 -1
  363. package/dist/{TMap-06e0747b.cjs.dev.js → TMap-de8ac080.cjs.dev.js} +1 -1
  364. package/dist/{TPriorityQueue-71490af5.cjs.prod.js → TPriorityQueue-00b65d1a.cjs.prod.js} +2 -2
  365. package/dist/{TPriorityQueue-0844551b.cjs.dev.js → TPriorityQueue-96ff0e15.cjs.dev.js} +2 -2
  366. package/dist/{TQueue-67ccf55b.cjs.prod.js → TQueue-5e242ca2.cjs.prod.js} +1 -1
  367. package/dist/{TQueue-5621ef6e.cjs.dev.js → TQueue-707762bf.cjs.dev.js} +1 -1
  368. package/dist/{TRandom-c974e739.cjs.dev.js → TRandom-5eb21d23.cjs.dev.js} +5 -5
  369. package/dist/{TRandom-557dc8e1.cjs.prod.js → TRandom-ec9c7bf7.cjs.prod.js} +5 -5
  370. package/dist/{TReentrantLock-5f7cba2d.cjs.dev.js → TReentrantLock-1b77d76f.cjs.dev.js} +3 -3
  371. package/dist/{TReentrantLock-e6ee830e.cjs.prod.js → TReentrantLock-c5a8401e.cjs.prod.js} +3 -3
  372. package/dist/{TRef-f7b2bc6f.cjs.prod.js → TRef-b87580d7.cjs.prod.js} +1 -1
  373. package/dist/{TRef-38eac0f0.cjs.dev.js → TRef-cf2e8ad7.cjs.dev.js} +1 -1
  374. package/dist/{TSemaphore-28d87428.cjs.prod.js → TSemaphore-29503416.cjs.prod.js} +4 -4
  375. package/dist/{TSemaphore-3cf15f77.cjs.dev.js → TSemaphore-50edec08.cjs.dev.js} +4 -4
  376. package/dist/{TSet-677ac73c.cjs.prod.js → TSet-3c2568e9.cjs.prod.js} +2 -2
  377. package/dist/{TSet-1dca2ef3.cjs.dev.js → TSet-bb4775ca.cjs.dev.js} +2 -2
  378. package/dist/{Take-bfdbd28d.cjs.dev.js → Take-684c9901.cjs.dev.js} +1 -1
  379. package/dist/{Take-e40627bd.cjs.prod.js → Take-b4c91438.cjs.prod.js} +1 -1
  380. package/dist/{TestAnnotations-14444032.cjs.prod.js → TestAnnotations-5db95828.cjs.prod.js} +2 -2
  381. package/dist/{TestAnnotations-ee0f8c79.cjs.dev.js → TestAnnotations-733b39ef.cjs.dev.js} +2 -2
  382. package/dist/{TestClock-30ba14e8.cjs.prod.js → TestClock-89a36b89.cjs.prod.js} +8 -8
  383. package/dist/{TestClock-d782f3ee.cjs.dev.js → TestClock-e2773846.cjs.dev.js} +8 -8
  384. package/dist/{TestContext-eebb1aad.cjs.dev.js → TestContext-3328163e.cjs.dev.js} +4 -4
  385. package/dist/{TestContext-f76f750e.cjs.prod.js → TestContext-917bf305.cjs.prod.js} +4 -4
  386. package/dist/{TestLive-dc458127.cjs.dev.js → TestLive-465ad3ef.cjs.dev.js} +1 -1
  387. package/dist/{TestLive-e5d614fe.cjs.prod.js → TestLive-f3232ac4.cjs.prod.js} +1 -1
  388. package/dist/{TestServices-b3af20a3.cjs.prod.js → TestServices-605f726e.cjs.prod.js} +6 -6
  389. package/dist/{TestServices-7a60d735.cjs.dev.js → TestServices-921e5c42.cjs.dev.js} +6 -6
  390. package/dist/{Tracer-3cd1e3bc.cjs.prod.js → Tracer-d06d0b61.cjs.prod.js} +1 -1
  391. package/dist/{Tracer-435e56fd.cjs.dev.js → Tracer-da182c8c.cjs.dev.js} +1 -1
  392. package/dist/{cache-66637407.cjs.dev.js → cache-6cdc31f7.cjs.dev.js} +3 -3
  393. package/dist/{cache-c88afdc0.cjs.prod.js → cache-ab7bbfbd.cjs.prod.js} +3 -3
  394. package/dist/{circular-d08ca815.cjs.dev.js → circular-4cb0b79d.cjs.dev.js} +5 -5
  395. package/dist/{circular-7eed8a92.cjs.prod.js → circular-5b3558d9.cjs.prod.js} +5 -5
  396. package/dist/{circular-5c436934.cjs.dev.js → circular-78011d6b.cjs.dev.js} +3 -3
  397. package/dist/{circular-c8f8e360.cjs.prod.js → circular-81b4c556.cjs.prod.js} +3 -3
  398. package/dist/{core-20a91d69.cjs.prod.js → core-4ced6e17.cjs.prod.js} +4 -4
  399. package/dist/{core-6e50c01f.cjs.dev.js → core-d9eea905.cjs.dev.js} +4 -4
  400. package/dist/{core-effect-780f9db7.cjs.dev.js → core-effect-a9b8ee08.cjs.dev.js} +4 -4
  401. package/dist/{core-effect-023f4abe.cjs.prod.js → core-effect-bf806dd9.cjs.prod.js} +4 -4
  402. package/dist/{dataSource-7ec08fa5.cjs.prod.js → dataSource-abccc876.cjs.prod.js} +2 -2
  403. package/dist/{dataSource-e56e2a99.cjs.dev.js → dataSource-d5f79f4e.cjs.dev.js} +2 -2
  404. package/dist/declarations/src/Duration.d.ts +5 -0
  405. package/dist/declarations/src/Duration.d.ts.map +1 -1
  406. package/dist/{defaultServices-452aebad.cjs.prod.js → defaultServices-4112c0c9.cjs.prod.js} +1 -1
  407. package/dist/{defaultServices-e9a9b935.cjs.dev.js → defaultServices-60c753dc.cjs.dev.js} +1 -1
  408. package/dist/effect.cjs.dev.js +93 -93
  409. package/dist/effect.cjs.prod.js +93 -93
  410. package/dist/effect.esm.js +283 -197
  411. package/dist/{fiber-2975db3a.cjs.prod.js → fiber-90ffaf8c.cjs.prod.js} +1 -1
  412. package/dist/{fiber-1132297b.cjs.dev.js → fiber-da1a207c.cjs.dev.js} +1 -1
  413. package/dist/{fiberRuntime-9d6d53be.cjs.prod.js → fiberRuntime-1c369a47.cjs.prod.js} +7 -7
  414. package/dist/{fiberRuntime-ac7fae54.cjs.dev.js → fiberRuntime-e9680313.cjs.dev.js} +7 -7
  415. package/dist/{groupBy-f0a83f90.cjs.prod.js → groupBy-0cc85afb.cjs.prod.js} +5 -5
  416. package/dist/{groupBy-e1d3c5e8.cjs.dev.js → groupBy-b204a881.cjs.dev.js} +5 -5
  417. package/dist/{hook-0bf192b2.cjs.prod.js → hook-6c7550dc.cjs.prod.js} +1 -1
  418. package/dist/{hook-9e86d119.cjs.dev.js → hook-822704ea.cjs.dev.js} +1 -1
  419. package/dist/{key-a79acfe7.cjs.prod.js → key-330b98b1.cjs.prod.js} +1 -1
  420. package/dist/{key-6ac569ca.cjs.dev.js → key-a474fc0d.cjs.dev.js} +1 -1
  421. package/dist/{keyType-c1e7cfc5.cjs.dev.js → keyType-1e916ae2.cjs.dev.js} +1 -1
  422. package/dist/{keyType-681c1c4a.cjs.prod.js → keyType-8460e792.cjs.prod.js} +1 -1
  423. package/dist/{layer-f0c8023d.cjs.dev.js → layer-ae8eefad.cjs.dev.js} +9 -9
  424. package/dist/{layer-db9c42be.cjs.prod.js → layer-ffacc2c5.cjs.prod.js} +9 -9
  425. package/dist/{pool-cd9f1284.cjs.dev.js → pool-3f16af61.cjs.dev.js} +4 -4
  426. package/dist/{pool-975b7d21.cjs.prod.js → pool-59a31f55.cjs.prod.js} +4 -4
  427. package/dist/{query-12e387cf.cjs.dev.js → query-193d0a89.cjs.dev.js} +3 -3
  428. package/dist/{query-eb8a7001.cjs.prod.js → query-fe4a82d6.cjs.prod.js} +3 -3
  429. package/dist/{queue-0dbc2b3f.cjs.dev.js → queue-04ae7ec7.cjs.dev.js} +1 -1
  430. package/dist/{queue-f70dda1a.cjs.prod.js → queue-b81aee38.cjs.prod.js} +1 -1
  431. package/dist/{registry-92c00ecd.cjs.prod.js → registry-29905dcc.cjs.prod.js} +2 -2
  432. package/dist/{registry-9e9ae2c7.cjs.dev.js → registry-c883cf52.cjs.dev.js} +2 -2
  433. package/dist/{runtime-f8d0f39b.cjs.dev.js → runtime-3ae98f19.cjs.dev.js} +3 -3
  434. package/dist/{runtime-0ada41f2.cjs.prod.js → runtime-8c3f1bd3.cjs.prod.js} +3 -3
  435. package/dist/{schedule-18b063cb.cjs.dev.js → schedule-479d8fcc.cjs.dev.js} +7 -7
  436. package/dist/{schedule-f918adf5.cjs.prod.js → schedule-7e30db2d.cjs.prod.js} +7 -7
  437. package/dist/{scopedRef-50091b28.cjs.dev.js → scopedRef-16d9d192.cjs.dev.js} +3 -3
  438. package/dist/{scopedRef-d6396f06.cjs.prod.js → scopedRef-40b5bb82.cjs.prod.js} +3 -3
  439. package/dist/{singleProducerAsyncInput-f3dd657f.cjs.dev.js → singleProducerAsyncInput-552122e6.cjs.dev.js} +1 -1
  440. package/dist/{singleProducerAsyncInput-bd600183.cjs.prod.js → singleProducerAsyncInput-c5ff73b7.cjs.prod.js} +1 -1
  441. package/dist/{sink-bb64c8a6.cjs.dev.js → sink-16a1a901.cjs.dev.js} +9 -9
  442. package/dist/{sink-6a1db2b0.cjs.prod.js → sink-c9ae7558.cjs.prod.js} +9 -9
  443. package/dist/{stm-2b8fa344.cjs.dev.js → stm-44f045e5.cjs.dev.js} +3 -3
  444. package/dist/{stm-e3401389.cjs.prod.js → stm-59af7e62.cjs.prod.js} +3 -3
  445. package/dist/{stream-7bc5bfac.cjs.dev.js → stream-84a13e23.cjs.dev.js} +13 -17
  446. package/dist/{stream-22ea5a61.cjs.prod.js → stream-8acbee57.cjs.prod.js} +13 -17
  447. package/dist/{tArray-a211cc29.cjs.prod.js → tArray-a690480d.cjs.prod.js} +3 -3
  448. package/dist/{tArray-36a6e713.cjs.dev.js → tArray-c0a3d1e2.cjs.dev.js} +3 -3
  449. package/dist/{tMap-fd504724.cjs.dev.js → tMap-1c1b10c4.cjs.dev.js} +5 -5
  450. package/dist/{tMap-9c22a2ff.cjs.prod.js → tMap-8dfc92f5.cjs.prod.js} +5 -5
  451. package/dist/{tQueue-4b66ca7b.cjs.prod.js → tQueue-48a29f8b.cjs.prod.js} +4 -4
  452. package/dist/{tQueue-565f8994.cjs.dev.js → tQueue-aaec000f.cjs.dev.js} +4 -4
  453. package/dist/{tRef-565db536.cjs.dev.js → tRef-1df89632.cjs.dev.js} +1 -1
  454. package/dist/{tRef-74dff65b.cjs.prod.js → tRef-cc473a9f.cjs.prod.js} +1 -1
  455. package/dist/{take-05ea3c27.cjs.prod.js → take-906e6ef4.cjs.prod.js} +1 -1
  456. package/dist/{take-f87477f8.cjs.dev.js → take-e1c6b82a.cjs.dev.js} +1 -1
  457. package/{dist/Context-149c432f.esm.js → internal/Context.esm.js} +9 -9
  458. package/internal/Data.esm.js +49 -0
  459. package/internal/Differ/ChunkPatch.esm.js +131 -0
  460. package/internal/Differ/ContextPatch.esm.js +158 -0
  461. package/internal/Differ/HashMapPatch.esm.js +133 -0
  462. package/internal/Differ/HashSetPatch.esm.js +107 -0
  463. package/internal/Differ/OrPatch.esm.js +196 -0
  464. package/internal/Differ.esm.js +130 -0
  465. package/internal/Effectable.esm.js +89 -0
  466. package/internal/Either.esm.js +95 -0
  467. package/internal/Encoding/Base64.esm.js +74 -0
  468. package/internal/Encoding/Base64Url.esm.js +24 -0
  469. package/internal/Encoding/Common.esm.js +21 -0
  470. package/internal/Encoding/Hex.esm.js +55 -0
  471. package/internal/HashMap/array.esm.js +51 -0
  472. package/internal/HashMap/bitwise.esm.js +34 -0
  473. package/internal/HashMap/config.esm.js +16 -0
  474. package/internal/HashMap/keySet.esm.js +8 -0
  475. package/internal/HashMap/node.esm.js +253 -0
  476. package/internal/HashMap.esm.js +366 -0
  477. package/internal/HashSet.esm.js +211 -0
  478. package/internal/Option.esm.js +75 -0
  479. package/{dist/ReadonlyArray-c8b1f51c.esm.js → internal/ReadonlyArray.esm.js} +1 -1
  480. package/internal/RedBlackTree/iterator.esm.js +204 -0
  481. package/internal/RedBlackTree/node.esm.js +43 -0
  482. package/{dist/RedBlackTree-611b3b4c.esm.js → internal/RedBlackTree.esm.js} +65 -655
  483. package/{dist/Stack-765c2298.esm.js → internal/Stack.esm.js} +1 -1
  484. package/internal/blockedRequests.esm.js +365 -0
  485. package/{dist/cache-d62912e6.esm.js → internal/cache.esm.js} +18 -18
  486. package/internal/cause.esm.js +1067 -0
  487. package/internal/channel/channelExecutor.esm.js +692 -0
  488. package/internal/channel/channelState.esm.js +78 -0
  489. package/{dist/childExecutorDecision-a7b466d2.esm.js → internal/channel/childExecutorDecision.esm.js} +3 -17
  490. package/internal/channel/continuation.esm.js +58 -0
  491. package/{dist/mergeDecision-d31cb28c.esm.js → internal/channel/mergeDecision.esm.js} +3 -12
  492. package/{dist/mergeState-1325df20.esm.js → internal/channel/mergeState.esm.js} +3 -17
  493. package/{dist/mergeStrategy-a88b5442.esm.js → internal/channel/mergeStrategy.esm.js} +3 -12
  494. package/{dist/singleProducerAsyncInput-5b2ede75.esm.js → internal/channel/singleProducerAsyncInput.esm.js} +8 -8
  495. package/internal/channel/subexecutor.esm.js +153 -0
  496. package/{dist/upstreamPullRequest-fed99e29.esm.js → internal/channel/upstreamPullRequest.esm.js} +3 -12
  497. package/{dist/upstreamPullStrategy-d5d1aa92.esm.js → internal/channel/upstreamPullStrategy.esm.js} +3 -12
  498. package/internal/channel.esm.js +648 -0
  499. package/internal/clock.esm.js +82 -0
  500. package/internal/completedRequestMap.esm.js +7 -0
  501. package/internal/concurrency.esm.js +47 -0
  502. package/{dist/config-b039b99f.esm.js → internal/config.esm.js} +12 -66
  503. package/{dist/configError-8b2e2999.esm.js → internal/configError.esm.js} +5 -34
  504. package/{dist/pathPatch-f393ab1b.esm.js → internal/configProvider/pathPatch.esm.js} +7 -7
  505. package/{dist/configProvider-c997961d.esm.js → internal/configProvider.esm.js} +16 -79
  506. package/{dist/configSecret-6e9eaf9d.esm.js → internal/configSecret.esm.js} +5 -5
  507. package/internal/console.esm.js +72 -0
  508. package/{dist/core-effect-57445976.esm.js → internal/core-effect.esm.js} +26 -53
  509. package/internal/core-stream.esm.js +293 -0
  510. package/internal/core.esm.js +1745 -0
  511. package/{dist/dataSource-1f41ea46.esm.js → internal/dataSource.esm.js} +9 -8
  512. package/internal/defaultServices/console.esm.js +96 -0
  513. package/internal/defaultServices.esm.js +84 -0
  514. package/internal/deferred.esm.js +37 -0
  515. package/{dist/circular-08fb0138.esm.js → internal/effect/circular.esm.js} +23 -20
  516. package/internal/executionStrategy.esm.js +61 -0
  517. package/{dist/fiber-8fb398f3.esm.js → internal/fiber.esm.js} +15 -121
  518. package/internal/fiberId.esm.js +243 -0
  519. package/internal/fiberMessage.esm.js +54 -0
  520. package/{dist/patch-743d675c.esm.js → internal/fiberRefs/patch.esm.js} +5 -5
  521. package/{dist/fiberRefs-69cce1a0.esm.js → internal/fiberRefs.esm.js} +8 -8
  522. package/{dist/fiberRuntime-bfcf5f49.esm.js → internal/fiberRuntime.esm.js} +152 -1006
  523. package/internal/fiberScope.esm.js +58 -0
  524. package/internal/fiberStatus.esm.js +89 -0
  525. package/{dist/groupBy-d11b31b1.esm.js → internal/groupBy.esm.js} +16 -14
  526. package/{dist/Hub-121dbf51.esm.js → internal/hub.esm.js} +34 -196
  527. package/internal/keyedPool.esm.js +161 -0
  528. package/{dist/circular-e463e1e6.esm.js → internal/layer/circular.esm.js} +10 -8
  529. package/{dist/layer-35828af7.esm.js → internal/layer.esm.js} +21 -65
  530. package/internal/logSpan.esm.js +15 -0
  531. package/internal/logger-circular.esm.js +21 -0
  532. package/internal/logger.esm.js +213 -0
  533. package/{dist/boundaries-52029180.esm.js → internal/metric/boundaries.esm.js} +7 -7
  534. package/{dist/hook-fd61107b.esm.js → internal/metric/hook.esm.js} +10 -10
  535. package/{dist/key-340a2bae.esm.js → internal/metric/key.esm.js} +9 -9
  536. package/{dist/keyType-869d90f8.esm.js → internal/metric/keyType.esm.js} +6 -6
  537. package/{dist/label-0cc6c9a0.esm.js → internal/metric/label.esm.js} +5 -5
  538. package/{dist/pair-5bb3eef4.esm.js → internal/metric/pair.esm.js} +2 -2
  539. package/internal/metric/polling.esm.js +74 -0
  540. package/{dist/registry-c59aeb06.esm.js → internal/metric/registry.esm.js} +8 -8
  541. package/{dist/state-2c6abdb1.esm.js → internal/metric/state.esm.js} +5 -5
  542. package/internal/metric.esm.js +204 -0
  543. package/internal/opCodes/cause.esm.js +31 -0
  544. package/internal/opCodes/channel.esm.js +71 -0
  545. package/internal/opCodes/channelChildExecutorDecision.esm.js +16 -0
  546. package/internal/opCodes/channelMergeDecision.esm.js +11 -0
  547. package/internal/opCodes/channelMergeState.esm.js +16 -0
  548. package/internal/opCodes/channelMergeStrategy.esm.js +11 -0
  549. package/internal/opCodes/channelState.esm.js +21 -0
  550. package/internal/opCodes/channelUpstreamPullRequest.esm.js +11 -0
  551. package/internal/opCodes/channelUpstreamPullStrategy.esm.js +11 -0
  552. package/internal/opCodes/config.esm.js +56 -0
  553. package/internal/opCodes/configError.esm.js +31 -0
  554. package/internal/opCodes/continuation.esm.js +11 -0
  555. package/internal/opCodes/deferred.esm.js +11 -0
  556. package/internal/opCodes/effect.esm.js +71 -0
  557. package/internal/opCodes/layer.esm.js +46 -0
  558. package/internal/opCodes/streamHaltStrategy.esm.js +21 -0
  559. package/{dist/pool-7d5c25ef.esm.js → internal/pool.esm.js} +13 -13
  560. package/{dist/query-242f7fda.esm.js → internal/query.esm.js} +10 -7
  561. package/{dist/queue-f74db567.esm.js → internal/queue.esm.js} +10 -10
  562. package/internal/random.esm.js +58 -0
  563. package/internal/ref.esm.js +121 -0
  564. package/internal/reloadable.esm.js +62 -0
  565. package/internal/request.esm.js +81 -0
  566. package/internal/resource.esm.js +35 -0
  567. package/internal/ringBuffer.esm.js +56 -0
  568. package/{dist/runtime-bcdd4416.esm.js → internal/runtime.esm.js} +19 -17
  569. package/internal/runtimeFlags.esm.js +137 -0
  570. package/internal/runtimeFlagsPatch.esm.js +57 -0
  571. package/internal/schedule/decision.esm.js +45 -0
  572. package/internal/schedule/interval.esm.js +85 -0
  573. package/internal/schedule/intervals.esm.js +135 -0
  574. package/{dist/schedule-566ae18c.esm.js → internal/schedule.esm.js} +26 -25
  575. package/{dist/ScopedCache-8fa7e96d.esm.js → internal/scopedCache.esm.js} +27 -83
  576. package/{dist/scopedRef-0fdefef8.esm.js → internal/scopedRef.esm.js} +10 -10
  577. package/internal/singleShotGen.esm.js +30 -0
  578. package/internal/sink.esm.js +918 -0
  579. package/{dist/core-f6cae6d7.esm.js → internal/stm/core.esm.js} +46 -525
  580. package/internal/stm/opCodes/stm.esm.js +56 -0
  581. package/internal/stm/opCodes/stmState.esm.js +16 -0
  582. package/internal/stm/opCodes/strategy.esm.js +16 -0
  583. package/internal/stm/opCodes/tExit.esm.js +26 -0
  584. package/internal/stm/opCodes/tryCommit.esm.js +11 -0
  585. package/internal/stm/stm/entry.esm.js +47 -0
  586. package/internal/stm/stm/journal.esm.js +96 -0
  587. package/internal/stm/stm/stmState.esm.js +104 -0
  588. package/internal/stm/stm/tExit.esm.js +113 -0
  589. package/internal/stm/stm/tryCommit.esm.js +25 -0
  590. package/internal/stm/stm/txnId.esm.js +15 -0
  591. package/internal/stm/stm/versioned.esm.js +8 -0
  592. package/{dist/stm-6937f6f2.esm.js → internal/stm/stm.esm.js} +16 -14
  593. package/{dist/tArray-79024770.esm.js → internal/stm/tArray.esm.js} +8 -8
  594. package/internal/stm/tDeferred.esm.js +49 -0
  595. package/{dist/THub-573c2fb3.esm.js → internal/stm/tHub.esm.js} +28 -200
  596. package/{dist/tMap-907e37f4.esm.js → internal/stm/tMap.esm.js} +13 -13
  597. package/internal/stm/tPriorityQueue.esm.js +156 -0
  598. package/{dist/tQueue-74395d76.esm.js → internal/stm/tQueue.esm.js} +10 -24
  599. package/internal/stm/tRandom.esm.js +89 -0
  600. package/internal/stm/tReentrantLock.esm.js +216 -0
  601. package/{dist/tRef-fc8ff438.esm.js → internal/stm/tRef.esm.js} +6 -4
  602. package/internal/stm/tSemaphore.esm.js +73 -0
  603. package/internal/stm/tSet.esm.js +113 -0
  604. package/internal/stream/debounceState.esm.js +39 -0
  605. package/internal/stream/emit.esm.js +51 -0
  606. package/internal/stream/haltStrategy.esm.js +74 -0
  607. package/internal/stream/handoff.esm.js +79 -0
  608. package/internal/stream/handoffSignal.esm.js +40 -0
  609. package/internal/stream/pull.esm.js +10 -0
  610. package/internal/stream/sinkEndReason.esm.js +27 -0
  611. package/internal/stream/zipAllState.esm.js +65 -0
  612. package/internal/stream/zipChunksState.esm.js +41 -0
  613. package/{dist/stream-e44fba40.esm.js → internal/stream.esm.js} +399 -770
  614. package/internal/string-utils.esm.js +66 -0
  615. package/internal/subscriptionRef.esm.js +65 -0
  616. package/internal/supervisor/patch.esm.js +156 -0
  617. package/internal/supervisor.esm.js +204 -0
  618. package/{dist/synchronizedRef-1ceb6bd3.esm.js → internal/synchronizedRef.esm.js} +4 -4
  619. package/{dist/take-0d5e0eab.esm.js → internal/take.esm.js} +8 -8
  620. package/internal/testing/suspendedWarningData.esm.js +66 -0
  621. package/internal/testing/warningData.esm.js +75 -0
  622. package/{dist/timeout-4180303d.esm.js → internal/timeout.esm.js} +1 -1
  623. package/internal/tracer.esm.js +61 -0
  624. package/package.json +700 -554
  625. package/dist/Bigint-bf034c1f.esm.js +0 -370
  626. package/dist/Boolean-bf38e241.esm.js +0 -248
  627. package/dist/Brand-f068009f.esm.js +0 -215
  628. package/dist/Cache-27cd0ab7.esm.js +0 -120
  629. package/dist/Cause-5946c7a3.esm.js +0 -730
  630. package/dist/Channel-4bba5096.esm.js +0 -1109
  631. package/dist/ChannelChildExecutorDecision-674b3a48.esm.js +0 -125
  632. package/dist/ChannelMergeDecision-e5f34de0.esm.js +0 -70
  633. package/dist/ChannelMergeState-ae694a7c.esm.js +0 -114
  634. package/dist/ChannelMergeStrategy-9ef51c54.esm.js +0 -95
  635. package/dist/ChannelSingleProducerAsyncInput-1d15a3ec.esm.js +0 -52
  636. package/dist/ChannelUpstreamPullRequest-9b3a6733.esm.js +0 -95
  637. package/dist/ChannelUpstreamPullStrategy-85e1042b.esm.js +0 -94
  638. package/dist/Chunk-4c1f4599.esm.js +0 -1167
  639. package/dist/Clock-f8b987d7.esm.js +0 -88
  640. package/dist/Config-8d8f5a9f.esm.js +0 -358
  641. package/dist/ConfigError-41421a53.esm.js +0 -206
  642. package/dist/ConfigProvider-977168f2.esm.js +0 -220
  643. package/dist/ConfigProviderPathPatch-881ec2b5.esm.js +0 -79
  644. package/dist/ConfigSecret-9d3bf471.esm.js +0 -74
  645. package/dist/Console-9be5cd81.esm.js +0 -247
  646. package/dist/Context-c41aa832.esm.js +0 -312
  647. package/dist/Data-dee529b9.esm.js +0 -224
  648. package/dist/DefaultServices-b70d7e44.esm.js +0 -30
  649. package/dist/Deferred-9010d2ac.esm.js +0 -230
  650. package/dist/Differ-a249bf4d.esm.js +0 -975
  651. package/dist/Duration-98bca14c.esm.js +0 -467
  652. package/dist/Effect-ee05a487.esm.js +0 -3417
  653. package/dist/Effectable-a292d920.esm.js +0 -158
  654. package/dist/Effectable-d9b23ee3.esm.js +0 -89
  655. package/dist/Either-408d23a8.esm.js +0 -163
  656. package/dist/Either-aa46c018.esm.js +0 -473
  657. package/dist/Encoding-d95012ad.esm.js +0 -295
  658. package/dist/Equal-2a99fde3.esm.js +0 -65
  659. package/dist/Equivalence-cf2752b1.esm.js +0 -218
  660. package/dist/Error-083b7b69.esm.js +0 -53
  661. package/dist/ExecutionStrategy-e3775e86.esm.js +0 -168
  662. package/dist/Exit-666b4f01.esm.js +0 -371
  663. package/dist/Fiber-ebef9c60.esm.js +0 -473
  664. package/dist/FiberId-17e50f05.esm.js +0 -422
  665. package/dist/FiberRef-ddf157fd.esm.js +0 -338
  666. package/dist/FiberRefs-f705c1b5.esm.js +0 -122
  667. package/dist/FiberRefsPatch-04e0adc7.esm.js +0 -84
  668. package/dist/FiberStatus-7a24d5ef.esm.js +0 -187
  669. package/dist/Function-12511160.esm.js +0 -516
  670. package/dist/GlobalValue-b5edf230.esm.js +0 -25
  671. package/dist/GroupBy-4c667347.esm.js +0 -72
  672. package/dist/HKT-1990744d.esm.js +0 -5
  673. package/dist/Hash-7910f34f.esm.js +0 -179
  674. package/dist/HashMap-6c230bde.esm.js +0 -327
  675. package/dist/HashSet-69824ba8.esm.js +0 -907
  676. package/dist/HashSet-ae2856c1.esm.js +0 -256
  677. package/dist/Inspectable-b0c51e90.esm.js +0 -45
  678. package/dist/KeyedPool-08ee3618.esm.js +0 -273
  679. package/dist/Layer-8586a429.esm.js +0 -623
  680. package/dist/List-6e58a1e9.esm.js +0 -865
  681. package/dist/LogLevel-5a4fa506.esm.js +0 -222
  682. package/dist/LogSpan-f36e9619.esm.js +0 -42
  683. package/dist/Logger-aafaa76b.esm.js +0 -246
  684. package/dist/Metric-fef02dd6.esm.js +0 -442
  685. package/dist/MetricBoundaries-c8610876.esm.js +0 -61
  686. package/dist/MetricHook-6859801b.esm.js +0 -80
  687. package/dist/MetricKey-d1b96e85.esm.js +0 -118
  688. package/dist/MetricKeyType-4ce20904.esm.js +0 -168
  689. package/dist/MetricLabel-123185d1.esm.js +0 -48
  690. package/dist/MetricPair-840a98b7.esm.js +0 -45
  691. package/dist/MetricPolling-538e65c8.esm.js +0 -167
  692. package/dist/MetricRegistry-1e32438c.esm.js +0 -34
  693. package/dist/MetricState-ccc2e0db.esm.js +0 -172
  694. package/dist/MutableHashMap-02b39969.esm.js +0 -142
  695. package/dist/MutableHashSet-db4f96e8.esm.js +0 -101
  696. package/dist/MutableList-76401868.esm.js +0 -281
  697. package/dist/MutableQueue-446ac662.esm.js +0 -202
  698. package/dist/MutableRef-2734b082.esm.js +0 -176
  699. package/dist/NonEmptyIterable-e78d759e.esm.js +0 -33
  700. package/dist/Number-4b836a09.esm.js +0 -394
  701. package/dist/Option-df40d2b9.esm.js +0 -1135
  702. package/dist/Order-a875fe30.esm.js +0 -293
  703. package/dist/Ordering-079176ff.esm.js +0 -97
  704. package/dist/Pipeable-10760a1d.esm.js +0 -49
  705. package/dist/Pool-f1667f78.esm.js +0 -114
  706. package/dist/Predicate-6b61b95b.esm.js +0 -677
  707. package/dist/Queue-d99be5de.esm.js +0 -362
  708. package/dist/Random-5ed16d23.esm.js +0 -94
  709. package/dist/ReadonlyArray-0a71b226.esm.js +0 -1584
  710. package/dist/ReadonlyRecord-c9f03980.esm.js +0 -544
  711. package/dist/Ref-5eefaff1.esm.js +0 -248
  712. package/dist/Reloadable-e2eba7eb.esm.js +0 -159
  713. package/dist/Request-8b0e9130.esm.js +0 -175
  714. package/dist/RequestBlock-88afac19.esm.js +0 -114
  715. package/dist/RequestResolver-f17a25be.esm.js +0 -213
  716. package/dist/Resource-525ecb8a.esm.js +0 -111
  717. package/dist/Runtime-7b6c0a8b.esm.js +0 -175
  718. package/dist/RuntimeFlags-60048f70.esm.js +0 -344
  719. package/dist/RuntimeFlagsPatch-51f77dce.esm.js +0 -365
  720. package/dist/STM-1ef98d11.esm.js +0 -1321
  721. package/dist/Schedule-8502145c.esm.js +0 -1059
  722. package/dist/ScheduleDecision-e0b221dc.esm.js +0 -99
  723. package/dist/ScheduleInterval-cc7fc624.esm.js +0 -229
  724. package/dist/ScheduleIntervals-c4dc0500.esm.js +0 -252
  725. package/dist/Scheduler-844c1a90.esm.js +0 -343
  726. package/dist/Scope-0253ac82.esm.js +0 -131
  727. package/dist/ScopedRef-d92cda3b.esm.js +0 -80
  728. package/dist/Sink-322b0a96.esm.js +0 -1107
  729. package/dist/SortedMap-e429b26f.esm.js +0 -190
  730. package/dist/SortedSet-ffc2cefd.esm.js +0 -288
  731. package/dist/Stream-a54c82e5.esm.js +0 -3175
  732. package/dist/StreamEmit-bd696ab0.esm.js +0 -5
  733. package/dist/StreamHaltStrategy-592df221.esm.js +0 -201
  734. package/dist/String-5d27ad4c.esm.js +0 -648
  735. package/dist/Struct-b95eb81c.esm.js +0 -134
  736. package/dist/SubscriptionRef-93d8d20b.esm.js +0 -245
  737. package/dist/Supervisor-802f0ad0.esm.js +0 -160
  738. package/dist/Symbol-81368584.esm.js +0 -36
  739. package/dist/SynchronizedRef-5b418159.esm.js +0 -187
  740. package/dist/TArray-e0699120.esm.js +0 -412
  741. package/dist/TDeferred-96a9e821.esm.js +0 -120
  742. package/dist/TMap-0b08af84.esm.js +0 -419
  743. package/dist/TPriorityQueue-a5eb73d4.esm.js +0 -360
  744. package/dist/TQueue-2c224826.esm.js +0 -324
  745. package/dist/TRandom-dbfd1b25.esm.js +0 -192
  746. package/dist/TReentrantLock-83290260.esm.js +0 -435
  747. package/dist/TRef-bb02383a.esm.js +0 -135
  748. package/dist/TSemaphore-9a746009.esm.js +0 -183
  749. package/dist/TSet-91c5d646.esm.js +0 -412
  750. package/dist/Take-880079f7.esm.js +0 -214
  751. package/dist/TestAnnotation-f4477615.esm.js +0 -124
  752. package/dist/TestAnnotationMap-11d08509.esm.js +0 -114
  753. package/dist/TestAnnotations-39f7e011.esm.js +0 -91
  754. package/dist/TestClock-ab72e391.esm.js +0 -565
  755. package/dist/TestConfig-0d2c885c.esm.js +0 -33
  756. package/dist/TestContext-61178585.esm.js +0 -36
  757. package/dist/TestLive-61a5e471.esm.js +0 -55
  758. package/dist/TestServices-310ebe14.esm.js +0 -306
  759. package/dist/TestSized-745ac7e5.esm.js +0 -58
  760. package/dist/Tracer-da65ce12.esm.js +0 -75
  761. package/dist/Tuple-eefd2c03.esm.js +0 -187
  762. package/dist/Types-be3804ad.esm.js +0 -5
  763. package/dist/Unify-118c2d56.esm.js +0 -45
  764. package/dist/Utils-80c21479.esm.js +0 -362
  765. package/dist/core-64ab7ff5.esm.js +0 -3225
  766. package/dist/defaultServices-b9ca1236.esm.js +0 -359
  767. package/dist/sink-637a9670.esm.js +0 -2877
@@ -1,1135 +0,0 @@
1
- import { a as equivalence } from './Equal-2a99fde3.esm.js';
2
- import { m as make } from './Equivalence-cf2752b1.esm.js';
3
- import { d as dual, e as constNull, f as constUndefined, i as identity } from './Function-12511160.esm.js';
4
- import { n as none$1, s as some$1, i as isOption$1, a as isNone$1, b as isSome$1, g as getRight$1, c as getLeft$1, r as right, l as left, d as isLeft } from './Either-408d23a8.esm.js';
5
- import { s as sum$1, m as multiply$1, a as subtract$1, d as divide$1 } from './Number-4b836a09.esm.js';
6
- import { a as make$1 } from './Order-a875fe30.esm.js';
7
- import { a as adapter$1 } from './Utils-80c21479.esm.js';
8
-
9
- /**
10
- * @since 2.0.0
11
- */
12
-
13
- /**
14
- * @category models
15
- * @since 2.0.0
16
- */
17
-
18
- /**
19
- * @category symbols
20
- * @since 2.0.0
21
- */
22
- const TypeId = /*#__PURE__*/Symbol.for("effect/Option");
23
-
24
- /**
25
- * @category symbols
26
- * @since 2.0.0
27
- */
28
-
29
- /**
30
- * @category models
31
- * @since 2.0.0
32
- */
33
-
34
- /**
35
- * @category models
36
- * @since 2.0.0
37
- */
38
-
39
- /**
40
- * @category models
41
- * @since 2.0.0
42
- */
43
-
44
- /**
45
- * @category models
46
- * @since 2.0.0
47
- */
48
-
49
- /**
50
- * @category type lambdas
51
- * @since 2.0.0
52
- */
53
-
54
- /**
55
- * Creates a new `Option` that represents the absence of a value.
56
- *
57
- * @category constructors
58
- * @since 2.0.0
59
- */
60
- const none = () => none$1;
61
-
62
- /**
63
- * Creates a new `Option` that wraps the given value.
64
- *
65
- * @param value - The value to wrap.
66
- *
67
- * @category constructors
68
- * @since 2.0.0
69
- */
70
- const some = some$1;
71
-
72
- /**
73
- * Tests if a value is a `Option`.
74
- *
75
- * @param input - The value to check.
76
- *
77
- * @example
78
- * import { some, none, isOption } from 'effect/Option'
79
- *
80
- * assert.deepStrictEqual(isOption(some(1)), true)
81
- * assert.deepStrictEqual(isOption(none()), true)
82
- * assert.deepStrictEqual(isOption({}), false)
83
- *
84
- * @category guards
85
- * @since 2.0.0
86
- */
87
- const isOption = isOption$1;
88
-
89
- /**
90
- * Determine if a `Option` is a `None`.
91
- *
92
- * @param self - The `Option` to check.
93
- *
94
- * @example
95
- * import { some, none, isNone } from 'effect/Option'
96
- *
97
- * assert.deepStrictEqual(isNone(some(1)), false)
98
- * assert.deepStrictEqual(isNone(none()), true)
99
- *
100
- * @category guards
101
- * @since 2.0.0
102
- */
103
- const isNone = isNone$1;
104
-
105
- /**
106
- * Determine if a `Option` is a `Some`.
107
- *
108
- * @param self - The `Option` to check.
109
- *
110
- * @example
111
- * import { some, none, isSome } from 'effect/Option'
112
- *
113
- * assert.deepStrictEqual(isSome(some(1)), true)
114
- * assert.deepStrictEqual(isSome(none()), false)
115
- *
116
- * @category guards
117
- * @since 2.0.0
118
- */
119
- const isSome = isSome$1;
120
-
121
- /**
122
- * Matches the given `Option` and returns either the provided `onNone` value or the result of the provided `onSome`
123
- * function when passed the `Option`'s value.
124
- *
125
- * @param self - The `Option` to match
126
- * @param onNone - The value to be returned if the `Option` is `None`
127
- * @param onSome - The function to be called if the `Option` is `Some`, it will be passed the `Option`'s value and its result will be returned
128
- *
129
- * @example
130
- * import { some, none, match } from 'effect/Option'
131
- * import { pipe } from "effect/Function"
132
- *
133
- * assert.deepStrictEqual(
134
- * pipe(some(1), match({ onNone: () => 'a none', onSome: (a) => `a some containing ${a}` })),
135
- * 'a some containing 1'
136
- * )
137
- *
138
- * assert.deepStrictEqual(
139
- * pipe(none(), match({ onNone: () => 'a none', onSome: (a) => `a some containing ${a}` })),
140
- * 'a none'
141
- * )
142
- *
143
- * @category pattern matching
144
- * @since 2.0.0
145
- */
146
- const match = /*#__PURE__*/dual(2, (self, {
147
- onNone,
148
- onSome
149
- }) => isNone(self) ? onNone() : onSome(self.value));
150
-
151
- /**
152
- * Returns a type guard from a `Option` returning function.
153
- * This function ensures that a type guard definition is type-safe.
154
- *
155
- * @example
156
- * import * as O from "effect/Option"
157
- *
158
- * const parsePositive = (n: number): O.Option<number> =>
159
- * n > 0 ? O.some(n) : O.none()
160
- *
161
- * const isPositive = O.toRefinement(parsePositive)
162
- *
163
- * assert.deepStrictEqual(isPositive(1), true)
164
- * assert.deepStrictEqual(isPositive(-1), false)
165
- *
166
- * @category conversions
167
- * @since 2.0.0
168
- */
169
- const toRefinement = f => a => isSome(f(a));
170
-
171
- /**
172
- * Converts an `Iterable` of values into an `Option`. Returns the first value of the `Iterable` wrapped in a `Some`
173
- * if the `Iterable` is not empty, otherwise returns `None`.
174
- *
175
- * @param collection - The `Iterable` to be converted to an `Option`.
176
- *
177
- * @example
178
- * import { fromIterable, some, none } from 'effect/Option'
179
- *
180
- * assert.deepStrictEqual(fromIterable([1, 2, 3]), some(1))
181
- * assert.deepStrictEqual(fromIterable([]), none())
182
- *
183
- * @category conversions
184
- * @since 2.0.0
185
- */
186
- const fromIterable = collection => {
187
- for (const a of collection) {
188
- return some(a);
189
- }
190
- return none();
191
- };
192
-
193
- /**
194
- * Converts a `Either` to an `Option` discarding the error.
195
- *
196
- * Alias of {@link fromEither}.
197
- *
198
- * @example
199
- * import * as O from "effect/Option"
200
- * import * as E from "effect/Either"
201
- *
202
- * assert.deepStrictEqual(O.getRight(E.right('ok')), O.some('ok'))
203
- * assert.deepStrictEqual(O.getRight(E.left('err')), O.none())
204
- *
205
- * @category conversions
206
- * @since 2.0.0
207
- */
208
- const getRight = getRight$1;
209
-
210
- /**
211
- * Converts a `Either` to an `Option` discarding the value.
212
- *
213
- * @example
214
- * import * as O from "effect/Option"
215
- * import * as E from "effect/Either"
216
- *
217
- * assert.deepStrictEqual(O.getLeft(E.right("ok")), O.none())
218
- * assert.deepStrictEqual(O.getLeft(E.left("a")), O.some("a"))
219
- *
220
- * @category conversions
221
- * @since 2.0.0
222
- */
223
- const getLeft = getLeft$1;
224
-
225
- /**
226
- * Returns the value of the `Option` if it is `Some`, otherwise returns `onNone`
227
- *
228
- * @param self - The `Option` to get the value of.
229
- * @param onNone - Function that returns the default value to return if the `Option` is `None`.
230
- *
231
- * @example
232
- * import { some, none, getOrElse } from 'effect/Option'
233
- * import { pipe } from "effect/Function"
234
- *
235
- * assert.deepStrictEqual(pipe(some(1), getOrElse(() => 0)), 1)
236
- * assert.deepStrictEqual(pipe(none(), getOrElse(() => 0)), 0)
237
- *
238
- * @category getters
239
- * @since 2.0.0
240
- */
241
- const getOrElse = /*#__PURE__*/dual(2, (self, onNone) => isNone(self) ? onNone() : self.value);
242
-
243
- /**
244
- * Returns the provided `Option` `that` if `self` is `None`, otherwise returns `self`.
245
- *
246
- * @param self - The first `Option` to be checked.
247
- * @param that - The `Option` to return if `self` is `None`.
248
- *
249
- * @example
250
- * import * as O from "effect/Option"
251
- * import { pipe } from "effect/Function"
252
- *
253
- * assert.deepStrictEqual(
254
- * pipe(
255
- * O.none(),
256
- * O.orElse(() => O.none())
257
- * ),
258
- * O.none()
259
- * )
260
- * assert.deepStrictEqual(
261
- * pipe(
262
- * O.some('a'),
263
- * O.orElse(() => O.none())
264
- * ),
265
- * O.some('a')
266
- * )
267
- * assert.deepStrictEqual(
268
- * pipe(
269
- * O.none(),
270
- * O.orElse(() => O.some('b'))
271
- * ),
272
- * O.some('b')
273
- * )
274
- * assert.deepStrictEqual(
275
- * pipe(
276
- * O.some('a'),
277
- * O.orElse(() => O.some('b'))
278
- * ),
279
- * O.some('a')
280
- * )
281
- *
282
- * @category error handling
283
- * @since 2.0.0
284
- */
285
- const orElse = /*#__PURE__*/dual(2, (self, that) => isNone(self) ? that() : self);
286
-
287
- /**
288
- * Similar to `orElse`, but instead of returning a simple union, it returns an `Either` object,
289
- * which contains information about which of the two `Option`s has been chosen.
290
- *
291
- * This is useful when it's important to know whether the value was retrieved from the first `Option` or the second option.
292
- *
293
- * @param self - The first `Option` to be checked.
294
- * @param that - The second `Option` to be considered if the first `Option` is `None`.
295
- *
296
- * @category error handling
297
- * @since 2.0.0
298
- */
299
- const orElseEither = /*#__PURE__*/dual(2, (self, that) => isNone(self) ? map(that(), right) : map(self, left));
300
-
301
- /**
302
- * Given an `Iterable` collection of `Option`s, returns the first `Some` found in the collection.
303
- *
304
- * @param collection - An iterable collection of `Option` to be searched.
305
- *
306
- * @example
307
- * import * as O from "effect/Option"
308
- *
309
- * assert.deepStrictEqual(O.firstSomeOf([O.none(), O.some(1), O.some(2)]), O.some(1))
310
- *
311
- * @category error handling
312
- * @since 2.0.0
313
- */
314
- const firstSomeOf = collection => {
315
- let out = none();
316
- for (out of collection) {
317
- if (isSome(out)) {
318
- return out;
319
- }
320
- }
321
- return out;
322
- };
323
-
324
- /**
325
- * Constructs a new `Option` from a nullable type. If the value is `null` or `undefined`, returns `None`, otherwise
326
- * returns the value wrapped in a `Some`.
327
- *
328
- * @param nullableValue - The nullable value to be converted to an `Option`.
329
- *
330
- * @example
331
- * import * as O from "effect/Option"
332
- *
333
- * assert.deepStrictEqual(O.fromNullable(undefined), O.none())
334
- * assert.deepStrictEqual(O.fromNullable(null), O.none())
335
- * assert.deepStrictEqual(O.fromNullable(1), O.some(1))
336
- *
337
- * @category conversions
338
- * @since 2.0.0
339
- */
340
- const fromNullable = nullableValue => nullableValue == null ? none() : some(nullableValue);
341
-
342
- /**
343
- * This API is useful for lifting a function that returns `null` or `undefined` into the `Option` context.
344
- *
345
- * @example
346
- * import * as O from "effect/Option"
347
- *
348
- * const parse = (s: string): number | undefined => {
349
- * const n = parseFloat(s)
350
- * return isNaN(n) ? undefined : n
351
- * }
352
- *
353
- * const parseOption = O.liftNullable(parse)
354
- *
355
- * assert.deepStrictEqual(parseOption('1'), O.some(1))
356
- * assert.deepStrictEqual(parseOption('not a number'), O.none())
357
- *
358
- * @category conversions
359
- * @since 2.0.0
360
- */
361
- const liftNullable = f => (...a) => fromNullable(f(...a));
362
-
363
- /**
364
- * Returns the value of the `Option` if it is a `Some`, otherwise returns `null`.
365
- *
366
- * @param self - The `Option` to extract the value from.
367
- *
368
- * @example
369
- * import * as O from "effect/Option"
370
- *
371
- * assert.deepStrictEqual(O.getOrNull(O.some(1)), 1)
372
- * assert.deepStrictEqual(O.getOrNull(O.none()), null)
373
- *
374
- * @category getters
375
- * @since 2.0.0
376
- */
377
- const getOrNull = /*#__PURE__*/getOrElse(constNull);
378
-
379
- /**
380
- * Returns the value of the `Option` if it is a `Some`, otherwise returns `undefined`.
381
- *
382
- * @param self - The `Option` to extract the value from.
383
- *
384
- * @example
385
- * import * as O from "effect/Option"
386
- *
387
- * assert.deepStrictEqual(O.getOrUndefined(O.some(1)), 1)
388
- * assert.deepStrictEqual(O.getOrUndefined(O.none()), undefined)
389
- *
390
- * @category getters
391
- * @since 2.0.0
392
- */
393
- const getOrUndefined = /*#__PURE__*/getOrElse(constUndefined);
394
-
395
- /**
396
- * A utility function that lifts a function that throws exceptions into a function that returns an `Option`.
397
- *
398
- * This function is useful for any function that might throw an exception, allowing the developer to handle
399
- * the exception in a more functional way.
400
- *
401
- * @param f - the function that can throw exceptions.
402
- *
403
- * @example
404
- * import * as O from "effect/Option"
405
- *
406
- * const parse = O.liftThrowable(JSON.parse)
407
- *
408
- * assert.deepStrictEqual(parse("1"), O.some(1))
409
- * assert.deepStrictEqual(parse(""), O.none())
410
- *
411
- * @category conversions
412
- * @since 2.0.0
413
- */
414
- const liftThrowable = f => (...a) => {
415
- try {
416
- return some(f(...a));
417
- } catch (e) {
418
- return none();
419
- }
420
- };
421
-
422
- /**
423
- * Extracts the value of an `Option` or throws if the `Option` is `None`.
424
- *
425
- * If a default error is sufficient for your use case and you don't need to configure the thrown error, see {@link getOrThrow}.
426
- *
427
- * @param self - The `Option` to extract the value from.
428
- * @param onNone - A function that will be called if the `Option` is `None`. It returns the error to be thrown.
429
- *
430
- * @example
431
- * import * as O from "effect/Option"
432
- *
433
- * assert.deepStrictEqual(
434
- * O.getOrThrowWith(O.some(1), () => new Error('Unexpected None')),
435
- * 1
436
- * )
437
- * assert.throws(() => O.getOrThrowWith(O.none(), () => new Error('Unexpected None')))
438
- *
439
- * @category conversions
440
- * @since 2.0.0
441
- */
442
- const getOrThrowWith = /*#__PURE__*/dual(2, (self, onNone) => {
443
- if (isSome(self)) {
444
- return self.value;
445
- }
446
- throw onNone();
447
- });
448
-
449
- /**
450
- * Extracts the value of an `Option` or throws if the `Option` is `None`.
451
- *
452
- * The thrown error is a default error. To configure the error thrown, see {@link getOrThrowWith}.
453
- *
454
- * @param self - The `Option` to extract the value from.
455
- * @throws `Error("getOrThrow called on a None")`
456
- *
457
- * @example
458
- * import * as O from "effect/Option"
459
- *
460
- * assert.deepStrictEqual(O.getOrThrow(O.some(1)), 1)
461
- * assert.throws(() => O.getOrThrow(O.none()))
462
- *
463
- * @category conversions
464
- * @since 2.0.0
465
- */
466
- const getOrThrow = /*#__PURE__*/getOrThrowWith(() => new Error("getOrThrow called on a None"));
467
-
468
- /**
469
- * Maps the `Some` side of an `Option` value to a new `Option` value.
470
- *
471
- * @param self - An `Option` to map
472
- * @param f - The function to map over the value of the `Option`
473
- *
474
- * @category transforming
475
- * @since 2.0.0
476
- */
477
- const map = /*#__PURE__*/dual(2, (self, f) => isNone(self) ? none() : some(f(self.value)));
478
-
479
- /**
480
- * Maps the `Some` value of this `Option` to the specified constant value.
481
- *
482
- * @category transforming
483
- * @since 2.0.0
484
- */
485
- const as = /*#__PURE__*/dual(2, (self, b) => map(self, () => b));
486
-
487
- /**
488
- * Maps the `Some` value of this `Option` to the `void` constant value.
489
- *
490
- * This is useful when the value of the `Option` is not needed, but the presence or absence of the value is important.
491
- *
492
- * @category transforming
493
- * @since 2.0.0
494
- */
495
- const asUnit = /*#__PURE__*/as(undefined);
496
-
497
- /**
498
- * @since 2.0.0
499
- */
500
- const unit = /*#__PURE__*/some(undefined);
501
-
502
- /**
503
- * Applies a function to the value of an `Option` and flattens the result, if the input is `Some`.
504
- *
505
- * @category transforming
506
- * @since 2.0.0
507
- */
508
- const flatMap = /*#__PURE__*/dual(2, (self, f) => isNone(self) ? none() : f(self.value));
509
-
510
- /**
511
- * This is `flatMap` + `fromNullable`, useful when working with optional values.
512
- *
513
- * @example
514
- * import { some, none, flatMapNullable } from 'effect/Option'
515
- * import { pipe } from "effect/Function"
516
- *
517
- * interface Employee {
518
- * company?: {
519
- * address?: {
520
- * street?: {
521
- * name?: string
522
- * }
523
- * }
524
- * }
525
- * }
526
- *
527
- * const employee1: Employee = { company: { address: { street: { name: 'high street' } } } }
528
- *
529
- * assert.deepStrictEqual(
530
- * pipe(
531
- * some(employee1),
532
- * flatMapNullable(employee => employee.company?.address?.street?.name),
533
- * ),
534
- * some('high street')
535
- * )
536
- *
537
- * const employee2: Employee = { company: { address: { street: {} } } }
538
- *
539
- * assert.deepStrictEqual(
540
- * pipe(
541
- * some(employee2),
542
- * flatMapNullable(employee => employee.company?.address?.street?.name),
543
- * ),
544
- * none()
545
- * )
546
- *
547
- * @category transforming
548
- * @since 2.0.0
549
- */
550
- const flatMapNullable = /*#__PURE__*/dual(2, (self, f) => isNone(self) ? none() : fromNullable(f(self.value)));
551
-
552
- /**
553
- * @category transforming
554
- * @since 2.0.0
555
- */
556
- const flatten = /*#__PURE__*/flatMap(identity);
557
-
558
- /**
559
- * @category transforming
560
- * @since 2.0.0
561
- */
562
- const zipRight = /*#__PURE__*/dual(2, (self, that) => flatMap(self, () => that));
563
-
564
- /**
565
- * @category transforming
566
- * @since 2.0.0
567
- */
568
- const composeK = /*#__PURE__*/dual(2, (afb, bfc) => a => flatMap(afb(a), bfc));
569
-
570
- /**
571
- * Sequences the specified `that` `Option` but ignores its value.
572
- *
573
- * It is useful when we want to chain multiple operations, but only care about the result of `self`.
574
- *
575
- * @param that - The `Option` that will be ignored in the chain and discarded
576
- * @param self - The `Option` we care about
577
- *
578
- * @category transforming
579
- * @since 2.0.0
580
- */
581
- const zipLeft = /*#__PURE__*/dual(2, (self, that) => tap(self, () => that));
582
-
583
- /**
584
- * Applies the provided function `f` to the value of the `Option` if it is `Some` and returns the original `Option`
585
- * unless `f` returns `None`, in which case it returns `None`.
586
- *
587
- * This function is useful for performing additional computations on the value of the input `Option` without affecting its value.
588
- *
589
- * @param f - Function to apply to the value of the `Option` if it is `Some`
590
- * @param self - The `Option` to apply the function to
591
- *
592
- * @example
593
- * import * as O from "effect/Option"
594
- *
595
- * const getInteger = (n: number) => Number.isInteger(n) ? O.some(n) : O.none()
596
- *
597
- * assert.deepStrictEqual(O.tap(O.none(), getInteger), O.none())
598
- * assert.deepStrictEqual(O.tap(O.some(1), getInteger), O.some(1))
599
- * assert.deepStrictEqual(O.tap(O.some(1.14), getInteger), O.none())
600
- *
601
- * @category transforming
602
- * @since 2.0.0
603
- */
604
- const tap = /*#__PURE__*/dual(2, (self, f) => flatMap(self, a => map(f(a), () => a)));
605
-
606
- /**
607
- * @category combining
608
- * @since 2.0.0
609
- */
610
- const product = (self, that) => isSome(self) && isSome(that) ? some([self.value, that.value]) : none();
611
-
612
- /**
613
- * @category combining
614
- * @since 2.0.0
615
- */
616
- const productMany = (self, collection) => {
617
- if (isNone(self)) {
618
- return none();
619
- }
620
- const out = [self.value];
621
- for (const o of collection) {
622
- if (isNone(o)) {
623
- return none();
624
- }
625
- out.push(o.value);
626
- }
627
- return some(out);
628
- };
629
-
630
- /**
631
- * Takes a structure of `Option`s and returns an `Option` of values with the same structure.
632
- *
633
- * - If a tuple is supplied, then the returned `Option` will contain a tuple with the same length.
634
- * - If a struct is supplied, then the returned `Option` will contain a struct with the same keys.
635
- * - If an iterable is supplied, then the returned `Option` will contain an array.
636
- *
637
- * @param fields - the struct of `Option`s to be sequenced.
638
- *
639
- * @example
640
- * import * as O from "effect/Option"
641
- *
642
- * assert.deepStrictEqual(O.all([O.some(1), O.some(2)]), O.some([1, 2]))
643
- * assert.deepStrictEqual(O.all({ a: O.some(1), b: O.some("hello") }), O.some({ a: 1, b: "hello" }))
644
- * assert.deepStrictEqual(O.all({ a: O.some(1), b: O.none() }), O.none())
645
- *
646
- * @category combining
647
- * @since 2.0.0
648
- */
649
- // @ts-expect-error
650
- const all = input => {
651
- if (Symbol.iterator in input) {
652
- const out = [];
653
- for (const o of input) {
654
- if (isNone(o)) {
655
- return none();
656
- }
657
- out.push(o.value);
658
- }
659
- return some(out);
660
- }
661
- const out = {};
662
- for (const key of Object.keys(input)) {
663
- const o = input[key];
664
- if (isNone(o)) {
665
- return none();
666
- }
667
- out[key] = o.value;
668
- }
669
- return some(out);
670
- };
671
-
672
- /**
673
- * Zips two `Option` values together using a provided function, returning a new `Option` of the result.
674
- *
675
- * @param self - The left-hand side of the zip operation
676
- * @param that - The right-hand side of the zip operation
677
- * @param f - The function used to combine the values of the two `Option`s
678
- *
679
- * @example
680
- * import * as O from "effect/Option"
681
- *
682
- * type Complex = [number, number]
683
- *
684
- * const complex = (real: number, imaginary: number): Complex => [real, imaginary]
685
- *
686
- * assert.deepStrictEqual(O.zipWith(O.none(), O.none(), complex), O.none())
687
- * assert.deepStrictEqual(O.zipWith(O.some(1), O.none(), complex), O.none())
688
- * assert.deepStrictEqual(O.zipWith(O.none(), O.some(1), complex), O.none())
689
- * assert.deepStrictEqual(O.zipWith(O.some(1), O.some(2), complex), O.some([1, 2]))
690
- *
691
- * assert.deepStrictEqual(O.zipWith(O.some(1), complex)(O.some(2)), O.some([2, 1]))
692
- *
693
- * @category combining
694
- * @since 2.0.0
695
- */
696
- const zipWith = /*#__PURE__*/dual(3, (self, that, f) => map(product(self, that), ([a, b]) => f(a, b)));
697
-
698
- /**
699
- * @category combining
700
- * @since 2.0.0
701
- */
702
- const ap = /*#__PURE__*/dual(2, (self, that) => zipWith(self, that, (f, a) => f(a)));
703
-
704
- /**
705
- * Reduces an `Iterable` of `Option<A>` to a single value of type `B`, elements that are `None` are ignored.
706
- *
707
- * @param self - The Iterable of `Option<A>` to be reduced.
708
- * @param b - The initial value of the accumulator.
709
- * @param f - The reducing function that takes the current accumulator value and the unwrapped value of an `Option<A>`.
710
- *
711
- * @example
712
- * import { some, none, reduceCompact } from 'effect/Option'
713
- * import { pipe } from "effect/Function"
714
- *
715
- * const iterable = [some(1), none(), some(2), none()]
716
- * assert.deepStrictEqual(pipe(iterable, reduceCompact(0, (b, a) => b + a)), 3)
717
- *
718
- * @category folding
719
- * @since 2.0.0
720
- */
721
- const reduceCompact = /*#__PURE__*/dual(3, (self, b, f) => {
722
- let out = b;
723
- for (const oa of self) {
724
- if (isSome(oa)) {
725
- out = f(out, oa.value);
726
- }
727
- }
728
- return out;
729
- });
730
-
731
- /**
732
- * Transforms an `Option` into an `Array`.
733
- * If the input is `None`, an empty array is returned.
734
- * If the input is `Some`, the value is wrapped in an array.
735
- *
736
- * @param self - The `Option` to convert to an array.
737
- *
738
- * @example
739
- * import * as O from "effect/Option"
740
- *
741
- * assert.deepStrictEqual(O.toArray(O.some(1)), [1])
742
- * assert.deepStrictEqual(O.toArray(O.none()), [])
743
- *
744
- * @category conversions
745
- * @since 2.0.0
746
- */
747
- const toArray = self => isNone(self) ? [] : [self.value];
748
-
749
- /**
750
- * @category filtering
751
- * @since 2.0.0
752
- */
753
- const partitionMap = /*#__PURE__*/dual(2, (self, f) => {
754
- if (isNone(self)) {
755
- return [none(), none()];
756
- }
757
- const e = f(self.value);
758
- return isLeft(e) ? [some(e.left), none()] : [none(), some(e.right)];
759
- });
760
-
761
- /**
762
- * Maps over the value of an `Option` and filters out `None`s.
763
- *
764
- * Useful when in addition to filtering you also want to change the type of the `Option`.
765
- *
766
- * @param self - The `Option` to map over.
767
- * @param f - A function to apply to the value of the `Option`.
768
- *
769
- * @example
770
- * import * as O from "effect/Option"
771
- *
772
- * const evenNumber = (n: number) => n % 2 === 0 ? O.some(n) : O.none()
773
- *
774
- * assert.deepStrictEqual(O.filterMap(O.none(), evenNumber), O.none())
775
- * assert.deepStrictEqual(O.filterMap(O.some(3), evenNumber), O.none())
776
- * assert.deepStrictEqual(O.filterMap(O.some(2), evenNumber), O.some(2))
777
- *
778
- * @category filtering
779
- * @since 2.0.0
780
- */
781
- const filterMap = /*#__PURE__*/dual(2, (self, f) => isNone(self) ? none() : f(self.value));
782
-
783
- /**
784
- * Filters an `Option` using a predicate. If the predicate is not satisfied or the `Option` is `None` returns `None`.
785
- *
786
- * If you need to change the type of the `Option` in addition to filtering, see `filterMap`.
787
- *
788
- * @param predicate - A predicate function to apply to the `Option` value.
789
- * @param fb - The `Option` to filter.
790
- *
791
- * @example
792
- * import * as O from "effect/Option"
793
- *
794
- * // predicate
795
- * const isEven = (n: number) => n % 2 === 0
796
- *
797
- * assert.deepStrictEqual(O.filter(O.none(), isEven), O.none())
798
- * assert.deepStrictEqual(O.filter(O.some(3), isEven), O.none())
799
- * assert.deepStrictEqual(O.filter(O.some(2), isEven), O.some(2))
800
- *
801
- * // refinement
802
- * const isNumber = (v: unknown): v is number => typeof v === "number"
803
- *
804
- * assert.deepStrictEqual(O.filter(O.none(), isNumber), O.none())
805
- * assert.deepStrictEqual(O.filter(O.some('hello'), isNumber), O.none())
806
- * assert.deepStrictEqual(O.filter(O.some(2), isNumber), O.some(2))
807
- *
808
- * @category filtering
809
- * @since 2.0.0
810
- */
811
- const filter = /*#__PURE__*/dual(2, (self, predicate) => filterMap(self, b => predicate(b) ? some$1(b) : none$1));
812
-
813
- /**
814
- * @example
815
- * import { none, some, getEquivalence } from 'effect/Option'
816
- * import * as N from 'effect/Number'
817
- *
818
- * const isEquivalent = getEquivalence(N.Equivalence)
819
- * assert.deepStrictEqual(isEquivalent(none(), none()), true)
820
- * assert.deepStrictEqual(isEquivalent(none(), some(1)), false)
821
- * assert.deepStrictEqual(isEquivalent(some(1), none()), false)
822
- * assert.deepStrictEqual(isEquivalent(some(1), some(2)), false)
823
- * assert.deepStrictEqual(isEquivalent(some(1), some(1)), true)
824
- *
825
- * @category equivalence
826
- * @since 2.0.0
827
- */
828
- const getEquivalence = isEquivalent => make((x, y) => x === y || (isNone(x) ? isNone(y) : isNone(y) ? false : isEquivalent(x.value, y.value)));
829
-
830
- /**
831
- * The `Order` instance allows `Option` values to be compared with
832
- * `compare`, whenever there is an `Order` instance for
833
- * the type the `Option` contains.
834
- *
835
- * `None` is considered to be less than any `Some` value.
836
- *
837
- * @example
838
- * import { none, some, getOrder } from 'effect/Option'
839
- * import * as N from 'effect/Number'
840
- * import { pipe } from "effect/Function"
841
- *
842
- * const O = getOrder(N.Order)
843
- * assert.deepStrictEqual(O(none(), none()), 0)
844
- * assert.deepStrictEqual(O(none(), some(1)), -1)
845
- * assert.deepStrictEqual(O(some(1), none()), 1)
846
- * assert.deepStrictEqual(O(some(1), some(2)), -1)
847
- * assert.deepStrictEqual(O(some(1), some(1)), 0)
848
- *
849
- * @category sorting
850
- * @since 2.0.0
851
- */
852
- const getOrder = O => make$1((self, that) => isSome(self) ? isSome(that) ? O(self.value, that.value) : 1 : -1);
853
-
854
- /**
855
- * Lifts a binary function into `Option`.
856
- *
857
- * @param f - The function to lift.
858
- *
859
- * @category lifting
860
- * @since 2.0.0
861
- */
862
- const lift2 = f => dual(2, (self, that) => zipWith(self, that, f));
863
-
864
- /**
865
- * Transforms a `Predicate` function into a `Some` of the input value if the predicate returns `true` or `None`
866
- * if the predicate returns `false`.
867
- *
868
- * @param predicate - A `Predicate` function that takes in a value of type `A` and returns a boolean.
869
- *
870
- * @example
871
- * import * as O from "effect/Option"
872
- *
873
- * const getOption = O.liftPredicate((n: number) => n >= 0)
874
- *
875
- * assert.deepStrictEqual(getOption(-1), O.none())
876
- * assert.deepStrictEqual(getOption(1), O.some(1))
877
- *
878
- * @category lifting
879
- * @since 2.0.0
880
- */
881
- const liftPredicate = predicate => b => predicate(b) ? some(b) : none();
882
-
883
- /**
884
- * Returns a function that checks if a `Option` contains a given value using a provided `isEquivalent` function.
885
- *
886
- * @param equivalent - An `Equivalence` instance to compare values of the `Option`.
887
- * @param self - The `Option` to apply the comparison to.
888
- * @param a - The value to compare against the `Option`.
889
- *
890
- * @example
891
- * import { some, none, containsWith } from 'effect/Option'
892
- * import { Equivalence } from 'effect/Number'
893
- * import { pipe } from "effect/Function"
894
- *
895
- * assert.deepStrictEqual(pipe(some(2), containsWith(Equivalence)(2)), true)
896
- * assert.deepStrictEqual(pipe(some(1), containsWith(Equivalence)(2)), false)
897
- * assert.deepStrictEqual(pipe(none(), containsWith(Equivalence)(2)), false)
898
- *
899
- * @category elements
900
- * @since 2.0.0
901
- */
902
- const containsWith = isEquivalent => dual(2, (self, a) => isNone(self) ? false : isEquivalent(self.value, a));
903
- const _equivalence = /*#__PURE__*/equivalence();
904
-
905
- /**
906
- * Returns a function that checks if an `Option` contains a given value using the default `Equivalence`.
907
- *
908
- * @category elements
909
- * @since 2.0.0
910
- */
911
- const contains = /*#__PURE__*/containsWith(_equivalence);
912
-
913
- /**
914
- * Check if a value in an `Option` type meets a certain predicate.
915
- *
916
- * @param self - The `Option` to check.
917
- * @param predicate - The condition to check.
918
- *
919
- * @example
920
- * import { some, none, exists } from 'effect/Option'
921
- * import { pipe } from "effect/Function"
922
- *
923
- * const isEven = (n: number) => n % 2 === 0
924
- *
925
- * assert.deepStrictEqual(pipe(some(2), exists(isEven)), true)
926
- * assert.deepStrictEqual(pipe(some(1), exists(isEven)), false)
927
- * assert.deepStrictEqual(pipe(none(), exists(isEven)), false)
928
- *
929
- * @since 2.0.0
930
- */
931
- const exists = /*#__PURE__*/dual(2, (self, predicate) => isNone(self) ? false : predicate(self.value));
932
-
933
- // -------------------------------------------------------------------------------------
934
- // math
935
- // -------------------------------------------------------------------------------------
936
-
937
- /**
938
- * @category math
939
- * @since 2.0.0
940
- */
941
- const sum = /*#__PURE__*/lift2(sum$1);
942
-
943
- /**
944
- * @category math
945
- * @since 2.0.0
946
- */
947
- const multiply = /*#__PURE__*/lift2(multiply$1);
948
-
949
- /**
950
- * @category math
951
- * @since 2.0.0
952
- */
953
- const subtract = /*#__PURE__*/lift2(subtract$1);
954
-
955
- /**
956
- * @category math
957
- * @since 2.0.0
958
- */
959
- const divide = /*#__PURE__*/lift2(divide$1);
960
-
961
- /**
962
- * Sum all numbers in an iterable of `Option<number>` ignoring the `None` values.
963
- *
964
- * @param self - The iterable of `Option<number>` to be summed.
965
- *
966
- * @example
967
- * import { sumCompact, some, none } from 'effect/Option'
968
- *
969
- * const iterable = [some(2), none(), some(3), none()]
970
- * assert.deepStrictEqual(sumCompact(iterable), 5)
971
- *
972
- * @category math
973
- * @since 2.0.0
974
- */
975
- const sumCompact = self => {
976
- let out = 0;
977
- for (const oa of self) {
978
- if (isSome(oa)) {
979
- out += oa.value;
980
- }
981
- }
982
- return out;
983
- };
984
-
985
- /**
986
- * Multiply all numbers in an iterable of `Option<number>` ignoring the `None` values.
987
- *
988
- * @param self - The iterable of `Option<number>` to be multiplied.
989
- *
990
- * @example
991
- * import { multiplyCompact, some, none } from 'effect/Option'
992
- *
993
- * const iterable = [some(2), none(), some(3), none()]
994
- * assert.deepStrictEqual(multiplyCompact(iterable), 6)
995
- *
996
- * @category math
997
- * @since 2.0.0
998
- */
999
- const multiplyCompact = self => {
1000
- let out = 1;
1001
- for (const oa of self) {
1002
- if (isSome(oa)) {
1003
- const a = oa.value;
1004
- if (a === 0) {
1005
- return 0;
1006
- }
1007
- out *= a;
1008
- }
1009
- }
1010
- return out;
1011
- };
1012
-
1013
- // -------------------------------------------------------------------------------------
1014
- // do notation
1015
- // -------------------------------------------------------------------------------------
1016
-
1017
- /**
1018
- * @category do notation
1019
- * @since 2.0.0
1020
- */
1021
- const bindTo = /*#__PURE__*/dual(2, (self, name) => map(self, a => ({
1022
- [name]: a
1023
- })));
1024
- const let_ = /*#__PURE__*/dual(3, (self, name, f) => map(self, a => Object.assign({}, a, {
1025
- [name]: f(a)
1026
- })));
1027
-
1028
- /**
1029
- * @category do notation
1030
- * @since 2.0.0
1031
- */
1032
- const bind = /*#__PURE__*/dual(3, (self, name, f) => flatMap(self, a => map(f(a), b => Object.assign({}, a, {
1033
- [name]: b
1034
- }))));
1035
-
1036
- /**
1037
- * @category do notation
1038
- * @since 2.0.0
1039
- */
1040
- const Do = /*#__PURE__*/some({});
1041
- const adapter = /*#__PURE__*/adapter$1();
1042
-
1043
- /**
1044
- * @category generators
1045
- * @since 2.0.0
1046
- */
1047
- const gen = f => {
1048
- const iterator = f(adapter);
1049
- let state = iterator.next();
1050
- if (state.done) {
1051
- return some(void 0);
1052
- } else {
1053
- let current = state.value.value;
1054
- if (isNone(current)) {
1055
- return current;
1056
- }
1057
- while (!state.done) {
1058
- state = iterator.next(current.value);
1059
- if (!state.done) {
1060
- current = state.value.value;
1061
- if (isNone(current)) {
1062
- return current;
1063
- }
1064
- }
1065
- }
1066
- return some(state.value);
1067
- }
1068
- };
1069
-
1070
- var Option = /*#__PURE__*/Object.freeze({
1071
- __proto__: null,
1072
- TypeId: TypeId,
1073
- none: none,
1074
- some: some,
1075
- isOption: isOption,
1076
- isNone: isNone,
1077
- isSome: isSome,
1078
- match: match,
1079
- toRefinement: toRefinement,
1080
- fromIterable: fromIterable,
1081
- getRight: getRight,
1082
- getLeft: getLeft,
1083
- getOrElse: getOrElse,
1084
- orElse: orElse,
1085
- orElseEither: orElseEither,
1086
- firstSomeOf: firstSomeOf,
1087
- fromNullable: fromNullable,
1088
- liftNullable: liftNullable,
1089
- getOrNull: getOrNull,
1090
- getOrUndefined: getOrUndefined,
1091
- liftThrowable: liftThrowable,
1092
- getOrThrowWith: getOrThrowWith,
1093
- getOrThrow: getOrThrow,
1094
- map: map,
1095
- as: as,
1096
- asUnit: asUnit,
1097
- unit: unit,
1098
- flatMap: flatMap,
1099
- flatMapNullable: flatMapNullable,
1100
- flatten: flatten,
1101
- zipRight: zipRight,
1102
- composeK: composeK,
1103
- zipLeft: zipLeft,
1104
- tap: tap,
1105
- product: product,
1106
- productMany: productMany,
1107
- all: all,
1108
- zipWith: zipWith,
1109
- ap: ap,
1110
- reduceCompact: reduceCompact,
1111
- toArray: toArray,
1112
- partitionMap: partitionMap,
1113
- filterMap: filterMap,
1114
- filter: filter,
1115
- getEquivalence: getEquivalence,
1116
- getOrder: getOrder,
1117
- lift2: lift2,
1118
- liftPredicate: liftPredicate,
1119
- containsWith: containsWith,
1120
- contains: contains,
1121
- exists: exists,
1122
- sum: sum,
1123
- multiply: multiply,
1124
- subtract: subtract,
1125
- divide: divide,
1126
- sumCompact: sumCompact,
1127
- multiplyCompact: multiplyCompact,
1128
- bindTo: bindTo,
1129
- 'let': let_,
1130
- bind: bind,
1131
- Do: Do,
1132
- gen: gen
1133
- });
1134
-
1135
- export { subtract as $, liftThrowable as A, getOrThrowWith as B, as as C, asUnit as D, unit as E, flatMapNullable as F, flatten as G, zipRight as H, composeK as I, zipLeft as J, tap as K, product as L, productMany as M, zipWith as N, Option as O, ap as P, reduceCompact as Q, partitionMap as R, filterMap as S, TypeId as T, getEquivalence as U, getOrder as V, lift2 as W, containsWith as X, exists as Y, sum as Z, multiply as _, isNone as a, divide as a0, sumCompact as a1, multiplyCompact as a2, bindTo as a3, let_ as a4, bind as a5, Do as a6, gen as a7, match as b, getOrUndefined as c, getOrThrow as d, fromNullable as e, flatMap as f, getOrElse as g, all as h, isSome as i, contains as j, getRight as k, liftPredicate as l, map as m, none as n, orElse as o, filter as p, isOption as q, toRefinement as r, some as s, toArray as t, fromIterable as u, getLeft as v, orElseEither as w, firstSomeOf as x, liftNullable as y, getOrNull as z };