effect 2.0.0-next.52 → 2.0.0-next.53

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 (525) hide show
  1. package/BigDecimal/dist/effect-BigDecimal.cjs.dev.js +6 -6
  2. package/BigDecimal/dist/effect-BigDecimal.cjs.prod.js +6 -6
  3. package/BigDecimal/dist/effect-BigDecimal.esm.js +2 -1
  4. package/BigInt/dist/effect-BigInt.cjs.dev.js +4 -4
  5. package/BigInt/dist/effect-BigInt.cjs.prod.js +4 -4
  6. package/Brand/dist/effect-Brand.cjs.dev.js +5 -5
  7. package/Brand/dist/effect-Brand.cjs.prod.js +5 -5
  8. package/Cache/dist/effect-Cache.cjs.dev.js +31 -30
  9. package/Cache/dist/effect-Cache.cjs.prod.js +31 -30
  10. package/Cause/dist/effect-Cause.cjs.dev.js +10 -10
  11. package/Cause/dist/effect-Cause.cjs.prod.js +10 -10
  12. package/Channel/dist/effect-Channel.cjs.dev.js +49 -48
  13. package/Channel/dist/effect-Channel.cjs.prod.js +49 -48
  14. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.cjs.dev.js +2 -1
  15. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.cjs.prod.js +2 -1
  16. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.cjs.dev.js +2 -1
  17. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.cjs.prod.js +2 -1
  18. package/ChannelMergeState/dist/effect-ChannelMergeState.cjs.dev.js +2 -1
  19. package/ChannelMergeState/dist/effect-ChannelMergeState.cjs.prod.js +2 -1
  20. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.cjs.dev.js +2 -1
  21. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.cjs.prod.js +2 -1
  22. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.dev.js +38 -37
  23. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.prod.js +38 -37
  24. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.cjs.dev.js +2 -1
  25. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.cjs.prod.js +2 -1
  26. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.cjs.dev.js +2 -1
  27. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.cjs.prod.js +2 -1
  28. package/Chunk/dist/effect-Chunk.cjs.dev.js +6 -6
  29. package/Chunk/dist/effect-Chunk.cjs.prod.js +6 -6
  30. package/Chunk/dist/effect-Chunk.esm.js +3 -3
  31. package/Clock/dist/effect-Clock.cjs.dev.js +16 -16
  32. package/Clock/dist/effect-Clock.cjs.prod.js +16 -16
  33. package/Config/dist/effect-Config.cjs.dev.js +13 -13
  34. package/Config/dist/effect-Config.cjs.prod.js +13 -13
  35. package/ConfigError/dist/effect-ConfigError.cjs.dev.js +6 -6
  36. package/ConfigError/dist/effect-ConfigError.cjs.prod.js +6 -6
  37. package/ConfigProvider/dist/effect-ConfigProvider.cjs.dev.js +15 -15
  38. package/ConfigProvider/dist/effect-ConfigProvider.cjs.prod.js +15 -15
  39. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.dev.js +7 -7
  40. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.prod.js +7 -7
  41. package/ConfigSecret/dist/effect-ConfigSecret.cjs.dev.js +6 -6
  42. package/ConfigSecret/dist/effect-ConfigSecret.cjs.prod.js +6 -6
  43. package/Console/dist/effect-Console.cjs.dev.js +35 -34
  44. package/Console/dist/effect-Console.cjs.prod.js +35 -34
  45. package/Context/dist/effect-Context.cjs.dev.js +5 -5
  46. package/Context/dist/effect-Context.cjs.prod.js +5 -5
  47. package/Data/dist/effect-Data.cjs.dev.js +36 -36
  48. package/Data/dist/effect-Data.cjs.prod.js +36 -36
  49. package/DefaultServices/dist/effect-DefaultServices.cjs.dev.js +16 -16
  50. package/DefaultServices/dist/effect-DefaultServices.cjs.prod.js +16 -16
  51. package/Deferred/dist/effect-Deferred.cjs.dev.js +10 -10
  52. package/Deferred/dist/effect-Deferred.cjs.prod.js +10 -10
  53. package/Differ/dist/effect-Differ.cjs.dev.js +7 -7
  54. package/Differ/dist/effect-Differ.cjs.prod.js +7 -7
  55. package/Duration/dist/effect-Duration.cjs.dev.js +5 -5
  56. package/Duration/dist/effect-Duration.cjs.prod.js +5 -5
  57. package/Duration/dist/effect-Duration.esm.js +2 -2
  58. package/Effect/dist/effect-Effect.cjs.dev.js +37 -36
  59. package/Effect/dist/effect-Effect.cjs.prod.js +37 -36
  60. package/Effectable/dist/effect-Effectable.cjs.dev.js +3 -3
  61. package/Effectable/dist/effect-Effectable.cjs.prod.js +3 -3
  62. package/Either/dist/effect-Either.cjs.dev.js +4 -4
  63. package/Either/dist/effect-Either.cjs.prod.js +4 -4
  64. package/Encoding/dist/effect-Encoding.cjs.dev.js +6 -6
  65. package/Encoding/dist/effect-Encoding.cjs.prod.js +6 -6
  66. package/Equal/dist/effect-Equal.cjs.dev.js +3 -3
  67. package/Equal/dist/effect-Equal.cjs.prod.js +3 -3
  68. package/Equal/dist/effect-Equal.esm.js +2 -1
  69. package/Exit/dist/effect-Exit.cjs.dev.js +10 -10
  70. package/Exit/dist/effect-Exit.cjs.prod.js +10 -10
  71. package/Fiber/dist/effect-Fiber.cjs.dev.js +32 -31
  72. package/Fiber/dist/effect-Fiber.cjs.prod.js +32 -31
  73. package/FiberId/dist/effect-FiberId.cjs.dev.js +7 -7
  74. package/FiberId/dist/effect-FiberId.cjs.prod.js +7 -7
  75. package/FiberRef/dist/effect-FiberRef.cjs.dev.js +32 -31
  76. package/FiberRef/dist/effect-FiberRef.cjs.prod.js +32 -31
  77. package/FiberRefs/dist/effect-FiberRefs.cjs.dev.js +11 -11
  78. package/FiberRefs/dist/effect-FiberRefs.cjs.prod.js +11 -11
  79. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.dev.js +12 -12
  80. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.prod.js +12 -12
  81. package/FiberStatus/dist/effect-FiberStatus.cjs.dev.js +3 -3
  82. package/FiberStatus/dist/effect-FiberStatus.cjs.prod.js +3 -3
  83. package/GlobalValue/dist/effect-GlobalValue.cjs.dev.js +3 -18
  84. package/GlobalValue/dist/effect-GlobalValue.cjs.prod.js +3 -18
  85. package/GlobalValue/dist/effect-GlobalValue.esm.js +3 -1
  86. package/GroupBy/dist/effect-GroupBy.cjs.dev.js +50 -49
  87. package/GroupBy/dist/effect-GroupBy.cjs.prod.js +50 -49
  88. package/Hash/dist/effect-Hash.cjs.dev.js +3 -3
  89. package/Hash/dist/effect-Hash.cjs.prod.js +3 -3
  90. package/Hash/dist/effect-Hash.esm.js +2 -1
  91. package/HashMap/dist/effect-HashMap.cjs.dev.js +6 -6
  92. package/HashMap/dist/effect-HashMap.cjs.prod.js +6 -6
  93. package/HashSet/dist/effect-HashSet.cjs.dev.js +6 -6
  94. package/HashSet/dist/effect-HashSet.cjs.prod.js +6 -6
  95. package/Inspectable/dist/effect-Inspectable.cjs.dev.js +4 -1
  96. package/Inspectable/dist/effect-Inspectable.cjs.prod.js +4 -1
  97. package/Inspectable/dist/effect-Inspectable.esm.js +3 -1
  98. package/KeyedPool/dist/effect-KeyedPool.cjs.dev.js +31 -30
  99. package/KeyedPool/dist/effect-KeyedPool.cjs.prod.js +31 -30
  100. package/LICENSE +21 -0
  101. package/Layer/dist/effect-Layer.cjs.dev.js +38 -37
  102. package/Layer/dist/effect-Layer.cjs.prod.js +38 -37
  103. package/List/dist/effect-List.cjs.dev.js +8 -7
  104. package/List/dist/effect-List.cjs.prod.js +8 -7
  105. package/List/dist/effect-List.esm.js +5 -4
  106. package/LogLevel/dist/effect-LogLevel.cjs.dev.js +10 -10
  107. package/LogLevel/dist/effect-LogLevel.cjs.prod.js +10 -10
  108. package/Logger/dist/effect-Logger.cjs.dev.js +35 -34
  109. package/Logger/dist/effect-Logger.cjs.prod.js +35 -34
  110. package/Match/dist/effect-Match.cjs.dev.js +4 -4
  111. package/Match/dist/effect-Match.cjs.prod.js +4 -4
  112. package/Metric/dist/effect-Metric.cjs.dev.js +29 -28
  113. package/Metric/dist/effect-Metric.cjs.prod.js +29 -28
  114. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.dev.js +6 -6
  115. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.prod.js +6 -6
  116. package/MetricHook/dist/effect-MetricHook.cjs.dev.js +8 -8
  117. package/MetricHook/dist/effect-MetricHook.cjs.prod.js +8 -8
  118. package/MetricKey/dist/effect-MetricKey.cjs.dev.js +9 -9
  119. package/MetricKey/dist/effect-MetricKey.cjs.prod.js +9 -9
  120. package/MetricKeyType/dist/effect-MetricKeyType.cjs.dev.js +6 -6
  121. package/MetricKeyType/dist/effect-MetricKeyType.cjs.prod.js +6 -6
  122. package/MetricLabel/dist/effect-MetricLabel.cjs.dev.js +3 -3
  123. package/MetricLabel/dist/effect-MetricLabel.cjs.prod.js +3 -3
  124. package/MetricPolling/dist/effect-MetricPolling.cjs.dev.js +32 -31
  125. package/MetricPolling/dist/effect-MetricPolling.cjs.prod.js +32 -31
  126. package/MetricRegistry/dist/effect-MetricRegistry.cjs.dev.js +10 -10
  127. package/MetricRegistry/dist/effect-MetricRegistry.cjs.prod.js +10 -10
  128. package/MetricState/dist/effect-MetricState.cjs.dev.js +3 -3
  129. package/MetricState/dist/effect-MetricState.cjs.prod.js +3 -3
  130. package/MutableHashMap/dist/effect-MutableHashMap.cjs.dev.js +6 -6
  131. package/MutableHashMap/dist/effect-MutableHashMap.cjs.prod.js +6 -6
  132. package/MutableHashSet/dist/effect-MutableHashSet.cjs.dev.js +6 -6
  133. package/MutableHashSet/dist/effect-MutableHashSet.cjs.prod.js +6 -6
  134. package/MutableList/dist/effect-MutableList.cjs.dev.js +1 -0
  135. package/MutableList/dist/effect-MutableList.cjs.prod.js +1 -0
  136. package/MutableQueue/dist/effect-MutableQueue.cjs.dev.js +5 -5
  137. package/MutableQueue/dist/effect-MutableQueue.cjs.prod.js +5 -5
  138. package/MutableRef/dist/effect-MutableRef.cjs.dev.js +2 -2
  139. package/MutableRef/dist/effect-MutableRef.cjs.prod.js +2 -2
  140. package/Number/dist/effect-Number.cjs.dev.js +3 -3
  141. package/Number/dist/effect-Number.cjs.prod.js +3 -3
  142. package/Option/dist/effect-Option.cjs.dev.js +5 -5
  143. package/Option/dist/effect-Option.cjs.prod.js +5 -5
  144. package/Pool/dist/effect-Pool.cjs.dev.js +32 -31
  145. package/Pool/dist/effect-Pool.cjs.prod.js +32 -31
  146. package/Predicate/dist/effect-Predicate.cjs.dev.js +15 -3
  147. package/Predicate/dist/effect-Predicate.cjs.mjs +1 -0
  148. package/Predicate/dist/effect-Predicate.cjs.prod.js +15 -3
  149. package/Predicate/dist/effect-Predicate.esm.js +15 -4
  150. package/PubSub/dist/effect-PubSub.cjs.dev.js +31 -30
  151. package/PubSub/dist/effect-PubSub.cjs.prod.js +31 -30
  152. package/Queue/dist/effect-Queue.cjs.dev.js +31 -30
  153. package/Queue/dist/effect-Queue.cjs.prod.js +31 -30
  154. package/Random/dist/effect-Random.cjs.dev.js +16 -16
  155. package/Random/dist/effect-Random.cjs.prod.js +16 -16
  156. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.dev.js +5 -5
  157. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.prod.js +5 -5
  158. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.dev.js +5 -5
  159. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.prod.js +5 -5
  160. package/RedBlackTree/dist/effect-RedBlackTree.cjs.dev.js +5 -5
  161. package/RedBlackTree/dist/effect-RedBlackTree.cjs.prod.js +5 -5
  162. package/Ref/dist/effect-Ref.cjs.dev.js +11 -11
  163. package/Ref/dist/effect-Ref.cjs.prod.js +11 -11
  164. package/Reloadable/dist/effect-Reloadable.cjs.dev.js +36 -35
  165. package/Reloadable/dist/effect-Reloadable.cjs.prod.js +36 -35
  166. package/Request/dist/effect-Request.cjs.dev.js +31 -30
  167. package/Request/dist/effect-Request.cjs.prod.js +31 -30
  168. package/RequestBlock/dist/effect-RequestBlock.cjs.dev.js +38 -37
  169. package/RequestBlock/dist/effect-RequestBlock.cjs.prod.js +38 -37
  170. package/RequestResolver/dist/effect-RequestResolver.cjs.dev.js +52 -39
  171. package/RequestResolver/dist/effect-RequestResolver.cjs.mjs +2 -1
  172. package/RequestResolver/dist/effect-RequestResolver.cjs.prod.js +52 -39
  173. package/RequestResolver/dist/effect-RequestResolver.esm.js +14 -3
  174. package/Resource/dist/effect-Resource.cjs.dev.js +34 -33
  175. package/Resource/dist/effect-Resource.cjs.prod.js +34 -33
  176. package/Runtime/dist/effect-Runtime.cjs.dev.js +33 -32
  177. package/Runtime/dist/effect-Runtime.cjs.prod.js +33 -32
  178. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.dev.js +36 -35
  179. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.prod.js +36 -35
  180. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.dev.js +8 -8
  181. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.prod.js +8 -8
  182. package/STM/dist/effect-STM.cjs.dev.js +52 -51
  183. package/STM/dist/effect-STM.cjs.prod.js +52 -51
  184. package/Schedule/dist/effect-Schedule.cjs.dev.js +22 -22
  185. package/Schedule/dist/effect-Schedule.cjs.prod.js +22 -22
  186. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.dev.js +5 -5
  187. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.prod.js +5 -5
  188. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.dev.js +5 -5
  189. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.prod.js +5 -5
  190. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.dev.js +5 -5
  191. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.prod.js +5 -5
  192. package/Scheduler/dist/effect-Scheduler.cjs.dev.js +10 -10
  193. package/Scheduler/dist/effect-Scheduler.cjs.prod.js +10 -10
  194. package/Scope/dist/effect-Scope.cjs.dev.js +30 -29
  195. package/Scope/dist/effect-Scope.cjs.prod.js +30 -29
  196. package/ScopedCache/dist/effect-ScopedCache.cjs.dev.js +37 -37
  197. package/ScopedCache/dist/effect-ScopedCache.cjs.prod.js +37 -37
  198. package/ScopedRef/dist/effect-ScopedRef.cjs.dev.js +34 -33
  199. package/ScopedRef/dist/effect-ScopedRef.cjs.prod.js +34 -33
  200. package/Sink/dist/effect-Sink.cjs.dev.js +47 -46
  201. package/Sink/dist/effect-Sink.cjs.prod.js +47 -46
  202. package/SortedMap/dist/effect-SortedMap.cjs.dev.js +5 -5
  203. package/SortedMap/dist/effect-SortedMap.cjs.prod.js +5 -5
  204. package/SortedMap/dist/effect-SortedMap.esm.js +2 -2
  205. package/SortedSet/dist/effect-SortedSet.cjs.dev.js +5 -5
  206. package/SortedSet/dist/effect-SortedSet.cjs.prod.js +5 -5
  207. package/SortedSet/dist/effect-SortedSet.esm.js +2 -2
  208. package/Stream/dist/effect-Stream.cjs.dev.js +69 -49
  209. package/Stream/dist/effect-Stream.cjs.mjs +2 -0
  210. package/Stream/dist/effect-Stream.cjs.prod.js +69 -49
  211. package/Stream/dist/effect-Stream.esm.js +19 -2
  212. package/Streamable/dist/effect-Streamable.cjs.dev.js +50 -49
  213. package/Streamable/dist/effect-Streamable.cjs.prod.js +50 -49
  214. package/String/dist/effect-String.cjs.dev.js +4 -4
  215. package/String/dist/effect-String.cjs.prod.js +4 -4
  216. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.dev.js +49 -48
  217. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.prod.js +49 -48
  218. package/Supervisor/dist/effect-Supervisor.cjs.dev.js +36 -35
  219. package/Supervisor/dist/effect-Supervisor.cjs.prod.js +36 -35
  220. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.dev.js +33 -32
  221. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.prod.js +33 -32
  222. package/TArray/dist/effect-TArray.cjs.dev.js +54 -53
  223. package/TArray/dist/effect-TArray.cjs.prod.js +54 -53
  224. package/TDeferred/dist/effect-TDeferred.cjs.dev.js +53 -52
  225. package/TDeferred/dist/effect-TDeferred.cjs.prod.js +53 -52
  226. package/TMap/dist/effect-TMap.cjs.dev.js +55 -54
  227. package/TMap/dist/effect-TMap.cjs.prod.js +55 -54
  228. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.dev.js +52 -51
  229. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.prod.js +52 -51
  230. package/TPubSub/dist/effect-TPubSub.cjs.dev.js +54 -53
  231. package/TPubSub/dist/effect-TPubSub.cjs.prod.js +54 -53
  232. package/TQueue/dist/effect-TQueue.cjs.dev.js +54 -53
  233. package/TQueue/dist/effect-TQueue.cjs.prod.js +54 -53
  234. package/TRandom/dist/effect-TRandom.cjs.dev.js +53 -52
  235. package/TRandom/dist/effect-TRandom.cjs.prod.js +53 -52
  236. package/TReentrantLock/dist/effect-TReentrantLock.cjs.dev.js +52 -51
  237. package/TReentrantLock/dist/effect-TReentrantLock.cjs.prod.js +52 -51
  238. package/TRef/dist/effect-TRef.cjs.dev.js +52 -51
  239. package/TRef/dist/effect-TRef.cjs.prod.js +52 -51
  240. package/TSemaphore/dist/effect-TSemaphore.cjs.dev.js +53 -52
  241. package/TSemaphore/dist/effect-TSemaphore.cjs.prod.js +53 -52
  242. package/TSet/dist/effect-TSet.cjs.dev.js +55 -54
  243. package/TSet/dist/effect-TSet.cjs.prod.js +55 -54
  244. package/Take/dist/effect-Take.cjs.dev.js +38 -37
  245. package/Take/dist/effect-Take.cjs.prod.js +38 -37
  246. package/TestAnnotation/dist/effect-TestAnnotation.cjs.dev.js +8 -10
  247. package/TestAnnotation/dist/effect-TestAnnotation.cjs.prod.js +8 -10
  248. package/TestAnnotation/dist/effect-TestAnnotation.esm.js +2 -3
  249. package/TestAnnotationMap/dist/effect-TestAnnotationMap.cjs.dev.js +2 -3
  250. package/TestAnnotationMap/dist/effect-TestAnnotationMap.cjs.prod.js +2 -3
  251. package/TestAnnotationMap/dist/effect-TestAnnotationMap.esm.js +2 -3
  252. package/TestAnnotations/dist/effect-TestAnnotations.cjs.dev.js +23 -25
  253. package/TestAnnotations/dist/effect-TestAnnotations.cjs.prod.js +23 -25
  254. package/TestAnnotations/dist/effect-TestAnnotations.esm.js +2 -3
  255. package/TestClock/dist/effect-TestClock.cjs.dev.js +35 -34
  256. package/TestClock/dist/effect-TestClock.cjs.prod.js +35 -34
  257. package/TestConfig/dist/effect-TestConfig.cjs.dev.js +5 -5
  258. package/TestConfig/dist/effect-TestConfig.cjs.prod.js +5 -5
  259. package/TestContext/dist/effect-TestContext.cjs.dev.js +37 -36
  260. package/TestContext/dist/effect-TestContext.cjs.prod.js +37 -36
  261. package/TestLive/dist/effect-TestLive.cjs.dev.js +16 -16
  262. package/TestLive/dist/effect-TestLive.cjs.prod.js +16 -16
  263. package/TestServices/dist/effect-TestServices.cjs.dev.js +37 -36
  264. package/TestServices/dist/effect-TestServices.cjs.prod.js +37 -36
  265. package/TestSized/dist/effect-TestSized.cjs.dev.js +10 -10
  266. package/TestSized/dist/effect-TestSized.cjs.prod.js +10 -10
  267. package/Tracer/dist/effect-Tracer.cjs.dev.js +16 -16
  268. package/Tracer/dist/effect-Tracer.cjs.prod.js +16 -16
  269. package/dist/{Context-607e9b4c.cjs.dev.js → Context-036c4ad6.cjs.dev.js} +6 -5
  270. package/dist/{Context-c91d8ca0.cjs.prod.js → Context-fee14876.cjs.prod.js} +6 -5
  271. package/dist/{Effectable-6a8a05f1.cjs.prod.js → Effectable-c85356be.cjs.prod.js} +3 -1
  272. package/dist/{Effectable-71c10ab9.cjs.dev.js → Effectable-ed77aaf6.cjs.dev.js} +3 -1
  273. package/dist/{Either-e7500e90.cjs.dev.js → Either-97ac081f.cjs.dev.js} +4 -3
  274. package/dist/{Either-a3f96c60.cjs.prod.js → Either-bf376fff.cjs.prod.js} +4 -3
  275. package/dist/{FiberId-88cc0067.cjs.prod.js → FiberId-796388a1.cjs.prod.js} +3 -4
  276. package/dist/{FiberId-f329d0e3.cjs.dev.js → FiberId-fe3586bc.cjs.dev.js} +3 -4
  277. package/dist/GlobalValue-344581cf.cjs.prod.js +25 -0
  278. package/dist/GlobalValue-871500cb.cjs.dev.js +25 -0
  279. package/dist/{HashSet-09ade044.cjs.prod.js → HashSet-39a1799a.cjs.prod.js} +4 -4
  280. package/dist/{HashSet-e9659fd4.cjs.dev.js → HashSet-5a5d7603.cjs.dev.js} +4 -4
  281. package/dist/{Option-01caa9d4.cjs.dev.js → Option-0d3f5ddc.cjs.dev.js} +3 -2
  282. package/dist/{Option-dd52e82a.cjs.prod.js → Option-3fe68dcf.cjs.prod.js} +3 -2
  283. package/dist/{Ref-d3a3826b.cjs.dev.js → Ref-891bdaff.cjs.dev.js} +1 -1
  284. package/dist/{Ref-50f14c13.cjs.prod.js → Ref-c9491538.cjs.prod.js} +1 -1
  285. package/dist/{boundaries-ce70e4e4.cjs.dev.js → boundaries-0a4ac5a1.cjs.dev.js} +2 -3
  286. package/dist/{boundaries-0e5ddf7b.cjs.prod.js → boundaries-73e251d3.cjs.prod.js} +2 -3
  287. package/dist/{cache-2a5d8381.cjs.dev.js → cache-43514e60.cjs.dev.js} +7 -6
  288. package/dist/{cache-8f0c08cb.cjs.prod.js → cache-acead124.cjs.prod.js} +7 -6
  289. package/dist/{childExecutorDecision-b5842db5.cjs.prod.js → childExecutorDecision-3293bb05.cjs.prod.js} +2 -1
  290. package/dist/{childExecutorDecision-2eed6e25.cjs.dev.js → childExecutorDecision-54722bbb.cjs.dev.js} +2 -1
  291. package/dist/{circular-4f03acf3.cjs.prod.js → circular-373616ea.cjs.prod.js} +4 -4
  292. package/dist/{circular-2effda94.cjs.dev.js → circular-58cf4c81.cjs.dev.js} +4 -4
  293. package/dist/{circular-acb40239.cjs.prod.js → circular-970b753f.cjs.prod.js} +8 -8
  294. package/dist/{circular-39e86dc8.cjs.dev.js → circular-cf851085.cjs.dev.js} +8 -8
  295. package/dist/{config-beaa306c.cjs.dev.js → config-314f1860.cjs.dev.js} +5 -4
  296. package/dist/{config-00e6170c.cjs.prod.js → config-5cd5d919.cjs.prod.js} +5 -4
  297. package/dist/{configError-834bedc1.cjs.dev.js → configError-acc57114.cjs.dev.js} +2 -1
  298. package/dist/{configError-72f57cd6.cjs.prod.js → configError-b699bbc8.cjs.prod.js} +2 -1
  299. package/dist/{configProvider-290d13e7.cjs.prod.js → configProvider-20bd7c45.cjs.prod.js} +4 -4
  300. package/dist/{configProvider-aef50f41.cjs.dev.js → configProvider-db30779f.cjs.dev.js} +4 -4
  301. package/dist/{configSecret-80d3e36b.cjs.prod.js → configSecret-bb56a002.cjs.prod.js} +2 -3
  302. package/dist/{configSecret-abf643d8.cjs.dev.js → configSecret-bd8a1267.cjs.dev.js} +2 -3
  303. package/dist/{core-279496f0.cjs.prod.js → core-093a4458.cjs.prod.js} +8 -11
  304. package/dist/{core-35439f06.cjs.prod.js → core-26e932c3.cjs.prod.js} +24 -39
  305. package/dist/{core-7445bfd4.cjs.dev.js → core-40eb64fd.cjs.dev.js} +8 -11
  306. package/dist/{core-a0828fef.cjs.dev.js → core-908ae0ff.cjs.dev.js} +24 -39
  307. package/dist/{core-effect-460f968a.cjs.prod.js → core-effect-90338498.cjs.prod.js} +9 -9
  308. package/dist/{core-effect-02a7f1d7.cjs.dev.js → core-effect-a83699c2.cjs.dev.js} +9 -9
  309. package/dist/{dataSource-da4a602c.cjs.dev.js → dataSource-0355fe3b.cjs.dev.js} +31 -5
  310. package/dist/{dataSource-94fb44f9.cjs.prod.js → dataSource-6269c095.cjs.prod.js} +31 -5
  311. package/dist/declarations/src/BigDecimal.d.ts.map +1 -1
  312. package/dist/declarations/src/Chunk.d.ts.map +1 -1
  313. package/dist/declarations/src/Duration.d.ts.map +1 -1
  314. package/dist/declarations/src/Effect.d.ts +1 -0
  315. package/dist/declarations/src/Effect.d.ts.map +1 -1
  316. package/dist/declarations/src/Equal.d.ts.map +1 -1
  317. package/dist/declarations/src/GlobalValue.d.ts.map +1 -1
  318. package/dist/declarations/src/Hash.d.ts.map +1 -1
  319. package/dist/declarations/src/Inspectable.d.ts.map +1 -1
  320. package/dist/declarations/src/List.d.ts +2 -2
  321. package/dist/declarations/src/List.d.ts.map +1 -1
  322. package/dist/declarations/src/Predicate.d.ts +17 -0
  323. package/dist/declarations/src/Predicate.d.ts.map +1 -1
  324. package/dist/declarations/src/RequestResolver.d.ts +18 -2
  325. package/dist/declarations/src/RequestResolver.d.ts.map +1 -1
  326. package/dist/declarations/src/SortedMap.d.ts.map +1 -1
  327. package/dist/declarations/src/SortedSet.d.ts.map +1 -1
  328. package/dist/declarations/src/Stream.d.ts +15 -0
  329. package/dist/declarations/src/Stream.d.ts.map +1 -1
  330. package/dist/declarations/src/TestAnnotation.d.ts.map +1 -1
  331. package/dist/declarations/src/TestAnnotationMap.d.ts.map +1 -1
  332. package/dist/declarations/src/TestAnnotations.d.ts.map +1 -1
  333. package/dist/{defaultServices-61911fd4.cjs.prod.js → defaultServices-3f72f0d6.cjs.prod.js} +6 -5
  334. package/dist/{defaultServices-f3f93337.cjs.dev.js → defaultServices-d02bba35.cjs.dev.js} +6 -5
  335. package/dist/{fiber-f67dca7d.cjs.prod.js → fiber-52ffd4d9.cjs.prod.js} +6 -5
  336. package/dist/{fiber-cac583ce.cjs.dev.js → fiber-98ad468a.cjs.dev.js} +6 -5
  337. package/dist/{fiberRefs-6bd9745e.cjs.dev.js → fiberRefs-a89aceb0.cjs.dev.js} +1 -1
  338. package/dist/{fiberRefs-59b59378.cjs.prod.js → fiberRefs-fdf6d432.cjs.prod.js} +1 -1
  339. package/dist/{fiberRuntime-976a3e6f.cjs.dev.js → fiberRuntime-1d260336.cjs.dev.js} +28 -29
  340. package/dist/{fiberRuntime-26f406c3.cjs.prod.js → fiberRuntime-79c9da2a.cjs.prod.js} +28 -29
  341. package/dist/{groupBy-7fc93bc9.cjs.dev.js → groupBy-026dfa76.cjs.dev.js} +6 -5
  342. package/dist/{groupBy-8977b420.cjs.prod.js → groupBy-7ba748d0.cjs.prod.js} +6 -5
  343. package/dist/{hook-13f4db1e.cjs.dev.js → hook-4a05a62b.cjs.dev.js} +1 -1
  344. package/dist/{hook-8a020c3f.cjs.prod.js → hook-8cb43707.cjs.prod.js} +1 -1
  345. package/dist/{key-2cf383a2.cjs.prod.js → key-78bcadf6.cjs.prod.js} +4 -3
  346. package/dist/{key-4b5f6a7d.cjs.dev.js → key-ef346a50.cjs.dev.js} +4 -3
  347. package/dist/{keyType-36962f62.cjs.dev.js → keyType-08477e45.cjs.dev.js} +7 -18
  348. package/dist/{keyType-2ae6a00e.cjs.prod.js → keyType-d5b19a16.cjs.prod.js} +7 -18
  349. package/dist/{label-a588e6cd.cjs.prod.js → label-5fc84f90.cjs.prod.js} +2 -3
  350. package/dist/{label-b0cebeae.cjs.dev.js → label-b8010065.cjs.dev.js} +2 -3
  351. package/dist/{layer-c197624f.cjs.dev.js → layer-4689c0e4.cjs.dev.js} +11 -12
  352. package/dist/{layer-abbc91aa.cjs.prod.js → layer-50892276.cjs.prod.js} +11 -12
  353. package/dist/{mergeDecision-be41e797.cjs.dev.js → mergeDecision-09945b33.cjs.dev.js} +2 -1
  354. package/dist/{mergeDecision-07c6b5c9.cjs.prod.js → mergeDecision-f0313041.cjs.prod.js} +2 -1
  355. package/dist/{mergeState-8153ce39.cjs.dev.js → mergeState-1e12f9c8.cjs.dev.js} +2 -3
  356. package/dist/{mergeState-75990fa2.cjs.prod.js → mergeState-be337f1d.cjs.prod.js} +2 -3
  357. package/dist/{mergeStrategy-81ea5b80.cjs.dev.js → mergeStrategy-773913bc.cjs.dev.js} +2 -1
  358. package/dist/{mergeStrategy-3dd6e55f.cjs.prod.js → mergeStrategy-b3ff69de.cjs.prod.js} +2 -1
  359. package/dist/{patch-b7689042.cjs.prod.js → patch-1dd9bcaf.cjs.prod.js} +1 -1
  360. package/dist/{patch-2d425849.cjs.dev.js → patch-75c9c3b7.cjs.dev.js} +1 -1
  361. package/dist/{pathPatch-18fa425e.cjs.dev.js → pathPatch-552d6f51.cjs.dev.js} +1 -1
  362. package/dist/{pathPatch-b6020485.cjs.prod.js → pathPatch-7a1c5858.cjs.prod.js} +1 -1
  363. package/dist/{pool-810c2214.cjs.dev.js → pool-47c496db.cjs.dev.js} +7 -6
  364. package/dist/{pool-868dfa39.cjs.prod.js → pool-efd82406.cjs.prod.js} +7 -6
  365. package/dist/{query-927b504e.cjs.prod.js → query-0d958b01.cjs.prod.js} +4 -4
  366. package/dist/{query-c6684e39.cjs.dev.js → query-c332a171.cjs.dev.js} +4 -4
  367. package/dist/{queue-a0fc274d.cjs.dev.js → queue-7960c85e.cjs.dev.js} +5 -4
  368. package/dist/{queue-062806c7.cjs.prod.js → queue-d90b5d13.cjs.prod.js} +5 -4
  369. package/dist/{registry-9268ec7c.cjs.prod.js → registry-d7841ef0.cjs.prod.js} +2 -2
  370. package/dist/{registry-e5ad2d74.cjs.dev.js → registry-e3bbc631.cjs.dev.js} +2 -2
  371. package/dist/{runtime-340bd70b.cjs.dev.js → runtime-aed87fb4.cjs.dev.js} +8 -8
  372. package/dist/{runtime-ce0ad0ed.cjs.prod.js → runtime-cfb89e00.cjs.prod.js} +8 -8
  373. package/dist/{schedule-74c6207a.cjs.dev.js → schedule-19d92d87.cjs.dev.js} +3 -3
  374. package/dist/{schedule-04b40c50.cjs.prod.js → schedule-f4dc6913.cjs.prod.js} +3 -3
  375. package/dist/{scopedRef-4f0dd122.cjs.dev.js → scopedRef-7ca29150.cjs.dev.js} +6 -6
  376. package/dist/{scopedRef-d429ec83.cjs.prod.js → scopedRef-bc19c091.cjs.prod.js} +6 -6
  377. package/dist/{singleProducerAsyncInput-72c05452.cjs.dev.js → singleProducerAsyncInput-bc0cbb44.cjs.dev.js} +1 -1
  378. package/dist/{singleProducerAsyncInput-06a9076a.cjs.prod.js → singleProducerAsyncInput-f2c61f5a.cjs.prod.js} +1 -1
  379. package/dist/{sink-301d2bb4.cjs.dev.js → sink-4b05b297.cjs.dev.js} +13 -12
  380. package/dist/{sink-46df55d3.cjs.prod.js → sink-dc8bd92a.cjs.prod.js} +13 -12
  381. package/dist/{state-40d5dc71.cjs.prod.js → state-96db6911.cjs.prod.js} +7 -18
  382. package/dist/{state-620f7a22.cjs.dev.js → state-c39eeee2.cjs.dev.js} +7 -18
  383. package/dist/{stm-c0489b43.cjs.prod.js → stm-0c8ec1e9.cjs.prod.js} +3 -3
  384. package/dist/{stm-0b50e3c1.cjs.dev.js → stm-5fe40084.cjs.dev.js} +3 -3
  385. package/dist/{stream-44cdd7cb.cjs.dev.js → stream-127fa2f5.cjs.dev.js} +26 -7
  386. package/dist/{stream-0c3160ef.cjs.prod.js → stream-230b00be.cjs.prod.js} +26 -7
  387. package/dist/{synchronizedRef-2f71b820.cjs.prod.js → synchronizedRef-4e480ff3.cjs.prod.js} +1 -1
  388. package/dist/{synchronizedRef-78797507.cjs.dev.js → synchronizedRef-bc0be41f.cjs.dev.js} +1 -1
  389. package/dist/{tArray-006f45b0.cjs.prod.js → tArray-9e0a3d9f.cjs.prod.js} +3 -3
  390. package/dist/{tArray-556355cd.cjs.dev.js → tArray-bceb72f4.cjs.dev.js} +3 -3
  391. package/dist/{tMap-52d00ffb.cjs.dev.js → tMap-020a5ea4.cjs.dev.js} +4 -4
  392. package/dist/{tMap-9680b82b.cjs.prod.js → tMap-111ba646.cjs.prod.js} +4 -4
  393. package/dist/{tQueue-ca56a2a8.cjs.dev.js → tQueue-721bc394.cjs.dev.js} +6 -9
  394. package/dist/{tQueue-51cf109e.cjs.prod.js → tQueue-780b6596.cjs.prod.js} +6 -9
  395. package/dist/{tRef-b98e2e2a.cjs.dev.js → tRef-35b07161.cjs.dev.js} +1 -1
  396. package/dist/{tRef-4a2a9689.cjs.prod.js → tRef-93c769f2.cjs.prod.js} +1 -1
  397. package/dist/{upstreamPullRequest-c89f818d.cjs.prod.js → upstreamPullRequest-4eb9ab38.cjs.prod.js} +2 -1
  398. package/dist/{upstreamPullRequest-7a694281.cjs.dev.js → upstreamPullRequest-fc0d09a3.cjs.dev.js} +2 -1
  399. package/dist/{upstreamPullStrategy-f9f1ab57.cjs.dev.js → upstreamPullStrategy-69f33916.cjs.dev.js} +2 -1
  400. package/dist/{upstreamPullStrategy-63cc8967.cjs.prod.js → upstreamPullStrategy-bf9f0ad1.cjs.prod.js} +2 -1
  401. package/internal/Context.esm.js +3 -2
  402. package/internal/Effectable.esm.js +3 -1
  403. package/internal/Either.esm.js +2 -1
  404. package/internal/Encoding/Common.esm.js +3 -1
  405. package/internal/HashMap/node.esm.js +2 -1
  406. package/internal/HashMap.esm.js +2 -2
  407. package/internal/HashSet.esm.js +2 -2
  408. package/internal/Option.esm.js +2 -1
  409. package/internal/RedBlackTree.esm.js +2 -2
  410. package/internal/blockedRequests.esm.js +2 -3
  411. package/internal/cache.esm.js +2 -1
  412. package/internal/cause.esm.js +9 -16
  413. package/internal/channel/childExecutorDecision.esm.js +2 -1
  414. package/internal/channel/mergeDecision.esm.js +2 -1
  415. package/internal/channel/mergeState.esm.js +2 -3
  416. package/internal/channel/mergeStrategy.esm.js +2 -1
  417. package/internal/channel/upstreamPullRequest.esm.js +2 -1
  418. package/internal/channel/upstreamPullStrategy.esm.js +2 -1
  419. package/internal/channel.esm.js +2 -1
  420. package/internal/clock.esm.js +3 -2
  421. package/internal/config.esm.js +2 -1
  422. package/internal/configError.esm.js +2 -1
  423. package/internal/configSecret.esm.js +2 -3
  424. package/internal/core-effect.esm.js +3 -3
  425. package/internal/core-stream.esm.js +2 -1
  426. package/internal/core.esm.js +9 -13
  427. package/internal/dataSource.esm.js +30 -5
  428. package/internal/effect/circular.esm.js +2 -2
  429. package/internal/fiber.esm.js +2 -1
  430. package/internal/fiberId.esm.js +2 -3
  431. package/internal/fiberRuntime.esm.js +12 -10
  432. package/internal/fiberStatus.esm.js +2 -1
  433. package/internal/groupBy.esm.js +2 -1
  434. package/internal/layer.esm.js +3 -4
  435. package/internal/metric/boundaries.esm.js +2 -3
  436. package/internal/metric/key.esm.js +2 -1
  437. package/internal/metric/keyType.esm.js +7 -18
  438. package/internal/metric/label.esm.js +2 -3
  439. package/internal/metric/state.esm.js +7 -18
  440. package/internal/pool.esm.js +2 -1
  441. package/internal/queue.esm.js +3 -2
  442. package/internal/request.esm.js +2 -1
  443. package/internal/runtime.esm.js +4 -4
  444. package/internal/sink.esm.js +2 -1
  445. package/internal/stm/core.esm.js +4 -2
  446. package/internal/stm/stm/stmState.esm.js +2 -3
  447. package/internal/stm/stm/tExit.esm.js +2 -3
  448. package/internal/stm/tQueue.esm.js +3 -6
  449. package/internal/stream.esm.js +21 -4
  450. package/internal/supervisor.esm.js +2 -3
  451. package/internal/version.esm.js +3 -0
  452. package/package.json +11 -9
  453. package/src/BigDecimal.ts +2 -1
  454. package/src/Chunk.ts +5 -3
  455. package/src/Duration.ts +2 -2
  456. package/src/Effect.ts +1 -0
  457. package/src/Equal.ts +2 -1
  458. package/src/GlobalValue.ts +3 -1
  459. package/src/Hash.ts +2 -1
  460. package/src/Inspectable.ts +3 -1
  461. package/src/List.ts +8 -7
  462. package/src/Predicate.ts +21 -4
  463. package/src/RequestResolver.ts +25 -3
  464. package/src/SortedMap.ts +2 -2
  465. package/src/SortedSet.ts +2 -2
  466. package/src/Stream.ts +17 -0
  467. package/src/TestAnnotation.ts +2 -3
  468. package/src/TestAnnotationMap.ts +2 -3
  469. package/src/TestAnnotations.ts +2 -3
  470. package/src/internal/Context.ts +3 -2
  471. package/src/internal/Effectable.ts +3 -1
  472. package/src/internal/Either.ts +2 -2
  473. package/src/internal/Encoding/Common.ts +2 -2
  474. package/src/internal/HashMap/node.ts +2 -1
  475. package/src/internal/HashMap.ts +2 -2
  476. package/src/internal/HashSet.ts +2 -2
  477. package/src/internal/Option.ts +2 -2
  478. package/src/internal/RedBlackTree.ts +2 -2
  479. package/src/internal/blockedRequests.ts +2 -3
  480. package/src/internal/cache.ts +2 -1
  481. package/src/internal/cause.ts +15 -23
  482. package/src/internal/channel/channelState.ts +2 -2
  483. package/src/internal/channel/childExecutorDecision.ts +2 -1
  484. package/src/internal/channel/mergeDecision.ts +2 -2
  485. package/src/internal/channel/mergeState.ts +3 -3
  486. package/src/internal/channel/mergeStrategy.ts +2 -2
  487. package/src/internal/channel/upstreamPullRequest.ts +2 -1
  488. package/src/internal/channel/upstreamPullStrategy.ts +2 -1
  489. package/src/internal/channel.ts +2 -2
  490. package/src/internal/clock.ts +5 -5
  491. package/src/internal/config.ts +2 -3
  492. package/src/internal/configError.ts +2 -2
  493. package/src/internal/configSecret.ts +2 -3
  494. package/src/internal/core-effect.ts +3 -3
  495. package/src/internal/core-stream.ts +2 -1
  496. package/src/internal/core.ts +8 -16
  497. package/src/internal/dataSource.ts +47 -3
  498. package/src/internal/effect/circular.ts +1 -1
  499. package/src/internal/fiber.ts +2 -2
  500. package/src/internal/fiberId.ts +2 -3
  501. package/src/internal/fiberRuntime.ts +15 -8
  502. package/src/internal/fiberStatus.ts +2 -2
  503. package/src/internal/groupBy.ts +2 -2
  504. package/src/internal/layer.ts +2 -3
  505. package/src/internal/metric/boundaries.ts +3 -3
  506. package/src/internal/metric/key.ts +2 -1
  507. package/src/internal/metric/keyType.ts +13 -18
  508. package/src/internal/metric/label.ts +2 -3
  509. package/src/internal/metric/state.ts +12 -18
  510. package/src/internal/pool.ts +2 -2
  511. package/src/internal/queue.ts +3 -4
  512. package/src/internal/request.ts +2 -2
  513. package/src/internal/runtime.ts +2 -3
  514. package/src/internal/sink.ts +2 -2
  515. package/src/internal/stm/core.ts +4 -3
  516. package/src/internal/stm/stm/stmState.ts +2 -3
  517. package/src/internal/stm/stm/tExit.ts +2 -3
  518. package/src/internal/stm/tQueue.ts +3 -7
  519. package/src/internal/stream.ts +26 -6
  520. package/src/internal/supervisor.ts +3 -3
  521. package/src/internal/version.ts +1 -0
  522. /package/dist/{RuntimeFlagsPatch-233ac7d7.cjs.prod.js → RuntimeFlagsPatch-2bc2f1c5.cjs.prod.js} +0 -0
  523. /package/dist/{RuntimeFlagsPatch-063c5864.cjs.dev.js → RuntimeFlagsPatch-5a4ff83e.cjs.dev.js} +0 -0
  524. /package/dist/{take-07165139.cjs.prod.js → take-23720f78.cjs.prod.js} +0 -0
  525. /package/dist/{take-689a29d5.cjs.dev.js → take-472621b6.cjs.dev.js} +0 -0
