effect 2.0.0-next.44 → 2.0.0-next.46

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 (779) hide show
  1. package/Bigint/dist/effect-Bigint.cjs.dev.js +125 -1
  2. package/Bigint/dist/effect-Bigint.cjs.mjs +6 -1
  3. package/Bigint/dist/effect-Bigint.cjs.prod.js +125 -1
  4. package/Bigint/dist/effect-Bigint.esm.js +111 -2
  5. package/Boolean/dist/effect-Boolean.cjs.dev.js +1 -1
  6. package/Boolean/dist/effect-Boolean.cjs.prod.js +1 -1
  7. package/Boolean/dist/effect-Boolean.esm.js +1 -1
  8. package/Brand/dist/effect-Brand.cjs.dev.js +3 -3
  9. package/Brand/dist/effect-Brand.cjs.prod.js +3 -3
  10. package/Cache/dist/effect-Cache.cjs.dev.js +32 -32
  11. package/Cache/dist/effect-Cache.cjs.prod.js +32 -32
  12. package/Cause/dist/effect-Cause.cjs.dev.js +17 -17
  13. package/Cause/dist/effect-Cause.cjs.mjs +1 -1
  14. package/Cause/dist/effect-Cause.cjs.prod.js +17 -17
  15. package/Cause/dist/effect-Cause.esm.js +4 -4
  16. package/Channel/dist/effect-Channel.cjs.dev.js +50 -50
  17. package/Channel/dist/effect-Channel.cjs.mjs +3 -3
  18. package/Channel/dist/effect-Channel.cjs.prod.js +50 -50
  19. package/Channel/dist/effect-Channel.esm.js +8 -8
  20. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.dev.js +36 -36
  21. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.prod.js +36 -36
  22. package/Chunk/dist/effect-Chunk.cjs.dev.js +3 -3
  23. package/Chunk/dist/effect-Chunk.cjs.prod.js +3 -3
  24. package/Clock/dist/effect-Clock.cjs.dev.js +16 -16
  25. package/Clock/dist/effect-Clock.cjs.prod.js +16 -16
  26. package/Config/dist/effect-Config.cjs.dev.js +11 -11
  27. package/Config/dist/effect-Config.cjs.prod.js +11 -11
  28. package/ConfigError/dist/effect-ConfigError.cjs.dev.js +4 -4
  29. package/ConfigError/dist/effect-ConfigError.cjs.prod.js +4 -4
  30. package/ConfigProvider/dist/effect-ConfigProvider.cjs.dev.js +17 -17
  31. package/ConfigProvider/dist/effect-ConfigProvider.cjs.prod.js +17 -17
  32. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.dev.js +5 -5
  33. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.prod.js +5 -5
  34. package/ConfigSecret/dist/effect-ConfigSecret.cjs.dev.js +4 -4
  35. package/ConfigSecret/dist/effect-ConfigSecret.cjs.prod.js +4 -4
  36. package/Console/dist/effect-Console.cjs.dev.js +35 -35
  37. package/Console/dist/effect-Console.cjs.prod.js +35 -35
  38. package/Context/dist/effect-Context.cjs.dev.js +3 -8
  39. package/Context/dist/effect-Context.cjs.prod.js +3 -8
  40. package/Data/dist/effect-Data.cjs.dev.js +141 -54
  41. package/Data/dist/effect-Data.cjs.mjs +2 -0
  42. package/Data/dist/effect-Data.cjs.prod.js +141 -54
  43. package/Data/dist/effect-Data.esm.js +51 -3
  44. package/DefaultServices/dist/effect-DefaultServices.cjs.dev.js +16 -16
  45. package/DefaultServices/dist/effect-DefaultServices.cjs.prod.js +16 -16
  46. package/Deferred/dist/effect-Deferred.cjs.dev.js +8 -8
  47. package/Deferred/dist/effect-Deferred.cjs.prod.js +8 -8
  48. package/Differ/dist/effect-Differ.cjs.dev.js +11 -11
  49. package/Differ/dist/effect-Differ.cjs.prod.js +11 -11
  50. package/Duration/dist/effect-Duration.cjs.dev.js +3 -3
  51. package/Duration/dist/effect-Duration.cjs.prod.js +3 -3
  52. package/Effect/dist/effect-Effect.cjs.dev.js +44 -44
  53. package/Effect/dist/effect-Effect.cjs.prod.js +44 -44
  54. package/Effectable/dist/effect-Effectable.cjs.dev.js +24 -14
  55. package/Effectable/dist/effect-Effectable.cjs.mjs +5 -4
  56. package/Effectable/dist/effect-Effectable.cjs.prod.js +24 -14
  57. package/Effectable/dist/effect-Effectable.esm.js +15 -5
  58. package/Either/dist/effect-Either.cjs.dev.js +3 -3
  59. package/Either/dist/effect-Either.cjs.prod.js +3 -3
  60. package/Encoding/dist/effect-Encoding.cjs.dev.js +3 -3
  61. package/Encoding/dist/effect-Encoding.cjs.prod.js +3 -3
  62. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.dev.js +2 -2
  63. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.prod.js +2 -2
  64. package/Exit/dist/effect-Exit.cjs.dev.js +8 -8
  65. package/Exit/dist/effect-Exit.cjs.prod.js +8 -8
  66. package/Fiber/dist/effect-Fiber.cjs.dev.js +29 -29
  67. package/Fiber/dist/effect-Fiber.cjs.prod.js +29 -29
  68. package/FiberId/dist/effect-FiberId.cjs.dev.js +5 -5
  69. package/FiberId/dist/effect-FiberId.cjs.prod.js +5 -5
  70. package/FiberRef/dist/effect-FiberRef.cjs.dev.js +29 -29
  71. package/FiberRef/dist/effect-FiberRef.cjs.prod.js +29 -29
  72. package/FiberRefs/dist/effect-FiberRefs.cjs.dev.js +9 -9
  73. package/FiberRefs/dist/effect-FiberRefs.cjs.prod.js +9 -9
  74. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.dev.js +10 -10
  75. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.prod.js +10 -10
  76. package/GroupBy/dist/effect-GroupBy.cjs.dev.js +42 -42
  77. package/GroupBy/dist/effect-GroupBy.cjs.prod.js +42 -42
  78. package/HashMap/dist/effect-HashMap.cjs.dev.js +20 -20
  79. package/HashMap/dist/effect-HashMap.cjs.prod.js +20 -20
  80. package/HashSet/dist/effect-HashSet.cjs.dev.js +20 -20
  81. package/HashSet/dist/effect-HashSet.cjs.prod.js +20 -20
  82. package/KeyedPool/dist/effect-KeyedPool.cjs.dev.js +33 -33
  83. package/KeyedPool/dist/effect-KeyedPool.cjs.prod.js +33 -33
  84. package/Layer/dist/effect-Layer.cjs.dev.js +32 -32
  85. package/Layer/dist/effect-Layer.cjs.prod.js +32 -32
  86. package/List/dist/effect-List.cjs.dev.js +3 -3
  87. package/List/dist/effect-List.cjs.prod.js +3 -3
  88. package/LogLevel/dist/effect-LogLevel.cjs.dev.js +8 -8
  89. package/LogLevel/dist/effect-LogLevel.cjs.prod.js +8 -8
  90. package/Logger/dist/effect-Logger.cjs.dev.js +33 -33
  91. package/Logger/dist/effect-Logger.cjs.prod.js +33 -33
  92. package/Metric/dist/effect-Metric.cjs.dev.js +27 -27
  93. package/Metric/dist/effect-Metric.cjs.prod.js +27 -27
  94. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.dev.js +4 -4
  95. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.prod.js +4 -4
  96. package/MetricHook/dist/effect-MetricHook.cjs.dev.js +6 -6
  97. package/MetricHook/dist/effect-MetricHook.cjs.prod.js +6 -6
  98. package/MetricKey/dist/effect-MetricKey.cjs.dev.js +6 -6
  99. package/MetricKey/dist/effect-MetricKey.cjs.prod.js +6 -6
  100. package/MetricKeyType/dist/effect-MetricKeyType.cjs.dev.js +4 -4
  101. package/MetricKeyType/dist/effect-MetricKeyType.cjs.prod.js +4 -4
  102. package/MetricPolling/dist/effect-MetricPolling.cjs.dev.js +30 -30
  103. package/MetricPolling/dist/effect-MetricPolling.cjs.prod.js +30 -30
  104. package/MetricRegistry/dist/effect-MetricRegistry.cjs.dev.js +8 -8
  105. package/MetricRegistry/dist/effect-MetricRegistry.cjs.prod.js +8 -8
  106. package/MetricState/dist/effect-MetricState.cjs.dev.js +1 -1
  107. package/MetricState/dist/effect-MetricState.cjs.prod.js +1 -1
  108. package/MutableHashMap/dist/effect-MutableHashMap.cjs.dev.js +4 -4
  109. package/MutableHashMap/dist/effect-MutableHashMap.cjs.prod.js +4 -4
  110. package/MutableHashSet/dist/effect-MutableHashSet.cjs.dev.js +4 -4
  111. package/MutableHashSet/dist/effect-MutableHashSet.cjs.prod.js +4 -4
  112. package/MutableQueue/dist/effect-MutableQueue.cjs.dev.js +3 -3
  113. package/MutableQueue/dist/effect-MutableQueue.cjs.prod.js +3 -3
  114. package/Number/dist/effect-Number.cjs.dev.js +1 -1
  115. package/Number/dist/effect-Number.cjs.prod.js +1 -1
  116. package/Number/dist/effect-Number.esm.js +1 -1
  117. package/Option/dist/effect-Option.cjs.dev.js +9 -9
  118. package/Option/dist/effect-Option.cjs.prod.js +9 -9
  119. package/Pool/dist/effect-Pool.cjs.dev.js +31 -31
  120. package/Pool/dist/effect-Pool.cjs.prod.js +31 -31
  121. package/PubSub/dist/effect-PubSub.cjs.d.mts +2 -0
  122. package/PubSub/dist/effect-PubSub.cjs.d.mts.map +1 -0
  123. package/PubSub/dist/effect-PubSub.cjs.d.ts +2 -0
  124. package/PubSub/dist/effect-PubSub.cjs.d.ts.map +1 -0
  125. package/{Hub/dist/effect-Hub.cjs.dev.js → PubSub/dist/effect-PubSub.cjs.dev.js} +163 -163
  126. package/PubSub/dist/effect-PubSub.cjs.js +7 -0
  127. package/{Hub/dist/effect-Hub.cjs.mjs → PubSub/dist/effect-PubSub.cjs.mjs} +1 -1
  128. package/{Hub/dist/effect-Hub.cjs.prod.js → PubSub/dist/effect-PubSub.cjs.prod.js} +163 -163
  129. package/{Hub/dist/effect-Hub.esm.js → PubSub/dist/effect-PubSub.esm.js} +15 -15
  130. package/PubSub/package.json +4 -0
  131. package/Queue/dist/effect-Queue.cjs.dev.js +28 -28
  132. package/Queue/dist/effect-Queue.cjs.prod.js +28 -28
  133. package/README.md +5 -5
  134. package/Random/dist/effect-Random.cjs.dev.js +16 -16
  135. package/Random/dist/effect-Random.cjs.prod.js +16 -16
  136. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.dev.js +3 -3
  137. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.prod.js +3 -3
  138. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.dev.js +3 -3
  139. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.prod.js +3 -3
  140. package/RedBlackTree/dist/effect-RedBlackTree.cjs.dev.js +4 -4
  141. package/RedBlackTree/dist/effect-RedBlackTree.cjs.prod.js +4 -4
  142. package/Ref/dist/effect-Ref.cjs.dev.js +9 -9
  143. package/Ref/dist/effect-Ref.cjs.prod.js +9 -9
  144. package/Reloadable/dist/effect-Reloadable.cjs.dev.js +44 -44
  145. package/Reloadable/dist/effect-Reloadable.cjs.prod.js +44 -44
  146. package/Request/dist/effect-Request.cjs.dev.js +29 -29
  147. package/Request/dist/effect-Request.cjs.prod.js +29 -29
  148. package/RequestBlock/dist/effect-RequestBlock.cjs.dev.js +36 -36
  149. package/RequestBlock/dist/effect-RequestBlock.cjs.prod.js +36 -36
  150. package/RequestResolver/dist/effect-RequestResolver.cjs.dev.js +38 -38
  151. package/RequestResolver/dist/effect-RequestResolver.cjs.prod.js +38 -38
  152. package/Resource/dist/effect-Resource.cjs.dev.js +34 -34
  153. package/Resource/dist/effect-Resource.cjs.prod.js +34 -34
  154. package/Runtime/dist/effect-Runtime.cjs.dev.js +34 -34
  155. package/Runtime/dist/effect-Runtime.cjs.prod.js +34 -34
  156. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.dev.js +33 -33
  157. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.prod.js +33 -33
  158. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.dev.js +6 -6
  159. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.prod.js +6 -6
  160. package/STM/dist/effect-STM.cjs.dev.js +48 -48
  161. package/STM/dist/effect-STM.cjs.prod.js +48 -48
  162. package/Schedule/dist/effect-Schedule.cjs.dev.js +19 -19
  163. package/Schedule/dist/effect-Schedule.cjs.prod.js +19 -19
  164. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.dev.js +3 -3
  165. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.prod.js +3 -3
  166. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.dev.js +3 -3
  167. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.prod.js +3 -3
  168. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.dev.js +3 -3
  169. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.prod.js +3 -3
  170. package/Scheduler/dist/effect-Scheduler.cjs.dev.js +8 -8
  171. package/Scheduler/dist/effect-Scheduler.cjs.prod.js +8 -8
  172. package/Scope/dist/effect-Scope.cjs.dev.js +27 -27
  173. package/Scope/dist/effect-Scope.cjs.prod.js +27 -27
  174. package/ScopedCache/dist/effect-ScopedCache.cjs.dev.js +78 -61
  175. package/ScopedCache/dist/effect-ScopedCache.cjs.prod.js +78 -61
  176. package/ScopedRef/dist/effect-ScopedRef.cjs.dev.js +34 -34
  177. package/ScopedRef/dist/effect-ScopedRef.cjs.prod.js +34 -34
  178. package/Sink/dist/effect-Sink.cjs.dev.js +43 -43
  179. package/Sink/dist/effect-Sink.cjs.mjs +1 -1
  180. package/Sink/dist/effect-Sink.cjs.prod.js +43 -43
  181. package/Sink/dist/effect-Sink.esm.js +5 -5
  182. package/SortedMap/dist/effect-SortedMap.cjs.dev.js +3 -3
  183. package/SortedMap/dist/effect-SortedMap.cjs.prod.js +3 -3
  184. package/SortedSet/dist/effect-SortedSet.cjs.dev.js +3 -3
  185. package/SortedSet/dist/effect-SortedSet.cjs.prod.js +3 -3
  186. package/Stream/dist/effect-Stream.cjs.dev.js +60 -60
  187. package/Stream/dist/effect-Stream.cjs.mjs +5 -5
  188. package/Stream/dist/effect-Stream.cjs.prod.js +60 -60
  189. package/Stream/dist/effect-Stream.esm.js +15 -15
  190. package/Streamable/dist/effect-Streamable.cjs.d.mts +2 -0
  191. package/Streamable/dist/effect-Streamable.cjs.d.mts.map +1 -0
  192. package/Streamable/dist/effect-Streamable.cjs.d.ts +2 -0
  193. package/Streamable/dist/effect-Streamable.cjs.d.ts.map +1 -0
  194. package/Streamable/dist/effect-Streamable.cjs.dev.js +152 -0
  195. package/Streamable/dist/effect-Streamable.cjs.js +7 -0
  196. package/Streamable/dist/effect-Streamable.cjs.mjs +3 -0
  197. package/Streamable/dist/effect-Streamable.cjs.prod.js +152 -0
  198. package/Streamable/dist/effect-Streamable.esm.js +42 -0
  199. package/Streamable/package.json +4 -0
  200. package/String/dist/effect-String.cjs.dev.js +4 -4
  201. package/String/dist/effect-String.cjs.prod.js +4 -4
  202. package/String/dist/effect-String.esm.js +1 -1
  203. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.dev.js +48 -48
  204. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.prod.js +48 -48
  205. package/Supervisor/dist/effect-Supervisor.cjs.dev.js +34 -34
  206. package/Supervisor/dist/effect-Supervisor.cjs.prod.js +34 -34
  207. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.dev.js +30 -30
  208. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.prod.js +30 -30
  209. package/TArray/dist/effect-TArray.cjs.dev.js +46 -46
  210. package/TArray/dist/effect-TArray.cjs.prod.js +46 -46
  211. package/TDeferred/dist/effect-TDeferred.cjs.dev.js +45 -45
  212. package/TDeferred/dist/effect-TDeferred.cjs.prod.js +45 -45
  213. package/TMap/dist/effect-TMap.cjs.dev.js +47 -47
  214. package/TMap/dist/effect-TMap.cjs.prod.js +47 -47
  215. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.dev.js +44 -44
  216. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.prod.js +44 -44
  217. package/TPubSub/dist/effect-TPubSub.cjs.d.mts +2 -0
  218. package/TPubSub/dist/effect-TPubSub.cjs.d.mts.map +1 -0
  219. package/TPubSub/dist/effect-TPubSub.cjs.d.ts +2 -0
  220. package/TPubSub/dist/effect-TPubSub.cjs.d.ts.map +1 -0
  221. package/{THub/dist/effect-THub.cjs.dev.js → TPubSub/dist/effect-TPubSub.cjs.dev.js} +101 -101
  222. package/TPubSub/dist/effect-TPubSub.cjs.js +7 -0
  223. package/{THub/dist/effect-THub.cjs.mjs → TPubSub/dist/effect-TPubSub.cjs.mjs} +2 -2
  224. package/{THub/dist/effect-THub.cjs.prod.js → TPubSub/dist/effect-TPubSub.cjs.prod.js} +101 -101
  225. package/TPubSub/dist/effect-TPubSub.esm.js +157 -0
  226. package/TPubSub/package.json +4 -0
  227. package/TQueue/dist/effect-TQueue.cjs.dev.js +46 -46
  228. package/TQueue/dist/effect-TQueue.cjs.prod.js +46 -46
  229. package/TRandom/dist/effect-TRandom.cjs.dev.js +50 -50
  230. package/TRandom/dist/effect-TRandom.cjs.prod.js +50 -50
  231. package/TReentrantLock/dist/effect-TReentrantLock.cjs.dev.js +46 -46
  232. package/TReentrantLock/dist/effect-TReentrantLock.cjs.prod.js +46 -46
  233. package/TRef/dist/effect-TRef.cjs.dev.js +44 -44
  234. package/TRef/dist/effect-TRef.cjs.prod.js +44 -44
  235. package/TSemaphore/dist/effect-TSemaphore.cjs.dev.js +45 -45
  236. package/TSemaphore/dist/effect-TSemaphore.cjs.prod.js +45 -45
  237. package/TSet/dist/effect-TSet.cjs.dev.js +47 -47
  238. package/TSet/dist/effect-TSet.cjs.prod.js +47 -47
  239. package/Take/dist/effect-Take.cjs.dev.js +36 -36
  240. package/Take/dist/effect-Take.cjs.prod.js +36 -36
  241. package/TestAnnotation/dist/effect-TestAnnotation.cjs.dev.js +8 -8
  242. package/TestAnnotation/dist/effect-TestAnnotation.cjs.prod.js +8 -8
  243. package/TestAnnotations/dist/effect-TestAnnotations.cjs.dev.js +25 -25
  244. package/TestAnnotations/dist/effect-TestAnnotations.cjs.prod.js +25 -25
  245. package/TestClock/dist/effect-TestClock.cjs.dev.js +46 -46
  246. package/TestClock/dist/effect-TestClock.cjs.prod.js +46 -46
  247. package/TestConfig/dist/effect-TestConfig.cjs.dev.js +3 -8
  248. package/TestConfig/dist/effect-TestConfig.cjs.prod.js +3 -8
  249. package/TestContext/dist/effect-TestContext.cjs.dev.js +37 -37
  250. package/TestContext/dist/effect-TestContext.cjs.prod.js +37 -37
  251. package/TestLive/dist/effect-TestLive.cjs.dev.js +17 -17
  252. package/TestLive/dist/effect-TestLive.cjs.prod.js +17 -17
  253. package/TestServices/dist/effect-TestServices.cjs.dev.js +42 -42
  254. package/TestServices/dist/effect-TestServices.cjs.prod.js +42 -42
  255. package/TestSized/dist/effect-TestSized.cjs.dev.js +11 -11
  256. package/TestSized/dist/effect-TestSized.cjs.prod.js +11 -11
  257. package/Tracer/dist/effect-Tracer.cjs.dev.js +16 -16
  258. package/Tracer/dist/effect-Tracer.cjs.prod.js +16 -16
  259. package/dist/{Context-01a123ac.cjs.prod.js → Context-9fe5eb16.cjs.prod.js} +5 -5
  260. package/dist/{Context-593661f6.cjs.dev.js → Context-da73ddfa.cjs.dev.js} +5 -5
  261. package/dist/{Effectable-2f022879.cjs.dev.js → Effectable-7314aed8.cjs.dev.js} +63 -10
  262. package/dist/{Effectable-cd8f3a96.cjs.prod.js → Effectable-c4c14a2b.cjs.prod.js} +63 -10
  263. package/dist/{Either-7a881c7a.cjs.prod.js → Either-d43f082c.cjs.prod.js} +6 -79
  264. package/dist/{Either-12bbe00c.cjs.dev.js → Either-fa0ef1d9.cjs.dev.js} +6 -79
  265. package/dist/{ExecutionStrategy-14d3053a.cjs.prod.js → ExecutionStrategy-4808fe5d.cjs.prod.js} +2 -2
  266. package/dist/{ExecutionStrategy-70f1a920.cjs.dev.js → ExecutionStrategy-7d9d457b.cjs.dev.js} +2 -2
  267. package/dist/{HashSet-0b4ff1e4.cjs.dev.js → HashSet-5963ad6b.cjs.dev.js} +32 -32
  268. package/dist/{HashSet-6257b66d.cjs.prod.js → HashSet-ac02a3e1.cjs.prod.js} +32 -32
  269. package/dist/Option-463b42e6.cjs.dev.js +81 -0
  270. package/dist/Option-935e5d7c.cjs.prod.js +81 -0
  271. package/dist/{Ref-a3a4e50d.cjs.prod.js → Ref-4014b526.cjs.prod.js} +1 -1
  272. package/dist/{Ref-74b592a4.cjs.dev.js → Ref-acdee7ef.cjs.dev.js} +1 -1
  273. package/dist/{cache-75fbef45.cjs.prod.js → cache-5c7d77e4.cjs.prod.js} +17 -17
  274. package/dist/{cache-e1ea3923.cjs.dev.js → cache-7eed9d33.cjs.dev.js} +17 -17
  275. package/dist/{circular-6f16b226.cjs.prod.js → circular-1f481ffb.cjs.prod.js} +33 -33
  276. package/dist/{circular-f406f9a4.cjs.prod.js → circular-9e10a5a7.cjs.prod.js} +6 -6
  277. package/dist/{circular-58ff5e9c.cjs.dev.js → circular-c2dbce1a.cjs.dev.js} +33 -33
  278. package/dist/{circular-30564534.cjs.dev.js → circular-c8b65bdb.cjs.dev.js} +6 -6
  279. package/dist/{config-80900693.cjs.dev.js → config-3b7935a3.cjs.dev.js} +3 -3
  280. package/dist/{config-d0ddc159.cjs.prod.js → config-5ba54da1.cjs.prod.js} +3 -3
  281. package/dist/{configProvider-93617d6d.cjs.prod.js → configProvider-b6b20998.cjs.prod.js} +29 -29
  282. package/dist/{configProvider-ce43fdbf.cjs.dev.js → configProvider-f34a82f1.cjs.dev.js} +29 -29
  283. package/dist/{core-0b0539de.cjs.prod.js → core-07202cc0.cjs.prod.js} +711 -726
  284. package/dist/{core-60ca562a.cjs.prod.js → core-7411d1e1.cjs.prod.js} +3 -3
  285. package/dist/{core-b4d7b4f5.cjs.dev.js → core-b7401357.cjs.dev.js} +711 -726
  286. package/dist/{core-13f8a866.cjs.dev.js → core-c5747f88.cjs.dev.js} +3 -3
  287. package/dist/{core-effect-892f3686.cjs.dev.js → core-effect-1c564d42.cjs.dev.js} +77 -75
  288. package/dist/{core-effect-c65770cd.cjs.prod.js → core-effect-9201ea63.cjs.prod.js} +77 -75
  289. package/dist/{dataSource-3ba9e4d3.cjs.dev.js → dataSource-b5eda714.cjs.dev.js} +2 -2
  290. package/dist/{dataSource-7df3a5f6.cjs.prod.js → dataSource-b83bc277.cjs.prod.js} +2 -2
  291. package/dist/declarations/src/Bigint.d.ts +92 -1
  292. package/dist/declarations/src/Bigint.d.ts.map +1 -1
  293. package/dist/declarations/src/Boolean.d.ts +1 -1
  294. package/dist/declarations/src/Cause.d.ts +6 -6
  295. package/dist/declarations/src/Cause.d.ts.map +1 -1
  296. package/dist/declarations/src/Channel.d.ts +7 -7
  297. package/dist/declarations/src/Channel.d.ts.map +1 -1
  298. package/dist/declarations/src/Data.d.ts +30 -0
  299. package/dist/declarations/src/Data.d.ts.map +1 -1
  300. package/dist/declarations/src/Effect.d.ts +4 -2
  301. package/dist/declarations/src/Effect.d.ts.map +1 -1
  302. package/dist/declarations/src/Effectable.d.ts +14 -4
  303. package/dist/declarations/src/Effectable.d.ts.map +1 -1
  304. package/dist/declarations/src/Metric.d.ts +31 -7
  305. package/dist/declarations/src/Metric.d.ts.map +1 -1
  306. package/dist/declarations/src/MetricHook.d.ts +7 -4
  307. package/dist/declarations/src/MetricHook.d.ts.map +1 -1
  308. package/dist/declarations/src/MetricKey.d.ts +24 -4
  309. package/dist/declarations/src/MetricKey.d.ts.map +1 -1
  310. package/dist/declarations/src/MetricKeyType.d.ts +9 -6
  311. package/dist/declarations/src/MetricKeyType.d.ts.map +1 -1
  312. package/dist/declarations/src/MetricRegistry.d.ts +2 -2
  313. package/dist/declarations/src/MetricRegistry.d.ts.map +1 -1
  314. package/dist/declarations/src/MetricState.d.ts +15 -9
  315. package/dist/declarations/src/MetricState.d.ts.map +1 -1
  316. package/dist/declarations/src/Number.d.ts +1 -1
  317. package/dist/declarations/src/{Hub.d.ts → PubSub.d.ts} +38 -38
  318. package/dist/declarations/src/PubSub.d.ts.map +1 -0
  319. package/dist/declarations/src/Sink.d.ts +4 -4
  320. package/dist/declarations/src/Sink.d.ts.map +1 -1
  321. package/dist/declarations/src/Stream.d.ts +24 -24
  322. package/dist/declarations/src/Stream.d.ts.map +1 -1
  323. package/dist/declarations/src/Streamable.d.ts +27 -0
  324. package/dist/declarations/src/Streamable.d.ts.map +1 -0
  325. package/dist/declarations/src/String.d.ts +1 -1
  326. package/dist/declarations/src/SubscriptionRef.d.ts.map +1 -1
  327. package/dist/declarations/src/TPubSub.d.ts +146 -0
  328. package/dist/declarations/src/TPubSub.d.ts.map +1 -0
  329. package/dist/declarations/src/index.d.ts +15 -15
  330. package/dist/declarations/src/index.d.ts.map +1 -1
  331. package/dist/{defaultServices-5530ff0e.cjs.dev.js → defaultServices-755d5b46.cjs.dev.js} +6 -6
  332. package/dist/{defaultServices-086b8ac9.cjs.prod.js → defaultServices-9d7ce86f.cjs.prod.js} +6 -6
  333. package/dist/effect.cjs.dev.js +9 -9
  334. package/dist/effect.cjs.mjs +3 -3
  335. package/dist/effect.cjs.prod.js +9 -9
  336. package/dist/effect.esm.js +6 -6
  337. package/dist/{fiber-1bfb4c1d.cjs.dev.js → fiber-5156eff2.cjs.dev.js} +12 -12
  338. package/dist/{fiber-2eb0a4c1.cjs.prod.js → fiber-9519d109.cjs.prod.js} +12 -12
  339. package/dist/{fiberRefs-be6b6a70.cjs.prod.js → fiberRefs-558c17e6.cjs.prod.js} +1 -1
  340. package/dist/{fiberRefs-be4fae6a.cjs.dev.js → fiberRefs-98b71233.cjs.dev.js} +1 -1
  341. package/dist/{fiberRuntime-2d31e120.cjs.prod.js → fiberRuntime-31ae011f.cjs.prod.js} +99 -100
  342. package/dist/{fiberRuntime-c7280769.cjs.dev.js → fiberRuntime-d3872282.cjs.dev.js} +99 -100
  343. package/dist/{groupBy-0702739b.cjs.prod.js → groupBy-724f64ef.cjs.prod.js} +4 -4
  344. package/dist/{groupBy-7f852bf3.cjs.dev.js → groupBy-862cc2da.cjs.dev.js} +4 -4
  345. package/dist/{hook-e72b20fd.cjs.dev.js → hook-8cefc909.cjs.dev.js} +8 -4
  346. package/dist/{hook-470b717e.cjs.prod.js → hook-98ce30e4.cjs.prod.js} +8 -4
  347. package/dist/{key-f0a1408a.cjs.dev.js → key-198b6670.cjs.dev.js} +3 -3
  348. package/dist/{key-378a6a2c.cjs.prod.js → key-eb8a12b2.cjs.prod.js} +3 -3
  349. package/dist/{keyType-cf67c69c.cjs.prod.js → keyType-0c5e6178.cjs.prod.js} +9 -2
  350. package/dist/{keyType-55f27f07.cjs.dev.js → keyType-7c164b82.cjs.dev.js} +9 -2
  351. package/dist/{layer-b42e8022.cjs.dev.js → layer-29574350.cjs.dev.js} +33 -33
  352. package/dist/{layer-d103b49b.cjs.prod.js → layer-51ff4846.cjs.prod.js} +33 -33
  353. package/dist/{patch-a1b2802f.cjs.dev.js → patch-0220a642.cjs.dev.js} +1 -1
  354. package/dist/{patch-c4d6c61e.cjs.prod.js → patch-7c559bb2.cjs.prod.js} +1 -1
  355. package/dist/{pathPatch-15c8d723.cjs.prod.js → pathPatch-b56a4da2.cjs.prod.js} +1 -1
  356. package/dist/{pathPatch-d9d41297.cjs.dev.js → pathPatch-fab016f1.cjs.dev.js} +1 -1
  357. package/dist/{pool-ef44ba82.cjs.dev.js → pool-3211287f.cjs.dev.js} +31 -31
  358. package/dist/{pool-e414eb88.cjs.prod.js → pool-f77d7705.cjs.prod.js} +31 -31
  359. package/dist/{query-1d0157db.cjs.prod.js → query-a52b25f0.cjs.prod.js} +11 -11
  360. package/dist/{query-54337864.cjs.dev.js → query-c36decd5.cjs.dev.js} +11 -11
  361. package/dist/{queue-27ac9d98.cjs.prod.js → queue-315ea45d.cjs.prod.js} +22 -22
  362. package/dist/{queue-533d70d4.cjs.dev.js → queue-7a223c44.cjs.dev.js} +22 -22
  363. package/dist/{registry-1099de3f.cjs.dev.js → registry-62ff192e.cjs.dev.js} +4 -4
  364. package/dist/{registry-013ecdde.cjs.prod.js → registry-d5258dff.cjs.prod.js} +4 -4
  365. package/dist/{runtime-ea174155.cjs.prod.js → runtime-005f8a9b.cjs.prod.js} +7 -7
  366. package/dist/{runtime-afad6a9b.cjs.dev.js → runtime-57c8ddf8.cjs.dev.js} +7 -7
  367. package/dist/{schedule-1d92198c.cjs.prod.js → schedule-8cdf6bf1.cjs.prod.js} +40 -40
  368. package/dist/{schedule-e0f55cab.cjs.dev.js → schedule-e7a9f93f.cjs.dev.js} +40 -40
  369. package/dist/scopedRef-789d7fef.cjs.prod.js +55 -0
  370. package/dist/scopedRef-eb19c7a6.cjs.dev.js +55 -0
  371. package/dist/{singleProducerAsyncInput-4105a342.cjs.dev.js → singleProducerAsyncInput-9ff8389b.cjs.dev.js} +1 -1
  372. package/dist/{singleProducerAsyncInput-21463e16.cjs.prod.js → singleProducerAsyncInput-f9b258b1.cjs.prod.js} +1 -1
  373. package/dist/{sink-9129504b.cjs.prod.js → sink-572d8981.cjs.prod.js} +17 -17
  374. package/dist/{sink-ee393b63.cjs.dev.js → sink-8d3427e7.cjs.dev.js} +17 -17
  375. package/dist/{state-dd1bd066.cjs.prod.js → state-0bdf02b7.cjs.prod.js} +2 -6
  376. package/dist/{state-8fbec044.cjs.dev.js → state-931050c4.cjs.dev.js} +2 -6
  377. package/dist/{stm-537da66b.cjs.dev.js → stm-8aca0022.cjs.dev.js} +3 -3
  378. package/dist/{stm-5043c3cb.cjs.prod.js → stm-f250b596.cjs.prod.js} +3 -3
  379. package/dist/{stream-c7eda5bc.cjs.dev.js → stream-34d80d2c.cjs.dev.js} +31 -28
  380. package/dist/{stream-13637643.cjs.prod.js → stream-ea4f4d44.cjs.prod.js} +31 -28
  381. package/dist/{synchronizedRef-37e32854.cjs.dev.js → synchronizedRef-a12fd967.cjs.dev.js} +6 -6
  382. package/dist/{synchronizedRef-b4cde4de.cjs.prod.js → synchronizedRef-ed8aa6ac.cjs.prod.js} +6 -6
  383. package/dist/{tArray-df1bae1c.cjs.dev.js → tArray-17f078f2.cjs.dev.js} +3 -3
  384. package/dist/{tArray-d5476a2d.cjs.prod.js → tArray-d184e22f.cjs.prod.js} +3 -3
  385. package/dist/{tMap-a3e14c05.cjs.dev.js → tMap-1a5aa78b.cjs.dev.js} +4 -4
  386. package/dist/{tMap-20ef43ea.cjs.prod.js → tMap-e219f30e.cjs.prod.js} +4 -4
  387. package/dist/{tQueue-bd3cf539.cjs.dev.js → tQueue-0a4fc773.cjs.dev.js} +3 -3
  388. package/dist/{tQueue-c02c22bd.cjs.prod.js → tQueue-47129ad0.cjs.prod.js} +3 -3
  389. package/dist/{tRef-49e44dde.cjs.prod.js → tRef-ab4c5713.cjs.prod.js} +1 -1
  390. package/dist/{tRef-75dd04b3.cjs.dev.js → tRef-b860ef05.cjs.dev.js} +1 -1
  391. package/internal/Context.esm.js +4 -4
  392. package/internal/Data.esm.js +4 -1
  393. package/internal/Differ/ChunkPatch.esm.js +1 -1
  394. package/internal/Differ/ContextPatch.esm.js +1 -1
  395. package/internal/Differ/HashMapPatch.esm.js +1 -1
  396. package/internal/Differ/HashSetPatch.esm.js +1 -1
  397. package/internal/Differ/OrPatch.esm.js +1 -1
  398. package/internal/Effectable.esm.js +9 -9
  399. package/internal/Either.esm.js +3 -3
  400. package/internal/Option.esm.js +3 -3
  401. package/internal/cache.esm.js +1 -1
  402. package/internal/cause.esm.js +6 -21
  403. package/internal/channel.esm.js +5 -5
  404. package/internal/core-effect.esm.js +6 -4
  405. package/internal/fiberRuntime.esm.js +3 -3
  406. package/internal/layer.esm.js +1 -1
  407. package/internal/metric/hook.esm.js +7 -3
  408. package/internal/metric/key.esm.js +2 -2
  409. package/internal/metric/keyType.esm.js +9 -2
  410. package/internal/metric/registry.esm.js +2 -2
  411. package/internal/metric/state.esm.js +2 -6
  412. package/internal/metric.esm.js +3 -3
  413. package/internal/{hub.esm.js → pubsub.esm.js} +108 -108
  414. package/internal/request.esm.js +1 -1
  415. package/internal/sink.esm.js +8 -8
  416. package/internal/stm/{tHub.esm.js → tPubSub.esm.js} +30 -30
  417. package/internal/stream.esm.js +23 -20
  418. package/internal/subscriptionRef.esm.js +8 -8
  419. package/package.json +66 -211
  420. package/src/.index.ts +30 -0
  421. package/src/Bigint.ts +497 -0
  422. package/src/Boolean.ts +261 -0
  423. package/src/Brand.ts +336 -0
  424. package/src/Cache.ts +250 -0
  425. package/src/Cause.ts +813 -0
  426. package/src/Channel.ts +2244 -0
  427. package/src/ChannelChildExecutorDecision.ts +138 -0
  428. package/src/ChannelMergeDecision.ts +94 -0
  429. package/src/ChannelMergeState.ts +166 -0
  430. package/src/ChannelMergeStrategy.ts +107 -0
  431. package/src/ChannelSingleProducerAsyncInput.ts +68 -0
  432. package/src/ChannelUpstreamPullRequest.ts +110 -0
  433. package/src/ChannelUpstreamPullStrategy.ts +120 -0
  434. package/src/Chunk.ts +1314 -0
  435. package/src/Clock.ts +111 -0
  436. package/src/Config.ts +447 -0
  437. package/src/ConfigError.ts +267 -0
  438. package/src/ConfigProvider.ts +296 -0
  439. package/src/ConfigProviderPathPatch.ts +100 -0
  440. package/src/ConfigSecret.ts +76 -0
  441. package/src/Console.ts +222 -0
  442. package/src/Context.ts +365 -0
  443. package/src/Data.ts +367 -0
  444. package/src/DefaultServices.ts +34 -0
  445. package/src/Deferred.ts +283 -0
  446. package/src/Differ.ts +406 -0
  447. package/src/Duration.ts +558 -0
  448. package/src/Effect.ts +5177 -0
  449. package/src/Effectable.ts +107 -0
  450. package/src/Either.ts +593 -0
  451. package/src/Encoding.ts +130 -0
  452. package/src/Equal.ts +64 -0
  453. package/src/Equivalence.ts +235 -0
  454. package/src/ExecutionStrategy.ts +111 -0
  455. package/src/Exit.ts +464 -0
  456. package/src/Fiber.ts +650 -0
  457. package/src/FiberId.ts +187 -0
  458. package/src/FiberRef.ts +399 -0
  459. package/src/FiberRefs.ts +160 -0
  460. package/src/FiberRefsPatch.ts +105 -0
  461. package/src/FiberStatus.ts +108 -0
  462. package/src/Function.ts +834 -0
  463. package/src/GlobalValue.ts +20 -0
  464. package/src/GroupBy.ts +102 -0
  465. package/src/HKT.ts +44 -0
  466. package/src/Hash.ts +162 -0
  467. package/src/HashMap.ts +373 -0
  468. package/src/HashSet.ts +300 -0
  469. package/src/Inspectable.ts +45 -0
  470. package/src/KeyedPool.ts +160 -0
  471. package/src/Layer.ts +866 -0
  472. package/src/List.ts +942 -0
  473. package/src/LogLevel.ts +266 -0
  474. package/src/LogSpan.ts +25 -0
  475. package/src/Logger.ts +321 -0
  476. package/src/Metric.ts +657 -0
  477. package/src/MetricBoundaries.ts +70 -0
  478. package/src/MetricHook.ts +139 -0
  479. package/src/MetricKey.ts +227 -0
  480. package/src/MetricKeyType.ts +257 -0
  481. package/src/MetricLabel.ts +47 -0
  482. package/src/MetricPair.ts +70 -0
  483. package/src/MetricPolling.ts +136 -0
  484. package/src/MetricRegistry.ts +47 -0
  485. package/src/MetricState.ts +256 -0
  486. package/src/MutableHashMap.ts +187 -0
  487. package/src/MutableHashSet.ts +118 -0
  488. package/src/MutableList.ts +289 -0
  489. package/src/MutableQueue.ts +227 -0
  490. package/src/MutableRef.ts +204 -0
  491. package/src/NonEmptyIterable.ts +30 -0
  492. package/src/Number.ts +406 -0
  493. package/src/Option.ts +1307 -0
  494. package/src/Order.ts +328 -0
  495. package/src/Ordering.ts +112 -0
  496. package/src/Pipeable.ts +318 -0
  497. package/src/Pool.ts +148 -0
  498. package/src/Predicate.ts +704 -0
  499. package/src/PubSub.ts +175 -0
  500. package/src/Queue.ts +575 -0
  501. package/src/Random.ts +115 -0
  502. package/src/ReadonlyArray.ts +2017 -0
  503. package/src/ReadonlyRecord.ts +641 -0
  504. package/src/RedBlackTree.ts +415 -0
  505. package/src/Ref.ts +159 -0
  506. package/src/Reloadable.ts +136 -0
  507. package/src/Request.ts +285 -0
  508. package/src/RequestBlock.ts +157 -0
  509. package/src/RequestResolver.ts +305 -0
  510. package/src/Resource.ts +97 -0
  511. package/src/Runtime.ts +216 -0
  512. package/src/RuntimeFlags.ts +336 -0
  513. package/src/RuntimeFlagsPatch.ts +183 -0
  514. package/src/STM.ts +2076 -0
  515. package/src/Schedule.ts +1396 -0
  516. package/src/ScheduleDecision.ts +62 -0
  517. package/src/ScheduleInterval.ts +151 -0
  518. package/src/ScheduleIntervals.ts +122 -0
  519. package/src/Scheduler.ts +359 -0
  520. package/src/Scope.ts +171 -0
  521. package/src/ScopedCache.ts +148 -0
  522. package/src/ScopedRef.ts +95 -0
  523. package/src/Sink.ts +1431 -0
  524. package/src/SortedMap.ts +229 -0
  525. package/src/SortedSet.ts +385 -0
  526. package/src/Stream.ts +4540 -0
  527. package/src/StreamEmit.ts +83 -0
  528. package/src/StreamHaltStrategy.ts +111 -0
  529. package/src/Streamable.ts +42 -0
  530. package/src/String.ts +682 -0
  531. package/src/Struct.ts +151 -0
  532. package/src/SubscriptionRef.ts +273 -0
  533. package/src/Supervisor.ts +239 -0
  534. package/src/Symbol.ts +28 -0
  535. package/src/SynchronizedRef.ts +249 -0
  536. package/src/TArray.ts +494 -0
  537. package/src/TDeferred.ts +99 -0
  538. package/src/TMap.ts +510 -0
  539. package/src/TPriorityQueue.ts +223 -0
  540. package/src/TPubSub.ts +187 -0
  541. package/src/TQueue.ts +431 -0
  542. package/src/TRandom.ts +129 -0
  543. package/src/TReentrantLock.ts +224 -0
  544. package/src/TRef.ts +176 -0
  545. package/src/TSemaphore.ts +129 -0
  546. package/src/TSet.ts +349 -0
  547. package/src/Take.ts +257 -0
  548. package/src/TestAnnotation.ts +166 -0
  549. package/src/TestAnnotationMap.ts +124 -0
  550. package/src/TestAnnotations.ts +113 -0
  551. package/src/TestClock.ts +552 -0
  552. package/src/TestConfig.ts +49 -0
  553. package/src/TestContext.ts +35 -0
  554. package/src/TestLive.ts +55 -0
  555. package/src/TestServices.ts +392 -0
  556. package/src/TestSized.ts +55 -0
  557. package/src/Tracer.ts +119 -0
  558. package/src/Tuple.ts +204 -0
  559. package/src/Types.ts +123 -0
  560. package/src/Unify.ts +118 -0
  561. package/src/Utils.ts +699 -0
  562. package/src/index.ts +840 -0
  563. package/src/internal/Common.ts +56 -0
  564. package/src/internal/Context.ts +252 -0
  565. package/src/internal/Data.ts +55 -0
  566. package/src/internal/Differ/ChunkPatch.ts +209 -0
  567. package/src/internal/Differ/ContextPatch.ts +229 -0
  568. package/src/internal/Differ/HashMapPatch.ts +217 -0
  569. package/src/internal/Differ/HashSetPatch.ts +174 -0
  570. package/src/internal/Differ/OrPatch.ts +296 -0
  571. package/src/internal/Differ.ts +184 -0
  572. package/src/internal/Effectable.ts +92 -0
  573. package/src/internal/Either.ts +107 -0
  574. package/src/internal/Encoding/Base64.ts +282 -0
  575. package/src/internal/Encoding/Base64Url.ts +28 -0
  576. package/src/internal/Encoding/Common.ts +24 -0
  577. package/src/internal/Encoding/Hex.ts +315 -0
  578. package/src/internal/HashMap/array.ts +49 -0
  579. package/src/internal/HashMap/bitwise.ts +32 -0
  580. package/src/internal/HashMap/config.ts +14 -0
  581. package/src/internal/HashMap/keySet.ts +8 -0
  582. package/src/internal/HashMap/node.ts +390 -0
  583. package/src/internal/HashMap.ts +533 -0
  584. package/src/internal/HashSet.ts +319 -0
  585. package/src/internal/Iterable.ts +54 -0
  586. package/src/internal/Option.ts +79 -0
  587. package/src/internal/ReadonlyArray.ts +8 -0
  588. package/src/internal/RedBlackTree/iterator.ts +207 -0
  589. package/src/internal/RedBlackTree/node.ts +48 -0
  590. package/src/internal/RedBlackTree.ts +1195 -0
  591. package/src/internal/Stack.ts +4 -0
  592. package/src/internal/blockedRequests.ts +512 -0
  593. package/src/internal/cache.ts +714 -0
  594. package/src/internal/cause.ts +1205 -0
  595. package/src/internal/channel/channelExecutor.ts +1193 -0
  596. package/src/internal/channel/channelState.ts +132 -0
  597. package/src/internal/channel/childExecutorDecision.ts +95 -0
  598. package/src/internal/channel/continuation.ts +171 -0
  599. package/src/internal/channel/mergeDecision.ts +115 -0
  600. package/src/internal/channel/mergeState.ts +120 -0
  601. package/src/internal/channel/mergeStrategy.ts +72 -0
  602. package/src/internal/channel/singleProducerAsyncInput.ts +261 -0
  603. package/src/internal/channel/subexecutor.ts +229 -0
  604. package/src/internal/channel/upstreamPullRequest.ts +83 -0
  605. package/src/internal/channel/upstreamPullStrategy.ts +86 -0
  606. package/src/internal/channel.ts +2516 -0
  607. package/src/internal/clock.ts +97 -0
  608. package/src/internal/completedRequestMap.ts +9 -0
  609. package/src/internal/concurrency.ts +83 -0
  610. package/src/internal/config.ts +598 -0
  611. package/src/internal/configError.ts +291 -0
  612. package/src/internal/configProvider/pathPatch.ts +97 -0
  613. package/src/internal/configProvider.ts +692 -0
  614. package/src/internal/configSecret.ts +71 -0
  615. package/src/internal/console.ts +136 -0
  616. package/src/internal/core-effect.ts +2146 -0
  617. package/src/internal/core-stream.ts +999 -0
  618. package/src/internal/core.ts +2765 -0
  619. package/src/internal/dataSource.ts +258 -0
  620. package/src/internal/defaultServices/console.ts +97 -0
  621. package/src/internal/defaultServices.ts +140 -0
  622. package/src/internal/deferred.ts +44 -0
  623. package/src/internal/effect/circular.ts +664 -0
  624. package/src/internal/executionStrategy.ts +72 -0
  625. package/src/internal/fiber.ts +350 -0
  626. package/src/internal/fiberId.ts +270 -0
  627. package/src/internal/fiberMessage.ts +85 -0
  628. package/src/internal/fiberRefs/patch.ts +144 -0
  629. package/src/internal/fiberRefs.ts +239 -0
  630. package/src/internal/fiberRuntime.ts +3477 -0
  631. package/src/internal/fiberScope.ts +72 -0
  632. package/src/internal/fiberStatus.ts +118 -0
  633. package/src/internal/groupBy.ts +516 -0
  634. package/src/internal/keyedPool.ts +240 -0
  635. package/src/internal/layer/circular.ts +203 -0
  636. package/src/internal/layer.ts +1230 -0
  637. package/src/internal/logSpan.ts +15 -0
  638. package/src/internal/logger-circular.ts +24 -0
  639. package/src/internal/logger.ts +307 -0
  640. package/src/internal/metric/boundaries.ts +72 -0
  641. package/src/internal/metric/hook.ts +459 -0
  642. package/src/internal/metric/key.ts +173 -0
  643. package/src/internal/metric/keyType.ts +263 -0
  644. package/src/internal/metric/label.ts +44 -0
  645. package/src/internal/metric/pair.ts +48 -0
  646. package/src/internal/metric/polling.ts +143 -0
  647. package/src/internal/metric/registry.ts +188 -0
  648. package/src/internal/metric/state.ts +286 -0
  649. package/src/internal/metric.ts +522 -0
  650. package/src/internal/opCodes/cause.ts +35 -0
  651. package/src/internal/opCodes/channel.ts +83 -0
  652. package/src/internal/opCodes/channelChildExecutorDecision.ts +17 -0
  653. package/src/internal/opCodes/channelMergeDecision.ts +11 -0
  654. package/src/internal/opCodes/channelMergeState.ts +17 -0
  655. package/src/internal/opCodes/channelMergeStrategy.ts +11 -0
  656. package/src/internal/opCodes/channelState.ts +23 -0
  657. package/src/internal/opCodes/channelUpstreamPullRequest.ts +11 -0
  658. package/src/internal/opCodes/channelUpstreamPullStrategy.ts +11 -0
  659. package/src/internal/opCodes/config.ts +65 -0
  660. package/src/internal/opCodes/configError.ts +35 -0
  661. package/src/internal/opCodes/continuation.ts +11 -0
  662. package/src/internal/opCodes/deferred.ts +11 -0
  663. package/src/internal/opCodes/effect.ts +83 -0
  664. package/src/internal/opCodes/layer.ts +53 -0
  665. package/src/internal/opCodes/streamHaltStrategy.ts +23 -0
  666. package/src/internal/pool.ts +499 -0
  667. package/src/internal/pubsub.ts +1557 -0
  668. package/src/internal/query.ts +199 -0
  669. package/src/internal/queue.ts +729 -0
  670. package/src/internal/random.ts +88 -0
  671. package/src/internal/ref.ts +164 -0
  672. package/src/internal/reloadable.ts +164 -0
  673. package/src/internal/request.ts +137 -0
  674. package/src/internal/resource.ts +64 -0
  675. package/src/internal/ringBuffer.ts +68 -0
  676. package/src/internal/runtime.ts +348 -0
  677. package/src/internal/runtimeFlags.ts +176 -0
  678. package/src/internal/runtimeFlagsPatch.ts +103 -0
  679. package/src/internal/schedule/decision.ts +47 -0
  680. package/src/internal/schedule/interval.ts +101 -0
  681. package/src/internal/schedule/intervals.ts +179 -0
  682. package/src/internal/schedule.ts +2096 -0
  683. package/src/internal/scopedCache.ts +634 -0
  684. package/src/internal/scopedRef.ts +133 -0
  685. package/src/internal/singleShotGen.ts +35 -0
  686. package/src/internal/sink.ts +2118 -0
  687. package/src/internal/stm/core.ts +804 -0
  688. package/src/internal/stm/opCodes/stm.ts +71 -0
  689. package/src/internal/stm/opCodes/stmState.ts +17 -0
  690. package/src/internal/stm/opCodes/strategy.ts +17 -0
  691. package/src/internal/stm/opCodes/tExit.ts +29 -0
  692. package/src/internal/stm/opCodes/tryCommit.ts +11 -0
  693. package/src/internal/stm/stm/entry.ts +59 -0
  694. package/src/internal/stm/stm/journal.ts +123 -0
  695. package/src/internal/stm/stm/opCodes/stm.ts +71 -0
  696. package/src/internal/stm/stm/opCodes/stmState.ts +17 -0
  697. package/src/internal/stm/stm/opCodes/strategy.ts +17 -0
  698. package/src/internal/stm/stm/opCodes/tExit.ts +29 -0
  699. package/src/internal/stm/stm/opCodes/tryCommit.ts +11 -0
  700. package/src/internal/stm/stm/stmState.ts +130 -0
  701. package/src/internal/stm/stm/tExit.ts +180 -0
  702. package/src/internal/stm/stm/tryCommit.ts +34 -0
  703. package/src/internal/stm/stm/txnId.ts +14 -0
  704. package/src/internal/stm/stm/versioned.ts +4 -0
  705. package/src/internal/stm/stm.ts +1491 -0
  706. package/src/internal/stm/tArray.ts +550 -0
  707. package/src/internal/stm/tDeferred.ts +79 -0
  708. package/src/internal/stm/tMap.ts +824 -0
  709. package/src/internal/stm/tPriorityQueue.ts +259 -0
  710. package/src/internal/stm/tPubSub.ts +542 -0
  711. package/src/internal/stm/tQueue.ts +400 -0
  712. package/src/internal/stm/tRandom.ts +140 -0
  713. package/src/internal/stm/tReentrantLock.ts +352 -0
  714. package/src/internal/stm/tRef.ts +190 -0
  715. package/src/internal/stm/tSemaphore.ts +113 -0
  716. package/src/internal/stm/tSet.ts +237 -0
  717. package/src/internal/stream/debounceState.ts +57 -0
  718. package/src/internal/stream/emit.ts +46 -0
  719. package/src/internal/stream/haltStrategy.ts +85 -0
  720. package/src/internal/stream/handoff.ts +185 -0
  721. package/src/internal/stream/handoffSignal.ts +59 -0
  722. package/src/internal/stream/pull.ts +35 -0
  723. package/src/internal/stream/sinkEndReason.ts +30 -0
  724. package/src/internal/stream/zipAllState.ts +88 -0
  725. package/src/internal/stream/zipChunksState.ts +56 -0
  726. package/src/internal/stream.ts +8089 -0
  727. package/src/internal/string-utils.ts +107 -0
  728. package/src/internal/subscriptionRef.ts +133 -0
  729. package/src/internal/supervisor/patch.ts +190 -0
  730. package/src/internal/supervisor.ts +301 -0
  731. package/src/internal/synchronizedRef.ts +115 -0
  732. package/src/internal/take.ts +198 -0
  733. package/src/internal/testing/sleep.ts +27 -0
  734. package/src/internal/testing/suspendedWarningData.ts +85 -0
  735. package/src/internal/testing/warningData.ts +94 -0
  736. package/src/internal/timeout.ts +23 -0
  737. package/src/internal/tracer.ts +74 -0
  738. package/Error/dist/effect-Error.cjs.d.mts +0 -2
  739. package/Error/dist/effect-Error.cjs.d.mts.map +0 -1
  740. package/Error/dist/effect-Error.cjs.d.ts +0 -2
  741. package/Error/dist/effect-Error.cjs.d.ts.map +0 -1
  742. package/Error/dist/effect-Error.cjs.dev.js +0 -140
  743. package/Error/dist/effect-Error.cjs.js +0 -7
  744. package/Error/dist/effect-Error.cjs.mjs +0 -4
  745. package/Error/dist/effect-Error.cjs.prod.js +0 -140
  746. package/Error/dist/effect-Error.esm.js +0 -47
  747. package/Error/package.json +0 -4
  748. package/Hub/dist/effect-Hub.cjs.d.mts +0 -2
  749. package/Hub/dist/effect-Hub.cjs.d.mts.map +0 -1
  750. package/Hub/dist/effect-Hub.cjs.d.ts +0 -2
  751. package/Hub/dist/effect-Hub.cjs.d.ts.map +0 -1
  752. package/Hub/dist/effect-Hub.cjs.js +0 -7
  753. package/Hub/package.json +0 -4
  754. package/THub/dist/effect-THub.cjs.d.mts +0 -2
  755. package/THub/dist/effect-THub.cjs.d.mts.map +0 -1
  756. package/THub/dist/effect-THub.cjs.d.ts +0 -2
  757. package/THub/dist/effect-THub.cjs.d.ts.map +0 -1
  758. package/THub/dist/effect-THub.cjs.js +0 -7
  759. package/THub/dist/effect-THub.esm.js +0 -157
  760. package/THub/package.json +0 -4
  761. package/dist/declarations/src/Error.d.ts +0 -37
  762. package/dist/declarations/src/Error.d.ts.map +0 -1
  763. package/dist/declarations/src/Hub.d.ts.map +0 -1
  764. package/dist/declarations/src/THub.d.ts +0 -146
  765. package/dist/declarations/src/THub.d.ts.map +0 -1
  766. package/dist/scopedRef-1c2c9acf.cjs.prod.js +0 -55
  767. package/dist/scopedRef-ab4c58b0.cjs.dev.js +0 -55
  768. /package/dist/{FiberId-e594f6e8.cjs.prod.js → FiberId-1d7ac632.cjs.prod.js} +0 -0
  769. /package/dist/{FiberId-557db880.cjs.dev.js → FiberId-d88ddce6.cjs.dev.js} +0 -0
  770. /package/dist/{RuntimeFlagsPatch-ea268c50.cjs.dev.js → RuntimeFlagsPatch-69102b03.cjs.dev.js} +0 -0
  771. /package/dist/{RuntimeFlagsPatch-e2769b87.cjs.prod.js → RuntimeFlagsPatch-866fa259.cjs.prod.js} +0 -0
  772. /package/dist/{boundaries-20cfad9d.cjs.prod.js → boundaries-9af538e3.cjs.prod.js} +0 -0
  773. /package/dist/{boundaries-3810d885.cjs.dev.js → boundaries-f212e414.cjs.dev.js} +0 -0
  774. /package/dist/{configError-33e55472.cjs.prod.js → configError-b43723af.cjs.prod.js} +0 -0
  775. /package/dist/{configError-240e9b61.cjs.dev.js → configError-d5efe9c0.cjs.dev.js} +0 -0
  776. /package/dist/{configSecret-e34c1b14.cjs.dev.js → configSecret-3e8ae336.cjs.dev.js} +0 -0
  777. /package/dist/{configSecret-d1caca55.cjs.prod.js → configSecret-e2faa181.cjs.prod.js} +0 -0
  778. /package/dist/{take-2af6e92a.cjs.prod.js → take-85daaf79.cjs.prod.js} +0 -0
  779. /package/dist/{take-df9480a8.cjs.dev.js → take-f9ef9e2e.cjs.dev.js} +0 -0
