effect 4.0.0-beta.31 → 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 (464) 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/Chunk.d.ts +58 -57
  14. package/dist/Chunk.d.ts.map +1 -1
  15. package/dist/Chunk.js +20 -21
  16. package/dist/Chunk.js.map +1 -1
  17. package/dist/Config.d.ts.map +1 -1
  18. package/dist/Config.js +4 -1
  19. package/dist/Config.js.map +1 -1
  20. package/dist/Cron.d.ts +3 -6
  21. package/dist/Cron.d.ts.map +1 -1
  22. package/dist/Cron.js +8 -15
  23. package/dist/Cron.js.map +1 -1
  24. package/dist/DateTime.d.ts +16 -15
  25. package/dist/DateTime.d.ts.map +1 -1
  26. package/dist/DateTime.js +8 -8
  27. package/dist/DateTime.js.map +1 -1
  28. package/dist/Deferred.d.ts +7 -5
  29. package/dist/Deferred.d.ts.map +1 -1
  30. package/dist/Deferred.js +7 -5
  31. package/dist/Deferred.js.map +1 -1
  32. package/dist/Duration.d.ts +26 -24
  33. package/dist/Duration.d.ts.map +1 -1
  34. package/dist/Duration.js +23 -22
  35. package/dist/Duration.js.map +1 -1
  36. package/dist/Effect.d.ts.map +1 -1
  37. package/dist/Effect.js +3 -4
  38. package/dist/Effect.js.map +1 -1
  39. package/dist/Fiber.d.ts +2 -1
  40. package/dist/Fiber.d.ts.map +1 -1
  41. package/dist/Fiber.js.map +1 -1
  42. package/dist/FiberHandle.d.ts +9 -8
  43. package/dist/FiberHandle.d.ts.map +1 -1
  44. package/dist/FiberHandle.js +8 -7
  45. package/dist/FiberHandle.js.map +1 -1
  46. package/dist/FiberMap.d.ts +20 -19
  47. package/dist/FiberMap.d.ts.map +1 -1
  48. package/dist/FiberMap.js +6 -6
  49. package/dist/FiberMap.js.map +1 -1
  50. package/dist/FileSystem.d.ts +17 -16
  51. package/dist/FileSystem.d.ts.map +1 -1
  52. package/dist/FileSystem.js +10 -7
  53. package/dist/FileSystem.js.map +1 -1
  54. package/dist/Graph.d.ts +64 -64
  55. package/dist/Graph.d.ts.map +1 -1
  56. package/dist/Graph.js +53 -53
  57. package/dist/Graph.js.map +1 -1
  58. package/dist/HashMap.d.ts +11 -5
  59. package/dist/HashMap.d.ts.map +1 -1
  60. package/dist/HashMap.js +3 -1
  61. package/dist/HashMap.js.map +1 -1
  62. package/dist/Iterable.d.ts +11 -11
  63. package/dist/Iterable.d.ts.map +1 -1
  64. package/dist/Iterable.js +12 -12
  65. package/dist/Iterable.js.map +1 -1
  66. package/dist/Latch.d.ts +69 -3
  67. package/dist/Latch.d.ts.map +1 -1
  68. package/dist/Latch.js +58 -0
  69. package/dist/Latch.js.map +1 -1
  70. package/dist/Layer.d.ts +84 -0
  71. package/dist/Layer.d.ts.map +1 -1
  72. package/dist/Layer.js +27 -0
  73. package/dist/Layer.js.map +1 -1
  74. package/dist/Number.d.ts +74 -18
  75. package/dist/Number.d.ts.map +1 -1
  76. package/dist/Number.js +34 -15
  77. package/dist/Number.js.map +1 -1
  78. package/dist/Option.d.ts +2 -0
  79. package/dist/Option.d.ts.map +1 -1
  80. package/dist/Option.js.map +1 -1
  81. package/dist/PartitionedSemaphore.d.ts +183 -0
  82. package/dist/PartitionedSemaphore.d.ts.map +1 -0
  83. package/dist/PartitionedSemaphore.js +231 -0
  84. package/dist/PartitionedSemaphore.js.map +1 -0
  85. package/dist/PubSub.d.ts +5 -4
  86. package/dist/PubSub.d.ts.map +1 -1
  87. package/dist/PubSub.js +6 -5
  88. package/dist/PubSub.js.map +1 -1
  89. package/dist/Queue.d.ts +3 -3
  90. package/dist/Queue.d.ts.map +1 -1
  91. package/dist/Queue.js +2 -2
  92. package/dist/Queue.js.map +1 -1
  93. package/dist/Record.d.ts +40 -40
  94. package/dist/Record.d.ts.map +1 -1
  95. package/dist/Record.js +16 -15
  96. package/dist/Record.js.map +1 -1
  97. package/dist/Scheduler.d.ts +25 -123
  98. package/dist/Scheduler.d.ts.map +1 -1
  99. package/dist/Scheduler.js +20 -123
  100. package/dist/Scheduler.js.map +1 -1
  101. package/dist/Schema.d.ts +30 -0
  102. package/dist/Schema.d.ts.map +1 -1
  103. package/dist/Schema.js +28 -1
  104. package/dist/Schema.js.map +1 -1
  105. package/dist/SchemaGetter.js +6 -4
  106. package/dist/SchemaGetter.js.map +1 -1
  107. package/dist/SchemaTransformation.d.ts.map +1 -1
  108. package/dist/SchemaTransformation.js +32 -27
  109. package/dist/SchemaTransformation.js.map +1 -1
  110. package/dist/Semaphore.d.ts +149 -53
  111. package/dist/Semaphore.d.ts.map +1 -1
  112. package/dist/Semaphore.js +137 -117
  113. package/dist/Semaphore.js.map +1 -1
  114. package/dist/ServiceMap.d.ts +26 -0
  115. package/dist/ServiceMap.d.ts.map +1 -1
  116. package/dist/ServiceMap.js +36 -21
  117. package/dist/ServiceMap.js.map +1 -1
  118. package/dist/Stream.js +1 -1
  119. package/dist/Stream.js.map +1 -1
  120. package/dist/String.d.ts +114 -47
  121. package/dist/String.d.ts.map +1 -1
  122. package/dist/String.js +29 -47
  123. package/dist/String.js.map +1 -1
  124. package/dist/SubscriptionRef.d.ts +1 -2
  125. package/dist/SubscriptionRef.d.ts.map +1 -1
  126. package/dist/SubscriptionRef.js +81 -115
  127. package/dist/SubscriptionRef.js.map +1 -1
  128. package/dist/Terminal.d.ts +2 -1
  129. package/dist/Terminal.d.ts.map +1 -1
  130. package/dist/Terminal.js.map +1 -1
  131. package/dist/Tracer.d.ts +5 -4
  132. package/dist/Tracer.d.ts.map +1 -1
  133. package/dist/Tracer.js +2 -1
  134. package/dist/Tracer.js.map +1 -1
  135. package/dist/Trie.d.ts +26 -14
  136. package/dist/Trie.d.ts.map +1 -1
  137. package/dist/Trie.js +8 -4
  138. package/dist/Trie.js.map +1 -1
  139. package/dist/TxHashMap.d.ts +77 -59
  140. package/dist/TxHashMap.d.ts.map +1 -1
  141. package/dist/TxHashMap.js +25 -19
  142. package/dist/TxHashMap.js.map +1 -1
  143. package/dist/TxSemaphore.d.ts +162 -2
  144. package/dist/TxSemaphore.d.ts.map +1 -1
  145. package/dist/TxSemaphore.js +16 -2
  146. package/dist/TxSemaphore.js.map +1 -1
  147. package/dist/index.d.ts +88 -32
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +88 -32
  150. package/dist/index.js.map +1 -1
  151. package/dist/internal/dateTime.js +9 -9
  152. package/dist/internal/dateTime.js.map +1 -1
  153. package/dist/internal/effect.js +20 -89
  154. package/dist/internal/effect.js.map +1 -1
  155. package/dist/internal/hashMap.js +2 -1
  156. package/dist/internal/hashMap.js.map +1 -1
  157. package/dist/internal/option.js +6 -0
  158. package/dist/internal/option.js.map +1 -1
  159. package/dist/internal/trie.js +3 -3
  160. package/dist/internal/trie.js.map +1 -1
  161. package/dist/unstable/ai/AiError.js +1 -1
  162. package/dist/unstable/ai/AiError.js.map +1 -1
  163. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  164. package/dist/unstable/ai/AnthropicStructuredOutput.js +4 -0
  165. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  166. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  167. package/dist/unstable/ai/Chat.js +2 -2
  168. package/dist/unstable/ai/Chat.js.map +1 -1
  169. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  170. package/dist/unstable/ai/OpenAiStructuredOutput.js +4 -0
  171. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  172. package/dist/unstable/ai/Tool.d.ts +14 -0
  173. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  174. package/dist/unstable/ai/Tool.js +13 -0
  175. package/dist/unstable/ai/Tool.js.map +1 -1
  176. package/dist/unstable/cli/Argument.d.ts +2 -4
  177. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  178. package/dist/unstable/cli/Argument.js +1 -3
  179. package/dist/unstable/cli/Argument.js.map +1 -1
  180. package/dist/unstable/cli/CliOutput.d.ts +3 -2
  181. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  182. package/dist/unstable/cli/CliOutput.js +4 -3
  183. package/dist/unstable/cli/CliOutput.js.map +1 -1
  184. package/dist/unstable/cli/Command.d.ts +3 -2
  185. package/dist/unstable/cli/Command.d.ts.map +1 -1
  186. package/dist/unstable/cli/Command.js +3 -3
  187. package/dist/unstable/cli/Command.js.map +1 -1
  188. package/dist/unstable/cli/Flag.d.ts +2 -2
  189. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  190. package/dist/unstable/cli/Flag.js +1 -1
  191. package/dist/unstable/cli/Flag.js.map +1 -1
  192. package/dist/unstable/cli/HelpDoc.d.ts +14 -12
  193. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  194. package/dist/unstable/cli/Param.d.ts +4 -4
  195. package/dist/unstable/cli/Param.d.ts.map +1 -1
  196. package/dist/unstable/cli/Param.js +7 -7
  197. package/dist/unstable/cli/Param.js.map +1 -1
  198. package/dist/unstable/cli/Primitive.d.ts +1 -1
  199. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  200. package/dist/unstable/cli/Primitive.js.map +1 -1
  201. package/dist/unstable/cli/Prompt.js +71 -67
  202. package/dist/unstable/cli/Prompt.js.map +1 -1
  203. package/dist/unstable/cli/internal/completions/CommandDescriptor.js +9 -2
  204. package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
  205. package/dist/unstable/cli/internal/parser.js +8 -3
  206. package/dist/unstable/cli/internal/parser.js.map +1 -1
  207. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +3 -2
  208. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  209. package/dist/unstable/cluster/ClusterWorkflowEngine.js +25 -23
  210. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  211. package/dist/unstable/cluster/Entity.d.ts +3 -2
  212. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  213. package/dist/unstable/cluster/Entity.js +7 -7
  214. package/dist/unstable/cluster/Entity.js.map +1 -1
  215. package/dist/unstable/cluster/Message.d.ts +4 -3
  216. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  217. package/dist/unstable/cluster/Message.js +3 -2
  218. package/dist/unstable/cluster/Message.js.map +1 -1
  219. package/dist/unstable/cluster/MessageStorage.d.ts +10 -10
  220. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  221. package/dist/unstable/cluster/MessageStorage.js +12 -12
  222. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  223. package/dist/unstable/cluster/Reply.d.ts +2 -1
  224. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  225. package/dist/unstable/cluster/Reply.js +4 -3
  226. package/dist/unstable/cluster/Reply.js.map +1 -1
  227. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  228. package/dist/unstable/cluster/RunnerServer.js +9 -8
  229. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  230. package/dist/unstable/cluster/Runners.d.ts +2 -1
  231. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  232. package/dist/unstable/cluster/Runners.js +7 -6
  233. package/dist/unstable/cluster/Runners.js.map +1 -1
  234. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  235. package/dist/unstable/cluster/Sharding.js +19 -13
  236. package/dist/unstable/cluster/Sharding.js.map +1 -1
  237. package/dist/unstable/cluster/ShardingConfig.d.ts +5 -4
  238. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  239. package/dist/unstable/cluster/ShardingConfig.js +4 -4
  240. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  241. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  242. package/dist/unstable/cluster/SqlMessageStorage.js +19 -18
  243. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  244. package/dist/unstable/cluster/internal/entityManager.js +9 -10
  245. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  246. package/dist/unstable/devtools/DevToolsSchema.d.ts +2 -1
  247. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  248. package/dist/unstable/devtools/DevToolsSchema.js +1 -4
  249. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  250. package/dist/unstable/http/Cookies.d.ts +5 -4
  251. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  252. package/dist/unstable/http/Cookies.js +3 -4
  253. package/dist/unstable/http/Cookies.js.map +1 -1
  254. package/dist/unstable/http/Etag.d.ts.map +1 -1
  255. package/dist/unstable/http/Etag.js +5 -1
  256. package/dist/unstable/http/Etag.js.map +1 -1
  257. package/dist/unstable/http/Headers.d.ts +3 -2
  258. package/dist/unstable/http/Headers.d.ts.map +1 -1
  259. package/dist/unstable/http/Headers.js +2 -1
  260. package/dist/unstable/http/Headers.js.map +1 -1
  261. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  262. package/dist/unstable/http/HttpClient.js +2 -1
  263. package/dist/unstable/http/HttpClient.js.map +1 -1
  264. package/dist/unstable/http/HttpClientRequest.d.ts +4 -3
  265. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  266. package/dist/unstable/http/HttpClientRequest.js +8 -6
  267. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  268. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  269. package/dist/unstable/http/HttpClientResponse.js +2 -1
  270. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  271. package/dist/unstable/http/HttpIncomingMessage.d.ts +2 -1
  272. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  273. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  274. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  275. package/dist/unstable/http/HttpMiddleware.js +16 -15
  276. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  277. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  278. package/dist/unstable/http/HttpPlatform.js +3 -2
  279. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  280. package/dist/unstable/http/HttpRouter.d.ts +2 -1
  281. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  282. package/dist/unstable/http/HttpRouter.js +7 -7
  283. package/dist/unstable/http/HttpRouter.js.map +1 -1
  284. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  285. package/dist/unstable/http/HttpServer.js +2 -2
  286. package/dist/unstable/http/HttpServer.js.map +1 -1
  287. package/dist/unstable/http/HttpServerError.d.ts +2 -1
  288. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  289. package/dist/unstable/http/HttpServerError.js +2 -1
  290. package/dist/unstable/http/HttpServerError.js.map +1 -1
  291. package/dist/unstable/http/HttpServerRequest.d.ts +3 -2
  292. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  293. package/dist/unstable/http/HttpServerRequest.js +14 -10
  294. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  295. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  296. package/dist/unstable/http/HttpServerResponse.js +4 -3
  297. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  298. package/dist/unstable/http/HttpTraceContext.d.ts +3 -2
  299. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  300. package/dist/unstable/http/HttpTraceContext.js +27 -15
  301. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  302. package/dist/unstable/http/UrlParams.d.ts +5 -4
  303. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  304. package/dist/unstable/http/UrlParams.js +5 -6
  305. package/dist/unstable/http/UrlParams.js.map +1 -1
  306. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  307. package/dist/unstable/httpapi/HttpApiBuilder.js +4 -2
  308. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  309. package/dist/unstable/httpapi/HttpApiError.d.ts +15 -0
  310. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  311. package/dist/unstable/httpapi/HttpApiError.js +81 -3
  312. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  313. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  314. package/dist/unstable/observability/OtlpExporter.js +2 -2
  315. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  316. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  317. package/dist/unstable/observability/OtlpTracer.js +7 -3
  318. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  319. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  320. package/dist/unstable/reactivity/Atom.js +1 -5
  321. package/dist/unstable/reactivity/Atom.js.map +1 -1
  322. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  323. package/dist/unstable/reactivity/AtomRegistry.js +4 -2
  324. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  325. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  326. package/dist/unstable/rpc/Rpc.js +4 -3
  327. package/dist/unstable/rpc/Rpc.js.map +1 -1
  328. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  329. package/dist/unstable/rpc/RpcClient.js +4 -4
  330. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  331. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  332. package/dist/unstable/rpc/RpcSchema.js +3 -2
  333. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  334. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  335. package/dist/unstable/rpc/RpcSerialization.js +4 -1
  336. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  337. package/dist/unstable/rpc/RpcServer.d.ts +1 -1
  338. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  339. package/dist/unstable/rpc/RpcServer.js +3 -2
  340. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  341. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  342. package/dist/unstable/socket/Socket.js +2 -1
  343. package/dist/unstable/socket/Socket.js.map +1 -1
  344. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  345. package/dist/unstable/sql/SqlClient.js +1 -1
  346. package/dist/unstable/sql/SqlClient.js.map +1 -1
  347. package/dist/unstable/workflow/DurableDeferred.js +6 -6
  348. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  349. package/dist/unstable/workflow/Workflow.d.ts +2 -1
  350. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  351. package/dist/unstable/workflow/WorkflowEngine.d.ts +5 -4
  352. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  353. package/dist/unstable/workflow/WorkflowEngine.js +19 -14
  354. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  355. package/package.json +1 -1
  356. package/src/Array.ts +112 -105
  357. package/src/BigDecimal.ts +63 -66
  358. package/src/BigInt.ts +49 -41
  359. package/src/Chunk.ts +68 -63
  360. package/src/Config.ts +4 -1
  361. package/src/Cron.ts +10 -15
  362. package/src/DateTime.ts +16 -15
  363. package/src/Deferred.ts +8 -6
  364. package/src/Duration.ts +34 -33
  365. package/src/Effect.ts +3 -4
  366. package/src/Fiber.ts +2 -1
  367. package/src/FiberHandle.ts +10 -9
  368. package/src/FiberMap.ts +22 -22
  369. package/src/FileSystem.ts +25 -22
  370. package/src/Graph.ts +105 -105
  371. package/src/HashMap.ts +11 -5
  372. package/src/Iterable.ts +13 -13
  373. package/src/Latch.ts +85 -3
  374. package/src/Layer.ts +121 -0
  375. package/src/Number.ts +85 -26
  376. package/src/Option.ts +2 -0
  377. package/src/PartitionedSemaphore.ts +414 -0
  378. package/src/PubSub.ts +7 -6
  379. package/src/Queue.ts +5 -5
  380. package/src/Record.ts +52 -47
  381. package/src/Scheduler.ts +37 -126
  382. package/src/Schema.ts +49 -1
  383. package/src/SchemaGetter.ts +4 -4
  384. package/src/SchemaTransformation.ts +27 -27
  385. package/src/Semaphore.ts +271 -183
  386. package/src/ServiceMap.ts +83 -31
  387. package/src/Stream.ts +1 -1
  388. package/src/String.ts +122 -69
  389. package/src/SubscriptionRef.ts +96 -117
  390. package/src/Terminal.ts +2 -1
  391. package/src/Tracer.ts +6 -5
  392. package/src/Trie.ts +26 -14
  393. package/src/TxHashMap.ts +78 -60
  394. package/src/TxSemaphore.ts +186 -11
  395. package/src/index.ts +89 -33
  396. package/src/internal/dateTime.ts +14 -14
  397. package/src/internal/effect.ts +29 -121
  398. package/src/internal/hashMap.ts +4 -3
  399. package/src/internal/option.ts +7 -0
  400. package/src/internal/trie.ts +6 -6
  401. package/src/unstable/ai/AiError.ts +1 -1
  402. package/src/unstable/ai/AnthropicStructuredOutput.ts +4 -0
  403. package/src/unstable/ai/Chat.ts +6 -2
  404. package/src/unstable/ai/OpenAiStructuredOutput.ts +4 -0
  405. package/src/unstable/ai/Tool.ts +20 -0
  406. package/src/unstable/cli/Argument.ts +2 -4
  407. package/src/unstable/cli/CliOutput.ts +7 -5
  408. package/src/unstable/cli/Command.ts +5 -5
  409. package/src/unstable/cli/Flag.ts +2 -2
  410. package/src/unstable/cli/HelpDoc.ts +14 -12
  411. package/src/unstable/cli/Param.ts +15 -11
  412. package/src/unstable/cli/Primitive.ts +1 -1
  413. package/src/unstable/cli/Prompt.ts +81 -83
  414. package/src/unstable/cli/internal/completions/CommandDescriptor.ts +3 -2
  415. package/src/unstable/cli/internal/parser.ts +7 -4
  416. package/src/unstable/cluster/ClusterWorkflowEngine.ts +35 -30
  417. package/src/unstable/cluster/Entity.ts +13 -12
  418. package/src/unstable/cluster/Message.ts +6 -5
  419. package/src/unstable/cluster/MessageStorage.ts +26 -25
  420. package/src/unstable/cluster/Reply.ts +7 -4
  421. package/src/unstable/cluster/RunnerServer.ts +10 -13
  422. package/src/unstable/cluster/Runners.ts +8 -7
  423. package/src/unstable/cluster/Sharding.ts +24 -17
  424. package/src/unstable/cluster/ShardingConfig.ts +6 -6
  425. package/src/unstable/cluster/SqlMessageStorage.ts +21 -18
  426. package/src/unstable/cluster/internal/entityManager.ts +27 -21
  427. package/src/unstable/devtools/DevToolsSchema.ts +3 -2
  428. package/src/unstable/http/Cookies.ts +7 -8
  429. package/src/unstable/http/Etag.ts +5 -3
  430. package/src/unstable/http/Headers.ts +6 -5
  431. package/src/unstable/http/HttpClient.ts +2 -1
  432. package/src/unstable/http/HttpClientRequest.ts +11 -9
  433. package/src/unstable/http/HttpClientResponse.ts +3 -2
  434. package/src/unstable/http/HttpIncomingMessage.ts +2 -1
  435. package/src/unstable/http/HttpMiddleware.ts +16 -15
  436. package/src/unstable/http/HttpPlatform.ts +3 -2
  437. package/src/unstable/http/HttpRouter.ts +9 -9
  438. package/src/unstable/http/HttpServer.ts +3 -9
  439. package/src/unstable/http/HttpServerError.ts +3 -2
  440. package/src/unstable/http/HttpServerRequest.ts +25 -21
  441. package/src/unstable/http/HttpServerResponse.ts +5 -4
  442. package/src/unstable/http/HttpTraceContext.ts +31 -17
  443. package/src/unstable/http/UrlParams.ts +11 -14
  444. package/src/unstable/httpapi/HttpApiBuilder.ts +9 -3
  445. package/src/unstable/httpapi/HttpApiError.ts +67 -12
  446. package/src/unstable/observability/OtlpExporter.ts +5 -2
  447. package/src/unstable/observability/OtlpTracer.ts +8 -4
  448. package/src/unstable/reactivity/Atom.ts +1 -4
  449. package/src/unstable/reactivity/AtomRegistry.ts +5 -3
  450. package/src/unstable/rpc/Rpc.ts +4 -3
  451. package/src/unstable/rpc/RpcClient.ts +10 -9
  452. package/src/unstable/rpc/RpcSchema.ts +6 -5
  453. package/src/unstable/rpc/RpcSerialization.ts +4 -1
  454. package/src/unstable/rpc/RpcServer.ts +3 -3
  455. package/src/unstable/socket/Socket.ts +2 -1
  456. package/src/unstable/sql/SqlClient.ts +5 -3
  457. package/src/unstable/workflow/DurableDeferred.ts +6 -6
  458. package/src/unstable/workflow/Workflow.ts +1 -1
  459. package/src/unstable/workflow/WorkflowEngine.ts +29 -20
  460. package/dist/NullOr.d.ts +0 -149
  461. package/dist/NullOr.d.ts.map +0 -1
  462. package/dist/NullOr.js +0 -152
  463. package/dist/NullOr.js.map +0 -1
  464. package/src/NullOr.ts +0 -204
