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
@@ -18,8 +18,10 @@ import { isSuccess, succeed as succeed$2, interrupt as interrupt$2, retry as ret
18
18
  import { suspend, done } from './stm/tryCommit.esm.js';
19
19
  import { make } from './stm/txnId.esm.js';
20
20
  import { pipeArguments } from '../../Pipeable/dist/effect-Pipeable.esm.js';
21
+ import { hasProperty } from '../../Predicate/dist/effect-Predicate.esm.js';
21
22
  import { StreamTypeId } from '../../Stream/dist/effect-Stream.esm.js';
22
23
  import { ChannelTypeId } from '../core-stream.esm.js';
24
+ import { effectVariance } from '../Effectable.esm.js';
23
25
  import { SinkTypeId } from '../sink.esm.js';
24
26
 
25
27
  /** @internal */
@@ -72,7 +74,7 @@ class STMPrimitive {
72
74
  }
73
75
  constructor(i0) {
74
76
  this.i0 = i0;
75
- this[EffectTypeId] = stmVariance;
77
+ this[EffectTypeId] = effectVariance;
76
78
  this[StreamTypeId] = stmVariance;
77
79
  this[SinkTypeId] = stmVariance;
78
80
  this[ChannelTypeId] = stmVariance;
@@ -92,7 +94,7 @@ class STMPrimitive {
92
94
  }
93
95
 
94
96
  /** @internal */
95
- const isSTM = u => typeof u === "object" && u != null && STMTypeId in u;
97
+ const isSTM = u => hasProperty(u, STMTypeId);
96
98
 
97
99
  /** @internal */
98
100
  const commit = self => unsafeAtomically(self, constVoid, constVoid);
@@ -4,6 +4,7 @@ import { pipe } from '../../../Function/dist/effect-Function.esm.js';
4
4
  import { symbol, combine, hash } from '../../../Hash/dist/effect-Hash.esm.js';
5
5
  import { OP_DONE, OP_RUNNING, OP_INTERRUPTED } from '../opCodes/stmState.esm.js';
6
6
  import { OP_RETRY, OP_SUCCEED, OP_INTERRUPT, OP_DIE, OP_FAIL } from '../opCodes/tExit.esm.js';
7
+ import { hasProperty } from '../../../Predicate/dist/effect-Predicate.esm.js';
7
8
 
8
9
  /** @internal */
9
10
  const STMStateSymbolKey = "effect/STM/State";
@@ -22,9 +23,7 @@ const STMStateTypeId = /*#__PURE__*/Symbol.for(STMStateSymbolKey);
22
23
  /** @internal */
23
24
 
24
25
  /** @internal */
25
- const isSTMState = u => {
26
- return typeof u === "object" && u != null && STMStateTypeId in u;
27
- };
26
+ const isSTMState = u => hasProperty(u, STMStateTypeId);
28
27
 
29
28
  /** @internal */
30
29
  const isRunning = self => {
@@ -2,6 +2,7 @@ import { symbol as symbol$1, equals } from '../../../Equal/dist/effect-Equal.esm
2
2
  import { pipe } from '../../../Function/dist/effect-Function.esm.js';
3
3
  import { symbol, combine, hash } from '../../../Hash/dist/effect-Hash.esm.js';
4
4
  import { OP_SUCCEED, OP_FAIL, OP_DIE, OP_INTERRUPT, OP_RETRY } from '../opCodes/tExit.esm.js';
5
+ import { hasProperty } from '../../../Predicate/dist/effect-Predicate.esm.js';
5
6
 
6
7
  /** @internal */
7
8
  const TExitSymbolKey = "effect/TExit";
@@ -32,9 +33,7 @@ const variance = {
32
33
  /** @internal */
33
34
 
34
35
  /** @internal */
35
- const isExit = u => {
36
- return typeof u === "object" && u != null && TExitTypeId in u;
37
- };
36
+ const isExit = u => hasProperty(u, TExitTypeId);
38
37
 
39
38
  /** @internal */
40
39
  const isSuccess = self => {
@@ -5,6 +5,7 @@ import { OP_SLIDING_STRATEGY, OP_DROPPING_STRATEGY, OP_BACKPRESSURE_STRATEGY } f
5
5
  import { suspend, unit } from './stm.esm.js';
6
6
  import { make, unsafeGet, unsafeSet } from './tRef.esm.js';
7
7
  import { fromNullable } from '../../Option/dist/effect-Option.esm.js';
8
+ import { hasProperty } from '../../Predicate/dist/effect-Predicate.esm.js';
8
9
  import { head } from '../../ReadonlyArray/dist/effect-ReadonlyArray.esm.js';
9
10
  import { interruptAs } from '../../STM/dist/effect-STM.esm.js';
10
11
 
@@ -218,14 +219,10 @@ const isTQueue = u => {
218
219
  };
219
220
 
220
221
  /** @internal */
221
- const isTEnqueue = u => {
222
- return typeof u === "object" && u != null && TEnqueueTypeId in u;
223
- };
222
+ const isTEnqueue = u => hasProperty(u, TEnqueueTypeId);
224
223
 
225
224
  /** @internal */
226
- const isTDequeue = u => {
227
- return typeof u === "object" && u != null && TDequeueTypeId in u;
228
- };
225
+ const isTDequeue = u => hasProperty(u, TDequeueTypeId);
229
226
 
230
227
  /** @internal */
231
228
  const awaitShutdown = self => self.awaitShutdown;
@@ -14,6 +14,7 @@ import { dual, pipe, identity, constTrue } from '../Function/dist/effect-Functio
14
14
  import { build, context as context$1, merge as merge$1 } from '../Layer/dist/effect-Layer.esm.js';
15
15
  import { none, some as some$1, match as match$2, getOrElse, map as map$4, isSome, isNone } from '../Option/dist/effect-Option.esm.js';
16
16
  import { pipeArguments } from '../Pipeable/dist/effect-Pipeable.esm.js';
17
+ import { isTagged, hasProperty } from '../Predicate/dist/effect-Predicate.esm.js';
17
18
  import { bounded as bounded$1, subscribe, shutdown as shutdown$1 } from '../PubSub/dist/effect-PubSub.esm.js';
18
19
  import { take as take$2, shutdown, bounded, dropping, sliding as sliding$1, isShutdown, takeBetween, offerAll, offer as offer$1, unbounded } from '../Queue/dist/effect-Queue.esm.js';
19
20
  import { make as make$2, getAndSet, set, get, update, modify } from '../Ref/dist/effect-Ref.esm.js';
@@ -25,7 +26,7 @@ import { unwrap as unwrap$1, zipRight as zipRight$2, pipeToOrFail, unwrapScoped
25
26
  import { run as run$1, runScoped as runScoped$1 } from './channel/channelExecutor.esm.js';
26
27
  import { BufferSliding } from './channel/mergeStrategy.esm.js';
27
28
  import { make as make$5 } from './channel/singleProducerAsyncInput.esm.js';
28
- import { readWithCause, flatMap as flatMap$1, fromEffect as fromEffect$1, write, failCause as failCause$1, unit as unit$1, pipeTo, collectElements, fail as fail$1, catchAllCause as catchAllCause$1, readWith, suspend as suspend$2, succeedNow, ensuringWith as ensuringWith$1, succeed as succeed$3, provideContext as provideContext$1, foldCauseChannel, sync as sync$2, embedInput } from './core-stream.esm.js';
29
+ import { pipeTo, readWithCause, flatMap as flatMap$1, fromEffect as fromEffect$1, write, failCause as failCause$1, unit as unit$1, collectElements, fail as fail$1, catchAllCause as catchAllCause$1, readWith, suspend as suspend$2, succeedNow, ensuringWith as ensuringWith$1, succeed as succeed$3, provideContext as provideContext$1, foldCauseChannel, sync as sync$2, embedInput } from './core-stream.esm.js';
29
30
  import { RingBuffer } from './ringBuffer.esm.js';
30
31
  import { toChannel as toChannel$1, collectAllN, mkString as mkString$1, foldSink, collectLeftover, zipRight as zipRight$3, fromEffect as fromEffect$2, fail as fail$5, fromChannel as fromChannel$1, collectAll, count, drain as drain$2, fold, foldEffect, forEach as forEach$1, forEachChunk, forEachWhile, head, last, sum } from './sink.esm.js';
31
32
  import { OP_CURRENT, OP_PREVIOUS, current, OP_NOT_STARTED, notStarted, previous } from './stream/debounceState.esm.js';
@@ -64,11 +65,27 @@ class StreamImpl {
64
65
  }
65
66
 
66
67
  /** @internal */
67
- const isStream = u => typeof u === "object" && u != null && StreamTypeId in u || isEffect(u);
68
+ const isStream = u => hasProperty(u, StreamTypeId) || isEffect(u);
68
69
 
69
70
  /** @internal */
70
71
  const DefaultChunkSize = 4096;
71
72
 
73
+ /** @internal */
74
+ const accumulate = self => chunks(accumulateChunks(self));
75
+
76
+ /** @internal */
77
+ const accumulateChunks = self => {
78
+ const accumulator = s => readWith({
79
+ onInput: input => {
80
+ const next = appendAll(s, input);
81
+ return flatMap$1(write(next), () => accumulator(next));
82
+ },
83
+ onFailure: fail$1,
84
+ onDone: () => unit$1
85
+ });
86
+ return new StreamImpl(pipeTo(toChannel(self), accumulator(empty$1())));
87
+ };
88
+
72
89
  /** @internal */
73
90
  const acquireRelease = (acquire, release) => scoped(acquireRelease$1(acquire, release));
74
91
 
@@ -1076,7 +1093,7 @@ const fromReadableStream = (evaluate, onError) => unwrapScoped(map$1(acquireRele
1076
1093
  /** @internal */
1077
1094
  const fromReadableStreamByob = (evaluate, onError, allocSize = 4096) => unwrapScoped(map$1(acquireRelease$1(sync$1(() => evaluate().getReader({
1078
1095
  mode: "byob"
1079
- })), reader => promise(() => reader.cancel())), reader => catchAll(forever(readChunkStreamByobReader(reader, onError, allocSize)), error => typeof error === "object" && error !== null && "_tag" in error && error._tag === "EOF" ? empty : fail(error))));
1096
+ })), reader => promise(() => reader.cancel())), reader => catchAll(forever(readChunkStreamByobReader(reader, onError, allocSize)), error => isTagged(error, "EOF") ? empty : fail(error))));
1080
1097
  const readChunkStreamByobReader = (reader, onError, size) => {
1081
1098
  const buffer = new ArrayBuffer(size);
1082
1099
  return paginateEffect(0, offset => flatMap$2(tryPromise({
@@ -2987,4 +3004,4 @@ const encodeText = self => suspend(() => {
2987
3004
  return map(self, s => encoder.encode(s));
2988
3005
  });
2989
3006
 
2990
- export { DefaultChunkSize, Do, StreamImpl, StreamTypeId, _async, acquireRelease, aggregate, aggregateWithin, aggregateWithinEither, as, asyncEffect, asyncInterrupt, asyncOption, asyncScoped, bind, bindTo, branchAfter, broadcast, broadcastDynamic, broadcastedQueues, broadcastedQueuesDynamic, buffer, bufferChunks, catchAll, catchAllCause, catchSome, catchSomeCause, catchTag, catchTags, changes, changesWith, changesWithEffect, channelToStream, chunks, chunksWith, combine, combineChunks, concat, concatAll, context, contextWith, contextWithEffect, contextWithStream, cross, crossLeft, crossRight, crossWith, debounce, decodeText, die, dieMessage, dieSync, distributedWith, distributedWithDynamic, distributedWithDynamicCallback, drain, drainFork, drop, dropRight, dropUntil, dropUntilEffect, dropWhile, dropWhileEffect, either, empty, encodeText, ensuring, ensuringWith, execute, fail, failCause, failCauseSync, failSync, filter, filterEffect, filterMap, filterMapEffect, filterMapWhile, filterMapWhileEffect, finalizer, find, findEffect, flatMap, flatten, flattenChunks, flattenEffect, flattenExitOption, flattenIterables, flattenTake, forever, fromAsyncIterable, fromChannel, fromChunk, fromChunkPubSub, fromChunkQueue, fromChunks, fromEffect, fromEffectOption, fromIterable, fromIterableEffect, fromIteratorSucceed, fromPubSub, fromPull, fromQueue, fromReadableStream, fromReadableStreamByob, fromSchedule, groupAdjacentBy, grouped, groupedWithin, haltAfter, haltWhen, haltWhenDeferred, identityStream, interleave, interleaveWith, interruptAfter, interruptWhen, interruptWhenDeferred, intersperse, intersperseAffixes, isStream, iterate, let_, make, map, mapAccum, mapAccumEffect, mapBoth, mapChunks, mapChunksEffect, mapConcat, mapConcatChunk, mapConcatChunkEffect, mapConcatEffect, mapEffectPar, mapEffectSequential, mapError, mapErrorCause, mapInputContext, matchConcurrency, merge, mergeAll, mergeEither, mergeLeft, mergeRight, mergeWith, mkString, never, onDone, onError, orDie, orDieWith, orElse, orElseEither, orElseFail, orElseIfEmpty, orElseIfEmptyChunk, orElseIfEmptyStream, orElseSucceed, paginate, paginateChunk, paginateChunkEffect, paginateEffect, partition, partitionEither, peel, pipeThrough, pipeThroughChannel, pipeThroughChannelOrFail, prepend, provideContext, provideLayer, provideService, provideServiceEffect, provideServiceStream, provideSomeLayer, range, rechunk, refineOrDie, refineOrDieWith, repeat, repeatEffect, repeatEffectChunk, repeatEffectChunkOption, repeatEffectOption, repeatEffectWithSchedule, repeatEither, repeatElements, repeatElementsWith, repeatValue, repeatWith, repeatWithSchedule, retry, run, runCollect, runCount, runDrain, runFold, runFoldEffect, runFoldScoped, runFoldScopedEffect, runFoldWhile, runFoldWhileEffect, runFoldWhileScoped, runFoldWhileScopedEffect, runForEach, runForEachChunk, runForEachChunkScoped, runForEachScoped, runForEachWhile, runForEachWhileScoped, runHead, runIntoPubSub, runIntoPubSubScoped, runIntoQueue, runIntoQueueElementsScoped, runIntoQueueScoped, runLast, runScoped, runSum, scan, scanEffect, scanReduce, scanReduceEffect, schedule, scheduleWith, scoped, sliding, slidingSize, some, someOrElse, someOrFail, split, splitLines, splitOnChunk, succeed, suspend, sync, take, takeRight, takeUntil, takeUntilEffect, takeWhile, tap, tapBoth, tapError, tapErrorCause, tapSink, throttle, throttleEffect, tick, timeout, timeoutFail, timeoutFailCause, timeoutTo, toChannel, toPubSub, toPull, toQueue, toQueueOfElements, toReadableStream, transduce, unfold, unfoldChunk, unfoldChunkEffect, unfoldEffect, unit, unwrap, unwrapScoped, updateService, when, whenCase, whenCaseEffect, whenEffect, withSpan, zip, zipAll, zipAllLeft, zipAllRight, zipAllSortedByKey, zipAllSortedByKeyLeft, zipAllSortedByKeyRight, zipAllSortedByKeyWith, zipAllWith, zipFlatten, zipLatest, zipLatestWith, zipLeft, zipRight, zipWith, zipWithChunks, zipWithIndex, zipWithNext, zipWithPrevious, zipWithPreviousAndNext };
3007
+ export { DefaultChunkSize, Do, StreamImpl, StreamTypeId, _async, accumulate, accumulateChunks, acquireRelease, aggregate, aggregateWithin, aggregateWithinEither, as, asyncEffect, asyncInterrupt, asyncOption, asyncScoped, bind, bindTo, branchAfter, broadcast, broadcastDynamic, broadcastedQueues, broadcastedQueuesDynamic, buffer, bufferChunks, catchAll, catchAllCause, catchSome, catchSomeCause, catchTag, catchTags, changes, changesWith, changesWithEffect, channelToStream, chunks, chunksWith, combine, combineChunks, concat, concatAll, context, contextWith, contextWithEffect, contextWithStream, cross, crossLeft, crossRight, crossWith, debounce, decodeText, die, dieMessage, dieSync, distributedWith, distributedWithDynamic, distributedWithDynamicCallback, drain, drainFork, drop, dropRight, dropUntil, dropUntilEffect, dropWhile, dropWhileEffect, either, empty, encodeText, ensuring, ensuringWith, execute, fail, failCause, failCauseSync, failSync, filter, filterEffect, filterMap, filterMapEffect, filterMapWhile, filterMapWhileEffect, finalizer, find, findEffect, flatMap, flatten, flattenChunks, flattenEffect, flattenExitOption, flattenIterables, flattenTake, forever, fromAsyncIterable, fromChannel, fromChunk, fromChunkPubSub, fromChunkQueue, fromChunks, fromEffect, fromEffectOption, fromIterable, fromIterableEffect, fromIteratorSucceed, fromPubSub, fromPull, fromQueue, fromReadableStream, fromReadableStreamByob, fromSchedule, groupAdjacentBy, grouped, groupedWithin, haltAfter, haltWhen, haltWhenDeferred, identityStream, interleave, interleaveWith, interruptAfter, interruptWhen, interruptWhenDeferred, intersperse, intersperseAffixes, isStream, iterate, let_, make, map, mapAccum, mapAccumEffect, mapBoth, mapChunks, mapChunksEffect, mapConcat, mapConcatChunk, mapConcatChunkEffect, mapConcatEffect, mapEffectPar, mapEffectSequential, mapError, mapErrorCause, mapInputContext, matchConcurrency, merge, mergeAll, mergeEither, mergeLeft, mergeRight, mergeWith, mkString, never, onDone, onError, orDie, orDieWith, orElse, orElseEither, orElseFail, orElseIfEmpty, orElseIfEmptyChunk, orElseIfEmptyStream, orElseSucceed, paginate, paginateChunk, paginateChunkEffect, paginateEffect, partition, partitionEither, peel, pipeThrough, pipeThroughChannel, pipeThroughChannelOrFail, prepend, provideContext, provideLayer, provideService, provideServiceEffect, provideServiceStream, provideSomeLayer, range, rechunk, refineOrDie, refineOrDieWith, repeat, repeatEffect, repeatEffectChunk, repeatEffectChunkOption, repeatEffectOption, repeatEffectWithSchedule, repeatEither, repeatElements, repeatElementsWith, repeatValue, repeatWith, repeatWithSchedule, retry, run, runCollect, runCount, runDrain, runFold, runFoldEffect, runFoldScoped, runFoldScopedEffect, runFoldWhile, runFoldWhileEffect, runFoldWhileScoped, runFoldWhileScopedEffect, runForEach, runForEachChunk, runForEachChunkScoped, runForEachScoped, runForEachWhile, runForEachWhileScoped, runHead, runIntoPubSub, runIntoPubSubScoped, runIntoQueue, runIntoQueueElementsScoped, runIntoQueueScoped, runLast, runScoped, runSum, scan, scanEffect, scanReduce, scanReduceEffect, schedule, scheduleWith, scoped, sliding, slidingSize, some, someOrElse, someOrFail, split, splitLines, splitOnChunk, succeed, suspend, sync, take, takeRight, takeUntil, takeUntilEffect, takeWhile, tap, tapBoth, tapError, tapErrorCause, tapSink, throttle, throttleEffect, tick, timeout, timeoutFail, timeoutFailCause, timeoutTo, toChannel, toPubSub, toPull, toQueue, toQueueOfElements, toReadableStream, transduce, unfold, unfoldChunk, unfoldChunkEffect, unfoldEffect, unit, unwrap, unwrapScoped, updateService, when, whenCase, whenCaseEffect, whenEffect, withSpan, zip, zipAll, zipAllLeft, zipAllRight, zipAllSortedByKey, zipAllSortedByKeyLeft, zipAllSortedByKeyRight, zipAllSortedByKeyWith, zipAllWith, zipFlatten, zipLatest, zipLatestWith, zipLeft, zipRight, zipWith, zipWithChunks, zipWithIndex, zipWithNext, zipWithPrevious, zipWithPreviousAndNext };
@@ -2,6 +2,7 @@ import { pipe } from '../Function/dist/effect-Function.esm.js';
2
2
  import { globalValue } from '../GlobalValue/dist/effect-GlobalValue.esm.js';
3
3
  import { map, zip, sync, unit } from './core.esm.js';
4
4
  import { get, set } from '../MutableRef/dist/effect-MutableRef.esm.js';
5
+ import { hasProperty, isTagged } from '../Predicate/dist/effect-Predicate.esm.js';
5
6
  import { add, remove } from '../SortedSet/dist/effect-SortedSet.esm.js';
6
7
 
7
8
  /** @internal */
@@ -86,9 +87,7 @@ class Zip {
86
87
  return new Zip(this, right);
87
88
  }
88
89
  }
89
- const isZip = self => {
90
- return typeof self === "object" && self !== null && SupervisorTypeId in self && "_tag" in self && self._tag === "Zip";
91
- };
90
+ const isZip = self => hasProperty(self, SupervisorTypeId) && isTagged(self, "Zip");
92
91
  class Track {
93
92
  [SupervisorTypeId] = supervisorVariance;
94
93
  fibers = new Set();
@@ -0,0 +1,3 @@
1
+ const moduleVersion = "2.0.0-next.53";
2
+
3
+ export { moduleVersion };
package/package.json CHANGED
@@ -1,10 +1,12 @@
1
1
  {
2
2
  "name": "effect",
3
- "version": "2.0.0-next.51",
4
- "packageManager": "pnpm@8.7.3",
3
+ "version": "2.0.0-next.53",
4
+ "packageManager": "pnpm@8.10.0",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
+ "author": "Michael Arnaldi <michael.arnaldi@effectful.co>",
9
+ "license": "MIT",
8
10
  "sideEffects": false,
9
11
  "preconstruct": {
10
12
  "distFilenameStrategy": "full",
@@ -23,8 +25,6 @@
23
25
  "type": "git",
24
26
  "url": "https://github.com/Effect-TS/effect.git"
25
27
  },
26
- "author": "Michael Arnaldi <ma@matechs.com>",
27
- "license": "MIT",
28
28
  "bugs": {
29
29
  "url": "https://github.com/Effect-TS/effect/issues"
30
30
  },
@@ -1062,9 +1062,10 @@
1062
1062
  "@babel/preset-typescript": "^7.23.0",
1063
1063
  "@changesets/changelog-github": "^0.4.8",
1064
1064
  "@changesets/cli": "^2.26.2",
1065
- "@definitelytyped/dtslint": "^0.0.182",
1065
+ "@edge-runtime/vm": "^3.1.6",
1066
1066
  "@effect/build-utils": "^0.1.9",
1067
- "@effect/docgen": "^0.2.0",
1067
+ "@effect/docgen": "^0.2.1",
1068
+ "@effect/dtslint": "^0.0.3",
1068
1069
  "@effect/eslint-plugin": "^0.1.2",
1069
1070
  "@effect/language-service": "^0.0.21",
1070
1071
  "@preconstruct/cli": "^2.8.1",
@@ -1082,6 +1083,7 @@
1082
1083
  "eslint-plugin-simple-import-sort": "^10.0.0",
1083
1084
  "eslint-plugin-sort-destructure-keys": "^1.5.0",
1084
1085
  "fast-check": "^3.13.1",
1086
+ "jsdom": "^22.1.0",
1085
1087
  "madge": "^6.1.0",
1086
1088
  "prettier": "^3.0.3",
1087
1089
  "ts-node": "^10.9.1",
@@ -1091,18 +1093,18 @@
1091
1093
  },
1092
1094
  "scripts": {
1093
1095
  "build": "pnpm gen && preconstruct fix && preconstruct build && pnpm gen",
1094
- "gen": "build-utils prepare-v1",
1096
+ "gen": "build-utils prepare-v1 && node scripts/version.mjs",
1095
1097
  "clean": "node scripts/clean.mjs",
1096
1098
  "test": "vitest",
1097
1099
  "check": "tsc -p tsconfig.json",
1098
1100
  "coverage": "vitest run --coverage",
1099
1101
  "circular": "madge --extensions ts --circular --no-color --no-spinner --warning src",
1100
- "update-version": "changeset version && pnpm install --no-frozen-lockfile",
1102
+ "update-version": "changeset version && pnpm install --no-frozen-lockfile && node scripts/version.mjs",
1101
1103
  "lint": "eslint src test",
1102
1104
  "lint-fix": "eslint src test --fix",
1103
1105
  "fix": "preconstruct fix",
1104
1106
  "docgen": "docgen",
1105
- "dtslint": "dtslint --expectOnly dtslint",
1107
+ "dtslint": "dtslint dtslint",
1106
1108
  "dtslint-clean": "dtslint --installAll"
1107
1109
  }
1108
1110
  }
package/src/BigDecimal.ts CHANGED
@@ -23,6 +23,7 @@ import * as Option from "./Option"
23
23
  import * as order from "./Order"
24
24
  import type { Ordering } from "./Ordering"
25
25
  import { type Pipeable, pipeArguments } from "./Pipeable"
26
+ import { hasProperty } from "./Predicate"
26
27
 
27
28
  const DEFAULT_PRECISION = 100
28
29
 
@@ -84,7 +85,7 @@ const BigDecimalProto: Omit<BigDecimal, "value" | "scale" | "normalized"> = {
84
85
  * @since 2.0.0
85
86
  * @category guards
86
87
  */
87
- export const isBigDecimal = (u: unknown): u is BigDecimal => typeof u === "object" && u !== null && TypeId in u
88
+ export const isBigDecimal = (u: unknown): u is BigDecimal => hasProperty(u, TypeId)
88
89
 
89
90
  /**
90
91
  * Creates a `BigDecimal` from a `bigint` value and a scale.
package/src/Chunk.ts CHANGED
@@ -15,7 +15,7 @@ import * as Order from "./Order"
15
15
  import type { Pipeable } from "./Pipeable"
16
16
  import { pipeArguments } from "./Pipeable"
17
17
  import type { Predicate, Refinement } from "./Predicate"
18
- import { isObject } from "./Predicate"
18
+ import { hasProperty } from "./Predicate"
19
19
  import * as RA from "./ReadonlyArray"
20
20
  import type { NonEmptyReadonlyArray } from "./ReadonlyArray"
21
21
 
@@ -116,7 +116,9 @@ const emptyArray: ReadonlyArray<never> = []
116
116
  * @since 2.0.0
117
117
  */
118
118
  export const getEquivalence = <A>(isEquivalent: Equivalence.Equivalence<A>): Equivalence.Equivalence<Chunk<A>> =>
119
- Equivalence.make((self, that) => toReadonlyArray(self).every((value, i) => isEquivalent(value, unsafeGet(that, i))))
119
+ Equivalence.make((self, that) =>
120
+ self.length === that.length && toReadonlyArray(self).every((value, i) => isEquivalent(value, unsafeGet(that, i)))
121
+ )
120
122
 
121
123
  const _equivalence = getEquivalence(Equal.equals)
122
124
 
@@ -212,7 +214,7 @@ const makeChunk = <A>(backing: Backing<A>): Chunk<A> => {
212
214
  export const isChunk: {
213
215
  <A>(u: Iterable<A>): u is Chunk<A>
214
216
  (u: unknown): u is Chunk<unknown>
215
- } = (u: unknown): u is Chunk<unknown> => isObject(u) && TypeId in u
217
+ } = (u: unknown): u is Chunk<unknown> => hasProperty(u, TypeId)
216
218
 
217
219
  const _empty = makeChunk<never>({ _tag: "IEmpty" })
218
220
 
package/src/Data.ts CHANGED
@@ -211,7 +211,7 @@ export const tagged = <A extends Case & { readonly _tag: string }>(
211
211
  */
212
212
  export const Class: new<A extends Record<string, any>>(
213
213
  args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
214
- : { readonly [P in Exclude<keyof A, keyof Equal.Equal>]: A[P] }
214
+ : { readonly [P in keyof A as P extends keyof Equal.Equal ? never : P]: A[P] }
215
215
  ) => Data<Readonly<A>> = internal.Structural as any
216
216
 
217
217
  /**
@@ -241,7 +241,7 @@ export const TaggedClass = <Tag extends string>(
241
241
  tag: Tag
242
242
  ): new<A extends Record<string, any>>(
243
243
  args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
244
- : { readonly [P in Exclude<keyof A, keyof Equal.Equal>]: A[P] }
244
+ : { readonly [P in keyof A as P extends "_tag" | keyof Equal.Equal ? never : P]: A[P] }
245
245
  ) => Data<Readonly<A> & { readonly _tag: Tag }> => {
246
246
  class Base extends Class<any> {
247
247
  readonly _tag = tag
@@ -254,8 +254,9 @@ export const TaggedClass = <Tag extends string>(
254
254
  * @category constructors
255
255
  */
256
256
  export const Structural: new<A>(
257
- args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void : Omit<A, keyof Equal.Equal>
258
- ) => Case = internal.Structural
257
+ args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
258
+ : { readonly [P in keyof A as P extends keyof Equal.Equal ? never : P]: A[P] }
259
+ ) => Case = internal.Structural as any
259
260
 
260
261
  /**
261
262
  * Create a tagged enum data type, which is a union of `Data` structs.
@@ -478,7 +479,7 @@ const YieldableErrorProto = {
478
479
  */
479
480
  export const Error: new<A extends Record<string, any>>(
480
481
  args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
481
- : { readonly [P in Exclude<keyof A, keyof Equal.Equal>]: A[P] }
482
+ : { readonly [P in keyof A as P extends keyof Equal.Equal ? never : P]: A[P] }
482
483
  ) => YieldableError & Readonly<A> = (function() {
483
484
  class Base extends globalThis.Error {
484
485
  constructor(args: any) {
@@ -496,7 +497,7 @@ export const Error: new<A extends Record<string, any>>(
496
497
  */
497
498
  export const TaggedError = <Tag extends string>(tag: Tag): new<A extends Record<string, any>>(
498
499
  args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
499
- : { readonly [P in Exclude<keyof A, keyof Equal.Equal>]: A[P] }
500
+ : { readonly [P in keyof A as P extends "_tag" | keyof Equal.Equal ? never : P]: A[P] }
500
501
  ) => YieldableError & { readonly _tag: Tag } & Readonly<A> => {
501
502
  class Base extends Error<{}> {
502
503
  readonly _tag = tag
package/src/Duration.ts CHANGED
@@ -11,7 +11,7 @@ import * as Option from "./Option"
11
11
  import * as order from "./Order"
12
12
  import type { Pipeable } from "./Pipeable"
13
13
  import { pipeArguments } from "./Pipeable"
14
- import { isBigInt, isNumber } from "./Predicate"
14
+ import { hasProperty, isBigInt, isNumber } from "./Predicate"
15
15
 
16
16
  const TypeId: unique symbol = Symbol.for("effect/Duration")
17
17
 
@@ -162,7 +162,7 @@ const make = (input: number | bigint): Duration => {
162
162
  * @since 2.0.0
163
163
  * @category guards
164
164
  */
165
- export const isDuration = (u: unknown): u is Duration => typeof u === "object" && u !== null && TypeId in u
165
+ export const isDuration = (u: unknown): u is Duration => hasProperty(u, TypeId)
166
166
 
167
167
  /**
168
168
  * @since 2.0.0
package/src/Effect.ts CHANGED
@@ -208,6 +208,7 @@ export declare namespace Effect {
208
208
  * @category models
209
209
  */
210
210
  export interface VarianceStruct<R, E, A> {
211
+ readonly _V: string
211
212
  readonly _R: (_: never) => R
212
213
  readonly _E: (_: never) => E
213
214
  readonly _A: (_: never) => A
package/src/Equal.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import type { Equivalence } from "./Equivalence"
5
5
  import * as Hash from "./Hash"
6
+ import { hasProperty } from "./Predicate"
6
7
 
7
8
  /**
8
9
  * @since 2.0.0
@@ -55,7 +56,7 @@ function compareBoth(self: unknown, that: unknown) {
55
56
  * @since 2.0.0
56
57
  * @category guards
57
58
  */
58
- export const isEqual = (u: unknown): u is Equal => typeof u === "object" && u !== null && symbol in u
59
+ export const isEqual = (u: unknown): u is Equal => hasProperty(u, symbol)
59
60
 
60
61
  /**
61
62
  * @since 2.0.0
@@ -1,7 +1,9 @@
1
1
  /**
2
2
  * @since 2.0.0
3
3
  */
4
- const globalStoreId = Symbol.for("effect/GlobalValue/globalStoreId")
4
+ import { moduleVersion } from "./internal/version"
5
+
6
+ const globalStoreId = Symbol.for(`effect/GlobalValue/globalStoreId/${moduleVersion}`)
5
7
 
6
8
  if (!(globalStoreId in globalThis)) {
7
9
  ;(globalThis as any)[globalStoreId] = new Map()
package/src/Hash.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { pipe } from "./Function"
5
5
  import { globalValue } from "./GlobalValue"
6
+ import { hasProperty } from "./Predicate"
6
7
  import { PCGRandom } from "./Utils"
7
8
 
8
9
  /** @internal */
@@ -98,7 +99,7 @@ export const optimize = (n: number): number => (n & 0xbfffffff) | ((n >>> 1) & 0
98
99
  * @since 2.0.0
99
100
  * @category guards
100
101
  */
101
- export const isHash = (u: unknown): u is Hash => typeof u === "object" && u !== null && symbol in u
102
+ export const isHash = (u: unknown): u is Hash => hasProperty(u, symbol)
102
103
 
103
104
  /**
104
105
  * @since 2.0.0
@@ -2,6 +2,8 @@
2
2
  * @since 2.0.0
3
3
  */
4
4
 
5
+ import { hasProperty, isFunction } from "./Predicate"
6
+
5
7
  /**
6
8
  * @since 2.0.0
7
9
  * @category symbols
@@ -29,7 +31,7 @@ export interface Inspectable {
29
31
  */
30
32
  export const toJSON = (x: unknown): unknown => {
31
33
  if (
32
- typeof x === "object" && x !== null && "toJSON" in x && typeof x["toJSON"] === "function" &&
34
+ hasProperty(x, "toJSON") && isFunction(x["toJSON"]) &&
33
35
  x["toJSON"].length === 0
34
36
  ) {
35
37
  return x.toJSON()
package/src/List.ts CHANGED
@@ -32,7 +32,7 @@ import * as Option from "./Option"
32
32
  import type { Pipeable } from "./Pipeable"
33
33
  import { pipeArguments } from "./Pipeable"
34
34
  import type { Predicate, Refinement } from "./Predicate"
35
- import { isObject } from "./Predicate"
35
+ import { hasProperty } from "./Predicate"
36
36
  import * as ReadonlyArray from "./ReadonlyArray"
37
37
 
38
38
  /**
@@ -206,7 +206,7 @@ const _Nil = Object.create(NilProto) as Nil<never>
206
206
  export const isList: {
207
207
  <A>(u: Iterable<A>): u is List<A>
208
208
  (u: unknown): u is List<unknown>
209
- } = (u: unknown): u is List<unknown> => isObject(u) && TypeId in u
209
+ } = (u: unknown): u is List<unknown> => hasProperty(u, TypeId)
210
210
 
211
211
  /**
212
212
  * Returns `true` if the specified value is a `List.Nil<A>`, `false` otherwise.
@@ -671,8 +671,8 @@ export const flatMap: {
671
671
  * @since 2.0.0
672
672
  */
673
673
  export const flatMapNonEmpty: {
674
- <A, B>(f: (a: A, i: number) => Cons<B>): (self: Cons<A>) => Cons<B>
675
- <A, B>(self: Cons<A>, f: (a: A, i: number) => Cons<B>): Cons<B>
674
+ <A, B>(f: (a: A) => Cons<B>): (self: Cons<A>) => Cons<B>
675
+ <A, B>(self: Cons<A>, f: (a: A) => Cons<B>): Cons<B>
676
676
  } = flatMap as any
677
677
 
678
678
  /**
@@ -734,15 +734,16 @@ export declare namespace List {
734
734
  export const map: {
735
735
  <T extends List<any>, B>(f: (a: List.Infer<T>, i: number) => B): (self: T) => List.With<T, B>
736
736
  <T extends List<any>, B>(self: T, f: (a: List.Infer<T>, i: number) => B): List.With<T, B>
737
- } = dual(2, <A, B>(self: List<A>, f: (a: A) => B): List<B> => {
737
+ } = dual(2, <A, B>(self: List<A>, f: (a: A, i: number) => B): List<B> => {
738
738
  if (isNil(self)) {
739
739
  return self as unknown as List<B>
740
740
  } else {
741
- const head = makeCons(f(self.head), _Nil)
741
+ let i = 0
742
+ const head = makeCons(f(self.head, i++), _Nil)
742
743
  let nextHead = head
743
744
  let rest = self.tail
744
745
  while (!isNil(rest)) {
745
- const next = makeCons(f(rest.head), _Nil)
746
+ const next = makeCons(f(rest.head, i++), _Nil)
746
747
  nextHead.tail = next
747
748
  nextHead = next
748
749
  rest = rest.tail
package/src/Predicate.ts CHANGED
@@ -282,7 +282,25 @@ export const isUnknown: (input: unknown) => input is unknown = (_): _ is unknown
282
282
  * @since 2.0.0
283
283
  */
284
284
  export const isObject = (input: unknown): input is object =>
285
- (typeof input === "object" && input != null) || isFunction(input)
285
+ (typeof input === "object" && input !== null) || isFunction(input)
286
+
287
+ /**
288
+ * Checks whether a value is an `object` containing a specified property key.
289
+ *
290
+ * @param property - The field to check within the object.
291
+ * @param self - The value to examine.
292
+ *
293
+ * @category guards
294
+ * @since 2.0.0
295
+ */
296
+ export const hasProperty: {
297
+ <P extends PropertyKey>(property: P): (self: unknown) => self is { [K in P]: unknown }
298
+ <P extends PropertyKey>(self: unknown, property: P): self is { [K in P]: unknown }
299
+ } = dual(
300
+ 2,
301
+ <P extends PropertyKey>(self: unknown, property: P): self is { [K in P]: unknown } =>
302
+ isObject(self) && (property in self)
303
+ )
286
304
 
287
305
  /**
288
306
  * Tests if a value is an `object` with a property `_tag` that matches the given tag.
@@ -308,8 +326,7 @@ export const isTagged: {
308
326
  <K extends string>(self: unknown, tag: K): self is { _tag: K }
309
327
  } = dual(
310
328
  2,
311
- <K extends string>(self: unknown, tag: K): self is { _tag: K } =>
312
- isObject(self) && "_tag" in self && self["_tag"] === tag
329
+ <K extends string>(self: unknown, tag: K): self is { _tag: K } => hasProperty(self, "_tag") && self["_tag"] === tag
313
330
  )
314
331
 
315
332
  /**
@@ -421,7 +438,7 @@ export const isDate = (input: unknown): input is Date => input instanceof Date
421
438
  * @category guards
422
439
  * @since 2.0.0
423
440
  */
424
- export const isIterable = (input: unknown): input is Iterable<unknown> => isObject(input) && Symbol.iterator in input
441
+ export const isIterable = (input: unknown): input is Iterable<unknown> => hasProperty(input, Symbol.iterator)
425
442
 
426
443
  /**
427
444
  * A guard that succeeds when the input is a record.
@@ -231,7 +231,7 @@ export const fromFunction: <A extends Request.Request<never, any>>(
231
231
  * @category constructors
232
232
  */
233
233
  export const fromFunctionBatched: <A extends Request.Request<never, any>>(
234
- f: (chunk: Array<A>) => Array<Request.Request.Success<A>>
234
+ f: (chunk: Array<A>) => Iterable<Request.Request.Success<A>>
235
235
  ) => RequestResolver<A, never> = internal.fromFunctionBatched
236
236
 
237
237
  /**
@@ -240,9 +240,31 @@ export const fromFunctionBatched: <A extends Request.Request<never, any>>(
240
240
  * @since 2.0.0
241
241
  * @category constructors
242
242
  */
243
- export const fromFunctionEffect: <R, A extends Request.Request<any, any>>(
243
+ export const fromEffect: <R, A extends Request.Request<any, any>>(
244
244
  f: (a: A) => Effect.Effect<R, Request.Request.Error<A>, Request.Request.Success<A>>
245
- ) => RequestResolver<A, R> = internal.fromFunctionEffect
245
+ ) => RequestResolver<A, R> = internal.fromEffect
246
+
247
+ /**
248
+ * Constructs a data source from a list of tags paired to functions, that takes
249
+ * a list of requests and returns a list of results of the same size. Each item
250
+ * in the result list must correspond to the item at the same index in the
251
+ * request list.
252
+ *
253
+ * @since 2.0.0
254
+ * @category constructors
255
+ */
256
+ export const fromEffectTagged: <A extends Request.Request<any, any> & { readonly _tag: string }>() => <
257
+ Fns extends {
258
+ readonly [Tag in A["_tag"]]: [Extract<A, { readonly _tag: Tag }>] extends [infer Req]
259
+ ? Req extends Request.Request<infer ReqE, infer ReqA>
260
+ ? (requests: Array<Req>) => Effect.Effect<any, ReqE, Iterable<ReqA>>
261
+ : never
262
+ : never
263
+ }
264
+ >(
265
+ fns: Fns
266
+ ) => RequestResolver<A, ReturnType<Fns[keyof Fns]> extends Effect.Effect<infer R, infer _E, infer _A> ? R : never> =
267
+ internal.fromEffectTagged
246
268
 
247
269
  /**
248
270
  * A data source that never executes requests.
package/src/SortedMap.ts CHANGED
@@ -10,7 +10,7 @@ import * as Option from "./Option"
10
10
  import type { Order } from "./Order"
11
11
  import type { Pipeable } from "./Pipeable"
12
12
  import { pipeArguments } from "./Pipeable"
13
- import { isObject } from "./Predicate"
13
+ import { hasProperty } from "./Predicate"
14
14
  import * as RBT from "./RedBlackTree"
15
15
 
16
16
  const TypeId: unique symbol = Symbol.for("effect/SortedMap")
@@ -72,7 +72,7 @@ const makeImpl = <K, V>(tree: RBT.RedBlackTree<K, V>): SortedMap<K, V> => {
72
72
  export const isSortedMap: {
73
73
  <K, V>(u: Iterable<readonly [K, V]>): u is SortedMap<K, V>
74
74
  (u: unknown): u is SortedMap<unknown, unknown>
75
- } = (u: unknown): u is SortedMap<unknown, unknown> => isObject(u) && TypeId in u
75
+ } = (u: unknown): u is SortedMap<unknown, unknown> => hasProperty(u, TypeId)
76
76
 
77
77
  /**
78
78
  * @since 2.0.0
package/src/SortedSet.ts CHANGED
@@ -11,7 +11,7 @@ import type { Order } from "./Order"
11
11
  import type { Pipeable } from "./Pipeable"
12
12
  import { pipeArguments } from "./Pipeable"
13
13
  import type { Predicate, Refinement } from "./Predicate"
14
- import { isObject } from "./Predicate"
14
+ import { hasProperty } from "./Predicate"
15
15
  import * as RBT from "./RedBlackTree"
16
16
 
17
17
  const TypeId: unique symbol = Symbol.for("effect/SortedSet")
@@ -77,7 +77,7 @@ const fromTree = <A>(keyTree: RBT.RedBlackTree<A, boolean>): SortedSet<A> => {
77
77
  export const isSortedSet: {
78
78
  <A>(u: Iterable<A>): u is SortedSet<A>
79
79
  (u: unknown): u is SortedSet<unknown>
80
- } = (u: unknown): u is SortedSet<unknown> => isObject(u) && TypeId in u
80
+ } = (u: unknown): u is SortedSet<unknown> => hasProperty(u, TypeId)
81
81
 
82
82
  /**
83
83
  * @since 2.0.0