effect 4.0.5 → 4.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai-docs/package.json +1 -1
- package/ai-docs/src/06_schedule/10_schedules.ts +5 -4
- package/ai-docs/tsconfig.json +3 -1
- package/dist/Arbitrary.d.ts +10 -2
- package/dist/Arbitrary.d.ts.map +1 -1
- package/dist/Arbitrary.js +2 -1
- package/dist/Arbitrary.js.map +1 -1
- package/dist/Array.d.ts +117 -52
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +41 -20
- package/dist/Array.js.map +1 -1
- package/dist/Bytes.d.ts +79 -0
- package/dist/Bytes.d.ts.map +1 -0
- package/dist/Bytes.js +109 -0
- package/dist/Bytes.js.map +1 -0
- package/dist/Channel.d.ts +181 -13
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +144 -34
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +39 -21
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +26 -17
- package/dist/Chunk.js.map +1 -1
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +8 -3
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +2 -1
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Cron.d.ts +2 -2
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +6 -3
- package/dist/Cron.js.map +1 -1
- package/dist/Data.d.ts +54 -235
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js.map +1 -1
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +56 -16
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +488 -164
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +204 -38
- package/dist/Effect.js.map +1 -1
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +8 -1
- package/dist/Equal.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 +27 -12
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +8 -3
- package/dist/Exit.js.map +1 -1
- package/dist/FiberHandle.d.ts +2 -0
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +9 -4
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +2 -0
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +5 -2
- package/dist/FiberMap.js.map +1 -1
- package/dist/FileSystem.d.ts +5 -0
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +3 -0
- package/dist/FileSystem.js.map +1 -1
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +27 -13
- package/dist/Formatter.js.map +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js.map +1 -1
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +4 -1
- package/dist/Hash.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/JsonPatch.js +4 -0
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonSchema.d.ts +9 -3
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +32 -43
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +2 -2
- package/dist/Layer.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +19 -1
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +62 -6
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Metric.d.ts +135 -3
- 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/MutableList.d.ts +5 -2
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +7 -5
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +7 -0
- package/dist/MutableRef.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/PartitionedSemaphore.d.ts +2 -1
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +22 -12
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +8 -1
- package/dist/Path.js.map +1 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +77 -27
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +17 -13
- 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 +8 -0
- 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 +1 -1
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +408 -340
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +370 -47
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +9 -7
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +38 -25
- 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/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +48 -22
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +75 -11
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +41 -13
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +5 -2
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +10 -3
- package/dist/SchemaTransformation.js.map +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/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +54 -35
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +13 -4
- 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 +167 -70
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +7 -2
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +11 -6
- package/dist/String.js.map +1 -1
- package/dist/TextDiff.d.ts +399 -0
- package/dist/TextDiff.d.ts.map +1 -0
- package/dist/TextDiff.js +634 -0
- package/dist/TextDiff.js.map +1 -0
- package/dist/Tracer.d.ts +11 -1
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +6 -1
- package/dist/Tracer.js.map +1 -1
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js.map +1 -1
- package/dist/ai/AiError.d.ts +68 -4
- package/dist/ai/AiError.d.ts.map +1 -1
- package/dist/ai/AiError.js +50 -2
- package/dist/ai/AiError.js.map +1 -1
- package/dist/ai/Chat.d.ts +1 -2
- package/dist/ai/Chat.d.ts.map +1 -1
- package/dist/ai/Chat.js +6 -3
- package/dist/ai/Chat.js.map +1 -1
- package/dist/ai/Decision.d.ts +46 -1
- package/dist/ai/Decision.d.ts.map +1 -1
- package/dist/ai/Decision.js.map +1 -1
- package/dist/ai/DecisionModel.d.ts +129 -11
- package/dist/ai/DecisionModel.d.ts.map +1 -1
- package/dist/ai/DecisionModel.js +182 -94
- package/dist/ai/DecisionModel.js.map +1 -1
- package/dist/ai/EmbeddingModel.d.ts +10 -0
- package/dist/ai/EmbeddingModel.d.ts.map +1 -1
- package/dist/ai/EmbeddingModel.js +21 -7
- package/dist/ai/EmbeddingModel.js.map +1 -1
- package/dist/ai/LanguageModel.d.ts.map +1 -1
- package/dist/ai/LanguageModel.js +9 -0
- 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 +258 -125
- package/dist/ai/McpSchema.d.ts.map +1 -1
- package/dist/ai/McpSchema.js +94 -24
- package/dist/ai/McpSchema.js.map +1 -1
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +46 -37
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/Prompt.d.ts +74 -20
- package/dist/ai/Prompt.d.ts.map +1 -1
- package/dist/ai/Prompt.js +61 -1
- package/dist/ai/Prompt.js.map +1 -1
- package/dist/ai/Response.d.ts +160 -3
- package/dist/ai/Response.d.ts.map +1 -1
- package/dist/ai/Response.js +39 -37
- package/dist/ai/Response.js.map +1 -1
- package/dist/ai/Tool.d.ts +36 -4
- package/dist/ai/Tool.d.ts.map +1 -1
- package/dist/ai/Tool.js +5 -2
- 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 +73 -13
- 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/Argument.d.ts +15 -0
- package/dist/cli/Argument.d.ts.map +1 -1
- package/dist/cli/Argument.js +5 -0
- package/dist/cli/Argument.js.map +1 -1
- package/dist/cli/CliError.d.ts +120 -2
- package/dist/cli/CliError.d.ts.map +1 -1
- package/dist/cli/CliError.js +106 -5
- package/dist/cli/CliError.js.map +1 -1
- package/dist/cli/CliOutput.d.ts +155 -6
- package/dist/cli/CliOutput.d.ts.map +1 -1
- package/dist/cli/CliOutput.js +62 -6
- package/dist/cli/CliOutput.js.map +1 -1
- package/dist/cli/Command.d.ts +310 -18
- package/dist/cli/Command.d.ts.map +1 -1
- package/dist/cli/Command.js +164 -33
- package/dist/cli/Command.js.map +1 -1
- package/dist/cli/Completions.d.ts +63 -0
- package/dist/cli/Completions.d.ts.map +1 -1
- package/dist/cli/Completions.js +49 -9
- package/dist/cli/Completions.js.map +1 -1
- package/dist/cli/Flag.d.ts +130 -0
- package/dist/cli/Flag.d.ts.map +1 -1
- package/dist/cli/Flag.js +61 -0
- package/dist/cli/Flag.js.map +1 -1
- package/dist/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/cli/GlobalFlag.js +14 -6
- package/dist/cli/GlobalFlag.js.map +1 -1
- package/dist/cli/Param.d.ts +116 -0
- package/dist/cli/Param.d.ts.map +1 -1
- package/dist/cli/Param.js +77 -2
- package/dist/cli/Param.js.map +1 -1
- package/dist/cli/TerminalCapabilities.d.ts +85 -0
- package/dist/cli/TerminalCapabilities.d.ts.map +1 -0
- package/dist/cli/TerminalCapabilities.js +124 -0
- package/dist/cli/TerminalCapabilities.js.map +1 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +5 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/internal/command.d.ts +2 -1
- package/dist/cli/internal/command.d.ts.map +1 -1
- package/dist/cli/internal/command.js +5 -2
- package/dist/cli/internal/command.js.map +1 -1
- package/dist/cli/internal/completions/bash.js +77 -30
- package/dist/cli/internal/completions/bash.js.map +1 -1
- package/dist/cli/internal/completions/descriptor.js +9 -1
- package/dist/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/cli/internal/completions/fish.js +10 -8
- package/dist/cli/internal/completions/fish.js.map +1 -1
- package/dist/cli/internal/completions/powershell.js +18 -9
- package/dist/cli/internal/completions/powershell.js.map +1 -1
- package/dist/cli/internal/completions/zsh.js +8 -5
- package/dist/cli/internal/completions/zsh.js.map +1 -1
- package/dist/cli/internal/formatter.d.ts +2 -0
- package/dist/cli/internal/formatter.d.ts.map +1 -0
- package/dist/cli/internal/formatter.js +15 -0
- package/dist/cli/internal/formatter.js.map +1 -0
- package/dist/cli/internal/lexer.js +24 -10
- package/dist/cli/internal/lexer.js.map +1 -1
- package/dist/cli/internal/parser.js +24 -12
- package/dist/cli/internal/parser.js.map +1 -1
- package/dist/cluster/ClusterCron.d.ts +29 -1
- package/dist/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/cluster/ClusterCron.js +64 -32
- package/dist/cluster/ClusterCron.js.map +1 -1
- package/dist/cluster/ClusterMetrics.d.ts +143 -7
- package/dist/cluster/ClusterMetrics.d.ts.map +1 -1
- package/dist/cluster/ClusterMetrics.js +151 -7
- package/dist/cluster/ClusterMetrics.js.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts +1 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.js +82 -21
- 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 +44 -45
- package/dist/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/cluster/MessageStorage.js +6 -7
- package/dist/cluster/MessageStorage.js.map +1 -1
- package/dist/cluster/Runners.d.ts.map +1 -1
- package/dist/cluster/Runners.js +54 -15
- package/dist/cluster/Runners.js.map +1 -1
- package/dist/cluster/Sharding.d.ts +1 -0
- package/dist/cluster/Sharding.d.ts.map +1 -1
- package/dist/cluster/Sharding.js +155 -52
- package/dist/cluster/Sharding.js.map +1 -1
- package/dist/cluster/ShardingConfig.d.ts +30 -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/Snowflake.d.ts.map +1 -1
- package/dist/cluster/Snowflake.js +3 -7
- package/dist/cluster/Snowflake.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 +97 -43
- package/dist/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/cluster/internal/entityManager.js +119 -28
- 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 +33 -4
- package/dist/devtools/DevToolsClient.js.map +1 -1
- package/dist/encoding/Base64.js +36 -0
- package/dist/encoding/Base64.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.d.ts.map +1 -1
- package/dist/encoding/Sse.js +3 -3
- 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.d.ts.map +1 -1
- package/dist/encoding/Toml.js +24 -19
- 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 +417 -169
- 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 +46 -0
- package/dist/eventlog/internal/conflicts.d.ts.map +1 -0
- package/dist/eventlog/internal/conflicts.js +89 -0
- package/dist/eventlog/internal/conflicts.js.map +1 -0
- package/dist/graphql/GraphQLClientError.d.ts +2 -2
- package/dist/graphql/GraphQLClientError.d.ts.map +1 -1
- package/dist/graphql/GraphQLClientError.js +4 -18
- package/dist/graphql/GraphQLClientError.js.map +1 -1
- package/dist/graphql/GraphQLProtocol.d.ts +12 -9
- package/dist/graphql/GraphQLProtocol.d.ts.map +1 -1
- package/dist/graphql/GraphQLProtocol.js +4 -3
- package/dist/graphql/GraphQLProtocol.js.map +1 -1
- package/dist/graphql/GraphQLResolver.d.ts +2 -0
- package/dist/graphql/GraphQLResolver.d.ts.map +1 -1
- package/dist/graphql/GraphQLResolver.js +74 -32
- package/dist/graphql/GraphQLResolver.js.map +1 -1
- package/dist/http/Cookies.d.ts.map +1 -1
- package/dist/http/Cookies.js +10 -9
- package/dist/http/Cookies.js.map +1 -1
- package/dist/http/FetchHttpClient.d.ts +8 -1
- package/dist/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/http/FetchHttpClient.js +51 -4
- package/dist/http/FetchHttpClient.js.map +1 -1
- package/dist/http/FindMyWay/internal/router.js +10 -0
- package/dist/http/FindMyWay/internal/router.js.map +1 -1
- package/dist/http/Headers.d.ts +227 -0
- package/dist/http/Headers.d.ts.map +1 -1
- package/dist/http/Headers.js +261 -0
- package/dist/http/Headers.js.map +1 -1
- package/dist/http/HttpClient.d.ts +516 -0
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +286 -23
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpClientError.d.ts +8 -1
- package/dist/http/HttpClientError.d.ts.map +1 -1
- package/dist/http/HttpClientError.js +37 -1
- package/dist/http/HttpClientError.js.map +1 -1
- package/dist/http/HttpClientRequest.d.ts +127 -3
- package/dist/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/http/HttpClientRequest.js +45 -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 +119 -2
- package/dist/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/http/HttpMiddleware.js +173 -29
- package/dist/http/HttpMiddleware.js.map +1 -1
- package/dist/http/HttpRouter.d.ts.map +1 -1
- package/dist/http/HttpRouter.js +9 -3
- 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 +7 -5
- package/dist/http/HttpServerError.js.map +1 -1
- package/dist/http/HttpServerRequest.d.ts +30 -5
- package/dist/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/http/HttpServerRequest.js +109 -20
- 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 +65 -24
- package/dist/http/HttpStaticServer.js.map +1 -1
- package/dist/http/MultipartParser/internal/contentType.d.ts +15 -1
- package/dist/http/MultipartParser/internal/contentType.d.ts.map +1 -1
- package/dist/http/MultipartParser/internal/contentType.js +89 -7
- package/dist/http/MultipartParser/internal/contentType.js.map +1 -1
- package/dist/http/MultipartParser/internal/headers.d.ts.map +1 -1
- package/dist/http/MultipartParser/internal/headers.js +4 -12
- package/dist/http/MultipartParser/internal/headers.js.map +1 -1
- package/dist/http/MultipartParser/internal/multipart.d.ts.map +1 -1
- package/dist/http/MultipartParser/internal/multipart.js +6 -27
- package/dist/http/MultipartParser/internal/multipart.js.map +1 -1
- package/dist/http/Url.d.ts.map +1 -1
- package/dist/http/Url.js +6 -1
- package/dist/http/Url.js.map +1 -1
- package/dist/http/UrlParams.d.ts +3 -1
- package/dist/http/UrlParams.d.ts.map +1 -1
- package/dist/http/UrlParams.js +4 -2
- package/dist/http/UrlParams.js.map +1 -1
- package/dist/http/internal/compression.js +4 -5
- package/dist/http/internal/compression.js.map +1 -1
- package/dist/http/internal/decompression.js +20 -11
- package/dist/http/internal/decompression.js.map +1 -1
- package/dist/http/internal/httpBody.js +8 -1
- package/dist/http/internal/httpBody.js.map +1 -1
- package/dist/http/internal/lazyStream.d.ts +2 -0
- package/dist/http/internal/lazyStream.d.ts.map +1 -0
- package/dist/http/internal/lazyStream.js +18 -0
- package/dist/http/internal/lazyStream.js.map +1 -0
- package/dist/http/internal/requestState.d.ts +2 -0
- package/dist/http/internal/requestState.d.ts.map +1 -0
- package/dist/http/internal/requestState.js +28 -0
- package/dist/http/internal/requestState.js.map +1 -0
- package/dist/http/internal/urlParams.js +25 -0
- package/dist/http/internal/urlParams.js.map +1 -1
- 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.d.ts +3 -6
- package/dist/http-api/HttpApi.d.ts.map +1 -1
- package/dist/http-api/HttpApi.js +4 -7
- 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 +142 -23
- package/dist/http-api/HttpApiBuilder.js.map +1 -1
- package/dist/http-api/HttpApiClient.d.ts +99 -4
- package/dist/http-api/HttpApiClient.d.ts.map +1 -1
- package/dist/http-api/HttpApiClient.js +218 -60
- package/dist/http-api/HttpApiClient.js.map +1 -1
- package/dist/http-api/HttpApiEndpoint.d.ts +72 -29
- package/dist/http-api/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/http-api/HttpApiEndpoint.js +140 -14
- 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 +242 -13
- package/dist/http-api/HttpApiSchema.d.ts.map +1 -1
- package/dist/http-api/HttpApiSchema.js +149 -5
- 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 +33 -11
- 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 +81 -47
- 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/http-api/internal/toCodecHttpProperties.d.ts +2 -0
- package/dist/http-api/internal/toCodecHttpProperties.d.ts.map +1 -0
- package/dist/http-api/internal/toCodecHttpProperties.js +38 -0
- package/dist/http-api/internal/toCodecHttpProperties.js.map +1 -0
- 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/arbitrary/runner.d.ts.map +1 -1
- package/dist/internal/arbitrary/runner.js +120 -44
- package/dist/internal/arbitrary/runner.js.map +1 -1
- package/dist/internal/core.js +3 -1
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +19 -7
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +106 -87
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/equal.js +14 -0
- package/dist/internal/equal.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/jsonSchema.d.ts +2 -0
- package/dist/internal/jsonSchema.d.ts.map +1 -0
- package/dist/internal/jsonSchema.js +28 -0
- package/dist/internal/jsonSchema.js.map +1 -0
- package/dist/internal/matcher.js +1 -1
- package/dist/internal/matcher.js.map +1 -1
- 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/compilerRegistry.js +4 -1
- package/dist/internal/schema/compilerRegistry.js.map +1 -1
- package/dist/internal/schema/content.d.ts +2 -0
- package/dist/internal/schema/content.d.ts.map +1 -0
- package/dist/internal/schema/content.js +13 -0
- package/dist/internal/schema/content.js.map +1 -0
- package/dist/internal/schema/fromJsonSchemaDocument.js +253 -255
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/fromRepresentation.js +2 -1
- package/dist/internal/schema/fromRepresentation.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 +42 -35
- package/dist/internal/schema/standardSchema.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js +10 -5
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toCodec.js +99 -17
- 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 +257 -170
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toRepresentation.js +107 -129
- package/dist/internal/schema/toRepresentation.js.map +1 -1
- package/dist/internal/sql.d.ts +2 -0
- package/dist/internal/sql.d.ts.map +1 -0
- package/dist/internal/sql.js +13 -0
- package/dist/internal/sql.js.map +1 -0
- package/dist/internal/trie.js +1 -3
- package/dist/internal/trie.js.map +1 -1
- package/dist/internal/uuid.js +7 -3
- package/dist/internal/uuid.js.map +1 -1
- package/dist/internal/version.js +1 -1
- package/dist/net/NetAddress.d.ts.map +1 -1
- package/dist/net/NetAddress.js +2 -8
- package/dist/net/NetAddress.js.map +1 -1
- package/dist/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/observability/OtlpExporter.js +5 -12
- package/dist/observability/OtlpExporter.js.map +1 -1
- package/dist/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/observability/OtlpMetrics.js +5 -3
- package/dist/observability/OtlpMetrics.js.map +1 -1
- package/dist/observability/OtlpProxy.d.ts +154 -0
- package/dist/observability/OtlpProxy.d.ts.map +1 -0
- package/dist/observability/OtlpProxy.js +235 -0
- package/dist/observability/OtlpProxy.js.map +1 -0
- 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.map +1 -1
- package/dist/observability/OtlpTracer.js +4 -0
- package/dist/observability/OtlpTracer.js.map +1 -1
- package/dist/observability/index.d.ts +5 -0
- package/dist/observability/index.d.ts.map +1 -1
- package/dist/observability/index.js +5 -0
- package/dist/observability/index.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/CircuitBreaker.d.ts +897 -0
- package/dist/persistence/CircuitBreaker.d.ts.map +1 -0
- package/dist/persistence/CircuitBreaker.js +1165 -0
- package/dist/persistence/CircuitBreaker.js.map +1 -0
- 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/Redis.d.ts +78 -2
- package/dist/persistence/Redis.d.ts.map +1 -1
- package/dist/persistence/Redis.js +62 -7
- package/dist/persistence/Redis.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 +10 -0
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +10 -0
- package/dist/persistence/index.js.map +1 -1
- package/dist/process/ChildProcess.d.ts +32 -5
- package/dist/process/ChildProcess.d.ts.map +1 -1
- package/dist/process/ChildProcess.js.map +1 -1
- package/dist/process/ChildProcessSpawner.d.ts +30 -0
- package/dist/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/process/ChildProcessSpawner.js +5 -2
- package/dist/process/ChildProcessSpawner.js.map +1 -1
- package/dist/reactivity/AsyncResult.d.ts +1 -1
- package/dist/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/reactivity/AsyncResult.js +1 -1
- package/dist/reactivity/AsyncResult.js.map +1 -1
- package/dist/reactivity/Atom.d.ts +69 -30
- package/dist/reactivity/Atom.d.ts.map +1 -1
- package/dist/reactivity/Atom.js +40 -15
- package/dist/reactivity/Atom.js.map +1 -1
- package/dist/reactivity/AtomHttpApi.d.ts +5 -5
- package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/reactivity/AtomHttpApi.js +1 -1
- package/dist/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/reactivity/AtomRegistry.d.ts +2 -2
- package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/reactivity/AtomRegistry.js +44 -9
- package/dist/reactivity/AtomRegistry.js.map +1 -1
- package/dist/reactivity/AtomRpc.d.ts +3 -3
- package/dist/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/reactivity/AtomRpc.js +1 -1
- package/dist/reactivity/AtomRpc.js.map +1 -1
- package/dist/reactivity/Hydration.d.ts.map +1 -1
- package/dist/reactivity/Hydration.js +46 -12
- package/dist/reactivity/Hydration.js.map +1 -1
- package/dist/reactivity/Reactivity.d.ts +71 -7
- package/dist/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/reactivity/Reactivity.js +21 -12
- package/dist/reactivity/Reactivity.js.map +1 -1
- package/dist/rpc/Rpc.d.ts +18 -0
- package/dist/rpc/Rpc.d.ts.map +1 -1
- package/dist/rpc/Rpc.js +20 -0
- package/dist/rpc/Rpc.js.map +1 -1
- package/dist/rpc/RpcClient.d.ts +26 -2
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +198 -61
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcSerialization.d.ts +29 -0
- package/dist/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/rpc/RpcSerialization.js +41 -13
- package/dist/rpc/RpcSerialization.js.map +1 -1
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +20 -19
- package/dist/rpc/RpcServer.js.map +1 -1
- package/dist/rpc/RpcTest.d.ts +1 -0
- package/dist/rpc/RpcTest.d.ts.map +1 -1
- package/dist/rpc/RpcTest.js +1 -0
- package/dist/rpc/RpcTest.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 +2 -1
- package/dist/sql/Migrator.d.ts.map +1 -1
- package/dist/sql/Migrator.js +21 -6
- package/dist/sql/Migrator.js.map +1 -1
- package/dist/sql/SqlClient.d.ts +148 -5
- package/dist/sql/SqlClient.d.ts.map +1 -1
- package/dist/sql/SqlClient.js +155 -27
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/SqlResolver.d.ts +13 -0
- package/dist/sql/SqlResolver.d.ts.map +1 -1
- package/dist/sql/SqlResolver.js +27 -4
- package/dist/sql/SqlResolver.js.map +1 -1
- package/dist/sql/Statement.d.ts +10 -1
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +45 -7
- package/dist/sql/Statement.js.map +1 -1
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +4 -2
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +7 -1
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +9 -3
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/workflow/DurableDeferred.js +21 -2
- package/dist/workflow/DurableDeferred.js.map +1 -1
- package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/workflow/WorkflowEngine.js +18 -4
- package/dist/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +13 -3
- package/src/Arbitrary.ts +10 -2
- package/src/Array.ts +128 -55
- package/src/Bytes.ts +111 -0
- package/src/Channel.ts +308 -452
- package/src/ChannelSchema.ts +1 -49
- package/src/Chunk.ts +55 -61
- package/src/Config.ts +12 -86
- package/src/ConfigProvider.ts +2 -1
- package/src/Cron.ts +6 -3
- package/src/Data.ts +60 -265
- package/src/Duration.ts +66 -16
- package/src/Effect.ts +503 -168
- package/src/Equal.ts +8 -1
- package/src/Equivalence.ts +7 -4
- package/src/Exit.ts +27 -12
- package/src/FiberHandle.ts +10 -9
- package/src/FiberMap.ts +13 -66
- package/src/FileSystem.ts +10 -0
- package/src/Formatter.ts +28 -13
- package/src/Graph.ts +171 -1263
- package/src/Hash.ts +4 -1
- package/src/HashSet.ts +0 -60
- package/src/Iterable.ts +15 -14
- package/src/JsonPatch.ts +4 -0
- package/src/JsonSchema.ts +40 -43
- package/src/Layer.ts +2 -2
- package/src/ManagedRuntime.ts +72 -6
- package/src/Metric.ts +252 -510
- package/src/MutableHashMap.ts +4 -473
- package/src/MutableList.ts +7 -5
- package/src/MutableRef.ts +8 -1
- package/src/Number.ts +2 -2
- package/src/Optic.ts +17 -332
- package/src/PartitionedSemaphore.ts +24 -13
- package/src/Path.ts +9 -1
- package/src/Pool.ts +109 -37
- package/src/PubSub.ts +17 -13
- 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 +15 -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 +3 -95
- package/src/Schema.ts +639 -381
- package/src/SchemaAST.ts +40 -29
- package/src/SchemaGetter.ts +22 -5
- package/src/SchemaIssue.ts +44 -53
- package/src/SchemaParser.ts +51 -18
- package/src/SchemaRepresentation.ts +95 -35
- package/src/SchemaTransformation.ts +10 -3
- 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/Semaphore.ts +67 -40
- package/src/Sink.ts +21 -4
- package/src/Stream.ts +367 -1027
- package/src/String.ts +11 -8
- package/src/TextDiff.ts +766 -0
- package/src/Tracer.ts +15 -1
- package/src/TxHashMap.ts +1 -103
- package/src/TxHashSet.ts +48 -753
- package/src/ai/AiError.ts +66 -4
- package/src/ai/Chat.ts +10 -5
- package/src/ai/Decision.ts +49 -1
- package/src/ai/DecisionModel.ts +264 -108
- package/src/ai/EmbeddingModel.ts +25 -13
- package/src/ai/LanguageModel.ts +9 -0
- 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 +231 -233
- package/src/ai/Prompt.ts +114 -35
- package/src/ai/Response.ts +220 -65
- package/src/ai/Tool.ts +50 -6
- package/src/ai/Toolkit.ts +82 -11
- 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/Argument.ts +15 -0
- package/src/cli/CliError.ts +136 -4
- package/src/cli/CliOutput.ts +183 -6
- package/src/cli/Command.ts +367 -48
- package/src/cli/Completions.ts +56 -0
- package/src/cli/Flag.ts +132 -0
- package/src/cli/GlobalFlag.ts +5 -6
- package/src/cli/Param.ts +151 -6
- package/src/cli/TerminalCapabilities.ts +159 -0
- package/src/cli/index.ts +6 -0
- package/src/cli/internal/command.ts +8 -3
- package/src/cli/internal/completions/bash.ts +83 -32
- package/src/cli/internal/completions/descriptor.ts +11 -1
- package/src/cli/internal/completions/fish.ts +10 -8
- package/src/cli/internal/completions/powershell.ts +23 -14
- package/src/cli/internal/completions/zsh.ts +8 -5
- package/src/cli/internal/formatter.ts +18 -0
- package/src/cli/internal/lexer.ts +12 -5
- package/src/cli/internal/parser.ts +31 -11
- package/src/cluster/ClusterCron.ts +94 -35
- package/src/cluster/ClusterMetrics.ts +149 -7
- package/src/cluster/ClusterWorkflowEngine.ts +130 -57
- package/src/cluster/Entity.ts +4 -0
- package/src/cluster/MessageStorage.ts +26 -14
- package/src/cluster/Runners.ts +76 -25
- package/src/cluster/Sharding.ts +200 -58
- package/src/cluster/ShardingConfig.ts +20 -0
- package/src/cluster/Snowflake.ts +3 -7
- package/src/cluster/SqlMessageStorage.ts +58 -55
- package/src/cluster/SqlRunnerStorage.ts +120 -51
- package/src/cluster/internal/entityManager.ts +155 -32
- package/src/devtools/DevTools.ts +3 -2
- package/src/devtools/DevToolsClient.ts +29 -10
- package/src/encoding/Base64.ts +38 -0
- 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 +4 -3
- package/src/encoding/Tar.ts +1417 -0
- package/src/encoding/Toml.ts +36 -19
- 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 +496 -193
- 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 +119 -0
- package/src/graphql/GraphQLClientError.ts +5 -12
- package/src/graphql/GraphQLProtocol.ts +12 -9
- package/src/graphql/GraphQLResolver.ts +90 -239
- package/src/http/Cookies.ts +10 -11
- package/src/http/FetchHttpClient.ts +56 -6
- package/src/http/FindMyWay/internal/router.ts +11 -0
- package/src/http/Headers.ts +337 -154
- package/src/http/HttpClient.ts +673 -142
- package/src/http/HttpClientError.ts +35 -1
- package/src/http/HttpClientRequest.ts +151 -5
- 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 +194 -40
- package/src/http/HttpRouter.ts +10 -3
- package/src/http/HttpServerError.ts +8 -5
- package/src/http/HttpServerRequest.ts +172 -27
- package/src/http/HttpServerResponse.ts +49 -23
- package/src/http/HttpStaticServer.ts +71 -26
- package/src/http/MultipartParser/internal/contentType.ts +109 -8
- package/src/http/MultipartParser/internal/headers.ts +4 -16
- package/src/http/MultipartParser/internal/multipart.ts +10 -32
- package/src/http/Url.ts +6 -1
- package/src/http/UrlParams.ts +6 -1
- package/src/http/internal/compression.ts +4 -5
- package/src/http/internal/decompression.ts +32 -17
- package/src/http/internal/httpBody.ts +10 -2
- package/src/http/internal/lazyStream.ts +25 -0
- package/src/http/internal/requestState.ts +33 -0
- package/src/http/internal/urlParams.ts +29 -0
- package/src/http/internal/webResponse.ts +20 -0
- package/src/http-api/HttpApi.ts +4 -7
- package/src/http-api/HttpApiBuilder.ts +190 -32
- package/src/http-api/HttpApiClient.ts +364 -90
- package/src/http-api/HttpApiEndpoint.ts +248 -46
- package/src/http-api/HttpApiError.ts +55 -0
- package/src/http-api/HttpApiScalar.ts +4 -3
- package/src/http-api/HttpApiSchema.ts +373 -18
- package/src/http-api/HttpApiSwagger.ts +11 -4
- package/src/http-api/HttpApiTest.ts +36 -11
- package/src/http-api/OpenApi.ts +103 -58
- package/src/http-api/internal/path.ts +40 -12
- package/src/http-api/internal/toCodecHttpProperties.ts +56 -0
- package/src/index.ts +24 -0
- package/src/internal/arbitrary/runner.ts +133 -36
- package/src/internal/core.ts +3 -1
- package/src/internal/dateTime.ts +20 -7
- package/src/internal/effect.ts +144 -100
- package/src/internal/equal.ts +17 -0
- package/src/internal/hashMap.ts +2 -2
- package/src/internal/hydration.ts +15 -0
- package/src/internal/inflate.ts +710 -0
- package/src/internal/jsonSchema.ts +27 -0
- package/src/internal/matcher.ts +1 -1
- 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/compilerRegistry.ts +6 -1
- package/src/internal/schema/content.ts +18 -0
- package/src/internal/schema/fromJsonSchemaDocument.ts +458 -351
- package/src/internal/schema/fromRepresentation.ts +2 -1
- package/src/internal/schema/interpreter.ts +58 -45
- package/src/internal/schema/standardSchema.ts +34 -32
- package/src/internal/schema/toCodeDocument.ts +12 -7
- package/src/internal/schema/toCodec.ts +134 -15
- package/src/internal/schema/toFormatter.ts +6 -6
- package/src/internal/schema/toJsonSchemaDocument.ts +246 -194
- package/src/internal/schema/toRepresentation.ts +122 -140
- package/src/internal/sql.ts +14 -0
- package/src/internal/trie.ts +1 -3
- package/src/internal/uuid.ts +15 -10
- package/src/internal/version.ts +1 -1
- package/src/net/NetAddress.ts +2 -9
- package/src/observability/OtlpExporter.ts +5 -12
- package/src/observability/OtlpMetrics.ts +5 -3
- package/src/observability/OtlpProxy.ts +314 -0
- package/src/observability/OtlpResource.ts +16 -6
- package/src/observability/OtlpSerialization.ts +17 -3
- package/src/observability/OtlpTracer.ts +4 -0
- package/src/observability/index.ts +6 -0
- package/src/observability/internal/protobuf.ts +2 -10
- package/src/persistence/CircuitBreaker.ts +1678 -0
- 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/Redis.ts +129 -8
- package/src/persistence/UserDirectories.ts +273 -0
- package/src/persistence/index.ts +12 -0
- package/src/process/ChildProcess.ts +32 -5
- package/src/process/ChildProcessSpawner.ts +41 -2
- package/src/reactivity/AsyncResult.ts +5 -39
- package/src/reactivity/Atom.ts +134 -166
- package/src/reactivity/AtomHttpApi.ts +10 -16
- package/src/reactivity/AtomRegistry.ts +50 -29
- package/src/reactivity/AtomRpc.ts +6 -22
- package/src/reactivity/Hydration.ts +53 -12
- package/src/reactivity/Reactivity.ts +97 -39
- package/src/rpc/Rpc.ts +21 -0
- package/src/rpc/RpcClient.ts +283 -104
- package/src/rpc/RpcSerialization.ts +53 -14
- package/src/rpc/RpcServer.ts +27 -21
- package/src/rpc/RpcTest.ts +3 -0
- package/src/schema/VariantSchema.ts +86 -22
- package/src/socket/Socket.ts +45 -20
- package/src/sql/Migrator.ts +26 -11
- package/src/sql/SqlClient.ts +273 -29
- package/src/sql/SqlResolver.ts +32 -9
- package/src/sql/Statement.ts +65 -10
- package/src/testing/TestClock.ts +4 -1
- package/src/testing/TestSchema.ts +9 -3
- package/src/workflow/DurableDeferred.ts +23 -6
- package/src/workflow/WorkflowEngine.ts +34 -10
- package/dist/http/internal/preResponseHandler.d.ts +0 -2
- package/dist/http/internal/preResponseHandler.d.ts.map +0 -1
- package/dist/http/internal/preResponseHandler.js +0 -14
- package/dist/http/internal/preResponseHandler.js.map +0 -1
- package/src/http/internal/preResponseHandler.ts +0 -19
package/src/Schema.ts
CHANGED
|
@@ -79,6 +79,8 @@ import * as SchemaIssue from "./SchemaIssue.ts"
|
|
|
79
79
|
import * as SchemaParser from "./SchemaParser.ts"
|
|
80
80
|
import type * as SchemaRepresentation from "./SchemaRepresentation.ts"
|
|
81
81
|
import * as SchemaTransformation from "./SchemaTransformation.ts"
|
|
82
|
+
import * as SemVer_ from "./SemVer.ts"
|
|
83
|
+
import * as SemVerRange_ from "./SemVerRange.ts"
|
|
82
84
|
import type { StandardJSONSchemaV1, StandardSchemaV1 } from "./StandardSchema.ts"
|
|
83
85
|
import type { Assign, Lambda, Mutable, Simplify } from "./Struct.ts"
|
|
84
86
|
import * as Struct_ from "./Struct.ts"
|
|
@@ -123,8 +125,8 @@ export type ConstructorDefault = "no-default" | "with-default"
|
|
|
123
125
|
*
|
|
124
126
|
* **When to use**
|
|
125
127
|
*
|
|
126
|
-
* Use when passing `disableChecks: true` to skip
|
|
127
|
-
*
|
|
128
|
+
* Use when passing `disableChecks: true` to skip filters and checks while still
|
|
129
|
+
* parsing types and structure. Pass `parseOptions` to control parsing behavior.
|
|
128
130
|
*
|
|
129
131
|
* @see {@link BottomWithoutNew.makeEffect}
|
|
130
132
|
* @see {@link BottomWithoutNew.make}
|
|
@@ -139,7 +141,8 @@ export interface MakeOptions {
|
|
|
139
141
|
*/
|
|
140
142
|
readonly parseOptions?: SchemaAST.ParseOptions | undefined
|
|
141
143
|
/**
|
|
142
|
-
* Whether to
|
|
144
|
+
* Whether to skip filters and checks. Types and structure are still parsed,
|
|
145
|
+
* and constructor defaults still apply.
|
|
143
146
|
*/
|
|
144
147
|
readonly disableChecks?: boolean | undefined
|
|
145
148
|
|
|
@@ -2961,8 +2964,8 @@ export interface Enum<A extends { [x: string]: string | number }>
|
|
|
2961
2964
|
readonly enums: A
|
|
2962
2965
|
}
|
|
2963
2966
|
/**
|
|
2964
|
-
* Creates a schema from a TypeScript enum
|
|
2965
|
-
*
|
|
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.
|
|
2966
2969
|
*
|
|
2967
2970
|
* **Gotchas**
|
|
2968
2971
|
*
|
|
@@ -2986,7 +2989,7 @@ export interface Enum<A extends { [x: string]: string | number }>
|
|
|
2986
2989
|
* @category constructors
|
|
2987
2990
|
* @since 4.0.0
|
|
2988
2991
|
*/
|
|
2989
|
-
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> {
|
|
2990
2993
|
return make(
|
|
2991
2994
|
new SchemaAST.Enum(
|
|
2992
2995
|
Object.keys(enums).filter(
|
|
@@ -3980,11 +3983,18 @@ export interface $Record<Key extends Record.Key, Value extends Constraint> exten
|
|
|
3980
3983
|
*
|
|
3981
3984
|
* **Gotchas**
|
|
3982
3985
|
*
|
|
3986
|
+
* Dynamic records reject value schemas wrapped with {@link optionalKey} or
|
|
3987
|
+
* {@link optional}. Index signatures already allow keys to be absent; use
|
|
3988
|
+
* {@link UndefinedOr} when existing entries may contain `undefined`. Optional
|
|
3989
|
+
* value schemas remain valid for finite literal keys, which become declared
|
|
3990
|
+
* properties.
|
|
3991
|
+
*
|
|
3983
3992
|
* When decoded or encoded key transformations produce the same property key,
|
|
3984
3993
|
* sequential parsing applies selected own properties in selection order, so
|
|
3985
3994
|
* the later selected property overwrites the earlier value. Dynamic key
|
|
3986
|
-
* selection always examines own properties. Finite literal keys are
|
|
3987
|
-
* fields and may therefore be inherited. Output key order is not
|
|
3995
|
+
* selection always examines own properties. Finite literal and enum keys are
|
|
3996
|
+
* declared fields and may therefore be inherited. Output key order is not
|
|
3997
|
+
* guaranteed.
|
|
3988
3998
|
*
|
|
3989
3999
|
* **Example** (Defining a string-keyed record of numbers)
|
|
3990
4000
|
*
|
|
@@ -5632,8 +5642,8 @@ export interface compose<To extends Constraint, From extends Constraint> extends
|
|
|
5632
5642
|
* **Gotchas**
|
|
5633
5643
|
*
|
|
5634
5644
|
* In a custom transformation, `decode` maps `From["Type"]` to `To["Encoded"]`
|
|
5635
|
-
* and is used on the
|
|
5636
|
-
* `From["Type"]` and is used on the
|
|
5645
|
+
* and is used on the decoding path, while `encode` maps `To["Encoded"]` to
|
|
5646
|
+
* `From["Type"]` and is used on the encoding path.
|
|
5637
5647
|
*
|
|
5638
5648
|
* **Example** (Transforming strings to numbers with a schema transformation)
|
|
5639
5649
|
*
|
|
@@ -6316,12 +6326,6 @@ type Flatten<Schemas> = Schemas extends readonly [infer Head, ...infer Tail]
|
|
|
6316
6326
|
? Head extends Union<infer Inner> ? [...Flatten<Inner>, ...Flatten<Tail>]
|
|
6317
6327
|
: [Head, ...Flatten<Tail>]
|
|
6318
6328
|
: []
|
|
6319
|
-
type DiscriminantKey<T extends PropertyKey> = T extends number ? `${T}` : T
|
|
6320
|
-
type EnsureUniqueDiscriminants<Tags extends ReadonlyArray<PropertyKey>, Seen = never> = Tags extends
|
|
6321
|
-
readonly [infer Head extends PropertyKey, ...infer Tail extends ReadonlyArray<PropertyKey>]
|
|
6322
|
-
? [DiscriminantKey<Head> & Seen] extends [never] ? EnsureUniqueDiscriminants<Tail, Seen | DiscriminantKey<Head>>
|
|
6323
|
-
: never
|
|
6324
|
-
: unknown
|
|
6325
6329
|
type MatchCasesResult<Cases> = {
|
|
6326
6330
|
[K in keyof Cases]-?: NonNullable<Cases[K]> extends (...args: Array<any>) => infer R ? R : never
|
|
6327
6331
|
}[keyof Cases]
|
|
@@ -6406,10 +6410,9 @@ export type toTaggedUnion<
|
|
|
6406
6410
|
*
|
|
6407
6411
|
* **Gotchas**
|
|
6408
6412
|
*
|
|
6409
|
-
*
|
|
6410
|
-
*
|
|
6411
|
-
* `"1"` count as duplicates.
|
|
6412
|
-
* same discriminant property key.
|
|
6413
|
+
* Throws when multiple members use the same discriminant property key,
|
|
6414
|
+
* including members of nested unions. Numeric and string values such as `1`
|
|
6415
|
+
* and `"1"` count as duplicates.
|
|
6413
6416
|
*
|
|
6414
6417
|
* **Example** (Adding tagged-union utilities to an existing union)
|
|
6415
6418
|
*
|
|
@@ -6436,7 +6439,7 @@ export type toTaggedUnion<
|
|
|
6436
6439
|
*/
|
|
6437
6440
|
export function toTaggedUnion<const Tag extends PropertyKey>(tag: Tag) {
|
|
6438
6441
|
return <const Members extends ReadonlyArray<Constraint & { readonly Type: { readonly [K in Tag]: PropertyKey } }>>(
|
|
6439
|
-
self: Union<Members>
|
|
6442
|
+
self: Union<Members>
|
|
6440
6443
|
): toTaggedUnion<Tag, Members> => {
|
|
6441
6444
|
const cases: Record<PropertyKey, unknown> = {}
|
|
6442
6445
|
const discriminants: Array<PropertyKey> = []
|
|
@@ -6741,9 +6744,8 @@ export function link<T>() {
|
|
|
6741
6744
|
* )
|
|
6742
6745
|
*
|
|
6743
6746
|
* const result = Schema.decodeUnknownResult(schema)({ password: "123456", confirmPassword: "1234567" })
|
|
6744
|
-
*
|
|
6745
|
-
*
|
|
6746
|
-
* }
|
|
6747
|
+
* const message = Result.isFailure(result) ? result.failure.message : ""
|
|
6748
|
+
* message // => "password and confirmPassword must match\n at [\"password\"]"
|
|
6747
6749
|
* ```
|
|
6748
6750
|
*
|
|
6749
6751
|
* **Example** (Reporting multiple failures at once)
|
|
@@ -6763,9 +6765,8 @@ export function link<T>() {
|
|
|
6763
6765
|
* )
|
|
6764
6766
|
*
|
|
6765
6767
|
* const result = Schema.decodeUnknownResult(schema)({ a: 1, b: 0, c: 0 })
|
|
6766
|
-
*
|
|
6767
|
-
*
|
|
6768
|
-
* }
|
|
6768
|
+
* const message = Result.isFailure(result) ? result.failure.message : ""
|
|
6769
|
+
* message // => "b must be greater than 0\n at [\"b\"]\nc must be greater than 0\n at [\"c\"]"
|
|
6769
6770
|
* ```
|
|
6770
6771
|
*
|
|
6771
6772
|
* @stability stable
|
|
@@ -6908,8 +6909,8 @@ export function isPattern(
|
|
|
6908
6909
|
const flags = regExp.flags
|
|
6909
6910
|
const canExport = /^[dg]*uy?$/.test(flags)
|
|
6910
6911
|
const runtimeRegExp = flags === ""
|
|
6911
|
-
? `new RegExp(${format(source)})`
|
|
6912
|
-
: `new RegExp(${format(source)}, ${format(flags)})`
|
|
6912
|
+
? `new globalThis.RegExp(${format(source)})`
|
|
6913
|
+
: `new globalThis.RegExp(${format(source)}, ${format(flags)})`
|
|
6913
6914
|
return SchemaAST.isPattern(regExp, {
|
|
6914
6915
|
toJsonSchema: () => canExport ? { pattern: flags.endsWith("y") ? `^(?:${source})` : source } : [{}, true],
|
|
6915
6916
|
toCode: () => ({ runtime: `Schema.isPattern(${runtimeRegExp})` }),
|
|
@@ -7041,7 +7042,7 @@ export function isUUID(version?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8, annotations?: An
|
|
|
7041
7042
|
)
|
|
7042
7043
|
}
|
|
7043
7044
|
|
|
7044
|
-
const GUID_REGEXP = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/
|
|
7045
|
+
const GUID_REGEXP = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/u
|
|
7045
7046
|
/**
|
|
7046
7047
|
* Validates that a string has the GUID / UUID textual shape.
|
|
7047
7048
|
*
|
|
@@ -7076,18 +7077,22 @@ export function isGUID(annotations?: Annotations.Filter) {
|
|
|
7076
7077
|
id: "effect/schema/isGUID",
|
|
7077
7078
|
payload: null
|
|
7078
7079
|
},
|
|
7079
|
-
toJsonSchema: () => ({ pattern: GUID_REGEXP.source }),
|
|
7080
7080
|
toCode: () => ({ runtime: "Schema.isGUID()" }),
|
|
7081
7081
|
...annotations
|
|
7082
7082
|
}
|
|
7083
7083
|
)
|
|
7084
7084
|
}
|
|
7085
|
+
|
|
7086
|
+
const ULID_REGEXP = /^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/u
|
|
7085
7087
|
/**
|
|
7086
7088
|
* Validates that a string is a valid ULID (Universally Unique Lexicographically
|
|
7087
7089
|
* Sortable Identifier).
|
|
7088
7090
|
*
|
|
7089
7091
|
* **Details**
|
|
7090
7092
|
*
|
|
7093
|
+
* Accepts uppercase and lowercase characters. The first character must be
|
|
7094
|
+
* between `0` and `7` so the value fits in 128 bits.
|
|
7095
|
+
*
|
|
7091
7096
|
* JSON Schema:
|
|
7092
7097
|
*
|
|
7093
7098
|
* This check corresponds to a `pattern` constraint in JSON Schema that matches
|
|
@@ -7103,15 +7108,13 @@ export function isGUID(annotations?: Annotations.Filter) {
|
|
|
7103
7108
|
* @since 4.0.0
|
|
7104
7109
|
*/
|
|
7105
7110
|
export function isULID(annotations?: Annotations.Filter) {
|
|
7106
|
-
const regExp = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/
|
|
7107
7111
|
return isPattern(
|
|
7108
|
-
|
|
7112
|
+
ULID_REGEXP,
|
|
7109
7113
|
{
|
|
7110
7114
|
representation: {
|
|
7111
7115
|
id: "effect/schema/isULID",
|
|
7112
7116
|
payload: null
|
|
7113
7117
|
},
|
|
7114
|
-
toJsonSchema: () => ({ pattern: regExp.source }),
|
|
7115
7118
|
toCode: () => ({ runtime: "Schema.isULID()" }),
|
|
7116
7119
|
...annotations
|
|
7117
7120
|
}
|
|
@@ -7137,16 +7140,21 @@ export function isULID(annotations?: Annotations.Filter) {
|
|
|
7137
7140
|
* @since 4.0.0
|
|
7138
7141
|
*/
|
|
7139
7142
|
export function isBase64(annotations?: Annotations.Filter) {
|
|
7140
|
-
const
|
|
7141
|
-
|
|
7142
|
-
|
|
7143
|
+
const pattern = "^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$"
|
|
7144
|
+
// `pattern` overflows the V8 stack on large inputs
|
|
7145
|
+
const regExp = /^[0-9a-zA-Z+/]*={0,2}$/
|
|
7146
|
+
return makeFilter(
|
|
7147
|
+
(s: string) => s.length % 4 === 0 && regExp.test(s),
|
|
7143
7148
|
{
|
|
7144
7149
|
expected: "a base64 encoded string",
|
|
7145
7150
|
representation: {
|
|
7146
7151
|
id: "effect/schema/isBase64",
|
|
7147
7152
|
payload: null
|
|
7148
7153
|
},
|
|
7149
|
-
toJsonSchema: () => ({ pattern
|
|
7154
|
+
toJsonSchema: () => ({ pattern }),
|
|
7155
|
+
arbitraryConstraint: {
|
|
7156
|
+
patterns: [{ source: pattern, flags: "" }]
|
|
7157
|
+
},
|
|
7150
7158
|
toCode: () => ({ runtime: "Schema.isBase64()" }),
|
|
7151
7159
|
...annotations
|
|
7152
7160
|
}
|
|
@@ -7173,16 +7181,21 @@ export function isBase64(annotations?: Annotations.Filter) {
|
|
|
7173
7181
|
* @since 4.0.0
|
|
7174
7182
|
*/
|
|
7175
7183
|
export function isBase64Url(annotations?: Annotations.Filter) {
|
|
7176
|
-
const
|
|
7177
|
-
|
|
7178
|
-
|
|
7184
|
+
const pattern = "^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$"
|
|
7185
|
+
// `pattern` overflows the V8 stack on large inputs
|
|
7186
|
+
const regExp = /^[0-9a-zA-Z-_]*={0,2}$/
|
|
7187
|
+
return makeFilter(
|
|
7188
|
+
(s: string) => regExp.test(s) && (s.endsWith("=") ? s.length % 4 === 0 : s.length % 4 !== 1),
|
|
7179
7189
|
{
|
|
7180
7190
|
expected: "a base64url encoded string",
|
|
7181
7191
|
representation: {
|
|
7182
7192
|
id: "effect/schema/isBase64Url",
|
|
7183
7193
|
payload: null
|
|
7184
7194
|
},
|
|
7185
|
-
toJsonSchema: () => ({ pattern
|
|
7195
|
+
toJsonSchema: () => ({ pattern }),
|
|
7196
|
+
arbitraryConstraint: {
|
|
7197
|
+
patterns: [{ source: pattern, flags: "" }]
|
|
7198
|
+
},
|
|
7186
7199
|
toCode: () => ({ runtime: "Schema.isBase64Url()" }),
|
|
7187
7200
|
...annotations
|
|
7188
7201
|
}
|
|
@@ -7386,16 +7399,18 @@ const CAPITALIZED_PATTERN = "^(?:[^a-z][\\s\\S]*)?$"
|
|
|
7386
7399
|
* @since 4.0.0
|
|
7387
7400
|
*/
|
|
7388
7401
|
export function isCapitalized(annotations?: Annotations.Filter) {
|
|
7389
|
-
const regExp = new globalThis.RegExp(CAPITALIZED_PATTERN)
|
|
7390
7402
|
return makeFilter(
|
|
7391
|
-
(s: string) =>
|
|
7403
|
+
(s: string) => {
|
|
7404
|
+
const [first = ""] = s
|
|
7405
|
+
return first.toUpperCase() === first
|
|
7406
|
+
},
|
|
7392
7407
|
{
|
|
7393
7408
|
expected: "a string with the first character in uppercase",
|
|
7394
7409
|
representation: {
|
|
7395
7410
|
id: "effect/schema/isCapitalized",
|
|
7396
7411
|
payload: null
|
|
7397
7412
|
},
|
|
7398
|
-
toJsonSchema: () => [{ pattern:
|
|
7413
|
+
toJsonSchema: () => [{ pattern: CAPITALIZED_PATTERN }, true],
|
|
7399
7414
|
toCode: () => ({ runtime: "Schema.isCapitalized()" }),
|
|
7400
7415
|
arbitraryConstraint: {
|
|
7401
7416
|
patterns: [{ source: CAPITALIZED_PATTERN, flags: "" }]
|
|
@@ -7420,16 +7435,18 @@ const UNCAPITALIZED_PATTERN = "^(?:[^A-Z][\\s\\S]*)?$"
|
|
|
7420
7435
|
* @since 4.0.0
|
|
7421
7436
|
*/
|
|
7422
7437
|
export function isUncapitalized(annotations?: Annotations.Filter) {
|
|
7423
|
-
const regExp = new globalThis.RegExp(UNCAPITALIZED_PATTERN)
|
|
7424
7438
|
return makeFilter(
|
|
7425
|
-
(s: string) =>
|
|
7439
|
+
(s: string) => {
|
|
7440
|
+
const [first = ""] = s
|
|
7441
|
+
return first.toLowerCase() === first
|
|
7442
|
+
},
|
|
7426
7443
|
{
|
|
7427
7444
|
expected: "a string with the first character in lowercase",
|
|
7428
7445
|
representation: {
|
|
7429
7446
|
id: "effect/schema/isUncapitalized",
|
|
7430
7447
|
payload: null
|
|
7431
7448
|
},
|
|
7432
|
-
toJsonSchema: () => [{ pattern:
|
|
7449
|
+
toJsonSchema: () => [{ pattern: UNCAPITALIZED_PATTERN }, true],
|
|
7433
7450
|
toCode: () => ({ runtime: "Schema.isUncapitalized()" }),
|
|
7434
7451
|
arbitraryConstraint: {
|
|
7435
7452
|
patterns: [{ source: UNCAPITALIZED_PATTERN, flags: "" }]
|
|
@@ -8058,7 +8075,7 @@ function encodeDatePayload(date: globalThis.Date): string {
|
|
|
8058
8075
|
}
|
|
8059
8076
|
|
|
8060
8077
|
function formatDateRuntime(date: globalThis.Date): string {
|
|
8061
|
-
return `new Date(${format(date.getTime())})`
|
|
8078
|
+
return `new globalThis.Date(${format(date.getTime())})`
|
|
8062
8079
|
}
|
|
8063
8080
|
/**
|
|
8064
8081
|
* Validates that a Date is greater than the specified value (exclusive).
|
|
@@ -9793,8 +9810,7 @@ export interface fromJsonString<S extends Constraint> extends decodeTo<S, String
|
|
|
9793
9810
|
}
|
|
9794
9811
|
|
|
9795
9812
|
const JsonString = String.annotate({
|
|
9796
|
-
expected: "a string that will be decoded as JSON"
|
|
9797
|
-
contentMediaType: "application/json"
|
|
9813
|
+
expected: "a string that will be decoded as JSON"
|
|
9798
9814
|
})
|
|
9799
9815
|
/**
|
|
9800
9816
|
* Returns a schema that decodes a JSON string and then decodes the parsed value
|
|
@@ -9939,7 +9955,9 @@ export interface FormData extends instanceOf<globalThis.FormData> {
|
|
|
9939
9955
|
* @category schemas
|
|
9940
9956
|
* @since 4.0.0
|
|
9941
9957
|
*/
|
|
9942
|
-
|
|
9958
|
+
// Read the global inside the guard: resolving globalThis.FormData at module
|
|
9959
|
+
// scope loads undici on Node.
|
|
9960
|
+
export const FormData: FormData = declare((u): u is globalThis.FormData => u instanceof globalThis.FormData, {
|
|
9943
9961
|
representation: {
|
|
9944
9962
|
id: "effect/schema/FormData",
|
|
9945
9963
|
payload: null
|
|
@@ -11277,7 +11295,7 @@ export function Cause<E extends Constraint, D extends Constraint>(error: E, defe
|
|
|
11277
11295
|
}
|
|
11278
11296
|
return Effect.mapBothEager(SchemaParser.decodeUnknownEffect(failures)(input.reasons, options), {
|
|
11279
11297
|
onSuccess: Cause_.fromReasons,
|
|
11280
|
-
onFailure: (issue) => SchemaIssue.makeCompositeAtKey(ast, "
|
|
11298
|
+
onFailure: (issue) => SchemaIssue.makeCompositeAtKey(ast, "reasons", issue, input, options)
|
|
11281
11299
|
})
|
|
11282
11300
|
}
|
|
11283
11301
|
},
|
|
@@ -11680,6 +11698,65 @@ export const DateTimeUtcFromString: DateTimeUtcFromString = String.annotate({
|
|
|
11680
11698
|
dateTimeUtcFromString
|
|
11681
11699
|
)
|
|
11682
11700
|
)
|
|
11701
|
+
const dateTimeUtcFromHttpDate: SchemaTransformation.Transformation<DateTime.Utc, string> = SchemaTransformation
|
|
11702
|
+
.transformEffect<DateTime.Utc, string>({
|
|
11703
|
+
decode: (s, options) =>
|
|
11704
|
+
Result_.match(Headers_.parseHttpDate(s), {
|
|
11705
|
+
onFailure: () =>
|
|
11706
|
+
Effect.fail(
|
|
11707
|
+
new SchemaIssue.InvalidValue(
|
|
11708
|
+
{ expected: "an HTTP date (RFC 9110 §5.6.7)" },
|
|
11709
|
+
s,
|
|
11710
|
+
options
|
|
11711
|
+
)
|
|
11712
|
+
),
|
|
11713
|
+
onSuccess: Effect.succeed
|
|
11714
|
+
}),
|
|
11715
|
+
encode: (utc) => Effect.succeed(Headers_.formatHttpDate(utc))
|
|
11716
|
+
})
|
|
11717
|
+
/**
|
|
11718
|
+
* Type-level representation of {@link DateTimeUtcFromHttpDate}.
|
|
11719
|
+
*
|
|
11720
|
+
* @stability unstable
|
|
11721
|
+
* @category models
|
|
11722
|
+
* @since 4.0.0
|
|
11723
|
+
*/
|
|
11724
|
+
export interface DateTimeUtcFromHttpDate extends decodeTo<DateTimeUtc, String> {
|
|
11725
|
+
readonly "Rebuild": DateTimeUtcFromHttpDate
|
|
11726
|
+
}
|
|
11727
|
+
/**
|
|
11728
|
+
* Schema for HTTP date header values, such as `Date`, `Last-Modified` and
|
|
11729
|
+
* `Expires`, decoded as `DateTime.Utc`.
|
|
11730
|
+
*
|
|
11731
|
+
* **When to use**
|
|
11732
|
+
*
|
|
11733
|
+
* Use with HTTP API header schemas that carry dates. Decoding accepts the
|
|
11734
|
+
* three formats of RFC 9110 §5.6.7 and reads them as UTC; encoding emits the
|
|
11735
|
+
* preferred IMF-fixdate form (`Sun, 06 Nov 1994 08:49:37 GMT`).
|
|
11736
|
+
*
|
|
11737
|
+
* **Example** (Decoding an HTTP date)
|
|
11738
|
+
*
|
|
11739
|
+
* ```ts
|
|
11740
|
+
* import { DateTime, Schema } from "effect"
|
|
11741
|
+
*
|
|
11742
|
+
* const date = Schema.decodeSync(Schema.DateTimeUtcFromHttpDate)("Sun, 06 Nov 1994 08:49:37 GMT")
|
|
11743
|
+
* const millis = DateTime.toEpochMillis(date) // => 784111777000
|
|
11744
|
+
* ```
|
|
11745
|
+
*
|
|
11746
|
+
* @see {@link DateTimeUtcFromString} for ISO 8601 strings
|
|
11747
|
+
*
|
|
11748
|
+
* @stability unstable
|
|
11749
|
+
* @category schemas
|
|
11750
|
+
* @since 4.0.0
|
|
11751
|
+
*/
|
|
11752
|
+
export const DateTimeUtcFromHttpDate: DateTimeUtcFromHttpDate = String.annotate({
|
|
11753
|
+
expected: "an HTTP date string"
|
|
11754
|
+
}).pipe(
|
|
11755
|
+
decodeTo(
|
|
11756
|
+
DateTimeUtc,
|
|
11757
|
+
dateTimeUtcFromHttpDate
|
|
11758
|
+
)
|
|
11759
|
+
)
|
|
11683
11760
|
/**
|
|
11684
11761
|
* Type-level representation of {@link DateTimeUtcFromMillis}.
|
|
11685
11762
|
*
|
|
@@ -15190,6 +15267,110 @@ export const Headers: Headers = declare(
|
|
|
15190
15267
|
}
|
|
15191
15268
|
)
|
|
15192
15269
|
|
|
15270
|
+
/**
|
|
15271
|
+
* Type-level representation of {@link RetryAfter}.
|
|
15272
|
+
*
|
|
15273
|
+
* @stability unstable
|
|
15274
|
+
* @category models
|
|
15275
|
+
* @since 4.0.0
|
|
15276
|
+
*/
|
|
15277
|
+
export interface RetryAfter extends
|
|
15278
|
+
Union<
|
|
15279
|
+
readonly [
|
|
15280
|
+
Struct<{ readonly _tag: tag<"Duration">; readonly duration: Duration }>,
|
|
15281
|
+
Struct<{ readonly _tag: tag<"DateTime">; readonly dateTime: DateTimeUtc }>
|
|
15282
|
+
]
|
|
15283
|
+
>
|
|
15284
|
+
{
|
|
15285
|
+
readonly "Rebuild": RetryAfter
|
|
15286
|
+
}
|
|
15287
|
+
|
|
15288
|
+
/**
|
|
15289
|
+
* Schema for parsed `Retry-After` header values.
|
|
15290
|
+
*
|
|
15291
|
+
* **Details**
|
|
15292
|
+
*
|
|
15293
|
+
* Matches `Headers.RetryAfter`: either `{ _tag: "Duration", duration }` or
|
|
15294
|
+
* `{ _tag: "DateTime", dateTime }`. The duration must be finite and
|
|
15295
|
+
* non-negative. Use {@link RetryAfterFromString} for the header string form.
|
|
15296
|
+
*
|
|
15297
|
+
* @stability unstable
|
|
15298
|
+
* @category schemas
|
|
15299
|
+
* @since 4.0.0
|
|
15300
|
+
*/
|
|
15301
|
+
export const RetryAfter: RetryAfter = Union([
|
|
15302
|
+
Struct({
|
|
15303
|
+
_tag: tag("Duration"),
|
|
15304
|
+
duration: Duration.check(
|
|
15305
|
+
makeFilter((d) => Duration_.isFinite(d) && !Duration_.isNegative(d), {
|
|
15306
|
+
expected: "a finite, non-negative duration"
|
|
15307
|
+
})
|
|
15308
|
+
)
|
|
15309
|
+
}),
|
|
15310
|
+
Struct({ _tag: tag("DateTime"), dateTime: DateTimeUtc })
|
|
15311
|
+
])
|
|
15312
|
+
|
|
15313
|
+
const retryAfterFromString: SchemaTransformation.Transformation<Headers_.RetryAfter, string> = SchemaTransformation
|
|
15314
|
+
.transformEffect<Headers_.RetryAfter, string>({
|
|
15315
|
+
decode: (s, options) =>
|
|
15316
|
+
Result_.match(Headers_.parseRetryAfter(s), {
|
|
15317
|
+
onFailure: () =>
|
|
15318
|
+
Effect.fail(
|
|
15319
|
+
new SchemaIssue.InvalidValue(
|
|
15320
|
+
{ expected: "whole non-negative seconds or an HTTP date (RFC 9110 §10.2.3)" },
|
|
15321
|
+
s,
|
|
15322
|
+
options
|
|
15323
|
+
)
|
|
15324
|
+
),
|
|
15325
|
+
onSuccess: Effect.succeed
|
|
15326
|
+
}),
|
|
15327
|
+
encode: (self) => Effect.succeed(Headers_.formatRetryAfter(self))
|
|
15328
|
+
})
|
|
15329
|
+
|
|
15330
|
+
/**
|
|
15331
|
+
* Type-level representation of {@link RetryAfterFromString}.
|
|
15332
|
+
*
|
|
15333
|
+
* @stability unstable
|
|
15334
|
+
* @category models
|
|
15335
|
+
* @since 4.0.0
|
|
15336
|
+
*/
|
|
15337
|
+
export interface RetryAfterFromString extends decodeTo<RetryAfter, String> {
|
|
15338
|
+
readonly "Rebuild": RetryAfterFromString
|
|
15339
|
+
}
|
|
15340
|
+
|
|
15341
|
+
/**
|
|
15342
|
+
* Schema for `Retry-After` header values, decoded with
|
|
15343
|
+
* `Headers.parseRetryAfter`.
|
|
15344
|
+
*
|
|
15345
|
+
* **When to use**
|
|
15346
|
+
*
|
|
15347
|
+
* Use with HTTP API header schemas that carry `Retry-After`. Decoding accepts
|
|
15348
|
+
* whole non-negative seconds or an HTTP date and rejects anything else;
|
|
15349
|
+
* encoding emits the delay as whole seconds, rounding a fractional second up,
|
|
15350
|
+
* or the date as an IMF-fixdate.
|
|
15351
|
+
*
|
|
15352
|
+
* **Example** (Decoding a Retry-After header)
|
|
15353
|
+
*
|
|
15354
|
+
* ```ts
|
|
15355
|
+
* import { Schema } from "effect"
|
|
15356
|
+
*
|
|
15357
|
+
* const value = Schema.decodeSync(Schema.RetryAfterFromString)("120")
|
|
15358
|
+
* // => { _tag: "Duration", duration: Duration.seconds(120) }
|
|
15359
|
+
* ```
|
|
15360
|
+
*
|
|
15361
|
+
* @stability unstable
|
|
15362
|
+
* @category schemas
|
|
15363
|
+
* @since 4.0.0
|
|
15364
|
+
*/
|
|
15365
|
+
export const RetryAfterFromString: RetryAfterFromString = String.annotate({
|
|
15366
|
+
expected: "a Retry-After header value"
|
|
15367
|
+
}).pipe(
|
|
15368
|
+
decodeTo(
|
|
15369
|
+
RetryAfter,
|
|
15370
|
+
retryAfterFromString
|
|
15371
|
+
)
|
|
15372
|
+
)
|
|
15373
|
+
|
|
15193
15374
|
/**
|
|
15194
15375
|
* Type-level representation of {@link UrlParams}.
|
|
15195
15376
|
*
|
|
@@ -15743,6 +15924,198 @@ export function Result<A extends Constraint, E extends Constraint>(
|
|
|
15743
15924
|
return make(schema.ast, { success, failure })
|
|
15744
15925
|
}
|
|
15745
15926
|
|
|
15927
|
+
// -----------------------------------------------------------------------------
|
|
15928
|
+
// SemVer schemas
|
|
15929
|
+
// -----------------------------------------------------------------------------
|
|
15930
|
+
|
|
15931
|
+
const semVerStringTransformation = <A>(
|
|
15932
|
+
parse: (input: string) => Result_.Result<A, SemVer_.SemVerError>,
|
|
15933
|
+
format: (value: A) => string
|
|
15934
|
+
): SchemaTransformation.Transformation<A, string> =>
|
|
15935
|
+
SchemaTransformation.transformEffect({
|
|
15936
|
+
decode: (input, options) =>
|
|
15937
|
+
Effect.mapErrorEager(
|
|
15938
|
+
Effect.fromResult(parse(input)),
|
|
15939
|
+
(error) => new SchemaIssue.InvalidValue({ message: error.message }, input, options)
|
|
15940
|
+
),
|
|
15941
|
+
encode: (value) => Effect.succeed(format(value))
|
|
15942
|
+
})
|
|
15943
|
+
// Alphanumeric identifiers contain at least one non-digit.
|
|
15944
|
+
const SemVerCoreArbitrary = Struct({
|
|
15945
|
+
major: Natural,
|
|
15946
|
+
minor: Natural,
|
|
15947
|
+
patch: Natural,
|
|
15948
|
+
prerelease: ArraySchema(Union([Natural, String.check(isPattern(/^[0-9]*[A-Za-z-][0-9A-Za-z-]*$/))]))
|
|
15949
|
+
})
|
|
15950
|
+
const semVerFromString = semVerStringTransformation(SemVer_.parse, SemVer_.format)
|
|
15951
|
+
const SemVerString = String.annotate({ expected: "a string that will be decoded as a SemVer" })
|
|
15952
|
+
/**
|
|
15953
|
+
* Type-level representation of {@link SemVer}.
|
|
15954
|
+
*
|
|
15955
|
+
* @stability unstable
|
|
15956
|
+
* @category models
|
|
15957
|
+
* @since 4.0.6
|
|
15958
|
+
*/
|
|
15959
|
+
export interface SemVer extends declare<SemVer_.SemVer> {
|
|
15960
|
+
readonly "Rebuild": SemVer
|
|
15961
|
+
}
|
|
15962
|
+
/**
|
|
15963
|
+
* Schema for `SemVer` values.
|
|
15964
|
+
*
|
|
15965
|
+
* **Details**
|
|
15966
|
+
*
|
|
15967
|
+
* The JSON and StringTree codecs encode a version as its canonical string,
|
|
15968
|
+
* including build metadata.
|
|
15969
|
+
*
|
|
15970
|
+
* @see {@link SemVerFromString} for parsing version strings
|
|
15971
|
+
* @stability unstable
|
|
15972
|
+
* @category schemas
|
|
15973
|
+
* @since 4.0.6
|
|
15974
|
+
*/
|
|
15975
|
+
export const SemVer: SemVer = declare(
|
|
15976
|
+
SemVer_.isSemVer,
|
|
15977
|
+
{
|
|
15978
|
+
representation: {
|
|
15979
|
+
id: "effect/schema/SemVer",
|
|
15980
|
+
payload: null
|
|
15981
|
+
},
|
|
15982
|
+
toCode: () => ({
|
|
15983
|
+
runtime: `Schema.SemVer`,
|
|
15984
|
+
Type: `SemVer.SemVer`,
|
|
15985
|
+
importDeclarations: [`import * as SemVer from "effect/SemVer"`]
|
|
15986
|
+
}),
|
|
15987
|
+
expected: "SemVer",
|
|
15988
|
+
toCodecArbitrary: () =>
|
|
15989
|
+
linkDecoding<SemVer_.SemVer>()(
|
|
15990
|
+
Struct({
|
|
15991
|
+
...SemVerCoreArbitrary.fields,
|
|
15992
|
+
build: ArraySchema(String.check(isPattern(/^[0-9A-Za-z-]+$/)))
|
|
15993
|
+
}),
|
|
15994
|
+
SchemaGetter.transform(SemVer_.make)
|
|
15995
|
+
),
|
|
15996
|
+
toCodecJson: () =>
|
|
15997
|
+
link<SemVer_.SemVer>()(
|
|
15998
|
+
SemVerString,
|
|
15999
|
+
semVerFromString
|
|
16000
|
+
),
|
|
16001
|
+
toFormatter: () => SemVer_.format
|
|
16002
|
+
}
|
|
16003
|
+
)
|
|
16004
|
+
/**
|
|
16005
|
+
* Type-level representation of {@link SemVerFromString}.
|
|
16006
|
+
*
|
|
16007
|
+
* @stability unstable
|
|
16008
|
+
* @category models
|
|
16009
|
+
* @since 4.0.6
|
|
16010
|
+
*/
|
|
16011
|
+
export interface SemVerFromString extends decodeTo<SemVer, String> {
|
|
16012
|
+
readonly "Rebuild": SemVerFromString
|
|
16013
|
+
}
|
|
16014
|
+
/**
|
|
16015
|
+
* Schema that parses a Semantic Versioning 2.0.0 string into a `SemVer`.
|
|
16016
|
+
*
|
|
16017
|
+
* **Details**
|
|
16018
|
+
*
|
|
16019
|
+
* Decodes with `SemVer.parse`, rejecting a `v` prefix, surrounding whitespace,
|
|
16020
|
+
* partial versions, and leading zeros. Encodes with `SemVer.format`, including
|
|
16021
|
+
* build metadata.
|
|
16022
|
+
*
|
|
16023
|
+
* @see {@link SemVer} for validating values that are already SemVer values
|
|
16024
|
+
* @stability unstable
|
|
16025
|
+
* @category schemas
|
|
16026
|
+
* @since 4.0.6
|
|
16027
|
+
*/
|
|
16028
|
+
export const SemVerFromString: SemVerFromString = SemVerString.pipe(
|
|
16029
|
+
decodeTo(SemVer, semVerFromString)
|
|
16030
|
+
)
|
|
16031
|
+
const semVerRangeFromString = semVerStringTransformation(SemVerRange_.parse, SemVerRange_.format)
|
|
16032
|
+
const SemVerRangeString = String.annotate({ expected: "a string that will be decoded as a SemVer range" })
|
|
16033
|
+
/**
|
|
16034
|
+
* Type-level representation of {@link SemVerRange}.
|
|
16035
|
+
*
|
|
16036
|
+
* @stability unstable
|
|
16037
|
+
* @category models
|
|
16038
|
+
* @since 4.0.6
|
|
16039
|
+
*/
|
|
16040
|
+
export interface SemVerRange extends declare<SemVerRange_.SemVerRange> {
|
|
16041
|
+
readonly "Rebuild": SemVerRange
|
|
16042
|
+
}
|
|
16043
|
+
/**
|
|
16044
|
+
* Schema for `SemVerRange` values.
|
|
16045
|
+
*
|
|
16046
|
+
* **Details**
|
|
16047
|
+
*
|
|
16048
|
+
* The JSON and StringTree codecs encode a range with `SemVerRange.format`.
|
|
16049
|
+
*
|
|
16050
|
+
* @see {@link SemVerRangeFromString} for parsing range strings
|
|
16051
|
+
* @stability unstable
|
|
16052
|
+
* @category schemas
|
|
16053
|
+
* @since 4.0.6
|
|
16054
|
+
*/
|
|
16055
|
+
export const SemVerRange: SemVerRange = declare(
|
|
16056
|
+
SemVerRange_.isSemVerRange,
|
|
16057
|
+
{
|
|
16058
|
+
representation: {
|
|
16059
|
+
id: "effect/schema/SemVerRange",
|
|
16060
|
+
payload: null
|
|
16061
|
+
},
|
|
16062
|
+
toCode: () => ({
|
|
16063
|
+
runtime: `Schema.SemVerRange`,
|
|
16064
|
+
Type: `SemVerRange.SemVerRange`,
|
|
16065
|
+
importDeclarations: [`import * as SemVerRange from "effect/SemVerRange"`]
|
|
16066
|
+
}),
|
|
16067
|
+
expected: "SemVerRange",
|
|
16068
|
+
toCodecArbitrary: () =>
|
|
16069
|
+
linkDecoding<SemVerRange_.SemVerRange>()(
|
|
16070
|
+
ArraySchema(
|
|
16071
|
+
ArraySchema(Struct({
|
|
16072
|
+
operator: Literals(["", "=", "<", "<=", ">", ">=", "~", "^"]),
|
|
16073
|
+
version: SemVerCoreArbitrary
|
|
16074
|
+
})).check(isMinLength(1))
|
|
16075
|
+
),
|
|
16076
|
+
SchemaGetter.transform((sets) =>
|
|
16077
|
+
SemVerRange_.parseUnsafe(
|
|
16078
|
+
sets.map((set) =>
|
|
16079
|
+
set.map(({ operator, version }) => `${operator}${SemVer_.format(SemVer_.make(version))}`).join(" ")
|
|
16080
|
+
).join(" || ")
|
|
16081
|
+
)
|
|
16082
|
+
)
|
|
16083
|
+
),
|
|
16084
|
+
toCodecJson: () =>
|
|
16085
|
+
link<SemVerRange_.SemVerRange>()(
|
|
16086
|
+
SemVerRangeString,
|
|
16087
|
+
semVerRangeFromString
|
|
16088
|
+
),
|
|
16089
|
+
toFormatter: () => SemVerRange_.format
|
|
16090
|
+
}
|
|
16091
|
+
)
|
|
16092
|
+
/**
|
|
16093
|
+
* Type-level representation of {@link SemVerRangeFromString}.
|
|
16094
|
+
*
|
|
16095
|
+
* @stability unstable
|
|
16096
|
+
* @category models
|
|
16097
|
+
* @since 4.0.6
|
|
16098
|
+
*/
|
|
16099
|
+
export interface SemVerRangeFromString extends decodeTo<SemVerRange, String> {
|
|
16100
|
+
readonly "Rebuild": SemVerRangeFromString
|
|
16101
|
+
}
|
|
16102
|
+
/**
|
|
16103
|
+
* Schema that parses an npm-style version range string into a `SemVerRange`.
|
|
16104
|
+
*
|
|
16105
|
+
* **Details**
|
|
16106
|
+
*
|
|
16107
|
+
* Decodes with `SemVerRange.parse` and encodes with `SemVerRange.format`,
|
|
16108
|
+
* preserving parsed operators and normalizing wildcard spellings.
|
|
16109
|
+
*
|
|
16110
|
+
* @see {@link SemVerRange} for validating values that are already ranges
|
|
16111
|
+
* @stability unstable
|
|
16112
|
+
* @category schemas
|
|
16113
|
+
* @since 4.0.6
|
|
16114
|
+
*/
|
|
16115
|
+
export const SemVerRangeFromString: SemVerRangeFromString = SemVerRangeString.pipe(
|
|
16116
|
+
decodeTo(SemVerRange, semVerRangeFromString)
|
|
16117
|
+
)
|
|
16118
|
+
|
|
15746
16119
|
/**
|
|
15747
16120
|
* Type-level representation returned by {@link Class}.
|
|
15748
16121
|
*
|
|
@@ -15905,7 +16278,12 @@ function makeClass<
|
|
|
15905
16278
|
return getClassSchema(this).rebuild(ast)
|
|
15906
16279
|
}
|
|
15907
16280
|
static make(input: S["~type.make.in"], options?: MakeOptions): Self {
|
|
15908
|
-
return SchemaParser.
|
|
16281
|
+
return SchemaParser.makeClassSync(
|
|
16282
|
+
SchemaAST.toType(getClassSchema(this).ast),
|
|
16283
|
+
input ?? {},
|
|
16284
|
+
options,
|
|
16285
|
+
(fields) => makeClassTrusted(this, fields)
|
|
16286
|
+
)
|
|
15909
16287
|
}
|
|
15910
16288
|
static makeOption(input: S["~type.make.in"], options?: MakeOptions): Option_.Option<Self> {
|
|
15911
16289
|
return SchemaParser.makeOption(getClassSchema(this) as any)(input ?? {}, options) as any
|
|
@@ -15958,16 +16336,19 @@ function makeClass<
|
|
|
15958
16336
|
return out
|
|
15959
16337
|
}
|
|
15960
16338
|
|
|
16339
|
+
/**
|
|
16340
|
+
* Constructs a class instance from fields that were already validated against
|
|
16341
|
+
* the class struct, without running the constructor's schema pass.
|
|
16342
|
+
*
|
|
16343
|
+
* @internal
|
|
16344
|
+
*/
|
|
16345
|
+
export function makeClassTrusted<Self>(self: new(input: any, options?: MakeOptions) => Self, fields: object): Self {
|
|
16346
|
+
return new self(fields, { "~payload": { token: payloadToken, value: fields } })
|
|
16347
|
+
}
|
|
16348
|
+
|
|
15961
16349
|
function getClassTransformation(self: new(...args: ReadonlyArray<any>) => any) {
|
|
15962
16350
|
return new SchemaTransformation.Transformation<any, any, never, never>(
|
|
15963
|
-
SchemaGetter.transform((input) =>
|
|
15964
|
-
new self(input, {
|
|
15965
|
-
"~payload": {
|
|
15966
|
-
token: payloadToken,
|
|
15967
|
-
value: input
|
|
15968
|
-
}
|
|
15969
|
-
})
|
|
15970
|
-
),
|
|
16351
|
+
SchemaGetter.transform((input) => makeClassTrusted(self, input)),
|
|
15971
16352
|
SchemaGetter.passthrough()
|
|
15972
16353
|
)
|
|
15973
16354
|
}
|
|
@@ -16051,7 +16432,13 @@ function isStruct(schema: Struct.Fields | Struct<Struct.Fields>): schema is Stru
|
|
|
16051
16432
|
*
|
|
16052
16433
|
* **Gotchas**
|
|
16053
16434
|
*
|
|
16054
|
-
*
|
|
16435
|
+
* To subclass a `Schema.Class`, use `Base.extend<Self>(...)`, even when only
|
|
16436
|
+
* adding methods or getters. Pass `{}` for the fields when none are added.
|
|
16437
|
+
* Plain `class Child extends Base` is unsupported.
|
|
16438
|
+
*
|
|
16439
|
+
* Passing `disableChecks: true` skips filters and checks, not parsing of types
|
|
16440
|
+
* and structure. Wrong types and shapes are still rejected, and constructor
|
|
16441
|
+
* defaults still apply.
|
|
16055
16442
|
*
|
|
16056
16443
|
* **Example** (Defining a basic class)
|
|
16057
16444
|
*
|
|
@@ -16122,7 +16509,13 @@ export const Class: {
|
|
|
16122
16509
|
*
|
|
16123
16510
|
* **Gotchas**
|
|
16124
16511
|
*
|
|
16125
|
-
*
|
|
16512
|
+
* To subclass a `Schema.Class`, use `Base.extend<Self>(...)`, even when only
|
|
16513
|
+
* adding methods or getters. Pass `{}` for the fields when none are added.
|
|
16514
|
+
* Plain `class Child extends Base` is unsupported.
|
|
16515
|
+
*
|
|
16516
|
+
* Passing `disableChecks: true` skips filters and checks, not parsing of types
|
|
16517
|
+
* and structure. Wrong types and shapes are still rejected, and constructor
|
|
16518
|
+
* defaults still apply.
|
|
16126
16519
|
*
|
|
16127
16520
|
* **Example** (Defining a basic class)
|
|
16128
16521
|
*
|
|
@@ -16166,151 +16559,14 @@ export const Class: {
|
|
|
16166
16559
|
* @since 3.10.0
|
|
16167
16560
|
*/
|
|
16168
16561
|
<Self = never, Brand = {}>(identifier: string): {
|
|
16169
|
-
/**
|
|
16170
|
-
* Creates a schema-backed class whose constructor validates input against a
|
|
16171
|
-
* {@link Struct} schema. Construction throws an `Error` with a
|
|
16172
|
-
* `SchemaIssue.Issue` in its `cause` on invalid input.
|
|
16173
|
-
*
|
|
16174
|
-
* **When to use**
|
|
16175
|
-
*
|
|
16176
|
-
* Use when you need a schema-backed data class with validated construction,
|
|
16177
|
-
* schema-derived decoding/encoding, and class-style methods or inheritance.
|
|
16178
|
-
*
|
|
16179
|
-
* **Details**
|
|
16180
|
-
*
|
|
16181
|
-
* Pass the desired class type as the first type parameter. The second optional
|
|
16182
|
-
* type parameter can be used to add nominal brands.
|
|
16183
|
-
*
|
|
16184
|
-
* The `identifier` is the schema's stable runtime name. It is exposed on the
|
|
16185
|
-
* class, stored in the schema AST, and used to label diagnostics and generated
|
|
16186
|
-
* references as well as to format class instances.
|
|
16187
|
-
*
|
|
16188
|
-
* It also derives a runtime marker that recognizes instances across hot module
|
|
16189
|
-
* reloads, where `instanceof` can fail because the constructor has been
|
|
16190
|
-
* replaced. The identifier is explicit because the outer JavaScript class name
|
|
16191
|
-
* is not available while the `extends` expression is evaluated and may change
|
|
16192
|
-
* through renaming or minification.
|
|
16193
|
-
*
|
|
16194
|
-
* **Gotchas**
|
|
16195
|
-
*
|
|
16196
|
-
* Passing `disableChecks` in the options skips constructor validation.
|
|
16197
|
-
*
|
|
16198
|
-
* **Example** (Defining a basic class)
|
|
16199
|
-
*
|
|
16200
|
-
* ```ts import.meta.vitest
|
|
16201
|
-
* import { Schema } from "effect"
|
|
16202
|
-
*
|
|
16203
|
-
* class Person extends Schema.Class<Person>("Person")({
|
|
16204
|
-
* name: Schema.String,
|
|
16205
|
-
* age: Schema.Number
|
|
16206
|
-
* }) {}
|
|
16207
|
-
*
|
|
16208
|
-
* const alice = new Person({ name: "Alice", age: 30 })
|
|
16209
|
-
* alice.name // => "Alice"
|
|
16210
|
-
* String(alice) // => "Person({\"name\":\"Alice\",\"age\":30})"
|
|
16211
|
-
* ```
|
|
16212
|
-
*
|
|
16213
|
-
* **Example** (Extending a class)
|
|
16214
|
-
*
|
|
16215
|
-
* ```ts import.meta.vitest
|
|
16216
|
-
* import { Schema } from "effect"
|
|
16217
|
-
*
|
|
16218
|
-
* class Animal extends Schema.Class<Animal>("Animal")({
|
|
16219
|
-
* name: Schema.String
|
|
16220
|
-
* }) {}
|
|
16221
|
-
*
|
|
16222
|
-
* class Dog extends Animal.extend<Dog>("Dog")({
|
|
16223
|
-
* breed: Schema.String
|
|
16224
|
-
* }) {}
|
|
16225
|
-
*
|
|
16226
|
-
* const dog = new Dog({ name: "Rex", breed: "Labrador" })
|
|
16227
|
-
* dog.name // => "Rex"
|
|
16228
|
-
* dog.breed // => "Labrador"
|
|
16229
|
-
* ```
|
|
16230
|
-
*
|
|
16231
|
-
* @see {@link TaggedClass} for adding a `_tag` literal field to the class schema
|
|
16232
|
-
* @see {@link Error} for defining schema-backed error classes
|
|
16233
|
-
* @see {@link TaggedError} for defining tagged schema-backed error classes
|
|
16234
|
-
*
|
|
16235
|
-
* @stability stable
|
|
16236
|
-
* @category constructors
|
|
16237
|
-
* @since 3.10.0
|
|
16238
|
-
*/
|
|
16239
16562
|
<const Fields extends Struct.Fields>(
|
|
16240
16563
|
fields: Fields,
|
|
16241
16564
|
annotations?: Annotations.Declaration<Self, readonly [Struct<Fields>]>
|
|
16242
16565
|
): [Self] extends [never] ? MissingSelfGeneric<"Schema.Class"> : Class<Self, Struct<Fields>, Brand>
|
|
16243
|
-
|
|
16244
|
-
|
|
16245
|
-
|
|
16246
|
-
|
|
16247
|
-
*
|
|
16248
|
-
* **When to use**
|
|
16249
|
-
*
|
|
16250
|
-
* Use when you need a schema-backed data class with validated construction,
|
|
16251
|
-
* schema-derived decoding/encoding, and class-style methods or inheritance.
|
|
16252
|
-
*
|
|
16253
|
-
* **Details**
|
|
16254
|
-
*
|
|
16255
|
-
* Pass the desired class type as the first type parameter. The second optional
|
|
16256
|
-
* type parameter can be used to add nominal brands.
|
|
16257
|
-
*
|
|
16258
|
-
* The `identifier` is the schema's stable runtime name. It is exposed on the
|
|
16259
|
-
* class, stored in the schema AST, and used to label diagnostics and generated
|
|
16260
|
-
* references as well as to format class instances.
|
|
16261
|
-
*
|
|
16262
|
-
* It also derives a runtime marker that recognizes instances across hot module
|
|
16263
|
-
* reloads, where `instanceof` can fail because the constructor has been
|
|
16264
|
-
* replaced. The identifier is explicit because the outer JavaScript class name
|
|
16265
|
-
* is not available while the `extends` expression is evaluated and may change
|
|
16266
|
-
* through renaming or minification.
|
|
16267
|
-
*
|
|
16268
|
-
* **Gotchas**
|
|
16269
|
-
*
|
|
16270
|
-
* Passing `disableChecks` in the options skips constructor validation.
|
|
16271
|
-
*
|
|
16272
|
-
* **Example** (Defining a basic class)
|
|
16273
|
-
*
|
|
16274
|
-
* ```ts import.meta.vitest
|
|
16275
|
-
* import { Schema } from "effect"
|
|
16276
|
-
*
|
|
16277
|
-
* class Person extends Schema.Class<Person>("Person")({
|
|
16278
|
-
* name: Schema.String,
|
|
16279
|
-
* age: Schema.Number
|
|
16280
|
-
* }) {}
|
|
16281
|
-
*
|
|
16282
|
-
* const alice = new Person({ name: "Alice", age: 30 })
|
|
16283
|
-
* alice.name // => "Alice"
|
|
16284
|
-
* String(alice) // => "Person({\"name\":\"Alice\",\"age\":30})"
|
|
16285
|
-
* ```
|
|
16286
|
-
*
|
|
16287
|
-
* **Example** (Extending a class)
|
|
16288
|
-
*
|
|
16289
|
-
* ```ts import.meta.vitest
|
|
16290
|
-
* import { Schema } from "effect"
|
|
16291
|
-
*
|
|
16292
|
-
* class Animal extends Schema.Class<Animal>("Animal")({
|
|
16293
|
-
* name: Schema.String
|
|
16294
|
-
* }) {}
|
|
16295
|
-
*
|
|
16296
|
-
* class Dog extends Animal.extend<Dog>("Dog")({
|
|
16297
|
-
* breed: Schema.String
|
|
16298
|
-
* }) {}
|
|
16299
|
-
*
|
|
16300
|
-
* const dog = new Dog({ name: "Rex", breed: "Labrador" })
|
|
16301
|
-
* dog.name // => "Rex"
|
|
16302
|
-
* dog.breed // => "Labrador"
|
|
16303
|
-
* ```
|
|
16304
|
-
*
|
|
16305
|
-
* @see {@link TaggedClass} for adding a `_tag` literal field to the class schema
|
|
16306
|
-
* @see {@link Error} for defining schema-backed error classes
|
|
16307
|
-
* @see {@link TaggedError} for defining tagged schema-backed error classes
|
|
16308
|
-
*
|
|
16309
|
-
* @stability stable
|
|
16310
|
-
* @category constructors
|
|
16311
|
-
* @since 3.10.0
|
|
16312
|
-
*/
|
|
16313
|
-
<S extends Struct<Struct.Fields>>(schema: S, annotations?: Annotations.Declaration<Self, readonly [S]>): [Self] extends [never] ? MissingSelfGeneric<"Schema.Class"> : Class<Self, S, Brand>
|
|
16566
|
+
<S extends Struct<Struct.Fields>>(
|
|
16567
|
+
schema: S,
|
|
16568
|
+
annotations?: Annotations.Declaration<Self, readonly [S]>
|
|
16569
|
+
): [Self] extends [never] ? MissingSelfGeneric<"Schema.Class"> : Class<Self, S, Brand>
|
|
16314
16570
|
}
|
|
16315
16571
|
} = <Self, Brand = {}>(identifier: string) =>
|
|
16316
16572
|
(
|
|
@@ -16394,73 +16650,11 @@ export const TaggedClass: {
|
|
|
16394
16650
|
* @since 3.10.0
|
|
16395
16651
|
*/
|
|
16396
16652
|
<Self = never, Brand = {}>(identifier?: string): {
|
|
16397
|
-
/**
|
|
16398
|
-
* Defines a schema-backed class with an automatically populated `_tag` field.
|
|
16399
|
-
*
|
|
16400
|
-
* **When to use**
|
|
16401
|
-
*
|
|
16402
|
-
* Use to define class instances that are validated by a schema and participate
|
|
16403
|
-
* in tagged union matching.
|
|
16404
|
-
*
|
|
16405
|
-
* **Details**
|
|
16406
|
-
*
|
|
16407
|
-
* The optional `identifier` parameter overrides the schema identifier;
|
|
16408
|
-
* it defaults to the `tag` value.
|
|
16409
|
-
*
|
|
16410
|
-
* **Example** (Defining a tagged class)
|
|
16411
|
-
*
|
|
16412
|
-
* ```ts import.meta.vitest
|
|
16413
|
-
* import { Schema } from "effect"
|
|
16414
|
-
*
|
|
16415
|
-
* class Circle extends Schema.TaggedClass<Circle>()("Circle", {
|
|
16416
|
-
* radius: Schema.Number
|
|
16417
|
-
* }) {}
|
|
16418
|
-
*
|
|
16419
|
-
* const c = new Circle({ radius: 5 })
|
|
16420
|
-
* c._tag // => "Circle"
|
|
16421
|
-
* c.radius // => 5
|
|
16422
|
-
* ```
|
|
16423
|
-
*
|
|
16424
|
-
* @stability stable
|
|
16425
|
-
* @category constructors
|
|
16426
|
-
* @since 3.10.0
|
|
16427
|
-
*/
|
|
16428
16653
|
<Tag extends string, const Fields extends Struct.Fields>(
|
|
16429
16654
|
tag: Tag,
|
|
16430
16655
|
fields: Fields,
|
|
16431
16656
|
annotations?: Annotations.Declaration<Self, readonly [TaggedStruct<Tag, Fields>]>
|
|
16432
16657
|
): [Self] extends [never] ? MissingSelfGeneric<"Schema.TaggedClass"> : Class<Self, TaggedStruct<Tag, Fields>, Brand>
|
|
16433
|
-
/**
|
|
16434
|
-
* Defines a schema-backed class with an automatically populated `_tag` field.
|
|
16435
|
-
*
|
|
16436
|
-
* **When to use**
|
|
16437
|
-
*
|
|
16438
|
-
* Use to define class instances that are validated by a schema and participate
|
|
16439
|
-
* in tagged union matching.
|
|
16440
|
-
*
|
|
16441
|
-
* **Details**
|
|
16442
|
-
*
|
|
16443
|
-
* The optional `identifier` parameter overrides the schema identifier;
|
|
16444
|
-
* it defaults to the `tag` value.
|
|
16445
|
-
*
|
|
16446
|
-
* **Example** (Defining a tagged class)
|
|
16447
|
-
*
|
|
16448
|
-
* ```ts import.meta.vitest
|
|
16449
|
-
* import { Schema } from "effect"
|
|
16450
|
-
*
|
|
16451
|
-
* class Circle extends Schema.TaggedClass<Circle>()("Circle", {
|
|
16452
|
-
* radius: Schema.Number
|
|
16453
|
-
* }) {}
|
|
16454
|
-
*
|
|
16455
|
-
* const c = new Circle({ radius: 5 })
|
|
16456
|
-
* c._tag // => "Circle"
|
|
16457
|
-
* c.radius // => 5
|
|
16458
|
-
* ```
|
|
16459
|
-
*
|
|
16460
|
-
* @stability stable
|
|
16461
|
-
* @category constructors
|
|
16462
|
-
* @since 3.10.0
|
|
16463
|
-
*/
|
|
16464
16658
|
<Tag extends string, S extends Struct<Struct.Fields>>(
|
|
16465
16659
|
tag: Tag,
|
|
16466
16660
|
schema: S,
|
|
@@ -16542,64 +16736,15 @@ export const Error: {
|
|
|
16542
16736
|
* @since 4.0.0
|
|
16543
16737
|
*/
|
|
16544
16738
|
<Self = never, Brand = {}>(identifier: string): {
|
|
16545
|
-
/**
|
|
16546
|
-
* Creates a schema-backed error class that can be used as a typed,
|
|
16547
|
-
* yieldable error in Effect programs. Combines {@link Class} validation with
|
|
16548
|
-
* the `YieldableError` interface so instances can be yielded directly inside
|
|
16549
|
-
* `Effect.gen`.
|
|
16550
|
-
*
|
|
16551
|
-
* **Example** (Schema-backed error)
|
|
16552
|
-
*
|
|
16553
|
-
* ```ts import.meta.vitest
|
|
16554
|
-
* import { Effect, Schema } from "effect"
|
|
16555
|
-
*
|
|
16556
|
-
* class NotFound extends Schema.Error<NotFound>("NotFound")({
|
|
16557
|
-
* id: Schema.Number
|
|
16558
|
-
* }) {}
|
|
16559
|
-
*
|
|
16560
|
-
* const program = Effect.gen(function*() {
|
|
16561
|
-
* yield* new NotFound({ id: 1 })
|
|
16562
|
-
* })
|
|
16563
|
-
* const error = await Effect.runPromise(Effect.flip(program))
|
|
16564
|
-
* error.id // => 1
|
|
16565
|
-
* ```
|
|
16566
|
-
*
|
|
16567
|
-
* @stability stable
|
|
16568
|
-
* @category constructors
|
|
16569
|
-
* @since 4.0.0
|
|
16570
|
-
*/
|
|
16571
16739
|
<const Fields extends Struct.Fields>(
|
|
16572
16740
|
fields: Fields,
|
|
16573
16741
|
annotations?: Annotations.Declaration<Self, readonly [Struct<Fields>]>
|
|
16574
16742
|
): [Self] extends [never] ? MissingSelfGeneric<"Schema.Error">
|
|
16575
16743
|
: Class<Self, Struct<Fields>, Cause_.YieldableError & Brand>
|
|
16576
|
-
|
|
16577
|
-
|
|
16578
|
-
|
|
16579
|
-
|
|
16580
|
-
* `Effect.gen`.
|
|
16581
|
-
*
|
|
16582
|
-
* **Example** (Schema-backed error)
|
|
16583
|
-
*
|
|
16584
|
-
* ```ts import.meta.vitest
|
|
16585
|
-
* import { Effect, Schema } from "effect"
|
|
16586
|
-
*
|
|
16587
|
-
* class NotFound extends Schema.Error<NotFound>("NotFound")({
|
|
16588
|
-
* id: Schema.Number
|
|
16589
|
-
* }) {}
|
|
16590
|
-
*
|
|
16591
|
-
* const program = Effect.gen(function*() {
|
|
16592
|
-
* yield* new NotFound({ id: 1 })
|
|
16593
|
-
* })
|
|
16594
|
-
* const error = await Effect.runPromise(Effect.flip(program))
|
|
16595
|
-
* error.id // => 1
|
|
16596
|
-
* ```
|
|
16597
|
-
*
|
|
16598
|
-
* @stability stable
|
|
16599
|
-
* @category constructors
|
|
16600
|
-
* @since 4.0.0
|
|
16601
|
-
*/
|
|
16602
|
-
<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>
|
|
16744
|
+
<S extends Struct<Struct.Fields>>(
|
|
16745
|
+
schema: S,
|
|
16746
|
+
annotations?: Annotations.Declaration<Self, readonly [S]>
|
|
16747
|
+
): [Self] extends [never] ? MissingSelfGeneric<"Schema.Error"> : Class<Self, S, Cause_.YieldableError & Brand>
|
|
16603
16748
|
}
|
|
16604
16749
|
} = <Self, Brand = {}>(identifier: string) =>
|
|
16605
16750
|
(
|
|
@@ -16682,72 +16827,12 @@ export const TaggedError: {
|
|
|
16682
16827
|
* @since 3.10.0
|
|
16683
16828
|
*/
|
|
16684
16829
|
<Self = never, Brand = {}>(identifier?: string): {
|
|
16685
|
-
/**
|
|
16686
|
-
* Defines a schema-backed yieldable error class with an automatically populated
|
|
16687
|
-
* `_tag` field.
|
|
16688
|
-
*
|
|
16689
|
-
* **When to use**
|
|
16690
|
-
*
|
|
16691
|
-
* Use to define typed errors that are schema validated, yielded in `Effect.gen`,
|
|
16692
|
-
* and matched as tagged union members.
|
|
16693
|
-
*
|
|
16694
|
-
* **Example** (Defining a tagged error class)
|
|
16695
|
-
*
|
|
16696
|
-
* ```ts import.meta.vitest
|
|
16697
|
-
* import { Effect, Schema } from "effect"
|
|
16698
|
-
*
|
|
16699
|
-
* class NotFound extends Schema.TaggedError<NotFound>()("NotFound", {
|
|
16700
|
-
* id: Schema.Number
|
|
16701
|
-
* }) {}
|
|
16702
|
-
*
|
|
16703
|
-
* const program = Effect.gen(function*() {
|
|
16704
|
-
* yield* new NotFound({ id: 42 })
|
|
16705
|
-
* })
|
|
16706
|
-
* const error = await Effect.runPromise(Effect.flip(program))
|
|
16707
|
-
* error._tag // => "NotFound"
|
|
16708
|
-
* error.id // => 42
|
|
16709
|
-
* ```
|
|
16710
|
-
*
|
|
16711
|
-
* @stability stable
|
|
16712
|
-
* @category constructors
|
|
16713
|
-
* @since 3.10.0
|
|
16714
|
-
*/
|
|
16715
16830
|
<Tag extends string, const Fields extends Struct.Fields>(
|
|
16716
16831
|
tag: Tag,
|
|
16717
16832
|
fields: Fields,
|
|
16718
16833
|
annotations?: Annotations.Declaration<Self, readonly [TaggedStruct<Tag, Fields>]>
|
|
16719
16834
|
): [Self] extends [never] ? MissingSelfGeneric<"Schema.TaggedError">
|
|
16720
16835
|
: Class<Self, TaggedStruct<Tag, Fields>, Cause_.YieldableError & Brand>
|
|
16721
|
-
/**
|
|
16722
|
-
* Defines a schema-backed yieldable error class with an automatically populated
|
|
16723
|
-
* `_tag` field.
|
|
16724
|
-
*
|
|
16725
|
-
* **When to use**
|
|
16726
|
-
*
|
|
16727
|
-
* Use to define typed errors that are schema validated, yielded in `Effect.gen`,
|
|
16728
|
-
* and matched as tagged union members.
|
|
16729
|
-
*
|
|
16730
|
-
* **Example** (Defining a tagged error class)
|
|
16731
|
-
*
|
|
16732
|
-
* ```ts import.meta.vitest
|
|
16733
|
-
* import { Effect, Schema } from "effect"
|
|
16734
|
-
*
|
|
16735
|
-
* class NotFound extends Schema.TaggedError<NotFound>()("NotFound", {
|
|
16736
|
-
* id: Schema.Number
|
|
16737
|
-
* }) {}
|
|
16738
|
-
*
|
|
16739
|
-
* const program = Effect.gen(function*() {
|
|
16740
|
-
* yield* new NotFound({ id: 42 })
|
|
16741
|
-
* })
|
|
16742
|
-
* const error = await Effect.runPromise(Effect.flip(program))
|
|
16743
|
-
* error._tag // => "NotFound"
|
|
16744
|
-
* error.id // => 42
|
|
16745
|
-
* ```
|
|
16746
|
-
*
|
|
16747
|
-
* @stability stable
|
|
16748
|
-
* @category constructors
|
|
16749
|
-
* @since 3.10.0
|
|
16750
|
-
*/
|
|
16751
16836
|
<Tag extends string, S extends Struct<Struct.Fields>>(
|
|
16752
16837
|
tag: Tag,
|
|
16753
16838
|
schema: S,
|
|
@@ -17317,6 +17402,179 @@ export const toCodecArrayFromSingle: {
|
|
|
17317
17402
|
*/
|
|
17318
17403
|
<S extends Constraint>(schema: S): toCodecArrayFromSingle<S>
|
|
17319
17404
|
} = InternalToCodec.toCodecArrayFromSingle
|
|
17405
|
+
/**
|
|
17406
|
+
* Type-level representation returned by {@link toCodecGoJson}.
|
|
17407
|
+
*
|
|
17408
|
+
* @stability unstable
|
|
17409
|
+
* @category converting
|
|
17410
|
+
* @since 4.0.6
|
|
17411
|
+
*/
|
|
17412
|
+
export interface toCodecGoJson<S extends Constraint> extends
|
|
17413
|
+
BottomLazy<
|
|
17414
|
+
S["ast"],
|
|
17415
|
+
toCodecGoJson<S>,
|
|
17416
|
+
S["~type.parameters"],
|
|
17417
|
+
S["~type.mutability"],
|
|
17418
|
+
S["~type.optionality"],
|
|
17419
|
+
S["~type.constructor.default"],
|
|
17420
|
+
S["~encoded.mutability"],
|
|
17421
|
+
S["~encoded.optionality"]
|
|
17422
|
+
>
|
|
17423
|
+
{
|
|
17424
|
+
readonly "Type": S["Type"]
|
|
17425
|
+
readonly "Encoded": Json
|
|
17426
|
+
readonly "DecodingServices": S["DecodingServices"]
|
|
17427
|
+
readonly "EncodingServices": S["EncodingServices"]
|
|
17428
|
+
readonly "~type.make.in": S["~type.make.in"]
|
|
17429
|
+
readonly "~type.make": S["~type.make"]
|
|
17430
|
+
readonly "Iso": S["Iso"]
|
|
17431
|
+
readonly schema: S
|
|
17432
|
+
}
|
|
17433
|
+
/**
|
|
17434
|
+
* Derives a JSON codec, like {@link toCodecJson}, that also accepts the
|
|
17435
|
+
* `null` values Go's `encoding/json` writes for nil pointers, slices, and maps.
|
|
17436
|
+
*
|
|
17437
|
+
* **When to use**
|
|
17438
|
+
*
|
|
17439
|
+
* Use when decoding JSON produced by a Go service (for example the Docker
|
|
17440
|
+
* Engine or Kubernetes APIs), where any field the API document describes as
|
|
17441
|
+
* optional, or any slice or map, may arrive as `null`.
|
|
17442
|
+
*
|
|
17443
|
+
* **Details**
|
|
17444
|
+
*
|
|
17445
|
+
* Decoding applies these rules at every level of the schema:
|
|
17446
|
+
*
|
|
17447
|
+
* - An optional key that is `null` decodes as a missing key.
|
|
17448
|
+
* - A required array (`Schema.Array`) that is `null` decodes as `[]`.
|
|
17449
|
+
* - A required record (`Schema.Record`) that is `null` decodes as `{}`.
|
|
17450
|
+
*
|
|
17451
|
+
* Array and record rules also apply at the top level and to nested collection
|
|
17452
|
+
* values. Tuples, non-empty arrays, and structs are not treated as collections;
|
|
17453
|
+
* collection checks still apply to the empty value.
|
|
17454
|
+
*
|
|
17455
|
+
* Encoding is unchanged from {@link toCodecJson}: the added rules only decode
|
|
17456
|
+
* `null` and do not emit it. A missing key stays missing.
|
|
17457
|
+
*
|
|
17458
|
+
* These rules also accept `encoding/json/v2` output. By default, v2 writes
|
|
17459
|
+
* nil slices and maps as `[]` and `{}`, but it can be configured to emit
|
|
17460
|
+
* `null` instead.
|
|
17461
|
+
*
|
|
17462
|
+
* **Gotchas**
|
|
17463
|
+
*
|
|
17464
|
+
* - Normalization deliberately discards the distinction between nil and empty
|
|
17465
|
+
* Go slices or maps. They are distinguishable in Go, and unmarshalling a
|
|
17466
|
+
* missing key, `null`, or an empty collection can affect existing values
|
|
17467
|
+
* differently. Use {@link toCodecJson} with explicit nullable schemas when
|
|
17468
|
+
* that distinction matters.
|
|
17469
|
+
* - A key whose schema already accepts `null` (for example
|
|
17470
|
+
* `Schema.NullOr(X)`, `Schema.Unknown`, or `Schema.Json`) keeps `null` as a
|
|
17471
|
+
* value.
|
|
17472
|
+
* - A required field that is not an array or a record (a nil pointer to a Go
|
|
17473
|
+
* struct, for example) still fails on `null`. Make it optional if the API
|
|
17474
|
+
* can omit it.
|
|
17475
|
+
* - A nil `[]byte` is written as `null` by `encoding/json` (and as `""` by
|
|
17476
|
+
* version 2), but its schema is a base64 string, not an array. A required
|
|
17477
|
+
* `[]byte` field that is `null` fails; make it optional if the API can send
|
|
17478
|
+
* `null`.
|
|
17479
|
+
* - Only these `null` rules are covered. Field formats such as durations,
|
|
17480
|
+
* base64 bytes, and numbers encoded as strings belong in the field schemas.
|
|
17481
|
+
*
|
|
17482
|
+
* **Example** (Decoding a Go response with nil fields)
|
|
17483
|
+
*
|
|
17484
|
+
* ```ts import.meta.vitest
|
|
17485
|
+
* import { Schema } from "effect"
|
|
17486
|
+
*
|
|
17487
|
+
* const Container = Schema.Struct({
|
|
17488
|
+
* Id: Schema.String,
|
|
17489
|
+
* Names: Schema.Array(Schema.String),
|
|
17490
|
+
* Labels: Schema.Record(Schema.String, Schema.String),
|
|
17491
|
+
* Status: Schema.optionalKey(Schema.String)
|
|
17492
|
+
* })
|
|
17493
|
+
*
|
|
17494
|
+
* const decode = Schema.decodeUnknownSync(Schema.toCodecGoJson(Container))
|
|
17495
|
+
*
|
|
17496
|
+
* decode({ Id: "a", Names: null, Labels: null, Status: null }) // => { Id: "a", Names: [], Labels: {} }
|
|
17497
|
+
* ```
|
|
17498
|
+
*
|
|
17499
|
+
* @see {@link toCodecJson} for the canonical JSON codec
|
|
17500
|
+
* @stability unstable
|
|
17501
|
+
* @category converting
|
|
17502
|
+
* @since 4.0.6
|
|
17503
|
+
*/
|
|
17504
|
+
export const toCodecGoJson: {
|
|
17505
|
+
/**
|
|
17506
|
+
* Derives a JSON codec, like {@link toCodecJson}, that also accepts the
|
|
17507
|
+
* `null` values Go's `encoding/json` writes for nil pointers, slices, and maps.
|
|
17508
|
+
*
|
|
17509
|
+
* **When to use**
|
|
17510
|
+
*
|
|
17511
|
+
* Use when decoding JSON produced by a Go service (for example the Docker
|
|
17512
|
+
* Engine or Kubernetes APIs), where any field the API document describes as
|
|
17513
|
+
* optional, or any slice or map, may arrive as `null`.
|
|
17514
|
+
*
|
|
17515
|
+
* **Details**
|
|
17516
|
+
*
|
|
17517
|
+
* Decoding applies these rules at every level of the schema:
|
|
17518
|
+
*
|
|
17519
|
+
* - An optional key that is `null` decodes as a missing key.
|
|
17520
|
+
* - A required array (`Schema.Array`) that is `null` decodes as `[]`.
|
|
17521
|
+
* - A required record (`Schema.Record`) that is `null` decodes as `{}`.
|
|
17522
|
+
*
|
|
17523
|
+
* Array and record rules also apply at the top level and to nested collection
|
|
17524
|
+
* values. Tuples, non-empty arrays, and structs are not treated as collections;
|
|
17525
|
+
* collection checks still apply to the empty value.
|
|
17526
|
+
*
|
|
17527
|
+
* Encoding is unchanged from {@link toCodecJson}: the added rules only decode
|
|
17528
|
+
* `null` and do not emit it. A missing key stays missing.
|
|
17529
|
+
*
|
|
17530
|
+
* These rules also accept `encoding/json/v2` output. By default, v2 writes
|
|
17531
|
+
* nil slices and maps as `[]` and `{}`, but it can be configured to emit
|
|
17532
|
+
* `null` instead.
|
|
17533
|
+
*
|
|
17534
|
+
* **Gotchas**
|
|
17535
|
+
*
|
|
17536
|
+
* - Normalization deliberately discards the distinction between nil and empty
|
|
17537
|
+
* Go slices or maps. They are distinguishable in Go, and unmarshalling a
|
|
17538
|
+
* missing key, `null`, or an empty collection can affect existing values
|
|
17539
|
+
* differently. Use {@link toCodecJson} with explicit nullable schemas when
|
|
17540
|
+
* that distinction matters.
|
|
17541
|
+
* - A key whose schema already accepts `null` (for example
|
|
17542
|
+
* `Schema.NullOr(X)`, `Schema.Unknown`, or `Schema.Json`) keeps `null` as a
|
|
17543
|
+
* value.
|
|
17544
|
+
* - A required field that is not an array or a record (a nil pointer to a Go
|
|
17545
|
+
* struct, for example) still fails on `null`. Make it optional if the API
|
|
17546
|
+
* can omit it.
|
|
17547
|
+
* - A nil `[]byte` is written as `null` by `encoding/json` (and as `""` by
|
|
17548
|
+
* version 2), but its schema is a base64 string, not an array. A required
|
|
17549
|
+
* `[]byte` field that is `null` fails; make it optional if the API can send
|
|
17550
|
+
* `null`.
|
|
17551
|
+
* - Only these `null` rules are covered. Field formats such as durations,
|
|
17552
|
+
* base64 bytes, and numbers encoded as strings belong in the field schemas.
|
|
17553
|
+
*
|
|
17554
|
+
* **Example** (Decoding a Go response with nil fields)
|
|
17555
|
+
*
|
|
17556
|
+
* ```ts import.meta.vitest
|
|
17557
|
+
* import { Schema } from "effect"
|
|
17558
|
+
*
|
|
17559
|
+
* const Container = Schema.Struct({
|
|
17560
|
+
* Id: Schema.String,
|
|
17561
|
+
* Names: Schema.Array(Schema.String),
|
|
17562
|
+
* Labels: Schema.Record(Schema.String, Schema.String),
|
|
17563
|
+
* Status: Schema.optionalKey(Schema.String)
|
|
17564
|
+
* })
|
|
17565
|
+
*
|
|
17566
|
+
* const decode = Schema.decodeUnknownSync(Schema.toCodecGoJson(Container))
|
|
17567
|
+
*
|
|
17568
|
+
* decode({ Id: "a", Names: null, Labels: null, Status: null }) // => { Id: "a", Names: [], Labels: {} }
|
|
17569
|
+
* ```
|
|
17570
|
+
*
|
|
17571
|
+
* @see {@link toCodecJson} for the canonical JSON codec
|
|
17572
|
+
* @stability unstable
|
|
17573
|
+
* @category converting
|
|
17574
|
+
* @since 4.0.6
|
|
17575
|
+
*/
|
|
17576
|
+
<S extends Constraint>(schema: S): toCodecGoJson<S>
|
|
17577
|
+
} = InternalToCodec.toCodecGoJson
|
|
17320
17578
|
type XmlEncoderOptions = {
|
|
17321
17579
|
/** Root element name for the returned XML string. Default: "root" */
|
|
17322
17580
|
readonly rootName?: string | undefined
|
|
@@ -17934,7 +18192,7 @@ export declare namespace Annotations {
|
|
|
17934
18192
|
readonly "~sentinels"?: ReadonlyArray<SchemaAST.Sentinel> | undefined
|
|
17935
18193
|
}
|
|
17936
18194
|
/**
|
|
17937
|
-
* Annotations for filter
|
|
18195
|
+
* Annotations for filter checks (created via `Schema.makeFilter`). Extends
|
|
17938
18196
|
* {@link Augment} with an optional error message, identifier, and metadata.
|
|
17939
18197
|
* Filters are intentionally non-parametric to keep them covariant.
|
|
17940
18198
|
*
|