effect 4.0.0-beta.1 → 4.0.0-beta.10

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 (568) hide show
  1. package/dist/Cache.d.ts +2 -2
  2. package/dist/Cache.d.ts.map +1 -1
  3. package/dist/Cache.js +1 -1
  4. package/dist/Cache.js.map +1 -1
  5. package/dist/Cause.d.ts +1 -1
  6. package/dist/Cause.d.ts.map +1 -1
  7. package/dist/Channel.d.ts.map +1 -1
  8. package/dist/Channel.js +6 -4
  9. package/dist/Channel.js.map +1 -1
  10. package/dist/Combiner.d.ts +280 -13
  11. package/dist/Combiner.d.ts.map +1 -1
  12. package/dist/Combiner.js +198 -7
  13. package/dist/Combiner.js.map +1 -1
  14. package/dist/Config.d.ts +3 -3
  15. package/dist/Config.js +3 -3
  16. package/dist/Config.js.map +1 -1
  17. package/dist/ConfigProvider.d.ts +1 -1
  18. package/dist/Cron.d.ts +1 -1
  19. package/dist/Data.d.ts +534 -365
  20. package/dist/Data.d.ts.map +1 -1
  21. package/dist/Data.js +132 -79
  22. package/dist/Data.js.map +1 -1
  23. package/dist/DateTime.d.ts +23 -161
  24. package/dist/DateTime.d.ts.map +1 -1
  25. package/dist/DateTime.js +6 -51
  26. package/dist/DateTime.js.map +1 -1
  27. package/dist/Duration.d.ts +12 -12
  28. package/dist/Duration.d.ts.map +1 -1
  29. package/dist/Duration.js +12 -12
  30. package/dist/Duration.js.map +1 -1
  31. package/dist/Effect.d.ts +125 -240
  32. package/dist/Effect.d.ts.map +1 -1
  33. package/dist/Effect.js +73 -119
  34. package/dist/Effect.js.map +1 -1
  35. package/dist/Encoding.d.ts +194 -0
  36. package/dist/Encoding.d.ts.map +1 -0
  37. package/dist/Encoding.js +352 -0
  38. package/dist/Encoding.js.map +1 -0
  39. package/dist/Equal.d.ts +276 -109
  40. package/dist/Equal.d.ts.map +1 -1
  41. package/dist/Equal.js +124 -48
  42. package/dist/Equal.js.map +1 -1
  43. package/dist/FileSystem.d.ts +1 -1
  44. package/dist/FileSystem.d.ts.map +1 -1
  45. package/dist/FileSystem.js +5 -5
  46. package/dist/FileSystem.js.map +1 -1
  47. package/dist/Filter.d.ts +30 -1
  48. package/dist/Filter.d.ts.map +1 -1
  49. package/dist/Filter.js +15 -0
  50. package/dist/Filter.js.map +1 -1
  51. package/dist/Formatter.d.ts +131 -47
  52. package/dist/Formatter.d.ts.map +1 -1
  53. package/dist/Formatter.js +229 -51
  54. package/dist/Formatter.js.map +1 -1
  55. package/dist/Graph.d.ts +1 -1
  56. package/dist/Graph.d.ts.map +1 -1
  57. package/dist/Graph.js +2 -2
  58. package/dist/Graph.js.map +1 -1
  59. package/dist/JsonSchema.d.ts +299 -10
  60. package/dist/JsonSchema.d.ts.map +1 -1
  61. package/dist/JsonSchema.js +323 -4
  62. package/dist/JsonSchema.js.map +1 -1
  63. package/dist/Latch.d.ts +109 -0
  64. package/dist/Latch.d.ts.map +1 -0
  65. package/dist/Latch.js +72 -0
  66. package/dist/Latch.js.map +1 -0
  67. package/dist/LayerMap.d.ts +4 -4
  68. package/dist/LayerMap.d.ts.map +1 -1
  69. package/dist/LogLevel.d.ts +27 -0
  70. package/dist/LogLevel.d.ts.map +1 -1
  71. package/dist/LogLevel.js +28 -100
  72. package/dist/LogLevel.js.map +1 -1
  73. package/dist/Logger.d.ts +4 -4
  74. package/dist/Logger.d.ts.map +1 -1
  75. package/dist/Metric.d.ts +2 -2
  76. package/dist/Metric.d.ts.map +1 -1
  77. package/dist/Metric.js +1 -1
  78. package/dist/Metric.js.map +1 -1
  79. package/dist/Optic.d.ts +947 -18
  80. package/dist/Optic.d.ts.map +1 -1
  81. package/dist/Optic.js +454 -5
  82. package/dist/Optic.js.map +1 -1
  83. package/dist/Pipeable.d.ts +17 -0
  84. package/dist/Pipeable.d.ts.map +1 -1
  85. package/dist/Pipeable.js +19 -1
  86. package/dist/Pipeable.js.map +1 -1
  87. package/dist/PlatformError.d.ts +10 -9
  88. package/dist/PlatformError.d.ts.map +1 -1
  89. package/dist/PlatformError.js +2 -2
  90. package/dist/PlatformError.js.map +1 -1
  91. package/dist/Pool.d.ts +6 -4
  92. package/dist/Pool.d.ts.map +1 -1
  93. package/dist/Pool.js +7 -5
  94. package/dist/Pool.js.map +1 -1
  95. package/dist/PubSub.d.ts +3 -2
  96. package/dist/PubSub.d.ts.map +1 -1
  97. package/dist/PubSub.js +3 -2
  98. package/dist/PubSub.js.map +1 -1
  99. package/dist/Random.d.ts +18 -1
  100. package/dist/Random.d.ts.map +1 -1
  101. package/dist/Random.js +29 -12
  102. package/dist/Random.js.map +1 -1
  103. package/dist/RcMap.d.ts +2 -2
  104. package/dist/RcMap.d.ts.map +1 -1
  105. package/dist/RcMap.js +1 -1
  106. package/dist/RcMap.js.map +1 -1
  107. package/dist/RcRef.d.ts +1 -1
  108. package/dist/RcRef.d.ts.map +1 -1
  109. package/dist/Reducer.d.ts +166 -7
  110. package/dist/Reducer.d.ts.map +1 -1
  111. package/dist/Reducer.js +135 -1
  112. package/dist/Reducer.js.map +1 -1
  113. package/dist/Request.d.ts +1 -1
  114. package/dist/Request.d.ts.map +1 -1
  115. package/dist/Request.js +2 -1
  116. package/dist/Request.js.map +1 -1
  117. package/dist/RequestResolver.d.ts +6 -26
  118. package/dist/RequestResolver.d.ts.map +1 -1
  119. package/dist/RequestResolver.js +0 -20
  120. package/dist/RequestResolver.js.map +1 -1
  121. package/dist/Result.d.ts +12 -0
  122. package/dist/Result.d.ts.map +1 -1
  123. package/dist/Result.js +12 -0
  124. package/dist/Result.js.map +1 -1
  125. package/dist/Schedule.d.ts +33 -14
  126. package/dist/Schedule.d.ts.map +1 -1
  127. package/dist/Schedule.js +65 -24
  128. package/dist/Schedule.js.map +1 -1
  129. package/dist/Schema.d.ts +199 -49
  130. package/dist/Schema.d.ts.map +1 -1
  131. package/dist/Schema.js +386 -72
  132. package/dist/Schema.js.map +1 -1
  133. package/dist/SchemaGetter.d.ts +2 -2
  134. package/dist/SchemaGetter.d.ts.map +1 -1
  135. package/dist/SchemaGetter.js +12 -14
  136. package/dist/SchemaGetter.js.map +1 -1
  137. package/dist/SchemaRepresentation.d.ts +44 -43
  138. package/dist/SchemaRepresentation.d.ts.map +1 -1
  139. package/dist/SchemaRepresentation.js +43 -24
  140. package/dist/SchemaRepresentation.js.map +1 -1
  141. package/dist/SchemaTransformation.d.ts +37 -0
  142. package/dist/SchemaTransformation.d.ts.map +1 -1
  143. package/dist/SchemaTransformation.js +80 -0
  144. package/dist/SchemaTransformation.js.map +1 -1
  145. package/dist/ScopedCache.d.ts +2 -2
  146. package/dist/ScopedCache.d.ts.map +1 -1
  147. package/dist/ScopedCache.js +1 -1
  148. package/dist/ScopedCache.js.map +1 -1
  149. package/dist/Semaphore.d.ts +211 -0
  150. package/dist/Semaphore.d.ts.map +1 -0
  151. package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
  152. package/dist/Semaphore.js.map +1 -0
  153. package/dist/Stream.d.ts +19 -19
  154. package/dist/Stream.d.ts.map +1 -1
  155. package/dist/Stream.js +12 -11
  156. package/dist/Stream.js.map +1 -1
  157. package/dist/Struct.d.ts +16 -0
  158. package/dist/Struct.d.ts.map +1 -1
  159. package/dist/Struct.js +22 -0
  160. package/dist/Struct.js.map +1 -1
  161. package/dist/SubscriptionRef.d.ts +2 -1
  162. package/dist/SubscriptionRef.d.ts.map +1 -1
  163. package/dist/SubscriptionRef.js +2 -1
  164. package/dist/SubscriptionRef.js.map +1 -1
  165. package/dist/SynchronizedRef.d.ts +2 -1
  166. package/dist/SynchronizedRef.d.ts.map +1 -1
  167. package/dist/SynchronizedRef.js +2 -1
  168. package/dist/SynchronizedRef.js.map +1 -1
  169. package/dist/Types.d.ts +14 -6
  170. package/dist/Types.d.ts.map +1 -1
  171. package/dist/index.d.ts +499 -19
  172. package/dist/index.d.ts.map +1 -1
  173. package/dist/index.js +499 -19
  174. package/dist/index.js.map +1 -1
  175. package/dist/internal/core.js +11 -3
  176. package/dist/internal/core.js.map +1 -1
  177. package/dist/internal/dateTime.js +3 -11
  178. package/dist/internal/dateTime.js.map +1 -1
  179. package/dist/internal/effect.js +31 -22
  180. package/dist/internal/effect.js.map +1 -1
  181. package/dist/internal/random.d.ts +2 -0
  182. package/dist/internal/random.d.ts.map +1 -0
  183. package/dist/internal/random.js +13 -0
  184. package/dist/internal/random.js.map +1 -0
  185. package/dist/internal/rcRef.js +3 -2
  186. package/dist/internal/rcRef.js.map +1 -1
  187. package/dist/testing/TestClock.d.ts +7 -6
  188. package/dist/testing/TestClock.d.ts.map +1 -1
  189. package/dist/testing/TestClock.js +6 -4
  190. package/dist/testing/TestClock.js.map +1 -1
  191. package/dist/testing/TestSchema.d.ts +6 -6
  192. package/dist/testing/TestSchema.d.ts.map +1 -1
  193. package/dist/unstable/ai/AiError.d.ts +48 -48
  194. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  195. package/dist/unstable/ai/Chat.d.ts +3 -3
  196. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  197. package/dist/unstable/ai/Chat.js +4 -3
  198. package/dist/unstable/ai/Chat.js.map +1 -1
  199. package/dist/unstable/ai/LanguageModel.d.ts +2 -2
  200. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  201. package/dist/unstable/ai/McpSchema.d.ts +51 -51
  202. package/dist/unstable/ai/McpServer.d.ts +1 -1
  203. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  204. package/dist/unstable/ai/McpServer.js.map +1 -1
  205. package/dist/unstable/ai/Prompt.d.ts +20 -20
  206. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  207. package/dist/unstable/ai/Response.d.ts +26 -26
  208. package/dist/unstable/ai/Response.d.ts.map +1 -1
  209. package/dist/unstable/ai/Response.js +1 -1
  210. package/dist/unstable/ai/Response.js.map +1 -1
  211. package/dist/unstable/cli/CliError.d.ts +5 -5
  212. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  213. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  214. package/dist/unstable/cluster/ClusterCron.js +1 -1
  215. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  216. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  217. package/dist/unstable/cluster/ClusterWorkflowEngine.js +2 -1
  218. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  219. package/dist/unstable/cluster/Entity.d.ts +5 -4
  220. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  221. package/dist/unstable/cluster/Entity.js.map +1 -1
  222. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  223. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  224. package/dist/unstable/cluster/Envelope.d.ts +1 -1
  225. package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
  226. package/dist/unstable/cluster/K8sHttpClient.js +1 -1
  227. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  228. package/dist/unstable/cluster/Message.d.ts +10 -10
  229. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  230. package/dist/unstable/cluster/MessageStorage.js +2 -1
  231. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  232. package/dist/unstable/cluster/Reply.d.ts +6 -6
  233. package/dist/unstable/cluster/Runner.d.ts +1 -1
  234. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  235. package/dist/unstable/cluster/Runners.js +4 -3
  236. package/dist/unstable/cluster/Runners.js.map +1 -1
  237. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  238. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  239. package/dist/unstable/cluster/Sharding.js +8 -6
  240. package/dist/unstable/cluster/Sharding.js.map +1 -1
  241. package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
  242. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  243. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  244. package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
  245. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  246. package/dist/unstable/cluster/internal/entityManager.js +5 -4
  247. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  248. package/dist/unstable/cluster/internal/entityReaper.js +2 -1
  249. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  250. package/dist/unstable/cluster/internal/resourceRef.js +2 -1
  251. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  252. package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
  253. package/dist/unstable/encoding/Msgpack.d.ts +1 -1
  254. package/dist/unstable/encoding/Ndjson.d.ts +1 -1
  255. package/dist/unstable/encoding/Sse.d.ts +4 -4
  256. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  257. package/dist/unstable/encoding/Sse.js.map +1 -1
  258. package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
  259. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  260. package/dist/unstable/eventlog/EventLog.js +2 -1
  261. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  262. package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
  263. package/dist/unstable/http/Cookies.d.ts +3 -3
  264. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  265. package/dist/unstable/http/Cookies.js +2 -2
  266. package/dist/unstable/http/Cookies.js.map +1 -1
  267. package/dist/unstable/http/HttpBody.d.ts +17 -2
  268. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  269. package/dist/unstable/http/HttpBody.js +28 -1
  270. package/dist/unstable/http/HttpBody.js.map +1 -1
  271. package/dist/unstable/http/HttpClient.d.ts +11 -11
  272. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  273. package/dist/unstable/http/HttpClient.js +4 -4
  274. package/dist/unstable/http/HttpClient.js.map +1 -1
  275. package/dist/unstable/http/HttpClientError.d.ts +7 -7
  276. package/dist/unstable/http/HttpClientRequest.d.ts +27 -11
  277. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  278. package/dist/unstable/http/HttpClientRequest.js +15 -3
  279. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  280. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  281. package/dist/unstable/http/HttpEffect.js +18 -26
  282. package/dist/unstable/http/HttpEffect.js.map +1 -1
  283. package/dist/unstable/http/HttpMethod.d.ts +4 -4
  284. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  285. package/dist/unstable/http/HttpMethod.js +3 -3
  286. package/dist/unstable/http/HttpMethod.js.map +1 -1
  287. package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
  288. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  289. package/dist/unstable/http/HttpMiddleware.js +4 -9
  290. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  291. package/dist/unstable/http/HttpServerError.d.ts +6 -6
  292. package/dist/unstable/http/HttpServerResponse.js +1 -1
  293. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  294. package/dist/unstable/http/Multipart.d.ts +3 -3
  295. package/dist/unstable/http/UrlParams.d.ts +14 -6
  296. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  297. package/dist/unstable/http/UrlParams.js +1 -1
  298. package/dist/unstable/http/UrlParams.js.map +1 -1
  299. package/dist/unstable/httpapi/HttpApiBuilder.js +5 -5
  300. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  301. package/dist/unstable/httpapi/HttpApiClient.js +3 -3
  302. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  303. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +21 -39
  304. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  305. package/dist/unstable/httpapi/HttpApiEndpoint.js +15 -24
  306. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  307. package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
  308. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  309. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  310. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  311. package/dist/unstable/httpapi/OpenApi.js +18 -16
  312. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  313. package/dist/unstable/observability/Otlp.d.ts +12 -12
  314. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  315. package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
  316. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  317. package/dist/unstable/observability/OtlpExporter.js +1 -1
  318. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  319. package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
  320. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  321. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
  322. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  323. package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
  324. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  325. package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
  326. package/dist/unstable/persistence/KeyValueStore.js +6 -6
  327. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  328. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  329. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  330. package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
  331. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  332. package/dist/unstable/persistence/PersistedCache.js +2 -1
  333. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  334. package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
  335. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  336. package/dist/unstable/persistence/PersistedQueue.js +12 -11
  337. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  338. package/dist/unstable/persistence/Persistence.d.ts +1 -1
  339. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  340. package/dist/unstable/persistence/Persistence.js +2 -2
  341. package/dist/unstable/persistence/Persistence.js.map +1 -1
  342. package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
  343. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  344. package/dist/unstable/persistence/RateLimiter.js +1 -1
  345. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  346. package/dist/unstable/process/ChildProcess.d.ts +2 -2
  347. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  348. package/dist/unstable/process/ChildProcessSpawner.d.ts +6 -0
  349. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  350. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  351. package/dist/unstable/reactivity/Atom.d.ts +6 -6
  352. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  353. package/dist/unstable/reactivity/Atom.js +15 -12
  354. package/dist/unstable/reactivity/Atom.js.map +1 -1
  355. package/dist/unstable/reactivity/AtomHttpApi.d.ts +6 -6
  356. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  357. package/dist/unstable/reactivity/AtomHttpApi.js +3 -3
  358. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  359. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  360. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  361. package/dist/unstable/reactivity/AtomRpc.js +1 -1
  362. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  363. package/dist/unstable/reactivity/Hydration.d.ts +39 -0
  364. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
  365. package/dist/unstable/reactivity/Hydration.js +76 -0
  366. package/dist/unstable/reactivity/Hydration.js.map +1 -0
  367. package/dist/unstable/reactivity/index.d.ts +4 -0
  368. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  369. package/dist/unstable/reactivity/index.js +4 -0
  370. package/dist/unstable/reactivity/index.js.map +1 -1
  371. package/dist/unstable/rpc/Rpc.d.ts +2 -2
  372. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  373. package/dist/unstable/rpc/RpcClient.d.ts +5 -26
  374. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  375. package/dist/unstable/rpc/RpcClient.js +6 -13
  376. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  377. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  378. package/dist/unstable/rpc/RpcServer.js +5 -3
  379. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  380. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  381. package/dist/unstable/rpc/Utils.js +2 -1
  382. package/dist/unstable/rpc/Utils.js.map +1 -1
  383. package/dist/unstable/schema/Model.d.ts +4 -4
  384. package/dist/unstable/schema/Model.d.ts.map +1 -1
  385. package/dist/unstable/schema/VariantSchema.d.ts +2 -2
  386. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  387. package/dist/unstable/schema/VariantSchema.js +13 -2
  388. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  389. package/dist/unstable/socket/Socket.d.ts +4 -4
  390. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  391. package/dist/unstable/socket/Socket.js +3 -2
  392. package/dist/unstable/socket/Socket.js.map +1 -1
  393. package/dist/unstable/socket/SocketServer.d.ts +3 -3
  394. package/dist/unstable/sql/Migrator.d.ts +1 -1
  395. package/dist/unstable/sql/SqlError.d.ts +2 -2
  396. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  397. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  398. package/dist/unstable/sql/SqlSchema.d.ts +24 -1
  399. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  400. package/dist/unstable/sql/SqlSchema.js +24 -3
  401. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  402. package/dist/unstable/sql/Statement.js +0 -1
  403. package/dist/unstable/sql/Statement.js.map +1 -1
  404. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  405. package/dist/unstable/workers/Worker.js +2 -1
  406. package/dist/unstable/workers/Worker.js.map +1 -1
  407. package/dist/unstable/workflow/DurableClock.d.ts +3 -3
  408. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  409. package/dist/unstable/workflow/DurableClock.js +3 -3
  410. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  411. package/dist/unstable/workflow/DurableDeferred.js +2 -2
  412. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  413. package/dist/unstable/workflow/Workflow.d.ts +2 -2
  414. package/dist/unstable/workflow/WorkflowEngine.d.ts +2 -1
  415. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  416. package/dist/unstable/workflow/WorkflowEngine.js +2 -1
  417. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  418. package/package.json +2 -2
  419. package/src/Cache.ts +3 -3
  420. package/src/Cause.ts +1 -1
  421. package/src/Channel.ts +6 -4
  422. package/src/Combiner.ts +280 -13
  423. package/src/Config.ts +3 -3
  424. package/src/Data.ts +538 -374
  425. package/src/DateTime.ts +24 -164
  426. package/src/Duration.ts +15 -15
  427. package/src/Effect.ts +143 -261
  428. package/src/Encoding.ts +879 -0
  429. package/src/Equal.ts +278 -111
  430. package/src/FileSystem.ts +7 -8
  431. package/src/Filter.ts +48 -1
  432. package/src/Formatter.ts +253 -51
  433. package/src/Graph.ts +8 -5
  434. package/src/JsonSchema.ts +383 -10
  435. package/src/Latch.ts +112 -0
  436. package/src/LayerMap.ts +5 -5
  437. package/src/LogLevel.ts +31 -0
  438. package/src/Logger.ts +5 -5
  439. package/src/Metric.ts +4 -4
  440. package/src/Optic.ts +948 -19
  441. package/src/Pipeable.ts +32 -1
  442. package/src/PlatformError.ts +5 -5
  443. package/src/Pool.ts +13 -11
  444. package/src/PubSub.ts +10 -9
  445. package/src/Random.ts +33 -14
  446. package/src/RcMap.ts +5 -5
  447. package/src/RcRef.ts +1 -1
  448. package/src/Reducer.ts +166 -7
  449. package/src/Request.ts +3 -2
  450. package/src/RequestResolver.ts +9 -29
  451. package/src/Result.ts +13 -0
  452. package/src/Schedule.ts +279 -140
  453. package/src/Schema.ts +575 -113
  454. package/src/SchemaGetter.ts +12 -14
  455. package/src/SchemaRepresentation.ts +43 -24
  456. package/src/SchemaTransformation.ts +104 -0
  457. package/src/ScopedCache.ts +3 -3
  458. package/src/Semaphore.ts +356 -0
  459. package/src/Stream.ts +43 -42
  460. package/src/Struct.ts +26 -0
  461. package/src/SubscriptionRef.ts +3 -2
  462. package/src/SynchronizedRef.ts +3 -2
  463. package/src/Types.ts +12 -2
  464. package/src/index.ts +502 -20
  465. package/src/internal/core.ts +12 -5
  466. package/src/internal/dateTime.ts +9 -30
  467. package/src/internal/effect.ts +57 -37
  468. package/src/internal/random.ts +20 -0
  469. package/src/internal/rcRef.ts +4 -3
  470. package/src/testing/TestClock.ts +13 -11
  471. package/src/testing/TestSchema.ts +8 -8
  472. package/src/unstable/ai/AiError.ts +2 -2
  473. package/src/unstable/ai/Chat.ts +12 -11
  474. package/src/unstable/ai/LanguageModel.ts +3 -3
  475. package/src/unstable/ai/McpServer.ts +2 -2
  476. package/src/unstable/ai/Prompt.ts +37 -37
  477. package/src/unstable/ai/Response.ts +25 -25
  478. package/src/unstable/cluster/ClusterCron.ts +2 -2
  479. package/src/unstable/cluster/ClusterWorkflowEngine.ts +3 -2
  480. package/src/unstable/cluster/Entity.ts +7 -6
  481. package/src/unstable/cluster/EntityResource.ts +4 -4
  482. package/src/unstable/cluster/Envelope.ts +1 -1
  483. package/src/unstable/cluster/K8sHttpClient.ts +1 -1
  484. package/src/unstable/cluster/MessageStorage.ts +3 -5
  485. package/src/unstable/cluster/Runners.ts +6 -5
  486. package/src/unstable/cluster/Sharding.ts +11 -9
  487. package/src/unstable/cluster/ShardingConfig.ts +10 -11
  488. package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
  489. package/src/unstable/cluster/internal/entityManager.ts +9 -8
  490. package/src/unstable/cluster/internal/entityReaper.ts +2 -1
  491. package/src/unstable/cluster/internal/resourceRef.ts +2 -1
  492. package/src/unstable/encoding/Sse.ts +2 -4
  493. package/src/unstable/eventlog/EventLog.ts +2 -1
  494. package/src/unstable/http/Cookies.ts +3 -3
  495. package/src/unstable/http/HttpBody.ts +42 -1
  496. package/src/unstable/http/HttpClient.ts +19 -19
  497. package/src/unstable/http/HttpClientRequest.ts +38 -13
  498. package/src/unstable/http/HttpEffect.ts +17 -25
  499. package/src/unstable/http/HttpMethod.ts +16 -4
  500. package/src/unstable/http/HttpMiddleware.ts +5 -10
  501. package/src/unstable/http/HttpServerResponse.ts +1 -1
  502. package/src/unstable/http/Multipart.ts +2 -2
  503. package/src/unstable/http/UrlParams.ts +20 -5
  504. package/src/unstable/httpapi/HttpApiBuilder.ts +5 -5
  505. package/src/unstable/httpapi/HttpApiClient.ts +3 -3
  506. package/src/unstable/httpapi/HttpApiEndpoint.ts +47 -72
  507. package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
  508. package/src/unstable/httpapi/OpenApi.ts +18 -16
  509. package/src/unstable/observability/Otlp.ts +12 -12
  510. package/src/unstable/observability/OtlpExporter.ts +3 -3
  511. package/src/unstable/observability/OtlpLogger.ts +4 -4
  512. package/src/unstable/observability/OtlpMetrics.ts +4 -4
  513. package/src/unstable/observability/OtlpTracer.ts +4 -4
  514. package/src/unstable/persistence/KeyValueStore.ts +6 -6
  515. package/src/unstable/persistence/Persistable.ts +2 -2
  516. package/src/unstable/persistence/PersistedCache.ts +20 -9
  517. package/src/unstable/persistence/PersistedQueue.ts +25 -24
  518. package/src/unstable/persistence/Persistence.ts +3 -3
  519. package/src/unstable/persistence/RateLimiter.ts +4 -4
  520. package/src/unstable/process/ChildProcess.ts +2 -2
  521. package/src/unstable/process/ChildProcessSpawner.ts +6 -0
  522. package/src/unstable/reactivity/Atom.ts +20 -18
  523. package/src/unstable/reactivity/AtomHttpApi.ts +19 -18
  524. package/src/unstable/reactivity/AtomRpc.ts +3 -3
  525. package/src/unstable/reactivity/Hydration.ts +112 -0
  526. package/src/unstable/reactivity/index.ts +5 -0
  527. package/src/unstable/rpc/Rpc.ts +3 -3
  528. package/src/unstable/rpc/RpcClient.ts +12 -54
  529. package/src/unstable/rpc/RpcServer.ts +6 -4
  530. package/src/unstable/rpc/Utils.ts +2 -1
  531. package/src/unstable/schema/VariantSchema.ts +36 -7
  532. package/src/unstable/socket/Socket.ts +7 -6
  533. package/src/unstable/sql/SqlModel.ts +2 -2
  534. package/src/unstable/sql/SqlSchema.ts +62 -13
  535. package/src/unstable/sql/Statement.ts +0 -1
  536. package/src/unstable/workers/Worker.ts +2 -1
  537. package/src/unstable/workflow/DurableClock.ts +8 -8
  538. package/src/unstable/workflow/DurableDeferred.ts +2 -2
  539. package/src/unstable/workflow/WorkflowEngine.ts +3 -2
  540. package/dist/PartitionedSemaphore.d.ts +0 -52
  541. package/dist/PartitionedSemaphore.d.ts.map +0 -1
  542. package/dist/PartitionedSemaphore.js.map +0 -1
  543. package/dist/encoding/Base64.d.ts +0 -67
  544. package/dist/encoding/Base64.d.ts.map +0 -1
  545. package/dist/encoding/Base64.js +0 -146
  546. package/dist/encoding/Base64.js.map +0 -1
  547. package/dist/encoding/Base64Url.d.ts +0 -60
  548. package/dist/encoding/Base64Url.d.ts.map +0 -1
  549. package/dist/encoding/Base64Url.js +0 -89
  550. package/dist/encoding/Base64Url.js.map +0 -1
  551. package/dist/encoding/EncodingError.d.ts +0 -31
  552. package/dist/encoding/EncodingError.d.ts.map +0 -1
  553. package/dist/encoding/EncodingError.js +0 -22
  554. package/dist/encoding/EncodingError.js.map +0 -1
  555. package/dist/encoding/Hex.d.ts +0 -61
  556. package/dist/encoding/Hex.d.ts.map +0 -1
  557. package/dist/encoding/Hex.js +0 -115
  558. package/dist/encoding/Hex.js.map +0 -1
  559. package/dist/encoding/index.d.ts +0 -26
  560. package/dist/encoding/index.d.ts.map +0 -1
  561. package/dist/encoding/index.js +0 -27
  562. package/dist/encoding/index.js.map +0 -1
  563. package/src/PartitionedSemaphore.ts +0 -182
  564. package/src/encoding/Base64.ts +0 -366
  565. package/src/encoding/Base64Url.ts +0 -104
  566. package/src/encoding/EncodingError.ts +0 -35
  567. package/src/encoding/Hex.ts +0 -390
  568. package/src/encoding/index.ts +0 -31
