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
@@ -1 +1 @@
1
- {"version":3,"file":"Record.js","names":["Equal","dual","identity","Option","Reducer","R","empty","isEmptyRecord","self","Object","keys","length","isEmptyReadonlyRecord","fromIterableWith","f","out","a","k","b","fromIterableBy","items","fromEntries","collect","key","push","toEntries","value","size","has","hasOwn","get","some","none","modify","undefined","replace","remove","pop","map","mapKeys","mapEntries","filterMap","result","isSuccess","success","filter","predicate","getSomes","option","isSome","getFailures","isFailure","failure","getSuccesses","partition","left","right","e","separate","values","_","set","isSubrecordBy","equivalence","that","isSubrecord","asEquivalence","reduce","zero","every","refinement","union","combine","intersection","difference","makeEquivalence","is","singleton","makeReducerUnion","combiner","make","makeReducerIntersection","findFirst","i"],"sources":["../src/Record.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Record.js","names":["Equal","dual","identity","Option","Reducer","R","empty","isEmptyRecord","self","Object","keys","length","isEmptyReadonlyRecord","fromIterableWith","f","out","a","k","b","fromIterableBy","items","fromEntries","collect","key","push","toEntries","value","size","has","hasOwn","get","some","none","modify","replace","remove","pop","map","mapKeys","mapEntries","filterMap","result","isSuccess","success","filter","predicate","getSomes","option","isSome","getFailures","isFailure","failure","getSuccesses","partition","left","right","e","separate","values","_","set","isSubrecordBy","equivalence","that","isSubrecord","asEquivalence","reduce","zero","every","refinement","union","combine","intersection","difference","makeEquivalence","is","singleton","makeReducerUnion","combiner","make","makeReducerIntersection","findFirst","i"],"sources":["../src/Record.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -18,8 +18,16 @@ import * as ServiceMap from "./ServiceMap.ts";
18
18
  */
19
19
  export interface Scheduler {
20
20
  readonly executionMode: "sync" | "async";
21
- readonly scheduleTask: (task: () => void, priority: number) => void;
22
- readonly shouldYield: (fiber: Fiber.Fiber<unknown, unknown>) => boolean;
21
+ shouldYield(fiber: Fiber.Fiber<unknown, unknown>): boolean;
22
+ makeDispatcher(): SchedulerDispatcher;
23
+ }
24
+ /**
25
+ * @since 4.0.0
26
+ * @category models
27
+ */
28
+ export interface SchedulerDispatcher {
29
+ scheduleTask(task: () => void, priority: number): void;
30
+ flush(): void;
23
31
  }
24
32
  /**
25
33
  * @since 4.0.0
@@ -37,59 +45,39 @@ export declare const Scheduler: ServiceMap.Reference<Scheduler>;
37
45
  * - Automatic yielding based on operation count
38
46
  * - Optimized for high-throughput scenarios
39
47
  *
40
- * @example
41
- * ```ts
42
- * import { MixedScheduler } from "effect/Scheduler"
43
- *
44
- * // Create a mixed scheduler with async execution (default)
45
- * const asyncScheduler = new MixedScheduler("async")
46
- *
47
- * // Create a mixed scheduler with sync execution
48
- * const syncScheduler = new MixedScheduler("sync")
49
- *
50
- * // Schedule tasks with different priorities
51
- * asyncScheduler.scheduleTask(() => console.log("High priority task"), 10)
52
- * asyncScheduler.scheduleTask(() => console.log("Normal priority task"), 0)
53
- * asyncScheduler.scheduleTask(() => console.log("Low priority task"), -1)
54
- *
55
- * // For sync scheduler, you can flush tasks immediately
56
- * syncScheduler.scheduleTask(() => console.log("Task 1"), 0)
57
- * syncScheduler.scheduleTask(() => console.log("Task 2"), 0)
58
- *
59
- * // Force flush all pending tasks in sync mode
60
- * syncScheduler.flush()
61
- * // Output: "Task 1", "Task 2"
62
- *
63
- * // Check execution mode
64
- * console.log(asyncScheduler.executionMode) // "async"
65
- * console.log(syncScheduler.executionMode) // "sync"
66
- * ```
67
- *
68
48
  * @since 2.0.0
69
49
  * @category schedulers
70
50
  */
71
51
  export declare class MixedScheduler implements Scheduler {
72
- private tasks;
73
- private running;
74
52
  readonly executionMode: "sync" | "async";
75
53
  readonly setImmediate: (f: () => void) => () => void;
76
54
  constructor(executionMode?: "sync" | "async", setImmediateFn?: (f: () => void) => () => void);
77
55
  /**
78
56
  * @since 2.0.0
79
57
  */
80
- scheduleTask(task: () => void, priority: number): void;
58
+ shouldYield(fiber: Fiber.Fiber<unknown, unknown>): boolean;
81
59
  /**
82
60
  * @since 2.0.0
83
61
  */
84
- afterScheduled: () => void;
62
+ makeDispatcher(): MixedSchedulerDispatcher;
63
+ }
64
+ declare class MixedSchedulerDispatcher implements SchedulerDispatcher {
65
+ private tasks;
66
+ private running;
67
+ readonly setImmediate: (f: () => void) => () => void;
68
+ constructor(setImmediateFn?: (f: () => void) => () => void);
85
69
  /**
86
70
  * @since 2.0.0
87
71
  */
88
- runTasks(): void;
72
+ scheduleTask(task: () => void, priority: number): void;
89
73
  /**
90
74
  * @since 2.0.0
91
75
  */
92
- shouldYield(fiber: Fiber.Fiber<unknown, unknown>): boolean;
76
+ afterScheduled: () => void;
77
+ /**
78
+ * @since 2.0.0
79
+ */
80
+ runTasks(): void;
93
81
  /**
94
82
  * @since 2.0.0
95
83
  */
@@ -103,93 +91,6 @@ export declare class MixedScheduler implements Scheduler {
103
91
  * The default value is 2048 operations, which provides a good balance between
104
92
  * performance and fairness in concurrent execution.
105
93
  *
106
- * @example
107
- * ```ts
108
- * import { Effect } from "effect"
109
- * import { MaxOpsBeforeYield } from "effect/Scheduler"
110
- *
111
- * // Configure a fiber to yield more frequently
112
- * const program = Effect.gen(function*() {
113
- * // Get current max ops setting (default is 2048)
114
- * const currentMax = yield* MaxOpsBeforeYield
115
- * yield* Effect.log(`Default max ops before yield: ${currentMax}`)
116
- *
117
- * // Run with reduced max ops for more frequent yielding
118
- * return yield* Effect.provideService(
119
- * Effect.gen(function*() {
120
- * const maxOps = yield* MaxOpsBeforeYield
121
- * yield* Effect.log(`Max ops before yield: ${maxOps}`)
122
- *
123
- * // Run a compute-intensive task that will yield frequently
124
- * let result = 0
125
- * for (let i = 0; i < 10000; i++) {
126
- * result += i
127
- * // This will cause yielding every 100 operations
128
- * yield* Effect.sync(() => result)
129
- * }
130
- * return result
131
- * }),
132
- * MaxOpsBeforeYield,
133
- * 100
134
- * )
135
- * })
136
- *
137
- * // Configure for high-performance scenarios
138
- * const highPerformanceProgram = Effect.gen(function*() {
139
- * // Run with increased max ops for better performance (less yielding)
140
- * return yield* Effect.provideService(
141
- * Effect.gen(function*() {
142
- * const maxOps = yield* MaxOpsBeforeYield
143
- * yield* Effect.log(`High-performance max ops: ${maxOps}`)
144
- *
145
- * // Run multiple concurrent tasks
146
- * const tasks = Array.from(
147
- * { length: 100 },
148
- * (_, i) =>
149
- * Effect.gen(function*() {
150
- * yield* Effect.sleep(`${i * 10} millis`)
151
- * return `Task ${i} completed`
152
- * })
153
- * )
154
- *
155
- * return yield* Effect.all(tasks, { concurrency: "unbounded" })
156
- * }),
157
- * MaxOpsBeforeYield,
158
- * 10000
159
- * )
160
- * })
161
- *
162
- * // Configure for fair scheduling
163
- * const fairSchedulingProgram = Effect.gen(function*() {
164
- * // Run with lower max ops for more frequent yielding
165
- * return yield* Effect.provideService(
166
- * Effect.gen(function*() {
167
- * const maxOps = yield* MaxOpsBeforeYield
168
- * yield* Effect.log(`Fair scheduling max ops: ${maxOps}`)
169
- *
170
- * const longRunningTask = Effect.gen(function*() {
171
- * for (let i = 0; i < 1000; i++) {
172
- * yield* Effect.sync(() => Math.random())
173
- * }
174
- * return "Long task completed"
175
- * })
176
- *
177
- * const quickTask = Effect.gen(function*() {
178
- * yield* Effect.sleep("10 millis")
179
- * return "Quick task completed"
180
- * })
181
- *
182
- * // Both tasks will execute fairly due to frequent yielding
183
- * return yield* Effect.all([longRunningTask, quickTask], {
184
- * concurrency: "unbounded"
185
- * })
186
- * }),
187
- * MaxOpsBeforeYield,
188
- * 50
189
- * )
190
- * })
191
- * ```
192
- *
193
94
  * @since 4.0.0
194
95
  * @category references
195
96
  */
@@ -203,4 +104,5 @@ export declare const MaxOpsBeforeYield: ServiceMap.Reference<number>;
203
104
  * @category references
204
105
  */
205
106
  export declare const PreventSchedulerYield: ServiceMap.Reference<boolean>;
107
+ export {};
206
108
  //# sourceMappingURL=Scheduler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Scheduler.d.ts","sourceRoot":"","sources":["../src/Scheduler.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAA;IACxC,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACnE,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;CACxE;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAEpD,CAAA;AA0CF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,qBAAa,cAAe,YAAW,SAAS;IAC9C,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,OAAO,CAAsC;IACrD,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAA;IACxC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAA;gBAGlD,aAAa,GAAE,MAAM,GAAG,OAAiB,EACzC,cAAc,GAAE,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,MAAM,IAAmB;IAM9D;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,QAAQ,EAAE,MAAM;IAO/C;;OAEG;IACH,cAAc,aAGb;IAED;;OAEG;IACH,QAAQ;IAUR;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAIhD;;OAEG;IACH,KAAK;CASN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiGG;AACH,eAAO,MAAM,iBAAiB,8BAE5B,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,+BAEhC,CAAA"}
1
+ {"version":3,"file":"Scheduler.d.ts","sourceRoot":"","sources":["../src/Scheduler.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAA;IACxC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;IAC1D,cAAc,IAAI,mBAAmB,CAAA;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACtD,KAAK,IAAI,IAAI,CAAA;CACd;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAEpD,CAAA;AA0CF;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAe,YAAW,SAAS;IAC9C,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAA;IACxC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAA;gBAGlD,aAAa,GAAE,MAAM,GAAG,OAAiB,EACzC,cAAc,GAAE,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,MAAM,IAAmB;IAM9D;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAIhD;;OAEG;IACH,cAAc;CAGf;AAED,cAAM,wBAAyB,YAAW,mBAAmB;IAC3D,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,OAAO,CAAsC;IACrD,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAA;gBAGlD,cAAc,GAAE,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,MAAM,IAAmB;IAK9D;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,QAAQ,EAAE,MAAM;IAO/C;;OAEG;IACH,cAAc,aAGb;IAED;;OAEG;IACH,QAAQ;IAUR;;OAEG;IACH,KAAK;CASN;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,8BAE5B,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,+BAEhC,CAAA"}
package/dist/Scheduler.js CHANGED
@@ -51,46 +51,36 @@ class PriorityBuckets {
51
51
  * - Automatic yielding based on operation count
52
52
  * - Optimized for high-throughput scenarios
53
53
  *
54
- * @example
55
- * ```ts
56
- * import { MixedScheduler } from "effect/Scheduler"
57
- *
58
- * // Create a mixed scheduler with async execution (default)
59
- * const asyncScheduler = new MixedScheduler("async")
60
- *
61
- * // Create a mixed scheduler with sync execution
62
- * const syncScheduler = new MixedScheduler("sync")
63
- *
64
- * // Schedule tasks with different priorities
65
- * asyncScheduler.scheduleTask(() => console.log("High priority task"), 10)
66
- * asyncScheduler.scheduleTask(() => console.log("Normal priority task"), 0)
67
- * asyncScheduler.scheduleTask(() => console.log("Low priority task"), -1)
68
- *
69
- * // For sync scheduler, you can flush tasks immediately
70
- * syncScheduler.scheduleTask(() => console.log("Task 1"), 0)
71
- * syncScheduler.scheduleTask(() => console.log("Task 2"), 0)
72
- *
73
- * // Force flush all pending tasks in sync mode
74
- * syncScheduler.flush()
75
- * // Output: "Task 1", "Task 2"
76
- *
77
- * // Check execution mode
78
- * console.log(asyncScheduler.executionMode) // "async"
79
- * console.log(syncScheduler.executionMode) // "sync"
80
- * ```
81
- *
82
54
  * @since 2.0.0
83
55
  * @category schedulers
84
56
  */
85
57
  export class MixedScheduler {
86
- tasks = /*#__PURE__*/new PriorityBuckets();
87
- running = undefined;
88
58
  executionMode;
89
59
  setImmediate;
90
60
  constructor(executionMode = "async", setImmediateFn = setImmediate) {
91
61
  this.executionMode = executionMode;
92
62
  this.setImmediate = setImmediateFn;
93
63
  }
64
+ /**
65
+ * @since 2.0.0
66
+ */
67
+ shouldYield(fiber) {
68
+ return fiber.currentOpCount >= fiber.maxOpsBeforeYield;
69
+ }
70
+ /**
71
+ * @since 2.0.0
72
+ */
73
+ makeDispatcher() {
74
+ return new MixedSchedulerDispatcher(this.setImmediate);
75
+ }
76
+ }
77
+ class MixedSchedulerDispatcher {
78
+ tasks = /*#__PURE__*/new PriorityBuckets();
79
+ running = undefined;
80
+ setImmediate;
81
+ constructor(setImmediateFn = setImmediate) {
82
+ this.setImmediate = setImmediateFn;
83
+ }
94
84
  /**
95
85
  * @since 2.0.0
96
86
  */
@@ -119,12 +109,6 @@ export class MixedScheduler {
119
109
  }
120
110
  }
121
111
  }
122
- /**
123
- * @since 2.0.0
124
- */
125
- shouldYield(fiber) {
126
- return fiber.currentOpCount >= fiber.maxOpsBeforeYield;
127
- }
128
112
  /**
129
113
  * @since 2.0.0
130
114
  */
@@ -146,93 +130,6 @@ export class MixedScheduler {
146
130
  * The default value is 2048 operations, which provides a good balance between
147
131
  * performance and fairness in concurrent execution.
148
132
  *
149
- * @example
150
- * ```ts
151
- * import { Effect } from "effect"
152
- * import { MaxOpsBeforeYield } from "effect/Scheduler"
153
- *
154
- * // Configure a fiber to yield more frequently
155
- * const program = Effect.gen(function*() {
156
- * // Get current max ops setting (default is 2048)
157
- * const currentMax = yield* MaxOpsBeforeYield
158
- * yield* Effect.log(`Default max ops before yield: ${currentMax}`)
159
- *
160
- * // Run with reduced max ops for more frequent yielding
161
- * return yield* Effect.provideService(
162
- * Effect.gen(function*() {
163
- * const maxOps = yield* MaxOpsBeforeYield
164
- * yield* Effect.log(`Max ops before yield: ${maxOps}`)
165
- *
166
- * // Run a compute-intensive task that will yield frequently
167
- * let result = 0
168
- * for (let i = 0; i < 10000; i++) {
169
- * result += i
170
- * // This will cause yielding every 100 operations
171
- * yield* Effect.sync(() => result)
172
- * }
173
- * return result
174
- * }),
175
- * MaxOpsBeforeYield,
176
- * 100
177
- * )
178
- * })
179
- *
180
- * // Configure for high-performance scenarios
181
- * const highPerformanceProgram = Effect.gen(function*() {
182
- * // Run with increased max ops for better performance (less yielding)
183
- * return yield* Effect.provideService(
184
- * Effect.gen(function*() {
185
- * const maxOps = yield* MaxOpsBeforeYield
186
- * yield* Effect.log(`High-performance max ops: ${maxOps}`)
187
- *
188
- * // Run multiple concurrent tasks
189
- * const tasks = Array.from(
190
- * { length: 100 },
191
- * (_, i) =>
192
- * Effect.gen(function*() {
193
- * yield* Effect.sleep(`${i * 10} millis`)
194
- * return `Task ${i} completed`
195
- * })
196
- * )
197
- *
198
- * return yield* Effect.all(tasks, { concurrency: "unbounded" })
199
- * }),
200
- * MaxOpsBeforeYield,
201
- * 10000
202
- * )
203
- * })
204
- *
205
- * // Configure for fair scheduling
206
- * const fairSchedulingProgram = Effect.gen(function*() {
207
- * // Run with lower max ops for more frequent yielding
208
- * return yield* Effect.provideService(
209
- * Effect.gen(function*() {
210
- * const maxOps = yield* MaxOpsBeforeYield
211
- * yield* Effect.log(`Fair scheduling max ops: ${maxOps}`)
212
- *
213
- * const longRunningTask = Effect.gen(function*() {
214
- * for (let i = 0; i < 1000; i++) {
215
- * yield* Effect.sync(() => Math.random())
216
- * }
217
- * return "Long task completed"
218
- * })
219
- *
220
- * const quickTask = Effect.gen(function*() {
221
- * yield* Effect.sleep("10 millis")
222
- * return "Quick task completed"
223
- * })
224
- *
225
- * // Both tasks will execute fairly due to frequent yielding
226
- * return yield* Effect.all([longRunningTask, quickTask], {
227
- * concurrency: "unbounded"
228
- * })
229
- * }),
230
- * MaxOpsBeforeYield,
231
- * 50
232
- * )
233
- * })
234
- * ```
235
- *
236
133
  * @since 4.0.0
237
134
  * @category references
238
135
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Scheduler.js","names":["ServiceMap","Scheduler","Reference","defaultValue","MixedScheduler","setImmediate","globalThis","f","timer","clearImmediate","setTimeout","clearTimeout","PriorityBuckets","buckets","scheduleTask","task","priority","len","length","bucket","index","push","splice","drain","tasks","running","undefined","executionMode","constructor","setImmediateFn","afterScheduled","runTasks","i","toRun","j","shouldYield","fiber","currentOpCount","maxOpsBeforeYield","flush","MaxOpsBeforeYield","PreventSchedulerYield"],"sources":["../src/Scheduler.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Scheduler.js","names":["ServiceMap","Scheduler","Reference","defaultValue","MixedScheduler","setImmediate","globalThis","f","timer","clearImmediate","setTimeout","clearTimeout","PriorityBuckets","buckets","scheduleTask","task","priority","len","length","bucket","index","push","splice","drain","executionMode","constructor","setImmediateFn","shouldYield","fiber","currentOpCount","maxOpsBeforeYield","makeDispatcher","MixedSchedulerDispatcher","tasks","running","undefined","afterScheduled","runTasks","i","toRun","j","flush","MaxOpsBeforeYield","PreventSchedulerYield"],"sources":["../src/Scheduler.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/Schema.d.ts CHANGED
@@ -4730,6 +4730,36 @@ export interface OptionFromOptional<S extends Top> extends decodeTo<Option<toTyp
4730
4730
  * @since 4.0.0
4731
4731
  */
4732
4732
  export declare function OptionFromOptional<S extends Top>(schema: S): OptionFromOptional<S>;
4733
+ /**
4734
+ * Schema type for {@link OptionFromOptionalNullOr}.
4735
+ *
4736
+ * @category Option
4737
+ * @since 4.0.0
4738
+ */
4739
+ export interface OptionFromOptionalNullOr<S extends Top> extends decodeTo<Option<toType<S>>, optional<NullOr<S>>> {
4740
+ }
4741
+ /**
4742
+ * Decodes an optional or `null` or `undefined` value `A` to a required `Option<A>`
4743
+ * value.
4744
+ *
4745
+ * Decoding:
4746
+ * - a missing key is decoded as `None`
4747
+ * - a present key with an `undefined` value is decoded as `None`
4748
+ * - a present key with a `null` value is decoded as `None`
4749
+ * - all other values are decoded as `Some`
4750
+ *
4751
+ * Encoding (controlled by `options.onNoneEncoding`):
4752
+ * - `"omit"` (default): `None` is encoded as a missing key
4753
+ * - `null`: `None` is encoded as `null`
4754
+ * - `undefined`: `None` is encoded as `undefined`
4755
+ * - `Some` is always encoded as the value
4756
+ *
4757
+ * @category Option
4758
+ * @since 4.0.0
4759
+ */
4760
+ export declare function OptionFromOptionalNullOr<S extends Top>(schema: S, options?: {
4761
+ readonly onNoneEncoding: "omit" | null | undefined;
4762
+ }): OptionFromOptionalNullOr<S>;
4733
4763
  /**
4734
4764
  * Schema for the `Result<A, E>` type, representing a computation that either
4735
4765
  * succeeds with `A` or fails with `E`.