effect 4.0.5 → 4.0.6
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/ai-docs/package.json +1 -1
- package/ai-docs/src/06_schedule/10_schedules.ts +5 -4
- package/ai-docs/tsconfig.json +3 -1
- package/dist/Array.d.ts +117 -52
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +41 -20
- package/dist/Array.js.map +1 -1
- package/dist/Bytes.d.ts +79 -0
- package/dist/Bytes.d.ts.map +1 -0
- package/dist/Bytes.js +109 -0
- package/dist/Bytes.js.map +1 -0
- package/dist/Channel.d.ts +181 -13
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +125 -30
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +39 -21
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +26 -17
- package/dist/Chunk.js.map +1 -1
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +8 -3
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +2 -1
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Cron.d.ts +2 -2
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +6 -3
- package/dist/Cron.js.map +1 -1
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +56 -16
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +487 -163
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +203 -37
- package/dist/Effect.js.map +1 -1
- package/dist/Equivalence.d.ts +2 -1
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +12 -8
- package/dist/Equivalence.js.map +1 -1
- package/dist/Exit.d.ts +24 -9
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +8 -3
- package/dist/Exit.js.map +1 -1
- package/dist/FiberHandle.d.ts +2 -0
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +9 -4
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +2 -0
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +5 -2
- package/dist/FiberMap.js.map +1 -1
- package/dist/FileSystem.d.ts +5 -0
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +3 -0
- package/dist/FileSystem.js.map +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js.map +1 -1
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js.map +1 -1
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +18 -17
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonSchema.d.ts +9 -3
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +19 -3
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +2 -2
- package/dist/Layer.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +19 -1
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +62 -6
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Metric.d.ts +132 -0
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +197 -25
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/Number.js +2 -2
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js.map +1 -1
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +8 -1
- package/dist/Path.js.map +1 -1
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +12 -7
- package/dist/PubSub.js.map +1 -1
- package/dist/Queue.d.ts +4 -1
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +4 -1
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +1 -1
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +12 -7
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +9 -6
- package/dist/RcMap.js.map +1 -1
- package/dist/Record.d.ts +51 -0
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +17 -0
- package/dist/Record.js.map +1 -1
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +5 -4
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +5 -4
- package/dist/References.js.map +1 -1
- package/dist/RequestResolver.d.ts +31 -1
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +39 -4
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.js +1 -1
- package/dist/Resource.js.map +1 -1
- package/dist/Runtime.d.ts +3 -3
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +18 -15
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +384 -332
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +333 -19
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +5 -5
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +24 -8
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +8 -3
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +15 -5
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +4 -4
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +29 -51
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +56 -1
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +18 -0
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +1 -1
- package/dist/SchemaTransformation.js +1 -1
- package/dist/Scope.d.ts +12 -2
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +5 -0
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +10 -7
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +9 -5
- package/dist/ScopedCache.js.map +1 -1
- package/dist/SemVer.d.ts +1196 -0
- package/dist/SemVer.d.ts.map +1 -0
- package/dist/SemVer.js +756 -0
- package/dist/SemVer.js.map +1 -0
- package/dist/SemVerRange.d.ts +559 -0
- package/dist/SemVerRange.d.ts.map +1 -0
- package/dist/SemVerRange.js +551 -0
- package/dist/SemVerRange.js.map +1 -0
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +6 -2
- package/dist/Sink.js.map +1 -1
- package/dist/Stream.d.ts +235 -8
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +145 -60
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +4 -2
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +8 -6
- package/dist/String.js.map +1 -1
- package/dist/TextDiff.d.ts +399 -0
- package/dist/TextDiff.d.ts.map +1 -0
- package/dist/TextDiff.js +634 -0
- package/dist/TextDiff.js.map +1 -0
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js.map +1 -1
- package/dist/ai/AiError.d.ts +68 -4
- package/dist/ai/AiError.d.ts.map +1 -1
- package/dist/ai/AiError.js +50 -2
- package/dist/ai/AiError.js.map +1 -1
- package/dist/ai/Chat.d.ts +1 -2
- package/dist/ai/Chat.d.ts.map +1 -1
- package/dist/ai/Chat.js +6 -3
- package/dist/ai/Chat.js.map +1 -1
- package/dist/ai/Decision.d.ts +46 -1
- package/dist/ai/Decision.d.ts.map +1 -1
- package/dist/ai/Decision.js.map +1 -1
- package/dist/ai/DecisionModel.d.ts +129 -11
- package/dist/ai/DecisionModel.d.ts.map +1 -1
- package/dist/ai/DecisionModel.js +182 -94
- package/dist/ai/DecisionModel.js.map +1 -1
- package/dist/ai/EmbeddingModel.d.ts +10 -0
- package/dist/ai/EmbeddingModel.d.ts.map +1 -1
- package/dist/ai/EmbeddingModel.js +21 -7
- package/dist/ai/EmbeddingModel.js.map +1 -1
- package/dist/ai/McpClient.d.ts +289 -0
- package/dist/ai/McpClient.d.ts.map +1 -0
- package/dist/ai/McpClient.js +819 -0
- package/dist/ai/McpClient.js.map +1 -0
- package/dist/ai/McpClientError.d.ts +254 -0
- package/dist/ai/McpClientError.d.ts.map +1 -0
- package/dist/ai/McpClientError.js +260 -0
- package/dist/ai/McpClientError.js.map +1 -0
- package/dist/ai/McpProtocol.d.ts +2 -2
- package/dist/ai/McpProtocol.d.ts.map +1 -1
- package/dist/ai/McpSchema.d.ts +368 -235
- package/dist/ai/McpSchema.d.ts.map +1 -1
- package/dist/ai/McpSchema.js +94 -24
- package/dist/ai/McpSchema.js.map +1 -1
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +25 -22
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/Prompt.d.ts +22 -20
- package/dist/ai/Prompt.d.ts.map +1 -1
- package/dist/ai/Prompt.js +23 -1
- package/dist/ai/Prompt.js.map +1 -1
- package/dist/ai/Response.d.ts +147 -3
- package/dist/ai/Response.d.ts.map +1 -1
- package/dist/ai/Response.js +35 -37
- package/dist/ai/Response.js.map +1 -1
- package/dist/ai/Tool.d.ts +12 -4
- package/dist/ai/Tool.d.ts.map +1 -1
- package/dist/ai/Tool.js.map +1 -1
- package/dist/ai/Toolkit.d.ts +48 -1
- package/dist/ai/Toolkit.d.ts.map +1 -1
- package/dist/ai/Toolkit.js +65 -12
- package/dist/ai/Toolkit.js.map +1 -1
- package/dist/ai/index.d.ts +10 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +10 -0
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/internal/mcpCore.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js +1 -1
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js +2 -2
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js +2 -2
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js +4 -7
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
- package/dist/ai/internal/mcpProtocol.js +16 -2
- package/dist/ai/internal/mcpProtocol.js.map +1 -1
- package/dist/ai/internal/mcpRuntime.js +3 -4
- package/dist/ai/internal/mcpRuntime.js.map +1 -1
- package/dist/ai/internal/mcpSchema/v2024_11_05.js +19 -13
- package/dist/ai/internal/mcpSchema/v2024_11_05.js.map +1 -1
- package/dist/ai/internal/mcpSchema/v2025_03_26.js +3 -2
- package/dist/ai/internal/mcpSchema/v2025_03_26.js.map +1 -1
- package/dist/ai/internal/mcpSchema/v2025_06_18.js +7 -7
- package/dist/ai/internal/mcpSchema/v2025_06_18.js.map +1 -1
- package/dist/ai/internal/mcpSchema/v2025_11_25.js +8 -8
- package/dist/ai/internal/mcpSchema/v2025_11_25.js.map +1 -1
- package/dist/ai/internal/mcpSchema/v2026_07_28.js +43 -42
- package/dist/ai/internal/mcpSchema/v2026_07_28.js.map +1 -1
- package/dist/cli/CliError.d.ts +42 -2
- package/dist/cli/CliError.d.ts.map +1 -1
- package/dist/cli/CliError.js +44 -5
- package/dist/cli/CliError.js.map +1 -1
- package/dist/cli/Command.d.ts +286 -2
- package/dist/cli/Command.d.ts.map +1 -1
- package/dist/cli/Command.js +107 -6
- package/dist/cli/Command.js.map +1 -1
- package/dist/cli/Completions.d.ts +5 -0
- package/dist/cli/Completions.d.ts.map +1 -1
- package/dist/cli/Completions.js.map +1 -1
- package/dist/cli/Flag.d.ts +115 -0
- package/dist/cli/Flag.d.ts.map +1 -1
- package/dist/cli/Flag.js +56 -0
- package/dist/cli/Flag.js.map +1 -1
- package/dist/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/cli/GlobalFlag.js +3 -3
- package/dist/cli/GlobalFlag.js.map +1 -1
- package/dist/cli/Param.d.ts +107 -0
- package/dist/cli/Param.d.ts.map +1 -1
- package/dist/cli/Param.js +56 -0
- package/dist/cli/Param.js.map +1 -1
- package/dist/cli/TerminalCapabilities.d.ts +84 -0
- package/dist/cli/TerminalCapabilities.d.ts.map +1 -0
- package/dist/cli/TerminalCapabilities.js +122 -0
- package/dist/cli/TerminalCapabilities.js.map +1 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +5 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/internal/command.d.ts +2 -1
- package/dist/cli/internal/command.d.ts.map +1 -1
- package/dist/cli/internal/command.js +5 -2
- package/dist/cli/internal/command.js.map +1 -1
- package/dist/cli/internal/completions/bash.js +4 -3
- package/dist/cli/internal/completions/bash.js.map +1 -1
- package/dist/cli/internal/completions/descriptor.js +9 -1
- package/dist/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/cli/internal/completions/fish.js +10 -8
- package/dist/cli/internal/completions/fish.js.map +1 -1
- package/dist/cli/internal/completions/powershell.js +18 -9
- package/dist/cli/internal/completions/powershell.js.map +1 -1
- package/dist/cli/internal/completions/zsh.js +8 -5
- package/dist/cli/internal/completions/zsh.js.map +1 -1
- package/dist/cli/internal/formatter.d.ts +2 -0
- package/dist/cli/internal/formatter.d.ts.map +1 -0
- package/dist/cli/internal/formatter.js +15 -0
- package/dist/cli/internal/formatter.js.map +1 -0
- package/dist/cli/internal/lexer.js +24 -10
- package/dist/cli/internal/lexer.js.map +1 -1
- package/dist/cli/internal/parser.js +24 -12
- package/dist/cli/internal/parser.js.map +1 -1
- package/dist/cluster/ClusterCron.d.ts +29 -1
- package/dist/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/cluster/ClusterCron.js +64 -32
- package/dist/cluster/ClusterCron.js.map +1 -1
- package/dist/cluster/ClusterMetrics.d.ts +143 -7
- package/dist/cluster/ClusterMetrics.d.ts.map +1 -1
- package/dist/cluster/ClusterMetrics.js +151 -7
- package/dist/cluster/ClusterMetrics.js.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts +1 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.js +37 -11
- package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cluster/Entity.d.ts +2 -0
- package/dist/cluster/Entity.d.ts.map +1 -1
- package/dist/cluster/Entity.js.map +1 -1
- package/dist/cluster/MessageStorage.d.ts +21 -0
- package/dist/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/cluster/MessageStorage.js.map +1 -1
- package/dist/cluster/Runners.d.ts.map +1 -1
- package/dist/cluster/Runners.js +54 -15
- package/dist/cluster/Runners.js.map +1 -1
- package/dist/cluster/Sharding.d.ts +1 -0
- package/dist/cluster/Sharding.d.ts.map +1 -1
- package/dist/cluster/Sharding.js +95 -32
- package/dist/cluster/Sharding.js.map +1 -1
- package/dist/cluster/ShardingConfig.d.ts +20 -0
- package/dist/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/cluster/ShardingConfig.js +4 -0
- package/dist/cluster/ShardingConfig.js.map +1 -1
- package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/cluster/SqlMessageStorage.js +40 -50
- package/dist/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/cluster/SqlRunnerStorage.d.ts +2 -2
- package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/cluster/SqlRunnerStorage.js +10 -4
- package/dist/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/cluster/internal/entityManager.js +65 -8
- package/dist/cluster/internal/entityManager.js.map +1 -1
- package/dist/devtools/DevTools.d.ts +3 -2
- package/dist/devtools/DevTools.d.ts.map +1 -1
- package/dist/devtools/DevTools.js +3 -2
- package/dist/devtools/DevTools.js.map +1 -1
- package/dist/devtools/DevToolsClient.d.ts +11 -0
- package/dist/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/devtools/DevToolsClient.js +31 -4
- package/dist/devtools/DevToolsClient.js.map +1 -1
- package/dist/encoding/Base64Url.d.ts +29 -0
- package/dist/encoding/Base64Url.d.ts.map +1 -1
- package/dist/encoding/Base64Url.js +29 -0
- package/dist/encoding/Base64Url.js.map +1 -1
- package/dist/encoding/Ini.d.ts.map +1 -1
- package/dist/encoding/Ini.js +3 -0
- package/dist/encoding/Ini.js.map +1 -1
- package/dist/encoding/JsonArray.d.ts +270 -0
- package/dist/encoding/JsonArray.d.ts.map +1 -0
- package/dist/encoding/JsonArray.js +691 -0
- package/dist/encoding/JsonArray.js.map +1 -0
- package/dist/encoding/Ndjson.d.ts +43 -4
- package/dist/encoding/Ndjson.d.ts.map +1 -1
- package/dist/encoding/Ndjson.js +169 -18
- package/dist/encoding/Ndjson.js.map +1 -1
- package/dist/encoding/SchemaBinary.d.ts +9 -1
- package/dist/encoding/SchemaBinary.d.ts.map +1 -1
- package/dist/encoding/SchemaBinary.js +12 -19
- package/dist/encoding/SchemaBinary.js.map +1 -1
- package/dist/encoding/Tar.d.ts +309 -0
- package/dist/encoding/Tar.d.ts.map +1 -0
- package/dist/encoding/Tar.js +1182 -0
- package/dist/encoding/Tar.js.map +1 -0
- package/dist/encoding/Toml.js +3 -3
- package/dist/encoding/Toml.js.map +1 -1
- package/dist/encoding/Xml.d.ts +464 -0
- package/dist/encoding/Xml.d.ts.map +1 -0
- package/dist/encoding/Xml.js +1619 -0
- package/dist/encoding/Xml.js.map +1 -0
- package/dist/encoding/Yaml.d.ts +6 -2
- package/dist/encoding/Yaml.d.ts.map +1 -1
- package/dist/encoding/Yaml.js +97 -34
- package/dist/encoding/Yaml.js.map +1 -1
- package/dist/encoding/Zip.d.ts +413 -0
- package/dist/encoding/Zip.d.ts.map +1 -0
- package/dist/encoding/Zip.js +1255 -0
- package/dist/encoding/Zip.js.map +1 -0
- package/dist/encoding/index.d.ts +20 -0
- package/dist/encoding/index.d.ts.map +1 -1
- package/dist/encoding/index.js +20 -0
- package/dist/encoding/index.js.map +1 -1
- package/dist/eventlog/EventJournal.d.ts +90 -5
- package/dist/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/eventlog/EventJournal.js +488 -228
- package/dist/eventlog/EventJournal.js.map +1 -1
- package/dist/eventlog/EventLog.d.ts +180 -12
- package/dist/eventlog/EventLog.d.ts.map +1 -1
- package/dist/eventlog/EventLog.js +394 -146
- package/dist/eventlog/EventLog.js.map +1 -1
- package/dist/eventlog/EventLogEncryption.d.ts +36 -30
- package/dist/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/eventlog/EventLogEncryption.js +97 -38
- package/dist/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/eventlog/EventLogMessage.d.ts +74 -34
- package/dist/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/eventlog/EventLogMessage.js +45 -11
- package/dist/eventlog/EventLogMessage.js.map +1 -1
- package/dist/eventlog/EventLogRemote.d.ts +45 -8
- package/dist/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/eventlog/EventLogRemote.js +51 -14
- package/dist/eventlog/EventLogRemote.js.map +1 -1
- package/dist/eventlog/EventLogServer.d.ts +46 -3
- package/dist/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/eventlog/EventLogServer.js +119 -19
- package/dist/eventlog/EventLogServer.js.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.d.ts +23 -33
- package/dist/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.js +97 -70
- package/dist/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/eventlog/EventLogServerUnencrypted.d.ts +39 -5
- package/dist/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/eventlog/EventLogServerUnencrypted.js +151 -69
- package/dist/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/eventlog/EventRow.d.ts +288 -0
- package/dist/eventlog/EventRow.d.ts.map +1 -0
- package/dist/eventlog/EventRow.js +435 -0
- package/dist/eventlog/EventRow.js.map +1 -0
- package/dist/eventlog/SqlEventJournal.d.ts +18 -18
- package/dist/eventlog/SqlEventJournal.d.ts.map +1 -1
- package/dist/eventlog/SqlEventJournal.js +387 -159
- package/dist/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/eventlog/SqlEventLogServerEncrypted.d.ts +10 -18
- package/dist/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
- package/dist/eventlog/SqlEventLogServerEncrypted.js +179 -69
- package/dist/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +23 -3
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.js +102 -51
- package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/eventlog/index.d.ts +5 -0
- package/dist/eventlog/index.d.ts.map +1 -1
- package/dist/eventlog/index.js +5 -0
- package/dist/eventlog/index.js.map +1 -1
- package/dist/eventlog/internal/conflicts.d.ts +47 -0
- package/dist/eventlog/internal/conflicts.d.ts.map +1 -0
- package/dist/eventlog/internal/conflicts.js +92 -0
- package/dist/eventlog/internal/conflicts.js.map +1 -0
- package/dist/graphql/GraphQLClientError.d.ts +2 -2
- package/dist/graphql/GraphQLClientError.d.ts.map +1 -1
- package/dist/graphql/GraphQLClientError.js +4 -18
- package/dist/graphql/GraphQLClientError.js.map +1 -1
- package/dist/graphql/GraphQLProtocol.d.ts +12 -9
- package/dist/graphql/GraphQLProtocol.d.ts.map +1 -1
- package/dist/graphql/GraphQLProtocol.js +4 -3
- package/dist/graphql/GraphQLProtocol.js.map +1 -1
- package/dist/graphql/GraphQLResolver.d.ts +2 -0
- package/dist/graphql/GraphQLResolver.d.ts.map +1 -1
- package/dist/graphql/GraphQLResolver.js +74 -32
- package/dist/graphql/GraphQLResolver.js.map +1 -1
- package/dist/http/FetchHttpClient.d.ts +8 -1
- package/dist/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/http/FetchHttpClient.js +51 -4
- package/dist/http/FetchHttpClient.js.map +1 -1
- package/dist/http/FindMyWay/internal/router.js +10 -0
- package/dist/http/FindMyWay/internal/router.js.map +1 -1
- package/dist/http/Headers.d.ts +227 -0
- package/dist/http/Headers.d.ts.map +1 -1
- package/dist/http/Headers.js +261 -0
- package/dist/http/Headers.js.map +1 -1
- package/dist/http/HttpClient.d.ts +93 -0
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +55 -16
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpClientRequest.d.ts +127 -3
- package/dist/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/http/HttpClientRequest.js +44 -2
- package/dist/http/HttpClientRequest.js.map +1 -1
- package/dist/http/HttpClientResponse.d.ts +53 -0
- package/dist/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/http/HttpClientResponse.js +47 -0
- package/dist/http/HttpClientResponse.js.map +1 -1
- package/dist/http/HttpEffect.d.ts +6 -2
- package/dist/http/HttpEffect.d.ts.map +1 -1
- package/dist/http/HttpEffect.js +21 -17
- package/dist/http/HttpEffect.js.map +1 -1
- package/dist/http/HttpIncomingMessage.d.ts +2 -1
- package/dist/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/http/HttpIncomingMessage.js +3 -23
- package/dist/http/HttpIncomingMessage.js.map +1 -1
- package/dist/http/HttpMiddleware.d.ts +119 -2
- package/dist/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/http/HttpMiddleware.js +159 -13
- package/dist/http/HttpMiddleware.js.map +1 -1
- package/dist/http/HttpRouter.d.ts.map +1 -1
- package/dist/http/HttpRouter.js +7 -2
- package/dist/http/HttpRouter.js.map +1 -1
- package/dist/http/HttpServerError.d.ts +5 -2
- package/dist/http/HttpServerError.d.ts.map +1 -1
- package/dist/http/HttpServerError.js +5 -3
- package/dist/http/HttpServerError.js.map +1 -1
- package/dist/http/HttpServerRequest.d.ts +25 -5
- package/dist/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/http/HttpServerRequest.js +36 -10
- package/dist/http/HttpServerRequest.js.map +1 -1
- package/dist/http/HttpServerResponse.d.ts +17 -8
- package/dist/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/http/HttpServerResponse.js +37 -21
- package/dist/http/HttpServerResponse.js.map +1 -1
- package/dist/http/HttpStaticServer.d.ts +0 -12
- package/dist/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/http/HttpStaticServer.js +21 -7
- package/dist/http/HttpStaticServer.js.map +1 -1
- package/dist/http/MultipartParser/internal/contentType.d.ts +15 -1
- package/dist/http/MultipartParser/internal/contentType.d.ts.map +1 -1
- package/dist/http/MultipartParser/internal/contentType.js +87 -5
- package/dist/http/MultipartParser/internal/contentType.js.map +1 -1
- package/dist/http/MultipartParser/internal/headers.d.ts.map +1 -1
- package/dist/http/MultipartParser/internal/headers.js +4 -12
- package/dist/http/MultipartParser/internal/headers.js.map +1 -1
- package/dist/http/MultipartParser/internal/multipart.d.ts.map +1 -1
- package/dist/http/MultipartParser/internal/multipart.js +6 -27
- package/dist/http/MultipartParser/internal/multipart.js.map +1 -1
- package/dist/http/Url.d.ts.map +1 -1
- package/dist/http/Url.js +6 -1
- package/dist/http/Url.js.map +1 -1
- package/dist/http/internal/decompression.js +17 -11
- package/dist/http/internal/decompression.js.map +1 -1
- package/dist/http/internal/lazyStream.d.ts +2 -0
- package/dist/http/internal/lazyStream.d.ts.map +1 -0
- package/dist/http/internal/lazyStream.js +18 -0
- package/dist/http/internal/lazyStream.js.map +1 -0
- package/dist/http/internal/requestState.d.ts +2 -0
- package/dist/http/internal/requestState.d.ts.map +1 -0
- package/dist/http/internal/requestState.js +28 -0
- package/dist/http/internal/requestState.js.map +1 -0
- package/dist/http/internal/webResponse.d.ts +2 -0
- package/dist/http/internal/webResponse.d.ts.map +1 -0
- package/dist/http/internal/webResponse.js +12 -0
- package/dist/http/internal/webResponse.js.map +1 -0
- package/dist/http-api/HttpApi.js +1 -1
- package/dist/http-api/HttpApi.js.map +1 -1
- package/dist/http-api/HttpApiBuilder.d.ts.map +1 -1
- package/dist/http-api/HttpApiBuilder.js +121 -18
- package/dist/http-api/HttpApiBuilder.js.map +1 -1
- package/dist/http-api/HttpApiClient.d.ts +29 -4
- package/dist/http-api/HttpApiClient.d.ts.map +1 -1
- package/dist/http-api/HttpApiClient.js +83 -23
- package/dist/http-api/HttpApiClient.js.map +1 -1
- package/dist/http-api/HttpApiEndpoint.d.ts +55 -29
- package/dist/http-api/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/http-api/HttpApiEndpoint.js +49 -5
- package/dist/http-api/HttpApiEndpoint.js.map +1 -1
- package/dist/http-api/HttpApiError.d.ts +58 -0
- package/dist/http-api/HttpApiError.d.ts.map +1 -1
- package/dist/http-api/HttpApiError.js +38 -12
- package/dist/http-api/HttpApiError.js.map +1 -1
- package/dist/http-api/HttpApiScalar.d.ts +2 -1
- package/dist/http-api/HttpApiScalar.d.ts.map +1 -1
- package/dist/http-api/HttpApiScalar.js +6 -3
- package/dist/http-api/HttpApiScalar.js.map +1 -1
- package/dist/http-api/HttpApiSchema.d.ts +191 -9
- package/dist/http-api/HttpApiSchema.d.ts.map +1 -1
- package/dist/http-api/HttpApiSchema.js +137 -4
- package/dist/http-api/HttpApiSchema.js.map +1 -1
- package/dist/http-api/HttpApiSwagger.d.ts +5 -0
- package/dist/http-api/HttpApiSwagger.d.ts.map +1 -1
- package/dist/http-api/HttpApiSwagger.js +14 -4
- package/dist/http-api/HttpApiSwagger.js.map +1 -1
- package/dist/http-api/HttpApiTest.d.ts +13 -2
- package/dist/http-api/HttpApiTest.d.ts.map +1 -1
- package/dist/http-api/HttpApiTest.js +30 -9
- package/dist/http-api/HttpApiTest.js.map +1 -1
- package/dist/http-api/OpenApi.d.ts +17 -3
- package/dist/http-api/OpenApi.d.ts.map +1 -1
- package/dist/http-api/OpenApi.js +57 -32
- package/dist/http-api/OpenApi.js.map +1 -1
- package/dist/http-api/internal/path.js +35 -10
- package/dist/http-api/internal/path.js.map +1 -1
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js +1 -1
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +19 -7
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +85 -74
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +2 -2
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/hydration.d.ts +2 -0
- package/dist/internal/hydration.d.ts.map +1 -0
- package/dist/internal/hydration.js +15 -0
- package/dist/internal/hydration.js.map +1 -0
- package/dist/internal/inflate.d.ts +2 -0
- package/dist/internal/inflate.d.ts.map +1 -0
- package/dist/internal/inflate.js +680 -0
- package/dist/internal/inflate.js.map +1 -0
- package/dist/internal/record.js +6 -0
- package/dist/internal/record.js.map +1 -1
- package/dist/internal/request.js +20 -7
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schedule.js +17 -22
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +136 -126
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/interpreter.js +51 -36
- package/dist/internal/schema/interpreter.js.map +1 -1
- package/dist/internal/schema/standardSchema.js +34 -33
- package/dist/internal/schema/standardSchema.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js +7 -2
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toCodec.js +86 -1
- package/dist/internal/schema/toCodec.js.map +1 -1
- package/dist/internal/schema/toFormatter.js +5 -5
- package/dist/internal/schema/toFormatter.js.map +1 -1
- package/dist/internal/schema/toJsonSchemaDocument.js +60 -38
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- package/dist/internal/trie.js +1 -3
- package/dist/internal/trie.js.map +1 -1
- package/dist/internal/uuid.js +7 -3
- package/dist/internal/uuid.js.map +1 -1
- package/dist/internal/version.js +1 -1
- package/dist/net/NetAddress.d.ts.map +1 -1
- package/dist/net/NetAddress.js +2 -8
- package/dist/net/NetAddress.js.map +1 -1
- package/dist/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/observability/OtlpExporter.js +5 -12
- package/dist/observability/OtlpExporter.js.map +1 -1
- package/dist/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/observability/OtlpMetrics.js +5 -3
- package/dist/observability/OtlpMetrics.js.map +1 -1
- package/dist/observability/OtlpResource.d.ts +3 -1
- package/dist/observability/OtlpResource.d.ts.map +1 -1
- package/dist/observability/OtlpResource.js +11 -4
- package/dist/observability/OtlpResource.js.map +1 -1
- package/dist/observability/OtlpSerialization.d.ts +5 -0
- package/dist/observability/OtlpSerialization.d.ts.map +1 -1
- package/dist/observability/OtlpSerialization.js +14 -3
- package/dist/observability/OtlpSerialization.js.map +1 -1
- package/dist/observability/internal/protobuf.d.ts +0 -9
- package/dist/observability/internal/protobuf.d.ts.map +1 -1
- package/dist/observability/internal/protobuf.js +2 -10
- package/dist/observability/internal/protobuf.js.map +1 -1
- package/dist/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/persistence/PersistedCache.js +1 -1
- package/dist/persistence/PersistedCache.js.map +1 -1
- package/dist/persistence/PersistedQueue.d.ts +6 -2
- package/dist/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/persistence/PersistedQueue.js +162 -84
- package/dist/persistence/PersistedQueue.js.map +1 -1
- package/dist/persistence/Persistence.d.ts +28 -0
- package/dist/persistence/Persistence.d.ts.map +1 -1
- package/dist/persistence/Persistence.js +36 -8
- package/dist/persistence/Persistence.js.map +1 -1
- package/dist/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/persistence/RateLimiter.js +8 -12
- package/dist/persistence/RateLimiter.js.map +1 -1
- package/dist/persistence/UserDirectories.d.ts +129 -0
- package/dist/persistence/UserDirectories.d.ts.map +1 -0
- package/dist/persistence/UserDirectories.js +178 -0
- package/dist/persistence/UserDirectories.js.map +1 -0
- package/dist/persistence/index.d.ts +5 -0
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +5 -0
- package/dist/persistence/index.js.map +1 -1
- package/dist/process/ChildProcess.d.ts +2 -1
- package/dist/process/ChildProcess.d.ts.map +1 -1
- package/dist/process/ChildProcess.js.map +1 -1
- package/dist/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/reactivity/AsyncResult.js +1 -1
- package/dist/reactivity/AsyncResult.js.map +1 -1
- package/dist/reactivity/Atom.d.ts +69 -30
- package/dist/reactivity/Atom.d.ts.map +1 -1
- package/dist/reactivity/Atom.js +40 -15
- package/dist/reactivity/Atom.js.map +1 -1
- package/dist/reactivity/AtomHttpApi.d.ts +5 -5
- package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/reactivity/AtomHttpApi.js +1 -1
- package/dist/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/reactivity/AtomRegistry.d.ts +2 -2
- package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/reactivity/AtomRegistry.js +44 -9
- package/dist/reactivity/AtomRegistry.js.map +1 -1
- package/dist/reactivity/AtomRpc.d.ts +3 -3
- package/dist/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/reactivity/AtomRpc.js +1 -1
- package/dist/reactivity/AtomRpc.js.map +1 -1
- package/dist/reactivity/Hydration.d.ts.map +1 -1
- package/dist/reactivity/Hydration.js +46 -12
- package/dist/reactivity/Hydration.js.map +1 -1
- package/dist/reactivity/Reactivity.d.ts +71 -7
- package/dist/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/reactivity/Reactivity.js +21 -12
- package/dist/reactivity/Reactivity.js.map +1 -1
- package/dist/rpc/Rpc.d.ts +18 -0
- package/dist/rpc/Rpc.d.ts.map +1 -1
- package/dist/rpc/Rpc.js +20 -0
- package/dist/rpc/Rpc.js.map +1 -1
- package/dist/rpc/RpcClient.d.ts +26 -2
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +196 -60
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcSerialization.d.ts +15 -0
- package/dist/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/rpc/RpcSerialization.js +21 -5
- package/dist/rpc/RpcSerialization.js.map +1 -1
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +9 -18
- package/dist/rpc/RpcServer.js.map +1 -1
- package/dist/schema/Model.d.ts +1 -1
- package/dist/schema/VariantSchema.d.ts +22 -3
- package/dist/schema/VariantSchema.d.ts.map +1 -1
- package/dist/schema/VariantSchema.js +32 -18
- package/dist/schema/VariantSchema.js.map +1 -1
- package/dist/socket/Socket.d.ts +23 -1
- package/dist/socket/Socket.d.ts.map +1 -1
- package/dist/socket/Socket.js +36 -3
- package/dist/socket/Socket.js.map +1 -1
- package/dist/sql/Migrator.d.ts.map +1 -1
- package/dist/sql/Migrator.js +15 -3
- package/dist/sql/Migrator.js.map +1 -1
- package/dist/sql/SqlClient.d.ts +143 -5
- package/dist/sql/SqlClient.d.ts.map +1 -1
- package/dist/sql/SqlClient.js +148 -27
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/SqlResolver.d.ts +9 -0
- package/dist/sql/SqlResolver.d.ts.map +1 -1
- package/dist/sql/SqlResolver.js +9 -0
- package/dist/sql/SqlResolver.js.map +1 -1
- package/dist/sql/Statement.d.ts +3 -1
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +24 -5
- package/dist/sql/Statement.js.map +1 -1
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +4 -2
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +7 -1
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +9 -3
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/workflow/WorkflowEngine.js +18 -4
- package/dist/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +13 -3
- package/src/Array.ts +128 -55
- package/src/Bytes.ts +111 -0
- package/src/Channel.ts +263 -436
- package/src/ChannelSchema.ts +1 -49
- package/src/Chunk.ts +55 -61
- package/src/Config.ts +12 -86
- package/src/ConfigProvider.ts +2 -1
- package/src/Cron.ts +6 -3
- package/src/Duration.ts +66 -16
- package/src/Effect.ts +502 -167
- package/src/Equivalence.ts +7 -4
- package/src/Exit.ts +24 -9
- package/src/FiberHandle.ts +10 -9
- package/src/FiberMap.ts +13 -66
- package/src/FileSystem.ts +10 -0
- package/src/Graph.ts +171 -1263
- package/src/HashSet.ts +0 -60
- package/src/Iterable.ts +15 -14
- package/src/JsonSchema.ts +28 -3
- package/src/Layer.ts +2 -2
- package/src/ManagedRuntime.ts +72 -6
- package/src/Metric.ts +249 -507
- package/src/MutableHashMap.ts +4 -473
- package/src/Number.ts +2 -2
- package/src/Optic.ts +17 -332
- package/src/Path.ts +9 -1
- package/src/PubSub.ts +12 -7
- package/src/Queue.ts +5 -37
- package/src/Random.ts +1 -1
- package/src/RcMap.ts +14 -8
- package/src/Record.ts +51 -0
- package/src/Ref.ts +7 -104
- package/src/References.ts +5 -4
- package/src/RequestResolver.ts +46 -87
- package/src/Resource.ts +1 -1
- package/src/Runtime.ts +19 -18
- package/src/Schedule.ts +2 -94
- package/src/Schema.ts +591 -356
- package/src/SchemaAST.ts +20 -9
- package/src/SchemaGetter.ts +22 -5
- package/src/SchemaIssue.ts +44 -53
- package/src/SchemaRepresentation.ts +64 -1
- package/src/SchemaTransformation.ts +1 -1
- package/src/Scope.ts +12 -2
- package/src/ScopedCache.ts +17 -142
- package/src/SemVer.ts +1528 -0
- package/src/SemVerRange.ts +883 -0
- package/src/Sink.ts +6 -2
- package/src/Stream.ts +334 -1011
- package/src/String.ts +8 -8
- package/src/TextDiff.ts +766 -0
- package/src/TxHashMap.ts +1 -103
- package/src/TxHashSet.ts +48 -753
- package/src/ai/AiError.ts +66 -4
- package/src/ai/Chat.ts +10 -5
- package/src/ai/Decision.ts +49 -1
- package/src/ai/DecisionModel.ts +264 -108
- package/src/ai/EmbeddingModel.ts +25 -13
- package/src/ai/McpClient.ts +1211 -0
- package/src/ai/McpClientError.ts +329 -0
- package/src/ai/McpProtocol.ts +2 -2
- package/src/ai/McpSchema.ts +153 -35
- package/src/ai/McpServer.ts +217 -220
- package/src/ai/Prompt.ts +49 -35
- package/src/ai/Response.ts +195 -65
- package/src/ai/Tool.ts +12 -4
- package/src/ai/Toolkit.ts +78 -10
- package/src/ai/index.ts +12 -0
- package/src/ai/internal/mcpCore.ts +13 -14
- package/src/ai/internal/mcpProtocol/v2024_11_05.ts +1 -1
- package/src/ai/internal/mcpProtocol/v2025_03_26.ts +1 -1
- package/src/ai/internal/mcpProtocol/v2025_06_18.ts +3 -3
- package/src/ai/internal/mcpProtocol/v2025_11_25.ts +3 -3
- package/src/ai/internal/mcpProtocol/v2026_07_28.ts +12 -14
- package/src/ai/internal/mcpProtocol.ts +22 -2
- package/src/ai/internal/mcpRuntime.ts +3 -4
- package/src/ai/internal/mcpSchema/v2024_11_05.ts +20 -13
- package/src/ai/internal/mcpSchema/v2025_03_26.ts +4 -2
- package/src/ai/internal/mcpSchema/v2025_06_18.ts +7 -7
- package/src/ai/internal/mcpSchema/v2025_11_25.ts +8 -8
- package/src/ai/internal/mcpSchema/v2026_07_28.ts +44 -42
- package/src/cli/CliError.ts +49 -4
- package/src/cli/Command.ts +316 -9
- package/src/cli/Completions.ts +5 -0
- package/src/cli/Flag.ts +117 -0
- package/src/cli/GlobalFlag.ts +3 -3
- package/src/cli/Param.ts +122 -0
- package/src/cli/TerminalCapabilities.ts +156 -0
- package/src/cli/index.ts +6 -0
- package/src/cli/internal/command.ts +8 -3
- package/src/cli/internal/completions/bash.ts +4 -3
- package/src/cli/internal/completions/descriptor.ts +11 -1
- package/src/cli/internal/completions/fish.ts +10 -8
- package/src/cli/internal/completions/powershell.ts +23 -14
- package/src/cli/internal/completions/zsh.ts +8 -5
- package/src/cli/internal/formatter.ts +18 -0
- package/src/cli/internal/lexer.ts +12 -5
- package/src/cli/internal/parser.ts +31 -11
- package/src/cluster/ClusterCron.ts +94 -35
- package/src/cluster/ClusterMetrics.ts +149 -7
- package/src/cluster/ClusterWorkflowEngine.ts +84 -41
- package/src/cluster/Entity.ts +4 -0
- package/src/cluster/MessageStorage.ts +7 -0
- package/src/cluster/Runners.ts +76 -25
- package/src/cluster/Sharding.ts +118 -38
- package/src/cluster/ShardingConfig.ts +15 -0
- package/src/cluster/SqlMessageStorage.ts +58 -55
- package/src/cluster/SqlRunnerStorage.ts +10 -4
- package/src/cluster/internal/entityManager.ts +80 -10
- package/src/devtools/DevTools.ts +3 -2
- package/src/devtools/DevToolsClient.ts +27 -10
- package/src/encoding/Base64Url.ts +31 -0
- package/src/encoding/Ini.ts +3 -0
- package/src/encoding/JsonArray.ts +849 -0
- package/src/encoding/Ndjson.ts +211 -20
- package/src/encoding/SchemaBinary.ts +14 -48
- package/src/encoding/Tar.ts +1417 -0
- package/src/encoding/Toml.ts +3 -3
- package/src/encoding/Xml.ts +2037 -0
- package/src/encoding/Yaml.ts +108 -36
- package/src/encoding/Zip.ts +1558 -0
- package/src/encoding/index.ts +24 -0
- package/src/eventlog/EventJournal.ts +611 -227
- package/src/eventlog/EventLog.ts +496 -196
- package/src/eventlog/EventLogEncryption.ts +128 -43
- package/src/eventlog/EventLogMessage.ts +62 -11
- package/src/eventlog/EventLogRemote.ts +77 -21
- package/src/eventlog/EventLogServer.ts +162 -20
- package/src/eventlog/EventLogServerEncrypted.ts +121 -80
- package/src/eventlog/EventLogServerUnencrypted.ts +180 -77
- package/src/eventlog/EventRow.ts +706 -0
- package/src/eventlog/SqlEventJournal.ts +453 -173
- package/src/eventlog/SqlEventLogServerEncrypted.ts +212 -83
- package/src/eventlog/SqlEventLogServerUnencrypted.ts +141 -62
- package/src/eventlog/index.ts +6 -0
- package/src/eventlog/internal/conflicts.ts +123 -0
- package/src/graphql/GraphQLClientError.ts +5 -12
- package/src/graphql/GraphQLProtocol.ts +12 -9
- package/src/graphql/GraphQLResolver.ts +90 -239
- package/src/http/FetchHttpClient.ts +56 -6
- package/src/http/FindMyWay/internal/router.ts +11 -0
- package/src/http/Headers.ts +337 -154
- package/src/http/HttpClient.ts +126 -135
- package/src/http/HttpClientRequest.ts +142 -4
- package/src/http/HttpClientResponse.ts +71 -0
- package/src/http/HttpEffect.ts +25 -33
- package/src/http/HttpIncomingMessage.ts +3 -23
- package/src/http/HttpMiddleware.ts +180 -23
- package/src/http/HttpRouter.ts +8 -2
- package/src/http/HttpServerError.ts +6 -3
- package/src/http/HttpServerRequest.ts +71 -12
- package/src/http/HttpServerResponse.ts +49 -23
- package/src/http/HttpStaticServer.ts +25 -9
- package/src/http/MultipartParser/internal/contentType.ts +107 -6
- package/src/http/MultipartParser/internal/headers.ts +4 -16
- package/src/http/MultipartParser/internal/multipart.ts +10 -32
- package/src/http/Url.ts +6 -1
- package/src/http/internal/decompression.ts +26 -17
- package/src/http/internal/lazyStream.ts +25 -0
- package/src/http/internal/requestState.ts +33 -0
- package/src/http/internal/webResponse.ts +20 -0
- package/src/http-api/HttpApi.ts +1 -1
- package/src/http-api/HttpApiBuilder.ts +151 -23
- package/src/http-api/HttpApiClient.ts +158 -30
- package/src/http-api/HttpApiEndpoint.ts +144 -33
- package/src/http-api/HttpApiError.ts +55 -0
- package/src/http-api/HttpApiScalar.ts +4 -3
- package/src/http-api/HttpApiSchema.ts +275 -13
- package/src/http-api/HttpApiSwagger.ts +11 -4
- package/src/http-api/HttpApiTest.ts +33 -9
- package/src/http-api/OpenApi.ts +84 -42
- package/src/http-api/internal/path.ts +40 -12
- package/src/index.ts +24 -0
- package/src/internal/core.ts +1 -1
- package/src/internal/dateTime.ts +20 -7
- package/src/internal/effect.ts +120 -84
- package/src/internal/hashMap.ts +2 -2
- package/src/internal/hydration.ts +15 -0
- package/src/internal/inflate.ts +710 -0
- package/src/internal/record.ts +6 -0
- package/src/internal/request.ts +21 -6
- package/src/internal/schedule.ts +20 -39
- package/src/internal/schema/fromJsonSchemaDocument.ts +262 -193
- package/src/internal/schema/interpreter.ts +58 -45
- package/src/internal/schema/standardSchema.ts +32 -30
- package/src/internal/schema/toCodeDocument.ts +8 -3
- package/src/internal/schema/toCodec.ts +116 -1
- package/src/internal/schema/toFormatter.ts +6 -6
- package/src/internal/schema/toJsonSchemaDocument.ts +69 -39
- package/src/internal/trie.ts +1 -3
- package/src/internal/uuid.ts +15 -10
- package/src/internal/version.ts +1 -1
- package/src/net/NetAddress.ts +2 -9
- package/src/observability/OtlpExporter.ts +5 -12
- package/src/observability/OtlpMetrics.ts +5 -3
- package/src/observability/OtlpResource.ts +16 -6
- package/src/observability/OtlpSerialization.ts +17 -3
- package/src/observability/internal/protobuf.ts +2 -10
- package/src/persistence/PersistedCache.ts +3 -1
- package/src/persistence/PersistedQueue.ts +223 -153
- package/src/persistence/Persistence.ts +64 -30
- package/src/persistence/RateLimiter.ts +18 -21
- package/src/persistence/UserDirectories.ts +273 -0
- package/src/persistence/index.ts +6 -0
- package/src/process/ChildProcess.ts +2 -1
- package/src/reactivity/AsyncResult.ts +4 -38
- package/src/reactivity/Atom.ts +134 -166
- package/src/reactivity/AtomHttpApi.ts +10 -16
- package/src/reactivity/AtomRegistry.ts +50 -29
- package/src/reactivity/AtomRpc.ts +6 -22
- package/src/reactivity/Hydration.ts +53 -12
- package/src/reactivity/Reactivity.ts +97 -39
- package/src/rpc/Rpc.ts +21 -0
- package/src/rpc/RpcClient.ts +279 -103
- package/src/rpc/RpcSerialization.ts +21 -5
- package/src/rpc/RpcServer.ts +11 -20
- package/src/schema/VariantSchema.ts +86 -22
- package/src/socket/Socket.ts +45 -20
- package/src/sql/Migrator.ts +19 -9
- package/src/sql/SqlClient.ts +266 -29
- package/src/sql/SqlResolver.ts +9 -0
- package/src/sql/Statement.ts +35 -8
- package/src/testing/TestClock.ts +4 -1
- package/src/testing/TestSchema.ts +9 -3
- package/src/workflow/WorkflowEngine.ts +34 -10
- package/dist/http/internal/preResponseHandler.d.ts +0 -2
- package/dist/http/internal/preResponseHandler.d.ts.map +0 -1
- package/dist/http/internal/preResponseHandler.js +0 -14
- package/dist/http/internal/preResponseHandler.js.map +0 -1
- package/src/http/internal/preResponseHandler.ts +0 -19
package/src/Channel.ts
CHANGED
|
@@ -22,7 +22,7 @@ import type * as Filter from "./Filter.ts"
|
|
|
22
22
|
import type { LazyArg } from "./Function.ts"
|
|
23
23
|
import { constant, constTrue, constVoid, dual, identity as identity_ } from "./Function.ts"
|
|
24
24
|
import * as Count from "./internal/count.ts"
|
|
25
|
-
import { ClockRef, endSpan } from "./internal/effect.ts"
|
|
25
|
+
import { ClockRef, endSpan, findRecoverableError } from "./internal/effect.ts"
|
|
26
26
|
import { addSpanStackTrace } from "./internal/tracer.ts"
|
|
27
27
|
import * as Iterable from "./Iterable.ts"
|
|
28
28
|
import * as Latch from "./Latch.ts"
|
|
@@ -488,7 +488,7 @@ const asyncQueue = <A, E = never, R = never>(
|
|
|
488
488
|
Effect.tap((queue) =>
|
|
489
489
|
Scope.provide(f(queue), scope).pipe(
|
|
490
490
|
Effect.catchCause((cause) => Queue.failCause(queue, cause)),
|
|
491
|
-
Effect.forkIn(scope)
|
|
491
|
+
Effect.forkIn(scope, { startImmediately: true })
|
|
492
492
|
)
|
|
493
493
|
)
|
|
494
494
|
)
|
|
@@ -1753,6 +1753,12 @@ export const fromSchedule = <O, E, R>(
|
|
|
1753
1753
|
/**
|
|
1754
1754
|
* Creates a channel from a lazily supplied Web `ReadableStream`.
|
|
1755
1755
|
*
|
|
1756
|
+
* **Details**
|
|
1757
|
+
*
|
|
1758
|
+
* Read failures are mapped with `onError`. Finalization cancels the reader and
|
|
1759
|
+
* releases its lock, or only releases the lock when `releaseLockOnEnd` is set.
|
|
1760
|
+
* A rejected cancel hook becomes a defect.
|
|
1761
|
+
*
|
|
1756
1762
|
* **Example** (Reading from a Web stream)
|
|
1757
1763
|
*
|
|
1758
1764
|
* ```ts import.meta.vitest
|
|
@@ -1795,6 +1801,7 @@ export const pullIntoWritableStream = <A, IE, E>(options: {
|
|
|
1795
1801
|
readonly writable: WritableStream<A>
|
|
1796
1802
|
readonly onError: (error: unknown) => E
|
|
1797
1803
|
readonly closeOnDone?: boolean | undefined
|
|
1804
|
+
readonly onAbort?: ((cause: Cause.Cause<IE | E>) => void) | undefined
|
|
1798
1805
|
}): Pull.Pull<never, IE | E, unknown> =>
|
|
1799
1806
|
Effect.acquireUseRelease(
|
|
1800
1807
|
Effect.sync(() => options.writable.getWriter()),
|
|
@@ -1825,10 +1832,11 @@ export const pullIntoWritableStream = <A, IE, E>(options: {
|
|
|
1825
1832
|
: loop
|
|
1826
1833
|
return Effect.onError(
|
|
1827
1834
|
withClose,
|
|
1828
|
-
(cause) =>
|
|
1829
|
-
Pull.isDoneCause(cause)
|
|
1830
|
-
|
|
1831
|
-
|
|
1835
|
+
(cause) => {
|
|
1836
|
+
if (Pull.isDoneCause(cause)) return Effect.void
|
|
1837
|
+
options.onAbort?.(cause as Cause.Cause<IE | E>)
|
|
1838
|
+
return Effect.promise(() => writer.abort(cause).catch(constVoid))
|
|
1839
|
+
}
|
|
1832
1840
|
)
|
|
1833
1841
|
},
|
|
1834
1842
|
(writer) => Effect.sync(() => writer.releaseLock())
|
|
@@ -1919,7 +1927,12 @@ export const fromTransformStream = <IE, I, O, E>(options: {
|
|
|
1919
1927
|
pull: upstream,
|
|
1920
1928
|
writable: transform.writable,
|
|
1921
1929
|
onError: options.onError,
|
|
1922
|
-
closeOnDone: options.closeOnDone
|
|
1930
|
+
closeOnDone: options.closeOnDone,
|
|
1931
|
+
// Aborting errors the readable, so record the failure first. Otherwise a
|
|
1932
|
+
// pending read reports the abort reason instead.
|
|
1933
|
+
onAbort: (cause) => {
|
|
1934
|
+
exit.current = Exit.failCause(cause)
|
|
1935
|
+
}
|
|
1923
1936
|
}).pipe(
|
|
1924
1937
|
Effect.catchCause((cause) => {
|
|
1925
1938
|
if (!Pull.isDoneCause(cause)) {
|
|
@@ -1970,7 +1983,13 @@ const readableStreamToPullUnsafe = <A, E, E2 = never>(options: {
|
|
|
1970
1983
|
options.scope,
|
|
1971
1984
|
options.releaseLockOnEnd
|
|
1972
1985
|
? Effect.sync(() => reader.releaseLock())
|
|
1973
|
-
: Effect.promise(() =>
|
|
1986
|
+
: Effect.promise(() =>
|
|
1987
|
+
reader.cancel().catch((error) =>
|
|
1988
|
+
// `closed` resolves only when the cancel hook failed. An errored
|
|
1989
|
+
// stream rejects it with an error that was already reported.
|
|
1990
|
+
reader.closed.then(() => Promise.reject(error), constVoid)
|
|
1991
|
+
)
|
|
1992
|
+
).pipe(Effect.ensuring(Effect.sync(() => reader.releaseLock())))
|
|
1974
1993
|
),
|
|
1975
1994
|
pull
|
|
1976
1995
|
)
|
|
@@ -2467,7 +2486,7 @@ const mapEffectConcurrent = <
|
|
|
2467
2486
|
const pull = yield* toTransform(self)(upstream, scope)
|
|
2468
2487
|
const concurrencyN = options.concurrency === "unbounded"
|
|
2469
2488
|
? Number.MAX_SAFE_INTEGER
|
|
2470
|
-
: options.concurrency
|
|
2489
|
+
: Math.min(options.concurrency, Number.MAX_SAFE_INTEGER)
|
|
2471
2490
|
const queue = yield* Queue.bounded<OutElem2, OutErr | EX | Cause.Done<OutDone>>(0)
|
|
2472
2491
|
yield* Scope.addFinalizer(forkedScope, Queue.shutdown(queue))
|
|
2473
2492
|
|
|
@@ -3909,12 +3928,12 @@ export const repeat: {
|
|
|
3909
3928
|
let meta = Schedule.CurrentMetadata.defaultValue()
|
|
3910
3929
|
return repeatLoop(
|
|
3911
3930
|
provideServiceEffect(self, Schedule.CurrentMetadata, Effect.sync(() => meta)),
|
|
3912
|
-
(
|
|
3913
|
-
step(
|
|
3931
|
+
(exit): Pull.Pull<void, OutErr | SE, OutDone, SR> =>
|
|
3932
|
+
Exit.isFailure(exit) ? Effect.failCause(exit.cause) : step(exit.value).pipe(
|
|
3914
3933
|
Effect.map((meta_) => {
|
|
3915
3934
|
meta = meta_
|
|
3916
3935
|
}),
|
|
3917
|
-
Pull.catchDone(() => Cause.done(
|
|
3936
|
+
Pull.catchDone(() => Cause.done(exit.value))
|
|
3918
3937
|
)
|
|
3919
3938
|
)
|
|
3920
3939
|
}),
|
|
@@ -3923,19 +3942,21 @@ export const repeat: {
|
|
|
3923
3942
|
|
|
3924
3943
|
const repeatLoop = <OutElem, OutErr, OutDone, InElem, InErr, InDone, Env, E, OutDone2, R>(
|
|
3925
3944
|
self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>,
|
|
3926
|
-
|
|
3927
|
-
): Channel<OutElem,
|
|
3945
|
+
onExit: (exit: Exit.Exit<OutDone, OutErr>, scope: Scope.Scope) => Pull.Pull<void, E, OutDone2, R>
|
|
3946
|
+
): Channel<OutElem, E, OutDone2, InElem, InErr, InDone, Env | R> =>
|
|
3928
3947
|
fromTransform((upstream, scope) =>
|
|
3929
3948
|
Effect.sync(() => {
|
|
3930
|
-
let currentPull: Pull.Pull<OutElem,
|
|
3931
|
-
const makePull = (): Pull.Pull<OutElem,
|
|
3949
|
+
let currentPull: Pull.Pull<OutElem, E, OutDone2, Env | R> | undefined
|
|
3950
|
+
const makePull = (): Pull.Pull<OutElem, E, OutDone2, Env | R> => {
|
|
3932
3951
|
const runScope = Scope.forkUnsafe(scope)
|
|
3933
3952
|
return Effect.flatMap(toTransform(self)(upstream, runScope), (pull) => {
|
|
3934
|
-
currentPull =
|
|
3935
|
-
|
|
3936
|
-
|
|
3953
|
+
currentPull = Effect.catchCause(pull, (cause) => {
|
|
3954
|
+
const exit = Pull.doneExitFromCause(cause) as Exit.Exit<OutDone, OutErr>
|
|
3955
|
+
return Scope.close(runScope, exit).pipe(
|
|
3956
|
+
Effect.flatMap(() => onExit(exit, scope)),
|
|
3937
3957
|
Effect.flatMap(makePull)
|
|
3938
|
-
)
|
|
3958
|
+
)
|
|
3959
|
+
})
|
|
3939
3960
|
return currentPull
|
|
3940
3961
|
})
|
|
3941
3962
|
}
|
|
@@ -3952,7 +3973,8 @@ const repeatLoop = <OutElem, OutErr, OutDone, InElem, InErr, InDone, Env, E, Out
|
|
|
3952
3973
|
*/
|
|
3953
3974
|
export const forever = <OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>(
|
|
3954
3975
|
self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>
|
|
3955
|
-
): Channel<OutElem, OutErr, never, InElem, InErr, InDone, Env> =>
|
|
3976
|
+
): Channel<OutElem, OutErr, never, InElem, InErr, InDone, Env> =>
|
|
3977
|
+
repeatLoop(self, (exit) => Exit.isFailure(exit) ? Effect.failCause(exit.cause) : Effect.void)
|
|
3956
3978
|
|
|
3957
3979
|
/**
|
|
3958
3980
|
* Runs a schedule step for each output element while preserving the emitted
|
|
@@ -5679,6 +5701,12 @@ export const catchCause: {
|
|
|
5679
5701
|
*
|
|
5680
5702
|
* Typed failures and interruptions are not caught.
|
|
5681
5703
|
*
|
|
5704
|
+
* **Gotchas**
|
|
5705
|
+
*
|
|
5706
|
+
* `catchDefect` recovers any cause that contains a defect, including causes
|
|
5707
|
+
* that also contain typed errors. Typed error handlers such as `catch` skip
|
|
5708
|
+
* those causes, so defects always take precedence.
|
|
5709
|
+
*
|
|
5682
5710
|
* **Example** (Recovering from a defect)
|
|
5683
5711
|
*
|
|
5684
5712
|
* ```ts import.meta.vitest
|
|
@@ -5703,6 +5731,12 @@ export const catchDefect: {
|
|
|
5703
5731
|
*
|
|
5704
5732
|
* Typed failures and interruptions are not caught.
|
|
5705
5733
|
*
|
|
5734
|
+
* **Gotchas**
|
|
5735
|
+
*
|
|
5736
|
+
* `catchDefect` recovers any cause that contains a defect, including causes
|
|
5737
|
+
* that also contain typed errors. Typed error handlers such as `catch` skip
|
|
5738
|
+
* those causes, so defects always take precedence.
|
|
5739
|
+
*
|
|
5706
5740
|
* **Example** (Recovering from a defect)
|
|
5707
5741
|
*
|
|
5708
5742
|
* ```ts import.meta.vitest
|
|
@@ -5739,6 +5773,12 @@ export const catchDefect: {
|
|
|
5739
5773
|
*
|
|
5740
5774
|
* Typed failures and interruptions are not caught.
|
|
5741
5775
|
*
|
|
5776
|
+
* **Gotchas**
|
|
5777
|
+
*
|
|
5778
|
+
* `catchDefect` recovers any cause that contains a defect, including causes
|
|
5779
|
+
* that also contain typed errors. Typed error handlers such as `catch` skip
|
|
5780
|
+
* those causes, so defects always take precedence.
|
|
5781
|
+
*
|
|
5742
5782
|
* **Example** (Recovering from a defect)
|
|
5743
5783
|
*
|
|
5744
5784
|
* ```ts import.meta.vitest
|
|
@@ -6362,12 +6402,19 @@ const catch_: {
|
|
|
6362
6402
|
InErr & InErr1,
|
|
6363
6403
|
InDone & InDone1,
|
|
6364
6404
|
Env | Env1
|
|
6365
|
-
> => catchCauseFilter(self,
|
|
6405
|
+
> => catchCauseFilter(self, findRecoverableError, (e) => f(e)))
|
|
6366
6406
|
|
|
6367
6407
|
export {
|
|
6368
6408
|
/**
|
|
6369
6409
|
* Recovers from typed channel errors by running a fallback channel.
|
|
6370
6410
|
*
|
|
6411
|
+
* **Gotchas**
|
|
6412
|
+
*
|
|
6413
|
+
* Defects take precedence over typed errors. If the cause also contains a
|
|
6414
|
+
* defect, the handler does not run and the failure is propagated with every
|
|
6415
|
+
* typed error converted to a defect. An interruption alongside a typed error
|
|
6416
|
+
* does not prevent recovery.
|
|
6417
|
+
*
|
|
6371
6418
|
* @stability stable
|
|
6372
6419
|
* @category error handling
|
|
6373
6420
|
* @since 4.0.0
|
|
@@ -6500,6 +6547,12 @@ export const tapError: {
|
|
|
6500
6547
|
* are handled by `orElse` when provided. Without `orElse`, non-matching errors
|
|
6501
6548
|
* are re-failed.
|
|
6502
6549
|
*
|
|
6550
|
+
* **Gotchas**
|
|
6551
|
+
*
|
|
6552
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
6553
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
6554
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
6555
|
+
*
|
|
6503
6556
|
* @see {@link catch_ catch} for recovering from every typed channel error
|
|
6504
6557
|
* @see {@link catchFilter} for selecting typed errors with a `Filter`
|
|
6505
6558
|
* @see {@link catchTag} for selecting tagged typed errors
|
|
@@ -6524,6 +6577,12 @@ export const catchIf: {
|
|
|
6524
6577
|
* are handled by `orElse` when provided. Without `orElse`, non-matching errors
|
|
6525
6578
|
* are re-failed.
|
|
6526
6579
|
*
|
|
6580
|
+
* **Gotchas**
|
|
6581
|
+
*
|
|
6582
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
6583
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
6584
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
6585
|
+
*
|
|
6527
6586
|
* @see {@link catch_ catch} for recovering from every typed channel error
|
|
6528
6587
|
* @see {@link catchFilter} for selecting typed errors with a `Filter`
|
|
6529
6588
|
* @see {@link catchTag} for selecting tagged typed errors
|
|
@@ -6551,7 +6610,7 @@ export const catchIf: {
|
|
|
6551
6610
|
InDone2 = unknown,
|
|
6552
6611
|
Env2 = never
|
|
6553
6612
|
>(
|
|
6554
|
-
refinement: Predicate.Refinement<OutErr
|
|
6613
|
+
refinement: Predicate.Refinement<NoInfer<OutErr>, EB>,
|
|
6555
6614
|
f: (failure: EB) => Channel<OutElem1, OutErr1, OutDone1, InElem1, InErr1, InDone1, Env1>,
|
|
6556
6615
|
orElse?:
|
|
6557
6616
|
| ((
|
|
@@ -6588,6 +6647,12 @@ export const catchIf: {
|
|
|
6588
6647
|
* are handled by `orElse` when provided. Without `orElse`, non-matching errors
|
|
6589
6648
|
* are re-failed.
|
|
6590
6649
|
*
|
|
6650
|
+
* **Gotchas**
|
|
6651
|
+
*
|
|
6652
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
6653
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
6654
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
6655
|
+
*
|
|
6591
6656
|
* @see {@link catch_ catch} for recovering from every typed channel error
|
|
6592
6657
|
* @see {@link catchFilter} for selecting typed errors with a `Filter`
|
|
6593
6658
|
* @see {@link catchTag} for selecting tagged typed errors
|
|
@@ -6651,6 +6716,12 @@ export const catchIf: {
|
|
|
6651
6716
|
* are handled by `orElse` when provided. Without `orElse`, non-matching errors
|
|
6652
6717
|
* are re-failed.
|
|
6653
6718
|
*
|
|
6719
|
+
* **Gotchas**
|
|
6720
|
+
*
|
|
6721
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
6722
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
6723
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
6724
|
+
*
|
|
6654
6725
|
* @see {@link catch_ catch} for recovering from every typed channel error
|
|
6655
6726
|
* @see {@link catchFilter} for selecting typed errors with a `Filter`
|
|
6656
6727
|
* @see {@link catchTag} for selecting tagged typed errors
|
|
@@ -6685,7 +6756,7 @@ export const catchIf: {
|
|
|
6685
6756
|
Env2 = never
|
|
6686
6757
|
>(
|
|
6687
6758
|
self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>,
|
|
6688
|
-
refinement: Predicate.Refinement<OutErr
|
|
6759
|
+
refinement: Predicate.Refinement<NoInfer<OutErr>, EB>,
|
|
6689
6760
|
f: (failure: EB) => Channel<OutElem1, OutErr1, OutDone1, InElem1, InErr1, InDone1, Env1>,
|
|
6690
6761
|
orElse?:
|
|
6691
6762
|
| ((
|
|
@@ -6715,6 +6786,12 @@ export const catchIf: {
|
|
|
6715
6786
|
* are handled by `orElse` when provided. Without `orElse`, non-matching errors
|
|
6716
6787
|
* are re-failed.
|
|
6717
6788
|
*
|
|
6789
|
+
* **Gotchas**
|
|
6790
|
+
*
|
|
6791
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
6792
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
6793
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
6794
|
+
*
|
|
6718
6795
|
* @see {@link catch_ catch} for recovering from every typed channel error
|
|
6719
6796
|
* @see {@link catchFilter} for selecting typed errors with a `Filter`
|
|
6720
6797
|
* @see {@link catchTag} for selecting tagged typed errors
|
|
@@ -6837,6 +6914,12 @@ export const catchIf: {
|
|
|
6837
6914
|
* filter results are handled by `orElse` when provided. Without `orElse`,
|
|
6838
6915
|
* failed filter results are re-failed.
|
|
6839
6916
|
*
|
|
6917
|
+
* **Gotchas**
|
|
6918
|
+
*
|
|
6919
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
6920
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
6921
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
6922
|
+
*
|
|
6840
6923
|
* @see {@link catchIf} for selecting typed errors with a predicate
|
|
6841
6924
|
* @see {@link catchTag} for selecting tagged typed errors
|
|
6842
6925
|
* @see {@link catchCauseFilter} for selecting full causes with a `Filter`
|
|
@@ -6860,6 +6943,12 @@ export const catchFilter: {
|
|
|
6860
6943
|
* filter results are handled by `orElse` when provided. Without `orElse`,
|
|
6861
6944
|
* failed filter results are re-failed.
|
|
6862
6945
|
*
|
|
6946
|
+
* **Gotchas**
|
|
6947
|
+
*
|
|
6948
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
6949
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
6950
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
6951
|
+
*
|
|
6863
6952
|
* @see {@link catchIf} for selecting typed errors with a predicate
|
|
6864
6953
|
* @see {@link catchTag} for selecting tagged typed errors
|
|
6865
6954
|
* @see {@link catchCauseFilter} for selecting full causes with a `Filter`
|
|
@@ -6924,6 +7013,12 @@ export const catchFilter: {
|
|
|
6924
7013
|
* filter results are handled by `orElse` when provided. Without `orElse`,
|
|
6925
7014
|
* failed filter results are re-failed.
|
|
6926
7015
|
*
|
|
7016
|
+
* **Gotchas**
|
|
7017
|
+
*
|
|
7018
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
7019
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
7020
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
7021
|
+
*
|
|
6927
7022
|
* @see {@link catchIf} for selecting typed errors with a predicate
|
|
6928
7023
|
* @see {@link catchTag} for selecting tagged typed errors
|
|
6929
7024
|
* @see {@link catchCauseFilter} for selecting full causes with a `Filter`
|
|
@@ -7045,6 +7140,12 @@ export const catchFilter: {
|
|
|
7045
7140
|
* errors are handled by `orElse` when provided. Without `orElse`,
|
|
7046
7141
|
* non-matching errors are re-failed.
|
|
7047
7142
|
*
|
|
7143
|
+
* **Gotchas**
|
|
7144
|
+
*
|
|
7145
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
7146
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
7147
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
7148
|
+
*
|
|
7048
7149
|
* @stability stable
|
|
7049
7150
|
* @category error handling
|
|
7050
7151
|
* @since 4.0.0
|
|
@@ -7059,6 +7160,12 @@ export const catchTag: {
|
|
|
7059
7160
|
* errors are handled by `orElse` when provided. Without `orElse`,
|
|
7060
7161
|
* non-matching errors are re-failed.
|
|
7061
7162
|
*
|
|
7163
|
+
* **Gotchas**
|
|
7164
|
+
*
|
|
7165
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
7166
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
7167
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
7168
|
+
*
|
|
7062
7169
|
* @stability stable
|
|
7063
7170
|
* @category error handling
|
|
7064
7171
|
* @since 4.0.0
|
|
@@ -7119,6 +7226,12 @@ export const catchTag: {
|
|
|
7119
7226
|
* errors are handled by `orElse` when provided. Without `orElse`,
|
|
7120
7227
|
* non-matching errors are re-failed.
|
|
7121
7228
|
*
|
|
7229
|
+
* **Gotchas**
|
|
7230
|
+
*
|
|
7231
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
7232
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
7233
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
7234
|
+
*
|
|
7122
7235
|
* @stability stable
|
|
7123
7236
|
* @category error handling
|
|
7124
7237
|
* @since 4.0.0
|
|
@@ -7222,6 +7335,12 @@ export const catchTag: {
|
|
|
7222
7335
|
/**
|
|
7223
7336
|
* Catches a specific reason within a tagged error.
|
|
7224
7337
|
*
|
|
7338
|
+
* **Gotchas**
|
|
7339
|
+
*
|
|
7340
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
7341
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
7342
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
7343
|
+
*
|
|
7225
7344
|
* **Example** (Recovering from nested reasons)
|
|
7226
7345
|
*
|
|
7227
7346
|
* ```ts import.meta.vitest
|
|
@@ -7258,6 +7377,12 @@ export const catchReason: {
|
|
|
7258
7377
|
/**
|
|
7259
7378
|
* Catches a specific reason within a tagged error.
|
|
7260
7379
|
*
|
|
7380
|
+
* **Gotchas**
|
|
7381
|
+
*
|
|
7382
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
7383
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
7384
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
7385
|
+
*
|
|
7261
7386
|
* **Example** (Recovering from nested reasons)
|
|
7262
7387
|
*
|
|
7263
7388
|
* ```ts import.meta.vitest
|
|
@@ -7345,6 +7470,12 @@ export const catchReason: {
|
|
|
7345
7470
|
/**
|
|
7346
7471
|
* Catches a specific reason within a tagged error.
|
|
7347
7472
|
*
|
|
7473
|
+
* **Gotchas**
|
|
7474
|
+
*
|
|
7475
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
7476
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
7477
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
7478
|
+
*
|
|
7348
7479
|
* **Example** (Recovering from nested reasons)
|
|
7349
7480
|
*
|
|
7350
7481
|
* ```ts import.meta.vitest
|
|
@@ -7502,6 +7633,12 @@ export const catchReason: {
|
|
|
7502
7633
|
/**
|
|
7503
7634
|
* Catches multiple reasons within a tagged error using an object of handlers.
|
|
7504
7635
|
*
|
|
7636
|
+
* **Gotchas**
|
|
7637
|
+
*
|
|
7638
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
7639
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
7640
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
7641
|
+
*
|
|
7505
7642
|
* @stability stable
|
|
7506
7643
|
* @category error handling
|
|
7507
7644
|
* @since 4.0.0
|
|
@@ -7510,6 +7647,12 @@ export const catchReasons: {
|
|
|
7510
7647
|
/**
|
|
7511
7648
|
* Catches multiple reasons within a tagged error using an object of handlers.
|
|
7512
7649
|
*
|
|
7650
|
+
* **Gotchas**
|
|
7651
|
+
*
|
|
7652
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
7653
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
7654
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
7655
|
+
*
|
|
7513
7656
|
* @stability stable
|
|
7514
7657
|
* @category error handling
|
|
7515
7658
|
* @since 4.0.0
|
|
@@ -7589,6 +7732,12 @@ export const catchReasons: {
|
|
|
7589
7732
|
/**
|
|
7590
7733
|
* Catches multiple reasons within a tagged error using an object of handlers.
|
|
7591
7734
|
*
|
|
7735
|
+
* **Gotchas**
|
|
7736
|
+
*
|
|
7737
|
+
* If the cause contains a defect, the handler is skipped and every typed error
|
|
7738
|
+
* is converted to a defect, preserving reason order and interrupts. An
|
|
7739
|
+
* interruption alongside a typed error does not prevent recovery.
|
|
7740
|
+
*
|
|
7592
7741
|
* @stability stable
|
|
7593
7742
|
* @category error handling
|
|
7594
7743
|
* @since 4.0.0
|
|
@@ -7848,9 +7997,12 @@ export const unwrapReason: {
|
|
|
7848
7997
|
) as any)
|
|
7849
7998
|
|
|
7850
7999
|
/**
|
|
7851
|
-
*
|
|
7852
|
-
*
|
|
7853
|
-
*
|
|
8000
|
+
* Transforms the typed errors of a channel using the specified function.
|
|
8001
|
+
*
|
|
8002
|
+
* **Details**
|
|
8003
|
+
*
|
|
8004
|
+
* Maps every typed error in the cause, preserving defects, interrupts and
|
|
8005
|
+
* reason order. Unlike typed recovery, mapping does not convert errors to defects.
|
|
7854
8006
|
*
|
|
7855
8007
|
* @stability stable
|
|
7856
8008
|
* @category error handling
|
|
@@ -7858,9 +8010,12 @@ export const unwrapReason: {
|
|
|
7858
8010
|
*/
|
|
7859
8011
|
export const mapError: {
|
|
7860
8012
|
/**
|
|
7861
|
-
*
|
|
7862
|
-
*
|
|
7863
|
-
*
|
|
8013
|
+
* Transforms the typed errors of a channel using the specified function.
|
|
8014
|
+
*
|
|
8015
|
+
* **Details**
|
|
8016
|
+
*
|
|
8017
|
+
* Maps every typed error in the cause, preserving defects, interrupts and
|
|
8018
|
+
* reason order. Unlike typed recovery, mapping does not convert errors to defects.
|
|
7864
8019
|
*
|
|
7865
8020
|
* @stability stable
|
|
7866
8021
|
* @category error handling
|
|
@@ -7870,9 +8025,12 @@ export const mapError: {
|
|
|
7870
8025
|
self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>
|
|
7871
8026
|
) => Channel<OutElem, OutErr2, OutDone, InElem, InErr, InDone, Env>
|
|
7872
8027
|
/**
|
|
7873
|
-
*
|
|
7874
|
-
*
|
|
7875
|
-
*
|
|
8028
|
+
* Transforms the typed errors of a channel using the specified function.
|
|
8029
|
+
*
|
|
8030
|
+
* **Details**
|
|
8031
|
+
*
|
|
8032
|
+
* Maps every typed error in the cause, preserving defects, interrupts and
|
|
8033
|
+
* reason order. Unlike typed recovery, mapping does not convert errors to defects.
|
|
7876
8034
|
*
|
|
7877
8035
|
* @stability stable
|
|
7878
8036
|
* @category error handling
|
|
@@ -7885,7 +8043,11 @@ export const mapError: {
|
|
|
7885
8043
|
} = dual(2, <OutElem, OutErr, OutDone, InElem, InErr, InDone, Env, OutErr2>(
|
|
7886
8044
|
self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>,
|
|
7887
8045
|
f: (err: OutErr) => OutErr2
|
|
7888
|
-
): Channel<OutElem, OutErr2, OutDone, InElem, InErr, InDone, Env> =>
|
|
8046
|
+
): Channel<OutElem, OutErr2, OutDone, InElem, InErr, InDone, Env> =>
|
|
8047
|
+
transformPull(
|
|
8048
|
+
self,
|
|
8049
|
+
(pull) => Effect.succeed(Effect.mapError(pull, (err) => Cause.isDone(err) ? err : f(err)))
|
|
8050
|
+
))
|
|
7889
8051
|
|
|
7890
8052
|
/**
|
|
7891
8053
|
* Converts all errors in the channel to defects (unrecoverable failures).
|
|
@@ -7933,6 +8095,13 @@ export const orDie = <
|
|
|
7933
8095
|
*
|
|
7934
8096
|
* Use the `log` option to emit the full {@link Cause} when the channel fails.
|
|
7935
8097
|
*
|
|
8098
|
+
* **Gotchas**
|
|
8099
|
+
*
|
|
8100
|
+
* Defects take precedence over typed errors. If the cause also contains a
|
|
8101
|
+
* defect, the failure is not ignored and is propagated with every typed error
|
|
8102
|
+
* converted to a defect. An interruption alongside a typed error does not
|
|
8103
|
+
* prevent the error from being ignored.
|
|
8104
|
+
*
|
|
7936
8105
|
* @stability stable
|
|
7937
8106
|
* @category error handling
|
|
7938
8107
|
* @since 4.0.0
|
|
@@ -8032,6 +8201,12 @@ export const ignoreCause: <
|
|
|
8032
8201
|
* Returns a new channel that retries this channel according to the specified
|
|
8033
8202
|
* schedule whenever it fails.
|
|
8034
8203
|
*
|
|
8204
|
+
* **Gotchas**
|
|
8205
|
+
*
|
|
8206
|
+
* Defects take precedence over typed errors. A failure whose cause contains a
|
|
8207
|
+
* defect is not retried and is propagated with every typed error converted to a
|
|
8208
|
+
* defect. A typed error alongside an interruption is retried.
|
|
8209
|
+
*
|
|
8035
8210
|
* @stability stable
|
|
8036
8211
|
* @category error handling
|
|
8037
8212
|
* @since 4.0.0
|
|
@@ -8041,6 +8216,12 @@ export const retry: {
|
|
|
8041
8216
|
* Returns a new channel that retries this channel according to the specified
|
|
8042
8217
|
* schedule whenever it fails.
|
|
8043
8218
|
*
|
|
8219
|
+
* **Gotchas**
|
|
8220
|
+
*
|
|
8221
|
+
* Defects take precedence over typed errors. A failure whose cause contains a
|
|
8222
|
+
* defect is not retried and is propagated with every typed error converted to a
|
|
8223
|
+
* defect. A typed error alongside an interruption is retried.
|
|
8224
|
+
*
|
|
8044
8225
|
* @stability stable
|
|
8045
8226
|
* @category error handling
|
|
8046
8227
|
* @since 4.0.0
|
|
@@ -8060,6 +8241,12 @@ export const retry: {
|
|
|
8060
8241
|
* Returns a new channel that retries this channel according to the specified
|
|
8061
8242
|
* schedule whenever it fails.
|
|
8062
8243
|
*
|
|
8244
|
+
* **Gotchas**
|
|
8245
|
+
*
|
|
8246
|
+
* Defects take precedence over typed errors. A failure whose cause contains a
|
|
8247
|
+
* defect is not retried and is propagated with every typed error converted to a
|
|
8248
|
+
* defect. A typed error alongside an interruption is retried.
|
|
8249
|
+
*
|
|
8063
8250
|
* @stability stable
|
|
8064
8251
|
* @category error handling
|
|
8065
8252
|
* @since 4.0.0
|
|
@@ -8091,29 +8278,20 @@ export const retry: {
|
|
|
8091
8278
|
return Effect.void
|
|
8092
8279
|
})
|
|
8093
8280
|
const resolvedSchedule = typeof schedule === "function" ? schedule(identity_) : schedule
|
|
8094
|
-
|
|
8095
|
-
|
|
8096
|
-
|
|
8097
|
-
|
|
8098
|
-
|
|
8099
|
-
|
|
8100
|
-
|
|
8101
|
-
|
|
8102
|
-
|
|
8103
|
-
|
|
8104
|
-
|
|
8105
|
-
|
|
8106
|
-
if (!step) {
|
|
8107
|
-
step = yield* Schedule.toStepWithMetadata(resolvedSchedule)
|
|
8108
|
-
}
|
|
8109
|
-
meta = yield* step(error)
|
|
8110
|
-
return loop
|
|
8111
|
-
},
|
|
8112
|
-
(effect, error) => Pull.catchDone(effect, () => Effect.succeed(fail(error))),
|
|
8113
|
-
unwrap
|
|
8281
|
+
return repeatLoop(withReset, (exit, scope) => {
|
|
8282
|
+
if (Exit.isSuccess(exit)) return Cause.done(exit.value)
|
|
8283
|
+
const error = findRecoverableError(exit.cause)
|
|
8284
|
+
if (Result.isFailure(error)) return Effect.failCause(error.failure)
|
|
8285
|
+
return Effect.gen(function*() {
|
|
8286
|
+
if (!step) {
|
|
8287
|
+
step = yield* Schedule.toStepWithMetadata(resolvedSchedule)
|
|
8288
|
+
}
|
|
8289
|
+
meta = yield* step(error.success)
|
|
8290
|
+
}).pipe(
|
|
8291
|
+
Pull.catchDone(() => Effect.fail(error.success)),
|
|
8292
|
+
Scope.provide(scope)
|
|
8114
8293
|
)
|
|
8115
|
-
)
|
|
8116
|
-
return loop
|
|
8294
|
+
})
|
|
8117
8295
|
}))
|
|
8118
8296
|
|
|
8119
8297
|
/**
|
|
@@ -8507,83 +8685,9 @@ export const mergeAll: {
|
|
|
8507
8685
|
: Math.max(1, concurrency)
|
|
8508
8686
|
const semaphore = switch_ ? undefined : Semaphore.makeUnsafe(concurrencyN)
|
|
8509
8687
|
const doneLatch = yield* Latch.make(true)
|
|
8510
|
-
const fibers = new
|
|
8511
|
-
|
|
8512
|
-
const queue = yield* Queue.bounded
|
|
8513
|
-
* Merges multiple channels with specified concurrency and buffering options.
|
|
8514
|
-
*
|
|
8515
|
-
* **When to use**
|
|
8516
|
-
*
|
|
8517
|
-
* Use when channel outputs are themselves channels and multiple inner channels
|
|
8518
|
-
* should run with configured concurrency and buffering.
|
|
8519
|
-
*
|
|
8520
|
-
* **Example** (Merging nested channels)
|
|
8521
|
-
*
|
|
8522
|
-
* ```ts import.meta.vitest
|
|
8523
|
-
* import { Channel, Data, Effect } from "effect"
|
|
8524
|
-
*
|
|
8525
|
-
* class MergeAllError extends Data.TaggedError("MergeAllError")<{
|
|
8526
|
-
* readonly reason: string
|
|
8527
|
-
* }> {}
|
|
8528
|
-
*
|
|
8529
|
-
* // Create channels that output other channels
|
|
8530
|
-
* const nestedChannels = Channel.fromIterable([
|
|
8531
|
-
* Channel.fromIterable([1, 2]),
|
|
8532
|
-
* Channel.fromIterable([3, 4]),
|
|
8533
|
-
* Channel.fromIterable([5, 6])
|
|
8534
|
-
* ])
|
|
8535
|
-
*
|
|
8536
|
-
* // Merge all channels with bounded concurrency
|
|
8537
|
-
* const mergedChannel = Channel.mergeAll({
|
|
8538
|
-
* concurrency: 1,
|
|
8539
|
-
* bufferSize: 16
|
|
8540
|
-
* })(nestedChannels)
|
|
8541
|
-
*
|
|
8542
|
-
* await Effect.runPromise(Channel.runCollect(mergedChannel)) // => [1, 2, 3, 4, 5, 6]
|
|
8543
|
-
* ```
|
|
8544
|
-
*
|
|
8545
|
-
* @stability stable
|
|
8546
|
-
* @category combining
|
|
8547
|
-
* @since 2.0.0
|
|
8548
|
-
*/
|
|
8549
|
-
OutElem, /**
|
|
8550
|
-
* Merges multiple channels with specified concurrency and buffering options.
|
|
8551
|
-
*
|
|
8552
|
-
* **When to use**
|
|
8553
|
-
*
|
|
8554
|
-
* Use when channel outputs are themselves channels and multiple inner channels
|
|
8555
|
-
* should run with configured concurrency and buffering.
|
|
8556
|
-
*
|
|
8557
|
-
* **Example** (Merging nested channels)
|
|
8558
|
-
*
|
|
8559
|
-
* ```ts import.meta.vitest
|
|
8560
|
-
* import { Channel, Data, Effect } from "effect"
|
|
8561
|
-
*
|
|
8562
|
-
* class MergeAllError extends Data.TaggedError("MergeAllError")<{
|
|
8563
|
-
* readonly reason: string
|
|
8564
|
-
* }> {}
|
|
8565
|
-
*
|
|
8566
|
-
* // Create channels that output other channels
|
|
8567
|
-
* const nestedChannels = Channel.fromIterable([
|
|
8568
|
-
* Channel.fromIterable([1, 2]),
|
|
8569
|
-
* Channel.fromIterable([3, 4]),
|
|
8570
|
-
* Channel.fromIterable([5, 6])
|
|
8571
|
-
* ])
|
|
8572
|
-
*
|
|
8573
|
-
* // Merge all channels with bounded concurrency
|
|
8574
|
-
* const mergedChannel = Channel.mergeAll({
|
|
8575
|
-
* concurrency: 1,
|
|
8576
|
-
* bufferSize: 16
|
|
8577
|
-
* })(nestedChannels)
|
|
8578
|
-
*
|
|
8579
|
-
* await Effect.runPromise(Channel.runCollect(mergedChannel)) // => [1, 2, 3, 4, 5, 6]
|
|
8580
|
-
* ```
|
|
8581
|
-
*
|
|
8582
|
-
* @stability stable
|
|
8583
|
-
* @category combining
|
|
8584
|
-
* @since 2.0.0
|
|
8585
|
-
*/
|
|
8586
|
-
OutErr | OutErr1 | Cause.Done<OutDone>>(
|
|
8688
|
+
const fibers = new Map<Fiber.Fiber<any, any>, Scope.Closeable>()
|
|
8689
|
+
|
|
8690
|
+
const queue = yield* Queue.bounded<OutElem, OutErr | OutErr1 | Cause.Done<OutDone>>(
|
|
8587
8691
|
bufferSize
|
|
8588
8692
|
)
|
|
8589
8693
|
yield* Scope.addFinalizer(forkedScope, Queue.shutdown(queue))
|
|
@@ -8611,10 +8715,14 @@ export const mergeAll: {
|
|
|
8611
8715
|
const childPull = yield* toTransform(channel)(upstream, childScope)
|
|
8612
8716
|
|
|
8613
8717
|
while (fibers.size >= concurrencyN) {
|
|
8614
|
-
const fiber = Iterable.headUnsafe(fibers)
|
|
8718
|
+
const [fiber, fiberScope] = Iterable.headUnsafe(fibers)
|
|
8615
8719
|
fibers.delete(fiber)
|
|
8616
8720
|
if (fibers.size === 0) yield* doneLatch.open
|
|
8617
8721
|
yield* Fiber.interrupt(fiber)
|
|
8722
|
+
// A worker interrupted before it starts never closes its own
|
|
8723
|
+
// scope. Finalizer failures of replaced workers are discarded
|
|
8724
|
+
// either way.
|
|
8725
|
+
yield* Effect.ignoreCause(Scope.close(fiberScope, Exit.interrupt()))
|
|
8618
8726
|
}
|
|
8619
8727
|
|
|
8620
8728
|
const fiber = yield* childPull.pipe(
|
|
@@ -8638,7 +8746,7 @@ export const mergeAll: {
|
|
|
8638
8746
|
)
|
|
8639
8747
|
|
|
8640
8748
|
doneLatch.closeUnsafe()
|
|
8641
|
-
fibers.
|
|
8749
|
+
fibers.set(fiber, childScope)
|
|
8642
8750
|
}
|
|
8643
8751
|
}).pipe(
|
|
8644
8752
|
Effect.catchCause((cause) => {
|
|
@@ -8825,55 +8933,7 @@ export const merge: {
|
|
|
8825
8933
|
> =>
|
|
8826
8934
|
fromTransformBracket(Effect.fnUntraced(function*(upstream, _scope, forkedScope) {
|
|
8827
8935
|
const strategy = options?.haltStrategy ?? "both"
|
|
8828
|
-
const queue = yield* Queue.bounded
|
|
8829
|
-
* Returns a new channel, which is the merge of this channel and the specified
|
|
8830
|
-
* channel.
|
|
8831
|
-
*
|
|
8832
|
-
* **Example** (Merging channels)
|
|
8833
|
-
*
|
|
8834
|
-
* ```ts import.meta.vitest
|
|
8835
|
-
* import { Channel, Effect } from "effect"
|
|
8836
|
-
*
|
|
8837
|
-
* // Create two channels
|
|
8838
|
-
* const leftChannel = Channel.fromIterable([1, 2, 3])
|
|
8839
|
-
* const rightChannel = Channel.fromIterable(["a", "b", "c"])
|
|
8840
|
-
*
|
|
8841
|
-
* // The default "both" strategy waits for both channels to complete
|
|
8842
|
-
* const mergedChannel = Channel.merge(leftChannel, rightChannel)
|
|
8843
|
-
*
|
|
8844
|
-
* const values = await Effect.runPromise(Channel.runCollect(mergedChannel))
|
|
8845
|
-
* values.map(String).sort() // => ["1", "2", "3", "a", "b", "c"]
|
|
8846
|
-
* ```
|
|
8847
|
-
*
|
|
8848
|
-
* @stability stable
|
|
8849
|
-
* @category combining
|
|
8850
|
-
* @since 4.0.0
|
|
8851
|
-
*/
|
|
8852
|
-
OutElem | OutElem1, /**
|
|
8853
|
-
* Returns a new channel, which is the merge of this channel and the specified
|
|
8854
|
-
* channel.
|
|
8855
|
-
*
|
|
8856
|
-
* **Example** (Merging channels)
|
|
8857
|
-
*
|
|
8858
|
-
* ```ts import.meta.vitest
|
|
8859
|
-
* import { Channel, Effect } from "effect"
|
|
8860
|
-
*
|
|
8861
|
-
* // Create two channels
|
|
8862
|
-
* const leftChannel = Channel.fromIterable([1, 2, 3])
|
|
8863
|
-
* const rightChannel = Channel.fromIterable(["a", "b", "c"])
|
|
8864
|
-
*
|
|
8865
|
-
* // The default "both" strategy waits for both channels to complete
|
|
8866
|
-
* const mergedChannel = Channel.merge(leftChannel, rightChannel)
|
|
8867
|
-
*
|
|
8868
|
-
* const values = await Effect.runPromise(Channel.runCollect(mergedChannel))
|
|
8869
|
-
* values.map(String).sort() // => ["1", "2", "3", "a", "b", "c"]
|
|
8870
|
-
* ```
|
|
8871
|
-
*
|
|
8872
|
-
* @stability stable
|
|
8873
|
-
* @category combining
|
|
8874
|
-
* @since 4.0.0
|
|
8875
|
-
*/
|
|
8876
|
-
OutErr | OutErr1 | Cause.Done<OutDone | OutDone1>>(0)
|
|
8936
|
+
const queue = yield* Queue.bounded<OutElem | OutElem1, OutErr | OutErr1 | Cause.Done<OutDone | OutDone1>>(0)
|
|
8877
8937
|
yield* Scope.addFinalizer(forkedScope, Queue.shutdown(queue))
|
|
8878
8938
|
let done = 0
|
|
8879
8939
|
function onExit(
|
|
@@ -9136,8 +9196,9 @@ export const splitLines = <Err, Done>(): Channel<
|
|
|
9136
9196
|
* **Details**
|
|
9137
9197
|
*
|
|
9138
9198
|
* Input chunks are decoded with streaming enabled so multi-byte characters may
|
|
9139
|
-
* span `Uint8Array` boundaries.
|
|
9140
|
-
*
|
|
9199
|
+
* span `Uint8Array` boundaries. On normal completion, incomplete trailing
|
|
9200
|
+
* characters become U+FFFD or, with `fatal: true`, a defect. The optional
|
|
9201
|
+
* `encoding` and `options` are passed to `TextDecoder`.
|
|
9141
9202
|
*
|
|
9142
9203
|
* @stability stable
|
|
9143
9204
|
* @category decoding
|
|
@@ -9158,7 +9219,15 @@ export const decodeText = <Err, Done>(
|
|
|
9158
9219
|
Effect.sync(() => {
|
|
9159
9220
|
const decoder = new TextDecoder(encoding, options)
|
|
9160
9221
|
const streamOptions = { stream: true }
|
|
9161
|
-
|
|
9222
|
+
let pull: Pull.Pull<Arr.NonEmptyReadonlyArray<string>, Err, Done> = upstream.pipe(
|
|
9223
|
+
Effect.map(Arr.map((bytes) => decoder.decode(bytes, streamOptions))),
|
|
9224
|
+
Pull.catchDone((leftover) => {
|
|
9225
|
+
pull = Cause.done(leftover as Done)
|
|
9226
|
+
const last = decoder.decode()
|
|
9227
|
+
return last.length > 0 ? Effect.succeed(Arr.of(last)) : pull
|
|
9228
|
+
})
|
|
9229
|
+
)
|
|
9230
|
+
return Effect.suspend(() => pull)
|
|
9162
9231
|
})
|
|
9163
9232
|
)
|
|
9164
9233
|
|
|
@@ -9708,59 +9777,7 @@ export const buffer: {
|
|
|
9708
9777
|
): Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env> =>
|
|
9709
9778
|
fromTransform(Effect.fnUntraced(function*(upstream, scope) {
|
|
9710
9779
|
const pull = yield* toTransform(self)(upstream, scope)
|
|
9711
|
-
const queue = yield* Queue.make
|
|
9712
|
-
* Buffers individual output elements in a queue with the configured `capacity`
|
|
9713
|
-
* so a faster producer can progress independently of a slower consumer.
|
|
9714
|
-
*
|
|
9715
|
-
* **When to use**
|
|
9716
|
-
*
|
|
9717
|
-
* Use when output elements can be decoupled from downstream demand and the
|
|
9718
|
-
* configured backpressure or loss strategy is acceptable.
|
|
9719
|
-
*
|
|
9720
|
-
* **Details**
|
|
9721
|
-
*
|
|
9722
|
-
* Finite queues use the `strategy` option. The default `"suspend"` strategy
|
|
9723
|
-
* applies backpressure, while `"dropping"` and `"sliding"` can discard output
|
|
9724
|
-
* elements when the queue is full. `"unbounded"` capacity does not use a finite
|
|
9725
|
-
* capacity strategy.
|
|
9726
|
-
*
|
|
9727
|
-
* **Gotchas**
|
|
9728
|
-
*
|
|
9729
|
-
* Dropping and sliding strategies can lose output elements under backpressure.
|
|
9730
|
-
*
|
|
9731
|
-
* @see {@link bufferArray} for buffering elements from array outputs
|
|
9732
|
-
*
|
|
9733
|
-
* @stability stable
|
|
9734
|
-
* @category buffering
|
|
9735
|
-
* @since 2.0.0
|
|
9736
|
-
*/
|
|
9737
|
-
OutElem, /**
|
|
9738
|
-
* Buffers individual output elements in a queue with the configured `capacity`
|
|
9739
|
-
* so a faster producer can progress independently of a slower consumer.
|
|
9740
|
-
*
|
|
9741
|
-
* **When to use**
|
|
9742
|
-
*
|
|
9743
|
-
* Use when output elements can be decoupled from downstream demand and the
|
|
9744
|
-
* configured backpressure or loss strategy is acceptable.
|
|
9745
|
-
*
|
|
9746
|
-
* **Details**
|
|
9747
|
-
*
|
|
9748
|
-
* Finite queues use the `strategy` option. The default `"suspend"` strategy
|
|
9749
|
-
* applies backpressure, while `"dropping"` and `"sliding"` can discard output
|
|
9750
|
-
* elements when the queue is full. `"unbounded"` capacity does not use a finite
|
|
9751
|
-
* capacity strategy.
|
|
9752
|
-
*
|
|
9753
|
-
* **Gotchas**
|
|
9754
|
-
*
|
|
9755
|
-
* Dropping and sliding strategies can lose output elements under backpressure.
|
|
9756
|
-
*
|
|
9757
|
-
* @see {@link bufferArray} for buffering elements from array outputs
|
|
9758
|
-
*
|
|
9759
|
-
* @stability stable
|
|
9760
|
-
* @category buffering
|
|
9761
|
-
* @since 2.0.0
|
|
9762
|
-
*/
|
|
9763
|
-
OutErr | Cause.Done<OutDone>>({
|
|
9780
|
+
const queue = yield* Queue.make<OutElem, OutErr | Cause.Done<OutDone>>({
|
|
9764
9781
|
capacity: options.capacity === "unbounded" ? undefined : options.capacity,
|
|
9765
9782
|
strategy: options.capacity === "unbounded" ? undefined : options.strategy
|
|
9766
9783
|
})
|
|
@@ -9883,63 +9900,7 @@ export const bufferArray: {
|
|
|
9883
9900
|
): Channel<Arr.NonEmptyReadonlyArray<OutElem>, OutErr, OutDone, InElem, InErr, InDone, Env> =>
|
|
9884
9901
|
fromTransform(Effect.fnUntraced(function*(upstream, scope) {
|
|
9885
9902
|
const pull = yield* toTransform(self)(upstream, scope)
|
|
9886
|
-
const queue = yield* Queue.make
|
|
9887
|
-
* Buffers array output elements in a queue with the configured `capacity` so a
|
|
9888
|
-
* faster producer can progress independently of a slower consumer.
|
|
9889
|
-
*
|
|
9890
|
-
* **When to use**
|
|
9891
|
-
*
|
|
9892
|
-
* Use when emitted arrays are batches of elements and it is acceptable for
|
|
9893
|
-
* buffering to flatten and rebuild those batches.
|
|
9894
|
-
*
|
|
9895
|
-
* **Details**
|
|
9896
|
-
*
|
|
9897
|
-
* Finite queues use the `strategy` option. The default `"suspend"` strategy
|
|
9898
|
-
* applies backpressure, while `"dropping"` and `"sliding"` can discard output
|
|
9899
|
-
* elements when the queue is full. `"unbounded"` capacity does not use a finite
|
|
9900
|
-
* capacity strategy.
|
|
9901
|
-
*
|
|
9902
|
-
* **Gotchas**
|
|
9903
|
-
*
|
|
9904
|
-
* Input arrays are offered to the queue element-by-element and outputs are
|
|
9905
|
-
* rebuilt from the currently available queued elements, so upstream array
|
|
9906
|
-
* boundaries are not preserved.
|
|
9907
|
-
*
|
|
9908
|
-
* @see {@link buffer} for buffering output elements without flattening arrays
|
|
9909
|
-
*
|
|
9910
|
-
* @stability stable
|
|
9911
|
-
* @category buffering
|
|
9912
|
-
* @since 4.0.0
|
|
9913
|
-
*/
|
|
9914
|
-
OutElem, /**
|
|
9915
|
-
* Buffers array output elements in a queue with the configured `capacity` so a
|
|
9916
|
-
* faster producer can progress independently of a slower consumer.
|
|
9917
|
-
*
|
|
9918
|
-
* **When to use**
|
|
9919
|
-
*
|
|
9920
|
-
* Use when emitted arrays are batches of elements and it is acceptable for
|
|
9921
|
-
* buffering to flatten and rebuild those batches.
|
|
9922
|
-
*
|
|
9923
|
-
* **Details**
|
|
9924
|
-
*
|
|
9925
|
-
* Finite queues use the `strategy` option. The default `"suspend"` strategy
|
|
9926
|
-
* applies backpressure, while `"dropping"` and `"sliding"` can discard output
|
|
9927
|
-
* elements when the queue is full. `"unbounded"` capacity does not use a finite
|
|
9928
|
-
* capacity strategy.
|
|
9929
|
-
*
|
|
9930
|
-
* **Gotchas**
|
|
9931
|
-
*
|
|
9932
|
-
* Input arrays are offered to the queue element-by-element and outputs are
|
|
9933
|
-
* rebuilt from the currently available queued elements, so upstream array
|
|
9934
|
-
* boundaries are not preserved.
|
|
9935
|
-
*
|
|
9936
|
-
* @see {@link buffer} for buffering output elements without flattening arrays
|
|
9937
|
-
*
|
|
9938
|
-
* @stability stable
|
|
9939
|
-
* @category buffering
|
|
9940
|
-
* @since 4.0.0
|
|
9941
|
-
*/
|
|
9942
|
-
OutErr | Cause.Done<OutDone>>({
|
|
9903
|
+
const queue = yield* Queue.make<OutElem, OutErr | Cause.Done<OutDone>>({
|
|
9943
9904
|
capacity: options.capacity === "unbounded" ? undefined : options.capacity,
|
|
9944
9905
|
strategy: options.capacity === "unbounded" ? undefined : options.strategy
|
|
9945
9906
|
})
|
|
@@ -12214,75 +12175,7 @@ export const toQueue: {
|
|
|
12214
12175
|
}
|
|
12215
12176
|
) {
|
|
12216
12177
|
const scope = yield* Effect.scope
|
|
12217
|
-
const queue = yield* Queue.make
|
|
12218
|
-
* Creates a scoped queue and forks the channel to feed it for concurrent
|
|
12219
|
-
* consumption.
|
|
12220
|
-
*
|
|
12221
|
-
* **Details**
|
|
12222
|
-
*
|
|
12223
|
-
* Output elements are offered to the queue. Channel completion and failure are
|
|
12224
|
-
* signaled through the queue. The queue is shut down when the surrounding scope
|
|
12225
|
-
* closes.
|
|
12226
|
-
*
|
|
12227
|
-
* **Example** (Converting channels to queues)
|
|
12228
|
-
*
|
|
12229
|
-
* ```ts import.meta.vitest
|
|
12230
|
-
* import { Channel, Data, Effect, Queue } from "effect"
|
|
12231
|
-
*
|
|
12232
|
-
* class QueueError extends Data.TaggedError("QueueError")<{
|
|
12233
|
-
* readonly operation: string
|
|
12234
|
-
* }> {}
|
|
12235
|
-
*
|
|
12236
|
-
* // Create a channel with data
|
|
12237
|
-
* const dataChannel = Channel.fromIterable([1, 2, 3, 4, 5])
|
|
12238
|
-
*
|
|
12239
|
-
* // Convert to queue for concurrent processing
|
|
12240
|
-
* const program = Effect.scoped(Effect.gen(function*() {
|
|
12241
|
-
* const queue = yield* Channel.toQueue(dataChannel, { capacity: 32 })
|
|
12242
|
-
* return yield* Queue.takeBetween(queue, 5, 5)
|
|
12243
|
-
* }))
|
|
12244
|
-
* await Effect.runPromise(program) // => [1, 2, 3, 4, 5]
|
|
12245
|
-
* ```
|
|
12246
|
-
*
|
|
12247
|
-
* @stability stable
|
|
12248
|
-
* @category destructors
|
|
12249
|
-
* @since 2.0.0
|
|
12250
|
-
*/
|
|
12251
|
-
OutElem, /**
|
|
12252
|
-
* Creates a scoped queue and forks the channel to feed it for concurrent
|
|
12253
|
-
* consumption.
|
|
12254
|
-
*
|
|
12255
|
-
* **Details**
|
|
12256
|
-
*
|
|
12257
|
-
* Output elements are offered to the queue. Channel completion and failure are
|
|
12258
|
-
* signaled through the queue. The queue is shut down when the surrounding scope
|
|
12259
|
-
* closes.
|
|
12260
|
-
*
|
|
12261
|
-
* **Example** (Converting channels to queues)
|
|
12262
|
-
*
|
|
12263
|
-
* ```ts import.meta.vitest
|
|
12264
|
-
* import { Channel, Data, Effect, Queue } from "effect"
|
|
12265
|
-
*
|
|
12266
|
-
* class QueueError extends Data.TaggedError("QueueError")<{
|
|
12267
|
-
* readonly operation: string
|
|
12268
|
-
* }> {}
|
|
12269
|
-
*
|
|
12270
|
-
* // Create a channel with data
|
|
12271
|
-
* const dataChannel = Channel.fromIterable([1, 2, 3, 4, 5])
|
|
12272
|
-
*
|
|
12273
|
-
* // Convert to queue for concurrent processing
|
|
12274
|
-
* const program = Effect.scoped(Effect.gen(function*() {
|
|
12275
|
-
* const queue = yield* Channel.toQueue(dataChannel, { capacity: 32 })
|
|
12276
|
-
* return yield* Queue.takeBetween(queue, 5, 5)
|
|
12277
|
-
* }))
|
|
12278
|
-
* await Effect.runPromise(program) // => [1, 2, 3, 4, 5]
|
|
12279
|
-
* ```
|
|
12280
|
-
*
|
|
12281
|
-
* @stability stable
|
|
12282
|
-
* @category destructors
|
|
12283
|
-
* @since 2.0.0
|
|
12284
|
-
*/
|
|
12285
|
-
OutErr | Cause.Done>({
|
|
12178
|
+
const queue = yield* Queue.make<OutElem, OutErr | Cause.Done>({
|
|
12286
12179
|
capacity: typeof options.capacity === "number" ? options.capacity : undefined,
|
|
12287
12180
|
strategy: typeof options.capacity === "number" ? options.strategy : undefined
|
|
12288
12181
|
})
|
|
@@ -12363,33 +12256,7 @@ export const toQueueArray: {
|
|
|
12363
12256
|
}
|
|
12364
12257
|
) {
|
|
12365
12258
|
const scope = yield* Effect.scope
|
|
12366
|
-
const queue = yield* Queue.make
|
|
12367
|
-
* Creates a scoped queue and forks an array-emitting channel to feed it.
|
|
12368
|
-
*
|
|
12369
|
-
* **Details**
|
|
12370
|
-
*
|
|
12371
|
-
* Each element inside emitted non-empty arrays is offered to the queue. Channel
|
|
12372
|
-
* completion and failure are signaled through the queue. The queue is shut down
|
|
12373
|
-
* when the surrounding scope closes.
|
|
12374
|
-
*
|
|
12375
|
-
* @stability stable
|
|
12376
|
-
* @category destructors
|
|
12377
|
-
* @since 4.0.0
|
|
12378
|
-
*/
|
|
12379
|
-
OutElem, /**
|
|
12380
|
-
* Creates a scoped queue and forks an array-emitting channel to feed it.
|
|
12381
|
-
*
|
|
12382
|
-
* **Details**
|
|
12383
|
-
*
|
|
12384
|
-
* Each element inside emitted non-empty arrays is offered to the queue. Channel
|
|
12385
|
-
* completion and failure are signaled through the queue. The queue is shut down
|
|
12386
|
-
* when the surrounding scope closes.
|
|
12387
|
-
*
|
|
12388
|
-
* @stability stable
|
|
12389
|
-
* @category destructors
|
|
12390
|
-
* @since 4.0.0
|
|
12391
|
-
*/
|
|
12392
|
-
OutErr | Cause.Done>({
|
|
12259
|
+
const queue = yield* Queue.make<OutElem, OutErr | Cause.Done>({
|
|
12393
12260
|
capacity: typeof options.capacity === "number" ? options.capacity : undefined,
|
|
12394
12261
|
strategy: typeof options.capacity === "number" ? options.strategy : undefined
|
|
12395
12262
|
})
|
|
@@ -12478,19 +12345,7 @@ export const toPubSub: {
|
|
|
12478
12345
|
readonly shutdownOnEnd?: boolean | undefined
|
|
12479
12346
|
}
|
|
12480
12347
|
) {
|
|
12481
|
-
const pubsub = yield* makePubSub
|
|
12482
|
-
* Converts a channel to a PubSub for concurrent consumption.
|
|
12483
|
-
*
|
|
12484
|
-
* **Details**
|
|
12485
|
-
*
|
|
12486
|
-
* `shutdownOnEnd` indicates whether the PubSub should be shut down when the
|
|
12487
|
-
* channel ends. By default this is `true`.
|
|
12488
|
-
*
|
|
12489
|
-
* @stability stable
|
|
12490
|
-
* @category destructors
|
|
12491
|
-
* @since 2.0.0
|
|
12492
|
-
*/
|
|
12493
|
-
OutElem>(options)
|
|
12348
|
+
const pubsub = yield* makePubSub<OutElem>(options)
|
|
12494
12349
|
yield* Effect.forkScoped(runIntoPubSub(self, pubsub, {
|
|
12495
12350
|
shutdownOnEnd: options.shutdownOnEnd !== false
|
|
12496
12351
|
}))
|
|
@@ -12670,21 +12525,7 @@ export const toPubSubArray: {
|
|
|
12670
12525
|
readonly shutdownOnEnd?: boolean | undefined
|
|
12671
12526
|
}
|
|
12672
12527
|
) {
|
|
12673
|
-
const pubsub = yield* makePubSub
|
|
12674
|
-
* Converts an array-emitting channel to a scoped `PubSub` for concurrent
|
|
12675
|
-
* consumption.
|
|
12676
|
-
*
|
|
12677
|
-
* **Details**
|
|
12678
|
-
*
|
|
12679
|
-
* Each element inside emitted non-empty arrays is published as an individual
|
|
12680
|
-
* PubSub message. `shutdownOnEnd` indicates whether the PubSub should be shut
|
|
12681
|
-
* down when the channel ends. By default this is `true`.
|
|
12682
|
-
*
|
|
12683
|
-
* @stability stable
|
|
12684
|
-
* @category destructors
|
|
12685
|
-
* @since 4.0.0
|
|
12686
|
-
*/
|
|
12687
|
-
OutElem>(options)
|
|
12528
|
+
const pubsub = yield* makePubSub<OutElem>(options)
|
|
12688
12529
|
yield* Effect.forkScoped(runIntoPubSubArray(self, pubsub, {
|
|
12689
12530
|
shutdownOnEnd: options.shutdownOnEnd !== false
|
|
12690
12531
|
}))
|
|
@@ -12851,21 +12692,7 @@ export const toPubSubTake: {
|
|
|
12851
12692
|
readonly replay?: number | undefined
|
|
12852
12693
|
}
|
|
12853
12694
|
) {
|
|
12854
|
-
const pubsub = yield* makePubSub
|
|
12855
|
-
* Converts a channel to a scoped `PubSub` of `Take` values.
|
|
12856
|
-
*
|
|
12857
|
-
* **Details**
|
|
12858
|
-
*
|
|
12859
|
-
* Emitted non-empty arrays are published as output `Take` values. When the
|
|
12860
|
-
* channel ends, the `PubSub` is ended with its final `Exit`, so every
|
|
12861
|
-
* subscriber, including one that subscribes later, observes completion or
|
|
12862
|
-
* failure once it has consumed its buffered values.
|
|
12863
|
-
*
|
|
12864
|
-
* @stability stable
|
|
12865
|
-
* @category destructors
|
|
12866
|
-
* @since 4.0.0
|
|
12867
|
-
*/
|
|
12868
|
-
Take.Take<OutElem, OutErr, OutDone>>(options)
|
|
12695
|
+
const pubsub = yield* makePubSub<Take.Take<OutElem, OutErr, OutDone>>(options)
|
|
12869
12696
|
yield* runForEach(self, (value) => PubSub.publish(pubsub, value)).pipe(
|
|
12870
12697
|
Effect.onExit((exit) => PubSub.end(pubsub, exit)),
|
|
12871
12698
|
Effect.forkScoped
|