@@ -35,7 +35,7 @@ import type * as MetricLabel from "../MetricLabel"
35
35
  import * as MutableRef from "../MutableRef"
36
36
  import * as Option from "../Option"
37
37
  import { pipeArguments } from "../Pipeable"
38
- import type { Predicate, Refinement } from "../Predicate"
38
+ import { hasProperty, isObject, type Predicate, type Refinement } from "../Predicate"
39
39
  import * as ReadonlyArray from "../ReadonlyArray"
40
40
  import type * as Request from "../Request"
41
41
  import type * as BlockedRequests from "../RequestBlock"
@@ -44,6 +44,7 @@ import type * as RuntimeFlags from "../RuntimeFlags"
44
44
  import * as RuntimeFlagsPatch from "../RuntimeFlagsPatch"
45
45
  import type * as Scope from "../Scope"
46
46
  import type * as Tracer from "../Tracer"
47
+ import { effectVariance } from "./Effectable"
47
48
 
48
49
  // -----------------------------------------------------------------------------
49
50
  // Effect
@@ -66,8 +67,7 @@ export interface EffectError<E> {
66
67
  }
67
68
 
68
69
  /** @internal */
69
- export const isEffectError = (u: unknown): u is EffectError<unknown> =>
70
- typeof u === "object" && u != null && EffectErrorTypeId in u
70
+ export const isEffectError = (u: unknown): u is EffectError<unknown> => hasProperty(u, EffectErrorTypeId)
71
71
 
