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
@@ -0,0 +1,183 @@
1
+ /**
2
+ * @since 4.0.0
3
+ */
4
+ import * as Effect from "./Effect.ts";
5
+ import * as Option from "./Option.ts";
6
+ /**
7
+ * @since 4.0.0
8
+ * @category models
9
+ */
10
+ export declare const PartitionedTypeId: PartitionedTypeId;
11
+ /**
12
+ * @since 4.0.0
13
+ * @category models
14
+ */
15
+ export type PartitionedTypeId = "~effect/PartitionedSemaphore";
16
+ /**
17
+ * A `PartitionedSemaphore` controls access to a shared permit pool while
18
+ * tracking waiters by partition key.
19
+ *
20
+ * Waiting permits are distributed across partitions in round-robin order.
21
+ *
22
+ * @since 4.0.0
23
+ * @category models
24
+ */
25
+ export interface PartitionedSemaphore<in K> {
26
+ readonly [PartitionedTypeId]: PartitionedTypeId;
27
+ readonly capacity: number;
28
+ readonly available: Effect.Effect<number>;
29
+ readonly take: (key: K, permits: number) => Effect.Effect<void>;
30
+ readonly release: (permits: number) => Effect.Effect<number>;
31
+ readonly withPermits: (key: K, permits: number) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
32
+ readonly withPermit: (key: K) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
33
+ readonly withPermitsIfAvailable: (permits: number) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<Option.Option<A>, E, R>;
34
+ }
35
+ /**
36
+ * @since 4.0.0
37
+ * @category models
38
+ */
39
+ export interface Partitioned<in K> extends PartitionedSemaphore<K> {
40
+ }
41
+ /**
42
+ * Creates a `PartitionedSemaphore` unsafely.
43
+ *
44
+ * @since 4.0.0
45
+ * @category constructors
46
+ */
47
+ export declare const makeUnsafe: <K = unknown>(options: {
48
+ readonly permits: number;
49
+ }) => PartitionedSemaphore<K>;
50
+ /**
51
+ * Creates a `PartitionedSemaphore`.
52
+ *
53
+ * @since 4.0.0
54
+ * @category constructors
55
+ */
56
+ export declare const make: <K = unknown>(options: {
57
+ readonly permits: number;
58
+ }) => Effect.Effect<PartitionedSemaphore<K>>;
59
+ /**
60
+ * Gets the current number of available permits.
61
+ *
62
+ * @since 4.0.0
63
+ * @category combinators
64
+ */
65
+ export declare const available: <K>(self: PartitionedSemaphore<K>) => Effect.Effect<number>;
66
+ /**
67
+ * Gets the total capacity.
68
+ *
69
+ * @since 4.0.0
70
+ * @category getters
71
+ */
72
+ export declare const capacity: <K>(self: PartitionedSemaphore<K>) => number;
73
+ /**
74
+ * Acquires permits for a partition.
75
+ *
76
+ * @since 4.0.0
77
+ * @category combinators
78
+ */
79
+ export declare const take: {
80
+ /**
81
+ * Acquires permits for a partition.
82
+ *
83
+ * @since 4.0.0
84
+ * @category combinators
85
+ */
86
+ <K>(key: K, permits: number): (self: PartitionedSemaphore<K>) => Effect.Effect<void>;
87
+ /**
88
+ * Acquires permits for a partition.
89
+ *
90
+ * @since 4.0.0
91
+ * @category combinators
92
+ */
93
+ <K>(self: PartitionedSemaphore<K>, key: K, permits: number): Effect.Effect<void>;
94
+ };
95
+ /**
96
+ * Releases permits back to the shared pool.
97
+ *
98
+ * @since 4.0.0
99
+ * @category combinators
100
+ */
101
+ export declare const release: {
102
+ /**
103
+ * Releases permits back to the shared pool.
104
+ *
105
+ * @since 4.0.0
106
+ * @category combinators
107
+ */
108
+ (permits: number): <K>(self: PartitionedSemaphore<K>) => Effect.Effect<number>;
109
+ /**
110
+ * Releases permits back to the shared pool.
111
+ *
112
+ * @since 4.0.0
113
+ * @category combinators
114
+ */
115
+ <K>(self: PartitionedSemaphore<K>, permits: number): Effect.Effect<number>;
116
+ };
117
+ /**
118
+ * Runs an effect with permits for a partition.
119
+ *
120
+ * @since 4.0.0
121
+ * @category combinators
122
+ */
123
+ export declare const withPermits: {
124
+ /**
125
+ * Runs an effect with permits for a partition.
126
+ *
127
+ * @since 4.0.0
128
+ * @category combinators
129
+ */
130
+ <K>(self: PartitionedSemaphore<K>, key: K, permits: number): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
131
+ /**
132
+ * Runs an effect with permits for a partition.
133
+ *
134
+ * @since 4.0.0
135
+ * @category combinators
136
+ */
137
+ <K, A, E, R>(self: PartitionedSemaphore<K>, key: K, permits: number, effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>;
138
+ };
139
+ /**
140
+ * Runs an effect with a single permit for a partition.
141
+ *
142
+ * @since 4.0.0
143
+ * @category combinators
144
+ */
145
+ export declare const withPermit: {
146
+ /**
147
+ * Runs an effect with a single permit for a partition.
148
+ *
149
+ * @since 4.0.0
150
+ * @category combinators
151
+ */
152
+ <K>(self: PartitionedSemaphore<K>, key: K): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
153
+ /**
154
+ * Runs an effect with a single permit for a partition.
155
+ *
156
+ * @since 4.0.0
157
+ * @category combinators
158
+ */
159
+ <K, A, E, R>(self: PartitionedSemaphore<K>, key: K, effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>;
160
+ };
161
+ /**
162
+ * Runs an effect only if the permits are immediately available.
163
+ *
164
+ * @since 4.0.0
165
+ * @category combinators
166
+ */
167
+ export declare const withPermitsIfAvailable: {
168
+ /**
169
+ * Runs an effect only if the permits are immediately available.
170
+ *
171
+ * @since 4.0.0
172
+ * @category combinators
173
+ */
174
+ <K>(self: PartitionedSemaphore<K>, permits: number): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<Option.Option<A>, E, R>;
175
+ /**
176
+ * Runs an effect only if the permits are immediately available.
177
+ *
178
+ * @since 4.0.0
179
+ * @category combinators
180
+ */
181
+ <K, A, E, R>(self: PartitionedSemaphore<K>, permits: number, effect: Effect.Effect<A, E, R>): Effect.Effect<Option.Option<A>, E, R>;
182
+ };
183
+ //# sourceMappingURL=PartitionedSemaphore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartitionedSemaphore.d.ts","sourceRoot":"","sources":["../src/PartitionedSemaphore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,231 @@
1
+ /**
2
+ * @since 4.0.0
3
+ */
4
+ import * as Effect from "./Effect.js";
5
+ import { dual } from "./Function.js";
6
+ import * as MutableHashMap from "./MutableHashMap.js";
7
+ import * as Option from "./Option.js";
8
+ /**
9
+ * @since 4.0.0
10
+ * @category models
11
+ */
12
+ export const PartitionedTypeId = "~effect/PartitionedSemaphore";
13
+ /**
14
+ * Creates a `PartitionedSemaphore` unsafely.
15
+ *
16
+ * @since 4.0.0
17
+ * @category constructors
18
+ */
19
+ export const makeUnsafe = options => {
20
+ const maxPermits = Math.max(0, options.permits);
21
+ if (!Number.isFinite(maxPermits)) {
22
+ return {
23
+ [PartitionedTypeId]: PartitionedTypeId,
24
+ capacity: maxPermits,
25
+ available: Effect.succeed(maxPermits),
26
+ take: () => Effect.void,
27
+ release: () => Effect.succeed(maxPermits),
28
+ withPermits: () => effect => effect,
29
+ withPermit: () => effect => effect,
30
+ withPermitsIfAvailable: () => effect => Effect.asSome(effect)
31
+ };
32
+ }
33
+ let totalPermits = maxPermits;
34
+ let waitingPermits = 0;
35
+ const partitions = MutableHashMap.empty();
36
+ let iterator = partitions[Symbol.iterator]();
37
+ const releaseUnsafe = permits => {
38
+ while (permits > 0) {
39
+ if (waitingPermits === 0) {
40
+ totalPermits = Math.min(maxPermits, totalPermits + permits);
41
+ return totalPermits;
42
+ }
43
+ let state = iterator.next();
44
+ if (state.done) {
45
+ iterator = partitions[Symbol.iterator]();
46
+ state = iterator.next();
47
+ if (state.done) {
48
+ return totalPermits;
49
+ }
50
+ }
51
+ const waiter = state.value[1].values().next().value;
52
+ if (waiter === undefined) {
53
+ continue;
54
+ }
55
+ waiter.permits -= 1;
56
+ waitingPermits -= 1;
57
+ if (waiter.permits === 0) {
58
+ waiter.resume();
59
+ }
60
+ permits -= 1;
61
+ }
62
+ return totalPermits;
63
+ };
64
+ const take = (key, permits) => {
65
+ if (permits <= 0) {
66
+ return Effect.void;
67
+ }
68
+ return Effect.callback(resume => {
69
+ if (maxPermits < permits) {
70
+ resume(Effect.never);
71
+ return;
72
+ }
73
+ if (totalPermits >= permits) {
74
+ totalPermits -= permits;
75
+ resume(Effect.void);
76
+ return;
77
+ }
78
+ const needed = permits - totalPermits;
79
+ const taken = permits - needed;
80
+ if (totalPermits > 0) {
81
+ totalPermits = 0;
82
+ }
83
+ waitingPermits += needed;
84
+ const waiters = Option.getOrElse(MutableHashMap.get(partitions, key), () => {
85
+ const set = new Set();
86
+ MutableHashMap.set(partitions, key, set);
87
+ return set;
88
+ });
89
+ const entry = {
90
+ permits: needed,
91
+ resume: () => {
92
+ cleanup();
93
+ resume(Effect.void);
94
+ }
95
+ };
96
+ const cleanup = () => {
97
+ waiters.delete(entry);
98
+ if (waiters.size === 0) {
99
+ MutableHashMap.remove(partitions, key);
100
+ }
101
+ };
102
+ waiters.add(entry);
103
+ return Effect.sync(() => {
104
+ cleanup();
105
+ waitingPermits -= entry.permits;
106
+ if (taken > 0) {
107
+ releaseUnsafe(taken);
108
+ }
109
+ });
110
+ });
111
+ };
112
+ const withPermits = (key, permits) => effect => {
113
+ if (permits <= 0) {
114
+ return effect;
115
+ }
116
+ const takePermits = take(key, permits);
117
+ return Effect.uninterruptibleMask(restore => Effect.flatMap(restore(takePermits), () => Effect.ensuring(restore(effect), Effect.sync(() => {
118
+ releaseUnsafe(permits);
119
+ }))));
120
+ };
121
+ const tryTake = permits => {
122
+ if (permits <= 0) {
123
+ return true;
124
+ }
125
+ if (maxPermits < permits || totalPermits < permits) {
126
+ return false;
127
+ }
128
+ totalPermits -= permits;
129
+ return true;
130
+ };
131
+ return {
132
+ [PartitionedTypeId]: PartitionedTypeId,
133
+ capacity: maxPermits,
134
+ available: Effect.sync(() => totalPermits),
135
+ take,
136
+ release: permits => Effect.sync(() => releaseUnsafe(permits)),
137
+ withPermits,
138
+ withPermit: key => withPermits(key, 1),
139
+ withPermitsIfAvailable: permits => effect => {
140
+ if (permits <= 0) {
141
+ return Effect.asSome(effect);
142
+ }
143
+ return Effect.suspend(() => {
144
+ if (!tryTake(permits)) {
145
+ return Effect.succeed(Option.none());
146
+ }
147
+ return Effect.ensuring(Effect.asSome(effect), Effect.sync(() => {
148
+ releaseUnsafe(permits);
149
+ }));
150
+ });
151
+ }
152
+ };
153
+ };
154
+ /**
155
+ * Creates a `PartitionedSemaphore`.
156
+ *
157
+ * @since 4.0.0
158
+ * @category constructors
159
+ */
160
+ export const make = options => Effect.sync(() => makeUnsafe(options));
161
+ /**
162
+ * Gets the current number of available permits.
163
+ *
164
+ * @since 4.0.0
165
+ * @category combinators
166
+ */
167
+ export const available = self => self.available;
168
+ /**
169
+ * Gets the total capacity.
170
+ *
171
+ * @since 4.0.0
172
+ * @category getters
173
+ */
174
+ export const capacity = self => self.capacity;
175
+ /**
176
+ * Acquires permits for a partition.
177
+ *
178
+ * @since 4.0.0
179
+ * @category combinators
180
+ */
181
+ export const take = /*#__PURE__*/dual(3, (self, key, permits) => self.take(key, permits));
182
+ /**
183
+ * Releases permits back to the shared pool.
184
+ *
185
+ * @since 4.0.0
186
+ * @category combinators
187
+ */
188
+ export const release = /*#__PURE__*/dual(2, (self, permits) => self.release(permits));
189
+ /**
190
+ * Runs an effect with permits for a partition.
191
+ *
192
+ * @since 4.0.0
193
+ * @category combinators
194
+ */
195
+ export const withPermits = (...args) => {
196
+ if (args.length === 3) {
197
+ const [self, key, permits] = args;
198
+ return effect => self.withPermits(key, permits)(effect);
199
+ }
200
+ const [self, key, permits, effect] = args;
201
+ return self.withPermits(key, permits)(effect);
202
+ };
203
+ /**
204
+ * Runs an effect with a single permit for a partition.
205
+ *
206
+ * @since 4.0.0
207
+ * @category combinators
208
+ */
209
+ export const withPermit = (...args) => {
210
+ if (args.length === 2) {
211
+ const [self, key] = args;
212
+ return effect => self.withPermit(key)(effect);
213
+ }
214
+ const [self, key, effect] = args;
215
+ return self.withPermit(key)(effect);
216
+ };
217
+ /**
218
+ * Runs an effect only if the permits are immediately available.
219
+ *
220
+ * @since 4.0.0
221
+ * @category combinators
222
+ */
223
+ export const withPermitsIfAvailable = (...args) => {
224
+ if (args.length === 2) {
225
+ const [self, permits] = args;
226
+ return effect => self.withPermitsIfAvailable(permits)(effect);
227
+ }
228
+ const [self, permits, effect] = args;
229
+ return self.withPermitsIfAvailable(permits)(effect);
230
+ };
231
+ //# sourceMappingURL=PartitionedSemaphore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartitionedSemaphore.js","names":["Effect","dual","MutableHashMap","Option","PartitionedTypeId","makeUnsafe","options","maxPermits","Math","max","permits","Number","isFinite","capacity","available","succeed","take","void","release","withPermits","effect","withPermit","withPermitsIfAvailable","asSome","totalPermits","waitingPermits","partitions","empty","iterator","Symbol","releaseUnsafe","min","state","next","done","waiter","value","values","undefined","resume","key","callback","never","needed","taken","waiters","getOrElse","get","set","Set","entry","cleanup","delete","size","remove","add","sync","takePermits","uninterruptibleMask","restore","flatMap","ensuring","tryTake","suspend","none","make","self","args","length"],"sources":["../src/PartitionedSemaphore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/PubSub.d.ts CHANGED
@@ -35,6 +35,7 @@ import type { LazyArg } from "./Function.ts";
35
35
  import * as Latch from "./Latch.ts";
36
36
  import * as MutableList from "./MutableList.ts";
37
37
  import * as MutableRef from "./MutableRef.ts";
38
+ import * as Option from "./Option.ts";
38
39
  import { type Pipeable } from "./Pipeable.ts";
39
40
  import * as Scope from "./Scope.ts";
40
41
  import type { Covariant, Invariant } from "./Types.ts";
@@ -1332,14 +1333,14 @@ export declare const remaining: <A>(self: Subscription<A>) => Effect.Effect<numb
1332
1333
  *
1333
1334
  * // Unsafe synchronous check for remaining messages
1334
1335
  * const remainingOption = PubSub.remainingUnsafe(subscription)
1335
- * if (remainingOption) {
1336
- * console.log("Messages available:", remainingOption)
1336
+ * if (remainingOption._tag === "Some") {
1337
+ * console.log("Messages available:", remainingOption.value)
1337
1338
  * } else {
1338
1339
  * console.log("Subscription is shutdown")
1339
1340
  * }
1340
1341
  *
1341
1342
  * // Useful for polling or batching scenarios
1342
- * if (remainingOption && remainingOption > 10) {
1343
+ * if (remainingOption._tag === "Some" && remainingOption.value > 10) {
1343
1344
  * // Process messages in batch
1344
1345
  * }
1345
1346
  * ```
@@ -1347,7 +1348,7 @@ export declare const remaining: <A>(self: Subscription<A>) => Effect.Effect<numb
1347
1348
  * @since 4.0.0
1348
1349
  * @category getters
1349
1350
  */
1350
- export declare const remainingUnsafe: <A>(self: Subscription<A>) => number | undefined;
1351
+ export declare const remainingUnsafe: <A>(self: Subscription<A>) => Option.Option<number>;
1351
1352
  /**
1352
1353
  * A strategy that applies back pressure to publishers when the `PubSub` is at
1353
1354
  * capacity. This guarantees that all subscribers will receive all messages
@@ -1 +1 @@
1
- {"version":3,"file":"PubSub.d.ts","sourceRoot":"","sources":["../src/PubSub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PubSub.d.ts","sourceRoot":"","sources":["../src/PubSub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AACjC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,KAAK,QAAQ,EAAiB,MAAM,eAAe,CAAA;AAC5D,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtD,QAAA,MAAM,MAAM,mBAAmB,CAAA;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAE,SAAQ,QAAQ;IAChD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;QACjB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;KAC1B,CAAA;IACD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IAC3C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAA;IAClC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;CACtC;AAED;;;GAGG;AACH,yBAAiB,MAAM,CAAC;IACtB;;;;;OAKG;IACH,UAAiB,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,OAAO,IAAI,OAAO,CAAA;QAClB,MAAM,IAAI,OAAO,CAAA;QACjB,IAAI,IAAI,MAAM,CAAA;QACd,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAA;QAC1B,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAC3C,KAAK,IAAI,IAAI,CAAA;QACb,SAAS,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAA;QACnC,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;KAChC;IAED;;;;;OAKG;IACH,UAAiB,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,IAAI,OAAO,CAAA;QAClB,IAAI,IAAI,MAAM,CAAA;QACd,IAAI,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAA;QAC7B,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAC7B,WAAW,IAAI,IAAI,CAAA;KACpB;IAED;;;;;OAKG;IACH,KAAY,WAAW,CAAC,CAAC,IAAI,GAAG,CAC9B,mBAAmB,CAAC,CAAC,CAAC,EACtB,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CACnD,CAAA;IAED;;;;;OAKG;IACH,UAAiB,YAAY,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,GAAG,SAAS,CAAA;QACrB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAC1B,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;QACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAC3B;IAED;;;;;OAKG;IACH,UAAiB,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAChC;;WAEG;QACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAEtC;;;WAGG;QACH,aAAa,CACX,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,EAC3B,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,GACzC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAEzB;;;WAGG;QACH,wBAAwB,CACtB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAC1B,IAAI,CAAA;QAEP;;;;WAIG;QACH,qBAAqB,CACnB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,EAC3B,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAC,EACpC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GACrD,IAAI,CAAA;QAEP;;;WAGG;QACH,yBAAyB,CACvB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAC1B,IAAI,CAAA;KACR;CACF;AAED,QAAA,MAAM,kBAAkB,gCAAgC,CAAA;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,YAAY,CAAC,GAAG,CAAC,CAAC,CAAE,SAAQ,QAAQ;IACnD,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE;QAC7B,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;KAC1B,CAAA;IACD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAA;IACpD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAA;IAClC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;CAC9C;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EACpB,SAAS;IACP,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAChD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;CAC/C,KACA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAUvB,CAAA;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,EACvB,UAAU,MAAM,GAAG;IACjB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KACA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAItB,CAAA;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EACxB,UAAU,MAAM,GAAG;IACjB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KACA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAItB,CAAA;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,EACvB,UAAU,MAAM,GAAG;IACjB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KACA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAItB,CAAA;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,UAAU;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAIvB,CAAA;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EACjC,UAAU,MAAM,GAAG;IACjB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KACA,MAAM,CAAC,MAAM,CAAC,CAAC,CAWjB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,EAAE,UAAU;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAwF,CAAA;AAE3G;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,KAAG,MAA8B,CAAA;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAwC,CAAA;AACtG;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,KAAG,MAK/C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CACA,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAiD,CAAA;AAEnH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAQ3D,CAAA;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAA8C,CAAA;AAEnH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,KAAG,OAAoC,CAAA;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAA4B,CAAA;AAEjG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;CAkBnD,CAAA;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,aAAa,EAAE;IAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;IAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAA;CAQvC,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,UAAU,EAAE;IACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;CAiBhE,CAAA;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAI7F,CAAA;AAwBH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAkB3D,CAAA;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAkBjF,CAAA;AA0BJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,QAAQ,EAAE;IACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;CAgB7D,CAAA;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,WAAW,EAAE;IACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;CAK9E,CAAA;AAmCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAKtE,CAAA;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAK9E,CAAA;AAy2BD;;;;;;;;;GASG;AACH,qBAAa,oBAAoB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvE,UAAU,EAAE,WAAW,CAAC,WAAW,CACjC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAClD,CAAqB;IAEtB,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAQlC;IAED,aAAa,CACX,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACxB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAClC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,GACzC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;IAezB,wBAAwB,CACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACxB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GACjC,IAAI;IAmBP,qBAAqB,CACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACxB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAClC,YAAY,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAC3C,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GACrD,IAAI;IAIP,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;IAI7F,OAAO,CAAC,WAAW;IAiBnB,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI;CAGzD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,qBAAa,gBAAgB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAElC;IAED,aAAa,CACX,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACzB,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EACnC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EACtB,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,GAC1C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;IAIzB,wBAAwB,CACtB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACzB,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAClC,IAAI;IAIP,qBAAqB,CACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACxB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAClC,YAAY,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAC3C,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GACrD,IAAI;IAIP,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;CAG9F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClE,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAElC;IAED,aAAa,CACX,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACxB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAClC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,GAC1C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;IAQzB,wBAAwB,CACtB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACzB,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAClC,IAAI;IAIP,qBAAqB,CACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACxB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAClC,YAAY,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAC3C,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GACrD,IAAI;IAIP,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;IAI7F,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;CAiB5E"}
package/dist/PubSub.js CHANGED
@@ -37,6 +37,7 @@ import * as Latch from "./Latch.js";
37
37
  import * as MutableList from "./MutableList.js";
38
38
  import * as MutableRef from "./MutableRef.js";
39
39
  import { nextPow2 } from "./Number.js";
40
+ import * as Option from "./Option.js";
40
41
  import { pipeArguments } from "./Pipeable.js";
41
42
  import * as Scope from "./Scope.js";
42
43
  const TypeId = "~effect/PubSub";
@@ -939,14 +940,14 @@ export const remaining = self => Effect.suspend(() => self.shutdownFlag.current
939
940
  *
940
941
  * // Unsafe synchronous check for remaining messages
941
942
  * const remainingOption = PubSub.remainingUnsafe(subscription)
942
- * if (remainingOption) {
943
- * console.log("Messages available:", remainingOption)
943
+ * if (remainingOption._tag === "Some") {
944
+ * console.log("Messages available:", remainingOption.value)
944
945
  * } else {
945
946
  * console.log("Subscription is shutdown")
946
947
  * }
947
948
  *
948
949
  * // Useful for polling or batching scenarios
949
- * if (remainingOption && remainingOption > 10) {
950
+ * if (remainingOption._tag === "Some" && remainingOption.value > 10) {
950
951
  * // Process messages in batch
951
952
  * }
952
953
  * ```
@@ -956,9 +957,9 @@ export const remaining = self => Effect.suspend(() => self.shutdownFlag.current
956
957
  */
957
958
  export const remainingUnsafe = self => {
958
959
  if (self.shutdownFlag.current) {
959
- return undefined;
960
+ return Option.none();
960
961
  }
961
- return self.subscription.size() + self.replayWindow.remaining;
962
+ return Option.some(self.subscription.size() + self.replayWindow.remaining);
962
963
  };
963
964
  // -----------------------------------------------------------------------------
964
965
  // internal