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/internal/effect.ts
CHANGED
|
@@ -49,6 +49,7 @@ import { internalCall } from "../Utils.ts"
|
|
|
49
49
|
import type { Primitive } from "./core.ts"
|
|
50
50
|
import {
|
|
51
51
|
args,
|
|
52
|
+
causeAddInterrupts,
|
|
52
53
|
causeAnnotate,
|
|
53
54
|
causeCombine,
|
|
54
55
|
causeEmpty,
|
|
@@ -58,6 +59,7 @@ import {
|
|
|
58
59
|
contA,
|
|
59
60
|
contAll,
|
|
60
61
|
contE,
|
|
62
|
+
Die,
|
|
61
63
|
evaluate,
|
|
62
64
|
exitDie,
|
|
63
65
|
exitFail,
|
|
@@ -68,6 +70,7 @@ import {
|
|
|
68
70
|
InterruptorStackTrace,
|
|
69
71
|
isCause,
|
|
70
72
|
isDieReason,
|
|
73
|
+
isDone,
|
|
71
74
|
isEffect,
|
|
72
75
|
isFailReason,
|
|
73
76
|
isInterruptReason,
|
|
@@ -130,9 +133,9 @@ export class Interrupt extends ReasonBase<"Interrupt"> implements Cause.Interrup
|
|
|
130
133
|
)
|
|
131
134
|
}
|
|
132
135
|
[Hash.symbol](): number {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
)
|
|
136
|
+
// Equality compares annotations by reference, so leave them out instead of
|
|
137
|
+
// hashing them randomly.
|
|
138
|
+
return Hash.string(`${this._tag}:${this.fiberId}`)
|
|
136
139
|
}
|
|
137
140
|
}
|
|
138
141
|
|
|
@@ -170,6 +173,31 @@ export const findErrorOption = Filter.toOption(findError)
|
|
|
170
173
|
/** @internal */
|
|
171
174
|
export const hasDies = <E>(self: Cause.Cause<E>): boolean => self.reasons.some(isDieReason)
|
|
172
175
|
|
|
176
|
+
/**
|
|
177
|
+
* Defects take precedence over typed failures when causes are combined: if
|
|
178
|
+
* the cause contains a `Die`, every `Fail` becomes a `Die`. `Done` signals
|
|
179
|
+
* stay typed so pulls still complete.
|
|
180
|
+
*
|
|
181
|
+
* @internal
|
|
182
|
+
*/
|
|
183
|
+
export const causeElectDefects = <E>(self: Cause.Cause<E>): Cause.Cause<E> =>
|
|
184
|
+
hasDies(self) && hasFails(self)
|
|
185
|
+
? causeFromReasons(
|
|
186
|
+
self.reasons.map((reason) =>
|
|
187
|
+
reason._tag === "Fail" && !isDone(reason.error) ? new Die(reason.error, reason.annotations) : reason
|
|
188
|
+
)
|
|
189
|
+
)
|
|
190
|
+
: self
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Selects the first typed error unless a defect is present, in which case
|
|
194
|
+
* every `Fail` is elected to `Die`. Interrupts do not block typed recovery.
|
|
195
|
+
*
|
|
196
|
+
* @internal
|
|
197
|
+
*/
|
|
198
|
+
export const findRecoverableError = <E>(self: Cause.Cause<E>): Result.Result<E, Cause.Cause<never>> =>
|
|
199
|
+
hasDies(self) ? Result.fail(causeElectDefects(self) as Cause.Cause<never>) : findError(self)
|
|
200
|
+
|
|
173
201
|
/** @internal */
|
|
174
202
|
export const findDie = <E>(self: Cause.Cause<E>): Result.Result<Cause.Die, Cause.Cause<E>> => {
|
|
175
203
|
const reason = self.reasons.find(isDieReason)
|
|
@@ -316,13 +344,18 @@ export const causePrettyError = (
|
|
|
316
344
|
annotations?: ReadonlyMap<string, unknown>,
|
|
317
345
|
options?: {
|
|
318
346
|
readonly includeCauseInStack?: boolean | undefined
|
|
319
|
-
}
|
|
347
|
+
},
|
|
348
|
+
seen: Set<unknown> = new Set()
|
|
320
349
|
): Error => {
|
|
321
350
|
const kind = typeof original
|
|
322
351
|
let error: Error
|
|
323
352
|
if (original && kind === "object") {
|
|
353
|
+
seen.add(original)
|
|
354
|
+
const cause = original.cause
|
|
324
355
|
error = new globalThis.Error(causePrettyMessage(original), {
|
|
325
|
-
cause:
|
|
356
|
+
cause: cause !== undefined && !seen.has(cause)
|
|
357
|
+
? causePrettyError(cause as any, undefined, undefined, seen)
|
|
358
|
+
: undefined
|
|
326
359
|
})
|
|
327
360
|
if (typeof original.name === "string") {
|
|
328
361
|
error.name = original.name
|
|
@@ -466,6 +499,7 @@ const fiberIdStore = { id: 0 }
|
|
|
466
499
|
|
|
467
500
|
interface AsyncContext {
|
|
468
501
|
runInAsyncScope<This, Arg, R>(fn: (this: This, arg: Arg) => R, thisArg: This, arg: Arg): R
|
|
502
|
+
emitDestroy(): void
|
|
469
503
|
}
|
|
470
504
|
|
|
471
505
|
const AsyncResource: (new(type: string) => AsyncContext) | undefined = (() => {
|
|
@@ -566,7 +600,7 @@ export class FiberImpl<A = any, E = any> implements Fiber.Fiber<A, E> {
|
|
|
566
600
|
cause = causeAnnotate(cause, annotations)
|
|
567
601
|
}
|
|
568
602
|
this._interruptedCause = this._interruptedCause
|
|
569
|
-
?
|
|
603
|
+
? causeAddInterrupts(this._interruptedCause, cause)
|
|
570
604
|
: cause
|
|
571
605
|
if (this.interruptible) {
|
|
572
606
|
if (this._running) {
|
|
@@ -585,7 +619,13 @@ export class FiberImpl<A = any, E = any> implements Fiber.Fiber<A, E> {
|
|
|
585
619
|
} else if (this._asyncContext !== undefined) {
|
|
586
620
|
const asyncContext = this._asyncContext
|
|
587
621
|
this._asyncContext = undefined
|
|
588
|
-
|
|
622
|
+
try {
|
|
623
|
+
return asyncContext.runInAsyncScope(this.evaluate, this, effect)
|
|
624
|
+
} finally {
|
|
625
|
+
// Each captured context is resumed once, so release it for async_hooks
|
|
626
|
+
// consumers like vitest's detectAsyncLeaks.
|
|
627
|
+
asyncContext.emitDestroy()
|
|
628
|
+
}
|
|
589
629
|
} else if (this._yielded !== undefined) {
|
|
590
630
|
const yielded = this._yielded as () => void
|
|
591
631
|
this._yielded = undefined
|
|
@@ -1000,7 +1040,7 @@ export const fromOption: <
|
|
|
1000
1040
|
(args) => args.length >= 2 || Option.isOption(args[0]),
|
|
1001
1041
|
<A, E>(option: Option.Option<A>, onNone?: LazyArg<E>): Effect.Effect<A, Cause.NoSuchElementError | E> =>
|
|
1002
1042
|
Option.isNone(option)
|
|
1003
|
-
?
|
|
1043
|
+
? onNone ? failSync(onNone) : fail(new NoSuchElementError("Effect.fromOption: Option.none"))
|
|
1004
1044
|
: succeed(option.value)
|
|
1005
1045
|
)
|
|
1006
1046
|
|
|
@@ -1162,9 +1202,10 @@ const callbackOptions: <A, E = never, R = never>(
|
|
|
1162
1202
|
}, controller?.signal)
|
|
1163
1203
|
if (yielded !== false) return yielded
|
|
1164
1204
|
yielded = true
|
|
1165
|
-
|
|
1205
|
+
// V8 pretenures closures assigned to a property; a method argument avoids that and survives minification
|
|
1206
|
+
fiber.yieldWith(() => {
|
|
1166
1207
|
resumed = true
|
|
1167
|
-
}
|
|
1208
|
+
})
|
|
1168
1209
|
if (controller === undefined && onCancel === undefined) {
|
|
1169
1210
|
return Yield
|
|
1170
1211
|
}
|
|
@@ -1639,7 +1680,7 @@ export const raceAll = <Eff extends Effect.Effect<any, any, any>>(
|
|
|
1639
1680
|
if (exit._tag === "Failure") {
|
|
1640
1681
|
failures.push(...exit.cause.reasons)
|
|
1641
1682
|
if (doneCount >= len) {
|
|
1642
|
-
resume(failCause(causeFromReasons(failures)))
|
|
1683
|
+
resume(failCause(causeElectDefects(causeFromReasons(failures))))
|
|
1643
1684
|
}
|
|
1644
1685
|
return
|
|
1645
1686
|
}
|
|
@@ -1952,8 +1993,8 @@ export const catchEager: {
|
|
|
1952
1993
|
): Effect.Effect<A | B, E2, R | R2> => {
|
|
1953
1994
|
if (effectIsExit(self)) {
|
|
1954
1995
|
if (self._tag === "Success") return self as Exit.Exit<A>
|
|
1955
|
-
const error =
|
|
1956
|
-
if (Result.isFailure(error)) return
|
|
1996
|
+
const error = findRecoverableError(self.cause)
|
|
1997
|
+
if (Result.isFailure(error)) return exitFailCause(error.failure)
|
|
1957
1998
|
return f(error.success)
|
|
1958
1999
|
}
|
|
1959
2000
|
return catch_(self, f)
|
|
@@ -2049,9 +2090,7 @@ export const exitMapError: {
|
|
|
2049
2090
|
2,
|
|
2050
2091
|
<A, E, E2>(self: Exit.Exit<A, E>, f: (a: NoInfer<E>) => E2): Exit.Exit<A, E2> => {
|
|
2051
2092
|
if (self._tag === "Success") return self as Exit.Exit<A>
|
|
2052
|
-
|
|
2053
|
-
if (Result.isFailure(error)) return self as Exit.Exit<never>
|
|
2054
|
-
return exitFail(f(error.success))
|
|
2093
|
+
return exitFailCause(causeMap(self.cause, f))
|
|
2055
2094
|
}
|
|
2056
2095
|
)
|
|
2057
2096
|
|
|
@@ -2071,9 +2110,7 @@ export const exitMapBoth: {
|
|
|
2071
2110
|
options: { readonly onFailure: (e: E) => E2; readonly onSuccess: (a: A) => A2 }
|
|
2072
2111
|
): Exit.Exit<A2, E2> => {
|
|
2073
2112
|
if (self._tag === "Success") return exitSucceed(options.onSuccess(self.value))
|
|
2074
|
-
|
|
2075
|
-
if (Result.isFailure(error)) return self as Exit.Exit<never>
|
|
2076
|
-
return exitFail(options.onFailure(error.success))
|
|
2113
|
+
return exitFailCause(causeMap(self.cause, options.onFailure))
|
|
2077
2114
|
}
|
|
2078
2115
|
)
|
|
2079
2116
|
|
|
@@ -2681,7 +2718,7 @@ export const catch_: {
|
|
|
2681
2718
|
<A, E, R, B, E2, R2>(
|
|
2682
2719
|
self: Effect.Effect<A, E, R>,
|
|
2683
2720
|
f: (a: NoInfer<E>) => Effect.Effect<B, E2, R2>
|
|
2684
|
-
): Effect.Effect<A | B, E2, R | R2> => catchCauseFilter(self,
|
|
2721
|
+
): Effect.Effect<A | B, E2, R | R2> => catchCauseFilter(self, findRecoverableError as any, (e: any) => f(e)) as any
|
|
2685
2722
|
)
|
|
2686
2723
|
|
|
2687
2724
|
/** @internal */
|
|
@@ -2890,7 +2927,7 @@ export const catchIf: {
|
|
|
2890
2927
|
) => Effect.Effect<A | A2 | Exclude<A3, unassigned>, E2 | E3 | (A3 extends unassigned ? E : never), R | R2 | R3>
|
|
2891
2928
|
<A, E, R, EB extends E, A2, E2, R2, A3 = unassigned, E3 = never, R3 = never>(
|
|
2892
2929
|
self: Effect.Effect<A, E, R>,
|
|
2893
|
-
refinement: Predicate.Refinement<E
|
|
2930
|
+
refinement: Predicate.Refinement<NoInfer<E>, EB>,
|
|
2894
2931
|
f: (e: EB) => Effect.Effect<A2, E2, R2>,
|
|
2895
2932
|
orElse?: ((e: Exclude<E, EB>) => Effect.Effect<A3, E3, R3>) | undefined
|
|
2896
2933
|
): Effect.Effect<
|
|
@@ -2913,7 +2950,7 @@ export const catchIf: {
|
|
|
2913
2950
|
orElse?: ((e: E) => Effect.Effect<A3, E3, R3>) | undefined
|
|
2914
2951
|
): Effect.Effect<A | A2 | A3, E2 | E3, R | R2 | R3> =>
|
|
2915
2952
|
catchCause(self, (cause): Effect.Effect<A2 | A3, E2 | E3, R2 | R3> => {
|
|
2916
|
-
const error =
|
|
2953
|
+
const error = findRecoverableError(cause)
|
|
2917
2954
|
if (Result.isFailure(error)) return failCause(error.failure)
|
|
2918
2955
|
if (!predicate(error.success)) {
|
|
2919
2956
|
return orElse ? orElse(error.success as any) : failCause(cause as any as Cause.Cause<E3>)
|
|
@@ -2946,7 +2983,7 @@ export const catchFilter: {
|
|
|
2946
2983
|
orElse?: ((e: X) => Effect.Effect<A3, E3, R3>) | undefined
|
|
2947
2984
|
): Effect.Effect<A | A2 | A3, E2 | E3, R | R2 | R3> =>
|
|
2948
2985
|
catchCause(self, (cause): Effect.Effect<A2 | A3, E2 | E3, R2 | R3> => {
|
|
2949
|
-
const error =
|
|
2986
|
+
const error = findRecoverableError(cause)
|
|
2950
2987
|
if (Result.isFailure(error)) return failCause(error.failure)
|
|
2951
2988
|
const result = filter(error.success)
|
|
2952
2989
|
if (Result.isFailure(result)) {
|
|
@@ -3380,7 +3417,7 @@ export const mapError: {
|
|
|
3380
3417
|
<A, E, R, E2>(
|
|
3381
3418
|
self: Effect.Effect<A, E, R>,
|
|
3382
3419
|
f: (e: E) => E2
|
|
3383
|
-
): Effect.Effect<A, E2, R> =>
|
|
3420
|
+
): Effect.Effect<A, E2, R> => catchCause(self, (cause) => failCause(causeMap(cause, f)))
|
|
3384
3421
|
)
|
|
3385
3422
|
|
|
3386
3423
|
/** @internal */
|
|
@@ -3396,8 +3433,8 @@ export const mapBoth: {
|
|
|
3396
3433
|
self: Effect.Effect<A, E, R>,
|
|
3397
3434
|
options: { readonly onFailure: (e: E) => E2; readonly onSuccess: (a: A) => A2 }
|
|
3398
3435
|
): Effect.Effect<A2, E2, R> =>
|
|
3399
|
-
|
|
3400
|
-
onFailure: (
|
|
3436
|
+
matchCauseEffect(self, {
|
|
3437
|
+
onFailure: (cause) => failCause(causeMap(cause, options.onFailure)),
|
|
3401
3438
|
onSuccess: (a) => sync(() => options.onSuccess(a))
|
|
3402
3439
|
}))
|
|
3403
3440
|
|
|
@@ -3476,9 +3513,9 @@ export const ignore: <
|
|
|
3476
3513
|
const logEffect = logWithLevel(options.log === true ? undefined : options.log)
|
|
3477
3514
|
return matchCauseEffect(self, {
|
|
3478
3515
|
onFailure(cause) {
|
|
3479
|
-
const
|
|
3480
|
-
return Result.isFailure(
|
|
3481
|
-
? failCause(
|
|
3516
|
+
const error = findRecoverableError(cause)
|
|
3517
|
+
return Result.isFailure(error)
|
|
3518
|
+
? failCause(error.failure)
|
|
3482
3519
|
: options.message === undefined
|
|
3483
3520
|
? logEffect(cause)
|
|
3484
3521
|
: logEffect(options.message, cause)
|
|
@@ -3616,11 +3653,11 @@ const makeMatch = (
|
|
|
3616
3653
|
return MatchImpl
|
|
3617
3654
|
}
|
|
3618
3655
|
const MatchImpl = makeMatch("Match", function(cause, fiber) {
|
|
3619
|
-
const
|
|
3620
|
-
if (
|
|
3656
|
+
const error = findRecoverableError(cause)
|
|
3657
|
+
if (Result.isFailure(error)) return failCause(error.failure) as any
|
|
3621
3658
|
const handlers = this.payload
|
|
3622
3659
|
return fiber.succeedWith(
|
|
3623
|
-
continuationMarksStack ? handlers.onFailure(
|
|
3660
|
+
continuationMarksStack ? handlers.onFailure(error.success) : internalCall(() => handlers.onFailure(error.success))
|
|
3624
3661
|
)
|
|
3625
3662
|
})
|
|
3626
3663
|
const MatchCauseImpl = makeMatch("MatchCause", function(cause, fiber) {
|
|
@@ -3680,10 +3717,10 @@ export const matchEffect: {
|
|
|
3680
3717
|
): Effect.Effect<A2 | A3, E2 | E3, R2 | R3 | R> =>
|
|
3681
3718
|
matchCauseEffect(self, {
|
|
3682
3719
|
onFailure: (cause) => {
|
|
3683
|
-
const
|
|
3684
|
-
return
|
|
3685
|
-
?
|
|
3686
|
-
:
|
|
3720
|
+
const error = findRecoverableError(cause)
|
|
3721
|
+
return Result.isFailure(error)
|
|
3722
|
+
? failCause(error.failure)
|
|
3723
|
+
: options.onFailure(error.success)
|
|
3687
3724
|
},
|
|
3688
3725
|
onSuccess: options.onSuccess
|
|
3689
3726
|
})
|
|
@@ -3737,8 +3774,8 @@ export const matchEager: {
|
|
|
3737
3774
|
): Effect.Effect<A2 | A3, never, R> => {
|
|
3738
3775
|
if (effectIsExit(self)) {
|
|
3739
3776
|
if (self._tag === "Success") return exitSucceed(options.onSuccess(self.value))
|
|
3740
|
-
const error =
|
|
3741
|
-
if (Result.isFailure(error)) return
|
|
3777
|
+
const error = findRecoverableError(self.cause)
|
|
3778
|
+
if (Result.isFailure(error)) return exitFailCause(error.failure)
|
|
3742
3779
|
return exitSucceed(options.onFailure(error.success))
|
|
3743
3780
|
}
|
|
3744
3781
|
return match(self, options)
|
|
@@ -3976,7 +4013,9 @@ const combineFinalizerCause = <A, E, XE, XR>(
|
|
|
3976
4013
|
exit_: Exit.Exit<A, E>,
|
|
3977
4014
|
finalizer: Effect.Effect<void, XE, XR>
|
|
3978
4015
|
): Effect.Effect<void, E | XE, XR> =>
|
|
3979
|
-
exitIsSuccess(exit_)
|
|
4016
|
+
exitIsSuccess(exit_)
|
|
4017
|
+
? finalizer
|
|
4018
|
+
: catchCause(finalizer, (cause) => failCause(causeElectDefects(causeCombine(exit_.cause, cause))))
|
|
3980
4019
|
|
|
3981
4020
|
const scopeCloseFinalizers = fnUntraced(function*<A, E>(
|
|
3982
4021
|
self: Scope.Scope,
|
|
@@ -3985,13 +4024,15 @@ const scopeCloseFinalizers = fnUntraced(function*<A, E>(
|
|
|
3985
4024
|
) {
|
|
3986
4025
|
let exits: Array<Exit.Exit<any, never>> = []
|
|
3987
4026
|
const fibers: Array<Fiber.Fiber<any, never>> = []
|
|
3988
|
-
const arr = Array.from(finalizers
|
|
4027
|
+
const arr = Array.from(finalizers)
|
|
3989
4028
|
const parent = getCurrentFiber()!
|
|
3990
4029
|
for (let i = arr.length - 1; i >= 0; i--) {
|
|
3991
|
-
const finalizer = arr[i]
|
|
4030
|
+
const [key, finalizer] = arr[i]
|
|
3992
4031
|
if (self.strategy === "sequential") {
|
|
3993
4032
|
exits.push(yield* exit(runFinalizer(finalizer, exit_)))
|
|
3994
|
-
} else {
|
|
4033
|
+
} else if (key !== parent) {
|
|
4034
|
+
// Skip the closing fiber's own `forkIn` / `Fiber.runIn` finalizer, as
|
|
4035
|
+
// running it in another fiber would wait for the closing fiber to exit.
|
|
3995
4036
|
fibers.push(forkUnsafe(parent, runFinalizer(finalizer, exit_), true, true, "inherit"))
|
|
3996
4037
|
}
|
|
3997
4038
|
}
|
|
@@ -4461,6 +4502,7 @@ const infiniteTTL = constant(Infinity)
|
|
|
4461
4502
|
interface CachedRun<A, E> {
|
|
4462
4503
|
readonly fiber: FiberImpl<A, E>
|
|
4463
4504
|
awaiters: number
|
|
4505
|
+
done: boolean
|
|
4464
4506
|
}
|
|
4465
4507
|
|
|
4466
4508
|
const makeCachedUnsafe = <A, E, R>(
|
|
@@ -4474,10 +4516,10 @@ const makeCachedUnsafe = <A, E, R>(
|
|
|
4474
4516
|
const join = (fiber: Fiber.Fiber<unknown, unknown>, run: CachedRun<A, E>): Effect.Effect<A, E> => {
|
|
4475
4517
|
run.awaiters++
|
|
4476
4518
|
onExitUnsafe(fiber, () => {
|
|
4477
|
-
// Abandon the run once every caller has left, unless
|
|
4478
|
-
if (--run.awaiters > 0 ||
|
|
4519
|
+
// Abandon the run once every caller has left, unless its source already finished.
|
|
4520
|
+
if (--run.awaiters > 0 || run.done) return
|
|
4479
4521
|
// Detach before interruption so new callers start a fresh run.
|
|
4480
|
-
current = undefined
|
|
4522
|
+
if (current === run) current = undefined
|
|
4481
4523
|
return fiberInterrupt(run.fiber)
|
|
4482
4524
|
})
|
|
4483
4525
|
return fiberJoin(run.fiber)
|
|
@@ -4497,13 +4539,14 @@ const makeCachedUnsafe = <A, E, R>(
|
|
|
4497
4539
|
}
|
|
4498
4540
|
exit = undefined
|
|
4499
4541
|
const clock = fiber.getRef(ClockRef)
|
|
4500
|
-
const run: CachedRun<A, E> = { fiber: new FiberImpl(fiber.context), awaiters: 0 }
|
|
4542
|
+
const run: CachedRun<A, E> = { fiber: new FiberImpl(fiber.context), awaiters: 0, done: false }
|
|
4501
4543
|
current = run
|
|
4502
4544
|
// Join before evaluating, which may synchronously re-enter and interrupt other awaiters.
|
|
4503
4545
|
const joined = join(fiber, run)
|
|
4504
4546
|
run.fiber.evaluate(
|
|
4505
4547
|
onExitPrimitive(self, (exit_) => {
|
|
4506
|
-
|
|
4548
|
+
run.done = true
|
|
4549
|
+
// A detached run must not publish its result or clear a replacement run.
|
|
4507
4550
|
if (current !== run) return
|
|
4508
4551
|
current = undefined
|
|
4509
4552
|
// Interruption is abandonment, so it is never cached.
|
|
@@ -4516,6 +4559,8 @@ const makeCachedUnsafe = <A, E, R>(
|
|
|
4516
4559
|
return run.fiber._exit ?? joined
|
|
4517
4560
|
}),
|
|
4518
4561
|
sync(() => {
|
|
4562
|
+
// Existing callers keep the in-flight run; new callers start a fresh one.
|
|
4563
|
+
current = undefined
|
|
4519
4564
|
exit = undefined
|
|
4520
4565
|
})
|
|
4521
4566
|
]
|
|
@@ -4687,23 +4732,18 @@ export const all = <
|
|
|
4687
4732
|
? (forEach as any)(Object.values(arg), result, options)
|
|
4688
4733
|
: (forEach as any)(Object.values(arg), identity, options)
|
|
4689
4734
|
}
|
|
4690
|
-
return suspend(() =>
|
|
4691
|
-
|
|
4692
|
-
return as(
|
|
4735
|
+
return suspend(() =>
|
|
4736
|
+
map(
|
|
4693
4737
|
forEach(
|
|
4694
4738
|
Object.entries(arg),
|
|
4695
|
-
([key, effect]) =>
|
|
4696
|
-
map(options?.mode === "result" ? result(effect) : effect, (value) => {
|
|
4697
|
-
InternalRecord.assignProperty(out, key, value)
|
|
4698
|
-
}),
|
|
4739
|
+
([key, effect]) => map(options?.mode === "result" ? result(effect) : effect, (value) => [key, value] as const),
|
|
4699
4740
|
{
|
|
4700
|
-
discard: true,
|
|
4701
4741
|
concurrency: options?.concurrency
|
|
4702
4742
|
}
|
|
4703
4743
|
),
|
|
4704
|
-
|
|
4744
|
+
Object.fromEntries
|
|
4705
4745
|
)
|
|
4706
|
-
|
|
4746
|
+
) as any
|
|
4707
4747
|
}
|
|
4708
4748
|
|
|
4709
4749
|
/** @internal */
|
|
@@ -5141,7 +5181,9 @@ const iterateConcurrentImpl = <S, A, X, E, R, E2>(options: IterateOptions<S, A,
|
|
|
5141
5181
|
const reasons = exit.cause.reasons.filter((reason) => reason._tag !== "Interrupt")
|
|
5142
5182
|
if (reasons.length > 0) {
|
|
5143
5183
|
const cause = causeFromReasons(reasons)
|
|
5144
|
-
terminal = exitFailCause(
|
|
5184
|
+
terminal = exitFailCause(
|
|
5185
|
+
terminal._tag === "Failure" ? causeElectDefects(causeCombine(terminal.cause, cause)) : cause
|
|
5186
|
+
)
|
|
5145
5187
|
}
|
|
5146
5188
|
}
|
|
5147
5189
|
} else {
|
|
@@ -5336,31 +5378,20 @@ export const filter: {
|
|
|
5336
5378
|
| ((a: A, i: number) => Effect.Effect<boolean, E, R>),
|
|
5337
5379
|
options?: { readonly concurrency?: Concurrency | undefined }
|
|
5338
5380
|
): Effect.Effect<Array<A>, E, R> =>
|
|
5339
|
-
|
|
5340
|
-
|
|
5341
|
-
|
|
5342
|
-
|
|
5343
|
-
|
|
5344
|
-
(
|
|
5345
|
-
|
|
5346
|
-
if (typeof result === "boolean") {
|
|
5347
|
-
if (result) out.push(a)
|
|
5348
|
-
return void_ as any
|
|
5349
|
-
}
|
|
5350
|
-
return map(result, (keep) => {
|
|
5351
|
-
if (keep) {
|
|
5352
|
-
out.push(a)
|
|
5353
|
-
}
|
|
5354
|
-
})
|
|
5355
|
-
},
|
|
5356
|
-
{
|
|
5357
|
-
discard: true,
|
|
5358
|
-
concurrency: options?.concurrency
|
|
5381
|
+
map(
|
|
5382
|
+
forEach(
|
|
5383
|
+
elements,
|
|
5384
|
+
(a, i) => {
|
|
5385
|
+
const result = (predicate as Function)(a, i)
|
|
5386
|
+
if (typeof result === "boolean") {
|
|
5387
|
+
return succeed(result ? Option.some(a) : Option.none())
|
|
5359
5388
|
}
|
|
5360
|
-
|
|
5361
|
-
|
|
5362
|
-
|
|
5363
|
-
|
|
5389
|
+
return map(result, (keep) => keep ? Option.some(a) : Option.none())
|
|
5390
|
+
},
|
|
5391
|
+
options
|
|
5392
|
+
),
|
|
5393
|
+
Arr.getSomes
|
|
5394
|
+
)
|
|
5364
5395
|
)
|
|
5365
5396
|
|
|
5366
5397
|
/** @internal */
|
|
@@ -5599,6 +5630,11 @@ export const awaitAllChildren = <A, E, R>(
|
|
|
5599
5630
|
)
|
|
5600
5631
|
})
|
|
5601
5632
|
|
|
5633
|
+
// Interrupts the attached fiber, unless it is the fiber running the close. It is
|
|
5634
|
+
// keyed by the fiber, so that parallel scopes can skip it on the closing fiber.
|
|
5635
|
+
const fiberScopeFinalizer = (fiber: Fiber.Fiber<any, any>) => (): Effect.Effect<void> =>
|
|
5636
|
+
withFiber((current) => current === fiber ? void_ : fiberInterrupt(fiber))
|
|
5637
|
+
|
|
5602
5638
|
/** @internal */
|
|
5603
5639
|
export const forkIn: {
|
|
5604
5640
|
(
|
|
@@ -5629,13 +5665,14 @@ export const forkIn: {
|
|
|
5629
5665
|
}
|
|
5630
5666
|
): Effect.Effect<Fiber.Fiber<A, E>, never, R> =>
|
|
5631
5667
|
withFiber((parent) => {
|
|
5632
|
-
|
|
5668
|
+
// A closed scope gets an unstarted fiber, which is interrupted below
|
|
5669
|
+
const fiber = scope.state._tag === "Closed"
|
|
5670
|
+
? new FiberImpl<A, E>(parent.context)
|
|
5671
|
+
: forkUnsafe(parent, self, options?.startImmediately, true, options?.uninterruptible)
|
|
5633
5672
|
if (!(fiber as FiberImpl<any, any>)._exit) {
|
|
5634
5673
|
if (scope.state._tag !== "Closed") {
|
|
5635
|
-
|
|
5636
|
-
|
|
5637
|
-
scopeAddFinalizerUnsafe(scope, key, finalizer)
|
|
5638
|
-
fiber.addObserver(() => scopeRemoveFinalizerUnsafe(scope, key))
|
|
5674
|
+
scopeAddFinalizerUnsafe(scope, fiber, fiberScopeFinalizer(fiber))
|
|
5675
|
+
fiber.addObserver(() => scopeRemoveFinalizerUnsafe(scope, fiber))
|
|
5639
5676
|
} else {
|
|
5640
5677
|
fiber.interruptUnsafe(parent.id, fiberStackAnnotations(parent))
|
|
5641
5678
|
}
|
|
@@ -5721,7 +5758,7 @@ export const fiberRunIn: {
|
|
|
5721
5758
|
return self
|
|
5722
5759
|
}
|
|
5723
5760
|
scopeRemoveFinalizerUnsafe(scope, self)
|
|
5724
|
-
scopeAddFinalizerUnsafe(scope, self, (
|
|
5761
|
+
scopeAddFinalizerUnsafe(scope, self, fiberScopeFinalizer(self))
|
|
5725
5762
|
self.addObserver(() => scopeRemoveFinalizerUnsafe(scope, self))
|
|
5726
5763
|
return self
|
|
5727
5764
|
})
|
package/src/internal/graphql.ts
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
type Reason,
|
|
13
13
|
ResponseError
|
|
14
14
|
} from "../graphql/GraphQLClientError.ts"
|
|
15
|
-
import type { ExecutionResult, GraphQLRequest } from "../graphql/GraphQLProtocol.ts"
|
|
15
|
+
import type { ExecutionResult, GraphQLProtocol, GraphQLRequest } from "../graphql/GraphQLProtocol.ts"
|
|
16
16
|
import * as Schema from "../Schema.ts"
|
|
17
17
|
|
|
18
18
|
/**
|
|
@@ -153,6 +153,29 @@ export const renderSlices = (
|
|
|
153
153
|
*/
|
|
154
154
|
export const ForcePost = Context.Reference<boolean>("effect/graphql/ForcePost", { defaultValue: () => false })
|
|
155
155
|
|
|
156
|
+
/**
|
|
157
|
+
* The URL a resolver batch was grouped by, and the protocol `url` that
|
|
158
|
+
* resolved it, so that transport sends the batch there without resolving it
|
|
159
|
+
* again.
|
|
160
|
+
*
|
|
161
|
+
* @internal
|
|
162
|
+
*/
|
|
163
|
+
export type ResolvedUrl = {
|
|
164
|
+
readonly resolve: GraphQLProtocol["Service"]["url"]
|
|
165
|
+
readonly url: string
|
|
166
|
+
} | undefined
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Carries a {@link ResolvedUrl} from a resolver batch to the transport. The
|
|
170
|
+
* client clears it while middleware run, so calls they make resolve their
|
|
171
|
+
* own URL.
|
|
172
|
+
*
|
|
173
|
+
* @internal
|
|
174
|
+
*/
|
|
175
|
+
export const ResolvedUrl = Context.Reference<ResolvedUrl>("effect/graphql/ResolvedUrl", {
|
|
176
|
+
defaultValue: () => undefined
|
|
177
|
+
})
|
|
178
|
+
|
|
156
179
|
/**
|
|
157
180
|
* JSON with object keys sorted, so equal JSON values give equal strings.
|
|
158
181
|
*
|
|
@@ -219,15 +242,15 @@ export const makeCodec = <Op extends GraphQL.Any>(operation: Op) => {
|
|
|
219
242
|
}
|
|
220
243
|
|
|
221
244
|
/**
|
|
222
|
-
*
|
|
223
|
-
*
|
|
245
|
+
* Client batch runners (middleware and protocol, using POST) and URLs for
|
|
246
|
+
* resolver grouping. Mock and custom methods are not registered.
|
|
224
247
|
*
|
|
225
248
|
* @internal
|
|
226
249
|
*/
|
|
227
|
-
export const rawExecutors = new WeakMap<
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
>()
|
|
250
|
+
export const rawExecutors = new WeakMap<object, {
|
|
251
|
+
readonly execute: (request: GraphQLRequest) => Effect.Effect<ExecutionResult, unknown, unknown>
|
|
252
|
+
readonly url: GraphQLProtocol["Service"]["url"]
|
|
253
|
+
}>()
|
|
231
254
|
|
|
232
255
|
/**
|
|
233
256
|
* Splits a batched response, removing prefixes from root keys and error paths.
|
package/src/internal/hashMap.ts
CHANGED
|
@@ -247,7 +247,7 @@ class LeafNode<K, V> extends Node<K, V> {
|
|
|
247
247
|
): Node<K, V> {
|
|
248
248
|
if (this.canEdit(edit)) this._hash = undefined
|
|
249
249
|
if (this.hash === hash && Equal_.equals(this.key, key)) {
|
|
250
|
-
if (
|
|
250
|
+
if (Object.is(this.value, value)) {
|
|
251
251
|
return this
|
|
252
252
|
}
|
|
253
253
|
// Can mutate in-place if edit matches
|
|
@@ -377,7 +377,7 @@ class CollisionNode<K, V> extends Node<K, V> {
|
|
|
377
377
|
// Same hash - update or add to collision list
|
|
378
378
|
for (let i = 0; i < this.entries.length; i++) {
|
|
379
379
|
if (Equal_.equals(this.entries[i][0], key)) {
|
|
380
|
-
if (
|
|
380
|
+
if (Object.is(this.entries[i][1], value)) {
|
|
381
381
|
return this
|
|
382
382
|
}
|
|
383
383
|
if (this.canEdit(edit)) {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as AsyncResult from "../reactivity/AsyncResult.ts"
|
|
2
|
+
|
|
3
|
+
export const shouldHydrate = (current: unknown, incoming: unknown): boolean => {
|
|
4
|
+
if (!AsyncResult.isAsyncResult(current) || !AsyncResult.isAsyncResult(incoming)) {
|
|
5
|
+
return true
|
|
6
|
+
}
|
|
7
|
+
if (AsyncResult.isInitial(incoming)) {
|
|
8
|
+
return AsyncResult.isInitial(current)
|
|
9
|
+
}
|
|
10
|
+
if (AsyncResult.isSuccess(current) && AsyncResult.isSuccess(incoming)) {
|
|
11
|
+
return incoming.timestamp >= current.timestamp
|
|
12
|
+
}
|
|
13
|
+
// Failures have no timestamp; previousSuccess dates cached data, not the error.
|
|
14
|
+
return true
|
|
15
|
+
}
|