package/dist/Effect.d.ts CHANGED
@@ -92,7 +92,7 @@ import type { Scope } from "./Scope.ts";
92
92
  import * as ServiceMap from "./ServiceMap.ts";
93
93
  import type { AnySpan, ParentSpan, Span, SpanLink, SpanOptions, SpanOptionsNoTrace, TraceOptions, Tracer } from "./Tracer.ts";
94
94
  import type { TxRef } from "./TxRef.ts";
95
- import type { Concurrency, Covariant, EqualsWith, ExcludeReason, ExcludeTag, ExtractReason, ExtractTag, NoInfer, ReasonOf, ReasonTags, Tags, unassigned } from "./Types.ts";
95
+ import type { Concurrency, Covariant, EqualsWith, ExcludeReason, ExcludeTag, ExtractReason, ExtractTag, NoInfer, ReasonOf, ReasonTags, Simplify, Tags, unassigned } from "./Types.ts";
96
96
  import type * as Unify from "./Unify.ts";
97
97
  declare const TypeId: "~effect/Effect";
98
98
  /**
@@ -1352,6 +1352,90 @@ export declare const callback: <A, E = never, R = never>(register: (this: Schedu
1352
1352
  * @category Creating Effects
1353
1353
  */
1354
1354
  export declare const never: Effect<never>;
