effect 2.0.0-next.5 → 2.0.0-next.51

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 (2397) hide show
  1. package/BigDecimal/dist/effect-BigDecimal.cjs.d.mts +2 -0
  2. package/BigDecimal/dist/effect-BigDecimal.cjs.d.mts.map +1 -0
  3. package/BigDecimal/dist/effect-BigDecimal.cjs.d.ts +2 -0
  4. package/BigDecimal/dist/effect-BigDecimal.cjs.d.ts.map +1 -0
  5. package/BigDecimal/dist/effect-BigDecimal.cjs.dev.js +914 -0
  6. package/BigDecimal/dist/effect-BigDecimal.cjs.js +7 -0
  7. package/BigDecimal/dist/effect-BigDecimal.cjs.mjs +38 -0
  8. package/BigDecimal/dist/effect-BigDecimal.cjs.prod.js +914 -0
  9. package/BigDecimal/dist/effect-BigDecimal.esm.js +869 -0
  10. package/BigDecimal/package.json +4 -0
  11. package/BigInt/dist/effect-BigInt.cjs.d.mts +2 -0
  12. package/BigInt/dist/effect-BigInt.cjs.d.mts.map +1 -0
  13. package/BigInt/dist/effect-BigInt.cjs.d.ts +2 -0
  14. package/BigInt/dist/effect-BigInt.cjs.d.ts.map +1 -0
  15. package/BigInt/dist/effect-BigInt.cjs.dev.js +520 -0
  16. package/BigInt/dist/effect-BigInt.cjs.js +7 -0
  17. package/BigInt/dist/effect-BigInt.cjs.mjs +28 -0
  18. package/BigInt/dist/effect-BigInt.cjs.prod.js +520 -0
  19. package/BigInt/dist/effect-BigInt.esm.js +482 -0
  20. package/BigInt/package.json +4 -0
  21. package/Boolean/dist/effect-Boolean.cjs.d.mts +2 -0
  22. package/Boolean/dist/effect-Boolean.cjs.d.mts.map +1 -0
  23. package/Boolean/dist/effect-Boolean.cjs.d.ts +2 -0
  24. package/Boolean/dist/effect-Boolean.cjs.d.ts.map +1 -0
  25. package/Boolean/dist/effect-Boolean.cjs.dev.js +247 -0
  26. package/Boolean/dist/effect-Boolean.cjs.js +7 -0
  27. package/Boolean/dist/effect-Boolean.cjs.mjs +16 -0
  28. package/Boolean/dist/effect-Boolean.cjs.prod.js +247 -0
  29. package/Boolean/dist/effect-Boolean.esm.js +230 -0
  30. package/Boolean/package.json +4 -0
  31. package/Brand/dist/effect-Brand.cjs.d.mts +2 -0
  32. package/Brand/dist/effect-Brand.cjs.d.mts.map +1 -0
  33. package/Brand/dist/effect-Brand.cjs.d.ts +2 -0
  34. package/Brand/dist/effect-Brand.cjs.d.ts.map +1 -0
  35. package/Brand/dist/effect-Brand.cjs.dev.js +228 -0
  36. package/Brand/dist/effect-Brand.cjs.js +7 -0
  37. package/Brand/dist/effect-Brand.cjs.mjs +9 -0
  38. package/Brand/dist/effect-Brand.cjs.prod.js +228 -0
  39. package/Brand/dist/effect-Brand.esm.js +204 -0
  40. package/Brand/package.json +4 -0
  41. package/Cache/dist/effect-Cache.cjs.d.mts +2 -0
  42. package/Cache/dist/effect-Cache.cjs.d.mts.map +1 -0
  43. package/Cache/dist/effect-Cache.cjs.d.ts +2 -0
  44. package/Cache/dist/effect-Cache.cjs.d.ts.map +1 -0
  45. package/Cache/dist/effect-Cache.cjs.dev.js +191 -0
  46. package/Cache/dist/effect-Cache.cjs.js +7 -0
  47. package/Cache/dist/effect-Cache.cjs.mjs +7 -0
  48. package/Cache/dist/effect-Cache.cjs.prod.js +191 -0
  49. package/Cache/dist/effect-Cache.esm.js +111 -0
  50. package/Cache/package.json +4 -0
  51. package/Cause/dist/effect-Cause.cjs.d.mts +2 -0
  52. package/Cause/dist/effect-Cause.cjs.d.mts.map +1 -0
  53. package/Cause/dist/effect-Cause.cjs.d.ts +2 -0
  54. package/Cause/dist/effect-Cause.cjs.d.ts.map +1 -0
  55. package/Cause/dist/effect-Cause.cjs.dev.js +759 -0
  56. package/Cause/dist/effect-Cause.cjs.js +7 -0
  57. package/Cause/dist/effect-Cause.cjs.mjs +61 -0
  58. package/Cause/dist/effect-Cause.cjs.prod.js +759 -0
  59. package/Cause/dist/effect-Cause.esm.js +668 -0
  60. package/Cause/package.json +4 -0
  61. package/Channel/dist/effect-Channel.cjs.d.mts +2 -0
  62. package/Channel/dist/effect-Channel.cjs.d.mts.map +1 -0
  63. package/Channel/dist/effect-Channel.cjs.d.ts +2 -0
  64. package/Channel/dist/effect-Channel.cjs.d.ts.map +1 -0
  65. package/Channel/dist/effect-Channel.cjs.dev.js +1221 -0
  66. package/Channel/dist/effect-Channel.cjs.js +7 -0
  67. package/Channel/dist/effect-Channel.cjs.mjs +109 -0
  68. package/Channel/dist/effect-Channel.cjs.prod.js +1221 -0
  69. package/Channel/dist/effect-Channel.esm.js +1009 -0
  70. package/Channel/package.json +4 -0
  71. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.cjs.d.mts +2 -0
  72. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.cjs.d.mts.map +1 -0
  73. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.cjs.d.ts +2 -0
  74. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.cjs.d.ts.map +1 -0
  75. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.cjs.dev.js +125 -0
  76. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.cjs.js +7 -0
  77. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.cjs.mjs +11 -0
  78. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.cjs.prod.js +125 -0
  79. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.esm.js +112 -0
  80. package/ChannelChildExecutorDecision/package.json +4 -0
  81. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.cjs.d.mts +2 -0
  82. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.cjs.d.mts.map +1 -0
  83. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.cjs.d.ts +2 -0
  84. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.cjs.d.ts.map +1 -0
  85. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.cjs.dev.js +70 -0
  86. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.cjs.js +7 -0
  87. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.cjs.mjs +8 -0
  88. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.cjs.prod.js +70 -0
  89. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.esm.js +60 -0
  90. package/ChannelMergeDecision/package.json +4 -0
  91. package/ChannelMergeState/dist/effect-ChannelMergeState.cjs.d.mts +2 -0
  92. package/ChannelMergeState/dist/effect-ChannelMergeState.cjs.d.mts.map +1 -0
  93. package/ChannelMergeState/dist/effect-ChannelMergeState.cjs.d.ts +2 -0
  94. package/ChannelMergeState/dist/effect-ChannelMergeState.cjs.d.ts.map +1 -0
  95. package/ChannelMergeState/dist/effect-ChannelMergeState.cjs.dev.js +114 -0
  96. package/ChannelMergeState/dist/effect-ChannelMergeState.cjs.js +7 -0
  97. package/ChannelMergeState/dist/effect-ChannelMergeState.cjs.mjs +11 -0
  98. package/ChannelMergeState/dist/effect-ChannelMergeState.cjs.prod.js +114 -0
  99. package/ChannelMergeState/dist/effect-ChannelMergeState.esm.js +101 -0
  100. package/ChannelMergeState/package.json +4 -0
  101. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.cjs.d.mts +2 -0
  102. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.cjs.d.mts.map +1 -0
  103. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.cjs.d.ts +2 -0
  104. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.cjs.d.ts.map +1 -0
  105. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.cjs.dev.js +95 -0
  106. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.cjs.js +7 -0
  107. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.cjs.mjs +9 -0
  108. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.cjs.prod.js +95 -0
  109. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.esm.js +84 -0
  110. package/ChannelMergeStrategy/package.json +4 -0
  111. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.d.mts +2 -0
  112. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.d.mts.map +1 -0
  113. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.d.ts +2 -0
  114. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.d.ts.map +1 -0
  115. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.dev.js +138 -0
  116. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.js +7 -0
  117. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.mjs +3 -0
  118. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.prod.js +138 -0
  119. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.esm.js +47 -0
  120. package/ChannelSingleProducerAsyncInput/package.json +4 -0
  121. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.cjs.d.mts +2 -0
  122. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.cjs.d.mts.map +1 -0
  123. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.cjs.d.ts +2 -0
  124. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.cjs.d.ts.map +1 -0
  125. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.cjs.dev.js +95 -0
  126. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.cjs.js +7 -0
  127. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.cjs.mjs +9 -0
  128. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.cjs.prod.js +95 -0
  129. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.esm.js +84 -0
  130. package/ChannelUpstreamPullRequest/package.json +4 -0
  131. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.cjs.d.mts +2 -0
  132. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.cjs.d.mts.map +1 -0
  133. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.cjs.d.ts +2 -0
  134. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.cjs.d.ts.map +1 -0
  135. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.cjs.dev.js +94 -0
  136. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.cjs.js +7 -0
  137. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.cjs.mjs +9 -0
  138. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.cjs.prod.js +94 -0
  139. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.esm.js +83 -0
  140. package/ChannelUpstreamPullStrategy/package.json +4 -0
  141. package/Chunk/dist/effect-Chunk.cjs.d.mts +2 -0
  142. package/Chunk/dist/effect-Chunk.cjs.d.mts.map +1 -0
  143. package/Chunk/dist/effect-Chunk.cjs.d.ts +2 -0
  144. package/Chunk/dist/effect-Chunk.cjs.d.ts.map +1 -0
  145. package/Chunk/dist/effect-Chunk.cjs.dev.js +1178 -0
  146. package/Chunk/dist/effect-Chunk.cjs.js +7 -0
  147. package/Chunk/dist/effect-Chunk.cjs.mjs +81 -0
  148. package/Chunk/dist/effect-Chunk.cjs.prod.js +1178 -0
  149. package/Chunk/dist/effect-Chunk.esm.js +1088 -0
  150. package/Chunk/package.json +4 -0
  151. package/Clock/dist/effect-Clock.cjs.d.mts +2 -0
  152. package/Clock/dist/effect-Clock.cjs.d.mts.map +1 -0
  153. package/Clock/dist/effect-Clock.cjs.d.ts +2 -0
  154. package/Clock/dist/effect-Clock.cjs.d.ts.map +1 -0
  155. package/Clock/dist/effect-Clock.cjs.dev.js +127 -0
  156. package/Clock/dist/effect-Clock.cjs.js +7 -0
  157. package/Clock/dist/effect-Clock.cjs.mjs +9 -0
  158. package/Clock/dist/effect-Clock.cjs.prod.js +127 -0
  159. package/Clock/dist/effect-Clock.esm.js +78 -0
  160. package/Clock/package.json +4 -0
  161. package/Config/dist/effect-Config.cjs.d.mts +2 -0
  162. package/Config/dist/effect-Config.cjs.d.mts.map +1 -0
  163. package/Config/dist/effect-Config.cjs.d.ts +2 -0
  164. package/Config/dist/effect-Config.cjs.d.ts.map +1 -0
  165. package/Config/dist/effect-Config.cjs.dev.js +391 -0
  166. package/Config/dist/effect-Config.cjs.js +7 -0
  167. package/Config/dist/effect-Config.cjs.mjs +35 -0
  168. package/Config/dist/effect-Config.cjs.prod.js +391 -0
  169. package/Config/dist/effect-Config.esm.js +321 -0
  170. package/Config/package.json +4 -0
  171. package/ConfigError/dist/effect-ConfigError.cjs.d.mts +2 -0
  172. package/ConfigError/dist/effect-ConfigError.cjs.d.mts.map +1 -0
  173. package/ConfigError/dist/effect-ConfigError.cjs.d.ts +2 -0
  174. package/ConfigError/dist/effect-ConfigError.cjs.d.ts.map +1 -0
  175. package/ConfigError/dist/effect-ConfigError.cjs.dev.js +223 -0
  176. package/ConfigError/dist/effect-ConfigError.cjs.js +7 -0
  177. package/ConfigError/dist/effect-ConfigError.cjs.mjs +19 -0
  178. package/ConfigError/dist/effect-ConfigError.cjs.prod.js +223 -0
  179. package/ConfigError/dist/effect-ConfigError.esm.js +185 -0
  180. package/ConfigError/package.json +4 -0
  181. package/ConfigProvider/dist/effect-ConfigProvider.cjs.d.mts +2 -0
  182. package/ConfigProvider/dist/effect-ConfigProvider.cjs.d.mts.map +1 -0
  183. package/ConfigProvider/dist/effect-ConfigProvider.cjs.d.ts +2 -0
  184. package/ConfigProvider/dist/effect-ConfigProvider.cjs.d.ts.map +1 -0
  185. package/ConfigProvider/dist/effect-ConfigProvider.cjs.dev.js +256 -0
  186. package/ConfigProvider/dist/effect-ConfigProvider.cjs.js +7 -0
  187. package/ConfigProvider/dist/effect-ConfigProvider.cjs.mjs +20 -0
  188. package/ConfigProvider/dist/effect-ConfigProvider.cjs.prod.js +256 -0
  189. package/ConfigProvider/dist/effect-ConfigProvider.esm.js +198 -0
  190. package/ConfigProvider/package.json +4 -0
  191. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.d.mts +2 -0
  192. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.d.mts.map +1 -0
  193. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.d.ts +2 -0
  194. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.d.ts.map +1 -0
  195. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.dev.js +99 -0
  196. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.js +7 -0
  197. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.mjs +7 -0
  198. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.prod.js +99 -0
  199. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.esm.js +70 -0
  200. package/ConfigProviderPathPatch/package.json +4 -0
  201. package/ConfigSecret/dist/effect-ConfigSecret.cjs.d.mts +2 -0
  202. package/ConfigSecret/dist/effect-ConfigSecret.cjs.d.mts.map +1 -0
  203. package/ConfigSecret/dist/effect-ConfigSecret.cjs.d.ts +2 -0
  204. package/ConfigSecret/dist/effect-ConfigSecret.cjs.d.ts.map +1 -0
  205. package/ConfigSecret/dist/effect-ConfigSecret.cjs.dev.js +92 -0
  206. package/ConfigSecret/dist/effect-ConfigSecret.cjs.js +7 -0
  207. package/ConfigSecret/dist/effect-ConfigSecret.cjs.mjs +9 -0
  208. package/ConfigSecret/dist/effect-ConfigSecret.cjs.prod.js +92 -0
  209. package/ConfigSecret/dist/effect-ConfigSecret.esm.js +63 -0
  210. package/ConfigSecret/package.json +4 -0
  211. package/Console/dist/effect-Console.cjs.d.mts +2 -0
  212. package/Console/dist/effect-Console.cjs.d.mts.map +1 -0
  213. package/Console/dist/effect-Console.cjs.d.ts +2 -0
  214. package/Console/dist/effect-Console.cjs.d.ts.map +1 -0
  215. package/Console/dist/effect-Console.cjs.dev.js +322 -0
  216. package/Console/dist/effect-Console.cjs.js +7 -0
  217. package/Console/dist/effect-Console.cjs.mjs +24 -0
  218. package/Console/dist/effect-Console.cjs.prod.js +322 -0
  219. package/Console/dist/effect-Console.esm.js +154 -0
  220. package/Console/package.json +4 -0
  221. package/Context/dist/effect-Context.cjs.d.mts +2 -0
  222. package/Context/dist/effect-Context.cjs.d.mts.map +1 -0
  223. package/Context/dist/effect-Context.cjs.d.ts +2 -0
  224. package/Context/dist/effect-Context.cjs.d.ts.map +1 -0
  225. package/Context/dist/effect-Context.cjs.dev.js +321 -0
  226. package/Context/dist/effect-Context.cjs.js +7 -0
  227. package/Context/dist/effect-Context.cjs.mjs +15 -0
  228. package/Context/dist/effect-Context.cjs.prod.js +321 -0
  229. package/Context/dist/effect-Context.esm.js +295 -0
  230. package/Context/package.json +4 -0
  231. package/Data/dist/effect-Data.cjs.d.mts +2 -0
  232. package/Data/dist/effect-Data.cjs.d.mts.map +1 -0
  233. package/Data/dist/effect-Data.cjs.d.ts +2 -0
  234. package/Data/dist/effect-Data.cjs.d.ts.map +1 -0
  235. package/Data/dist/effect-Data.cjs.dev.js +408 -0
  236. package/Data/dist/effect-Data.cjs.js +7 -0
  237. package/Data/dist/effect-Data.cjs.mjs +15 -0
  238. package/Data/dist/effect-Data.cjs.prod.js +408 -0
  239. package/Data/dist/effect-Data.esm.js +307 -0
  240. package/Data/package.json +4 -0
  241. package/DefaultServices/dist/effect-DefaultServices.cjs.d.mts +2 -0
  242. package/DefaultServices/dist/effect-DefaultServices.cjs.d.mts.map +1 -0
  243. package/DefaultServices/dist/effect-DefaultServices.cjs.d.ts +2 -0
  244. package/DefaultServices/dist/effect-DefaultServices.cjs.d.ts.map +1 -0
  245. package/DefaultServices/dist/effect-DefaultServices.cjs.dev.js +69 -0
  246. package/DefaultServices/dist/effect-DefaultServices.cjs.js +7 -0
  247. package/DefaultServices/dist/effect-DefaultServices.cjs.mjs +4 -0
  248. package/DefaultServices/dist/effect-DefaultServices.cjs.prod.js +69 -0
  249. package/DefaultServices/dist/effect-DefaultServices.esm.js +24 -0
  250. package/DefaultServices/package.json +4 -0
  251. package/Deferred/dist/effect-Deferred.cjs.d.mts +2 -0
  252. package/Deferred/dist/effect-Deferred.cjs.d.mts.map +1 -0
  253. package/Deferred/dist/effect-Deferred.cjs.d.ts +2 -0
  254. package/Deferred/dist/effect-Deferred.cjs.d.ts.map +1 -0
  255. package/Deferred/dist/effect-Deferred.cjs.dev.js +259 -0
  256. package/Deferred/dist/effect-Deferred.cjs.js +7 -0
  257. package/Deferred/dist/effect-Deferred.cjs.mjs +23 -0
  258. package/Deferred/dist/effect-Deferred.cjs.prod.js +259 -0
  259. package/Deferred/dist/effect-Deferred.esm.js +206 -0
  260. package/Deferred/package.json +4 -0
  261. package/Differ/dist/effect-Differ.cjs.d.mts +2 -0
  262. package/Differ/dist/effect-Differ.cjs.d.mts.map +1 -0
  263. package/Differ/dist/effect-Differ.cjs.d.ts +2 -0
  264. package/Differ/dist/effect-Differ.cjs.d.ts.map +1 -0
  265. package/Differ/dist/effect-Differ.cjs.dev.js +990 -0
  266. package/Differ/dist/effect-Differ.cjs.js +7 -0
  267. package/Differ/dist/effect-Differ.cjs.mjs +17 -0
  268. package/Differ/dist/effect-Differ.cjs.prod.js +990 -0
  269. package/Differ/dist/effect-Differ.esm.js +137 -0
  270. package/Differ/package.json +4 -0
  271. package/Duration/dist/effect-Duration.cjs.d.mts +2 -0
  272. package/Duration/dist/effect-Duration.cjs.d.mts.map +1 -0
  273. package/Duration/dist/effect-Duration.cjs.d.ts +2 -0
  274. package/Duration/dist/effect-Duration.cjs.d.ts.map +1 -0
  275. package/Duration/dist/effect-Duration.cjs.dev.js +479 -0
  276. package/Duration/dist/effect-Duration.cjs.js +7 -0
  277. package/Duration/dist/effect-Duration.cjs.mjs +34 -0
  278. package/Duration/dist/effect-Duration.cjs.prod.js +479 -0
  279. package/Duration/dist/effect-Duration.esm.js +438 -0
  280. package/Duration/package.json +4 -0
  281. package/Effect/dist/effect-Effect.cjs.d.mts +2 -0
  282. package/Effect/dist/effect-Effect.cjs.d.mts.map +1 -0
  283. package/Effect/dist/effect-Effect.cjs.d.ts +2 -0
  284. package/Effect/dist/effect-Effect.cjs.d.ts.map +1 -0
  285. package/Effect/dist/effect-Effect.cjs.dev.js +3402 -0
  286. package/Effect/dist/effect-Effect.cjs.js +7 -0
  287. package/Effect/dist/effect-Effect.cjs.mjs +312 -0
  288. package/Effect/dist/effect-Effect.cjs.prod.js +3402 -0
  289. package/Effect/dist/effect-Effect.esm.js +3014 -0
  290. package/Effect/package.json +4 -0
  291. package/Effectable/dist/effect-Effectable.cjs.d.mts +2 -0
  292. package/Effectable/dist/effect-Effectable.cjs.d.mts.map +1 -0
  293. package/Effectable/dist/effect-Effectable.cjs.d.ts +2 -0
  294. package/Effectable/dist/effect-Effectable.cjs.d.ts.map +1 -0
  295. package/Effectable/dist/effect-Effectable.cjs.dev.js +106 -0
  296. package/Effectable/dist/effect-Effectable.cjs.js +7 -0
  297. package/Effectable/dist/effect-Effectable.cjs.mjs +11 -0
  298. package/Effectable/dist/effect-Effectable.cjs.prod.js +106 -0
  299. package/Effectable/dist/effect-Effectable.esm.js +87 -0
  300. package/Effectable/package.json +4 -0
  301. package/Either/dist/effect-Either.cjs.d.mts +2 -0
  302. package/Either/dist/effect-Either.cjs.d.mts.map +1 -0
  303. package/Either/dist/effect-Either.cjs.d.ts +2 -0
  304. package/Either/dist/effect-Either.cjs.d.ts.map +1 -0
  305. package/Either/dist/effect-Either.cjs.dev.js +493 -0
  306. package/Either/dist/effect-Either.cjs.js +7 -0
  307. package/Either/dist/effect-Either.cjs.mjs +31 -0
  308. package/Either/dist/effect-Either.cjs.prod.js +493 -0
  309. package/Either/dist/effect-Either.esm.js +454 -0
  310. package/Either/package.json +4 -0
  311. package/Encoding/dist/effect-Encoding.cjs.d.mts +2 -0
  312. package/Encoding/dist/effect-Encoding.cjs.d.mts.map +1 -0
  313. package/Encoding/dist/effect-Encoding.cjs.d.ts +2 -0
  314. package/Encoding/dist/effect-Encoding.cjs.d.ts.map +1 -0
  315. package/Encoding/dist/effect-Encoding.cjs.dev.js +306 -0
  316. package/Encoding/dist/effect-Encoding.cjs.js +7 -0
  317. package/Encoding/dist/effect-Encoding.cjs.mjs +14 -0
  318. package/Encoding/dist/effect-Encoding.cjs.prod.js +306 -0
  319. package/Encoding/dist/effect-Encoding.esm.js +123 -0
  320. package/Encoding/package.json +4 -0
  321. package/Equal/dist/effect-Equal.cjs.d.mts +2 -0
  322. package/Equal/dist/effect-Equal.cjs.d.mts.map +1 -0
  323. package/Equal/dist/effect-Equal.cjs.d.ts +2 -0
  324. package/Equal/dist/effect-Equal.cjs.d.ts.map +1 -0
  325. package/Equal/dist/effect-Equal.cjs.dev.js +68 -0
  326. package/Equal/dist/effect-Equal.cjs.js +7 -0
  327. package/Equal/dist/effect-Equal.cjs.mjs +6 -0
  328. package/Equal/dist/effect-Equal.cjs.prod.js +68 -0
  329. package/Equal/dist/effect-Equal.esm.js +57 -0
  330. package/Equal/package.json +4 -0
  331. package/Equivalence/dist/effect-Equivalence.cjs.d.mts +2 -0
  332. package/Equivalence/dist/effect-Equivalence.cjs.d.mts.map +1 -0
  333. package/Equivalence/dist/effect-Equivalence.cjs.d.ts +2 -0
  334. package/Equivalence/dist/effect-Equivalence.cjs.d.ts.map +1 -0
  335. package/Equivalence/dist/effect-Equivalence.cjs.dev.js +217 -0
  336. package/Equivalence/dist/effect-Equivalence.cjs.js +7 -0
  337. package/Equivalence/dist/effect-Equivalence.cjs.mjs +20 -0
  338. package/Equivalence/dist/effect-Equivalence.cjs.prod.js +217 -0
  339. package/Equivalence/dist/effect-Equivalence.esm.js +196 -0
  340. package/Equivalence/package.json +4 -0
  341. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.d.mts +2 -0
  342. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.d.mts.map +1 -0
  343. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.d.ts +2 -0
  344. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.d.ts.map +1 -0
  345. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.dev.js +16 -0
  346. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.js +7 -0
  347. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.mjs +9 -0
  348. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.prod.js +16 -0
  349. package/ExecutionStrategy/dist/effect-ExecutionStrategy.esm.js +99 -0
  350. package/ExecutionStrategy/package.json +4 -0
  351. package/Exit/dist/effect-Exit.cjs.d.mts +2 -0
  352. package/Exit/dist/effect-Exit.cjs.d.mts.map +1 -0
  353. package/Exit/dist/effect-Exit.cjs.d.ts +2 -0
  354. package/Exit/dist/effect-Exit.cjs.d.ts.map +1 -0
  355. package/Exit/dist/effect-Exit.cjs.dev.js +400 -0
  356. package/Exit/dist/effect-Exit.cjs.js +7 -0
  357. package/Exit/dist/effect-Exit.cjs.mjs +37 -0
  358. package/Exit/dist/effect-Exit.cjs.prod.js +400 -0
  359. package/Exit/dist/effect-Exit.esm.js +332 -0
  360. package/Exit/package.json +4 -0
  361. package/Fiber/dist/effect-Fiber.cjs.d.mts +2 -0
  362. package/Fiber/dist/effect-Fiber.cjs.d.mts.map +1 -0
  363. package/Fiber/dist/effect-Fiber.cjs.d.ts +2 -0
  364. package/Fiber/dist/effect-Fiber.cjs.d.ts.map +1 -0
  365. package/Fiber/dist/effect-Fiber.cjs.dev.js +544 -0
  366. package/Fiber/dist/effect-Fiber.cjs.js +7 -0
  367. package/Fiber/dist/effect-Fiber.cjs.mjs +48 -0
  368. package/Fiber/dist/effect-Fiber.cjs.prod.js +544 -0
  369. package/Fiber/dist/effect-Fiber.esm.js +423 -0
  370. package/Fiber/package.json +4 -0
  371. package/FiberId/dist/effect-FiberId.cjs.d.mts +2 -0
  372. package/FiberId/dist/effect-FiberId.cjs.d.mts.map +1 -0
  373. package/FiberId/dist/effect-FiberId.cjs.d.ts +2 -0
  374. package/FiberId/dist/effect-FiberId.cjs.d.ts.map +1 -0
  375. package/FiberId/dist/effect-FiberId.cjs.dev.js +43 -0
  376. package/FiberId/dist/effect-FiberId.cjs.js +7 -0
  377. package/FiberId/dist/effect-FiberId.cjs.mjs +19 -0
  378. package/FiberId/dist/effect-FiberId.cjs.prod.js +43 -0
  379. package/FiberId/dist/effect-FiberId.esm.js +161 -0
  380. package/FiberId/package.json +4 -0
  381. package/FiberRef/dist/effect-FiberRef.cjs.d.mts +2 -0
  382. package/FiberRef/dist/effect-FiberRef.cjs.d.mts.map +1 -0
  383. package/FiberRef/dist/effect-FiberRef.cjs.d.ts +2 -0
  384. package/FiberRef/dist/effect-FiberRef.cjs.d.ts.map +1 -0
  385. package/FiberRef/dist/effect-FiberRef.cjs.dev.js +400 -0
  386. package/FiberRef/dist/effect-FiberRef.cjs.js +7 -0
  387. package/FiberRef/dist/effect-FiberRef.cjs.mjs +46 -0
  388. package/FiberRef/dist/effect-FiberRef.cjs.prod.js +400 -0
  389. package/FiberRef/dist/effect-FiberRef.esm.js +283 -0
  390. package/FiberRef/package.json +4 -0
  391. package/FiberRefs/dist/effect-FiberRefs.cjs.d.mts +2 -0
  392. package/FiberRefs/dist/effect-FiberRefs.cjs.d.mts.map +1 -0
  393. package/FiberRefs/dist/effect-FiberRefs.cjs.d.ts +2 -0
  394. package/FiberRefs/dist/effect-FiberRefs.cjs.d.ts.map +1 -0
  395. package/FiberRefs/dist/effect-FiberRefs.cjs.dev.js +152 -0
  396. package/FiberRefs/dist/effect-FiberRefs.cjs.js +7 -0
  397. package/FiberRefs/dist/effect-FiberRefs.cjs.mjs +13 -0
  398. package/FiberRefs/dist/effect-FiberRefs.cjs.prod.js +152 -0
  399. package/FiberRefs/dist/effect-FiberRefs.esm.js +107 -0
  400. package/FiberRefs/package.json +4 -0
  401. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.d.mts +2 -0
  402. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.d.mts.map +1 -0
  403. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.d.ts +2 -0
  404. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.d.ts.map +1 -0
  405. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.dev.js +115 -0
  406. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.js +7 -0
  407. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.mjs +6 -0
  408. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.prod.js +115 -0
  409. package/FiberRefsPatch/dist/effect-FiberRefsPatch.esm.js +76 -0
  410. package/FiberRefsPatch/package.json +4 -0
  411. package/FiberStatus/dist/effect-FiberStatus.cjs.d.mts +2 -0
  412. package/FiberStatus/dist/effect-FiberStatus.cjs.d.mts.map +1 -0
  413. package/FiberStatus/dist/effect-FiberStatus.cjs.d.ts +2 -0
  414. package/FiberStatus/dist/effect-FiberStatus.cjs.d.ts.map +1 -0
  415. package/FiberStatus/dist/effect-FiberStatus.cjs.dev.js +189 -0
  416. package/FiberStatus/dist/effect-FiberStatus.cjs.js +7 -0
  417. package/FiberStatus/dist/effect-FiberStatus.cjs.mjs +10 -0
  418. package/FiberStatus/dist/effect-FiberStatus.cjs.prod.js +189 -0
  419. package/FiberStatus/dist/effect-FiberStatus.esm.js +89 -0
  420. package/FiberStatus/package.json +4 -0
  421. package/Function/dist/effect-Function.cjs.d.mts +2 -0
  422. package/Function/dist/effect-Function.cjs.d.mts.map +1 -0
  423. package/Function/dist/effect-Function.cjs.d.ts +2 -0
  424. package/Function/dist/effect-Function.cjs.d.ts.map +1 -0
  425. package/Function/dist/effect-Function.cjs.dev.js +515 -0
  426. package/Function/dist/effect-Function.cjs.js +7 -0
  427. package/Function/dist/effect-Function.cjs.mjs +22 -0
  428. package/Function/dist/effect-Function.cjs.prod.js +515 -0
  429. package/Function/dist/effect-Function.esm.js +492 -0
  430. package/Function/package.json +4 -0
  431. package/GlobalValue/dist/effect-GlobalValue.cjs.d.mts +2 -0
  432. package/GlobalValue/dist/effect-GlobalValue.cjs.d.mts.map +1 -0
  433. package/GlobalValue/dist/effect-GlobalValue.cjs.d.ts +2 -0
  434. package/GlobalValue/dist/effect-GlobalValue.cjs.d.ts.map +1 -0
  435. package/GlobalValue/dist/effect-GlobalValue.cjs.dev.js +24 -0
  436. package/GlobalValue/dist/effect-GlobalValue.cjs.js +7 -0
  437. package/GlobalValue/dist/effect-GlobalValue.cjs.mjs +3 -0
  438. package/GlobalValue/dist/effect-GlobalValue.cjs.prod.js +24 -0
  439. package/GlobalValue/dist/effect-GlobalValue.esm.js +20 -0
  440. package/GlobalValue/package.json +4 -0
  441. package/GroupBy/dist/effect-GroupBy.cjs.d.mts +2 -0
  442. package/GroupBy/dist/effect-GroupBy.cjs.d.mts.map +1 -0
  443. package/GroupBy/dist/effect-GroupBy.cjs.d.ts +2 -0
  444. package/GroupBy/dist/effect-GroupBy.cjs.d.ts.map +1 -0
  445. package/GroupBy/dist/effect-GroupBy.cjs.dev.js +177 -0
  446. package/GroupBy/dist/effect-GroupBy.cjs.js +7 -0
  447. package/GroupBy/dist/effect-GroupBy.cjs.mjs +7 -0
  448. package/GroupBy/dist/effect-GroupBy.cjs.prod.js +177 -0
  449. package/GroupBy/dist/effect-GroupBy.esm.js +63 -0
  450. package/GroupBy/package.json +4 -0
  451. package/HKT/dist/effect-HKT.cjs.d.mts +2 -0
  452. package/HKT/dist/effect-HKT.cjs.d.mts.map +1 -0
  453. package/HKT/dist/effect-HKT.cjs.d.ts +2 -0
  454. package/HKT/dist/effect-HKT.cjs.d.ts.map +1 -0
  455. package/HKT/dist/effect-HKT.cjs.dev.js +2 -0
  456. package/HKT/dist/effect-HKT.cjs.js +7 -0
  457. package/HKT/dist/effect-HKT.cjs.mjs +1 -0
  458. package/HKT/dist/effect-HKT.cjs.prod.js +2 -0
  459. package/HKT/dist/effect-HKT.esm.js +1 -0
  460. package/HKT/package.json +4 -0
  461. package/Hash/dist/effect-Hash.cjs.d.mts +2 -0
  462. package/Hash/dist/effect-Hash.cjs.d.mts.map +1 -0
  463. package/Hash/dist/effect-Hash.cjs.d.ts +2 -0
  464. package/Hash/dist/effect-Hash.cjs.d.ts.map +1 -0
  465. package/Hash/dist/effect-Hash.cjs.dev.js +179 -0
  466. package/Hash/dist/effect-Hash.cjs.js +7 -0
  467. package/Hash/dist/effect-Hash.cjs.mjs +13 -0
  468. package/Hash/dist/effect-Hash.cjs.prod.js +179 -0
  469. package/Hash/dist/effect-Hash.esm.js +164 -0
  470. package/Hash/package.json +4 -0
  471. package/HashMap/dist/effect-HashMap.cjs.d.mts +2 -0
  472. package/HashMap/dist/effect-HashMap.cjs.d.mts.map +1 -0
  473. package/HashMap/dist/effect-HashMap.cjs.d.ts +2 -0
  474. package/HashMap/dist/effect-HashMap.cjs.d.ts.map +1 -0
  475. package/HashMap/dist/effect-HashMap.cjs.dev.js +341 -0
  476. package/HashMap/dist/effect-HashMap.cjs.js +7 -0
  477. package/HashMap/dist/effect-HashMap.cjs.mjs +34 -0
  478. package/HashMap/dist/effect-HashMap.cjs.prod.js +341 -0
  479. package/HashMap/dist/effect-HashMap.esm.js +287 -0
  480. package/HashMap/package.json +4 -0
  481. package/HashSet/dist/effect-HashSet.cjs.d.mts +2 -0
  482. package/HashSet/dist/effect-HashSet.cjs.d.mts.map +1 -0
  483. package/HashSet/dist/effect-HashSet.cjs.d.ts +2 -0
  484. package/HashSet/dist/effect-HashSet.cjs.d.ts.map +1 -0
  485. package/HashSet/dist/effect-HashSet.cjs.dev.js +270 -0
  486. package/HashSet/dist/effect-HashSet.cjs.js +7 -0
  487. package/HashSet/dist/effect-HashSet.cjs.mjs +27 -0
  488. package/HashSet/dist/effect-HashSet.cjs.prod.js +270 -0
  489. package/HashSet/dist/effect-HashSet.esm.js +227 -0
  490. package/HashSet/package.json +4 -0
  491. package/Inspectable/dist/effect-Inspectable.cjs.d.mts +2 -0
  492. package/Inspectable/dist/effect-Inspectable.cjs.d.mts.map +1 -0
  493. package/Inspectable/dist/effect-Inspectable.cjs.d.ts +2 -0
  494. package/Inspectable/dist/effect-Inspectable.cjs.d.ts.map +1 -0
  495. package/Inspectable/dist/effect-Inspectable.cjs.dev.js +44 -0
  496. package/Inspectable/dist/effect-Inspectable.cjs.js +7 -0
  497. package/Inspectable/dist/effect-Inspectable.cjs.mjs +5 -0
  498. package/Inspectable/dist/effect-Inspectable.cjs.prod.js +44 -0
  499. package/Inspectable/dist/effect-Inspectable.esm.js +38 -0
  500. package/Inspectable/package.json +4 -0
  501. package/KeyedPool/dist/effect-KeyedPool.cjs.d.mts +2 -0
  502. package/KeyedPool/dist/effect-KeyedPool.cjs.d.mts.map +1 -0
  503. package/KeyedPool/dist/effect-KeyedPool.cjs.d.ts +2 -0
  504. package/KeyedPool/dist/effect-KeyedPool.cjs.d.ts.map +1 -0
  505. package/KeyedPool/dist/effect-KeyedPool.cjs.dev.js +334 -0
  506. package/KeyedPool/dist/effect-KeyedPool.cjs.js +7 -0
  507. package/KeyedPool/dist/effect-KeyedPool.cjs.mjs +9 -0
  508. package/KeyedPool/dist/effect-KeyedPool.cjs.prod.js +334 -0
  509. package/KeyedPool/dist/effect-KeyedPool.esm.js +104 -0
  510. package/KeyedPool/package.json +4 -0
  511. package/Layer/dist/effect-Layer.cjs.d.mts +2 -0
  512. package/Layer/dist/effect-Layer.cjs.d.mts.map +1 -0
  513. package/Layer/dist/effect-Layer.cjs.d.ts +2 -0
  514. package/Layer/dist/effect-Layer.cjs.d.ts.map +1 -0
  515. package/Layer/dist/effect-Layer.cjs.dev.js +802 -0
  516. package/Layer/dist/effect-Layer.cjs.js +7 -0
  517. package/Layer/dist/effect-Layer.cjs.mjs +77 -0
  518. package/Layer/dist/effect-Layer.cjs.prod.js +802 -0
  519. package/Layer/dist/effect-Layer.esm.js +646 -0
  520. package/Layer/package.json +4 -0
  521. package/List/dist/effect-List.cjs.d.mts +2 -0
  522. package/List/dist/effect-List.cjs.d.mts.map +1 -0
  523. package/List/dist/effect-List.cjs.d.ts +2 -0
  524. package/List/dist/effect-List.cjs.d.ts.map +1 -0
  525. package/List/dist/effect-List.cjs.dev.js +876 -0
  526. package/List/dist/effect-List.cjs.js +7 -0
  527. package/List/dist/effect-List.cjs.mjs +47 -0
  528. package/List/dist/effect-List.cjs.prod.js +876 -0
  529. package/List/dist/effect-List.esm.js +820 -0
  530. package/List/package.json +4 -0
  531. package/LogLevel/dist/effect-LogLevel.cjs.d.mts +2 -0
  532. package/LogLevel/dist/effect-LogLevel.cjs.d.mts.map +1 -0
  533. package/LogLevel/dist/effect-LogLevel.cjs.d.ts +2 -0
  534. package/LogLevel/dist/effect-LogLevel.cjs.d.ts.map +1 -0
  535. package/LogLevel/dist/effect-LogLevel.cjs.dev.js +249 -0
  536. package/LogLevel/dist/effect-LogLevel.cjs.js +7 -0
  537. package/LogLevel/dist/effect-LogLevel.cjs.mjs +18 -0
  538. package/LogLevel/dist/effect-LogLevel.cjs.prod.js +249 -0
  539. package/LogLevel/dist/effect-LogLevel.esm.js +202 -0
  540. package/LogLevel/package.json +4 -0
  541. package/LogSpan/dist/effect-LogSpan.cjs.d.mts +2 -0
  542. package/LogSpan/dist/effect-LogSpan.cjs.d.mts.map +1 -0
  543. package/LogSpan/dist/effect-LogSpan.cjs.d.ts +2 -0
  544. package/LogSpan/dist/effect-LogSpan.cjs.d.ts.map +1 -0
  545. package/LogSpan/dist/effect-LogSpan.cjs.dev.js +41 -0
  546. package/LogSpan/dist/effect-LogSpan.cjs.js +7 -0
  547. package/LogSpan/dist/effect-LogSpan.cjs.mjs +4 -0
  548. package/LogSpan/dist/effect-LogSpan.cjs.prod.js +41 -0
  549. package/LogSpan/dist/effect-LogSpan.esm.js +24 -0
  550. package/LogSpan/package.json +4 -0
  551. package/Logger/dist/effect-Logger.cjs.d.mts +2 -0
  552. package/Logger/dist/effect-Logger.cjs.d.mts.map +1 -0
  553. package/Logger/dist/effect-Logger.cjs.d.ts +2 -0
  554. package/Logger/dist/effect-Logger.cjs.d.ts.map +1 -0
  555. package/Logger/dist/effect-Logger.cjs.dev.js +314 -0
  556. package/Logger/dist/effect-Logger.cjs.js +7 -0
  557. package/Logger/dist/effect-Logger.cjs.mjs +29 -0
  558. package/Logger/dist/effect-Logger.cjs.prod.js +314 -0
  559. package/Logger/dist/effect-Logger.esm.js +193 -0
  560. package/Logger/package.json +4 -0
  561. package/Match/dist/effect-Match.cjs.d.mts +2 -0
  562. package/Match/dist/effect-Match.cjs.d.mts.map +1 -0
  563. package/Match/dist/effect-Match.cjs.d.ts +2 -0
  564. package/Match/dist/effect-Match.cjs.d.ts.map +1 -0
  565. package/Match/dist/effect-Match.cjs.dev.js +619 -0
  566. package/Match/dist/effect-Match.cjs.js +7 -0
  567. package/Match/dist/effect-Match.cjs.mjs +39 -0
  568. package/Match/dist/effect-Match.cjs.prod.js +619 -0
  569. package/Match/dist/effect-Match.esm.js +258 -0
  570. package/Match/package.json +4 -0
  571. package/Metric/dist/effect-Metric.cjs.d.mts +2 -0
  572. package/Metric/dist/effect-Metric.cjs.d.mts.map +1 -0
  573. package/Metric/dist/effect-Metric.cjs.d.ts +2 -0
  574. package/Metric/dist/effect-Metric.cjs.d.ts.map +1 -0
  575. package/Metric/dist/effect-Metric.cjs.dev.js +592 -0
  576. package/Metric/dist/effect-Metric.cjs.js +7 -0
  577. package/Metric/dist/effect-Metric.cjs.mjs +46 -0
  578. package/Metric/dist/effect-Metric.cjs.prod.js +592 -0
  579. package/Metric/dist/effect-Metric.esm.js +477 -0
  580. package/Metric/package.json +4 -0
  581. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.d.mts +2 -0
  582. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.d.mts.map +1 -0
  583. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.d.ts +2 -0
  584. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.d.ts.map +1 -0
  585. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.dev.js +79 -0
  586. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.js +7 -0
  587. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.mjs +7 -0
  588. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.prod.js +79 -0
  589. package/MetricBoundaries/dist/effect-MetricBoundaries.esm.js +52 -0
  590. package/MetricBoundaries/package.json +4 -0
  591. package/MetricHook/dist/effect-MetricHook.cjs.d.mts +2 -0
  592. package/MetricHook/dist/effect-MetricHook.cjs.d.mts.map +1 -0
  593. package/MetricHook/dist/effect-MetricHook.cjs.d.ts +2 -0
  594. package/MetricHook/dist/effect-MetricHook.cjs.d.ts.map +1 -0
  595. package/MetricHook/dist/effect-MetricHook.cjs.dev.js +104 -0
  596. package/MetricHook/dist/effect-MetricHook.cjs.js +7 -0
  597. package/MetricHook/dist/effect-MetricHook.cjs.mjs +10 -0
  598. package/MetricHook/dist/effect-MetricHook.cjs.prod.js +104 -0
  599. package/MetricHook/dist/effect-MetricHook.esm.js +68 -0
  600. package/MetricHook/package.json +4 -0
  601. package/MetricKey/dist/effect-MetricKey.cjs.d.mts +2 -0
  602. package/MetricKey/dist/effect-MetricKey.cjs.d.mts.map +1 -0
  603. package/MetricKey/dist/effect-MetricKey.cjs.d.ts +2 -0
  604. package/MetricKey/dist/effect-MetricKey.cjs.d.ts.map +1 -0
  605. package/MetricKey/dist/effect-MetricKey.cjs.dev.js +137 -0
  606. package/MetricKey/dist/effect-MetricKey.cjs.js +7 -0
  607. package/MetricKey/dist/effect-MetricKey.cjs.mjs +12 -0
  608. package/MetricKey/dist/effect-MetricKey.cjs.prod.js +137 -0
  609. package/MetricKey/dist/effect-MetricKey.esm.js +104 -0
  610. package/MetricKey/package.json +4 -0
  611. package/MetricKeyType/dist/effect-MetricKeyType.cjs.d.mts +2 -0
  612. package/MetricKeyType/dist/effect-MetricKeyType.cjs.d.mts.map +1 -0
  613. package/MetricKeyType/dist/effect-MetricKeyType.cjs.d.ts +2 -0
  614. package/MetricKeyType/dist/effect-MetricKeyType.cjs.d.ts.map +1 -0
  615. package/MetricKeyType/dist/effect-MetricKeyType.cjs.dev.js +182 -0
  616. package/MetricKeyType/dist/effect-MetricKeyType.cjs.js +7 -0
  617. package/MetricKeyType/dist/effect-MetricKeyType.cjs.mjs +19 -0
  618. package/MetricKeyType/dist/effect-MetricKeyType.cjs.prod.js +182 -0
  619. package/MetricKeyType/dist/effect-MetricKeyType.esm.js +147 -0
  620. package/MetricKeyType/package.json +4 -0
  621. package/MetricLabel/dist/effect-MetricLabel.cjs.d.mts +2 -0
  622. package/MetricLabel/dist/effect-MetricLabel.cjs.d.mts.map +1 -0
  623. package/MetricLabel/dist/effect-MetricLabel.cjs.d.ts +2 -0
  624. package/MetricLabel/dist/effect-MetricLabel.cjs.d.ts.map +1 -0
  625. package/MetricLabel/dist/effect-MetricLabel.cjs.dev.js +54 -0
  626. package/MetricLabel/dist/effect-MetricLabel.cjs.js +7 -0
  627. package/MetricLabel/dist/effect-MetricLabel.cjs.mjs +5 -0
  628. package/MetricLabel/dist/effect-MetricLabel.cjs.prod.js +54 -0
  629. package/MetricLabel/dist/effect-MetricLabel.esm.js +41 -0
  630. package/MetricLabel/package.json +4 -0
  631. package/MetricPair/dist/effect-MetricPair.cjs.d.mts +2 -0
  632. package/MetricPair/dist/effect-MetricPair.cjs.d.mts.map +1 -0
  633. package/MetricPair/dist/effect-MetricPair.cjs.d.ts +2 -0
  634. package/MetricPair/dist/effect-MetricPair.cjs.d.ts.map +1 -0
  635. package/MetricPair/dist/effect-MetricPair.cjs.dev.js +45 -0
  636. package/MetricPair/dist/effect-MetricPair.cjs.js +7 -0
  637. package/MetricPair/dist/effect-MetricPair.cjs.mjs +5 -0
  638. package/MetricPair/dist/effect-MetricPair.cjs.prod.js +45 -0
  639. package/MetricPair/dist/effect-MetricPair.esm.js +38 -0
  640. package/MetricPair/package.json +4 -0
  641. package/MetricPolling/dist/effect-MetricPolling.cjs.d.mts +2 -0
  642. package/MetricPolling/dist/effect-MetricPolling.cjs.d.mts.map +1 -0
  643. package/MetricPolling/dist/effect-MetricPolling.cjs.d.ts +2 -0
  644. package/MetricPolling/dist/effect-MetricPolling.cjs.d.ts.map +1 -0
  645. package/MetricPolling/dist/effect-MetricPolling.cjs.dev.js +236 -0
  646. package/MetricPolling/dist/effect-MetricPolling.cjs.js +7 -0
  647. package/MetricPolling/dist/effect-MetricPolling.cjs.mjs +10 -0
  648. package/MetricPolling/dist/effect-MetricPolling.cjs.prod.js +236 -0
  649. package/MetricPolling/dist/effect-MetricPolling.esm.js +84 -0
  650. package/MetricPolling/package.json +4 -0
  651. package/MetricRegistry/dist/effect-MetricRegistry.cjs.d.mts +2 -0
  652. package/MetricRegistry/dist/effect-MetricRegistry.cjs.d.mts.map +1 -0
  653. package/MetricRegistry/dist/effect-MetricRegistry.cjs.d.ts +2 -0
  654. package/MetricRegistry/dist/effect-MetricRegistry.cjs.d.ts.map +1 -0
  655. package/MetricRegistry/dist/effect-MetricRegistry.cjs.dev.js +64 -0
  656. package/MetricRegistry/dist/effect-MetricRegistry.cjs.js +7 -0
  657. package/MetricRegistry/dist/effect-MetricRegistry.cjs.mjs +4 -0
  658. package/MetricRegistry/dist/effect-MetricRegistry.cjs.prod.js +64 -0
  659. package/MetricRegistry/dist/effect-MetricRegistry.esm.js +28 -0
  660. package/MetricRegistry/package.json +4 -0
  661. package/MetricState/dist/effect-MetricState.cjs.d.mts +2 -0
  662. package/MetricState/dist/effect-MetricState.cjs.d.mts.map +1 -0
  663. package/MetricState/dist/effect-MetricState.cjs.d.ts +2 -0
  664. package/MetricState/dist/effect-MetricState.cjs.d.ts.map +1 -0
  665. package/MetricState/dist/effect-MetricState.cjs.dev.js +178 -0
  666. package/MetricState/dist/effect-MetricState.cjs.js +7 -0
  667. package/MetricState/dist/effect-MetricState.cjs.mjs +19 -0
  668. package/MetricState/dist/effect-MetricState.cjs.prod.js +178 -0
  669. package/MetricState/dist/effect-MetricState.esm.js +151 -0
  670. package/MetricState/package.json +4 -0
  671. package/MutableHashMap/dist/effect-MutableHashMap.cjs.d.mts +2 -0
  672. package/MutableHashMap/dist/effect-MutableHashMap.cjs.d.mts.map +1 -0
  673. package/MutableHashMap/dist/effect-MutableHashMap.cjs.d.ts +2 -0
  674. package/MutableHashMap/dist/effect-MutableHashMap.cjs.d.ts.map +1 -0
  675. package/MutableHashMap/dist/effect-MutableHashMap.cjs.dev.js +153 -0
  676. package/MutableHashMap/dist/effect-MutableHashMap.cjs.js +7 -0
  677. package/MutableHashMap/dist/effect-MutableHashMap.cjs.mjs +12 -0
  678. package/MutableHashMap/dist/effect-MutableHashMap.cjs.prod.js +153 -0
  679. package/MutableHashMap/dist/effect-MutableHashMap.esm.js +128 -0
  680. package/MutableHashMap/package.json +4 -0
  681. package/MutableHashSet/dist/effect-MutableHashSet.cjs.d.mts +2 -0
  682. package/MutableHashSet/dist/effect-MutableHashSet.cjs.d.mts.map +1 -0
  683. package/MutableHashSet/dist/effect-MutableHashSet.cjs.d.ts +2 -0
  684. package/MutableHashSet/dist/effect-MutableHashSet.cjs.d.ts.map +1 -0
  685. package/MutableHashSet/dist/effect-MutableHashSet.cjs.dev.js +115 -0
  686. package/MutableHashSet/dist/effect-MutableHashSet.cjs.js +7 -0
  687. package/MutableHashSet/dist/effect-MutableHashSet.cjs.mjs +9 -0
  688. package/MutableHashSet/dist/effect-MutableHashSet.cjs.prod.js +115 -0
  689. package/MutableHashSet/dist/effect-MutableHashSet.esm.js +90 -0
  690. package/MutableHashSet/package.json +4 -0
  691. package/MutableList/dist/effect-MutableList.cjs.d.mts +2 -0
  692. package/MutableList/dist/effect-MutableList.cjs.d.mts.map +1 -0
  693. package/MutableList/dist/effect-MutableList.cjs.d.ts +2 -0
  694. package/MutableList/dist/effect-MutableList.cjs.d.ts.map +1 -0
  695. package/MutableList/dist/effect-MutableList.cjs.dev.js +280 -0
  696. package/MutableList/dist/effect-MutableList.cjs.js +7 -0
  697. package/MutableList/dist/effect-MutableList.cjs.mjs +15 -0
  698. package/MutableList/dist/effect-MutableList.cjs.prod.js +280 -0
  699. package/MutableList/dist/effect-MutableList.esm.js +264 -0
  700. package/MutableList/package.json +4 -0
  701. package/MutableQueue/dist/effect-MutableQueue.cjs.d.mts +2 -0
  702. package/MutableQueue/dist/effect-MutableQueue.cjs.d.mts.map +1 -0
  703. package/MutableQueue/dist/effect-MutableQueue.cjs.d.ts +2 -0
  704. package/MutableQueue/dist/effect-MutableQueue.cjs.d.ts.map +1 -0
  705. package/MutableQueue/dist/effect-MutableQueue.cjs.dev.js +216 -0
  706. package/MutableQueue/dist/effect-MutableQueue.cjs.js +7 -0
  707. package/MutableQueue/dist/effect-MutableQueue.cjs.mjs +13 -0
  708. package/MutableQueue/dist/effect-MutableQueue.cjs.prod.js +216 -0
  709. package/MutableQueue/dist/effect-MutableQueue.esm.js +187 -0
  710. package/MutableQueue/package.json +4 -0
  711. package/MutableRef/dist/effect-MutableRef.cjs.d.mts +2 -0
  712. package/MutableRef/dist/effect-MutableRef.cjs.d.mts.map +1 -0
  713. package/MutableRef/dist/effect-MutableRef.cjs.d.ts +2 -0
  714. package/MutableRef/dist/effect-MutableRef.cjs.d.ts.map +1 -0
  715. package/MutableRef/dist/effect-MutableRef.cjs.dev.js +179 -0
  716. package/MutableRef/dist/effect-MutableRef.cjs.js +7 -0
  717. package/MutableRef/dist/effect-MutableRef.cjs.mjs +18 -0
  718. package/MutableRef/dist/effect-MutableRef.cjs.prod.js +179 -0
  719. package/MutableRef/dist/effect-MutableRef.esm.js +156 -0
  720. package/MutableRef/package.json +4 -0
  721. package/NonEmptyIterable/dist/effect-NonEmptyIterable.cjs.d.mts +2 -0
  722. package/NonEmptyIterable/dist/effect-NonEmptyIterable.cjs.d.mts.map +1 -0
  723. package/NonEmptyIterable/dist/effect-NonEmptyIterable.cjs.d.ts +2 -0
  724. package/NonEmptyIterable/dist/effect-NonEmptyIterable.cjs.d.ts.map +1 -0
  725. package/NonEmptyIterable/dist/effect-NonEmptyIterable.cjs.dev.js +32 -0
  726. package/NonEmptyIterable/dist/effect-NonEmptyIterable.cjs.js +7 -0
  727. package/NonEmptyIterable/dist/effect-NonEmptyIterable.cjs.mjs +3 -0
  728. package/NonEmptyIterable/dist/effect-NonEmptyIterable.cjs.prod.js +32 -0
  729. package/NonEmptyIterable/dist/effect-NonEmptyIterable.esm.js +28 -0
  730. package/NonEmptyIterable/package.json +4 -0
  731. package/Number/dist/effect-Number.cjs.d.mts +2 -0
  732. package/Number/dist/effect-Number.cjs.d.mts.map +1 -0
  733. package/Number/dist/effect-Number.cjs.d.ts +2 -0
  734. package/Number/dist/effect-Number.cjs.d.ts.map +1 -0
  735. package/Number/dist/effect-Number.cjs.dev.js +422 -0
  736. package/Number/dist/effect-Number.cjs.js +7 -0
  737. package/Number/dist/effect-Number.cjs.mjs +24 -0
  738. package/Number/dist/effect-Number.cjs.prod.js +422 -0
  739. package/Number/dist/effect-Number.esm.js +390 -0
  740. package/Number/package.json +4 -0
  741. package/Option/dist/effect-Option.cjs.d.mts +2 -0
  742. package/Option/dist/effect-Option.cjs.d.mts.map +1 -0
  743. package/Option/dist/effect-Option.cjs.d.ts +2 -0
  744. package/Option/dist/effect-Option.cjs.d.ts.map +1 -0
  745. package/Option/dist/effect-Option.cjs.dev.js +1054 -0
  746. package/Option/dist/effect-Option.cjs.js +7 -0
  747. package/Option/dist/effect-Option.cjs.mjs +57 -0
  748. package/Option/dist/effect-Option.cjs.prod.js +1054 -0
  749. package/Option/dist/effect-Option.esm.js +990 -0
  750. package/Option/package.json +4 -0
  751. package/Order/dist/effect-Order.cjs.d.mts +2 -0
  752. package/Order/dist/effect-Order.cjs.d.mts.map +1 -0
  753. package/Order/dist/effect-Order.cjs.d.ts +2 -0
  754. package/Order/dist/effect-Order.cjs.d.ts.map +1 -0
  755. package/Order/dist/effect-Order.cjs.dev.js +292 -0
  756. package/Order/dist/effect-Order.cjs.js +7 -0
  757. package/Order/dist/effect-Order.cjs.mjs +28 -0
  758. package/Order/dist/effect-Order.cjs.prod.js +292 -0
  759. package/Order/dist/effect-Order.esm.js +263 -0
  760. package/Order/package.json +4 -0
  761. package/Ordering/dist/effect-Ordering.cjs.d.mts +2 -0
  762. package/Ordering/dist/effect-Ordering.cjs.d.mts.map +1 -0
  763. package/Ordering/dist/effect-Ordering.cjs.d.ts +2 -0
  764. package/Ordering/dist/effect-Ordering.cjs.d.ts.map +1 -0
  765. package/Ordering/dist/effect-Ordering.cjs.dev.js +96 -0
  766. package/Ordering/dist/effect-Ordering.cjs.js +7 -0
  767. package/Ordering/dist/effect-Ordering.cjs.mjs +7 -0
  768. package/Ordering/dist/effect-Ordering.cjs.prod.js +96 -0
  769. package/Ordering/dist/effect-Ordering.esm.js +88 -0
  770. package/Ordering/package.json +4 -0
  771. package/Pipeable/dist/effect-Pipeable.cjs.d.mts +2 -0
  772. package/Pipeable/dist/effect-Pipeable.cjs.d.mts.map +1 -0
  773. package/Pipeable/dist/effect-Pipeable.cjs.d.ts +2 -0
  774. package/Pipeable/dist/effect-Pipeable.cjs.d.ts.map +1 -0
  775. package/Pipeable/dist/effect-Pipeable.cjs.dev.js +48 -0
  776. package/Pipeable/dist/effect-Pipeable.cjs.js +7 -0
  777. package/Pipeable/dist/effect-Pipeable.cjs.mjs +3 -0
  778. package/Pipeable/dist/effect-Pipeable.cjs.prod.js +48 -0
  779. package/Pipeable/dist/effect-Pipeable.esm.js +44 -0
  780. package/Pipeable/package.json +4 -0
  781. package/Pool/dist/effect-Pool.cjs.d.mts +2 -0
  782. package/Pool/dist/effect-Pool.cjs.d.mts.map +1 -0
  783. package/Pool/dist/effect-Pool.cjs.d.ts +2 -0
  784. package/Pool/dist/effect-Pool.cjs.d.ts.map +1 -0
  785. package/Pool/dist/effect-Pool.cjs.dev.js +186 -0
  786. package/Pool/dist/effect-Pool.cjs.js +7 -0
  787. package/Pool/dist/effect-Pool.cjs.mjs +8 -0
  788. package/Pool/dist/effect-Pool.cjs.prod.js +186 -0
  789. package/Pool/dist/effect-Pool.esm.js +104 -0
  790. package/Pool/package.json +4 -0
  791. package/Predicate/dist/effect-Predicate.cjs.d.mts +2 -0
  792. package/Predicate/dist/effect-Predicate.cjs.d.mts.map +1 -0
  793. package/Predicate/dist/effect-Predicate.cjs.d.ts +2 -0
  794. package/Predicate/dist/effect-Predicate.cjs.d.ts.map +1 -0
  795. package/Predicate/dist/effect-Predicate.cjs.dev.js +676 -0
  796. package/Predicate/dist/effect-Predicate.cjs.js +7 -0
  797. package/Predicate/dist/effect-Predicate.cjs.mjs +41 -0
  798. package/Predicate/dist/effect-Predicate.cjs.prod.js +676 -0
  799. package/Predicate/dist/effect-Predicate.esm.js +634 -0
  800. package/Predicate/package.json +4 -0
  801. package/PubSub/dist/effect-PubSub.cjs.d.mts +2 -0
  802. package/PubSub/dist/effect-PubSub.cjs.d.mts.map +1 -0
  803. package/PubSub/dist/effect-PubSub.cjs.d.ts +2 -0
  804. package/PubSub/dist/effect-PubSub.cjs.d.ts.map +1 -0
  805. package/PubSub/dist/effect-PubSub.cjs.dev.js +1326 -0
  806. package/PubSub/dist/effect-PubSub.cjs.js +7 -0
  807. package/PubSub/dist/effect-PubSub.cjs.mjs +16 -0
  808. package/PubSub/dist/effect-PubSub.cjs.prod.js +1326 -0
  809. package/PubSub/dist/effect-PubSub.esm.js +148 -0
  810. package/PubSub/package.json +4 -0
  811. package/Queue/dist/effect-Queue.cjs.d.mts +2 -0
  812. package/Queue/dist/effect-Queue.cjs.d.mts.map +1 -0
  813. package/Queue/dist/effect-Queue.cjs.d.ts +2 -0
  814. package/Queue/dist/effect-Queue.cjs.d.ts.map +1 -0
  815. package/Queue/dist/effect-Queue.cjs.dev.js +433 -0
  816. package/Queue/dist/effect-Queue.cjs.js +7 -0
  817. package/Queue/dist/effect-Queue.cjs.mjs +32 -0
  818. package/Queue/dist/effect-Queue.cjs.prod.js +433 -0
  819. package/Queue/dist/effect-Queue.esm.js +328 -0
  820. package/Queue/package.json +4 -0
  821. package/README.md +48 -14
  822. package/Random/dist/effect-Random.cjs.d.mts +2 -0
  823. package/Random/dist/effect-Random.cjs.d.mts.map +1 -0
  824. package/Random/dist/effect-Random.cjs.d.ts +2 -0
  825. package/Random/dist/effect-Random.cjs.d.ts.map +1 -0
  826. package/Random/dist/effect-Random.cjs.dev.js +133 -0
  827. package/Random/dist/effect-Random.cjs.js +7 -0
  828. package/Random/dist/effect-Random.cjs.mjs +10 -0
  829. package/Random/dist/effect-Random.cjs.prod.js +133 -0
  830. package/Random/dist/effect-Random.esm.js +83 -0
  831. package/Random/package.json +4 -0
  832. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.d.mts +2 -0
  833. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.d.mts.map +1 -0
  834. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.d.ts +2 -0
  835. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.d.ts.map +1 -0
  836. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.dev.js +1589 -0
  837. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.js +7 -0
  838. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.mjs +136 -0
  839. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.prod.js +1589 -0
  840. package/ReadonlyArray/dist/effect-ReadonlyArray.esm.js +1443 -0
  841. package/ReadonlyArray/package.json +4 -0
  842. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.d.mts +2 -0
  843. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.d.mts.map +1 -0
  844. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.d.ts +2 -0
  845. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.d.ts.map +1 -0
  846. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.dev.js +798 -0
  847. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.js +7 -0
  848. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.mjs +37 -0
  849. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.prod.js +798 -0
  850. package/ReadonlyRecord/dist/effect-ReadonlyRecord.esm.js +749 -0
  851. package/ReadonlyRecord/package.json +4 -0
  852. package/RedBlackTree/dist/effect-RedBlackTree.cjs.d.mts +2 -0
  853. package/RedBlackTree/dist/effect-RedBlackTree.cjs.d.mts.map +1 -0
  854. package/RedBlackTree/dist/effect-RedBlackTree.cjs.d.ts +2 -0
  855. package/RedBlackTree/dist/effect-RedBlackTree.cjs.d.ts.map +1 -0
  856. package/RedBlackTree/dist/effect-RedBlackTree.cjs.dev.js +1642 -0
  857. package/RedBlackTree/dist/effect-RedBlackTree.cjs.js +7 -0
  858. package/RedBlackTree/dist/effect-RedBlackTree.cjs.mjs +37 -0
  859. package/RedBlackTree/dist/effect-RedBlackTree.cjs.prod.js +1642 -0
  860. package/RedBlackTree/dist/effect-RedBlackTree.esm.js +314 -0
  861. package/RedBlackTree/package.json +4 -0
  862. package/Ref/dist/effect-Ref.cjs.d.mts +2 -0
  863. package/Ref/dist/effect-Ref.cjs.d.mts.map +1 -0
  864. package/Ref/dist/effect-Ref.cjs.d.ts +2 -0
  865. package/Ref/dist/effect-Ref.cjs.d.ts.map +1 -0
  866. package/Ref/dist/effect-Ref.cjs.dev.js +54 -0
  867. package/Ref/dist/effect-Ref.cjs.js +7 -0
  868. package/Ref/dist/effect-Ref.cjs.mjs +17 -0
  869. package/Ref/dist/effect-Ref.cjs.prod.js +54 -0
  870. package/Ref/dist/effect-Ref.esm.js +111 -0
  871. package/Ref/package.json +4 -0
  872. package/Reloadable/dist/effect-Reloadable.cjs.d.mts +2 -0
  873. package/Reloadable/dist/effect-Reloadable.cjs.d.mts.map +1 -0
  874. package/Reloadable/dist/effect-Reloadable.cjs.d.ts +2 -0
  875. package/Reloadable/dist/effect-Reloadable.cjs.d.ts.map +1 -0
  876. package/Reloadable/dist/effect-Reloadable.cjs.dev.js +232 -0
  877. package/Reloadable/dist/effect-Reloadable.cjs.js +7 -0
  878. package/Reloadable/dist/effect-Reloadable.cjs.mjs +10 -0
  879. package/Reloadable/dist/effect-Reloadable.cjs.prod.js +232 -0
  880. package/Reloadable/dist/effect-Reloadable.esm.js +88 -0
  881. package/Reloadable/package.json +4 -0
  882. package/Request/dist/effect-Request.cjs.d.mts +2 -0
  883. package/Request/dist/effect-Request.cjs.d.mts.map +1 -0
  884. package/Request/dist/effect-Request.cjs.d.ts +2 -0
  885. package/Request/dist/effect-Request.cjs.d.ts.map +1 -0
  886. package/Request/dist/effect-Request.cjs.dev.js +244 -0
  887. package/Request/dist/effect-Request.cjs.js +7 -0
  888. package/Request/dist/effect-Request.cjs.mjs +15 -0
  889. package/Request/dist/effect-Request.cjs.prod.js +244 -0
  890. package/Request/dist/effect-Request.esm.js +160 -0
  891. package/Request/package.json +4 -0
  892. package/RequestBlock/dist/effect-RequestBlock.cjs.d.mts +2 -0
  893. package/RequestBlock/dist/effect-RequestBlock.cjs.d.mts.map +1 -0
  894. package/RequestBlock/dist/effect-RequestBlock.cjs.d.ts +2 -0
  895. package/RequestBlock/dist/effect-RequestBlock.cjs.d.ts.map +1 -0
  896. package/RequestBlock/dist/effect-RequestBlock.cjs.dev.js +199 -0
  897. package/RequestBlock/dist/effect-RequestBlock.cjs.js +7 -0
  898. package/RequestBlock/dist/effect-RequestBlock.cjs.mjs +10 -0
  899. package/RequestBlock/dist/effect-RequestBlock.cjs.prod.js +199 -0
  900. package/RequestBlock/dist/effect-RequestBlock.esm.js +103 -0
  901. package/RequestBlock/package.json +4 -0
  902. package/RequestResolver/dist/effect-RequestResolver.cjs.d.mts +2 -0
  903. package/RequestResolver/dist/effect-RequestResolver.cjs.d.mts.map +1 -0
  904. package/RequestResolver/dist/effect-RequestResolver.cjs.d.ts +2 -0
  905. package/RequestResolver/dist/effect-RequestResolver.cjs.d.ts.map +1 -0
  906. package/RequestResolver/dist/effect-RequestResolver.cjs.dev.js +296 -0
  907. package/RequestResolver/dist/effect-RequestResolver.cjs.js +7 -0
  908. package/RequestResolver/dist/effect-RequestResolver.cjs.mjs +20 -0
  909. package/RequestResolver/dist/effect-RequestResolver.cjs.prod.js +296 -0
  910. package/RequestResolver/dist/effect-RequestResolver.esm.js +191 -0
  911. package/RequestResolver/package.json +4 -0
  912. package/Resource/dist/effect-Resource.cjs.d.mts +2 -0
  913. package/Resource/dist/effect-Resource.cjs.d.mts.map +1 -0
  914. package/Resource/dist/effect-Resource.cjs.d.ts +2 -0
  915. package/Resource/dist/effect-Resource.cjs.d.ts.map +1 -0
  916. package/Resource/dist/effect-Resource.cjs.dev.js +183 -0
  917. package/Resource/dist/effect-Resource.cjs.js +7 -0
  918. package/Resource/dist/effect-Resource.cjs.mjs +7 -0
  919. package/Resource/dist/effect-Resource.cjs.prod.js +183 -0
  920. package/Resource/dist/effect-Resource.esm.js +70 -0
  921. package/Resource/package.json +4 -0
  922. package/Runtime/dist/effect-Runtime.cjs.d.mts +2 -0
  923. package/Runtime/dist/effect-Runtime.cjs.d.mts.map +1 -0
  924. package/Runtime/dist/effect-Runtime.cjs.d.ts +2 -0
  925. package/Runtime/dist/effect-Runtime.cjs.d.ts.map +1 -0
  926. package/Runtime/dist/effect-Runtime.cjs.dev.js +251 -0
  927. package/Runtime/dist/effect-Runtime.cjs.js +7 -0
  928. package/Runtime/dist/effect-Runtime.cjs.mjs +16 -0
  929. package/Runtime/dist/effect-Runtime.cjs.prod.js +251 -0
  930. package/Runtime/dist/effect-Runtime.esm.js +157 -0
  931. package/Runtime/package.json +4 -0
  932. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.d.mts +2 -0
  933. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.d.mts.map +1 -0
  934. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.d.ts +2 -0
  935. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.d.ts.map +1 -0
  936. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.dev.js +424 -0
  937. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.js +7 -0
  938. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.mjs +37 -0
  939. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.prod.js +424 -0
  940. package/RuntimeFlags/dist/effect-RuntimeFlags.esm.js +305 -0
  941. package/RuntimeFlags/package.json +4 -0
  942. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.d.mts +2 -0
  943. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.d.mts.map +1 -0
  944. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.d.ts +2 -0
  945. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.d.ts.map +1 -0
  946. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.dev.js +50 -0
  947. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.js +7 -0
  948. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.mjs +19 -0
  949. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.prod.js +50 -0
  950. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.esm.js +158 -0
  951. package/RuntimeFlagsPatch/package.json +4 -0
  952. package/STM/dist/effect-STM.cjs.d.mts +2 -0
  953. package/STM/dist/effect-STM.cjs.d.mts.map +1 -0
  954. package/STM/dist/effect-STM.cjs.d.ts +2 -0
  955. package/STM/dist/effect-STM.cjs.d.ts.map +1 -0
  956. package/STM/dist/effect-STM.cjs.dev.js +1427 -0
  957. package/STM/dist/effect-STM.cjs.js +7 -0
  958. package/STM/dist/effect-STM.cjs.mjs +126 -0
  959. package/STM/dist/effect-STM.cjs.prod.js +1427 -0
  960. package/STM/dist/effect-STM.esm.js +1193 -0
  961. package/STM/package.json +4 -0
  962. package/Schedule/dist/effect-Schedule.cjs.d.mts +2 -0
  963. package/Schedule/dist/effect-Schedule.cjs.d.mts.map +1 -0
  964. package/Schedule/dist/effect-Schedule.cjs.d.ts +2 -0
  965. package/Schedule/dist/effect-Schedule.cjs.d.ts.map +1 -0
  966. package/Schedule/dist/effect-Schedule.cjs.dev.js +1113 -0
  967. package/Schedule/dist/effect-Schedule.cjs.js +7 -0
  968. package/Schedule/dist/effect-Schedule.cjs.mjs +100 -0
  969. package/Schedule/dist/effect-Schedule.cjs.prod.js +1113 -0
  970. package/Schedule/dist/effect-Schedule.esm.js +957 -0
  971. package/Schedule/package.json +4 -0
  972. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.d.mts +2 -0
  973. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.d.mts.map +1 -0
  974. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.d.ts +2 -0
  975. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.d.ts.map +1 -0
  976. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.dev.js +118 -0
  977. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.js +7 -0
  978. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.mjs +7 -0
  979. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.prod.js +118 -0
  980. package/ScheduleDecision/dist/effect-ScheduleDecision.esm.js +48 -0
  981. package/ScheduleDecision/package.json +4 -0
  982. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.d.mts +2 -0
  983. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.d.mts.map +1 -0
  984. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.d.ts +2 -0
  985. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.d.ts.map +1 -0
  986. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.dev.js +240 -0
  987. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.js +7 -0
  988. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.mjs +15 -0
  989. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.prod.js +240 -0
  990. package/ScheduleInterval/dist/effect-ScheduleInterval.esm.js +130 -0
  991. package/ScheduleInterval/package.json +4 -0
  992. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.d.mts +2 -0
  993. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.d.mts.map +1 -0
  994. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.d.ts +2 -0
  995. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.d.ts.map +1 -0
  996. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.dev.js +268 -0
  997. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.js +7 -0
  998. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.mjs +13 -0
  999. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.prod.js +268 -0
  1000. package/ScheduleIntervals/dist/effect-ScheduleIntervals.esm.js +105 -0
  1001. package/ScheduleIntervals/package.json +4 -0
  1002. package/Scheduler/dist/effect-Scheduler.cjs.d.mts +2 -0
  1003. package/Scheduler/dist/effect-Scheduler.cjs.d.mts.map +1 -0
  1004. package/Scheduler/dist/effect-Scheduler.cjs.d.ts +2 -0
  1005. package/Scheduler/dist/effect-Scheduler.cjs.d.ts.map +1 -0
  1006. package/Scheduler/dist/effect-Scheduler.cjs.dev.js +370 -0
  1007. package/Scheduler/dist/effect-Scheduler.cjs.js +7 -0
  1008. package/Scheduler/dist/effect-Scheduler.cjs.mjs +15 -0
  1009. package/Scheduler/dist/effect-Scheduler.cjs.prod.js +370 -0
  1010. package/Scheduler/dist/effect-Scheduler.esm.js +326 -0
  1011. package/Scheduler/package.json +4 -0
  1012. package/Scope/dist/effect-Scope.cjs.d.mts +2 -0
  1013. package/Scope/dist/effect-Scope.cjs.d.mts.map +1 -0
  1014. package/Scope/dist/effect-Scope.cjs.d.ts +2 -0
  1015. package/Scope/dist/effect-Scope.cjs.d.ts.map +1 -0
  1016. package/Scope/dist/effect-Scope.cjs.dev.js +198 -0
  1017. package/Scope/dist/effect-Scope.cjs.js +7 -0
  1018. package/Scope/dist/effect-Scope.cjs.mjs +12 -0
  1019. package/Scope/dist/effect-Scope.cjs.prod.js +198 -0
  1020. package/Scope/dist/effect-Scope.esm.js +117 -0
  1021. package/Scope/package.json +4 -0
  1022. package/ScopedCache/dist/effect-ScopedCache.cjs.d.mts +2 -0
  1023. package/ScopedCache/dist/effect-ScopedCache.cjs.d.mts.map +1 -0
  1024. package/ScopedCache/dist/effect-ScopedCache.cjs.d.ts +2 -0
  1025. package/ScopedCache/dist/effect-ScopedCache.cjs.d.ts.map +1 -0
  1026. package/ScopedCache/dist/effect-ScopedCache.cjs.dev.js +533 -0
  1027. package/ScopedCache/dist/effect-ScopedCache.cjs.js +7 -0
  1028. package/ScopedCache/dist/effect-ScopedCache.cjs.mjs +5 -0
  1029. package/ScopedCache/dist/effect-ScopedCache.cjs.prod.js +533 -0
  1030. package/ScopedCache/dist/effect-ScopedCache.esm.js +52 -0
  1031. package/ScopedCache/package.json +4 -0
  1032. package/ScopedRef/dist/effect-ScopedRef.cjs.d.mts +2 -0
  1033. package/ScopedRef/dist/effect-ScopedRef.cjs.d.mts.map +1 -0
  1034. package/ScopedRef/dist/effect-ScopedRef.cjs.d.ts +2 -0
  1035. package/ScopedRef/dist/effect-ScopedRef.cjs.d.ts.map +1 -0
  1036. package/ScopedRef/dist/effect-ScopedRef.cjs.dev.js +156 -0
  1037. package/ScopedRef/dist/effect-ScopedRef.cjs.js +7 -0
  1038. package/ScopedRef/dist/effect-ScopedRef.cjs.mjs +7 -0
  1039. package/ScopedRef/dist/effect-ScopedRef.cjs.prod.js +156 -0
  1040. package/ScopedRef/dist/effect-ScopedRef.esm.js +71 -0
  1041. package/ScopedRef/package.json +4 -0
  1042. package/Sink/dist/effect-Sink.cjs.d.mts +2 -0
  1043. package/Sink/dist/effect-Sink.cjs.d.mts.map +1 -0
  1044. package/Sink/dist/effect-Sink.cjs.d.ts +2 -0
  1045. package/Sink/dist/effect-Sink.cjs.d.ts.map +1 -0
  1046. package/Sink/dist/effect-Sink.cjs.dev.js +1205 -0
  1047. package/Sink/dist/effect-Sink.cjs.js +7 -0
  1048. package/Sink/dist/effect-Sink.cjs.mjs +108 -0
  1049. package/Sink/dist/effect-Sink.cjs.prod.js +1205 -0
  1050. package/Sink/dist/effect-Sink.esm.js +997 -0
  1051. package/Sink/package.json +4 -0
  1052. package/SortedMap/dist/effect-SortedMap.cjs.d.mts +2 -0
  1053. package/SortedMap/dist/effect-SortedMap.cjs.d.mts.map +1 -0
  1054. package/SortedMap/dist/effect-SortedMap.cjs.d.ts +2 -0
  1055. package/SortedMap/dist/effect-SortedMap.cjs.d.ts.map +1 -0
  1056. package/SortedMap/dist/effect-SortedMap.cjs.dev.js +202 -0
  1057. package/SortedMap/dist/effect-SortedMap.cjs.js +7 -0
  1058. package/SortedMap/dist/effect-SortedMap.cjs.mjs +20 -0
  1059. package/SortedMap/dist/effect-SortedMap.cjs.prod.js +202 -0
  1060. package/SortedMap/dist/effect-SortedMap.esm.js +168 -0
  1061. package/SortedMap/package.json +4 -0
  1062. package/SortedSet/dist/effect-SortedSet.cjs.d.mts +2 -0
  1063. package/SortedSet/dist/effect-SortedSet.cjs.d.mts.map +1 -0
  1064. package/SortedSet/dist/effect-SortedSet.cjs.d.ts +2 -0
  1065. package/SortedSet/dist/effect-SortedSet.cjs.d.ts.map +1 -0
  1066. package/SortedSet/dist/effect-SortedSet.cjs.dev.js +301 -0
  1067. package/SortedSet/dist/effect-SortedSet.cjs.js +7 -0
  1068. package/SortedSet/dist/effect-SortedSet.cjs.mjs +23 -0
  1069. package/SortedSet/dist/effect-SortedSet.cjs.prod.js +301 -0
  1070. package/SortedSet/dist/effect-SortedSet.esm.js +263 -0
  1071. package/SortedSet/package.json +4 -0
  1072. package/Stream/dist/effect-Stream.cjs.d.mts +2 -0
  1073. package/Stream/dist/effect-Stream.cjs.d.mts.map +1 -0
  1074. package/Stream/dist/effect-Stream.cjs.d.ts +2 -0
  1075. package/Stream/dist/effect-Stream.cjs.d.ts.map +1 -0
  1076. package/Stream/dist/effect-Stream.cjs.dev.js +3279 -0
  1077. package/Stream/dist/effect-Stream.cjs.js +7 -0
  1078. package/Stream/dist/effect-Stream.cjs.mjs +294 -0
  1079. package/Stream/dist/effect-Stream.cjs.prod.js +3279 -0
  1080. package/Stream/dist/effect-Stream.esm.js +2879 -0
  1081. package/Stream/package.json +4 -0
  1082. package/StreamEmit/dist/effect-StreamEmit.cjs.d.mts +2 -0
  1083. package/StreamEmit/dist/effect-StreamEmit.cjs.d.mts.map +1 -0
  1084. package/StreamEmit/dist/effect-StreamEmit.cjs.d.ts +2 -0
  1085. package/StreamEmit/dist/effect-StreamEmit.cjs.d.ts.map +1 -0
  1086. package/StreamEmit/dist/effect-StreamEmit.cjs.dev.js +2 -0
  1087. package/StreamEmit/dist/effect-StreamEmit.cjs.js +7 -0
  1088. package/StreamEmit/dist/effect-StreamEmit.cjs.mjs +1 -0
  1089. package/StreamEmit/dist/effect-StreamEmit.cjs.prod.js +2 -0
  1090. package/StreamEmit/dist/effect-StreamEmit.esm.js +1 -0
  1091. package/StreamEmit/package.json +4 -0
  1092. package/StreamHaltStrategy/dist/effect-StreamHaltStrategy.cjs.d.mts +2 -0
  1093. package/StreamHaltStrategy/dist/effect-StreamHaltStrategy.cjs.d.mts.map +1 -0
  1094. package/StreamHaltStrategy/dist/effect-StreamHaltStrategy.cjs.d.ts +2 -0
  1095. package/StreamHaltStrategy/dist/effect-StreamHaltStrategy.cjs.d.ts.map +1 -0
  1096. package/StreamHaltStrategy/dist/effect-StreamHaltStrategy.cjs.dev.js +19 -0
  1097. package/StreamHaltStrategy/dist/effect-StreamHaltStrategy.cjs.js +7 -0
  1098. package/StreamHaltStrategy/dist/effect-StreamHaltStrategy.cjs.mjs +12 -0
  1099. package/StreamHaltStrategy/dist/effect-StreamHaltStrategy.cjs.prod.js +19 -0
  1100. package/StreamHaltStrategy/dist/effect-StreamHaltStrategy.esm.js +97 -0
  1101. package/StreamHaltStrategy/package.json +4 -0
  1102. package/Streamable/dist/effect-Streamable.cjs.d.mts +2 -0
  1103. package/Streamable/dist/effect-Streamable.cjs.d.mts.map +1 -0
  1104. package/Streamable/dist/effect-Streamable.cjs.d.ts +2 -0
  1105. package/Streamable/dist/effect-Streamable.cjs.d.ts.map +1 -0
  1106. package/Streamable/dist/effect-Streamable.cjs.dev.js +152 -0
  1107. package/Streamable/dist/effect-Streamable.cjs.js +7 -0
  1108. package/Streamable/dist/effect-Streamable.cjs.mjs +3 -0
  1109. package/Streamable/dist/effect-Streamable.cjs.prod.js +152 -0
  1110. package/Streamable/dist/effect-Streamable.esm.js +42 -0
  1111. package/Streamable/package.json +4 -0
  1112. package/String/dist/effect-String.cjs.d.mts +2 -0
  1113. package/String/dist/effect-String.cjs.d.mts.map +1 -0
  1114. package/String/dist/effect-String.cjs.d.ts +2 -0
  1115. package/String/dist/effect-String.cjs.d.ts.map +1 -0
  1116. package/String/dist/effect-String.cjs.dev.js +656 -0
  1117. package/String/dist/effect-String.cjs.js +7 -0
  1118. package/String/dist/effect-String.cjs.mjs +46 -0
  1119. package/String/dist/effect-String.cjs.prod.js +656 -0
  1120. package/String/dist/effect-String.esm.js +600 -0
  1121. package/String/package.json +4 -0
  1122. package/Struct/dist/effect-Struct.cjs.d.mts +2 -0
  1123. package/Struct/dist/effect-Struct.cjs.d.mts.map +1 -0
  1124. package/Struct/dist/effect-Struct.cjs.d.ts +2 -0
  1125. package/Struct/dist/effect-Struct.cjs.d.ts.map +1 -0
  1126. package/Struct/dist/effect-Struct.cjs.dev.js +132 -0
  1127. package/Struct/dist/effect-Struct.cjs.js +7 -0
  1128. package/Struct/dist/effect-Struct.cjs.mjs +7 -0
  1129. package/Struct/dist/effect-Struct.cjs.prod.js +132 -0
  1130. package/Struct/dist/effect-Struct.esm.js +124 -0
  1131. package/Struct/package.json +4 -0
  1132. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.d.mts +2 -0
  1133. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.d.mts.map +1 -0
  1134. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.d.ts +2 -0
  1135. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.d.ts.map +1 -0
  1136. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.dev.js +343 -0
  1137. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.js +7 -0
  1138. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.mjs +24 -0
  1139. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.prod.js +343 -0
  1140. package/SubscriptionRef/dist/effect-SubscriptionRef.esm.js +160 -0
  1141. package/SubscriptionRef/package.json +4 -0
  1142. package/Supervisor/dist/effect-Supervisor.cjs.d.mts +2 -0
  1143. package/Supervisor/dist/effect-Supervisor.cjs.d.mts.map +1 -0
  1144. package/Supervisor/dist/effect-Supervisor.cjs.d.ts +2 -0
  1145. package/Supervisor/dist/effect-Supervisor.cjs.d.ts.map +1 -0
  1146. package/Supervisor/dist/effect-Supervisor.cjs.dev.js +239 -0
  1147. package/Supervisor/dist/effect-Supervisor.cjs.js +7 -0
  1148. package/Supervisor/dist/effect-Supervisor.cjs.mjs +10 -0
  1149. package/Supervisor/dist/effect-Supervisor.cjs.prod.js +239 -0
  1150. package/Supervisor/dist/effect-Supervisor.esm.js +148 -0
  1151. package/Supervisor/package.json +4 -0
  1152. package/Symbol/dist/effect-Symbol.cjs.d.mts +2 -0
  1153. package/Symbol/dist/effect-Symbol.cjs.d.mts.map +1 -0
  1154. package/Symbol/dist/effect-Symbol.cjs.d.ts +2 -0
  1155. package/Symbol/dist/effect-Symbol.cjs.d.ts.map +1 -0
  1156. package/Symbol/dist/effect-Symbol.cjs.dev.js +36 -0
  1157. package/Symbol/dist/effect-Symbol.cjs.js +7 -0
  1158. package/Symbol/dist/effect-Symbol.cjs.mjs +4 -0
  1159. package/Symbol/dist/effect-Symbol.cjs.prod.js +36 -0
  1160. package/Symbol/dist/effect-Symbol.esm.js +30 -0
  1161. package/Symbol/package.json +4 -0
  1162. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.d.mts +2 -0
  1163. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.d.mts.map +1 -0
  1164. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.d.ts +2 -0
  1165. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.d.ts.map +1 -0
  1166. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.dev.js +260 -0
  1167. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.js +7 -0
  1168. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.mjs +25 -0
  1169. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.prod.js +260 -0
  1170. package/SynchronizedRef/dist/effect-SynchronizedRef.esm.js +160 -0
  1171. package/SynchronizedRef/package.json +4 -0
  1172. package/TArray/dist/effect-TArray.cjs.d.mts +2 -0
  1173. package/TArray/dist/effect-TArray.cjs.d.mts.map +1 -0
  1174. package/TArray/dist/effect-TArray.cjs.d.ts +2 -0
  1175. package/TArray/dist/effect-TArray.cjs.d.ts.map +1 -0
  1176. package/TArray/dist/effect-TArray.cjs.dev.js +523 -0
  1177. package/TArray/dist/effect-TArray.cjs.js +7 -0
  1178. package/TArray/dist/effect-TArray.cjs.mjs +43 -0
  1179. package/TArray/dist/effect-TArray.cjs.prod.js +523 -0
  1180. package/TArray/dist/effect-TArray.esm.js +367 -0
  1181. package/TArray/package.json +4 -0
  1182. package/TDeferred/dist/effect-TDeferred.cjs.d.mts +2 -0
  1183. package/TDeferred/dist/effect-TDeferred.cjs.d.mts.map +1 -0
  1184. package/TDeferred/dist/effect-TDeferred.cjs.d.ts +2 -0
  1185. package/TDeferred/dist/effect-TDeferred.cjs.d.ts.map +1 -0
  1186. package/TDeferred/dist/effect-TDeferred.cjs.dev.js +225 -0
  1187. package/TDeferred/dist/effect-TDeferred.cjs.js +7 -0
  1188. package/TDeferred/dist/effect-TDeferred.cjs.mjs +9 -0
  1189. package/TDeferred/dist/effect-TDeferred.cjs.prod.js +225 -0
  1190. package/TDeferred/dist/effect-TDeferred.esm.js +63 -0
  1191. package/TDeferred/package.json +4 -0
  1192. package/TMap/dist/effect-TMap.cjs.d.mts +2 -0
  1193. package/TMap/dist/effect-TMap.cjs.d.mts.map +1 -0
  1194. package/TMap/dist/effect-TMap.cjs.d.ts +2 -0
  1195. package/TMap/dist/effect-TMap.cjs.d.ts.map +1 -0
  1196. package/TMap/dist/effect-TMap.cjs.dev.js +532 -0
  1197. package/TMap/dist/effect-TMap.cjs.js +7 -0
  1198. package/TMap/dist/effect-TMap.cjs.mjs +44 -0
  1199. package/TMap/dist/effect-TMap.cjs.prod.js +532 -0
  1200. package/TMap/dist/effect-TMap.esm.js +373 -0
  1201. package/TMap/package.json +4 -0
  1202. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.d.mts +2 -0
  1203. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.d.mts.map +1 -0
  1204. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.d.ts +2 -0
  1205. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.d.ts.map +1 -0
  1206. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.dev.js +465 -0
  1207. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.js +7 -0
  1208. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.mjs +21 -0
  1209. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.prod.js +465 -0
  1210. package/TPriorityQueue/dist/effect-TPriorityQueue.esm.js +184 -0
  1211. package/TPriorityQueue/package.json +4 -0
  1212. package/TPubSub/dist/effect-TPubSub.cjs.d.mts +2 -0
  1213. package/TPubSub/dist/effect-TPubSub.cjs.d.mts.map +1 -0
  1214. package/TPubSub/dist/effect-TPubSub.cjs.d.ts +2 -0
  1215. package/TPubSub/dist/effect-TPubSub.cjs.d.ts.map +1 -0
  1216. package/TPubSub/dist/effect-TPubSub.cjs.dev.js +657 -0
  1217. package/TPubSub/dist/effect-TPubSub.cjs.js +7 -0
  1218. package/TPubSub/dist/effect-TPubSub.cjs.mjs +17 -0
  1219. package/TPubSub/dist/effect-TPubSub.cjs.prod.js +657 -0
  1220. package/TPubSub/dist/effect-TPubSub.esm.js +157 -0
  1221. package/TPubSub/package.json +4 -0
  1222. package/TQueue/dist/effect-TQueue.cjs.d.mts +2 -0
  1223. package/TQueue/dist/effect-TQueue.cjs.d.mts.map +1 -0
  1224. package/TQueue/dist/effect-TQueue.cjs.d.ts +2 -0
  1225. package/TQueue/dist/effect-TQueue.cjs.d.ts.map +1 -0
  1226. package/TQueue/dist/effect-TQueue.cjs.dev.js +436 -0
  1227. package/TQueue/dist/effect-TQueue.cjs.js +7 -0
  1228. package/TQueue/dist/effect-TQueue.cjs.mjs +29 -0
  1229. package/TQueue/dist/effect-TQueue.cjs.prod.js +436 -0
  1230. package/TQueue/dist/effect-TQueue.esm.js +293 -0
  1231. package/TQueue/package.json +4 -0
  1232. package/TRandom/dist/effect-TRandom.cjs.d.mts +2 -0
  1233. package/TRandom/dist/effect-TRandom.cjs.d.mts.map +1 -0
  1234. package/TRandom/dist/effect-TRandom.cjs.d.ts +2 -0
  1235. package/TRandom/dist/effect-TRandom.cjs.d.ts.map +1 -0
  1236. package/TRandom/dist/effect-TRandom.cjs.dev.js +296 -0
  1237. package/TRandom/dist/effect-TRandom.cjs.js +7 -0
  1238. package/TRandom/dist/effect-TRandom.cjs.mjs +11 -0
  1239. package/TRandom/dist/effect-TRandom.cjs.prod.js +296 -0
  1240. package/TRandom/dist/effect-TRandom.esm.js +93 -0
  1241. package/TRandom/package.json +4 -0
  1242. package/TReentrantLock/dist/effect-TReentrantLock.cjs.d.mts +2 -0
  1243. package/TReentrantLock/dist/effect-TReentrantLock.cjs.d.mts.map +1 -0
  1244. package/TReentrantLock/dist/effect-TReentrantLock.cjs.d.ts +2 -0
  1245. package/TReentrantLock/dist/effect-TReentrantLock.cjs.d.ts.map +1 -0
  1246. package/TReentrantLock/dist/effect-TReentrantLock.cjs.dev.js +537 -0
  1247. package/TReentrantLock/dist/effect-TReentrantLock.cjs.js +7 -0
  1248. package/TReentrantLock/dist/effect-TReentrantLock.cjs.mjs +21 -0
  1249. package/TReentrantLock/dist/effect-TReentrantLock.cjs.prod.js +537 -0
  1250. package/TReentrantLock/dist/effect-TReentrantLock.esm.js +199 -0
  1251. package/TReentrantLock/package.json +4 -0
  1252. package/TRef/dist/effect-TRef.cjs.d.mts +2 -0
  1253. package/TRef/dist/effect-TRef.cjs.d.mts.map +1 -0
  1254. package/TRef/dist/effect-TRef.cjs.d.ts +2 -0
  1255. package/TRef/dist/effect-TRef.cjs.d.ts.map +1 -0
  1256. package/TRef/dist/effect-TRef.cjs.dev.js +244 -0
  1257. package/TRef/dist/effect-TRef.cjs.js +7 -0
  1258. package/TRef/dist/effect-TRef.cjs.mjs +16 -0
  1259. package/TRef/dist/effect-TRef.cjs.prod.js +244 -0
  1260. package/TRef/dist/effect-TRef.esm.js +117 -0
  1261. package/TRef/package.json +4 -0
  1262. package/TSemaphore/dist/effect-TSemaphore.cjs.d.mts +2 -0
  1263. package/TSemaphore/dist/effect-TSemaphore.cjs.d.mts.map +1 -0
  1264. package/TSemaphore/dist/effect-TSemaphore.cjs.d.ts +2 -0
  1265. package/TSemaphore/dist/effect-TSemaphore.cjs.d.ts.map +1 -0
  1266. package/TSemaphore/dist/effect-TSemaphore.cjs.dev.js +289 -0
  1267. package/TSemaphore/dist/effect-TSemaphore.cjs.js +7 -0
  1268. package/TSemaphore/dist/effect-TSemaphore.cjs.mjs +14 -0
  1269. package/TSemaphore/dist/effect-TSemaphore.cjs.prod.js +289 -0
  1270. package/TSemaphore/dist/effect-TSemaphore.esm.js +97 -0
  1271. package/TSemaphore/package.json +4 -0
  1272. package/TSet/dist/effect-TSet.cjs.d.mts +2 -0
  1273. package/TSet/dist/effect-TSet.cjs.d.mts.map +1 -0
  1274. package/TSet/dist/effect-TSet.cjs.d.ts +2 -0
  1275. package/TSet/dist/effect-TSet.cjs.d.ts.map +1 -0
  1276. package/TSet/dist/effect-TSet.cjs.dev.js +521 -0
  1277. package/TSet/dist/effect-TSet.cjs.js +7 -0
  1278. package/TSet/dist/effect-TSet.cjs.mjs +32 -0
  1279. package/TSet/dist/effect-TSet.cjs.prod.js +521 -0
  1280. package/TSet/dist/effect-TSet.esm.js +268 -0
  1281. package/TSet/package.json +4 -0
  1282. package/Take/dist/effect-Take.cjs.d.mts +2 -0
  1283. package/Take/dist/effect-Take.cjs.d.mts.map +1 -0
  1284. package/Take/dist/effect-Take.cjs.d.ts +2 -0
  1285. package/Take/dist/effect-Take.cjs.d.ts.map +1 -0
  1286. package/Take/dist/effect-Take.cjs.dev.js +300 -0
  1287. package/Take/dist/effect-Take.cjs.js +7 -0
  1288. package/Take/dist/effect-Take.cjs.mjs +22 -0
  1289. package/Take/dist/effect-Take.cjs.prod.js +300 -0
  1290. package/Take/dist/effect-Take.esm.js +190 -0
  1291. package/Take/package.json +4 -0
  1292. package/TestAnnotation/dist/effect-TestAnnotation.cjs.d.mts +2 -0
  1293. package/TestAnnotation/dist/effect-TestAnnotation.cjs.d.mts.map +1 -0
  1294. package/TestAnnotation/dist/effect-TestAnnotation.cjs.d.ts +2 -0
  1295. package/TestAnnotation/dist/effect-TestAnnotation.cjs.d.ts.map +1 -0
  1296. package/TestAnnotation/dist/effect-TestAnnotation.cjs.dev.js +140 -0
  1297. package/TestAnnotation/dist/effect-TestAnnotation.cjs.js +7 -0
  1298. package/TestAnnotation/dist/effect-TestAnnotation.cjs.mjs +11 -0
  1299. package/TestAnnotation/dist/effect-TestAnnotation.cjs.prod.js +140 -0
  1300. package/TestAnnotation/dist/effect-TestAnnotation.esm.js +111 -0
  1301. package/TestAnnotation/package.json +4 -0
  1302. package/TestAnnotationMap/dist/effect-TestAnnotationMap.cjs.d.mts +2 -0
  1303. package/TestAnnotationMap/dist/effect-TestAnnotationMap.cjs.d.mts.map +1 -0
  1304. package/TestAnnotationMap/dist/effect-TestAnnotationMap.cjs.d.ts +2 -0
  1305. package/TestAnnotationMap/dist/effect-TestAnnotationMap.cjs.d.ts.map +1 -0
  1306. package/TestAnnotationMap/dist/effect-TestAnnotationMap.cjs.dev.js +113 -0
  1307. package/TestAnnotationMap/dist/effect-TestAnnotationMap.cjs.js +7 -0
  1308. package/TestAnnotationMap/dist/effect-TestAnnotationMap.cjs.mjs +11 -0
  1309. package/TestAnnotationMap/dist/effect-TestAnnotationMap.cjs.prod.js +113 -0
  1310. package/TestAnnotationMap/dist/effect-TestAnnotationMap.esm.js +101 -0
  1311. package/TestAnnotationMap/package.json +4 -0
  1312. package/TestAnnotations/dist/effect-TestAnnotations.cjs.d.mts +2 -0
  1313. package/TestAnnotations/dist/effect-TestAnnotations.cjs.d.mts.map +1 -0
  1314. package/TestAnnotations/dist/effect-TestAnnotations.cjs.d.ts +2 -0
  1315. package/TestAnnotations/dist/effect-TestAnnotations.cjs.d.ts.map +1 -0
  1316. package/TestAnnotations/dist/effect-TestAnnotations.cjs.dev.js +136 -0
  1317. package/TestAnnotations/dist/effect-TestAnnotations.cjs.js +7 -0
  1318. package/TestAnnotations/dist/effect-TestAnnotations.cjs.mjs +6 -0
  1319. package/TestAnnotations/dist/effect-TestAnnotations.cjs.prod.js +136 -0
  1320. package/TestAnnotations/dist/effect-TestAnnotations.esm.js +83 -0
  1321. package/TestAnnotations/package.json +4 -0
  1322. package/TestClock/dist/effect-TestClock.cjs.d.mts +2 -0
  1323. package/TestClock/dist/effect-TestClock.cjs.d.mts.map +1 -0
  1324. package/TestClock/dist/effect-TestClock.cjs.d.ts +2 -0
  1325. package/TestClock/dist/effect-TestClock.cjs.d.ts.map +1 -0
  1326. package/TestClock/dist/effect-TestClock.cjs.dev.js +630 -0
  1327. package/TestClock/dist/effect-TestClock.cjs.js +7 -0
  1328. package/TestClock/dist/effect-TestClock.cjs.mjs +16 -0
  1329. package/TestClock/dist/effect-TestClock.cjs.prod.js +630 -0
  1330. package/TestClock/dist/effect-TestClock.esm.js +411 -0
  1331. package/TestClock/package.json +4 -0
  1332. package/TestConfig/dist/effect-TestConfig.cjs.d.mts +2 -0
  1333. package/TestConfig/dist/effect-TestConfig.cjs.d.mts.map +1 -0
  1334. package/TestConfig/dist/effect-TestConfig.cjs.d.ts +2 -0
  1335. package/TestConfig/dist/effect-TestConfig.cjs.d.ts.map +1 -0
  1336. package/TestConfig/dist/effect-TestConfig.cjs.dev.js +43 -0
  1337. package/TestConfig/dist/effect-TestConfig.cjs.js +7 -0
  1338. package/TestConfig/dist/effect-TestConfig.cjs.mjs +4 -0
  1339. package/TestConfig/dist/effect-TestConfig.cjs.prod.js +43 -0
  1340. package/TestConfig/dist/effect-TestConfig.esm.js +27 -0
  1341. package/TestConfig/package.json +4 -0
  1342. package/TestContext/dist/effect-TestContext.cjs.d.mts +2 -0
  1343. package/TestContext/dist/effect-TestContext.cjs.d.mts.map +1 -0
  1344. package/TestContext/dist/effect-TestContext.cjs.d.ts +2 -0
  1345. package/TestContext/dist/effect-TestContext.cjs.d.ts.map +1 -0
  1346. package/TestContext/dist/effect-TestContext.cjs.dev.js +125 -0
  1347. package/TestContext/dist/effect-TestContext.cjs.js +7 -0
  1348. package/TestContext/dist/effect-TestContext.cjs.mjs +5 -0
  1349. package/TestContext/dist/effect-TestContext.cjs.prod.js +125 -0
  1350. package/TestContext/dist/effect-TestContext.esm.js +29 -0
  1351. package/TestContext/package.json +4 -0
  1352. package/TestLive/dist/effect-TestLive.cjs.d.mts +2 -0
  1353. package/TestLive/dist/effect-TestLive.cjs.d.mts.map +1 -0
  1354. package/TestLive/dist/effect-TestLive.cjs.d.ts +2 -0
  1355. package/TestLive/dist/effect-TestLive.cjs.d.ts.map +1 -0
  1356. package/TestLive/dist/effect-TestLive.cjs.dev.js +92 -0
  1357. package/TestLive/dist/effect-TestLive.cjs.js +7 -0
  1358. package/TestLive/dist/effect-TestLive.cjs.mjs +5 -0
  1359. package/TestLive/dist/effect-TestLive.cjs.prod.js +92 -0
  1360. package/TestLive/dist/effect-TestLive.esm.js +48 -0
  1361. package/TestLive/package.json +4 -0
  1362. package/TestServices/dist/effect-TestServices.cjs.d.mts +2 -0
  1363. package/TestServices/dist/effect-TestServices.cjs.d.mts.map +1 -0
  1364. package/TestServices/dist/effect-TestServices.cjs.d.ts +2 -0
  1365. package/TestServices/dist/effect-TestServices.cjs.d.ts.map +1 -0
  1366. package/TestServices/dist/effect-TestServices.cjs.dev.js +385 -0
  1367. package/TestServices/dist/effect-TestServices.cjs.js +7 -0
  1368. package/TestServices/dist/effect-TestServices.cjs.mjs +35 -0
  1369. package/TestServices/dist/effect-TestServices.cjs.prod.js +385 -0
  1370. package/TestServices/dist/effect-TestServices.esm.js +269 -0
  1371. package/TestServices/package.json +4 -0
  1372. package/TestSized/dist/effect-TestSized.cjs.d.mts +2 -0
  1373. package/TestSized/dist/effect-TestSized.cjs.d.mts.map +1 -0
  1374. package/TestSized/dist/effect-TestSized.cjs.d.ts +2 -0
  1375. package/TestSized/dist/effect-TestSized.cjs.d.ts.map +1 -0
  1376. package/TestSized/dist/effect-TestSized.cjs.dev.js +86 -0
  1377. package/TestSized/dist/effect-TestSized.cjs.js +7 -0
  1378. package/TestSized/dist/effect-TestSized.cjs.mjs +6 -0
  1379. package/TestSized/dist/effect-TestSized.cjs.prod.js +86 -0
  1380. package/TestSized/dist/effect-TestSized.esm.js +50 -0
  1381. package/TestSized/package.json +4 -0
  1382. package/Tracer/dist/effect-Tracer.cjs.d.mts +2 -0
  1383. package/Tracer/dist/effect-Tracer.cjs.d.mts.map +1 -0
  1384. package/Tracer/dist/effect-Tracer.cjs.d.ts +2 -0
  1385. package/Tracer/dist/effect-Tracer.cjs.d.ts.map +1 -0
  1386. package/Tracer/dist/effect-Tracer.cjs.dev.js +123 -0
  1387. package/Tracer/dist/effect-Tracer.cjs.js +7 -0
  1388. package/Tracer/dist/effect-Tracer.cjs.mjs +8 -0
  1389. package/Tracer/dist/effect-Tracer.cjs.prod.js +123 -0
  1390. package/Tracer/dist/effect-Tracer.esm.js +75 -0
  1391. package/Tracer/package.json +4 -0
  1392. package/Tuple/dist/effect-Tuple.cjs.d.mts +2 -0
  1393. package/Tuple/dist/effect-Tuple.cjs.d.mts.map +1 -0
  1394. package/Tuple/dist/effect-Tuple.cjs.d.ts +2 -0
  1395. package/Tuple/dist/effect-Tuple.cjs.d.ts.map +1 -0
  1396. package/Tuple/dist/effect-Tuple.cjs.dev.js +186 -0
  1397. package/Tuple/dist/effect-Tuple.cjs.js +7 -0
  1398. package/Tuple/dist/effect-Tuple.cjs.mjs +12 -0
  1399. package/Tuple/dist/effect-Tuple.cjs.prod.js +186 -0
  1400. package/Tuple/dist/effect-Tuple.esm.js +173 -0
  1401. package/Tuple/package.json +4 -0
  1402. package/Types/dist/effect-Types.cjs.d.mts +2 -0
  1403. package/Types/dist/effect-Types.cjs.d.mts.map +1 -0
  1404. package/Types/dist/effect-Types.cjs.d.ts +2 -0
  1405. package/Types/dist/effect-Types.cjs.d.ts.map +1 -0
  1406. package/Types/dist/effect-Types.cjs.dev.js +2 -0
  1407. package/Types/dist/effect-Types.cjs.js +7 -0
  1408. package/Types/dist/effect-Types.cjs.mjs +1 -0
  1409. package/Types/dist/effect-Types.cjs.prod.js +2 -0
  1410. package/Types/dist/effect-Types.esm.js +1 -0
  1411. package/Types/package.json +4 -0
  1412. package/Unify/dist/effect-Unify.cjs.d.mts +2 -0
  1413. package/Unify/dist/effect-Unify.cjs.d.mts.map +1 -0
  1414. package/Unify/dist/effect-Unify.cjs.d.ts +2 -0
  1415. package/Unify/dist/effect-Unify.cjs.d.ts.map +1 -0
  1416. package/Unify/dist/effect-Unify.cjs.dev.js +44 -0
  1417. package/Unify/dist/effect-Unify.cjs.js +7 -0
  1418. package/Unify/dist/effect-Unify.cjs.mjs +3 -0
  1419. package/Unify/dist/effect-Unify.cjs.prod.js +44 -0
  1420. package/Unify/dist/effect-Unify.esm.js +40 -0
  1421. package/Unify/package.json +4 -0
  1422. package/Utils/dist/effect-Utils.cjs.d.mts +2 -0
  1423. package/Utils/dist/effect-Utils.cjs.d.mts.map +1 -0
  1424. package/Utils/dist/effect-Utils.cjs.d.ts +2 -0
  1425. package/Utils/dist/effect-Utils.cjs.d.ts.map +1 -0
  1426. package/Utils/dist/effect-Utils.cjs.dev.js +361 -0
  1427. package/Utils/dist/effect-Utils.cjs.js +7 -0
  1428. package/Utils/dist/effect-Utils.cjs.mjs +8 -0
  1429. package/Utils/dist/effect-Utils.cjs.prod.js +361 -0
  1430. package/Utils/dist/effect-Utils.esm.js +352 -0
  1431. package/Utils/package.json +4 -0
  1432. package/dist/Context-607e9b4c.cjs.dev.js +222 -0
  1433. package/dist/Context-c91d8ca0.cjs.prod.js +222 -0
  1434. package/dist/Effectable-6a8a05f1.cjs.prod.js +234 -0
  1435. package/dist/Effectable-71c10ab9.cjs.dev.js +234 -0
  1436. package/dist/Either-a3f96c60.cjs.prod.js +105 -0
  1437. package/dist/Either-e7500e90.cjs.dev.js +105 -0
  1438. package/dist/ExecutionStrategy-4808fe5d.cjs.prod.js +168 -0
  1439. package/dist/ExecutionStrategy-7d9d457b.cjs.dev.js +168 -0
  1440. package/dist/FiberId-88cc0067.cjs.prod.js +421 -0
  1441. package/dist/FiberId-f329d0e3.cjs.dev.js +421 -0
  1442. package/dist/HashSet-09ade044.cjs.prod.js +965 -0
  1443. package/dist/HashSet-e9659fd4.cjs.dev.js +965 -0
  1444. package/dist/Option-01caa9d4.cjs.dev.js +81 -0
  1445. package/dist/Option-dd52e82a.cjs.prod.js +81 -0
  1446. package/dist/ReadonlyArray-9a1474f6.cjs.dev.js +10 -0
  1447. package/dist/ReadonlyArray-f9ed7a05.cjs.prod.js +10 -0
  1448. package/dist/Ref-50f14c13.cjs.prod.js +262 -0
  1449. package/dist/Ref-d3a3826b.cjs.dev.js +262 -0
  1450. package/dist/RuntimeFlagsPatch-063c5864.cjs.dev.js +389 -0
  1451. package/dist/RuntimeFlagsPatch-233ac7d7.cjs.prod.js +389 -0
  1452. package/dist/Stack-ada2d201.cjs.dev.js +11 -0
  1453. package/dist/Stack-fc8f9fe5.cjs.prod.js +11 -0
  1454. package/dist/StreamHaltStrategy-9a61b88d.cjs.dev.js +199 -0
  1455. package/dist/StreamHaltStrategy-b495622b.cjs.prod.js +199 -0
  1456. package/dist/boundaries-0e5ddf7b.cjs.prod.js +54 -0
  1457. package/dist/boundaries-ce70e4e4.cjs.dev.js +54 -0
  1458. package/dist/cache-2a5d8381.cjs.dev.js +523 -0
  1459. package/dist/cache-8f0c08cb.cjs.prod.js +523 -0
  1460. package/dist/childExecutorDecision-2eed6e25.cjs.dev.js +98 -0
  1461. package/dist/childExecutorDecision-b5842db5.cjs.prod.js +98 -0
  1462. package/dist/circular-2effda94.cjs.dev.js +108 -0
  1463. package/dist/circular-39e86dc8.cjs.dev.js +341 -0
  1464. package/dist/circular-4f03acf3.cjs.prod.js +108 -0
  1465. package/dist/circular-acb40239.cjs.prod.js +341 -0
  1466. package/dist/config-00e6170c.cjs.prod.js +474 -0
  1467. package/dist/config-beaa306c.cjs.dev.js +474 -0
  1468. package/dist/configError-72f57cd6.cjs.prod.js +323 -0
  1469. package/dist/configError-834bedc1.cjs.dev.js +323 -0
  1470. package/dist/configProvider-290d13e7.cjs.prod.js +447 -0
  1471. package/dist/configProvider-aef50f41.cjs.dev.js +447 -0
  1472. package/dist/configSecret-80d3e36b.cjs.prod.js +74 -0
  1473. package/dist/configSecret-abf643d8.cjs.dev.js +74 -0
  1474. package/dist/core-279496f0.cjs.prod.js +1072 -0
  1475. package/dist/core-35439f06.cjs.prod.js +3572 -0
  1476. package/dist/core-7445bfd4.cjs.dev.js +1072 -0
  1477. package/dist/core-a0828fef.cjs.dev.js +3572 -0
  1478. package/dist/core-effect-02a7f1d7.cjs.dev.js +1039 -0
  1479. package/dist/core-effect-460f968a.cjs.prod.js +1039 -0
  1480. package/dist/dataSource-94fb44f9.cjs.prod.js +74 -0
  1481. package/dist/dataSource-da4a602c.cjs.dev.js +74 -0
  1482. package/dist/declarations/src/BigDecimal.d.ts +622 -0
  1483. package/dist/declarations/src/BigDecimal.d.ts.map +1 -0
  1484. package/dist/declarations/src/BigInt.d.ts +461 -0
  1485. package/dist/declarations/src/BigInt.d.ts.map +1 -0
  1486. package/dist/declarations/src/Boolean.d.ts +229 -0
  1487. package/dist/declarations/src/Boolean.d.ts.map +1 -0
  1488. package/dist/declarations/src/Brand.d.ts +230 -0
  1489. package/dist/declarations/src/Brand.d.ts.map +1 -0
  1490. package/dist/declarations/src/Cache.d.ts +218 -0
  1491. package/dist/declarations/src/Cache.d.ts.map +1 -0
  1492. package/dist/declarations/src/Cause.d.ts +718 -0
  1493. package/dist/declarations/src/Cause.d.ts.map +1 -0
  1494. package/dist/declarations/src/Channel.d.ts +1177 -0
  1495. package/dist/declarations/src/Channel.d.ts.map +1 -0
  1496. package/dist/declarations/src/ChannelChildExecutorDecision.d.ts +123 -0
  1497. package/dist/declarations/src/ChannelChildExecutorDecision.d.ts.map +1 -0
  1498. package/dist/declarations/src/ChannelMergeDecision.d.ts +77 -0
  1499. package/dist/declarations/src/ChannelMergeDecision.d.ts.map +1 -0
  1500. package/dist/declarations/src/ChannelMergeState.d.ts +122 -0
  1501. package/dist/declarations/src/ChannelMergeState.d.ts.map +1 -0
  1502. package/dist/declarations/src/ChannelMergeStrategy.d.ts +92 -0
  1503. package/dist/declarations/src/ChannelMergeStrategy.d.ts.map +1 -0
  1504. package/dist/declarations/src/ChannelSingleProducerAsyncInput.d.ts +57 -0
  1505. package/dist/declarations/src/ChannelSingleProducerAsyncInput.d.ts.map +1 -0
  1506. package/dist/declarations/src/ChannelUpstreamPullRequest.d.ts +96 -0
  1507. package/dist/declarations/src/ChannelUpstreamPullRequest.d.ts.map +1 -0
  1508. package/dist/declarations/src/ChannelUpstreamPullStrategy.d.ts +97 -0
  1509. package/dist/declarations/src/ChannelUpstreamPullStrategy.d.ts.map +1 -0
  1510. package/dist/declarations/src/Chunk.d.ts +757 -0
  1511. package/dist/declarations/src/Chunk.d.ts.map +1 -0
  1512. package/dist/declarations/src/Clock.d.ts +97 -0
  1513. package/dist/declarations/src/Clock.d.ts.map +1 -0
  1514. package/dist/declarations/src/Config.d.ts +388 -0
  1515. package/dist/declarations/src/Config.d.ts.map +1 -0
  1516. package/dist/declarations/src/ConfigError.d.ts +219 -0
  1517. package/dist/declarations/src/ConfigError.d.ts.map +1 -0
  1518. package/dist/declarations/src/ConfigProvider.d.ts +256 -0
  1519. package/dist/declarations/src/ConfigProvider.d.ts.map +1 -0
  1520. package/dist/declarations/src/ConfigProviderPathPatch.d.ts +86 -0
  1521. package/dist/declarations/src/ConfigProviderPathPatch.d.ts.map +1 -0
  1522. package/dist/declarations/src/ConfigSecret.d.ts +64 -0
  1523. package/dist/declarations/src/ConfigSecret.d.ts.map +1 -0
  1524. package/dist/declarations/src/Console.d.ts +196 -0
  1525. package/dist/declarations/src/Console.d.ts.map +1 -0
  1526. package/dist/declarations/src/Context.d.ts +339 -0
  1527. package/dist/declarations/src/Context.d.ts.map +1 -0
  1528. package/dist/declarations/src/Data.d.ts +395 -0
  1529. package/dist/declarations/src/Data.d.ts.map +1 -0
  1530. package/dist/declarations/src/DefaultServices.d.ts +26 -0
  1531. package/dist/declarations/src/DefaultServices.d.ts.map +1 -0
  1532. package/dist/declarations/src/Deferred.d.ts +247 -0
  1533. package/dist/declarations/src/Deferred.d.ts.map +1 -0
  1534. package/dist/declarations/src/Differ.d.ts +308 -0
  1535. package/dist/declarations/src/Differ.d.ts.map +1 -0
  1536. package/dist/declarations/src/Duration.d.ts +265 -0
  1537. package/dist/declarations/src/Duration.d.ts.map +1 -0
  1538. package/dist/declarations/src/Effect.d.ts +3735 -0
  1539. package/dist/declarations/src/Effect.d.ts.map +1 -0
  1540. package/dist/declarations/src/Effectable.d.ts +93 -0
  1541. package/dist/declarations/src/Effectable.d.ts.map +1 -0
  1542. package/dist/declarations/src/Either.d.ts +453 -0
  1543. package/dist/declarations/src/Either.d.ts.map +1 -0
  1544. package/dist/declarations/src/Encoding.d.ts +110 -0
  1545. package/dist/declarations/src/Encoding.d.ts.map +1 -0
  1546. package/dist/declarations/src/Equal.d.ts +34 -0
  1547. package/dist/declarations/src/Equal.d.ts.map +1 -0
  1548. package/dist/declarations/src/Equivalence.d.ts +134 -0
  1549. package/dist/declarations/src/Equivalence.d.ts.map +1 -0
  1550. package/dist/declarations/src/ExecutionStrategy.d.ts +100 -0
  1551. package/dist/declarations/src/ExecutionStrategy.d.ts.map +1 -0
  1552. package/dist/declarations/src/Exit.d.ts +406 -0
  1553. package/dist/declarations/src/Exit.d.ts.map +1 -0
  1554. package/dist/declarations/src/Fiber.d.ts +569 -0
  1555. package/dist/declarations/src/Fiber.d.ts.map +1 -0
  1556. package/dist/declarations/src/FiberId.d.ts +165 -0
  1557. package/dist/declarations/src/FiberId.d.ts.map +1 -0
  1558. package/dist/declarations/src/FiberRef.d.ts +307 -0
  1559. package/dist/declarations/src/FiberRef.d.ts.map +1 -0
  1560. package/dist/declarations/src/FiberRefs.d.ts +138 -0
  1561. package/dist/declarations/src/FiberRefs.d.ts.map +1 -0
  1562. package/dist/declarations/src/FiberRefsPatch.d.ts +95 -0
  1563. package/dist/declarations/src/FiberRefsPatch.d.ts.map +1 -0
  1564. package/dist/declarations/src/FiberStatus.d.ts +94 -0
  1565. package/dist/declarations/src/FiberStatus.d.ts.map +1 -0
  1566. package/dist/declarations/src/Function.d.ts +371 -0
  1567. package/dist/declarations/src/Function.d.ts.map +1 -0
  1568. package/dist/declarations/src/GlobalValue.d.ts +5 -0
  1569. package/dist/declarations/src/GlobalValue.d.ts.map +1 -0
  1570. package/dist/declarations/src/GroupBy.d.ts +86 -0
  1571. package/dist/declarations/src/GroupBy.d.ts.map +1 -0
  1572. package/dist/declarations/src/HKT.d.ts +40 -0
  1573. package/dist/declarations/src/HKT.d.ts.map +1 -0
  1574. package/dist/declarations/src/Hash.d.ts +63 -0
  1575. package/dist/declarations/src/Hash.d.ts.map +1 -0
  1576. package/dist/declarations/src/HashMap.d.ts +361 -0
  1577. package/dist/declarations/src/HashMap.d.ts.map +1 -0
  1578. package/dist/declarations/src/HashSet.d.ts +267 -0
  1579. package/dist/declarations/src/HashSet.d.ts.map +1 -0
  1580. package/dist/declarations/src/Inspectable.d.ts +31 -0
  1581. package/dist/declarations/src/Inspectable.d.ts.map +1 -0
  1582. package/dist/declarations/src/KeyedPool.d.ts +147 -0
  1583. package/dist/declarations/src/KeyedPool.d.ts.map +1 -0
  1584. package/dist/declarations/src/Layer.d.ts +747 -0
  1585. package/dist/declarations/src/Layer.d.ts.map +1 -0
  1586. package/dist/declarations/src/List.d.ts +483 -0
  1587. package/dist/declarations/src/List.d.ts.map +1 -0
  1588. package/dist/declarations/src/LogLevel.d.ts +203 -0
  1589. package/dist/declarations/src/LogLevel.d.ts.map +1 -0
  1590. package/dist/declarations/src/LogSpan.d.ts +19 -0
  1591. package/dist/declarations/src/LogSpan.d.ts.map +1 -0
  1592. package/dist/declarations/src/Logger.d.ts +238 -0
  1593. package/dist/declarations/src/Logger.d.ts.map +1 -0
  1594. package/dist/declarations/src/Match.d.ts +420 -0
  1595. package/dist/declarations/src/Match.d.ts.map +1 -0
  1596. package/dist/declarations/src/Metric.d.ts +595 -0
  1597. package/dist/declarations/src/Metric.d.ts.map +1 -0
  1598. package/dist/declarations/src/MetricBoundaries.d.ts +59 -0
  1599. package/dist/declarations/src/MetricBoundaries.d.ts.map +1 -0
  1600. package/dist/declarations/src/MetricHook.d.ts +120 -0
  1601. package/dist/declarations/src/MetricHook.d.ts.map +1 -0
  1602. package/dist/declarations/src/MetricKey.d.ts +182 -0
  1603. package/dist/declarations/src/MetricKey.d.ts.map +1 -0
  1604. package/dist/declarations/src/MetricKeyType.d.ts +221 -0
  1605. package/dist/declarations/src/MetricKeyType.d.ts.map +1 -0
  1606. package/dist/declarations/src/MetricLabel.d.ts +42 -0
  1607. package/dist/declarations/src/MetricLabel.d.ts.map +1 -0
  1608. package/dist/declarations/src/MetricPair.d.ts +53 -0
  1609. package/dist/declarations/src/MetricPair.d.ts.map +1 -0
  1610. package/dist/declarations/src/MetricPolling.d.ts +99 -0
  1611. package/dist/declarations/src/MetricPolling.d.ts.map +1 -0
  1612. package/dist/declarations/src/MetricRegistry.d.ts +38 -0
  1613. package/dist/declarations/src/MetricRegistry.d.ts.map +1 -0
  1614. package/dist/declarations/src/MetricState.d.ts +223 -0
  1615. package/dist/declarations/src/MetricState.d.ts.map +1 -0
  1616. package/dist/declarations/src/MutableHashMap.d.ts +87 -0
  1617. package/dist/declarations/src/MutableHashMap.d.ts.map +1 -0
  1618. package/dist/declarations/src/MutableHashSet.d.ts +61 -0
  1619. package/dist/declarations/src/MutableHashSet.d.ts.map +1 -0
  1620. package/dist/declarations/src/MutableList.d.ts +114 -0
  1621. package/dist/declarations/src/MutableList.d.ts.map +1 -0
  1622. package/dist/declarations/src/MutableQueue.d.ts +127 -0
  1623. package/dist/declarations/src/MutableQueue.d.ts.map +1 -0
  1624. package/dist/declarations/src/MutableRef.d.ts +118 -0
  1625. package/dist/declarations/src/MutableRef.d.ts.map +1 -0
  1626. package/dist/declarations/src/NonEmptyIterable.d.ts +21 -0
  1627. package/dist/declarations/src/NonEmptyIterable.d.ts.map +1 -0
  1628. package/dist/declarations/src/Number.d.ts +384 -0
  1629. package/dist/declarations/src/Number.d.ts.map +1 -0
  1630. package/dist/declarations/src/Option.d.ts +967 -0
  1631. package/dist/declarations/src/Option.d.ts.map +1 -0
  1632. package/dist/declarations/src/Order.d.ts +212 -0
  1633. package/dist/declarations/src/Order.d.ts.map +1 -0
  1634. package/dist/declarations/src/Ordering.d.ts +83 -0
  1635. package/dist/declarations/src/Ordering.d.ts.map +1 -0
  1636. package/dist/declarations/src/Pipeable.d.ts +35 -0
  1637. package/dist/declarations/src/Pipeable.d.ts.map +1 -0
  1638. package/dist/declarations/src/Pool.d.ts +136 -0
  1639. package/dist/declarations/src/Pool.d.ts.map +1 -0
  1640. package/dist/declarations/src/Predicate.d.ts +596 -0
  1641. package/dist/declarations/src/Predicate.d.ts.map +1 -0
  1642. package/dist/declarations/src/PubSub.d.ts +158 -0
  1643. package/dist/declarations/src/PubSub.d.ts.map +1 -0
  1644. package/dist/declarations/src/Queue.d.ts +501 -0
  1645. package/dist/declarations/src/Queue.d.ts.map +1 -0
  1646. package/dist/declarations/src/Random.d.ts +101 -0
  1647. package/dist/declarations/src/Random.d.ts.map +1 -0
  1648. package/dist/declarations/src/ReadonlyArray.d.ts +1259 -0
  1649. package/dist/declarations/src/ReadonlyArray.d.ts.map +1 -0
  1650. package/dist/declarations/src/ReadonlyRecord.d.ts +603 -0
  1651. package/dist/declarations/src/ReadonlyRecord.d.ts.map +1 -0
  1652. package/dist/declarations/src/RedBlackTree.d.ts +369 -0
  1653. package/dist/declarations/src/RedBlackTree.d.ts.map +1 -0
  1654. package/dist/declarations/src/Ref.d.ts +141 -0
  1655. package/dist/declarations/src/Ref.d.ts.map +1 -0
  1656. package/dist/declarations/src/Reloadable.d.ts +101 -0
  1657. package/dist/declarations/src/Reloadable.d.ts.map +1 -0
  1658. package/dist/declarations/src/Request.d.ts +251 -0
  1659. package/dist/declarations/src/Request.d.ts.map +1 -0
  1660. package/dist/declarations/src/RequestBlock.d.ts +113 -0
  1661. package/dist/declarations/src/RequestBlock.d.ts.map +1 -0
  1662. package/dist/declarations/src/RequestResolver.d.ts +218 -0
  1663. package/dist/declarations/src/RequestResolver.d.ts.map +1 -0
  1664. package/dist/declarations/src/Resource.d.ts +78 -0
  1665. package/dist/declarations/src/Resource.d.ts.map +1 -0
  1666. package/dist/declarations/src/Runtime.d.ts +180 -0
  1667. package/dist/declarations/src/Runtime.d.ts.map +1 -0
  1668. package/dist/declarations/src/RuntimeFlags.d.ts +297 -0
  1669. package/dist/declarations/src/RuntimeFlags.d.ts.map +1 -0
  1670. package/dist/declarations/src/RuntimeFlagsPatch.d.ts +161 -0
  1671. package/dist/declarations/src/RuntimeFlagsPatch.d.ts.map +1 -0
  1672. package/dist/declarations/src/STM.d.ts +1551 -0
  1673. package/dist/declarations/src/STM.d.ts.map +1 -0
  1674. package/dist/declarations/src/Schedule.d.ts +1073 -0
  1675. package/dist/declarations/src/Schedule.d.ts.map +1 -0
  1676. package/dist/declarations/src/ScheduleDecision.d.ts +50 -0
  1677. package/dist/declarations/src/ScheduleDecision.d.ts.map +1 -0
  1678. package/dist/declarations/src/ScheduleInterval.d.ts +136 -0
  1679. package/dist/declarations/src/ScheduleInterval.d.ts.map +1 -0
  1680. package/dist/declarations/src/ScheduleIntervals.d.ts +109 -0
  1681. package/dist/declarations/src/ScheduleIntervals.d.ts.map +1 -0
  1682. package/dist/declarations/src/Scheduler.d.ts +158 -0
  1683. package/dist/declarations/src/Scheduler.d.ts.map +1 -0
  1684. package/dist/declarations/src/Scope.d.ts +131 -0
  1685. package/dist/declarations/src/Scope.d.ts.map +1 -0
  1686. package/dist/declarations/src/ScopedCache.d.ts +126 -0
  1687. package/dist/declarations/src/ScopedCache.d.ts.map +1 -0
  1688. package/dist/declarations/src/ScopedRef.d.ts +82 -0
  1689. package/dist/declarations/src/ScopedRef.d.ts.map +1 -0
  1690. package/dist/declarations/src/Sink.d.ts +1127 -0
  1691. package/dist/declarations/src/Sink.d.ts.map +1 -0
  1692. package/dist/declarations/src/SortedMap.d.ts +136 -0
  1693. package/dist/declarations/src/SortedMap.d.ts.map +1 -0
  1694. package/dist/declarations/src/SortedSet.d.ts +185 -0
  1695. package/dist/declarations/src/SortedSet.d.ts.map +1 -0
  1696. package/dist/declarations/src/Stream.d.ts +3577 -0
  1697. package/dist/declarations/src/Stream.d.ts.map +1 -0
  1698. package/dist/declarations/src/StreamEmit.d.ts +73 -0
  1699. package/dist/declarations/src/StreamEmit.d.ts.map +1 -0
  1700. package/dist/declarations/src/StreamHaltStrategy.d.ts +92 -0
  1701. package/dist/declarations/src/StreamHaltStrategy.d.ts.map +1 -0
  1702. package/dist/declarations/src/Streamable.d.ts +27 -0
  1703. package/dist/declarations/src/Streamable.d.ts.map +1 -0
  1704. package/dist/declarations/src/String.d.ts +514 -0
  1705. package/dist/declarations/src/String.d.ts.map +1 -0
  1706. package/dist/declarations/src/Struct.d.ts +110 -0
  1707. package/dist/declarations/src/Struct.d.ts.map +1 -0
  1708. package/dist/declarations/src/SubscriptionRef.d.ts +211 -0
  1709. package/dist/declarations/src/SubscriptionRef.d.ts.map +1 -0
  1710. package/dist/declarations/src/Supervisor.d.ts +170 -0
  1711. package/dist/declarations/src/Supervisor.d.ts.map +1 -0
  1712. package/dist/declarations/src/Symbol.d.ts +25 -0
  1713. package/dist/declarations/src/Symbol.d.ts.map +1 -0
  1714. package/dist/declarations/src/SynchronizedRef.d.ts +205 -0
  1715. package/dist/declarations/src/SynchronizedRef.d.ts.map +1 -0
  1716. package/dist/declarations/src/TArray.d.ts +430 -0
  1717. package/dist/declarations/src/TArray.d.ts.map +1 -0
  1718. package/dist/declarations/src/TDeferred.d.ts +79 -0
  1719. package/dist/declarations/src/TDeferred.d.ts.map +1 -0
  1720. package/dist/declarations/src/TMap.d.ts +427 -0
  1721. package/dist/declarations/src/TMap.d.ts.map +1 -0
  1722. package/dist/declarations/src/TPriorityQueue.d.ts +185 -0
  1723. package/dist/declarations/src/TPriorityQueue.d.ts.map +1 -0
  1724. package/dist/declarations/src/TPubSub.d.ts +146 -0
  1725. package/dist/declarations/src/TPubSub.d.ts.map +1 -0
  1726. package/dist/declarations/src/TQueue.d.ts +383 -0
  1727. package/dist/declarations/src/TQueue.d.ts.map +1 -0
  1728. package/dist/declarations/src/TRandom.d.ts +108 -0
  1729. package/dist/declarations/src/TRandom.d.ts.map +1 -0
  1730. package/dist/declarations/src/TReentrantLock.d.ts +194 -0
  1731. package/dist/declarations/src/TReentrantLock.d.ts.map +1 -0
  1732. package/dist/declarations/src/TRef.d.ts +145 -0
  1733. package/dist/declarations/src/TRef.d.ts.map +1 -0
  1734. package/dist/declarations/src/TSemaphore.d.ts +105 -0
  1735. package/dist/declarations/src/TSemaphore.d.ts.map +1 -0
  1736. package/dist/declarations/src/TSet.d.ts +306 -0
  1737. package/dist/declarations/src/TSet.d.ts.map +1 -0
  1738. package/dist/declarations/src/Take.d.ts +214 -0
  1739. package/dist/declarations/src/Take.d.ts.map +1 -0
  1740. package/dist/declarations/src/TestAnnotation.d.ts +70 -0
  1741. package/dist/declarations/src/TestAnnotation.d.ts.map +1 -0
  1742. package/dist/declarations/src/TestAnnotationMap.d.ts +55 -0
  1743. package/dist/declarations/src/TestAnnotationMap.d.ts.map +1 -0
  1744. package/dist/declarations/src/TestAnnotations.d.ts +59 -0
  1745. package/dist/declarations/src/TestAnnotations.d.ts.map +1 -0
  1746. package/dist/declarations/src/TestClock.d.ts +149 -0
  1747. package/dist/declarations/src/TestClock.d.ts.map +1 -0
  1748. package/dist/declarations/src/TestConfig.d.ts +45 -0
  1749. package/dist/declarations/src/TestConfig.d.ts.map +1 -0
  1750. package/dist/declarations/src/TestContext.d.ts +15 -0
  1751. package/dist/declarations/src/TestContext.d.ts.map +1 -0
  1752. package/dist/declarations/src/TestLive.d.ts +35 -0
  1753. package/dist/declarations/src/TestLive.d.ts.map +1 -0
  1754. package/dist/declarations/src/TestServices.d.ts +231 -0
  1755. package/dist/declarations/src/TestServices.d.ts.map +1 -0
  1756. package/dist/declarations/src/TestSized.d.ts +36 -0
  1757. package/dist/declarations/src/TestSized.d.ts.map +1 -0
  1758. package/dist/declarations/src/Tracer.d.ts +112 -0
  1759. package/dist/declarations/src/Tracer.d.ts.map +1 -0
  1760. package/dist/declarations/src/Tuple.d.ts +173 -0
  1761. package/dist/declarations/src/Tuple.d.ts.map +1 -0
  1762. package/dist/declarations/src/Types.d.ts +113 -0
  1763. package/dist/declarations/src/Types.d.ts.map +1 -0
  1764. package/dist/declarations/src/Unify.d.ts +62 -0
  1765. package/dist/declarations/src/Unify.d.ts.map +1 -0
  1766. package/dist/declarations/src/Utils.d.ts +224 -0
  1767. package/dist/declarations/src/Utils.d.ts.map +1 -0
  1768. package/dist/declarations/src/index.d.ts +718 -0
  1769. package/dist/declarations/src/index.d.ts.map +1 -0
  1770. package/dist/defaultServices-61911fd4.cjs.prod.js +328 -0
  1771. package/dist/defaultServices-f3f93337.cjs.dev.js +328 -0
  1772. package/dist/effect.cjs.d.mts +2 -0
  1773. package/dist/effect.cjs.d.mts.map +1 -0
  1774. package/dist/effect.cjs.d.ts +2 -0
  1775. package/dist/effect.cjs.d.ts.map +1 -0
  1776. package/dist/effect.cjs.dev.js +479 -0
  1777. package/dist/effect.cjs.js +7 -0
  1778. package/dist/effect.cjs.mjs +151 -0
  1779. package/dist/effect.cjs.prod.js +479 -0
  1780. package/dist/effect.esm.js +287 -0
  1781. package/dist/fiber-cac583ce.cjs.dev.js +411 -0
  1782. package/dist/fiber-f67dca7d.cjs.prod.js +411 -0
  1783. package/dist/fiberRefs-59b59378.cjs.prod.js +181 -0
  1784. package/dist/fiberRefs-6bd9745e.cjs.dev.js +181 -0
  1785. package/dist/fiberRuntime-26f406c3.cjs.prod.js +3016 -0
  1786. package/dist/fiberRuntime-976a3e6f.cjs.dev.js +3016 -0
  1787. package/dist/groupBy-7fc93bc9.cjs.dev.js +219 -0
  1788. package/dist/groupBy-8977b420.cjs.prod.js +219 -0
  1789. package/dist/hook-13f4db1e.cjs.dev.js +375 -0
  1790. package/dist/hook-8a020c3f.cjs.prod.js +375 -0
  1791. package/dist/key-2cf383a2.cjs.prod.js +79 -0
  1792. package/dist/key-4b5f6a7d.cjs.dev.js +79 -0
  1793. package/dist/keyType-2ae6a00e.cjs.prod.js +243 -0
  1794. package/dist/keyType-36962f62.cjs.dev.js +243 -0
  1795. package/dist/label-a588e6cd.cjs.prod.js +44 -0
  1796. package/dist/label-b0cebeae.cjs.dev.js +44 -0
  1797. package/dist/layer-abbc91aa.cjs.prod.js +684 -0
  1798. package/dist/layer-c197624f.cjs.dev.js +684 -0
  1799. package/dist/mergeDecision-07c6b5c9.cjs.prod.js +86 -0
  1800. package/dist/mergeDecision-be41e797.cjs.dev.js +86 -0
  1801. package/dist/mergeState-75990fa2.cjs.prod.js +109 -0
  1802. package/dist/mergeState-8153ce39.cjs.dev.js +109 -0
  1803. package/dist/mergeStrategy-3dd6e55f.cjs.prod.js +72 -0
  1804. package/dist/mergeStrategy-81ea5b80.cjs.dev.js +72 -0
  1805. package/dist/pair-291b78d7.cjs.dev.js +42 -0
  1806. package/dist/pair-6254cf85.cjs.prod.js +42 -0
  1807. package/dist/patch-2d425849.cjs.dev.js +132 -0
  1808. package/dist/patch-b7689042.cjs.prod.js +132 -0
  1809. package/dist/pathPatch-18fa425e.cjs.dev.js +90 -0
  1810. package/dist/pathPatch-b6020485.cjs.prod.js +90 -0
  1811. package/dist/pool-810c2214.cjs.dev.js +278 -0
  1812. package/dist/pool-868dfa39.cjs.prod.js +278 -0
  1813. package/dist/query-927b504e.cjs.prod.js +104 -0
  1814. package/dist/query-c6684e39.cjs.dev.js +104 -0
  1815. package/dist/queue-062806c7.cjs.prod.js +548 -0
  1816. package/dist/queue-a0fc274d.cjs.dev.js +548 -0
  1817. package/dist/registry-9268ec7c.cjs.prod.js +114 -0
  1818. package/dist/registry-e5ad2d74.cjs.dev.js +114 -0
  1819. package/dist/runtime-340bd70b.cjs.dev.js +290 -0
  1820. package/dist/runtime-ce0ad0ed.cjs.prod.js +290 -0
  1821. package/dist/schedule-04b40c50.cjs.prod.js +956 -0
  1822. package/dist/schedule-74c6207a.cjs.dev.js +956 -0
  1823. package/dist/scopedRef-4f0dd122.cjs.dev.js +55 -0
  1824. package/dist/scopedRef-d429ec83.cjs.prod.js +55 -0
  1825. package/dist/singleProducerAsyncInput-06a9076a.cjs.prod.js +193 -0
  1826. package/dist/singleProducerAsyncInput-72c05452.cjs.dev.js +193 -0
  1827. package/dist/sink-301d2bb4.cjs.dev.js +3093 -0
  1828. package/dist/sink-46df55d3.cjs.prod.js +3093 -0
  1829. package/dist/state-40d5dc71.cjs.prod.js +223 -0
  1830. package/dist/state-620f7a22.cjs.dev.js +223 -0
  1831. package/dist/stm-0b50e3c1.cjs.dev.js +678 -0
  1832. package/dist/stm-c0489b43.cjs.prod.js +678 -0
  1833. package/dist/stream-0c3160ef.cjs.prod.js +3652 -0
  1834. package/dist/stream-44cdd7cb.cjs.dev.js +3652 -0
  1835. package/dist/synchronizedRef-2f71b820.cjs.prod.js +62 -0
  1836. package/dist/synchronizedRef-78797507.cjs.dev.js +62 -0
  1837. package/dist/tArray-006f45b0.cjs.prod.js +330 -0
  1838. package/dist/tArray-556355cd.cjs.dev.js +330 -0
  1839. package/dist/tMap-52d00ffb.cjs.dev.js +535 -0
  1840. package/dist/tMap-9680b82b.cjs.prod.js +535 -0
  1841. package/dist/tQueue-51cf109e.cjs.prod.js +367 -0
  1842. package/dist/tQueue-ca56a2a8.cjs.dev.js +367 -0
  1843. package/dist/tRef-4a2a9689.cjs.prod.js +133 -0
  1844. package/dist/tRef-b98e2e2a.cjs.dev.js +133 -0
  1845. package/dist/take-07165139.cjs.prod.js +152 -0
  1846. package/dist/take-689a29d5.cjs.dev.js +152 -0
  1847. package/dist/timeout-489f3f86.cjs.prod.js +25 -0
  1848. package/dist/timeout-d380d3f8.cjs.dev.js +25 -0
  1849. package/dist/upstreamPullRequest-7a694281.cjs.dev.js +79 -0
  1850. package/dist/upstreamPullRequest-c89f818d.cjs.prod.js +79 -0
  1851. package/dist/upstreamPullStrategy-63cc8967.cjs.prod.js +81 -0
  1852. package/dist/upstreamPullStrategy-f9f1ab57.cjs.dev.js +81 -0
  1853. package/internal/Context.esm.js +208 -0
  1854. package/internal/Data.esm.js +52 -0
  1855. package/internal/Differ/ChunkPatch.esm.js +131 -0
  1856. package/internal/Differ/ContextPatch.esm.js +158 -0
  1857. package/internal/Differ/HashMapPatch.esm.js +133 -0
  1858. package/internal/Differ/HashSetPatch.esm.js +107 -0
  1859. package/internal/Differ/OrPatch.esm.js +196 -0
  1860. package/internal/Differ.esm.js +130 -0
  1861. package/internal/Effectable.esm.js +89 -0
  1862. package/internal/Either.esm.js +95 -0
  1863. package/internal/Encoding/Base64.esm.js +74 -0
  1864. package/internal/Encoding/Base64Url.esm.js +24 -0
  1865. package/internal/Encoding/Common.esm.js +21 -0
  1866. package/internal/Encoding/Hex.esm.js +55 -0
  1867. package/internal/HashMap/array.esm.js +51 -0
  1868. package/internal/HashMap/bitwise.esm.js +34 -0
  1869. package/internal/HashMap/config.esm.js +16 -0
  1870. package/internal/HashMap/keySet.esm.js +8 -0
  1871. package/internal/HashMap/node.esm.js +253 -0
  1872. package/internal/HashMap.esm.js +366 -0
  1873. package/internal/HashSet.esm.js +211 -0
  1874. package/internal/Option.esm.js +75 -0
  1875. package/internal/ReadonlyArray.esm.js +8 -0
  1876. package/internal/RedBlackTree/iterator.esm.js +204 -0
  1877. package/internal/RedBlackTree/node.esm.js +43 -0
  1878. package/internal/RedBlackTree.esm.js +1042 -0
  1879. package/internal/Stack.esm.js +9 -0
  1880. package/internal/blockedRequests.esm.js +365 -0
  1881. package/internal/cache.esm.js +514 -0
  1882. package/internal/cause.esm.js +1053 -0
  1883. package/internal/channel/channelExecutor.esm.js +692 -0
  1884. package/internal/channel/channelState.esm.js +78 -0
  1885. package/internal/channel/childExecutorDecision.esm.js +71 -0
  1886. package/internal/channel/continuation.esm.js +58 -0
  1887. package/internal/channel/mergeDecision.esm.js +69 -0
  1888. package/internal/channel/mergeState.esm.js +82 -0
  1889. package/internal/channel/mergeStrategy.esm.js +55 -0
  1890. package/internal/channel/singleProducerAsyncInput.esm.js +191 -0
  1891. package/internal/channel/subexecutor.esm.js +153 -0
  1892. package/internal/channel/upstreamPullRequest.esm.js +62 -0
  1893. package/internal/channel/upstreamPullStrategy.esm.js +62 -0
  1894. package/internal/channel.esm.js +647 -0
  1895. package/internal/clock.esm.js +82 -0
  1896. package/internal/completedRequestMap.esm.js +7 -0
  1897. package/internal/concurrency.esm.js +47 -0
  1898. package/internal/config.esm.js +374 -0
  1899. package/internal/configError.esm.js +276 -0
  1900. package/internal/configProvider/pathPatch.esm.js +83 -0
  1901. package/internal/configProvider.esm.js +365 -0
  1902. package/internal/configSecret.esm.js +66 -0
  1903. package/internal/console.esm.js +72 -0
  1904. package/internal/core-effect.esm.js +884 -0
  1905. package/internal/core-stream.esm.js +293 -0
  1906. package/internal/core.esm.js +1756 -0
  1907. package/internal/dataSource.esm.js +61 -0
  1908. package/internal/defaultServices/console.esm.js +96 -0
  1909. package/internal/defaultServices.esm.js +85 -0
  1910. package/internal/deferred.esm.js +37 -0
  1911. package/internal/effect/circular.esm.js +314 -0
  1912. package/internal/executionStrategy.esm.js +61 -0
  1913. package/internal/fiber.esm.js +257 -0
  1914. package/internal/fiberId.esm.js +243 -0
  1915. package/internal/fiberMessage.esm.js +54 -0
  1916. package/internal/fiberRefs/patch.esm.js +127 -0
  1917. package/internal/fiberRefs.esm.js +169 -0
  1918. package/internal/fiberRuntime.esm.js +2006 -0
  1919. package/internal/fiberScope.esm.js +58 -0
  1920. package/internal/fiberStatus.esm.js +89 -0
  1921. package/internal/groupBy.esm.js +211 -0
  1922. package/internal/keyedPool.esm.js +161 -0
  1923. package/internal/layer/circular.esm.js +86 -0
  1924. package/internal/layer.esm.js +575 -0
  1925. package/internal/logSpan.esm.js +15 -0
  1926. package/internal/logger-circular.esm.js +21 -0
  1927. package/internal/logger.esm.js +213 -0
  1928. package/internal/matcher.esm.js +314 -0
  1929. package/internal/metric/boundaries.esm.js +48 -0
  1930. package/internal/metric/hook.esm.js +366 -0
  1931. package/internal/metric/key.esm.js +68 -0
  1932. package/internal/metric/keyType.esm.js +225 -0
  1933. package/internal/metric/label.esm.js +40 -0
  1934. package/internal/metric/pair.esm.js +38 -0
  1935. package/internal/metric/polling.esm.js +74 -0
  1936. package/internal/metric/registry.esm.js +111 -0
  1937. package/internal/metric/state.esm.js +205 -0
  1938. package/internal/metric.esm.js +204 -0
  1939. package/internal/opCodes/cause.esm.js +31 -0
  1940. package/internal/opCodes/channel.esm.js +71 -0
  1941. package/internal/opCodes/channelChildExecutorDecision.esm.js +16 -0
  1942. package/internal/opCodes/channelMergeDecision.esm.js +11 -0
  1943. package/internal/opCodes/channelMergeState.esm.js +16 -0
  1944. package/internal/opCodes/channelMergeStrategy.esm.js +11 -0
  1945. package/internal/opCodes/channelState.esm.js +21 -0
  1946. package/internal/opCodes/channelUpstreamPullRequest.esm.js +11 -0
  1947. package/internal/opCodes/channelUpstreamPullStrategy.esm.js +11 -0
  1948. package/internal/opCodes/config.esm.js +56 -0
  1949. package/internal/opCodes/configError.esm.js +31 -0
  1950. package/internal/opCodes/continuation.esm.js +11 -0
  1951. package/internal/opCodes/deferred.esm.js +11 -0
  1952. package/internal/opCodes/effect.esm.js +71 -0
  1953. package/internal/opCodes/layer.esm.js +46 -0
  1954. package/internal/opCodes/streamHaltStrategy.esm.js +21 -0
  1955. package/internal/pool.esm.js +271 -0
  1956. package/internal/pubsub.esm.js +1102 -0
  1957. package/internal/query.esm.js +100 -0
  1958. package/internal/queue.esm.js +515 -0
  1959. package/internal/random.esm.js +58 -0
  1960. package/internal/ref.esm.js +121 -0
  1961. package/internal/reloadable.esm.js +62 -0
  1962. package/internal/request.esm.js +81 -0
  1963. package/internal/resource.esm.js +35 -0
  1964. package/internal/ringBuffer.esm.js +56 -0
  1965. package/internal/runtime.esm.js +270 -0
  1966. package/internal/runtimeFlags.esm.js +137 -0
  1967. package/internal/runtimeFlagsPatch.esm.js +57 -0
  1968. package/internal/schedule/decision.esm.js +45 -0
  1969. package/internal/schedule/interval.esm.js +85 -0
  1970. package/internal/schedule/intervals.esm.js +135 -0
  1971. package/internal/schedule.esm.js +844 -0
  1972. package/internal/scopedCache.esm.js +406 -0
  1973. package/internal/scopedRef.esm.js +49 -0
  1974. package/internal/singleShotGen.esm.js +30 -0
  1975. package/internal/sink.esm.js +918 -0
  1976. package/internal/stm/core.esm.js +553 -0
  1977. package/internal/stm/opCodes/stm.esm.js +56 -0
  1978. package/internal/stm/opCodes/stmState.esm.js +16 -0
  1979. package/internal/stm/opCodes/strategy.esm.js +16 -0
  1980. package/internal/stm/opCodes/tExit.esm.js +26 -0
  1981. package/internal/stm/opCodes/tryCommit.esm.js +11 -0
  1982. package/internal/stm/stm/entry.esm.js +47 -0
  1983. package/internal/stm/stm/journal.esm.js +96 -0
  1984. package/internal/stm/stm/stmState.esm.js +104 -0
  1985. package/internal/stm/stm/tExit.esm.js +113 -0
  1986. package/internal/stm/stm/tryCommit.esm.js +25 -0
  1987. package/internal/stm/stm/txnId.esm.js +15 -0
  1988. package/internal/stm/stm/versioned.esm.js +8 -0
  1989. package/internal/stm/stm.esm.js +584 -0
  1990. package/internal/stm/tArray.esm.js +287 -0
  1991. package/internal/stm/tDeferred.esm.js +49 -0
  1992. package/internal/stm/tMap.esm.js +492 -0
  1993. package/internal/stm/tPriorityQueue.esm.js +156 -0
  1994. package/internal/stm/tPubSub.esm.js +381 -0
  1995. package/internal/stm/tQueue.esm.js +317 -0
  1996. package/internal/stm/tRandom.esm.js +89 -0
  1997. package/internal/stm/tReentrantLock.esm.js +216 -0
  1998. package/internal/stm/tRef.esm.js +117 -0
  1999. package/internal/stm/tSemaphore.esm.js +73 -0
  2000. package/internal/stm/tSet.esm.js +113 -0
  2001. package/internal/stream/debounceState.esm.js +39 -0
  2002. package/internal/stream/emit.esm.js +51 -0
  2003. package/internal/stream/haltStrategy.esm.js +74 -0
  2004. package/internal/stream/handoff.esm.js +79 -0
  2005. package/internal/stream/handoffSignal.esm.js +40 -0
  2006. package/internal/stream/pull.esm.js +10 -0
  2007. package/internal/stream/sinkEndReason.esm.js +27 -0
  2008. package/internal/stream/zipAllState.esm.js +65 -0
  2009. package/internal/stream/zipChunksState.esm.js +41 -0
  2010. package/internal/stream.esm.js +2990 -0
  2011. package/internal/string-utils.esm.js +66 -0
  2012. package/internal/subscriptionRef.esm.js +65 -0
  2013. package/internal/supervisor/patch.esm.js +156 -0
  2014. package/internal/supervisor.esm.js +209 -0
  2015. package/internal/synchronizedRef.esm.js +53 -0
  2016. package/internal/take.esm.js +130 -0
  2017. package/internal/testing/suspendedWarningData.esm.js +66 -0
  2018. package/internal/testing/warningData.esm.js +75 -0
  2019. package/internal/timeout.esm.js +22 -0
  2020. package/internal/tracer.esm.js +74 -0
  2021. package/package.json +1096 -31
  2022. package/src/.index.ts +30 -0
  2023. package/src/BigDecimal.ts +977 -0
  2024. package/src/BigInt.ts +531 -0
  2025. package/src/Boolean.ts +261 -0
  2026. package/src/Brand.ts +336 -0
  2027. package/src/Cache.ts +250 -0
  2028. package/src/Cause.ts +813 -0
  2029. package/src/Channel.ts +2254 -0
  2030. package/src/ChannelChildExecutorDecision.ts +138 -0
  2031. package/src/ChannelMergeDecision.ts +94 -0
  2032. package/src/ChannelMergeState.ts +166 -0
  2033. package/src/ChannelMergeStrategy.ts +107 -0
  2034. package/src/ChannelSingleProducerAsyncInput.ts +68 -0
  2035. package/src/ChannelUpstreamPullRequest.ts +110 -0
  2036. package/src/ChannelUpstreamPullStrategy.ts +120 -0
  2037. package/src/Chunk.ts +1329 -0
  2038. package/src/Clock.ts +111 -0
  2039. package/src/Config.ts +447 -0
  2040. package/src/ConfigError.ts +267 -0
  2041. package/src/ConfigProvider.ts +296 -0
  2042. package/src/ConfigProviderPathPatch.ts +100 -0
  2043. package/src/ConfigSecret.ts +76 -0
  2044. package/src/Console.ts +222 -0
  2045. package/src/Context.ts +365 -0
  2046. package/src/Data.ts +506 -0
  2047. package/src/DefaultServices.ts +34 -0
  2048. package/src/Deferred.ts +283 -0
  2049. package/src/Differ.ts +406 -0
  2050. package/src/Duration.ts +558 -0
  2051. package/src/Effect.ts +5075 -0
  2052. package/src/Effectable.ts +107 -0
  2053. package/src/Either.ts +626 -0
  2054. package/src/Encoding.ts +130 -0
  2055. package/src/Equal.ts +64 -0
  2056. package/src/Equivalence.ts +235 -0
  2057. package/src/ExecutionStrategy.ts +111 -0
  2058. package/src/Exit.ts +464 -0
  2059. package/src/Fiber.ts +650 -0
  2060. package/src/FiberId.ts +187 -0
  2061. package/src/FiberRef.ts +392 -0
  2062. package/src/FiberRefs.ts +160 -0
  2063. package/src/FiberRefsPatch.ts +105 -0
  2064. package/src/FiberStatus.ts +108 -0
  2065. package/src/Function.ts +834 -0
  2066. package/src/GlobalValue.ts +20 -0
  2067. package/src/GroupBy.ts +102 -0
  2068. package/src/HKT.ts +44 -0
  2069. package/src/Hash.ts +162 -0
  2070. package/src/HashMap.ts +403 -0
  2071. package/src/HashSet.ts +300 -0
  2072. package/src/Inspectable.ts +45 -0
  2073. package/src/KeyedPool.ts +160 -0
  2074. package/src/Layer.ts +1017 -0
  2075. package/src/List.ts +957 -0
  2076. package/src/LogLevel.ts +266 -0
  2077. package/src/LogSpan.ts +25 -0
  2078. package/src/Logger.ts +315 -0
  2079. package/src/Match.ts +800 -0
  2080. package/src/Metric.ts +739 -0
  2081. package/src/MetricBoundaries.ts +70 -0
  2082. package/src/MetricHook.ts +139 -0
  2083. package/src/MetricKey.ts +227 -0
  2084. package/src/MetricKeyType.ts +257 -0
  2085. package/src/MetricLabel.ts +47 -0
  2086. package/src/MetricPair.ts +70 -0
  2087. package/src/MetricPolling.ts +136 -0
  2088. package/src/MetricRegistry.ts +47 -0
  2089. package/src/MetricState.ts +256 -0
  2090. package/src/MutableHashMap.ts +187 -0
  2091. package/src/MutableHashSet.ts +118 -0
  2092. package/src/MutableList.ts +289 -0
  2093. package/src/MutableQueue.ts +227 -0
  2094. package/src/MutableRef.ts +204 -0
  2095. package/src/NonEmptyIterable.ts +30 -0
  2096. package/src/Number.ts +434 -0
  2097. package/src/Option.ts +1214 -0
  2098. package/src/Order.ts +328 -0
  2099. package/src/Ordering.ts +112 -0
  2100. package/src/Pipeable.ts +318 -0
  2101. package/src/Pool.ts +148 -0
  2102. package/src/Predicate.ts +704 -0
  2103. package/src/PubSub.ts +175 -0
  2104. package/src/Queue.ts +583 -0
  2105. package/src/Random.ts +115 -0
  2106. package/src/ReadonlyArray.ts +2026 -0
  2107. package/src/ReadonlyRecord.ts +914 -0
  2108. package/src/RedBlackTree.ts +415 -0
  2109. package/src/Ref.ts +159 -0
  2110. package/src/Reloadable.ts +136 -0
  2111. package/src/Request.ts +285 -0
  2112. package/src/RequestBlock.ts +157 -0
  2113. package/src/RequestResolver.ts +305 -0
  2114. package/src/Resource.ts +97 -0
  2115. package/src/Runtime.ts +216 -0
  2116. package/src/RuntimeFlags.ts +336 -0
  2117. package/src/RuntimeFlagsPatch.ts +183 -0
  2118. package/src/STM.ts +2076 -0
  2119. package/src/Schedule.ts +1396 -0
  2120. package/src/ScheduleDecision.ts +62 -0
  2121. package/src/ScheduleInterval.ts +151 -0
  2122. package/src/ScheduleIntervals.ts +122 -0
  2123. package/src/Scheduler.ts +359 -0
  2124. package/src/Scope.ts +171 -0
  2125. package/src/ScopedCache.ts +148 -0
  2126. package/src/ScopedRef.ts +95 -0
  2127. package/src/Sink.ts +1431 -0
  2128. package/src/SortedMap.ts +229 -0
  2129. package/src/SortedSet.ts +385 -0
  2130. package/src/Stream.ts +4540 -0
  2131. package/src/StreamEmit.ts +83 -0
  2132. package/src/StreamHaltStrategy.ts +111 -0
  2133. package/src/Streamable.ts +42 -0
  2134. package/src/String.ts +682 -0
  2135. package/src/Struct.ts +152 -0
  2136. package/src/SubscriptionRef.ts +273 -0
  2137. package/src/Supervisor.ts +239 -0
  2138. package/src/Symbol.ts +28 -0
  2139. package/src/SynchronizedRef.ts +249 -0
  2140. package/src/TArray.ts +494 -0
  2141. package/src/TDeferred.ts +99 -0
  2142. package/src/TMap.ts +510 -0
  2143. package/src/TPriorityQueue.ts +223 -0
  2144. package/src/TPubSub.ts +187 -0
  2145. package/src/TQueue.ts +431 -0
  2146. package/src/TRandom.ts +129 -0
  2147. package/src/TReentrantLock.ts +224 -0
  2148. package/src/TRef.ts +176 -0
  2149. package/src/TSemaphore.ts +129 -0
  2150. package/src/TSet.ts +349 -0
  2151. package/src/Take.ts +257 -0
  2152. package/src/TestAnnotation.ts +166 -0
  2153. package/src/TestAnnotationMap.ts +124 -0
  2154. package/src/TestAnnotations.ts +113 -0
  2155. package/src/TestClock.ts +552 -0
  2156. package/src/TestConfig.ts +49 -0
  2157. package/src/TestContext.ts +35 -0
  2158. package/src/TestLive.ts +55 -0
  2159. package/src/TestServices.ts +392 -0
  2160. package/src/TestSized.ts +55 -0
  2161. package/src/Tracer.ts +133 -0
  2162. package/src/Tuple.ts +204 -0
  2163. package/src/Types.ts +123 -0
  2164. package/src/Unify.ts +118 -0
  2165. package/src/Utils.ts +699 -0
  2166. package/src/index.ts +862 -0
  2167. package/src/internal/Common.ts +56 -0
  2168. package/src/internal/Context.ts +252 -0
  2169. package/src/internal/Data.ts +55 -0
  2170. package/src/internal/Differ/ChunkPatch.ts +209 -0
  2171. package/src/internal/Differ/ContextPatch.ts +229 -0
  2172. package/src/internal/Differ/HashMapPatch.ts +217 -0
  2173. package/src/internal/Differ/HashSetPatch.ts +174 -0
  2174. package/src/internal/Differ/OrPatch.ts +296 -0
  2175. package/src/internal/Differ.ts +184 -0
  2176. package/src/internal/Effectable.ts +92 -0
  2177. package/src/internal/Either.ts +107 -0
  2178. package/src/internal/Encoding/Base64.ts +282 -0
  2179. package/src/internal/Encoding/Base64Url.ts +28 -0
  2180. package/src/internal/Encoding/Common.ts +24 -0
  2181. package/src/internal/Encoding/Hex.ts +315 -0
  2182. package/src/internal/HashMap/array.ts +49 -0
  2183. package/src/internal/HashMap/bitwise.ts +32 -0
  2184. package/src/internal/HashMap/config.ts +14 -0
  2185. package/src/internal/HashMap/keySet.ts +8 -0
  2186. package/src/internal/HashMap/node.ts +390 -0
  2187. package/src/internal/HashMap.ts +533 -0
  2188. package/src/internal/HashSet.ts +319 -0
  2189. package/src/internal/Iterable.ts +54 -0
  2190. package/src/internal/Option.ts +79 -0
  2191. package/src/internal/ReadonlyArray.ts +8 -0
  2192. package/src/internal/RedBlackTree/iterator.ts +207 -0
  2193. package/src/internal/RedBlackTree/node.ts +48 -0
  2194. package/src/internal/RedBlackTree.ts +1195 -0
  2195. package/src/internal/Stack.ts +4 -0
  2196. package/src/internal/blockedRequests.ts +512 -0
  2197. package/src/internal/cache.ts +714 -0
  2198. package/src/internal/cause.ts +1205 -0
  2199. package/src/internal/channel/channelExecutor.ts +1193 -0
  2200. package/src/internal/channel/channelState.ts +132 -0
  2201. package/src/internal/channel/childExecutorDecision.ts +95 -0
  2202. package/src/internal/channel/continuation.ts +171 -0
  2203. package/src/internal/channel/mergeDecision.ts +115 -0
  2204. package/src/internal/channel/mergeState.ts +120 -0
  2205. package/src/internal/channel/mergeStrategy.ts +72 -0
  2206. package/src/internal/channel/singleProducerAsyncInput.ts +261 -0
  2207. package/src/internal/channel/subexecutor.ts +229 -0
  2208. package/src/internal/channel/upstreamPullRequest.ts +83 -0
  2209. package/src/internal/channel/upstreamPullStrategy.ts +86 -0
  2210. package/src/internal/channel.ts +2520 -0
  2211. package/src/internal/clock.ts +97 -0
  2212. package/src/internal/completedRequestMap.ts +9 -0
  2213. package/src/internal/concurrency.ts +83 -0
  2214. package/src/internal/config.ts +598 -0
  2215. package/src/internal/configError.ts +291 -0
  2216. package/src/internal/configProvider/pathPatch.ts +97 -0
  2217. package/src/internal/configProvider.ts +692 -0
  2218. package/src/internal/configSecret.ts +71 -0
  2219. package/src/internal/console.ts +136 -0
  2220. package/src/internal/core-effect.ts +2161 -0
  2221. package/src/internal/core-stream.ts +999 -0
  2222. package/src/internal/core.ts +2776 -0
  2223. package/src/internal/dataSource.ts +258 -0
  2224. package/src/internal/defaultServices/console.ts +97 -0
  2225. package/src/internal/defaultServices.ts +140 -0
  2226. package/src/internal/deferred.ts +44 -0
  2227. package/src/internal/effect/circular.ts +664 -0
  2228. package/src/internal/executionStrategy.ts +72 -0
  2229. package/src/internal/fiber.ts +350 -0
  2230. package/src/internal/fiberId.ts +270 -0
  2231. package/src/internal/fiberMessage.ts +85 -0
  2232. package/src/internal/fiberRefs/patch.ts +144 -0
  2233. package/src/internal/fiberRefs.ts +239 -0
  2234. package/src/internal/fiberRuntime.ts +3489 -0
  2235. package/src/internal/fiberScope.ts +72 -0
  2236. package/src/internal/fiberStatus.ts +118 -0
  2237. package/src/internal/groupBy.ts +520 -0
  2238. package/src/internal/keyedPool.ts +240 -0
  2239. package/src/internal/layer/circular.ts +215 -0
  2240. package/src/internal/layer.ts +1246 -0
  2241. package/src/internal/logSpan.ts +15 -0
  2242. package/src/internal/logger-circular.ts +24 -0
  2243. package/src/internal/logger.ts +307 -0
  2244. package/src/internal/matcher.ts +594 -0
  2245. package/src/internal/metric/boundaries.ts +72 -0
  2246. package/src/internal/metric/hook.ts +459 -0
  2247. package/src/internal/metric/key.ts +173 -0
  2248. package/src/internal/metric/keyType.ts +263 -0
  2249. package/src/internal/metric/label.ts +44 -0
  2250. package/src/internal/metric/pair.ts +48 -0
  2251. package/src/internal/metric/polling.ts +143 -0
  2252. package/src/internal/metric/registry.ts +188 -0
  2253. package/src/internal/metric/state.ts +286 -0
  2254. package/src/internal/metric.ts +522 -0
  2255. package/src/internal/opCodes/cause.ts +35 -0
  2256. package/src/internal/opCodes/channel.ts +83 -0
  2257. package/src/internal/opCodes/channelChildExecutorDecision.ts +17 -0
  2258. package/src/internal/opCodes/channelMergeDecision.ts +11 -0
  2259. package/src/internal/opCodes/channelMergeState.ts +17 -0
  2260. package/src/internal/opCodes/channelMergeStrategy.ts +11 -0
  2261. package/src/internal/opCodes/channelState.ts +23 -0
  2262. package/src/internal/opCodes/channelUpstreamPullRequest.ts +11 -0
  2263. package/src/internal/opCodes/channelUpstreamPullStrategy.ts +11 -0
  2264. package/src/internal/opCodes/config.ts +65 -0
  2265. package/src/internal/opCodes/configError.ts +35 -0
  2266. package/src/internal/opCodes/continuation.ts +11 -0
  2267. package/src/internal/opCodes/deferred.ts +11 -0
  2268. package/src/internal/opCodes/effect.ts +83 -0
  2269. package/src/internal/opCodes/layer.ts +53 -0
  2270. package/src/internal/opCodes/streamHaltStrategy.ts +23 -0
  2271. package/src/internal/pool.ts +499 -0
  2272. package/src/internal/pubsub.ts +1557 -0
  2273. package/src/internal/query.ts +203 -0
  2274. package/src/internal/queue.ts +744 -0
  2275. package/src/internal/random.ts +88 -0
  2276. package/src/internal/ref.ts +164 -0
  2277. package/src/internal/reloadable.ts +164 -0
  2278. package/src/internal/request.ts +137 -0
  2279. package/src/internal/resource.ts +64 -0
  2280. package/src/internal/ringBuffer.ts +68 -0
  2281. package/src/internal/runtime.ts +348 -0
  2282. package/src/internal/runtimeFlags.ts +176 -0
  2283. package/src/internal/runtimeFlagsPatch.ts +103 -0
  2284. package/src/internal/schedule/decision.ts +47 -0
  2285. package/src/internal/schedule/interval.ts +101 -0
  2286. package/src/internal/schedule/intervals.ts +179 -0
  2287. package/src/internal/schedule.ts +2096 -0
  2288. package/src/internal/scopedCache.ts +634 -0
  2289. package/src/internal/scopedRef.ts +133 -0
  2290. package/src/internal/singleShotGen.ts +35 -0
  2291. package/src/internal/sink.ts +2118 -0
  2292. package/src/internal/stm/core.ts +804 -0
  2293. package/src/internal/stm/opCodes/stm.ts +71 -0
  2294. package/src/internal/stm/opCodes/stmState.ts +17 -0
  2295. package/src/internal/stm/opCodes/strategy.ts +17 -0
  2296. package/src/internal/stm/opCodes/tExit.ts +29 -0
  2297. package/src/internal/stm/opCodes/tryCommit.ts +11 -0
  2298. package/src/internal/stm/stm/entry.ts +59 -0
  2299. package/src/internal/stm/stm/journal.ts +123 -0
  2300. package/src/internal/stm/stm/opCodes/stm.ts +71 -0
  2301. package/src/internal/stm/stm/opCodes/stmState.ts +17 -0
  2302. package/src/internal/stm/stm/opCodes/strategy.ts +17 -0
  2303. package/src/internal/stm/stm/opCodes/tExit.ts +29 -0
  2304. package/src/internal/stm/stm/opCodes/tryCommit.ts +11 -0
  2305. package/src/internal/stm/stm/stmState.ts +130 -0
  2306. package/src/internal/stm/stm/tExit.ts +180 -0
  2307. package/src/internal/stm/stm/tryCommit.ts +34 -0
  2308. package/src/internal/stm/stm/txnId.ts +14 -0
  2309. package/src/internal/stm/stm/versioned.ts +4 -0
  2310. package/src/internal/stm/stm.ts +1491 -0
  2311. package/src/internal/stm/tArray.ts +550 -0
  2312. package/src/internal/stm/tDeferred.ts +79 -0
  2313. package/src/internal/stm/tMap.ts +824 -0
  2314. package/src/internal/stm/tPriorityQueue.ts +259 -0
  2315. package/src/internal/stm/tPubSub.ts +542 -0
  2316. package/src/internal/stm/tQueue.ts +400 -0
  2317. package/src/internal/stm/tRandom.ts +140 -0
  2318. package/src/internal/stm/tReentrantLock.ts +352 -0
  2319. package/src/internal/stm/tRef.ts +190 -0
  2320. package/src/internal/stm/tSemaphore.ts +113 -0
  2321. package/src/internal/stm/tSet.ts +237 -0
  2322. package/src/internal/stream/debounceState.ts +57 -0
  2323. package/src/internal/stream/emit.ts +46 -0
  2324. package/src/internal/stream/haltStrategy.ts +85 -0
  2325. package/src/internal/stream/handoff.ts +185 -0
  2326. package/src/internal/stream/handoffSignal.ts +59 -0
  2327. package/src/internal/stream/pull.ts +35 -0
  2328. package/src/internal/stream/sinkEndReason.ts +30 -0
  2329. package/src/internal/stream/zipAllState.ts +88 -0
  2330. package/src/internal/stream/zipChunksState.ts +56 -0
  2331. package/src/internal/stream.ts +8092 -0
  2332. package/src/internal/string-utils.ts +107 -0
  2333. package/src/internal/subscriptionRef.ts +133 -0
  2334. package/src/internal/supervisor/patch.ts +190 -0
  2335. package/src/internal/supervisor.ts +306 -0
  2336. package/src/internal/synchronizedRef.ts +115 -0
  2337. package/src/internal/take.ts +198 -0
  2338. package/src/internal/testing/sleep.ts +27 -0
  2339. package/src/internal/testing/suspendedWarningData.ts +85 -0
  2340. package/src/internal/testing/warningData.ts +94 -0
  2341. package/src/internal/timeout.ts +23 -0
  2342. package/src/internal/tracer.ts +101 -0
  2343. package/src/tsconfig.json +48 -0
  2344. package/Debug.d.ts +0 -31
  2345. package/Debug.d.ts.map +0 -1
  2346. package/Debug.js +0 -31
  2347. package/Debug.js.map +0 -1
  2348. package/Differ.d.ts +0 -61
  2349. package/Differ.d.ts.map +0 -1
  2350. package/Differ.js +0 -38
  2351. package/Differ.js.map +0 -1
  2352. package/Fiber.d.ts +0 -51
  2353. package/Fiber.d.ts.map +0 -1
  2354. package/Fiber.js +0 -35
  2355. package/Fiber.js.map +0 -1
  2356. package/FiberRefs.d.ts +0 -21
  2357. package/FiberRefs.d.ts.map +0 -1
  2358. package/FiberRefs.js +0 -26
  2359. package/FiberRefs.js.map +0 -1
  2360. package/Metric.d.ts +0 -101
  2361. package/Metric.d.ts.map +0 -1
  2362. package/Metric.js +0 -50
  2363. package/Metric.js.map +0 -1
  2364. package/Optic.d.ts +0 -62
  2365. package/Optic.d.ts.map +0 -1
  2366. package/Optic.js +0 -70
  2367. package/Optic.js.map +0 -1
  2368. package/Ref.d.ts +0 -31
  2369. package/Ref.d.ts.map +0 -1
  2370. package/Ref.js +0 -29
  2371. package/Ref.js.map +0 -1
  2372. package/Schedule.d.ts +0 -41
  2373. package/Schedule.d.ts.map +0 -1
  2374. package/Schedule.js +0 -32
  2375. package/Schedule.js.map +0 -1
  2376. package/_mjs/Debug.mjs +0 -27
  2377. package/_mjs/Debug.mjs.map +0 -1
  2378. package/_mjs/Differ.mjs +0 -61
  2379. package/_mjs/Differ.mjs.map +0 -1
  2380. package/_mjs/Fiber.mjs +0 -51
  2381. package/_mjs/Fiber.mjs.map +0 -1
  2382. package/_mjs/FiberRefs.mjs +0 -21
  2383. package/_mjs/FiberRefs.mjs.map +0 -1
  2384. package/_mjs/Metric.mjs +0 -101
  2385. package/_mjs/Metric.mjs.map +0 -1
  2386. package/_mjs/Optic.mjs +0 -62
  2387. package/_mjs/Optic.mjs.map +0 -1
  2388. package/_mjs/Ref.mjs +0 -31
  2389. package/_mjs/Ref.mjs.map +0 -1
  2390. package/_mjs/Schedule.mjs +0 -41
  2391. package/_mjs/Schedule.mjs.map +0 -1
  2392. package/_mjs/index.mjs +0 -939
  2393. package/_mjs/index.mjs.map +0 -1
  2394. package/index.d.ts +0 -939
  2395. package/index.d.ts.map +0 -1
  2396. package/index.js +0 -217
  2397. package/index.js.map +0 -1
@@ -0,0 +1,3489 @@
1
+ import * as Boolean from "../Boolean"
2
+ import type * as Cause from "../Cause"
3
+ import * as Chunk from "../Chunk"
4
+ import type * as Clock from "../Clock"
5
+ import type { ConfigProvider } from "../ConfigProvider"
6
+ import * as Context from "../Context"
7
+ import * as Deferred from "../Deferred"
8
+ import type * as Effect from "../Effect"
9
+ import type * as Either from "../Either"
10
+ import * as ExecutionStrategy from "../ExecutionStrategy"
11
+ import type * as Exit from "../Exit"
12
+ import type * as Fiber from "../Fiber"
13
+ import * as FiberId from "../FiberId"
14
+ import type * as FiberRef from "../FiberRef"
15
+ import * as FiberRefs from "../FiberRefs"
16
+ import * as FiberRefsPatch from "../FiberRefsPatch"
17
+ import * as FiberStatus from "../FiberStatus"
18
+ import type { LazyArg } from "../Function"
19
+ import { dual, identity, pipe } from "../Function"
20
+ import { globalValue } from "../GlobalValue"
21
+ import * as HashMap from "../HashMap"
22
+ import * as HashSet from "../HashSet"
23
+ import * as _RequestBlock from "../internal/blockedRequests"
24
+ import * as internalCause from "../internal/cause"
25
+ import * as clock from "../internal/clock"
26
+ import { currentRequestMap } from "../internal/completedRequestMap"
27
+ import * as concurrency from "../internal/concurrency"
28
+ import { configProviderTag } from "../internal/configProvider"
29
+ import * as core from "../internal/core"
30
+ import * as internalEffect from "../internal/core-effect"
31
+ import * as defaultServices from "../internal/defaultServices"
32
+ import { consoleTag } from "../internal/defaultServices/console"
33
+ import * as executionStrategy from "../internal/executionStrategy"
34
+ import * as internalFiber from "../internal/fiber"
35
+ import * as FiberMessage from "../internal/fiberMessage"
36
+ import * as fiberRefs from "../internal/fiberRefs"
37
+ import * as fiberScope from "../internal/fiberScope"
38
+ import * as internalLogger from "../internal/logger"
39
+ import * as metric from "../internal/metric"
40
+ import * as metricBoundaries from "../internal/metric/boundaries"
41
+ import * as metricLabel from "../internal/metric/label"
42
+ import * as OpCodes from "../internal/opCodes/effect"
43
+ import { complete } from "../internal/request"
44
+ import * as _runtimeFlags from "../internal/runtimeFlags"
45
+ import { OpSupervision } from "../internal/runtimeFlags"
46
+ import * as supervisor from "../internal/supervisor"
47
+ import * as SupervisorPatch from "../internal/supervisor/patch"
48
+ import * as tracer from "../internal/tracer"
49
+ import type { Logger } from "../Logger"
50
+ import * as LogLevel from "../LogLevel"
51
+ import type * as MetricLabel from "../MetricLabel"
52
+ import * as MRef from "../MutableRef"
53
+ import * as Option from "../Option"
54
+ import { pipeArguments } from "../Pipeable"
55
+ import * as Predicate from "../Predicate"
56
+ import * as RA from "../ReadonlyArray"
57
+ import * as Ref from "../Ref"
58
+ import type { Entry, Request } from "../Request"
59
+ import type * as RequestBlock from "../RequestBlock"
60
+ import type * as RuntimeFlags from "../RuntimeFlags"
61
+ import * as RuntimeFlagsPatch from "../RuntimeFlagsPatch"
62
+ import { currentScheduler, type Scheduler } from "../Scheduler"
63
+ import type * as Scope from "../Scope"
64
+ import type * as Supervisor from "../Supervisor"
65
+ import type * as Tracer from "../Tracer"
66
+ import type { Concurrency } from "../Types"
67
+
68
+ /** @internal */
69
+ export const fiberStarted = metric.counter("effect_fiber_started")
70
+ /** @internal */
71
+ export const fiberActive = metric.counter("effect_fiber_active")
72
+ /** @internal */
73
+ export const fiberSuccesses = metric.counter("effect_fiber_successes")
74
+ /** @internal */
75
+ export const fiberFailures = metric.counter("effect_fiber_failures")
76
+ /** @internal */
77
+ export const fiberLifetimes = metric.tagged(
78
+ metric.histogram(
79
+ "effect_fiber_lifetimes",
80
+ metricBoundaries.exponential({
81
+ start: 1.0,
82
+ factor: 1.3,
83
+ count: 100
84
+ })
85
+ ),
86
+ "time_unit",
87
+ "milliseconds"
88
+ )
89
+
90
+ /** @internal */
91
+ type EvaluationSignal =
92
+ | EvaluationSignalContinue
93
+ | EvaluationSignalDone
94
+ | EvaluationSignalYieldNow
95
+
96
+ /** @internal */
97
+ const EvaluationSignalContinue = "Continue" as const
98
+
99
+ /** @internal */
100
+ type EvaluationSignalContinue = typeof EvaluationSignalContinue
101
+
102
+ /** @internal */
103
+ const EvaluationSignalDone = "Done" as const
104
+
105
+ /** @internal */
106
+ type EvaluationSignalDone = typeof EvaluationSignalDone
107
+
108
+ /** @internal */
109
+ const EvaluationSignalYieldNow = "Yield" as const
110
+
111
+ /** @internal */
112
+ type EvaluationSignalYieldNow = typeof EvaluationSignalYieldNow
113
+
114
+ /** @internal */
115
+ export const runtimeFiberVariance = {
116
+ _E: (_: never) => _,
117
+ _A: (_: never) => _
118
+ }
119
+
120
+ const absurd = (_: never): never => {
121
+ throw new Error(
122
+ `BUG: FiberRuntime - ${JSON.stringify(_)} - please report an issue at https://github.com/Effect-TS/io/issues`
123
+ )
124
+ }
125
+
126
+ const contOpSuccess = {
127
+ [OpCodes.OP_ON_SUCCESS]: (
128
+ _: FiberRuntime<any, any>,
129
+ cont: core.OnSuccess,
130
+ value: unknown
131
+ ) => {
132
+ return cont.i1(value)
133
+ },
134
+ ["OnStep"]: (
135
+ _: FiberRuntime<any, any>,
136
+ cont: core.OnStep,
137
+ value: unknown
138
+ ) => {
139
+ return cont.i1(core.exitSucceed(value))
140
+ },
141
+ [OpCodes.OP_ON_SUCCESS_AND_FAILURE]: (
142
+ _: FiberRuntime<any, any>,
143
+ cont: core.OnSuccessAndFailure,
144
+ value: unknown
145
+ ) => {
146
+ return cont.i2(value)
147
+ },
148
+ [OpCodes.OP_REVERT_FLAGS]: (
149
+ self: FiberRuntime<any, any>,
150
+ cont: core.RevertFlags,
151
+ value: unknown
152
+ ) => {
153
+ self.patchRuntimeFlags(self._runtimeFlags, cont.patch)
154
+ if (_runtimeFlags.interruptible(self._runtimeFlags) && self.isInterrupted()) {
155
+ return core.exitFailCause(self.getInterruptedCause())
156
+ } else {
157
+ return core.exitSucceed(value)
158
+ }
159
+ },
160
+ [OpCodes.OP_WHILE]: (
161
+ self: FiberRuntime<any, any>,
162
+ cont: core.While,
163
+ value: unknown
164
+ ) => {
165
+ cont.i2(value)
166
+ if (cont.i0()) {
167
+ self.pushStack(cont)
168
+ return cont.i1()
169
+ } else {
170
+ return core.unit
171
+ }
172
+ }
173
+ }
174
+
175
+ const drainQueueWhileRunningTable = {
176
+ [FiberMessage.OP_INTERRUPT_SIGNAL]: (
177
+ self: FiberRuntime<any, any>,
178
+ runtimeFlags: RuntimeFlags.RuntimeFlags,
179
+ cur: Effect.Effect<any, any, any>,
180
+ message: FiberMessage.FiberMessage & { _tag: FiberMessage.OP_INTERRUPT_SIGNAL }
181
+ ) => {
182
+ self.processNewInterruptSignal(message.cause)
183
+ return _runtimeFlags.interruptible(runtimeFlags) ? core.exitFailCause(message.cause) : cur
184
+ },
185
+ [FiberMessage.OP_RESUME]: (
186
+ _self: FiberRuntime<any, any>,
187
+ _runtimeFlags: RuntimeFlags.RuntimeFlags,
188
+ _cur: Effect.Effect<any, any, any>,
189
+ _message: FiberMessage.FiberMessage
190
+ ) => {
191
+ throw new Error("It is illegal to have multiple concurrent run loops in a single fiber")
192
+ },
193
+ [FiberMessage.OP_STATEFUL]: (
194
+ self: FiberRuntime<any, any>,
195
+ runtimeFlags: RuntimeFlags.RuntimeFlags,
196
+ cur: Effect.Effect<any, any, any>,
197
+ message: FiberMessage.FiberMessage & { _tag: FiberMessage.OP_STATEFUL }
198
+ ) => {
199
+ message.onFiber(self, FiberStatus.running(runtimeFlags))
200
+ return cur
201
+ },
202
+ [FiberMessage.OP_YIELD_NOW]: (
203
+ _self: FiberRuntime<any, any>,
204
+ _runtimeFlags: RuntimeFlags.RuntimeFlags,
205
+ cur: Effect.Effect<any, any, any>,
206
+ _message: FiberMessage.FiberMessage & { _tag: FiberMessage.OP_YIELD_NOW }
207
+ ) => {
208
+ return core.flatMap(core.yieldNow(), () => cur)
209
+ }
210
+ }
211
+
212
+ /**
213
+ * Executes all requests, submitting requests to each data source in parallel.
214
+ */
215
+ const runBlockedRequests = <R>(self: RequestBlock.RequestBlock<R>) =>
216
+ core.forEachSequentialDiscard(
217
+ _RequestBlock.flatten(self),
218
+ (requestsByRequestResolver) =>
219
+ forEachParUnboundedDiscard(
220
+ _RequestBlock.sequentialCollectionToChunk(requestsByRequestResolver),
221
+ ([dataSource, sequential]) => {
222
+ const map = new Map<Request<any, any>, Entry<any>>()
223
+ for (const block of sequential) {
224
+ for (const entry of block) {
225
+ map.set(entry.request as Request<any, any>, entry)
226
+ }
227
+ }
228
+ return core.fiberRefLocally(
229
+ invokeWithInterrupt(dataSource.runAll(sequential), sequential.flat()),
230
+ currentRequestMap,
231
+ map
232
+ )
233
+ },
234
+ false
235
+ )
236
+ )
237
+
238
+ /** @internal */
239
+ export class FiberRuntime<E, A> implements Fiber.RuntimeFiber<E, A> {
240
+ readonly [internalFiber.FiberTypeId] = internalFiber.fiberVariance
241
+
242
+ readonly [internalFiber.RuntimeFiberTypeId] = runtimeFiberVariance
243
+
244
+ pipe() {
245
+ return pipeArguments(this, arguments)
246
+ }
247
+
248
+ private _fiberRefs: FiberRefs.FiberRefs
249
+ private _fiberId: FiberId.Runtime
250
+ public _runtimeFlags: RuntimeFlags.RuntimeFlags
251
+
252
+ private _queue = new Array<FiberMessage.FiberMessage>()
253
+ private _children: Set<FiberRuntime<any, any>> | null = null
254
+ private _observers = new Array<(exit: Exit.Exit<E, A>) => void>()
255
+ private _running = false
256
+ private _stack: Array<core.Continuation> = []
257
+ private _asyncInterruptor: ((effect: Effect.Effect<any, any, any>) => any) | null = null
258
+ private _asyncBlockingOn: FiberId.FiberId | null = null
259
+ private _exitValue: Exit.Exit<E, A> | null = null
260
+ private _steps: Array<boolean> = [false]
261
+ public _supervisor: Supervisor.Supervisor<any>
262
+ public _scheduler: Scheduler
263
+ private _tracer: Tracer.Tracer
264
+ public currentOpCount: number = 0
265
+ private isYielding = false
266
+
267
+ constructor(
268
+ fiberId: FiberId.Runtime,
269
+ fiberRefs0: FiberRefs.FiberRefs,
270
+ runtimeFlags0: RuntimeFlags.RuntimeFlags
271
+ ) {
272
+ this._runtimeFlags = runtimeFlags0
273
+ this._fiberId = fiberId
274
+ this._fiberRefs = fiberRefs0
275
+ this._supervisor = this.getFiberRef(currentSupervisor)
276
+ this._scheduler = this.getFiberRef(currentScheduler)
277
+ if (_runtimeFlags.runtimeMetrics(runtimeFlags0)) {
278
+ const tags = this.getFiberRef(core.currentMetricLabels)
279
+ fiberStarted.unsafeUpdate(1, tags)
280
+ fiberActive.unsafeUpdate(1, tags)
281
+ }
282
+ this._tracer = Context.get(this.getFiberRef(defaultServices.currentServices), tracer.tracerTag)
283
+ }
284
+
285
+ /**
286
+ * The identity of the fiber.
287
+ */
288
+ id(): FiberId.Runtime {
289
+ return this._fiberId
290
+ }
291
+
292
+ /**
293
+ * Begins execution of the effect associated with this fiber on in the
294
+ * background. This can be called to "kick off" execution of a fiber after
295
+ * it has been created.
296
+ */
297
+ resume<E, A>(effect: Effect.Effect<any, E, A>): void {
298
+ this.tell(FiberMessage.resume(effect))
299
+ }
300
+
301
+ /**
302
+ * The status of the fiber.
303
+ */
304
+ status(): Effect.Effect<never, never, FiberStatus.FiberStatus> {
305
+ return this.ask((_, status) => status)
306
+ }
307
+
308
+ /**
309
+ * Gets the fiber runtime flags.
310
+ */
311
+ runtimeFlags(): Effect.Effect<never, never, RuntimeFlags.RuntimeFlags> {
312
+ return this.ask((state, status) => {
313
+ if (FiberStatus.isDone(status)) {
314
+ return state._runtimeFlags
315
+ }
316
+ return status.runtimeFlags
317
+ })
318
+ }
319
+
320
+ /**
321
+ * Returns the current `FiberScope` for the fiber.
322
+ */
323
+ scope(): fiberScope.FiberScope {
324
+ return fiberScope.unsafeMake(this)
325
+ }
326
+
327
+ /**
328
+ * Retrieves the immediate children of the fiber.
329
+ */
330
+ children(): Effect.Effect<never, never, Array<Fiber.RuntimeFiber<any, any>>> {
331
+ return this.ask((fiber) => Array.from(fiber.getChildren()))
332
+ }
333
+
334
+ /**
335
+ * Gets the fiber's set of children.
336
+ */
337
+ getChildren(): Set<FiberRuntime<any, any>> {
338
+ if (this._children === null) {
339
+ this._children = new Set()
340
+ }
341
+ return this._children
342
+ }
343
+
344
+ /**
345
+ * Retrieves the interrupted cause of the fiber, which will be `Cause.empty`
346
+ * if the fiber has not been interrupted.
347
+ *
348
+ * **NOTE**: This method is safe to invoke on any fiber, but if not invoked
349
+ * on this fiber, then values derived from the fiber's state (including the
350
+ * log annotations and log level) may not be up-to-date.
351
+ */
352
+ getInterruptedCause() {
353
+ return this.getFiberRef(core.currentInterruptedCause)
354
+ }
355
+
356
+ /**
357
+ * Retrieves the whole set of fiber refs.
358
+ */
359
+ fiberRefs(): Effect.Effect<never, never, FiberRefs.FiberRefs> {
360
+ return this.ask((fiber) => fiber.getFiberRefs())
361
+ }
362
+
363
+ /**
364
+ * Returns an effect that will contain information computed from the fiber
365
+ * state and status while running on the fiber.
366
+ *
367
+ * This allows the outside world to interact safely with mutable fiber state
368
+ * without locks or immutable data.
369
+ */
370
+ ask<Z>(
371
+ f: (runtime: FiberRuntime<any, any>, status: FiberStatus.FiberStatus) => Z
372
+ ): Effect.Effect<never, never, Z> {
373
+ return core.suspend(() => {
374
+ const deferred = core.deferredUnsafeMake<never, Z>(this._fiberId)
375
+ this.tell(
376
+ FiberMessage.stateful((fiber, status) => {
377
+ core.deferredUnsafeDone(deferred, core.sync(() => f(fiber, status)))
378
+ })
379
+ )
380
+ return core.deferredAwait(deferred)
381
+ })
382
+ }
383
+
384
+ /**
385
+ * Adds a message to be processed by the fiber on the fiber.
386
+ */
387
+ tell(message: FiberMessage.FiberMessage): void {
388
+ this._queue.push(message)
389
+ if (!this._running) {
390
+ this._running = true
391
+ this.drainQueueLaterOnExecutor()
392
+ }
393
+ }
394
+
395
+ await(): Effect.Effect<never, never, Exit.Exit<E, A>> {
396
+ return core.async<never, never, Exit.Exit<E, A>>((resume) => {
397
+ const cb = (exit: Exit.Exit<E, A>) => resume(core.succeed(exit))
398
+ this.tell(
399
+ FiberMessage.stateful((fiber, _) => {
400
+ if (fiber._exitValue !== null) {
401
+ cb(this._exitValue!)
402
+ } else {
403
+ fiber.addObserver(cb)
404
+ }
405
+ })
406
+ )
407
+ return core.sync(() =>
408
+ this.tell(
409
+ FiberMessage.stateful((fiber, _) => {
410
+ fiber.removeObserver(cb)
411
+ })
412
+ )
413
+ )
414
+ }, this.id())
415
+ }
416
+
417
+ inheritAll(): Effect.Effect<never, never, void> {
418
+ return core.withFiberRuntime<never, never, void>((parentFiber, parentStatus) => {
419
+ const parentFiberId = parentFiber.id()
420
+ const parentFiberRefs = parentFiber.getFiberRefs()
421
+ const parentRuntimeFlags = parentStatus.runtimeFlags
422
+ const childFiberRefs = this.getFiberRefs()
423
+ const updatedFiberRefs = fiberRefs.joinAs(parentFiberRefs, parentFiberId, childFiberRefs)
424
+
425
+ parentFiber.setFiberRefs(updatedFiberRefs)
426
+
427
+ const updatedRuntimeFlags = parentFiber.getFiberRef(currentRuntimeFlags)
428
+
429
+ const patch = pipe(
430
+ _runtimeFlags.diff(parentRuntimeFlags, updatedRuntimeFlags),
431
+ // Do not inherit WindDown or Interruption!
432
+ RuntimeFlagsPatch.exclude(_runtimeFlags.Interruption),
433
+ RuntimeFlagsPatch.exclude(_runtimeFlags.WindDown)
434
+ )
435
+
436
+ return core.updateRuntimeFlags(patch)
437
+ })
438
+ }
439
+
440
+ /**
441
+ * Tentatively observes the fiber, but returns immediately if it is not
442
+ * already done.
443
+ */
444
+ poll(): Effect.Effect<never, never, Option.Option<Exit.Exit<E, A>>> {
445
+ return core.sync(() => Option.fromNullable(this._exitValue))
446
+ }
447
+
448
+ /**
449
+ * Unsafely observes the fiber, but returns immediately if it is not
450
+ * already done.
451
+ */
452
+ unsafePoll(): Exit.Exit<E, A> | null {
453
+ return this._exitValue
454
+ }
455
+
456
+ /**
457
+ * In the background, interrupts the fiber as if interrupted from the specified fiber.
458
+ */
459
+ interruptAsFork(fiberId: FiberId.FiberId): Effect.Effect<never, never, void> {
460
+ return core.sync(() => this.tell(FiberMessage.interruptSignal(internalCause.interrupt(fiberId))))
461
+ }
462
+
463
+ /**
464
+ * Adds an observer to the list of observers.
465
+ *
466
+ * **NOTE**: This method must be invoked by the fiber itself.
467
+ */
468
+ addObserver(observer: (exit: Exit.Exit<E, A>) => void): void {
469
+ if (this._exitValue !== null) {
470
+ observer(this._exitValue!)
471
+ } else {
472
+ this._observers.push(observer)
473
+ }
474
+ }
475
+
476
+ /**
477
+ * Removes the specified observer from the list of observers that will be
478
+ * notified when the fiber exits.
479
+ *
480
+ * **NOTE**: This method must be invoked by the fiber itself.
481
+ */
482
+ removeObserver(observer: (exit: Exit.Exit<E, A>) => void): void {
483
+ this._observers = this._observers.filter((o) => o !== observer)
484
+ }
485
+ /**
486
+ * Retrieves all fiber refs of the fiber.
487
+ *
488
+ * **NOTE**: This method is safe to invoke on any fiber, but if not invoked
489
+ * on this fiber, then values derived from the fiber's state (including the
490
+ * log annotations and log level) may not be up-to-date.
491
+ */
492
+ getFiberRefs(): FiberRefs.FiberRefs {
493
+ this.setFiberRef(currentRuntimeFlags, this._runtimeFlags)
494
+ return this._fiberRefs
495
+ }
496
+
497
+ /**
498
+ * Deletes the specified fiber ref.
499
+ *
500
+ * **NOTE**: This method must be invoked by the fiber itself.
501
+ */
502
+ unsafeDeleteFiberRef<X>(fiberRef: FiberRef.FiberRef<X>): void {
503
+ this._fiberRefs = fiberRefs.delete_(this._fiberRefs, fiberRef)
504
+ }
505
+
506
+ /**
507
+ * Retrieves the state of the fiber ref, or else its initial value.
508
+ *
509
+ * **NOTE**: This method is safe to invoke on any fiber, but if not invoked
510
+ * on this fiber, then values derived from the fiber's state (including the
511
+ * log annotations and log level) may not be up-to-date.
512
+ */
513
+ getFiberRef<X>(fiberRef: FiberRef.FiberRef<X>): X {
514
+ if (this._fiberRefs.locals.has(fiberRef)) {
515
+ return this._fiberRefs.locals.get(fiberRef)![0][1] as X
516
+ }
517
+ return fiberRef.initial
518
+ }
519
+
520
+ /**
521
+ * Sets the fiber ref to the specified value.
522
+ *
523
+ * **NOTE**: This method must be invoked by the fiber itself.
524
+ */
525
+ setFiberRef<X>(fiberRef: FiberRef.FiberRef<X>, value: X): void {
526
+ this._fiberRefs = fiberRefs.updatedAs(this._fiberRefs, {
527
+ fiberId: this._fiberId,
528
+ fiberRef,
529
+ value
530
+ })
531
+ this.refreshRefCache()
532
+ }
533
+
534
+ refreshRefCache() {
535
+ this._tracer = Context.get(this.getFiberRef(defaultServices.currentServices), tracer.tracerTag)
536
+ this._supervisor = this.getFiberRef(currentSupervisor)
537
+ this._scheduler = this.getFiberRef(currentScheduler)
538
+ }
539
+
540
+ /**
541
+ * Wholesale replaces all fiber refs of this fiber.
542
+ *
543
+ * **NOTE**: This method must be invoked by the fiber itself.
544
+ */
545
+ setFiberRefs(fiberRefs: FiberRefs.FiberRefs): void {
546
+ this._fiberRefs = fiberRefs
547
+ this.refreshRefCache()
548
+ }
549
+
550
+ /**
551
+ * Adds a reference to the specified fiber inside the children set.
552
+ *
553
+ * **NOTE**: This method must be invoked by the fiber itself.
554
+ */
555
+ addChild(child: FiberRuntime<any, any>) {
556
+ this.getChildren().add(child)
557
+ }
558
+
559
+ /**
560
+ * Removes a reference to the specified fiber inside the children set.
561
+ *
562
+ * **NOTE**: This method must be invoked by the fiber itself.
563
+ */
564
+ removeChild(child: FiberRuntime<any, any>) {
565
+ this.getChildren().delete(child)
566
+ }
567
+
568
+ /**
569
+ * On the current thread, executes all messages in the fiber's inbox. This
570
+ * method may return before all work is done, in the event the fiber executes
571
+ * an asynchronous operation.
572
+ *
573
+ * **NOTE**: This method must be invoked by the fiber itself.
574
+ */
575
+ drainQueueOnCurrentThread() {
576
+ let recurse = true
577
+ while (recurse) {
578
+ let evaluationSignal: EvaluationSignal = EvaluationSignalContinue
579
+ const prev = (globalThis as any)[internalFiber.currentFiberURI]
580
+ ;(globalThis as any)[internalFiber.currentFiberURI] = this
581
+ try {
582
+ while (evaluationSignal === EvaluationSignalContinue) {
583
+ evaluationSignal = this._queue.length === 0 ?
584
+ EvaluationSignalDone :
585
+ this.evaluateMessageWhileSuspended(this._queue.splice(0, 1)[0]!)
586
+ }
587
+ } finally {
588
+ this._running = false
589
+ ;(globalThis as any)[internalFiber.currentFiberURI] = prev
590
+ }
591
+ // Maybe someone added something to the queue between us checking, and us
592
+ // giving up the drain. If so, we need to restart the draining, but only
593
+ // if we beat everyone else to the restart:
594
+ if (this._queue.length > 0 && !this._running) {
595
+ this._running = true
596
+ if (evaluationSignal === EvaluationSignalYieldNow) {
597
+ this.drainQueueLaterOnExecutor()
598
+ recurse = false
599
+ } else {
600
+ recurse = true
601
+ }
602
+ } else {
603
+ recurse = false
604
+ }
605
+ }
606
+ }
607
+
608
+ /**
609
+ * Schedules the execution of all messages in the fiber's inbox.
610
+ *
611
+ * This method will return immediately after the scheduling
612
+ * operation is completed, but potentially before such messages have been
613
+ * executed.
614
+ *
615
+ * **NOTE**: This method must be invoked by the fiber itself.
616
+ */
617
+ drainQueueLaterOnExecutor() {
618
+ this._scheduler.scheduleTask(
619
+ this.run,
620
+ this.getFiberRef(core.currentSchedulingPriority)
621
+ )
622
+ }
623
+
624
+ /**
625
+ * Drains the fiber's message queue while the fiber is actively running,
626
+ * returning the next effect to execute, which may be the input effect if no
627
+ * additional effect needs to be executed.
628
+ *
629
+ * **NOTE**: This method must be invoked by the fiber itself.
630
+ */
631
+ drainQueueWhileRunning(
632
+ runtimeFlags: RuntimeFlags.RuntimeFlags,
633
+ cur0: Effect.Effect<any, any, any>
634
+ ) {
635
+ let cur = cur0
636
+ while (this._queue.length > 0) {
637
+ const message = this._queue.splice(0, 1)[0]
638
+ // @ts-expect-error
639
+ cur = drainQueueWhileRunningTable[message._tag](this, runtimeFlags, cur, message)
640
+ }
641
+ return cur
642
+ }
643
+
644
+ /**
645
+ * Determines if the fiber is interrupted.
646
+ *
647
+ * **NOTE**: This method is safe to invoke on any fiber, but if not invoked
648
+ * on this fiber, then values derived from the fiber's state (including the
649
+ * log annotations and log level) may not be up-to-date.
650
+ */
651
+ isInterrupted(): boolean {
652
+ return !internalCause.isEmpty(this.getFiberRef(core.currentInterruptedCause))
653
+ }
654
+
655
+ /**
656
+ * Adds an interruptor to the set of interruptors that are interrupting this
657
+ * fiber.
658
+ *
659
+ * **NOTE**: This method must be invoked by the fiber itself.
660
+ */
661
+ addInterruptedCause(cause: Cause.Cause<never>) {
662
+ const oldSC = this.getFiberRef(core.currentInterruptedCause)
663
+ this.setFiberRef(core.currentInterruptedCause, internalCause.sequential(oldSC, cause))
664
+ }
665
+
666
+ /**
667
+ * Processes a new incoming interrupt signal.
668
+ *
669
+ * **NOTE**: This method must be invoked by the fiber itself.
670
+ */
671
+ processNewInterruptSignal(cause: Cause.Cause<never>): void {
672
+ this.addInterruptedCause(cause)
673
+ this.sendInterruptSignalToAllChildren()
674
+ }
675
+
676
+ /**
677
+ * Interrupts all children of the current fiber, returning an effect that will
678
+ * await the exit of the children. This method will return null if the fiber
679
+ * has no children.
680
+ *
681
+ * **NOTE**: This method must be invoked by the fiber itself.
682
+ */
683
+ sendInterruptSignalToAllChildren(): boolean {
684
+ if (this._children === null || this._children.size === 0) {
685
+ return false
686
+ }
687
+ let told = false
688
+ for (const child of this._children) {
689
+ child.tell(FiberMessage.interruptSignal(internalCause.interrupt(this.id())))
690
+ told = true
691
+ }
692
+ return told
693
+ }
694
+
695
+ /**
696
+ * Interrupts all children of the current fiber, returning an effect that will
697
+ * await the exit of the children. This method will return null if the fiber
698
+ * has no children.
699
+ *
700
+ * **NOTE**: This method must be invoked by the fiber itself.
701
+ */
702
+ interruptAllChildren() {
703
+ if (this.sendInterruptSignalToAllChildren()) {
704
+ const it = this._children!.values()
705
+ this._children = null
706
+ let isDone = false
707
+ const body = () => {
708
+ const next = it.next()
709
+ if (!next.done) {
710
+ return core.asUnit(next.value.await())
711
+ } else {
712
+ return core.sync(() => {
713
+ isDone = true
714
+ })
715
+ }
716
+ }
717
+ return core.whileLoop({
718
+ while: () => !isDone,
719
+ body,
720
+ step: () => {
721
+ //
722
+ }
723
+ })
724
+ }
725
+ return null
726
+ }
727
+
728
+ reportExitValue(exit: Exit.Exit<E, A>) {
729
+ if (_runtimeFlags.runtimeMetrics(this._runtimeFlags)) {
730
+ const tags = this.getFiberRef(core.currentMetricLabels)
731
+ fiberActive.unsafeUpdate(-1, tags)
732
+ switch (exit._tag) {
733
+ case OpCodes.OP_SUCCESS: {
734
+ fiberSuccesses.unsafeUpdate(1, tags)
735
+ break
736
+ }
737
+ case OpCodes.OP_FAILURE: {
738
+ fiberFailures.unsafeUpdate(1, tags)
739
+ break
740
+ }
741
+ }
742
+ }
743
+ if (exit._tag === "Failure") {
744
+ const level = this.getFiberRef(core.currentUnhandledErrorLogLevel)
745
+ if (!internalCause.isInterruptedOnly(exit.cause) && level._tag === "Some") {
746
+ this.log("Fiber terminated with a non handled error", exit.cause, level)
747
+ }
748
+ }
749
+ }
750
+
751
+ setExitValue(exit: Exit.Exit<E, A>) {
752
+ this._exitValue = exit
753
+
754
+ if (_runtimeFlags.runtimeMetrics(this._runtimeFlags)) {
755
+ const tags = this.getFiberRef(core.currentMetricLabels)
756
+ const startTimeMillis = this.id().startTimeMillis
757
+ const endTimeMillis = new Date().getTime()
758
+ fiberLifetimes.unsafeUpdate(endTimeMillis - startTimeMillis, tags)
759
+ }
760
+
761
+ this.reportExitValue(exit)
762
+
763
+ for (let i = this._observers.length - 1; i >= 0; i--) {
764
+ this._observers[i](exit)
765
+ }
766
+ }
767
+
768
+ getLoggers() {
769
+ return this.getFiberRef(currentLoggers)
770
+ }
771
+
772
+ log(
773
+ message: unknown,
774
+ cause: Cause.Cause<any>,
775
+ overrideLogLevel: Option.Option<LogLevel.LogLevel>
776
+ ): void {
777
+ const logLevel = Option.isSome(overrideLogLevel) ?
778
+ overrideLogLevel.value :
779
+ this.getFiberRef(core.currentLogLevel)
780
+ const minimumLogLevel = this.getFiberRef(currentMinimumLogLevel)
781
+ if (LogLevel.greaterThan(minimumLogLevel, logLevel)) {
782
+ return
783
+ }
784
+ const spans = this.getFiberRef(core.currentLogSpan)
785
+ const annotations = this.getFiberRef(core.currentLogAnnotations)
786
+ const loggers = this.getLoggers()
787
+ const contextMap = this.getFiberRefs()
788
+ if (HashSet.size(loggers) > 0) {
789
+ const clockService = Context.get(this.getFiberRef(defaultServices.currentServices), clock.clockTag)
790
+ const date = new Date(clockService.unsafeCurrentTimeMillis())
791
+ for (const logger of loggers) {
792
+ logger.log({
793
+ fiberId: this.id(),
794
+ logLevel,
795
+ message,
796
+ cause,
797
+ context: contextMap,
798
+ spans,
799
+ annotations,
800
+ date
801
+ })
802
+ }
803
+ }
804
+ }
805
+
806
+ /**
807
+ * Evaluates a single message on the current thread, while the fiber is
808
+ * suspended. This method should only be called while evaluation of the
809
+ * fiber's effect is suspended due to an asynchronous operation.
810
+ *
811
+ * **NOTE**: This method must be invoked by the fiber itself.
812
+ */
813
+ evaluateMessageWhileSuspended(message: FiberMessage.FiberMessage): EvaluationSignal {
814
+ switch (message._tag) {
815
+ case FiberMessage.OP_YIELD_NOW: {
816
+ return EvaluationSignalYieldNow
817
+ }
818
+ case FiberMessage.OP_INTERRUPT_SIGNAL: {
819
+ this.processNewInterruptSignal(message.cause)
820
+ if (this._asyncInterruptor !== null) {
821
+ this._asyncInterruptor(core.exitFailCause(message.cause))
822
+ this._asyncInterruptor = null
823
+ }
824
+ return EvaluationSignalContinue
825
+ }
826
+ case FiberMessage.OP_RESUME: {
827
+ this._asyncInterruptor = null
828
+ this._asyncBlockingOn = null
829
+ this.evaluateEffect(message.effect)
830
+ return EvaluationSignalContinue
831
+ }
832
+ case FiberMessage.OP_STATEFUL: {
833
+ message.onFiber(
834
+ this,
835
+ this._exitValue !== null ?
836
+ FiberStatus.done :
837
+ FiberStatus.suspended(this._runtimeFlags, this._asyncBlockingOn!)
838
+ )
839
+ return EvaluationSignalContinue
840
+ }
841
+ default: {
842
+ return absurd(message)
843
+ }
844
+ }
845
+ }
846
+
847
+ /**
848
+ * Evaluates an effect until completion, potentially asynchronously.
849
+ *
850
+ * **NOTE**: This method must be invoked by the fiber itself.
851
+ */
852
+ evaluateEffect(effect0: Effect.Effect<any, any, any>) {
853
+ this._supervisor.onResume(this)
854
+ try {
855
+ let effect: Effect.Effect<any, any, any> | null =
856
+ _runtimeFlags.interruptible(this._runtimeFlags) && this.isInterrupted() ?
857
+ core.exitFailCause(this.getInterruptedCause()) :
858
+ effect0
859
+ while (effect !== null) {
860
+ try {
861
+ const eff: Effect.Effect<any, any, any> = effect
862
+ const exit = this.runLoop(eff)
863
+ this._runtimeFlags = pipe(this._runtimeFlags, _runtimeFlags.enable(_runtimeFlags.WindDown))
864
+ const interruption = this.interruptAllChildren()
865
+ if (interruption !== null) {
866
+ effect = core.flatMap(interruption, () => exit)
867
+ } else {
868
+ if (this._queue.length === 0) {
869
+ // No more messages to process, so we will allow the fiber to end life:
870
+ this.setExitValue(exit)
871
+ } else {
872
+ // There are messages, possibly added by the final op executed by
873
+ // the fiber. To be safe, we should execute those now before we
874
+ // allow the fiber to end life:
875
+ this.tell(FiberMessage.resume(exit))
876
+ }
877
+ effect = null
878
+ }
879
+ } catch (e) {
880
+ if (core.isEffect(e)) {
881
+ if ((e as core.Primitive)._op === OpCodes.OP_YIELD) {
882
+ if (_runtimeFlags.cooperativeYielding(this._runtimeFlags)) {
883
+ this.tell(FiberMessage.yieldNow())
884
+ this.tell(FiberMessage.resume(core.exitUnit))
885
+ effect = null
886
+ } else {
887
+ effect = core.exitUnit
888
+ }
889
+ } else if ((e as core.Primitive)._op === OpCodes.OP_ASYNC) {
890
+ // Terminate this evaluation, async resumption will continue evaluation:
891
+ effect = null
892
+ }
893
+ } else {
894
+ throw e
895
+ }
896
+ }
897
+ }
898
+ } finally {
899
+ this._supervisor.onSuspend(this)
900
+ }
901
+ }
902
+
903
+ /**
904
+ * Begins execution of the effect associated with this fiber on the current
905
+ * thread. This can be called to "kick off" execution of a fiber after it has
906
+ * been created, in hopes that the effect can be executed synchronously.
907
+ *
908
+ * This is not the normal way of starting a fiber, but it is useful when the
909
+ * express goal of executing the fiber is to synchronously produce its exit.
910
+ */
911
+ start<R>(effect: Effect.Effect<R, E, A>): void {
912
+ if (!this._running) {
913
+ this._running = true
914
+ const prev = (globalThis as any)[internalFiber.currentFiberURI]
915
+ ;(globalThis as any)[internalFiber.currentFiberURI] = this
916
+ try {
917
+ this.evaluateEffect(effect)
918
+ } finally {
919
+ this._running = false
920
+ ;(globalThis as any)[internalFiber.currentFiberURI] = prev
921
+ // Because we're special casing `start`, we have to be responsible
922
+ // for spinning up the fiber if there were new messages added to
923
+ // the queue between the completion of the effect and the transition
924
+ // to the not running state.
925
+ if (this._queue.length > 0) {
926
+ this.drainQueueLaterOnExecutor()
927
+ }
928
+ }
929
+ } else {
930
+ this.tell(FiberMessage.resume(effect))
931
+ }
932
+ }
933
+
934
+ /**
935
+ * Begins execution of the effect associated with this fiber on in the
936
+ * background, and on the correct thread pool. This can be called to "kick
937
+ * off" execution of a fiber after it has been created, in hopes that the
938
+ * effect can be executed synchronously.
939
+ */
940
+ startFork<R>(effect: Effect.Effect<R, E, A>): void {
941
+ this.tell(FiberMessage.resume(effect))
942
+ }
943
+
944
+ /**
945
+ * Takes the current runtime flags, patches them to return the new runtime
946
+ * flags, and then makes any changes necessary to fiber state based on the
947
+ * specified patch.
948
+ *
949
+ * **NOTE**: This method must be invoked by the fiber itself.
950
+ */
951
+ patchRuntimeFlags(oldRuntimeFlags: RuntimeFlags.RuntimeFlags, patch: RuntimeFlagsPatch.RuntimeFlagsPatch) {
952
+ const newRuntimeFlags = _runtimeFlags.patch(oldRuntimeFlags, patch)
953
+ ;(globalThis as any)[internalFiber.currentFiberURI] = this
954
+ this._runtimeFlags = newRuntimeFlags
955
+ return newRuntimeFlags
956
+ }
957
+
958
+ /**
959
+ * Initiates an asynchronous operation, by building a callback that will
960
+ * resume execution, and then feeding that callback to the registration
961
+ * function, handling error cases and repeated resumptions appropriately.
962
+ *
963
+ * **NOTE**: This method must be invoked by the fiber itself.
964
+ */
965
+ initiateAsync(
966
+ runtimeFlags: RuntimeFlags.RuntimeFlags,
967
+ asyncRegister: (resume: (effect: Effect.Effect<any, any, any>) => void) => void
968
+ ) {
969
+ let alreadyCalled = false
970
+ const callback = (effect: Effect.Effect<any, any, any>) => {
971
+ if (!alreadyCalled) {
972
+ alreadyCalled = true
973
+ this.tell(FiberMessage.resume(effect))
974
+ }
975
+ }
976
+ if (_runtimeFlags.interruptible(runtimeFlags)) {
977
+ this._asyncInterruptor = callback
978
+ }
979
+ try {
980
+ asyncRegister(callback)
981
+ } catch (e) {
982
+ callback(core.failCause(internalCause.die(e)))
983
+ }
984
+ }
985
+
986
+ pushStack(cont: core.Continuation) {
987
+ this._stack.push(cont)
988
+ if (cont._op === "OnStep") {
989
+ this._steps.push(true)
990
+ }
991
+ if (cont._op === "RevertFlags") {
992
+ this._steps.push(false)
993
+ }
994
+ }
995
+
996
+ popStack() {
997
+ const item = this._stack.pop()
998
+ if (item) {
999
+ if (item._op === "OnStep" || item._op === "RevertFlags") {
1000
+ this._steps.pop()
1001
+ }
1002
+ return item
1003
+ }
1004
+ return
1005
+ }
1006
+
1007
+ getNextSuccessCont() {
1008
+ let frame = this.popStack()
1009
+ while (frame) {
1010
+ if (frame._op !== OpCodes.OP_ON_FAILURE) {
1011
+ return frame
1012
+ }
1013
+ frame = this.popStack()
1014
+ }
1015
+ }
1016
+
1017
+ getNextFailCont() {
1018
+ let frame = this.popStack()
1019
+ while (frame) {
1020
+ if (frame._op !== OpCodes.OP_ON_SUCCESS && frame._op !== OpCodes.OP_WHILE) {
1021
+ return frame
1022
+ }
1023
+ frame = this.popStack()
1024
+ }
1025
+ }
1026
+
1027
+ [OpCodes.OP_TAG](op: core.Primitive & { _op: OpCodes.OP_SYNC }) {
1028
+ return core.map(
1029
+ core.fiberRefGet(core.currentContext),
1030
+ (context) => {
1031
+ try {
1032
+ return Context.unsafeGet(context, op as unknown as Context.Tag<any, any>)
1033
+ } catch (e) {
1034
+ console.log(e)
1035
+ throw e
1036
+ }
1037
+ }
1038
+ )
1039
+ }
1040
+
1041
+ ["Left"](op: core.Primitive & { _op: "Left" }) {
1042
+ return core.fail(op.left)
1043
+ }
1044
+
1045
+ ["None"](_: core.Primitive & { _op: "None" }) {
1046
+ return core.fail(internalCause.NoSuchElementException())
1047
+ }
1048
+
1049
+ ["Right"](op: core.Primitive & { _op: "Right" }) {
1050
+ return core.exitSucceed(op.right)
1051
+ }
1052
+
1053
+ ["Some"](op: core.Primitive & { _op: "Some" }) {
1054
+ return core.exitSucceed(op.value)
1055
+ }
1056
+
1057
+ [OpCodes.OP_SYNC](op: core.Primitive & { _op: OpCodes.OP_SYNC }) {
1058
+ const value = op.i0()
1059
+ const cont = this.getNextSuccessCont()
1060
+ if (cont !== undefined) {
1061
+ if (!(cont._op in contOpSuccess)) {
1062
+ // @ts-expect-error
1063
+ absurd(cont)
1064
+ }
1065
+ // @ts-expect-error
1066
+ return contOpSuccess[cont._op](this, cont, value)
1067
+ } else {
1068
+ throw core.exitSucceed(value)
1069
+ }
1070
+ }
1071
+
1072
+ [OpCodes.OP_SUCCESS](op: core.Primitive & { _op: OpCodes.OP_SUCCESS }) {
1073
+ const oldCur = op
1074
+ const cont = this.getNextSuccessCont()
1075
+ if (cont !== undefined) {
1076
+ if (!(cont._op in contOpSuccess)) {
1077
+ // @ts-expect-error
1078
+ absurd(cont)
1079
+ }
1080
+ // @ts-expect-error
1081
+ return contOpSuccess[cont._op](this, cont, oldCur.i0)
1082
+ } else {
1083
+ throw oldCur
1084
+ }
1085
+ }
1086
+
1087
+ [OpCodes.OP_FAILURE](op: core.Primitive & { _op: OpCodes.OP_FAILURE }) {
1088
+ const cause = op.i0
1089
+ const cont = this.getNextFailCont()
1090
+ if (cont !== undefined) {
1091
+ switch (cont._op) {
1092
+ case OpCodes.OP_ON_FAILURE:
1093
+ case OpCodes.OP_ON_SUCCESS_AND_FAILURE: {
1094
+ if (!(_runtimeFlags.interruptible(this._runtimeFlags) && this.isInterrupted())) {
1095
+ return cont.i1(cause)
1096
+ } else {
1097
+ return core.exitFailCause(internalCause.stripFailures(cause))
1098
+ }
1099
+ }
1100
+ case "OnStep": {
1101
+ if (!(_runtimeFlags.interruptible(this._runtimeFlags) && this.isInterrupted())) {
1102
+ return cont.i1(core.exitFailCause(cause))
1103
+ } else {
1104
+ return core.exitFailCause(internalCause.stripFailures(cause))
1105
+ }
1106
+ }
1107
+ case OpCodes.OP_REVERT_FLAGS: {
1108
+ this.patchRuntimeFlags(this._runtimeFlags, cont.patch)
1109
+ if (_runtimeFlags.interruptible(this._runtimeFlags) && this.isInterrupted()) {
1110
+ return core.exitFailCause(internalCause.sequential(cause, this.getInterruptedCause()))
1111
+ } else {
1112
+ return core.exitFailCause(cause)
1113
+ }
1114
+ }
1115
+ default: {
1116
+ absurd(cont)
1117
+ }
1118
+ }
1119
+ } else {
1120
+ throw core.exitFailCause(cause)
1121
+ }
1122
+ }
1123
+
1124
+ [OpCodes.OP_WITH_RUNTIME](op: core.Primitive & { _op: OpCodes.OP_WITH_RUNTIME }) {
1125
+ return op.i0(
1126
+ this as FiberRuntime<unknown, unknown>,
1127
+ FiberStatus.running(this._runtimeFlags) as FiberStatus.Running
1128
+ )
1129
+ }
1130
+
1131
+ ["Blocked"](op: core.Primitive & { _op: "Blocked" }) {
1132
+ if (this._steps[this._steps.length - 1]) {
1133
+ const nextOp = this.popStack()
1134
+ if (nextOp) {
1135
+ switch (nextOp._op) {
1136
+ case "OnStep": {
1137
+ return nextOp.i1(op)
1138
+ }
1139
+ case "OnSuccess": {
1140
+ return core.blocked(op.i0, core.flatMap(op.i1, nextOp.i1))
1141
+ }
1142
+ case "OnSuccessAndFailure": {
1143
+ return core.blocked(
1144
+ op.i0,
1145
+ core.matchCauseEffect(op.i1, {
1146
+ onFailure: nextOp.i1,
1147
+ onSuccess: nextOp.i2
1148
+ })
1149
+ )
1150
+ }
1151
+ case "OnFailure": {
1152
+ return core.blocked(op.i0, core.catchAllCause(op.i1, nextOp.i1))
1153
+ }
1154
+ case "While": {
1155
+ return core.blocked(
1156
+ op.i0,
1157
+ core.flatMap(op.i1, (a) => {
1158
+ nextOp.i2(a)
1159
+ if (nextOp.i0()) {
1160
+ return core.whileLoop({
1161
+ while: nextOp.i0,
1162
+ body: nextOp.i1,
1163
+ step: nextOp.i2
1164
+ })
1165
+ }
1166
+ return core.unit
1167
+ })
1168
+ )
1169
+ }
1170
+ case "RevertFlags": {
1171
+ this.pushStack(nextOp)
1172
+ break
1173
+ }
1174
+ }
1175
+ }
1176
+ }
1177
+ return core.uninterruptibleMask((restore) =>
1178
+ core.flatMap(
1179
+ fork(core.runRequestBlock(op.i0)),
1180
+ () => restore(op.i1)
1181
+ )
1182
+ )
1183
+ }
1184
+
1185
+ ["RunBlocked"](op: core.Primitive & { _op: "RunBlocked" }) {
1186
+ return runBlockedRequests(op.i0)
1187
+ }
1188
+
1189
+ [OpCodes.OP_UPDATE_RUNTIME_FLAGS](op: core.Primitive & { _op: OpCodes.OP_UPDATE_RUNTIME_FLAGS }) {
1190
+ const updateFlags = op.i0
1191
+ const oldRuntimeFlags = this._runtimeFlags
1192
+ const newRuntimeFlags = _runtimeFlags.patch(oldRuntimeFlags, updateFlags)
1193
+ // One more chance to short circuit: if we're immediately going
1194
+ // to interrupt. Interruption will cause immediate reversion of
1195
+ // the flag, so as long as we "peek ahead", there's no need to
1196
+ // set them to begin with.
1197
+ if (_runtimeFlags.interruptible(newRuntimeFlags) && this.isInterrupted()) {
1198
+ return core.exitFailCause(this.getInterruptedCause())
1199
+ } else {
1200
+ // Impossible to short circuit, so record the changes
1201
+ this.patchRuntimeFlags(this._runtimeFlags, updateFlags)
1202
+ if (op.i1) {
1203
+ // Since we updated the flags, we need to revert them
1204
+ const revertFlags = _runtimeFlags.diff(newRuntimeFlags, oldRuntimeFlags)
1205
+ this.pushStack(new core.RevertFlags(revertFlags, op))
1206
+ return op.i1(oldRuntimeFlags)
1207
+ } else {
1208
+ return core.exitUnit
1209
+ }
1210
+ }
1211
+ }
1212
+
1213
+ [OpCodes.OP_ON_SUCCESS](op: core.Primitive & { _op: OpCodes.OP_ON_SUCCESS }) {
1214
+ this.pushStack(op)
1215
+ return op.i0
1216
+ }
1217
+
1218
+ ["OnStep"](op: core.Primitive & { _op: "OnStep" }) {
1219
+ this.pushStack(op)
1220
+ return op.i0
1221
+ }
1222
+
1223
+ [OpCodes.OP_ON_FAILURE](op: core.Primitive & { _op: OpCodes.OP_ON_FAILURE }) {
1224
+ this.pushStack(op)
1225
+ return op.i0
1226
+ }
1227
+
1228
+ [OpCodes.OP_ON_SUCCESS_AND_FAILURE](op: core.Primitive & { _op: OpCodes.OP_ON_SUCCESS_AND_FAILURE }) {
1229
+ this.pushStack(op)
1230
+ return op.i0
1231
+ }
1232
+
1233
+ [OpCodes.OP_ASYNC](op: core.Primitive & { _op: OpCodes.OP_ASYNC }) {
1234
+ this._asyncBlockingOn = op.i1
1235
+ this.initiateAsync(this._runtimeFlags, op.i0)
1236
+ throw op
1237
+ }
1238
+
1239
+ [OpCodes.OP_YIELD](op: core.Primitive & { op: OpCodes.OP_YIELD }) {
1240
+ this.isYielding = false
1241
+ throw op
1242
+ }
1243
+
1244
+ [OpCodes.OP_WHILE](op: core.Primitive & { _op: OpCodes.OP_WHILE }) {
1245
+ const check = op.i0
1246
+ const body = op.i1
1247
+ if (check()) {
1248
+ this.pushStack(op)
1249
+ return body()
1250
+ } else {
1251
+ return core.exitUnit
1252
+ }
1253
+ }
1254
+
1255
+ [OpCodes.OP_COMMIT](op: core.Primitive & { _op: OpCodes.OP_COMMIT }) {
1256
+ return op.commit()
1257
+ }
1258
+
1259
+ /**
1260
+ * The main run-loop for evaluating effects.
1261
+ *
1262
+ * **NOTE**: This method must be invoked by the fiber itself.
1263
+ */
1264
+ runLoop(effect0: Effect.Effect<any, any, any>): Exit.Exit<any, any> {
1265
+ let cur = effect0
1266
+ this.currentOpCount = 0
1267
+ // eslint-disable-next-line no-constant-condition
1268
+ while (true) {
1269
+ if ((this._runtimeFlags & OpSupervision) !== 0) {
1270
+ this._supervisor.onEffect(this, cur)
1271
+ }
1272
+ if (this._queue.length > 0) {
1273
+ cur = this.drainQueueWhileRunning(this._runtimeFlags, cur)
1274
+ }
1275
+ if (!this.isYielding) {
1276
+ this.currentOpCount += 1
1277
+ const shouldYield = this._scheduler.shouldYield(this)
1278
+ if (shouldYield !== false) {
1279
+ this.isYielding = true
1280
+ this.currentOpCount = 0
1281
+ const oldCur = cur
1282
+ cur = core.flatMap(core.yieldNow({ priority: shouldYield }), () => oldCur)
1283
+ }
1284
+ }
1285
+ try {
1286
+ if (!("_op" in cur)) {
1287
+ console.log(cur)
1288
+ }
1289
+ if (!((cur as core.Primitive)._op in this)) {
1290
+ if (typeof cur === "function") {
1291
+ console.log((cur as any)())
1292
+ }
1293
+ // @ts-expect-error
1294
+ absurd(cur)
1295
+ }
1296
+ // @ts-expect-error
1297
+ cur = this._tracer.context(
1298
+ // @ts-expect-error
1299
+ () => this[(cur as core.Primitive)._op](cur as core.Primitive),
1300
+ this
1301
+ )
1302
+ } catch (e) {
1303
+ if (core.isEffect(e)) {
1304
+ if (
1305
+ (e as core.Primitive)._op === OpCodes.OP_YIELD ||
1306
+ (e as core.Primitive)._op === OpCodes.OP_ASYNC
1307
+ ) {
1308
+ throw e
1309
+ }
1310
+ if (
1311
+ (e as core.Primitive)._op === OpCodes.OP_SUCCESS ||
1312
+ (e as core.Primitive)._op === OpCodes.OP_FAILURE
1313
+ ) {
1314
+ return e as Exit.Exit<E, A>
1315
+ }
1316
+ } else {
1317
+ if (core.isEffectError(e)) {
1318
+ cur = core.exitFailCause(e.cause)
1319
+ } else if (internalCause.isInterruptedException(e)) {
1320
+ cur = core.exitFailCause(
1321
+ internalCause.sequential(internalCause.die(e), internalCause.interrupt(FiberId.none))
1322
+ )
1323
+ } else {
1324
+ cur = core.exitFailCause(internalCause.die(e))
1325
+ }
1326
+ }
1327
+ }
1328
+ }
1329
+ }
1330
+
1331
+ run = () => {
1332
+ this.drainQueueOnCurrentThread()
1333
+ }
1334
+ }
1335
+
1336
+ // circular with Logger
1337
+
1338
+ /** @internal */
1339
+ export const currentMinimumLogLevel: FiberRef.FiberRef<LogLevel.LogLevel> = globalValue(
1340
+ "effect/FiberRef/currentMinimumLogLevel",
1341
+ () => core.fiberRefUnsafeMake<LogLevel.LogLevel>(LogLevel.fromLiteral("Info"))
1342
+ )
1343
+
1344
+ /** @internal */
1345
+ export const getConsole = (refs: FiberRefs.FiberRefs) => {
1346
+ const defaultServicesValue = FiberRefs.getOrDefault(refs, defaultServices.currentServices)
1347
+ const cnsl = Context.get(defaultServicesValue, consoleTag)
1348
+ return cnsl.unsafe
1349
+ }
1350
+
1351
+ /** @internal */
1352
+ export const defaultLogger: Logger<unknown, void> = globalValue(
1353
+ Symbol.for("effect/Logger/defaultLogger"),
1354
+ () =>
1355
+ internalLogger.makeLogger((options) => {
1356
+ const formatted = internalLogger.stringLogger.log(options)
1357
+ getConsole(options.context).log(formatted)
1358
+ })
1359
+ )
1360
+
1361
+ /** @internal */
1362
+ export const logFmtLogger: Logger<unknown, void> = globalValue(
1363
+ Symbol.for("effect/Logger/logFmtLogger"),
1364
+ () =>
1365
+ internalLogger.makeLogger((options) => {
1366
+ const formatted = internalLogger.logfmtLogger.log(options)
1367
+ getConsole(options.context).log(formatted)
1368
+ })
1369
+ )
1370
+
1371
+ /** @internal */
1372
+ export const tracerLogger = globalValue(
1373
+ Symbol.for("effect/Logger/tracerLogger"),
1374
+ () =>
1375
+ internalLogger.makeLogger<unknown, void>(({
1376
+ annotations,
1377
+ cause,
1378
+ context,
1379
+ fiberId,
1380
+ logLevel,
1381
+ message
1382
+ }) => {
1383
+ const span = Option.flatMap(fiberRefs.get(context, core.currentContext), Context.getOption(tracer.spanTag))
1384
+ const clockService = Option.map(
1385
+ fiberRefs.get(context, defaultServices.currentServices),
1386
+ (_) => Context.get(_, clock.clockTag)
1387
+ )
1388
+ if (span._tag === "None" || span.value._tag === "ExternalSpan" || clockService._tag === "None") {
1389
+ return
1390
+ }
1391
+
1392
+ const attributes = Object.fromEntries(HashMap.map(annotations, (value) => internalLogger.serializeUnknown(value)))
1393
+ attributes["effect.fiberId"] = FiberId.threadName(fiberId)
1394
+ attributes["effect.logLevel"] = logLevel.label
1395
+
1396
+ if (cause !== null && cause._tag !== "Empty") {
1397
+ attributes["effect.cause"] = internalCause.pretty(cause)
1398
+ }
1399
+
1400
+ span.value.event(
1401
+ String(message),
1402
+ clockService.value.unsafeCurrentTimeNanos(),
1403
+ attributes
1404
+ )
1405
+ })
1406
+ )
1407
+
1408
+ /** @internal */
1409
+ export const currentLoggers: FiberRef.FiberRef<
1410
+ HashSet.HashSet<Logger<unknown, any>>
1411
+ > = globalValue(
1412
+ Symbol.for("effect/FiberRef/currentLoggers"),
1413
+ () => core.fiberRefUnsafeMakeHashSet(HashSet.make(defaultLogger, tracerLogger))
1414
+ )
1415
+
1416
+ // circular with Effect
1417
+
1418
+ /* @internal */
1419
+ export const acquireRelease: {
1420
+ <A, R2, X>(
1421
+ release: (a: A, exit: Exit.Exit<unknown, unknown>) => Effect.Effect<R2, never, X>
1422
+ ): <R, E>(acquire: Effect.Effect<R, E, A>) => Effect.Effect<R2 | R | Scope.Scope, E, A>
1423
+ <R, E, A, R2, X>(
1424
+ acquire: Effect.Effect<R, E, A>,
1425
+ release: (a: A, exit: Exit.Exit<unknown, unknown>) => Effect.Effect<R2, never, X>
1426
+ ): Effect.Effect<Scope.Scope | R | R2, E, A>
1427
+ } = dual<
1428
+ {
1429
+ <A, R2, X>(
1430
+ release: (a: A, exit: Exit.Exit<unknown, unknown>) => Effect.Effect<R2, never, X>
1431
+ ): <R, E>(acquire: Effect.Effect<R, E, A>) => Effect.Effect<R | R2 | Scope.Scope, E, A>
1432
+ },
1433
+ {
1434
+ <R, E, A, R2, X>(
1435
+ acquire: Effect.Effect<R, E, A>,
1436
+ release: (a: A, exit: Exit.Exit<unknown, unknown>) => Effect.Effect<R2, never, X>
1437
+ ): Effect.Effect<R | R2 | Scope.Scope, E, A>
1438
+ }
1439
+ >((args) => core.isEffect(args[0]), (acquire, release) => {
1440
+ return core.uninterruptible(
1441
+ core.tap(acquire, (a) => addFinalizer((exit) => release(a, exit)))
1442
+ )
1443
+ })
1444
+
1445
+ /* @internal */
1446
+ export const acquireReleaseInterruptible: {
1447
+ <A, R2, X>(
1448
+ release: (exit: Exit.Exit<unknown, unknown>) => Effect.Effect<R2, never, X>
1449
+ ): <R, E>(acquire: Effect.Effect<R, E, A>) => Effect.Effect<Scope.Scope | R2 | R, E, A>
1450
+ <R, E, A, R2, X>(
1451
+ acquire: Effect.Effect<R, E, A>,
1452
+ release: (exit: Exit.Exit<unknown, unknown>) => Effect.Effect<R2, never, X>
1453
+ ): Effect.Effect<Scope.Scope | R | R2, E, A>
1454
+ } = dual<
1455
+ {
1456
+ <A, R2, X>(
1457
+ release: (exit: Exit.Exit<unknown, unknown>) => Effect.Effect<R2, never, X>
1458
+ ): <R, E>(acquire: Effect.Effect<R, E, A>) => Effect.Effect<R | R2 | Scope.Scope, E, A>
1459
+ },
1460
+ {
1461
+ <R, E, A, R2, X>(
1462
+ acquire: Effect.Effect<R, E, A>,
1463
+ release: (exit: Exit.Exit<unknown, unknown>) => Effect.Effect<R2, never, X>
1464
+ ): Effect.Effect<R | R2 | Scope.Scope, E, A>
1465
+ }
1466
+ >((args) => core.isEffect(args[0]), (acquire, release) => {
1467
+ return ensuring(
1468
+ acquire,
1469
+ addFinalizer((exit) => release(exit))
1470
+ )
1471
+ })
1472
+
1473
+ /* @internal */
1474
+ export const addFinalizer = <R, X>(
1475
+ finalizer: (exit: Exit.Exit<unknown, unknown>) => Effect.Effect<R, never, X>
1476
+ ): Effect.Effect<R | Scope.Scope, never, void> =>
1477
+ core.withFiberRuntime(
1478
+ (runtime) => {
1479
+ const acquireRefs = runtime.getFiberRefs()
1480
+ const acquireFlags = runtime._runtimeFlags
1481
+ return core.flatMap(scope, (scope) =>
1482
+ core.scopeAddFinalizerExit(scope, (exit) =>
1483
+ core.withFiberRuntime((runtimeFinalizer) => {
1484
+ const preRefs = runtimeFinalizer.getFiberRefs()
1485
+ const preFlags = runtimeFinalizer._runtimeFlags
1486
+ const patchRefs = FiberRefsPatch.diff(preRefs, acquireRefs)
1487
+ const patchFlags = _runtimeFlags.diff(preFlags, acquireFlags)
1488
+ const inverseRefs = FiberRefsPatch.diff(acquireRefs, preRefs)
1489
+ runtimeFinalizer.setFiberRefs(
1490
+ FiberRefsPatch.patch(patchRefs, runtimeFinalizer.id(), acquireRefs)
1491
+ )
1492
+
1493
+ return ensuring(
1494
+ core.withRuntimeFlags(finalizer(exit) as Effect.Effect<never, never, X>, patchFlags),
1495
+ core.sync(() => {
1496
+ runtimeFinalizer.setFiberRefs(
1497
+ FiberRefsPatch.patch(inverseRefs, runtimeFinalizer.id(), runtimeFinalizer.getFiberRefs())
1498
+ )
1499
+ })
1500
+ )
1501
+ })))
1502
+ }
1503
+ )
1504
+
1505
+ /* @internal */
1506
+ export const daemonChildren = <R, E, A>(self: Effect.Effect<R, E, A>): Effect.Effect<R, E, A> => {
1507
+ const forkScope = core.fiberRefLocally(core.currentForkScopeOverride, Option.some(fiberScope.globalScope))
1508
+ return forkScope(self)
1509
+ }
1510
+
1511
+ /** @internal */
1512
+ const _existsParFound = Symbol.for("effect/Effect/existsPar/found")
1513
+
1514
+ /* @internal */
1515
+ export const exists = dual<
1516
+ <R, E, A>(f: (a: A, i: number) => Effect.Effect<R, E, boolean>, options?: {
1517
+ readonly concurrency?: Concurrency
1518
+ readonly batching?: boolean | "inherit"
1519
+ }) => (elements: Iterable<A>) => Effect.Effect<R, E, boolean>,
1520
+ <R, E, A>(elements: Iterable<A>, f: (a: A, i: number) => Effect.Effect<R, E, boolean>, options?: {
1521
+ readonly concurrency: Concurrency
1522
+ readonly batching?: boolean | "inherit"
1523
+ }) => Effect.Effect<R, E, boolean>
1524
+ >((args) => Predicate.isIterable(args[0]), (elements, f, options) =>
1525
+ concurrency.matchSimple(
1526
+ options,
1527
+ () => core.suspend(() => existsLoop(elements[Symbol.iterator](), 0, f)),
1528
+ () =>
1529
+ core.matchEffect(
1530
+ forEachOptions(
1531
+ elements,
1532
+ (a, i) => core.if_(f(a, i), { onTrue: core.fail(_existsParFound), onFalse: core.unit }),
1533
+ options
1534
+ ),
1535
+ {
1536
+ onFailure: (e) => e === _existsParFound ? core.succeed(true) : core.fail(e),
1537
+ onSuccess: () => core.succeed(false)
1538
+ }
1539
+ )
1540
+ ))
1541
+
1542
+ const existsLoop = <R, E, A>(
1543
+ iterator: Iterator<A>,
1544
+ index: number,
1545
+ f: (a: A, i: number) => Effect.Effect<R, E, boolean>
1546
+ ): Effect.Effect<R, E, boolean> => {
1547
+ const next = iterator.next()
1548
+ if (next.done) {
1549
+ return core.succeed(false)
1550
+ }
1551
+ return pipe(core.flatMap(
1552
+ f(next.value, index),
1553
+ (b) => b ? core.succeed(b) : existsLoop(iterator, index + 1, f)
1554
+ ))
1555
+ }
1556
+
1557
+ /* @internal */
1558
+ export const filter = dual<
1559
+ <A, R, E>(
1560
+ f: (a: A, i: number) => Effect.Effect<R, E, boolean>,
1561
+ options?: {
1562
+ readonly concurrency?: Concurrency
1563
+ readonly batching?: boolean | "inherit"
1564
+ readonly negate?: boolean
1565
+ }
1566
+ ) => (elements: Iterable<A>) => Effect.Effect<R, E, Array<A>>,
1567
+ <A, R, E>(elements: Iterable<A>, f: (a: A, i: number) => Effect.Effect<R, E, boolean>, options?: {
1568
+ readonly concurrency?: Concurrency
1569
+ readonly batching?: boolean | "inherit"
1570
+ readonly negate?: boolean
1571
+ }) => Effect.Effect<R, E, Array<A>>
1572
+ >(
1573
+ (args) => Predicate.isIterable(args[0]),
1574
+ <A, R, E>(elements: Iterable<A>, f: (a: A, i: number) => Effect.Effect<R, E, boolean>, options?: {
1575
+ readonly concurrency?: Concurrency
1576
+ readonly batching?: boolean | "inherit"
1577
+ readonly negate?: boolean
1578
+ }) => {
1579
+ const predicate = options?.negate ? (a: A, i: number) => core.map(f(a, i), Boolean.not) : f
1580
+ return concurrency.matchSimple(
1581
+ options,
1582
+ () =>
1583
+ core.suspend(() =>
1584
+ RA.fromIterable(elements).reduceRight(
1585
+ (effect, a, i) =>
1586
+ core.zipWith(
1587
+ effect,
1588
+ core.suspend(() => predicate(a, i)),
1589
+ (list, b) => b ? [a, ...list] : list
1590
+ ),
1591
+ core.sync(() => new Array<A>()) as Effect.Effect<R, E, Array<A>>
1592
+ )
1593
+ ),
1594
+ () =>
1595
+ core.map(
1596
+ forEachOptions(
1597
+ elements,
1598
+ (a, i) => core.map(predicate(a, i), (b) => (b ? Option.some(a) : Option.none())),
1599
+ options
1600
+ ),
1601
+ RA.compact
1602
+ )
1603
+ )
1604
+ }
1605
+ )
1606
+
1607
+ // === all
1608
+
1609
+ const allResolveInput = (
1610
+ input: Iterable<Effect.Effect<any, any, any>> | Record<string, Effect.Effect<any, any, any>>
1611
+ ): readonly [Iterable<Effect.Effect<any, any, any>>, Option.Option<(as: ReadonlyArray<any>) => any>] => {
1612
+ if (Array.isArray(input) || Predicate.isIterable(input)) {
1613
+ return [input, Option.none()]
1614
+ }
1615
+ const keys = Object.keys(input)
1616
+ const size = keys.length
1617
+ return [
1618
+ keys.map((k) => input[k]),
1619
+ Option.some((values: ReadonlyArray<any>) => {
1620
+ const res = {}
1621
+ for (let i = 0; i < size; i++) {
1622
+ ;(res as any)[keys[i]] = values[i]
1623
+ }
1624
+ return res
1625
+ })
1626
+ ]
1627
+ }
1628
+
1629
+ const allValidate = (
1630
+ effects: Iterable<Effect.Effect<any, any, any>>,
1631
+ reconcile: Option.Option<(as: ReadonlyArray<any>) => any>,
1632
+ options?: {
1633
+ readonly concurrency?: Concurrency
1634
+ readonly batching?: boolean | "inherit"
1635
+ readonly discard?: boolean
1636
+ readonly mode?: "default" | "validate" | "either"
1637
+ }
1638
+ ) => {
1639
+ const eitherEffects: Array<Effect.Effect<unknown, never, Either.Either<unknown, unknown>>> = []
1640
+ for (const effect of effects) {
1641
+ eitherEffects.push(core.either(effect))
1642
+ }
1643
+ return core.flatMap(
1644
+ forEachOptions(eitherEffects, identity, {
1645
+ concurrency: options?.concurrency,
1646
+ batching: options?.batching
1647
+ }),
1648
+ (eithers) => {
1649
+ const none = Option.none()
1650
+ const size = eithers.length
1651
+ const errors: Array<unknown> = new Array(size)
1652
+ const successes: Array<unknown> = new Array(size)
1653
+ let errored = false
1654
+ for (let i = 0; i < size; i++) {
1655
+ const either = eithers[i] as Either.Either<unknown, unknown>
1656
+ if (either._tag === "Left") {
1657
+ errors[i] = Option.some(either.left)
1658
+ errored = true
1659
+ } else {
1660
+ successes[i] = either.right
1661
+ errors[i] = none
1662
+ }
1663
+ }
1664
+ if (errored) {
1665
+ return reconcile._tag === "Some" ?
1666
+ core.fail(reconcile.value(errors)) :
1667
+ core.fail(errors)
1668
+ } else if (options?.discard) {
1669
+ return core.unit
1670
+ }
1671
+ return reconcile._tag === "Some" ?
1672
+ core.succeed(reconcile.value(successes)) :
1673
+ core.succeed(successes)
1674
+ }
1675
+ )
1676
+ }
1677
+
1678
+ const allEither = (
1679
+ effects: Iterable<Effect.Effect<any, any, any>>,
1680
+ reconcile: Option.Option<(as: ReadonlyArray<any>) => any>,
1681
+ options?: {
1682
+ readonly concurrency?: Concurrency
1683
+ readonly batching?: boolean | "inherit"
1684
+ readonly discard?: boolean
1685
+ readonly mode?: "default" | "validate" | "either"
1686
+ }
1687
+ ) => {
1688
+ const eitherEffects: Array<Effect.Effect<unknown, never, Either.Either<unknown, unknown>>> = []
1689
+ for (const effect of effects) {
1690
+ eitherEffects.push(core.either(effect))
1691
+ }
1692
+
1693
+ if (options?.discard) {
1694
+ return forEachOptions(eitherEffects, identity, {
1695
+ concurrency: options?.concurrency,
1696
+ batching: options?.batching,
1697
+ discard: true
1698
+ })
1699
+ }
1700
+
1701
+ return core.map(
1702
+ forEachOptions(eitherEffects, identity, {
1703
+ concurrency: options?.concurrency,
1704
+ batching: options?.batching
1705
+ }),
1706
+ (eithers) =>
1707
+ reconcile._tag === "Some" ?
1708
+ reconcile.value(eithers) :
1709
+ eithers
1710
+ )
1711
+ }
1712
+
1713
+ /* @internal */
1714
+ export const all = <
1715
+ const Arg extends Iterable<Effect.Effect<any, any, any>> | Record<string, Effect.Effect<any, any, any>>,
1716
+ O extends {
1717
+ readonly concurrency?: Concurrency
1718
+ readonly batching?: boolean | "inherit"
1719
+ readonly discard?: boolean
1720
+ readonly mode?: "default" | "validate" | "either"
1721
+ }
1722
+ >(
1723
+ arg: Arg,
1724
+ options?: O
1725
+ ): Effect.All.Return<Arg, O> => {
1726
+ const [effects, reconcile] = allResolveInput(arg)
1727
+
1728
+ if (options?.mode === "validate") {
1729
+ return allValidate(effects, reconcile, options) as any
1730
+ } else if (options?.mode === "either") {
1731
+ return allEither(effects, reconcile, options) as any
1732
+ }
1733
+
1734
+ return reconcile._tag === "Some"
1735
+ ? core.map(
1736
+ forEachOptions(effects, identity, options as any),
1737
+ reconcile.value
1738
+ ) as any
1739
+ : forEachOptions(effects, identity, options as any) as any
1740
+ }
1741
+
1742
+ /* @internal */
1743
+ export const allWith = <
1744
+ O extends {
1745
+ readonly concurrency?: Concurrency
1746
+ readonly batching?: boolean | "inherit"
1747
+ readonly discard?: boolean
1748
+ readonly mode?: "default" | "validate" | "either"
1749
+ }
1750
+ >(options?: O) =>
1751
+ <const Arg extends Iterable<Effect.Effect<any, any, any>> | Record<string, Effect.Effect<any, any, any>>>(
1752
+ arg: Arg
1753
+ ): Effect.All.Return<Arg, O> => all(arg, options)
1754
+
1755
+ /* @internal */
1756
+ export const allSuccesses = <R, E, A>(
1757
+ elements: Iterable<Effect.Effect<R, E, A>>,
1758
+ options?: {
1759
+ readonly concurrency?: Concurrency
1760
+ readonly batching?: boolean | "inherit"
1761
+ }
1762
+ ): Effect.Effect<R, never, Array<A>> =>
1763
+ core.map(
1764
+ all(RA.fromIterable(elements).map(core.exit), options),
1765
+ RA.filterMap((exit) => core.exitIsSuccess(exit) ? Option.some(exit.i0) : Option.none())
1766
+ )
1767
+
1768
+ /* @internal */
1769
+ export const replicate = dual<
1770
+ (n: number) => <R, E, A>(self: Effect.Effect<R, E, A>) => Array<Effect.Effect<R, E, A>>,
1771
+ <R, E, A>(self: Effect.Effect<R, E, A>, n: number) => Array<Effect.Effect<R, E, A>>
1772
+ >(2, (self, n) => Array.from({ length: n }, () => self))
1773
+
1774
+ /* @internal */
1775
+ export const replicateEffect = dual<
1776
+ {
1777
+ (n: number, options?: {
1778
+ readonly concurrency?: Concurrency
1779
+ readonly batching?: boolean | "inherit"
1780
+ readonly discard?: false
1781
+ }): <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, E, Array<A>>
1782
+ (n: number, options: {
1783
+ readonly concurrency?: Concurrency
1784
+ readonly batching?: boolean | "inherit"
1785
+ readonly discard: true
1786
+ }): <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, E, void>
1787
+ },
1788
+ {
1789
+ <R, E, A>(self: Effect.Effect<R, E, A>, n: number, options?: {
1790
+ readonly concurrency?: Concurrency
1791
+ readonly batching?: boolean | "inherit"
1792
+ readonly discard?: false
1793
+ }): Effect.Effect<R, E, Array<A>>
1794
+ <R, E, A>(self: Effect.Effect<R, E, A>, n: number, options: {
1795
+ readonly concurrency?: Concurrency
1796
+ readonly batching?: boolean | "inherit"
1797
+ readonly discard: true
1798
+ }): Effect.Effect<R, E, void>
1799
+ }
1800
+ >(
1801
+ (args) => core.isEffect(args[0]),
1802
+ (self, n, options) =>
1803
+ all(
1804
+ replicate(self, n),
1805
+ options as {
1806
+ readonly concurrency?: Concurrency
1807
+ readonly batching?: boolean | "inherit"
1808
+ readonly discard?: boolean
1809
+ }
1810
+ )
1811
+ )
1812
+
1813
+ // @ts-expect-error
1814
+ export const forEachOptions = dual<
1815
+ {
1816
+ <A, R, E, B>(f: (a: A, i: number) => Effect.Effect<R, E, B>, options?: {
1817
+ readonly concurrency?: Concurrency
1818
+ readonly batching?: boolean | "inherit"
1819
+ readonly discard?: false
1820
+ }): (self: Iterable<A>) => Effect.Effect<R, E, Array<B>>
1821
+ <A, R, E, B>(f: (a: A, i: number) => Effect.Effect<R, E, B>, options: {
1822
+ readonly concurrency?: Concurrency
1823
+ readonly batching?: boolean | "inherit"
1824
+ readonly discard: true
1825
+ }): (self: Iterable<A>) => Effect.Effect<R, E, void>
1826
+ },
1827
+ {
1828
+ <A, R, E, B>(self: Iterable<A>, f: (a: A, i: number) => Effect.Effect<R, E, B>, options?: {
1829
+ readonly concurrency?: Concurrency
1830
+ readonly batching?: boolean | "inherit"
1831
+ readonly discard?: false
1832
+ }): Effect.Effect<R, E, Array<B>>
1833
+ <A, R, E, B>(self: Iterable<A>, f: (a: A, i: number) => Effect.Effect<R, E, B>, options: {
1834
+ readonly concurrency?: Concurrency
1835
+ readonly batching?: boolean | "inherit"
1836
+ readonly discard: true
1837
+ }): Effect.Effect<R, E, void>
1838
+ }
1839
+ >((args) => Predicate.isIterable(args[0]), (self, f, options) =>
1840
+ core.withFiberRuntime((r) => {
1841
+ const requestBatchingEnabled = options?.batching === true ||
1842
+ (options?.batching === "inherit" && r.getFiberRef(core.currentRequestBatching))
1843
+
1844
+ if (options?.discard) {
1845
+ return concurrency.match(
1846
+ options,
1847
+ () =>
1848
+ finalizersMask(ExecutionStrategy.sequential)((restore) =>
1849
+ requestBatchingEnabled
1850
+ ? forEachBatchedDiscard(self, (a, i) => restore(f(a, i)))
1851
+ : core.forEachSequentialDiscard(self, (a, i) => restore(f(a, i)))
1852
+ ),
1853
+ () =>
1854
+ finalizersMask(ExecutionStrategy.parallel)((restore) =>
1855
+ forEachParUnboundedDiscard(self, (a, i) => restore(f(a, i)), requestBatchingEnabled)
1856
+ ),
1857
+ (n) =>
1858
+ finalizersMask(ExecutionStrategy.parallelN(n))((restore) =>
1859
+ forEachParNDiscard(self, n, (a, i) => restore(f(a, i)), requestBatchingEnabled)
1860
+ )
1861
+ )
1862
+ }
1863
+
1864
+ return concurrency.match(
1865
+ options,
1866
+ () =>
1867
+ finalizersMask(ExecutionStrategy.sequential)((restore) =>
1868
+ requestBatchingEnabled
1869
+ ? forEachParN(self, 1, (a, i) => restore(f(a, i)), true)
1870
+ : core.forEachSequential(self, (a, i) => restore(f(a, i)))
1871
+ ),
1872
+ () =>
1873
+ finalizersMask(ExecutionStrategy.parallel)((restore) =>
1874
+ forEachParUnbounded(self, (a, i) => restore(f(a, i)), requestBatchingEnabled)
1875
+ ),
1876
+ (n) =>
1877
+ finalizersMask(ExecutionStrategy.parallelN(n))((restore) =>
1878
+ forEachParN(self, n, (a, i) => restore(f(a, i)), requestBatchingEnabled)
1879
+ )
1880
+ )
1881
+ }))
1882
+
1883
+ /* @internal */
1884
+ export const forEachParUnbounded = <A, R, E, B>(
1885
+ self: Iterable<A>,
1886
+ f: (a: A, i: number) => Effect.Effect<R, E, B>,
1887
+ batching: boolean
1888
+ ): Effect.Effect<R, E, Array<B>> =>
1889
+ core.suspend(() => {
1890
+ const as = RA.fromIterable(self)
1891
+ const array = new Array<B>(as.length)
1892
+ const fn = (a: A, i: number) => core.flatMap(f(a, i), (b) => core.sync(() => array[i] = b))
1893
+ return core.zipRight(forEachParUnboundedDiscard(as, fn, batching), core.succeed(array))
1894
+ })
1895
+
1896
+ const forEachBatchedDiscard = <R, E, A, _>(
1897
+ self: Iterable<A>,
1898
+ f: (a: A, i: number) => Effect.Effect<R, E, _>
1899
+ ): Effect.Effect<R, E, void> =>
1900
+ core.suspend(() => {
1901
+ const as = RA.fromIterable(self)
1902
+ const size = as.length
1903
+ if (size === 0) {
1904
+ return core.unit
1905
+ } else if (size === 1) {
1906
+ return core.asUnit(f(as[0], 0))
1907
+ }
1908
+ const effects = as.map(f)
1909
+ const blocked = new Array<Effect.Blocked<R, E, void>>()
1910
+ const loop = (i: number): Effect.Effect<R, E, void> =>
1911
+ i === effects.length ?
1912
+ core.suspend(() => {
1913
+ if (blocked.length > 0) {
1914
+ const requests = blocked.map((b) => b.i0).reduce(_RequestBlock.par)
1915
+ return core.blocked(
1916
+ requests,
1917
+ forEachBatchedDiscard(blocked.map((b) => b.i1), identity)
1918
+ )
1919
+ }
1920
+ return core.unit
1921
+ }) :
1922
+ core.flatMapStep(effects[i], (s) => {
1923
+ if (s._op === "Blocked") {
1924
+ blocked.push(s)
1925
+ return loop(i + 1)
1926
+ } else if (s._op === "Failure") {
1927
+ return core.suspend(() => {
1928
+ if (blocked.length > 0) {
1929
+ const requests = blocked.map((b) => b.i0).reduce(_RequestBlock.par)
1930
+ return core.blocked(
1931
+ requests,
1932
+ core.flatMap(forEachBatchedDiscard(blocked.map((b) => b.i1), identity), () => s)
1933
+ )
1934
+ }
1935
+ return core.unit
1936
+ })
1937
+ } else {
1938
+ return loop(i + 1)
1939
+ }
1940
+ })
1941
+ return loop(0)
1942
+ })
1943
+
1944
+ /* @internal */
1945
+ export const forEachParUnboundedDiscard = <R, E, A, _>(
1946
+ self: Iterable<A>,
1947
+ f: (a: A, i: number) => Effect.Effect<R, E, _>,
1948
+ batching: boolean
1949
+ ): Effect.Effect<R, E, void> =>
1950
+ core.suspend(() => {
1951
+ const as = RA.fromIterable(self)
1952
+ const size = as.length
1953
+ if (size === 0) {
1954
+ return core.unit
1955
+ } else if (size === 1) {
1956
+ return core.asUnit(f(as[0], 0))
1957
+ }
1958
+ return core.uninterruptibleMask((restore) => {
1959
+ const deferred = core.deferredUnsafeMake<void, Effect.Effect<any, any, any>>(FiberId.none)
1960
+ let ref = 0
1961
+ const residual: Array<Effect.Blocked<any, any, any>> = []
1962
+ const joinOrder: Array<Fiber.RuntimeFiber<any, any>> = []
1963
+ const process = core.transplant((graft) =>
1964
+ core.forEachSequential(as, (a, i) =>
1965
+ pipe(
1966
+ graft(pipe(
1967
+ core.suspend(() => restore((batching ? core.step : core.exit)(f(a, i)))),
1968
+ core.flatMap(
1969
+ (exit) => {
1970
+ switch (exit._op) {
1971
+ case "Failure": {
1972
+ if (residual.length > 0) {
1973
+ const requests = residual.map((blocked) => blocked.i0).reduce(_RequestBlock.par)
1974
+ const _continue = forEachParUnboundedDiscard(residual, (blocked) => blocked.i1, batching)
1975
+ return core.blocked(
1976
+ requests,
1977
+ core.matchCauseEffect(_continue, {
1978
+ onFailure: (cause) =>
1979
+ core.zipRight(
1980
+ core.deferredFail(deferred, void 0),
1981
+ core.failCause(internalCause.parallel(cause, exit.cause))
1982
+ ),
1983
+ onSuccess: () =>
1984
+ core.zipRight(
1985
+ core.deferredFail(deferred, void 0),
1986
+ core.failCause(exit.cause)
1987
+ )
1988
+ })
1989
+ )
1990
+ }
1991
+ return core.zipRight(
1992
+ core.deferredFail(deferred, void 0),
1993
+ core.failCause(exit.cause)
1994
+ )
1995
+ }
1996
+ default: {
1997
+ if (exit._op === "Blocked") {
1998
+ residual.push(exit)
1999
+ }
2000
+ if (ref + 1 === size) {
2001
+ if (residual.length > 0) {
2002
+ const requests = residual.map((blocked) => blocked.i0).reduce(_RequestBlock.par)
2003
+ const _continue = forEachParUnboundedDiscard(residual, (blocked) => blocked.i1, batching)
2004
+ return core.deferredSucceed(deferred, core.blocked(requests, _continue))
2005
+ } else {
2006
+ core.deferredUnsafeDone(deferred, core.exitSucceed(core.exitUnit))
2007
+ }
2008
+ } else {
2009
+ ref = ref + 1
2010
+ }
2011
+ return core.unit
2012
+ }
2013
+ }
2014
+ }
2015
+ )
2016
+ )),
2017
+ forkDaemon,
2018
+ core.map((fiber) => {
2019
+ fiber.addObserver(() => {
2020
+ joinOrder.push(fiber)
2021
+ })
2022
+ return fiber
2023
+ })
2024
+ ))
2025
+ )
2026
+ return core.flatMap(process, (fibers) =>
2027
+ core.matchCauseEffect(
2028
+ restore(core.deferredAwait(deferred)),
2029
+ {
2030
+ onFailure: (cause) =>
2031
+ core.flatMap(
2032
+ forEachParUnbounded(fibers, core.interruptFiber, batching),
2033
+ (exits) => {
2034
+ const exit = core.exitCollectAll(exits, { parallel: true })
2035
+ if (exit._tag === "Some" && core.exitIsFailure(exit.value)) {
2036
+ return core.failCause(
2037
+ internalCause.parallel(internalCause.stripFailures(cause), exit.value.i0)
2038
+ )
2039
+ } else {
2040
+ return core.failCause(internalCause.stripFailures(cause))
2041
+ }
2042
+ }
2043
+ ),
2044
+ onSuccess: (rest) =>
2045
+ core.flatMap(rest, () => core.forEachSequentialDiscard(joinOrder, (f) => f.inheritAll()))
2046
+ }
2047
+ ))
2048
+ })
2049
+ })
2050
+
2051
+ /* @internal */
2052
+ export const forEachParN = <A, R, E, B>(
2053
+ self: Iterable<A>,
2054
+ n: number,
2055
+ f: (a: A, i: number) => Effect.Effect<R, E, B>,
2056
+ batching: boolean
2057
+ ): Effect.Effect<R, E, Array<B>> =>
2058
+ core.suspend(() => {
2059
+ const as = RA.fromIterable(self)
2060
+ const array = new Array<B>(as.length)
2061
+ const fn = (a: A, i: number) => core.map(f(a, i), (b) => array[i] = b)
2062
+ return core.zipRight(forEachParNDiscard(as, n, fn, batching), core.succeed(array))
2063
+ })
2064
+
2065
+ /* @internal */
2066
+ export const forEachParNDiscard = <A, R, E, _>(
2067
+ self: Iterable<A>,
2068
+ n: number,
2069
+ f: (a: A, i: number) => Effect.Effect<R, E, _>,
2070
+ batching: boolean
2071
+ ): Effect.Effect<R, E, void> =>
2072
+ core.suspend(() => {
2073
+ let i = 0
2074
+ const iterator = self[Symbol.iterator]()
2075
+ const residual: Array<Effect.Blocked<any, any, any>> = []
2076
+ const worker: Effect.Effect<R, E, void> = core.flatMap(
2077
+ core.sync(() => iterator.next()),
2078
+ (next) =>
2079
+ next.done ?
2080
+ core.unit :
2081
+ core.flatMap((batching ? core.step : core.exit)(core.asUnit(f(next.value, i++))), (res) => {
2082
+ switch (res._op) {
2083
+ case "Blocked": {
2084
+ residual.push(res)
2085
+ return worker
2086
+ }
2087
+ case "Failure": {
2088
+ return res
2089
+ }
2090
+ case "Success":
2091
+ return worker
2092
+ }
2093
+ })
2094
+ )
2095
+ const effects: Array<Effect.Effect<R, E, void>> = []
2096
+ for (let i = 0; i < n; i++) {
2097
+ effects.push(worker)
2098
+ }
2099
+ return core.flatMap(core.exit(forEachParUnboundedDiscard(effects, identity, batching)), (exit) => {
2100
+ if (residual.length === 0) {
2101
+ return exit
2102
+ }
2103
+ const requests = residual.map((blocked) => blocked.i0).reduce(_RequestBlock.par)
2104
+ const _continue = forEachParNDiscard(residual, n, (blocked) => blocked.i1, batching)
2105
+ if (exit._tag === "Failure") {
2106
+ return core.blocked(
2107
+ requests,
2108
+ core.matchCauseEffect(_continue, {
2109
+ onFailure: (cause) => core.exitFailCause(internalCause.parallel(exit.cause, cause)),
2110
+ onSuccess: () => exit
2111
+ })
2112
+ )
2113
+ }
2114
+ return core.blocked(requests, _continue)
2115
+ })
2116
+ })
2117
+
2118
+ /* @internal */
2119
+ export const fork = <R, E, A>(self: Effect.Effect<R, E, A>): Effect.Effect<R, never, Fiber.RuntimeFiber<E, A>> =>
2120
+ core.withFiberRuntime<R, never, Fiber.RuntimeFiber<E, A>>((state, status) =>
2121
+ core.succeed(unsafeFork(self, state, status.runtimeFlags))
2122
+ )
2123
+
2124
+ /* @internal */
2125
+ export const forkDaemon = <R, E, A>(self: Effect.Effect<R, E, A>): Effect.Effect<R, never, Fiber.RuntimeFiber<E, A>> =>
2126
+ forkWithScopeOverride(self, fiberScope.globalScope)
2127
+
2128
+ /* @internal */
2129
+ export const forkWithErrorHandler = dual<
2130
+ <E, X>(
2131
+ handler: (e: E) => Effect.Effect<never, never, X>
2132
+ ) => <R, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, never, Fiber.RuntimeFiber<E, A>>,
2133
+ <R, E, A, X>(
2134
+ self: Effect.Effect<R, E, A>,
2135
+ handler: (e: E) => Effect.Effect<never, never, X>
2136
+ ) => Effect.Effect<R, never, Fiber.RuntimeFiber<E, A>>
2137
+ >(2, (self, handler) =>
2138
+ fork(core.onError(self, (cause) => {
2139
+ const either = internalCause.failureOrCause(cause)
2140
+ switch (either._tag) {
2141
+ case "Left": {
2142
+ return handler(either.left)
2143
+ }
2144
+ case "Right": {
2145
+ return core.failCause(either.right)
2146
+ }
2147
+ }
2148
+ })))
2149
+
2150
+ /** @internal */
2151
+ export const unsafeFork = <R, E, A, E2, B>(
2152
+ effect: Effect.Effect<R, E, A>,
2153
+ parentFiber: FiberRuntime<E2, B>,
2154
+ parentRuntimeFlags: RuntimeFlags.RuntimeFlags,
2155
+ overrideScope: fiberScope.FiberScope | null = null
2156
+ ): FiberRuntime<E, A> => {
2157
+ const childFiber = unsafeMakeChildFiber(effect, parentFiber, parentRuntimeFlags, overrideScope)
2158
+ childFiber.resume(effect)
2159
+ return childFiber
2160
+ }
2161
+
2162
+ /** @internal */
2163
+ export const unsafeMakeChildFiber = <R, E, A, E2, B>(
2164
+ effect: Effect.Effect<R, E, A>,
2165
+ parentFiber: FiberRuntime<E2, B>,
2166
+ parentRuntimeFlags: RuntimeFlags.RuntimeFlags,
2167
+ overrideScope: fiberScope.FiberScope | null = null
2168
+ ): FiberRuntime<E, A> => {
2169
+ const childId = FiberId.unsafeMake()
2170
+ const parentFiberRefs = parentFiber.getFiberRefs()
2171
+ const childFiberRefs = fiberRefs.forkAs(parentFiberRefs, childId)
2172
+ const childFiber = new FiberRuntime<E, A>(childId, childFiberRefs, parentRuntimeFlags)
2173
+ const childContext = fiberRefs.getOrDefault(
2174
+ childFiberRefs,
2175
+ core.currentContext as unknown as FiberRef.FiberRef<Context.Context<R>>
2176
+ )
2177
+ const supervisor = childFiber._supervisor
2178
+
2179
+ supervisor.onStart(
2180
+ childContext,
2181
+ effect,
2182
+ Option.some(parentFiber),
2183
+ childFiber
2184
+ )
2185
+
2186
+ childFiber.addObserver((exit) => supervisor.onEnd(exit, childFiber))
2187
+
2188
+ const parentScope = overrideScope !== null ? overrideScope : pipe(
2189
+ parentFiber.getFiberRef(core.currentForkScopeOverride),
2190
+ Option.getOrElse(() => parentFiber.scope())
2191
+ )
2192
+
2193
+ parentScope.add(parentRuntimeFlags, childFiber)
2194
+
2195
+ return childFiber
2196
+ }
2197
+
2198
+ /* @internal */
2199
+ const forkWithScopeOverride = <R, E, A>(
2200
+ self: Effect.Effect<R, E, A>,
2201
+ scopeOverride: fiberScope.FiberScope
2202
+ ): Effect.Effect<R, never, Fiber.RuntimeFiber<E, A>> =>
2203
+ core.withFiberRuntime<R, never, Fiber.RuntimeFiber<E, A>>((parentFiber, parentStatus) =>
2204
+ core.succeed(unsafeFork(self, parentFiber, parentStatus.runtimeFlags, scopeOverride))
2205
+ )
2206
+
2207
+ /* @internal */
2208
+ export const mergeAll = dual<
2209
+ <Z, A>(zero: Z, f: (z: Z, a: A, i: number) => Z, options?: {
2210
+ readonly concurrency?: Concurrency
2211
+ readonly batching?: boolean | "inherit"
2212
+ }) => <R, E>(elements: Iterable<Effect.Effect<R, E, A>>) => Effect.Effect<R, E, Z>,
2213
+ <R, E, A, Z>(elements: Iterable<Effect.Effect<R, E, A>>, zero: Z, f: (z: Z, a: A, i: number) => Z, options?: {
2214
+ readonly concurrency?: Concurrency
2215
+ readonly batching?: boolean | "inherit"
2216
+ }) => Effect.Effect<R, E, Z>
2217
+ >(
2218
+ (args) => Predicate.isIterable(args[0]),
2219
+ <R, E, A, Z>(elements: Iterable<Effect.Effect<R, E, A>>, zero: Z, f: (z: Z, a: A, i: number) => Z, options?: {
2220
+ readonly concurrency?: Concurrency
2221
+ readonly batching?: boolean | "inherit"
2222
+ }) =>
2223
+ concurrency.matchSimple(
2224
+ options,
2225
+ () =>
2226
+ RA.fromIterable(elements).reduce(
2227
+ (acc, a, i) => core.zipWith(acc, a, (acc, a) => f(acc, a, i)),
2228
+ core.succeed(zero) as Effect.Effect<R, E, Z>
2229
+ ),
2230
+ () =>
2231
+ core.flatMap(Ref.make(zero), (acc) =>
2232
+ core.flatMap(
2233
+ forEachOptions(
2234
+ elements,
2235
+ (effect, i) => core.flatMap(effect, (a) => Ref.update(acc, (b) => f(b, a, i))),
2236
+ options
2237
+ ),
2238
+ () => Ref.get(acc)
2239
+ ))
2240
+ )
2241
+ )
2242
+
2243
+ /* @internal */
2244
+ export const partition = dual<
2245
+ <R, E, A, B>(
2246
+ f: (a: A, i: number) => Effect.Effect<R, E, B>,
2247
+ options?: {
2248
+ readonly concurrency?: Concurrency
2249
+ readonly batching?: boolean | "inherit"
2250
+ }
2251
+ ) => (elements: Iterable<A>) => Effect.Effect<R, never, readonly [Array<E>, Array<B>]>,
2252
+ <R, E, A, B>(
2253
+ elements: Iterable<A>,
2254
+ f: (a: A, i: number) => Effect.Effect<R, E, B>,
2255
+ options?: {
2256
+ readonly concurrency?: Concurrency
2257
+ readonly batching?: boolean | "inherit"
2258
+ }
2259
+ ) => Effect.Effect<R, never, readonly [Array<E>, Array<B>]>
2260
+ >((args) => Predicate.isIterable(args[0]), (elements, f, options) =>
2261
+ pipe(
2262
+ forEachOptions(elements, (a, i) => core.either(f(a, i)), options),
2263
+ core.map((chunk) => core.partitionMap(chunk, identity))
2264
+ ))
2265
+
2266
+ /* @internal */
2267
+ export const validateAll = dual<
2268
+ {
2269
+ <R, E, A, B>(
2270
+ f: (a: A, i: number) => Effect.Effect<R, E, B>,
2271
+ options?: {
2272
+ readonly concurrency?: Concurrency
2273
+ readonly batching?: boolean | "inherit"
2274
+ readonly discard?: false
2275
+ }
2276
+ ): (elements: Iterable<A>) => Effect.Effect<R, Array<E>, Array<B>>
2277
+ <R, E, A, B>(
2278
+ f: (a: A, i: number) => Effect.Effect<R, E, B>,
2279
+ options: {
2280
+ readonly concurrency?: Concurrency
2281
+ readonly batching?: boolean | "inherit"
2282
+ readonly discard: true
2283
+ }
2284
+ ): (elements: Iterable<A>) => Effect.Effect<R, Array<E>, void>
2285
+ },
2286
+ {
2287
+ <R, E, A, B>(
2288
+ elements: Iterable<A>,
2289
+ f: (a: A, i: number) => Effect.Effect<R, E, B>,
2290
+ options?: {
2291
+ readonly concurrency?: Concurrency
2292
+ readonly batching?: boolean | "inherit"
2293
+ readonly discard?: false
2294
+ }
2295
+ ): Effect.Effect<R, Array<E>, Array<B>>
2296
+ <R, E, A, B>(
2297
+ elements: Iterable<A>,
2298
+ f: (a: A, i: number) => Effect.Effect<R, E, B>,
2299
+ options: {
2300
+ readonly concurrency?: Concurrency
2301
+ readonly batching?: boolean | "inherit"
2302
+ readonly discard: true
2303
+ }
2304
+ ): Effect.Effect<R, Array<E>, void>
2305
+ }
2306
+ >(
2307
+ (args) => Predicate.isIterable(args[0]),
2308
+ <R, E, A, B>(elements: Iterable<A>, f: (a: A, i: number) => Effect.Effect<R, E, B>, options?: {
2309
+ readonly concurrency?: Concurrency
2310
+ readonly batching?: boolean | "inherit"
2311
+ readonly discard?: boolean
2312
+ }): Effect.Effect<R, Array<E>, any> =>
2313
+ core.flatMap(
2314
+ partition(elements, f, {
2315
+ concurrency: options?.concurrency,
2316
+ batching: options?.batching
2317
+ }),
2318
+ ([es, bs]) =>
2319
+ es.length === 0
2320
+ ? options?.discard ? core.unit : core.succeed(bs)
2321
+ : core.fail(es)
2322
+ )
2323
+ )
2324
+
2325
+ /* @internal */
2326
+ export const raceAll = <R, E, A>(all: Iterable<Effect.Effect<R, E, A>>) => {
2327
+ const list = Chunk.fromIterable(all)
2328
+ if (!Chunk.isNonEmpty(list)) {
2329
+ return core.dieSync(() => internalCause.IllegalArgumentException(`Received an empty collection of effects`))
2330
+ }
2331
+ const self = Chunk.headNonEmpty(list)
2332
+ const effects = Chunk.tailNonEmpty(list)
2333
+ const inheritAll = (res: readonly [A, Fiber.Fiber<E, A>]) =>
2334
+ pipe(
2335
+ internalFiber.inheritAll(res[1]),
2336
+ core.as(res[0])
2337
+ )
2338
+ return pipe(
2339
+ core.deferredMake<E, readonly [A, Fiber.Fiber<E, A>]>(),
2340
+ core.flatMap((done) =>
2341
+ pipe(
2342
+ Ref.make(effects.length),
2343
+ core.flatMap((fails) =>
2344
+ core.uninterruptibleMask<R, E, A>((restore) =>
2345
+ pipe(
2346
+ fork(core.interruptible(self)),
2347
+ core.flatMap((head) =>
2348
+ pipe(
2349
+ effects,
2350
+ core.forEachSequential((effect) => fork(core.interruptible(effect))),
2351
+ core.map(Chunk.unsafeFromArray),
2352
+ core.map((tail) => pipe(tail, Chunk.prepend(head)) as Chunk.Chunk<Fiber.RuntimeFiber<E, A>>),
2353
+ core.tap((fibers) =>
2354
+ pipe(
2355
+ fibers,
2356
+ RA.reduce(core.unit, (effect, fiber) =>
2357
+ pipe(
2358
+ effect,
2359
+ core.zipRight(
2360
+ pipe(
2361
+ internalFiber._await(fiber),
2362
+ core.flatMap(raceAllArbiter(fibers, fiber, done, fails)),
2363
+ fork,
2364
+ core.asUnit
2365
+ )
2366
+ )
2367
+ ))
2368
+ )
2369
+ ),
2370
+ core.flatMap((fibers) =>
2371
+ pipe(
2372
+ restore(pipe(Deferred.await(done), core.flatMap(inheritAll))),
2373
+ core.onInterrupt(() =>
2374
+ pipe(
2375
+ fibers,
2376
+ RA.reduce(
2377
+ core.unit,
2378
+ (effect, fiber) => pipe(effect, core.zipLeft(core.interruptFiber(fiber)))
2379
+ )
2380
+ )
2381
+ )
2382
+ )
2383
+ )
2384
+ )
2385
+ )
2386
+ )
2387
+ )
2388
+ )
2389
+ )
2390
+ )
2391
+ )
2392
+ }
2393
+
2394
+ /* @internal */
2395
+ const raceAllArbiter = <E, E1, A, A1>(
2396
+ fibers: Iterable<Fiber.Fiber<E | E1, A | A1>>,
2397
+ winner: Fiber.Fiber<E | E1, A | A1>,
2398
+ deferred: Deferred.Deferred<E | E1, readonly [A | A1, Fiber.Fiber<E | E1, A | A1>]>,
2399
+ fails: Ref.Ref<number>
2400
+ ) =>
2401
+ (exit: Exit.Exit<E | E1, A | A1>): Effect.Effect<never, never, void> =>
2402
+ core.exitMatchEffect(exit, {
2403
+ onFailure: (cause) =>
2404
+ pipe(
2405
+ Ref.modify(fails, (fails) =>
2406
+ [
2407
+ fails === 0 ?
2408
+ pipe(core.deferredFailCause(deferred, cause), core.asUnit) :
2409
+ core.unit,
2410
+ fails - 1
2411
+ ] as const),
2412
+ core.flatten
2413
+ ),
2414
+ onSuccess: (value): Effect.Effect<never, never, void> =>
2415
+ pipe(
2416
+ core.deferredSucceed(deferred, [value, winner] as const),
2417
+ core.flatMap((set) =>
2418
+ set ?
2419
+ pipe(
2420
+ Chunk.fromIterable(fibers),
2421
+ RA.reduce(
2422
+ core.unit,
2423
+ (effect, fiber) =>
2424
+ fiber === winner ?
2425
+ effect :
2426
+ pipe(effect, core.zipLeft(core.interruptFiber(fiber)))
2427
+ )
2428
+ ) :
2429
+ core.unit
2430
+ )
2431
+ )
2432
+ })
2433
+
2434
+ /* @internal */
2435
+ export const reduceEffect = dual<
2436
+ <R, E, A>(
2437
+ zero: Effect.Effect<R, E, A>,
2438
+ f: (acc: A, a: A, i: number) => A,
2439
+ options?: {
2440
+ readonly concurrency?: Concurrency
2441
+ readonly batching?: boolean | "inherit"
2442
+ }
2443
+ ) => (elements: Iterable<Effect.Effect<R, E, A>>) => Effect.Effect<R, E, A>,
2444
+ <R, E, A>(
2445
+ elements: Iterable<Effect.Effect<R, E, A>>,
2446
+ zero: Effect.Effect<R, E, A>,
2447
+ f: (acc: A, a: A, i: number) => A,
2448
+ options?: {
2449
+ readonly concurrency?: Concurrency
2450
+ readonly batching?: boolean | "inherit"
2451
+ }
2452
+ ) => Effect.Effect<R, E, A>
2453
+ >((args) => Predicate.isIterable(args[0]), <R, E, A>(
2454
+ elements: Iterable<Effect.Effect<R, E, A>>,
2455
+ zero: Effect.Effect<R, E, A>,
2456
+ f: (acc: A, a: A, i: number) => A,
2457
+ options?: {
2458
+ readonly concurrency?: Concurrency
2459
+ readonly batching?: boolean | "inherit"
2460
+ }
2461
+ ) =>
2462
+ concurrency.matchSimple(
2463
+ options,
2464
+ () => RA.fromIterable(elements).reduce((acc, a, i) => core.zipWith(acc, a, (acc, a) => f(acc, a, i)), zero),
2465
+ () =>
2466
+ core.suspend(() =>
2467
+ pipe(
2468
+ mergeAll(
2469
+ [zero, ...elements],
2470
+ Option.none() as Option.Option<A>,
2471
+ (acc, elem, i) => {
2472
+ switch (acc._tag) {
2473
+ case "None": {
2474
+ return Option.some(elem)
2475
+ }
2476
+ case "Some": {
2477
+ return Option.some(f(acc.value, elem, i))
2478
+ }
2479
+ }
2480
+ },
2481
+ options
2482
+ ),
2483
+ core.map((option) => {
2484
+ switch (option._tag) {
2485
+ case "None": {
2486
+ throw new Error(
2487
+ "BUG: Effect.reduceEffect - please report an issue at https://github.com/Effect-TS/io/issues"
2488
+ )
2489
+ }
2490
+ case "Some": {
2491
+ return option.value
2492
+ }
2493
+ }
2494
+ })
2495
+ )
2496
+ )
2497
+ ))
2498
+
2499
+ /* @internal */
2500
+ export const parallelFinalizers = <R, E, A>(self: Effect.Effect<R, E, A>): Effect.Effect<R, E, A> =>
2501
+ core.contextWithEffect((context) =>
2502
+ Option.match(Context.getOption(context, scopeTag), {
2503
+ onNone: () => self,
2504
+ onSome: (scope) => {
2505
+ switch (scope.strategy._tag) {
2506
+ case "Parallel":
2507
+ return self
2508
+ case "Sequential":
2509
+ case "ParallelN":
2510
+ return core.flatMap(
2511
+ core.scopeFork(scope, ExecutionStrategy.parallel),
2512
+ (inner) => scopeExtend(self, inner)
2513
+ )
2514
+ }
2515
+ }
2516
+ })
2517
+ )
2518
+
2519
+ /* @internal */
2520
+ export const parallelNFinalizers =
2521
+ (parallelism: number) => <R, E, A>(self: Effect.Effect<R, E, A>): Effect.Effect<R, E, A> =>
2522
+ core.contextWithEffect((context) =>
2523
+ Option.match(Context.getOption(context, scopeTag), {
2524
+ onNone: () => self,
2525
+ onSome: (scope) => {
2526
+ if (scope.strategy._tag === "ParallelN" && scope.strategy.parallelism === parallelism) {
2527
+ return self
2528
+ }
2529
+ return core.flatMap(
2530
+ core.scopeFork(scope, ExecutionStrategy.parallelN(parallelism)),
2531
+ (inner) => scopeExtend(self, inner)
2532
+ )
2533
+ }
2534
+ })
2535
+ )
2536
+
2537
+ /* @internal */
2538
+ export const finalizersMask = (strategy: ExecutionStrategy.ExecutionStrategy) =>
2539
+ <R, E, A>(
2540
+ self: (restore: <R1, E1, A1>(self: Effect.Effect<R1, E1, A1>) => Effect.Effect<R1, E1, A1>) => Effect.Effect<R, E, A>
2541
+ ): Effect.Effect<R, E, A> =>
2542
+ core.contextWithEffect((context) =>
2543
+ Option.match(Context.getOption(context, scopeTag), {
2544
+ onNone: () => self(identity),
2545
+ onSome: (scope) => {
2546
+ const patch = strategy._tag === "Parallel"
2547
+ ? parallelFinalizers
2548
+ : strategy._tag === "Sequential"
2549
+ ? sequentialFinalizers
2550
+ : parallelNFinalizers(strategy.parallelism)
2551
+ switch (scope.strategy._tag) {
2552
+ case "Parallel":
2553
+ return patch(self(parallelFinalizers))
2554
+ case "Sequential":
2555
+ return patch(self(sequentialFinalizers))
2556
+ case "ParallelN":
2557
+ return patch(self(parallelNFinalizers(scope.strategy.parallelism)))
2558
+ }
2559
+ }
2560
+ })
2561
+ )
2562
+
2563
+ /* @internal */
2564
+ export const scopeWith = <R, E, A>(
2565
+ f: (scope: Scope.Scope) => Effect.Effect<R, E, A>
2566
+ ): Effect.Effect<R | Scope.Scope, E, A> => core.flatMap(scopeTag, f)
2567
+
2568
+ /* @internal */
2569
+ export const scopedEffect = <R, E, A>(effect: Effect.Effect<R, E, A>): Effect.Effect<Exclude<R, Scope.Scope>, E, A> =>
2570
+ core.flatMap(scopeMake(), (scope) => scopeUse(scope)(effect))
2571
+
2572
+ /* @internal */
2573
+ export const sequentialFinalizers = <R, E, A>(self: Effect.Effect<R, E, A>): Effect.Effect<R, E, A> =>
2574
+ core.contextWithEffect((context) =>
2575
+ Option.match(Context.getOption(context, scopeTag), {
2576
+ onNone: () => self,
2577
+ onSome: (scope) => {
2578
+ switch (scope.strategy._tag) {
2579
+ case "Sequential":
2580
+ return self
2581
+ case "Parallel":
2582
+ case "ParallelN":
2583
+ return core.flatMap(
2584
+ core.scopeFork(scope, ExecutionStrategy.sequential),
2585
+ (inner) => scopeExtend(self, inner)
2586
+ )
2587
+ }
2588
+ }
2589
+ })
2590
+ )
2591
+
2592
+ /* @internal */
2593
+ export const tagMetricsScoped = (key: string, value: string): Effect.Effect<Scope.Scope, never, void> =>
2594
+ labelMetricsScoped([metricLabel.make(key, value)])
2595
+
2596
+ /* @internal */
2597
+ export const labelMetricsScoped = (
2598
+ labels: ReadonlyArray<MetricLabel.MetricLabel>
2599
+ ): Effect.Effect<Scope.Scope, never, void> => labelMetricsScopedSet(HashSet.fromIterable(labels))
2600
+
2601
+ /* @internal */
2602
+ export const labelMetricsScopedSet = (
2603
+ labels: HashSet.HashSet<MetricLabel.MetricLabel>
2604
+ ): Effect.Effect<Scope.Scope, never, void> =>
2605
+ fiberRefLocallyScopedWith(core.currentMetricLabels, (set) => pipe(set, HashSet.union(labels)))
2606
+
2607
+ /* @internal */
2608
+ export const using = dual<
2609
+ <A, R2, E2, A2>(
2610
+ use: (a: A) => Effect.Effect<R2, E2, A2>
2611
+ ) => <R, E>(self: Effect.Effect<R, E, A>) => Effect.Effect<Exclude<R, Scope.Scope> | R2, E | E2, A2>,
2612
+ <R, E, A, R2, E2, A2>(
2613
+ self: Effect.Effect<R, E, A>,
2614
+ use: (a: A) => Effect.Effect<R2, E2, A2>
2615
+ ) => Effect.Effect<Exclude<R, Scope.Scope> | R2, E | E2, A2>
2616
+ >(2, (self, use) =>
2617
+ core.acquireUseRelease(
2618
+ scopeMake(),
2619
+ (scope) => core.flatMap(scopeExtend(self, scope), use),
2620
+ (scope, exit) => core.scopeClose(scope, exit)
2621
+ ))
2622
+
2623
+ /** @internal */
2624
+ export const validate = dual<
2625
+ <R1, E1, B>(
2626
+ that: Effect.Effect<R1, E1, B>,
2627
+ options?: {
2628
+ readonly concurrent?: boolean
2629
+ readonly batching?: boolean | "inherit"
2630
+ }
2631
+ ) => <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R | R1, E | E1, [A, B]>,
2632
+ <R, E, A, R1, E1, B>(
2633
+ self: Effect.Effect<R, E, A>,
2634
+ that: Effect.Effect<R1, E1, B>,
2635
+ options?: {
2636
+ readonly concurrent?: boolean
2637
+ readonly batching?: boolean | "inherit"
2638
+ }
2639
+ ) => Effect.Effect<R | R1, E | E1, [A, B]>
2640
+ >(
2641
+ (args) => core.isEffect(args[1]),
2642
+ (self, that, options) => validateWith(self, that, (a, b) => [a, b], options)
2643
+ )
2644
+
2645
+ /** @internal */
2646
+ export const validateWith = dual<
2647
+ <A, R1, E1, B, C>(
2648
+ that: Effect.Effect<R1, E1, B>,
2649
+ f: (a: A, b: B) => C,
2650
+ options?: {
2651
+ readonly concurrent?: boolean
2652
+ readonly batching?: boolean | "inherit"
2653
+ }
2654
+ ) => <R, E>(self: Effect.Effect<R, E, A>) => Effect.Effect<R | R1, E | E1, C>,
2655
+ <R, E, A, R1, E1, B, C>(
2656
+ self: Effect.Effect<R, E, A>,
2657
+ that: Effect.Effect<R1, E1, B>,
2658
+ f: (a: A, b: B) => C,
2659
+ options?: {
2660
+ readonly concurrent?: boolean
2661
+ readonly batching?: boolean | "inherit"
2662
+ }
2663
+ ) => Effect.Effect<R | R1, E | E1, C>
2664
+ >((args) => core.isEffect(args[1]), (self, that, f, options) =>
2665
+ core.flatten(zipWithOptions(
2666
+ core.exit(self),
2667
+ core.exit(that),
2668
+ (ea, eb) =>
2669
+ core.exitZipWith(ea, eb, {
2670
+ onSuccess: f,
2671
+ onFailure: (ca, cb) => options?.concurrent ? internalCause.parallel(ca, cb) : internalCause.sequential(ca, cb)
2672
+ }),
2673
+ options
2674
+ )))
2675
+
2676
+ /* @internal */
2677
+ export const validateAllPar = dual<
2678
+ <R, E, A, B>(
2679
+ f: (a: A) => Effect.Effect<R, E, B>
2680
+ ) => (elements: Iterable<A>) => Effect.Effect<R, Array<E>, Array<B>>,
2681
+ <R, E, A, B>(
2682
+ elements: Iterable<A>,
2683
+ f: (a: A) => Effect.Effect<R, E, B>
2684
+ ) => Effect.Effect<R, Array<E>, Array<B>>
2685
+ >(2, (elements, f) =>
2686
+ core.flatMap(
2687
+ partition(elements, f),
2688
+ ([es, bs]) =>
2689
+ es.length === 0
2690
+ ? core.succeed(bs)
2691
+ : core.fail(es)
2692
+ ))
2693
+
2694
+ /* @internal */
2695
+ export const validateAllParDiscard = dual<
2696
+ <R, E, A, B>(
2697
+ f: (a: A) => Effect.Effect<R, E, B>
2698
+ ) => (elements: Iterable<A>) => Effect.Effect<R, Array<E>, void>,
2699
+ <R, E, A, B>(elements: Iterable<A>, f: (a: A) => Effect.Effect<R, E, B>) => Effect.Effect<R, Array<E>, void>
2700
+ >(2, (elements, f) =>
2701
+ core.flatMap(
2702
+ partition(elements, f),
2703
+ ([es, _]) =>
2704
+ es.length === 0
2705
+ ? core.unit
2706
+ : core.fail(es)
2707
+ ))
2708
+
2709
+ /* @internal */
2710
+ export const validateFirst = dual<
2711
+ <R, E, A, B>(f: (a: A, i: number) => Effect.Effect<R, E, B>, options?: {
2712
+ readonly concurrency?: Concurrency
2713
+ readonly batching?: boolean | "inherit"
2714
+ }) => (elements: Iterable<A>) => Effect.Effect<R, Array<E>, B>,
2715
+ <R, E, A, B>(elements: Iterable<A>, f: (a: A, i: number) => Effect.Effect<R, E, B>, options?: {
2716
+ readonly concurrency?: Concurrency
2717
+ readonly batching?: boolean | "inherit"
2718
+ }) => Effect.Effect<R, Array<E>, B>
2719
+ >(
2720
+ (args) => Predicate.isIterable(args[0]),
2721
+ (elements, f, options) => core.flip(forEachOptions(elements, (a, i) => core.flip(f(a, i)), options))
2722
+ )
2723
+
2724
+ /* @internal */
2725
+ export const withClockScoped = <A extends Clock.Clock>(value: A) =>
2726
+ fiberRefLocallyScopedWith(defaultServices.currentServices, Context.add(clock.clockTag, value))
2727
+
2728
+ /* @internal */
2729
+ export const withConfigProviderScoped = (value: ConfigProvider) =>
2730
+ fiberRefLocallyScopedWith(defaultServices.currentServices, Context.add(configProviderTag, value))
2731
+
2732
+ /* @internal */
2733
+ export const withEarlyRelease = <R, E, A>(
2734
+ self: Effect.Effect<R, E, A>
2735
+ ): Effect.Effect<R | Scope.Scope, E, readonly [Effect.Effect<never, never, void>, A]> =>
2736
+ scopeWith((parent) =>
2737
+ core.flatMap(core.scopeFork(parent, executionStrategy.sequential), (child) =>
2738
+ pipe(
2739
+ self,
2740
+ scopeExtend(child),
2741
+ core.map((value) =>
2742
+ [
2743
+ core.fiberIdWith((fiberId) => core.scopeClose(child, core.exitInterrupt(fiberId))),
2744
+ value
2745
+ ] as const
2746
+ )
2747
+ ))
2748
+ )
2749
+
2750
+ /** @internal */
2751
+ export const zipOptions = dual<
2752
+ <R2, E2, A2>(
2753
+ that: Effect.Effect<R2, E2, A2>,
2754
+ options?: {
2755
+ readonly concurrent?: boolean
2756
+ readonly batching?: boolean | "inherit"
2757
+ }
2758
+ ) => <R, E, A>(
2759
+ self: Effect.Effect<R, E, A>
2760
+ ) => Effect.Effect<R | R2, E | E2, [A, A2]>,
2761
+ <R, E, A, R2, E2, A2>(
2762
+ self: Effect.Effect<R, E, A>,
2763
+ that: Effect.Effect<R2, E2, A2>,
2764
+ options?: {
2765
+ readonly concurrent?: boolean
2766
+ readonly batching?: boolean | "inherit"
2767
+ }
2768
+ ) => Effect.Effect<R | R2, E | E2, [A, A2]>
2769
+ >((args) => core.isEffect(args[1]), (
2770
+ self,
2771
+ that,
2772
+ options
2773
+ ) => zipWithOptions(self, that, (a, b) => [a, b], options))
2774
+
2775
+ /** @internal */
2776
+ export const zipLeftOptions = dual<
2777
+ <R2, E2, A2>(
2778
+ that: Effect.Effect<R2, E2, A2>,
2779
+ options?: {
2780
+ readonly concurrent?: boolean
2781
+ readonly batching?: boolean | "inherit"
2782
+ }
2783
+ ) => <R, E, A>(
2784
+ self: Effect.Effect<R, E, A>
2785
+ ) => Effect.Effect<R | R2, E | E2, A>,
2786
+ <R, E, A, R2, E2, A2>(
2787
+ self: Effect.Effect<R, E, A>,
2788
+ that: Effect.Effect<R2, E2, A2>,
2789
+ options?: {
2790
+ readonly concurrent?: boolean
2791
+ readonly batching?: boolean | "inherit"
2792
+ }
2793
+ ) => Effect.Effect<R | R2, E | E2, A>
2794
+ >(
2795
+ (args) => core.isEffect(args[1]),
2796
+ (self, that, options) => zipWithOptions(self, that, (a, _) => a, options)
2797
+ )
2798
+
2799
+ /** @internal */
2800
+ export const zipRightOptions = dual<
2801
+ <R2, E2, A2>(
2802
+ that: Effect.Effect<R2, E2, A2>,
2803
+ options?: {
2804
+ readonly concurrent?: boolean
2805
+ readonly batching?: boolean | "inherit"
2806
+ }
2807
+ ) => <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R | R2, E | E2, A2>,
2808
+ <R, E, A, R2, E2, A2>(
2809
+ self: Effect.Effect<R, E, A>,
2810
+ that: Effect.Effect<R2, E2, A2>,
2811
+ options?: {
2812
+ readonly concurrent?: boolean
2813
+ readonly batching?: boolean | "inherit"
2814
+ }
2815
+ ) => Effect.Effect<R | R2, E | E2, A2>
2816
+ >((args) => core.isEffect(args[1]), (self, that, options) => zipWithOptions(self, that, (_, b) => b, options))
2817
+
2818
+ /** @internal */
2819
+ export const zipWithOptions = dual<
2820
+ <R2, E2, A2, A, B>(
2821
+ that: Effect.Effect<R2, E2, A2>,
2822
+ f: (a: A, b: A2) => B,
2823
+ options?: {
2824
+ readonly concurrent?: boolean
2825
+ readonly batching?: boolean | "inherit"
2826
+ }
2827
+ ) => <R, E>(
2828
+ self: Effect.Effect<R, E, A>
2829
+ ) => Effect.Effect<R | R2, E | E2, B>,
2830
+ <R, E, A, R2, E2, A2, B>(
2831
+ self: Effect.Effect<R, E, A>,
2832
+ that: Effect.Effect<R2, E2, A2>,
2833
+ f: (a: A, b: A2) => B,
2834
+ options?: {
2835
+ readonly concurrent?: boolean
2836
+ readonly batching?: boolean | "inherit"
2837
+ }
2838
+ ) => Effect.Effect<R | R2, E | E2, B>
2839
+ >((args) => core.isEffect(args[1]), <R, E, A, R2, E2, A2, B>(
2840
+ self: Effect.Effect<R, E, A>,
2841
+ that: Effect.Effect<R2, E2, A2>,
2842
+ f: (a: A, b: A2) => B,
2843
+ options?: {
2844
+ readonly concurrent?: boolean
2845
+ readonly batching?: boolean | "inherit"
2846
+ }
2847
+ ): Effect.Effect<R | R2, E | E2, B> =>
2848
+ core.map(
2849
+ all([self, that], {
2850
+ concurrency: options?.concurrent ? 2 : 1,
2851
+ batching: options?.batching
2852
+ }),
2853
+ ([a, a2]) => f(a, a2)
2854
+ ))
2855
+
2856
+ /* @internal */
2857
+ export const withRuntimeFlagsScoped = (
2858
+ update: RuntimeFlagsPatch.RuntimeFlagsPatch
2859
+ ): Effect.Effect<Scope.Scope, never, void> => {
2860
+ if (update === RuntimeFlagsPatch.empty) {
2861
+ return core.unit
2862
+ }
2863
+ return pipe(
2864
+ core.runtimeFlags,
2865
+ core.flatMap((runtimeFlags) => {
2866
+ const updatedRuntimeFlags = _runtimeFlags.patch(runtimeFlags, update)
2867
+ const revertRuntimeFlags = _runtimeFlags.diff(updatedRuntimeFlags, runtimeFlags)
2868
+ return pipe(
2869
+ core.updateRuntimeFlags(update),
2870
+ core.zipRight(addFinalizer(() => core.updateRuntimeFlags(revertRuntimeFlags))),
2871
+ core.asUnit
2872
+ )
2873
+ }),
2874
+ core.uninterruptible
2875
+ )
2876
+ }
2877
+
2878
+ // circular with ReleaseMap
2879
+
2880
+ /* @internal */
2881
+ export const releaseMapReleaseAll = (
2882
+ strategy: ExecutionStrategy.ExecutionStrategy,
2883
+ exit: Exit.Exit<unknown, unknown>
2884
+ ) =>
2885
+ (self: core.ReleaseMap): Effect.Effect<never, never, void> =>
2886
+ core.suspend(() => {
2887
+ switch (self.state._tag) {
2888
+ case "Exited": {
2889
+ return core.unit
2890
+ }
2891
+ case "Running": {
2892
+ const finalizersMap = self.state.finalizers
2893
+ const update = self.state.update
2894
+ const finalizers = Array.from(finalizersMap.keys()).sort((a, b) => b - a).map((key) => finalizersMap.get(key)!)
2895
+ self.state = { _tag: "Exited", nextKey: self.state.nextKey, exit, update }
2896
+ return executionStrategy.isSequential(strategy) ?
2897
+ pipe(
2898
+ finalizers,
2899
+ core.forEachSequential((fin) => core.exit(update(fin)(exit))),
2900
+ core.flatMap((results) =>
2901
+ pipe(
2902
+ core.exitCollectAll(results),
2903
+ Option.map(core.exitAsUnit),
2904
+ Option.getOrElse(() => core.exitUnit)
2905
+ )
2906
+ )
2907
+ ) :
2908
+ executionStrategy.isParallel(strategy) ?
2909
+ pipe(
2910
+ forEachParUnbounded(finalizers, (fin) => core.exit(update(fin)(exit)), false),
2911
+ core.flatMap((results) =>
2912
+ pipe(
2913
+ core.exitCollectAll(results, { parallel: true }),
2914
+ Option.map(core.exitAsUnit),
2915
+ Option.getOrElse(() => core.exitUnit)
2916
+ )
2917
+ )
2918
+ ) :
2919
+ pipe(
2920
+ forEachParN(finalizers, strategy.parallelism, (fin) => core.exit(update(fin)(exit)), false),
2921
+ core.flatMap((results) =>
2922
+ pipe(
2923
+ core.exitCollectAll(results, { parallel: true }),
2924
+ Option.map(core.exitAsUnit),
2925
+ Option.getOrElse(() => core.exitUnit)
2926
+ )
2927
+ )
2928
+ )
2929
+ }
2930
+ }
2931
+ })
2932
+
2933
+ // circular with Scope
2934
+
2935
+ /** @internal */
2936
+ export const scopeTag = Context.Tag<Scope.Scope>(core.ScopeTypeId)
2937
+
2938
+ /* @internal */
2939
+ export const scope: Effect.Effect<Scope.Scope, never, Scope.Scope> = scopeTag
2940
+
2941
+ /* @internal */
2942
+ export const scopeMake = (
2943
+ strategy: ExecutionStrategy.ExecutionStrategy = executionStrategy.sequential
2944
+ ): Effect.Effect<never, never, Scope.Scope.Closeable> =>
2945
+ core.map(core.releaseMapMake, (rm): Scope.Scope.Closeable => ({
2946
+ [core.ScopeTypeId]: core.ScopeTypeId,
2947
+ [core.CloseableScopeTypeId]: core.CloseableScopeTypeId,
2948
+ strategy,
2949
+ pipe() {
2950
+ return pipeArguments(this, arguments)
2951
+ },
2952
+ fork: (strategy) =>
2953
+ core.uninterruptible(
2954
+ pipe(
2955
+ scopeMake(strategy),
2956
+ core.flatMap((scope) =>
2957
+ pipe(
2958
+ core.releaseMapAdd(rm, (exit) => core.scopeClose(scope, exit)),
2959
+ core.tap((fin) => core.scopeAddFinalizerExit(scope, fin)),
2960
+ core.as(scope)
2961
+ )
2962
+ )
2963
+ )
2964
+ ),
2965
+ close: (exit) => core.asUnit(releaseMapReleaseAll(strategy, exit)(rm)),
2966
+ addFinalizer: (fin) => core.asUnit(core.releaseMapAdd(fin)(rm))
2967
+ }))
2968
+
2969
+ /* @internal */
2970
+ export const scopeExtend = dual<
2971
+ (scope: Scope.Scope) => <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<Exclude<R, Scope.Scope>, E, A>,
2972
+ <R, E, A>(effect: Effect.Effect<R, E, A>, scope: Scope.Scope) => Effect.Effect<Exclude<R, Scope.Scope>, E, A>
2973
+ >(
2974
+ 2,
2975
+ <R, E, A>(effect: Effect.Effect<R, E, A>, scope: Scope.Scope) =>
2976
+ core.mapInputContext<Exclude<R, Scope.Scope>, R, E, A>(
2977
+ effect,
2978
+ // @ts-expect-error
2979
+ Context.merge(Context.make(scopeTag, scope))
2980
+ )
2981
+ )
2982
+
2983
+ /* @internal */
2984
+ export const scopeUse = dual<
2985
+ (
2986
+ scope: Scope.Scope.Closeable
2987
+ ) => <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<Exclude<R, Scope.Scope>, E, A>,
2988
+ <R, E, A>(
2989
+ effect: Effect.Effect<R, E, A>,
2990
+ scope: Scope.Scope.Closeable
2991
+ ) => Effect.Effect<Exclude<R, Scope.Scope>, E, A>
2992
+ >(2, (effect, scope) =>
2993
+ pipe(
2994
+ effect,
2995
+ scopeExtend(scope),
2996
+ core.onExit((exit) => scope.close(exit))
2997
+ ))
2998
+
2999
+ // circular with Supervisor
3000
+
3001
+ /** @internal */
3002
+ export const fiberRefUnsafeMakeSupervisor = (
3003
+ initial: Supervisor.Supervisor<any>
3004
+ ): FiberRef.FiberRef<Supervisor.Supervisor<any>> =>
3005
+ core.fiberRefUnsafeMakePatch(initial, {
3006
+ differ: SupervisorPatch.differ,
3007
+ fork: SupervisorPatch.empty
3008
+ })
3009
+
3010
+ // circular with FiberRef
3011
+
3012
+ /* @internal */
3013
+ export const fiberRefLocallyScoped = dual<
3014
+ <A>(value: A) => (self: FiberRef.FiberRef<A>) => Effect.Effect<Scope.Scope, never, void>,
3015
+ <A>(self: FiberRef.FiberRef<A>, value: A) => Effect.Effect<Scope.Scope, never, void>
3016
+ >(2, (self, value) =>
3017
+ core.asUnit(
3018
+ acquireRelease(
3019
+ core.flatMap(
3020
+ core.fiberRefGet(self),
3021
+ (oldValue) => core.as(core.fiberRefSet(self, value), oldValue)
3022
+ ),
3023
+ (oldValue) => core.fiberRefSet(self, oldValue)
3024
+ )
3025
+ ))
3026
+
3027
+ /* @internal */
3028
+ export const fiberRefLocallyScopedWith = dual<
3029
+ <A>(f: (a: A) => A) => (self: FiberRef.FiberRef<A>) => Effect.Effect<Scope.Scope, never, void>,
3030
+ <A>(self: FiberRef.FiberRef<A>, f: (a: A) => A) => Effect.Effect<Scope.Scope, never, void>
3031
+ >(2, (self, f) => core.fiberRefGetWith(self, (a) => fiberRefLocallyScoped(self, f(a))))
3032
+
3033
+ /* @internal */
3034
+ export const fiberRefMake = <A>(
3035
+ initial: A,
3036
+ options?: {
3037
+ readonly fork?: (a: A) => A
3038
+ readonly join?: (left: A, right: A) => A
3039
+ }
3040
+ ): Effect.Effect<Scope.Scope, never, FiberRef.FiberRef<A>> =>
3041
+ fiberRefMakeWith(() => core.fiberRefUnsafeMake(initial, options))
3042
+
3043
+ /* @internal */
3044
+ export const fiberRefMakeWith = <Value>(
3045
+ ref: LazyArg<FiberRef.FiberRef<Value>>
3046
+ ): Effect.Effect<Scope.Scope, never, FiberRef.FiberRef<Value>> =>
3047
+ acquireRelease(
3048
+ core.tap(core.sync(ref), (ref) => core.fiberRefUpdate(ref, identity)),
3049
+ (fiberRef) => core.fiberRefDelete(fiberRef)
3050
+ )
3051
+
3052
+ /* @internal */
3053
+ export const fiberRefMakeContext = <A>(
3054
+ initial: Context.Context<A>
3055
+ ): Effect.Effect<Scope.Scope, never, FiberRef.FiberRef<Context.Context<A>>> =>
3056
+ fiberRefMakeWith(() => core.fiberRefUnsafeMakeContext(initial))
3057
+
3058
+ /* @internal */
3059
+ export const fiberRefMakeRuntimeFlags = (
3060
+ initial: RuntimeFlags.RuntimeFlags
3061
+ ): Effect.Effect<Scope.Scope, never, FiberRef.FiberRef<RuntimeFlags.RuntimeFlags>> =>
3062
+ fiberRefMakeWith(() => core.fiberRefUnsafeMakeRuntimeFlags(initial))
3063
+
3064
+ /** @internal */
3065
+ export const currentRuntimeFlags: FiberRef.FiberRef<RuntimeFlags.RuntimeFlags> = core.fiberRefUnsafeMakeRuntimeFlags(
3066
+ _runtimeFlags.none
3067
+ )
3068
+
3069
+ /** @internal */
3070
+ export const currentSupervisor: FiberRef.FiberRef<Supervisor.Supervisor<any>> = fiberRefUnsafeMakeSupervisor(
3071
+ supervisor.none
3072
+ )
3073
+
3074
+ // circular with Fiber
3075
+
3076
+ /* @internal */
3077
+ export const fiberAwaitAll = (fibers: Iterable<Fiber.Fiber<any, any>>): Effect.Effect<never, never, void> =>
3078
+ core.asUnit(internalFiber._await(fiberAll(fibers)))
3079
+
3080
+ /** @internal */
3081
+ export const fiberAll = <E, A>(fibers: Iterable<Fiber.Fiber<E, A>>): Fiber.Fiber<E, Array<A>> => ({
3082
+ [internalFiber.FiberTypeId]: internalFiber.fiberVariance,
3083
+ id: () => RA.fromIterable(fibers).reduce((id, fiber) => FiberId.combine(id, fiber.id()), FiberId.none),
3084
+ await: () => core.exit(forEachParUnbounded(fibers, (fiber) => core.flatten(fiber.await()), false)),
3085
+ children: () => core.map(forEachParUnbounded(fibers, (fiber) => fiber.children(), false), RA.flatten),
3086
+ inheritAll: () => core.forEachSequentialDiscard(fibers, (fiber) => fiber.inheritAll()),
3087
+ poll: () =>
3088
+ core.map(
3089
+ core.forEachSequential(fibers, (fiber) => fiber.poll()),
3090
+ RA.reduceRight(
3091
+ Option.some<Exit.Exit<E, Array<A>>>(core.exitSucceed(new Array())),
3092
+ (optionB, optionA) => {
3093
+ switch (optionA._tag) {
3094
+ case "None": {
3095
+ return Option.none()
3096
+ }
3097
+ case "Some": {
3098
+ switch (optionB._tag) {
3099
+ case "None": {
3100
+ return Option.none()
3101
+ }
3102
+ case "Some": {
3103
+ return Option.some(
3104
+ core.exitZipWith(optionA.value, optionB.value, {
3105
+ onSuccess: (a, chunk) => [a, ...chunk],
3106
+ onFailure: internalCause.parallel
3107
+ })
3108
+ )
3109
+ }
3110
+ }
3111
+ }
3112
+ }
3113
+ }
3114
+ )
3115
+ ),
3116
+ interruptAsFork: (fiberId) => core.forEachSequentialDiscard(fibers, (fiber) => fiber.interruptAsFork(fiberId)),
3117
+ pipe() {
3118
+ return pipeArguments(this, arguments)
3119
+ }
3120
+ })
3121
+
3122
+ /* @internal */
3123
+ export const fiberInterruptFork = <E, A>(self: Fiber.Fiber<E, A>): Effect.Effect<never, never, void> =>
3124
+ core.asUnit(forkDaemon(core.interruptFiber(self)))
3125
+
3126
+ /* @internal */
3127
+ export const fiberJoinAll = <E, A>(fibers: Iterable<Fiber.Fiber<E, A>>): Effect.Effect<never, E, void> =>
3128
+ core.asUnit(internalFiber.join(fiberAll(fibers)))
3129
+
3130
+ /* @internal */
3131
+ export const fiberScoped = <E, A>(self: Fiber.Fiber<E, A>): Effect.Effect<Scope.Scope, never, Fiber.Fiber<E, A>> =>
3132
+ acquireRelease(core.succeed(self), core.interruptFiber)
3133
+
3134
+ //
3135
+ // circular race
3136
+ //
3137
+
3138
+ /** @internal */
3139
+ export const raceWith = dual<
3140
+ <E, A, R1, E1, A1, R2, E2, A2, R3, E3, A3>(
3141
+ other: Effect.Effect<R1, E1, A1>,
3142
+ options: {
3143
+ readonly onSelfDone: (exit: Exit.Exit<E, A>, fiber: Fiber.Fiber<E1, A1>) => Effect.Effect<R2, E2, A2>
3144
+ readonly onOtherDone: (exit: Exit.Exit<E1, A1>, fiber: Fiber.Fiber<E, A>) => Effect.Effect<R3, E3, A3>
3145
+ }
3146
+ ) => <R>(self: Effect.Effect<R, E, A>) => Effect.Effect<R | R1 | R2 | R3, E2 | E3, A2 | A3>,
3147
+ <R, E, A, R1, E1, A1, R2, E2, A2, R3, E3, A3>(
3148
+ self: Effect.Effect<R, E, A>,
3149
+ other: Effect.Effect<R1, E1, A1>,
3150
+ options: {
3151
+ readonly onSelfDone: (exit: Exit.Exit<E, A>, fiber: Fiber.Fiber<E1, A1>) => Effect.Effect<R2, E2, A2>
3152
+ readonly onOtherDone: (exit: Exit.Exit<E1, A1>, fiber: Fiber.Fiber<E, A>) => Effect.Effect<R3, E3, A3>
3153
+ }
3154
+ ) => Effect.Effect<R | R1 | R2 | R3, E2 | E3, A2 | A3>
3155
+ >(3, <R, E, A, R1, E1, A1, R2, E2, A2, R3, E3, A3>(
3156
+ self: Effect.Effect<R, E, A>,
3157
+ other: Effect.Effect<R1, E1, A1>,
3158
+ options: {
3159
+ readonly onSelfDone: (exit: Exit.Exit<E, A>, fiber: Fiber.Fiber<E1, A1>) => Effect.Effect<R2, E2, A2>
3160
+ readonly onOtherDone: (exit: Exit.Exit<E1, A1>, fiber: Fiber.Fiber<E, A>) => Effect.Effect<R3, E3, A3>
3161
+ }
3162
+ ) =>
3163
+ raceFibersWith(self, other, {
3164
+ onSelfWin: (winner, loser) =>
3165
+ core.flatMap(winner.await(), (exit) => {
3166
+ switch (exit._tag) {
3167
+ case OpCodes.OP_SUCCESS: {
3168
+ return core.flatMap(
3169
+ winner.inheritAll(),
3170
+ () => options.onSelfDone(exit, loser)
3171
+ )
3172
+ }
3173
+ case OpCodes.OP_FAILURE: {
3174
+ return options.onSelfDone(exit, loser)
3175
+ }
3176
+ }
3177
+ }),
3178
+ onOtherWin: (winner, loser) =>
3179
+ core.flatMap(winner.await(), (exit) => {
3180
+ switch (exit._tag) {
3181
+ case OpCodes.OP_SUCCESS: {
3182
+ return core.flatMap(
3183
+ winner.inheritAll(),
3184
+ () => options.onOtherDone(exit, loser)
3185
+ )
3186
+ }
3187
+ case OpCodes.OP_FAILURE: {
3188
+ return options.onOtherDone(exit, loser)
3189
+ }
3190
+ }
3191
+ })
3192
+ }))
3193
+
3194
+ /** @internal */
3195
+ export const disconnect = <R, E, A>(self: Effect.Effect<R, E, A>): Effect.Effect<R, E, A> =>
3196
+ core.uninterruptibleMask((restore) =>
3197
+ core.fiberIdWith((fiberId) =>
3198
+ core.flatMap(forkDaemon(restore(self)), (fiber) =>
3199
+ pipe(
3200
+ restore(internalFiber.join(fiber)),
3201
+ core.onInterrupt(() => pipe(fiber, internalFiber.interruptAsFork(fiberId)))
3202
+ ))
3203
+ )
3204
+ )
3205
+
3206
+ /** @internal */
3207
+ export const race = dual<
3208
+ <R2, E2, A2>(
3209
+ that: Effect.Effect<R2, E2, A2>
3210
+ ) => <R, E, A>(
3211
+ self: Effect.Effect<R, E, A>
3212
+ ) => Effect.Effect<R | R2, E | E2, A | A2>,
3213
+ <R, E, A, R2, E2, A2>(
3214
+ self: Effect.Effect<R, E, A>,
3215
+ that: Effect.Effect<R2, E2, A2>
3216
+ ) => Effect.Effect<R | R2, E | E2, A | A2>
3217
+ >(
3218
+ 2,
3219
+ (self, that) =>
3220
+ core.fiberIdWith((parentFiberId) =>
3221
+ raceWith(self, that, {
3222
+ onSelfDone: (exit, right) =>
3223
+ core.exitMatchEffect(exit, {
3224
+ onFailure: (cause) =>
3225
+ pipe(
3226
+ internalFiber.join(right),
3227
+ internalEffect.mapErrorCause((cause2) => internalCause.parallel(cause, cause2))
3228
+ ),
3229
+ onSuccess: (value) =>
3230
+ pipe(
3231
+ right,
3232
+ core.interruptAsFiber(parentFiberId),
3233
+ core.as(value)
3234
+ )
3235
+ }),
3236
+ onOtherDone: (exit, left) =>
3237
+ core.exitMatchEffect(exit, {
3238
+ onFailure: (cause) =>
3239
+ pipe(
3240
+ internalFiber.join(left),
3241
+ internalEffect.mapErrorCause((cause2) => internalCause.parallel(cause2, cause))
3242
+ ),
3243
+ onSuccess: (value) =>
3244
+ pipe(
3245
+ left,
3246
+ core.interruptAsFiber(parentFiberId),
3247
+ core.as(value)
3248
+ )
3249
+ })
3250
+ })
3251
+ )
3252
+ )
3253
+
3254
+ /** @internal */
3255
+ export const raceFibersWith = dual<
3256
+ <E, A, R1, E1, A1, R2, E2, A2, R3, E3, A3>(
3257
+ other: Effect.Effect<R1, E1, A1>,
3258
+ options: {
3259
+ readonly onSelfWin: (
3260
+ winner: Fiber.RuntimeFiber<E, A>,
3261
+ loser: Fiber.RuntimeFiber<E1, A1>
3262
+ ) => Effect.Effect<R2, E2, A2>
3263
+ readonly onOtherWin: (
3264
+ winner: Fiber.RuntimeFiber<E1, A1>,
3265
+ loser: Fiber.RuntimeFiber<E, A>
3266
+ ) => Effect.Effect<R3, E3, A3>
3267
+ readonly selfScope?: fiberScope.FiberScope
3268
+ readonly otherScope?: fiberScope.FiberScope
3269
+ }
3270
+ ) => <R>(self: Effect.Effect<R, E, A>) => Effect.Effect<
3271
+ R | R1 | R2 | R3,
3272
+ E2 | E3,
3273
+ A2 | A3
3274
+ >,
3275
+ <R, E, A, R1, E1, A1, R2, E2, A2, R3, E3, A3>(
3276
+ self: Effect.Effect<R, E, A>,
3277
+ other: Effect.Effect<R1, E1, A1>,
3278
+ options: {
3279
+ readonly onSelfWin: (
3280
+ winner: Fiber.RuntimeFiber<E, A>,
3281
+ loser: Fiber.RuntimeFiber<E1, A1>
3282
+ ) => Effect.Effect<R2, E2, A2>
3283
+ readonly onOtherWin: (
3284
+ winner: Fiber.RuntimeFiber<E1, A1>,
3285
+ loser: Fiber.RuntimeFiber<E, A>
3286
+ ) => Effect.Effect<R3, E3, A3>
3287
+ readonly selfScope?: fiberScope.FiberScope
3288
+ readonly otherScope?: fiberScope.FiberScope
3289
+ }
3290
+ ) => Effect.Effect<
3291
+ R | R1 | R2 | R3,
3292
+ E2 | E3,
3293
+ A2 | A3
3294
+ >
3295
+ >(3, <R, E, A, R1, E1, A1, R2, E2, A2, R3, E3, A3>(
3296
+ self: Effect.Effect<R, E, A>,
3297
+ other: Effect.Effect<R1, E1, A1>,
3298
+ options: {
3299
+ readonly onSelfWin: (
3300
+ winner: Fiber.RuntimeFiber<E, A>,
3301
+ loser: Fiber.RuntimeFiber<E1, A1>
3302
+ ) => Effect.Effect<R2, E2, A2>
3303
+ readonly onOtherWin: (
3304
+ winner: Fiber.RuntimeFiber<E1, A1>,
3305
+ loser: Fiber.RuntimeFiber<E, A>
3306
+ ) => Effect.Effect<R3, E3, A3>
3307
+ readonly selfScope?: fiberScope.FiberScope
3308
+ readonly otherScope?: fiberScope.FiberScope
3309
+ }
3310
+ ) =>
3311
+ core.withFiberRuntime<R | R1 | R2 | R3, E2 | E3, A2 | A3>((parentFiber, parentStatus) => {
3312
+ const parentRuntimeFlags = parentStatus.runtimeFlags
3313
+ const raceIndicator = MRef.make(true)
3314
+ const leftFiber: FiberRuntime<E, A> = unsafeMakeChildFiber(
3315
+ self,
3316
+ parentFiber,
3317
+ parentRuntimeFlags,
3318
+ options.selfScope
3319
+ )
3320
+ const rightFiber: FiberRuntime<E1, A1> = unsafeMakeChildFiber(
3321
+ other,
3322
+ parentFiber,
3323
+ parentRuntimeFlags,
3324
+ options.otherScope
3325
+ )
3326
+ return core.async<R | R1 | R2 | R3, E2 | E3, A2 | A3>((cb) => {
3327
+ leftFiber.addObserver(() => completeRace(leftFiber, rightFiber, options.onSelfWin, raceIndicator, cb))
3328
+ rightFiber.addObserver(() => completeRace(rightFiber, leftFiber, options.onOtherWin, raceIndicator, cb))
3329
+ leftFiber.startFork(self)
3330
+ rightFiber.startFork(other)
3331
+ }, FiberId.combine(leftFiber.id(), rightFiber.id()))
3332
+ }))
3333
+
3334
+ const completeRace = <R, R1, R2, E2, A2, R3, E3, A3>(
3335
+ winner: Fiber.RuntimeFiber<any, any>,
3336
+ loser: Fiber.RuntimeFiber<any, any>,
3337
+ cont: (winner: Fiber.RuntimeFiber<any, any>, loser: Fiber.RuntimeFiber<any, any>) => Effect.Effect<any, any, any>,
3338
+ ab: MRef.MutableRef<boolean>,
3339
+ cb: (_: Effect.Effect<R | R1 | R2 | R3, E2 | E3, A2 | A3>) => void
3340
+ ): void => {
3341
+ if (MRef.compareAndSet(true, false)(ab)) {
3342
+ cb(cont(winner, loser))
3343
+ }
3344
+ }
3345
+
3346
+ /** @internal */
3347
+ export const ensuring = dual<
3348
+ <R1, X>(
3349
+ finalizer: Effect.Effect<R1, never, X>
3350
+ ) => <R, E, A>(
3351
+ self: Effect.Effect<R, E, A>
3352
+ ) => Effect.Effect<R | R1, E, A>,
3353
+ <R, E, A, R1, X>(
3354
+ self: Effect.Effect<R, E, A>,
3355
+ finalizer: Effect.Effect<R1, never, X>
3356
+ ) => Effect.Effect<R | R1, E, A>
3357
+ >(2, (self, finalizer) =>
3358
+ core.uninterruptibleMask((restore) =>
3359
+ core.matchCauseEffect(restore(self), {
3360
+ onFailure: (cause1) =>
3361
+ core.matchCauseEffect(finalizer, {
3362
+ onFailure: (cause2) => core.failCause(internalCause.sequential(cause1, cause2)),
3363
+ onSuccess: () => core.failCause(cause1)
3364
+ }),
3365
+ onSuccess: (a) => core.as(finalizer, a)
3366
+ })
3367
+ ))
3368
+
3369
+ /** @internal */
3370
+ export const invokeWithInterrupt: <R, E, A>(
3371
+ self: Effect.Effect<R, E, A>,
3372
+ entries: ReadonlyArray<Entry<unknown>>
3373
+ ) => Effect.Effect<R, E, void> = <R, E, A>(dataSource: Effect.Effect<R, E, A>, all: ReadonlyArray<Entry<unknown>>) =>
3374
+ core.fiberIdWith((id) =>
3375
+ core.flatMap(
3376
+ core.flatMap(
3377
+ forkDaemon(core.interruptible(dataSource)),
3378
+ (processing) =>
3379
+ core.async<never, E, void>((cb) => {
3380
+ const counts = all.map((_) => _.listeners.count)
3381
+ const checkDone = () => {
3382
+ if (counts.every((count) => count === 0)) {
3383
+ cleanup.forEach((f) => f())
3384
+ cb(core.interruptFiber(processing))
3385
+ }
3386
+ }
3387
+ processing.addObserver((exit) => {
3388
+ cleanup.forEach((f) => f())
3389
+ cb(exit)
3390
+ })
3391
+ const cleanup = all.map((r, i) => {
3392
+ const observer = (count: number) => {
3393
+ counts[i] = count
3394
+ checkDone()
3395
+ }
3396
+ r.listeners.addObserver(observer)
3397
+ return () => r.listeners.removeObserver(observer)
3398
+ })
3399
+ checkDone()
3400
+ return core.sync(() => {
3401
+ cleanup.forEach((f) => f())
3402
+ })
3403
+ })
3404
+ ),
3405
+ () =>
3406
+ core.suspend(() => {
3407
+ const residual = all.flatMap((entry) => {
3408
+ if (!entry.state.completed) {
3409
+ return [entry]
3410
+ }
3411
+ return []
3412
+ })
3413
+ return core.forEachSequentialDiscard(
3414
+ residual,
3415
+ (entry) => complete(entry.request as any, core.exitInterrupt(id))
3416
+ )
3417
+ })
3418
+ )
3419
+ )
3420
+
3421
+ /** @internal */
3422
+ export const interruptWhenPossible = dual<
3423
+ (all: Iterable<Request<any, any>>) => <R, E, A>(
3424
+ self: Effect.Effect<R, E, A>
3425
+ ) => Effect.Effect<R, E, void>,
3426
+ <R, E, A>(
3427
+ self: Effect.Effect<R, E, A>,
3428
+ all: Iterable<Request<any, any>>
3429
+ ) => Effect.Effect<R, E, void>
3430
+ >(2, (self, all) =>
3431
+ core.fiberRefGetWith(
3432
+ currentRequestMap,
3433
+ (map) =>
3434
+ core.suspend(() => {
3435
+ const entries = RA.fromIterable(all).flatMap((_) => map.has(_) ? [map.get(_)!] : [])
3436
+ return invokeWithInterrupt(self, entries)
3437
+ })
3438
+ ))
3439
+
3440
+ // circular Tracer
3441
+
3442
+ /** @internal */
3443
+ export const makeSpanScoped = (
3444
+ name: string,
3445
+ options?: {
3446
+ readonly attributes?: Record<string, unknown>
3447
+ readonly links?: ReadonlyArray<Tracer.SpanLink>
3448
+ readonly parent?: Tracer.ParentSpan
3449
+ readonly root?: boolean
3450
+ readonly context?: Context.Context<never>
3451
+ }
3452
+ ): Effect.Effect<Scope.Scope, never, Tracer.Span> =>
3453
+ acquireRelease(
3454
+ internalEffect.makeSpan(name, options),
3455
+ (span, exit) =>
3456
+ core.flatMap(
3457
+ internalEffect.currentTimeNanosTracing,
3458
+ (endTime) => core.sync(() => span.end(endTime, exit))
3459
+ )
3460
+ )
3461
+
3462
+ /* @internal */
3463
+ export const withTracerScoped = (value: Tracer.Tracer): Effect.Effect<Scope.Scope, never, void> =>
3464
+ fiberRefLocallyScopedWith(defaultServices.currentServices, Context.add(tracer.tracerTag, value))
3465
+
3466
+ /** @internal */
3467
+ export const withSpanScoped = dual<
3468
+ (name: string, options?: {
3469
+ readonly attributes?: Record<string, unknown>
3470
+ readonly links?: ReadonlyArray<Tracer.SpanLink>
3471
+ readonly parent?: Tracer.ParentSpan
3472
+ readonly root?: boolean
3473
+ readonly context?: Context.Context<never>
3474
+ }) => <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<Exclude<R, Tracer.ParentSpan> | Scope.Scope, E, A>,
3475
+ <R, E, A>(self: Effect.Effect<R, E, A>, name: string, options?: {
3476
+ readonly attributes?: Record<string, unknown>
3477
+ readonly links?: ReadonlyArray<Tracer.SpanLink>
3478
+ readonly parent?: Tracer.ParentSpan
3479
+ readonly root?: boolean
3480
+ readonly context?: Context.Context<never>
3481
+ }) => Effect.Effect<Exclude<R, Tracer.ParentSpan> | Scope.Scope, E, A>
3482
+ >(
3483
+ (args) => typeof args[0] !== "string",
3484
+ (self, name, options) =>
3485
+ core.flatMap(
3486
+ makeSpanScoped(name, options),
3487
+ (span) => internalEffect.provideService(self, tracer.spanTag, span)
3488
+ )
3489
+ )