effect 2.0.0-next.51 → 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 (529) 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/Data.d.ts +7 -5
  314. package/dist/declarations/src/Data.d.ts.map +1 -1
  315. package/dist/declarations/src/Duration.d.ts.map +1 -1
  316. package/dist/declarations/src/Effect.d.ts +1 -0
  317. package/dist/declarations/src/Effect.d.ts.map +1 -1
  318. package/dist/declarations/src/Equal.d.ts.map +1 -1
  319. package/dist/declarations/src/GlobalValue.d.ts.map +1 -1
  320. package/dist/declarations/src/Hash.d.ts.map +1 -1
  321. package/dist/declarations/src/Inspectable.d.ts.map +1 -1
  322. package/dist/declarations/src/List.d.ts +2 -2
  323. package/dist/declarations/src/List.d.ts.map +1 -1
  324. package/dist/declarations/src/Predicate.d.ts +17 -0
  325. package/dist/declarations/src/Predicate.d.ts.map +1 -1
  326. package/dist/declarations/src/RequestResolver.d.ts +18 -2
  327. package/dist/declarations/src/RequestResolver.d.ts.map +1 -1
  328. package/dist/declarations/src/SortedMap.d.ts.map +1 -1
  329. package/dist/declarations/src/SortedSet.d.ts.map +1 -1
  330. package/dist/declarations/src/Stream.d.ts +15 -0
  331. package/dist/declarations/src/Stream.d.ts.map +1 -1
  332. package/dist/declarations/src/TestAnnotation.d.ts.map +1 -1
  333. package/dist/declarations/src/TestAnnotationMap.d.ts.map +1 -1
  334. package/dist/declarations/src/TestAnnotations.d.ts.map +1 -1
  335. package/dist/{defaultServices-61911fd4.cjs.prod.js → defaultServices-3f72f0d6.cjs.prod.js} +6 -5
  336. package/dist/{defaultServices-f3f93337.cjs.dev.js → defaultServices-d02bba35.cjs.dev.js} +6 -5
  337. package/dist/{fiber-f67dca7d.cjs.prod.js → fiber-52ffd4d9.cjs.prod.js} +6 -5
  338. package/dist/{fiber-cac583ce.cjs.dev.js → fiber-98ad468a.cjs.dev.js} +6 -5
  339. package/dist/{fiberRefs-6bd9745e.cjs.dev.js → fiberRefs-a89aceb0.cjs.dev.js} +1 -1
  340. package/dist/{fiberRefs-59b59378.cjs.prod.js → fiberRefs-fdf6d432.cjs.prod.js} +1 -1
  341. package/dist/{fiberRuntime-976a3e6f.cjs.dev.js → fiberRuntime-1d260336.cjs.dev.js} +28 -29
  342. package/dist/{fiberRuntime-26f406c3.cjs.prod.js → fiberRuntime-79c9da2a.cjs.prod.js} +28 -29
  343. package/dist/{groupBy-7fc93bc9.cjs.dev.js → groupBy-026dfa76.cjs.dev.js} +6 -5
  344. package/dist/{groupBy-8977b420.cjs.prod.js → groupBy-7ba748d0.cjs.prod.js} +6 -5
  345. package/dist/{hook-13f4db1e.cjs.dev.js → hook-4a05a62b.cjs.dev.js} +1 -1
  346. package/dist/{hook-8a020c3f.cjs.prod.js → hook-8cb43707.cjs.prod.js} +1 -1
  347. package/dist/{key-2cf383a2.cjs.prod.js → key-78bcadf6.cjs.prod.js} +4 -3
  348. package/dist/{key-4b5f6a7d.cjs.dev.js → key-ef346a50.cjs.dev.js} +4 -3
  349. package/dist/{keyType-36962f62.cjs.dev.js → keyType-08477e45.cjs.dev.js} +7 -18
  350. package/dist/{keyType-2ae6a00e.cjs.prod.js → keyType-d5b19a16.cjs.prod.js} +7 -18
  351. package/dist/{label-a588e6cd.cjs.prod.js → label-5fc84f90.cjs.prod.js} +2 -3
  352. package/dist/{label-b0cebeae.cjs.dev.js → label-b8010065.cjs.dev.js} +2 -3
  353. package/dist/{layer-c197624f.cjs.dev.js → layer-4689c0e4.cjs.dev.js} +11 -12
  354. package/dist/{layer-abbc91aa.cjs.prod.js → layer-50892276.cjs.prod.js} +11 -12
  355. package/dist/{mergeDecision-be41e797.cjs.dev.js → mergeDecision-09945b33.cjs.dev.js} +2 -1
  356. package/dist/{mergeDecision-07c6b5c9.cjs.prod.js → mergeDecision-f0313041.cjs.prod.js} +2 -1
  357. package/dist/{mergeState-8153ce39.cjs.dev.js → mergeState-1e12f9c8.cjs.dev.js} +2 -3
  358. package/dist/{mergeState-75990fa2.cjs.prod.js → mergeState-be337f1d.cjs.prod.js} +2 -3
  359. package/dist/{mergeStrategy-81ea5b80.cjs.dev.js → mergeStrategy-773913bc.cjs.dev.js} +2 -1
  360. package/dist/{mergeStrategy-3dd6e55f.cjs.prod.js → mergeStrategy-b3ff69de.cjs.prod.js} +2 -1
  361. package/dist/{patch-b7689042.cjs.prod.js → patch-1dd9bcaf.cjs.prod.js} +1 -1
  362. package/dist/{patch-2d425849.cjs.dev.js → patch-75c9c3b7.cjs.dev.js} +1 -1
  363. package/dist/{pathPatch-18fa425e.cjs.dev.js → pathPatch-552d6f51.cjs.dev.js} +1 -1
  364. package/dist/{pathPatch-b6020485.cjs.prod.js → pathPatch-7a1c5858.cjs.prod.js} +1 -1
  365. package/dist/{pool-810c2214.cjs.dev.js → pool-47c496db.cjs.dev.js} +7 -6
  366. package/dist/{pool-868dfa39.cjs.prod.js → pool-efd82406.cjs.prod.js} +7 -6
  367. package/dist/{query-927b504e.cjs.prod.js → query-0d958b01.cjs.prod.js} +4 -4
  368. package/dist/{query-c6684e39.cjs.dev.js → query-c332a171.cjs.dev.js} +4 -4
  369. package/dist/{queue-a0fc274d.cjs.dev.js → queue-7960c85e.cjs.dev.js} +5 -4
  370. package/dist/{queue-062806c7.cjs.prod.js → queue-d90b5d13.cjs.prod.js} +5 -4
  371. package/dist/{registry-9268ec7c.cjs.prod.js → registry-d7841ef0.cjs.prod.js} +2 -2
  372. package/dist/{registry-e5ad2d74.cjs.dev.js → registry-e3bbc631.cjs.dev.js} +2 -2
  373. package/dist/{runtime-340bd70b.cjs.dev.js → runtime-aed87fb4.cjs.dev.js} +8 -8
  374. package/dist/{runtime-ce0ad0ed.cjs.prod.js → runtime-cfb89e00.cjs.prod.js} +8 -8
  375. package/dist/{schedule-74c6207a.cjs.dev.js → schedule-19d92d87.cjs.dev.js} +3 -3
  376. package/dist/{schedule-04b40c50.cjs.prod.js → schedule-f4dc6913.cjs.prod.js} +3 -3
  377. package/dist/{scopedRef-4f0dd122.cjs.dev.js → scopedRef-7ca29150.cjs.dev.js} +6 -6
  378. package/dist/{scopedRef-d429ec83.cjs.prod.js → scopedRef-bc19c091.cjs.prod.js} +6 -6
  379. package/dist/{singleProducerAsyncInput-72c05452.cjs.dev.js → singleProducerAsyncInput-bc0cbb44.cjs.dev.js} +1 -1
  380. package/dist/{singleProducerAsyncInput-06a9076a.cjs.prod.js → singleProducerAsyncInput-f2c61f5a.cjs.prod.js} +1 -1
  381. package/dist/{sink-301d2bb4.cjs.dev.js → sink-4b05b297.cjs.dev.js} +13 -12
  382. package/dist/{sink-46df55d3.cjs.prod.js → sink-dc8bd92a.cjs.prod.js} +13 -12
  383. package/dist/{state-40d5dc71.cjs.prod.js → state-96db6911.cjs.prod.js} +7 -18
  384. package/dist/{state-620f7a22.cjs.dev.js → state-c39eeee2.cjs.dev.js} +7 -18
  385. package/dist/{stm-c0489b43.cjs.prod.js → stm-0c8ec1e9.cjs.prod.js} +3 -3
  386. package/dist/{stm-0b50e3c1.cjs.dev.js → stm-5fe40084.cjs.dev.js} +3 -3
  387. package/dist/{stream-44cdd7cb.cjs.dev.js → stream-127fa2f5.cjs.dev.js} +26 -7
  388. package/dist/{stream-0c3160ef.cjs.prod.js → stream-230b00be.cjs.prod.js} +26 -7
  389. package/dist/{synchronizedRef-2f71b820.cjs.prod.js → synchronizedRef-4e480ff3.cjs.prod.js} +1 -1
  390. package/dist/{synchronizedRef-78797507.cjs.dev.js → synchronizedRef-bc0be41f.cjs.dev.js} +1 -1
  391. package/dist/{tArray-006f45b0.cjs.prod.js → tArray-9e0a3d9f.cjs.prod.js} +3 -3
  392. package/dist/{tArray-556355cd.cjs.dev.js → tArray-bceb72f4.cjs.dev.js} +3 -3
  393. package/dist/{tMap-52d00ffb.cjs.dev.js → tMap-020a5ea4.cjs.dev.js} +4 -4
  394. package/dist/{tMap-9680b82b.cjs.prod.js → tMap-111ba646.cjs.prod.js} +4 -4
  395. package/dist/{tQueue-ca56a2a8.cjs.dev.js → tQueue-721bc394.cjs.dev.js} +6 -9
  396. package/dist/{tQueue-51cf109e.cjs.prod.js → tQueue-780b6596.cjs.prod.js} +6 -9
  397. package/dist/{tRef-b98e2e2a.cjs.dev.js → tRef-35b07161.cjs.dev.js} +1 -1
  398. package/dist/{tRef-4a2a9689.cjs.prod.js → tRef-93c769f2.cjs.prod.js} +1 -1
  399. package/dist/{upstreamPullRequest-c89f818d.cjs.prod.js → upstreamPullRequest-4eb9ab38.cjs.prod.js} +2 -1
  400. package/dist/{upstreamPullRequest-7a694281.cjs.dev.js → upstreamPullRequest-fc0d09a3.cjs.dev.js} +2 -1
  401. package/dist/{upstreamPullStrategy-f9f1ab57.cjs.dev.js → upstreamPullStrategy-69f33916.cjs.dev.js} +2 -1
  402. package/dist/{upstreamPullStrategy-63cc8967.cjs.prod.js → upstreamPullStrategy-bf9f0ad1.cjs.prod.js} +2 -1
  403. package/internal/Context.esm.js +3 -2
  404. package/internal/Effectable.esm.js +3 -1
  405. package/internal/Either.esm.js +2 -1
  406. package/internal/Encoding/Common.esm.js +3 -1
  407. package/internal/HashMap/node.esm.js +2 -1
  408. package/internal/HashMap.esm.js +2 -2
  409. package/internal/HashSet.esm.js +2 -2
  410. package/internal/Option.esm.js +2 -1
  411. package/internal/RedBlackTree.esm.js +2 -2
  412. package/internal/blockedRequests.esm.js +2 -3
  413. package/internal/cache.esm.js +2 -1
  414. package/internal/cause.esm.js +9 -16
  415. package/internal/channel/childExecutorDecision.esm.js +2 -1
  416. package/internal/channel/mergeDecision.esm.js +2 -1
  417. package/internal/channel/mergeState.esm.js +2 -3
  418. package/internal/channel/mergeStrategy.esm.js +2 -1
  419. package/internal/channel/upstreamPullRequest.esm.js +2 -1
  420. package/internal/channel/upstreamPullStrategy.esm.js +2 -1
  421. package/internal/channel.esm.js +2 -1
  422. package/internal/clock.esm.js +3 -2
  423. package/internal/config.esm.js +2 -1
  424. package/internal/configError.esm.js +2 -1
  425. package/internal/configSecret.esm.js +2 -3
  426. package/internal/core-effect.esm.js +3 -3
  427. package/internal/core-stream.esm.js +2 -1
  428. package/internal/core.esm.js +9 -13
  429. package/internal/dataSource.esm.js +30 -5
  430. package/internal/effect/circular.esm.js +2 -2
  431. package/internal/fiber.esm.js +2 -1
  432. package/internal/fiberId.esm.js +2 -3
  433. package/internal/fiberRuntime.esm.js +12 -10
  434. package/internal/fiberStatus.esm.js +2 -1
  435. package/internal/groupBy.esm.js +2 -1
  436. package/internal/layer.esm.js +3 -4
  437. package/internal/metric/boundaries.esm.js +2 -3
  438. package/internal/metric/key.esm.js +2 -1
  439. package/internal/metric/keyType.esm.js +7 -18
  440. package/internal/metric/label.esm.js +2 -3
  441. package/internal/metric/state.esm.js +7 -18
  442. package/internal/pool.esm.js +2 -1
  443. package/internal/queue.esm.js +3 -2
  444. package/internal/request.esm.js +2 -1
  445. package/internal/runtime.esm.js +4 -4
  446. package/internal/sink.esm.js +2 -1
  447. package/internal/stm/core.esm.js +4 -2
  448. package/internal/stm/stm/stmState.esm.js +2 -3
  449. package/internal/stm/stm/tExit.esm.js +2 -3
  450. package/internal/stm/tQueue.esm.js +3 -6
  451. package/internal/stream.esm.js +21 -4
  452. package/internal/supervisor.esm.js +2 -3
  453. package/internal/version.esm.js +3 -0
  454. package/package.json +11 -9
  455. package/src/BigDecimal.ts +2 -1
  456. package/src/Chunk.ts +5 -3
  457. package/src/Data.ts +7 -6
  458. package/src/Duration.ts +2 -2
  459. package/src/Effect.ts +1 -0
  460. package/src/Equal.ts +2 -1
  461. package/src/GlobalValue.ts +3 -1
  462. package/src/Hash.ts +2 -1
  463. package/src/Inspectable.ts +3 -1
  464. package/src/List.ts +8 -7
  465. package/src/Predicate.ts +21 -4
  466. package/src/RequestResolver.ts +25 -3
  467. package/src/SortedMap.ts +2 -2
  468. package/src/SortedSet.ts +2 -2
  469. package/src/Stream.ts +17 -0
  470. package/src/TestAnnotation.ts +2 -3
  471. package/src/TestAnnotationMap.ts +2 -3
  472. package/src/TestAnnotations.ts +2 -3
  473. package/src/internal/Context.ts +3 -2
  474. package/src/internal/Data.ts +2 -1
  475. package/src/internal/Effectable.ts +3 -1
  476. package/src/internal/Either.ts +2 -2
  477. package/src/internal/Encoding/Common.ts +2 -2
  478. package/src/internal/HashMap/node.ts +2 -1
  479. package/src/internal/HashMap.ts +2 -2
  480. package/src/internal/HashSet.ts +2 -2
  481. package/src/internal/Option.ts +2 -2
  482. package/src/internal/RedBlackTree.ts +2 -2
  483. package/src/internal/blockedRequests.ts +2 -3
  484. package/src/internal/cache.ts +2 -1
  485. package/src/internal/cause.ts +15 -23
  486. package/src/internal/channel/channelState.ts +2 -2
  487. package/src/internal/channel/childExecutorDecision.ts +2 -1
  488. package/src/internal/channel/mergeDecision.ts +2 -2
  489. package/src/internal/channel/mergeState.ts +3 -3
  490. package/src/internal/channel/mergeStrategy.ts +2 -2
  491. package/src/internal/channel/upstreamPullRequest.ts +2 -1
  492. package/src/internal/channel/upstreamPullStrategy.ts +2 -1
  493. package/src/internal/channel.ts +2 -2
  494. package/src/internal/clock.ts +5 -5
  495. package/src/internal/config.ts +2 -3
  496. package/src/internal/configError.ts +2 -2
  497. package/src/internal/configSecret.ts +2 -3
  498. package/src/internal/core-effect.ts +3 -3
  499. package/src/internal/core-stream.ts +2 -1
  500. package/src/internal/core.ts +8 -16
  501. package/src/internal/dataSource.ts +47 -3
  502. package/src/internal/effect/circular.ts +1 -1
  503. package/src/internal/fiber.ts +2 -2
  504. package/src/internal/fiberId.ts +2 -3
  505. package/src/internal/fiberRuntime.ts +15 -8
  506. package/src/internal/fiberStatus.ts +2 -2
  507. package/src/internal/groupBy.ts +2 -2
  508. package/src/internal/layer.ts +2 -3
  509. package/src/internal/metric/boundaries.ts +3 -3
  510. package/src/internal/metric/key.ts +2 -1
  511. package/src/internal/metric/keyType.ts +13 -18
  512. package/src/internal/metric/label.ts +2 -3
  513. package/src/internal/metric/state.ts +12 -18
  514. package/src/internal/pool.ts +2 -2
  515. package/src/internal/queue.ts +3 -4
  516. package/src/internal/request.ts +2 -2
  517. package/src/internal/runtime.ts +2 -3
  518. package/src/internal/sink.ts +2 -2
  519. package/src/internal/stm/core.ts +4 -3
  520. package/src/internal/stm/stm/stmState.ts +2 -3
  521. package/src/internal/stm/stm/tExit.ts +2 -3
  522. package/src/internal/stm/tQueue.ts +3 -7
  523. package/src/internal/stream.ts +26 -6
  524. package/src/internal/supervisor.ts +3 -3
  525. package/src/internal/version.ts +1 -0
  526. /package/dist/{RuntimeFlagsPatch-233ac7d7.cjs.prod.js → RuntimeFlagsPatch-2bc2f1c5.cjs.prod.js} +0 -0
  527. /package/dist/{RuntimeFlagsPatch-063c5864.cjs.dev.js → RuntimeFlagsPatch-5a4ff83e.cjs.dev.js} +0 -0
  528. /package/dist/{take-07165139.cjs.prod.js → take-23720f78.cjs.prod.js} +0 -0
  529. /package/dist/{take-689a29d5.cjs.dev.js → take-472621b6.cjs.dev.js} +0 -0