1355
+ /**
1356
+ * An `Effect` containing an empty record `{}`, used as the starting point for
1357
+ * do notation chains.
1358
+ *
1359
+ * @example
1360
+ * ```ts
1361
+ * import { Effect } from "effect"
1362
+ * import { pipe } from "effect/Function"
1363
+ *
1364
+ * const program = pipe(
1365
+ * Effect.Do,
1366
+ * Effect.bind("x", () => Effect.succeed(2)),
1367
+ * Effect.bind("y", ({ x }) => Effect.succeed(x + 1)),
1368
+ * Effect.let("sum", ({ x, y }) => x + y)
1369
+ * )
1370
+ * ```
1371
+ *
1372
+ * @since 4.0.0
1373
+ * @category Do notation
1374
+ */
1375
+ export declare const Do: Effect<{}>;
1376
+ /**
1377
+ * Gives a name to the success value of an `Effect`, creating a single-key
1378
+ * record used in do notation pipelines.
1379
+ *
1380
+ * @since 4.0.0
1381
+ * @category Do notation
1382
+ */
1383
+ export declare const bindTo: {
1384
+ /**
1385
+ * Gives a name to the success value of an `Effect`, creating a single-key
1386
+ * record used in do notation pipelines.
1387
+ *
1388
+ * @since 4.0.0
1389
+ * @category Do notation
1390
+ */
1391
+ <N extends string>(name: N): <A, E, R>(self: Effect<A, E, R>) => Effect<{
1392
+ [K in N]: A;
1393
+ }, E, R>;
1394
+ /**
1395
+ * Gives a name to the success value of an `Effect`, creating a single-key
1396
+ * record used in do notation pipelines.
1397
+ *
1398
+ * @since 4.0.0
1399
+ * @category Do notation
1400
+ */
1401
+ <A, E, R, N extends string>(self: Effect<A, E, R>, name: N): Effect<{
1402
+ [K in N]: A;
1403
+ }, E, R>;
1404
+ };
1405
+ declare const let_: {
1406
+ <N extends string, A extends Record<string, any>, B>(name: N, f: (a: NoInfer<A>) => B): <E, R>(self: Effect<A, E, R>) => Effect<Simplify<Omit<A, N> & Record<N, B>>, E, R>;
1407
+ <A extends Record<string, any>, E, R, B, N extends string>(self: Effect<A, E, R>, name: N, f: (a: NoInfer<A>) => B): Effect<Simplify<Omit<A, N> & Record<N, B>>, E, R>;
1408
+ };
1409
+ export {
1410
+ /**
1411
+ * Adds a computed plain value to the do notation record.
1412
+ *
1413
+ * @since 4.0.0
1414
+ * @category Do notation
1415
+ */
1416
+ let_ as let };
1417
+ /**
1418
+ * Adds an `Effect` value to the do notation record under a given name.
1419
+ *
1420
+ * @since 4.0.0
1421
+ * @category Do notation
1422
+ */
1423
+ export declare const bind: {
1424
+ /**
1425
+ * Adds an `Effect` value to the do notation record under a given name.
1426
+ *
1427
+ * @since 4.0.0
1428
+ * @category Do notation
1429
+ */
1430
+ <N extends string, A extends Record<string, any>, B, E2, R2>(name: N, f: (a: NoInfer<A>) => Effect<B, E2, R2>): <E, R>(self: Effect<A, E, R>) => Effect<Simplify<Omit<A, N> & Record<N, B>>, E | E2, R | R2>;
1431
+ /**
1432
+ * Adds an `Effect` value to the do notation record under a given name.
1433
+ *
1434
+ * @since 4.0.0
1435
+ * @category Do notation
1436
+ */
1437
+ <A extends Record<string, any>, E, R, B, E2, R2, N extends string>(self: Effect<A, E, R>, name: N, f: (a: NoInfer<A>) => Effect<B, E2, R2>): Effect<Simplify<Omit<A, N> & Record<N, B>>, E | E2, R | R2>;
1438
+ };
1355
1439
  /**
1356
1440
  * Provides a way to write effectful code using generator functions, simplifying
1357
1441
  * control flow and error handling.
@@ -4704,6 +4788,33 @@ export declare const catchIf: {
4704
4788
  */
