effect 4.0.0-beta.2 → 4.0.0-beta.21
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.
- package/dist/Array.d.ts +127 -299
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +102 -62
- package/dist/Array.js.map +1 -1
- package/dist/Cache.d.ts +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +6 -5
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +1 -1
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Channel.d.ts +116 -30
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +82 -37
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +54 -247
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +36 -67
- package/dist/Chunk.js.map +1 -1
- package/dist/Combiner.d.ts +280 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +198 -7
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +165 -9
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +62 -7
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +1 -1
- package/dist/Cron.d.ts +1 -1
- package/dist/Data.d.ts +534 -365
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +132 -79
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +23 -161
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +6 -51
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +12 -12
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +12 -12
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +829 -692
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +263 -251
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +194 -0
- package/dist/Encoding.d.ts.map +1 -0
- package/dist/Encoding.js +352 -0
- package/dist/Encoding.js.map +1 -0
- package/dist/Equal.d.ts +276 -109
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +124 -48
- package/dist/Equal.js.map +1 -1
- package/dist/ErrorReporter.d.ts +376 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +246 -0
- package/dist/ErrorReporter.js.map +1 -0
- package/dist/Fiber.d.ts +2 -2
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FileSystem.d.ts +1 -1
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +5 -5
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +30 -34
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +15 -13
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +229 -51
- package/dist/Formatter.js.map +1 -1
- package/dist/Graph.d.ts +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +5 -8
- package/dist/Graph.js.map +1 -1
- package/dist/HashMap.d.ts +15 -14
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +4 -4
- package/dist/HashMap.js.map +1 -1
- package/dist/Iterable.d.ts +40 -39
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +94 -22
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonSchema.d.ts +299 -10
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +323 -4
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +109 -0
- package/dist/Latch.d.ts.map +1 -0
- package/dist/Latch.js +72 -0
- package/dist/Latch.js.map +1 -0
- package/dist/Layer.d.ts +9 -9
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +4 -4
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LogLevel.d.ts +32 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +29 -95
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +2 -3
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +1 -1
- package/dist/ManagedRuntime.js +1 -1
- package/dist/Metric.d.ts +2 -2
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +1 -1
- package/dist/Metric.js.map +1 -1
- package/dist/Optic.d.ts +947 -18
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +454 -5
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +22 -15
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +14 -7
- package/dist/Option.js.map +1 -1
- package/dist/Pipeable.d.ts +17 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +19 -1
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +10 -9
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +2 -2
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +6 -4
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +7 -5
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts +3 -2
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +3 -2
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +1 -1
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +0 -1
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +35 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +46 -12
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +1 -1
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/Record.d.ts +24 -120
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +21 -41
- package/dist/Record.js.map +1 -1
- package/dist/Reducer.d.ts +166 -7
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +135 -1
- package/dist/Reducer.js.map +1 -1
- package/dist/References.d.ts +3 -3
- package/dist/References.d.ts.map +1 -1
- package/dist/Request.d.ts +1 -1
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +2 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +6 -26
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +0 -20
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +12 -0
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +12 -0
- package/dist/Result.js.map +1 -1
- package/dist/Schedule.d.ts +47 -20
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +94 -34
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +266 -50
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +426 -74
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +7 -6
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +2 -2
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +12 -14
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaParser.d.ts +5 -0
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +10 -0
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +44 -43
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +43 -24
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +107 -3
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +159 -4
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +211 -0
- package/dist/Semaphore.d.ts.map +1 -0
- package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
- package/dist/Semaphore.js.map +1 -0
- package/dist/ServiceMap.d.ts +39 -30
- package/dist/ServiceMap.d.ts.map +1 -1
- package/dist/ServiceMap.js +3 -3
- package/dist/ServiceMap.js.map +1 -1
- package/dist/Sink.d.ts +13 -13
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +53 -6
- package/dist/Sink.js.map +1 -1
- package/dist/Stream.d.ts +235 -423
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +124 -77
- package/dist/Stream.js.map +1 -1
- package/dist/Struct.d.ts +16 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +22 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +2 -1
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +2 -1
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +2 -1
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +2 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Trie.d.ts +18 -17
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +5 -5
- package/dist/Trie.js.map +1 -1
- package/dist/TxChunk.d.ts +37 -37
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +3 -3
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +328 -0
- package/dist/TxDeferred.d.ts.map +1 -0
- package/dist/TxDeferred.js +196 -0
- package/dist/TxDeferred.js.map +1 -0
- package/dist/TxHashMap.d.ts +84 -83
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +24 -24
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +35 -35
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +14 -14
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +609 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -0
- package/dist/TxPriorityQueue.js +415 -0
- package/dist/TxPriorityQueue.js.map +1 -0
- package/dist/TxPubSub.d.ts +585 -0
- package/dist/TxPubSub.d.ts.map +1 -0
- package/dist/TxPubSub.js +521 -0
- package/dist/TxPubSub.js.map +1 -0
- package/dist/TxQueue.d.ts +32 -32
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +26 -26
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +523 -0
- package/dist/TxReentrantLock.d.ts.map +1 -0
- package/dist/TxReentrantLock.js +504 -0
- package/dist/TxReentrantLock.js.map +1 -0
- package/dist/TxRef.d.ts +34 -34
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +21 -14
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +8 -8
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +7 -7
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +508 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -0
- package/dist/TxSubscriptionRef.js +293 -0
- package/dist/TxSubscriptionRef.js.map +1 -0
- package/dist/Types.d.ts +84 -6
- package/dist/Types.d.ts.map +1 -1
- package/dist/index.d.ts +591 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +591 -20
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js +11 -3
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +3 -11
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +263 -99
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +5 -4
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +3 -2
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/request.js +2 -2
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schema/annotations.js +2 -0
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/schema.js +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/trie.js +5 -4
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/TestClock.d.ts +7 -6
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +6 -4
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +8 -8
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +128 -48
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +11 -12
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +3 -3
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +4 -3
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +4 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +86 -14
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +163 -87
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +49 -12
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +35 -7
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +25 -7
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +22 -6
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +20 -20
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Response.d.ts +26 -26
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +1 -1
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +19 -3
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +14 -9
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +1 -1
- package/dist/unstable/ai/index.js +1 -1
- package/dist/unstable/cli/CliError.d.ts +5 -5
- package/dist/unstable/cli/CliOutput.js +59 -6
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +276 -19
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +234 -36
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
- package/dist/unstable/cli/GlobalFlag.js +118 -0
- package/dist/unstable/cli/GlobalFlag.js.map +1 -0
- package/dist/unstable/cli/HelpDoc.d.ts +70 -2
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/index.d.ts +4 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +4 -0
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +17 -8
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +32 -23
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js +7 -2
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
- package/dist/unstable/cli/internal/help.d.ts +33 -0
- package/dist/unstable/cli/internal/help.d.ts.map +1 -0
- package/dist/unstable/cli/internal/help.js +107 -0
- package/dist/unstable/cli/internal/help.js.map +1 -0
- package/dist/unstable/cli/internal/parser.js +29 -36
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +4 -3
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +7 -6
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +4 -4
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +10 -10
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +2 -1
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +6 -6
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +4 -3
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +9 -7
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +20 -20
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +5 -4
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +2 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
- package/dist/unstable/encoding/Msgpack.d.ts +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +1 -1
- package/dist/unstable/encoding/Sse.d.ts +4 -4
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +2 -1
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
- package/dist/unstable/http/Cookies.d.ts +3 -3
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +27 -10
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +17 -2
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +28 -1
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +37 -13
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +4 -4
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +7 -7
- package/dist/unstable/http/HttpClientRequest.d.ts +27 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +15 -3
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +3 -8
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +42 -56
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +4 -4
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +3 -3
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +8 -17
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +20 -33
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +37 -44
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
- package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +5 -5
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +2 -1
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +3 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +3 -3
- package/dist/unstable/http/UrlParams.d.ts +14 -6
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +1 -1
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
- package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js +10 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
- package/dist/unstable/httpapi/HttpApi.d.ts +3 -3
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +11 -5
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +23 -12
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +7 -2
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +3 -3
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +31 -44
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +15 -24
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +11 -0
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +29 -9
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +3 -3
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +4 -4
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +2 -2
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +32 -21
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +1 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +7 -4
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +6 -6
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +2 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +12 -11
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +2 -2
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +5 -128
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +1 -65
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -7
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +21 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +10 -10
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +16 -13
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +8 -8
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +3 -3
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +24 -7
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +1 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +39 -0
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
- package/dist/unstable/reactivity/Hydration.js +76 -0
- package/dist/unstable/reactivity/Hydration.js.map +1 -0
- package/dist/unstable/reactivity/index.d.ts +4 -0
- package/dist/unstable/reactivity/index.d.ts.map +1 -1
- package/dist/unstable/reactivity/index.js +4 -0
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +4 -4
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +5 -26
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +6 -13
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +2 -2
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +3 -3
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +14 -0
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +34 -9
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +0 -7
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +15 -15
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +2 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +1 -1
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +3 -3
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +3 -3
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +4 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +6 -5
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +3 -3
- package/dist/unstable/sql/Migrator.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +14 -14
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js +9 -3
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +3 -3
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +16 -5
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +17 -7
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/Statement.js +0 -1
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +2 -1
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +2 -2
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +3 -3
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +1 -1
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +12 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +137 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +2 -2
- package/src/Array.ts +190 -342
- package/src/Cache.ts +9 -8
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +554 -138
- package/src/Chunk.ts +81 -268
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +183 -21
- package/src/Data.ts +538 -374
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +15 -15
- package/src/Effect.ts +991 -800
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/ErrorReporter.ts +459 -0
- package/src/Fiber.ts +9 -2
- package/src/FileSystem.ts +7 -8
- package/src/Filter.ts +48 -58
- package/src/Formatter.ts +253 -51
- package/src/Graph.ts +24 -11
- package/src/HashMap.ts +15 -14
- package/src/Iterable.ts +105 -50
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +112 -0
- package/src/Layer.ts +11 -15
- package/src/LayerMap.ts +5 -5
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +33 -100
- package/src/ManagedRuntime.ts +1 -1
- package/src/Metric.ts +4 -4
- package/src/Optic.ts +948 -19
- package/src/Option.ts +30 -20
- package/src/Pipeable.ts +32 -1
- package/src/PlatformError.ts +5 -5
- package/src/Pool.ts +13 -11
- package/src/PubSub.ts +10 -9
- package/src/Pull.ts +1 -1
- package/src/Queue.ts +0 -1
- package/src/Random.ts +51 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Record.ts +43 -152
- package/src/Reducer.ts +166 -7
- package/src/References.ts +4 -4
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +9 -29
- package/src/Result.ts +13 -0
- package/src/Schedule.ts +318 -160
- package/src/Schema.ts +661 -116
- package/src/SchemaAST.ts +7 -6
- package/src/SchemaGetter.ts +12 -14
- package/src/SchemaParser.ts +11 -0
- package/src/SchemaRepresentation.ts +43 -24
- package/src/SchemaTransformation.ts +189 -4
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +356 -0
- package/src/ServiceMap.ts +47 -38
- package/src/Sink.ts +78 -26
- package/src/Stream.ts +566 -601
- package/src/Struct.ts +26 -0
- package/src/SubscriptionRef.ts +3 -2
- package/src/SynchronizedRef.ts +3 -2
- package/src/Trie.ts +18 -17
- package/src/TxChunk.ts +72 -53
- package/src/TxDeferred.ts +394 -0
- package/src/TxHashMap.ts +332 -285
- package/src/TxHashSet.ts +111 -116
- package/src/TxPriorityQueue.ts +767 -0
- package/src/TxPubSub.ts +789 -0
- package/src/TxQueue.ts +241 -251
- package/src/TxReentrantLock.ts +753 -0
- package/src/TxRef.ts +50 -38
- package/src/TxSemaphore.ts +29 -32
- package/src/TxSubscriptionRef.ts +639 -0
- package/src/Types.ts +78 -2
- package/src/index.ts +600 -21
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +744 -265
- package/src/internal/hashMap.ts +9 -7
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +4 -3
- package/src/internal/request.ts +2 -2
- package/src/internal/schema/annotations.ts +2 -0
- package/src/internal/schema/schema.ts +1 -0
- package/src/internal/trie.ts +16 -9
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +10 -10
- package/src/unstable/ai/AiError.ts +97 -44
- package/src/unstable/ai/Chat.ts +12 -11
- package/src/unstable/ai/LanguageModel.ts +129 -25
- package/src/unstable/ai/McpSchema.ts +59 -13
- package/src/unstable/ai/McpServer.ts +48 -9
- package/src/unstable/ai/Model.ts +40 -9
- package/src/unstable/ai/Prompt.ts +37 -37
- package/src/unstable/ai/Response.ts +25 -25
- package/src/unstable/ai/Tool.ts +19 -13
- package/src/unstable/ai/index.ts +1 -1
- package/src/unstable/cli/CliOutput.ts +75 -6
- package/src/unstable/cli/Command.ts +501 -60
- package/src/unstable/cli/GlobalFlag.ts +243 -0
- package/src/unstable/cli/HelpDoc.ts +80 -2
- package/src/unstable/cli/index.ts +5 -0
- package/src/unstable/cli/internal/command.ts +50 -34
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
- package/src/unstable/cli/internal/help.ts +146 -0
- package/src/unstable/cli/internal/parser.ts +33 -54
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -4
- package/src/unstable/cluster/Entity.ts +11 -10
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/Envelope.ts +1 -1
- package/src/unstable/cluster/K8sHttpClient.ts +5 -5
- package/src/unstable/cluster/MessageStorage.ts +3 -5
- package/src/unstable/cluster/Runners.ts +6 -5
- package/src/unstable/cluster/Sharding.ts +12 -10
- package/src/unstable/cluster/ShardingConfig.ts +30 -31
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +9 -8
- package/src/unstable/cluster/internal/entityReaper.ts +2 -1
- package/src/unstable/cluster/internal/resourceRef.ts +2 -1
- package/src/unstable/encoding/Sse.ts +3 -5
- package/src/unstable/eventlog/EventLog.ts +2 -1
- package/src/unstable/http/Cookies.ts +3 -3
- package/src/unstable/http/Headers.ts +28 -13
- package/src/unstable/http/HttpBody.ts +42 -1
- package/src/unstable/http/HttpClient.ts +58 -23
- package/src/unstable/http/HttpClientRequest.ts +38 -13
- package/src/unstable/http/HttpEffect.ts +46 -68
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +9 -24
- package/src/unstable/http/HttpServerError.ts +42 -45
- package/src/unstable/http/HttpServerRequest.ts +1 -1
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +4 -2
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +20 -5
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +5 -5
- package/src/unstable/httpapi/HttpApiBuilder.ts +77 -21
- package/src/unstable/httpapi/HttpApiClient.ts +14 -6
- package/src/unstable/httpapi/HttpApiEndpoint.ts +67 -83
- package/src/unstable/httpapi/HttpApiError.ts +30 -9
- package/src/unstable/httpapi/HttpApiGroup.ts +6 -6
- package/src/unstable/httpapi/HttpApiMiddleware.ts +4 -4
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
- package/src/unstable/httpapi/OpenApi.ts +41 -23
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +3 -3
- package/src/unstable/observability/OtlpLogger.ts +13 -9
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +4 -4
- package/src/unstable/persistence/KeyValueStore.ts +6 -6
- package/src/unstable/persistence/Persistable.ts +2 -2
- package/src/unstable/persistence/PersistedCache.ts +20 -9
- package/src/unstable/persistence/PersistedQueue.ts +25 -24
- package/src/unstable/persistence/Persistence.ts +3 -3
- package/src/unstable/persistence/RateLimiter.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +6 -208
- package/src/unstable/process/ChildProcessSpawner.ts +75 -14
- package/src/unstable/reactivity/Atom.ts +27 -25
- package/src/unstable/reactivity/AtomHttpApi.ts +21 -20
- package/src/unstable/reactivity/AtomRegistry.ts +31 -7
- package/src/unstable/reactivity/AtomRpc.ts +3 -3
- package/src/unstable/reactivity/Hydration.ts +112 -0
- package/src/unstable/reactivity/index.ts +5 -0
- package/src/unstable/rpc/Rpc.ts +6 -6
- package/src/unstable/rpc/RpcClient.ts +12 -54
- package/src/unstable/rpc/RpcGroup.ts +4 -4
- package/src/unstable/rpc/RpcMiddleware.ts +3 -3
- package/src/unstable/rpc/RpcSchema.ts +17 -0
- package/src/unstable/rpc/RpcSerialization.ts +44 -9
- package/src/unstable/rpc/RpcServer.ts +21 -30
- package/src/unstable/rpc/Utils.ts +2 -1
- package/src/unstable/schema/VariantSchema.ts +6 -6
- package/src/unstable/socket/Socket.ts +16 -17
- package/src/unstable/sql/SqlClient.ts +1 -1
- package/src/unstable/sql/SqlError.ts +11 -9
- package/src/unstable/sql/SqlModel.ts +5 -5
- package/src/unstable/sql/SqlSchema.ts +41 -25
- package/src/unstable/sql/Statement.ts +0 -1
- package/src/unstable/workers/Worker.ts +2 -1
- package/src/unstable/workflow/DurableClock.ts +8 -8
- package/src/unstable/workflow/DurableDeferred.ts +2 -2
- package/src/unstable/workflow/Workflow.ts +6 -2
- package/src/unstable/workflow/WorkflowEngine.ts +185 -2
- package/dist/PartitionedSemaphore.d.ts +0 -52
- package/dist/PartitionedSemaphore.d.ts.map +0 -1
- package/dist/PartitionedSemaphore.js.map +0 -1
- package/dist/encoding/Base64.d.ts +0 -67
- package/dist/encoding/Base64.d.ts.map +0 -1
- package/dist/encoding/Base64.js +0 -146
- package/dist/encoding/Base64.js.map +0 -1
- package/dist/encoding/Base64Url.d.ts +0 -60
- package/dist/encoding/Base64Url.d.ts.map +0 -1
- package/dist/encoding/Base64Url.js +0 -89
- package/dist/encoding/Base64Url.js.map +0 -1
- package/dist/encoding/EncodingError.d.ts +0 -31
- package/dist/encoding/EncodingError.d.ts.map +0 -1
- package/dist/encoding/EncodingError.js +0 -22
- package/dist/encoding/EncodingError.js.map +0 -1
- package/dist/encoding/Hex.d.ts +0 -61
- package/dist/encoding/Hex.d.ts.map +0 -1
- package/dist/encoding/Hex.js +0 -115
- package/dist/encoding/Hex.js.map +0 -1
- package/dist/encoding/index.d.ts +0 -26
- package/dist/encoding/index.d.ts.map +0 -1
- package/dist/encoding/index.js +0 -27
- package/dist/encoding/index.js.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
- package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.js +0 -44
- package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
- package/src/PartitionedSemaphore.ts +0 -182
- package/src/encoding/Base64.ts +0 -366
- package/src/encoding/Base64Url.ts +0 -104
- package/src/encoding/EncodingError.ts +0 -35
- package/src/encoding/Hex.ts +0 -390
- package/src/encoding/index.ts +0 -31
- package/src/unstable/cli/internal/builtInFlags.ts +0 -78
package/src/TxQueue.ts
CHANGED
|
@@ -403,7 +403,9 @@ const TxQueueProto = {
|
|
|
403
403
|
* @since 4.0.0
|
|
404
404
|
* @category constructors
|
|
405
405
|
*/
|
|
406
|
-
export const bounded = <A = never, E = never>(
|
|
406
|
+
export const bounded = <A = never, E = never>(
|
|
407
|
+
capacity: number
|
|
408
|
+
): Effect.Effect<TxQueue<A, E>, never, Effect.Transaction> =>
|
|
407
409
|
Effect.gen(function*() {
|
|
408
410
|
const items = yield* TxChunk.empty<A>()
|
|
409
411
|
const stateRef = yield* TxRef.make<State<A, E>>({ _tag: "Open" })
|
|
@@ -445,7 +447,7 @@ export const bounded = <A = never, E = never>(capacity: number): Effect.Effect<T
|
|
|
445
447
|
* @since 4.0.0
|
|
446
448
|
* @category constructors
|
|
447
449
|
*/
|
|
448
|
-
export const unbounded = <A = never, E = never>(): Effect.Effect<TxQueue<A, E
|
|
450
|
+
export const unbounded = <A = never, E = never>(): Effect.Effect<TxQueue<A, E>, never, Effect.Transaction> =>
|
|
449
451
|
Effect.gen(function*() {
|
|
450
452
|
const items = yield* TxChunk.empty<A>()
|
|
451
453
|
const stateRef = yield* TxRef.make<State<A, E>>({ _tag: "Open" })
|
|
@@ -485,7 +487,9 @@ export const unbounded = <A = never, E = never>(): Effect.Effect<TxQueue<A, E>>
|
|
|
485
487
|
* @since 4.0.0
|
|
486
488
|
* @category constructors
|
|
487
489
|
*/
|
|
488
|
-
export const dropping = <A = never, E = never>(
|
|
490
|
+
export const dropping = <A = never, E = never>(
|
|
491
|
+
capacity: number
|
|
492
|
+
): Effect.Effect<TxQueue<A, E>, never, Effect.Transaction> =>
|
|
489
493
|
Effect.gen(function*() {
|
|
490
494
|
const items = yield* TxChunk.empty<A>()
|
|
491
495
|
const stateRef = yield* TxRef.make<State<A, E>>({ _tag: "Open" })
|
|
@@ -527,7 +531,9 @@ export const dropping = <A = never, E = never>(capacity: number): Effect.Effect<
|
|
|
527
531
|
* @since 4.0.0
|
|
528
532
|
* @category constructors
|
|
529
533
|
*/
|
|
530
|
-
export const sliding = <A = never, E = never>(
|
|
534
|
+
export const sliding = <A = never, E = never>(
|
|
535
|
+
capacity: number
|
|
536
|
+
): Effect.Effect<TxQueue<A, E>, never, Effect.Transaction> =>
|
|
531
537
|
Effect.gen(function*() {
|
|
532
538
|
const items = yield* TxChunk.empty<A>()
|
|
533
539
|
const stateRef = yield* TxRef.make<State<A, E>>({ _tag: "Open" })
|
|
@@ -593,7 +599,7 @@ export const offer: {
|
|
|
593
599
|
* @since 4.0.0
|
|
594
600
|
* @category combinators
|
|
595
601
|
*/
|
|
596
|
-
<A, E>(value: A): (self: TxEnqueue<A, E>) => Effect.Effect<boolean>
|
|
602
|
+
<A, E>(value: A): (self: TxEnqueue<A, E>) => Effect.Effect<boolean, never, Effect.Transaction>
|
|
597
603
|
// =============================================================================
|
|
598
604
|
// Core Queue Operations
|
|
599
605
|
// =============================================================================
|
|
@@ -620,9 +626,10 @@ export const offer: {
|
|
|
620
626
|
* @since 4.0.0
|
|
621
627
|
* @category combinators
|
|
622
628
|
*/
|
|
623
|
-
<A, E>(self: TxEnqueue<A, E>, value: A): Effect.Effect<boolean>
|
|
624
|
-
} = dual(
|
|
625
|
-
|
|
629
|
+
<A, E>(self: TxEnqueue<A, E>, value: A): Effect.Effect<boolean, never, Effect.Transaction>
|
|
630
|
+
} = dual(
|
|
631
|
+
2,
|
|
632
|
+
<A, E>(self: TxEnqueue<A, E>, value: A): Effect.Effect<boolean, never, Effect.Transaction> =>
|
|
626
633
|
Effect.gen(function*() {
|
|
627
634
|
const state = yield* TxRef.get(self.stateRef)
|
|
628
635
|
if (state._tag === "Done" || state._tag === "Closing") {
|
|
@@ -657,7 +664,7 @@ export const offer: {
|
|
|
657
664
|
// bounded strategy - block until space is available
|
|
658
665
|
return yield* Effect.retryTransaction
|
|
659
666
|
})
|
|
660
|
-
|
|
667
|
+
)
|
|
661
668
|
|
|
662
669
|
/**
|
|
663
670
|
* Offers multiple items to the queue.
|
|
@@ -710,7 +717,7 @@ export const offerAll: {
|
|
|
710
717
|
* @since 4.0.0
|
|
711
718
|
* @category combinators
|
|
712
719
|
*/
|
|
713
|
-
<A, E>(values: Iterable<A>): (self: TxEnqueue<A, E>) => Effect.Effect<Array<A
|
|
720
|
+
<A, E>(values: Iterable<A>): (self: TxEnqueue<A, E>) => Effect.Effect<Array<A>, never, Effect.Transaction>
|
|
714
721
|
/**
|
|
715
722
|
* Offers multiple items to the queue.
|
|
716
723
|
*
|
|
@@ -736,24 +743,22 @@ export const offerAll: {
|
|
|
736
743
|
* @since 4.0.0
|
|
737
744
|
* @category combinators
|
|
738
745
|
*/
|
|
739
|
-
<A, E>(self: TxEnqueue<A, E>, values: Iterable<A>): Effect.Effect<Array<A
|
|
746
|
+
<A, E>(self: TxEnqueue<A, E>, values: Iterable<A>): Effect.Effect<Array<A>, never, Effect.Transaction>
|
|
740
747
|
} = dual(
|
|
741
748
|
2,
|
|
742
|
-
<A, E>(self: TxEnqueue<A, E>, values: Iterable<A>): Effect.Effect<Array<A
|
|
743
|
-
Effect.
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
rejected.push(value)
|
|
751
|
-
}
|
|
749
|
+
<A, E>(self: TxEnqueue<A, E>, values: Iterable<A>): Effect.Effect<Array<A>, never, Effect.Transaction> =>
|
|
750
|
+
Effect.gen(function*() {
|
|
751
|
+
const rejected: Array<A> = []
|
|
752
|
+
|
|
753
|
+
for (const value of values) {
|
|
754
|
+
const accepted = yield* offer(self, value)
|
|
755
|
+
if (!accepted) {
|
|
756
|
+
rejected.push(value)
|
|
752
757
|
}
|
|
758
|
+
}
|
|
753
759
|
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
)
|
|
760
|
+
return rejected
|
|
761
|
+
})
|
|
757
762
|
)
|
|
758
763
|
|
|
759
764
|
/**
|
|
@@ -784,38 +789,36 @@ export const offerAll: {
|
|
|
784
789
|
* @since 4.0.0
|
|
785
790
|
* @category combinators
|
|
786
791
|
*/
|
|
787
|
-
export const take = <A, E>(self: TxDequeue<A, E>): Effect.Effect<A, E> =>
|
|
788
|
-
Effect.
|
|
789
|
-
|
|
790
|
-
const state = yield* TxRef.get(self.stateRef)
|
|
792
|
+
export const take = <A, E>(self: TxDequeue<A, E>): Effect.Effect<A, E, Effect.Transaction> =>
|
|
793
|
+
Effect.gen(function*() {
|
|
794
|
+
const state = yield* TxRef.get(self.stateRef)
|
|
791
795
|
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
+
// Check if queue is done - forward the cause directly
|
|
797
|
+
if (state._tag === "Done") {
|
|
798
|
+
return yield* Effect.failCause(state.cause)
|
|
799
|
+
}
|
|
796
800
|
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
+
// If no items available, retry transaction
|
|
802
|
+
if (yield* isEmpty(self)) {
|
|
803
|
+
return yield* Effect.retryTransaction
|
|
804
|
+
}
|
|
801
805
|
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
806
|
+
// Take item from queue
|
|
807
|
+
const chunk = yield* TxChunk.get(self.items)
|
|
808
|
+
const head = Chunk.head(chunk)
|
|
809
|
+
if (Option.isNone(head)) {
|
|
810
|
+
return yield* Effect.retryTransaction
|
|
811
|
+
}
|
|
808
812
|
|
|
809
|
-
|
|
813
|
+
yield* TxChunk.drop(self.items, 1)
|
|
810
814
|
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
+
// Check if we need to transition Closing → Done
|
|
816
|
+
if (state._tag === "Closing" && (yield* isEmpty(self))) {
|
|
817
|
+
yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
|
|
818
|
+
}
|
|
815
819
|
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
)
|
|
820
|
+
return head.value
|
|
821
|
+
})
|
|
819
822
|
|
|
820
823
|
/**
|
|
821
824
|
* Tries to take an item from the queue without blocking.
|
|
@@ -840,24 +843,22 @@ export const take = <A, E>(self: TxDequeue<A, E>): Effect.Effect<A, E> =>
|
|
|
840
843
|
* @since 4.0.0
|
|
841
844
|
* @category combinators
|
|
842
845
|
*/
|
|
843
|
-
export const poll = <A, E>(self: TxDequeue<A, E>): Effect.Effect<Option.Option<A
|
|
844
|
-
Effect.
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
}
|
|
846
|
+
export const poll = <A, E>(self: TxDequeue<A, E>): Effect.Effect<Option.Option<A>, never, Effect.Transaction> =>
|
|
847
|
+
Effect.gen(function*() {
|
|
848
|
+
const state = yield* TxRef.get(self.stateRef)
|
|
849
|
+
if (state._tag === "Done") {
|
|
850
|
+
return Option.none()
|
|
851
|
+
}
|
|
850
852
|
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
853
|
+
const chunk = yield* TxChunk.get(self.items)
|
|
854
|
+
const head = Chunk.head(chunk)
|
|
855
|
+
if (Option.isNone(head)) {
|
|
856
|
+
return Option.none()
|
|
857
|
+
}
|
|
856
858
|
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
)
|
|
859
|
+
yield* TxChunk.drop(self.items, 1)
|
|
860
|
+
return Option.some(head.value)
|
|
861
|
+
})
|
|
861
862
|
|
|
862
863
|
/**
|
|
863
864
|
* Takes all items from the queue. Blocks if the queue is empty.
|
|
@@ -899,35 +900,33 @@ export const poll = <A, E>(self: TxDequeue<A, E>): Effect.Effect<Option.Option<A
|
|
|
899
900
|
* @since 4.0.0
|
|
900
901
|
* @category combinators
|
|
901
902
|
*/
|
|
902
|
-
export const takeAll = <A, E>(self: TxDequeue<A, E>): Effect.Effect<Arr.NonEmptyArray<A>, E> =>
|
|
903
|
-
Effect.
|
|
904
|
-
|
|
905
|
-
const state = yield* TxRef.get(self.stateRef)
|
|
903
|
+
export const takeAll = <A, E>(self: TxDequeue<A, E>): Effect.Effect<Arr.NonEmptyArray<A>, E, Effect.Transaction> =>
|
|
904
|
+
Effect.gen(function*() {
|
|
905
|
+
const state = yield* TxRef.get(self.stateRef)
|
|
906
906
|
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
907
|
+
// Handle done queue
|
|
908
|
+
if (state._tag === "Done") {
|
|
909
|
+
return yield* Effect.failCause(state.cause)
|
|
910
|
+
}
|
|
911
911
|
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
912
|
+
// Wait if empty - same pattern as take()
|
|
913
|
+
if (yield* isEmpty(self)) {
|
|
914
|
+
return yield* Effect.retryTransaction
|
|
915
|
+
}
|
|
916
916
|
|
|
917
|
-
|
|
917
|
+
const chunk = yield* TxChunk.get(self.items)
|
|
918
918
|
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
919
|
+
// Take all items (guaranteed non-empty due to isEmpty check above)
|
|
920
|
+
const items = Chunk.toArray(chunk) as Arr.NonEmptyArray<A>
|
|
921
|
+
yield* TxChunk.set(self.items, Chunk.empty())
|
|
922
922
|
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
923
|
+
// Check if we need to transition Closing → Done
|
|
924
|
+
if (state._tag === "Closing") {
|
|
925
|
+
yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
|
|
926
|
+
}
|
|
927
927
|
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
)
|
|
928
|
+
return items
|
|
929
|
+
})
|
|
931
930
|
|
|
932
931
|
/**
|
|
933
932
|
* Takes exactly N items from the queue in a single atomic transaction.
|
|
@@ -1000,7 +999,7 @@ export const takeN: {
|
|
|
1000
999
|
* @since 4.0.0
|
|
1001
1000
|
* @category combinators
|
|
1002
1001
|
*/
|
|
1003
|
-
(n: number): <A, E>(self: TxDequeue<A, E>) => Effect.Effect<Array<A>, E>
|
|
1002
|
+
(n: number): <A, E>(self: TxDequeue<A, E>) => Effect.Effect<Array<A>, E, Effect.Transaction>
|
|
1004
1003
|
/**
|
|
1005
1004
|
* Takes exactly N items from the queue in a single atomic transaction.
|
|
1006
1005
|
*
|
|
@@ -1036,64 +1035,62 @@ export const takeN: {
|
|
|
1036
1035
|
* @since 4.0.0
|
|
1037
1036
|
* @category combinators
|
|
1038
1037
|
*/
|
|
1039
|
-
<A, E>(self: TxDequeue<A, E>, n: number): Effect.Effect<Array<A>, E>
|
|
1038
|
+
<A, E>(self: TxDequeue<A, E>, n: number): Effect.Effect<Array<A>, E, Effect.Transaction>
|
|
1040
1039
|
} = dual(
|
|
1041
1040
|
2,
|
|
1042
|
-
<A, E>(self: TxDequeue<A, E>, n: number): Effect.Effect<Array<A>, E> =>
|
|
1043
|
-
Effect.
|
|
1044
|
-
|
|
1045
|
-
const state = yield* TxRef.get(self.stateRef)
|
|
1046
|
-
|
|
1047
|
-
// Check if queue is done - forward the cause directly
|
|
1048
|
-
if (state._tag === "Done") {
|
|
1049
|
-
return yield* Effect.failCause(state.cause)
|
|
1050
|
-
}
|
|
1041
|
+
<A, E>(self: TxDequeue<A, E>, n: number): Effect.Effect<Array<A>, E, Effect.Transaction> =>
|
|
1042
|
+
Effect.gen(function*() {
|
|
1043
|
+
const state = yield* TxRef.get(self.stateRef)
|
|
1051
1044
|
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
const maxPossible = Math.min(requestedCount, self.capacity)
|
|
1057
|
-
|
|
1058
|
-
// If we can't get the requested amount due to capacity constraints,
|
|
1059
|
-
// take what the capacity allows. Otherwise, wait for the full amount.
|
|
1060
|
-
const shouldWaitForFull = requestedCount <= self.capacity
|
|
1061
|
-
const minimumRequired = shouldWaitForFull ? requestedCount : maxPossible
|
|
1062
|
-
|
|
1063
|
-
// If we don't have enough items available
|
|
1064
|
-
if (currentSize < minimumRequired) {
|
|
1065
|
-
// If queue is closing, transition to done and return what we have
|
|
1066
|
-
if (state._tag === "Closing") {
|
|
1067
|
-
if (yield* isEmpty(self)) {
|
|
1068
|
-
yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
|
|
1069
|
-
return []
|
|
1070
|
-
}
|
|
1071
|
-
// Take all remaining items when closing
|
|
1072
|
-
const chunk = yield* TxChunk.get(self.items)
|
|
1073
|
-
const taken = Chunk.toArray(chunk)
|
|
1074
|
-
yield* TxChunk.set(self.items, Chunk.empty())
|
|
1075
|
-
yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
|
|
1076
|
-
return taken
|
|
1077
|
-
}
|
|
1045
|
+
// Check if queue is done - forward the cause directly
|
|
1046
|
+
if (state._tag === "Done") {
|
|
1047
|
+
return yield* Effect.failCause(state.cause)
|
|
1048
|
+
}
|
|
1078
1049
|
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1050
|
+
const currentSize = yield* size(self)
|
|
1051
|
+
|
|
1052
|
+
// Determine how many items we can/should take
|
|
1053
|
+
const requestedCount = n
|
|
1054
|
+
const maxPossible = Math.min(requestedCount, self.capacity)
|
|
1082
1055
|
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
yield* TxChunk.drop(self.items, toTake)
|
|
1056
|
+
// If we can't get the requested amount due to capacity constraints,
|
|
1057
|
+
// take what the capacity allows. Otherwise, wait for the full amount.
|
|
1058
|
+
const shouldWaitForFull = requestedCount <= self.capacity
|
|
1059
|
+
const minimumRequired = shouldWaitForFull ? requestedCount : maxPossible
|
|
1088
1060
|
|
|
1089
|
-
|
|
1090
|
-
|
|
1061
|
+
// If we don't have enough items available
|
|
1062
|
+
if (currentSize < minimumRequired) {
|
|
1063
|
+
// If queue is closing, transition to done and return what we have
|
|
1064
|
+
if (state._tag === "Closing") {
|
|
1065
|
+
if (yield* isEmpty(self)) {
|
|
1066
|
+
yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
|
|
1067
|
+
return []
|
|
1068
|
+
}
|
|
1069
|
+
// Take all remaining items when closing
|
|
1070
|
+
const chunk = yield* TxChunk.get(self.items)
|
|
1071
|
+
const taken = Chunk.toArray(chunk)
|
|
1072
|
+
yield* TxChunk.set(self.items, Chunk.empty())
|
|
1091
1073
|
yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
|
|
1074
|
+
return taken
|
|
1092
1075
|
}
|
|
1093
1076
|
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1077
|
+
// Queue is still open but not enough items - retry transaction
|
|
1078
|
+
return yield* Effect.retryTransaction
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
// Take the determined number of items
|
|
1082
|
+
const toTake = minimumRequired
|
|
1083
|
+
const chunk = yield* TxChunk.get(self.items)
|
|
1084
|
+
const taken = Chunk.take(chunk, toTake)
|
|
1085
|
+
yield* TxChunk.drop(self.items, toTake)
|
|
1086
|
+
|
|
1087
|
+
// Check if we need to transition Closing → Done
|
|
1088
|
+
if (state._tag === "Closing" && (yield* isEmpty(self))) {
|
|
1089
|
+
yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
return Chunk.toArray(taken)
|
|
1093
|
+
})
|
|
1097
1094
|
)
|
|
1098
1095
|
|
|
1099
1096
|
/**
|
|
@@ -1153,7 +1150,7 @@ export const takeBetween: {
|
|
|
1153
1150
|
* @since 4.0.0
|
|
1154
1151
|
* @category taking
|
|
1155
1152
|
*/
|
|
1156
|
-
(min: number, max: number): <A, E>(self: TxDequeue<A, E>) => Effect.Effect<Array<A>, E>
|
|
1153
|
+
(min: number, max: number): <A, E>(self: TxDequeue<A, E>) => Effect.Effect<Array<A>, E, Effect.Transaction>
|
|
1157
1154
|
/**
|
|
1158
1155
|
* Takes a variable number of items between a specified minimum and maximum from the queue.
|
|
1159
1156
|
* Waits for at least the minimum number of items to be available.
|
|
@@ -1182,60 +1179,58 @@ export const takeBetween: {
|
|
|
1182
1179
|
* @since 4.0.0
|
|
1183
1180
|
* @category taking
|
|
1184
1181
|
*/
|
|
1185
|
-
<A, E>(self: TxDequeue<A, E>, min: number, max: number): Effect.Effect<Array<A>, E>
|
|
1182
|
+
<A, E>(self: TxDequeue<A, E>, min: number, max: number): Effect.Effect<Array<A>, E, Effect.Transaction>
|
|
1186
1183
|
} = dual(
|
|
1187
1184
|
3,
|
|
1188
|
-
<A, E>(self: TxDequeue<A, E>, min: number, max: number): Effect.Effect<Array<A>, E> =>
|
|
1189
|
-
Effect.
|
|
1190
|
-
|
|
1191
|
-
const state = yield* TxRef.get(self.stateRef)
|
|
1192
|
-
|
|
1193
|
-
// Check if queue is done - forward the cause directly
|
|
1194
|
-
if (state._tag === "Done") {
|
|
1195
|
-
return yield* Effect.failCause(state.cause)
|
|
1196
|
-
}
|
|
1185
|
+
<A, E>(self: TxDequeue<A, E>, min: number, max: number): Effect.Effect<Array<A>, E, Effect.Transaction> =>
|
|
1186
|
+
Effect.gen(function*() {
|
|
1187
|
+
const state = yield* TxRef.get(self.stateRef)
|
|
1197
1188
|
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1189
|
+
// Check if queue is done - forward the cause directly
|
|
1190
|
+
if (state._tag === "Done") {
|
|
1191
|
+
return yield* Effect.failCause(state.cause)
|
|
1192
|
+
}
|
|
1202
1193
|
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
const taken = Chunk.toArray(chunk)
|
|
1216
|
-
yield* TxChunk.set(self.items, Chunk.empty())
|
|
1194
|
+
// Validate parameters
|
|
1195
|
+
if (min <= 0 || max <= 0 || min > max) {
|
|
1196
|
+
return []
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
const currentSize = yield* size(self)
|
|
1200
|
+
|
|
1201
|
+
// If we have less than minimum required items
|
|
1202
|
+
if (currentSize < min) {
|
|
1203
|
+
// If queue is closing, transition to done and return what we have
|
|
1204
|
+
if (state._tag === "Closing") {
|
|
1205
|
+
if (yield* isEmpty(self)) {
|
|
1217
1206
|
yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
|
|
1218
|
-
return
|
|
1207
|
+
return []
|
|
1219
1208
|
}
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1209
|
+
// Take all remaining items when closing (if >= min or all available)
|
|
1210
|
+
const chunk = yield* TxChunk.get(self.items)
|
|
1211
|
+
const taken = Chunk.toArray(chunk)
|
|
1212
|
+
yield* TxChunk.set(self.items, Chunk.empty())
|
|
1213
|
+
yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
|
|
1214
|
+
return taken
|
|
1223
1215
|
}
|
|
1224
1216
|
|
|
1225
|
-
//
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1217
|
+
// Queue is still open but not enough items - retry transaction
|
|
1218
|
+
return yield* Effect.retryTransaction
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
// We have at least the minimum, take up to the maximum
|
|
1222
|
+
const toTake = Math.min(currentSize, max)
|
|
1223
|
+
const chunk = yield* TxChunk.get(self.items)
|
|
1224
|
+
const taken = Chunk.take(chunk, toTake)
|
|
1225
|
+
yield* TxChunk.drop(self.items, toTake)
|
|
1230
1226
|
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1227
|
+
// Check if we need to transition Closing → Done
|
|
1228
|
+
if (state._tag === "Closing" && (yield* isEmpty(self))) {
|
|
1229
|
+
yield* TxRef.set(self.stateRef, { _tag: "Done", cause: state.cause })
|
|
1230
|
+
}
|
|
1235
1231
|
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
)
|
|
1232
|
+
return Chunk.toArray(taken)
|
|
1233
|
+
})
|
|
1239
1234
|
)
|
|
1240
1235
|
|
|
1241
1236
|
/**
|
|
@@ -1273,23 +1268,21 @@ export const takeBetween: {
|
|
|
1273
1268
|
* @since 4.0.0
|
|
1274
1269
|
* @category combinators
|
|
1275
1270
|
*/
|
|
1276
|
-
export const peek = <A, E>(self: TxDequeue<A, E>): Effect.Effect<A, E> =>
|
|
1277
|
-
Effect.
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
}
|
|
1271
|
+
export const peek = <A, E>(self: TxDequeue<A, E>): Effect.Effect<A, E, Effect.Transaction> =>
|
|
1272
|
+
Effect.gen(function*() {
|
|
1273
|
+
const state = yield* TxRef.get(self.stateRef)
|
|
1274
|
+
if (state._tag === "Done") {
|
|
1275
|
+
return yield* Effect.failCause(state.cause)
|
|
1276
|
+
}
|
|
1283
1277
|
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1278
|
+
const chunk = yield* TxChunk.get(self.items)
|
|
1279
|
+
const head = Chunk.head(chunk)
|
|
1280
|
+
if (Option.isNone(head)) {
|
|
1281
|
+
return yield* Effect.retryTransaction
|
|
1282
|
+
}
|
|
1289
1283
|
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
)
|
|
1284
|
+
return head.value
|
|
1285
|
+
})
|
|
1293
1286
|
|
|
1294
1287
|
/**
|
|
1295
1288
|
* Gets the current size of the queue.
|
|
@@ -1310,7 +1303,7 @@ export const peek = <A, E>(self: TxDequeue<A, E>): Effect.Effect<A, E> =>
|
|
|
1310
1303
|
* @since 4.0.0
|
|
1311
1304
|
* @category combinators
|
|
1312
1305
|
*/
|
|
1313
|
-
export const size = (self: TxQueueState): Effect.Effect<number> => TxChunk.size(self.items)
|
|
1306
|
+
export const size = (self: TxQueueState): Effect.Effect<number, never, Effect.Transaction> => TxChunk.size(self.items)
|
|
1314
1307
|
|
|
1315
1308
|
/**
|
|
1316
1309
|
* Checks if the queue is empty.
|
|
@@ -1334,7 +1327,8 @@ export const size = (self: TxQueueState): Effect.Effect<number> => TxChunk.size(
|
|
|
1334
1327
|
* @since 4.0.0
|
|
1335
1328
|
* @category combinators
|
|
1336
1329
|
*/
|
|
1337
|
-
export const isEmpty = (self: TxQueueState): Effect.Effect<boolean> =>
|
|
1330
|
+
export const isEmpty = (self: TxQueueState): Effect.Effect<boolean, never, Effect.Transaction> =>
|
|
1331
|
+
TxChunk.isEmpty(self.items)
|
|
1338
1332
|
|
|
1339
1333
|
/**
|
|
1340
1334
|
* Checks if the queue is at capacity.
|
|
@@ -1358,7 +1352,7 @@ export const isEmpty = (self: TxQueueState): Effect.Effect<boolean> => TxChunk.i
|
|
|
1358
1352
|
* @since 4.0.0
|
|
1359
1353
|
* @category combinators
|
|
1360
1354
|
*/
|
|
1361
|
-
export const isFull = (self: TxQueueState): Effect.Effect<boolean> =>
|
|
1355
|
+
export const isFull = (self: TxQueueState): Effect.Effect<boolean, never, Effect.Transaction> =>
|
|
1362
1356
|
Effect.gen(function*() {
|
|
1363
1357
|
if (self.capacity === Number.POSITIVE_INFINITY) {
|
|
1364
1358
|
return false
|
|
@@ -1390,7 +1384,7 @@ export const isFull = (self: TxQueueState): Effect.Effect<boolean> =>
|
|
|
1390
1384
|
* @since 4.0.0
|
|
1391
1385
|
* @category combinators
|
|
1392
1386
|
*/
|
|
1393
|
-
export const interrupt = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<boolean> =>
|
|
1387
|
+
export const interrupt = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<boolean, never, Effect.Transaction> =>
|
|
1394
1388
|
Effect.withFiber((fiber) => failCause(self, Cause.interrupt(fiber.id)))
|
|
1395
1389
|
|
|
1396
1390
|
/**
|
|
@@ -1438,7 +1432,7 @@ export const fail: {
|
|
|
1438
1432
|
* @since 4.0.0
|
|
1439
1433
|
* @category combinators
|
|
1440
1434
|
*/
|
|
1441
|
-
<E>(error: E): <A>(self: TxEnqueue<A, E>) => Effect.Effect<boolean>
|
|
1435
|
+
<E>(error: E): <A>(self: TxEnqueue<A, E>) => Effect.Effect<boolean, never, Effect.Transaction>
|
|
1442
1436
|
/**
|
|
1443
1437
|
* Fails the queue with the specified error.
|
|
1444
1438
|
*
|
|
@@ -1461,9 +1455,10 @@ export const fail: {
|
|
|
1461
1455
|
* @since 4.0.0
|
|
1462
1456
|
* @category combinators
|
|
1463
1457
|
*/
|
|
1464
|
-
<A, E>(self: TxEnqueue<A, E>, error: E): Effect.Effect<boolean>
|
|
1465
|
-
} = dual(
|
|
1466
|
-
|
|
1458
|
+
<A, E>(self: TxEnqueue<A, E>, error: E): Effect.Effect<boolean, never, Effect.Transaction>
|
|
1459
|
+
} = dual(
|
|
1460
|
+
2,
|
|
1461
|
+
<A, E>(self: TxEnqueue<A, E>, error: E): Effect.Effect<boolean, never, Effect.Transaction> =>
|
|
1467
1462
|
Effect.gen(function*() {
|
|
1468
1463
|
const state = yield* TxRef.get(self.stateRef)
|
|
1469
1464
|
|
|
@@ -1477,7 +1472,7 @@ export const fail: {
|
|
|
1477
1472
|
|
|
1478
1473
|
return true
|
|
1479
1474
|
})
|
|
1480
|
-
|
|
1475
|
+
)
|
|
1481
1476
|
|
|
1482
1477
|
/**
|
|
1483
1478
|
* Completes the queue with the specified exit value.
|
|
@@ -1526,7 +1521,7 @@ export const failCause: {
|
|
|
1526
1521
|
* @since 4.0.0
|
|
1527
1522
|
* @category combinators
|
|
1528
1523
|
*/
|
|
1529
|
-
<E>(cause: Cause.Cause<E>): <A>(self: TxEnqueue<A, E>) => Effect.Effect<boolean>
|
|
1524
|
+
<E>(cause: Cause.Cause<E>): <A>(self: TxEnqueue<A, E>) => Effect.Effect<boolean, never, Effect.Transaction>
|
|
1530
1525
|
/**
|
|
1531
1526
|
* Completes the queue with the specified exit value.
|
|
1532
1527
|
*
|
|
@@ -1550,9 +1545,10 @@ export const failCause: {
|
|
|
1550
1545
|
* @since 4.0.0
|
|
1551
1546
|
* @category combinators
|
|
1552
1547
|
*/
|
|
1553
|
-
<A, E>(self: TxEnqueue<A, E>, cause: Cause.Cause<E>): Effect.Effect<boolean>
|
|
1554
|
-
} = dual(
|
|
1555
|
-
|
|
1548
|
+
<A, E>(self: TxEnqueue<A, E>, cause: Cause.Cause<E>): Effect.Effect<boolean, never, Effect.Transaction>
|
|
1549
|
+
} = dual(
|
|
1550
|
+
2,
|
|
1551
|
+
<A, E>(self: TxEnqueue<A, E>, cause: Cause.Cause<E>): Effect.Effect<boolean, never, Effect.Transaction> =>
|
|
1556
1552
|
Effect.gen(function*() {
|
|
1557
1553
|
const state = yield* TxRef.get(self.stateRef)
|
|
1558
1554
|
|
|
@@ -1570,7 +1566,7 @@ export const failCause: {
|
|
|
1570
1566
|
|
|
1571
1567
|
return true
|
|
1572
1568
|
})
|
|
1573
|
-
|
|
1569
|
+
)
|
|
1574
1570
|
|
|
1575
1571
|
/**
|
|
1576
1572
|
* Ends a queue by signaling completion with a Done error.
|
|
@@ -1606,7 +1602,7 @@ export const failCause: {
|
|
|
1606
1602
|
* @since 4.0.0
|
|
1607
1603
|
* @category combinators
|
|
1608
1604
|
*/
|
|
1609
|
-
export const end = <A, E>(self: TxEnqueue<A, E | Cause.Done>): Effect.Effect<boolean> =>
|
|
1605
|
+
export const end = <A, E>(self: TxEnqueue<A, E | Cause.Done>): Effect.Effect<boolean, never, Effect.Transaction> =>
|
|
1610
1606
|
failCause(self, Cause.fail(Cause.Done()))
|
|
1611
1607
|
|
|
1612
1608
|
/**
|
|
@@ -1638,22 +1634,20 @@ export const end = <A, E>(self: TxEnqueue<A, E | Cause.Done>): Effect.Effect<boo
|
|
|
1638
1634
|
* @since 4.0.0
|
|
1639
1635
|
* @category combinators
|
|
1640
1636
|
*/
|
|
1641
|
-
export const clear = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<Array<A>, ExcludeDone<E
|
|
1642
|
-
Effect.
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
return []
|
|
1649
|
-
}
|
|
1650
|
-
return yield* Effect.failCause(state.cause)
|
|
1637
|
+
export const clear = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<Array<A>, ExcludeDone<E>, Effect.Transaction> =>
|
|
1638
|
+
Effect.gen(function*() {
|
|
1639
|
+
const state = yield* TxRef.get(self.stateRef)
|
|
1640
|
+
if (state._tag === "Done") {
|
|
1641
|
+
// Return empty array only for halt causes (like Cause.Done)
|
|
1642
|
+
if (isDoneCause(state.cause)) {
|
|
1643
|
+
return []
|
|
1651
1644
|
}
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1645
|
+
return yield* Effect.failCause(state.cause)
|
|
1646
|
+
}
|
|
1647
|
+
const chunk = yield* TxChunk.get(self.items)
|
|
1648
|
+
yield* TxChunk.set(self.items, Chunk.empty())
|
|
1649
|
+
return Chunk.toArray(chunk)
|
|
1650
|
+
})
|
|
1657
1651
|
|
|
1658
1652
|
/**
|
|
1659
1653
|
* Shuts down the queue immediately by clearing all items and interrupting it (legacy compatibility).
|
|
@@ -1689,13 +1683,11 @@ export const clear = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<Array<A>, Excl
|
|
|
1689
1683
|
* @since 4.0.0
|
|
1690
1684
|
* @category combinators
|
|
1691
1685
|
*/
|
|
1692
|
-
export const shutdown = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<boolean> =>
|
|
1693
|
-
Effect.
|
|
1694
|
-
Effect.
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
})
|
|
1698
|
-
)
|
|
1686
|
+
export const shutdown = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<boolean, never, Effect.Transaction> =>
|
|
1687
|
+
Effect.gen(function*() {
|
|
1688
|
+
yield* Effect.ignore(clear(self))
|
|
1689
|
+
return yield* interrupt(self)
|
|
1690
|
+
})
|
|
1699
1691
|
|
|
1700
1692
|
/**
|
|
1701
1693
|
* Checks if the queue is in the open state.
|
|
@@ -1719,7 +1711,7 @@ export const shutdown = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<boolean> =>
|
|
|
1719
1711
|
* @since 4.0.0
|
|
1720
1712
|
* @category combinators
|
|
1721
1713
|
*/
|
|
1722
|
-
export const isOpen = (self: TxQueueState): Effect.Effect<boolean> =>
|
|
1714
|
+
export const isOpen = (self: TxQueueState): Effect.Effect<boolean, never, Effect.Transaction> =>
|
|
1723
1715
|
Effect.gen(function*() {
|
|
1724
1716
|
const state = yield* TxRef.get(self.stateRef)
|
|
1725
1717
|
return state._tag === "Open"
|
|
@@ -1748,7 +1740,7 @@ export const isOpen = (self: TxQueueState): Effect.Effect<boolean> =>
|
|
|
1748
1740
|
* @since 4.0.0
|
|
1749
1741
|
* @category combinators
|
|
1750
1742
|
*/
|
|
1751
|
-
export const isClosing = (self: TxQueueState): Effect.Effect<boolean> =>
|
|
1743
|
+
export const isClosing = (self: TxQueueState): Effect.Effect<boolean, never, Effect.Transaction> =>
|
|
1752
1744
|
Effect.gen(function*() {
|
|
1753
1745
|
const state = yield* TxRef.get(self.stateRef)
|
|
1754
1746
|
return state._tag === "Closing"
|
|
@@ -1776,7 +1768,7 @@ export const isClosing = (self: TxQueueState): Effect.Effect<boolean> =>
|
|
|
1776
1768
|
* @since 4.0.0
|
|
1777
1769
|
* @category combinators
|
|
1778
1770
|
*/
|
|
1779
|
-
export const isDone = (self: TxQueueState): Effect.Effect<boolean> =>
|
|
1771
|
+
export const isDone = (self: TxQueueState): Effect.Effect<boolean, never, Effect.Transaction> =>
|
|
1780
1772
|
Effect.gen(function*() {
|
|
1781
1773
|
const state = yield* TxRef.get(self.stateRef)
|
|
1782
1774
|
return state._tag === "Done"
|
|
@@ -1804,7 +1796,7 @@ export const isDone = (self: TxQueueState): Effect.Effect<boolean> =>
|
|
|
1804
1796
|
* @since 4.0.0
|
|
1805
1797
|
* @category combinators
|
|
1806
1798
|
*/
|
|
1807
|
-
export const isShutdown = (self: TxQueueState): Effect.Effect<boolean> => isDone(self)
|
|
1799
|
+
export const isShutdown = (self: TxQueueState): Effect.Effect<boolean, never, Effect.Transaction> => isDone(self)
|
|
1808
1800
|
|
|
1809
1801
|
/**
|
|
1810
1802
|
* Waits for the queue to complete (either successfully or with failure).
|
|
@@ -1828,16 +1820,14 @@ export const isShutdown = (self: TxQueueState): Effect.Effect<boolean> => isDone
|
|
|
1828
1820
|
* @since 4.0.0
|
|
1829
1821
|
* @category combinators
|
|
1830
1822
|
*/
|
|
1831
|
-
export const awaitCompletion = (self: TxQueueState): Effect.Effect<void> =>
|
|
1832
|
-
Effect.
|
|
1833
|
-
|
|
1834
|
-
const state = yield* TxRef.get(self.stateRef)
|
|
1823
|
+
export const awaitCompletion = (self: TxQueueState): Effect.Effect<void, never, Effect.Transaction> =>
|
|
1824
|
+
Effect.gen(function*() {
|
|
1825
|
+
const state = yield* TxRef.get(self.stateRef)
|
|
1835
1826
|
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1827
|
+
if (state._tag === "Done") {
|
|
1828
|
+
return void 0
|
|
1829
|
+
}
|
|
1839
1830
|
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
)
|
|
1831
|
+
// Not done yet, retry transaction
|
|
1832
|
+
return yield* Effect.retryTransaction
|
|
1833
|
+
})
|