@@ -0,0 +1,1396 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import type * as Cause from "./Cause"
5
+ import type * as Chunk from "./Chunk"
6
+ import type * as Context from "./Context"
7
+ import type * as Duration from "./Duration"
8
+ import type * as Effect from "./Effect"
9
+ import type * as Either from "./Either"
10
+ import type { LazyArg } from "./Function"
11
+ import * as internal from "./internal/schedule"
12
+ import type * as Option from "./Option"
13
+ import type { Pipeable } from "./Pipeable"
14
+ import type { Predicate } from "./Predicate"
15
+ import type * as ScheduleDecision from "./ScheduleDecision"
16
+ import type * as Intervals from "./ScheduleIntervals"
17
+
18
+ /**
19
+ * @since 2.0.0
20
+ * @category symbols
21
+ */
22
+ export const ScheduleTypeId: unique symbol = internal.ScheduleTypeId
23
+
24
+ /**
25
+ * @since 2.0.0
26
+ * @category symbols
27
+ */
28
+ export type ScheduleTypeId = typeof ScheduleTypeId
29
+
30
+ /**
31
+ * @since 2.0.0
32
+ * @category symbols
33
+ */
34
+ export const ScheduleDriverTypeId: unique symbol = internal.ScheduleDriverTypeId
35
+
36
+ /**
37
+ * @since 2.0.0
38
+ * @category symbols
39
+ */
40
+ export type ScheduleDriverTypeId = typeof ScheduleDriverTypeId
41
+
42
+ /**
43
+ * A `Schedule<Env, In, Out>` defines a recurring schedule, which consumes
44
+ * values of type `In`, and which returns values of type `Out`.
45
+ *
46
+ * Schedules are defined as a possibly infinite set of intervals spread out over
47
+ * time. Each interval defines a window in which recurrence is possible.
48
+ *
49
+ * When schedules are used to repeat or retry effects, the starting boundary of
50
+ * each interval produced by a schedule is used as the moment when the effect
51
+ * will be executed again.
52
+ *
53
+ * Schedules compose in the following primary ways:
54
+ *
55
+ * - Union: performs the union of the intervals of two schedules
56
+ * - Intersection: performs the intersection of the intervals of two schedules
57
+ * - Sequence: concatenates the intervals of one schedule onto another
58
+ *
59
+ * In addition, schedule inputs and outputs can be transformed, filtered (to
60
+ * terminate a schedule early in response to some input or output), and so
61
+ * forth.
62
+ *
63
+ * A variety of other operators exist for transforming and combining schedules,
64
+ * and the companion object for `Schedule` contains all common types of
65
+ * schedules, both for performing retrying, as well as performing repetition.
66
+ *
67
+ * @category model
68
+ * @since 2.0.0
69
+ */
70
+ export interface Schedule<Env, In, Out> extends Schedule.Variance<Env, In, Out>, Pipeable {
71
+ /**
72
+ * Initial State
73
+ */
74
+ readonly initial: any
75
+ /**
76
+ * Schedule Step
77
+ */
78
+ readonly step: (
79
+ now: number,
80
+ input: In,
81
+ state: any
82
+ ) => Effect.Effect<Env, never, readonly [any, Out, ScheduleDecision.ScheduleDecision]>
83
+ }
84
+
85
+ /**
86
+ * @since 2.0.0
87
+ */
88
+ export declare namespace Schedule {
89
+ /**
90
+ * @since 2.0.0
91
+ * @category models
92
+ */
93
+ export interface Variance<Env, In, Out> {
94
+ readonly [ScheduleTypeId]: {
95
+ readonly _Env: (_: never) => Env
96
+ readonly _In: (_: In) => void
97
+ readonly _Out: (_: never) => Out
98
+ }
99
+ }
100
+
101
+ /**
102
+ * @since 2.0.0
103
+ */
104
+ export interface DriverVariance<Env, In, Out> {
105
+ readonly [ScheduleDriverTypeId]: {
106
+ readonly _Env: (_: never) => Env
107
+ readonly _In: (_: In) => void
108
+ readonly _Out: (_: never) => Out
109
+ }
110
+ }
111
+ }
112
+
113
+ /**
114
+ * @since 2.0.0
115
+ * @category models
116
+ */
117
+ export interface ScheduleDriver<Env, In, Out> extends Schedule.DriverVariance<Env, In, Out> {
118
+ state(): Effect.Effect<never, never, unknown>
119
+ last(): Effect.Effect<never, Cause.NoSuchElementException, Out>
120
+ reset(): Effect.Effect<never, never, void>
121
+ next(input: In): Effect.Effect<Env, Option.Option<never>, Out>
122
+ }
123
+
124
+ /**
125
+ * Constructs a new `Schedule` with the specified `initial` state and the
126
+ * specified `step` function.
127
+ *
128
+ * @since 2.0.0
129
+ * @category constructors
130
+ */
131
+ export const makeWithState: <S, Env, In, Out>(
132
+ initial: S,
133
+ step: (
134
+ now: number,
135
+ input: In,
136
+ state: S
137
+ ) => Effect.Effect<Env, never, readonly [S, Out, ScheduleDecision.ScheduleDecision]>
138
+ ) => Schedule<Env, In, Out> = internal.makeWithState
139
+
140
+ /**
141
+ * Returns a new schedule with the given delay added to every interval defined
142
+ * by this schedule.
143
+ *
144
+ * @since 2.0.0
145
+ * @category utils
146
+ */
147
+ export const addDelay: {
148
+ <Out>(f: (out: Out) => Duration.DurationInput): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Out>
149
+ <Env, In, Out>(self: Schedule<Env, In, Out>, f: (out: Out) => Duration.DurationInput): Schedule<Env, In, Out>
150
+ } = internal.addDelay
151
+
152
+ /**
153
+ * Returns a new schedule with the given effectfully computed delay added to
154
+ * every interval defined by this schedule.
155
+ *
156
+ * @since 2.0.0
157
+ * @category utils
158
+ */
159
+ export const addDelayEffect: {
160
+ <Out, Env2>(
161
+ f: (out: Out) => Effect.Effect<Env2, never, Duration.DurationInput>
162
+ ): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In, Out>
163
+ <Env, In, Out, Env2>(
164
+ self: Schedule<Env, In, Out>,
165
+ f: (out: Out) => Effect.Effect<Env2, never, Duration.DurationInput>
166
+ ): Schedule<Env | Env2, In, Out>
167
+ } = internal.addDelayEffect
168
+
169
+ /**
170
+ * The same as `andThenEither`, but merges the output.
171
+ *
172
+ * @since 2.0.0
173
+ * @category sequencing
174
+ */
175
+ export const andThen: {
176
+ <Env1, In1, Out2>(
177
+ that: Schedule<Env1, In1, Out2>
178
+ ): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env1 | Env, In & In1, Out2 | Out>
179
+ <Env, In, Out, Env1, In1, Out2>(
180
+ self: Schedule<Env, In, Out>,
181
+ that: Schedule<Env1, In1, Out2>
182
+ ): Schedule<Env | Env1, In & In1, Out | Out2>
183
+ } = internal.andThen
184
+
185
+ /**
186
+ * Returns a new schedule that first executes this schedule to completion, and
187
+ * then executes the specified schedule to completion.
188
+ *
189
+ * @since 2.0.0
190
+ * @category sequencing
191
+ */
192
+ export const andThenEither: {
193
+ <Env2, In2, Out2>(
194
+ that: Schedule<Env2, In2, Out2>
195
+ ): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In & In2, Either.Either<Out, Out2>>
196
+ <Env, In, Out, Env2, In2, Out2>(
197
+ self: Schedule<Env, In, Out>,
198
+ that: Schedule<Env2, In2, Out2>
199
+ ): Schedule<Env | Env2, In & In2, Either.Either<Out, Out2>>
200
+ } = internal.andThenEither
201
+
202
+ /**
203
+ * Returns a new schedule that maps this schedule to a constant output.
204
+ *
205
+ * @since 2.0.0
206
+ * @category mapping
207
+ */
208
+ export const as: {
209
+ <Out2>(out: Out2): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Out2>
210
+ <Env, In, Out, Out2>(self: Schedule<Env, In, Out>, out: Out2): Schedule<Env, In, Out2>
211
+ } = internal.as
212
+
213
+ /**
214
+ * Returns a new schedule that maps the output of this schedule to unit.
215
+ *
216
+ * @since 2.0.0
217
+ * @category constructors
218
+ */
219
+ export const asUnit: <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env, In, void> = internal.asUnit
220
+
221
+ /**
222
+ * Returns a new schedule that has both the inputs and outputs of this and the
223
+ * specified schedule.
224
+ *
225
+ * @since 2.0.0
226
+ * @category utils
227
+ */
228
+ export const bothInOut: {
229
+ <Env2, In2, Out2>(
230
+ that: Schedule<Env2, In2, Out2>
231
+ ): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, readonly [In, In2], readonly [Out, Out2]>
232
+ <Env, In, Out, Env2, In2, Out2>(
233
+ self: Schedule<Env, In, Out>,
234
+ that: Schedule<Env2, In2, Out2>
235
+ ): Schedule<Env | Env2, readonly [In, In2], readonly [Out, Out2]>
236
+ } = internal.bothInOut
237
+
238
+ /**
239
+ * Returns a new schedule that passes each input and output of this schedule
240
+ * to the specified function, and then determines whether or not to continue
241
+ * based on the return value of the function.
242
+ *
243
+ * @since 2.0.0
244
+ * @category utils
245
+ */
246
+ export const check: {
247
+ <In, Out>(test: (input: In, output: Out) => boolean): <Env>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Out>
248
+ <Env, In, Out>(self: Schedule<Env, In, Out>, test: (input: In, output: Out) => boolean): Schedule<Env, In, Out>
249
+ } = internal.check
250
+
251
+ /**
252
+ * Returns a new schedule that passes each input and output of this schedule
253
+ * to the specified function, and then determines whether or not to continue
254
+ * based on the return value of the function.
255
+ *
256
+ * @since 2.0.0
257
+ * @category utils
258
+ */
259
+ export const checkEffect: {
260
+ <In, Out, Env2>(
261
+ test: (input: In, output: Out) => Effect.Effect<Env2, never, boolean>
262
+ ): <Env>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In, Out>
263
+ <Env, In, Out, Env2>(
264
+ self: Schedule<Env, In, Out>,
265
+ test: (input: In, output: Out) => Effect.Effect<Env2, never, boolean>
266
+ ): Schedule<Env | Env2, In, Out>
267
+ } = internal.checkEffect
268
+
269
+ /**
270
+ * A schedule that recurs anywhere, collecting all inputs into a `Chunk`.
271
+ *
272
+ * @since 2.0.0
273
+ * @category constructors
274
+ */
275
+ export const collectAllInputs: <A>() => Schedule<never, A, Chunk.Chunk<A>> = internal.collectAllInputs
276
+
277
+ /**
278
+ * Returns a new schedule that collects the outputs of this one into a chunk.
279
+ *
280
+ * @since 2.0.0
281
+ * @category utils
282
+ */
283
+ export const collectAllOutputs: <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Chunk.Chunk<Out>> =
284
+ internal.collectAllOutputs
285
+
286
+ /**
287
+ * A schedule that recurs until the condition f fails, collecting all inputs
288
+ * into a list.
289
+ *
290
+ * @since 2.0.0
291
+ * @category utils
292
+ */
293
+ export const collectUntil: <A>(f: Predicate<A>) => Schedule<never, A, Chunk.Chunk<A>> = internal.collectUntil
294
+
295
+ /**
296
+ * A schedule that recurs until the effectful condition f fails, collecting
297
+ * all inputs into a list.
298
+ *
299
+ * @since 2.0.0
300
+ * @category utils
301
+ */
302
+ export const collectUntilEffect: <Env, A>(
303
+ f: (a: A) => Effect.Effect<Env, never, boolean>
304
+ ) => Schedule<Env, A, Chunk.Chunk<A>> = internal.collectUntilEffect
305
+
306
+ /**
307
+ * A schedule that recurs as long as the condition f holds, collecting all
308
+ * inputs into a list.
309
+ *
310
+ * @since 2.0.0
311
+ * @category utils
312
+ */
313
+ export const collectWhile: <A>(f: Predicate<A>) => Schedule<never, A, Chunk.Chunk<A>> = internal.collectWhile
314
+
315
+ /**
316
+ * A schedule that recurs as long as the effectful condition holds, collecting
317
+ * all inputs into a list.
318
+ *
319
+ * @category utils
320
+ * @since 2.0.0
321
+ */
322
+ export const collectWhileEffect: <Env, A>(
323
+ f: (a: A) => Effect.Effect<Env, never, boolean>
324
+ ) => Schedule<Env, A, Chunk.Chunk<A>> = internal.collectWhileEffect
325
+
326
+ /**
327
+ * Returns the composition of this schedule and the specified schedule, by
328
+ * piping the output of this one into the input of the other. Effects
329
+ * described by this schedule will always be executed before the effects
330
+ * described by the second schedule.
331
+ *
332
+ * @since 2.0.0
333
+ * @category utils
334
+ */
335
+ export const compose: {
336
+ <Env2, Out, Out2>(
337
+ that: Schedule<Env2, Out, Out2>
338
+ ): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In, Out2>
339
+ <Env, In, Out, Env2, Out2>(
340
+ self: Schedule<Env, In, Out>,
341
+ that: Schedule<Env2, Out, Out2>
342
+ ): Schedule<Env | Env2, In, Out2>
343
+ } = internal.compose
344
+
345
+ /**
346
+ * Returns a new schedule that deals with a narrower class of inputs than this
347
+ * schedule.
348
+ *
349
+ * @since 2.0.0
350
+ * @category mapping
351
+ */
352
+ export const mapInput: {
353
+ <In, In2>(f: (in2: In2) => In): <Env, Out>(self: Schedule<Env, In, Out>) => Schedule<Env, In2, Out>
354
+ <Env, In, Out, In2>(self: Schedule<Env, In, Out>, f: (in2: In2) => In): Schedule<Env, In2, Out>
355
+ } = internal.mapInput
356
+
357
+ /**
358
+ * Transforms the context being provided to this schedule with the
359
+ * specified function.
360
+ *
361
+ * @since 2.0.0
362
+ * @category context
363
+ */
364
+ export const mapInputContext: {
365
+ <Env0, Env>(
366
+ f: (env0: Context.Context<Env0>) => Context.Context<Env>
367
+ ): <In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env0, In, Out>
368
+ <Env0, Env, In, Out>(
369
+ self: Schedule<Env, In, Out>,
370
+ f: (env0: Context.Context<Env0>) => Context.Context<Env>
371
+ ): Schedule<Env0, In, Out>
372
+ } = internal.mapInputContext
373
+
374
+ /**
375
+ * Returns a new schedule that deals with a narrower class of inputs than this
376
+ * schedule.
377
+ *
378
+ * @since 2.0.0
379
+ * @category mapping
380
+ */
381
+ export const mapInputEffect: {
382
+ <In, Env2, In2>(
383
+ f: (in2: In2) => Effect.Effect<Env2, never, In>
384
+ ): <Env, Out>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In2, Out>
385
+ <Env, In, Out, Env2, In2>(
386
+ self: Schedule<Env, In, Out>,
387
+ f: (in2: In2) => Effect.Effect<Env2, never, In>
388
+ ): Schedule<Env | Env2, In2, Out>
389
+ } = internal.mapInputEffect
390
+
391
+ /**
392
+ * A schedule that always recurs, which counts the number of recurrences.
393
+ *
394
+ * @since 2.0.0
395
+ * @category constructors
396
+ */
397
+ export const count: Schedule<never, unknown, number> = internal.count
398
+
399
+ /**
400
+ * Cron-like schedule that recurs every specified `day` of month. Won't recur
401
+ * on months containing less days than specified in `day` param.
402
+ *
403
+ * It triggers at zero hour of the day. Producing a count of repeats: 0, 1, 2.
404
+ *
405
+ * NOTE: `day` parameter is validated lazily. Must be in range 1...31.
406
+ *
407
+ * @since 2.0.0
408
+ * @category constructors
409
+ */
410
+ export const dayOfMonth: (day: number) => Schedule<never, unknown, number> = internal.dayOfMonth
411
+
412
+ /**
413
+ * Cron-like schedule that recurs every specified `day` of each week. It
414
+ * triggers at zero hour of the week. Producing a count of repeats: 0, 1, 2.
415
+ *
416
+ * NOTE: `day` parameter is validated lazily. Must be in range 1 (Monday)...7
417
+ * (Sunday).
418
+ *
419
+ * @since 2.0.0
420
+ * @category constructors
421
+ */
422
+ export const dayOfWeek: (day: number) => Schedule<never, unknown, number> = internal.dayOfWeek
423
+
424
+ /**
425
+ * Returns a new schedule with the specified effectfully computed delay added
426
+ * before the start of each interval produced by this schedule.
427
+ *
428
+ * @since 2.0.0
429
+ * @category utils
430
+ */
431
+ export const delayed: {
432
+ (
433
+ f: (duration: Duration.Duration) => Duration.DurationInput
434
+ ): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Out>
435
+ <Env, In, Out>(
436
+ self: Schedule<Env, In, Out>,
437
+ f: (duration: Duration.Duration) => Duration.DurationInput
438
+ ): Schedule<Env, In, Out>
439
+ } = internal.delayed
440
+
441
+ /**
442
+ * Returns a new schedule with the specified effectfully computed delay added
443
+ * before the start of each interval produced by this schedule.
444
+ *
445
+ * @since 2.0.0
446
+ * @category constructors
447
+ */
448
+ export const delayedEffect: {
449
+ <Env2>(
450
+ f: (duration: Duration.Duration) => Effect.Effect<Env2, never, Duration.DurationInput>
451
+ ): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In, Out>
452
+ <Env, In, Out, Env2>(
453
+ self: Schedule<Env, In, Out>,
454
+ f: (duration: Duration.Duration) => Effect.Effect<Env2, never, Duration.DurationInput>
455
+ ): Schedule<Env | Env2, In, Out>
456
+ } = internal.delayedEffect
457
+
458
+ /**
459
+ * Takes a schedule that produces a delay, and returns a new schedule that
460
+ * uses this delay to further delay intervals in the resulting schedule.
461
+ *
462
+ * @since 2.0.0
463
+ * @category constructors
464
+ */
465
+ export const delayedSchedule: <Env, In>(
466
+ schedule: Schedule<Env, In, Duration.Duration>
467
+ ) => Schedule<Env, In, Duration.Duration> = internal.delayedSchedule
468
+
469
+ /**
470
+ * Returns a new schedule that outputs the delay between each occurence.
471
+ *
472
+ * @since 2.0.0
473
+ * @category constructors
474
+ */
475
+ export const delays: <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Duration.Duration> =
476
+ internal.delays
477
+
478
+ /**
479
+ * Returns a new schedule that maps both the input and output.
480
+ *
481
+ * @since 2.0.0
482
+ * @category mapping
483
+ */
484
+ export const mapBoth: {
485
+ <In, Out, In2, Out2>(
486
+ options: {
487
+ readonly onInput: (in2: In2) => In
488
+ readonly onOutput: (out: Out) => Out2
489
+ }
490
+ ): <Env>(self: Schedule<Env, In, Out>) => Schedule<Env, In2, Out2>
491
+ <Env, In, Out, In2, Out2>(
492
+ self: Schedule<Env, In, Out>,
493
+ options: {
494
+ readonly onInput: (in2: In2) => In
495
+ readonly onOutput: (out: Out) => Out2
496
+ }
497
+ ): Schedule<Env, In2, Out2>
498
+ } = internal.mapBoth
499
+
500
+ /**
501
+ * Returns a new schedule that maps both the input and output.
502
+ *
503
+ * @since 2.0.0
504
+ * @category mapping
505
+ */
506
+ export const mapBothEffect: {
507
+ <In2, Env2, In, Out, Env3, Out2>(
508
+ options: {
509
+ readonly onInput: (input: In2) => Effect.Effect<Env2, never, In>
510
+ readonly onOutput: (out: Out) => Effect.Effect<Env3, never, Out2>
511
+ }
512
+ ): <Env>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env3 | Env, In2, Out2>
513
+ <Env, In, Out, In2, Env2, Env3, Out2>(
514
+ self: Schedule<Env, In, Out>,
515
+ options: {
516
+ readonly onInput: (input: In2) => Effect.Effect<Env2, never, In>
517
+ readonly onOutput: (out: Out) => Effect.Effect<Env3, never, Out2>
518
+ }
519
+ ): Schedule<Env | Env2 | Env3, In2, Out2>
520
+ } = internal.mapBothEffect
521
+
522
+ /**
523
+ * Returns a driver that can be used to step the schedule, appropriately
524
+ * handling sleeping.
525
+ *
526
+ * @since 2.0.0
527
+ * @category getter
528
+ */
529
+ export const driver: <Env, In, Out>(
530
+ self: Schedule<Env, In, Out>
531
+ ) => Effect.Effect<never, never, ScheduleDriver<Env, In, Out>> = internal.driver
532
+
533
+ /**
534
+ * A schedule that can recur one time, the specified amount of time into the
535
+ * future.
536
+ *
537
+ * @since 2.0.0
538
+ * @category constructors
539
+ */
540
+ export const duration: (duration: Duration.DurationInput) => Schedule<never, unknown, Duration.Duration> =
541
+ internal.duration
542
+
543
+ /**
544
+ * Returns a new schedule that performs a geometric union on the intervals
545
+ * defined by both schedules.
546
+ *
547
+ * @since 2.0.0
548
+ * @category alternatives
549
+ */
550
+ export const either: {
551
+ <Env2, In2, Out2>(
552
+ that: Schedule<Env2, In2, Out2>
553
+ ): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In & In2, readonly [Out, Out2]>
554
+ <Env, In, Out, Env2, In2, Out2>(
555
+ self: Schedule<Env, In, Out>,
556
+ that: Schedule<Env2, In2, Out2>
557
+ ): Schedule<Env | Env2, In & In2, readonly [Out, Out2]>
558
+ } = internal.either
559
+
560
+ /**
561
+ * The same as `either` followed by `map`.
562
+ *
563
+ * @since 2.0.0
564
+ * @category alternatives
565
+ */
566
+ export const eitherWith: {
567
+ <Env2, In2, Out2>(
568
+ that: Schedule<Env2, In2, Out2>,
569
+ f: (x: Intervals.Intervals, y: Intervals.Intervals) => Intervals.Intervals
570
+ ): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In & In2, readonly [Out, Out2]>
571
+ <Env, In, Out, Env2, In2, Out2>(
572
+ self: Schedule<Env, In, Out>,
573
+ that: Schedule<Env2, In2, Out2>,
574
+ f: (x: Intervals.Intervals, y: Intervals.Intervals) => Intervals.Intervals
575
+ ): Schedule<Env | Env2, In & In2, readonly [Out, Out2]>
576
+ } = internal.eitherWith
577
+
578
+ /**
579
+ * A schedule that occurs everywhere, which returns the total elapsed duration
580
+ * since the first step.
581
+ *
582
+ * @since 2.0.0
583
+ * @category constructors
584
+ */
585
+ export const elapsed: Schedule<never, unknown, Duration.Duration> = internal.elapsed
586
+
587
+ /**
588
+ * Returns a new schedule that will run the specified finalizer as soon as the
589
+ * schedule is complete. Note that unlike `Effect.ensuring`, this method does not
590
+ * guarantee the finalizer will be run. The `Schedule` may not initialize or
591
+ * the driver of the schedule may not run to completion. However, if the
592
+ * `Schedule` ever decides not to continue, then the finalizer will be run.
593
+ *
594
+ * @since 2.0.0
595
+ * @category finalization
596
+ */
597
+ export const ensuring: {
598
+ <X>(finalizer: Effect.Effect<never, never, X>): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Out>
599
+ <Env, In, Out, X>(self: Schedule<Env, In, Out>, finalizer: Effect.Effect<never, never, X>): Schedule<Env, In, Out>
600
+ } = internal.ensuring
601
+
602
+ /**
603
+ * A schedule that always recurs, but will wait a certain amount between
604
+ * repetitions, given by `base * factor.pow(n)`, where `n` is the number of
605
+ * repetitions so far. Returns the current duration between recurrences.
606
+ *
607
+ * @since 2.0.0
608
+ * @category constructors
609
+ */
610
+ export const exponential: (
611
+ base: Duration.DurationInput,
612
+ factor?: number
613
+ ) => Schedule<never, unknown, Duration.Duration> = internal.exponential
614
+
615
+ /**
616
+ * A schedule that always recurs, increasing delays by summing the preceding
617
+ * two delays (similar to the fibonacci sequence). Returns the current
618
+ * duration between recurrences.
619
+ *
620
+ * @since 2.0.0
621
+ * @category constructors
622
+ */
623
+ export const fibonacci: (one: Duration.DurationInput) => Schedule<never, unknown, Duration.Duration> =
624
+ internal.fibonacci
625
+
626
+ /**
627
+ * A schedule that recurs on a fixed interval. Returns the number of
628
+ * repetitions of the schedule so far.
629
+ *
630
+ * If the action run between updates takes longer than the interval, then the
631
+ * action will be run immediately, but re-runs will not "pile up".
632
+ *
633
+ * ```
634
+ * |-----interval-----|-----interval-----|-----interval-----|
635
+ * |---------action--------||action|-----|action|-----------|
636
+ * ```
637
+ *
638
+ * @since 2.0.0
639
+ * @category constructors
640
+ */
641
+ export const fixed: (interval: Duration.DurationInput) => Schedule<never, unknown, number> = internal.fixed
642
+
643
+ /**
644
+ * A schedule that always recurs, producing a count of repeats: 0, 1, 2.
645
+ *
646
+ * @since 2.0.0
647
+ * @category constructors
648
+ */
649
+ export const forever: Schedule<never, unknown, number> = internal.forever
650
+
651
+ /**
652
+ * A schedule that recurs once with the specified delay.
653
+ *
654
+ * @since 2.0.0
655
+ * @category constructors
656
+ */
657
+ export const fromDelay: (delay: Duration.DurationInput) => Schedule<never, unknown, Duration.Duration> =
658
+ internal.fromDelay
659
+
660
+ /**
661
+ * A schedule that recurs once for each of the specified durations, delaying
662
+ * each time for the length of the specified duration. Returns the length of
663
+ * the current duration between recurrences.
664
+ *
665
+ * @since 2.0.0
666
+ * @category constructors
667
+ */
668
+ export const fromDelays: (
669
+ delay: Duration.DurationInput,
670
+ ...delays: Array<Duration.DurationInput>
671
+ ) => Schedule<never, unknown, Duration.Duration> = internal.fromDelays
672
+
673
+ /**
674
+ * A schedule that always recurs, mapping input values through the specified
675
+ * function.
676
+ *
677
+ * @since 2.0.0
678
+ * @category constructors
679
+ */
680
+ export const fromFunction: <A, B>(f: (a: A) => B) => Schedule<never, A, B> = internal.fromFunction
681
+
682
+ /**
683
+ * Cron-like schedule that recurs every specified `hour` of each day. It
684
+ * triggers at zero minute of the hour. Producing a count of repeats: 0, 1, 2.
685
+ *
686
+ * NOTE: `hour` parameter is validated lazily. Must be in range 0...23.
687
+ *
688
+ * @since 2.0.0
689
+ * @category constructors
690
+ */
691
+ export const hourOfDay: (hour: number) => Schedule<never, unknown, number> = internal.hourOfDay
692
+
693
+ /**
694
+ * A schedule that always recurs, which returns inputs as outputs.
695
+ *
696
+ * @since 2.0.0
697
+ * @category constructors
698
+ */
699
+ export const identity: <A>() => Schedule<never, A, A> = internal.identity
700
+
701
+ /**
702
+ * Returns a new schedule that performs a geometric intersection on the
703
+ * intervals defined by both schedules.
704
+ *
705
+ * @since 2.0.0
706
+ * @category utils
707
+ */
708
+ export const intersect: {
709
+ <Env2, In2, Out2>(
710
+ that: Schedule<Env2, In2, Out2>
711
+ ): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In & In2, readonly [Out, Out2]>
712
+ <Env, In, Out, Env2, In2, Out2>(
713
+ self: Schedule<Env, In, Out>,
714
+ that: Schedule<Env2, In2, Out2>
715
+ ): Schedule<Env | Env2, In & In2, readonly [Out, Out2]>
716
+ } = internal.intersect
717
+
718
+ /**
719
+ * Returns a new schedule that combines this schedule with the specified
720
+ * schedule, continuing as long as both schedules want to continue and merging
721
+ * the next intervals according to the specified merge function.
722
+ *
723
+ * @since 2.0.0
724
+ * @category utils
725
+ */
726
+ export const intersectWith: {
727
+ <Env2, In2, Out2>(
728
+ that: Schedule<Env2, In2, Out2>,
729
+ f: (x: Intervals.Intervals, y: Intervals.Intervals) => Intervals.Intervals
730
+ ): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In & In2, readonly [Out, Out2]>
731
+ <Env, In, Out, Env2, In2, Out2>(
732
+ self: Schedule<Env, In, Out>,
733
+ that: Schedule<Env2, In2, Out2>,
734
+ f: (x: Intervals.Intervals, y: Intervals.Intervals) => Intervals.Intervals
735
+ ): Schedule<Env | Env2, In & In2, readonly [Out, Out2]>
736
+ } = internal.intersectWith
737
+
738
+ /**
739
+ * Returns a new schedule that randomly modifies the size of the intervals of
740
+ * this schedule.
741
+ *
742
+ * Defaults `min` to `0.8` and `max` to `1.2`.
743
+ *
744
+ * The new interval size is between `min * old interval size` and `max * old
745
+ * interval size`.
746
+ *
747
+ * @since 2.0.0
748
+ * @category constructors
749
+ */
750
+ export const jittered: <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Out> = internal.jittered
751
+
752
+ /**
753
+ * Returns a new schedule that randomly modifies the size of the intervals of
754
+ * this schedule.
755
+ *
756
+ * The new interval size is between `min * old interval size` and `max * old
757
+ * interval size`.
758
+ *
759
+ * @since 2.0.0
760
+ * @category constructors
761
+ */
762
+ export const jitteredWith: {
763
+ (options: { min?: number; max?: number }): <Env, In, Out>(
764
+ self: Schedule<Env, In, Out>
765
+ ) => Schedule<Env, In, Out>
766
+ <Env, In, Out>(
767
+ self: Schedule<Env, In, Out>,
768
+ options: { min?: number; max?: number }
769
+ ): Schedule<Env, In, Out>
770
+ } = internal.jitteredWith
771
+
772
+ /**
773
+ * A schedule that always recurs, but will repeat on a linear time interval,
774
+ * given by `base * n` where `n` is the number of repetitions so far. Returns
775
+ * the current duration between recurrences.
776
+ *
777
+ * @since 2.0.0
778
+ * @category constructors
779
+ */
780
+ export const linear: (base: Duration.DurationInput) => Schedule<never, unknown, Duration.Duration> = internal.linear
781
+
782
+ /**
783
+ * Returns a new schedule that maps the output of this schedule through the
784
+ * specified function.
785
+ *
786
+ * @since 2.0.0
787
+ * @category mapping
788
+ */
789
+ export const map: {
790
+ <Out, Out2>(f: (out: Out) => Out2): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Out2>
791
+ <Env, In, Out, Out2>(self: Schedule<Env, In, Out>, f: (out: Out) => Out2): Schedule<Env, In, Out2>
792
+ } = internal.map
793
+
794
+ /**
795
+ * Returns a new schedule that maps the output of this schedule through the
796
+ * specified effectful function.
797
+ *
798
+ * @since 2.0.0
799
+ * @category mapping
800
+ */
801
+ export const mapEffect: {
802
+ <Out, Env2, Out2>(
803
+ f: (out: Out) => Effect.Effect<Env2, never, Out2>
804
+ ): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In, Out2>
805
+ <Env, In, Out, Env2, Out2>(
806
+ self: Schedule<Env, In, Out>,
807
+ f: (out: Out) => Effect.Effect<Env2, never, Out2>
808
+ ): Schedule<Env | Env2, In, Out2>
809
+ } = internal.mapEffect
810
+
811
+ /**
812
+ * Cron-like schedule that recurs every specified `minute` of each hour. It
813
+ * triggers at zero second of the minute. Producing a count of repeats: 0, 1,
814
+ * 2.
815
+ *
816
+ * NOTE: `minute` parameter is validated lazily. Must be in range 0...59.
817
+ *
818
+ * @since 2.0.0
819
+ * @category constructors
820
+ */
821
+ export const minuteOfHour: (minute: number) => Schedule<never, unknown, number> = internal.minuteOfHour
822
+
823
+ /**
824
+ * Returns a new schedule that modifies the delay using the specified
825
+ * function.
826
+ *
827
+ * @since 2.0.0
828
+ * @category utils
829
+ */
830
+ export const modifyDelay: {
831
+ <Out>(
832
+ f: (out: Out, duration: Duration.Duration) => Duration.DurationInput
833
+ ): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Out>
834
+ <Env, In, Out>(
835
+ self: Schedule<Env, In, Out>,
836
+ f: (out: Out, duration: Duration.Duration) => Duration.DurationInput
837
+ ): Schedule<Env, In, Out>
838
+ } = internal.modifyDelay
839
+
840
+ /**
841
+ * Returns a new schedule that modifies the delay using the specified
842
+ * effectual function.
843
+ *
844
+ * @since 2.0.0
845
+ * @category utils
846
+ */
847
+ export const modifyDelayEffect: {
848
+ <Out, Env2>(
849
+ f: (out: Out, duration: Duration.Duration) => Effect.Effect<Env2, never, Duration.DurationInput>
850
+ ): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In, Out>
851
+ <Env, In, Out, Env2>(
852
+ self: Schedule<Env, In, Out>,
853
+ f: (out: Out, duration: Duration.Duration) => Effect.Effect<Env2, never, Duration.DurationInput>
854
+ ): Schedule<Env | Env2, In, Out>
855
+ } = internal.modifyDelayEffect
856
+
857
+ /**
858
+ * Returns a new schedule that applies the current one but runs the specified
859
+ * effect for every decision of this schedule. This can be used to create
860
+ * schedules that log failures, decisions, or computed values.
861
+ *
862
+ * @since 2.0.0
863
+ * @category utils
864
+ */
865
+ export const onDecision: {
866
+ <Out, Env2, X>(
867
+ f: (out: Out, decision: ScheduleDecision.ScheduleDecision) => Effect.Effect<Env2, never, X>
868
+ ): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In, Out>
869
+ <Env, In, Out, Env2, X>(
870
+ self: Schedule<Env, In, Out>,
871
+ f: (out: Out, decision: ScheduleDecision.ScheduleDecision) => Effect.Effect<Env2, never, X>
872
+ ): Schedule<Env | Env2, In, Out>
873
+ } = internal.onDecision
874
+
875
+ /**
876
+ * A schedule that recurs one time.
877
+ *
878
+ * @since 2.0.0
879
+ * @category constructors
880
+ */
881
+ export const once: Schedule<never, unknown, void> = internal.once
882
+
883
+ /**
884
+ * Returns a new schedule that passes through the inputs of this schedule.
885
+ *
886
+ * @since 2.0.0
887
+ * @category utils
888
+ */
889
+ export const passthrough: <Env, Input, Output>(self: Schedule<Env, Input, Output>) => Schedule<Env, Input, Input> =
890
+ internal.passthrough
891
+
892
+ /**
893
+ * Returns a new schedule with its context provided to it, so the
894
+ * resulting schedule does not require any context.
895
+ *
896
+ * @since 2.0.0
897
+ * @category context
898
+ */
899
+ export const provideContext: {
900
+ <Env>(context: Context.Context<Env>): <In, Out>(self: Schedule<Env, In, Out>) => Schedule<never, In, Out>
901
+ <Env, In, Out>(self: Schedule<Env, In, Out>, context: Context.Context<Env>): Schedule<never, In, Out>
902
+ } = internal.provideContext
903
+
904
+ /**
905
+ * Returns a new schedule with the single service it requires provided to it.
906
+ * If the schedule requires multiple services use `provideContext`
907
+ * instead.
908
+ *
909
+ * @since 2.0.0
910
+ * @category context
911
+ */
912
+ export const provideService: {
913
+ <T, T1 extends T>(
914
+ tag: any,
915
+ service: T1
916
+ ): <Env, In, Out>(self: Schedule<T | Env, In, Out>) => Schedule<Exclude<Env, T>, In, Out>
917
+ <Env, T, In, Out, T1 extends T>(
918
+ self: Schedule<Env | T, In, Out>,
919
+ tag: any,
920
+ service: T1
921
+ ): Schedule<Exclude<Env, T>, In, Out>
922
+ } = internal.provideService
923
+
924
+ /**
925
+ * A schedule that recurs for until the predicate evaluates to true.
926
+ *
927
+ * @since 2.0.0
928
+ * @category utils
929
+ */
930
+ export const recurUntil: <A>(f: Predicate<A>) => Schedule<never, A, A> = internal.recurUntil
931
+
932
+ /**
933
+ * A schedule that recurs for until the predicate evaluates to true.
934
+ *
935
+ * @since 2.0.0
936
+ * @category utils
937
+ */
938
+ export const recurUntilEffect: <Env, A>(f: (a: A) => Effect.Effect<Env, never, boolean>) => Schedule<Env, A, A> =
939
+ internal.recurUntilEffect
940
+
941
+ /**
942
+ * A schedule that recurs for until the input value becomes applicable to
943
+ * partial function and then map that value with given function.
944
+ *
945
+ * @since 2.0.0
946
+ * @category utils
947
+ */
948
+ export const recurUntilOption: <A, B>(pf: (a: A) => Option.Option<B>) => Schedule<never, A, Option.Option<B>> =
949
+ internal.recurUntilOption
950
+
951
+ /**
952
+ * A schedule that recurs during the given duration.
953
+ *
954
+ * @since 2.0.0
955
+ * @category utils
956
+ */
957
+ export const recurUpTo: (duration: Duration.DurationInput) => Schedule<never, unknown, Duration.Duration> =
958
+ internal.recurUpTo
959
+
960
+ /**
961
+ * A schedule that recurs for as long as the predicate evaluates to true.
962
+ *
963
+ * @since 2.0.0
964
+ * @category utils
965
+ */
966
+ export const recurWhile: <A>(f: Predicate<A>) => Schedule<never, A, A> = internal.recurWhile
967
+
968
+ /**
969
+ * A schedule that recurs for as long as the effectful predicate evaluates to
970
+ * true.
971
+ *
972
+ * @since 2.0.0
973
+ * @category utils
974
+ */
975
+ export const recurWhileEffect: <Env, A>(f: (a: A) => Effect.Effect<Env, never, boolean>) => Schedule<Env, A, A> =
976
+ internal.recurWhileEffect
977
+
978
+ /**
979
+ * A schedule spanning all time, which can be stepped only the specified
980
+ * number of times before it terminates.
981
+ *
982
+ * @category constructors
983
+ * @since 2.0.0
984
+ */
985
+ export const recurs: (n: number) => Schedule<never, unknown, number> = internal.recurs
986
+
987
+ /**
988
+ * Returns a new schedule that folds over the outputs of this one.
989
+ *
990
+ * @since 2.0.0
991
+ * @category folding
992
+ */
993
+ export const reduce: {
994
+ <Out, Z>(zero: Z, f: (z: Z, out: Out) => Z): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Z>
995
+ <Env, In, Out, Z>(self: Schedule<Env, In, Out>, zero: Z, f: (z: Z, out: Out) => Z): Schedule<Env, In, Z>
996
+ } = internal.reduce
997
+
998
+ /**
999
+ * Returns a new schedule that effectfully folds over the outputs of this one.
1000
+ *
1001
+ * @since 2.0.0
1002
+ * @category folding
1003
+ */
1004
+ export const reduceEffect: {
1005
+ <Out, Env1, Z>(
1006
+ zero: Z,
1007
+ f: (z: Z, out: Out) => Effect.Effect<Env1, never, Z>
1008
+ ): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env1 | Env, In, Z>
1009
+ <Env, In, Out, Env1, Z>(
1010
+ self: Schedule<Env, In, Out>,
1011
+ zero: Z,
1012
+ f: (z: Z, out: Out) => Effect.Effect<Env1, never, Z>
1013
+ ): Schedule<Env | Env1, In, Z>
1014
+ } = internal.reduceEffect
1015
+
1016
+ /**
1017
+ * Returns a new schedule that loops this one continuously, resetting the
1018
+ * state when this schedule is done.
1019
+ *
1020
+ * @since 2.0.0
1021
+ * @category constructors
1022
+ */
1023
+ export const repeatForever: Schedule<never, unknown, number> = internal.forever
1024
+
1025
+ /**
1026
+ * Returns a new schedule that outputs the number of repetitions of this one.
1027
+ *
1028
+ * @since 2.0.0
1029
+ * @category utils
1030
+ */
1031
+ export const repetitions: <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env, In, number> =
1032
+ internal.repetitions
1033
+
1034
+ /**
1035
+ * Return a new schedule that automatically resets the schedule to its initial
1036
+ * state after some time of inactivity defined by `duration`.
1037
+ *
1038
+ * @since 2.0.0
1039
+ * @category utils
1040
+ */
1041
+ export const resetAfter: {
1042
+ (duration: Duration.DurationInput): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Out>
1043
+ <Env, In, Out>(self: Schedule<Env, In, Out>, duration: Duration.DurationInput): Schedule<Env, In, Out>
1044
+ } = internal.resetAfter
1045
+
1046
+ /**
1047
+ * Resets the schedule when the specified predicate on the schedule output
1048
+ * evaluates to true.
1049
+ *
1050
+ * @since 2.0.0
1051
+ * @category utils
1052
+ */
1053
+ export const resetWhen: {
1054
+ <Out>(f: Predicate<Out>): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Out>
1055
+ <Env, In, Out>(self: Schedule<Env, In, Out>, f: Predicate<Out>): Schedule<Env, In, Out>
1056
+ } = internal.resetWhen
1057
+
1058
+ /**
1059
+ * Runs a schedule using the provided inputs, and collects all outputs.
1060
+ *
1061
+ * @since 2.0.0
1062
+ * @category destructors
1063
+ */
1064
+ export const run: {
1065
+ <In>(
1066
+ now: number,
1067
+ input: Iterable<In>
1068
+ ): <Env, Out>(self: Schedule<Env, In, Out>) => Effect.Effect<Env, never, Chunk.Chunk<Out>>
1069
+ <Env, In, Out>(
1070
+ self: Schedule<Env, In, Out>,
1071
+ now: number,
1072
+ input: Iterable<In>
1073
+ ): Effect.Effect<Env, never, Chunk.Chunk<Out>>
1074
+ } = internal.run
1075
+
1076
+ /**
1077
+ * Cron-like schedule that recurs every specified `second` of each minute. It
1078
+ * triggers at zero nanosecond of the second. Producing a count of repeats: 0,
1079
+ * 1, 2.
1080
+ *
1081
+ * NOTE: `second` parameter is validated lazily. Must be in range 0...59.
1082
+ *
1083
+ * @since 2.0.0
1084
+ * @category constructors
1085
+ */
1086
+ export const secondOfMinute: (second: number) => Schedule<never, unknown, number> = internal.secondOfMinute
1087
+
1088
+ /**
1089
+ * Returns a schedule that recurs continuously, each repetition spaced the
1090
+ * specified duration from the last run.
1091
+ *
1092
+ * @since 2.0.0
1093
+ * @category constructors
1094
+ */
1095
+ export const spaced: (duration: Duration.DurationInput) => Schedule<never, unknown, number> = internal.spaced
1096
+
1097
+ /**
1098
+ * A schedule that does not recur, it just stops.
1099
+ *
1100
+ * @since 2.0.0
1101
+ * @category constructors
1102
+ */
1103
+ export const stop: Schedule<never, unknown, void> = internal.stop
1104
+
1105
+ /**
1106
+ * Returns a schedule that repeats one time, producing the specified constant
1107
+ * value.
1108
+ *
1109
+ * @since 2.0.0
1110
+ * @category constructors
1111
+ */
1112
+ export const succeed: <A>(value: A) => Schedule<never, unknown, A> = internal.succeed
1113
+
1114
+ /**
1115
+ * Returns a schedule that repeats one time, producing the specified constant
1116
+ * value.
1117
+ *
1118
+ * @category constructors
1119
+ * @since 2.0.0
1120
+ */
1121
+ export const sync: <A>(evaluate: LazyArg<A>) => Schedule<never, unknown, A> = internal.sync
1122
+
1123
+ /**
1124
+ * Returns a new schedule that effectfully processes every input to this
1125
+ * schedule.
1126
+ *
1127
+ * @since 2.0.0
1128
+ * @category sequencing
1129
+ */
1130
+ export const tapInput: {
1131
+ <Env2, In2, X>(
1132
+ f: (input: In2) => Effect.Effect<Env2, never, X>
1133
+ ): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In & In2, Out>
1134
+ <Env, In, Out, Env2, In2, X>(
1135
+ self: Schedule<Env, In, Out>,
1136
+ f: (input: In2) => Effect.Effect<Env2, never, X>
1137
+ ): Schedule<Env | Env2, In & In2, Out>
1138
+ } = internal.tapInput
1139
+
1140
+ /**
1141
+ * Returns a new schedule that effectfully processes every output from this
1142
+ * schedule.
1143
+ *
1144
+ * @since 2.0.0
1145
+ * @category sequencing
1146
+ */
1147
+ export const tapOutput: {
1148
+ <Out, XO extends Out, Env2, X>(
1149
+ f: (out: XO) => Effect.Effect<Env2, never, X>
1150
+ ): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In, Out>
1151
+ <Env, In, Out, XO extends Out, Env2, X>(
1152
+ self: Schedule<Env, In, Out>,
1153
+ f: (out: XO) => Effect.Effect<Env2, never, X>
1154
+ ): Schedule<Env | Env2, In, Out>
1155
+ } = internal.tapOutput
1156
+
1157
+ /**
1158
+ * Unfolds a schedule that repeats one time from the specified state and
1159
+ * iterator.
1160
+ *
1161
+ * @since 2.0.0
1162
+ * @category constructors
1163
+ */
1164
+ export const unfold: <A>(initial: A, f: (a: A) => A) => Schedule<never, unknown, A> = internal.unfold
1165
+
1166
+ /**
1167
+ * Returns a new schedule that performs a geometric union on the intervals
1168
+ * defined by both schedules.
1169
+ *
1170
+ * @since 2.0.0
1171
+ * @category utils
1172
+ */
1173
+ export const union: {
1174
+ <Env2, In2, Out2>(
1175
+ that: Schedule<Env2, In2, Out2>
1176
+ ): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In & In2, readonly [Out, Out2]>
1177
+ <Env, In, Out, Env2, In2, Out2>(
1178
+ self: Schedule<Env, In, Out>,
1179
+ that: Schedule<Env2, In2, Out2>
1180
+ ): Schedule<Env | Env2, In & In2, readonly [Out, Out2]>
1181
+ } = internal.union
1182
+
1183
+ /**
1184
+ * Returns a new schedule that combines this schedule with the specified
1185
+ * schedule, continuing as long as either schedule wants to continue and
1186
+ * merging the next intervals according to the specified merge function.
1187
+ *
1188
+ * @since 2.0.0
1189
+ * @category utils
1190
+ */
1191
+ export const unionWith: {
1192
+ <Env2, In2, Out2>(
1193
+ that: Schedule<Env2, In2, Out2>,
1194
+ f: (x: Intervals.Intervals, y: Intervals.Intervals) => Intervals.Intervals
1195
+ ): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In & In2, readonly [Out, Out2]>
1196
+ <Env, In, Out, Env2, In2, Out2>(
1197
+ self: Schedule<Env, In, Out>,
1198
+ that: Schedule<Env2, In2, Out2>,
1199
+ f: (x: Intervals.Intervals, y: Intervals.Intervals) => Intervals.Intervals
1200
+ ): Schedule<Env | Env2, In & In2, readonly [Out, Out2]>
1201
+ } = internal.unionWith
1202
+
1203
+ /**
1204
+ * Returns a new schedule that continues until the specified predicate on the
1205
+ * input evaluates to true.
1206
+ *
1207
+ * @since 2.0.0
1208
+ * @category utils
1209
+ */
1210
+ export const untilInput: {
1211
+ <In>(f: Predicate<In>): <Env, Out>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Out>
1212
+ <Env, In, Out>(self: Schedule<Env, In, Out>, f: Predicate<In>): Schedule<Env, In, Out>
1213
+ } = internal.untilInput
1214
+
1215
+ /**
1216
+ * Returns a new schedule that continues until the specified effectful
1217
+ * predicate on the input evaluates to true.
1218
+ *
1219
+ * @since 2.0.0
1220
+ * @category utils
1221
+ */
1222
+ export const untilInputEffect: {
1223
+ <In, Env2>(
1224
+ f: (input: In) => Effect.Effect<Env2, never, boolean>
1225
+ ): <Env, Out>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In, Out>
1226
+ <Env, In, Out, Env2>(
1227
+ self: Schedule<Env, In, Out>,
1228
+ f: (input: In) => Effect.Effect<Env2, never, boolean>
1229
+ ): Schedule<Env | Env2, In, Out>
1230
+ } = internal.untilInputEffect
1231
+
1232
+ /**
1233
+ * Returns a new schedule that continues until the specified predicate on the
1234
+ * output evaluates to true.
1235
+ *
1236
+ * @since 2.0.0
1237
+ * @category utils
1238
+ */
1239
+ export const untilOutput: {
1240
+ <Out>(f: Predicate<Out>): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Out>
1241
+ <Env, In, Out>(self: Schedule<Env, In, Out>, f: Predicate<Out>): Schedule<Env, In, Out>
1242
+ } = internal.untilOutput
1243
+
1244
+ /**
1245
+ * Returns a new schedule that continues until the specified effectful
1246
+ * predicate on the output evaluates to true.
1247
+ *
1248
+ * @since 2.0.0
1249
+ * @category utils
1250
+ */
1251
+ export const untilOutputEffect: {
1252
+ <Out, Env2>(
1253
+ f: (out: Out) => Effect.Effect<Env2, never, boolean>
1254
+ ): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In, Out>
1255
+ <Env, In, Out, Env2>(
1256
+ self: Schedule<Env, In, Out>,
1257
+ f: (out: Out) => Effect.Effect<Env2, never, boolean>
1258
+ ): Schedule<Env | Env2, In, Out>
1259
+ } = internal.untilOutputEffect
1260
+
1261
+ /**
1262
+ * A schedule that recurs during the given duration.
1263
+ *
1264
+ * @since 2.0.0
1265
+ * @category utils
1266
+ */
1267
+ export const upTo: {
1268
+ (duration: Duration.DurationInput): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Out>
1269
+ <Env, In, Out>(self: Schedule<Env, In, Out>, duration: Duration.DurationInput): Schedule<Env, In, Out>
1270
+ } = internal.upTo
1271
+
1272
+ /**
1273
+ * Returns a new schedule that continues for as long the specified predicate
1274
+ * on the input evaluates to true.
1275
+ *
1276
+ * @since 2.0.0
1277
+ * @category utils
1278
+ */
1279
+ export const whileInput: {
1280
+ <In>(f: Predicate<In>): <Env, Out>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Out>
1281
+ <Env, In, Out>(self: Schedule<Env, In, Out>, f: Predicate<In>): Schedule<Env, In, Out>
1282
+ } = internal.whileInput
1283
+
1284
+ /**
1285
+ * Returns a new schedule that continues for as long the specified effectful
1286
+ * predicate on the input evaluates to true.
1287
+ *
1288
+ * @since 2.0.0
1289
+ * @category utils
1290
+ */
1291
+ export const whileInputEffect: {
1292
+ <In, Env2>(
1293
+ f: (input: In) => Effect.Effect<Env2, never, boolean>
1294
+ ): <Env, Out>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In, Out>
1295
+ <Env, In, Out, Env2>(
1296
+ self: Schedule<Env, In, Out>,
1297
+ f: (input: In) => Effect.Effect<Env2, never, boolean>
1298
+ ): Schedule<Env | Env2, In, Out>
1299
+ } = internal.whileInputEffect
1300
+
1301
+ /**
1302
+ * Returns a new schedule that continues for as long the specified predicate
1303
+ * on the output evaluates to true.
1304
+ *
1305
+ * @since 2.0.0
1306
+ * @category utils
1307
+ */
1308
+ export const whileOutput: {
1309
+ <Out>(f: Predicate<Out>): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env, In, Out>
1310
+ <Env, In, Out>(self: Schedule<Env, In, Out>, f: Predicate<Out>): Schedule<Env, In, Out>
1311
+ } = internal.whileOutput
1312
+
1313
+ /**
1314
+ * Returns a new schedule that continues for as long the specified effectful
1315
+ * predicate on the output evaluates to true.
1316
+ *
1317
+ * @since 2.0.0
1318
+ * @category utils
1319
+ */
1320
+ export const whileOutputEffect: {
1321
+ <Out, Env1>(
1322
+ f: (out: Out) => Effect.Effect<Env1, never, boolean>
1323
+ ): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env1 | Env, In, Out>
1324
+ <Env, In, Out, Env1>(
1325
+ self: Schedule<Env, In, Out>,
1326
+ f: (out: Out) => Effect.Effect<Env1, never, boolean>
1327
+ ): Schedule<Env | Env1, In, Out>
1328
+ } = internal.whileOutputEffect
1329
+
1330
+ /**
1331
+ * A schedule that divides the timeline to `interval`-long windows, and sleeps
1332
+ * until the nearest window boundary every time it recurs.
1333
+ *
1334
+ * For example, `windowed(Duration.seconds(10))` would produce a schedule as
1335
+ * follows:
1336
+ *
1337
+ * ```
1338
+ * 10s 10s 10s 10s
1339
+ * |----------|----------|----------|----------|
1340
+ * |action------|sleep---|act|-sleep|action----|
1341
+ * ```
1342
+ *
1343
+ * @since 2.0.0
1344
+ * @category constructors
1345
+ */
1346
+ export const windowed: (interval: Duration.DurationInput) => Schedule<never, unknown, number> = internal.windowed
1347
+
1348
+ /**
1349
+ * The same as `intersect` but ignores the right output.
1350
+ *
1351
+ * @since 2.0.0
1352
+ * @category zipping
1353
+ */
1354
+ export const zipLeft: {
1355
+ <Env2, In2, Out2>(
1356
+ that: Schedule<Env2, In2, Out2>
1357
+ ): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In & In2, Out>
1358
+ <Env, In, Out, Env2, In2, Out2>(
1359
+ self: Schedule<Env, In, Out>,
1360
+ that: Schedule<Env2, In2, Out2>
1361
+ ): Schedule<Env | Env2, In & In2, Out>
1362
+ } = internal.zipLeft
1363
+
1364
+ /**
1365
+ * The same as `intersect` but ignores the left output.
1366
+ *
1367
+ * @since 2.0.0
1368
+ * @category zipping
1369
+ */
1370
+ export const zipRight: {
1371
+ <Env2, In2, Out2>(
1372
+ that: Schedule<Env2, In2, Out2>
1373
+ ): <Env, In, Out>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In & In2, Out2>
1374
+ <Env, In, Out, Env2, In2, Out2>(
1375
+ self: Schedule<Env, In, Out>,
1376
+ that: Schedule<Env2, In2, Out2>
1377
+ ): Schedule<Env | Env2, In & In2, Out2>
1378
+ } = internal.zipRight
1379
+
1380
+ /**
1381
+ * Equivalent to `intersect` followed by `map`.
1382
+ *
1383
+ * @since 2.0.0
1384
+ * @category zipping
1385
+ */
1386
+ export const zipWith: {
1387
+ <Env2, In2, Out2, Out, Out3>(
1388
+ that: Schedule<Env2, In2, Out2>,
1389
+ f: (out: Out, out2: Out2) => Out3
1390
+ ): <Env, In>(self: Schedule<Env, In, Out>) => Schedule<Env2 | Env, In & In2, Out3>
1391
+ <Env, In, Out, Env2, In2, Out2, Out3>(
1392
+ self: Schedule<Env, In, Out>,
1393
+ that: Schedule<Env2, In2, Out2>,
1394
+ f: (out: Out, out2: Out2) => Out3
1395
+ ): Schedule<Env | Env2, In & In2, Out3>
1396
+ } = internal.zipWith