4705
4789
  <A, E, R, Result extends Filter.ResultOrBool, A2, E2, R2, A3 = never, E3 = Filter.Fail<E, Result>, R3 = never>(self: Effect<A, E, R>, filter: Filter.OrPredicate<NoInfer<E>, Result>, f: (e: Filter.Pass<E, Result>) => Effect<A2, E2, R2>, orElse?: ((e: Filter.Fail<E, Result>) => Effect<A3, E3, R3>) | undefined): Effect<A | A2 | A3, E2 | E3, R | R2 | R3>;
4706
4790
  };
4791
+ /**
4792
+ * Catches `NoSuchElementError` failures and converts them to `Option.none`.
4793
+ *
4794
+ * Success values become `Option.some`, `NoSuchElementError` becomes
4795
+ * `Option.none`, and all other errors are preserved.
4796
+ *
4797
+ * @example
4798
+ * ```ts
4799
+ * import { Effect, Option } from "effect"
4800
+ *
4801
+ * const some = Effect.fromNullishOr(1).pipe(Effect.catchNoSuchElement)
4802
+ * const none = Effect.fromNullishOr(null).pipe(Effect.catchNoSuchElement)
4803
+ *
4804
+ * Effect.runPromise(some).then(console.log) // { _id: 'Option', _tag: 'Some', value: 1 }
4805
+ * Effect.runPromise(none).then(console.log) // { _id: 'Option', _tag: 'None' }
4806
+ * ```
4807
+ *
4808
+ * **Previously Known As**
4809
+ *
4810
+ * This API replaces the following from Effect 3.x:
4811
+ *
4812
+ * - `Effect.optionFromOptional`
4813
+ *
4814
+ * @since 2.0.0
4815
+ * @category Error Handling
4816
+ */
4817
+ export declare const catchNoSuchElement: <A, E, R>(self: Effect<A, E, R>) => Effect<Option<A>, Exclude<E, Cause.NoSuchElementError>, R>;
4707
4818
  /**
4708
4819
  * Recovers from specific failures based on a predicate.
4709
4820
  *
@@ -6665,7 +6776,7 @@ export declare const timeout: {
6665
6776
  * @since 2.0.0
6666
6777
  * @category Delays & Timeouts
6667
6778
  */
