effect 4.0.0-beta.74 → 4.0.0-beta.75
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/dist/Array.d.ts +729 -611
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +273 -213
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +37 -30
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +19 -16
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +34 -40
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +16 -16
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +8 -8
- package/dist/Boolean.js +4 -4
- package/dist/Brand.d.ts +13 -11
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +10 -8
- package/dist/Brand.js.map +1 -1
- package/dist/Cause.d.ts +21 -23
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +21 -23
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +219 -9
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +83 -3
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +11 -11
- package/dist/ChannelSchema.js +5 -5
- package/dist/Chunk.d.ts +69 -16
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +43 -8
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +3 -3
- package/dist/Clock.js +3 -3
- package/dist/Combiner.d.ts +9 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +9 -13
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +49 -56
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +40 -43
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +34 -44
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +24 -32
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +2 -2
- package/dist/Console.js +2 -2
- package/dist/Context.d.ts +60 -72
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +28 -32
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +2 -2
- package/dist/Cron.js +2 -2
- package/dist/Crypto.d.ts +4 -4
- package/dist/Crypto.js +4 -4
- package/dist/Data.d.ts +21 -15
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +7 -7
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +35 -16
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +35 -8
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +24 -15
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +8 -5
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +44 -31
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +22 -11
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +516 -416
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +234 -174
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +5 -0
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +5 -0
- package/dist/Encoding.js.map +1 -1
- package/dist/Equal.d.ts +26 -39
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +10 -17
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +71 -99
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +53 -73
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +1 -1
- package/dist/ErrorReporter.js +1 -1
- package/dist/Exit.d.ts +79 -96
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +57 -64
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +8 -6
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +8 -6
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +25 -0
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +15 -0
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +35 -0
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +15 -0
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +20 -0
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +10 -0
- package/dist/FiberSet.js.map +1 -1
- package/dist/Filter.d.ts +4 -4
- package/dist/Filter.js +4 -4
- package/dist/Formatter.d.ts +14 -19
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +14 -19
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +15 -16
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +9 -10
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +2 -2
- package/dist/Graph.js +2 -2
- package/dist/HKT.d.ts +2 -2
- package/dist/Hash.d.ts +2 -1
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +2 -1
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +15 -0
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +5 -0
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts +9 -9
- package/dist/HashRing.js +3 -3
- package/dist/Iterable.d.ts +24 -12
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +16 -6
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +2 -3
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +2 -3
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +2 -6
- package/dist/JsonPointer.d.ts.map +1 -1
- package/dist/JsonPointer.js +2 -6
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +17 -13
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +17 -13
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +4 -3
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +4 -3
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +92 -114
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +38 -46
- package/dist/Layer.js.map +1 -1
- package/dist/Logger.d.ts +11 -14
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +11 -14
- package/dist/Logger.js.map +1 -1
- package/dist/Match.d.ts +2 -2
- package/dist/Match.js +2 -2
- package/dist/Metric.d.ts +89 -109
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +51 -61
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +21 -12
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +7 -4
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableList.d.ts +15 -0
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +15 -0
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +56 -42
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +28 -22
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +10 -7
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +10 -7
- package/dist/Newtype.js.map +1 -1
- package/dist/Number.d.ts +23 -11
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +9 -5
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +16 -16
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +10 -9
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +196 -168
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +96 -79
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +118 -179
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +92 -144
- package/dist/Order.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +14 -14
- package/dist/PartitionedSemaphore.js +6 -6
- package/dist/Path.d.ts +2 -2
- package/dist/Path.js +2 -2
- package/dist/Pipeable.d.ts +2 -2
- package/dist/Pipeable.js +2 -2
- package/dist/PlatformError.d.ts +4 -4
- package/dist/PlatformError.js +4 -4
- package/dist/Pool.d.ts +7 -11
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +3 -5
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +274 -263
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +128 -123
- package/dist/Predicate.js.map +1 -1
- package/dist/PubSub.d.ts +24 -14
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +16 -6
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +4 -4
- package/dist/Pull.js +4 -4
- package/dist/Queue.d.ts +46 -7
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +46 -7
- package/dist/Queue.js.map +1 -1
- package/dist/RcRef.d.ts +0 -4
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js.map +1 -1
- package/dist/Redactable.d.ts +2 -2
- package/dist/Redactable.js +2 -2
- package/dist/Redacted.d.ts +3 -3
- package/dist/Redacted.js +3 -3
- package/dist/Reducer.d.ts +2 -3
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +2 -3
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +17 -16
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +15 -14
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +4 -4
- package/dist/References.js +4 -4
- package/dist/Request.d.ts +18 -18
- package/dist/Request.js +6 -6
- package/dist/Resource.d.ts +2 -2
- package/dist/Resource.js +2 -2
- package/dist/Result.d.ts +77 -33
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +42 -19
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +11 -8
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +11 -8
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +107 -45
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +41 -29
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +6 -4
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +6 -4
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +443 -371
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +518 -427
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +42 -21
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +80 -59
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +126 -106
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +121 -101
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +37 -39
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +16 -17
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +72 -153
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +72 -145
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +30 -21
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +26 -22
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +169 -145
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +183 -159
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/SchemaUtils.js +2 -2
- package/dist/SchemaUtils.js.map +1 -1
- package/dist/Scope.d.ts +15 -0
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +15 -0
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedRef.d.ts +14 -18
- package/dist/ScopedRef.d.ts.map +1 -1
- package/dist/ScopedRef.js +6 -8
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +9 -9
- package/dist/Semaphore.js +3 -3
- package/dist/Sink.d.ts +13 -13
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +9 -9
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +4 -5
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +4 -5
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +321 -44
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +137 -22
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +6 -9
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +2 -3
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +15 -13
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +11 -9
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +24 -19
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +12 -7
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +88 -63
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +32 -23
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Tracer.d.ts +4 -4
- package/dist/Tracer.js +4 -4
- package/dist/Trie.d.ts +15 -0
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +5 -0
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +25 -19
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +17 -13
- package/dist/Tuple.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +6 -3
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +2 -1
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +16 -16
- package/dist/TxRef.js +8 -8
- package/dist/TxSubscriptionRef.d.ts +43 -27
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +19 -13
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +12 -38
- package/dist/Types.d.ts.map +1 -1
- package/dist/Types.js +0 -2
- package/dist/UndefinedOr.d.ts +15 -14
- package/dist/UndefinedOr.d.ts.map +1 -1
- package/dist/UndefinedOr.js +11 -10
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +2 -2
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/arbitrary.js +9 -9
- package/dist/internal/schema/arbitrary.js.map +1 -1
- package/dist/internal/schema/equivalence.js +9 -9
- package/dist/internal/schema/equivalence.js.map +1 -1
- package/dist/internal/schema/representation.js +14 -14
- package/dist/internal/schema/representation.js.map +1 -1
- package/dist/internal/schema/schema.js +11 -11
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +10 -10
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +9 -9
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +4 -2
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +4 -2
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +17 -20
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +36 -39
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +4 -5
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +4 -5
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +4 -4
- package/dist/unstable/ai/EmbeddingModel.js +4 -4
- package/dist/unstable/ai/IdGenerator.d.ts +2 -3
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +2 -3
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +3 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +5 -4
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +14 -12
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +19 -17
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +11 -4
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +8 -5
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +20 -18
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +45 -43
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +2 -2
- package/dist/unstable/ai/Prompt.js +3 -3
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.d.ts +3 -2
- package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.js +3 -2
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts +21 -6
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +7 -2
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +7 -6
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +8 -7
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +2 -2
- package/dist/unstable/ai/Toolkit.js +2 -2
- package/dist/unstable/cli/Command.d.ts +37 -16
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +15 -8
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.d.ts +1 -1
- package/dist/unstable/cli/Completions.js +1 -1
- package/dist/unstable/cli/Flag.d.ts +7 -6
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +7 -6
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +6 -1
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/unstable/cli/GlobalFlag.js +7 -2
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/Param.d.ts +3 -3
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +13 -10
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +3 -2
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +3 -2
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -2
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterMetrics.d.ts +5 -0
- package/dist/unstable/cluster/ClusterMetrics.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterMetrics.js +5 -0
- package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +3 -3
- package/dist/unstable/cluster/ClusterSchema.js +3 -3
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +15 -15
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +10 -0
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityResource.js +10 -0
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +2 -2
- package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.js +2 -2
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +2 -2
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +12 -12
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +2 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +2 -1
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts +2 -2
- package/dist/unstable/cluster/RunnerServer.js +2 -2
- package/dist/unstable/cluster/Runners.d.ts +3 -3
- package/dist/unstable/cluster/Runners.js +3 -3
- package/dist/unstable/cluster/ShardId.js +3 -3
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +3 -3
- package/dist/unstable/cluster/Sharding.js +3 -3
- package/dist/unstable/cluster/ShardingConfig.d.ts +4 -4
- package/dist/unstable/cluster/ShardingConfig.js +4 -4
- package/dist/unstable/cluster/Snowflake.d.ts +1 -1
- package/dist/unstable/cluster/Snowflake.js +3 -3
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +2 -2
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/encoding/Msgpack.d.ts +2 -2
- package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
- package/dist/unstable/encoding/Msgpack.js +5 -5
- package/dist/unstable/encoding/Msgpack.js.map +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +5 -0
- package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
- package/dist/unstable/encoding/Ndjson.js +5 -0
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +2 -2
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +2 -2
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts +2 -1
- package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventGroup.js +2 -1
- package/dist/unstable/eventlog/EventGroup.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +10 -0
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +10 -0
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +3 -3
- package/dist/unstable/eventlog/EventLog.js +3 -3
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +2 -3
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +2 -3
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -7
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +5 -7
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +4 -4
- package/dist/unstable/eventlog/EventLogSessionAuth.js +4 -4
- package/dist/unstable/http/Cookies.js +4 -4
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +2 -3
- package/dist/unstable/http/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Etag.js +2 -3
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/Headers.js +2 -2
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.js +2 -2
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +2 -2
- package/dist/unstable/http/HttpClient.js +2 -2
- package/dist/unstable/http/HttpClientRequest.d.ts +30 -3
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +10 -1
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +1 -1
- package/dist/unstable/http/HttpRouter.js +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +25 -20
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +13 -8
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.js +3 -3
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +30 -0
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +16 -6
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.d.ts +3 -2
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +3 -2
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +10 -8
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +15 -15
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +3 -3
- package/dist/unstable/httpapi/HttpApiMiddleware.js +3 -3
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +2 -2
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +9 -9
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +11 -11
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts +5 -0
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.js +5 -0
- package/dist/unstable/observability/OtlpResource.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +4 -2
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +4 -2
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +3 -3
- package/dist/unstable/reactivity/Atom.js +3 -3
- package/dist/unstable/rpc/RpcSchema.d.ts +2 -2
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +2 -2
- package/dist/unstable/rpc/RpcSerialization.js +2 -2
- package/dist/unstable/schema/Model.js +5 -5
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +2 -2
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +4 -4
- package/dist/unstable/sql/SqlSchema.js +4 -4
- package/dist/unstable/workers/Transferable.d.ts +2 -2
- package/dist/unstable/workers/Transferable.d.ts.map +1 -1
- package/dist/unstable/workers/Transferable.js +5 -5
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +7 -7
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +1 -2
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +1 -2
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +35 -15
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +94 -72
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +10 -2
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +16 -8
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.d.ts +2 -4
- package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.js +9 -11
- package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js +7 -7
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/package.json +1 -1
- package/src/Array.ts +729 -611
- package/src/BigDecimal.ts +37 -30
- package/src/BigInt.ts +34 -40
- package/src/Boolean.ts +8 -8
- package/src/Brand.ts +16 -14
- package/src/Cause.ts +21 -23
- package/src/Channel.ts +249 -9
- package/src/ChannelSchema.ts +11 -11
- package/src/Chunk.ts +69 -16
- package/src/Clock.ts +3 -3
- package/src/Combiner.ts +9 -13
- package/src/Config.ts +60 -67
- package/src/ConfigProvider.ts +34 -44
- package/src/Console.ts +2 -2
- package/src/Context.ts +60 -72
- package/src/Cron.ts +2 -2
- package/src/Crypto.ts +4 -4
- package/src/Data.ts +21 -15
- package/src/DateTime.ts +35 -16
- package/src/Deferred.ts +24 -15
- package/src/Duration.ts +44 -31
- package/src/Effect.ts +516 -416
- package/src/Encoding.ts +5 -0
- package/src/Equal.ts +26 -39
- package/src/Equivalence.ts +71 -99
- package/src/ErrorReporter.ts +1 -1
- package/src/Exit.ts +79 -96
- package/src/Fiber.ts +8 -6
- package/src/FiberHandle.ts +25 -0
- package/src/FiberMap.ts +35 -0
- package/src/FiberSet.ts +20 -0
- package/src/Filter.ts +4 -4
- package/src/Formatter.ts +14 -19
- package/src/Function.ts +15 -16
- package/src/Graph.ts +2 -2
- package/src/HKT.ts +2 -2
- package/src/Hash.ts +2 -1
- package/src/HashMap.ts +15 -0
- package/src/HashRing.ts +9 -9
- package/src/Iterable.ts +24 -12
- package/src/JsonPatch.ts +2 -3
- package/src/JsonPointer.ts +2 -6
- package/src/JsonSchema.ts +17 -13
- package/src/Latch.ts +4 -3
- package/src/Layer.ts +92 -114
- package/src/Logger.ts +15 -18
- package/src/Match.ts +2 -2
- package/src/Metric.ts +109 -137
- package/src/MutableHashMap.ts +35 -20
- package/src/MutableList.ts +15 -0
- package/src/MutableRef.ts +56 -42
- package/src/Newtype.ts +10 -7
- package/src/Number.ts +23 -11
- package/src/Optic.ts +25 -22
- package/src/Option.ts +196 -168
- package/src/Order.ts +118 -179
- package/src/PartitionedSemaphore.ts +14 -14
- package/src/Path.ts +2 -2
- package/src/Pipeable.ts +2 -2
- package/src/PlatformError.ts +4 -4
- package/src/Pool.ts +7 -11
- package/src/Predicate.ts +274 -263
- package/src/PubSub.ts +24 -14
- package/src/Pull.ts +4 -4
- package/src/Queue.ts +46 -7
- package/src/RcRef.ts +0 -4
- package/src/Redactable.ts +2 -2
- package/src/Redacted.ts +3 -3
- package/src/Reducer.ts +2 -3
- package/src/Ref.ts +43 -40
- package/src/References.ts +4 -4
- package/src/Request.ts +18 -18
- package/src/Resource.ts +2 -2
- package/src/Result.ts +87 -33
- package/src/Runtime.ts +11 -8
- package/src/Schedule.ts +112 -45
- package/src/Scheduler.ts +6 -4
- package/src/Schema.ts +843 -649
- package/src/SchemaAST.ts +148 -117
- package/src/SchemaGetter.ts +142 -121
- package/src/SchemaIssue.ts +39 -41
- package/src/SchemaParser.ts +173 -229
- package/src/SchemaRepresentation.ts +38 -28
- package/src/SchemaTransformation.ts +233 -207
- package/src/SchemaUtils.ts +2 -2
- package/src/Scope.ts +15 -0
- package/src/ScopedCache.ts +1 -1
- package/src/ScopedRef.ts +14 -18
- package/src/Semaphore.ts +9 -9
- package/src/Sink.ts +13 -13
- package/src/Stdio.ts +4 -5
- package/src/Stream.ts +354 -57
- package/src/String.ts +6 -9
- package/src/Struct.ts +15 -13
- package/src/SubscriptionRef.ts +24 -19
- package/src/SynchronizedRef.ts +88 -63
- package/src/Tracer.ts +4 -4
- package/src/Trie.ts +15 -0
- package/src/Tuple.ts +25 -19
- package/src/TxReentrantLock.ts +6 -3
- package/src/TxRef.ts +16 -16
- package/src/TxSubscriptionRef.ts +43 -27
- package/src/Types.ts +12 -39
- package/src/UndefinedOr.ts +15 -14
- package/src/Unify.ts +2 -2
- package/src/internal/schema/annotations.ts +4 -4
- package/src/internal/schema/arbitrary.ts +16 -16
- package/src/internal/schema/equivalence.ts +11 -11
- package/src/internal/schema/representation.ts +23 -23
- package/src/internal/schema/schema.ts +17 -17
- package/src/testing/TestSchema.ts +20 -20
- package/src/unstable/ai/AiError.ts +4 -2
- package/src/unstable/ai/AnthropicStructuredOutput.ts +59 -56
- package/src/unstable/ai/Chat.ts +4 -5
- package/src/unstable/ai/EmbeddingModel.ts +4 -4
- package/src/unstable/ai/IdGenerator.ts +2 -3
- package/src/unstable/ai/LanguageModel.ts +5 -4
- package/src/unstable/ai/McpSchema.ts +19 -17
- package/src/unstable/ai/McpServer.ts +14 -7
- package/src/unstable/ai/OpenAiStructuredOutput.ts +72 -61
- package/src/unstable/ai/Prompt.ts +5 -5
- package/src/unstable/ai/ResponseIdTracker.ts +3 -2
- package/src/unstable/ai/Telemetry.ts +21 -6
- package/src/unstable/ai/Tool.ts +11 -10
- package/src/unstable/ai/Toolkit.ts +2 -2
- package/src/unstable/cli/Command.ts +37 -16
- package/src/unstable/cli/Completions.ts +1 -1
- package/src/unstable/cli/Flag.ts +7 -6
- package/src/unstable/cli/GlobalFlag.ts +7 -1
- package/src/unstable/cli/Param.ts +23 -18
- package/src/unstable/cli/Primitive.ts +3 -2
- package/src/unstable/cluster/ClusterCron.ts +1 -2
- package/src/unstable/cluster/ClusterMetrics.ts +5 -0
- package/src/unstable/cluster/ClusterSchema.ts +3 -3
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +15 -15
- package/src/unstable/cluster/EntityResource.ts +10 -0
- package/src/unstable/cluster/Envelope.ts +3 -3
- package/src/unstable/cluster/Reply.ts +14 -12
- package/src/unstable/cluster/RunnerHealth.ts +2 -1
- package/src/unstable/cluster/RunnerServer.ts +2 -2
- package/src/unstable/cluster/Runners.ts +3 -3
- package/src/unstable/cluster/ShardId.ts +3 -3
- package/src/unstable/cluster/Sharding.ts +3 -3
- package/src/unstable/cluster/ShardingConfig.ts +4 -4
- package/src/unstable/cluster/Snowflake.ts +3 -3
- package/src/unstable/cluster/internal/entityManager.ts +2 -2
- package/src/unstable/encoding/Msgpack.ts +6 -6
- package/src/unstable/encoding/Ndjson.ts +5 -0
- package/src/unstable/encoding/Sse.ts +2 -2
- package/src/unstable/eventlog/EventGroup.ts +2 -1
- package/src/unstable/eventlog/EventJournal.ts +10 -0
- package/src/unstable/eventlog/EventLog.ts +3 -3
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +2 -3
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +5 -7
- package/src/unstable/eventlog/EventLogSessionAuth.ts +4 -4
- package/src/unstable/http/Cookies.ts +4 -4
- package/src/unstable/http/Etag.ts +2 -3
- package/src/unstable/http/Headers.ts +2 -2
- package/src/unstable/http/HttpBody.ts +2 -2
- package/src/unstable/http/HttpClient.ts +2 -2
- package/src/unstable/http/HttpClientRequest.ts +30 -3
- package/src/unstable/http/HttpRouter.ts +1 -1
- package/src/unstable/http/HttpServerResponse.ts +25 -20
- package/src/unstable/http/Multipart.ts +3 -3
- package/src/unstable/http/UrlParams.ts +36 -6
- package/src/unstable/httpapi/HttpApi.ts +5 -4
- package/src/unstable/httpapi/HttpApiBuilder.ts +14 -13
- package/src/unstable/httpapi/HttpApiClient.ts +16 -16
- package/src/unstable/httpapi/HttpApiMiddleware.ts +3 -3
- package/src/unstable/httpapi/HttpApiSchema.ts +15 -15
- package/src/unstable/httpapi/OpenApi.ts +18 -18
- package/src/unstable/observability/OtlpResource.ts +5 -0
- package/src/unstable/observability/PrometheusMetrics.ts +4 -2
- package/src/unstable/reactivity/Atom.ts +3 -3
- package/src/unstable/rpc/RpcSchema.ts +2 -2
- package/src/unstable/rpc/RpcSerialization.ts +2 -2
- package/src/unstable/schema/Model.ts +5 -5
- package/src/unstable/schema/VariantSchema.ts +2 -2
- package/src/unstable/sql/SqlSchema.ts +4 -4
- package/src/unstable/workers/Transferable.ts +6 -6
- package/src/unstable/workflow/DurableDeferred.ts +7 -7
- package/src/unstable/workflow/DurableQueue.ts +1 -2
- package/src/unstable/workflow/Workflow.ts +159 -114
- package/src/unstable/workflow/WorkflowEngine.ts +16 -8
- package/src/unstable/workflow/WorkflowProxy.ts +9 -11
- package/src/unstable/workflow/WorkflowProxyServer.ts +7 -7
package/src/SchemaGetter.ts
CHANGED
|
@@ -93,8 +93,8 @@ import * as Pipeable from "./Pipeable.ts"
|
|
|
93
93
|
import * as Predicate from "./Predicate.ts"
|
|
94
94
|
import * as Result from "./Result.ts"
|
|
95
95
|
import type * as Schema from "./Schema.ts"
|
|
96
|
-
import type * as
|
|
97
|
-
import * as
|
|
96
|
+
import type * as SchemaAST from "./SchemaAST.ts"
|
|
97
|
+
import * as SchemaIssue from "./SchemaIssue.ts"
|
|
98
98
|
import * as Str from "./String.ts"
|
|
99
99
|
|
|
100
100
|
/**
|
|
@@ -102,19 +102,19 @@ import * as Str from "./String.ts"
|
|
|
102
102
|
*
|
|
103
103
|
* **When to use**
|
|
104
104
|
*
|
|
105
|
-
* Use
|
|
106
|
-
*
|
|
105
|
+
* Use when you need a schema getter to build and compose custom transformations
|
|
106
|
+
* for `Schema.decodeTo` or `Schema.decode`.
|
|
107
107
|
*
|
|
108
108
|
* **Details**
|
|
109
109
|
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
110
|
+
* A getter wraps a function `Option<E> -> Effect<Option<T>, Issue, R>`. It
|
|
111
|
+
* receives `Option.None` when the encoded key is absent, such as a missing
|
|
112
|
+
* struct field, and returns `Option.None` to omit the value from the decoded
|
|
113
|
+
* output. It fails with `Issue` on invalid input and may require Effect
|
|
114
|
+
* services via `R`. `.map(f)` applies `f` to the decoded value inside `Some`
|
|
115
|
+
* while leaving `None` unchanged. `.compose(other)` chains two getters by
|
|
116
|
+
* feeding the output of `this` into `other`; passthrough getters on either side
|
|
117
|
+
* are optimized away.
|
|
118
118
|
*
|
|
119
119
|
* **Example** (Creating and composing getters)
|
|
120
120
|
*
|
|
@@ -137,14 +137,14 @@ import * as Str from "./String.ts"
|
|
|
137
137
|
export class Getter<out T, in E, R = never> extends Pipeable.Class {
|
|
138
138
|
readonly run: (
|
|
139
139
|
input: Option.Option<E>,
|
|
140
|
-
options:
|
|
141
|
-
) => Effect.Effect<Option.Option<T>,
|
|
140
|
+
options: SchemaAST.ParseOptions
|
|
141
|
+
) => Effect.Effect<Option.Option<T>, SchemaIssue.Issue, R>
|
|
142
142
|
|
|
143
143
|
constructor(
|
|
144
144
|
run: (
|
|
145
145
|
input: Option.Option<E>,
|
|
146
|
-
options:
|
|
147
|
-
) => Effect.Effect<Option.Option<T>,
|
|
146
|
+
options: SchemaAST.ParseOptions
|
|
147
|
+
) => Effect.Effect<Option.Option<T>, SchemaIssue.Issue, R>
|
|
148
148
|
) {
|
|
149
149
|
super()
|
|
150
150
|
this.run = run
|
|
@@ -168,13 +168,13 @@ export class Getter<out T, in E, R = never> extends Pipeable.Class {
|
|
|
168
168
|
*
|
|
169
169
|
* **When to use**
|
|
170
170
|
*
|
|
171
|
-
* Use when a schema
|
|
172
|
-
*
|
|
171
|
+
* Use when you need a schema getter that always decodes a field to a fixed
|
|
172
|
+
* value.
|
|
173
173
|
*
|
|
174
174
|
* **Details**
|
|
175
175
|
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
176
|
+
* The getter is pure and always returns `Option.some(t)` regardless of whether
|
|
177
|
+
* the input is `Some` or `None`.
|
|
178
178
|
*
|
|
179
179
|
* **Example** (Constant getter)
|
|
180
180
|
*
|
|
@@ -200,7 +200,7 @@ export function succeed<const T, E>(t: T): Getter<T, E> {
|
|
|
200
200
|
*
|
|
201
201
|
* **When to use**
|
|
202
202
|
*
|
|
203
|
-
* Use when a
|
|
203
|
+
* Use when you need a schema getter that unconditionally rejects input.
|
|
204
204
|
* - Building custom validation getters that produce specific error types.
|
|
205
205
|
*
|
|
206
206
|
* **Details**
|
|
@@ -224,7 +224,7 @@ export function succeed<const T, E>(t: T): Getter<T, E> {
|
|
|
224
224
|
* @category constructors
|
|
225
225
|
* @since 4.0.0
|
|
226
226
|
*/
|
|
227
|
-
export function fail<T, E>(f: (oe: Option.Option<E>) =>
|
|
227
|
+
export function fail<T, E>(f: (oe: Option.Option<E>) => SchemaIssue.Issue): Getter<T, E> {
|
|
228
228
|
return new Getter((oe) => Effect.fail(f(oe)))
|
|
229
229
|
}
|
|
230
230
|
|
|
@@ -233,12 +233,13 @@ export function fail<T, E>(f: (oe: Option.Option<E>) => Issue.Issue): Getter<T,
|
|
|
233
233
|
*
|
|
234
234
|
* **When to use**
|
|
235
235
|
*
|
|
236
|
-
* Use when a
|
|
236
|
+
* Use when you need a schema getter to disallow a field or direction
|
|
237
|
+
* (encode/decode) entirely.
|
|
237
238
|
* - You want a clear "forbidden" error message in schema validation output.
|
|
238
239
|
*
|
|
239
240
|
* **Details**
|
|
240
241
|
*
|
|
241
|
-
* - Always fails with `
|
|
242
|
+
* - Always fails with `SchemaIssue.Forbidden`.
|
|
242
243
|
* - The message function receives the `Option<E>` input for context.
|
|
243
244
|
*
|
|
244
245
|
* **Example** (Forbidding a decode direction)
|
|
@@ -257,7 +258,7 @@ export function fail<T, E>(f: (oe: Option.Option<E>) => Issue.Issue): Getter<T,
|
|
|
257
258
|
* @since 4.0.0
|
|
258
259
|
*/
|
|
259
260
|
export function forbidden<T, E>(message: (oe: Option.Option<E>) => string): Getter<T, E> {
|
|
260
|
-
return fail<T, E>((oe) => new
|
|
261
|
+
return fail<T, E>((oe) => new SchemaIssue.Forbidden(oe, { message: message(oe) }))
|
|
261
262
|
}
|
|
262
263
|
|
|
263
264
|
const passthrough_ = new Getter<any, any>(Effect.succeed)
|
|
@@ -271,8 +272,8 @@ function isPassthrough<T, E, R>(getter: Getter<T, E, R>): getter is typeof passt
|
|
|
271
272
|
*
|
|
272
273
|
* **When to use**
|
|
273
274
|
*
|
|
274
|
-
* Use when
|
|
275
|
-
*
|
|
275
|
+
* Use when you need a schema getter for one side of a `decodeTo` pair, either
|
|
276
|
+
* encode or decode, to pass values through unchanged.
|
|
276
277
|
*
|
|
277
278
|
* **Details**
|
|
278
279
|
*
|
|
@@ -313,9 +314,8 @@ export function passthrough<T>(): Getter<T, T> {
|
|
|
313
314
|
*
|
|
314
315
|
* **When to use**
|
|
315
316
|
*
|
|
316
|
-
* Use when
|
|
317
|
-
*
|
|
318
|
-
* type.
|
|
317
|
+
* Use when you need a schema getter that passes values through when the
|
|
318
|
+
* decoded/output type is narrower than the encoded/input type.
|
|
319
319
|
*
|
|
320
320
|
* **Details**
|
|
321
321
|
*
|
|
@@ -346,8 +346,8 @@ export function passthroughSupertype<T>(): Getter<T, T> {
|
|
|
346
346
|
*
|
|
347
347
|
* **When to use**
|
|
348
348
|
*
|
|
349
|
-
* Use when
|
|
350
|
-
*
|
|
349
|
+
* Use when you need a schema getter that passes values through without
|
|
350
|
+
* `{ strict: false }` for an encoded type that narrows the decoded type.
|
|
351
351
|
*
|
|
352
352
|
* **Details**
|
|
353
353
|
*
|
|
@@ -378,7 +378,8 @@ export function passthroughSubtype<T>(): Getter<T, T> {
|
|
|
378
378
|
*
|
|
379
379
|
* **When to use**
|
|
380
380
|
*
|
|
381
|
-
* Use when you need to provide a fallback or computed value for
|
|
381
|
+
* Use when you need a schema getter to provide a fallback or computed value for
|
|
382
|
+
* missing struct keys.
|
|
382
383
|
* - Building custom "default value" logic more complex than {@link withDefault}.
|
|
383
384
|
*
|
|
384
385
|
* **Details**
|
|
@@ -405,7 +406,7 @@ export function passthroughSubtype<T>(): Getter<T, T> {
|
|
|
405
406
|
* @since 4.0.0
|
|
406
407
|
*/
|
|
407
408
|
export function onNone<T, E extends T = T, R = never>(
|
|
408
|
-
f: (options:
|
|
409
|
+
f: (options: SchemaAST.ParseOptions) => Effect.Effect<Option.Option<T>, SchemaIssue.Issue, R>
|
|
409
410
|
): Getter<T, E, R> {
|
|
410
411
|
return new Getter((ot, options) => Option.isNone(ot) ? f(options) : Effect.succeed(ot))
|
|
411
412
|
}
|
|
@@ -415,12 +416,12 @@ export function onNone<T, E extends T = T, R = never>(
|
|
|
415
416
|
*
|
|
416
417
|
* **When to use**
|
|
417
418
|
*
|
|
418
|
-
* Use when a
|
|
419
|
-
*
|
|
419
|
+
* Use when you need a schema getter to require a struct field in the encoded
|
|
420
|
+
* input and report a missing key error when it is absent.
|
|
420
421
|
*
|
|
421
422
|
* **Details**
|
|
422
423
|
*
|
|
423
|
-
* - When input is `None`, fails with `
|
|
424
|
+
* - When input is `None`, fails with `SchemaIssue.MissingKey`.
|
|
424
425
|
* - When input is `Some`, passes it through unchanged.
|
|
425
426
|
* - Optional `annotations` customize the error message for the missing key.
|
|
426
427
|
*
|
|
@@ -439,7 +440,7 @@ export function onNone<T, E extends T = T, R = never>(
|
|
|
439
440
|
* @since 4.0.0
|
|
440
441
|
*/
|
|
441
442
|
export function required<T, E extends T = T>(annotations?: Schema.Annotations.Key<T>): Getter<T, E> {
|
|
442
|
-
return onNone(() => Effect.fail(new
|
|
443
|
+
return onNone(() => Effect.fail(new SchemaIssue.MissingKey(annotations)))
|
|
443
444
|
}
|
|
444
445
|
|
|
445
446
|
/**
|
|
@@ -447,7 +448,8 @@ export function required<T, E extends T = T>(annotations?: Schema.Annotations.Ke
|
|
|
447
448
|
*
|
|
448
449
|
* **When to use**
|
|
449
450
|
*
|
|
450
|
-
* Use when you need to transform or validate only when a
|
|
451
|
+
* Use when you need a schema getter to transform or validate only when a field
|
|
452
|
+
* value is present.
|
|
451
453
|
* - Missing keys should remain absent in the output.
|
|
452
454
|
*
|
|
453
455
|
* **Details**
|
|
@@ -474,7 +476,7 @@ export function required<T, E extends T = T>(annotations?: Schema.Annotations.Ke
|
|
|
474
476
|
* @since 4.0.0
|
|
475
477
|
*/
|
|
476
478
|
export function onSome<T, E, R = never>(
|
|
477
|
-
f: (e: E, options:
|
|
479
|
+
f: (e: E, options: SchemaAST.ParseOptions) => Effect.Effect<Option.Option<T>, SchemaIssue.Issue, R>
|
|
478
480
|
): Getter<T, E, R> {
|
|
479
481
|
return new Getter((oe, options) => Option.isNone(oe) ? Effect.succeedNone : f(oe.value, options))
|
|
480
482
|
}
|
|
@@ -484,7 +486,8 @@ export function onSome<T, E, R = never>(
|
|
|
484
486
|
*
|
|
485
487
|
* **When to use**
|
|
486
488
|
*
|
|
487
|
-
* Use when you need to validate a decoded value (e.g. check a
|
|
489
|
+
* Use when you need a schema getter to validate a decoded value (e.g. check a
|
|
490
|
+
* constraint or call an external service).
|
|
488
491
|
* - The validation may be asynchronous or require Effect services.
|
|
489
492
|
*
|
|
490
493
|
* **Details**
|
|
@@ -495,7 +498,7 @@ export function onSome<T, E, R = never>(
|
|
|
495
498
|
* - `false` or a `string` — value is invalid, fails with an `Issue`.
|
|
496
499
|
* - An `Issue` object — fails with that issue directly.
|
|
497
500
|
* - `{ path, issue }` — fails with a nested path issue (`issue` may be a
|
|
498
|
-
* message string or a full {@link
|
|
501
|
+
* message string or a full {@link SchemaIssue.Issue}).
|
|
499
502
|
* - Does not transform the value — input and output types are the same.
|
|
500
503
|
*
|
|
501
504
|
* **Example** (Effectful validation)
|
|
@@ -515,7 +518,7 @@ export function onSome<T, E, R = never>(
|
|
|
515
518
|
* @since 4.0.0
|
|
516
519
|
*/
|
|
517
520
|
export function checkEffect<T, R = never>(
|
|
518
|
-
f: (input: T, options:
|
|
521
|
+
f: (input: T, options: SchemaAST.ParseOptions) => Effect.Effect<
|
|
519
522
|
undefined | boolean | Schema.FilterIssue,
|
|
520
523
|
never,
|
|
521
524
|
R
|
|
@@ -523,7 +526,7 @@ export function checkEffect<T, R = never>(
|
|
|
523
526
|
): Getter<T, T, R> {
|
|
524
527
|
return onSome((t, options) => {
|
|
525
528
|
return f(t, options).pipe(Effect.flatMapEager((out) => {
|
|
526
|
-
const issue =
|
|
529
|
+
const issue = SchemaIssue.makeSingle(t, out)
|
|
527
530
|
return issue ?
|
|
528
531
|
Effect.fail(issue) :
|
|
529
532
|
Effect.succeed(Option.some(t))
|
|
@@ -536,7 +539,8 @@ export function checkEffect<T, R = never>(
|
|
|
536
539
|
*
|
|
537
540
|
* **When to use**
|
|
538
541
|
*
|
|
539
|
-
* Use when you
|
|
542
|
+
* Use when you need a schema getter for a pure, infallible transformation
|
|
543
|
+
* between types.
|
|
540
544
|
* - Building encode/decode pairs for `Schema.decodeTo`.
|
|
541
545
|
*
|
|
542
546
|
* **Details**
|
|
@@ -575,8 +579,8 @@ export function transform<T, E>(f: (e: E) => T): Getter<T, E> {
|
|
|
575
579
|
*
|
|
576
580
|
* **When to use**
|
|
577
581
|
*
|
|
578
|
-
* Use when
|
|
579
|
-
*
|
|
582
|
+
* Use when you need a schema getter for a transformation that may fail, require
|
|
583
|
+
* Effect services, or run asynchronously.
|
|
580
584
|
*
|
|
581
585
|
* **Details**
|
|
582
586
|
*
|
|
@@ -606,7 +610,7 @@ export function transform<T, E>(f: (e: E) => T): Getter<T, E> {
|
|
|
606
610
|
* @since 4.0.0
|
|
607
611
|
*/
|
|
608
612
|
export function transformOrFail<T, E, R = never>(
|
|
609
|
-
f: (e: E, options:
|
|
613
|
+
f: (e: E, options: SchemaAST.ParseOptions) => Effect.Effect<T, SchemaIssue.Issue, R>
|
|
610
614
|
): Getter<T, E, R> {
|
|
611
615
|
return onSome((e, options) => f(e, options).pipe(Effect.mapEager(Option.some)))
|
|
612
616
|
}
|
|
@@ -616,13 +620,13 @@ export function transformOrFail<T, E, R = never>(
|
|
|
616
620
|
*
|
|
617
621
|
* **When to use**
|
|
618
622
|
*
|
|
619
|
-
* Use when you need to handle both `Some` and `None` cases.
|
|
620
|
-
* - You want to turn a present value into absent, or vice versa.
|
|
623
|
+
* Use when you need a schema getter to handle both `Some` and `None` cases.
|
|
621
624
|
*
|
|
622
625
|
* **Details**
|
|
623
626
|
*
|
|
624
|
-
*
|
|
625
|
-
*
|
|
627
|
+
* The getter is pure and never fails. It receives the full `Option<E>` and
|
|
628
|
+
* must return `Option<T>`, so it can turn a present value into absent or an
|
|
629
|
+
* absent value into present.
|
|
626
630
|
*
|
|
627
631
|
* **Example** (Filter out empty strings)
|
|
628
632
|
*
|
|
@@ -649,7 +653,8 @@ export function transformOptional<T, E>(f: (oe: Option.Option<E>) => Option.Opti
|
|
|
649
653
|
*
|
|
650
654
|
* **When to use**
|
|
651
655
|
*
|
|
652
|
-
* Use when a
|
|
656
|
+
* Use when you need a schema getter to exclude a field during decoding or
|
|
657
|
+
* encoding.
|
|
653
658
|
*
|
|
654
659
|
* **Details**
|
|
655
660
|
*
|
|
@@ -679,7 +684,8 @@ export function omit<T>(): Getter<never, T> {
|
|
|
679
684
|
*
|
|
680
685
|
* **When to use**
|
|
681
686
|
*
|
|
682
|
-
* Use when
|
|
687
|
+
* Use when you need a schema getter to provide a fallback for a field that may
|
|
688
|
+
* be `undefined` in the encoded input.
|
|
683
689
|
*
|
|
684
690
|
* **Details**
|
|
685
691
|
*
|
|
@@ -703,7 +709,7 @@ export function omit<T>(): Getter<never, T> {
|
|
|
703
709
|
* @since 4.0.0
|
|
704
710
|
*/
|
|
705
711
|
export function withDefault<T, R = never>(
|
|
706
|
-
defaultValue: Effect.Effect<T,
|
|
712
|
+
defaultValue: Effect.Effect<T, SchemaIssue.Issue, R>
|
|
707
713
|
): Getter<T, T | undefined, R> {
|
|
708
714
|
return new Getter((o) => {
|
|
709
715
|
const filtered = Option.filter(o, Predicate.isNotUndefined)
|
|
@@ -716,12 +722,12 @@ export function withDefault<T, R = never>(
|
|
|
716
722
|
*
|
|
717
723
|
* **When to use**
|
|
718
724
|
*
|
|
719
|
-
* Use when you need a
|
|
725
|
+
* Use when you need a schema getter to coerce a present encoded value to a
|
|
726
|
+
* string with `String()`.
|
|
720
727
|
*
|
|
721
728
|
* **Details**
|
|
722
729
|
*
|
|
723
|
-
*
|
|
724
|
-
* - Delegates to `globalThis.String`.
|
|
730
|
+
* The getter is pure, never fails, and delegates to `globalThis.String`.
|
|
725
731
|
*
|
|
726
732
|
* **Example** (Coerce to string)
|
|
727
733
|
*
|
|
@@ -746,12 +752,13 @@ export function String<E>(): Getter<string, E> {
|
|
|
746
752
|
*
|
|
747
753
|
* **When to use**
|
|
748
754
|
*
|
|
749
|
-
* Use when you need
|
|
755
|
+
* Use when you need a schema getter to coerce a present encoded value to a
|
|
756
|
+
* number with `Number()`.
|
|
750
757
|
*
|
|
751
758
|
* **Details**
|
|
752
759
|
*
|
|
753
|
-
*
|
|
754
|
-
*
|
|
760
|
+
* The getter is pure, never fails, and delegates to `globalThis.Number`. It may
|
|
761
|
+
* produce `NaN` for non-numeric inputs.
|
|
755
762
|
*
|
|
756
763
|
* **Example** (Coerce to number)
|
|
757
764
|
*
|
|
@@ -776,12 +783,12 @@ export function Number<E>(): Getter<number, E> {
|
|
|
776
783
|
*
|
|
777
784
|
* **When to use**
|
|
778
785
|
*
|
|
779
|
-
* Use when you need
|
|
786
|
+
* Use when you need a schema getter to coerce a present encoded value to a
|
|
787
|
+
* boolean with `Boolean()`.
|
|
780
788
|
*
|
|
781
789
|
* **Details**
|
|
782
790
|
*
|
|
783
|
-
*
|
|
784
|
-
* - Delegates to `globalThis.Boolean`.
|
|
791
|
+
* The getter is pure, never fails, and delegates to `globalThis.Boolean`.
|
|
785
792
|
*
|
|
786
793
|
* **Example** (Coerce to boolean)
|
|
787
794
|
*
|
|
@@ -804,7 +811,8 @@ export function Boolean<E>(): Getter<boolean, E> {
|
|
|
804
811
|
*
|
|
805
812
|
* **When to use**
|
|
806
813
|
*
|
|
807
|
-
* Use when you need to convert
|
|
814
|
+
* Use when you need a schema getter to convert a present string, number, or
|
|
815
|
+
* boolean value to `bigint`.
|
|
808
816
|
*
|
|
809
817
|
* **Details**
|
|
810
818
|
*
|
|
@@ -832,7 +840,8 @@ export function BigInt<E extends string | number | bigint | boolean>(): Getter<b
|
|
|
832
840
|
*
|
|
833
841
|
* **When to use**
|
|
834
842
|
*
|
|
835
|
-
* Use when you need to
|
|
843
|
+
* Use when you need a schema getter to coerce a present string, number, or
|
|
844
|
+
* existing date object into a new date object.
|
|
836
845
|
*
|
|
837
846
|
* **Details**
|
|
838
847
|
*
|
|
@@ -1028,14 +1037,15 @@ type ParseJsonOptions = {
|
|
|
1028
1037
|
*
|
|
1029
1038
|
* **When to use**
|
|
1030
1039
|
*
|
|
1031
|
-
* Use when
|
|
1040
|
+
* Use when you need a schema getter to parse a present encoded JSON string
|
|
1041
|
+
* during decoding.
|
|
1032
1042
|
*
|
|
1033
1043
|
* **Details**
|
|
1034
1044
|
*
|
|
1035
1045
|
* - Skips `None` inputs.
|
|
1036
1046
|
* - Without `reviver`: returns `Schema.MutableJson` (typed JSON).
|
|
1037
1047
|
* - With `reviver`: returns `unknown` (reviver may produce arbitrary values).
|
|
1038
|
-
* - On parse failure, fails with `
|
|
1048
|
+
* - On parse failure, fails with `SchemaIssue.InvalidValue` containing the error message.
|
|
1039
1049
|
*
|
|
1040
1050
|
* **Example** (Parse JSON)
|
|
1041
1051
|
*
|
|
@@ -1057,7 +1067,7 @@ export function parseJson<E extends string>(options?: ParseJsonOptions | undefin
|
|
|
1057
1067
|
return onSome((input) =>
|
|
1058
1068
|
Effect.try({
|
|
1059
1069
|
try: () => Option.some(JSON.parse(input, options?.reviver)),
|
|
1060
|
-
catch: (e) => new
|
|
1070
|
+
catch: (e) => new SchemaIssue.InvalidValue(Option.some(input), { message: globalThis.String(e) })
|
|
1061
1071
|
})
|
|
1062
1072
|
)
|
|
1063
1073
|
}
|
|
@@ -1072,13 +1082,14 @@ type StringifyJsonOptions = {
|
|
|
1072
1082
|
*
|
|
1073
1083
|
* **When to use**
|
|
1074
1084
|
*
|
|
1075
|
-
* Use when a
|
|
1085
|
+
* Use when you need a schema getter to serialize a present decoded value to
|
|
1086
|
+
* JSON text during encoding.
|
|
1076
1087
|
*
|
|
1077
1088
|
* **Details**
|
|
1078
1089
|
*
|
|
1079
1090
|
* - Skips `None` inputs.
|
|
1080
1091
|
* - On thrown stringify failures, such as circular references, fails with
|
|
1081
|
-
* `
|
|
1092
|
+
* `SchemaIssue.InvalidValue`.
|
|
1082
1093
|
* - Supports optional `replacer` and `space` options, matching
|
|
1083
1094
|
* `JSON.stringify`.
|
|
1084
1095
|
* - If `JSON.stringify` returns `undefined`, such as for `undefined`,
|
|
@@ -1103,7 +1114,7 @@ export function stringifyJson(options?: StringifyJsonOptions): Getter<string, un
|
|
|
1103
1114
|
return onSome((input) =>
|
|
1104
1115
|
Effect.try({
|
|
1105
1116
|
try: () => Option.some(JSON.stringify(input, options?.replacer, options?.space)),
|
|
1106
|
-
catch: (e) => new
|
|
1117
|
+
catch: (e) => new SchemaIssue.InvalidValue(Option.some(input), { message: globalThis.String(e) })
|
|
1107
1118
|
})
|
|
1108
1119
|
)
|
|
1109
1120
|
}
|
|
@@ -1113,13 +1124,14 @@ export function stringifyJson(options?: StringifyJsonOptions): Getter<string, un
|
|
|
1113
1124
|
*
|
|
1114
1125
|
* **When to use**
|
|
1115
1126
|
*
|
|
1116
|
-
* Use when
|
|
1127
|
+
* Use when you need a schema getter to parse a present encoded string that
|
|
1128
|
+
* contains delimited key-value pairs (e.g. `"a=1,b=2"`).
|
|
1117
1129
|
*
|
|
1118
1130
|
* **Details**
|
|
1119
1131
|
*
|
|
1120
|
-
*
|
|
1121
|
-
*
|
|
1122
|
-
*
|
|
1132
|
+
* The getter is pure and never fails. It splits the string by `separator`
|
|
1133
|
+
* (default `,`) and then each pair by `keyValueSeparator` (default `=`). Pairs
|
|
1134
|
+
* missing a key or value are silently skipped.
|
|
1123
1135
|
*
|
|
1124
1136
|
* **Example** (Parse key-value string)
|
|
1125
1137
|
*
|
|
@@ -1158,12 +1170,14 @@ export function splitKeyValue<E extends string>(options?: {
|
|
|
1158
1170
|
*
|
|
1159
1171
|
* **When to use**
|
|
1160
1172
|
*
|
|
1161
|
-
* Use when a
|
|
1173
|
+
* Use when you need a schema getter to serialize a present decoded record as a
|
|
1174
|
+
* delimited key-value string.
|
|
1162
1175
|
*
|
|
1163
1176
|
* **Details**
|
|
1164
1177
|
*
|
|
1165
|
-
*
|
|
1166
|
-
*
|
|
1178
|
+
* The getter is pure and never fails. It joins entries with `separator`
|
|
1179
|
+
* (default `,`) and joins each key and value with `keyValueSeparator` (default
|
|
1180
|
+
* `=`).
|
|
1167
1181
|
*
|
|
1168
1182
|
* **Example** (Join key-value record)
|
|
1169
1183
|
*
|
|
@@ -1195,13 +1209,13 @@ export function joinKeyValue<E extends Record<PropertyKey, string>>(options?: {
|
|
|
1195
1209
|
*
|
|
1196
1210
|
* **When to use**
|
|
1197
1211
|
*
|
|
1198
|
-
* Use when
|
|
1212
|
+
* Use when you need a schema getter to split a present encoded string
|
|
1213
|
+
* containing a delimited list, such as CSV values.
|
|
1199
1214
|
*
|
|
1200
1215
|
* **Details**
|
|
1201
1216
|
*
|
|
1202
|
-
*
|
|
1203
|
-
*
|
|
1204
|
-
* - Pure, never fails.
|
|
1217
|
+
* The getter is pure and never fails. It splits by `separator` (default `,`).
|
|
1218
|
+
* An empty string produces an empty array, not `[""]`.
|
|
1205
1219
|
*
|
|
1206
1220
|
* **Example** (Split comma-separated string)
|
|
1207
1221
|
*
|
|
@@ -1230,7 +1244,7 @@ export function split<E extends string>(options?: {
|
|
|
1230
1244
|
*
|
|
1231
1245
|
* **Details**
|
|
1232
1246
|
*
|
|
1233
|
-
*
|
|
1247
|
+
* The getter is pure and never fails.
|
|
1234
1248
|
*
|
|
1235
1249
|
* **Example** (Encode to Base64)
|
|
1236
1250
|
*
|
|
@@ -1256,7 +1270,7 @@ export function encodeBase64<E extends Uint8Array | string>(): Getter<string, E>
|
|
|
1256
1270
|
*
|
|
1257
1271
|
* **Details**
|
|
1258
1272
|
*
|
|
1259
|
-
*
|
|
1273
|
+
* The getter is pure and never fails.
|
|
1260
1274
|
*
|
|
1261
1275
|
* **Example** (Encode to Base64Url)
|
|
1262
1276
|
*
|
|
@@ -1282,7 +1296,7 @@ export function encodeBase64Url<E extends Uint8Array | string>(): Getter<string,
|
|
|
1282
1296
|
*
|
|
1283
1297
|
* **Details**
|
|
1284
1298
|
*
|
|
1285
|
-
*
|
|
1299
|
+
* The getter is pure and never fails.
|
|
1286
1300
|
*
|
|
1287
1301
|
* **Example** (Encode to hex)
|
|
1288
1302
|
*
|
|
@@ -1307,7 +1321,7 @@ export function encodeHex<E extends Uint8Array | string>(): Getter<string, E> {
|
|
|
1307
1321
|
*
|
|
1308
1322
|
* **Details**
|
|
1309
1323
|
*
|
|
1310
|
-
* - Fails with `
|
|
1324
|
+
* - Fails with `SchemaIssue.InvalidValue` if the input is not valid Base64.
|
|
1311
1325
|
*
|
|
1312
1326
|
* **Example** (Decode Base64 to bytes)
|
|
1313
1327
|
*
|
|
@@ -1328,7 +1342,7 @@ export function decodeBase64<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1328
1342
|
return transformOrFail((input) =>
|
|
1329
1343
|
Effect.mapErrorEager(
|
|
1330
1344
|
Effect.fromResult(Encoding.decodeBase64(input)),
|
|
1331
|
-
(e) => new
|
|
1345
|
+
(e) => new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })
|
|
1332
1346
|
)
|
|
1333
1347
|
)
|
|
1334
1348
|
}
|
|
@@ -1338,7 +1352,7 @@ export function decodeBase64<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1338
1352
|
*
|
|
1339
1353
|
* **Details**
|
|
1340
1354
|
*
|
|
1341
|
-
* - Fails with `
|
|
1355
|
+
* - Fails with `SchemaIssue.InvalidValue` if the input is not valid Base64.
|
|
1342
1356
|
*
|
|
1343
1357
|
* **Example** (Decode Base64 to string)
|
|
1344
1358
|
*
|
|
@@ -1358,7 +1372,7 @@ export function decodeBase64<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1358
1372
|
export function decodeBase64String<E extends string>(): Getter<string, E> {
|
|
1359
1373
|
return transformOrFail((input) =>
|
|
1360
1374
|
Result.match(Encoding.decodeBase64String(input), {
|
|
1361
|
-
onFailure: (e) => Effect.fail(new
|
|
1375
|
+
onFailure: (e) => Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })),
|
|
1362
1376
|
onSuccess: Effect.succeed
|
|
1363
1377
|
})
|
|
1364
1378
|
)
|
|
@@ -1369,7 +1383,7 @@ export function decodeBase64String<E extends string>(): Getter<string, E> {
|
|
|
1369
1383
|
*
|
|
1370
1384
|
* **Details**
|
|
1371
1385
|
*
|
|
1372
|
-
* - Fails with `
|
|
1386
|
+
* - Fails with `SchemaIssue.InvalidValue` if the input is not valid Base64Url.
|
|
1373
1387
|
*
|
|
1374
1388
|
* **Example** (Decode Base64Url to bytes)
|
|
1375
1389
|
*
|
|
@@ -1389,7 +1403,7 @@ export function decodeBase64String<E extends string>(): Getter<string, E> {
|
|
|
1389
1403
|
export function decodeBase64Url<E extends string>(): Getter<Uint8Array, E> {
|
|
1390
1404
|
return transformOrFail((input) =>
|
|
1391
1405
|
Result.match(Encoding.decodeBase64Url(input), {
|
|
1392
|
-
onFailure: (e) => Effect.fail(new
|
|
1406
|
+
onFailure: (e) => Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })),
|
|
1393
1407
|
onSuccess: Effect.succeed
|
|
1394
1408
|
})
|
|
1395
1409
|
)
|
|
@@ -1400,7 +1414,7 @@ export function decodeBase64Url<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1400
1414
|
*
|
|
1401
1415
|
* **Details**
|
|
1402
1416
|
*
|
|
1403
|
-
* - Fails with `
|
|
1417
|
+
* - Fails with `SchemaIssue.InvalidValue` if the input is not valid Base64Url.
|
|
1404
1418
|
*
|
|
1405
1419
|
* **Example** (Decode Base64Url to string)
|
|
1406
1420
|
*
|
|
@@ -1420,7 +1434,7 @@ export function decodeBase64Url<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1420
1434
|
export function decodeBase64UrlString<E extends string>(): Getter<string, E> {
|
|
1421
1435
|
return transformOrFail((input) =>
|
|
1422
1436
|
Result.match(Encoding.decodeBase64UrlString(input), {
|
|
1423
|
-
onFailure: (e) => Effect.fail(new
|
|
1437
|
+
onFailure: (e) => Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })),
|
|
1424
1438
|
onSuccess: Effect.succeed
|
|
1425
1439
|
})
|
|
1426
1440
|
)
|
|
@@ -1431,7 +1445,7 @@ export function decodeBase64UrlString<E extends string>(): Getter<string, E> {
|
|
|
1431
1445
|
*
|
|
1432
1446
|
* **Details**
|
|
1433
1447
|
*
|
|
1434
|
-
* - Fails with `
|
|
1448
|
+
* - Fails with `SchemaIssue.InvalidValue` if the input is not valid hex.
|
|
1435
1449
|
*
|
|
1436
1450
|
* **Example** (Decode hex to bytes)
|
|
1437
1451
|
*
|
|
@@ -1451,7 +1465,7 @@ export function decodeBase64UrlString<E extends string>(): Getter<string, E> {
|
|
|
1451
1465
|
export function decodeHex<E extends string>(): Getter<Uint8Array, E> {
|
|
1452
1466
|
return transformOrFail((input) =>
|
|
1453
1467
|
Result.match(Encoding.decodeHex(input), {
|
|
1454
|
-
onFailure: (e) => Effect.fail(new
|
|
1468
|
+
onFailure: (e) => Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })),
|
|
1455
1469
|
onSuccess: Effect.succeed
|
|
1456
1470
|
})
|
|
1457
1471
|
)
|
|
@@ -1462,7 +1476,7 @@ export function decodeHex<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1462
1476
|
*
|
|
1463
1477
|
* **Details**
|
|
1464
1478
|
*
|
|
1465
|
-
* - Fails with `
|
|
1479
|
+
* - Fails with `SchemaIssue.InvalidValue` if the input is not valid hex.
|
|
1466
1480
|
*
|
|
1467
1481
|
* **Example** (Decode hex to string)
|
|
1468
1482
|
*
|
|
@@ -1482,7 +1496,7 @@ export function decodeHex<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1482
1496
|
export function decodeHexString<E extends string>(): Getter<string, E> {
|
|
1483
1497
|
return transformOrFail((input) =>
|
|
1484
1498
|
Result.match(Encoding.decodeHexString(input), {
|
|
1485
|
-
onFailure: (e) => Effect.fail(new
|
|
1499
|
+
onFailure: (e) => Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })),
|
|
1486
1500
|
onSuccess: Effect.succeed
|
|
1487
1501
|
})
|
|
1488
1502
|
)
|
|
@@ -1519,7 +1533,7 @@ export function encodeUriComponent<E extends string>(): Getter<string, E> {
|
|
|
1519
1533
|
*
|
|
1520
1534
|
* **Details**
|
|
1521
1535
|
*
|
|
1522
|
-
* - Fails with `
|
|
1536
|
+
* - Fails with `SchemaIssue.InvalidValue` if the input contains malformed percent-encoding sequences.
|
|
1523
1537
|
*
|
|
1524
1538
|
* **Example** (Decode a URI component)
|
|
1525
1539
|
*
|
|
@@ -1541,7 +1555,7 @@ export function decodeUriComponent<E extends string>(): Getter<string, E> {
|
|
|
1541
1555
|
return Effect.succeed(globalThis.decodeURIComponent(input))
|
|
1542
1556
|
} catch (e) {
|
|
1543
1557
|
return Effect.fail(
|
|
1544
|
-
new
|
|
1558
|
+
new SchemaIssue.InvalidValue(Option.some(input), {
|
|
1545
1559
|
message: e instanceof URIError ? e.message : "Invalid URI component"
|
|
1546
1560
|
})
|
|
1547
1561
|
)
|
|
@@ -1554,7 +1568,8 @@ export function decodeUriComponent<E extends string>(): Getter<string, E> {
|
|
|
1554
1568
|
*
|
|
1555
1569
|
* **When to use**
|
|
1556
1570
|
*
|
|
1557
|
-
* Use when
|
|
1571
|
+
* Use when you need a schema getter to decode a present encoded date/time value
|
|
1572
|
+
* to a `DateTime.Utc`.
|
|
1558
1573
|
*
|
|
1559
1574
|
* **Details**
|
|
1560
1575
|
*
|
|
@@ -1562,7 +1577,7 @@ export function decodeUriComponent<E extends string>(): Getter<string, E> {
|
|
|
1562
1577
|
* instant objects, zoned instant objects, JavaScript `Date` instances, epoch
|
|
1563
1578
|
* milliseconds, and date strings.
|
|
1564
1579
|
* - Converts successfully parsed values to UTC.
|
|
1565
|
-
* - Fails with `
|
|
1580
|
+
* - Fails with `SchemaIssue.InvalidValue` if the input cannot be parsed as a valid
|
|
1566
1581
|
* `DateTime`.
|
|
1567
1582
|
*
|
|
1568
1583
|
* **Example** (Parse DateTime)
|
|
@@ -1582,7 +1597,8 @@ export function decodeUriComponent<E extends string>(): Getter<string, E> {
|
|
|
1582
1597
|
export function dateTimeUtcFromInput<E extends DateTime.DateTime.Input>(): Getter<DateTime.Utc, E> {
|
|
1583
1598
|
return transformOrFail((input) => {
|
|
1584
1599
|
return Option.match(DateTime.make(input), {
|
|
1585
|
-
onNone: () =>
|
|
1600
|
+
onNone: () =>
|
|
1601
|
+
Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: "Invalid DateTime input" })),
|
|
1586
1602
|
onSome: (dt) => Effect.succeed(DateTime.toUtc(dt))
|
|
1587
1603
|
})
|
|
1588
1604
|
})
|
|
@@ -1593,13 +1609,14 @@ export function dateTimeUtcFromInput<E extends DateTime.DateTime.Input>(): Gette
|
|
|
1593
1609
|
*
|
|
1594
1610
|
* **When to use**
|
|
1595
1611
|
*
|
|
1596
|
-
* Use to parse `FormData` from HTTP requests into
|
|
1612
|
+
* Use when you need a schema getter to parse `FormData` from HTTP requests into
|
|
1613
|
+
* structured objects.
|
|
1597
1614
|
*
|
|
1598
1615
|
* **Details**
|
|
1599
1616
|
*
|
|
1600
|
-
*
|
|
1601
|
-
*
|
|
1602
|
-
*
|
|
1617
|
+
* The getter is pure and never fails. It interprets bracket-path keys such as
|
|
1618
|
+
* `user[name]` and `items[0]` to build nested objects or arrays, and each leaf
|
|
1619
|
+
* value is a `string` or `Blob`.
|
|
1603
1620
|
*
|
|
1604
1621
|
* **Example** (Decode FormData)
|
|
1605
1622
|
*
|
|
@@ -1630,13 +1647,14 @@ const collectFormDataEntries = collectBracketPathEntries((value): value is strin
|
|
|
1630
1647
|
*
|
|
1631
1648
|
* **When to use**
|
|
1632
1649
|
*
|
|
1633
|
-
* Use to serialize structured data to `FormData`
|
|
1650
|
+
* Use when you need a schema getter to serialize structured data to `FormData`
|
|
1651
|
+
* for HTTP requests.
|
|
1634
1652
|
*
|
|
1635
1653
|
* **Details**
|
|
1636
1654
|
*
|
|
1637
|
-
*
|
|
1638
|
-
*
|
|
1639
|
-
*
|
|
1655
|
+
* The getter is pure and never fails. It flattens nested objects or arrays into
|
|
1656
|
+
* bracket-path keys such as `user[name]` and `items[0]`. Non-object inputs
|
|
1657
|
+
* produce an empty `FormData`.
|
|
1640
1658
|
*
|
|
1641
1659
|
* **Example** (Encode to FormData)
|
|
1642
1660
|
*
|
|
@@ -1672,13 +1690,14 @@ export function encodeFormData(): Getter<FormData, unknown> {
|
|
|
1672
1690
|
*
|
|
1673
1691
|
* **When to use**
|
|
1674
1692
|
*
|
|
1675
|
-
* Use to parse query parameters from URLs into
|
|
1693
|
+
* Use when you need a schema getter to parse query parameters from URLs into
|
|
1694
|
+
* structured objects.
|
|
1676
1695
|
*
|
|
1677
1696
|
* **Details**
|
|
1678
1697
|
*
|
|
1679
|
-
*
|
|
1680
|
-
*
|
|
1681
|
-
*
|
|
1698
|
+
* The getter is pure and never fails. It interprets bracket-path keys such as
|
|
1699
|
+
* `user[name]` and `items[0]` to build nested objects or arrays, and each leaf
|
|
1700
|
+
* value is a `string`.
|
|
1682
1701
|
*
|
|
1683
1702
|
* **Example** (Decode URLSearchParams)
|
|
1684
1703
|
*
|
|
@@ -1707,13 +1726,13 @@ const collectURLSearchParamsEntries = collectBracketPathEntries(Predicate.isStri
|
|
|
1707
1726
|
*
|
|
1708
1727
|
* **When to use**
|
|
1709
1728
|
*
|
|
1710
|
-
* Use to serialize structured data to query
|
|
1729
|
+
* Use when you need a schema getter to serialize structured data to query
|
|
1730
|
+
* parameters for URLs.
|
|
1711
1731
|
*
|
|
1712
1732
|
* **Details**
|
|
1713
1733
|
*
|
|
1714
|
-
*
|
|
1715
|
-
* -
|
|
1716
|
-
* - Non-object inputs produce an empty `URLSearchParams`.
|
|
1734
|
+
* The getter is pure and never fails. It flattens nested objects or arrays into
|
|
1735
|
+
* bracket-path keys. Non-object inputs produce an empty `URLSearchParams`.
|
|
1717
1736
|
*
|
|
1718
1737
|
* **Example** (Encode to URLSearchParams)
|
|
1719
1738
|
*
|
|
@@ -1763,7 +1782,8 @@ function bracketPathToTokens(bracketPath: string): Array<string | number> {
|
|
|
1763
1782
|
*
|
|
1764
1783
|
* **When to use**
|
|
1765
1784
|
*
|
|
1766
|
-
* Use to parse FormData or URLSearchParams
|
|
1785
|
+
* Use when you need a schema getter to parse FormData or URLSearchParams
|
|
1786
|
+
* entries into structured objects.
|
|
1767
1787
|
* - You have flat key-value pairs with bracket-path keys that need nesting.
|
|
1768
1788
|
*
|
|
1769
1789
|
* **Details**
|
|
@@ -1857,7 +1877,8 @@ export function makeTreeRecord<A>(
|
|
|
1857
1877
|
*
|
|
1858
1878
|
* **When to use**
|
|
1859
1879
|
*
|
|
1860
|
-
* Use to serialize structured objects to flat
|
|
1880
|
+
* Use when you need a schema getter to serialize structured objects to flat
|
|
1881
|
+
* key-value entries.
|
|
1861
1882
|
* - Building custom `FormData` or `URLSearchParams` encoders.
|
|
1862
1883
|
*
|
|
1863
1884
|
* **Details**
|