effect 4.0.4 → 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/src/52_graphql/10_basics.ts +19 -13
- package/ai-docs/src/52_graphql/30_batching.ts +6 -4
- package/ai-docs/src/52_graphql/40_aliased-batching.ts +6 -4
- package/ai-docs/tsconfig.json +3 -1
- package/dist/Array.d.ts +207 -58
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +45 -22
- 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 +187 -14
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +142 -33
- 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 +34 -32
- 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 +58 -21
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +548 -182
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +261 -76
- 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 +28 -9
- 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/Match.d.ts +20 -6
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +2 -2
- package/dist/Match.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 +37 -5
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +44 -6
- 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 +383 -326
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +338 -17
- 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 +16 -2
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +25 -10
- 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/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +3 -2
- package/dist/TxRef.js.map +1 -1
- package/dist/ai/AiError.d.ts +78 -14
- package/dist/ai/AiError.d.ts.map +1 -1
- package/dist/ai/AiError.js +51 -3
- 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 +116 -20
- package/dist/ai/Decision.d.ts.map +1 -1
- package/dist/ai/Decision.js +37 -3
- 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 +183 -95
- 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/LanguageModel.d.ts.map +1 -1
- package/dist/ai/LanguageModel.js +47 -35
- package/dist/ai/LanguageModel.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 +6 -52
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +27 -50
- 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 +148 -4
- 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 +10 -0
- package/dist/cli/Completions.d.ts.map +1 -1
- package/dist/cli/Completions.js.map +1 -1
- package/dist/cli/Flag.d.ts +215 -0
- package/dist/cli/Flag.d.ts.map +1 -1
- package/dist/cli/Flag.js +89 -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 +194 -0
- package/dist/cli/Param.d.ts.map +1 -1
- package/dist/cli/Param.js +86 -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 +7 -3
- package/dist/cli/internal/command.js.map +1 -1
- package/dist/cli/internal/completions/bash.js +7 -5
- package/dist/cli/internal/completions/bash.js.map +1 -1
- package/dist/cli/internal/completions/descriptor.js +16 -1
- package/dist/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/cli/internal/completions/fish.js +12 -10
- package/dist/cli/internal/completions/fish.js.map +1 -1
- package/dist/cli/internal/completions/powershell.js +20 -10
- package/dist/cli/internal/completions/powershell.js.map +1 -1
- package/dist/cli/internal/completions/zsh.js +15 -8
- 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 +35 -15
- package/dist/cli/internal/parser.js.map +1 -1
- package/dist/cli/internal/wizard.d.ts.map +1 -1
- package/dist/cli/internal/wizard.js +2 -1
- package/dist/cli/internal/wizard.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 +2 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.js +98 -18
- 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 +20 -12
- package/dist/cluster/MessageStorage.js.map +1 -1
- package/dist/cluster/Runners.d.ts.map +1 -1
- package/dist/cluster/Runners.js +96 -37
- 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 +66 -9
- 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/Sse.js +1 -1
- package/dist/encoding/Sse.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/GraphQLClient.d.ts.map +1 -1
- package/dist/graphql/GraphQLClient.js +12 -5
- package/dist/graphql/GraphQLClient.js.map +1 -1
- 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 +252 -11
- package/dist/graphql/GraphQLProtocol.d.ts.map +1 -1
- package/dist/graphql/GraphQLProtocol.js +99 -8
- package/dist/graphql/GraphQLProtocol.js.map +1 -1
- package/dist/graphql/GraphQLResolver.d.ts +3 -1
- package/dist/graphql/GraphQLResolver.d.ts.map +1 -1
- package/dist/graphql/GraphQLResolver.js +91 -19
- package/dist/graphql/GraphQLResolver.js.map +1 -1
- package/dist/http/FetchHttpClient.d.ts +13 -3
- package/dist/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/http/FetchHttpClient.js +56 -6
- package/dist/http/FetchHttpClient.js.map +1 -1
- package/dist/http/FindMyWay/internal/router.js +12 -1
- package/dist/http/FindMyWay/internal/router.js.map +1 -1
- package/dist/http/Headers.d.ts +230 -3
- package/dist/http/Headers.d.ts.map +1 -1
- package/dist/http/Headers.js +267 -5
- package/dist/http/Headers.js.map +1 -1
- package/dist/http/HttpClient.d.ts +105 -0
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +69 -17
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpClientError.d.ts.map +1 -1
- package/dist/http/HttpClientError.js +8 -6
- package/dist/http/HttpClientError.js.map +1 -1
- package/dist/http/HttpClientRequest.d.ts +274 -7
- package/dist/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/http/HttpClientRequest.js +91 -3
- 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 +179 -2
- package/dist/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/http/HttpMiddleware.js +226 -18
- package/dist/http/HttpMiddleware.js.map +1 -1
- package/dist/http/HttpRouter.d.ts.map +1 -1
- package/dist/http/HttpRouter.js +58 -14
- 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 +11 -7
- 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 +38 -12
- 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 +25 -17
- package/dist/http/HttpStaticServer.js.map +1 -1
- package/dist/http/HttpTraceContext.js +1 -1
- package/dist/http/HttpTraceContext.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 +8 -2
- package/dist/http/Url.js.map +1 -1
- package/dist/http/UrlParams.d.ts +112 -8
- package/dist/http/UrlParams.d.ts.map +1 -1
- package/dist/http/UrlParams.js +141 -14
- package/dist/http/UrlParams.js.map +1 -1
- package/dist/http/internal/compression.d.ts +1 -1
- package/dist/http/internal/compression.d.ts.map +1 -1
- package/dist/http/internal/compression.js +2 -10
- package/dist/http/internal/compression.js.map +1 -1
- package/dist/http/internal/compressionBody.d.ts +2 -0
- package/dist/http/internal/compressionBody.d.ts.map +1 -0
- package/dist/http/internal/compressionBody.js +36 -0
- package/dist/http/internal/compressionBody.js.map +1 -0
- package/dist/http/internal/decompression.d.ts +2 -0
- package/dist/http/internal/decompression.d.ts.map +1 -0
- package/dist/http/internal/decompression.js +168 -0
- package/dist/http/internal/decompression.js.map +1 -0
- 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/tracing.js +14 -4
- package/dist/http/internal/tracing.js.map +1 -1
- package/dist/http/internal/urlParams.d.ts +2 -0
- package/dist/http/internal/urlParams.d.ts.map +1 -0
- package/dist/http/internal/urlParams.js +4 -0
- package/dist/http/internal/urlParams.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 +85 -24
- 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 +18 -2
- 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 +89 -76
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/graphql.js +12 -2
- package/dist/internal/graphql.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/Otlp.d.ts +15 -0
- package/dist/observability/Otlp.d.ts.map +1 -1
- package/dist/observability/Otlp.js +3 -0
- package/dist/observability/Otlp.js.map +1 -1
- package/dist/observability/OtlpExporter.d.ts +8 -0
- package/dist/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/observability/OtlpExporter.js +15 -13
- package/dist/observability/OtlpExporter.js.map +1 -1
- package/dist/observability/OtlpLogger.d.ts +17 -0
- package/dist/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/observability/OtlpLogger.js +14 -1
- package/dist/observability/OtlpLogger.js.map +1 -1
- package/dist/observability/OtlpMetrics.d.ts +17 -0
- package/dist/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/observability/OtlpMetrics.js +18 -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/OtlpTracer.d.ts +17 -0
- package/dist/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/observability/OtlpTracer.js +15 -2
- package/dist/observability/OtlpTracer.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 +6 -0
- package/dist/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/reactivity/AsyncResult.js +28 -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 +47 -10
- 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 +202 -61
- 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 +151 -12
- package/dist/sql/SqlClient.d.ts.map +1 -1
- package/dist/sql/SqlClient.js +156 -34
- 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 +16 -3
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +115 -23
- 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/Activity.js +1 -0
- package/dist/workflow/Activity.js.map +1 -1
- package/dist/workflow/Workflow.d.ts +22 -0
- package/dist/workflow/Workflow.d.ts.map +1 -1
- package/dist/workflow/Workflow.js +15 -3
- package/dist/workflow/Workflow.js.map +1 -1
- package/dist/workflow/WorkflowEngine.d.ts +20 -1
- package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/workflow/WorkflowEngine.js +52 -24
- package/dist/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +13 -3
- package/src/Array.ts +223 -61
- package/src/Bytes.ts +111 -0
- package/src/Channel.ts +287 -439
- package/src/ChannelSchema.ts +1 -49
- package/src/Chunk.ts +55 -61
- package/src/Config.ts +12 -86
- package/src/ConfigProvider.ts +41 -44
- package/src/Cron.ts +6 -3
- package/src/Duration.ts +70 -21
- package/src/Effect.ts +642 -220
- 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 +33 -9
- 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/Match.ts +65 -12
- 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 +61 -8
- 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 +596 -348
- 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 +25 -12
- package/src/TextDiff.ts +766 -0
- package/src/TxHashMap.ts +1 -103
- package/src/TxHashSet.ts +48 -753
- package/src/TxRef.ts +4 -2
- package/src/ai/AiError.ts +69 -5
- package/src/ai/Chat.ts +10 -5
- package/src/ai/Decision.ts +119 -22
- package/src/ai/DecisionModel.ts +265 -109
- package/src/ai/EmbeddingModel.ts +25 -13
- package/src/ai/LanguageModel.ts +57 -51
- 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 +232 -275
- 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 +10 -0
- package/src/cli/Flag.ts +218 -0
- package/src/cli/GlobalFlag.ts +3 -3
- package/src/cli/Param.ts +218 -0
- package/src/cli/TerminalCapabilities.ts +156 -0
- package/src/cli/index.ts +6 -0
- package/src/cli/internal/command.ts +10 -4
- package/src/cli/internal/completions/bash.ts +7 -5
- package/src/cli/internal/completions/descriptor.ts +20 -1
- package/src/cli/internal/completions/fish.ts +12 -10
- package/src/cli/internal/completions/powershell.ts +25 -13
- package/src/cli/internal/completions/zsh.ts +15 -8
- package/src/cli/internal/formatter.ts +18 -0
- package/src/cli/internal/lexer.ts +12 -5
- package/src/cli/internal/parser.ts +43 -14
- package/src/cli/internal/wizard.ts +2 -1
- package/src/cluster/ClusterCron.ts +94 -35
- package/src/cluster/ClusterMetrics.ts +149 -7
- package/src/cluster/ClusterWorkflowEngine.ts +164 -53
- package/src/cluster/Entity.ts +4 -0
- package/src/cluster/MessageStorage.ts +21 -3
- package/src/cluster/Runners.ts +145 -72
- 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 +81 -11
- 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/Sse.ts +1 -1
- 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/GraphQLClient.ts +17 -5
- package/src/graphql/GraphQLClientError.ts +5 -12
- package/src/graphql/GraphQLProtocol.ts +277 -20
- package/src/graphql/GraphQLResolver.ts +109 -230
- package/src/http/FetchHttpClient.ts +61 -8
- package/src/http/FindMyWay/internal/router.ts +13 -1
- package/src/http/Headers.ts +343 -163
- package/src/http/HttpClient.ts +144 -136
- package/src/http/HttpClientError.ts +10 -6
- package/src/http/HttpClientRequest.ts +315 -11
- 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 +265 -28
- package/src/http/HttpRouter.ts +67 -14
- package/src/http/HttpServerError.ts +14 -7
- package/src/http/HttpServerRequest.ts +73 -14
- package/src/http/HttpServerResponse.ts +49 -23
- package/src/http/HttpStaticServer.ts +29 -19
- package/src/http/HttpTraceContext.ts +1 -1
- 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 +8 -2
- package/src/http/UrlParams.ts +225 -26
- package/src/http/internal/compression.ts +3 -17
- package/src/http/internal/compressionBody.ts +56 -0
- package/src/http/internal/decompression.ts +235 -0
- package/src/http/internal/lazyStream.ts +25 -0
- package/src/http/internal/requestState.ts +33 -0
- package/src/http/internal/tracing.ts +21 -4
- package/src/http/internal/urlParams.ts +5 -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 +160 -31
- 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 +22 -2
- package/src/internal/dateTime.ts +20 -7
- package/src/internal/effect.ts +125 -88
- package/src/internal/graphql.ts +30 -7
- 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/Otlp.ts +18 -0
- package/src/observability/OtlpExporter.ts +19 -15
- package/src/observability/OtlpLogger.ts +31 -2
- package/src/observability/OtlpMetrics.ts +35 -4
- package/src/observability/OtlpResource.ts +16 -6
- package/src/observability/OtlpSerialization.ts +17 -3
- package/src/observability/OtlpTracer.ts +32 -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 +35 -38
- package/src/reactivity/Atom.ts +134 -166
- package/src/reactivity/AtomHttpApi.ts +10 -16
- package/src/reactivity/AtomRegistry.ts +53 -30
- 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 +285 -104
- 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 +275 -36
- package/src/sql/SqlResolver.ts +9 -0
- package/src/sql/Statement.ts +35 -8
- package/src/testing/TestClock.ts +147 -29
- package/src/testing/TestSchema.ts +9 -3
- package/src/workflow/Activity.ts +1 -0
- package/src/workflow/Workflow.ts +31 -5
- package/src/workflow/WorkflowEngine.ts +93 -31
- 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
|
)
|
|
@@ -1984,7 +2003,9 @@ const readableStreamToPullUnsafe = <A, E, E2 = never>(options: {
|
|
|
1984
2003
|
* Each yielded value is emitted as an output element. The iterator's return
|
|
1985
2004
|
* value becomes the channel's done value. Thrown or rejected iterator errors
|
|
1986
2005
|
* are converted with `onError`. If the channel scope closes early and the
|
|
1987
|
-
* iterator has a `return` method, that method is called.
|
|
2006
|
+
* iterator has a `return` method, that method is called. It is awaited unless
|
|
2007
|
+
* a `next()` call is still pending, in which case its result is ignored and an
|
|
2008
|
+
* async generator may not run its cleanup until that pull settles.
|
|
1988
2009
|
*
|
|
1989
2010
|
* @stability stable
|
|
1990
2011
|
* @category constructors
|
|
@@ -1996,12 +2017,28 @@ export const fromAsyncIterable = <A, D, E>(
|
|
|
1996
2017
|
): Channel<A, E, D> =>
|
|
1997
2018
|
fromTransform(Effect.fnUntraced(function*(_, scope) {
|
|
1998
2019
|
const iter = iterable[Symbol.asyncIterator]()
|
|
2020
|
+
let pulling = false
|
|
1999
2021
|
if (iter.return) {
|
|
2000
|
-
|
|
2022
|
+
// `return()` may not settle until a pending `next()` does, so only
|
|
2023
|
+
// await it when the iterator is idle.
|
|
2024
|
+
yield* Scope.addFinalizer(
|
|
2025
|
+
scope,
|
|
2026
|
+
Effect.suspend(() =>
|
|
2027
|
+
pulling
|
|
2028
|
+
? Effect.sync(() => void iter.return!().catch(constVoid))
|
|
2029
|
+
: Effect.promise(() => iter.return!())
|
|
2030
|
+
)
|
|
2031
|
+
)
|
|
2001
2032
|
}
|
|
2002
2033
|
return Effect.flatMap(
|
|
2003
2034
|
Effect.tryPromise({
|
|
2004
|
-
try: () =>
|
|
2035
|
+
try: () => {
|
|
2036
|
+
const promise = iter.next()
|
|
2037
|
+
pulling = true
|
|
2038
|
+
return promise.finally(() => {
|
|
2039
|
+
pulling = false
|
|
2040
|
+
})
|
|
2041
|
+
},
|
|
2005
2042
|
catch: onError
|
|
2006
2043
|
}),
|
|
2007
2044
|
(result) => result.done ? Cause.done(result.value) : Effect.succeed(result.value)
|
|
@@ -2017,6 +2054,9 @@ export const fromAsyncIterable = <A, D, E>(
|
|
|
2017
2054
|
* The iterator's return value becomes the channel's done value. Thrown or
|
|
2018
2055
|
* rejected iterator errors are converted with `onError`. If the channel scope
|
|
2019
2056
|
* closes early and the iterator has a `return` method, that method is called.
|
|
2057
|
+
* It is awaited unless a `next()` call is still pending, in which case its
|
|
2058
|
+
* result is ignored and an async generator may not run its cleanup until that
|
|
2059
|
+
* pull settles.
|
|
2020
2060
|
*
|
|
2021
2061
|
* @stability stable
|
|
2022
2062
|
* @category constructors
|
|
@@ -2446,7 +2486,7 @@ const mapEffectConcurrent = <
|
|
|
2446
2486
|
const pull = yield* toTransform(self)(upstream, scope)
|
|
2447
2487
|
const concurrencyN = options.concurrency === "unbounded"
|
|
2448
2488
|
? Number.MAX_SAFE_INTEGER
|
|
2449
|
-
: options.concurrency
|
|
2489
|
+
: Math.min(options.concurrency, Number.MAX_SAFE_INTEGER)
|
|
2450
2490
|
const queue = yield* Queue.bounded<OutElem2, OutErr | EX | Cause.Done<OutDone>>(0)
|
|
2451
2491
|
yield* Scope.addFinalizer(forkedScope, Queue.shutdown(queue))
|
|
2452
2492
|
|
|
@@ -3888,12 +3928,12 @@ export const repeat: {
|
|
|
3888
3928
|
let meta = Schedule.CurrentMetadata.defaultValue()
|
|
3889
3929
|
return repeatLoop(
|
|
3890
3930
|
provideServiceEffect(self, Schedule.CurrentMetadata, Effect.sync(() => meta)),
|
|
3891
|
-
(
|
|
3892
|
-
step(
|
|
3931
|
+
(exit): Pull.Pull<void, OutErr | SE, OutDone, SR> =>
|
|
3932
|
+
Exit.isFailure(exit) ? Effect.failCause(exit.cause) : step(exit.value).pipe(
|
|
3893
3933
|
Effect.map((meta_) => {
|
|
3894
3934
|
meta = meta_
|
|
3895
3935
|
}),
|
|
3896
|
-
Pull.catchDone(() => Cause.done(
|
|
3936
|
+
Pull.catchDone(() => Cause.done(exit.value))
|
|
3897
3937
|
)
|
|
3898
3938
|
)
|
|
3899
3939
|
}),
|
|
@@ -3902,19 +3942,21 @@ export const repeat: {
|
|
|
3902
3942
|
|
|
3903
3943
|
const repeatLoop = <OutElem, OutErr, OutDone, InElem, InErr, InDone, Env, E, OutDone2, R>(
|
|
3904
3944
|
self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>,
|
|
3905
|
-
|
|
3906
|
-
): 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> =>
|
|
3907
3947
|
fromTransform((upstream, scope) =>
|
|
3908
3948
|
Effect.sync(() => {
|
|
3909
|
-
let currentPull: Pull.Pull<OutElem,
|
|
3910
|
-
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> => {
|
|
3911
3951
|
const runScope = Scope.forkUnsafe(scope)
|
|
3912
3952
|
return Effect.flatMap(toTransform(self)(upstream, runScope), (pull) => {
|
|
3913
|
-
currentPull =
|
|
3914
|
-
|
|
3915
|
-
|
|
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)),
|
|
3916
3957
|
Effect.flatMap(makePull)
|
|
3917
|
-
)
|
|
3958
|
+
)
|
|
3959
|
+
})
|
|
3918
3960
|
return currentPull
|
|
3919
3961
|
})
|
|
3920
3962
|
}
|
|
@@ -3931,7 +3973,8 @@ const repeatLoop = <OutElem, OutErr, OutDone, InElem, InErr, InDone, Env, E, Out
|
|
|
3931
3973
|
*/
|
|
3932
3974
|
export const forever = <OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>(
|
|
3933
3975
|
self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>
|
|
3934
|
-
): 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)
|
|
3935
3978
|
|
|
3936
3979
|
/**
|
|
3937
3980
|
* Runs a schedule step for each output element while preserving the emitted
|
|
@@ -5658,6 +5701,12 @@ export const catchCause: {
|
|
|
5658
5701
|
*
|
|
5659
5702
|
* Typed failures and interruptions are not caught.
|
|
5660
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
|
+
*
|
|
5661
5710
|
* **Example** (Recovering from a defect)
|
|
5662
5711
|
*
|
|
5663
5712
|
* ```ts import.meta.vitest
|
|
@@ -5682,6 +5731,12 @@ export const catchDefect: {
|
|
|
5682
5731
|
*
|
|
5683
5732
|
* Typed failures and interruptions are not caught.
|
|
5684
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
|
+
*
|
|
5685
5740
|
* **Example** (Recovering from a defect)
|
|
5686
5741
|
*
|
|
5687
5742
|
* ```ts import.meta.vitest
|
|
@@ -5718,6 +5773,12 @@ export const catchDefect: {
|
|
|
5718
5773
|
*
|
|
5719
5774
|
* Typed failures and interruptions are not caught.
|
|
5720
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
|
+
*
|
|
5721
5782
|
* **Example** (Recovering from a defect)
|
|
5722
5783
|
*
|
|
5723
5784
|
* ```ts import.meta.vitest
|
|
@@ -6341,12 +6402,19 @@ const catch_: {
|
|
|
6341
6402
|
InErr & InErr1,
|
|
6342
6403
|
InDone & InDone1,
|
|
6343
6404
|
Env | Env1
|
|
6344
|
-
> => catchCauseFilter(self,
|
|
6405
|
+
> => catchCauseFilter(self, findRecoverableError, (e) => f(e)))
|
|
6345
6406
|
|
|
6346
6407
|
export {
|
|
6347
6408
|
/**
|
|
6348
6409
|
* Recovers from typed channel errors by running a fallback channel.
|
|
6349
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
|
+
*
|
|
6350
6418
|
* @stability stable
|
|
6351
6419
|
* @category error handling
|
|
6352
6420
|
* @since 4.0.0
|
|
@@ -6479,6 +6547,12 @@ export const tapError: {
|
|
|
6479
6547
|
* are handled by `orElse` when provided. Without `orElse`, non-matching errors
|
|
6480
6548
|
* are re-failed.
|
|
6481
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
|
+
*
|
|
6482
6556
|
* @see {@link catch_ catch} for recovering from every typed channel error
|
|
6483
6557
|
* @see {@link catchFilter} for selecting typed errors with a `Filter`
|
|
6484
6558
|
* @see {@link catchTag} for selecting tagged typed errors
|
|
@@ -6503,6 +6577,12 @@ export const catchIf: {
|
|
|
6503
6577
|
* are handled by `orElse` when provided. Without `orElse`, non-matching errors
|
|
6504
6578
|
* are re-failed.
|
|
6505
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
|
+
*
|
|
6506
6586
|
* @see {@link catch_ catch} for recovering from every typed channel error
|
|
6507
6587
|
* @see {@link catchFilter} for selecting typed errors with a `Filter`
|
|
6508
6588
|
* @see {@link catchTag} for selecting tagged typed errors
|
|
@@ -6530,7 +6610,7 @@ export const catchIf: {
|
|
|
6530
6610
|
InDone2 = unknown,
|
|
6531
6611
|
Env2 = never
|
|
6532
6612
|
>(
|
|
6533
|
-
refinement: Predicate.Refinement<OutErr
|
|
6613
|
+
refinement: Predicate.Refinement<NoInfer<OutErr>, EB>,
|
|
6534
6614
|
f: (failure: EB) => Channel<OutElem1, OutErr1, OutDone1, InElem1, InErr1, InDone1, Env1>,
|
|
6535
6615
|
orElse?:
|
|
6536
6616
|
| ((
|
|
@@ -6567,6 +6647,12 @@ export const catchIf: {
|
|
|
6567
6647
|
* are handled by `orElse` when provided. Without `orElse`, non-matching errors
|
|
6568
6648
|
* are re-failed.
|
|
6569
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
|
+
*
|
|
6570
6656
|
* @see {@link catch_ catch} for recovering from every typed channel error
|
|
6571
6657
|
* @see {@link catchFilter} for selecting typed errors with a `Filter`
|
|
6572
6658
|
* @see {@link catchTag} for selecting tagged typed errors
|
|
@@ -6630,6 +6716,12 @@ export const catchIf: {
|
|
|
6630
6716
|
* are handled by `orElse` when provided. Without `orElse`, non-matching errors
|
|
6631
6717
|
* are re-failed.
|
|
6632
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
|
+
*
|
|
6633
6725
|
* @see {@link catch_ catch} for recovering from every typed channel error
|
|
6634
6726
|
* @see {@link catchFilter} for selecting typed errors with a `Filter`
|
|
6635
6727
|
* @see {@link catchTag} for selecting tagged typed errors
|
|
@@ -6664,7 +6756,7 @@ export const catchIf: {
|
|
|
6664
6756
|
Env2 = never
|
|
6665
6757
|
>(
|
|
6666
6758
|
self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>,
|
|
6667
|
-
refinement: Predicate.Refinement<OutErr
|
|
6759
|
+
refinement: Predicate.Refinement<NoInfer<OutErr>, EB>,
|
|
6668
6760
|
f: (failure: EB) => Channel<OutElem1, OutErr1, OutDone1, InElem1, InErr1, InDone1, Env1>,
|
|
6669
6761
|
orElse?:
|
|
6670
6762
|
| ((
|
|
@@ -6694,6 +6786,12 @@ export const catchIf: {
|
|
|
6694
6786
|
* are handled by `orElse` when provided. Without `orElse`, non-matching errors
|
|
6695
6787
|
* are re-failed.
|
|
6696
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
|
+
*
|
|
6697
6795
|
* @see {@link catch_ catch} for recovering from every typed channel error
|
|
6698
6796
|
* @see {@link catchFilter} for selecting typed errors with a `Filter`
|
|
6699
6797
|
* @see {@link catchTag} for selecting tagged typed errors
|
|
@@ -6816,6 +6914,12 @@ export const catchIf: {
|
|
|
6816
6914
|
* filter results are handled by `orElse` when provided. Without `orElse`,
|
|
6817
6915
|
* failed filter results are re-failed.
|
|
6818
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
|
+
*
|
|
6819
6923
|
* @see {@link catchIf} for selecting typed errors with a predicate
|
|
6820
6924
|
* @see {@link catchTag} for selecting tagged typed errors
|
|
6821
6925
|
* @see {@link catchCauseFilter} for selecting full causes with a `Filter`
|
|
@@ -6839,6 +6943,12 @@ export const catchFilter: {
|
|
|
6839
6943
|
* filter results are handled by `orElse` when provided. Without `orElse`,
|
|
6840
6944
|
* failed filter results are re-failed.
|
|
6841
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
|
+
*
|
|
6842
6952
|
* @see {@link catchIf} for selecting typed errors with a predicate
|
|
6843
6953
|
* @see {@link catchTag} for selecting tagged typed errors
|
|
6844
6954
|
* @see {@link catchCauseFilter} for selecting full causes with a `Filter`
|
|
@@ -6903,6 +7013,12 @@ export const catchFilter: {
|
|
|
6903
7013
|
* filter results are handled by `orElse` when provided. Without `orElse`,
|
|
6904
7014
|
* failed filter results are re-failed.
|
|
6905
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
|
+
*
|
|
6906
7022
|
* @see {@link catchIf} for selecting typed errors with a predicate
|
|
6907
7023
|
* @see {@link catchTag} for selecting tagged typed errors
|
|
6908
7024
|
* @see {@link catchCauseFilter} for selecting full causes with a `Filter`
|
|
@@ -7024,6 +7140,12 @@ export const catchFilter: {
|
|
|
7024
7140
|
* errors are handled by `orElse` when provided. Without `orElse`,
|
|
7025
7141
|
* non-matching errors are re-failed.
|
|
7026
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
|
+
*
|
|
7027
7149
|
* @stability stable
|
|
7028
7150
|
* @category error handling
|
|
7029
7151
|
* @since 4.0.0
|
|
@@ -7038,6 +7160,12 @@ export const catchTag: {
|
|
|
7038
7160
|
* errors are handled by `orElse` when provided. Without `orElse`,
|
|
7039
7161
|
* non-matching errors are re-failed.
|
|
7040
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
|
+
*
|
|
7041
7169
|
* @stability stable
|
|
7042
7170
|
* @category error handling
|
|
7043
7171
|
* @since 4.0.0
|
|
@@ -7098,6 +7226,12 @@ export const catchTag: {
|
|
|
7098
7226
|
* errors are handled by `orElse` when provided. Without `orElse`,
|
|
7099
7227
|
* non-matching errors are re-failed.
|
|
7100
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
|
+
*
|
|
7101
7235
|
* @stability stable
|
|
7102
7236
|
* @category error handling
|
|
7103
7237
|
* @since 4.0.0
|
|
@@ -7201,6 +7335,12 @@ export const catchTag: {
|
|
|
7201
7335
|
/**
|
|
7202
7336
|
* Catches a specific reason within a tagged error.
|
|
7203
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
|
+
*
|
|
7204
7344
|
* **Example** (Recovering from nested reasons)
|
|
7205
7345
|
*
|
|
7206
7346
|
* ```ts import.meta.vitest
|
|
@@ -7237,6 +7377,12 @@ export const catchReason: {
|
|
|
7237
7377
|
/**
|
|
7238
7378
|
* Catches a specific reason within a tagged error.
|
|
7239
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
|
+
*
|
|
7240
7386
|
* **Example** (Recovering from nested reasons)
|
|
7241
7387
|
*
|
|
7242
7388
|
* ```ts import.meta.vitest
|
|
@@ -7324,6 +7470,12 @@ export const catchReason: {
|
|
|
7324
7470
|
/**
|
|
7325
7471
|
* Catches a specific reason within a tagged error.
|
|
7326
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
|
+
*
|
|
7327
7479
|
* **Example** (Recovering from nested reasons)
|
|
7328
7480
|
*
|
|
7329
7481
|
* ```ts import.meta.vitest
|
|
@@ -7481,6 +7633,12 @@ export const catchReason: {
|
|
|
7481
7633
|
/**
|
|
7482
7634
|
* Catches multiple reasons within a tagged error using an object of handlers.
|
|
7483
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
|
+
*
|
|
7484
7642
|
* @stability stable
|
|
7485
7643
|
* @category error handling
|
|
7486
7644
|
* @since 4.0.0
|
|
@@ -7489,6 +7647,12 @@ export const catchReasons: {
|
|
|
7489
7647
|
/**
|
|
7490
7648
|
* Catches multiple reasons within a tagged error using an object of handlers.
|
|
7491
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
|
+
*
|
|
7492
7656
|
* @stability stable
|
|
7493
7657
|
* @category error handling
|
|
7494
7658
|
* @since 4.0.0
|
|
@@ -7568,6 +7732,12 @@ export const catchReasons: {
|
|
|
7568
7732
|
/**
|
|
7569
7733
|
* Catches multiple reasons within a tagged error using an object of handlers.
|
|
7570
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
|
+
*
|
|
7571
7741
|
* @stability stable
|
|
7572
7742
|
* @category error handling
|
|
7573
7743
|
* @since 4.0.0
|
|
@@ -7827,9 +7997,12 @@ export const unwrapReason: {
|
|
|
7827
7997
|
) as any)
|
|
7828
7998
|
|
|
7829
7999
|
/**
|
|
7830
|
-
*
|
|
7831
|
-
*
|
|
7832
|
-
*
|
|
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.
|
|
7833
8006
|
*
|
|
7834
8007
|
* @stability stable
|
|
7835
8008
|
* @category error handling
|
|
@@ -7837,9 +8010,12 @@ export const unwrapReason: {
|
|
|
7837
8010
|
*/
|
|
7838
8011
|
export const mapError: {
|
|
7839
8012
|
/**
|
|
7840
|
-
*
|
|
7841
|
-
*
|
|
7842
|
-
*
|
|
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.
|
|
7843
8019
|
*
|
|
7844
8020
|
* @stability stable
|
|
7845
8021
|
* @category error handling
|
|
@@ -7849,9 +8025,12 @@ export const mapError: {
|
|
|
7849
8025
|
self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>
|
|
7850
8026
|
) => Channel<OutElem, OutErr2, OutDone, InElem, InErr, InDone, Env>
|
|
7851
8027
|
/**
|
|
7852
|
-
*
|
|
7853
|
-
*
|
|
7854
|
-
*
|
|
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.
|
|
7855
8034
|
*
|
|
7856
8035
|
* @stability stable
|
|
7857
8036
|
* @category error handling
|
|
@@ -7864,7 +8043,11 @@ export const mapError: {
|
|
|
7864
8043
|
} = dual(2, <OutElem, OutErr, OutDone, InElem, InErr, InDone, Env, OutErr2>(
|
|
7865
8044
|
self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>,
|
|
7866
8045
|
f: (err: OutErr) => OutErr2
|
|
7867
|
-
): 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
|
+
))
|
|
7868
8051
|
|
|
7869
8052
|
/**
|
|
7870
8053
|
* Converts all errors in the channel to defects (unrecoverable failures).
|
|
@@ -7912,6 +8095,13 @@ export const orDie = <
|
|
|
7912
8095
|
*
|
|
7913
8096
|
* Use the `log` option to emit the full {@link Cause} when the channel fails.
|
|
7914
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
|
+
*
|
|
7915
8105
|
* @stability stable
|
|
7916
8106
|
* @category error handling
|
|
7917
8107
|
* @since 4.0.0
|
|
@@ -8011,6 +8201,12 @@ export const ignoreCause: <
|
|
|
8011
8201
|
* Returns a new channel that retries this channel according to the specified
|
|
8012
8202
|
* schedule whenever it fails.
|
|
8013
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
|
+
*
|
|
8014
8210
|
* @stability stable
|
|
8015
8211
|
* @category error handling
|
|
8016
8212
|
* @since 4.0.0
|
|
@@ -8020,6 +8216,12 @@ export const retry: {
|
|
|
8020
8216
|
* Returns a new channel that retries this channel according to the specified
|
|
8021
8217
|
* schedule whenever it fails.
|
|
8022
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
|
+
*
|
|
8023
8225
|
* @stability stable
|
|
8024
8226
|
* @category error handling
|
|
8025
8227
|
* @since 4.0.0
|
|
@@ -8039,6 +8241,12 @@ export const retry: {
|
|
|
8039
8241
|
* Returns a new channel that retries this channel according to the specified
|
|
8040
8242
|
* schedule whenever it fails.
|
|
8041
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
|
+
*
|
|
8042
8250
|
* @stability stable
|
|
8043
8251
|
* @category error handling
|
|
8044
8252
|
* @since 4.0.0
|
|
@@ -8070,29 +8278,20 @@ export const retry: {
|
|
|
8070
8278
|
return Effect.void
|
|
8071
8279
|
})
|
|
8072
8280
|
const resolvedSchedule = typeof schedule === "function" ? schedule(identity_) : schedule
|
|
8073
|
-
|
|
8074
|
-
|
|
8075
|
-
|
|
8076
|
-
|
|
8077
|
-
|
|
8078
|
-
|
|
8079
|
-
|
|
8080
|
-
|
|
8081
|
-
|
|
8082
|
-
|
|
8083
|
-
|
|
8084
|
-
|
|
8085
|
-
if (!step) {
|
|
8086
|
-
step = yield* Schedule.toStepWithMetadata(resolvedSchedule)
|
|
8087
|
-
}
|
|
8088
|
-
meta = yield* step(error)
|
|
8089
|
-
return loop
|
|
8090
|
-
},
|
|
8091
|
-
(effect, error) => Pull.catchDone(effect, () => Effect.succeed(fail(error))),
|
|
8092
|
-
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)
|
|
8093
8293
|
)
|
|
8094
|
-
)
|
|
8095
|
-
return loop
|
|
8294
|
+
})
|
|
8096
8295
|
}))
|
|
8097
8296
|
|
|
8098
8297
|
/**
|
|
@@ -8486,83 +8685,9 @@ export const mergeAll: {
|
|
|
8486
8685
|
: Math.max(1, concurrency)
|
|
8487
8686
|
const semaphore = switch_ ? undefined : Semaphore.makeUnsafe(concurrencyN)
|
|
8488
8687
|
const doneLatch = yield* Latch.make(true)
|
|
8489
|
-
const fibers = new
|
|
8490
|
-
|
|
8491
|
-
const queue = yield* Queue.bounded
|
|
8492
|
-
* Merges multiple channels with specified concurrency and buffering options.
|
|
8493
|
-
*
|
|
8494
|
-
* **When to use**
|
|
8495
|
-
*
|
|
8496
|
-
* Use when channel outputs are themselves channels and multiple inner channels
|
|
8497
|
-
* should run with configured concurrency and buffering.
|
|
8498
|
-
*
|
|
8499
|
-
* **Example** (Merging nested channels)
|
|
8500
|
-
*
|
|
8501
|
-
* ```ts import.meta.vitest
|
|
8502
|
-
* import { Channel, Data, Effect } from "effect"
|
|
8503
|
-
*
|
|
8504
|
-
* class MergeAllError extends Data.TaggedError("MergeAllError")<{
|
|
8505
|
-
* readonly reason: string
|
|
8506
|
-
* }> {}
|
|
8507
|
-
*
|
|
8508
|
-
* // Create channels that output other channels
|
|
8509
|
-
* const nestedChannels = Channel.fromIterable([
|
|
8510
|
-
* Channel.fromIterable([1, 2]),
|
|
8511
|
-
* Channel.fromIterable([3, 4]),
|
|
8512
|
-
* Channel.fromIterable([5, 6])
|
|
8513
|
-
* ])
|
|
8514
|
-
*
|
|
8515
|
-
* // Merge all channels with bounded concurrency
|
|
8516
|
-
* const mergedChannel = Channel.mergeAll({
|
|
8517
|
-
* concurrency: 1,
|
|
8518
|
-
* bufferSize: 16
|
|
8519
|
-
* })(nestedChannels)
|
|
8520
|
-
*
|
|
8521
|
-
* await Effect.runPromise(Channel.runCollect(mergedChannel)) // => [1, 2, 3, 4, 5, 6]
|
|
8522
|
-
* ```
|
|
8523
|
-
*
|
|
8524
|
-
* @stability stable
|
|
8525
|
-
* @category combining
|
|
8526
|
-
* @since 2.0.0
|
|
8527
|
-
*/
|
|
8528
|
-
OutElem, /**
|
|
8529
|
-
* Merges multiple channels with specified concurrency and buffering options.
|
|
8530
|
-
*
|
|
8531
|
-
* **When to use**
|
|
8532
|
-
*
|
|
8533
|
-
* Use when channel outputs are themselves channels and multiple inner channels
|
|
8534
|
-
* should run with configured concurrency and buffering.
|
|
8535
|
-
*
|
|
8536
|
-
* **Example** (Merging nested channels)
|
|
8537
|
-
*
|
|
8538
|
-
* ```ts import.meta.vitest
|
|
8539
|
-
* import { Channel, Data, Effect } from "effect"
|
|
8540
|
-
*
|
|
8541
|
-
* class MergeAllError extends Data.TaggedError("MergeAllError")<{
|
|
8542
|
-
* readonly reason: string
|
|
8543
|
-
* }> {}
|
|
8544
|
-
*
|
|
8545
|
-
* // Create channels that output other channels
|
|
8546
|
-
* const nestedChannels = Channel.fromIterable([
|
|
8547
|
-
* Channel.fromIterable([1, 2]),
|
|
8548
|
-
* Channel.fromIterable([3, 4]),
|
|
8549
|
-
* Channel.fromIterable([5, 6])
|
|
8550
|
-
* ])
|
|
8551
|
-
*
|
|
8552
|
-
* // Merge all channels with bounded concurrency
|
|
8553
|
-
* const mergedChannel = Channel.mergeAll({
|
|
8554
|
-
* concurrency: 1,
|
|
8555
|
-
* bufferSize: 16
|
|
8556
|
-
* })(nestedChannels)
|
|
8557
|
-
*
|
|
8558
|
-
* await Effect.runPromise(Channel.runCollect(mergedChannel)) // => [1, 2, 3, 4, 5, 6]
|
|
8559
|
-
* ```
|
|
8560
|
-
*
|
|
8561
|
-
* @stability stable
|
|
8562
|
-
* @category combining
|
|
8563
|
-
* @since 2.0.0
|
|
8564
|
-
*/
|
|
8565
|
-
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>>(
|
|
8566
8691
|
bufferSize
|
|
8567
8692
|
)
|
|
8568
8693
|
yield* Scope.addFinalizer(forkedScope, Queue.shutdown(queue))
|
|
@@ -8590,10 +8715,14 @@ export const mergeAll: {
|
|
|
8590
8715
|
const childPull = yield* toTransform(channel)(upstream, childScope)
|
|
8591
8716
|
|
|
8592
8717
|
while (fibers.size >= concurrencyN) {
|
|
8593
|
-
const fiber = Iterable.headUnsafe(fibers)
|
|
8718
|
+
const [fiber, fiberScope] = Iterable.headUnsafe(fibers)
|
|
8594
8719
|
fibers.delete(fiber)
|
|
8595
8720
|
if (fibers.size === 0) yield* doneLatch.open
|
|
8596
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()))
|
|
8597
8726
|
}
|
|
8598
8727
|
|
|
8599
8728
|
const fiber = yield* childPull.pipe(
|
|
@@ -8617,7 +8746,7 @@ export const mergeAll: {
|
|
|
8617
8746
|
)
|
|
8618
8747
|
|
|
8619
8748
|
doneLatch.closeUnsafe()
|
|
8620
|
-
fibers.
|
|
8749
|
+
fibers.set(fiber, childScope)
|
|
8621
8750
|
}
|
|
8622
8751
|
}).pipe(
|
|
8623
8752
|
Effect.catchCause((cause) => {
|
|
@@ -8804,55 +8933,7 @@ export const merge: {
|
|
|
8804
8933
|
> =>
|
|
8805
8934
|
fromTransformBracket(Effect.fnUntraced(function*(upstream, _scope, forkedScope) {
|
|
8806
8935
|
const strategy = options?.haltStrategy ?? "both"
|
|
8807
|
-
const queue = yield* Queue.bounded
|
|
8808
|
-
* Returns a new channel, which is the merge of this channel and the specified
|
|
8809
|
-
* channel.
|
|
8810
|
-
*
|
|
8811
|
-
* **Example** (Merging channels)
|
|
8812
|
-
*
|
|
8813
|
-
* ```ts import.meta.vitest
|
|
8814
|
-
* import { Channel, Effect } from "effect"
|
|
8815
|
-
*
|
|
8816
|
-
* // Create two channels
|
|
8817
|
-
* const leftChannel = Channel.fromIterable([1, 2, 3])
|
|
8818
|
-
* const rightChannel = Channel.fromIterable(["a", "b", "c"])
|
|
8819
|
-
*
|
|
8820
|
-
* // The default "both" strategy waits for both channels to complete
|
|
8821
|
-
* const mergedChannel = Channel.merge(leftChannel, rightChannel)
|
|
8822
|
-
*
|
|
8823
|
-
* const values = await Effect.runPromise(Channel.runCollect(mergedChannel))
|
|
8824
|
-
* values.map(String).sort() // => ["1", "2", "3", "a", "b", "c"]
|
|
8825
|
-
* ```
|
|
8826
|
-
*
|
|
8827
|
-
* @stability stable
|
|
8828
|
-
* @category combining
|
|
8829
|
-
* @since 4.0.0
|
|
8830
|
-
*/
|
|
8831
|
-
OutElem | OutElem1, /**
|
|
8832
|
-
* Returns a new channel, which is the merge of this channel and the specified
|
|
8833
|
-
* channel.
|
|
8834
|
-
*
|
|
8835
|
-
* **Example** (Merging channels)
|
|
8836
|
-
*
|
|
8837
|
-
* ```ts import.meta.vitest
|
|
8838
|
-
* import { Channel, Effect } from "effect"
|
|
8839
|
-
*
|
|
8840
|
-
* // Create two channels
|
|
8841
|
-
* const leftChannel = Channel.fromIterable([1, 2, 3])
|
|
8842
|
-
* const rightChannel = Channel.fromIterable(["a", "b", "c"])
|
|
8843
|
-
*
|
|
8844
|
-
* // The default "both" strategy waits for both channels to complete
|
|
8845
|
-
* const mergedChannel = Channel.merge(leftChannel, rightChannel)
|
|
8846
|
-
*
|
|
8847
|
-
* const values = await Effect.runPromise(Channel.runCollect(mergedChannel))
|
|
8848
|
-
* values.map(String).sort() // => ["1", "2", "3", "a", "b", "c"]
|
|
8849
|
-
* ```
|
|
8850
|
-
*
|
|
8851
|
-
* @stability stable
|
|
8852
|
-
* @category combining
|
|
8853
|
-
* @since 4.0.0
|
|
8854
|
-
*/
|
|
8855
|
-
OutErr | OutErr1 | Cause.Done<OutDone | OutDone1>>(0)
|
|
8936
|
+
const queue = yield* Queue.bounded<OutElem | OutElem1, OutErr | OutErr1 | Cause.Done<OutDone | OutDone1>>(0)
|
|
8856
8937
|
yield* Scope.addFinalizer(forkedScope, Queue.shutdown(queue))
|
|
8857
8938
|
let done = 0
|
|
8858
8939
|
function onExit(
|
|
@@ -9115,8 +9196,9 @@ export const splitLines = <Err, Done>(): Channel<
|
|
|
9115
9196
|
* **Details**
|
|
9116
9197
|
*
|
|
9117
9198
|
* Input chunks are decoded with streaming enabled so multi-byte characters may
|
|
9118
|
-
* span `Uint8Array` boundaries.
|
|
9119
|
-
*
|
|
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`.
|
|
9120
9202
|
*
|
|
9121
9203
|
* @stability stable
|
|
9122
9204
|
* @category decoding
|
|
@@ -9137,7 +9219,15 @@ export const decodeText = <Err, Done>(
|
|
|
9137
9219
|
Effect.sync(() => {
|
|
9138
9220
|
const decoder = new TextDecoder(encoding, options)
|
|
9139
9221
|
const streamOptions = { stream: true }
|
|
9140
|
-
|
|
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)
|
|
9141
9231
|
})
|
|
9142
9232
|
)
|
|
9143
9233
|
|
|
@@ -9687,59 +9777,7 @@ export const buffer: {
|
|
|
9687
9777
|
): Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env> =>
|
|
9688
9778
|
fromTransform(Effect.fnUntraced(function*(upstream, scope) {
|
|
9689
9779
|
const pull = yield* toTransform(self)(upstream, scope)
|
|
9690
|
-
const queue = yield* Queue.make
|
|
9691
|
-
* Buffers individual output elements in a queue with the configured `capacity`
|
|
9692
|
-
* so a faster producer can progress independently of a slower consumer.
|
|
9693
|
-
*
|
|
9694
|
-
* **When to use**
|
|
9695
|
-
*
|
|
9696
|
-
* Use when output elements can be decoupled from downstream demand and the
|
|
9697
|
-
* configured backpressure or loss strategy is acceptable.
|
|
9698
|
-
*
|
|
9699
|
-
* **Details**
|
|
9700
|
-
*
|
|
9701
|
-
* Finite queues use the `strategy` option. The default `"suspend"` strategy
|
|
9702
|
-
* applies backpressure, while `"dropping"` and `"sliding"` can discard output
|
|
9703
|
-
* elements when the queue is full. `"unbounded"` capacity does not use a finite
|
|
9704
|
-
* capacity strategy.
|
|
9705
|
-
*
|
|
9706
|
-
* **Gotchas**
|
|
9707
|
-
*
|
|
9708
|
-
* Dropping and sliding strategies can lose output elements under backpressure.
|
|
9709
|
-
*
|
|
9710
|
-
* @see {@link bufferArray} for buffering elements from array outputs
|
|
9711
|
-
*
|
|
9712
|
-
* @stability stable
|
|
9713
|
-
* @category buffering
|
|
9714
|
-
* @since 2.0.0
|
|
9715
|
-
*/
|
|
9716
|
-
OutElem, /**
|
|
9717
|
-
* Buffers individual output elements in a queue with the configured `capacity`
|
|
9718
|
-
* so a faster producer can progress independently of a slower consumer.
|
|
9719
|
-
*
|
|
9720
|
-
* **When to use**
|
|
9721
|
-
*
|
|
9722
|
-
* Use when output elements can be decoupled from downstream demand and the
|
|
9723
|
-
* configured backpressure or loss strategy is acceptable.
|
|
9724
|
-
*
|
|
9725
|
-
* **Details**
|
|
9726
|
-
*
|
|
9727
|
-
* Finite queues use the `strategy` option. The default `"suspend"` strategy
|
|
9728
|
-
* applies backpressure, while `"dropping"` and `"sliding"` can discard output
|
|
9729
|
-
* elements when the queue is full. `"unbounded"` capacity does not use a finite
|
|
9730
|
-
* capacity strategy.
|
|
9731
|
-
*
|
|
9732
|
-
* **Gotchas**
|
|
9733
|
-
*
|
|
9734
|
-
* Dropping and sliding strategies can lose output elements under backpressure.
|
|
9735
|
-
*
|
|
9736
|
-
* @see {@link bufferArray} for buffering elements from array outputs
|
|
9737
|
-
*
|
|
9738
|
-
* @stability stable
|
|
9739
|
-
* @category buffering
|
|
9740
|
-
* @since 2.0.0
|
|
9741
|
-
*/
|
|
9742
|
-
OutErr | Cause.Done<OutDone>>({
|
|
9780
|
+
const queue = yield* Queue.make<OutElem, OutErr | Cause.Done<OutDone>>({
|
|
9743
9781
|
capacity: options.capacity === "unbounded" ? undefined : options.capacity,
|
|
9744
9782
|
strategy: options.capacity === "unbounded" ? undefined : options.strategy
|
|
9745
9783
|
})
|
|
@@ -9862,63 +9900,7 @@ export const bufferArray: {
|
|
|
9862
9900
|
): Channel<Arr.NonEmptyReadonlyArray<OutElem>, OutErr, OutDone, InElem, InErr, InDone, Env> =>
|
|
9863
9901
|
fromTransform(Effect.fnUntraced(function*(upstream, scope) {
|
|
9864
9902
|
const pull = yield* toTransform(self)(upstream, scope)
|
|
9865
|
-
const queue = yield* Queue.make
|
|
9866
|
-
* Buffers array output elements in a queue with the configured `capacity` so a
|
|
9867
|
-
* faster producer can progress independently of a slower consumer.
|
|
9868
|
-
*
|
|
9869
|
-
* **When to use**
|
|
9870
|
-
*
|
|
9871
|
-
* Use when emitted arrays are batches of elements and it is acceptable for
|
|
9872
|
-
* buffering to flatten and rebuild those batches.
|
|
9873
|
-
*
|
|
9874
|
-
* **Details**
|
|
9875
|
-
*
|
|
9876
|
-
* Finite queues use the `strategy` option. The default `"suspend"` strategy
|
|
9877
|
-
* applies backpressure, while `"dropping"` and `"sliding"` can discard output
|
|
9878
|
-
* elements when the queue is full. `"unbounded"` capacity does not use a finite
|
|
9879
|
-
* capacity strategy.
|
|
9880
|
-
*
|
|
9881
|
-
* **Gotchas**
|
|
9882
|
-
*
|
|
9883
|
-
* Input arrays are offered to the queue element-by-element and outputs are
|
|
9884
|
-
* rebuilt from the currently available queued elements, so upstream array
|
|
9885
|
-
* boundaries are not preserved.
|
|
9886
|
-
*
|
|
9887
|
-
* @see {@link buffer} for buffering output elements without flattening arrays
|
|
9888
|
-
*
|
|
9889
|
-
* @stability stable
|
|
9890
|
-
* @category buffering
|
|
9891
|
-
* @since 4.0.0
|
|
9892
|
-
*/
|
|
9893
|
-
OutElem, /**
|
|
9894
|
-
* Buffers array output elements in a queue with the configured `capacity` so a
|
|
9895
|
-
* faster producer can progress independently of a slower consumer.
|
|
9896
|
-
*
|
|
9897
|
-
* **When to use**
|
|
9898
|
-
*
|
|
9899
|
-
* Use when emitted arrays are batches of elements and it is acceptable for
|
|
9900
|
-
* buffering to flatten and rebuild those batches.
|
|
9901
|
-
*
|
|
9902
|
-
* **Details**
|
|
9903
|
-
*
|
|
9904
|
-
* Finite queues use the `strategy` option. The default `"suspend"` strategy
|
|
9905
|
-
* applies backpressure, while `"dropping"` and `"sliding"` can discard output
|
|
9906
|
-
* elements when the queue is full. `"unbounded"` capacity does not use a finite
|
|
9907
|
-
* capacity strategy.
|
|
9908
|
-
*
|
|
9909
|
-
* **Gotchas**
|
|
9910
|
-
*
|
|
9911
|
-
* Input arrays are offered to the queue element-by-element and outputs are
|
|
9912
|
-
* rebuilt from the currently available queued elements, so upstream array
|
|
9913
|
-
* boundaries are not preserved.
|
|
9914
|
-
*
|
|
9915
|
-
* @see {@link buffer} for buffering output elements without flattening arrays
|
|
9916
|
-
*
|
|
9917
|
-
* @stability stable
|
|
9918
|
-
* @category buffering
|
|
9919
|
-
* @since 4.0.0
|
|
9920
|
-
*/
|
|
9921
|
-
OutErr | Cause.Done<OutDone>>({
|
|
9903
|
+
const queue = yield* Queue.make<OutElem, OutErr | Cause.Done<OutDone>>({
|
|
9922
9904
|
capacity: options.capacity === "unbounded" ? undefined : options.capacity,
|
|
9923
9905
|
strategy: options.capacity === "unbounded" ? undefined : options.strategy
|
|
9924
9906
|
})
|
|
@@ -12193,75 +12175,7 @@ export const toQueue: {
|
|
|
12193
12175
|
}
|
|
12194
12176
|
) {
|
|
12195
12177
|
const scope = yield* Effect.scope
|
|
12196
|
-
const queue = yield* Queue.make
|
|
12197
|
-
* Creates a scoped queue and forks the channel to feed it for concurrent
|
|
12198
|
-
* consumption.
|
|
12199
|
-
*
|
|
12200
|
-
* **Details**
|
|
12201
|
-
*
|
|
12202
|
-
* Output elements are offered to the queue. Channel completion and failure are
|
|
12203
|
-
* signaled through the queue. The queue is shut down when the surrounding scope
|
|
12204
|
-
* closes.
|
|
12205
|
-
*
|
|
12206
|
-
* **Example** (Converting channels to queues)
|
|
12207
|
-
*
|
|
12208
|
-
* ```ts import.meta.vitest
|
|
12209
|
-
* import { Channel, Data, Effect, Queue } from "effect"
|
|
12210
|
-
*
|
|
12211
|
-
* class QueueError extends Data.TaggedError("QueueError")<{
|
|
12212
|
-
* readonly operation: string
|
|
12213
|
-
* }> {}
|
|
12214
|
-
*
|
|
12215
|
-
* // Create a channel with data
|
|
12216
|
-
* const dataChannel = Channel.fromIterable([1, 2, 3, 4, 5])
|
|
12217
|
-
*
|
|
12218
|
-
* // Convert to queue for concurrent processing
|
|
12219
|
-
* const program = Effect.scoped(Effect.gen(function*() {
|
|
12220
|
-
* const queue = yield* Channel.toQueue(dataChannel, { capacity: 32 })
|
|
12221
|
-
* return yield* Queue.takeBetween(queue, 5, 5)
|
|
12222
|
-
* }))
|
|
12223
|
-
* await Effect.runPromise(program) // => [1, 2, 3, 4, 5]
|
|
12224
|
-
* ```
|
|
12225
|
-
*
|
|
12226
|
-
* @stability stable
|
|
12227
|
-
* @category destructors
|
|
12228
|
-
* @since 2.0.0
|
|
12229
|
-
*/
|
|
12230
|
-
OutElem, /**
|
|
12231
|
-
* Creates a scoped queue and forks the channel to feed it for concurrent
|
|
12232
|
-
* consumption.
|
|
12233
|
-
*
|
|
12234
|
-
* **Details**
|
|
12235
|
-
*
|
|
12236
|
-
* Output elements are offered to the queue. Channel completion and failure are
|
|
12237
|
-
* signaled through the queue. The queue is shut down when the surrounding scope
|
|
12238
|
-
* closes.
|
|
12239
|
-
*
|
|
12240
|
-
* **Example** (Converting channels to queues)
|
|
12241
|
-
*
|
|
12242
|
-
* ```ts import.meta.vitest
|
|
12243
|
-
* import { Channel, Data, Effect, Queue } from "effect"
|
|
12244
|
-
*
|
|
12245
|
-
* class QueueError extends Data.TaggedError("QueueError")<{
|
|
12246
|
-
* readonly operation: string
|
|
12247
|
-
* }> {}
|
|
12248
|
-
*
|
|
12249
|
-
* // Create a channel with data
|
|
12250
|
-
* const dataChannel = Channel.fromIterable([1, 2, 3, 4, 5])
|
|
12251
|
-
*
|
|
12252
|
-
* // Convert to queue for concurrent processing
|
|
12253
|
-
* const program = Effect.scoped(Effect.gen(function*() {
|
|
12254
|
-
* const queue = yield* Channel.toQueue(dataChannel, { capacity: 32 })
|
|
12255
|
-
* return yield* Queue.takeBetween(queue, 5, 5)
|
|
12256
|
-
* }))
|
|
12257
|
-
* await Effect.runPromise(program) // => [1, 2, 3, 4, 5]
|
|
12258
|
-
* ```
|
|
12259
|
-
*
|
|
12260
|
-
* @stability stable
|
|
12261
|
-
* @category destructors
|
|
12262
|
-
* @since 2.0.0
|
|
12263
|
-
*/
|
|
12264
|
-
OutErr | Cause.Done>({
|
|
12178
|
+
const queue = yield* Queue.make<OutElem, OutErr | Cause.Done>({
|
|
12265
12179
|
capacity: typeof options.capacity === "number" ? options.capacity : undefined,
|
|
12266
12180
|
strategy: typeof options.capacity === "number" ? options.strategy : undefined
|
|
12267
12181
|
})
|
|
@@ -12342,33 +12256,7 @@ export const toQueueArray: {
|
|
|
12342
12256
|
}
|
|
12343
12257
|
) {
|
|
12344
12258
|
const scope = yield* Effect.scope
|
|
12345
|
-
const queue = yield* Queue.make
|
|
12346
|
-
* Creates a scoped queue and forks an array-emitting channel to feed it.
|
|
12347
|
-
*
|
|
12348
|
-
* **Details**
|
|
12349
|
-
*
|
|
12350
|
-
* Each element inside emitted non-empty arrays is offered to the queue. Channel
|
|
12351
|
-
* completion and failure are signaled through the queue. The queue is shut down
|
|
12352
|
-
* when the surrounding scope closes.
|
|
12353
|
-
*
|
|
12354
|
-
* @stability stable
|
|
12355
|
-
* @category destructors
|
|
12356
|
-
* @since 4.0.0
|
|
12357
|
-
*/
|
|
12358
|
-
OutElem, /**
|
|
12359
|
-
* Creates a scoped queue and forks an array-emitting channel to feed it.
|
|
12360
|
-
*
|
|
12361
|
-
* **Details**
|
|
12362
|
-
*
|
|
12363
|
-
* Each element inside emitted non-empty arrays is offered to the queue. Channel
|
|
12364
|
-
* completion and failure are signaled through the queue. The queue is shut down
|
|
12365
|
-
* when the surrounding scope closes.
|
|
12366
|
-
*
|
|
12367
|
-
* @stability stable
|
|
12368
|
-
* @category destructors
|
|
12369
|
-
* @since 4.0.0
|
|
12370
|
-
*/
|
|
12371
|
-
OutErr | Cause.Done>({
|
|
12259
|
+
const queue = yield* Queue.make<OutElem, OutErr | Cause.Done>({
|
|
12372
12260
|
capacity: typeof options.capacity === "number" ? options.capacity : undefined,
|
|
12373
12261
|
strategy: typeof options.capacity === "number" ? options.strategy : undefined
|
|
12374
12262
|
})
|
|
@@ -12457,19 +12345,7 @@ export const toPubSub: {
|
|
|
12457
12345
|
readonly shutdownOnEnd?: boolean | undefined
|
|
12458
12346
|
}
|
|
12459
12347
|
) {
|
|
12460
|
-
const pubsub = yield* makePubSub
|
|
12461
|
-
* Converts a channel to a PubSub for concurrent consumption.
|
|
12462
|
-
*
|
|
12463
|
-
* **Details**
|
|
12464
|
-
*
|
|
12465
|
-
* `shutdownOnEnd` indicates whether the PubSub should be shut down when the
|
|
12466
|
-
* channel ends. By default this is `true`.
|
|
12467
|
-
*
|
|
12468
|
-
* @stability stable
|
|
12469
|
-
* @category destructors
|
|
12470
|
-
* @since 2.0.0
|
|
12471
|
-
*/
|
|
12472
|
-
OutElem>(options)
|
|
12348
|
+
const pubsub = yield* makePubSub<OutElem>(options)
|
|
12473
12349
|
yield* Effect.forkScoped(runIntoPubSub(self, pubsub, {
|
|
12474
12350
|
shutdownOnEnd: options.shutdownOnEnd !== false
|
|
12475
12351
|
}))
|
|
@@ -12649,21 +12525,7 @@ export const toPubSubArray: {
|
|
|
12649
12525
|
readonly shutdownOnEnd?: boolean | undefined
|
|
12650
12526
|
}
|
|
12651
12527
|
) {
|
|
12652
|
-
const pubsub = yield* makePubSub
|
|
12653
|
-
* Converts an array-emitting channel to a scoped `PubSub` for concurrent
|
|
12654
|
-
* consumption.
|
|
12655
|
-
*
|
|
12656
|
-
* **Details**
|
|
12657
|
-
*
|
|
12658
|
-
* Each element inside emitted non-empty arrays is published as an individual
|
|
12659
|
-
* PubSub message. `shutdownOnEnd` indicates whether the PubSub should be shut
|
|
12660
|
-
* down when the channel ends. By default this is `true`.
|
|
12661
|
-
*
|
|
12662
|
-
* @stability stable
|
|
12663
|
-
* @category destructors
|
|
12664
|
-
* @since 4.0.0
|
|
12665
|
-
*/
|
|
12666
|
-
OutElem>(options)
|
|
12528
|
+
const pubsub = yield* makePubSub<OutElem>(options)
|
|
12667
12529
|
yield* Effect.forkScoped(runIntoPubSubArray(self, pubsub, {
|
|
12668
12530
|
shutdownOnEnd: options.shutdownOnEnd !== false
|
|
12669
12531
|
}))
|
|
@@ -12830,21 +12692,7 @@ export const toPubSubTake: {
|
|
|
12830
12692
|
readonly replay?: number | undefined
|
|
12831
12693
|
}
|
|
12832
12694
|
) {
|
|
12833
|
-
const pubsub = yield* makePubSub
|
|
12834
|
-
* Converts a channel to a scoped `PubSub` of `Take` values.
|
|
12835
|
-
*
|
|
12836
|
-
* **Details**
|
|
12837
|
-
*
|
|
12838
|
-
* Emitted non-empty arrays are published as output `Take` values. When the
|
|
12839
|
-
* channel ends, the `PubSub` is ended with its final `Exit`, so every
|
|
12840
|
-
* subscriber, including one that subscribes later, observes completion or
|
|
12841
|
-
* failure once it has consumed its buffered values.
|
|
12842
|
-
*
|
|
12843
|
-
* @stability stable
|
|
12844
|
-
* @category destructors
|
|
12845
|
-
* @since 4.0.0
|
|
12846
|
-
*/
|
|
12847
|
-
Take.Take<OutElem, OutErr, OutDone>>(options)
|
|
12695
|
+
const pubsub = yield* makePubSub<Take.Take<OutElem, OutErr, OutDone>>(options)
|
|
12848
12696
|
yield* runForEach(self, (value) => PubSub.publish(pubsub, value)).pipe(
|
|
12849
12697
|
Effect.onExit((exit) => PubSub.end(pubsub, exit)),
|
|
12850
12698
|
Effect.forkScoped
|