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
|
@@ -6,17 +6,17 @@ import * as Number from "../../Number.ts"
|
|
|
6
6
|
import * as Option from "../../Option.ts"
|
|
7
7
|
import * as Predicate from "../../Predicate.ts"
|
|
8
8
|
import type * as Schema from "../../Schema.ts"
|
|
9
|
-
import * as
|
|
9
|
+
import * as SchemaAST from "../../SchemaAST.ts"
|
|
10
10
|
import * as Struct from "../../Struct.ts"
|
|
11
11
|
import type * as FastCheck from "../../testing/FastCheck.ts"
|
|
12
12
|
import * as UndefinedOr from "../../UndefinedOr.ts"
|
|
13
13
|
import { errorWithPath } from "../errors.ts"
|
|
14
14
|
import * as InternalAnnotations from "./annotations.ts"
|
|
15
15
|
|
|
16
|
-
const arbitraryMemoMap = new WeakMap<
|
|
16
|
+
const arbitraryMemoMap = new WeakMap<SchemaAST.AST, LazyArbitraryWithContext<any>>()
|
|
17
17
|
|
|
18
|
-
function applyChecks(ast:
|
|
19
|
-
return filters.map((filter) => (a: any) => filter.run(a, ast,
|
|
18
|
+
function applyChecks(ast: SchemaAST.AST, filters: Array<SchemaAST.Filter<any>>, arbitrary: FastCheck.Arbitrary<any>) {
|
|
19
|
+
return filters.map((filter) => (a: any) => filter.run(a, ast, SchemaAST.defaultParseOptions) === undefined).reduce(
|
|
20
20
|
(acc, filter) => acc.filter(filter),
|
|
21
21
|
arbitrary
|
|
22
22
|
)
|
|
@@ -99,7 +99,7 @@ function isConstraintKey(key: string): key is keyof Schema.Annotations.ToArbitra
|
|
|
99
99
|
|
|
100
100
|
/** @internal */
|
|
101
101
|
export function constraintContext(
|
|
102
|
-
filters: Array<
|
|
102
|
+
filters: Array<SchemaAST.Filter<any>>
|
|
103
103
|
): (ctx: Schema.Annotations.ToArbitrary.Context) => Schema.Annotations.ToArbitrary.Context {
|
|
104
104
|
const annotations = filters.map((filter) => filter.annotations?.toArbitraryConstraint).filter(
|
|
105
105
|
Predicate.isNotUndefined
|
|
@@ -140,7 +140,7 @@ interface LazyArbitraryWithContext<T> {
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
/** @internal */
|
|
143
|
-
export function getFilters(checks:
|
|
143
|
+
export function getFilters(checks: SchemaAST.Checks | undefined): Array<SchemaAST.Filter<any>> {
|
|
144
144
|
if (checks) {
|
|
145
145
|
return checks.flatMap((check) => {
|
|
146
146
|
switch (check._tag) {
|
|
@@ -155,11 +155,11 @@ export function getFilters(checks: AST.Checks | undefined): Array<AST.Filter<any
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
/** @internal */
|
|
158
|
-
export const memoized = memoize((ast:
|
|
158
|
+
export const memoized = memoize((ast: SchemaAST.AST): LazyArbitraryWithContext<any> => {
|
|
159
159
|
return recur(ast, [])
|
|
160
160
|
})
|
|
161
161
|
|
|
162
|
-
function recur(ast:
|
|
162
|
+
function recur(ast: SchemaAST.AST, path: ReadonlyArray<PropertyKey>): LazyArbitraryWithContext<any> {
|
|
163
163
|
// ---------------------------------------------
|
|
164
164
|
// handle Override annotation
|
|
165
165
|
// ---------------------------------------------
|
|
@@ -167,7 +167,7 @@ function recur(ast: AST.AST, path: ReadonlyArray<PropertyKey>): LazyArbitraryWit
|
|
|
167
167
|
| Schema.Annotations.ToArbitrary.Declaration<any, ReadonlyArray<Schema.Top>>
|
|
168
168
|
| undefined
|
|
169
169
|
if (annotation) {
|
|
170
|
-
const typeParameters =
|
|
170
|
+
const typeParameters = SchemaAST.isDeclaration(ast) ? ast.typeParameters.map((tp) => recur(tp, path)) : []
|
|
171
171
|
const filters = getFilters(ast.checks)
|
|
172
172
|
const f = constraintContext(filters)
|
|
173
173
|
return (fc, ctx) =>
|
|
@@ -180,13 +180,13 @@ function recur(ast: AST.AST, path: ReadonlyArray<PropertyKey>): LazyArbitraryWit
|
|
|
180
180
|
if (ast.checks) {
|
|
181
181
|
const filters = getFilters(ast.checks)
|
|
182
182
|
const f = constraintContext(filters)
|
|
183
|
-
const lawc = recur(
|
|
183
|
+
const lawc = recur(SchemaAST.replaceChecks(ast, undefined), path)
|
|
184
184
|
return (fc, ctx) => applyChecks(ast, filters, lawc(fc, f(ctx)))
|
|
185
185
|
}
|
|
186
186
|
return base(ast, path)
|
|
187
187
|
}
|
|
188
188
|
|
|
189
|
-
function base(ast:
|
|
189
|
+
function base(ast: SchemaAST.AST, path: ReadonlyArray<PropertyKey>): LazyArbitraryWithContext<any> {
|
|
190
190
|
switch (ast._tag) {
|
|
191
191
|
case "Never":
|
|
192
192
|
case "Declaration":
|
|
@@ -229,9 +229,9 @@ function base(ast: AST.AST, path: ReadonlyArray<PropertyKey>): LazyArbitraryWith
|
|
|
229
229
|
case "ObjectKeyword":
|
|
230
230
|
return (fc) => fc.oneof(fc.object(), fc.array(fc.anything()))
|
|
231
231
|
case "Enum":
|
|
232
|
-
return recur(
|
|
232
|
+
return recur(SchemaAST.enumsToLiterals(ast), path)
|
|
233
233
|
case "TemplateLiteral":
|
|
234
|
-
return (fc) => fc.stringMatching(
|
|
234
|
+
return (fc) => fc.stringMatching(SchemaAST.getTemplateLiteralRegExp(ast))
|
|
235
235
|
case "Arrays":
|
|
236
236
|
return (fc, ctx) => {
|
|
237
237
|
const reset = resetContext(ctx)
|
|
@@ -240,7 +240,7 @@ function base(ast: AST.AST, path: ReadonlyArray<PropertyKey>): LazyArbitraryWith
|
|
|
240
240
|
// ---------------------------------------------
|
|
241
241
|
const elements: Array<FastCheck.Arbitrary<Option.Option<any>>> = ast.elements.map((e, i) => {
|
|
242
242
|
const out = recur(e, [...path, i])(fc, reset)
|
|
243
|
-
if (!
|
|
243
|
+
if (!SchemaAST.isOptional(e)) {
|
|
244
244
|
return out.map(Option.some)
|
|
245
245
|
}
|
|
246
246
|
return out.chain((a) => fc.boolean().map((b) => b ? Option.some(a) : Option.none()))
|
|
@@ -285,7 +285,7 @@ function base(ast: AST.AST, path: ReadonlyArray<PropertyKey>): LazyArbitraryWith
|
|
|
285
285
|
const requiredKeys: Array<PropertyKey> = []
|
|
286
286
|
for (const ps of ast.propertySignatures) {
|
|
287
287
|
const name = ps.name
|
|
288
|
-
if (!
|
|
288
|
+
if (!SchemaAST.isOptional(ps.type)) {
|
|
289
289
|
requiredKeys.push(name)
|
|
290
290
|
}
|
|
291
291
|
pss[name] = recur(ps.type, [...path, name])(fc, reset)
|
|
@@ -315,7 +315,7 @@ function base(ast: AST.AST, path: ReadonlyArray<PropertyKey>): LazyArbitraryWith
|
|
|
315
315
|
|
|
316
316
|
if (memo) return memo
|
|
317
317
|
|
|
318
|
-
const get =
|
|
318
|
+
const get = SchemaAST.memoizeThunk(() => recur(ast.thunk(), path))
|
|
319
319
|
const out: LazyArbitraryWithContext<any> = (fc, ctx) =>
|
|
320
320
|
fc.constant(null).chain(() => get()(fc, { ...ctx, isSuspend: true }))
|
|
321
321
|
|
|
@@ -3,17 +3,17 @@ import * as Equivalence from "../../Equivalence.ts"
|
|
|
3
3
|
import { memoize } from "../../Function.ts"
|
|
4
4
|
import * as Predicate from "../../Predicate.ts"
|
|
5
5
|
import type * as Schema from "../../Schema.ts"
|
|
6
|
-
import * as
|
|
7
|
-
import * as
|
|
6
|
+
import * as SchemaAST from "../../SchemaAST.ts"
|
|
7
|
+
import * as SchemaParser from "../../SchemaParser.ts"
|
|
8
8
|
import { errorWithPath } from "../errors.ts"
|
|
9
9
|
import * as InternalAnnotations from "./annotations.ts"
|
|
10
10
|
|
|
11
11
|
/** @internal */
|
|
12
|
-
export const toEquivalence = memoize((ast:
|
|
12
|
+
export const toEquivalence = memoize((ast: SchemaAST.AST): Equivalence.Equivalence<any> => {
|
|
13
13
|
return recur(ast, [])
|
|
14
14
|
})
|
|
15
15
|
|
|
16
|
-
function recur(ast:
|
|
16
|
+
function recur(ast: SchemaAST.AST, path: ReadonlyArray<PropertyKey>): Equivalence.Equivalence<any> {
|
|
17
17
|
// ---------------------------------------------
|
|
18
18
|
// handle annotations
|
|
19
19
|
// ---------------------------------------------
|
|
@@ -21,7 +21,7 @@ function recur(ast: AST.AST, path: ReadonlyArray<PropertyKey>): Equivalence.Equi
|
|
|
21
21
|
| Schema.Annotations.ToEquivalence.Declaration<any, ReadonlyArray<any>>
|
|
22
22
|
| undefined
|
|
23
23
|
if (annotation) {
|
|
24
|
-
return annotation(
|
|
24
|
+
return annotation(SchemaAST.isDeclaration(ast) ? ast.typeParameters.map((tp) => recur(tp, path)) : [])
|
|
25
25
|
}
|
|
26
26
|
switch (ast._tag) {
|
|
27
27
|
case "Never":
|
|
@@ -105,7 +105,7 @@ function recur(ast: AST.AST, path: ReadonlyArray<PropertyKey>): Equivalence.Equi
|
|
|
105
105
|
const name = ps.name
|
|
106
106
|
const aHas = Object.hasOwn(a, name)
|
|
107
107
|
const bHas = Object.hasOwn(b, name)
|
|
108
|
-
if (
|
|
108
|
+
if (SchemaAST.isOptional(ps.type)) {
|
|
109
109
|
if (aHas !== bHas) {
|
|
110
110
|
return false
|
|
111
111
|
}
|
|
@@ -119,8 +119,8 @@ function recur(ast: AST.AST, path: ReadonlyArray<PropertyKey>): Equivalence.Equi
|
|
|
119
119
|
// ---------------------------------------------
|
|
120
120
|
for (let i = 0; i < indexSignatures.length; i++) {
|
|
121
121
|
const is = ast.indexSignatures[i]
|
|
122
|
-
const aKeys =
|
|
123
|
-
const bKeys =
|
|
122
|
+
const aKeys = SchemaAST.getIndexSignatureKeys(a, is.parameter)
|
|
123
|
+
const bKeys = SchemaAST.getIndexSignatureKeys(b, is.parameter)
|
|
124
124
|
|
|
125
125
|
if (aKeys.length !== bKeys.length) return false
|
|
126
126
|
|
|
@@ -136,8 +136,8 @@ function recur(ast: AST.AST, path: ReadonlyArray<PropertyKey>): Equivalence.Equi
|
|
|
136
136
|
}
|
|
137
137
|
case "Union":
|
|
138
138
|
return Equivalence.make((a, b) => {
|
|
139
|
-
const candidates =
|
|
140
|
-
const types = candidates.map(
|
|
139
|
+
const candidates = SchemaAST.getCandidates(a, ast.types)
|
|
140
|
+
const types = candidates.map(SchemaParser._is)
|
|
141
141
|
for (let i = 0; i < candidates.length; i++) {
|
|
142
142
|
const is = types[i]
|
|
143
143
|
if (is(a) && is(b)) {
|
|
@@ -147,7 +147,7 @@ function recur(ast: AST.AST, path: ReadonlyArray<PropertyKey>): Equivalence.Equi
|
|
|
147
147
|
return false
|
|
148
148
|
})
|
|
149
149
|
case "Suspend": {
|
|
150
|
-
const get =
|
|
150
|
+
const get = SchemaAST.memoizeThunk(() => recur(ast.thunk(), path))
|
|
151
151
|
return Equivalence.make((a, b) => get()(a, b))
|
|
152
152
|
}
|
|
153
153
|
}
|
|
@@ -7,24 +7,24 @@ import * as Predicate from "../../Predicate.ts"
|
|
|
7
7
|
import * as Rec from "../../Record.ts"
|
|
8
8
|
import * as RegEx from "../../RegExp.ts"
|
|
9
9
|
import type * as Schema from "../../Schema.ts"
|
|
10
|
-
import * as
|
|
10
|
+
import * as SchemaAST from "../../SchemaAST.ts"
|
|
11
11
|
import type * as SchemaRepresentation from "../../SchemaRepresentation.ts"
|
|
12
12
|
import * as InternalAnnotations from "./annotations.ts"
|
|
13
13
|
import * as InternalSchema from "./schema.ts"
|
|
14
14
|
|
|
15
15
|
/** @internal */
|
|
16
|
-
export function fromAST(ast:
|
|
16
|
+
export function fromAST(ast: SchemaAST.AST): SchemaRepresentation.Document {
|
|
17
17
|
const { references, representations: schemas } = fromASTs([ast])
|
|
18
18
|
return { representation: schemas[0], references }
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/** @internal */
|
|
22
|
-
export function fromASTs(asts: readonly [
|
|
22
|
+
export function fromASTs(asts: readonly [SchemaAST.AST, ...Array<SchemaAST.AST>]): SchemaRepresentation.MultiDocument {
|
|
23
23
|
const references: Record<string, SchemaRepresentation.Representation> = {}
|
|
24
24
|
|
|
25
|
-
const referenceMap = new Map<
|
|
25
|
+
const referenceMap = new Map<SchemaAST.AST, string>()
|
|
26
26
|
const uniqueReferences = new Set<string>()
|
|
27
|
-
const visiting = new Set<
|
|
27
|
+
const visiting = new Set<SchemaAST.AST>()
|
|
28
28
|
|
|
29
29
|
const schemas = Arr.map(asts, (ast) => recur(ast))
|
|
30
30
|
|
|
@@ -45,13 +45,13 @@ export function fromASTs(asts: readonly [AST.AST, ...Array<AST.AST>]): SchemaRep
|
|
|
45
45
|
return candidate
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
function recur(ast:
|
|
48
|
+
function recur(ast: SchemaAST.AST, prefix?: string): SchemaRepresentation.Representation {
|
|
49
49
|
const found = referenceMap.get(ast)
|
|
50
50
|
if (found !== undefined) {
|
|
51
51
|
return { _tag: "Reference", $ref: found }
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
const last =
|
|
54
|
+
const last = SchemaAST.getLastEncoding(ast)
|
|
55
55
|
const identifier = InternalAnnotations.resolveIdentifier(ast) ?? prefix
|
|
56
56
|
|
|
57
57
|
if (ast !== last) {
|
|
@@ -95,17 +95,17 @@ export function fromASTs(asts: readonly [AST.AST, ...Array<AST.AST>]): SchemaRep
|
|
|
95
95
|
return out
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
function getEncodedSchema(last:
|
|
98
|
+
function getEncodedSchema(last: SchemaAST.Declaration): SchemaAST.AST {
|
|
99
99
|
const getLink = last.annotations?.toCodecJson ?? last.annotations?.toCodec
|
|
100
100
|
if (Predicate.isFunction(getLink)) {
|
|
101
|
-
const tps = last.typeParameters.map((tp) => InternalSchema.make(
|
|
101
|
+
const tps = last.typeParameters.map((tp) => InternalSchema.make(SchemaAST.toEncoded(tp)))
|
|
102
102
|
const link = getLink(tps)
|
|
103
|
-
return
|
|
103
|
+
return SchemaAST.replaceEncoding(last, [link])
|
|
104
104
|
}
|
|
105
|
-
return
|
|
105
|
+
return SchemaAST.null
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
function on(last:
|
|
108
|
+
function on(last: SchemaAST.AST): SchemaRepresentation.Representation {
|
|
109
109
|
const annotations = fromASTAnnotations(last.annotations)
|
|
110
110
|
switch (last._tag) {
|
|
111
111
|
case "Declaration": {
|
|
@@ -135,7 +135,7 @@ export function fromASTs(asts: readonly [AST.AST, ...Array<AST.AST>]): SchemaRep
|
|
|
135
135
|
_tag: last._tag,
|
|
136
136
|
checks: fromASTChecks(last.checks),
|
|
137
137
|
...annotations,
|
|
138
|
-
...(typeof contentMediaType === "string" &&
|
|
138
|
+
...(typeof contentMediaType === "string" && SchemaAST.isAST(contentSchema)
|
|
139
139
|
? { contentSchema: recur(contentSchema) }
|
|
140
140
|
: undefined)
|
|
141
141
|
}
|
|
@@ -180,9 +180,9 @@ export function fromASTs(asts: readonly [AST.AST, ...Array<AST.AST>]): SchemaRep
|
|
|
180
180
|
return {
|
|
181
181
|
_tag: last._tag,
|
|
182
182
|
elements: last.elements.map((e) => {
|
|
183
|
-
const last =
|
|
183
|
+
const last = SchemaAST.getLastEncoding(e)
|
|
184
184
|
return {
|
|
185
|
-
isOptional:
|
|
185
|
+
isOptional: SchemaAST.isOptional(last),
|
|
186
186
|
type: recur(e),
|
|
187
187
|
...fromASTAnnotations(last.context?.annotations)
|
|
188
188
|
}
|
|
@@ -195,12 +195,12 @@ export function fromASTs(asts: readonly [AST.AST, ...Array<AST.AST>]): SchemaRep
|
|
|
195
195
|
return {
|
|
196
196
|
_tag: last._tag,
|
|
197
197
|
propertySignatures: last.propertySignatures.map((ps) => {
|
|
198
|
-
const last =
|
|
198
|
+
const last = SchemaAST.getLastEncoding(ps.type)
|
|
199
199
|
return {
|
|
200
200
|
name: ps.name,
|
|
201
201
|
type: recur(ps.type),
|
|
202
|
-
isOptional:
|
|
203
|
-
isMutable:
|
|
202
|
+
isOptional: SchemaAST.isOptional(last),
|
|
203
|
+
isMutable: SchemaAST.isMutable(last),
|
|
204
204
|
...fromASTAnnotations(last.context?.annotations)
|
|
205
205
|
}
|
|
206
206
|
}),
|
|
@@ -232,12 +232,12 @@ export function fromASTs(asts: readonly [AST.AST, ...Array<AST.AST>]): SchemaRep
|
|
|
232
232
|
}
|
|
233
233
|
|
|
234
234
|
function fromASTChecks(
|
|
235
|
-
checks: readonly [
|
|
235
|
+
checks: readonly [SchemaAST.Check<any>, ...Array<SchemaAST.Check<any>>] | undefined
|
|
236
236
|
): Array<SchemaRepresentation.Check<any>> {
|
|
237
237
|
if (!checks) return []
|
|
238
238
|
return checks.map(getCheck).filter((c) => c !== undefined)
|
|
239
239
|
|
|
240
|
-
function getCheck(c:
|
|
240
|
+
function getCheck(c: SchemaAST.Check<any>): SchemaRepresentation.Check<any> | undefined {
|
|
241
241
|
switch (c._tag) {
|
|
242
242
|
case "Filter": {
|
|
243
243
|
const meta = c.annotations?.meta
|
|
@@ -283,7 +283,7 @@ export const fromASTBlacklist: Set<string> = new Set([
|
|
|
283
283
|
"toCodec",
|
|
284
284
|
"toCodecJson",
|
|
285
285
|
"toCodecIso",
|
|
286
|
-
|
|
286
|
+
SchemaAST.ClassTypeId
|
|
287
287
|
])
|
|
288
288
|
|
|
289
289
|
const standardJsonSchemaAnnotationKeys: ReadonlySet<string> = new Set([
|
|
@@ -784,9 +784,9 @@ function getPartPattern(part: SchemaRepresentation.Representation): string {
|
|
|
784
784
|
case "Literal":
|
|
785
785
|
return RegEx.escape(globalThis.String(part.literal))
|
|
786
786
|
case "String":
|
|
787
|
-
return
|
|
787
|
+
return SchemaAST.STRING_PATTERN
|
|
788
788
|
case "Number":
|
|
789
|
-
return
|
|
789
|
+
return SchemaAST.FINITE_PATTERN
|
|
790
790
|
case "TemplateLiteral":
|
|
791
791
|
return part.parts.map(getPartPattern).join("")
|
|
792
792
|
case "Union":
|
|
@@ -2,9 +2,9 @@ import * as Effect from "../../Effect.ts"
|
|
|
2
2
|
import { flow } from "../../Function.ts"
|
|
3
3
|
import * as Pipeable from "../../Pipeable.ts"
|
|
4
4
|
import type * as Schema from "../../Schema.ts"
|
|
5
|
-
import * as
|
|
5
|
+
import * as SchemaAST from "../../SchemaAST.ts"
|
|
6
6
|
import type { Issue } from "../../SchemaIssue.ts"
|
|
7
|
-
import * as
|
|
7
|
+
import * as SchemaParser from "../../SchemaParser.ts"
|
|
8
8
|
|
|
9
9
|
/** @internal */
|
|
10
10
|
export const TypeId = "~effect/Schema/Schema"
|
|
@@ -15,13 +15,13 @@ const SchemaProto = {
|
|
|
15
15
|
return Pipeable.pipeArguments(this, arguments)
|
|
16
16
|
},
|
|
17
17
|
annotate(this: Schema.Top, annotations: Schema.Annotations.Annotations) {
|
|
18
|
-
return this.rebuild(
|
|
18
|
+
return this.rebuild(SchemaAST.annotate(this.ast, annotations))
|
|
19
19
|
},
|
|
20
20
|
annotateKey(this: Schema.Top, annotations: Schema.Annotations.Key<unknown>) {
|
|
21
|
-
return this.rebuild(
|
|
21
|
+
return this.rebuild(SchemaAST.annotateKey(this.ast, annotations))
|
|
22
22
|
},
|
|
23
|
-
check(this: Schema.Top, ...checks: readonly [
|
|
24
|
-
return this.rebuild(
|
|
23
|
+
check(this: Schema.Top, ...checks: readonly [SchemaAST.Check<unknown>, ...Array<SchemaAST.Check<unknown>>]) {
|
|
24
|
+
return this.rebuild(SchemaAST.appendChecks(this.ast, checks))
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -32,10 +32,10 @@ export function make<S extends Schema.Top>(ast: S["ast"], options?: object): S {
|
|
|
32
32
|
Object.assign(self, options)
|
|
33
33
|
}
|
|
34
34
|
self.ast = ast
|
|
35
|
-
self.rebuild = (ast:
|
|
36
|
-
self.makeEffect = flow(
|
|
37
|
-
self.make =
|
|
38
|
-
self.makeOption =
|
|
35
|
+
self.rebuild = (ast: SchemaAST.AST) => make(ast, options)
|
|
36
|
+
self.makeEffect = flow(SchemaParser.makeEffect(self), Effect.mapErrorEager((issue) => new SchemaError(issue)))
|
|
37
|
+
self.make = SchemaParser.make(self)
|
|
38
|
+
self.makeOption = SchemaParser.makeOption(self)
|
|
39
39
|
return self
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -62,7 +62,7 @@ export class SchemaError {
|
|
|
62
62
|
/** @internal */
|
|
63
63
|
export const jsonReorder = makeReorder(getJsonPriority)
|
|
64
64
|
|
|
65
|
-
function getJsonPriority(ast:
|
|
65
|
+
function getJsonPriority(ast: SchemaAST.AST): number {
|
|
66
66
|
switch (ast._tag) {
|
|
67
67
|
case "BigInt":
|
|
68
68
|
case "Symbol":
|
|
@@ -74,18 +74,18 @@ function getJsonPriority(ast: AST.AST): number {
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
/** @internal */
|
|
77
|
-
export function makeReorder(getPriority: (ast:
|
|
78
|
-
return (types: ReadonlyArray<
|
|
77
|
+
export function makeReorder(getPriority: (ast: SchemaAST.AST) => number) {
|
|
78
|
+
return (types: ReadonlyArray<SchemaAST.AST>): ReadonlyArray<SchemaAST.AST> => {
|
|
79
79
|
// Create a map of original indices for O(1) lookup
|
|
80
|
-
const indexMap = new Map<
|
|
80
|
+
const indexMap = new Map<SchemaAST.AST, number>()
|
|
81
81
|
for (let i = 0; i < types.length; i++) {
|
|
82
|
-
indexMap.set(
|
|
82
|
+
indexMap.set(SchemaAST.toEncoded(types[i]), i)
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
// Create a sorted copy of the types array
|
|
86
86
|
const sortedTypes = [...types].sort((a, b) => {
|
|
87
|
-
a =
|
|
88
|
-
b =
|
|
87
|
+
a = SchemaAST.toEncoded(a)
|
|
88
|
+
b = SchemaAST.toEncoded(b)
|
|
89
89
|
const pa = getPriority(a)
|
|
90
90
|
const pb = getPriority(b)
|
|
91
91
|
if (pa !== pb) return pa - pb
|
|
@@ -72,9 +72,9 @@ import * as Effect from "../Effect.ts"
|
|
|
72
72
|
import * as Record from "../Record.ts"
|
|
73
73
|
import * as Result from "../Result.ts"
|
|
74
74
|
import * as Schema from "../Schema.ts"
|
|
75
|
-
import * as
|
|
76
|
-
import type * as
|
|
77
|
-
import * as
|
|
75
|
+
import * as SchemaAST from "../SchemaAST.ts"
|
|
76
|
+
import type * as SchemaIssue from "../SchemaIssue.ts"
|
|
77
|
+
import * as SchemaParser from "../SchemaParser.ts"
|
|
78
78
|
import * as FastCheck from "../testing/FastCheck.ts"
|
|
79
79
|
|
|
80
80
|
/**
|
|
@@ -132,12 +132,12 @@ export class Asserts<S extends Schema.Top> {
|
|
|
132
132
|
static ast = {
|
|
133
133
|
fields: {
|
|
134
134
|
equals: (a: Schema.Struct.Fields, b: Schema.Struct.Fields) => {
|
|
135
|
-
assert.deepStrictEqual(Record.map(a,
|
|
135
|
+
assert.deepStrictEqual(Record.map(a, SchemaAST.getAST), Record.map(b, SchemaAST.getAST))
|
|
136
136
|
}
|
|
137
137
|
},
|
|
138
138
|
elements: {
|
|
139
139
|
equals: (a: Schema.Tuple.Elements, b: Schema.Tuple.Elements) => {
|
|
140
|
-
assert.deepStrictEqual(a.map(
|
|
140
|
+
assert.deepStrictEqual(a.map(SchemaAST.getAST), b.map(SchemaAST.getAST))
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
} as const
|
|
@@ -173,7 +173,7 @@ export class Asserts<S extends Schema.Top> {
|
|
|
173
173
|
* @see {@link encoding} for assertions against encoded output
|
|
174
174
|
*/
|
|
175
175
|
make(options?: Schema.MakeOptions) {
|
|
176
|
-
const makeEffect =
|
|
176
|
+
const makeEffect = SchemaParser.makeEffect(this.schema)
|
|
177
177
|
async function succeed(input: S["Type"]): Promise<void>
|
|
178
178
|
async function succeed(input: S["~type.make.in"], expected: S["Type"]): Promise<void>
|
|
179
179
|
async function succeed(input: S["~type.make.in"], expected?: S["Type"]) {
|
|
@@ -226,8 +226,8 @@ export class Asserts<S extends Schema.Top> {
|
|
|
226
226
|
verifyLosslessTransformation<S extends Schema.Codec<unknown, unknown>>(this: Asserts<S>, options?: {
|
|
227
227
|
readonly params?: FastCheck.Parameters<[S["Type"]]>
|
|
228
228
|
}) {
|
|
229
|
-
const decodeUnknownEffect =
|
|
230
|
-
const encodeEffect =
|
|
229
|
+
const decodeUnknownEffect = SchemaParser.decodeUnknownEffect(this.schema)
|
|
230
|
+
const encodeEffect = SchemaParser.encodeEffect(this.schema)
|
|
231
231
|
const arbitrary = Schema.toArbitrary(this.schema)
|
|
232
232
|
return FastCheck.assert(
|
|
233
233
|
FastCheck.asyncProperty(arbitrary, async (t) => {
|
|
@@ -270,7 +270,7 @@ export class Asserts<S extends Schema.Top> {
|
|
|
270
270
|
* @see {@link encoding} for assertions in the opposite direction
|
|
271
271
|
*/
|
|
272
272
|
decoding(options?: {
|
|
273
|
-
readonly parseOptions?:
|
|
273
|
+
readonly parseOptions?: SchemaAST.ParseOptions | undefined
|
|
274
274
|
}) {
|
|
275
275
|
return new Decoding(this.schema, options)
|
|
276
276
|
}
|
|
@@ -300,7 +300,7 @@ export class Asserts<S extends Schema.Top> {
|
|
|
300
300
|
* @see {@link decoding} for assertions in the opposite direction
|
|
301
301
|
*/
|
|
302
302
|
encoding(options?: {
|
|
303
|
-
readonly parseOptions?:
|
|
303
|
+
readonly parseOptions?: SchemaAST.ParseOptions | undefined
|
|
304
304
|
}) {
|
|
305
305
|
return new Encoding(this.schema, options)
|
|
306
306
|
}
|
|
@@ -374,16 +374,16 @@ export class Decoding<S extends Schema.Top> {
|
|
|
374
374
|
readonly schema: S
|
|
375
375
|
readonly decodeUnknownEffect: (
|
|
376
376
|
input: unknown,
|
|
377
|
-
options?:
|
|
378
|
-
) => Effect.Effect<S["Type"],
|
|
377
|
+
options?: SchemaAST.ParseOptions
|
|
378
|
+
) => Effect.Effect<S["Type"], SchemaIssue.Issue, S["DecodingServices"]>
|
|
379
379
|
readonly options?: {
|
|
380
|
-
readonly parseOptions?:
|
|
380
|
+
readonly parseOptions?: SchemaAST.ParseOptions | undefined
|
|
381
381
|
} | undefined
|
|
382
382
|
constructor(schema: S, options?: {
|
|
383
|
-
readonly parseOptions?:
|
|
383
|
+
readonly parseOptions?: SchemaAST.ParseOptions | undefined
|
|
384
384
|
}) {
|
|
385
385
|
this.schema = schema
|
|
386
|
-
this.decodeUnknownEffect =
|
|
386
|
+
this.decodeUnknownEffect = SchemaParser.decodeUnknownEffect(schema)
|
|
387
387
|
this.options = options
|
|
388
388
|
}
|
|
389
389
|
/**
|
|
@@ -514,16 +514,16 @@ export class Encoding<S extends Schema.Top> {
|
|
|
514
514
|
readonly schema: S
|
|
515
515
|
readonly encodeUnknownEffect: (
|
|
516
516
|
input: unknown,
|
|
517
|
-
options?:
|
|
518
|
-
) => Effect.Effect<S["Type"],
|
|
517
|
+
options?: SchemaAST.ParseOptions
|
|
518
|
+
) => Effect.Effect<S["Type"], SchemaIssue.Issue, S["EncodingServices"]>
|
|
519
519
|
readonly options?: {
|
|
520
|
-
readonly parseOptions?:
|
|
520
|
+
readonly parseOptions?: SchemaAST.ParseOptions | undefined
|
|
521
521
|
} | undefined
|
|
522
522
|
constructor(schema: S, options?: {
|
|
523
|
-
readonly parseOptions?:
|
|
523
|
+
readonly parseOptions?: SchemaAST.ParseOptions | undefined
|
|
524
524
|
}) {
|
|
525
525
|
this.schema = schema
|
|
526
|
-
this.encodeUnknownEffect =
|
|
526
|
+
this.encodeUnknownEffect = SchemaParser.encodeUnknownEffect(schema)
|
|
527
527
|
this.options = options
|
|
528
528
|
}
|
|
529
529
|
/**
|
|
@@ -1497,7 +1497,8 @@ const TypeId = "~effect/unstable/ai/AiError/AiError" as const
|
|
|
1497
1497
|
*
|
|
1498
1498
|
* **When to use**
|
|
1499
1499
|
*
|
|
1500
|
-
* Use
|
|
1500
|
+
* Use when you need AI errors that can be handled by semantic reason with
|
|
1501
|
+
* `Effect.catchReason`.
|
|
1501
1502
|
*
|
|
1502
1503
|
* **Details**
|
|
1503
1504
|
*
|
|
@@ -1647,7 +1648,8 @@ export const make = (params: {
|
|
|
1647
1648
|
*
|
|
1648
1649
|
* **When to use**
|
|
1649
1650
|
*
|
|
1650
|
-
* Use
|
|
1651
|
+
* Use as the base mapping when provider packages translate HTTP status codes into
|
|
1652
|
+
* provider-specific error reasons.
|
|
1651
1653
|
*
|
|
1652
1654
|
* **Example** (Mapping an HTTP status to a reason)
|
|
1653
1655
|
*
|