package/src/Stream.ts CHANGED
@@ -3817,7 +3817,7 @@ export const merge: {
3817
3817
  } | undefined
3818
3818
  ): Stream<A | A2, E | E2, R | R2>
3819
3819
  } = dual(
3820
- 2,
3820
+ (args) => isStream(args[0]) && isStream(args[1]),
3821
3821
  <A, E, R, A2, E2, R2>(
3822
3822
  self: Stream<A, E, R>,
3823
3823
  that: Stream<A2, E2, R2>,
package/src/String.ts CHANGED
@@ -10,6 +10,7 @@ import * as Equ from "./Equivalence.ts"
10
10
  import { dual } from "./Function.ts"
11
11
  import * as readonlyArray from "./internal/array.ts"
12
12
  import * as number from "./Number.ts"
13
+ import * as Option from "./Option.ts"
13
14
  import * as order from "./Order.ts"
14
15
  import type * as Ordering from "./Ordering.ts"
15
16
  import type { Refinement } from "./Predicate.ts"
@@ -534,15 +535,15 @@ export const endsWith = (searchString: string, position?: number) => (self: stri
534
535
  self.endsWith(searchString, position)
535
536
 
536
537
  /**
537
- * Returns the character code at the specified index, or `undefined` if the index is out of bounds.
538
+ * Returns the character code at the specified index, or `None` if the index is out of bounds.
538
539
  *
539
540
  * **Example**
540
541
  *
541
542
  * ```ts
542
543
  * import { String } from "effect"
543
544
  *
544
- * String.charCodeAt("abc", 1) // 98
545
- * String.charCodeAt("abc", 4) // undefined
545
+ * String.charCodeAt("abc", 1) // Option.some(98)
546
+ * String.charCodeAt("abc", 4) // Option.none()
546
547
  * ```
547
548
  *
548
549
  * @category elements
@@ -550,43 +551,41 @@ export const endsWith = (searchString: string, position?: number) => (self: stri
550
551
  */
551
552
  export const charCodeAt: {
552
553
  /**
553
- * Returns the character code at the specified index, or `undefined` if the index is out of bounds.
554
+ * Returns the character code at the specified index, or `None` if the index is out of bounds.
554
555
  *
555
556
  * **Example**
556
557
  *
557
558
  * ```ts
558
559
  * import { String } from "effect"
559
560
  *
560
- * String.charCodeAt("abc", 1) // 98
561
- * String.charCodeAt("abc", 4) // undefined
561
+ * String.charCodeAt("abc", 1) // Option.some(98)
562
+ * String.charCodeAt("abc", 4) // Option.none()
562
563
  * ```
563
564
  *
564
565
  * @category elements
565
566
  * @since 2.0.0
566
567
  */
567
- (index: number): (self: string) => number | undefined
568
+ (index: number): (self: string) => Option.Option<number>
568
569
  /**
569
- * Returns the character code at the specified index, or `undefined` if the index is out of bounds.
570
+ * Returns the character code at the specified index, or `None` if the index is out of bounds.
570
571
  *
571
572
  * **Example**
572
573
  *
573
574
  * ```ts
574
575
  * import { String } from "effect"
575
576
  *
576
- * String.charCodeAt("abc", 1) // 98
577
- * String.charCodeAt("abc", 4) // undefined
577
+ * String.charCodeAt("abc", 1) // Option.some(98)
578
+ * String.charCodeAt("abc", 4) // Option.none()
578
579
  * ```
579
580
  *
580
581
  * @category elements
581
582
  * @since 2.0.0
582
583
  */
583
- (self: string, index: number): number | undefined
584
+ (self: string, index: number): Option.Option<number>
584
585
  } = dual(
585
586
  2,
586
- (self: string, index: number): number | undefined => {
587
- const out = self.charCodeAt(index)
588
- return isNaN(out) ? undefined : out
589
- }
587
+ (self: string, index: number): Option.Option<number> =>
588
+ Option.filter(Option.some(self.charCodeAt(index)), (charCode) => !isNaN(charCode))
590
589
  )
591
590
 
592
591
  /**
@@ -607,23 +606,54 @@ export const charCodeAt: {
607
606
  export const substring = (start: number, end?: number) => (self: string): string => self.substring(start, end)
608
607
 
609
608
  /**
610
- * A `pipe`-able version of the native `charAt` method.
609
+ * Returns the character at the specified index, or `None` if the index is out of bounds.
611
610
  *
612
611
  * **Example**
613
612
  *
614
613
  * ```ts
615
614
  * import { pipe, String } from "effect"
616
615
  *
617
- * pipe("abc", String.at(1)) // "b"
618
- * pipe("abc", String.at(4)) // undefined
616
+ * pipe("abc", String.at(1)) // Option.some("b")
617
+ * pipe("abc", String.at(4)) // Option.none()
619
618
  * ```
620
619
  *
621
620
  * @category elements
622
621
  * @since 2.0.0
623
622
  */
624
- export const at = (index: number) => (self: string): string | undefined => {
625
- return self.charAt(index)
626
- }
623
+ export const at: {
624
+ /**
625
+ * Returns the character at the specified index, or `None` if the index is out of bounds.
626
+ *
627
+ * **Example**
628
+ *
629
+ * ```ts
630
+ * import { pipe, String } from "effect"
631
+ *
632
+ * pipe("abc", String.at(1)) // Option.some("b")
633
+ * pipe("abc", String.at(4)) // Option.none()
634
+ * ```
635
+ *
636
+ * @category elements
637
+ * @since 2.0.0
638
+ */
639
+ (index: number): (self: string) => Option.Option<string>
640
+ /**
641
+ * Returns the character at the specified index, or `None` if the index is out of bounds.
642
+ *
643
+ * **Example**
644
+ *
645
+ * ```ts
646
+ * import { pipe, String } from "effect"
647
+ *
648
+ * pipe("abc", String.at(1)) // Option.some("b")
649
+ * pipe("abc", String.at(4)) // Option.none()
650
+ * ```
651
+ *
652
+ * @category elements
653
+ * @since 2.0.0
654
+ */
655
+ (self: string, index: number): Option.Option<string>
656
+ } = dual(2, (self: string, index: number): Option.Option<string> => Option.fromUndefinedOr(self.at(index)))
627
657
 
628
658
  /**
629
659
  * Returns the character at the specified index, or `None` if the index is out of bounds.
@@ -633,8 +663,8 @@ export const at = (index: number) => (self: string): string | undefined => {
633
663
  * ```ts
634
664
  * import { pipe, String } from "effect"
635
665
  *
636
- * pipe("abc", String.charAt(1)) // "b"
637
- * pipe("abc", String.charAt(4)) // undefined
666
+ * pipe("abc", String.charAt(1)) // Option.some("b")
667
+ * pipe("abc", String.charAt(4)) // Option.none()
638
668
  * ```
639
669
  *
640
670
  * @category elements
@@ -649,14 +679,14 @@ export const charAt: {
649
679
  * ```ts
650
680
  * import { pipe, String } from "effect"
651
681
  *
652
- * pipe("abc", String.charAt(1)) // "b"
653
- * pipe("abc", String.charAt(4)) // undefined
682
+ * pipe("abc", String.charAt(1)) // Option.some("b")
683
+ * pipe("abc", String.charAt(4)) // Option.none()
654
684
  * ```
655
685
  *
656
686
  * @category elements
657
687
  * @since 2.0.0
658
688
  */
659
- (index: number): (self: string) => string | undefined
689
+ (index: number): (self: string) => Option.Option<string>
660
690
  /**
661
691
  * Returns the character at the specified index, or `None` if the index is out of bounds.
662
692
  *
@@ -665,40 +695,68 @@ export const charAt: {
665
695
  * ```ts
666
696
  * import { pipe, String } from "effect"
667
697
  *
668
- * pipe("abc", String.charAt(1)) // "b"
669
- * pipe("abc", String.charAt(4)) // undefined
698
+ * pipe("abc", String.charAt(1)) // Option.some("b")
699
+ * pipe("abc", String.charAt(4)) // Option.none()
670
700
  * ```
671
701
  *
672
702
  * @category elements
673
703
  * @since 2.0.0
674
704
  */
675
- (self: string, index: number): string | undefined
705
+ (self: string, index: number): Option.Option<string>
676
706
  } = dual(
677
707
  2,
678
- (self: string, index: number): string | undefined => {
679
- const out = self.charAt(index)
680
- return isNonEmpty(out) ? out : undefined
681
- }
708
+ (self: string, index: number): Option.Option<string> => Option.filter(Option.some(self.charAt(index)), isNonEmpty)
682
709
  )
683
710
 
684
711
  /**
685
- * A `pipe`-able version of the native `codePointAt` method.
712
+ * Returns the Unicode code point at the specified index, or `None` if the index is out of bounds.
686
713
  *
687
714
  * **Example**
688
715
  *
689
716
  * ```ts
690
717
  * import { pipe, String } from "effect"
691
718
  *
692
- * pipe("abc", String.codePointAt(1)) // 98
693
- * pipe("abc", String.codePointAt(10)) // undefined
719
+ * pipe("abc", String.codePointAt(1)) // Option.some(98)
720
+ * pipe("abc", String.codePointAt(10)) // Option.none()
694
721
  * ```
695
722
  *
696
723
  * @category elements
697
724
  * @since 2.0.0
698
725
  */
699
- export const codePointAt = (index: number) => (self: string): number | undefined => {
700
- return self.codePointAt(index)
701
- }
726
+ export const codePointAt: {
727
+ /**
728
+ * Returns the Unicode code point at the specified index, or `None` if the index is out of bounds.
729
+ *
730
+ * **Example**
731
+ *
732
+ * ```ts
733
+ * import { pipe, String } from "effect"
734
+ *
735
+ * pipe("abc", String.codePointAt(1)) // Option.some(98)
736
+ * pipe("abc", String.codePointAt(10)) // Option.none()
737
+ * ```
738
+ *
739
+ * @category elements
740
+ * @since 2.0.0
741
+ */
742
+ (index: number): (self: string) => Option.Option<number>
743
+ /**
744
+ * Returns the Unicode code point at the specified index, or `None` if the index is out of bounds.
745
+ *
746
+ * **Example**
747
+ *
748
+ * ```ts
749
+ * import { pipe, String } from "effect"
750
+ *
751
+ * pipe("abc", String.codePointAt(1)) // Option.some(98)
752
+ * pipe("abc", String.codePointAt(10)) // Option.none()
753
+ * ```
754
+ *
755
+ * @category elements
756
+ * @since 2.0.0
757
+ */
758
+ (self: string, index: number): Option.Option<number>
759
+ } = dual(2, (self: string, index: number): Option.Option<number> => Option.fromUndefinedOr(self.codePointAt(index)))
702
760
 
703
761
  /**
704
762
  * Returns the index of the first occurrence of a substring, or `None` if not found.
@@ -708,17 +766,15 @@ export const codePointAt = (index: number) => (self: string): number | undefined
708
766
  * ```ts
709
767
  * import { pipe, String } from "effect"
710
768
  *
711
- * pipe("abbbc", String.indexOf("b")) // 1
712
- * pipe("abbbc", String.indexOf("z")) // undefined
769
+ * pipe("abbbc", String.indexOf("b")) // Option.some(1)
770
+ * pipe("abbbc", String.indexOf("z")) // Option.none()
713
771
  * ```
714
772
  *
715
773
  * @category searching
716
774
  * @since 2.0.0
717
775
  */
718
- export const indexOf = (searchString: string) => (self: string): number | undefined => {
719
- const out = self.indexOf(searchString)
720
- return out >= 0 ? out : undefined
721
- }
776
+ export const indexOf = (searchString: string) => (self: string): Option.Option<number> =>
777
+ Option.filter(Option.some(self.indexOf(searchString)), number.isGreaterThanOrEqualTo(0))
722
778
 
723
779
  /**
724
780
  * Returns the index of the last occurrence of a substring, or `None` if not found.
@@ -728,17 +784,15 @@ export const indexOf = (searchString: string) => (self: string): number | undefi
728
784
  * ```ts
729
785
  * import { pipe, String } from "effect"
730
786
  *
731
- * pipe("abbbc", String.lastIndexOf("b")) // 3
732
- * pipe("abbbc", String.lastIndexOf("d")) // undefined
787
+ * pipe("abbbc", String.lastIndexOf("b")) // Option.some(3)
788
+ * pipe("abbbc", String.lastIndexOf("d")) // Option.none()
733
789
  * ```
734
790
  *
735
791
  * @category searching
736
792
  * @since 2.0.0
737
793
  */
738
- export const lastIndexOf = (searchString: string) => (self: string): number | undefined => {
739
- const out = self.lastIndexOf(searchString)
740
- return out >= 0 ? out : undefined
741
- }
794
+ export const lastIndexOf = (searchString: string) => (self: string): Option.Option<number> =>
795
+ Option.filter(Option.some(self.lastIndexOf(searchString)), number.isGreaterThanOrEqualTo(0))
742
796
 
743
797
  /**
744
798
  * Compares two strings according to the current locale.
@@ -768,14 +822,15 @@ export const localeCompare =
768
822
  * ```ts
769
823
  * import { pipe, String } from "effect"
770
824
  *
771
- * pipe("hello", String.match(/l+/)) // ["ll"]
772
- * pipe("hello", String.match(/x/)) // null
825
+ * pipe("hello", String.match(/l+/)) // Option.some(["ll"])
826
+ * pipe("hello", String.match(/x/)) // Option.none()
773
827
  * ```
774
828
  *
775
829
  * @category searching
776
830
  * @since 2.0.0
777
831
  */
778
- export const match = (regExp: RegExp | string) => (self: string): RegExpMatchArray | null => self.match(regExp)
832
+ export const match = (regExp: RegExp | string) => (self: string): Option.Option<RegExpMatchArray> =>
833
+ Option.fromNullOr(self.match(regExp))
779
834
 
780
835
  /**
781
836
  * It is the `pipe`-able version of the native `matchAll` method.
@@ -896,9 +951,9 @@ export const replaceAll = (searchValue: string | RegExp, replaceValue: string) =
896
951
  * ```ts
897
952
  * import { String } from "effect"
898
953
  *
899
- * String.search("ababb", "b") // 1
900
- * String.search("ababb", "/abb/") // 2
901
- * String.search("ababb", "d") // undefined
954
+ * String.search("ababb", "b") // Option.some(1)
955
+ * String.search("ababb", /abb/) // Option.some(2)
956
+ * String.search("ababb", "d") // Option.none()
902
957
  * ```
903
958
  *
904
959
  * @category searching
@@ -913,15 +968,15 @@ export const search: {
913
968
  * ```ts
914
969
  * import { String } from "effect"
915
970
  *
916
- * String.search("ababb", "b") // 1
917
- * String.search("ababb", "/abb/") // 2
918
- * String.search("ababb", "d") // undefined
971
+ * String.search("ababb", "b") // Option.some(1)
972
+ * String.search("ababb", /abb/) // Option.some(2)
973
+ * String.search("ababb", "d") // Option.none()
919
974
  * ```
920
975
  *
921
976
  * @category searching
922
977
  * @since 2.0.0
923
978
  */
924
- (regExp: RegExp | string): (self: string) => number | undefined
979
+ (regExp: RegExp | string): (self: string) => Option.Option<number>
925
980
  /**
926
981
  * Searches for a match between a regular expression and the string.
927
982
  *
@@ -930,21 +985,19 @@ export const search: {
930
985
  * ```ts
931
986
  * import { String } from "effect"
932
987
  *
933
- * String.search("ababb", "b") // 1
934
- * String.search("ababb", "/abb/") // 2
935
- * String.search("ababb", "d") // undefined
988
+ * String.search("ababb", "b") // Option.some(1)
989
+ * String.search("ababb", /abb/) // Option.some(2)
990
+ * String.search("ababb", "d") // Option.none()
936
991
  * ```
937
992
  *
938
993
  * @category searching
939
994
  * @since 2.0.0
940
995
  */
941
- (self: string, regExp: RegExp | string): number | undefined
996
+ (self: string, regExp: RegExp | string): Option.Option<number>
942
997
  } = dual(
943
998
  2,
944
- (self: string, regExp: RegExp | string): number | undefined => {
945
- const out = self.search(regExp)
946
- return out >= 0 ? out : undefined
947
- }
999
+ (self: string, regExp: RegExp | string): Option.Option<number> =>
1000
+ Option.filter(Option.some(self.search(regExp)), number.isGreaterThanOrEqualTo(0))
948
1001
  )
949
1002
 
950
1003
  /**