package/src/Stream.ts CHANGED
@@ -144,6 +144,23 @@ export declare namespace Stream {
144
144
  */
145
145
  export const DefaultChunkSize: number = internal.DefaultChunkSize
146
146
 
147
+ /**
148
+ * Collects each underlying Chunk of the stream into a new chunk, and emits it
149
+ * on each pull.
150
+ *
151
+ * @since 2.0.0
152
+ * @category utils
153
+ */
154
+ export const accumulate: <R, E, A>(self: Stream<R, E, A>) => Stream<R, E, Chunk.Chunk<A>> = internal.accumulate
155
+
156
+ /**
157
+ * Re-chunks the elements of the stream by accumulating each underlying chunk.
158
+ *
159
+ * @since 2.0.0
160
+ * @category utils
161
+ */
162
+ export const accumulateChunks: <R, E, A>(self: Stream<R, E, A>) => Stream<R, E, A> = internal.accumulateChunks
163
+
147
164
  /**
148
165
  * Creates a stream from a single value that will get cleaned up after the
149
166
  * stream is consumed.
@@ -10,6 +10,7 @@ import { pipe } from "./Function"
10
10
  import * as Hash from "./Hash"
11
11
  import * as HashSet from "./HashSet"
12
12
  import type * as MutableRef from "./MutableRef"
13
+ import { hasProperty } from "./Predicate"
13
14
  import type * as SortedSet from "./SortedSet"
14
15
 
15
16
  /** @internal */
@@ -62,9 +63,7 @@ class TestAnnotationImpl<A> implements Equal.Equal {
62
63
  /**
63
64
  * @since 2.0.0
64
65
  */
65
- export const isTestAnnotation = (u: unknown): u is TestAnnotation<unknown> => {
66
- return typeof u === "object" && u != null && TestAnnotationTypeId in u
67
- }
66
+ export const isTestAnnotation = (u: unknown): u is TestAnnotation<unknown> => hasProperty(u, TestAnnotationTypeId)
68
67
 
69
68
  /**
70
69
  * @since 2.0.0
@@ -2,6 +2,7 @@
2
2
  * @since 2.0.0
3
3
  */
4
4
  import { dual, pipe } from "./Function"
5
+ import { hasProperty } from "./Predicate"
5
6
  import type * as TestAnnotation from "./TestAnnotation"
6
7
 
7
8
  /**
@@ -35,9 +36,7 @@ class TestAnnotationMapImpl implements TestAnnotationMap {
35
36
  /**
36
37
  * @since 2.0.0
37
38
  */
38
- export const isTestAnnotationMap = (u: unknown): u is TestAnnotationMap => {
39
- return typeof u === "object" && u != null && TestAnnotationMapTypeId in u
40
- }
39
+ export const isTestAnnotationMap = (u: unknown): u is TestAnnotationMap => hasProperty(u, TestAnnotationMapTypeId)
41
40
 
42
41
  /**
43
42
  * @since 2.0.0
@@ -10,6 +10,7 @@ import * as core from "./internal/core"
10
10
  import * as effect from "./internal/core-effect"
11
11
  import * as fiber from "./internal/fiber"
12
12
  import * as MutableRef from "./MutableRef"
13
+ import { hasProperty } from "./Predicate"
13
14
  import * as RA from "./ReadonlyArray"
14
15
  import * as Ref from "./Ref"
15
16
  import * as SortedSet from "./SortedSet"
@@ -101,9 +102,7 @@ export const TestAnnotations: Context.Tag<TestAnnotations, TestAnnotations> = Co
101
102
  /**
102
103
  * @since 2.0.0
103
104
  */
104
- export const isTestAnnotations = (u: unknown): u is TestAnnotations => {
105
- return typeof u === "object" && u != null && TestAnnotationsTypeId in u
106
- }
105
+ export const isTestAnnotations = (u: unknown): u is TestAnnotations => hasProperty(u, TestAnnotationsTypeId)
107
106
 
108
107
  /**
109
108
  * @since 2.0.0
@@ -6,6 +6,7 @@ import * as Hash from "../Hash"
6
6
  import { NodeInspectSymbol, toJSON, toString } from "../Inspectable"
7
7
  import type * as O from "../Option"
8
8
  import { pipeArguments } from "../Pipeable"
9
+ import { hasProperty } from "../Predicate"
9
10
  import type * as STM from "../STM"
10
11
  import { EffectPrototype, effectVariance } from "./Effectable"
11
12
  import * as option from "./Option"
@@ -147,10 +148,10 @@ const serviceNotFoundError = (tag: C.Tag<any, any>) => {
147
148
  }
148
149
 
149
150
  /** @internal */
150
- export const isContext = (u: unknown): u is C.Context<never> => typeof u === "object" && u !== null && TypeId in u
151
+ export const isContext = (u: unknown): u is C.Context<never> => hasProperty(u, TypeId)
151
152
 
152
153
  /** @internal */
153
- export const isTag = (u: unknown): u is C.Tag<any, any> => typeof u === "object" && u !== null && TagTypeId in u
154
+ export const isTag = (u: unknown): u is C.Tag<any, any> => hasProperty(u, TagTypeId)
154
155
 
155
156
  const _empty = makeContext(new Map())
156
157
 
@@ -39,7 +39,8 @@ export const StructProto: Equal.Equal = {
39
39
 
40
40
  /** @internal */
41
41
  export const Structural: new<A>(
42
- args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void : Omit<A, keyof Equal.Equal>
42
+ args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
43
+ : { readonly [P in keyof A as P extends keyof Equal.Equal ? never : P]: A[P] }
43
44
  ) => Data.Case = (function() {
44
45
  function Structural(this: any, args: any) {
45
46
  if (args) {
@@ -8,6 +8,7 @@ import type * as Sink from "../Sink"
8
8
  import type * as Stream from "../Stream"
9
9
  import * as Data from "./Data"
10
10
  import * as OpCodes from "./opCodes/effect"
11
+ import { moduleVersion } from "./version"
11
12
 
12
13
  /** @internal */
13
14
  export const EffectTypeId: Effect.EffectTypeId = Symbol.for("effect/Effect") as Effect.EffectTypeId
@@ -25,7 +26,8 @@ export const ChannelTypeId: Channel.ChannelTypeId = Symbol.for("effect/Channel")
25
26
  export const effectVariance = {
26
27
  _R: (_: never) => _,
27
28
  _E: (_: never) => _,
28
- _A: (_: never) => _
29
+ _A: (_: never) => _,
30
+ _V: moduleVersion
29
31
  }
30
32
 
31
33
  /** @internal */
@@ -9,6 +9,7 @@ import * as Hash from "../Hash"
9
9
  import { NodeInspectSymbol, toJSON, toString } from "../Inspectable"
10
10
  import * as option from "../internal/Option"
11
11
  import type { Option } from "../Option"
12
+ import { hasProperty } from "../Predicate"
12
13
  import { EffectPrototype } from "./Effectable"
13
14
 
14
15
  /**
@@ -66,8 +67,7 @@ const LeftProto = Object.assign(Object.create(CommonProto), {
66
67
  })
67
68
 
68
69
  /** @internal */
69
- export const isEither = (input: unknown): input is Either.Either<unknown, unknown> =>
70
- typeof input === "object" && input != null && TypeId in input
70
+ export const isEither = (input: unknown): input is Either.Either<unknown, unknown> => hasProperty(input, TypeId)
71
71
 
72
72
  /** @internal */
73
73
  export const isLeft = <E, A>(ma: Either.Either<E, A>): ma is Either.Left<E, A> => ma._tag === "Left"
@@ -1,4 +1,5 @@
1
1
  import type * as Encoding from "../../Encoding"
2
+ import { hasProperty } from "../../Predicate"
2
3
 
3
4
  /** @internal */
4
5
  export const DecodeExceptionTypeId: Encoding.DecodeExceptionTypeId = Symbol.for(
@@ -14,8 +15,7 @@ export const DecodeException = (input: string, message?: string): Encoding.Decod
14
15
  })
15
16
 
16
17
  /** @internal */
17
- export const isDecodeException = (u: unknown): u is Encoding.DecodeException =>
18
- typeof u === "object" && u != null && DecodeExceptionTypeId in u
18
+ export const isDecodeException = (u: unknown): u is Encoding.DecodeException => hasProperty(u, DecodeExceptionTypeId)
19
19
 
20
20
  /** @interal */
21
21
  export const encoder = new TextEncoder()
@@ -5,6 +5,7 @@ import { fromBitmap, hashFragment, toBitmap } from "../../internal/HashMap/bitwi
5
5
  import { MAX_INDEX_NODE, MIN_ARRAY_NODE, SIZE } from "../../internal/HashMap/config"
6
6
  import { Stack } from "../../internal/Stack"
7
7
  import * as O from "../../Option"
8
+ import { isTagged } from "../../Predicate"
8
9
 
9
10
  /** @internal */
10
11
  export type Node<K, V> =
@@ -40,7 +41,7 @@ export class EmptyNode<K, V> {
40
41
 
41
42
  /** @internal */
42
43
  export function isEmptyNode(a: unknown): a is EmptyNode<unknown, unknown> {
43
- return typeof a === "object" && a !== null && "_tag" in a && a._tag === "EmptyNode"
44
+ return isTagged(a, "EmptyNode")
44
45
  }
45
46
 
46
47
  /** @internal */
@@ -9,7 +9,7 @@ import { SIZE } from "../internal/HashMap/config"
9
9
  import * as Node from "../internal/HashMap/node"
10
10
  import * as Option from "../Option"
11
11
  import { pipeArguments } from "../Pipeable"
12
- import { isObject } from "../Predicate"
12
+ import { hasProperty } from "../Predicate"
13
13
 
14
14
  /** @internal */
15
15
  export const HashMapTypeId: HM.TypeId = Symbol.for("effect/HashMap") as HM.TypeId
@@ -199,7 +199,7 @@ export const fromIterable = <K, V>(entries: Iterable<readonly [K, V]>): HM.HashM
199
199
  export const isHashMap: {
200
200
  <K, V>(u: Iterable<readonly [K, V]>): u is HM.HashMap<K, V>
201
201
  (u: unknown): u is HM.HashMap<unknown, unknown>
202
- } = (u: unknown): u is HM.HashMap<unknown, unknown> => isObject(u) && HashMapTypeId in u
202
+ } = (u: unknown): u is HM.HashMap<unknown, unknown> => hasProperty(u, HashMapTypeId)
203
203
 
204
204
  /** @internal */
205
205
  export const isEmpty = <K, V>(self: HM.HashMap<K, V>): boolean =>
@@ -7,7 +7,7 @@ import { NodeInspectSymbol, toJSON, toString } from "../Inspectable"
7
7
  import * as HM from "../internal/HashMap"
8
8
  import { pipeArguments } from "../Pipeable"
9
9
  import type { Predicate, Refinement } from "../Predicate"
10
- import { isObject } from "../Predicate"
10
+ import { hasProperty } from "../Predicate"
11
11
 
12
12
  /** @internal */
13
13
  export const HashSetTypeId: HS.TypeId = Symbol.for("effect/HashSet") as HS.TypeId
@@ -62,7 +62,7 @@ export const makeImpl = <A>(keyMap: HashMap<A, unknown>): HashSetImpl<A> => {
62
62
  export const isHashSet: {
63
63
  <A>(u: Iterable<A>): u is HS.HashSet<A>
64
64
  (u: unknown): u is HS.HashSet<unknown>
65
- } = (u: unknown): u is HS.HashSet<unknown> => isObject(u) && HashSetTypeId in u
65
+ } = (u: unknown): u is HS.HashSet<unknown> => hasProperty(u, HashSetTypeId)
66
66
 
67
67
  const _empty = makeImpl<never>(HM.empty())
68
68
 
@@ -6,6 +6,7 @@ import * as Equal from "../Equal"
6
6
  import * as Hash from "../Hash"
7
7
  import { NodeInspectSymbol, toJSON, toString } from "../Inspectable"
8
8
  import type * as Option from "../Option"
9
+ import { hasProperty } from "../Predicate"
9
10
  import { EffectPrototype } from "./Effectable"
10
11
 
11
12
  const TypeId: Option.TypeId = Symbol.for("effect/Option") as Option.TypeId
@@ -59,8 +60,7 @@ const NoneProto = Object.assign(Object.create(CommonProto), {
59
60
  })
60
61
 
61
62
  /** @internal */
62
- export const isOption = (input: unknown): input is Option.Option<unknown> =>
63
- typeof input === "object" && input != null && TypeId in input
63
+ export const isOption = (input: unknown): input is Option.Option<unknown> => hasProperty(input, TypeId)
64
64
 
65
65
  /** @internal */
66
66
  export const isNone = <A>(fa: Option.Option<A>): fa is Option.None<A> => fa._tag === "None"
@@ -10,7 +10,7 @@ import * as Option from "../Option"
10
10
  import type * as Order from "../Order"
11
11
  import type * as Ordering from "../Ordering"
12
12
  import { pipeArguments } from "../Pipeable"
13
- import { isObject } from "../Predicate"
13
+ import { hasProperty } from "../Predicate"
14
14
  import type * as RBT from "../RedBlackTree"
15
15
 
16
16
  const RedBlackTreeSymbolKey = "effect/RedBlackTree"
@@ -75,7 +75,7 @@ const makeImpl = <K, V>(ord: Order.Order<K>, root: Node.Node<K, V> | undefined):
75
75
  export const isRedBlackTree: {
76
76
  <K, V>(u: Iterable<readonly [K, V]>): u is RBT.RedBlackTree<K, V>
77
77
  (u: unknown): u is RBT.RedBlackTree<unknown, unknown>
78
- } = (u: unknown): u is RBT.RedBlackTree<unknown, unknown> => isObject(u) && RedBlackTreeTypeId in u
78
+ } = (u: unknown): u is RBT.RedBlackTree<unknown, unknown> => hasProperty(u, RedBlackTreeTypeId)
79
79
 
80
80
  /** @internal */
81
81
  export const empty = <K, V = never>(ord: Order.Order<K>): RBT.RedBlackTree<K, V> => makeImpl<K, V>(ord, undefined)
@@ -5,6 +5,7 @@ import type { FiberId } from "../FiberId"
5
5
  import * as HashMap from "../HashMap"
6
6
  import * as List from "../List"
7
7
  import * as Option from "../Option"
8
+ import { hasProperty } from "../Predicate"
8
9
  import type * as Request from "../Request"
9
10
  import type * as RequestBlock from "../RequestBlock"
10
11
  import type * as RequestResolver from "../RequestResolver"
@@ -329,9 +330,7 @@ const blockedRequestVariance = {
329
330
  }
330
331
 
331
332
  /** @internal */
332
- export const isEntry = (u: unknown): u is Request.Entry<unknown> => {
333
- return typeof u === "object" && u != null && EntryTypeId in u
334
- }
333
+ export const isEntry = (u: unknown): u is Request.Entry<unknown> => hasProperty(u, EntryTypeId)
335
334
 
336
335
  /** @internal */
337
336
  export const makeEntry = <A extends Request.Request<any, any>>(
@@ -14,6 +14,7 @@ import * as MutableHashMap from "../MutableHashMap"
14
14
  import * as MutableQueue from "../MutableQueue"
15
15
  import * as MutableRef from "../MutableRef"
16
16
  import * as Option from "../Option"
17
+ import { hasProperty } from "../Predicate"
17
18
  import * as core from "./core"
18
19
  import * as effect from "./core-effect"
19
20
  import * as Data from "./Data"
@@ -140,7 +141,7 @@ class MapKeyImpl<K> implements MapKey<K> {
140
141
  export const makeMapKey = <K>(current: K): MapKey<K> => new MapKeyImpl(current)
141
142
 
142
143
  /** @internal */
143
- export const isMapKey = (u: unknown): u is MapKey<unknown> => typeof u === "object" && u != null && MapKeyTypeId in u
144
+ export const isMapKey = (u: unknown): u is MapKey<unknown> => hasProperty(u, MapKeyTypeId)
144
145
 
145
146
  /**
146
147
  * A `KeySet` is a sorted set of keys in the cache ordered by last access.
@@ -9,7 +9,7 @@ import * as HashSet from "../HashSet"
9
9
  import { NodeInspectSymbol, toJSON } from "../Inspectable"
10
10
  import * as Option from "../Option"
11
11
  import { pipeArguments } from "../Pipeable"
12
- import type { Predicate } from "../Predicate"
12
+ import { hasProperty, isFunction, type Predicate } from "../Predicate"
13
13
  import * as ReadonlyArray from "../ReadonlyArray"
14
14
  import * as OpCodes from "./opCodes/cause"
15
15
 
@@ -128,7 +128,7 @@ export const sequential = <E, E2>(left: Cause.Cause<E>, right: Cause.Cause<E2>):
128
128
  // -----------------------------------------------------------------------------
129
129
 
130
130
  /** @internal */
131
- export const isCause = (u: unknown): u is Cause.Cause<never> => typeof u === "object" && u != null && CauseTypeId in u
131
+ export const isCause = (u: unknown): u is Cause.Cause<never> => hasProperty(u, CauseTypeId)
132
132
 
133
133
  /** @internal */
134
134
  export const isEmptyType = <E>(self: Cause.Cause<E>): self is Cause.Empty => self._tag === OpCodes.OP_EMPTY
@@ -1015,9 +1015,7 @@ export const RuntimeException = makeException<Cause.RuntimeException>({
1015
1015
  }, "RuntimeException")
1016
1016
 
1017
1017
  /** @internal */
1018
- export const isRuntimeException = (u: unknown): u is Cause.RuntimeException => {
1019
- return typeof u === "object" && u != null && RuntimeExceptionTypeId in u
1020
- }
1018
+ export const isRuntimeException = (u: unknown): u is Cause.RuntimeException => hasProperty(u, RuntimeExceptionTypeId)
1021
1019
 
1022
1020
  /** @internal */
1023
1021
  export const InterruptedExceptionTypeId: Cause.InterruptedExceptionTypeId = Symbol.for(
@@ -1030,9 +1028,8 @@ export const InterruptedException = makeException<Cause.InterruptedException>({
1030
1028
  }, "InterruptedException")
1031
1029
 
1032
1030
  /** @internal */
1033
- export const isInterruptedException = (u: unknown): u is Cause.InterruptedException => {
1034
- return typeof u === "object" && u != null && InterruptedExceptionTypeId in u
1035
- }
1031
+ export const isInterruptedException = (u: unknown): u is Cause.InterruptedException =>
1032
+ hasProperty(u, InterruptedExceptionTypeId)
1036
1033
 
1037
1034
  /** @internal */
1038
1035
  export const IllegalArgumentExceptionTypeId: Cause.IllegalArgumentExceptionTypeId = Symbol.for(
@@ -1045,9 +1042,8 @@ export const IllegalArgumentException = makeException<Cause.IllegalArgumentExcep
1045
1042
  }, "IllegalArgumentException")
1046
1043
 
1047
1044
  /** @internal */
1048
- export const isIllegalArgumentException = (u: unknown): u is Cause.IllegalArgumentException => {
1049
- return typeof u === "object" && u != null && IllegalArgumentExceptionTypeId in u
1050
- }
1045
+ export const isIllegalArgumentException = (u: unknown): u is Cause.IllegalArgumentException =>
1046
+ hasProperty(u, IllegalArgumentExceptionTypeId)
1051
1047
 
1052
1048
  /** @internal */
1053
1049
  export const NoSuchElementExceptionTypeId: Cause.NoSuchElementExceptionTypeId = Symbol.for(
@@ -1060,9 +1056,8 @@ export const NoSuchElementException = makeException<Cause.NoSuchElementException
1060
1056
  }, "NoSuchElementException")
1061
1057
 
1062
1058
  /** @internal */
1063
- export const isNoSuchElementException = (u: unknown): u is Cause.NoSuchElementException => {
1064
- return typeof u === "object" && u != null && NoSuchElementExceptionTypeId in u
1065
- }
1059
+ export const isNoSuchElementException = (u: unknown): u is Cause.NoSuchElementException =>
1060
+ hasProperty(u, NoSuchElementExceptionTypeId)
1066
1061
 
1067
1062
  /** @internal */
1068
1063
  export const InvalidPubSubCapacityExceptionTypeId: Cause.InvalidPubSubCapacityExceptionTypeId = Symbol.for(
@@ -1075,9 +1070,8 @@ export const InvalidPubSubCapacityException = makeException<Cause.InvalidPubSubC
1075
1070
  }, "InvalidPubSubCapacityException")
1076
1071
 
1077
1072
  /** @internal */
1078
- export const isInvalidCapacityError = (u: unknown): u is Cause.InvalidPubSubCapacityException => {
1079
- return typeof u === "object" && u != null && InvalidPubSubCapacityExceptionTypeId in u
1080
- }
1073
+ export const isInvalidCapacityError = (u: unknown): u is Cause.InvalidPubSubCapacityException =>
1074
+ hasProperty(u, InvalidPubSubCapacityExceptionTypeId)
1081
1075
 
1082
1076
  // -----------------------------------------------------------------------------
1083
1077
  // Pretty Printing
@@ -1163,10 +1157,8 @@ export const prettyErrorMessage = (u: unknown): string => {
1163
1157
  }
1164
1158
  // 2)
1165
1159
  if (
1166
- typeof u === "object" &&
1167
- u != null &&
1168
- "toString" in u &&
1169
- typeof u["toString"] === "function" &&
1160
+ hasProperty(u, "toString") &&
1161
+ isFunction(u["toString"]) &&
1170
1162
  u["toString"] !== Object.prototype.toString
1171
1163
  ) {
1172
1164
  return u["toString"]()
@@ -1178,8 +1170,8 @@ export const prettyErrorMessage = (u: unknown): string => {
1178
1170
  const spanSymbol = Symbol.for("effect/SpanAnnotation")
1179
1171
 
1180
1172
  const defaultRenderError = (error: unknown): PrettyError => {
1181
- const span = typeof error === "object" && error !== null && spanSymbol in error && (error as any)[spanSymbol]
1182
- if (typeof error === "object" && error !== null && error instanceof Error) {
1173
+ const span: any = hasProperty(error, spanSymbol) && error[spanSymbol]
1174
+ if (error instanceof Error) {
1183
1175
  return new PrettyError(
1184
1176
  prettyErrorMessage(error),
1185
1177
  error.stack?.split("\n").filter((_) => _.match(/at (.*)/)).join("\n"),
@@ -1,5 +1,6 @@
1
1
  import * as Effect from "../../Effect"
2
2
  import type * as Exit from "../../Exit"
3
+ import { hasProperty } from "../../Predicate"
3
4
  import * as OpCodes from "../opCodes/channelState"
4
5
  import type { ErasedExecutor } from "./channelExecutor"
5
6
 
@@ -107,8 +108,7 @@ export const Read = <R>(
107
108
  }
108
109
 
109
110
  /** @internal */
110
- export const isChannelState = (u: unknown): u is ChannelState<unknown, unknown> =>
111
- typeof u === "object" && u != null && ChannelStateTypeId in u
111
+ export const isChannelState = (u: unknown): u is ChannelState<unknown, unknown> => hasProperty(u, ChannelStateTypeId)
112
112
 
113
113
  /** @internal */
114
114
  export const isDone = <R, E>(self: ChannelState<R, E>): self is Done => (self as Primitive)._tag === OpCodes.OP_DONE
@@ -1,5 +1,6 @@
1
1
  import type * as ChildExecutorDecision from "../../ChannelChildExecutorDecision"
2
2
  import { dual } from "../../Function"
3
+ import { hasProperty } from "../../Predicate"
3
4
  import * as OpCodes from "../opCodes/channelChildExecutorDecision"
4
5
 
5
6
  /** @internal */
@@ -39,7 +40,7 @@ export const Yield = (_: void): ChildExecutorDecision.ChildExecutorDecision => {
39
40
 
40
41
  /** @internal */
41
42
  export const isChildExecutorDecision = (u: unknown): u is ChildExecutorDecision.ChildExecutorDecision =>
42
- typeof u === "object" && u != null && ChildExecutorDecisionTypeId in u
43
+ hasProperty(u, ChildExecutorDecisionTypeId)
43
44
 
44
45
  /** @internal */
45
46
  export const isContinue = (
@@ -2,6 +2,7 @@ import type * as MergeDecision from "../../ChannelMergeDecision"
2
2
  import type * as Effect from "../../Effect"
3
3
  import type * as Exit from "../../Exit"
4
4
  import { dual } from "../../Function"
5
+ import { hasProperty } from "../../Predicate"
5
6
  import * as OpCodes from "../opCodes/channelMergeDecision"
6
7
 
7
8
  /** @internal */
@@ -78,8 +79,7 @@ export const AwaitConst = <R, E, Z>(
78
79
  /** @internal */
79
80
  export const isMergeDecision = (
80
81
  u: unknown
81
- ): u is MergeDecision.MergeDecision<unknown, unknown, unknown, unknown, unknown> =>
82
- typeof u === "object" && u != null && MergeDecisionTypeId in u
82
+ ): u is MergeDecision.MergeDecision<unknown, unknown, unknown, unknown, unknown> => hasProperty(u, MergeDecisionTypeId)
83
83
 
84
84
  /** @internal */
85
85
  export const match = dual<
@@ -4,6 +4,7 @@ import type * as Either from "../../Either"
4
4
  import type * as Exit from "../../Exit"
5
5
  import type * as Fiber from "../../Fiber"
6
6
  import { dual } from "../../Function"
7
+ import { hasProperty } from "../../Predicate"
7
8
  import * as OpCodes from "../opCodes/channelMergeState"
8
9
 
9
10
  /** @internal */
@@ -54,9 +55,8 @@ export const RightDone = <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(
54
55
  /** @internal */
55
56
  export const isMergeState = (
56
57
  u: unknown
57
- ): u is MergeState.MergeState<unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown> => {
58
- return typeof u === "object" && u != null && MergeStateTypeId in u
59
- }
58
+ ): u is MergeState.MergeState<unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown> =>
59
+ hasProperty(u, MergeStateTypeId)
60
60
 
61
61
  /** @internal */
62
62
  export const isBothRunning = <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(
@@ -1,5 +1,6 @@
1
1
  import type * as MergeStrategy from "../../ChannelMergeStrategy"
2
2
  import { dual } from "../../Function"
3
+ import { hasProperty } from "../../Predicate"
3
4
  import * as OpCodes from "../opCodes/channelMergeStrategy"
4
5
 
5
6
  /** @internal */
@@ -30,8 +31,7 @@ export const BufferSliding = (_: void): MergeStrategy.MergeStrategy => {
30
31
  }
31
32
 
32
33
  /** @internal */
33
- export const isMergeStrategy = (u: unknown): u is MergeStrategy.MergeStrategy =>
34
- typeof u === "object" && u != null && MergeStrategyTypeId in u
34
+ export const isMergeStrategy = (u: unknown): u is MergeStrategy.MergeStrategy => hasProperty(u, MergeStrategyTypeId)
35
35
 
36
36
  /** @internal */
37
37
  export const isBackPressure = (self: MergeStrategy.MergeStrategy): self is MergeStrategy.BackPressure =>
@@ -1,5 +1,6 @@
1
1
  import type * as UpstreamPullRequest from "../../ChannelUpstreamPullRequest"
2
2
  import { dual } from "../../Function"
3
+ import { hasProperty } from "../../Predicate"
3
4
  import * as OpCodes from "../opCodes/channelUpstreamPullRequest"
4
5
 
5
6
  /** @internal */
@@ -38,7 +39,7 @@ export const NoUpstream = (activeDownstreamCount: number): UpstreamPullRequest.U
38
39
 
39
40
  /** @internal */
40
41
  export const isUpstreamPullRequest = (u: unknown): u is UpstreamPullRequest.UpstreamPullRequest<unknown> =>
41
- typeof u === "object" && u != null && UpstreamPullRequestTypeId in u
42
+ hasProperty(u, UpstreamPullRequestTypeId)
42
43
 
43
44
  /** @internal */
44
45
  export const isPulled = <A>(
@@ -1,6 +1,7 @@
1
1
  import type * as UpstreamPullStrategy from "../../ChannelUpstreamPullStrategy"
2
2
  import { dual } from "../../Function"
3
3
  import type * as Option from "../../Option"
4
+ import { hasProperty } from "../../Predicate"
4
5
  import * as OpCodes from "../opCodes/channelUpstreamPullStrategy"
5
6
 
6
7
  /** @internal */
@@ -41,7 +42,7 @@ export const PullAfterAllEnqueued = <A>(
41
42
 
42
43
  /** @internal */
43
44
  export const isUpstreamPullStrategy = (u: unknown): u is UpstreamPullStrategy.UpstreamPullStrategy<unknown> =>
44
- typeof u === "object" && u != null && UpstreamPullStrategyTypeId in u
45
+ hasProperty(u, UpstreamPullStrategyTypeId)
45
46
 
46
47
  /** @internal */
47
48
  export const isPullAfterNext = <A>(
@@ -16,7 +16,7 @@ import { constVoid, dual, identity, pipe } from "../Function"
16
16
  import type { LazyArg } from "../Function"
17
17
  import * as Layer from "../Layer"
18
18
  import * as Option from "../Option"
19
- import type { Predicate } from "../Predicate"
19
+ import { hasProperty, type Predicate } from "../Predicate"
20
20
  import * as PubSub from "../PubSub"
21
21
  import * as Queue from "../Queue"
22
22
  import * as Ref from "../Ref"
@@ -2517,4 +2517,4 @@ export const ChannelException = <E>(error: E): Channel.ChannelException<E> => ({
2517
2517
 
2518
2518
  /** @internal */
2519
2519
  export const isChannelException = (u: unknown): u is Channel.ChannelException<unknown> =>
2520
- typeof u === "object" && u != null && ChannelExceptionTypeId in u
2520
+ hasProperty(u, ChannelExceptionTypeId)
@@ -4,6 +4,7 @@ import * as Duration from "../Duration"
4
4
  import type * as Effect from "../Effect"
5
5
  import * as Either from "../Either"
6
6
  import { constFalse } from "../Function"
7
+ import { hasProperty, isFunction } from "../Predicate"
7
8
  import * as core from "./core"
8
9
  import * as timeout from "./timeout"
9
10
 
@@ -49,15 +50,14 @@ const performanceNowNanos = (function() {
49
50
 
50
51
  const origin = "timeOrigin" in performance && typeof performance.timeOrigin === "number" ?
51
52
  BigInt(Math.round(performance.timeOrigin * 1_000_000)) :
52
- BigInt(Date.now()) * bigint1e6
53
+ (BigInt(Date.now()) * bigint1e6) - BigInt(Math.round(performance.now() * 1_000_000))
53
54
 
54
55
  return () => origin + BigInt(Math.round(performance.now() * 1_000_000))
55
56
  })()
56
57
  const processOrPerformanceNow = (function() {
57
- const processHrtime =
58
- typeof process === "object" && "hrtime" in process && typeof process.hrtime.bigint === "function" ?
59
- process.hrtime :
60
- undefined
58
+ const processHrtime = hasProperty(process, "hrtime") && isFunction(process.hrtime.bigint) ?
59
+ process.hrtime :
60
+ undefined
61
61
  if (!processHrtime) {
62
62
  return performanceNowNanos
63
63
  }
@@ -14,7 +14,7 @@ import * as OpCodes from "../internal/opCodes/config"
14
14
  import type * as LogLevel from "../LogLevel"
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
 
19
19
  /** @internal */
20
20
  const ConfigSymbolKey = "effect/Config"
@@ -483,8 +483,7 @@ export const hashMap = <A>(config: Config.Config<A>, name?: string): Config.Conf
483
483
  }
484
484
 
485
485
  /** @internal */
486
- export const isConfig = (u: unknown): u is Config.Config<unknown> =>
487
- typeof u === "object" && u != null && ConfigTypeId in u
486
+ export const isConfig = (u: unknown): u is Config.Config<unknown> => hasProperty(u, ConfigTypeId)
488
487
 
489
488
  /** @internal */
490
489
  const tuple = <T extends ArrayLike<Config.Config<any>>>(tuple: T): Config.Config<
@@ -3,6 +3,7 @@ import type * as ConfigError from "../ConfigError"
3
3
  import * as Either from "../Either"
4
4
  import { constFalse, constTrue, dual, pipe } from "../Function"
5
5
  import * as OpCodes from "../internal/opCodes/configError"
6
+ import { hasProperty } from "../Predicate"
6
7
  import * as RA from "../ReadonlyArray"
7
8
 
8
9
  /** @internal */
@@ -131,8 +132,7 @@ export const Unsupported = (
131
132
  }
132
133
 
133
134
  /** @internal */
134
- export const isConfigError = (u: unknown): u is ConfigError.ConfigError =>
135
- typeof u === "object" && u != null && ConfigErrorTypeId in u
135
+ export const isConfigError = (u: unknown): u is ConfigError.ConfigError => hasProperty(u, ConfigErrorTypeId)
136
136
 
137
137
  /** @internal */
138
138
  export const isAnd = (self: ConfigError.ConfigError): self is ConfigError.And => self._tag === OpCodes.OP_AND
@@ -3,6 +3,7 @@ import type * as ConfigSecret from "../ConfigSecret"
3
3
  import * as Equal from "../Equal"
4
4
  import { pipe } from "../Function"
5
5
  import * as Hash from "../Hash"
6
+ import { hasProperty } from "../Predicate"
6
7
 
7
8
  /** @internal */
8
9
  const ConfigSecretSymbolKey = "effect/ConfigSecret"
@@ -28,9 +29,7 @@ export const proto = {
28
29
  }
29
30
 
30
31
  /** @internal */
31
- export const isConfigSecret = (u: unknown): u is ConfigSecret.ConfigSecret => {
32
- return typeof u === "object" && u != null && ConfigSecretTypeId in u
33
- }
32
+ export const isConfigSecret = (u: unknown): u is ConfigSecret.ConfigSecret => hasProperty(u, ConfigSecretTypeId)
34
33
 
35
34
  /** @internal */
36
35
  export const make = (bytes: Array<number>): ConfigSecret.ConfigSecret => {