effect 4.0.0-beta.3 → 4.0.0-beta.30
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 +126 -299
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +102 -62
- package/dist/Array.js.map +1 -1
- package/dist/Brand.d.ts +1 -1
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +1 -1
- package/dist/Brand.js.map +1 -1
- package/dist/Cache.d.ts +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +6 -5
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +2 -2
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Channel.d.ts +116 -30
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +82 -37
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +54 -247
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +36 -67
- package/dist/Chunk.js.map +1 -1
- package/dist/Combiner.d.ts +280 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +198 -7
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +165 -9
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +65 -10
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +1 -1
- package/dist/Cron.d.ts +1 -1
- package/dist/Data.d.ts +535 -366
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +132 -79
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +23 -161
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +6 -51
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +11 -11
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +11 -11
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +1206 -924
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +390 -329
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +194 -0
- package/dist/Encoding.d.ts.map +1 -0
- package/dist/Encoding.js +352 -0
- package/dist/Encoding.js.map +1 -0
- package/dist/Equal.d.ts +276 -109
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +124 -48
- package/dist/Equal.js.map +1 -1
- package/dist/ErrorReporter.d.ts +374 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +244 -0
- package/dist/ErrorReporter.js.map +1 -0
- package/dist/Exit.d.ts +24 -12
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +8 -4
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +3 -2
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FileSystem.d.ts +1 -1
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +5 -5
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +34 -38
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +15 -13
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +229 -51
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +1 -9
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +2 -10
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +5 -8
- package/dist/Graph.js.map +1 -1
- package/dist/HashMap.d.ts +15 -14
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +4 -4
- package/dist/HashMap.js.map +1 -1
- package/dist/Iterable.d.ts +39 -39
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +94 -22
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonSchema.d.ts +299 -10
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +323 -4
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +109 -0
- package/dist/Latch.d.ts.map +1 -0
- package/dist/Latch.js +72 -0
- package/dist/Latch.js.map +1 -0
- package/dist/Layer.d.ts +121 -126
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +43 -44
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +8 -8
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +3 -3
- package/dist/LogLevel.d.ts +32 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +29 -95
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +2 -3
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +2 -2
- package/dist/ManagedRuntime.js +2 -2
- package/dist/Metric.d.ts +4 -6
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +3 -5
- package/dist/Metric.js.map +1 -1
- package/dist/Newtype.d.ts +291 -0
- package/dist/Newtype.d.ts.map +1 -0
- package/dist/Newtype.js +161 -0
- package/dist/Newtype.js.map +1 -0
- package/dist/Optic.d.ts +947 -18
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +454 -5
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +23 -16
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +15 -9
- package/dist/Option.js.map +1 -1
- package/dist/Pipeable.d.ts +17 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +19 -1
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +10 -9
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +2 -2
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +6 -4
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +7 -5
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts +3 -2
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +3 -2
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +1 -1
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +0 -1
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +35 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +46 -12
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +1 -1
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/Record.d.ts +23 -120
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +21 -41
- package/dist/Record.js.map +1 -1
- package/dist/Reducer.d.ts +166 -7
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +135 -1
- package/dist/Reducer.js.map +1 -1
- package/dist/References.d.ts +9 -4
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +6 -1
- package/dist/References.js.map +1 -1
- package/dist/Request.d.ts +1 -1
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +2 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +25 -45
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +10 -30
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +1 -1
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +1 -2
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +66 -0
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +79 -6
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +191 -102
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +152 -66
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +9 -0
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +11 -0
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +309 -88
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +499 -109
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +129 -23
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +5 -5
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +12 -14
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaParser.d.ts +5 -0
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +10 -0
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +44 -43
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +49 -24
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +107 -3
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +159 -4
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +211 -0
- package/dist/Semaphore.d.ts.map +1 -0
- package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
- package/dist/Semaphore.js.map +1 -0
- package/dist/ServiceMap.d.ts +41 -31
- package/dist/ServiceMap.d.ts.map +1 -1
- package/dist/ServiceMap.js +3 -3
- package/dist/ServiceMap.js.map +1 -1
- package/dist/Sink.d.ts +13 -13
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +53 -6
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +16 -4
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +18 -0
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +250 -428
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +137 -82
- package/dist/Stream.js.map +1 -1
- package/dist/Struct.d.ts +16 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +22 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +2 -1
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +2 -1
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +2 -1
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +2 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Trie.d.ts +18 -17
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +5 -5
- package/dist/Trie.js.map +1 -1
- package/dist/TxChunk.d.ts +37 -37
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +3 -3
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +328 -0
- package/dist/TxDeferred.d.ts.map +1 -0
- package/dist/TxDeferred.js +196 -0
- package/dist/TxDeferred.js.map +1 -0
- package/dist/TxHashMap.d.ts +84 -83
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +24 -24
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +35 -35
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +14 -14
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +609 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -0
- package/dist/TxPriorityQueue.js +415 -0
- package/dist/TxPriorityQueue.js.map +1 -0
- package/dist/TxPubSub.d.ts +585 -0
- package/dist/TxPubSub.d.ts.map +1 -0
- package/dist/TxPubSub.js +521 -0
- package/dist/TxPubSub.js.map +1 -0
- package/dist/TxQueue.d.ts +32 -32
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +26 -26
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +523 -0
- package/dist/TxReentrantLock.d.ts.map +1 -0
- package/dist/TxReentrantLock.js +504 -0
- package/dist/TxReentrantLock.js.map +1 -0
- package/dist/TxRef.d.ts +34 -34
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +21 -14
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +8 -8
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +7 -7
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +508 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -0
- package/dist/TxSubscriptionRef.js +293 -0
- package/dist/TxSubscriptionRef.js.map +1 -0
- package/dist/Types.d.ts +80 -23
- package/dist/Types.d.ts.map +1 -1
- package/dist/Utils.d.ts +137 -65
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +38 -66
- package/dist/Utils.js.map +1 -1
- package/dist/index.d.ts +718 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +718 -23
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js +11 -3
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +3 -11
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +264 -126
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +5 -4
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +3 -2
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/request.js +2 -2
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schema/annotations.js +2 -0
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/representation.js +47 -106
- package/dist/internal/schema/representation.js.map +1 -1
- package/dist/internal/schema/schema.js +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/schema/to-codec.js +7 -10
- package/dist/internal/schema/to-codec.js.map +1 -1
- package/dist/internal/trie.js +5 -4
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/TestClock.d.ts +8 -7
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +6 -4
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +266 -32
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +296 -23
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.d.ts +64 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +64 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +134 -51
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +19 -16
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +5 -5
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +38 -44
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +16 -30
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +97 -37
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +183 -88
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +57 -12
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +66 -13
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +193 -51
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +25 -7
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +22 -6
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +20 -20
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Response.d.ts +26 -26
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +1 -1
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +20 -4
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +14 -9
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +1 -1
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +4 -11
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +1 -1
- package/dist/unstable/ai/index.js +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js +0 -5
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +27 -60
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +25 -57
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.js +59 -6
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +368 -56
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +325 -64
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
- package/dist/unstable/cli/GlobalFlag.js +118 -0
- package/dist/unstable/cli/GlobalFlag.js.map +1 -0
- package/dist/unstable/cli/HelpDoc.d.ts +70 -2
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +1 -1
- package/dist/unstable/cli/Primitive.js +1 -1
- package/dist/unstable/cli/Prompt.js +35 -8
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.d.ts +4 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +4 -0
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +40 -14
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +72 -46
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js +7 -2
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
- package/dist/unstable/cli/internal/config.js +42 -0
- package/dist/unstable/cli/internal/config.js.map +1 -1
- package/dist/unstable/cli/internal/help.d.ts +33 -0
- package/dist/unstable/cli/internal/help.d.ts.map +1 -0
- package/dist/unstable/cli/internal/help.js +125 -0
- package/dist/unstable/cli/internal/help.js.map +1 -0
- package/dist/unstable/cli/internal/parser.js +55 -42
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +4 -3
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +7 -6
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +4 -4
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +10 -10
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +2 -1
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +6 -6
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +4 -3
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +9 -7
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +20 -20
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +5 -4
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +2 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
- package/dist/unstable/encoding/Msgpack.d.ts +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +1 -1
- package/dist/unstable/encoding/Sse.d.ts +4 -4
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +2 -1
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
- package/dist/unstable/http/Cookies.d.ts +47 -3
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +24 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +16 -0
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +38 -10
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +3 -3
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +6 -6
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +117 -15
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +189 -12
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +7 -7
- package/dist/unstable/http/HttpClientRequest.d.ts +16 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +31 -20
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +2 -1
- package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientResponse.js +4 -0
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +7 -5
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +46 -54
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +4 -4
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +3 -3
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +8 -17
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +20 -33
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +37 -44
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +12 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +291 -1
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
- package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +5 -5
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +50 -3
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +234 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
- package/dist/unstable/http/HttpStaticServer.js +353 -0
- package/dist/unstable/http/HttpStaticServer.js.map +1 -0
- package/dist/unstable/http/Multipart.d.ts +3 -3
- package/dist/unstable/http/UrlParams.d.ts +14 -6
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +1 -1
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.d.ts +4 -0
- package/dist/unstable/http/index.d.ts.map +1 -1
- package/dist/unstable/http/index.js +4 -0
- package/dist/unstable/http/index.js.map +1 -1
- package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
- package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js +10 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
- package/dist/unstable/httpapi/HttpApi.d.ts +4 -4
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +11 -5
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +28 -18
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +66 -6
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +40 -3
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +41 -54
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +17 -26
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +16 -14
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +44 -29
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +4 -3
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +4 -4
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +2 -2
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +32 -21
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +1 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +7 -4
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +6 -6
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +2 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +12 -11
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +2 -2
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +5 -128
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +1 -65
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -7
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +21 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +73 -12
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +107 -20
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +10 -12
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +42 -12
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +50 -9
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +9 -9
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +47 -21
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +39 -0
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
- package/dist/unstable/reactivity/Hydration.js +76 -0
- package/dist/unstable/reactivity/Hydration.js.map +1 -0
- package/dist/unstable/reactivity/index.d.ts +4 -0
- package/dist/unstable/reactivity/index.d.ts.map +1 -1
- package/dist/unstable/reactivity/index.js +4 -0
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +5 -5
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +5 -26
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +6 -13
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +2 -2
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +8 -8
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +14 -0
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +34 -9
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +5 -9
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +17 -17
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +3 -2
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +22 -1
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +15 -0
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +5 -5
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +6 -6
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +4 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +6 -5
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +3 -3
- package/dist/unstable/sql/Migrator.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +14 -14
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js +9 -3
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +3 -3
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
- package/dist/unstable/sql/SqlResolver.js +17 -8
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +17 -6
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +17 -7
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/Statement.js +0 -1
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +2 -1
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +2 -2
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +3 -3
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +1 -1
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +12 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +137 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +2 -2
- package/src/Array.ts +192 -342
- package/src/Brand.ts +1 -1
- package/src/Cache.ts +9 -8
- package/src/Cause.ts +2 -2
- package/src/Channel.ts +554 -138
- package/src/Chunk.ts +81 -268
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +186 -24
- package/src/Data.ts +539 -376
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +13 -13
- package/src/Effect.ts +1477 -1126
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/ErrorReporter.ts +457 -0
- package/src/Exit.ts +24 -12
- package/src/Fiber.ts +10 -2
- package/src/FileSystem.ts +7 -8
- package/src/Filter.ts +52 -63
- package/src/Formatter.ts +253 -51
- package/src/Function.ts +2 -10
- package/src/Graph.ts +24 -11
- package/src/HashMap.ts +15 -14
- package/src/Iterable.ts +104 -50
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +112 -0
- package/src/Layer.ts +123 -132
- package/src/LayerMap.ts +9 -9
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +33 -100
- package/src/ManagedRuntime.ts +2 -2
- package/src/Metric.ts +6 -8
- package/src/Newtype.ts +308 -0
- package/src/Optic.ts +948 -19
- package/src/Option.ts +32 -24
- package/src/Pipeable.ts +32 -1
- package/src/PlatformError.ts +5 -5
- package/src/Pool.ts +13 -11
- package/src/PubSub.ts +10 -9
- package/src/Pull.ts +1 -1
- package/src/Queue.ts +0 -1
- package/src/Random.ts +51 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Record.ts +42 -152
- package/src/Reducer.ts +166 -7
- package/src/References.ts +10 -5
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +29 -49
- package/src/Result.ts +2 -4
- package/src/Runtime.ts +102 -6
- package/src/Schedule.ts +462 -242
- package/src/Scheduler.ts +12 -0
- package/src/Schema.ts +796 -194
- package/src/SchemaAST.ts +164 -31
- package/src/SchemaGetter.ts +15 -17
- package/src/SchemaParser.ts +11 -0
- package/src/SchemaRepresentation.ts +49 -24
- package/src/SchemaTransformation.ts +189 -4
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +356 -0
- package/src/ServiceMap.ts +50 -40
- package/src/Sink.ts +78 -26
- package/src/Stdio.ts +27 -4
- package/src/Stream.ts +586 -608
- package/src/Struct.ts +26 -0
- package/src/SubscriptionRef.ts +3 -2
- package/src/SynchronizedRef.ts +3 -2
- package/src/Trie.ts +18 -17
- package/src/TxChunk.ts +72 -53
- package/src/TxDeferred.ts +394 -0
- package/src/TxHashMap.ts +332 -285
- package/src/TxHashSet.ts +111 -116
- package/src/TxPriorityQueue.ts +767 -0
- package/src/TxPubSub.ts +789 -0
- package/src/TxQueue.ts +241 -251
- package/src/TxReentrantLock.ts +753 -0
- package/src/TxRef.ts +50 -38
- package/src/TxSemaphore.ts +29 -32
- package/src/TxSubscriptionRef.ts +639 -0
- package/src/Types.ts +73 -19
- package/src/Utils.ts +137 -111
- package/src/index.ts +728 -24
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +774 -301
- package/src/internal/hashMap.ts +8 -7
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +4 -3
- package/src/internal/request.ts +2 -2
- package/src/internal/schema/annotations.ts +2 -0
- package/src/internal/schema/representation.ts +45 -94
- package/src/internal/schema/schema.ts +1 -0
- package/src/internal/schema/to-codec.ts +7 -17
- package/src/internal/trie.ts +15 -9
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +332 -35
- package/src/testing/index.ts +64 -1
- package/src/unstable/ai/AiError.ts +105 -48
- package/src/unstable/ai/Chat.ts +47 -61
- package/src/unstable/ai/LanguageModel.ts +153 -68
- package/src/unstable/ai/McpSchema.ts +73 -13
- package/src/unstable/ai/McpServer.ts +271 -61
- package/src/unstable/ai/Model.ts +40 -9
- package/src/unstable/ai/Prompt.ts +37 -37
- package/src/unstable/ai/Response.ts +25 -25
- package/src/unstable/ai/Tool.ts +20 -14
- package/src/unstable/ai/Toolkit.ts +5 -14
- package/src/unstable/ai/index.ts +1 -1
- package/src/unstable/ai/internal/codec-transformer.ts +0 -7
- package/src/unstable/cli/CliError.ts +47 -59
- package/src/unstable/cli/CliOutput.ts +75 -6
- package/src/unstable/cli/Command.ts +796 -187
- package/src/unstable/cli/GlobalFlag.ts +243 -0
- package/src/unstable/cli/HelpDoc.ts +80 -2
- package/src/unstable/cli/Primitive.ts +1 -1
- package/src/unstable/cli/Prompt.ts +31 -9
- package/src/unstable/cli/index.ts +5 -0
- package/src/unstable/cli/internal/command.ts +109 -63
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
- package/src/unstable/cli/internal/config.ts +49 -0
- package/src/unstable/cli/internal/help.ts +171 -0
- package/src/unstable/cli/internal/parser.ts +66 -61
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -4
- package/src/unstable/cluster/Entity.ts +11 -10
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/Envelope.ts +1 -1
- package/src/unstable/cluster/K8sHttpClient.ts +5 -5
- package/src/unstable/cluster/MessageStorage.ts +3 -5
- package/src/unstable/cluster/Runners.ts +6 -5
- package/src/unstable/cluster/Sharding.ts +12 -10
- package/src/unstable/cluster/ShardingConfig.ts +30 -31
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +9 -8
- package/src/unstable/cluster/internal/entityReaper.ts +2 -1
- package/src/unstable/cluster/internal/resourceRef.ts +2 -1
- package/src/unstable/encoding/Sse.ts +3 -5
- package/src/unstable/eventlog/EventLog.ts +2 -1
- package/src/unstable/http/Cookies.ts +87 -3
- package/src/unstable/http/Headers.ts +62 -13
- package/src/unstable/http/HttpBody.ts +6 -6
- package/src/unstable/http/HttpClient.ts +374 -33
- package/src/unstable/http/HttpClientRequest.ts +38 -30
- package/src/unstable/http/HttpClientResponse.ts +7 -2
- package/src/unstable/http/HttpEffect.ts +54 -68
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +9 -24
- package/src/unstable/http/HttpServerError.ts +42 -45
- package/src/unstable/http/HttpServerRequest.ts +389 -2
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +337 -4
- package/src/unstable/http/HttpStaticServer.ts +456 -0
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +20 -5
- package/src/unstable/http/index.ts +5 -0
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +6 -6
- package/src/unstable/httpapi/HttpApiBuilder.ts +81 -28
- package/src/unstable/httpapi/HttpApiClient.ts +100 -11
- package/src/unstable/httpapi/HttpApiEndpoint.ts +71 -87
- package/src/unstable/httpapi/HttpApiError.ts +51 -28
- package/src/unstable/httpapi/HttpApiGroup.ts +7 -6
- package/src/unstable/httpapi/HttpApiMiddleware.ts +4 -4
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
- package/src/unstable/httpapi/OpenApi.ts +41 -23
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +3 -3
- package/src/unstable/observability/OtlpLogger.ts +13 -9
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +4 -4
- package/src/unstable/persistence/KeyValueStore.ts +6 -6
- package/src/unstable/persistence/Persistable.ts +2 -2
- package/src/unstable/persistence/PersistedCache.ts +20 -9
- package/src/unstable/persistence/PersistedQueue.ts +25 -24
- package/src/unstable/persistence/Persistence.ts +3 -3
- package/src/unstable/persistence/RateLimiter.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +6 -208
- package/src/unstable/process/ChildProcessSpawner.ts +75 -14
- package/src/unstable/reactivity/Atom.ts +211 -50
- package/src/unstable/reactivity/AtomHttpApi.ts +66 -31
- package/src/unstable/reactivity/AtomRegistry.ts +61 -9
- package/src/unstable/reactivity/AtomRpc.ts +51 -20
- package/src/unstable/reactivity/Hydration.ts +112 -0
- package/src/unstable/reactivity/index.ts +5 -0
- package/src/unstable/rpc/Rpc.ts +7 -9
- package/src/unstable/rpc/RpcClient.ts +12 -54
- package/src/unstable/rpc/RpcGroup.ts +4 -4
- package/src/unstable/rpc/RpcMiddleware.ts +15 -9
- package/src/unstable/rpc/RpcSchema.ts +17 -0
- package/src/unstable/rpc/RpcSerialization.ts +44 -9
- package/src/unstable/rpc/RpcServer.ts +28 -32
- package/src/unstable/rpc/Utils.ts +3 -2
- package/src/unstable/schema/Model.ts +31 -0
- package/src/unstable/schema/VariantSchema.ts +9 -9
- package/src/unstable/socket/Socket.ts +16 -17
- package/src/unstable/sql/SqlClient.ts +1 -1
- package/src/unstable/sql/SqlError.ts +11 -9
- package/src/unstable/sql/SqlModel.ts +5 -5
- package/src/unstable/sql/SqlResolver.ts +17 -7
- package/src/unstable/sql/SqlSchema.ts +42 -26
- package/src/unstable/sql/Statement.ts +0 -1
- package/src/unstable/workers/Worker.ts +2 -1
- package/src/unstable/workflow/DurableClock.ts +8 -8
- package/src/unstable/workflow/DurableDeferred.ts +2 -2
- package/src/unstable/workflow/Workflow.ts +6 -2
- package/src/unstable/workflow/WorkflowEngine.ts +185 -2
- package/dist/PartitionedSemaphore.d.ts +0 -52
- package/dist/PartitionedSemaphore.d.ts.map +0 -1
- package/dist/PartitionedSemaphore.js.map +0 -1
- package/dist/encoding/Base64.d.ts +0 -67
- package/dist/encoding/Base64.d.ts.map +0 -1
- package/dist/encoding/Base64.js +0 -146
- package/dist/encoding/Base64.js.map +0 -1
- package/dist/encoding/Base64Url.d.ts +0 -60
- package/dist/encoding/Base64Url.d.ts.map +0 -1
- package/dist/encoding/Base64Url.js +0 -89
- package/dist/encoding/Base64Url.js.map +0 -1
- package/dist/encoding/EncodingError.d.ts +0 -31
- package/dist/encoding/EncodingError.d.ts.map +0 -1
- package/dist/encoding/EncodingError.js +0 -22
- package/dist/encoding/EncodingError.js.map +0 -1
- package/dist/encoding/Hex.d.ts +0 -61
- package/dist/encoding/Hex.d.ts.map +0 -1
- package/dist/encoding/Hex.js +0 -115
- package/dist/encoding/Hex.js.map +0 -1
- package/dist/encoding/index.d.ts +0 -26
- package/dist/encoding/index.d.ts.map +0 -1
- package/dist/encoding/index.js +0 -27
- package/dist/encoding/index.js.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
- package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.js +0 -44
- package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
- package/src/PartitionedSemaphore.ts +0 -182
- package/src/encoding/Base64.ts +0 -366
- package/src/encoding/Base64Url.ts +0 -104
- package/src/encoding/EncodingError.ts +0 -35
- package/src/encoding/Hex.ts +0 -390
- package/src/encoding/index.ts +0 -31
- package/src/unstable/cli/internal/builtInFlags.ts +0 -78
package/src/Schema.ts
CHANGED
|
@@ -2,23 +2,28 @@
|
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
+
/** @effect-diagnostics schemaStructWithTag:skip-file */
|
|
5
6
|
import type { StandardJSONSchemaV1, StandardSchemaV1 } from "@standard-schema/spec"
|
|
6
7
|
import * as Arr from "./Array.ts"
|
|
8
|
+
import * as BigDecimal_ from "./BigDecimal.ts"
|
|
7
9
|
import type * as Brand from "./Brand.ts"
|
|
8
10
|
import * as Cause_ from "./Cause.ts"
|
|
11
|
+
import * as Chunk_ from "./Chunk.ts"
|
|
9
12
|
import type * as Combiner from "./Combiner.ts"
|
|
10
13
|
import * as Data from "./Data.ts"
|
|
11
14
|
import * as DateTime from "./DateTime.ts"
|
|
12
15
|
import type { Differ } from "./Differ.ts"
|
|
13
16
|
import * as Duration_ from "./Duration.ts"
|
|
14
17
|
import * as Effect from "./Effect.ts"
|
|
15
|
-
import * as
|
|
18
|
+
import * as Encoding from "./Encoding.ts"
|
|
16
19
|
import * as Equal from "./Equal.ts"
|
|
17
20
|
import * as Equivalence from "./Equivalence.ts"
|
|
18
21
|
import * as Exit_ from "./Exit.ts"
|
|
19
22
|
import type { Formatter } from "./Formatter.ts"
|
|
20
23
|
import { format, formatDate, formatPropertyKey } from "./Formatter.ts"
|
|
21
24
|
import { identity } from "./Function.ts"
|
|
25
|
+
import * as HashMap_ from "./HashMap.ts"
|
|
26
|
+
import * as HashSet_ from "./HashSet.ts"
|
|
22
27
|
import * as core from "./internal/core.ts"
|
|
23
28
|
import * as InternalAnnotations from "./internal/schema/annotations.ts"
|
|
24
29
|
import * as InternalArbitrary from "./internal/schema/arbitrary.ts"
|
|
@@ -48,6 +53,7 @@ import type { Assign, Lambda, Mutable, Simplify } from "./Struct.ts"
|
|
|
48
53
|
import * as Struct_ from "./Struct.ts"
|
|
49
54
|
import * as FastCheck from "./testing/FastCheck.ts"
|
|
50
55
|
import type { UnionToIntersection } from "./Types.ts"
|
|
56
|
+
import type { Unify } from "./Unify.ts"
|
|
51
57
|
|
|
52
58
|
const TypeId = InternalSchema.TypeId
|
|
53
59
|
|
|
@@ -149,6 +155,7 @@ export interface Bottom<
|
|
|
149
155
|
* @throws {Error} The issue is contained in the error cause.
|
|
150
156
|
*/
|
|
151
157
|
makeUnsafe(input: this["~type.make.in"], options?: MakeOptions): this["Type"]
|
|
158
|
+
makeOption(input: this["~type.make.in"], options?: MakeOptions): Option_.Option<this["Type"]>
|
|
152
159
|
}
|
|
153
160
|
|
|
154
161
|
/**
|
|
@@ -321,7 +328,7 @@ export declare namespace Schema {
|
|
|
321
328
|
/**
|
|
322
329
|
* @since 4.0.0
|
|
323
330
|
*/
|
|
324
|
-
export type Type<S extends Top
|
|
331
|
+
export type Type<S> = S extends Top ? S["Type"] : never
|
|
325
332
|
}
|
|
326
333
|
|
|
327
334
|
/**
|
|
@@ -349,15 +356,15 @@ export declare namespace Codec {
|
|
|
349
356
|
/**
|
|
350
357
|
* @since 4.0.0
|
|
351
358
|
*/
|
|
352
|
-
export type Encoded<S extends Top
|
|
359
|
+
export type Encoded<S> = S extends Top ? S["Encoded"] : never
|
|
353
360
|
/**
|
|
354
361
|
* @since 4.0.0
|
|
355
362
|
*/
|
|
356
|
-
export type DecodingServices<S extends Top
|
|
363
|
+
export type DecodingServices<S> = S extends Top ? S["DecodingServices"] : never
|
|
357
364
|
/**
|
|
358
365
|
* @since 4.0.0
|
|
359
366
|
*/
|
|
360
|
-
export type EncodingServices<S extends Top
|
|
367
|
+
export type EncodingServices<S> = S extends Top ? S["EncodingServices"] : never
|
|
361
368
|
/**
|
|
362
369
|
* @since 4.0.0
|
|
363
370
|
*/
|
|
@@ -1631,6 +1638,27 @@ export interface Struct<Fields extends Struct.Fields> extends
|
|
|
1631
1638
|
>
|
|
1632
1639
|
{
|
|
1633
1640
|
readonly "~rebuild.out": this
|
|
1641
|
+
/**
|
|
1642
|
+
* The field definitions of this struct. Spread them into a new struct to
|
|
1643
|
+
* reuse fields across schemas.
|
|
1644
|
+
*
|
|
1645
|
+
* **Example** (Reusing fields across structs)
|
|
1646
|
+
*
|
|
1647
|
+
* ```ts
|
|
1648
|
+
* import { Schema } from "effect"
|
|
1649
|
+
*
|
|
1650
|
+
* const Timestamped = Schema.Struct({
|
|
1651
|
+
* createdAt: Schema.Date,
|
|
1652
|
+
* updatedAt: Schema.Date
|
|
1653
|
+
* })
|
|
1654
|
+
*
|
|
1655
|
+
* const User = Schema.Struct({
|
|
1656
|
+
* ...Timestamped.fields,
|
|
1657
|
+
* name: Schema.String,
|
|
1658
|
+
* email: Schema.String
|
|
1659
|
+
* })
|
|
1660
|
+
* ```
|
|
1661
|
+
*/
|
|
1634
1662
|
readonly fields: Fields
|
|
1635
1663
|
/**
|
|
1636
1664
|
* Returns a new struct with the fields modified by the provided function.
|
|
@@ -1713,7 +1741,7 @@ export function fieldsAssign<const NewFields extends Struct.Fields>(fields: NewF
|
|
|
1713
1741
|
* @since 4.0.0
|
|
1714
1742
|
*/
|
|
1715
1743
|
export function encodeKeys<
|
|
1716
|
-
S extends Struct
|
|
1744
|
+
S extends Top & { readonly fields: Struct.Fields },
|
|
1717
1745
|
const M extends { readonly [K in keyof S["fields"]]?: PropertyKey }
|
|
1718
1746
|
>(mapping: M) {
|
|
1719
1747
|
return function(
|
|
@@ -1731,11 +1759,12 @@ export function encodeKeys<
|
|
|
1731
1759
|
const fields: any = {}
|
|
1732
1760
|
const reverseMapping: any = {}
|
|
1733
1761
|
for (const k in self.fields) {
|
|
1762
|
+
const encoded = toEncoded(self.fields[k])
|
|
1734
1763
|
if (Object.hasOwn(mapping, k)) {
|
|
1735
|
-
fields[mapping[k]!] =
|
|
1764
|
+
fields[mapping[k]!] = encoded
|
|
1736
1765
|
reverseMapping[mapping[k]!] = k
|
|
1737
1766
|
} else {
|
|
1738
|
-
fields[k] =
|
|
1767
|
+
fields[k] = encoded
|
|
1739
1768
|
}
|
|
1740
1769
|
}
|
|
1741
1770
|
return Struct(fields).pipe(decodeTo(
|
|
@@ -1801,11 +1830,6 @@ export declare namespace Record {
|
|
|
1801
1830
|
readonly "Iso": PropertyKey
|
|
1802
1831
|
}
|
|
1803
1832
|
|
|
1804
|
-
/**
|
|
1805
|
-
* @since 4.0.0
|
|
1806
|
-
*/
|
|
1807
|
-
export type Record = Record$<Record.Key, Top>
|
|
1808
|
-
|
|
1809
1833
|
/**
|
|
1810
1834
|
* @since 4.0.0
|
|
1811
1835
|
*/
|
|
@@ -1864,14 +1888,14 @@ export declare namespace Record {
|
|
|
1864
1888
|
/**
|
|
1865
1889
|
* @since 4.0.0
|
|
1866
1890
|
*/
|
|
1867
|
-
export interface Record
|
|
1891
|
+
export interface $Record<Key extends Record.Key, Value extends Top> extends
|
|
1868
1892
|
Bottom<
|
|
1869
1893
|
Record.Type<Key, Value>,
|
|
1870
1894
|
Record.Encoded<Key, Value>,
|
|
1871
1895
|
Record.DecodingServices<Key, Value>,
|
|
1872
1896
|
Record.EncodingServices<Key, Value>,
|
|
1873
1897
|
AST.Objects,
|
|
1874
|
-
Record
|
|
1898
|
+
$Record<Key, Value>,
|
|
1875
1899
|
Simplify<Record.MakeIn<Key, Value>>,
|
|
1876
1900
|
Record.Iso<Key, Value>
|
|
1877
1901
|
>
|
|
@@ -1893,7 +1917,7 @@ export function Record<Key extends Record.Key, Value extends Top>(
|
|
|
1893
1917
|
readonly encode?: Combiner.Combiner<readonly [Key["Encoded"], Value["Encoded"]]> | undefined
|
|
1894
1918
|
}
|
|
1895
1919
|
}
|
|
1896
|
-
): Record
|
|
1920
|
+
): $Record<Key, Value> {
|
|
1897
1921
|
const keyValueCombiner = options?.keyValueCombiner?.decode || options?.keyValueCombiner?.encode
|
|
1898
1922
|
? new AST.KeyValueCombiner(options.keyValueCombiner.decode, options.keyValueCombiner.encode)
|
|
1899
1923
|
: undefined
|
|
@@ -1912,7 +1936,7 @@ export declare namespace StructWithRest {
|
|
|
1912
1936
|
/**
|
|
1913
1937
|
* @since 4.0.0
|
|
1914
1938
|
*/
|
|
1915
|
-
export type Records = ReadonlyArray<Record.
|
|
1939
|
+
export type Records = ReadonlyArray<$Record<Record.Key, Top>>
|
|
1916
1940
|
|
|
1917
1941
|
type MergeTuple<T extends ReadonlyArray<unknown>> = T extends readonly [infer Head, ...infer Tail] ?
|
|
1918
1942
|
Head & MergeTuple<Tail>
|
|
@@ -2244,14 +2268,14 @@ export function TupleWithRest<S extends Tuple<Tuple.Elements>, const Rest extend
|
|
|
2244
2268
|
/**
|
|
2245
2269
|
* @since 4.0.0
|
|
2246
2270
|
*/
|
|
2247
|
-
export interface Array
|
|
2271
|
+
export interface $Array<S extends Top> extends
|
|
2248
2272
|
Bottom<
|
|
2249
2273
|
ReadonlyArray<S["Type"]>,
|
|
2250
2274
|
ReadonlyArray<S["Encoded"]>,
|
|
2251
2275
|
S["DecodingServices"],
|
|
2252
2276
|
S["EncodingServices"],
|
|
2253
2277
|
AST.Arrays,
|
|
2254
|
-
Array
|
|
2278
|
+
$Array<S>,
|
|
2255
2279
|
ReadonlyArray<S["~type.make"]>,
|
|
2256
2280
|
ReadonlyArray<S["Iso"]>
|
|
2257
2281
|
>
|
|
@@ -2261,8 +2285,8 @@ export interface Array$<S extends Top> extends
|
|
|
2261
2285
|
}
|
|
2262
2286
|
|
|
2263
2287
|
interface ArrayLambda extends Lambda {
|
|
2264
|
-
<S extends Top>(self: S): Array
|
|
2265
|
-
readonly "~lambda.out": this["~lambda.in"] extends Top ? Array
|
|
2288
|
+
<S extends Top>(self: S): $Array<S>
|
|
2289
|
+
readonly "~lambda.out": this["~lambda.in"] extends Top ? $Array<this["~lambda.in"]> : never
|
|
2266
2290
|
}
|
|
2267
2291
|
|
|
2268
2292
|
/**
|
|
@@ -2306,7 +2330,7 @@ export const NonEmptyArray = Struct_.lambda<NonEmptyArrayLambda>((schema) =>
|
|
|
2306
2330
|
/**
|
|
2307
2331
|
* @since 4.0.0
|
|
2308
2332
|
*/
|
|
2309
|
-
export interface UniqueArray<S extends Top> extends Array
|
|
2333
|
+
export interface UniqueArray<S extends Top> extends $Array<S> {}
|
|
2310
2334
|
|
|
2311
2335
|
/**
|
|
2312
2336
|
* Returns a new array schema that ensures all elements are unique.
|
|
@@ -3203,25 +3227,19 @@ type TaggedUnionUtils<
|
|
|
3203
3227
|
) => (value: Members[number]["Type"]) => value is Extract<Members[number]["Type"], { _tag: Keys }>
|
|
3204
3228
|
readonly guards: { [M in Flattened[number] as M["Type"][Tag]]: (u: unknown) => u is M["Type"] }
|
|
3205
3229
|
readonly match: {
|
|
3206
|
-
<
|
|
3230
|
+
<
|
|
3231
|
+
Cases extends { [M in Flattened[number] as M["Type"][Tag]]: (value: M["Type"]) => any }
|
|
3232
|
+
>(
|
|
3207
3233
|
value: Members[number]["Type"],
|
|
3208
|
-
cases:
|
|
3209
|
-
):
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
export function _getTagValueIfPropertyKey(tag: PropertyKey, ast: AST.Objects): PropertyKey | undefined {
|
|
3218
|
-
const ps = ast.propertySignatures.find((p) => p.name === tag)
|
|
3219
|
-
if (ps) {
|
|
3220
|
-
if (AST.isLiteral(ps.type) && Predicate.isPropertyKey(ps.type.literal)) {
|
|
3221
|
-
return ps.type.literal
|
|
3222
|
-
} else if (AST.isUniqueSymbol(ps.type)) {
|
|
3223
|
-
return ps.type.symbol
|
|
3224
|
-
}
|
|
3234
|
+
cases: Cases
|
|
3235
|
+
): Cases[keyof Cases] extends (value: any) => infer R ? Unify<R>
|
|
3236
|
+
: never
|
|
3237
|
+
<
|
|
3238
|
+
Cases extends { [M in Flattened[number] as M["Type"][Tag]]: (value: M["Type"]) => any }
|
|
3239
|
+
>(
|
|
3240
|
+
cases: Cases
|
|
3241
|
+
): (value: Members[number]["Type"]) => Cases[keyof Cases] extends (value: any) => infer R ? Unify<R>
|
|
3242
|
+
: never
|
|
3225
3243
|
}
|
|
3226
3244
|
}
|
|
3227
3245
|
|
|
@@ -3260,16 +3278,17 @@ export function toTaggedUnion<const Tag extends PropertyKey>(tag: Tag) {
|
|
|
3260
3278
|
return schema.members.forEach(walk)
|
|
3261
3279
|
}
|
|
3262
3280
|
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
|
|
3281
|
+
const sentinels = AST.collectSentinels(ast)
|
|
3282
|
+
if (sentinels.length > 0) {
|
|
3283
|
+
const literal = sentinels.find((s) => s.key === tag)?.literal
|
|
3284
|
+
if (Predicate.isPropertyKey(literal)) {
|
|
3285
|
+
cases[literal] = schema
|
|
3286
|
+
guards[literal] = is(toType(schema))
|
|
3268
3287
|
return
|
|
3269
3288
|
}
|
|
3270
3289
|
}
|
|
3271
3290
|
|
|
3272
|
-
throw new globalThis.Error("No literal found")
|
|
3291
|
+
throw new globalThis.Error("No literal or unique symbol found")
|
|
3273
3292
|
}
|
|
3274
3293
|
|
|
3275
3294
|
function match() {
|
|
@@ -3309,12 +3328,12 @@ export interface TaggedUnion<Cases extends Record<string, Top>> extends
|
|
|
3309
3328
|
readonly guards: { [K in keyof Cases]: (u: unknown) => u is Cases[K]["Type"] }
|
|
3310
3329
|
readonly match: {
|
|
3311
3330
|
<Output>(
|
|
3312
|
-
value: Cases[keyof Cases]["Type"],
|
|
3313
3331
|
cases: { [K in keyof Cases]: (value: Cases[K]["Type"]) => Output }
|
|
3314
|
-
): Output
|
|
3332
|
+
): (value: Cases[keyof Cases]["Type"]) => Output
|
|
3315
3333
|
<Output>(
|
|
3334
|
+
value: Cases[keyof Cases]["Type"],
|
|
3316
3335
|
cases: { [K in keyof Cases]: (value: Cases[K]["Type"]) => Output }
|
|
3317
|
-
):
|
|
3336
|
+
): Output
|
|
3318
3337
|
}
|
|
3319
3338
|
}
|
|
3320
3339
|
|
|
@@ -3578,7 +3597,7 @@ const getUUIDRegExp = (version?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8): globalThis.RegE
|
|
|
3578
3597
|
* @category String checks
|
|
3579
3598
|
* @since 4.0.0
|
|
3580
3599
|
*/
|
|
3581
|
-
export function isUUID(version
|
|
3600
|
+
export function isUUID(version?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8, annotations?: Annotations.Filter) {
|
|
3582
3601
|
const regExp = getUUIDRegExp(version)
|
|
3583
3602
|
return isPattern(
|
|
3584
3603
|
regExp,
|
|
@@ -4755,6 +4774,63 @@ export const isBetweenBigInt = makeIsBetween({
|
|
|
4755
4774
|
})
|
|
4756
4775
|
})
|
|
4757
4776
|
|
|
4777
|
+
/**
|
|
4778
|
+
* Validates that a BigDecimal is greater than the specified value (exclusive).
|
|
4779
|
+
*
|
|
4780
|
+
* @category BigDecimal checks
|
|
4781
|
+
* @since 4.0.0
|
|
4782
|
+
*/
|
|
4783
|
+
export const isGreaterThanBigDecimal = makeIsGreaterThan({
|
|
4784
|
+
order: BigDecimal_.Order,
|
|
4785
|
+
formatter: (bd) => BigDecimal_.format(bd)
|
|
4786
|
+
})
|
|
4787
|
+
|
|
4788
|
+
/**
|
|
4789
|
+
* Validates that a BigDecimal is greater than or equal to the specified value
|
|
4790
|
+
* (inclusive).
|
|
4791
|
+
*
|
|
4792
|
+
* @category BigDecimal checks
|
|
4793
|
+
* @since 4.0.0
|
|
4794
|
+
*/
|
|
4795
|
+
export const isGreaterThanOrEqualToBigDecimal = makeIsGreaterThanOrEqualTo({
|
|
4796
|
+
order: BigDecimal_.Order,
|
|
4797
|
+
formatter: (bd) => BigDecimal_.format(bd)
|
|
4798
|
+
})
|
|
4799
|
+
|
|
4800
|
+
/**
|
|
4801
|
+
* Validates that a BigDecimal is less than the specified value (exclusive).
|
|
4802
|
+
*
|
|
4803
|
+
* @category BigDecimal checks
|
|
4804
|
+
* @since 4.0.0
|
|
4805
|
+
*/
|
|
4806
|
+
export const isLessThanBigDecimal = makeIsLessThan({
|
|
4807
|
+
order: BigDecimal_.Order,
|
|
4808
|
+
formatter: (bd) => BigDecimal_.format(bd)
|
|
4809
|
+
})
|
|
4810
|
+
|
|
4811
|
+
/**
|
|
4812
|
+
* Validates that a BigDecimal is less than or equal to the specified value
|
|
4813
|
+
* (inclusive).
|
|
4814
|
+
*
|
|
4815
|
+
* @category BigDecimal checks
|
|
4816
|
+
* @since 4.0.0
|
|
4817
|
+
*/
|
|
4818
|
+
export const isLessThanOrEqualToBigDecimal = makeIsLessThanOrEqualTo({
|
|
4819
|
+
order: BigDecimal_.Order,
|
|
4820
|
+
formatter: (bd) => BigDecimal_.format(bd)
|
|
4821
|
+
})
|
|
4822
|
+
|
|
4823
|
+
/**
|
|
4824
|
+
* Validates that a BigDecimal is within a specified range.
|
|
4825
|
+
*
|
|
4826
|
+
* @category BigDecimal checks
|
|
4827
|
+
* @since 4.0.0
|
|
4828
|
+
*/
|
|
4829
|
+
export const isBetweenBigDecimal = makeIsBetween({
|
|
4830
|
+
order: BigDecimal_.Order,
|
|
4831
|
+
formatter: (bd) => BigDecimal_.format(bd)
|
|
4832
|
+
})
|
|
4833
|
+
|
|
4758
4834
|
/**
|
|
4759
4835
|
* Validates that a value has at least the specified length. Works with strings
|
|
4760
4836
|
* and arrays.
|
|
@@ -5363,6 +5439,63 @@ export function OptionFromNullOr<S extends Top>(schema: S): OptionFromNullOr<S>
|
|
|
5363
5439
|
))
|
|
5364
5440
|
}
|
|
5365
5441
|
|
|
5442
|
+
/**
|
|
5443
|
+
* @since 4.0.0
|
|
5444
|
+
*/
|
|
5445
|
+
export interface OptionFromUndefinedOr<S extends Top> extends decodeTo<Option<toType<S>>, UndefinedOr<S>> {}
|
|
5446
|
+
|
|
5447
|
+
/**
|
|
5448
|
+
* Decodes an undefined-or value `T` to a required `Option<T>` value.
|
|
5449
|
+
*
|
|
5450
|
+
* Decoding:
|
|
5451
|
+
* - `undefined` is decoded as `None`
|
|
5452
|
+
* - other values are decoded as `Some`
|
|
5453
|
+
*
|
|
5454
|
+
* Encoding:
|
|
5455
|
+
* - `None` is encoded as `undefined`
|
|
5456
|
+
* - `Some` is encoded as the value
|
|
5457
|
+
*
|
|
5458
|
+
* @category Option
|
|
5459
|
+
* @since 4.0.0
|
|
5460
|
+
*/
|
|
5461
|
+
export function OptionFromUndefinedOr<S extends Top>(schema: S): OptionFromUndefinedOr<S> {
|
|
5462
|
+
return UndefinedOr(schema).pipe(decodeTo(
|
|
5463
|
+
Option(toType(schema)),
|
|
5464
|
+
Transformation.optionFromUndefinedOr()
|
|
5465
|
+
))
|
|
5466
|
+
}
|
|
5467
|
+
|
|
5468
|
+
/**
|
|
5469
|
+
* @since 4.0.0
|
|
5470
|
+
*/
|
|
5471
|
+
export interface OptionFromNullishOr<S extends Top> extends decodeTo<Option<toType<S>>, NullishOr<S>> {}
|
|
5472
|
+
|
|
5473
|
+
/**
|
|
5474
|
+
* Decodes a nullish value `T` to a required `Option<T>` value.
|
|
5475
|
+
*
|
|
5476
|
+
* Decoding:
|
|
5477
|
+
* - `null` and `undefined` are decoded as `None`
|
|
5478
|
+
* - other values are decoded as `Some`
|
|
5479
|
+
*
|
|
5480
|
+
* Encoding:
|
|
5481
|
+
* - `None` is encoded as `null` or `undefined` depending on the provided `options.onNoneEncoding` (defaults to `undefined`)
|
|
5482
|
+
* - `Some` is encoded as the value
|
|
5483
|
+
*
|
|
5484
|
+
* @category Option
|
|
5485
|
+
* @since 4.0.0
|
|
5486
|
+
*/
|
|
5487
|
+
export function OptionFromNullishOr<S extends Top>(
|
|
5488
|
+
schema: S,
|
|
5489
|
+
options?: {
|
|
5490
|
+
onNoneEncoding: null | undefined
|
|
5491
|
+
}
|
|
5492
|
+
): OptionFromNullishOr<S> {
|
|
5493
|
+
return NullishOr(schema).pipe(decodeTo(
|
|
5494
|
+
Option(toType(schema)),
|
|
5495
|
+
Transformation.optionFromNullishOr(options)
|
|
5496
|
+
))
|
|
5497
|
+
}
|
|
5498
|
+
|
|
5366
5499
|
/**
|
|
5367
5500
|
* @since 4.0.0
|
|
5368
5501
|
*/
|
|
@@ -5651,15 +5784,15 @@ export function RedactedFromValue<S extends Top>(value: S, options?: {
|
|
|
5651
5784
|
}
|
|
5652
5785
|
|
|
5653
5786
|
/**
|
|
5654
|
-
* @category
|
|
5787
|
+
* @category CauseReason
|
|
5655
5788
|
* @since 4.0.0
|
|
5656
5789
|
*/
|
|
5657
|
-
export interface
|
|
5790
|
+
export interface CauseReason<E extends Top, D extends Top> extends
|
|
5658
5791
|
declareConstructor<
|
|
5659
5792
|
Cause_.Reason<E["Type"]>,
|
|
5660
5793
|
Cause_.Reason<E["Encoded"]>,
|
|
5661
5794
|
readonly [E, D],
|
|
5662
|
-
|
|
5795
|
+
CauseReasonIso<E, D>
|
|
5663
5796
|
>
|
|
5664
5797
|
{
|
|
5665
5798
|
readonly error: E
|
|
@@ -5667,10 +5800,10 @@ export interface CauseFailure<E extends Top, D extends Top> extends
|
|
|
5667
5800
|
}
|
|
5668
5801
|
|
|
5669
5802
|
/**
|
|
5670
|
-
* @category
|
|
5803
|
+
* @category CauseReason
|
|
5671
5804
|
* @since 4.0.0
|
|
5672
5805
|
*/
|
|
5673
|
-
export type
|
|
5806
|
+
export type CauseReasonIso<E extends Top, D extends Top> = {
|
|
5674
5807
|
readonly _tag: "Fail"
|
|
5675
5808
|
readonly error: E["Iso"]
|
|
5676
5809
|
} | {
|
|
@@ -5682,11 +5815,11 @@ export type CauseFailureIso<E extends Top, D extends Top> = {
|
|
|
5682
5815
|
}
|
|
5683
5816
|
|
|
5684
5817
|
/**
|
|
5685
|
-
* @category
|
|
5818
|
+
* @category CauseReason
|
|
5686
5819
|
* @since 4.0.0
|
|
5687
5820
|
*/
|
|
5688
|
-
export function
|
|
5689
|
-
const schema = declareConstructor<Cause_.Reason<E["Type"]>, Cause_.Reason<E["Encoded"]>,
|
|
5821
|
+
export function CauseReason<E extends Top, D extends Top>(error: E, defect: D): CauseReason<E, D> {
|
|
5822
|
+
const schema = declareConstructor<Cause_.Reason<E["Type"]>, Cause_.Reason<E["Encoded"]>, CauseReasonIso<E, D>>()(
|
|
5690
5823
|
[error, defect],
|
|
5691
5824
|
([error, defect]) => (input, ast, options) => {
|
|
5692
5825
|
if (!Cause_.isReason(input)) {
|
|
@@ -5719,7 +5852,7 @@ export function CauseFailure<E extends Top, D extends Top>(error: E, defect: D):
|
|
|
5719
5852
|
_tag: "effect/Cause/Failure"
|
|
5720
5853
|
},
|
|
5721
5854
|
generation: {
|
|
5722
|
-
runtime: `Schema.
|
|
5855
|
+
runtime: `Schema.CauseReason(?, ?)`,
|
|
5723
5856
|
Type: `Cause.Failure<?, ?>`,
|
|
5724
5857
|
importDeclaration: `import * as Cause from "effect/Cause"`
|
|
5725
5858
|
},
|
|
@@ -5745,15 +5878,15 @@ export function CauseFailure<E extends Top, D extends Top>(error: E, defect: D):
|
|
|
5745
5878
|
encode: identity
|
|
5746
5879
|
})
|
|
5747
5880
|
),
|
|
5748
|
-
toArbitrary: ([error, defect]) =>
|
|
5749
|
-
toEquivalence: ([error, defect]) =>
|
|
5750
|
-
toFormatter: ([error, defect]) =>
|
|
5881
|
+
toArbitrary: ([error, defect]) => causeReasonToArbitrary(error, defect),
|
|
5882
|
+
toEquivalence: ([error, defect]) => causeReasonToEquivalence(error, defect),
|
|
5883
|
+
toFormatter: ([error, defect]) => causeReasonToFormatter(error, defect)
|
|
5751
5884
|
}
|
|
5752
5885
|
)
|
|
5753
5886
|
return make(schema.ast, { error, defect })
|
|
5754
5887
|
}
|
|
5755
5888
|
|
|
5756
|
-
function
|
|
5889
|
+
function causeReasonToArbitrary<E, D>(error: FastCheck.Arbitrary<E>, defect: FastCheck.Arbitrary<D>) {
|
|
5757
5890
|
return (fc: typeof FastCheck, ctx: Annotations.ToArbitrary.Context | undefined) => {
|
|
5758
5891
|
return fc.oneof(
|
|
5759
5892
|
ctx?.isSuspend ? { maxDepth: 2, depthIdentifier: "Cause.Failure" } : {},
|
|
@@ -5765,7 +5898,7 @@ function causeFailureToArbitrary<E, D>(error: FastCheck.Arbitrary<E>, defect: Fa
|
|
|
5765
5898
|
}
|
|
5766
5899
|
}
|
|
5767
5900
|
|
|
5768
|
-
function
|
|
5901
|
+
function causeReasonToEquivalence<E>(error: Equivalence.Equivalence<E>, defect: Equivalence.Equivalence<unknown>) {
|
|
5769
5902
|
return (a: Cause_.Reason<E>, b: Cause_.Reason<E>) => {
|
|
5770
5903
|
if (a._tag !== b._tag) return false
|
|
5771
5904
|
switch (a._tag) {
|
|
@@ -5779,7 +5912,7 @@ function causeFailureToEquivalence<E>(error: Equivalence.Equivalence<E>, defect:
|
|
|
5779
5912
|
}
|
|
5780
5913
|
}
|
|
5781
5914
|
|
|
5782
|
-
function
|
|
5915
|
+
function causeReasonToFormatter<E>(error: Formatter<E>, defect: Formatter<unknown>) {
|
|
5783
5916
|
return (t: Cause_.Reason<E>) => {
|
|
5784
5917
|
switch (t._tag) {
|
|
5785
5918
|
case "Fail":
|
|
@@ -5812,7 +5945,7 @@ export interface Cause<E extends Top, D extends Top> extends
|
|
|
5812
5945
|
* @category Cause
|
|
5813
5946
|
* @since 4.0.0
|
|
5814
5947
|
*/
|
|
5815
|
-
export type CauseIso<E extends Top, D extends Top> = ReadonlyArray<
|
|
5948
|
+
export type CauseIso<E extends Top, D extends Top> = ReadonlyArray<CauseReasonIso<E, D>>
|
|
5816
5949
|
|
|
5817
5950
|
/**
|
|
5818
5951
|
* @category Cause
|
|
@@ -5821,15 +5954,17 @@ export type CauseIso<E extends Top, D extends Top> = ReadonlyArray<CauseFailureI
|
|
|
5821
5954
|
export function Cause<E extends Top, D extends Top>(error: E, defect: D): Cause<E, D> {
|
|
5822
5955
|
const schema = declareConstructor<Cause_.Cause<E["Type"]>, Cause_.Cause<E["Encoded"]>, CauseIso<E, D>>()(
|
|
5823
5956
|
[error, defect],
|
|
5824
|
-
([error, defect]) =>
|
|
5825
|
-
|
|
5826
|
-
|
|
5957
|
+
([error, defect]) => {
|
|
5958
|
+
const failures = Array(CauseReason(error, defect))
|
|
5959
|
+
return (input, ast, options) => {
|
|
5960
|
+
if (!Cause_.isCause(input)) {
|
|
5961
|
+
return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)))
|
|
5962
|
+
}
|
|
5963
|
+
return Effect.mapBothEager(Parser.decodeUnknownEffect(failures)(input.reasons, options), {
|
|
5964
|
+
onSuccess: Cause_.fromReasons,
|
|
5965
|
+
onFailure: (issue) => new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["failures"], issue)])
|
|
5966
|
+
})
|
|
5827
5967
|
}
|
|
5828
|
-
const failures = Array(CauseFailure(error, defect))
|
|
5829
|
-
return Effect.mapBothEager(Parser.decodeUnknownEffect(failures)(input.reasons, options), {
|
|
5830
|
-
onSuccess: Cause_.fromReasons,
|
|
5831
|
-
onFailure: (issue) => new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["failures"], issue)])
|
|
5832
|
-
})
|
|
5833
5968
|
},
|
|
5834
5969
|
{
|
|
5835
5970
|
typeConstructor: {
|
|
@@ -5843,7 +5978,7 @@ export function Cause<E extends Top, D extends Top>(error: E, defect: D): Cause<
|
|
|
5843
5978
|
expected: "Cause",
|
|
5844
5979
|
toCodec: ([error, defect]) =>
|
|
5845
5980
|
link<Cause_.Cause<E["Encoded"]>>()(
|
|
5846
|
-
Array(
|
|
5981
|
+
Array(CauseReason(error, defect)),
|
|
5847
5982
|
Transformation.transform({
|
|
5848
5983
|
decode: Cause_.fromReasons,
|
|
5849
5984
|
encode: ({ reasons: failures }) => failures
|
|
@@ -5859,18 +5994,18 @@ export function Cause<E extends Top, D extends Top>(error: E, defect: D): Cause<
|
|
|
5859
5994
|
|
|
5860
5995
|
function causeToArbitrary<E, D>(error: FastCheck.Arbitrary<E>, defect: FastCheck.Arbitrary<D>) {
|
|
5861
5996
|
return (fc: typeof FastCheck, ctx: Annotations.ToArbitrary.Context | undefined) => {
|
|
5862
|
-
return fc.array(
|
|
5997
|
+
return fc.array(causeReasonToArbitrary(error, defect)(fc, ctx)).map(Cause_.fromReasons)
|
|
5863
5998
|
}
|
|
5864
5999
|
}
|
|
5865
6000
|
|
|
5866
6001
|
function causeToEquivalence<E>(error: Equivalence.Equivalence<E>, defect: Equivalence.Equivalence<unknown>) {
|
|
5867
|
-
const failures = Equivalence.Array(
|
|
6002
|
+
const failures = Equivalence.Array(causeReasonToEquivalence(error, defect))
|
|
5868
6003
|
return (a: Cause_.Cause<E>, b: Cause_.Cause<E>) => failures(a.reasons, b.reasons)
|
|
5869
6004
|
}
|
|
5870
6005
|
|
|
5871
6006
|
function causeToFormatter<E>(error: Formatter<E>, defect: Formatter<unknown>) {
|
|
5872
|
-
const
|
|
5873
|
-
return (t: Cause_.Cause<E>) => `Cause([${t.reasons.map(
|
|
6007
|
+
const causeReason = causeReasonToFormatter(error, defect)
|
|
6008
|
+
return (t: Cause_.Cause<E>) => `Cause([${t.reasons.map(causeReason).join(", ")}])`
|
|
5874
6009
|
}
|
|
5875
6010
|
|
|
5876
6011
|
/**
|
|
@@ -6044,28 +6179,32 @@ export function Exit<A extends Top, E extends Top, D extends Top>(value: A, erro
|
|
|
6044
6179
|
ExitIso<A, E, D>
|
|
6045
6180
|
>()(
|
|
6046
6181
|
[value, error, defect],
|
|
6047
|
-
([value, error, defect]) =>
|
|
6048
|
-
if (!Exit_.isExit(input)) {
|
|
6049
|
-
return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)))
|
|
6050
|
-
}
|
|
6182
|
+
([value, error, defect]) => {
|
|
6051
6183
|
const cause = Cause(error, defect)
|
|
6052
|
-
|
|
6053
|
-
|
|
6054
|
-
return Effect.
|
|
6055
|
-
|
|
6056
|
-
|
|
6057
|
-
|
|
6058
|
-
|
|
6059
|
-
|
|
6060
|
-
|
|
6061
|
-
|
|
6062
|
-
|
|
6063
|
-
|
|
6064
|
-
|
|
6065
|
-
|
|
6066
|
-
|
|
6067
|
-
|
|
6068
|
-
|
|
6184
|
+
return (input, ast, options) => {
|
|
6185
|
+
if (!Exit_.isExit(input)) {
|
|
6186
|
+
return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)))
|
|
6187
|
+
}
|
|
6188
|
+
switch (input._tag) {
|
|
6189
|
+
case "Success":
|
|
6190
|
+
return Effect.mapBothEager(
|
|
6191
|
+
Parser.decodeUnknownEffect(value)(input.value, options),
|
|
6192
|
+
{
|
|
6193
|
+
onSuccess: Exit_.succeed,
|
|
6194
|
+
onFailure: (issue) =>
|
|
6195
|
+
new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["value"], issue)])
|
|
6196
|
+
}
|
|
6197
|
+
)
|
|
6198
|
+
case "Failure":
|
|
6199
|
+
return Effect.mapBothEager(
|
|
6200
|
+
Parser.decodeUnknownEffect(cause)(input.cause, options),
|
|
6201
|
+
{
|
|
6202
|
+
onSuccess: Exit_.failCause,
|
|
6203
|
+
onFailure: (issue) =>
|
|
6204
|
+
new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["cause"], issue)])
|
|
6205
|
+
}
|
|
6206
|
+
)
|
|
6207
|
+
}
|
|
6069
6208
|
}
|
|
6070
6209
|
},
|
|
6071
6210
|
{
|
|
@@ -6131,7 +6270,7 @@ export function Exit<A extends Top, E extends Top, D extends Top>(value: A, erro
|
|
|
6131
6270
|
* @category ReadonlyMap
|
|
6132
6271
|
* @since 4.0.0
|
|
6133
6272
|
*/
|
|
6134
|
-
export interface ReadonlyMap
|
|
6273
|
+
export interface $ReadonlyMap<Key extends Top, Value extends Top> extends
|
|
6135
6274
|
declareConstructor<
|
|
6136
6275
|
globalThis.ReadonlyMap<Key["Type"], Value["Type"]>,
|
|
6137
6276
|
globalThis.ReadonlyMap<Key["Encoded"], Value["Encoded"]>,
|
|
@@ -6156,25 +6295,28 @@ export type ReadonlyMapIso<Key extends Top, Value extends Top> = ReadonlyArray<r
|
|
|
6156
6295
|
* @category ReadonlyMap
|
|
6157
6296
|
* @since 4.0.0
|
|
6158
6297
|
*/
|
|
6159
|
-
export function ReadonlyMap<Key extends Top, Value extends Top>(key: Key, value: Value): ReadonlyMap
|
|
6298
|
+
export function ReadonlyMap<Key extends Top, Value extends Top>(key: Key, value: Value): $ReadonlyMap<Key, Value> {
|
|
6160
6299
|
const schema = declareConstructor<
|
|
6161
6300
|
globalThis.ReadonlyMap<Key["Type"], Value["Type"]>,
|
|
6162
6301
|
globalThis.ReadonlyMap<Key["Encoded"], Value["Encoded"]>,
|
|
6163
6302
|
ReadonlyMapIso<Key, Value>
|
|
6164
6303
|
>()(
|
|
6165
6304
|
[key, value],
|
|
6166
|
-
([key, value]) =>
|
|
6167
|
-
|
|
6168
|
-
|
|
6169
|
-
|
|
6170
|
-
|
|
6171
|
-
|
|
6172
|
-
|
|
6173
|
-
|
|
6174
|
-
|
|
6175
|
-
|
|
6305
|
+
([key, value]) => {
|
|
6306
|
+
const array = Array(Tuple([key, value]))
|
|
6307
|
+
return (input, ast, options) => {
|
|
6308
|
+
if (input instanceof globalThis.Map) {
|
|
6309
|
+
return Effect.mapBothEager(
|
|
6310
|
+
Parser.decodeUnknownEffect(array)([...input], options),
|
|
6311
|
+
{
|
|
6312
|
+
onSuccess: (array: ReadonlyArray<readonly [Key["Type"], Value["Type"]]>) => new globalThis.Map(array),
|
|
6313
|
+
onFailure: (issue) =>
|
|
6314
|
+
new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["entries"], issue)])
|
|
6315
|
+
}
|
|
6316
|
+
)
|
|
6317
|
+
}
|
|
6318
|
+
return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)))
|
|
6176
6319
|
}
|
|
6177
|
-
return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)))
|
|
6178
6320
|
},
|
|
6179
6321
|
{
|
|
6180
6322
|
typeConstructor: {
|
|
@@ -6214,11 +6356,102 @@ export function ReadonlyMap<Key extends Top, Value extends Top>(key: Key, value:
|
|
|
6214
6356
|
return make(schema.ast, { key, value })
|
|
6215
6357
|
}
|
|
6216
6358
|
|
|
6359
|
+
/**
|
|
6360
|
+
* @category HashMap
|
|
6361
|
+
* @since 4.0.0
|
|
6362
|
+
*/
|
|
6363
|
+
export interface HashMap<Key extends Top, Value extends Top> extends
|
|
6364
|
+
declareConstructor<
|
|
6365
|
+
HashMap_.HashMap<Key["Type"], Value["Type"]>,
|
|
6366
|
+
HashMap_.HashMap<Key["Encoded"], Value["Encoded"]>,
|
|
6367
|
+
readonly [Key, Value],
|
|
6368
|
+
HashMapIso<Key, Value>
|
|
6369
|
+
>
|
|
6370
|
+
{
|
|
6371
|
+
readonly key: Key
|
|
6372
|
+
readonly value: Value
|
|
6373
|
+
}
|
|
6374
|
+
|
|
6375
|
+
/**
|
|
6376
|
+
* @category HashMap
|
|
6377
|
+
* @since 4.0.0
|
|
6378
|
+
*/
|
|
6379
|
+
export type HashMapIso<Key extends Top, Value extends Top> = ReadonlyArray<readonly [Key["Iso"], Value["Iso"]]>
|
|
6380
|
+
|
|
6381
|
+
/**
|
|
6382
|
+
* Creates a schema that validates a `HashMap` where keys and values must
|
|
6383
|
+
* conform to the provided schemas.
|
|
6384
|
+
*
|
|
6385
|
+
* @category HashMap
|
|
6386
|
+
* @since 4.0.0
|
|
6387
|
+
*/
|
|
6388
|
+
export function HashMap<Key extends Top, Value extends Top>(key: Key, value: Value): HashMap<Key, Value> {
|
|
6389
|
+
const schema = declareConstructor<
|
|
6390
|
+
HashMap_.HashMap<Key["Type"], Value["Type"]>,
|
|
6391
|
+
HashMap_.HashMap<Key["Encoded"], Value["Encoded"]>,
|
|
6392
|
+
HashMapIso<Key, Value>
|
|
6393
|
+
>()(
|
|
6394
|
+
[key, value],
|
|
6395
|
+
([key, value]) => {
|
|
6396
|
+
const entries = Array(Tuple([key, value]))
|
|
6397
|
+
return (input, ast, options) => {
|
|
6398
|
+
if (HashMap_.isHashMap(input)) {
|
|
6399
|
+
return Effect.mapBothEager(
|
|
6400
|
+
Parser.decodeUnknownEffect(entries)(HashMap_.toEntries(input), options),
|
|
6401
|
+
{
|
|
6402
|
+
onSuccess: HashMap_.fromIterable,
|
|
6403
|
+
onFailure: (issue) =>
|
|
6404
|
+
new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["entries"], issue)])
|
|
6405
|
+
}
|
|
6406
|
+
)
|
|
6407
|
+
}
|
|
6408
|
+
return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)))
|
|
6409
|
+
}
|
|
6410
|
+
},
|
|
6411
|
+
{
|
|
6412
|
+
typeConstructor: {
|
|
6413
|
+
_tag: "effect/HashMap"
|
|
6414
|
+
},
|
|
6415
|
+
generation: {
|
|
6416
|
+
runtime: `Schema.HashMap(?, ?)`,
|
|
6417
|
+
Type: `HashMap.HashMap<?, ?>`,
|
|
6418
|
+
importDeclaration: `import * as HashMap from "effect/HashMap"`
|
|
6419
|
+
},
|
|
6420
|
+
expected: "HashMap",
|
|
6421
|
+
toCodec: ([key, value]) =>
|
|
6422
|
+
link<HashMap_.HashMap<Key["Encoded"], Value["Encoded"]>>()(
|
|
6423
|
+
Array(Tuple([key, value])),
|
|
6424
|
+
Transformation.transform({
|
|
6425
|
+
decode: HashMap_.fromIterable,
|
|
6426
|
+
encode: HashMap_.toEntries
|
|
6427
|
+
})
|
|
6428
|
+
),
|
|
6429
|
+
toArbitrary: ([key, value]) => (fc, ctx) => {
|
|
6430
|
+
return fc.oneof(
|
|
6431
|
+
ctx?.isSuspend ? { maxDepth: 2, depthIdentifier: "HashMap" } : {},
|
|
6432
|
+
fc.constant([]),
|
|
6433
|
+
fc.array(fc.tuple(key, value), ctx?.constraints?.array)
|
|
6434
|
+
).map(HashMap_.fromIterable)
|
|
6435
|
+
},
|
|
6436
|
+
toEquivalence: ([key, value]) => Equal.makeCompareMap(key, value),
|
|
6437
|
+
toFormatter: ([key, value]) => (t) => {
|
|
6438
|
+
const size = HashMap_.size(t)
|
|
6439
|
+
if (size === 0) {
|
|
6440
|
+
return "HashMap(0) {}"
|
|
6441
|
+
}
|
|
6442
|
+
const entries = HashMap_.toEntries(t).sort().map(([k, v]) => `${key(k)} => ${value(v)}`)
|
|
6443
|
+
return `HashMap(${size}) { ${entries.join(", ")} }`
|
|
6444
|
+
}
|
|
6445
|
+
}
|
|
6446
|
+
)
|
|
6447
|
+
return make(schema.ast, { key, value })
|
|
6448
|
+
}
|
|
6449
|
+
|
|
6217
6450
|
/**
|
|
6218
6451
|
* @category ReadonlySet
|
|
6219
6452
|
* @since 4.0.0
|
|
6220
6453
|
*/
|
|
6221
|
-
export interface ReadonlySet
|
|
6454
|
+
export interface $ReadonlySet<Value extends Top> extends
|
|
6222
6455
|
declareConstructor<
|
|
6223
6456
|
globalThis.ReadonlySet<Value["Type"]>,
|
|
6224
6457
|
globalThis.ReadonlySet<Value["Encoded"]>,
|
|
@@ -6239,25 +6472,28 @@ export type ReadonlySetIso<Value extends Top> = ReadonlyArray<Value["Iso"]>
|
|
|
6239
6472
|
* @category ReadonlySet
|
|
6240
6473
|
* @since 4.0.0
|
|
6241
6474
|
*/
|
|
6242
|
-
export function ReadonlySet<Value extends Top>(value: Value): ReadonlySet
|
|
6475
|
+
export function ReadonlySet<Value extends Top>(value: Value): $ReadonlySet<Value> {
|
|
6243
6476
|
const schema = declareConstructor<
|
|
6244
6477
|
globalThis.ReadonlySet<Value["Type"]>,
|
|
6245
6478
|
globalThis.ReadonlySet<Value["Encoded"]>,
|
|
6246
6479
|
ReadonlySetIso<Value>
|
|
6247
6480
|
>()(
|
|
6248
6481
|
[value],
|
|
6249
|
-
([value]) =>
|
|
6250
|
-
|
|
6251
|
-
|
|
6252
|
-
|
|
6253
|
-
|
|
6254
|
-
|
|
6255
|
-
|
|
6256
|
-
|
|
6257
|
-
|
|
6258
|
-
|
|
6482
|
+
([value]) => {
|
|
6483
|
+
const array = Array(value)
|
|
6484
|
+
return (input, ast, options) => {
|
|
6485
|
+
if (input instanceof globalThis.Set) {
|
|
6486
|
+
return Effect.mapBothEager(
|
|
6487
|
+
Parser.decodeUnknownEffect(array)([...input], options),
|
|
6488
|
+
{
|
|
6489
|
+
onSuccess: (array: ReadonlyArray<Value["Type"]>) => new globalThis.Set(array),
|
|
6490
|
+
onFailure: (issue) =>
|
|
6491
|
+
new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["values"], issue)])
|
|
6492
|
+
}
|
|
6493
|
+
)
|
|
6494
|
+
}
|
|
6495
|
+
return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)))
|
|
6259
6496
|
}
|
|
6260
|
-
return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)))
|
|
6261
6497
|
},
|
|
6262
6498
|
{
|
|
6263
6499
|
typeConstructor: {
|
|
@@ -6297,6 +6533,184 @@ export function ReadonlySet<Value extends Top>(value: Value): ReadonlySet$<Value
|
|
|
6297
6533
|
return make(schema.ast, { value })
|
|
6298
6534
|
}
|
|
6299
6535
|
|
|
6536
|
+
/**
|
|
6537
|
+
* @category HashSet
|
|
6538
|
+
* @since 4.0.0
|
|
6539
|
+
*/
|
|
6540
|
+
export interface HashSet<Value extends Top> extends
|
|
6541
|
+
declareConstructor<
|
|
6542
|
+
HashSet_.HashSet<Value["Type"]>,
|
|
6543
|
+
HashSet_.HashSet<Value["Encoded"]>,
|
|
6544
|
+
readonly [Value],
|
|
6545
|
+
HashSetIso<Value>
|
|
6546
|
+
>
|
|
6547
|
+
{
|
|
6548
|
+
readonly value: Value
|
|
6549
|
+
}
|
|
6550
|
+
|
|
6551
|
+
/**
|
|
6552
|
+
* @category HashSet
|
|
6553
|
+
* @since 4.0.0
|
|
6554
|
+
*/
|
|
6555
|
+
export type HashSetIso<Value extends Top> = ReadonlyArray<Value["Iso"]>
|
|
6556
|
+
|
|
6557
|
+
/**
|
|
6558
|
+
* Creates a schema that validates a `HashSet` where values must conform to the
|
|
6559
|
+
* provided schema.
|
|
6560
|
+
*
|
|
6561
|
+
* @category HashSet
|
|
6562
|
+
* @since 4.0.0
|
|
6563
|
+
*/
|
|
6564
|
+
export function HashSet<Value extends Top>(value: Value): HashSet<Value> {
|
|
6565
|
+
const schema = declareConstructor<
|
|
6566
|
+
HashSet_.HashSet<Value["Type"]>,
|
|
6567
|
+
HashSet_.HashSet<Value["Encoded"]>,
|
|
6568
|
+
HashSetIso<Value>
|
|
6569
|
+
>()(
|
|
6570
|
+
[value],
|
|
6571
|
+
([value]) => {
|
|
6572
|
+
const values = Array(value)
|
|
6573
|
+
return (input, ast, options) => {
|
|
6574
|
+
if (HashSet_.isHashSet(input)) {
|
|
6575
|
+
return Effect.mapBothEager(
|
|
6576
|
+
Parser.decodeUnknownEffect(values)(Arr.fromIterable(input), options),
|
|
6577
|
+
{
|
|
6578
|
+
onSuccess: HashSet_.fromIterable,
|
|
6579
|
+
onFailure: (issue) =>
|
|
6580
|
+
new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["values"], issue)])
|
|
6581
|
+
}
|
|
6582
|
+
)
|
|
6583
|
+
}
|
|
6584
|
+
return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)))
|
|
6585
|
+
}
|
|
6586
|
+
},
|
|
6587
|
+
{
|
|
6588
|
+
typeConstructor: {
|
|
6589
|
+
_tag: "effect/HashSet"
|
|
6590
|
+
},
|
|
6591
|
+
generation: {
|
|
6592
|
+
runtime: `Schema.HashSet(?)`,
|
|
6593
|
+
Type: `HashSet.HashSet<?>`
|
|
6594
|
+
},
|
|
6595
|
+
expected: "HashSet",
|
|
6596
|
+
toCodec: ([value]) =>
|
|
6597
|
+
link<HashSet_.HashSet<Value["Encoded"]>>()(
|
|
6598
|
+
Array(value),
|
|
6599
|
+
Transformation.transform({
|
|
6600
|
+
decode: HashSet_.fromIterable,
|
|
6601
|
+
encode: Arr.fromIterable
|
|
6602
|
+
})
|
|
6603
|
+
),
|
|
6604
|
+
toArbitrary: ([value]) => (fc, ctx) => {
|
|
6605
|
+
return fc.oneof(
|
|
6606
|
+
ctx?.isSuspend ? { maxDepth: 2, depthIdentifier: "HashSet" } : {},
|
|
6607
|
+
fc.constant([]),
|
|
6608
|
+
fc.array(value, ctx?.constraints?.array)
|
|
6609
|
+
).map(HashSet_.fromIterable)
|
|
6610
|
+
},
|
|
6611
|
+
toEquivalence: ([value]) => Equal.makeCompareSet(value),
|
|
6612
|
+
toFormatter: ([value]) => (t) => {
|
|
6613
|
+
const size = HashSet_.size(t)
|
|
6614
|
+
if (size === 0) {
|
|
6615
|
+
return "HashSet(0) {}"
|
|
6616
|
+
}
|
|
6617
|
+
const values = globalThis.Array.from(t).sort().map((v) => `${value(v)}`)
|
|
6618
|
+
return `HashSet(${size}) { ${values.join(", ")} }`
|
|
6619
|
+
}
|
|
6620
|
+
}
|
|
6621
|
+
)
|
|
6622
|
+
return make(schema.ast, { value })
|
|
6623
|
+
}
|
|
6624
|
+
|
|
6625
|
+
/**
|
|
6626
|
+
* @category Chunk
|
|
6627
|
+
* @since 4.0.0
|
|
6628
|
+
*/
|
|
6629
|
+
export interface Chunk<Value extends Top> extends
|
|
6630
|
+
declareConstructor<
|
|
6631
|
+
Chunk_.Chunk<Value["Type"]>,
|
|
6632
|
+
Chunk_.Chunk<Value["Encoded"]>,
|
|
6633
|
+
readonly [Value],
|
|
6634
|
+
ChunkIso<Value>
|
|
6635
|
+
>
|
|
6636
|
+
{
|
|
6637
|
+
readonly value: Value
|
|
6638
|
+
}
|
|
6639
|
+
|
|
6640
|
+
/**
|
|
6641
|
+
* @category Chunk
|
|
6642
|
+
* @since 4.0.0
|
|
6643
|
+
*/
|
|
6644
|
+
export type ChunkIso<Value extends Top> = ReadonlyArray<Value["Iso"]>
|
|
6645
|
+
|
|
6646
|
+
/**
|
|
6647
|
+
* Creates a schema that validates a `Chunk` where values must conform to the
|
|
6648
|
+
* provided schema.
|
|
6649
|
+
*
|
|
6650
|
+
* @category Chunk
|
|
6651
|
+
* @since 4.0.0
|
|
6652
|
+
*/
|
|
6653
|
+
export function Chunk<Value extends Top>(value: Value): Chunk<Value> {
|
|
6654
|
+
const schema = declareConstructor<
|
|
6655
|
+
Chunk_.Chunk<Value["Type"]>,
|
|
6656
|
+
Chunk_.Chunk<Value["Encoded"]>,
|
|
6657
|
+
ChunkIso<Value>
|
|
6658
|
+
>()(
|
|
6659
|
+
[value],
|
|
6660
|
+
([value]) => {
|
|
6661
|
+
const values = Array(value)
|
|
6662
|
+
return (input, ast, options) => {
|
|
6663
|
+
if (Chunk_.isChunk(input)) {
|
|
6664
|
+
return Effect.mapBothEager(
|
|
6665
|
+
Parser.decodeUnknownEffect(values)(Arr.fromIterable(input), options),
|
|
6666
|
+
{
|
|
6667
|
+
onSuccess: Chunk_.fromIterable,
|
|
6668
|
+
onFailure: (issue) =>
|
|
6669
|
+
new Issue.Composite(ast, Option_.some(input), [new Issue.Pointer(["values"], issue)])
|
|
6670
|
+
}
|
|
6671
|
+
)
|
|
6672
|
+
}
|
|
6673
|
+
return Effect.fail(new Issue.InvalidType(ast, Option_.some(input)))
|
|
6674
|
+
}
|
|
6675
|
+
},
|
|
6676
|
+
{
|
|
6677
|
+
typeConstructor: {
|
|
6678
|
+
_tag: "effect/Chunk"
|
|
6679
|
+
},
|
|
6680
|
+
generation: {
|
|
6681
|
+
runtime: `Schema.Chunk(?)`,
|
|
6682
|
+
Type: `Chunk.Chunk<?>`
|
|
6683
|
+
},
|
|
6684
|
+
expected: "Chunk",
|
|
6685
|
+
toCodec: ([value]) =>
|
|
6686
|
+
link<Chunk_.Chunk<Value["Encoded"]>>()(
|
|
6687
|
+
Array(value),
|
|
6688
|
+
Transformation.transform({
|
|
6689
|
+
decode: Chunk_.fromIterable,
|
|
6690
|
+
encode: Arr.fromIterable
|
|
6691
|
+
})
|
|
6692
|
+
),
|
|
6693
|
+
toArbitrary: ([value]) => (fc, ctx) => {
|
|
6694
|
+
return fc.oneof(
|
|
6695
|
+
ctx?.isSuspend ? { maxDepth: 2, depthIdentifier: "Chunk" } : {},
|
|
6696
|
+
fc.constant([]),
|
|
6697
|
+
fc.array(value, ctx?.constraints?.array)
|
|
6698
|
+
).map(Chunk_.fromIterable)
|
|
6699
|
+
},
|
|
6700
|
+
toEquivalence: ([value]) => Chunk_.makeEquivalence(value),
|
|
6701
|
+
toFormatter: ([value]) => (t) => {
|
|
6702
|
+
const size = Chunk_.size(t)
|
|
6703
|
+
if (size === 0) {
|
|
6704
|
+
return "Chunk(0) {}"
|
|
6705
|
+
}
|
|
6706
|
+
const values = globalThis.Array.from(t).sort().map((v) => `${value(v)}`)
|
|
6707
|
+
return `Chunk(${size}) { ${values.join(", ")} }`
|
|
6708
|
+
}
|
|
6709
|
+
}
|
|
6710
|
+
)
|
|
6711
|
+
return make(schema.ast, { value })
|
|
6712
|
+
}
|
|
6713
|
+
|
|
6300
6714
|
/**
|
|
6301
6715
|
* @since 4.0.0
|
|
6302
6716
|
*/
|
|
@@ -6588,6 +7002,45 @@ export const DurationFromMillis: DurationFromMillis = Number.check(isGreaterThan
|
|
|
6588
7002
|
decodeTo(Duration, Transformation.durationFromMillis)
|
|
6589
7003
|
)
|
|
6590
7004
|
|
|
7005
|
+
/**
|
|
7006
|
+
* @since 4.0.0
|
|
7007
|
+
*/
|
|
7008
|
+
export interface BigDecimal extends declare<BigDecimal_.BigDecimal> {}
|
|
7009
|
+
|
|
7010
|
+
/**
|
|
7011
|
+
* A schema for `BigDecimal` values.
|
|
7012
|
+
*
|
|
7013
|
+
* **Default JSON serializer**
|
|
7014
|
+
*
|
|
7015
|
+
* - encodes `BigDecimal` as a `string`
|
|
7016
|
+
*
|
|
7017
|
+
* @since 4.0.0
|
|
7018
|
+
*/
|
|
7019
|
+
export const BigDecimal: BigDecimal = declare(
|
|
7020
|
+
BigDecimal_.isBigDecimal,
|
|
7021
|
+
{
|
|
7022
|
+
typeConstructor: {
|
|
7023
|
+
_tag: "effect/BigDecimal"
|
|
7024
|
+
},
|
|
7025
|
+
generation: {
|
|
7026
|
+
runtime: `Schema.BigDecimal`,
|
|
7027
|
+
Type: `BigDecimal.BigDecimal`,
|
|
7028
|
+
importDeclaration: `import * as BigDecimal from "effect/BigDecimal"`
|
|
7029
|
+
},
|
|
7030
|
+
expected: "BigDecimal",
|
|
7031
|
+
toCodecJson: () =>
|
|
7032
|
+
link<BigDecimal_.BigDecimal>()(
|
|
7033
|
+
String.annotate({ expected: "a string that will be decoded as a BigDecimal" }),
|
|
7034
|
+
Transformation.bigDecimalFromString
|
|
7035
|
+
),
|
|
7036
|
+
toArbitrary: () => (fc) =>
|
|
7037
|
+
fc.tuple(fc.bigInt(), fc.integer({ min: 0, max: 20 }))
|
|
7038
|
+
.map(([value, scale]) => BigDecimal_.make(value, scale)),
|
|
7039
|
+
toFormatter: () => (bd) => BigDecimal_.format(bd),
|
|
7040
|
+
toEquivalence: () => BigDecimal_.Equivalence
|
|
7041
|
+
}
|
|
7042
|
+
)
|
|
7043
|
+
|
|
6591
7044
|
/**
|
|
6592
7045
|
* @since 4.0.0
|
|
6593
7046
|
*/
|
|
@@ -6720,7 +7173,7 @@ export const File: File = instanceOf(globalThis.File, {
|
|
|
6720
7173
|
}),
|
|
6721
7174
|
Transformation.transformOrFail({
|
|
6722
7175
|
decode: (e) =>
|
|
6723
|
-
Result_.match(
|
|
7176
|
+
Result_.match(Encoding.decodeBase64(e.data), {
|
|
6724
7177
|
onFailure: (error) =>
|
|
6725
7178
|
Effect.fail(
|
|
6726
7179
|
new Issue.InvalidValue(Option_.some(e.data), {
|
|
@@ -6739,7 +7192,7 @@ export const File: File = instanceOf(globalThis.File, {
|
|
|
6739
7192
|
try: async () => {
|
|
6740
7193
|
const bytes = new globalThis.Uint8Array(await file.arrayBuffer())
|
|
6741
7194
|
return {
|
|
6742
|
-
data:
|
|
7195
|
+
data: Encoding.encodeBase64(bytes),
|
|
6743
7196
|
type: file.type,
|
|
6744
7197
|
name: file.name,
|
|
6745
7198
|
lastModified: file.lastModified
|
|
@@ -7273,7 +7726,7 @@ export const DateTimeUtc: DateTimeUtc = declare(
|
|
|
7273
7726
|
(u) => DateTime.isDateTime(u) && DateTime.isUtc(u),
|
|
7274
7727
|
{
|
|
7275
7728
|
typeConstructor: {
|
|
7276
|
-
_tag: "DateTime.Utc"
|
|
7729
|
+
_tag: "effect/DateTime.Utc"
|
|
7277
7730
|
},
|
|
7278
7731
|
generation: {
|
|
7279
7732
|
runtime: `Schema.DateTimeUtc`,
|
|
@@ -7284,10 +7737,7 @@ export const DateTimeUtc: DateTimeUtc = declare(
|
|
|
7284
7737
|
toCodecJson: () =>
|
|
7285
7738
|
link<DateTime.Utc>()(
|
|
7286
7739
|
String,
|
|
7287
|
-
|
|
7288
|
-
decode: Getter.dateTimeUtcFromInput(),
|
|
7289
|
-
encode: Getter.transform(DateTime.formatIso)
|
|
7290
|
-
}
|
|
7740
|
+
Transformation.dateTimeUtcFromString
|
|
7291
7741
|
),
|
|
7292
7742
|
toArbitrary: () => (fc, ctx) =>
|
|
7293
7743
|
fc.date({ noInvalidDate: true, ...ctx?.constraints?.date }).map((date) => DateTime.fromDateUnsafe(date)),
|
|
@@ -7344,10 +7794,7 @@ export const DateTimeUtcFromString: DateTimeUtcFromString = String.annotate({
|
|
|
7344
7794
|
}).pipe(
|
|
7345
7795
|
decodeTo(
|
|
7346
7796
|
DateTimeUtc,
|
|
7347
|
-
Transformation.
|
|
7348
|
-
decode: DateTime.makeUnsafe,
|
|
7349
|
-
encode: DateTime.formatIso
|
|
7350
|
-
})
|
|
7797
|
+
Transformation.dateTimeUtcFromString
|
|
7351
7798
|
)
|
|
7352
7799
|
)
|
|
7353
7800
|
|
|
@@ -7375,6 +7822,183 @@ export const DateTimeUtcFromMillis: DateTimeUtcFromMillis = Number.pipe(
|
|
|
7375
7822
|
})
|
|
7376
7823
|
)
|
|
7377
7824
|
|
|
7825
|
+
/**
|
|
7826
|
+
* @since 4.0.0
|
|
7827
|
+
*/
|
|
7828
|
+
export interface TimeZoneOffset extends declare<DateTime.TimeZone.Offset> {}
|
|
7829
|
+
|
|
7830
|
+
/**
|
|
7831
|
+
* A schema for `DateTime.TimeZone.Offset` values.
|
|
7832
|
+
*
|
|
7833
|
+
* **Default JSON serializer**
|
|
7834
|
+
*
|
|
7835
|
+
* - encodes `DateTime.TimeZone.Offset` as a number (offset in milliseconds)
|
|
7836
|
+
*
|
|
7837
|
+
* @category DateTime
|
|
7838
|
+
* @since 4.0.0
|
|
7839
|
+
*/
|
|
7840
|
+
export const TimeZoneOffset: TimeZoneOffset = declare(
|
|
7841
|
+
DateTime.isTimeZoneOffset,
|
|
7842
|
+
{
|
|
7843
|
+
typeConstructor: {
|
|
7844
|
+
_tag: "effect/DateTime.TimeZone.Offset"
|
|
7845
|
+
},
|
|
7846
|
+
generation: {
|
|
7847
|
+
runtime: `Schema.TimeZoneOffset`,
|
|
7848
|
+
Type: `DateTime.TimeZone.Offset`,
|
|
7849
|
+
importDeclaration: `import * as DateTime from "effect/DateTime"`
|
|
7850
|
+
},
|
|
7851
|
+
expected: "DateTime.TimeZone.Offset",
|
|
7852
|
+
toCodecJson: () =>
|
|
7853
|
+
link<DateTime.TimeZone.Offset>()(
|
|
7854
|
+
Number,
|
|
7855
|
+
Transformation.timeZoneOffsetFromNumber
|
|
7856
|
+
),
|
|
7857
|
+
toArbitrary: () => (fc) =>
|
|
7858
|
+
fc.integer({ min: -12 * 60 * 60 * 1000, max: 14 * 60 * 60 * 1000 }).map((n) => DateTime.zoneMakeOffset(n)),
|
|
7859
|
+
toFormatter: () => (tz) => DateTime.zoneToString(tz),
|
|
7860
|
+
toEquivalence: () => (a, b) => a.offset === b.offset
|
|
7861
|
+
}
|
|
7862
|
+
)
|
|
7863
|
+
|
|
7864
|
+
/**
|
|
7865
|
+
* @since 4.0.0
|
|
7866
|
+
*/
|
|
7867
|
+
export interface TimeZoneNamed extends declare<DateTime.TimeZone.Named> {}
|
|
7868
|
+
|
|
7869
|
+
/**
|
|
7870
|
+
* A schema for `DateTime.TimeZone.Named` values.
|
|
7871
|
+
*
|
|
7872
|
+
* **Default JSON serializer**
|
|
7873
|
+
*
|
|
7874
|
+
* - encodes `DateTime.TimeZone.Named` as a string (IANA time zone identifier)
|
|
7875
|
+
*
|
|
7876
|
+
* @category DateTime
|
|
7877
|
+
* @since 4.0.0
|
|
7878
|
+
*/
|
|
7879
|
+
export const TimeZoneNamed: TimeZoneNamed = declare(
|
|
7880
|
+
DateTime.isTimeZoneNamed,
|
|
7881
|
+
{
|
|
7882
|
+
typeConstructor: {
|
|
7883
|
+
_tag: "effect/DateTime.TimeZone.Named"
|
|
7884
|
+
},
|
|
7885
|
+
generation: {
|
|
7886
|
+
runtime: `Schema.TimeZoneNamed`,
|
|
7887
|
+
Type: `DateTime.TimeZone.Named`,
|
|
7888
|
+
importDeclaration: `import * as DateTime from "effect/DateTime"`
|
|
7889
|
+
},
|
|
7890
|
+
expected: "DateTime.TimeZone.Named",
|
|
7891
|
+
toCodecJson: () =>
|
|
7892
|
+
link<DateTime.TimeZone.Named>()(
|
|
7893
|
+
String.annotate({ expected: "an IANA time zone identifier" }),
|
|
7894
|
+
Transformation.timeZoneNamedFromString
|
|
7895
|
+
),
|
|
7896
|
+
toArbitrary: () => (fc) =>
|
|
7897
|
+
fc.constantFrom(
|
|
7898
|
+
...["UTC", "Europe/London", "America/New_York", "Asia/Tokyo", "Australia/Sydney"].map(
|
|
7899
|
+
DateTime.zoneMakeNamedUnsafe
|
|
7900
|
+
)
|
|
7901
|
+
),
|
|
7902
|
+
toFormatter: () => (tz) => DateTime.zoneToString(tz),
|
|
7903
|
+
toEquivalence: () => (a, b) => a.id === b.id
|
|
7904
|
+
}
|
|
7905
|
+
)
|
|
7906
|
+
|
|
7907
|
+
/**
|
|
7908
|
+
* @since 4.0.0
|
|
7909
|
+
*/
|
|
7910
|
+
export interface TimeZone extends declare<DateTime.TimeZone> {}
|
|
7911
|
+
|
|
7912
|
+
/**
|
|
7913
|
+
* A schema for `DateTime.TimeZone` values.
|
|
7914
|
+
*
|
|
7915
|
+
* **Default JSON serializer**
|
|
7916
|
+
*
|
|
7917
|
+
* - encodes `DateTime.TimeZone` as a string (IANA identifier or offset like
|
|
7918
|
+
* `+03:00`)
|
|
7919
|
+
*
|
|
7920
|
+
* @category DateTime
|
|
7921
|
+
* @since 4.0.0
|
|
7922
|
+
*/
|
|
7923
|
+
export const TimeZone: TimeZone = declare(
|
|
7924
|
+
DateTime.isTimeZone,
|
|
7925
|
+
{
|
|
7926
|
+
typeConstructor: {
|
|
7927
|
+
_tag: "effect/DateTime.TimeZone"
|
|
7928
|
+
},
|
|
7929
|
+
generation: {
|
|
7930
|
+
runtime: `Schema.TimeZone`,
|
|
7931
|
+
Type: `DateTime.TimeZone`,
|
|
7932
|
+
importDeclaration: `import * as DateTime from "effect/DateTime"`
|
|
7933
|
+
},
|
|
7934
|
+
expected: "DateTime.TimeZone",
|
|
7935
|
+
toCodecJson: () =>
|
|
7936
|
+
link<DateTime.TimeZone>()(
|
|
7937
|
+
String.annotate({ expected: "a time zone string (IANA identifier or offset like +03:00)" }),
|
|
7938
|
+
Transformation.timeZoneFromString
|
|
7939
|
+
),
|
|
7940
|
+
toArbitrary: () => (fc) =>
|
|
7941
|
+
fc.oneof(
|
|
7942
|
+
fc.integer({ min: -12 * 60 * 60 * 1000, max: 14 * 60 * 60 * 1000 }).map((n) => DateTime.zoneMakeOffset(n)),
|
|
7943
|
+
fc.constantFrom(
|
|
7944
|
+
...["UTC", "Europe/London", "America/New_York", "Asia/Tokyo", "Australia/Sydney"].map(
|
|
7945
|
+
DateTime.zoneMakeNamedUnsafe
|
|
7946
|
+
)
|
|
7947
|
+
)
|
|
7948
|
+
),
|
|
7949
|
+
toFormatter: () => (tz) => DateTime.zoneToString(tz),
|
|
7950
|
+
toEquivalence: () => (a, b) => DateTime.zoneToString(a) === DateTime.zoneToString(b)
|
|
7951
|
+
}
|
|
7952
|
+
)
|
|
7953
|
+
|
|
7954
|
+
/**
|
|
7955
|
+
* @since 4.0.0
|
|
7956
|
+
*/
|
|
7957
|
+
export interface DateTimeZoned extends declare<DateTime.Zoned> {}
|
|
7958
|
+
|
|
7959
|
+
/**
|
|
7960
|
+
* A schema for `DateTime.Zoned` values.
|
|
7961
|
+
*
|
|
7962
|
+
* **Default JSON serializer**
|
|
7963
|
+
*
|
|
7964
|
+
* - encodes `DateTime.Zoned` as a string in the format
|
|
7965
|
+
* `YYYY-MM-DDTHH:mm:ss.sss+HH:MM[Time/Zone]`
|
|
7966
|
+
*
|
|
7967
|
+
* @category DateTime
|
|
7968
|
+
* @since 4.0.0
|
|
7969
|
+
*/
|
|
7970
|
+
export const DateTimeZoned: DateTimeZoned = declare(
|
|
7971
|
+
(u) => DateTime.isDateTime(u) && DateTime.isZoned(u),
|
|
7972
|
+
{
|
|
7973
|
+
typeConstructor: {
|
|
7974
|
+
_tag: "effect/DateTime.Zoned"
|
|
7975
|
+
},
|
|
7976
|
+
generation: {
|
|
7977
|
+
runtime: `Schema.DateTimeZoned`,
|
|
7978
|
+
Type: `DateTime.Zoned`,
|
|
7979
|
+
importDeclaration: `import * as DateTime from "effect/DateTime"`
|
|
7980
|
+
},
|
|
7981
|
+
expected: "DateTime.Zoned",
|
|
7982
|
+
toCodecJson: () =>
|
|
7983
|
+
link<DateTime.Zoned>()(
|
|
7984
|
+
String.annotate({ expected: "a zoned DateTime string (e.g. 2024-01-01T00:00:00.000+00:00[Europe/London])" }),
|
|
7985
|
+
Transformation.dateTimeZonedFromString
|
|
7986
|
+
),
|
|
7987
|
+
toArbitrary: () => (fc, ctx) =>
|
|
7988
|
+
fc.tuple(
|
|
7989
|
+
fc.date({
|
|
7990
|
+
noInvalidDate: true,
|
|
7991
|
+
min: new globalThis.Date(-8640000000000000 + 14 * 60 * 60 * 1000),
|
|
7992
|
+
max: new globalThis.Date(8640000000000000 - 14 * 60 * 60 * 1000),
|
|
7993
|
+
...ctx?.constraints?.date
|
|
7994
|
+
}),
|
|
7995
|
+
fc.constantFrom("UTC", "Europe/London", "America/New_York", "Asia/Tokyo", "Australia/Sydney")
|
|
7996
|
+
).map(([date, zone]) => DateTime.makeZonedUnsafe(date, { timeZone: zone })),
|
|
7997
|
+
toFormatter: () => (zoned) => DateTime.formatIsoZoned(zoned),
|
|
7998
|
+
toEquivalence: () => DateTime.Equivalence
|
|
7999
|
+
}
|
|
8000
|
+
)
|
|
8001
|
+
|
|
7378
8002
|
// -----------------------------------------------------------------------------
|
|
7379
8003
|
// Class
|
|
7380
8004
|
// -----------------------------------------------------------------------------
|
|
@@ -7402,7 +8026,10 @@ export interface Class<Self, S extends Top & { readonly fields: Struct.Fields },
|
|
|
7402
8026
|
>
|
|
7403
8027
|
{
|
|
7404
8028
|
// intentionally left without `readonly "~rebuild.out": this`
|
|
7405
|
-
new(
|
|
8029
|
+
new(
|
|
8030
|
+
...args: {} extends S["~type.make.in"] ? [props?: S["~type.make.in"], options?: MakeOptions]
|
|
8031
|
+
: [props: S["~type.make.in"], options?: MakeOptions]
|
|
8032
|
+
): S["Type"] & Inherited
|
|
7406
8033
|
readonly identifier: string
|
|
7407
8034
|
readonly fields: S["fields"]
|
|
7408
8035
|
/**
|
|
@@ -7463,11 +8090,12 @@ function makeClass<
|
|
|
7463
8090
|
|
|
7464
8091
|
return class extends Inherited {
|
|
7465
8092
|
constructor(...[input, options]: ReadonlyArray<any>) {
|
|
8093
|
+
const props = input ?? {}
|
|
7466
8094
|
if (options?.disableValidation) {
|
|
7467
|
-
super(
|
|
8095
|
+
super(props, options)
|
|
7468
8096
|
} else {
|
|
7469
|
-
const validated = struct.makeUnsafe(
|
|
7470
|
-
super({ ...
|
|
8097
|
+
const validated = struct.makeUnsafe(props, options)
|
|
8098
|
+
super({ ...props, ...validated }, { ...options, disableValidation: true })
|
|
7471
8099
|
}
|
|
7472
8100
|
}
|
|
7473
8101
|
|
|
@@ -7516,6 +8144,9 @@ function makeClass<
|
|
|
7516
8144
|
static makeUnsafe(input: S["~type.make.in"], options?: MakeOptions): Self {
|
|
7517
8145
|
return new this(input, options)
|
|
7518
8146
|
}
|
|
8147
|
+
static makeOption(input: S["~type.make.in"], options?: MakeOptions): Option_.Option<Self> {
|
|
8148
|
+
return Parser.makeOption(getClassSchema(this) as any)(input, options) as any
|
|
8149
|
+
}
|
|
7519
8150
|
static annotate(annotations: Annotations.Declaration<Self, readonly [S]>) {
|
|
7520
8151
|
return this.rebuild(AST.annotate(this.ast, annotations))
|
|
7521
8152
|
}
|
|
@@ -7590,6 +8221,7 @@ function getClassSchemaFactory<S extends Top>(
|
|
|
7590
8221
|
toArbitrary: ([from]: readonly [FastCheck.Arbitrary<S["Type"]>]) => () =>
|
|
7591
8222
|
from.map((args) => new self(args)),
|
|
7592
8223
|
toFormatter: ([from]: readonly [Formatter<S["Type"]>]) => (t: Self) => `${self.identifier}(${from(t)})`,
|
|
8224
|
+
"~sentinels": AST.collectSentinels(from.ast),
|
|
7593
8225
|
...annotations
|
|
7594
8226
|
}
|
|
7595
8227
|
)
|
|
@@ -7723,7 +8355,9 @@ export const ErrorClass: {
|
|
|
7723
8355
|
annotations?: Annotations.Declaration<Self, readonly [Struct<Struct.Fields>]>
|
|
7724
8356
|
): ErrorClass<Self, Struct<Struct.Fields>, Cause_.YieldableError & Brand> => {
|
|
7725
8357
|
const struct = isStruct(schema) ? schema : Struct(schema)
|
|
7726
|
-
|
|
8358
|
+
const self = makeClass(core.Error, identifier, struct, annotations)
|
|
8359
|
+
;(self.prototype as any).name = identifier
|
|
8360
|
+
return self
|
|
7727
8361
|
}
|
|
7728
8362
|
|
|
7729
8363
|
/**
|
|
@@ -8042,11 +8676,11 @@ export function toJsonSchemaDocument(schema: Top, options?: ToJsonSchemaOptions)
|
|
|
8042
8676
|
}
|
|
8043
8677
|
|
|
8044
8678
|
// -----------------------------------------------------------------------------
|
|
8045
|
-
//
|
|
8679
|
+
// Canonical Codecs
|
|
8046
8680
|
// -----------------------------------------------------------------------------
|
|
8047
8681
|
|
|
8048
8682
|
/**
|
|
8049
|
-
* @category
|
|
8683
|
+
* @category Canonical Codecs
|
|
8050
8684
|
* @since 4.0.0
|
|
8051
8685
|
*/
|
|
8052
8686
|
export function toCodecJson<T, E, RD, RE>(schema: Codec<T, E, RD, RE>): Codec<T, unknown, RD, RE> {
|
|
@@ -8054,7 +8688,7 @@ export function toCodecJson<T, E, RD, RE>(schema: Codec<T, E, RD, RE>): Codec<T,
|
|
|
8054
8688
|
}
|
|
8055
8689
|
|
|
8056
8690
|
/**
|
|
8057
|
-
* @category
|
|
8691
|
+
* @category Canonical Codecs
|
|
8058
8692
|
* @since 4.0.0
|
|
8059
8693
|
*/
|
|
8060
8694
|
export function toCodecIso<S extends Top>(schema: S): Codec<S["Type"], S["Iso"]> {
|
|
@@ -8062,13 +8696,13 @@ export function toCodecIso<S extends Top>(schema: S): Codec<S["Type"], S["Iso"]>
|
|
|
8062
8696
|
}
|
|
8063
8697
|
|
|
8064
8698
|
/**
|
|
8065
|
-
* @category
|
|
8699
|
+
* @category Canonical Codecs
|
|
8066
8700
|
* @since 4.0.0
|
|
8067
8701
|
*/
|
|
8068
8702
|
export type StringTree = Tree<string | undefined>
|
|
8069
8703
|
|
|
8070
8704
|
/**
|
|
8071
|
-
* The StringTree
|
|
8705
|
+
* The StringTree canonical codec converts **every leaf value to a string**, while
|
|
8072
8706
|
* preserving the original structure.
|
|
8073
8707
|
*
|
|
8074
8708
|
* Declarations are converted to `undefined` (unless they have a
|
|
@@ -8082,7 +8716,7 @@ export type StringTree = Tree<string | undefined>
|
|
|
8082
8716
|
*
|
|
8083
8717
|
* Defaults to `false`.
|
|
8084
8718
|
*
|
|
8085
|
-
* @category
|
|
8719
|
+
* @category Canonical Codecs
|
|
8086
8720
|
* @since 4.0.0
|
|
8087
8721
|
*/
|
|
8088
8722
|
export function toCodecStringTree<T, E, RD, RE>(schema: Codec<T, E, RD, RE>): Codec<T, StringTree, RD, RE>
|
|
@@ -8115,7 +8749,7 @@ type XmlEncoderOptions = {
|
|
|
8115
8749
|
}
|
|
8116
8750
|
|
|
8117
8751
|
/**
|
|
8118
|
-
* @category
|
|
8752
|
+
* @category Canonical Codecs
|
|
8119
8753
|
* @since 4.0.0
|
|
8120
8754
|
*/
|
|
8121
8755
|
export function toEncoderXml<T, E, RD, RE>(
|
|
@@ -8235,8 +8869,6 @@ function serializerTree(
|
|
|
8235
8869
|
onMissingAnnotation: (ast: AST.AST) => AST.AST
|
|
8236
8870
|
): AST.AST {
|
|
8237
8871
|
switch (ast._tag) {
|
|
8238
|
-
case "Unknown":
|
|
8239
|
-
case "ObjectKeyword":
|
|
8240
8872
|
case "Declaration": {
|
|
8241
8873
|
const getLink = ast.annotations?.toCodecJson ?? ast.annotations?.toCodec
|
|
8242
8874
|
if (Predicate.isFunction(getLink)) {
|
|
@@ -8253,6 +8885,9 @@ function serializerTree(
|
|
|
8253
8885
|
return AST.replaceEncoding(ast, [nullToString])
|
|
8254
8886
|
case "Boolean":
|
|
8255
8887
|
return AST.replaceEncoding(ast, [booleanToString])
|
|
8888
|
+
case "Unknown":
|
|
8889
|
+
case "ObjectKeyword":
|
|
8890
|
+
return AST.replaceEncoding(ast, [AST.unknownToStringTree])
|
|
8256
8891
|
case "Enum":
|
|
8257
8892
|
case "Number":
|
|
8258
8893
|
case "Literal":
|
|
@@ -8479,13 +9114,13 @@ export function toDifferJsonPatch<T, E>(schema: Codec<T, E>): Differ<T, JsonPatc
|
|
|
8479
9114
|
* @category Tree
|
|
8480
9115
|
* @since 4.0.0
|
|
8481
9116
|
*/
|
|
8482
|
-
export type Tree<Node> = Node |
|
|
9117
|
+
export type Tree<Node> = Node | TreeRecord<Node> | ReadonlyArray<Tree<Node>>
|
|
8483
9118
|
|
|
8484
9119
|
/**
|
|
8485
9120
|
* @category Tree
|
|
8486
9121
|
* @since 4.0.0
|
|
8487
9122
|
*/
|
|
8488
|
-
export interface
|
|
9123
|
+
export interface TreeRecord<A> {
|
|
8489
9124
|
readonly [x: string]: Tree<A>
|
|
8490
9125
|
}
|
|
8491
9126
|
|
|
@@ -8508,51 +9143,12 @@ export function Tree<S extends Top>(node: S) {
|
|
|
8508
9143
|
return Tree
|
|
8509
9144
|
}
|
|
8510
9145
|
|
|
8511
|
-
/**
|
|
8512
|
-
* @category Tree
|
|
8513
|
-
* @since 4.0.0
|
|
8514
|
-
*/
|
|
8515
|
-
export type MutableTree<A> = A | MutableTreeRecord<A> | Array<MutableTree<A>>
|
|
8516
|
-
|
|
8517
|
-
/**
|
|
8518
|
-
* @category Tree
|
|
8519
|
-
* @since 4.0.0
|
|
8520
|
-
*/
|
|
8521
|
-
export interface MutableTreeRecord<A> {
|
|
8522
|
-
[x: string]: MutableTree<A>
|
|
8523
|
-
}
|
|
8524
|
-
|
|
8525
|
-
/**
|
|
8526
|
-
* @category Tree
|
|
8527
|
-
* @since 4.0.0
|
|
8528
|
-
*/
|
|
8529
|
-
export function MutableTree<S extends Top>(node: S) {
|
|
8530
|
-
const MutableTree$ref = suspend((): Codec<
|
|
8531
|
-
MutableTree<S["Type"]>,
|
|
8532
|
-
MutableTree<S["Encoded"]>,
|
|
8533
|
-
S["DecodingServices"],
|
|
8534
|
-
S["EncodingServices"]
|
|
8535
|
-
> => MutableTree)
|
|
8536
|
-
const MutableTree = Union([
|
|
8537
|
-
node,
|
|
8538
|
-
mutable(Array(MutableTree$ref)),
|
|
8539
|
-
Record(String, mutableKey(MutableTree$ref))
|
|
8540
|
-
])
|
|
8541
|
-
return MutableTree
|
|
8542
|
-
}
|
|
8543
|
-
|
|
8544
9146
|
/**
|
|
8545
9147
|
* @category JSON
|
|
8546
9148
|
* @since 4.0.0
|
|
8547
9149
|
*/
|
|
8548
9150
|
export type Json = null | number | boolean | string | JsonArray | JsonObject
|
|
8549
9151
|
|
|
8550
|
-
/**
|
|
8551
|
-
* @category JSON
|
|
8552
|
-
* @since 4.0.0
|
|
8553
|
-
*/
|
|
8554
|
-
export const Json: Codec<Json> = Tree(Union([Null, Number, Boolean, String]))
|
|
8555
|
-
|
|
8556
9152
|
/**
|
|
8557
9153
|
* @category JSON
|
|
8558
9154
|
* @since 4.0.0
|
|
@@ -8571,13 +9167,13 @@ export interface JsonObject {
|
|
|
8571
9167
|
* @category JSON
|
|
8572
9168
|
* @since 4.0.0
|
|
8573
9169
|
*/
|
|
8574
|
-
export
|
|
9170
|
+
export const Json: Codec<Json> = make(AST.Json)
|
|
8575
9171
|
|
|
8576
9172
|
/**
|
|
8577
9173
|
* @category JSON
|
|
8578
9174
|
* @since 4.0.0
|
|
8579
9175
|
*/
|
|
8580
|
-
export
|
|
9176
|
+
export type MutableJson = null | number | boolean | string | MutableJsonArray | MutableJsonObject
|
|
8581
9177
|
|
|
8582
9178
|
/**
|
|
8583
9179
|
* @category JSON
|
|
@@ -8593,6 +9189,12 @@ export interface MutableJsonObject {
|
|
|
8593
9189
|
[x: string]: MutableJson
|
|
8594
9190
|
}
|
|
8595
9191
|
|
|
9192
|
+
/**
|
|
9193
|
+
* @category JSON
|
|
9194
|
+
* @since 4.0.0
|
|
9195
|
+
*/
|
|
9196
|
+
export const MutableJson: Codec<MutableJson> = make(AST.MutableJson)
|
|
9197
|
+
|
|
8596
9198
|
// -----------------------------------------------------------------------------
|
|
8597
9199
|
// Annotations
|
|
8598
9200
|
// -----------------------------------------------------------------------------
|