effect 4.0.0-beta.30 → 4.0.0-beta.32

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 (514) hide show
  1. package/dist/Array.d.ts +87 -86
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +47 -40
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +46 -45
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +35 -38
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +39 -32
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +32 -29
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Channel.d.ts +2 -2
  14. package/dist/Channel.d.ts.map +1 -1
  15. package/dist/Channel.js.map +1 -1
  16. package/dist/Chunk.d.ts +58 -57
  17. package/dist/Chunk.d.ts.map +1 -1
  18. package/dist/Chunk.js +20 -21
  19. package/dist/Chunk.js.map +1 -1
  20. package/dist/Config.d.ts.map +1 -1
  21. package/dist/Config.js +4 -1
  22. package/dist/Config.js.map +1 -1
  23. package/dist/Cron.d.ts +3 -6
  24. package/dist/Cron.d.ts.map +1 -1
  25. package/dist/Cron.js +11 -18
  26. package/dist/Cron.js.map +1 -1
  27. package/dist/DateTime.d.ts +49 -92
  28. package/dist/DateTime.d.ts.map +1 -1
  29. package/dist/DateTime.js +9 -9
  30. package/dist/DateTime.js.map +1 -1
  31. package/dist/Deferred.d.ts +7 -5
  32. package/dist/Deferred.d.ts.map +1 -1
  33. package/dist/Deferred.js +7 -5
  34. package/dist/Deferred.js.map +1 -1
  35. package/dist/Duration.d.ts +55 -25
  36. package/dist/Duration.d.ts.map +1 -1
  37. package/dist/Duration.js +100 -70
  38. package/dist/Duration.js.map +1 -1
  39. package/dist/Effect.d.ts.map +1 -1
  40. package/dist/Effect.js +3 -4
  41. package/dist/Effect.js.map +1 -1
  42. package/dist/Fiber.d.ts +2 -1
  43. package/dist/Fiber.d.ts.map +1 -1
  44. package/dist/Fiber.js.map +1 -1
  45. package/dist/FiberHandle.d.ts +9 -8
  46. package/dist/FiberHandle.d.ts.map +1 -1
  47. package/dist/FiberHandle.js +8 -7
  48. package/dist/FiberHandle.js.map +1 -1
  49. package/dist/FiberMap.d.ts +20 -19
  50. package/dist/FiberMap.d.ts.map +1 -1
  51. package/dist/FiberMap.js +6 -6
  52. package/dist/FiberMap.js.map +1 -1
  53. package/dist/FileSystem.d.ts +17 -16
  54. package/dist/FileSystem.d.ts.map +1 -1
  55. package/dist/FileSystem.js +10 -7
  56. package/dist/FileSystem.js.map +1 -1
  57. package/dist/Graph.d.ts +64 -64
  58. package/dist/Graph.d.ts.map +1 -1
  59. package/dist/Graph.js +53 -53
  60. package/dist/Graph.js.map +1 -1
  61. package/dist/HashMap.d.ts +11 -5
  62. package/dist/HashMap.d.ts.map +1 -1
  63. package/dist/HashMap.js +3 -1
  64. package/dist/HashMap.js.map +1 -1
  65. package/dist/Iterable.d.ts +11 -11
  66. package/dist/Iterable.d.ts.map +1 -1
  67. package/dist/Iterable.js +12 -12
  68. package/dist/Iterable.js.map +1 -1
  69. package/dist/Latch.d.ts +69 -3
  70. package/dist/Latch.d.ts.map +1 -1
  71. package/dist/Latch.js +58 -0
  72. package/dist/Latch.js.map +1 -1
  73. package/dist/Layer.d.ts +181 -2
  74. package/dist/Layer.d.ts.map +1 -1
  75. package/dist/Layer.js +35 -2
  76. package/dist/Layer.js.map +1 -1
  77. package/dist/Number.d.ts +74 -18
  78. package/dist/Number.d.ts.map +1 -1
  79. package/dist/Number.js +34 -15
  80. package/dist/Number.js.map +1 -1
  81. package/dist/Option.d.ts +2 -0
  82. package/dist/Option.d.ts.map +1 -1
  83. package/dist/Option.js.map +1 -1
  84. package/dist/PartitionedSemaphore.d.ts +183 -0
  85. package/dist/PartitionedSemaphore.d.ts.map +1 -0
  86. package/dist/PartitionedSemaphore.js +231 -0
  87. package/dist/PartitionedSemaphore.js.map +1 -0
  88. package/dist/PubSub.d.ts +5 -4
  89. package/dist/PubSub.d.ts.map +1 -1
  90. package/dist/PubSub.js +6 -5
  91. package/dist/PubSub.js.map +1 -1
  92. package/dist/Queue.d.ts +3 -3
  93. package/dist/Queue.d.ts.map +1 -1
  94. package/dist/Queue.js +2 -2
  95. package/dist/Queue.js.map +1 -1
  96. package/dist/Record.d.ts +40 -40
  97. package/dist/Record.d.ts.map +1 -1
  98. package/dist/Record.js +16 -15
  99. package/dist/Record.js.map +1 -1
  100. package/dist/Scheduler.d.ts +25 -123
  101. package/dist/Scheduler.d.ts.map +1 -1
  102. package/dist/Scheduler.js +20 -123
  103. package/dist/Scheduler.js.map +1 -1
  104. package/dist/Schema.d.ts +2346 -114
  105. package/dist/Schema.d.ts.map +1 -1
  106. package/dist/Schema.js +1359 -68
  107. package/dist/Schema.js.map +1 -1
  108. package/dist/SchemaAST.d.ts +2 -2
  109. package/dist/SchemaAST.js +2 -2
  110. package/dist/SchemaGetter.js +6 -4
  111. package/dist/SchemaGetter.js.map +1 -1
  112. package/dist/SchemaRepresentation.d.ts +2 -2
  113. package/dist/SchemaRepresentation.d.ts.map +1 -1
  114. package/dist/SchemaRepresentation.js.map +1 -1
  115. package/dist/SchemaTransformation.d.ts.map +1 -1
  116. package/dist/SchemaTransformation.js +32 -27
  117. package/dist/SchemaTransformation.js.map +1 -1
  118. package/dist/Semaphore.d.ts +149 -53
  119. package/dist/Semaphore.d.ts.map +1 -1
  120. package/dist/Semaphore.js +137 -117
  121. package/dist/Semaphore.js.map +1 -1
  122. package/dist/ServiceMap.d.ts +26 -0
  123. package/dist/ServiceMap.d.ts.map +1 -1
  124. package/dist/ServiceMap.js +36 -21
  125. package/dist/ServiceMap.js.map +1 -1
  126. package/dist/Stream.js +1 -1
  127. package/dist/Stream.js.map +1 -1
  128. package/dist/String.d.ts +114 -47
  129. package/dist/String.d.ts.map +1 -1
  130. package/dist/String.js +29 -47
  131. package/dist/String.js.map +1 -1
  132. package/dist/SubscriptionRef.d.ts +1 -2
  133. package/dist/SubscriptionRef.d.ts.map +1 -1
  134. package/dist/SubscriptionRef.js +81 -115
  135. package/dist/SubscriptionRef.js.map +1 -1
  136. package/dist/Terminal.d.ts +2 -1
  137. package/dist/Terminal.d.ts.map +1 -1
  138. package/dist/Terminal.js.map +1 -1
  139. package/dist/Tracer.d.ts +5 -4
  140. package/dist/Tracer.d.ts.map +1 -1
  141. package/dist/Tracer.js +2 -1
  142. package/dist/Tracer.js.map +1 -1
  143. package/dist/Trie.d.ts +26 -14
  144. package/dist/Trie.d.ts.map +1 -1
  145. package/dist/Trie.js +8 -4
  146. package/dist/Trie.js.map +1 -1
  147. package/dist/TxHashMap.d.ts +77 -59
  148. package/dist/TxHashMap.d.ts.map +1 -1
  149. package/dist/TxHashMap.js +25 -19
  150. package/dist/TxHashMap.js.map +1 -1
  151. package/dist/TxSemaphore.d.ts +162 -2
  152. package/dist/TxSemaphore.d.ts.map +1 -1
  153. package/dist/TxSemaphore.js +16 -2
  154. package/dist/TxSemaphore.js.map +1 -1
  155. package/dist/index.d.ts +88 -32
  156. package/dist/index.d.ts.map +1 -1
  157. package/dist/index.js +88 -32
  158. package/dist/index.js.map +1 -1
  159. package/dist/internal/dateTime.js +66 -59
  160. package/dist/internal/dateTime.js.map +1 -1
  161. package/dist/internal/effect.js +21 -90
  162. package/dist/internal/effect.js.map +1 -1
  163. package/dist/internal/hashMap.js +2 -1
  164. package/dist/internal/hashMap.js.map +1 -1
  165. package/dist/internal/option.js +6 -0
  166. package/dist/internal/option.js.map +1 -1
  167. package/dist/internal/trie.js +3 -3
  168. package/dist/internal/trie.js.map +1 -1
  169. package/dist/unstable/ai/AiError.js +1 -1
  170. package/dist/unstable/ai/AiError.js.map +1 -1
  171. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  172. package/dist/unstable/ai/AnthropicStructuredOutput.js +4 -0
  173. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  174. package/dist/unstable/ai/Chat.d.ts +3 -4
  175. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  176. package/dist/unstable/ai/Chat.js +2 -2
  177. package/dist/unstable/ai/Chat.js.map +1 -1
  178. package/dist/unstable/ai/LanguageModel.d.ts +30 -16
  179. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  180. package/dist/unstable/ai/LanguageModel.js +10 -87
  181. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  182. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  183. package/dist/unstable/ai/OpenAiStructuredOutput.js +4 -0
  184. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  185. package/dist/unstable/ai/Tool.d.ts +14 -0
  186. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  187. package/dist/unstable/ai/Tool.js +13 -0
  188. package/dist/unstable/ai/Tool.js.map +1 -1
  189. package/dist/unstable/cli/Argument.d.ts +2 -4
  190. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  191. package/dist/unstable/cli/Argument.js +1 -3
  192. package/dist/unstable/cli/Argument.js.map +1 -1
  193. package/dist/unstable/cli/CliOutput.d.ts +3 -2
  194. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  195. package/dist/unstable/cli/CliOutput.js +4 -3
  196. package/dist/unstable/cli/CliOutput.js.map +1 -1
  197. package/dist/unstable/cli/Command.d.ts +3 -2
  198. package/dist/unstable/cli/Command.d.ts.map +1 -1
  199. package/dist/unstable/cli/Command.js +3 -3
  200. package/dist/unstable/cli/Command.js.map +1 -1
  201. package/dist/unstable/cli/Completions.d.ts +16 -0
  202. package/dist/unstable/cli/Completions.d.ts.map +1 -0
  203. package/dist/unstable/cli/Completions.js +23 -0
  204. package/dist/unstable/cli/Completions.js.map +1 -0
  205. package/dist/unstable/cli/Flag.d.ts +2 -2
  206. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  207. package/dist/unstable/cli/Flag.js +1 -1
  208. package/dist/unstable/cli/Flag.js.map +1 -1
  209. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  210. package/dist/unstable/cli/GlobalFlag.js +4 -4
  211. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  212. package/dist/unstable/cli/HelpDoc.d.ts +14 -12
  213. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  214. package/dist/unstable/cli/Param.d.ts +4 -4
  215. package/dist/unstable/cli/Param.d.ts.map +1 -1
  216. package/dist/unstable/cli/Param.js +7 -7
  217. package/dist/unstable/cli/Param.js.map +1 -1
  218. package/dist/unstable/cli/Primitive.d.ts +1 -1
  219. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  220. package/dist/unstable/cli/Primitive.js.map +1 -1
  221. package/dist/unstable/cli/Prompt.js +71 -67
  222. package/dist/unstable/cli/Prompt.js.map +1 -1
  223. package/dist/unstable/cli/index.d.ts +4 -0
  224. package/dist/unstable/cli/index.d.ts.map +1 -1
  225. package/dist/unstable/cli/index.js +4 -0
  226. package/dist/unstable/cli/index.js.map +1 -1
  227. package/dist/unstable/cli/internal/completions/CommandDescriptor.js +9 -2
  228. package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
  229. package/dist/unstable/cli/internal/parser.js +8 -3
  230. package/dist/unstable/cli/internal/parser.js.map +1 -1
  231. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +3 -2
  232. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  233. package/dist/unstable/cluster/ClusterWorkflowEngine.js +25 -23
  234. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  235. package/dist/unstable/cluster/DeliverAt.js +1 -1
  236. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  237. package/dist/unstable/cluster/Entity.d.ts +3 -2
  238. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  239. package/dist/unstable/cluster/Entity.js +7 -7
  240. package/dist/unstable/cluster/Entity.js.map +1 -1
  241. package/dist/unstable/cluster/Message.d.ts +4 -3
  242. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  243. package/dist/unstable/cluster/Message.js +3 -2
  244. package/dist/unstable/cluster/Message.js.map +1 -1
  245. package/dist/unstable/cluster/MessageStorage.d.ts +10 -10
  246. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  247. package/dist/unstable/cluster/MessageStorage.js +12 -12
  248. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  249. package/dist/unstable/cluster/Reply.d.ts +2 -1
  250. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  251. package/dist/unstable/cluster/Reply.js +4 -3
  252. package/dist/unstable/cluster/Reply.js.map +1 -1
  253. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  254. package/dist/unstable/cluster/RunnerServer.js +9 -8
  255. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  256. package/dist/unstable/cluster/Runners.d.ts +2 -1
  257. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  258. package/dist/unstable/cluster/Runners.js +7 -6
  259. package/dist/unstable/cluster/Runners.js.map +1 -1
  260. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  261. package/dist/unstable/cluster/Sharding.js +19 -13
  262. package/dist/unstable/cluster/Sharding.js.map +1 -1
  263. package/dist/unstable/cluster/ShardingConfig.d.ts +5 -4
  264. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  265. package/dist/unstable/cluster/ShardingConfig.js +4 -4
  266. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  267. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  268. package/dist/unstable/cluster/SqlMessageStorage.js +19 -18
  269. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  270. package/dist/unstable/cluster/internal/entityManager.js +9 -10
  271. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  272. package/dist/unstable/devtools/DevToolsSchema.d.ts +2 -1
  273. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  274. package/dist/unstable/devtools/DevToolsSchema.js +1 -4
  275. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  276. package/dist/unstable/encoding/Ndjson.d.ts +8 -8
  277. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  278. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  279. package/dist/unstable/http/Cookies.d.ts +5 -4
  280. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  281. package/dist/unstable/http/Cookies.js +3 -4
  282. package/dist/unstable/http/Cookies.js.map +1 -1
  283. package/dist/unstable/http/Etag.d.ts.map +1 -1
  284. package/dist/unstable/http/Etag.js +5 -1
  285. package/dist/unstable/http/Etag.js.map +1 -1
  286. package/dist/unstable/http/Headers.d.ts +3 -2
  287. package/dist/unstable/http/Headers.d.ts.map +1 -1
  288. package/dist/unstable/http/Headers.js +2 -1
  289. package/dist/unstable/http/Headers.js.map +1 -1
  290. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  291. package/dist/unstable/http/HttpClient.js +2 -1
  292. package/dist/unstable/http/HttpClient.js.map +1 -1
  293. package/dist/unstable/http/HttpClientRequest.d.ts +4 -3
  294. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  295. package/dist/unstable/http/HttpClientRequest.js +8 -6
  296. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  297. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  298. package/dist/unstable/http/HttpClientResponse.js +2 -1
  299. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  300. package/dist/unstable/http/HttpIncomingMessage.d.ts +3 -2
  301. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  302. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  303. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  304. package/dist/unstable/http/HttpMiddleware.js +16 -15
  305. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  306. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  307. package/dist/unstable/http/HttpPlatform.js +3 -2
  308. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  309. package/dist/unstable/http/HttpRouter.d.ts +2 -1
  310. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  311. package/dist/unstable/http/HttpRouter.js +7 -7
  312. package/dist/unstable/http/HttpRouter.js.map +1 -1
  313. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  314. package/dist/unstable/http/HttpServer.js +2 -2
  315. package/dist/unstable/http/HttpServer.js.map +1 -1
  316. package/dist/unstable/http/HttpServerError.d.ts +2 -1
  317. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  318. package/dist/unstable/http/HttpServerError.js +2 -1
  319. package/dist/unstable/http/HttpServerError.js.map +1 -1
  320. package/dist/unstable/http/HttpServerRequest.d.ts +3 -2
  321. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  322. package/dist/unstable/http/HttpServerRequest.js +14 -10
  323. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  324. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  325. package/dist/unstable/http/HttpServerResponse.js +4 -3
  326. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  327. package/dist/unstable/http/HttpTraceContext.d.ts +3 -2
  328. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  329. package/dist/unstable/http/HttpTraceContext.js +27 -15
  330. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  331. package/dist/unstable/http/UrlParams.d.ts +5 -4
  332. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  333. package/dist/unstable/http/UrlParams.js +5 -6
  334. package/dist/unstable/http/UrlParams.js.map +1 -1
  335. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +2 -2
  336. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  337. package/dist/unstable/httpapi/HttpApiBuilder.js +4 -2
  338. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  339. package/dist/unstable/httpapi/HttpApiError.d.ts +15 -0
  340. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  341. package/dist/unstable/httpapi/HttpApiError.js +81 -3
  342. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  343. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  344. package/dist/unstable/observability/OtlpExporter.js +2 -2
  345. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  346. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  347. package/dist/unstable/observability/OtlpTracer.js +7 -3
  348. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  349. package/dist/unstable/persistence/Persistable.js +1 -1
  350. package/dist/unstable/persistence/Persistable.js.map +1 -1
  351. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  352. package/dist/unstable/reactivity/Atom.js +1 -5
  353. package/dist/unstable/reactivity/Atom.js.map +1 -1
  354. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  355. package/dist/unstable/reactivity/AtomRegistry.js +4 -2
  356. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  357. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  358. package/dist/unstable/rpc/Rpc.js +4 -3
  359. package/dist/unstable/rpc/Rpc.js.map +1 -1
  360. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  361. package/dist/unstable/rpc/RpcClient.js +4 -4
  362. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  363. package/dist/unstable/rpc/RpcGroup.d.ts +1 -3
  364. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  365. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  366. package/dist/unstable/rpc/RpcSchema.js +3 -2
  367. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  368. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  369. package/dist/unstable/rpc/RpcSerialization.js +4 -1
  370. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  371. package/dist/unstable/rpc/RpcServer.d.ts +1 -1
  372. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  373. package/dist/unstable/rpc/RpcServer.js +3 -2
  374. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  375. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  376. package/dist/unstable/socket/Socket.js +2 -1
  377. package/dist/unstable/socket/Socket.js.map +1 -1
  378. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  379. package/dist/unstable/sql/SqlClient.js +1 -1
  380. package/dist/unstable/sql/SqlClient.js.map +1 -1
  381. package/dist/unstable/workflow/DurableDeferred.js +6 -6
  382. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  383. package/dist/unstable/workflow/Workflow.d.ts +2 -1
  384. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  385. package/dist/unstable/workflow/WorkflowEngine.d.ts +5 -4
  386. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  387. package/dist/unstable/workflow/WorkflowEngine.js +19 -14
  388. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  389. package/package.json +1 -1
  390. package/src/Array.ts +112 -105
  391. package/src/BigDecimal.ts +63 -66
  392. package/src/BigInt.ts +49 -41
  393. package/src/Channel.ts +3 -3
  394. package/src/Chunk.ts +68 -63
  395. package/src/Config.ts +4 -1
  396. package/src/Cron.ts +13 -18
  397. package/src/DateTime.ts +51 -92
  398. package/src/Deferred.ts +8 -6
  399. package/src/Duration.ts +112 -56
  400. package/src/Effect.ts +3 -4
  401. package/src/Fiber.ts +2 -1
  402. package/src/FiberHandle.ts +10 -9
  403. package/src/FiberMap.ts +22 -22
  404. package/src/FileSystem.ts +25 -22
  405. package/src/Graph.ts +105 -105
  406. package/src/HashMap.ts +11 -5
  407. package/src/Iterable.ts +13 -13
  408. package/src/Latch.ts +85 -3
  409. package/src/Layer.ts +244 -19
  410. package/src/Number.ts +85 -26
  411. package/src/Option.ts +2 -0
  412. package/src/PartitionedSemaphore.ts +414 -0
  413. package/src/PubSub.ts +7 -6
  414. package/src/Queue.ts +5 -5
  415. package/src/Record.ts +52 -47
  416. package/src/Scheduler.ts +37 -126
  417. package/src/Schema.ts +2366 -116
  418. package/src/SchemaAST.ts +2 -2
  419. package/src/SchemaGetter.ts +4 -4
  420. package/src/SchemaRepresentation.ts +2 -2
  421. package/src/SchemaTransformation.ts +27 -27
  422. package/src/Semaphore.ts +271 -183
  423. package/src/ServiceMap.ts +83 -31
  424. package/src/Stream.ts +1 -1
  425. package/src/String.ts +122 -69
  426. package/src/SubscriptionRef.ts +96 -117
  427. package/src/Terminal.ts +2 -1
  428. package/src/Tracer.ts +6 -5
  429. package/src/Trie.ts +26 -14
  430. package/src/TxHashMap.ts +78 -60
  431. package/src/TxSemaphore.ts +186 -11
  432. package/src/index.ts +89 -33
  433. package/src/internal/dateTime.ts +74 -65
  434. package/src/internal/effect.ts +30 -122
  435. package/src/internal/hashMap.ts +4 -3
  436. package/src/internal/option.ts +7 -0
  437. package/src/internal/trie.ts +6 -6
  438. package/src/unstable/ai/AiError.ts +1 -1
  439. package/src/unstable/ai/AnthropicStructuredOutput.ts +4 -0
  440. package/src/unstable/ai/Chat.ts +17 -15
  441. package/src/unstable/ai/LanguageModel.ts +148 -97
  442. package/src/unstable/ai/OpenAiStructuredOutput.ts +4 -0
  443. package/src/unstable/ai/Tool.ts +20 -0
  444. package/src/unstable/cli/Argument.ts +2 -4
  445. package/src/unstable/cli/CliOutput.ts +7 -5
  446. package/src/unstable/cli/Command.ts +5 -5
  447. package/src/unstable/cli/Completions.ts +36 -0
  448. package/src/unstable/cli/Flag.ts +2 -2
  449. package/src/unstable/cli/GlobalFlag.ts +4 -5
  450. package/src/unstable/cli/HelpDoc.ts +14 -12
  451. package/src/unstable/cli/Param.ts +15 -11
  452. package/src/unstable/cli/Primitive.ts +1 -1
  453. package/src/unstable/cli/Prompt.ts +81 -83
  454. package/src/unstable/cli/index.ts +5 -0
  455. package/src/unstable/cli/internal/completions/CommandDescriptor.ts +3 -2
  456. package/src/unstable/cli/internal/parser.ts +7 -4
  457. package/src/unstable/cluster/ClusterWorkflowEngine.ts +35 -30
  458. package/src/unstable/cluster/DeliverAt.ts +1 -1
  459. package/src/unstable/cluster/Entity.ts +13 -12
  460. package/src/unstable/cluster/Message.ts +6 -5
  461. package/src/unstable/cluster/MessageStorage.ts +26 -25
  462. package/src/unstable/cluster/Reply.ts +7 -4
  463. package/src/unstable/cluster/RunnerServer.ts +10 -13
  464. package/src/unstable/cluster/Runners.ts +8 -7
  465. package/src/unstable/cluster/Sharding.ts +24 -17
  466. package/src/unstable/cluster/ShardingConfig.ts +6 -6
  467. package/src/unstable/cluster/SqlMessageStorage.ts +21 -18
  468. package/src/unstable/cluster/internal/entityManager.ts +27 -21
  469. package/src/unstable/devtools/DevToolsSchema.ts +3 -2
  470. package/src/unstable/encoding/Ndjson.ts +17 -17
  471. package/src/unstable/http/Cookies.ts +7 -8
  472. package/src/unstable/http/Etag.ts +5 -3
  473. package/src/unstable/http/Headers.ts +6 -5
  474. package/src/unstable/http/HttpClient.ts +2 -1
  475. package/src/unstable/http/HttpClientRequest.ts +11 -9
  476. package/src/unstable/http/HttpClientResponse.ts +5 -4
  477. package/src/unstable/http/HttpIncomingMessage.ts +3 -2
  478. package/src/unstable/http/HttpMiddleware.ts +16 -15
  479. package/src/unstable/http/HttpPlatform.ts +3 -2
  480. package/src/unstable/http/HttpRouter.ts +9 -9
  481. package/src/unstable/http/HttpServer.ts +3 -9
  482. package/src/unstable/http/HttpServerError.ts +3 -2
  483. package/src/unstable/http/HttpServerRequest.ts +29 -25
  484. package/src/unstable/http/HttpServerResponse.ts +7 -6
  485. package/src/unstable/http/HttpTraceContext.ts +31 -17
  486. package/src/unstable/http/UrlParams.ts +11 -14
  487. package/src/unstable/httpapi/HttpApiBuilder.ts +13 -7
  488. package/src/unstable/httpapi/HttpApiError.ts +67 -12
  489. package/src/unstable/observability/OtlpExporter.ts +5 -2
  490. package/src/unstable/observability/OtlpTracer.ts +8 -4
  491. package/src/unstable/persistence/Persistable.ts +1 -1
  492. package/src/unstable/reactivity/Atom.ts +1 -4
  493. package/src/unstable/reactivity/AtomRegistry.ts +5 -3
  494. package/src/unstable/rpc/Rpc.ts +4 -3
  495. package/src/unstable/rpc/RpcClient.ts +10 -9
  496. package/src/unstable/rpc/RpcGroup.ts +3 -3
  497. package/src/unstable/rpc/RpcSchema.ts +6 -5
  498. package/src/unstable/rpc/RpcSerialization.ts +4 -1
  499. package/src/unstable/rpc/RpcServer.ts +3 -3
  500. package/src/unstable/socket/Socket.ts +2 -1
  501. package/src/unstable/sql/SqlClient.ts +5 -3
  502. package/src/unstable/workflow/DurableDeferred.ts +6 -6
  503. package/src/unstable/workflow/Workflow.ts +1 -1
  504. package/src/unstable/workflow/WorkflowEngine.ts +29 -20
  505. package/dist/NullOr.d.ts +0 -149
  506. package/dist/NullOr.d.ts.map +0 -1
  507. package/dist/NullOr.js +0 -152
  508. package/dist/NullOr.js.map +0 -1
  509. package/dist/unstable/cli/internal/completions/Completions.d.ts +0 -2
  510. package/dist/unstable/cli/internal/completions/Completions.d.ts.map +0 -1
  511. package/dist/unstable/cli/internal/completions/Completions.js +0 -23
  512. package/dist/unstable/cli/internal/completions/Completions.js.map +0 -1
  513. package/src/NullOr.ts +0 -204
  514. package/src/unstable/cli/internal/completions/Completions.ts +0 -31
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaTransformation.js","names":["BigDecimal","DateTime","Duration","Effect","Option","Predicate","Getter","Issue","Middleware","_tag","decode","encode","constructor","flip","TypeId","Transformation","compose","other","isTransformation","u","hasProperty","make","options","transformOrFail","transform","transformOptional","trim","passthrough","snakeToCamel","camelToSnake","toLowerCase","toUpperCase","capitalize","uncapitalize","splitKeyValue","joinKeyValue","passthrough_","passthroughSupertype","passthroughSubtype","numberFromString","Number","String","bigintFromString","BigInt","durationFromNanos","i","succeed","nanos","a","toNanos","isUndefined","fail","InvalidValue","some","message","durationFromMillis","millis","toMillis","errorFromErrorJsonEncoded","err","Error","name","stack","e","includeStack","optionFromNullOr","fromNullOr","getOrNull","optionFromUndefinedOr","fromUndefinedOr","getOrUndefined","optionFromNullishOr","fromNullishOr","onNoneEncoding","optionFromOptionalKey","flatten","optionFromOptional","ot","pipe","filter","isNotUndefined","urlFromString","s","try","URL","catch","globalThis","url","href","bigDecimalFromString","result","fromString","undefined","bd","format","uint8ArrayFromBase64String","decodeBase64","encodeBase64","fromJsonString","parseJson","stringifyJson","fromFormData","decodeFormData","encodeFormData","fromURLSearchParams","decodeURLSearchParams","encodeURLSearchParams","timeZoneOffsetFromNumber","n","zoneMakeOffset","tz","offset","timeZoneNamedFromString","zoneMakeNamed","id","timeZoneFromString","zoneFromString","zoneToString","dateTimeUtcFromString","toUtc","utc","formatIso","dateTimeZonedFromString","makeZonedFromString","zoned","formatIsoZoned"],"sources":["../src/SchemaTransformation.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SchemaTransformation.js","names":["BigDecimal","DateTime","Duration","Effect","Option","Predicate","Getter","Issue","Middleware","_tag","decode","encode","constructor","flip","TypeId","Transformation","compose","other","isTransformation","u","hasProperty","make","options","transformOrFail","transform","transformOptional","trim","passthrough","snakeToCamel","camelToSnake","toLowerCase","toUpperCase","capitalize","uncapitalize","splitKeyValue","joinKeyValue","passthrough_","passthroughSupertype","passthroughSubtype","numberFromString","Number","String","bigintFromString","BigInt","durationFromNanos","i","succeed","nanos","a","match","toNanos","onNone","fail","InvalidValue","some","message","onSome","durationFromMillis","millis","toMillis","errorFromErrorJsonEncoded","err","Error","name","stack","e","includeStack","optionFromNullOr","fromNullOr","getOrNull","optionFromUndefinedOr","fromUndefinedOr","getOrUndefined","optionFromNullishOr","fromNullishOr","onNoneEncoding","optionFromOptionalKey","flatten","optionFromOptional","ot","pipe","filter","isNotUndefined","urlFromString","s","try","URL","catch","globalThis","url","href","bigDecimalFromString","result","fromString","isNone","value","bd","format","uint8ArrayFromBase64String","decodeBase64","encodeBase64","fromJsonString","parseJson","stringifyJson","fromFormData","decodeFormData","encodeFormData","fromURLSearchParams","decodeURLSearchParams","encodeURLSearchParams","timeZoneOffsetFromNumber","n","zoneMakeOffset","tz","offset","timeZoneNamedFromString","zoneMakeNamed","id","timeZoneFromString","zoneFromString","zoneToString","dateTimeUtcFromString","toUtc","utc","formatIso","dateTimeZonedFromString","makeZonedFromString","zoned","formatIsoZoned"],"sources":["../src/SchemaTransformation.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @since 2.0.0
3
3
  */