72
72
  /** @internal */
73
73
  export const makeEffectError = <E>(cause: Cause.Cause<E>): EffectError<E> => ({
@@ -253,13 +253,6 @@ class EffectPrimitiveSuccess {
253
253
  }
254
254
  }
255
255
 
256
- /** @internal */
257
- const effectVariance = {
258
- _R: (_: never) => _,
259
- _E: (_: never) => _,
260
- _A: (_: never) => _
261
- }
262
-
263
256
  /** @internal */
264
257
  export type Op<Tag extends string, Body = {}> = Effect.Effect<never, never, never> & Body & {
265
258
  readonly _op: Tag
@@ -379,8 +372,7 @@ export interface WithRuntime extends
379
372
  export interface Yield extends Op<OpCodes.OP_YIELD> {}
380
373
 
381
374
  /** @internal */
382
- export const isEffect = (u: unknown): u is Effect.Effect<unknown, unknown, unknown> =>
383
- typeof u === "object" && u != null && EffectTypeId in u
375
+ export const isEffect = (u: unknown): u is Effect.Effect<unknown, unknown, unknown> => hasProperty(u, EffectTypeId)
384
376
 
385
377
  /* @internal */
386
378
  export const withFiberRuntime = <R, E, A>(
@@ -610,7 +602,7 @@ const originalSymbol = Symbol.for("effect/OriginalAnnotation")
610
602
 
611
603
  /* @internal */
612
604
  export const originalInstance = <E>(obj: E): E => {
613
- if (typeof obj === "object" && obj !== null && originalSymbol in obj) {
605
+ if (hasProperty(obj, originalSymbol)) {
614
606
  // @ts-expect-error
615
607
  return obj[originalSymbol]
616
608
  }
@@ -641,7 +633,7 @@ const capture = <E>(obj: E & object, span: Option.Option<Tracer.Span>): E => {
641
633
 
642
634
  /* @internal */
643
635
  export const die = (defect: unknown): Effect.Effect<never, never, never> =>
644
- typeof defect === "object" && defect !== null && !(spanSymbol in defect) ?
636
+ isObject(defect) && !(spanSymbol in defect) ?
645
637
  withFiberRuntime((fiber) => failCause(internalCause.die(capture(defect, currentSpanFromFiber(fiber)))))
646
638
  : failCause(internalCause.die(defect))
647
639
 
@@ -668,7 +660,7 @@ export const exit = <R, E, A>(self: Effect.Effect<R, E, A>): Effect.Effect<R, ne
668
660
 
669
661
  /* @internal */
670
662
  export const fail = <E>(error: E): Effect.Effect<never, E, never> =>
671
- typeof error === "object" && error !== null && !(spanSymbol in error) ?
663
+ isObject(error) && !(spanSymbol in error) ?
672
664
  withFiberRuntime((fiber) => failCause(internalCause.fail(capture(error, currentSpanFromFiber(fiber)))))
673
665
  : failCause(internalCause.fail(error))
674
666
 
@@ -1634,7 +1626,7 @@ export class RequestResolverImpl<R, A> implements RequestResolver.RequestResolve
1634
1626
 
1635
1627
  /** @internal */
1636
1628
  export const isRequestResolver = (u: unknown): u is RequestResolver.RequestResolver<unknown, unknown> =>
1637
- typeof u === "object" && u != null && RequestResolverTypeId in u
1629
+ hasProperty(u, RequestResolverTypeId)
1638
1630
 
1639
1631
  // end
1640
1632
 
@@ -193,7 +193,7 @@ export const fromFunction = <A extends Request.Request<never, any>>(
193
193
 
194
194
  /** @internal */
195
195
  export const fromFunctionBatched = <A extends Request.Request<never, any>>(
196
- f: (chunk: Array<A>) => Array<Request.Request.Success<A>>
196
+ f: (chunk: Array<A>) => Iterable<Request.Request.Success<A>>
197
197
  ): RequestResolver.RequestResolver<A> =>
198
198
  makeBatched((as: Array<A>) =>
199
199
  Effect.forEach(
@@ -204,7 +204,7 @@ export const fromFunctionBatched = <A extends Request.Request<never, any>>(
204
204
  ).identified("FromFunctionBatched", f)
205
205
 
206
206
  /** @internal */
207
- export const fromFunctionEffect = <R, A extends Request.Request<any, any>>(
207
+ export const fromEffect = <R, A extends Request.Request<any, any>>(
208
208
  f: (a: A) => Effect.Effect<R, Request.Request.Error<A>, Request.Request.Success<A>>
209
209
  ): RequestResolver.RequestResolver<A, R> =>
210
210
  makeBatched((requests: Array<A>) =>
@@ -213,7 +213,51 @@ export const fromFunctionEffect = <R, A extends Request.Request<any, any>>(
213
213
  (a) => Effect.flatMap(Effect.exit(f(a)), (e) => complete(a, e as any)),
214
214
  { concurrency: "unbounded", discard: true }
215
215
  )
216
- ).identified("FromFunctionEffect", f)
216
+ ).identified("FromEffect", f)
217
+
218
+ /** @internal */
219
+ export const fromEffectTagged = <
220
+ A extends Request.Request<any, any> & {
221
+ readonly _tag: string
222
+ }
223
+ >() =>
224
+ <
225
+ Fns extends {
226
+ readonly [Tag in A["_tag"]]: [Extract<A, { readonly _tag: Tag }>] extends [infer Req] ?
227
+ Req extends Request.Request<infer ReqE, infer ReqA> ?
228
+ (requests: Array<Req>) => Effect.Effect<any, ReqE, Iterable<ReqA>>
229
+ : never
230
+ : never
231
+ }
232
+ >(
233
+ fns: Fns
234
+ ): RequestResolver.RequestResolver<
235
+ A,
236
+ ReturnType<Fns[keyof Fns]> extends Effect.Effect<infer R, infer _E, infer _A> ? R : never
237
+ > =>
238
+ makeBatched<any, A>((requests: Array<A>) => {
239
+ const grouped: Record<string, Array<A>> = {}
240
+ const tags: Array<A["_tag"]> = []
241
+ for (let i = 0, len = requests.length; i < len; i++) {
242
+ if (tags.includes(requests[i]._tag)) {
243
+ grouped[requests[i]._tag].push(requests[i])
244
+ } else {
245
+ grouped[requests[i]._tag] = [requests[i]]
246
+ tags.push(requests[i]._tag)
247
+ }
248
+ }
249
+ return Effect.forEach(
250
+ tags,
251
+ (tag) =>
252
+ Effect.matchCauseEffect((fns[tag] as any)(grouped[tag]) as Effect.Effect<unknown, unknown, Array<any>>, {
253
+ onFailure: (cause) =>
254
+ Effect.forEach(grouped[tag], (req) => complete(req, core.exitFail(cause) as any), { discard: true }),
255
+ onSuccess: (res) =>
256
+ Effect.forEach(grouped[tag], (req, i) => complete(req, core.exitSucceed(res[i]) as any), { discard: true })
257
+ }),
258
+ { concurrency: "unbounded", discard: true }
259
+ )
260
+ }).identified("FromEffectTagged", fns)
217
261
 
218
262
  /** @internal */
219
263
  export const never: RequestResolver.RequestResolver<never> = make(() => Effect.never).identified("Never")
@@ -296,7 +296,7 @@ class Key<A> implements Equal.Equal {
296
296
  [memoKeySymbol] = memoKeySymbol
297
297
  constructor(readonly a: A, readonly eq?: Equivalence<A>) {}
298
298
  [Equal.symbol](that: Equal.Equal) {
299
- if (typeof that === "object" && that !== null && memoKeySymbol in that) {
299
+ if (Predicate.hasProperty(that, memoKeySymbol)) {
300
300
  if (this.eq) {
301
301
  return this.eq(this.a, (that as unknown as Key<A>).a)
302
302
  } else {
@@ -15,6 +15,7 @@ import * as number from "../Number"
15
15
  import * as Option from "../Option"
16
16
  import * as order from "../Order"
17
17
  import { pipeArguments } from "../Pipeable"
18
+ import { hasProperty } from "../Predicate"
18
19
 
19
20
  /** @internal */
20
21
  const FiberSymbolKey = "effect/Fiber"
@@ -58,8 +59,7 @@ export const Order: order.Order<Fiber.RuntimeFiber<unknown, unknown>> = pipe(
58
59
  )
59
60
 
60
61
  /** @internal */
61
- export const isFiber = (u: unknown): u is Fiber.Fiber<unknown, unknown> =>
62
- typeof u === "object" && u != null && FiberTypeId in u
62
+ export const isFiber = (u: unknown): u is Fiber.Fiber<unknown, unknown> => hasProperty(u, FiberTypeId)
63
63
 
64
64
  /** @internal */
65
65
  export const isRuntimeFiber = <E, A>(self: Fiber.Fiber<E, A>): self is Fiber.RuntimeFiber<E, A> =>
@@ -7,6 +7,7 @@ import * as HashSet from "../HashSet"
7
7
  import { NodeInspectSymbol, toJSON, toString } from "../Inspectable"
8
8
  import * as MutableRef from "../MutableRef"
9
9
  import * as Option from "../Option"
10
+ import { hasProperty } from "../Predicate"
10
11
 
11
12
  /** @internal */
12
13
  const FiberIdSymbolKey = "effect/FiberId"
@@ -151,9 +152,7 @@ export const composite = (left: FiberId.FiberId, right: FiberId.FiberId): FiberI
151
152
  }
152
153
 
153
154
  /** @internal */
154
- export const isFiberId = (self: unknown): self is FiberId.FiberId => {
155
- return typeof self === "object" && self != null && FiberIdTypeId in self
156
- }
155
+ export const isFiberId = (self: unknown): self is FiberId.FiberId => hasProperty(self, FiberIdTypeId)
157
156
 
158
157
  /** @internal */
159
158
  export const isNone = (self: FiberId.FiberId): self is FiberId.None => {
@@ -6,6 +6,7 @@ import type { ConfigProvider } from "../ConfigProvider"
6
6
  import * as Context from "../Context"
7
7
  import * as Deferred from "../Deferred"
8
8
  import type * as Effect from "../Effect"
9
+ import { EffectTypeId } from "../Effectable"
9
10
  import type * as Either from "../Either"
10
11
  import * as ExecutionStrategy from "../ExecutionStrategy"
11
12
  import type * as Exit from "../Exit"
@@ -64,6 +65,7 @@ import type * as Scope from "../Scope"
64
65
  import type * as Supervisor from "../Supervisor"
65
66
  import type * as Tracer from "../Tracer"
66
67
  import type { Concurrency } from "../Types"
68
+ import { moduleVersion } from "./version"
67
69
 
68
70
  /** @internal */
69
71
  export const fiberStarted = metric.counter("effect_fiber_started")
@@ -1283,20 +1285,25 @@ export class FiberRuntime<E, A> implements Fiber.RuntimeFiber<E, A> {
1283
1285
  }
1284
1286
  }
1285
1287
  try {
1286
- if (!("_op" in cur)) {
1288
+ if (!("_op" in cur) || !((cur as core.Primitive)._op in this)) {
1287
1289
  console.log(cur)
1288
- }
1289
- if (!((cur as core.Primitive)._op in this)) {
1290
- if (typeof cur === "function") {
1291
- console.log((cur as any)())
1292
- }
1293
1290
  // @ts-expect-error
1294
1291
  absurd(cur)
1295
1292
  }
1293
+
1296
1294
  // @ts-expect-error
1297
1295
  cur = this._tracer.context(
1298
- // @ts-expect-error
1299
- () => this[(cur as core.Primitive)._op](cur as core.Primitive),
1296
+ () => {
1297
+ if (moduleVersion !== (cur as core.Primitive)[EffectTypeId]._V) {
1298
+ return core.dieMessage(
1299
+ `Cannot execute an Effect versioned ${
1300
+ (cur as core.Primitive)[EffectTypeId]._V
1301
+ } with a Runtime of version ${moduleVersion}`
1302
+ )
1303
+ }
1304
+ // @ts-expect-error
1305
+ return this[(cur as core.Primitive)._op](cur as core.Primitive)
1306
+ },
1300
1307
  this
1301
1308
  )
1302
1309
  } catch (e) {
@@ -3,6 +3,7 @@ import type { FiberId } from "../FiberId"
3
3
  import type * as FiberStatus from "../FiberStatus"
4
4
  import { pipe } from "../Function"
5
5
  import * as Hash from "../Hash"
6
+ import { hasProperty } from "../Predicate"
6
7
  import type { RuntimeFlags } from "../RuntimeFlags"
7
8
 
8
9
  const FiberStatusSymbolKey = "effect/FiberStatus"
@@ -105,8 +106,7 @@ export const suspended = (
105
106
  ): FiberStatus.FiberStatus => new Suspended(runtimeFlags, blockingOn)
106
107
 
107
108
  /** @internal */
108
- export const isFiberStatus = (u: unknown): u is FiberStatus.FiberStatus =>
109
- typeof u === "object" && u != null && FiberStatusTypeId in u
109
+ export const isFiberStatus = (u: unknown): u is FiberStatus.FiberStatus => hasProperty(u, FiberStatusTypeId)
110
110
 
111
111
  /** @internal */
112
112
  export const isDone = (self: FiberStatus.FiberStatus): self is FiberStatus.Done => self._tag === OP_DONE
@@ -8,7 +8,7 @@ import { dual, pipe } from "../Function"
8
8
  import type * as GroupBy from "../GroupBy"
9
9
  import * as Option from "../Option"
10
10
  import { pipeArguments } from "../Pipeable"
11
- import type { Predicate } from "../Predicate"
11
+ import { hasProperty, type Predicate } from "../Predicate"
12
12
  import * as Queue from "../Queue"
13
13
  import * as Ref from "../Ref"
14
14
  import type * as Stream from "../Stream"
@@ -37,7 +37,7 @@ const groupByVariance = {
37
37
 
38
38
  /** @internal */
39
39
  export const isGroupBy = (u: unknown): u is GroupBy.GroupBy<unknown, unknown, unknown, unknown> =>
40
- typeof u === "object" && u != null && GroupByTypeId in u
40
+ hasProperty(u, GroupByTypeId)
41
41
 
42
42
  /** @internal */
43
43
  export const evaluate = dual<
@@ -19,6 +19,7 @@ import * as runtime from "../internal/runtime"
19
19
  import * as synchronized from "../internal/synchronizedRef"
20
20
  import type * as Layer from "../Layer"
21
21
  import { pipeArguments } from "../Pipeable"
22
+ import { hasProperty } from "../Predicate"
22
23
  import type * as Runtime from "../Runtime"
23
24
  import type * as Schedule from "../Schedule"
24
25
  import * as ScheduleDecision from "../ScheduleDecision"
@@ -155,9 +156,7 @@ export interface ZipWithPar extends
155
156
  {}
156
157
 
157
158
  /** @internal */
158
- export const isLayer = (u: unknown): u is Layer.Layer<unknown, unknown, unknown> => {
159
- return typeof u === "object" && u != null && LayerTypeId in u
160
- }
159
+ export const isLayer = (u: unknown): u is Layer.Layer<unknown, unknown, unknown> => hasProperty(u, LayerTypeId)
161
160
 
162
161
  /** @internal */
163
162
  export const isFresh = <R, E, A>(self: Layer.Layer<R, E, A>): boolean => {
@@ -4,6 +4,7 @@ import { pipe } from "../../Function"
4
4
  import * as Hash from "../../Hash"
5
5
  import type * as MetricBoundaries from "../../MetricBoundaries"
6
6
  import { pipeArguments } from "../../Pipeable"
7
+ import { hasProperty } from "../../Predicate"
7
8
  import * as ReadonlyArray from "../../ReadonlyArray"
8
9
 
9
10
  /** @internal */
@@ -33,9 +34,8 @@ class MetricBoundariesImpl implements MetricBoundaries.MetricBoundaries {
33
34
  }
34
35
 
35
36
  /** @internal */
36
- export const isMetricBoundaries = (u: unknown): u is MetricBoundaries.MetricBoundaries => {
37
- return typeof u === "object" && u != null && MetricBoundariesTypeId in u
38
- }
37
+ export const isMetricBoundaries = (u: unknown): u is MetricBoundaries.MetricBoundaries =>
38
+ hasProperty(u, MetricBoundariesTypeId)
39
39
 
40
40
  /** @internal */
41
41
  export const fromChunk = (chunk: Chunk.Chunk<number>): MetricBoundaries.MetricBoundaries => {
@@ -12,6 +12,7 @@ import type * as MetricKeyType from "../../MetricKeyType"
12
12
  import type * as MetricLabel from "../../MetricLabel"
13
13
  import * as Option from "../../Option"
14
14
  import { pipeArguments } from "../../Pipeable"
15
+ import { hasProperty } from "../../Predicate"
15
16
 
16
17
  /** @internal */
17
18
  const MetricKeySymbolKey = "effect/MetricKey"
@@ -57,7 +58,7 @@ class MetricKeyImpl<Type extends MetricKeyType.MetricKeyType<any, any>> implemen
57
58
 
58
59
  /** @internal */
59
60
  export const isMetricKey = (u: unknown): u is MetricKey.MetricKey<MetricKeyType.MetricKeyType<unknown, unknown>> =>
60
- typeof u === "object" && u != null && MetricKeyTypeId in u
61
+ hasProperty(u, MetricKeyTypeId)
61
62
 
62
63
  /** @internal */
63
64
  export const counter: {
@@ -6,6 +6,7 @@ import * as Hash from "../../Hash"
6
6
  import type * as MetricBoundaries from "../../MetricBoundaries"
7
7
  import type * as MetricKeyType from "../../MetricKeyType"
8
8
  import { pipeArguments } from "../../Pipeable"
9
+ import { hasProperty } from "../../Predicate"
9
10
 
10
11
  /** @internal */
11
12
  const MetricKeyTypeSymbolKey = "effect/MetricKeyType"
@@ -218,46 +219,40 @@ export const summary = (
218
219
  * @since 2.0.0
219
220
  * @category refinements
220
221
  */
221
- export const isMetricKeyType = (u: unknown): u is MetricKeyType.MetricKeyType<unknown, unknown> => {
222
- return typeof u === "object" && u != null && MetricKeyTypeTypeId in u
223
- }
222
+ export const isMetricKeyType = (u: unknown): u is MetricKeyType.MetricKeyType<unknown, unknown> =>
223
+ hasProperty(u, MetricKeyTypeTypeId)
224
224
 
225
225
  /**
226
226
  * @since 2.0.0
227
227
  * @category refinements
228
228
  */
229
- export const isCounterKey = (u: unknown): u is MetricKeyType.MetricKeyType.Counter<number | bigint> => {
230
- return typeof u === "object" && u != null && CounterKeyTypeTypeId in u
231
- }
229
+ export const isCounterKey = (u: unknown): u is MetricKeyType.MetricKeyType.Counter<number | bigint> =>
230
+ hasProperty(u, CounterKeyTypeTypeId)
232
231
 
233
232
  /**
234
233
  * @since 2.0.0
235
234
  * @category refinements
236
235
  */
237
- export const isFrequencyKey = (u: unknown): u is MetricKeyType.MetricKeyType.Frequency => {
238
- return typeof u === "object" && u != null && FrequencyKeyTypeTypeId in u
239
- }
236
+ export const isFrequencyKey = (u: unknown): u is MetricKeyType.MetricKeyType.Frequency =>
237
+ hasProperty(u, FrequencyKeyTypeTypeId)
240
238
 
241
239
  /**
242
240
  * @since 2.0.0
243
241
  * @category refinements
244
242
  */
245
- export const isGaugeKey = (u: unknown): u is MetricKeyType.MetricKeyType.Gauge<number | bigint> => {
246
- return typeof u === "object" && u != null && GaugeKeyTypeTypeId in u
247
- }
243
+ export const isGaugeKey = (u: unknown): u is MetricKeyType.MetricKeyType.Gauge<number | bigint> =>
244
+ hasProperty(u, GaugeKeyTypeTypeId)
248
245
 
249
246
  /**
250
247
  * @since 2.0.0
251
248
  * @category refinements
252
249
  */
253
- export const isHistogramKey = (u: unknown): u is MetricKeyType.MetricKeyType.Histogram => {
254
- return typeof u === "object" && u != null && HistogramKeyTypeTypeId in u
255
- }
250
+ export const isHistogramKey = (u: unknown): u is MetricKeyType.MetricKeyType.Histogram =>
251
+ hasProperty(u, HistogramKeyTypeTypeId)
256
252
 
257
253
  /**
258
254
  * @since 2.0.0
259
255
  * @category refinements
260
256
  */
261
- export const isSummaryKey = (u: unknown): u is MetricKeyType.MetricKeyType.Summary => {
262
- return typeof u === "object" && u != null && SummaryKeyTypeTypeId in u
263
- }
257
+ export const isSummaryKey = (u: unknown): u is MetricKeyType.MetricKeyType.Summary =>
258
+ hasProperty(u, SummaryKeyTypeTypeId)
@@ -3,6 +3,7 @@ import { pipe } from "../../Function"
3
3
  import * as Hash from "../../Hash"
4
4
  import type * as MetricLabel from "../../MetricLabel"
5
5
  import { pipeArguments } from "../../Pipeable"
6
+ import { hasProperty } from "../../Predicate"
6
7
 
7
8
  /** @internal */
8
9
  const MetricLabelSymbolKey = "effect/MetricLabel"
@@ -39,6 +40,4 @@ export const make = (key: string, value: string): MetricLabel.MetricLabel => {
39
40
  }
40
41
 
41
42
  /** @internal */
42
- export const isMetricLabel = (u: unknown): u is MetricLabel.MetricLabel => {
43
- return typeof u === "object" && u != null && MetricLabelTypeId in u
44
- }
43
+ export const isMetricLabel = (u: unknown): u is MetricLabel.MetricLabel => hasProperty(u, MetricLabelTypeId)
@@ -6,6 +6,7 @@ import type * as HashMap from "../../HashMap"
6
6
  import type * as MetricState from "../../MetricState"
7
7
  import type * as Option from "../../Option"
8
8
  import { pipeArguments } from "../../Pipeable"
9
+ import { hasProperty } from "../../Predicate"
9
10
 
10
11
  /** @internal */
11
12
  const MetricStateSymbolKey = "effect/MetricState"
@@ -244,43 +245,36 @@ export const summary = (
244
245
  )
245
246
 
246
247
  /** @internal */
247
- export const isMetricState = (u: unknown): u is MetricState.MetricState.Counter<number | bigint> => {
248
- return typeof u === "object" && u != null && MetricStateTypeId in u
249
- }
248
+ export const isMetricState = (u: unknown): u is MetricState.MetricState.Counter<number | bigint> =>
249
+ hasProperty(u, MetricStateTypeId)
250
250
 
251
251
  /** @internal */
252
- export const isCounterState = (u: unknown): u is MetricState.MetricState.Counter<number | bigint> => {
253
- return typeof u === "object" && u != null && CounterStateTypeId in u
254
- }
252
+ export const isCounterState = (u: unknown): u is MetricState.MetricState.Counter<number | bigint> =>
253
+ hasProperty(u, CounterStateTypeId)
255
254
 
256
255
  /**
257
256
  * @since 2.0.0
258
257
  * @category refinements
259
258
  */
260
- export const isFrequencyState = (u: unknown): u is MetricState.MetricState.Frequency => {
261
- return typeof u === "object" && u != null && FrequencyStateTypeId in u
262
- }
259
+ export const isFrequencyState = (u: unknown): u is MetricState.MetricState.Frequency =>
260
+ hasProperty(u, FrequencyStateTypeId)
263
261
 
264
262
  /**
265
263
  * @since 2.0.0
266
264
  * @category refinements
267
265
  */
268
- export const isGaugeState = (u: unknown): u is MetricState.MetricState.Gauge<number | bigint> => {
269
- return typeof u === "object" && u != null && GaugeStateTypeId in u
270
- }
266
+ export const isGaugeState = (u: unknown): u is MetricState.MetricState.Gauge<number | bigint> =>
267
+ hasProperty(u, GaugeStateTypeId)
271
268
 
272
269
  /**
273
270
  * @since 2.0.0
274
271
  * @category refinements
275
272
  */
276
- export const isHistogramState = (u: unknown): u is MetricState.MetricState.Histogram => {
277
- return typeof u === "object" && u != null && HistogramStateTypeId in u
278
- }
273
+ export const isHistogramState = (u: unknown): u is MetricState.MetricState.Histogram =>
274
+ hasProperty(u, HistogramStateTypeId)
279
275
 
280
276
  /**
281
277
  * @since 2.0.0
282
278
  * @category refinements
283
279
  */
284
- export const isSummaryState = (u: unknown): u is MetricState.MetricState.Summary => {
285
- return typeof u === "object" && u != null && SummaryStateTypeId in u
286
- }
280
+ export const isSummaryState = (u: unknown): u is MetricState.MetricState.Summary => hasProperty(u, SummaryStateTypeId)
@@ -14,6 +14,7 @@ import * as queue from "../internal/queue"
14
14
  import * as ref from "../internal/ref"
15
15
  import { pipeArguments } from "../Pipeable"
16
16
  import type * as Pool from "../Pool"
17
+ import { hasProperty } from "../Predicate"
17
18
  import type * as Queue from "../Queue"
18
19
  import type * as Ref from "../Ref"
19
20
  import type * as Scope from "../Scope"
@@ -456,8 +457,7 @@ const makeWith = <R, E, A, S, R2>(
456
457
  )
457
458
 
458
459
  /** @internal */
459
- export const isPool = (u: unknown): u is Pool.Pool<unknown, unknown> =>
460
- typeof u === "object" && u != null && PoolTypeId in u
460
+ export const isPool = (u: unknown): u is Pool.Pool<unknown, unknown> => hasProperty(u, PoolTypeId)
461
461
 
462
462
  /** @internal */
463
463
  export const make = <R, E, A>(
@@ -8,6 +8,7 @@ import * as MutableQueue from "../MutableQueue"
8
8
  import * as MutableRef from "../MutableRef"
9
9
  import * as Option from "../Option"
10
10
  import { pipeArguments } from "../Pipeable"
11
+ import { hasProperty } from "../Predicate"
11
12
  import type * as Queue from "../Queue"
12
13
  import * as ReadonlyArray from "../ReadonlyArray"
13
14
 
@@ -322,12 +323,10 @@ const takeRemainderLoop = <A>(
322
323
  export const isQueue = (u: unknown): u is Queue.Queue<unknown> => isEnqueue(u) && isDequeue(u)
323
324
 
324
325
  /** @internal */
325
- export const isEnqueue = (u: unknown): u is Queue.Enqueue<unknown> =>
326
- typeof u === "object" && u != null && EnqueueTypeId in u
326
+ export const isEnqueue = (u: unknown): u is Queue.Enqueue<unknown> => hasProperty(u, EnqueueTypeId)
327
327
 
328
328
  /** @internal */
329
- export const isDequeue = (u: unknown): u is Queue.Dequeue<unknown> =>
330
- typeof u === "object" && u != null && DequeueTypeId in u
329
+ export const isDequeue = (u: unknown): u is Queue.Dequeue<unknown> => hasProperty(u, DequeueTypeId)
331
330
 
332
331
  /** @internal */
333
332
  export const bounded = <A>(requestedCapacity: number): Effect.Effect<never, never, Queue.Queue<A>> =>
@@ -2,6 +2,7 @@ import type * as Effect from "../Effect"
2
2
  import { dual } from "../Function"
3
3
  import * as completedRequestMap from "../internal/completedRequestMap"
4
4
  import * as core from "../internal/core"
5
+ import { hasProperty } from "../Predicate"
5
6
  import type * as Request from "../Request"
6
7
  import * as Data from "./Data"
7
8
 
@@ -20,8 +21,7 @@ const requestVariance = {
20
21
  }
21
22
 
22
23
  /** @internal */
23
- export const isRequest = (u: unknown): u is Request.Request<unknown, unknown> =>
24
- typeof u === "object" && u != null && RequestTypeId in u
24
+ export const isRequest = (u: unknown): u is Request.Request<unknown, unknown> => hasProperty(u, RequestTypeId)
25
25
 
26
26
  /** @internal */
27
27
  export const of = <R extends Request.Request<any, any>>(): Request.Request.Constructor<R> => (args) =>
@@ -167,7 +167,7 @@ export const fiberFailure = <E>(cause: Cause.Cause<E>): Runtime.FiberFailure =>
167
167
  const head = prettyErrors[0]
168
168
  error.name = head.message.split(":")[0]
169
169
  error.message = head.message.substring(error.name.length + 2)
170
- error.stack = `${error.name}: ${error.message}\n${head.stack}`
170
+ error.stack = InternalCause.pretty(cause)
171
171
  }
172
172
  error[FiberFailureId] = FiberFailureId
173
173
  error[FiberFailureCauseId] = cause
@@ -187,8 +187,7 @@ export const fiberFailure = <E>(cause: Cause.Cause<E>): Runtime.FiberFailure =>
187
187
  }
188
188
 
189
189
  /** @internal */
190
- export const isFiberFailure = (u: unknown): u is Runtime.FiberFailure =>
191
- typeof u === "object" && u !== null && FiberFailureId in u
190
+ export const isFiberFailure = (u: unknown): u is Runtime.FiberFailure => Predicate.hasProperty(u, FiberFailureId)
192
191
 
193
192
  const fastPath = <R, E, A>(effect: Effect.Effect<R, E, A>): Exit.Exit<E, A> | undefined => {
194
193
  const op = effect as core.Primitive
@@ -14,7 +14,7 @@ import * as HashMap from "../HashMap"
14
14
  import * as HashSet from "../HashSet"
15
15
  import * as Option from "../Option"
16
16
  import { pipeArguments } from "../Pipeable"
17
- import type { Predicate, Refinement } from "../Predicate"
17
+ import { hasProperty, type Predicate, type Refinement } from "../Predicate"
18
18
  import * as PubSub from "../PubSub"
19
19
  import * as Queue from "../Queue"
20
20
  import * as ReadonlyArray from "../ReadonlyArray"
@@ -51,7 +51,7 @@ export class SinkImpl<R, E, In, L, Z> implements Sink.Sink<R, E, In, L, Z> {
51
51
 
52
52
  /** @internal */
53
53
  export const isSink = (u: unknown): u is Sink.Sink<unknown, unknown, unknown, unknown, unknown> =>
54
- typeof u === "object" && u != null && SinkTypeId in u
54
+ hasProperty(u, SinkTypeId)
55
55
 
56
56
  /** @internal */
57
57
  export const suspend = <R, E, In, L, Z>(evaluate: LazyArg<Sink.Sink<R, E, In, L, Z>>): Sink.Sink<R, E, In, L, Z> =>
@@ -21,10 +21,12 @@ import * as TryCommit from "../../internal/stm/stm/tryCommit"
21
21
  import * as TxnId from "../../internal/stm/stm/txnId"
22
22
  import type * as Option from "../../Option"
23
23
  import { pipeArguments } from "../../Pipeable"
24
+ import { hasProperty } from "../../Predicate"
24
25
  import type * as Scheduler from "../../Scheduler"
25
26
  import type * as STM from "../../STM"
26
27
  import { StreamTypeId } from "../../Stream"
27
28
  import { ChannelTypeId } from "../core-stream"
29
+ import { effectVariance } from "../Effectable"
28
30
  import { SinkTypeId } from "../sink"
29
31
 
30
32
  /** @internal */
@@ -155,7 +157,7 @@ class STMPrimitive implements STM.STM<any, any, any> {
155
157
  return stmVariance
156
158
  }
157
159
  constructor(readonly i0: Primitive["i0"]) {
158
- this[Effect.EffectTypeId] = stmVariance
160
+ this[Effect.EffectTypeId] = effectVariance
159
161
  this[StreamTypeId] = stmVariance
160
162
  this[SinkTypeId] = stmVariance
161
163
  this[ChannelTypeId] = stmVariance
@@ -175,8 +177,7 @@ class STMPrimitive implements STM.STM<any, any, any> {
175
177
  }
176
178
 
177
179
  /** @internal */
178
- export const isSTM = (u: unknown): u is STM.STM<unknown, unknown, unknown> =>
179
- typeof u === "object" && u != null && STMTypeId in u
180
+ export const isSTM = (u: unknown): u is STM.STM<unknown, unknown, unknown> => hasProperty(u, STMTypeId)
180
181
 
181
182
  /** @internal */
182
183
  export const commit = <R, E, A>(self: STM.STM<R, E, A>): Effect.Effect<R, E, A> =>
@@ -5,6 +5,7 @@ import * as Hash from "../../../Hash"
5
5
  import * as OpCodes from "../../../internal/stm/opCodes/stmState"
6
6
  import * as TExitOpCodes from "../../../internal/stm/opCodes/tExit"
7
7
  import type * as TExit from "../../../internal/stm/stm/tExit"
8
+ import { hasProperty } from "../../../Predicate"
8
9
 
9
10
  /** @internal */
10
11
  const STMStateSymbolKey = "effect/STM/State"
@@ -38,9 +39,7 @@ export interface Running extends Equal.Equal {
38
39
  }
39
40
 
40
41
  /** @internal */
41
- export const isSTMState = (u: unknown): u is STMState<unknown, unknown> => {
42
- return typeof u === "object" && u != null && STMStateTypeId in u
43
- }
42
+ export const isSTMState = (u: unknown): u is STMState<unknown, unknown> => hasProperty(u, STMStateTypeId)
44
43
 
45
44
  /** @internal */
46
45
  export const isRunning = <E, A>(self: STMState<E, A>): self is Running => {