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/Schema.ts
CHANGED
|
@@ -36,6 +36,7 @@ import * as HashMap_ from "./HashMap.ts"
|
|
|
36
36
|
import * as HashSet_ from "./HashSet.ts"
|
|
37
37
|
import * as Cookies_ from "./http/Cookies.ts"
|
|
38
38
|
import * as Headers_ from "./http/Headers.ts"
|
|
39
|
+
import * as UrlParams_internal from "./http/internal/urlParams.ts"
|
|
39
40
|
import * as UrlParams_ from "./http/UrlParams.ts"
|
|
40
41
|
import { NodeInspectSymbol } from "./Inspectable.ts"
|
|
41
42
|
import * as core from "./internal/core.ts"
|
|
@@ -78,6 +79,8 @@ import * as SchemaIssue from "./SchemaIssue.ts"
|
|
|
78
79
|
import * as SchemaParser from "./SchemaParser.ts"
|
|
79
80
|
import type * as SchemaRepresentation from "./SchemaRepresentation.ts"
|
|
80
81
|
import * as SchemaTransformation from "./SchemaTransformation.ts"
|
|
82
|
+
import * as SemVer_ from "./SemVer.ts"
|
|
83
|
+
import * as SemVerRange_ from "./SemVerRange.ts"
|
|
81
84
|
import type { StandardJSONSchemaV1, StandardSchemaV1 } from "./StandardSchema.ts"
|
|
82
85
|
import type { Assign, Lambda, Mutable, Simplify } from "./Struct.ts"
|
|
83
86
|
import * as Struct_ from "./Struct.ts"
|
|
@@ -122,8 +125,8 @@ export type ConstructorDefault = "no-default" | "with-default"
|
|
|
122
125
|
*
|
|
123
126
|
* **When to use**
|
|
124
127
|
*
|
|
125
|
-
* Use when passing `disableChecks: true` to skip
|
|
126
|
-
*
|
|
128
|
+
* Use when passing `disableChecks: true` to skip filters and checks while still
|
|
129
|
+
* parsing types and structure. Pass `parseOptions` to control parsing behavior.
|
|
127
130
|
*
|
|
128
131
|
* @see {@link BottomWithoutNew.makeEffect}
|
|
129
132
|
* @see {@link BottomWithoutNew.make}
|
|
@@ -138,7 +141,8 @@ export interface MakeOptions {
|
|
|
138
141
|
*/
|
|
139
142
|
readonly parseOptions?: SchemaAST.ParseOptions | undefined
|
|
140
143
|
/**
|
|
141
|
-
* Whether to
|
|
144
|
+
* Whether to skip filters and checks. Types and structure are still parsed,
|
|
145
|
+
* and constructor defaults still apply.
|
|
142
146
|
*/
|
|
143
147
|
readonly disableChecks?: boolean | undefined
|
|
144
148
|
|
|
@@ -2960,8 +2964,8 @@ export interface Enum<A extends { [x: string]: string | number }>
|
|
|
2960
2964
|
readonly enums: A
|
|
2961
2965
|
}
|
|
2962
2966
|
/**
|
|
2963
|
-
* Creates a schema from a TypeScript enum
|
|
2964
|
-
*
|
|
2967
|
+
* Creates a schema from a TypeScript enum or an object mapping names to string or number values.
|
|
2968
|
+
* Validates that the input is one of those values. Numeric values must be finite.
|
|
2965
2969
|
*
|
|
2966
2970
|
* **Gotchas**
|
|
2967
2971
|
*
|
|
@@ -2985,7 +2989,7 @@ export interface Enum<A extends { [x: string]: string | number }>
|
|
|
2985
2989
|
* @category constructors
|
|
2986
2990
|
* @since 4.0.0
|
|
2987
2991
|
*/
|
|
2988
|
-
export function Enum<A extends { [x: string]: string | number }>(enums: A): Enum<A> {
|
|
2992
|
+
export function Enum<const A extends { [x: string]: string | number }>(enums: A): Enum<A> {
|
|
2989
2993
|
return make(
|
|
2990
2994
|
new SchemaAST.Enum(
|
|
2991
2995
|
Object.keys(enums).filter(
|
|
@@ -5631,8 +5635,8 @@ export interface compose<To extends Constraint, From extends Constraint> extends
|
|
|
5631
5635
|
* **Gotchas**
|
|
5632
5636
|
*
|
|
5633
5637
|
* In a custom transformation, `decode` maps `From["Type"]` to `To["Encoded"]`
|
|
5634
|
-
* and is used on the
|
|
5635
|
-
* `From["Type"]` and is used on the
|
|
5638
|
+
* and is used on the decoding path, while `encode` maps `To["Encoded"]` to
|
|
5639
|
+
* `From["Type"]` and is used on the encoding path.
|
|
5636
5640
|
*
|
|
5637
5641
|
* **Example** (Transforming strings to numbers with a schema transformation)
|
|
5638
5642
|
*
|
|
@@ -5966,6 +5970,9 @@ export type DecodingDefaultOptions = {
|
|
|
5966
5970
|
function toIssueEffect<A, R>(
|
|
5967
5971
|
self: Effect.Effect<A, SchemaError, R>
|
|
5968
5972
|
): Effect.Effect<A, SchemaIssue.Issue, R> {
|
|
5973
|
+
if (effectIsExit(self) && self._tag === "Success") {
|
|
5974
|
+
return self as unknown as Exit_.Exit<A, SchemaIssue.Issue>
|
|
5975
|
+
}
|
|
5969
5976
|
return Effect.catchCause(self, (cause) => Effect.failCauseSync(() => Cause_.map(cause, (error) => error.issue)))
|
|
5970
5977
|
}
|
|
5971
5978
|
/**
|
|
@@ -6396,7 +6403,9 @@ export type toTaggedUnion<
|
|
|
6396
6403
|
*
|
|
6397
6404
|
* **Gotchas**
|
|
6398
6405
|
*
|
|
6399
|
-
* Throws
|
|
6406
|
+
* Throws when multiple members use the same discriminant property key,
|
|
6407
|
+
* including members of nested unions. Numeric and string values such as `1`
|
|
6408
|
+
* and `"1"` count as duplicates.
|
|
6400
6409
|
*
|
|
6401
6410
|
* **Example** (Adding tagged-union utilities to an existing union)
|
|
6402
6411
|
*
|
|
@@ -7124,16 +7133,21 @@ export function isULID(annotations?: Annotations.Filter) {
|
|
|
7124
7133
|
* @since 4.0.0
|
|
7125
7134
|
*/
|
|
7126
7135
|
export function isBase64(annotations?: Annotations.Filter) {
|
|
7127
|
-
const
|
|
7128
|
-
|
|
7129
|
-
|
|
7136
|
+
const pattern = "^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$"
|
|
7137
|
+
// `pattern` overflows the V8 stack on large inputs
|
|
7138
|
+
const regExp = /^[0-9a-zA-Z+/]*={0,2}$/
|
|
7139
|
+
return makeFilter(
|
|
7140
|
+
(s: string) => s.length % 4 === 0 && regExp.test(s),
|
|
7130
7141
|
{
|
|
7131
7142
|
expected: "a base64 encoded string",
|
|
7132
7143
|
representation: {
|
|
7133
7144
|
id: "effect/schema/isBase64",
|
|
7134
7145
|
payload: null
|
|
7135
7146
|
},
|
|
7136
|
-
toJsonSchema: () => ({ pattern
|
|
7147
|
+
toJsonSchema: () => ({ pattern }),
|
|
7148
|
+
arbitraryConstraint: {
|
|
7149
|
+
patterns: [{ source: pattern, flags: "" }]
|
|
7150
|
+
},
|
|
7137
7151
|
toCode: () => ({ runtime: "Schema.isBase64()" }),
|
|
7138
7152
|
...annotations
|
|
7139
7153
|
}
|
|
@@ -7160,16 +7174,21 @@ export function isBase64(annotations?: Annotations.Filter) {
|
|
|
7160
7174
|
* @since 4.0.0
|
|
7161
7175
|
*/
|
|
7162
7176
|
export function isBase64Url(annotations?: Annotations.Filter) {
|
|
7163
|
-
const
|
|
7164
|
-
|
|
7165
|
-
|
|
7177
|
+
const pattern = "^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$"
|
|
7178
|
+
// `pattern` overflows the V8 stack on large inputs
|
|
7179
|
+
const regExp = /^[0-9a-zA-Z-_]*={0,2}$/
|
|
7180
|
+
return makeFilter(
|
|
7181
|
+
(s: string) => regExp.test(s) && (s.endsWith("=") ? s.length % 4 === 0 : s.length % 4 !== 1),
|
|
7166
7182
|
{
|
|
7167
7183
|
expected: "a base64url encoded string",
|
|
7168
7184
|
representation: {
|
|
7169
7185
|
id: "effect/schema/isBase64Url",
|
|
7170
7186
|
payload: null
|
|
7171
7187
|
},
|
|
7172
|
-
toJsonSchema: () => ({ pattern
|
|
7188
|
+
toJsonSchema: () => ({ pattern }),
|
|
7189
|
+
arbitraryConstraint: {
|
|
7190
|
+
patterns: [{ source: pattern, flags: "" }]
|
|
7191
|
+
},
|
|
7173
7192
|
toCode: () => ({ runtime: "Schema.isBase64Url()" }),
|
|
7174
7193
|
...annotations
|
|
7175
7194
|
}
|
|
@@ -9926,7 +9945,9 @@ export interface FormData extends instanceOf<globalThis.FormData> {
|
|
|
9926
9945
|
* @category schemas
|
|
9927
9946
|
* @since 4.0.0
|
|
9928
9947
|
*/
|
|
9929
|
-
|
|
9948
|
+
// Read the global inside the guard: resolving globalThis.FormData at module
|
|
9949
|
+
// scope loads undici on Node.
|
|
9950
|
+
export const FormData: FormData = declare((u): u is globalThis.FormData => u instanceof globalThis.FormData, {
|
|
9930
9951
|
representation: {
|
|
9931
9952
|
id: "effect/schema/FormData",
|
|
9932
9953
|
payload: null
|
|
@@ -11264,7 +11285,7 @@ export function Cause<E extends Constraint, D extends Constraint>(error: E, defe
|
|
|
11264
11285
|
}
|
|
11265
11286
|
return Effect.mapBothEager(SchemaParser.decodeUnknownEffect(failures)(input.reasons, options), {
|
|
11266
11287
|
onSuccess: Cause_.fromReasons,
|
|
11267
|
-
onFailure: (issue) => SchemaIssue.makeCompositeAtKey(ast, "
|
|
11288
|
+
onFailure: (issue) => SchemaIssue.makeCompositeAtKey(ast, "reasons", issue, input, options)
|
|
11268
11289
|
})
|
|
11269
11290
|
}
|
|
11270
11291
|
},
|
|
@@ -11667,6 +11688,65 @@ export const DateTimeUtcFromString: DateTimeUtcFromString = String.annotate({
|
|
|
11667
11688
|
dateTimeUtcFromString
|
|
11668
11689
|
)
|
|
11669
11690
|
)
|
|
11691
|
+
const dateTimeUtcFromHttpDate: SchemaTransformation.Transformation<DateTime.Utc, string> = SchemaTransformation
|
|
11692
|
+
.transformEffect<DateTime.Utc, string>({
|
|
11693
|
+
decode: (s, options) =>
|
|
11694
|
+
Result_.match(Headers_.parseHttpDate(s), {
|
|
11695
|
+
onFailure: () =>
|
|
11696
|
+
Effect.fail(
|
|
11697
|
+
new SchemaIssue.InvalidValue(
|
|
11698
|
+
{ expected: "an HTTP date (RFC 9110 §5.6.7)" },
|
|
11699
|
+
s,
|
|
11700
|
+
options
|
|
11701
|
+
)
|
|
11702
|
+
),
|
|
11703
|
+
onSuccess: Effect.succeed
|
|
11704
|
+
}),
|
|
11705
|
+
encode: (utc) => Effect.succeed(Headers_.formatHttpDate(utc))
|
|
11706
|
+
})
|
|
11707
|
+
/**
|
|
11708
|
+
* Type-level representation of {@link DateTimeUtcFromHttpDate}.
|
|
11709
|
+
*
|
|
11710
|
+
* @stability unstable
|
|
11711
|
+
* @category models
|
|
11712
|
+
* @since 4.0.0
|
|
11713
|
+
*/
|
|
11714
|
+
export interface DateTimeUtcFromHttpDate extends decodeTo<DateTimeUtc, String> {
|
|
11715
|
+
readonly "Rebuild": DateTimeUtcFromHttpDate
|
|
11716
|
+
}
|
|
11717
|
+
/**
|
|
11718
|
+
* Schema for HTTP date header values, such as `Date`, `Last-Modified` and
|
|
11719
|
+
* `Expires`, decoded as `DateTime.Utc`.
|
|
11720
|
+
*
|
|
11721
|
+
* **When to use**
|
|
11722
|
+
*
|
|
11723
|
+
* Use with HTTP API header schemas that carry dates. Decoding accepts the
|
|
11724
|
+
* three formats of RFC 9110 §5.6.7 and reads them as UTC; encoding emits the
|
|
11725
|
+
* preferred IMF-fixdate form (`Sun, 06 Nov 1994 08:49:37 GMT`).
|
|
11726
|
+
*
|
|
11727
|
+
* **Example** (Decoding an HTTP date)
|
|
11728
|
+
*
|
|
11729
|
+
* ```ts
|
|
11730
|
+
* import { DateTime, Schema } from "effect"
|
|
11731
|
+
*
|
|
11732
|
+
* const date = Schema.decodeSync(Schema.DateTimeUtcFromHttpDate)("Sun, 06 Nov 1994 08:49:37 GMT")
|
|
11733
|
+
* const millis = DateTime.toEpochMillis(date) // => 784111777000
|
|
11734
|
+
* ```
|
|
11735
|
+
*
|
|
11736
|
+
* @see {@link DateTimeUtcFromString} for ISO 8601 strings
|
|
11737
|
+
*
|
|
11738
|
+
* @stability unstable
|
|
11739
|
+
* @category schemas
|
|
11740
|
+
* @since 4.0.0
|
|
11741
|
+
*/
|
|
11742
|
+
export const DateTimeUtcFromHttpDate: DateTimeUtcFromHttpDate = String.annotate({
|
|
11743
|
+
expected: "an HTTP date string"
|
|
11744
|
+
}).pipe(
|
|
11745
|
+
decodeTo(
|
|
11746
|
+
DateTimeUtc,
|
|
11747
|
+
dateTimeUtcFromHttpDate
|
|
11748
|
+
)
|
|
11749
|
+
)
|
|
11670
11750
|
/**
|
|
11671
11751
|
* Type-level representation of {@link DateTimeUtcFromMillis}.
|
|
11672
11752
|
*
|
|
@@ -15177,6 +15257,110 @@ export const Headers: Headers = declare(
|
|
|
15177
15257
|
}
|
|
15178
15258
|
)
|
|
15179
15259
|
|
|
15260
|
+
/**
|
|
15261
|
+
* Type-level representation of {@link RetryAfter}.
|
|
15262
|
+
*
|
|
15263
|
+
* @stability unstable
|
|
15264
|
+
* @category models
|
|
15265
|
+
* @since 4.0.0
|
|
15266
|
+
*/
|
|
15267
|
+
export interface RetryAfter extends
|
|
15268
|
+
Union<
|
|
15269
|
+
readonly [
|
|
15270
|
+
Struct<{ readonly _tag: tag<"Duration">; readonly duration: Duration }>,
|
|
15271
|
+
Struct<{ readonly _tag: tag<"DateTime">; readonly dateTime: DateTimeUtc }>
|
|
15272
|
+
]
|
|
15273
|
+
>
|
|
15274
|
+
{
|
|
15275
|
+
readonly "Rebuild": RetryAfter
|
|
15276
|
+
}
|
|
15277
|
+
|
|
15278
|
+
/**
|
|
15279
|
+
* Schema for parsed `Retry-After` header values.
|
|
15280
|
+
*
|
|
15281
|
+
* **Details**
|
|
15282
|
+
*
|
|
15283
|
+
* Matches `Headers.RetryAfter`: either `{ _tag: "Duration", duration }` or
|
|
15284
|
+
* `{ _tag: "DateTime", dateTime }`. The duration must be finite and
|
|
15285
|
+
* non-negative. Use {@link RetryAfterFromString} for the header string form.
|
|
15286
|
+
*
|
|
15287
|
+
* @stability unstable
|
|
15288
|
+
* @category schemas
|
|
15289
|
+
* @since 4.0.0
|
|
15290
|
+
*/
|
|
15291
|
+
export const RetryAfter: RetryAfter = Union([
|
|
15292
|
+
Struct({
|
|
15293
|
+
_tag: tag("Duration"),
|
|
15294
|
+
duration: Duration.check(
|
|
15295
|
+
makeFilter((d) => Duration_.isFinite(d) && !Duration_.isNegative(d), {
|
|
15296
|
+
expected: "a finite, non-negative duration"
|
|
15297
|
+
})
|
|
15298
|
+
)
|
|
15299
|
+
}),
|
|
15300
|
+
Struct({ _tag: tag("DateTime"), dateTime: DateTimeUtc })
|
|
15301
|
+
])
|
|
15302
|
+
|
|
15303
|
+
const retryAfterFromString: SchemaTransformation.Transformation<Headers_.RetryAfter, string> = SchemaTransformation
|
|
15304
|
+
.transformEffect<Headers_.RetryAfter, string>({
|
|
15305
|
+
decode: (s, options) =>
|
|
15306
|
+
Result_.match(Headers_.parseRetryAfter(s), {
|
|
15307
|
+
onFailure: () =>
|
|
15308
|
+
Effect.fail(
|
|
15309
|
+
new SchemaIssue.InvalidValue(
|
|
15310
|
+
{ expected: "whole non-negative seconds or an HTTP date (RFC 9110 §10.2.3)" },
|
|
15311
|
+
s,
|
|
15312
|
+
options
|
|
15313
|
+
)
|
|
15314
|
+
),
|
|
15315
|
+
onSuccess: Effect.succeed
|
|
15316
|
+
}),
|
|
15317
|
+
encode: (self) => Effect.succeed(Headers_.formatRetryAfter(self))
|
|
15318
|
+
})
|
|
15319
|
+
|
|
15320
|
+
/**
|
|
15321
|
+
* Type-level representation of {@link RetryAfterFromString}.
|
|
15322
|
+
*
|
|
15323
|
+
* @stability unstable
|
|
15324
|
+
* @category models
|
|
15325
|
+
* @since 4.0.0
|
|
15326
|
+
*/
|
|
15327
|
+
export interface RetryAfterFromString extends decodeTo<RetryAfter, String> {
|
|
15328
|
+
readonly "Rebuild": RetryAfterFromString
|
|
15329
|
+
}
|
|
15330
|
+
|
|
15331
|
+
/**
|
|
15332
|
+
* Schema for `Retry-After` header values, decoded with
|
|
15333
|
+
* `Headers.parseRetryAfter`.
|
|
15334
|
+
*
|
|
15335
|
+
* **When to use**
|
|
15336
|
+
*
|
|
15337
|
+
* Use with HTTP API header schemas that carry `Retry-After`. Decoding accepts
|
|
15338
|
+
* whole non-negative seconds or an HTTP date and rejects anything else;
|
|
15339
|
+
* encoding emits the delay as whole seconds, rounding a fractional second up,
|
|
15340
|
+
* or the date as an IMF-fixdate.
|
|
15341
|
+
*
|
|
15342
|
+
* **Example** (Decoding a Retry-After header)
|
|
15343
|
+
*
|
|
15344
|
+
* ```ts
|
|
15345
|
+
* import { Schema } from "effect"
|
|
15346
|
+
*
|
|
15347
|
+
* const value = Schema.decodeSync(Schema.RetryAfterFromString)("120")
|
|
15348
|
+
* // => { _tag: "Duration", duration: Duration.seconds(120) }
|
|
15349
|
+
* ```
|
|
15350
|
+
*
|
|
15351
|
+
* @stability unstable
|
|
15352
|
+
* @category schemas
|
|
15353
|
+
* @since 4.0.0
|
|
15354
|
+
*/
|
|
15355
|
+
export const RetryAfterFromString: RetryAfterFromString = String.annotate({
|
|
15356
|
+
expected: "a Retry-After header value"
|
|
15357
|
+
}).pipe(
|
|
15358
|
+
decodeTo(
|
|
15359
|
+
RetryAfter,
|
|
15360
|
+
retryAfterFromString
|
|
15361
|
+
)
|
|
15362
|
+
)
|
|
15363
|
+
|
|
15180
15364
|
/**
|
|
15181
15365
|
* Type-level representation of {@link UrlParams}.
|
|
15182
15366
|
*
|
|
@@ -15221,9 +15405,9 @@ export const UrlParams: UrlParams = declare(
|
|
|
15221
15405
|
toCodec: () =>
|
|
15222
15406
|
link<UrlParams_.UrlParams>()(
|
|
15223
15407
|
ArraySchema(Tuple([String, String])),
|
|
15224
|
-
SchemaTransformation.transform({
|
|
15408
|
+
SchemaTransformation.transform<UrlParams_.UrlParams, ReadonlyArray<readonly [string, string]>>({
|
|
15225
15409
|
decode: UrlParams_.make,
|
|
15226
|
-
encode: (self) => self.params
|
|
15410
|
+
encode: (self) => self.params.map(([key, value]) => [key, UrlParams_internal.unwrap(value)])
|
|
15227
15411
|
})
|
|
15228
15412
|
)
|
|
15229
15413
|
}
|
|
@@ -15730,6 +15914,198 @@ export function Result<A extends Constraint, E extends Constraint>(
|
|
|
15730
15914
|
return make(schema.ast, { success, failure })
|
|
15731
15915
|
}
|
|
15732
15916
|
|
|
15917
|
+
// -----------------------------------------------------------------------------
|
|
15918
|
+
// SemVer schemas
|
|
15919
|
+
// -----------------------------------------------------------------------------
|
|
15920
|
+
|
|
15921
|
+
const semVerStringTransformation = <A>(
|
|
15922
|
+
parse: (input: string) => Result_.Result<A, SemVer_.SemVerError>,
|
|
15923
|
+
format: (value: A) => string
|
|
15924
|
+
): SchemaTransformation.Transformation<A, string> =>
|
|
15925
|
+
SchemaTransformation.transformEffect({
|
|
15926
|
+
decode: (input, options) =>
|
|
15927
|
+
Effect.mapErrorEager(
|
|
15928
|
+
Effect.fromResult(parse(input)),
|
|
15929
|
+
(error) => new SchemaIssue.InvalidValue({ message: error.message }, input, options)
|
|
15930
|
+
),
|
|
15931
|
+
encode: (value) => Effect.succeed(format(value))
|
|
15932
|
+
})
|
|
15933
|
+
// Alphanumeric identifiers contain at least one non-digit.
|
|
15934
|
+
const SemVerCoreArbitrary = Struct({
|
|
15935
|
+
major: Natural,
|
|
15936
|
+
minor: Natural,
|
|
15937
|
+
patch: Natural,
|
|
15938
|
+
prerelease: ArraySchema(Union([Natural, String.check(isPattern(/^[0-9]*[A-Za-z-][0-9A-Za-z-]*$/))]))
|
|
15939
|
+
})
|
|
15940
|
+
const semVerFromString = semVerStringTransformation(SemVer_.parse, SemVer_.format)
|
|
15941
|
+
const SemVerString = String.annotate({ expected: "a string that will be decoded as a SemVer" })
|
|
15942
|
+
/**
|
|
15943
|
+
* Type-level representation of {@link SemVer}.
|
|
15944
|
+
*
|
|
15945
|
+
* @stability unstable
|
|
15946
|
+
* @category models
|
|
15947
|
+
* @since 4.0.6
|
|
15948
|
+
*/
|
|
15949
|
+
export interface SemVer extends declare<SemVer_.SemVer> {
|
|
15950
|
+
readonly "Rebuild": SemVer
|
|
15951
|
+
}
|
|
15952
|
+
/**
|
|
15953
|
+
* Schema for `SemVer` values.
|
|
15954
|
+
*
|
|
15955
|
+
* **Details**
|
|
15956
|
+
*
|
|
15957
|
+
* The JSON and StringTree codecs encode a version as its canonical string,
|
|
15958
|
+
* including build metadata.
|
|
15959
|
+
*
|
|
15960
|
+
* @see {@link SemVerFromString} for parsing version strings
|
|
15961
|
+
* @stability unstable
|
|
15962
|
+
* @category schemas
|
|
15963
|
+
* @since 4.0.6
|
|
15964
|
+
*/
|
|
15965
|
+
export const SemVer: SemVer = declare(
|
|
15966
|
+
SemVer_.isSemVer,
|
|
15967
|
+
{
|
|
15968
|
+
representation: {
|
|
15969
|
+
id: "effect/schema/SemVer",
|
|
15970
|
+
payload: null
|
|
15971
|
+
},
|
|
15972
|
+
toCode: () => ({
|
|
15973
|
+
runtime: `Schema.SemVer`,
|
|
15974
|
+
Type: `SemVer.SemVer`,
|
|
15975
|
+
importDeclarations: [`import * as SemVer from "effect/SemVer"`]
|
|
15976
|
+
}),
|
|
15977
|
+
expected: "SemVer",
|
|
15978
|
+
toCodecArbitrary: () =>
|
|
15979
|
+
linkDecoding<SemVer_.SemVer>()(
|
|
15980
|
+
Struct({
|
|
15981
|
+
...SemVerCoreArbitrary.fields,
|
|
15982
|
+
build: ArraySchema(String.check(isPattern(/^[0-9A-Za-z-]+$/)))
|
|
15983
|
+
}),
|
|
15984
|
+
SchemaGetter.transform(SemVer_.make)
|
|
15985
|
+
),
|
|
15986
|
+
toCodecJson: () =>
|
|
15987
|
+
link<SemVer_.SemVer>()(
|
|
15988
|
+
SemVerString,
|
|
15989
|
+
semVerFromString
|
|
15990
|
+
),
|
|
15991
|
+
toFormatter: () => SemVer_.format
|
|
15992
|
+
}
|
|
15993
|
+
)
|
|
15994
|
+
/**
|
|
15995
|
+
* Type-level representation of {@link SemVerFromString}.
|
|
15996
|
+
*
|
|
15997
|
+
* @stability unstable
|
|
15998
|
+
* @category models
|
|
15999
|
+
* @since 4.0.6
|
|
16000
|
+
*/
|
|
16001
|
+
export interface SemVerFromString extends decodeTo<SemVer, String> {
|
|
16002
|
+
readonly "Rebuild": SemVerFromString
|
|
16003
|
+
}
|
|
16004
|
+
/**
|
|
16005
|
+
* Schema that parses a Semantic Versioning 2.0.0 string into a `SemVer`.
|
|
16006
|
+
*
|
|
16007
|
+
* **Details**
|
|
16008
|
+
*
|
|
16009
|
+
* Decodes with `SemVer.parse`, rejecting a `v` prefix, surrounding whitespace,
|
|
16010
|
+
* partial versions, and leading zeros. Encodes with `SemVer.format`, including
|
|
16011
|
+
* build metadata.
|
|
16012
|
+
*
|
|
16013
|
+
* @see {@link SemVer} for validating values that are already SemVer values
|
|
16014
|
+
* @stability unstable
|
|
16015
|
+
* @category schemas
|
|
16016
|
+
* @since 4.0.6
|
|
16017
|
+
*/
|
|
16018
|
+
export const SemVerFromString: SemVerFromString = SemVerString.pipe(
|
|
16019
|
+
decodeTo(SemVer, semVerFromString)
|
|
16020
|
+
)
|
|
16021
|
+
const semVerRangeFromString = semVerStringTransformation(SemVerRange_.parse, SemVerRange_.format)
|
|
16022
|
+
const SemVerRangeString = String.annotate({ expected: "a string that will be decoded as a SemVer range" })
|
|
16023
|
+
/**
|
|
16024
|
+
* Type-level representation of {@link SemVerRange}.
|
|
16025
|
+
*
|
|
16026
|
+
* @stability unstable
|
|
16027
|
+
* @category models
|
|
16028
|
+
* @since 4.0.6
|
|
16029
|
+
*/
|
|
16030
|
+
export interface SemVerRange extends declare<SemVerRange_.SemVerRange> {
|
|
16031
|
+
readonly "Rebuild": SemVerRange
|
|
16032
|
+
}
|
|
16033
|
+
/**
|
|
16034
|
+
* Schema for `SemVerRange` values.
|
|
16035
|
+
*
|
|
16036
|
+
* **Details**
|
|
16037
|
+
*
|
|
16038
|
+
* The JSON and StringTree codecs encode a range with `SemVerRange.format`.
|
|
16039
|
+
*
|
|
16040
|
+
* @see {@link SemVerRangeFromString} for parsing range strings
|
|
16041
|
+
* @stability unstable
|
|
16042
|
+
* @category schemas
|
|
16043
|
+
* @since 4.0.6
|
|
16044
|
+
*/
|
|
16045
|
+
export const SemVerRange: SemVerRange = declare(
|
|
16046
|
+
SemVerRange_.isSemVerRange,
|
|
16047
|
+
{
|
|
16048
|
+
representation: {
|
|
16049
|
+
id: "effect/schema/SemVerRange",
|
|
16050
|
+
payload: null
|
|
16051
|
+
},
|
|
16052
|
+
toCode: () => ({
|
|
16053
|
+
runtime: `Schema.SemVerRange`,
|
|
16054
|
+
Type: `SemVerRange.SemVerRange`,
|
|
16055
|
+
importDeclarations: [`import * as SemVerRange from "effect/SemVerRange"`]
|
|
16056
|
+
}),
|
|
16057
|
+
expected: "SemVerRange",
|
|
16058
|
+
toCodecArbitrary: () =>
|
|
16059
|
+
linkDecoding<SemVerRange_.SemVerRange>()(
|
|
16060
|
+
ArraySchema(
|
|
16061
|
+
ArraySchema(Struct({
|
|
16062
|
+
operator: Literals(["", "=", "<", "<=", ">", ">=", "~", "^"]),
|
|
16063
|
+
version: SemVerCoreArbitrary
|
|
16064
|
+
})).check(isMinLength(1))
|
|
16065
|
+
),
|
|
16066
|
+
SchemaGetter.transform((sets) =>
|
|
16067
|
+
SemVerRange_.parseUnsafe(
|
|
16068
|
+
sets.map((set) =>
|
|
16069
|
+
set.map(({ operator, version }) => `${operator}${SemVer_.format(SemVer_.make(version))}`).join(" ")
|
|
16070
|
+
).join(" || ")
|
|
16071
|
+
)
|
|
16072
|
+
)
|
|
16073
|
+
),
|
|
16074
|
+
toCodecJson: () =>
|
|
16075
|
+
link<SemVerRange_.SemVerRange>()(
|
|
16076
|
+
SemVerRangeString,
|
|
16077
|
+
semVerRangeFromString
|
|
16078
|
+
),
|
|
16079
|
+
toFormatter: () => SemVerRange_.format
|
|
16080
|
+
}
|
|
16081
|
+
)
|
|
16082
|
+
/**
|
|
16083
|
+
* Type-level representation of {@link SemVerRangeFromString}.
|
|
16084
|
+
*
|
|
16085
|
+
* @stability unstable
|
|
16086
|
+
* @category models
|
|
16087
|
+
* @since 4.0.6
|
|
16088
|
+
*/
|
|
16089
|
+
export interface SemVerRangeFromString extends decodeTo<SemVerRange, String> {
|
|
16090
|
+
readonly "Rebuild": SemVerRangeFromString
|
|
16091
|
+
}
|
|
16092
|
+
/**
|
|
16093
|
+
* Schema that parses an npm-style version range string into a `SemVerRange`.
|
|
16094
|
+
*
|
|
16095
|
+
* **Details**
|
|
16096
|
+
*
|
|
16097
|
+
* Decodes with `SemVerRange.parse` and encodes with `SemVerRange.format`,
|
|
16098
|
+
* preserving parsed operators and normalizing wildcard spellings.
|
|
16099
|
+
*
|
|
16100
|
+
* @see {@link SemVerRange} for validating values that are already ranges
|
|
16101
|
+
* @stability unstable
|
|
16102
|
+
* @category schemas
|
|
16103
|
+
* @since 4.0.6
|
|
16104
|
+
*/
|
|
16105
|
+
export const SemVerRangeFromString: SemVerRangeFromString = SemVerRangeString.pipe(
|
|
16106
|
+
decodeTo(SemVerRange, semVerRangeFromString)
|
|
16107
|
+
)
|
|
16108
|
+
|
|
15733
16109
|
/**
|
|
15734
16110
|
* Type-level representation returned by {@link Class}.
|
|
15735
16111
|
*
|
|
@@ -15945,16 +16321,19 @@ function makeClass<
|
|
|
15945
16321
|
return out
|
|
15946
16322
|
}
|
|
15947
16323
|
|
|
16324
|
+
/**
|
|
16325
|
+
* Constructs a class instance from fields that were already validated against
|
|
16326
|
+
* the class struct, without running the constructor's schema pass.
|
|
16327
|
+
*
|
|
16328
|
+
* @internal
|
|
16329
|
+
*/
|
|
16330
|
+
export function makeClassTrusted<Self>(self: new(input: any, options?: MakeOptions) => Self, fields: object): Self {
|
|
16331
|
+
return new self(fields, { "~payload": { token: payloadToken, value: fields } })
|
|
16332
|
+
}
|
|
16333
|
+
|
|
15948
16334
|
function getClassTransformation(self: new(...args: ReadonlyArray<any>) => any) {
|
|
15949
16335
|
return new SchemaTransformation.Transformation<any, any, never, never>(
|
|
15950
|
-
SchemaGetter.transform((input) =>
|
|
15951
|
-
new self(input, {
|
|
15952
|
-
"~payload": {
|
|
15953
|
-
token: payloadToken,
|
|
15954
|
-
value: input
|
|
15955
|
-
}
|
|
15956
|
-
})
|
|
15957
|
-
),
|
|
16336
|
+
SchemaGetter.transform((input) => makeClassTrusted(self, input)),
|
|
15958
16337
|
SchemaGetter.passthrough()
|
|
15959
16338
|
)
|
|
15960
16339
|
}
|
|
@@ -16038,7 +16417,9 @@ function isStruct(schema: Struct.Fields | Struct<Struct.Fields>): schema is Stru
|
|
|
16038
16417
|
*
|
|
16039
16418
|
* **Gotchas**
|
|
16040
16419
|
*
|
|
16041
|
-
* Passing `disableChecks`
|
|
16420
|
+
* Passing `disableChecks: true` skips filters and checks, not parsing of types
|
|
16421
|
+
* and structure. Wrong types and shapes are still rejected, and constructor
|
|
16422
|
+
* defaults still apply.
|
|
16042
16423
|
*
|
|
16043
16424
|
* **Example** (Defining a basic class)
|
|
16044
16425
|
*
|
|
@@ -16109,7 +16490,9 @@ export const Class: {
|
|
|
16109
16490
|
*
|
|
16110
16491
|
* **Gotchas**
|
|
16111
16492
|
*
|
|
16112
|
-
* Passing `disableChecks`
|
|
16493
|
+
* Passing `disableChecks: true` skips filters and checks, not parsing of types
|
|
16494
|
+
* and structure. Wrong types and shapes are still rejected, and constructor
|
|
16495
|
+
* defaults still apply.
|
|
16113
16496
|
*
|
|
16114
16497
|
* **Example** (Defining a basic class)
|
|
16115
16498
|
*
|
|
@@ -16153,151 +16536,14 @@ export const Class: {
|
|
|
16153
16536
|
* @since 3.10.0
|
|
16154
16537
|
*/
|
|
16155
16538
|
<Self = never, Brand = {}>(identifier: string): {
|
|
16156
|
-
/**
|
|
16157
|
-
* Creates a schema-backed class whose constructor validates input against a
|
|
16158
|
-
* {@link Struct} schema. Construction throws an `Error` with a
|
|
16159
|
-
* `SchemaIssue.Issue` in its `cause` on invalid input.
|
|
16160
|
-
*
|
|
16161
|
-
* **When to use**
|
|
16162
|
-
*
|
|
16163
|
-
* Use when you need a schema-backed data class with validated construction,
|
|
16164
|
-
* schema-derived decoding/encoding, and class-style methods or inheritance.
|
|
16165
|
-
*
|
|
16166
|
-
* **Details**
|
|
16167
|
-
*
|
|
16168
|
-
* Pass the desired class type as the first type parameter. The second optional
|
|
16169
|
-
* type parameter can be used to add nominal brands.
|
|
16170
|
-
*
|
|
16171
|
-
* The `identifier` is the schema's stable runtime name. It is exposed on the
|
|
16172
|
-
* class, stored in the schema AST, and used to label diagnostics and generated
|
|
16173
|
-
* references as well as to format class instances.
|
|
16174
|
-
*
|
|
16175
|
-
* It also derives a runtime marker that recognizes instances across hot module
|
|
16176
|
-
* reloads, where `instanceof` can fail because the constructor has been
|
|
16177
|
-
* replaced. The identifier is explicit because the outer JavaScript class name
|
|
16178
|
-
* is not available while the `extends` expression is evaluated and may change
|
|
16179
|
-
* through renaming or minification.
|
|
16180
|
-
*
|
|
16181
|
-
* **Gotchas**
|
|
16182
|
-
*
|
|
16183
|
-
* Passing `disableChecks` in the options skips constructor validation.
|
|
16184
|
-
*
|
|
16185
|
-
* **Example** (Defining a basic class)
|
|
16186
|
-
*
|
|
16187
|
-
* ```ts import.meta.vitest
|
|
16188
|
-
* import { Schema } from "effect"
|
|
16189
|
-
*
|
|
16190
|
-
* class Person extends Schema.Class<Person>("Person")({
|
|
16191
|
-
* name: Schema.String,
|
|
16192
|
-
* age: Schema.Number
|
|
16193
|
-
* }) {}
|
|
16194
|
-
*
|
|
16195
|
-
* const alice = new Person({ name: "Alice", age: 30 })
|
|
16196
|
-
* alice.name // => "Alice"
|
|
16197
|
-
* String(alice) // => "Person({\"name\":\"Alice\",\"age\":30})"
|
|
16198
|
-
* ```
|
|
16199
|
-
*
|
|
16200
|
-
* **Example** (Extending a class)
|
|
16201
|
-
*
|
|
16202
|
-
* ```ts import.meta.vitest
|
|
16203
|
-
* import { Schema } from "effect"
|
|
16204
|
-
*
|
|
16205
|
-
* class Animal extends Schema.Class<Animal>("Animal")({
|
|
16206
|
-
* name: Schema.String
|
|
16207
|
-
* }) {}
|
|
16208
|
-
*
|
|
16209
|
-
* class Dog extends Animal.extend<Dog>("Dog")({
|
|
16210
|
-
* breed: Schema.String
|
|
16211
|
-
* }) {}
|
|
16212
|
-
*
|
|
16213
|
-
* const dog = new Dog({ name: "Rex", breed: "Labrador" })
|
|
16214
|
-
* dog.name // => "Rex"
|
|
16215
|
-
* dog.breed // => "Labrador"
|
|
16216
|
-
* ```
|
|
16217
|
-
*
|
|
16218
|
-
* @see {@link TaggedClass} for adding a `_tag` literal field to the class schema
|
|
16219
|
-
* @see {@link Error} for defining schema-backed error classes
|
|
16220
|
-
* @see {@link TaggedError} for defining tagged schema-backed error classes
|
|
16221
|
-
*
|
|
16222
|
-
* @stability stable
|
|
16223
|
-
* @category constructors
|
|
16224
|
-
* @since 3.10.0
|
|
16225
|
-
*/
|
|
16226
16539
|
<const Fields extends Struct.Fields>(
|
|
16227
16540
|
fields: Fields,
|
|
16228
16541
|
annotations?: Annotations.Declaration<Self, readonly [Struct<Fields>]>
|
|
16229
16542
|
): [Self] extends [never] ? MissingSelfGeneric<"Schema.Class"> : Class<Self, Struct<Fields>, Brand>
|
|
16230
|
-
|
|
16231
|
-
|
|
16232
|
-
|
|
16233
|
-
|
|
16234
|
-
*
|
|
16235
|
-
* **When to use**
|
|
16236
|
-
*
|
|
16237
|
-
* Use when you need a schema-backed data class with validated construction,
|
|
16238
|
-
* schema-derived decoding/encoding, and class-style methods or inheritance.
|
|
16239
|
-
*
|
|
16240
|
-
* **Details**
|
|
16241
|
-
*
|
|
16242
|
-
* Pass the desired class type as the first type parameter. The second optional
|
|
16243
|
-
* type parameter can be used to add nominal brands.
|
|
16244
|
-
*
|
|
16245
|
-
* The `identifier` is the schema's stable runtime name. It is exposed on the
|
|
16246
|
-
* class, stored in the schema AST, and used to label diagnostics and generated
|
|
16247
|
-
* references as well as to format class instances.
|
|
16248
|
-
*
|
|
16249
|
-
* It also derives a runtime marker that recognizes instances across hot module
|
|
16250
|
-
* reloads, where `instanceof` can fail because the constructor has been
|
|
16251
|
-
* replaced. The identifier is explicit because the outer JavaScript class name
|
|
16252
|
-
* is not available while the `extends` expression is evaluated and may change
|
|
16253
|
-
* through renaming or minification.
|
|
16254
|
-
*
|
|
16255
|
-
* **Gotchas**
|
|
16256
|
-
*
|
|
16257
|
-
* Passing `disableChecks` in the options skips constructor validation.
|
|
16258
|
-
*
|
|
16259
|
-
* **Example** (Defining a basic class)
|
|
16260
|
-
*
|
|
16261
|
-
* ```ts import.meta.vitest
|
|
16262
|
-
* import { Schema } from "effect"
|
|
16263
|
-
*
|
|
16264
|
-
* class Person extends Schema.Class<Person>("Person")({
|
|
16265
|
-
* name: Schema.String,
|
|
16266
|
-
* age: Schema.Number
|
|
16267
|
-
* }) {}
|
|
16268
|
-
*
|
|
16269
|
-
* const alice = new Person({ name: "Alice", age: 30 })
|
|
16270
|
-
* alice.name // => "Alice"
|
|
16271
|
-
* String(alice) // => "Person({\"name\":\"Alice\",\"age\":30})"
|
|
16272
|
-
* ```
|
|
16273
|
-
*
|
|
16274
|
-
* **Example** (Extending a class)
|
|
16275
|
-
*
|
|
16276
|
-
* ```ts import.meta.vitest
|
|
16277
|
-
* import { Schema } from "effect"
|
|
16278
|
-
*
|
|
16279
|
-
* class Animal extends Schema.Class<Animal>("Animal")({
|
|
16280
|
-
* name: Schema.String
|
|
16281
|
-
* }) {}
|
|
16282
|
-
*
|
|
16283
|
-
* class Dog extends Animal.extend<Dog>("Dog")({
|
|
16284
|
-
* breed: Schema.String
|
|
16285
|
-
* }) {}
|
|
16286
|
-
*
|
|
16287
|
-
* const dog = new Dog({ name: "Rex", breed: "Labrador" })
|
|
16288
|
-
* dog.name // => "Rex"
|
|
16289
|
-
* dog.breed // => "Labrador"
|
|
16290
|
-
* ```
|
|
16291
|
-
*
|
|
16292
|
-
* @see {@link TaggedClass} for adding a `_tag` literal field to the class schema
|
|
16293
|
-
* @see {@link Error} for defining schema-backed error classes
|
|
16294
|
-
* @see {@link TaggedError} for defining tagged schema-backed error classes
|
|
16295
|
-
*
|
|
16296
|
-
* @stability stable
|
|
16297
|
-
* @category constructors
|
|
16298
|
-
* @since 3.10.0
|
|
16299
|
-
*/
|
|
16300
|
-
<S extends Struct<Struct.Fields>>(schema: S, annotations?: Annotations.Declaration<Self, readonly [S]>): [Self] extends [never] ? MissingSelfGeneric<"Schema.Class"> : Class<Self, S, Brand>
|
|
16543
|
+
<S extends Struct<Struct.Fields>>(
|
|
16544
|
+
schema: S,
|
|
16545
|
+
annotations?: Annotations.Declaration<Self, readonly [S]>
|
|
16546
|
+
): [Self] extends [never] ? MissingSelfGeneric<"Schema.Class"> : Class<Self, S, Brand>
|
|
16301
16547
|
}
|
|
16302
16548
|
} = <Self, Brand = {}>(identifier: string) =>
|
|
16303
16549
|
(
|
|
@@ -16381,73 +16627,11 @@ export const TaggedClass: {
|
|
|
16381
16627
|
* @since 3.10.0
|
|
16382
16628
|
*/
|
|
16383
16629
|
<Self = never, Brand = {}>(identifier?: string): {
|
|
16384
|
-
/**
|
|
16385
|
-
* Defines a schema-backed class with an automatically populated `_tag` field.
|
|
16386
|
-
*
|
|
16387
|
-
* **When to use**
|
|
16388
|
-
*
|
|
16389
|
-
* Use to define class instances that are validated by a schema and participate
|
|
16390
|
-
* in tagged union matching.
|
|
16391
|
-
*
|
|
16392
|
-
* **Details**
|
|
16393
|
-
*
|
|
16394
|
-
* The optional `identifier` parameter overrides the schema identifier;
|
|
16395
|
-
* it defaults to the `tag` value.
|
|
16396
|
-
*
|
|
16397
|
-
* **Example** (Defining a tagged class)
|
|
16398
|
-
*
|
|
16399
|
-
* ```ts import.meta.vitest
|
|
16400
|
-
* import { Schema } from "effect"
|
|
16401
|
-
*
|
|
16402
|
-
* class Circle extends Schema.TaggedClass<Circle>()("Circle", {
|
|
16403
|
-
* radius: Schema.Number
|
|
16404
|
-
* }) {}
|
|
16405
|
-
*
|
|
16406
|
-
* const c = new Circle({ radius: 5 })
|
|
16407
|
-
* c._tag // => "Circle"
|
|
16408
|
-
* c.radius // => 5
|
|
16409
|
-
* ```
|
|
16410
|
-
*
|
|
16411
|
-
* @stability stable
|
|
16412
|
-
* @category constructors
|
|
16413
|
-
* @since 3.10.0
|
|
16414
|
-
*/
|
|
16415
16630
|
<Tag extends string, const Fields extends Struct.Fields>(
|
|
16416
16631
|
tag: Tag,
|
|
16417
16632
|
fields: Fields,
|
|
16418
16633
|
annotations?: Annotations.Declaration<Self, readonly [TaggedStruct<Tag, Fields>]>
|
|
16419
16634
|
): [Self] extends [never] ? MissingSelfGeneric<"Schema.TaggedClass"> : Class<Self, TaggedStruct<Tag, Fields>, Brand>
|
|
16420
|
-
/**
|
|
16421
|
-
* Defines a schema-backed class with an automatically populated `_tag` field.
|
|
16422
|
-
*
|
|
16423
|
-
* **When to use**
|
|
16424
|
-
*
|
|
16425
|
-
* Use to define class instances that are validated by a schema and participate
|
|
16426
|
-
* in tagged union matching.
|
|
16427
|
-
*
|
|
16428
|
-
* **Details**
|
|
16429
|
-
*
|
|
16430
|
-
* The optional `identifier` parameter overrides the schema identifier;
|
|
16431
|
-
* it defaults to the `tag` value.
|
|
16432
|
-
*
|
|
16433
|
-
* **Example** (Defining a tagged class)
|
|
16434
|
-
*
|
|
16435
|
-
* ```ts import.meta.vitest
|
|
16436
|
-
* import { Schema } from "effect"
|
|
16437
|
-
*
|
|
16438
|
-
* class Circle extends Schema.TaggedClass<Circle>()("Circle", {
|
|
16439
|
-
* radius: Schema.Number
|
|
16440
|
-
* }) {}
|
|
16441
|
-
*
|
|
16442
|
-
* const c = new Circle({ radius: 5 })
|
|
16443
|
-
* c._tag // => "Circle"
|
|
16444
|
-
* c.radius // => 5
|
|
16445
|
-
* ```
|
|
16446
|
-
*
|
|
16447
|
-
* @stability stable
|
|
16448
|
-
* @category constructors
|
|
16449
|
-
* @since 3.10.0
|
|
16450
|
-
*/
|
|
16451
16635
|
<Tag extends string, S extends Struct<Struct.Fields>>(
|
|
16452
16636
|
tag: Tag,
|
|
16453
16637
|
schema: S,
|
|
@@ -16529,64 +16713,15 @@ export const Error: {
|
|
|
16529
16713
|
* @since 4.0.0
|
|
16530
16714
|
*/
|
|
16531
16715
|
<Self = never, Brand = {}>(identifier: string): {
|
|
16532
|
-
/**
|
|
16533
|
-
* Creates a schema-backed error class that can be used as a typed,
|
|
16534
|
-
* yieldable error in Effect programs. Combines {@link Class} validation with
|
|
16535
|
-
* the `YieldableError` interface so instances can be yielded directly inside
|
|
16536
|
-
* `Effect.gen`.
|
|
16537
|
-
*
|
|
16538
|
-
* **Example** (Schema-backed error)
|
|
16539
|
-
*
|
|
16540
|
-
* ```ts import.meta.vitest
|
|
16541
|
-
* import { Effect, Schema } from "effect"
|
|
16542
|
-
*
|
|
16543
|
-
* class NotFound extends Schema.Error<NotFound>("NotFound")({
|
|
16544
|
-
* id: Schema.Number
|
|
16545
|
-
* }) {}
|
|
16546
|
-
*
|
|
16547
|
-
* const program = Effect.gen(function*() {
|
|
16548
|
-
* yield* new NotFound({ id: 1 })
|
|
16549
|
-
* })
|
|
16550
|
-
* const error = await Effect.runPromise(Effect.flip(program))
|
|
16551
|
-
* error.id // => 1
|
|
16552
|
-
* ```
|
|
16553
|
-
*
|
|
16554
|
-
* @stability stable
|
|
16555
|
-
* @category constructors
|
|
16556
|
-
* @since 4.0.0
|
|
16557
|
-
*/
|
|
16558
16716
|
<const Fields extends Struct.Fields>(
|
|
16559
16717
|
fields: Fields,
|
|
16560
16718
|
annotations?: Annotations.Declaration<Self, readonly [Struct<Fields>]>
|
|
16561
16719
|
): [Self] extends [never] ? MissingSelfGeneric<"Schema.Error">
|
|
16562
16720
|
: Class<Self, Struct<Fields>, Cause_.YieldableError & Brand>
|
|
16563
|
-
|
|
16564
|
-
|
|
16565
|
-
|
|
16566
|
-
|
|
16567
|
-
* `Effect.gen`.
|
|
16568
|
-
*
|
|
16569
|
-
* **Example** (Schema-backed error)
|
|
16570
|
-
*
|
|
16571
|
-
* ```ts import.meta.vitest
|
|
16572
|
-
* import { Effect, Schema } from "effect"
|
|
16573
|
-
*
|
|
16574
|
-
* class NotFound extends Schema.Error<NotFound>("NotFound")({
|
|
16575
|
-
* id: Schema.Number
|
|
16576
|
-
* }) {}
|
|
16577
|
-
*
|
|
16578
|
-
* const program = Effect.gen(function*() {
|
|
16579
|
-
* yield* new NotFound({ id: 1 })
|
|
16580
|
-
* })
|
|
16581
|
-
* const error = await Effect.runPromise(Effect.flip(program))
|
|
16582
|
-
* error.id // => 1
|
|
16583
|
-
* ```
|
|
16584
|
-
*
|
|
16585
|
-
* @stability stable
|
|
16586
|
-
* @category constructors
|
|
16587
|
-
* @since 4.0.0
|
|
16588
|
-
*/
|
|
16589
|
-
<S extends Struct<Struct.Fields>>(schema: S, annotations?: Annotations.Declaration<Self, readonly [S]>): [Self] extends [never] ? MissingSelfGeneric<"Schema.Error"> : Class<Self, S, Cause_.YieldableError & Brand>
|
|
16721
|
+
<S extends Struct<Struct.Fields>>(
|
|
16722
|
+
schema: S,
|
|
16723
|
+
annotations?: Annotations.Declaration<Self, readonly [S]>
|
|
16724
|
+
): [Self] extends [never] ? MissingSelfGeneric<"Schema.Error"> : Class<Self, S, Cause_.YieldableError & Brand>
|
|
16590
16725
|
}
|
|
16591
16726
|
} = <Self, Brand = {}>(identifier: string) =>
|
|
16592
16727
|
(
|
|
@@ -16669,72 +16804,12 @@ export const TaggedError: {
|
|
|
16669
16804
|
* @since 3.10.0
|
|
16670
16805
|
*/
|
|
16671
16806
|
<Self = never, Brand = {}>(identifier?: string): {
|
|
16672
|
-
/**
|
|
16673
|
-
* Defines a schema-backed yieldable error class with an automatically populated
|
|
16674
|
-
* `_tag` field.
|
|
16675
|
-
*
|
|
16676
|
-
* **When to use**
|
|
16677
|
-
*
|
|
16678
|
-
* Use to define typed errors that are schema validated, yielded in `Effect.gen`,
|
|
16679
|
-
* and matched as tagged union members.
|
|
16680
|
-
*
|
|
16681
|
-
* **Example** (Defining a tagged error class)
|
|
16682
|
-
*
|
|
16683
|
-
* ```ts import.meta.vitest
|
|
16684
|
-
* import { Effect, Schema } from "effect"
|
|
16685
|
-
*
|
|
16686
|
-
* class NotFound extends Schema.TaggedError<NotFound>()("NotFound", {
|
|
16687
|
-
* id: Schema.Number
|
|
16688
|
-
* }) {}
|
|
16689
|
-
*
|
|
16690
|
-
* const program = Effect.gen(function*() {
|
|
16691
|
-
* yield* new NotFound({ id: 42 })
|
|
16692
|
-
* })
|
|
16693
|
-
* const error = await Effect.runPromise(Effect.flip(program))
|
|
16694
|
-
* error._tag // => "NotFound"
|
|
16695
|
-
* error.id // => 42
|
|
16696
|
-
* ```
|
|
16697
|
-
*
|
|
16698
|
-
* @stability stable
|
|
16699
|
-
* @category constructors
|
|
16700
|
-
* @since 3.10.0
|
|
16701
|
-
*/
|
|
16702
16807
|
<Tag extends string, const Fields extends Struct.Fields>(
|
|
16703
16808
|
tag: Tag,
|
|
16704
16809
|
fields: Fields,
|
|
16705
16810
|
annotations?: Annotations.Declaration<Self, readonly [TaggedStruct<Tag, Fields>]>
|
|
16706
16811
|
): [Self] extends [never] ? MissingSelfGeneric<"Schema.TaggedError">
|
|
16707
16812
|
: Class<Self, TaggedStruct<Tag, Fields>, Cause_.YieldableError & Brand>
|
|
16708
|
-
/**
|
|
16709
|
-
* Defines a schema-backed yieldable error class with an automatically populated
|
|
16710
|
-
* `_tag` field.
|
|
16711
|
-
*
|
|
16712
|
-
* **When to use**
|
|
16713
|
-
*
|
|
16714
|
-
* Use to define typed errors that are schema validated, yielded in `Effect.gen`,
|
|
16715
|
-
* and matched as tagged union members.
|
|
16716
|
-
*
|
|
16717
|
-
* **Example** (Defining a tagged error class)
|
|
16718
|
-
*
|
|
16719
|
-
* ```ts import.meta.vitest
|
|
16720
|
-
* import { Effect, Schema } from "effect"
|
|
16721
|
-
*
|
|
16722
|
-
* class NotFound extends Schema.TaggedError<NotFound>()("NotFound", {
|
|
16723
|
-
* id: Schema.Number
|
|
16724
|
-
* }) {}
|
|
16725
|
-
*
|
|
16726
|
-
* const program = Effect.gen(function*() {
|
|
16727
|
-
* yield* new NotFound({ id: 42 })
|
|
16728
|
-
* })
|
|
16729
|
-
* const error = await Effect.runPromise(Effect.flip(program))
|
|
16730
|
-
* error._tag // => "NotFound"
|
|
16731
|
-
* error.id // => 42
|
|
16732
|
-
* ```
|
|
16733
|
-
*
|
|
16734
|
-
* @stability stable
|
|
16735
|
-
* @category constructors
|
|
16736
|
-
* @since 3.10.0
|
|
16737
|
-
*/
|
|
16738
16813
|
<Tag extends string, S extends Struct<Struct.Fields>>(
|
|
16739
16814
|
tag: Tag,
|
|
16740
16815
|
schema: S,
|
|
@@ -17304,6 +17379,179 @@ export const toCodecArrayFromSingle: {
|
|
|
17304
17379
|
*/
|
|
17305
17380
|
<S extends Constraint>(schema: S): toCodecArrayFromSingle<S>
|
|
17306
17381
|
} = InternalToCodec.toCodecArrayFromSingle
|
|
17382
|
+
/**
|
|
17383
|
+
* Type-level representation returned by {@link toCodecGoJson}.
|
|
17384
|
+
*
|
|
17385
|
+
* @stability unstable
|
|
17386
|
+
* @category converting
|
|
17387
|
+
* @since 4.0.6
|
|
17388
|
+
*/
|
|
17389
|
+
export interface toCodecGoJson<S extends Constraint> extends
|
|
17390
|
+
BottomLazy<
|
|
17391
|
+
S["ast"],
|
|
17392
|
+
toCodecGoJson<S>,
|
|
17393
|
+
S["~type.parameters"],
|
|
17394
|
+
S["~type.mutability"],
|
|
17395
|
+
S["~type.optionality"],
|
|
17396
|
+
S["~type.constructor.default"],
|
|
17397
|
+
S["~encoded.mutability"],
|
|
17398
|
+
S["~encoded.optionality"]
|
|
17399
|
+
>
|
|
17400
|
+
{
|
|
17401
|
+
readonly "Type": S["Type"]
|
|
17402
|
+
readonly "Encoded": Json
|
|
17403
|
+
readonly "DecodingServices": S["DecodingServices"]
|
|
17404
|
+
readonly "EncodingServices": S["EncodingServices"]
|
|
17405
|
+
readonly "~type.make.in": S["~type.make.in"]
|
|
17406
|
+
readonly "~type.make": S["~type.make"]
|
|
17407
|
+
readonly "Iso": S["Iso"]
|
|
17408
|
+
readonly schema: S
|
|
17409
|
+
}
|
|
17410
|
+
/**
|
|
17411
|
+
* Derives a JSON codec, like {@link toCodecJson}, that also accepts the
|
|
17412
|
+
* `null` values Go's `encoding/json` writes for nil pointers, slices, and maps.
|
|
17413
|
+
*
|
|
17414
|
+
* **When to use**
|
|
17415
|
+
*
|
|
17416
|
+
* Use when decoding JSON produced by a Go service (for example the Docker
|
|
17417
|
+
* Engine or Kubernetes APIs), where any field the API document describes as
|
|
17418
|
+
* optional, or any slice or map, may arrive as `null`.
|
|
17419
|
+
*
|
|
17420
|
+
* **Details**
|
|
17421
|
+
*
|
|
17422
|
+
* Decoding applies these rules at every level of the schema:
|
|
17423
|
+
*
|
|
17424
|
+
* - An optional key that is `null` decodes as a missing key.
|
|
17425
|
+
* - A required array (`Schema.Array`) that is `null` decodes as `[]`.
|
|
17426
|
+
* - A required record (`Schema.Record`) that is `null` decodes as `{}`.
|
|
17427
|
+
*
|
|
17428
|
+
* Array and record rules also apply at the top level and to nested collection
|
|
17429
|
+
* values. Tuples, non-empty arrays, and structs are not treated as collections;
|
|
17430
|
+
* collection checks still apply to the empty value.
|
|
17431
|
+
*
|
|
17432
|
+
* Encoding is unchanged from {@link toCodecJson}: the added rules only decode
|
|
17433
|
+
* `null` and do not emit it. A missing key stays missing.
|
|
17434
|
+
*
|
|
17435
|
+
* These rules also accept `encoding/json/v2` output. By default, v2 writes
|
|
17436
|
+
* nil slices and maps as `[]` and `{}`, but it can be configured to emit
|
|
17437
|
+
* `null` instead.
|
|
17438
|
+
*
|
|
17439
|
+
* **Gotchas**
|
|
17440
|
+
*
|
|
17441
|
+
* - Normalization deliberately discards the distinction between nil and empty
|
|
17442
|
+
* Go slices or maps. They are distinguishable in Go, and unmarshalling a
|
|
17443
|
+
* missing key, `null`, or an empty collection can affect existing values
|
|
17444
|
+
* differently. Use {@link toCodecJson} with explicit nullable schemas when
|
|
17445
|
+
* that distinction matters.
|
|
17446
|
+
* - A key whose schema already accepts `null` (for example
|
|
17447
|
+
* `Schema.NullOr(X)`, `Schema.Unknown`, or `Schema.Json`) keeps `null` as a
|
|
17448
|
+
* value.
|
|
17449
|
+
* - A required field that is not an array or a record (a nil pointer to a Go
|
|
17450
|
+
* struct, for example) still fails on `null`. Make it optional if the API
|
|
17451
|
+
* can omit it.
|
|
17452
|
+
* - A nil `[]byte` is written as `null` by `encoding/json` (and as `""` by
|
|
17453
|
+
* version 2), but its schema is a base64 string, not an array. A required
|
|
17454
|
+
* `[]byte` field that is `null` fails; make it optional if the API can send
|
|
17455
|
+
* `null`.
|
|
17456
|
+
* - Only these `null` rules are covered. Field formats such as durations,
|
|
17457
|
+
* base64 bytes, and numbers encoded as strings belong in the field schemas.
|
|
17458
|
+
*
|
|
17459
|
+
* **Example** (Decoding a Go response with nil fields)
|
|
17460
|
+
*
|
|
17461
|
+
* ```ts import.meta.vitest
|
|
17462
|
+
* import { Schema } from "effect"
|
|
17463
|
+
*
|
|
17464
|
+
* const Container = Schema.Struct({
|
|
17465
|
+
* Id: Schema.String,
|
|
17466
|
+
* Names: Schema.Array(Schema.String),
|
|
17467
|
+
* Labels: Schema.Record(Schema.String, Schema.String),
|
|
17468
|
+
* Status: Schema.optionalKey(Schema.String)
|
|
17469
|
+
* })
|
|
17470
|
+
*
|
|
17471
|
+
* const decode = Schema.decodeUnknownSync(Schema.toCodecGoJson(Container))
|
|
17472
|
+
*
|
|
17473
|
+
* decode({ Id: "a", Names: null, Labels: null, Status: null }) // => { Id: "a", Names: [], Labels: {} }
|
|
17474
|
+
* ```
|
|
17475
|
+
*
|
|
17476
|
+
* @see {@link toCodecJson} for the canonical JSON codec
|
|
17477
|
+
* @stability unstable
|
|
17478
|
+
* @category converting
|
|
17479
|
+
* @since 4.0.6
|
|
17480
|
+
*/
|
|
17481
|
+
export const toCodecGoJson: {
|
|
17482
|
+
/**
|
|
17483
|
+
* Derives a JSON codec, like {@link toCodecJson}, that also accepts the
|
|
17484
|
+
* `null` values Go's `encoding/json` writes for nil pointers, slices, and maps.
|
|
17485
|
+
*
|
|
17486
|
+
* **When to use**
|
|
17487
|
+
*
|
|
17488
|
+
* Use when decoding JSON produced by a Go service (for example the Docker
|
|
17489
|
+
* Engine or Kubernetes APIs), where any field the API document describes as
|
|
17490
|
+
* optional, or any slice or map, may arrive as `null`.
|
|
17491
|
+
*
|
|
17492
|
+
* **Details**
|
|
17493
|
+
*
|
|
17494
|
+
* Decoding applies these rules at every level of the schema:
|
|
17495
|
+
*
|
|
17496
|
+
* - An optional key that is `null` decodes as a missing key.
|
|
17497
|
+
* - A required array (`Schema.Array`) that is `null` decodes as `[]`.
|
|
17498
|
+
* - A required record (`Schema.Record`) that is `null` decodes as `{}`.
|
|
17499
|
+
*
|
|
17500
|
+
* Array and record rules also apply at the top level and to nested collection
|
|
17501
|
+
* values. Tuples, non-empty arrays, and structs are not treated as collections;
|
|
17502
|
+
* collection checks still apply to the empty value.
|
|
17503
|
+
*
|
|
17504
|
+
* Encoding is unchanged from {@link toCodecJson}: the added rules only decode
|
|
17505
|
+
* `null` and do not emit it. A missing key stays missing.
|
|
17506
|
+
*
|
|
17507
|
+
* These rules also accept `encoding/json/v2` output. By default, v2 writes
|
|
17508
|
+
* nil slices and maps as `[]` and `{}`, but it can be configured to emit
|
|
17509
|
+
* `null` instead.
|
|
17510
|
+
*
|
|
17511
|
+
* **Gotchas**
|
|
17512
|
+
*
|
|
17513
|
+
* - Normalization deliberately discards the distinction between nil and empty
|
|
17514
|
+
* Go slices or maps. They are distinguishable in Go, and unmarshalling a
|
|
17515
|
+
* missing key, `null`, or an empty collection can affect existing values
|
|
17516
|
+
* differently. Use {@link toCodecJson} with explicit nullable schemas when
|
|
17517
|
+
* that distinction matters.
|
|
17518
|
+
* - A key whose schema already accepts `null` (for example
|
|
17519
|
+
* `Schema.NullOr(X)`, `Schema.Unknown`, or `Schema.Json`) keeps `null` as a
|
|
17520
|
+
* value.
|
|
17521
|
+
* - A required field that is not an array or a record (a nil pointer to a Go
|
|
17522
|
+
* struct, for example) still fails on `null`. Make it optional if the API
|
|
17523
|
+
* can omit it.
|
|
17524
|
+
* - A nil `[]byte` is written as `null` by `encoding/json` (and as `""` by
|
|
17525
|
+
* version 2), but its schema is a base64 string, not an array. A required
|
|
17526
|
+
* `[]byte` field that is `null` fails; make it optional if the API can send
|
|
17527
|
+
* `null`.
|
|
17528
|
+
* - Only these `null` rules are covered. Field formats such as durations,
|
|
17529
|
+
* base64 bytes, and numbers encoded as strings belong in the field schemas.
|
|
17530
|
+
*
|
|
17531
|
+
* **Example** (Decoding a Go response with nil fields)
|
|
17532
|
+
*
|
|
17533
|
+
* ```ts import.meta.vitest
|
|
17534
|
+
* import { Schema } from "effect"
|
|
17535
|
+
*
|
|
17536
|
+
* const Container = Schema.Struct({
|
|
17537
|
+
* Id: Schema.String,
|
|
17538
|
+
* Names: Schema.Array(Schema.String),
|
|
17539
|
+
* Labels: Schema.Record(Schema.String, Schema.String),
|
|
17540
|
+
* Status: Schema.optionalKey(Schema.String)
|
|
17541
|
+
* })
|
|
17542
|
+
*
|
|
17543
|
+
* const decode = Schema.decodeUnknownSync(Schema.toCodecGoJson(Container))
|
|
17544
|
+
*
|
|
17545
|
+
* decode({ Id: "a", Names: null, Labels: null, Status: null }) // => { Id: "a", Names: [], Labels: {} }
|
|
17546
|
+
* ```
|
|
17547
|
+
*
|
|
17548
|
+
* @see {@link toCodecJson} for the canonical JSON codec
|
|
17549
|
+
* @stability unstable
|
|
17550
|
+
* @category converting
|
|
17551
|
+
* @since 4.0.6
|
|
17552
|
+
*/
|
|
17553
|
+
<S extends Constraint>(schema: S): toCodecGoJson<S>
|
|
17554
|
+
} = InternalToCodec.toCodecGoJson
|
|
17307
17555
|
type XmlEncoderOptions = {
|
|
17308
17556
|
/** Root element name for the returned XML string. Default: "root" */
|
|
17309
17557
|
readonly rootName?: string | undefined
|
|
@@ -17921,7 +18169,7 @@ export declare namespace Annotations {
|
|
|
17921
18169
|
readonly "~sentinels"?: ReadonlyArray<SchemaAST.Sentinel> | undefined
|
|
17922
18170
|
}
|
|
17923
18171
|
/**
|
|
17924
|
-
* Annotations for filter
|
|
18172
|
+
* Annotations for filter checks (created via `Schema.makeFilter`). Extends
|
|
17925
18173
|
* {@link Augment} with an optional error message, identifier, and metadata.
|
|
17926
18174
|
* Filters are intentionally non-parametric to keep them covariant.
|
|
17927
18175
|
*
|