4
- import * as Effect from "./Effect.ts";
5
- import * as Option from "./Option.ts";
4
+ import type * as Effect from "./Effect.ts";
5
+ import type * as Option from "./Option.ts";
6
6
  /**
7
7
  * @category models
8
8
  * @since 2.0.0
@@ -24,7 +24,7 @@ export interface Semaphore {
24
24
  /**
25
25
  * Adjusts the number of permits available in the semaphore.
26
26
  */
27
- resize(permits: number): Effect.Effect<void>;
27
+ resize(this: Semaphore, permits: number): Effect.Effect<void>;
28
28
  /**
29
29
  * Runs an effect with the given number of permits and releases the permits
30
30
  * when the effect completes.
@@ -36,7 +36,7 @@ export interface Semaphore {
36
36
  * If insufficient permits are available, the function will wait until they
37
37
  * are released by other tasks.
38
38
  */
39
- withPermits(permits: number): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
39
+ withPermits(this: Semaphore, permits: number): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
40
40
  /**
41
41
  * Runs an effect with the given number of permits and releases the permits
42
42
  * when the effect completes.
@@ -48,7 +48,7 @@ export interface Semaphore {
48
48
  * If insufficient permits are available, the function will wait until they
49
49
  * are released by other tasks.
50
50
  */