6668
- (duration: Duration.DurationInput): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E | Cause.TimeoutError, R>;
6779
+ (duration: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E | Cause.TimeoutError, R>;
6669
6780
  /**
6670
6781
  * Adds a time limit to an effect, triggering a timeout if the effect exceeds
6671
6782
  * the duration.
@@ -6712,7 +6823,7 @@ export declare const timeout: {
6712
6823
  * @since 2.0.0
6713
6824
  * @category Delays & Timeouts
6714
6825
  */
6715
- <A, E, R>(self: Effect<A, E, R>, duration: Duration.DurationInput): Effect<A, E | Cause.TimeoutError, R>;
6826
+ <A, E, R>(self: Effect<A, E, R>, duration: Duration.Input): Effect<A, E | Cause.TimeoutError, R>;
6716
6827
  };
6717
6828
  /**
6718
6829
  * Handles timeouts by returning an `Option` that represents either the result
@@ -6813,7 +6924,7 @@ export declare const timeoutOption: {
6813
6924
  * @since 3.1.0
6814
6925
  * @category Delays & Timeouts
6815
6926
  */
6816
- (duration: Duration.DurationInput): <A, E, R>(self: Effect<A, E, R>) => Effect<Option<A>, E, R>;
6927
+ (duration: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<Option<A>, E, R>;
6817
6928
  /**
6818
6929
  * Handles timeouts by returning an `Option` that represents either the result
6819
6930
  * or a timeout.
@@ -6863,7 +6974,7 @@ export declare const timeoutOption: {
6863
6974
  * @since 3.1.0
6864
6975
  * @category Delays & Timeouts
6865
6976
  */
6866
- <A, E, R>(self: Effect<A, E, R>, duration: Duration.DurationInput): Effect<Option<A>, E, R>;
6977
+ <A, E, R>(self: Effect<A, E, R>, duration: Duration.Input): Effect<Option<A>, E, R>;
6867
6978
  };
6868
6979
  /**
6869
6980
  * Applies a timeout to an effect, with a fallback effect executed if the timeout is reached.
@@ -6939,7 +7050,7 @@ export declare const timeoutOrElse: {
6939
7050
  * @category Delays & Timeouts
6940
7051
  */
6941
7052
  <A2, E2, R2>(options: {
6942
- readonly duration: Duration.DurationInput;
7053
+ readonly duration: Duration.Input;
6943
7054
  readonly onTimeout: LazyArg<Effect<A2, E2, R2>>;
6944
7055
  }): <A, E, R>(self: Effect<A, E, R>) => Effect<A | A2, E | E2, R | R2>;
6945
7056
  /**
@@ -6979,7 +7090,7 @@ export declare const timeoutOrElse: {
6979
7090
  * @category Delays & Timeouts
6980
7091
  */
6981
7092
  <A, E, R, A2, E2, R2>(self: Effect<A, E, R>, options: {
6982
- readonly duration: Duration.DurationInput;
7093
+ readonly duration: Duration.Input;
6983
7094
  readonly onTimeout: LazyArg<Effect<A2, E2, R2>>;
6984
7095
  }): Effect<A | A2, E | E2, R | R2>;
6985
7096
  };
@@ -7024,7 +7135,7 @@ export declare const delay: {
7024
7135
  * @since 2.0.0
7025
7136
  * @category Delays & Timeouts
7026
7137
  */
7027
- (duration: Duration.DurationInput): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
7138
+ (duration: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
7028
7139
  /**
7029
7140
  * Returns an effect that is delayed from this effect by the specified
7030
7141
  * `Duration`.
@@ -7045,7 +7156,7 @@ export declare const delay: {
7045
7156
  * @since 2.0.0
7046
7157
  * @category Delays & Timeouts
7047
7158
  */
7048
- <A, E, R>(self: Effect<A, E, R>, duration: Duration.DurationInput): Effect<A, E, R>;
7159
+ <A, E, R>(self: Effect<A, E, R>, duration: Duration.Input): Effect<A, E, R>;
7049
7160
  };
7050
7161
  /**
7051
7162
  * Returns an effect that suspends for the specified duration. This method is
@@ -7069,7 +7180,7 @@ export declare const delay: {
7069
7180
  * @since 2.0.0
7070
7181
  * @category Delays & Timeouts
7071
7182
  */
7072
- export declare const sleep: (duration: Duration.DurationInput) => Effect<void>;
7183
+ export declare const sleep: (duration: Duration.Input) => Effect<void>;
7073
7184
  /**
7074
7185
  * Measures the runtime of an effect and returns the duration with its result.
7075
7186
  *
@@ -11385,7 +11496,7 @@ export declare const cachedWithTTL: {
11385
11496
  * @since 2.0.0
11386
11497
  * @category Caching
11387
11498
  */
11388
- (timeToLive: Duration.DurationInput): <A, E, R>(self: Effect<A, E, R>) => Effect<Effect<A, E, R>>;
11499
+ (timeToLive: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<Effect<A, E, R>>;
11389
11500
  /**
11390
11501
  * Returns an effect that caches its result for a specified `Duration`,
11391
11502
  * known as "timeToLive" (TTL).
@@ -11452,7 +11563,7 @@ export declare const cachedWithTTL: {
11452
11563
  * @since 2.0.0
11453
11564
  * @category Caching
11454
11565
  */
11455
- <A, E, R>(self: Effect<A, E, R>, timeToLive: Duration.DurationInput): Effect<Effect<A, E, R>>;
11566
+ <A, E, R>(self: Effect<A, E, R>, timeToLive: Duration.Input): Effect<Effect<A, E, R>>;
11456
11567
  };
11457
11568
  /**
11458
11569
  * Caches an effect's result for a specified duration and allows manual
@@ -11593,7 +11704,7 @@ export declare const cachedInvalidateWithTTL: {
11593
11704
  * @since 2.0.0
11594
11705
  * @category Caching
11595
11706
  */
11596
- (timeToLive: Duration.DurationInput): <A, E, R>(self: Effect<A, E, R>) => Effect<[Effect<A, E, R>, Effect<void>]>;
11707
+ (timeToLive: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<[Effect<A, E, R>, Effect<void>]>;
11597
11708
  /**
11598
11709
  * Caches an effect's result for a specified duration and allows manual
11599
11710
  * invalidation before expiration.
@@ -11663,7 +11774,7 @@ export declare const cachedInvalidateWithTTL: {
11663
11774
  * @since 2.0.0
11664
11775
  * @category Caching
11665
11776
  */
11666
- <A, E, R>(self: Effect<A, E, R>, timeToLive: Duration.DurationInput): Effect<[Effect<A, E, R>, Effect<void>]>;
11777
+ <A, E, R>(self: Effect<A, E, R>, timeToLive: Duration.Input): Effect<[Effect<A, E, R>, Effect<void>]>;
11667
11778
  };
11668
11779
  /**
11669
11780
  * Returns an effect that is immediately interrupted.
@@ -11863,232 +11974,6 @@ export declare const uninterruptibleMask: <A, E, R>(f: (restore: <AX, EX, RX>(ef
11863
11974
  * @category Interruption
11864
11975
  */
11865
11976
  export declare const interruptibleMask: <A, E, R>(f: (restore: <AX, EX, RX>(effect: Effect<AX, EX, RX>) => Effect<AX, EX, RX>) => Effect<A, E, R>) => Effect<A, E, R>;
11866
- /**
11867
- * @category Semaphore
11868
- * @since 2.0.0
11869
- * @example
11870
- * ```ts
11871
- * import { Effect } from "effect"
11872
- *
11873
- * // Create and use a semaphore for controlling concurrent access
11874
- * const program = Effect.gen(function*() {
11875
- * const semaphore = yield* Effect.makeSemaphore(2)
11876
- *
11877
- * return yield* semaphore.withPermits(1)(
11878
- * Effect.succeed("Resource accessed")
11879
- * )
11880
- * })
11881
- * ```
11882
- */
11883
- export interface Semaphore {
11884
- /**
11885
- * Adjusts the number of permits available in the semaphore.
11886
- */
11887
- resize(permits: number): Effect<void>;
11888
- /**
11889
- * Runs an effect with the given number of permits and releases the permits
11890
- * when the effect completes.
11891
- *
11892
- * **Details**
11893
- *
11894
- * This function acquires the specified number of permits before executing
11895
- * the provided effect. Once the effect finishes, the permits are released.
11896
- * If insufficient permits are available, the function will wait until they
11897
- * are released by other tasks.
11898
- */
11899
- withPermits(permits: number): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
11900
- /**
11901
- * Runs an effect with the given number of permits and releases the permits
11902
- * when the effect completes.
11903
- *
11904
- * **Details**
11905
- *
11906
- * This function acquires the specified number of permits before executing
11907
- * the provided effect. Once the effect finishes, the permits are released.
11908
- * If insufficient permits are available, the function will wait until they
11909
- * are released by other tasks.
11910
- */
11911
- withPermit<A, E, R>(self: Effect<A, E, R>): Effect<A, E, R>;
11912
- /**
11913
- * Runs an effect only if the specified number of permits are immediately
11914
- * available.
11915
- *
11916
- * **Details**
11917
- *
11918
- * This function attempts to acquire the specified number of permits. If they
11919
- * are available, it runs the effect and releases the permits after the effect
11920
- * completes. If permits are not available, the effect does not execute, and
11921
- * the result is `Option.none`.
11922
- */
11923
- withPermitsIfAvailable(permits: number): <A, E, R>(self: Effect<A, E, R>) => Effect<Option<A>, E, R>;
11924
- /**
11925
- * Acquires the specified number of permits and returns the resulting
11926
- * available permits, suspending the task if they are not yet available.
11927
- * Concurrent pending `take` calls are processed in a first-in, first-out manner.
11928
- */
11929
- take(permits: number): Effect<number>;
11930
- /**
11931
- * Releases the specified number of permits and returns the resulting
11932
- * available permits.
11933
- */
11934
- release(permits: number): Effect<number>;
11935
- /**
11936
- * Releases all permits held by this semaphore and returns the resulting available permits.
11937
- */
11938
- releaseAll: Effect<number>;
11939
- }
11940
- /**
11941
- * Unsafely creates a new Semaphore.
11942
- *
11943
- * @example
11944
- * ```ts
11945
- * import { Effect } from "effect"
11946
- *
11947
- * const semaphore = Effect.makeSemaphoreUnsafe(3)
11948
- *
11949
- * const task = (id: number) =>
11950
- * semaphore.withPermits(1)(
11951
- * Effect.gen(function*() {
11952
- * yield* Effect.log(`Task ${id} started`)
11953
- * yield* Effect.sleep("1 second")
11954
- * yield* Effect.log(`Task ${id} completed`)
11955
- * })
11956
- * )
11957
- *
11958
- * // Only 3 tasks can run concurrently
11959
- * const program = Effect.all([
11960
- * task(1),
11961
- * task(2),
11962
- * task(3),
11963
- * task(4),
11964
- * task(5)
11965
- * ], { concurrency: "unbounded" })
11966
- * ```
11967
- *
11968
- * @since 2.0.0
11969
- * @category Semaphore
11970
- */
11971
- export declare const makeSemaphoreUnsafe: (permits: number) => Semaphore;
11972
- /**
11973
- * Creates a new Semaphore.
11974
- *
11975
- * @example
11976
- * ```ts
11977
- * import { Effect } from "effect"
11978
- *
11979
- * const program = Effect.gen(function*() {
11980
- * const semaphore = yield* Effect.makeSemaphore(2)
11981
- *
11982
- * const task = (id: number) =>
11983
- * semaphore.withPermits(1)(
11984
- * Effect.gen(function*() {
11985
- * yield* Effect.log(`Task ${id} acquired permit`)
11986
- * yield* Effect.sleep("1 second")
11987
- * yield* Effect.log(`Task ${id} releasing permit`)
11988
- * })
11989
- * )
11990
- *
11991
- * // Run 4 tasks, but only 2 can run concurrently
11992
- * yield* Effect.all([task(1), task(2), task(3), task(4)])
11993
- * })
11994
- * ```
11995
- *
11996
- * @since 2.0.0
11997
- * @category Semaphore
11998
- */
11999
- export declare const makeSemaphore: (permits: number) => Effect<Semaphore>;
12000
- /**
12001
- * @category Latch
12002
- * @since 3.8.0
12003
- * @example
12004
- * ```ts
12005
- * import { Effect } from "effect"
12006
- *
12007
- * // Create and use a latch for coordination between fibers
12008
- * const program = Effect.gen(function*() {
12009
- * const latch = yield* Effect.makeLatch()
12010
- *
12011
- * // Wait for the latch to be opened
12012
- * yield* latch.await
12013
- *
12014
- * return "Latch was opened!"
12015
- * })
12016
- * ```
12017
- */
12018
- export interface Latch {
12019
- /** open the latch, releasing all fibers waiting on it */
12020
- readonly open: Effect<boolean>;
12021
- /** open the latch, releasing all fibers waiting on it */
12022
- readonly openUnsafe: () => boolean;
12023
- /** release all fibers waiting on the latch, without opening it */
12024
- readonly release: Effect<boolean>;
12025
- /** wait for the latch to be opened */
12026
- readonly await: Effect<void>;
12027
- /** close the latch */
12028
- readonly close: Effect<boolean>;
12029
- /** close the latch */
12030
- readonly closeUnsafe: () => boolean;
12031
- /** only run the given effect when the latch is open */
12032
- readonly whenOpen: <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
12033
- }
12034
- /**
12035
- * Creates a new Latch.
12036
- *
12037
- * @example
12038
- * ```ts
12039
- * import { Effect } from "effect"
12040
- *
12041
- * const latch = Effect.makeLatchUnsafe(false)
12042
- *
12043
- * const waiter = Effect.gen(function*() {
12044
- * yield* Effect.log("Waiting for latch to open...")
12045
- * yield* latch.await
12046
- * yield* Effect.log("Latch opened! Continuing...")
12047
- * })
12048
- *
12049
- * const opener = Effect.gen(function*() {
12050
- * yield* Effect.sleep("2 seconds")
12051
- * yield* Effect.log("Opening latch...")
12052
- * yield* latch.open
12053
- * })
12054
- *
12055
- * const program = Effect.all([waiter, opener])
12056
- * ```
12057
- *
12058
- * @category Latch
12059
- * @since 3.8.0
12060
- */
12061
- export declare const makeLatchUnsafe: (open?: boolean | undefined) => Latch;
12062
- /**
12063
- * Creates a new Latch.
12064
- *
12065
- * @example
12066
- * ```ts
12067
- * import { Effect } from "effect"
12068
- *
12069
- * const program = Effect.gen(function*() {
12070
- * const latch = yield* Effect.makeLatch(false)
12071
- *
12072
- * const waiter = Effect.gen(function*() {
12073
- * yield* Effect.log("Waiting for latch to open...")
12074
- * yield* latch.await
12075
- * yield* Effect.log("Latch opened! Continuing...")
12076
- * })
12077
- *
12078
- * const opener = Effect.gen(function*() {
12079
- * yield* Effect.sleep("2 seconds")
12080
- * yield* Effect.log("Opening latch...")
12081
- * yield* latch.open
12082
- * })
12083
- *
12084
- * yield* Effect.all([waiter, opener])
12085
- * })
12086
- * ```
12087
- *
12088
- * @category Latch
12089
- * @since 3.8.0
12090
- */
12091
- export declare const makeLatch: (open?: boolean | undefined) => Effect<Latch>;
12092
11977
  /**
12093
11978
  * @since 2.0.0
12094
11979
  * @category Repetition / Recursion