51
- withPermit<A, E, R>(self: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>;
51
+ withPermit<A, E, R>(this: Semaphore, self: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>;
52
52
  /**
53
53
  * Runs an effect only if the specified number of permits are immediately
54
54
  * available.
@@ -60,22 +60,22 @@ export interface Semaphore {
60
60
  * completes. If permits are not available, the effect does not execute, and
61
61
  * the result is `Option.none`.
62
62
  */
63
- withPermitsIfAvailable(permits: number): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Option.Option<A>, E, R>;
63
+ withPermitsIfAvailable(this: Semaphore, permits: number): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Option.Option<A>, E, R>;
64
64
  /**
65
65
  * Acquires the specified number of permits and returns the resulting
66
66
  * available permits, suspending the task if they are not yet available.
67
67
  * Concurrent pending `take` calls are processed in a first-in, first-out manner.
68
68
  */
69
- take(permits: number): Effect.Effect<number>;
69
+ take(this: Semaphore, permits: number): Effect.Effect<number>;
70
70
  /**
71
71
  * Releases the specified number of permits and returns the resulting
72
72
  * available permits.
73
73
  */
74
- release(permits: number): Effect.Effect<number>;
74
+ release(this: Semaphore, permits: number): Effect.Effect<number>;
75
75
  /**
76
76
  * Releases all permits held by this semaphore and returns the resulting available permits.
77
77
  */
78
- releaseAll: Effect.Effect<number>;
78
+ readonly releaseAll: Effect.Effect<number>;
79
79
  }
80
80
  /**
81
81
  * Unsafely creates a new Semaphore.
@@ -150,62 +150,158 @@ export declare const makeUnsafe: (permits: number) => Semaphore;
150
150
  */
151
151
  export declare const make: (permits: number) => Effect.Effect<Semaphore>;
152
152
  /**
153
- * @since 3.19.4
154
- * @category models
153
+ * Adjusts the number of permits available in the semaphore.
154
+ *
155
+ * @since 4.0.0
156
+ * @category combinators
155
157
  */
156
- export declare const PartitionedTypeId: PartitionedTypeId;
158
+ export declare const resize: {
159
+ /**
160
+ * Adjusts the number of permits available in the semaphore.
161
+ *
162
+ * @since 4.0.0
163
+ * @category combinators
164
+ */
165
+ (permits: number): (self: Semaphore) => Effect.Effect<void>;
166
+ /**
167
+ * Adjusts the number of permits available in the semaphore.
168
+ *
169
+ * @since 4.0.0
170
+ * @category combinators
171
+ */
172
+ (self: Semaphore, permits: number): Effect.Effect<void>;
173
+ };
157
174
  /**
158
- * @since 3.19.4
159
- * @category models
175
+ * Runs an effect with the given number of permits and releases the permits when
176
+ * the effect completes.
177
+ *
178
+ * @since 4.0.0
179
+ * @category combinators
160
180
  */
161
- export type PartitionedTypeId = "~effect/PartitionedSemaphore";
181
+ export declare const withPermits: {
182
+ /**
183
+ * Runs an effect with the given number of permits and releases the permits when
184
+ * the effect completes.
185
+ *
186
+ * @since 4.0.0
187
+ * @category combinators
188
+ */
189
+ (self: Semaphore, permits: number): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
190
+ /**
191
+ * Runs an effect with the given number of permits and releases the permits when
192
+ * the effect completes.
193
+ *
194
+ * @since 4.0.0
195
+ * @category combinators
196
+ */
197
+ <A, E, R>(self: Semaphore, permits: number, effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>;
198
+ };
162
199
  /**
163
- * A `Partitioned` semaphore controls access to a shared permit pool while
164
- * tracking waiters by partition key.
165
- *
166
- * Waiting permits are distributed across partitions in round-robin order.
200
+ * Runs an effect with a single permit and releases the permit when the effect
201
+ * completes.
167
202
  *
168
- * **Previously Known As**
169
- *
170
- * This API replaces the following from Effect 3.x:
171
- *
172
- * - `PartitionedSemaphore.PartitionedSemaphore`
173
- *
174
- * @since 3.19.4
175
- * @category models
203
+ * @since 4.0.0
204
+ * @category combinators
176
205
  */
177
- export interface Partitioned<in K> {
178
- readonly [PartitionedTypeId]: PartitionedTypeId;
179
- readonly withPermits: (key: K, permits: number) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
180
- }
206
+ export declare const withPermit: {
207
+ /**
208
+ * Runs an effect with a single permit and releases the permit when the effect
209
+ * completes.
210
+ *
211
+ * @since 4.0.0
212
+ * @category combinators
213
+ */
214
+ (self: Semaphore): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
215
+ /**
216
+ * Runs an effect with a single permit and releases the permit when the effect
217
+ * completes.
218
+ *
219
+ * @since 4.0.0
220
+ * @category combinators
221
+ */
222
+ <A, E, R>(self: Semaphore, effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>;
223
+ };
181
224
  /**
182
- * Creates a `Partitioned` semaphore unsafely.
183
- *
184
- * **Previously Known As**
225
+ * Runs an effect only if the specified number of permits are immediately
226
+ * available.
185
227
  *
186
- * This API replaces the following from Effect 3.x:
187
- *
188
- * - `PartitionedSemaphore.makeUnsafe`
189
- *
190
- * @since 3.19.4
191
- * @category constructors
228
+ * @since 4.0.0
229
+ * @category combinators
192
230
  */
193
- export declare const makePartitionedUnsafe: <K = unknown>(options: {
194
- readonly permits: number;
195
- }) => Partitioned<K>;
231
+ export declare const withPermitsIfAvailable: {
232
+ /**
233
+ * Runs an effect only if the specified number of permits are immediately
234
+ * available.
235
+ *
236
+ * @since 4.0.0
237
+ * @category combinators
238
+ */
239
+ (self: Semaphore, permits: number): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<Option.Option<A>, E, R>;
240
+ /**
241
+ * Runs an effect only if the specified number of permits are immediately
242
+ * available.
243
+ *
244
+ * @since 4.0.0
245
+ * @category combinators
246
+ */
247
+ <A, E, R>(self: Semaphore, permits: number, effect: Effect.Effect<A, E, R>): Effect.Effect<Option.Option<A>, E, R>;
248
+ };
196
249
  /**
197
- * Creates a `Partitioned` semaphore.
198
- *
199
- * **Previously Known As**
250
+ * Acquires the specified number of permits and returns the resulting available
251
+ * permits, suspending the task if they are not yet available.
200
252
  *
201
- * This API replaces the following from Effect 3.x:
253
+ * @since 4.0.0
254
+ * @category combinators
255
+ */
256
+ export declare const take: {
257
+ /**
258
+ * Acquires the specified number of permits and returns the resulting available
259
+ * permits, suspending the task if they are not yet available.
260
+ *
261
+ * @since 4.0.0
262
+ * @category combinators
263
+ */
264
+ (permits: number): (self: Semaphore) => Effect.Effect<number>;
265
+ /**
266
+ * Acquires the specified number of permits and returns the resulting available
267
+ * permits, suspending the task if they are not yet available.
268
+ *
269
+ * @since 4.0.0
270
+ * @category combinators
271
+ */
272
+ (self: Semaphore, permits: number): Effect.Effect<number>;
273
+ };
274
+ /**
275
+ * Releases the specified number of permits and returns the resulting available
276
+ * permits.
202
277
  *
203
- * - `PartitionedSemaphore.make`
278
+ * @since 4.0.0
279
+ * @category combinators
280
+ */
281
+ export declare const release: {
282
+ /**
283
+ * Releases the specified number of permits and returns the resulting available
284
+ * permits.
285
+ *
286
+ * @since 4.0.0
287
+ * @category combinators
288
+ */
289
+ (permits: number): (self: Semaphore) => Effect.Effect<number>;
290
+ /**
291
+ * Releases the specified number of permits and returns the resulting available
292
+ * permits.
293
+ *
294
+ * @since 4.0.0
295
+ * @category combinators
296
+ */
297
+ (self: Semaphore, permits: number): Effect.Effect<number>;
298
+ };
299
+ /**
300
+ * Releases all permits held by this semaphore and returns the resulting
301
+ * available permits.
204
302
  *
205
- * @since 3.19.4
206
- * @category constructors
303
+ * @since 4.0.0
304
+ * @category combinators
207
305
  */
208
- export declare const makePartitioned: <K = unknown>(options: {
209
- readonly permits: number;
210
- }) => Effect.Effect<Partitioned<K>>;
306
+ export declare const releaseAll: (self: Semaphore) => Effect.Effect<number>;
211
307
  //# sourceMappingURL=Semaphore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Semaphore.d.ts","sourceRoot":"","sources":["../src/Semaphore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Semaphore.d.ts","sourceRoot":"","sources":["../src/Semaphore.ts"],"names":[],"mappings":"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"}
package/dist/Semaphore.js CHANGED
@@ -1,10 +1,6 @@
1
- /**
2
- * @since 2.0.0
3
- */
4
- import * as Effect from "./Effect.js";
1
+ import { dual } from "./Function.js";
2
+ import * as core from "./internal/core.js";
5
3
  import * as internal from "./internal/effect.js";
6
- import * as MutableHashMap from "./MutableHashMap.js";
7
- import * as Option from "./Option.js";
8
4
  /**
9
5
  * Unsafely creates a new Semaphore.
10
6
  *
@@ -42,7 +38,89 @@ import * as Option from "./Option.js";
42
38
  * @since 2.0.0
43
39
  * @category constructors
44
40
  */
45
- export const makeUnsafe = internal.makeSemaphoreUnsafe;
41
+ export const makeUnsafe = permits => new SemaphoreImpl(permits);
42
+ class SemaphoreImpl {
43
+ waiters = /*#__PURE__*/new Set();
44
+ taken = 0;
45
+ permits;
46
+ constructor(permits) {
47
+ this.permits = permits;
48
+ }
49
+ get free() {
50
+ return this.permits - this.taken;
51
+ }
52
+ take(n) {
53
+ const take = internal.suspend(() => {
54
+ if (this.free < n) {
55
+ return internal.callback(resume => {
56
+ if (this.free >= n) return resume(take);
57
+ const observer = () => {
58
+ if (this.free < n) return;
59
+ this.waiters.delete(observer);
60
+ resume(take);
61
+ };
62
+ this.waiters.add(observer);
63
+ return internal.sync(() => {
64
+ this.waiters.delete(observer);
65
+ });
66
+ });
67
+ }
68
+ this.taken += n;
69
+ return internal.succeed(n);
70
+ });
71
+ return take;
72
+ }
73
+ updateTakenUnsafe(fiber, f) {
74
+ this.taken = f(this.taken);
75
+ if (this.waiters.size > 0) {
76
+ fiber.currentDispatcher.scheduleTask(() => {
77
+ const iter = this.waiters.values();
78
+ let item = iter.next();
79
+ while (item.done === false && this.free > 0) {
80
+ item.value();
81
+ item = iter.next();
82
+ }
83
+ }, 0);
84
+ }
85
+ return this.free;
86
+ }
87
+ updateTaken(f) {
88
+ return core.withFiber(fiber => internal.succeed(this.updateTakenUnsafe(fiber, f)));
89
+ }
90
+ resize(permits) {
91
+ return core.withFiber(fiber => {
92
+ this.permits = permits;
93
+ if (this.free < 0) return internal.void;
94
+ this.updateTakenUnsafe(fiber, taken => taken);
95
+ return internal.void;
96
+ });
97
+ }
98
+ release(n) {
99
+ return this.updateTaken(taken => taken - n);
100
+ }
101
+ get releaseAll() {
102
+ return this.updateTaken(_ => 0);
103
+ }
104
+ withPermits(n) {
105
+ return self => internal.uninterruptibleMask(restore => internal.flatMap(restore(this.take(n)), permits => internal.onExitPrimitive(restore(self), () => {
106
+ this.updateTakenUnsafe(internal.getCurrentFiber(), taken => taken - permits);
107
+ return undefined;
108
+ }, true)));
109
+ }
110
+ get withPermit() {
111
+ return this.withPermits(1);
112
+ }
113
+ withPermitsIfAvailable(n) {
114
+ return self => internal.uninterruptibleMask(restore => {
115
+ if (this.free < n) return internal.succeedNone;
116
+ this.taken += n;
117
+ return internal.onExitPrimitive(restore(internal.asSome(self)), () => {
118
+ this.updateTakenUnsafe(internal.getCurrentFiber(), taken => taken - n);
119
+ return undefined;
120
+ }, true);
121
+ });
122
+ }
123
+ }
46
124
  /**
47
125
  * Creates a new Semaphore.
48
126
  *
@@ -76,127 +154,69 @@ export const makeUnsafe = internal.makeSemaphoreUnsafe;
76
154
  * @since 2.0.0
77
155
  * @category constructors
78
156
  */
79
- export const make = internal.makeSemaphore;
80
- // -----------------------------------------------------------------------------
81
- // Partitioned
82
- // -----------------------------------------------------------------------------
157
+ export const make = permits => internal.sync(() => new SemaphoreImpl(permits));
83
158
  /**
84
- * @since 3.19.4
85
- * @category models
159
+ * Adjusts the number of permits available in the semaphore.
160
+ *
161
+ * @since 4.0.0
162
+ * @category combinators
86
163
  */
87
- export const PartitionedTypeId = "~effect/PartitionedSemaphore";
164
+ export const resize = /*#__PURE__*/dual(2, (self, permits) => self.resize(permits));
88
165
  /**
89
- * Creates a `Partitioned` semaphore unsafely.
166
+ * Runs an effect with the given number of permits and releases the permits when
167
+ * the effect completes.
90
168
  *
91
- * **Previously Known As**
92
- *
93
- * This API replaces the following from Effect 3.x:
94
- *
95
- * - `PartitionedSemaphore.makeUnsafe`
169
+ * @since 4.0.0
170
+ * @category combinators
171
+ */
172
+ export const withPermits = (self, permits, effect) => {
173
+ const withPermits = self.withPermits(permits);
174
+ return effect ? withPermits(effect) : withPermits;
175
+ };
176
+ /**
177
+ * Runs an effect with a single permit and releases the permit when the effect
178
+ * completes.
96
179
  *
97
- * @since 3.19.4
98
- * @category constructors
180
+ * @since 4.0.0
181
+ * @category combinators
99
182
  */
100
- export const makePartitionedUnsafe = options => {
101
- const maxPermits = Math.max(0, options.permits);
102
- if (!Number.isFinite(maxPermits)) {
103
- return {
104
- [PartitionedTypeId]: PartitionedTypeId,
105
- withPermits: () => effect => effect
106
- };
107
- }
108
- let totalPermits = maxPermits;
109
- let waitingPermits = 0;
110
- const partitions = MutableHashMap.empty();
111
- const take = (key, permits) => Effect.callback(resume => {
112
- if (maxPermits < permits) {
113
- resume(Effect.never);
114
- return;
115
- }
116
- if (totalPermits >= permits) {
117
- totalPermits -= permits;
118
- resume(Effect.void);
119
- return;
120
- }
121
- const needed = permits - totalPermits;
122
- const taken = permits - needed;
123
- if (totalPermits > 0) {
124
- totalPermits = 0;
125
- }
126
- waitingPermits += needed;
127
- const waiters = Option.getOrElse(MutableHashMap.get(partitions, key), () => {
128
- const set = new Set();
129
- MutableHashMap.set(partitions, key, set);
130
- return set;
131
- });
132
- const entry = {
133
- permits: needed,
134
- resume: () => {
135
- cleanup();
136
- resume(Effect.void);
137
- }
138
- };
139
- const cleanup = () => {
140
- waiters.delete(entry);
141
- if (waiters.size === 0) {
142
- MutableHashMap.remove(partitions, key);
143
- }
144
- };
145
- waiters.add(entry);
146
- return Effect.sync(() => {
147
- cleanup();
148
- waitingPermits -= entry.permits;
149
- if (taken > 0) {
150
- releaseUnsafe(taken);
151
- }
152
- });
153
- });
154
- let iterator = partitions[Symbol.iterator]();
155
- const releaseUnsafe = permits => {
156
- while (permits > 0) {
157
- if (waitingPermits === 0) {
158
- totalPermits += permits;
159
- return;
160
- }
161
- let state = iterator.next();
162
- if (state.done) {
163
- iterator = partitions[Symbol.iterator]();
164
- state = iterator.next();
165
- if (state.done) {
166
- return;
167
- }
168
- }
169
- const waiter = state.value[1].values().next().value;
170
- if (waiter === undefined) {
171
- continue;
172
- }
173
- waiter.permits -= 1;
174
- waitingPermits -= 1;
175
- if (waiter.permits === 0) {
176
- waiter.resume();
177
- }
178
- permits -= 1;
179
- }
180
- };
181
- return {
182
- [PartitionedTypeId]: PartitionedTypeId,
183
- withPermits: (key, permits) => {
184
- const takePermits = take(key, permits);
185
- return effect => Effect.uninterruptibleMask(restore => Effect.flatMap(restore(takePermits), () => Effect.ensuring(restore(effect), Effect.sync(() => releaseUnsafe(permits)))));
186
- }
187
- };
183
+ export const withPermit = (self, effect) => {
184
+ if (!effect) return self.withPermit;
185
+ return self.withPermit(effect);
188
186
  };
189
187
  /**
190
- * Creates a `Partitioned` semaphore.
188
+ * Runs an effect only if the specified number of permits are immediately
189
+ * available.
191
190
  *
192
- * **Previously Known As**
191
+ * @since 4.0.0
192
+ * @category combinators
193
+ */
194
+ export const withPermitsIfAvailable = (self, permits, effect) => {
195
+ const withPermits = self.withPermitsIfAvailable(permits);
196
+ return effect ? withPermits(effect) : withPermits;
197
+ };
198
+ /**
199
+ * Acquires the specified number of permits and returns the resulting available
200
+ * permits, suspending the task if they are not yet available.
193
201
  *
194
- * This API replaces the following from Effect 3.x:
202
+ * @since 4.0.0
203
+ * @category combinators
204
+ */
205
+ export const take = /*#__PURE__*/dual(2, (self, permits) => self.take(permits));
206
+ /**
207
+ * Releases the specified number of permits and returns the resulting available
208
+ * permits.
195
209
  *
196
- * - `PartitionedSemaphore.make`
210
+ * @since 4.0.0
211
+ * @category combinators
212
+ */
213
+ export const release = /*#__PURE__*/dual(2, (self, permits) => self.release(permits));
214
+ /**
215
+ * Releases all permits held by this semaphore and returns the resulting
216
+ * available permits.
197
217
  *
198
- * @since 3.19.4
199
- * @category constructors
218
+ * @since 4.0.0
219
+ * @category combinators
200
220
  */
201
- export const makePartitioned = options => Effect.sync(() => makePartitionedUnsafe(options));
221
+ export const releaseAll = self => self.releaseAll;
202
222
  //# sourceMappingURL=Semaphore.js.map