effect 4.0.0-beta.3 → 4.0.0-beta.31
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 +118 -32
- 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/Cron.js +3 -3
- package/dist/Cron.js.map +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 +56 -238
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +7 -52
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +39 -11
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +88 -59
- 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 +217 -127
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +51 -46
- 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 +2647 -224
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +1863 -209
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +2 -2
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +131 -25
- 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 +46 -45
- 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 +60 -61
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +265 -127
- 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 +7 -8
- 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 +45 -45
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +107 -124
- 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/Completions.d.ts +16 -0
- package/dist/unstable/cli/Completions.d.ts.map +1 -0
- package/dist/unstable/cli/Completions.js +23 -0
- package/dist/unstable/cli/Completions.js.map +1 -0
- 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 +8 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +8 -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 +5 -4
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js +1 -1
- package/dist/unstable/cluster/DeliverAt.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 +9 -9
- package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
- package/dist/unstable/encoding/Ndjson.js.map +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/HttpIncomingMessage.d.ts +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts.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/Persistable.js +1 -1
- package/dist/unstable/persistence/Persistable.js.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 +3 -5
- 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 +557 -141
- package/src/Chunk.ts +81 -268
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +186 -24
- package/src/Cron.ts +3 -3
- package/src/Data.ts +539 -376
- package/src/DateTime.ts +59 -241
- package/src/Duration.ts +91 -36
- 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 +245 -150
- 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 +3116 -312
- package/src/SchemaAST.ts +166 -33
- package/src/SchemaGetter.ts +15 -17
- package/src/SchemaParser.ts +11 -0
- package/src/SchemaRepresentation.ts +51 -26
- 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 +69 -81
- package/src/internal/effect.ts +775 -302
- 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 +58 -74
- package/src/unstable/ai/LanguageModel.ts +294 -158
- 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/Completions.ts +36 -0
- package/src/unstable/cli/GlobalFlag.ts +242 -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 +10 -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 +6 -5
- package/src/unstable/cluster/DeliverAt.ts +1 -1
- 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/Ndjson.ts +17 -17
- 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 +9 -4
- package/src/unstable/http/HttpEffect.ts +54 -68
- package/src/unstable/http/HttpIncomingMessage.ts +1 -1
- 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 +391 -4
- 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 +83 -30
- 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 +3 -3
- 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 +7 -7
- 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/dist/unstable/cli/internal/completions/Completions.d.ts +0 -2
- package/dist/unstable/cli/internal/completions/Completions.d.ts.map +0 -1
- package/dist/unstable/cli/internal/completions/Completions.js +0 -23
- package/dist/unstable/cli/internal/completions/Completions.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/unstable/cli/internal/completions/Completions.ts +0 -31
|
@@ -1,5 +1,68 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Testing utilities for Schema
|
|
2
|
+
* Testing utilities for asserting Schema decoding, encoding, make, and
|
|
3
|
+
* arbitrary-generation behavior. Used in unit tests to verify that schemas
|
|
4
|
+
* accept, reject, and round-trip values correctly.
|
|
5
|
+
*
|
|
6
|
+
* ## Mental model
|
|
7
|
+
*
|
|
8
|
+
* - **Asserts** – entry point: wraps a schema and exposes helpers grouped by
|
|
9
|
+
* operation (decoding, encoding, make, arbitrary, round-trip).
|
|
10
|
+
* - **Decoding** – returned by `asserts.decoding()`; has `succeed` / `fail`
|
|
11
|
+
* helpers that run the schema's decoder and compare the result.
|
|
12
|
+
* - **Encoding** – returned by `asserts.encoding()`; mirrors {@link Decoding}
|
|
13
|
+
* but exercises the encoder direction.
|
|
14
|
+
* - Every assertion is async (`Promise<void>`) because parsing may involve
|
|
15
|
+
* effectful schemas.
|
|
16
|
+
* - `succeed` with one argument asserts identity (output equals input);
|
|
17
|
+
* with two arguments asserts a specific expected output.
|
|
18
|
+
* - `fail` always takes the input and the expected error message string.
|
|
19
|
+
*
|
|
20
|
+
* ## Common tasks
|
|
21
|
+
*
|
|
22
|
+
* - Assert decoding succeeds / fails → `new Asserts(schema).decoding().succeed(…)` / `.fail(…)`
|
|
23
|
+
* - Assert encoding succeeds / fails → `new Asserts(schema).encoding().succeed(…)` / `.fail(…)`
|
|
24
|
+
* - Assert make succeeds / fails → `new Asserts(schema).make().succeed(…)` / `.fail(…)`
|
|
25
|
+
* - Verify round-trip (encode then decode) → `new Asserts(schema).verifyLosslessTransformation()`
|
|
26
|
+
* - Verify arbitrary generation → `new Asserts(schema).arbitrary().verifyGeneration()`
|
|
27
|
+
* - Compare AST of struct fields → `Asserts.ast.fields.equals(a, b)`
|
|
28
|
+
* - Provide a service dependency for decoding → `asserts.decoding().provide(key, impl)`
|
|
29
|
+
*
|
|
30
|
+
* ## Gotchas
|
|
31
|
+
*
|
|
32
|
+
* - `succeed` uses `assert.deepStrictEqual`, so reference equality is not
|
|
33
|
+
* required but structural equality is.
|
|
34
|
+
* - `fail` compares against the stringified `Issue`, not the `Issue` object
|
|
35
|
+
* itself. Pass the exact multiline string the issue produces.
|
|
36
|
+
* - `verifyLosslessTransformation` and `arbitrary().verifyGeneration` run
|
|
37
|
+
* property-based tests via FastCheck; default run count is 20 for
|
|
38
|
+
* `verifyGeneration`.
|
|
39
|
+
*
|
|
40
|
+
* ## Quickstart
|
|
41
|
+
*
|
|
42
|
+
* **Example** (Basic decoding and encoding assertions)
|
|
43
|
+
*
|
|
44
|
+
* ```ts
|
|
45
|
+
* import { Schema } from "effect"
|
|
46
|
+
* import { TestSchema } from "effect/testing"
|
|
47
|
+
*
|
|
48
|
+
* const schema = Schema.NumberFromString
|
|
49
|
+
* const asserts = new TestSchema.Asserts(schema)
|
|
50
|
+
*
|
|
51
|
+
* // decoding
|
|
52
|
+
* const decoding = asserts.decoding()
|
|
53
|
+
* await decoding.succeed("1", 1)
|
|
54
|
+
* await decoding.fail(null, "Expected string, got null")
|
|
55
|
+
*
|
|
56
|
+
* // encoding
|
|
57
|
+
* const encoding = asserts.encoding()
|
|
58
|
+
* await encoding.succeed(1, "1")
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* ## See also
|
|
62
|
+
*
|
|
63
|
+
* - {@link Asserts}
|
|
64
|
+
* - {@link Decoding}
|
|
65
|
+
* - {@link Encoding}
|
|
3
66
|
*
|
|
4
67
|
* @since 4.0.0
|
|
5
68
|
*/
|
|
@@ -12,20 +75,63 @@ import * as AST from "../SchemaAST.js";
|
|
|
12
75
|
import * as Parser from "../SchemaParser.js";
|
|
13
76
|
import * as FastCheck from "../testing/FastCheck.js";
|
|
14
77
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
78
|
+
* Entry point for schema test assertions. Wraps a schema and exposes
|
|
79
|
+
* operation-specific helpers: {@link Decoding}, {@link Encoding}, make,
|
|
80
|
+
* arbitrary generation, and round-trip verification.
|
|
81
|
+
*
|
|
82
|
+
* When to use:
|
|
83
|
+
* - You are writing unit tests for a schema's decoding, encoding, or
|
|
84
|
+
* construction behavior.
|
|
85
|
+
* - You want property-based round-trip or generation checks.
|
|
86
|
+
*
|
|
87
|
+
* **Example** (Decoding and encoding a struct)
|
|
88
|
+
*
|
|
89
|
+
* ```ts
|
|
90
|
+
* import { Schema } from "effect"
|
|
91
|
+
* import { TestSchema } from "effect/testing"
|
|
92
|
+
*
|
|
93
|
+
* const schema = Schema.Struct({ name: Schema.String })
|
|
94
|
+
* const asserts = new TestSchema.Asserts(schema)
|
|
95
|
+
*
|
|
96
|
+
* // decoding
|
|
97
|
+
* await asserts.decoding().succeed({ name: "Alice" })
|
|
98
|
+
*
|
|
99
|
+
* // encoding
|
|
100
|
+
* await asserts.encoding().succeed({ name: "Alice" })
|
|
101
|
+
* ```
|
|
102
|
+
*
|
|
103
|
+
* @see {@link Decoding}
|
|
104
|
+
* @see {@link Encoding}
|
|
17
105
|
*
|
|
18
106
|
* @since 4.0.0
|
|
19
107
|
*/
|
|
20
108
|
export class Asserts {
|
|
109
|
+
/**
|
|
110
|
+
* Static helpers for comparing schema AST structures. Useful when you need
|
|
111
|
+
* to assert that two field or element definitions produce the same AST.
|
|
112
|
+
*
|
|
113
|
+
* - `ast.fields.equals(a, b)` – compares struct field ASTs via
|
|
114
|
+
* `assert.deepStrictEqual`.
|
|
115
|
+
* - `ast.elements.equals(a, b)` – compares tuple element ASTs via
|
|
116
|
+
* `assert.deepStrictEqual`.
|
|
117
|
+
*
|
|
118
|
+
* **Example** (Comparing struct fields)
|
|
119
|
+
*
|
|
120
|
+
* ```ts
|
|
121
|
+
* import { Schema } from "effect"
|
|
122
|
+
* import { TestSchema } from "effect/testing"
|
|
123
|
+
*
|
|
124
|
+
* const fieldsA = { name: Schema.String }
|
|
125
|
+
* const fieldsB = { name: Schema.String }
|
|
126
|
+
* TestSchema.Asserts.ast.fields.equals(fieldsA, fieldsB) // no error
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
21
129
|
static ast = {
|
|
22
|
-
/** Asserts that two struct field definitions are equal by comparing their AST representations. */
|
|
23
130
|
fields: {
|
|
24
131
|
equals: (a, b) => {
|
|
25
132
|
assert.deepStrictEqual(Record.map(a, AST.getAST), Record.map(b, AST.getAST));
|
|
26
133
|
}
|
|
27
134
|
},
|
|
28
|
-
/** Asserts that two tuple element definitions are equal by comparing their AST representations. */
|
|
29
135
|
elements: {
|
|
30
136
|
equals: (a, b) => {
|
|
31
137
|
assert.deepStrictEqual(a.map(AST.getAST), b.map(AST.getAST));
|
|
@@ -37,7 +143,23 @@ export class Asserts {
|
|
|
37
143
|
this.schema = schema;
|
|
38
144
|
}
|
|
39
145
|
/**
|
|
40
|
-
*
|
|
146
|
+
* Returns an object with `succeed` and `fail` helpers for testing the
|
|
147
|
+
* schema's `make` operation.
|
|
148
|
+
*
|
|
149
|
+
* - `succeed(input)` – asserts make returns the input unchanged.
|
|
150
|
+
* - `succeed(input, expected)` – asserts make returns `expected`.
|
|
151
|
+
* - `fail(input, message)` – asserts make fails with `message`.
|
|
152
|
+
*
|
|
153
|
+
* **Example** (Testing make)
|
|
154
|
+
*
|
|
155
|
+
* ```ts
|
|
156
|
+
* import { Schema } from "effect"
|
|
157
|
+
* import { TestSchema } from "effect/testing"
|
|
158
|
+
*
|
|
159
|
+
* const schema = Schema.String
|
|
160
|
+
* const asserts = new TestSchema.Asserts(schema)
|
|
161
|
+
* await asserts.make().succeed("hello")
|
|
162
|
+
* ```
|
|
41
163
|
*/
|
|
42
164
|
make(options) {
|
|
43
165
|
const makeEffect = Parser.makeEffect(this.schema);
|
|
@@ -48,9 +170,6 @@ export class Asserts {
|
|
|
48
170
|
}
|
|
49
171
|
return {
|
|
50
172
|
succeed,
|
|
51
|
-
/**
|
|
52
|
-
* Asserts that make operation fails with the expected error message.
|
|
53
|
-
*/
|
|
54
173
|
async fail(input, message) {
|
|
55
174
|
const r = await Effect.runPromise(makeEffect(input, options).pipe(Effect.mapError(issue => issue.toString()), Effect.result));
|
|
56
175
|
assert.deepStrictEqual(r, Result.fail(message));
|
|
@@ -58,7 +177,23 @@ export class Asserts {
|
|
|
58
177
|
};
|
|
59
178
|
}
|
|
60
179
|
/**
|
|
61
|
-
*
|
|
180
|
+
* Runs a property-based test that encodes arbitrary values and then decodes
|
|
181
|
+
* them, asserting the decoded value equals the original. Useful for verifying
|
|
182
|
+
* that a codec is lossless (encode followed by decode is identity).
|
|
183
|
+
*
|
|
184
|
+
* - Uses FastCheck to generate arbitrary values matching the schema's Type.
|
|
185
|
+
* - Fails the test if any generated value does not round-trip.
|
|
186
|
+
* - Pass `options.params` to control FastCheck parameters (e.g. `numRuns`).
|
|
187
|
+
*
|
|
188
|
+
* **Example** (Round-trip verification)
|
|
189
|
+
*
|
|
190
|
+
* ```ts
|
|
191
|
+
* import { Schema } from "effect"
|
|
192
|
+
* import { TestSchema } from "effect/testing"
|
|
193
|
+
*
|
|
194
|
+
* const asserts = new TestSchema.Asserts(Schema.NumberFromString)
|
|
195
|
+
* await asserts.verifyLosslessTransformation()
|
|
196
|
+
* ```
|
|
62
197
|
*/
|
|
63
198
|
verifyLosslessTransformation(options) {
|
|
64
199
|
const decodeUnknownEffect = Parser.decodeUnknownEffect(this.schema);
|
|
@@ -70,27 +205,71 @@ export class Asserts {
|
|
|
70
205
|
}), options?.params);
|
|
71
206
|
}
|
|
72
207
|
/**
|
|
73
|
-
*
|
|
208
|
+
* Returns a {@link Decoding} instance for this schema, providing `succeed`
|
|
209
|
+
* and `fail` helpers to test decoding behavior.
|
|
210
|
+
*
|
|
211
|
+
* - Pass `parseOptions` to control error reporting (e.g. `{ errors: "all" }`).
|
|
212
|
+
*
|
|
213
|
+
* **Example** (Decoding assertions)
|
|
214
|
+
*
|
|
215
|
+
* ```ts
|
|
216
|
+
* import { Schema } from "effect"
|
|
217
|
+
* import { TestSchema } from "effect/testing"
|
|
218
|
+
*
|
|
219
|
+
* const asserts = new TestSchema.Asserts(Schema.NumberFromString)
|
|
220
|
+
* const decoding = asserts.decoding()
|
|
221
|
+
* await decoding.succeed("42", 42)
|
|
222
|
+
* await decoding.fail(null, "Expected string, got null")
|
|
223
|
+
* ```
|
|
224
|
+
*
|
|
225
|
+
* @see {@link Decoding}
|
|
74
226
|
*/
|
|
75
227
|
decoding(options) {
|
|
76
228
|
return new Decoding(this.schema, options);
|
|
77
229
|
}
|
|
78
230
|
/**
|
|
79
|
-
*
|
|
231
|
+
* Returns an {@link Encoding} instance for this schema, providing `succeed`
|
|
232
|
+
* and `fail` helpers to test encoding behavior.
|
|
233
|
+
*
|
|
234
|
+
* - Pass `parseOptions` to control error reporting (e.g. `{ errors: "all" }`).
|
|
235
|
+
*
|
|
236
|
+
* **Example** (Encoding assertions)
|
|
237
|
+
*
|
|
238
|
+
* ```ts
|
|
239
|
+
* import { Schema } from "effect"
|
|
240
|
+
* import { TestSchema } from "effect/testing"
|
|
241
|
+
*
|
|
242
|
+
* const asserts = new TestSchema.Asserts(Schema.NumberFromString)
|
|
243
|
+
* const encoding = asserts.encoding()
|
|
244
|
+
* await encoding.succeed(42, "42")
|
|
245
|
+
* ```
|
|
246
|
+
*
|
|
247
|
+
* @see {@link Encoding}
|
|
80
248
|
*/
|
|
81
249
|
encoding(options) {
|
|
82
250
|
return new Encoding(this.schema, options);
|
|
83
251
|
}
|
|
84
252
|
/**
|
|
85
|
-
*
|
|
253
|
+
* Returns an object with property-based testing helpers for the schema's
|
|
254
|
+
* arbitrary generator.
|
|
255
|
+
*
|
|
256
|
+
* - `verifyGeneration()` – generates arbitrary values and asserts each
|
|
257
|
+
* satisfies the schema's `is` predicate. Defaults to 20 runs.
|
|
258
|
+
* - Pass `options.params` to override FastCheck parameters.
|
|
259
|
+
*
|
|
260
|
+
* **Example** (Verifying arbitrary generation)
|
|
261
|
+
*
|
|
262
|
+
* ```ts
|
|
263
|
+
* import { Schema } from "effect"
|
|
264
|
+
* import { TestSchema } from "effect/testing"
|
|
265
|
+
*
|
|
266
|
+
* const asserts = new TestSchema.Asserts(Schema.String)
|
|
267
|
+
* asserts.arbitrary().verifyGeneration()
|
|
268
|
+
* ```
|
|
86
269
|
*/
|
|
87
270
|
arbitrary() {
|
|
88
271
|
const schema = this.schema;
|
|
89
272
|
return {
|
|
90
|
-
/**
|
|
91
|
-
* Verifies that the schema generates valid arbitrary values that satisfy
|
|
92
|
-
* the schema constraints.
|
|
93
|
-
*/
|
|
94
273
|
verifyGeneration(options) {
|
|
95
274
|
const params = options?.params;
|
|
96
275
|
const is = Schema.is(schema);
|
|
@@ -104,6 +283,37 @@ export class Asserts {
|
|
|
104
283
|
}
|
|
105
284
|
}
|
|
106
285
|
/**
|
|
286
|
+
* Decoding test helper. Wraps a schema and exposes `succeed` and `fail`
|
|
287
|
+
* methods that run the schema's decoder and compare the result.
|
|
288
|
+
*
|
|
289
|
+
* When to use:
|
|
290
|
+
* - You want to assert that specific inputs decode to expected values.
|
|
291
|
+
* - You want to assert that invalid inputs produce specific error messages.
|
|
292
|
+
* - You need to provide services required by the schema's decoding pipeline.
|
|
293
|
+
*
|
|
294
|
+
* Behavior:
|
|
295
|
+
* - All assertions are async and use `assert.deepStrictEqual` internally.
|
|
296
|
+
* - `succeed(input)` asserts the decoded output equals `input` (identity).
|
|
297
|
+
* - `succeed(input, expected)` asserts the decoded output equals `expected`.
|
|
298
|
+
* - `fail(input, message)` asserts decoding fails and the stringified issue
|
|
299
|
+
* equals `message`.
|
|
300
|
+
* - `provide(key, impl)` returns a new `Decoding` with the service injected
|
|
301
|
+
* into the decoding context.
|
|
302
|
+
*
|
|
303
|
+
* **Example** (Decoding with service provision)
|
|
304
|
+
*
|
|
305
|
+
* ```ts
|
|
306
|
+
* import { Schema } from "effect"
|
|
307
|
+
* import { TestSchema } from "effect/testing"
|
|
308
|
+
*
|
|
309
|
+
* const asserts = new TestSchema.Asserts(Schema.String)
|
|
310
|
+
* const decoding = asserts.decoding()
|
|
311
|
+
* await decoding.succeed("hello")
|
|
312
|
+
* ```
|
|
313
|
+
*
|
|
314
|
+
* @see {@link Asserts}
|
|
315
|
+
* @see {@link Encoding}
|
|
316
|
+
*
|
|
107
317
|
* @since 4.0.0
|
|
108
318
|
*/
|
|
109
319
|
export class Decoding {
|
|
@@ -121,21 +331,68 @@ export class Decoding {
|
|
|
121
331
|
assert.deepStrictEqual(r, Result.succeed(expected));
|
|
122
332
|
}
|
|
123
333
|
/**
|
|
124
|
-
* Asserts that decoding fails
|
|
334
|
+
* Asserts that decoding `input` fails and the stringified issue equals
|
|
335
|
+
* `message`.
|
|
336
|
+
*
|
|
337
|
+
* **Example** (Asserting a decoding failure)
|
|
338
|
+
*
|
|
339
|
+
* ```ts
|
|
340
|
+
* import { Schema } from "effect"
|
|
341
|
+
* import { TestSchema } from "effect/testing"
|
|
342
|
+
*
|
|
343
|
+
* const decoding = new TestSchema.Asserts(Schema.String).decoding()
|
|
344
|
+
* await decoding.fail(42, "Expected string, got 42")
|
|
345
|
+
* ```
|
|
125
346
|
*/
|
|
126
347
|
async fail(input, message) {
|
|
127
348
|
const r = await Effect.runPromise(this.decodeUnknownEffect(input, this.options?.parseOptions).pipe(Effect.mapError(issue => issue.toString()), Effect.result));
|
|
128
349
|
assert.deepStrictEqual(r, Result.fail(message));
|
|
129
350
|
}
|
|
130
351
|
/**
|
|
131
|
-
*
|
|
132
|
-
* decoding context.
|
|
352
|
+
* Returns a new {@link Decoding} instance with the given service injected
|
|
353
|
+
* into the decoding effect context. Use this when the schema's decoder
|
|
354
|
+
* requires a service dependency.
|
|
355
|
+
*
|
|
356
|
+
* - Does not mutate the current instance; returns a new one.
|
|
357
|
+
*
|
|
358
|
+
* @see {@link Encoding.provide}
|
|
133
359
|
*/
|
|
134
360
|
provide(service, implementation) {
|
|
135
361
|
return new Decoding(this.schema.pipe(Schema.middlewareDecoding(Effect.provideService(service, implementation))), this.options);
|
|
136
362
|
}
|
|
137
363
|
}
|
|
138
364
|
/**
|
|
365
|
+
* Encoding test helper. Mirrors {@link Decoding} but exercises the schema's
|
|
366
|
+
* encoder direction.
|
|
367
|
+
*
|
|
368
|
+
* When to use:
|
|
369
|
+
* - You want to assert that specific values encode to expected outputs.
|
|
370
|
+
* - You want to assert that invalid inputs produce specific error messages
|
|
371
|
+
* during encoding.
|
|
372
|
+
* - You need to provide services required by the schema's encoding pipeline.
|
|
373
|
+
*
|
|
374
|
+
* Behavior:
|
|
375
|
+
* - All assertions are async and use `assert.deepStrictEqual` internally.
|
|
376
|
+
* - `succeed(input)` asserts the encoded output equals `input` (identity).
|
|
377
|
+
* - `succeed(input, expected)` asserts the encoded output equals `expected`.
|
|
378
|
+
* - `fail(input, message)` asserts encoding fails and the stringified issue
|
|
379
|
+
* equals `message`.
|
|
380
|
+
* - `provide(key, impl)` returns a new `Encoding` with the service injected
|
|
381
|
+
* into the encoding context.
|
|
382
|
+
*
|
|
383
|
+
* **Example** (Encoding assertions)
|
|
384
|
+
*
|
|
385
|
+
* ```ts
|
|
386
|
+
* import { Schema } from "effect"
|
|
387
|
+
* import { TestSchema } from "effect/testing"
|
|
388
|
+
*
|
|
389
|
+
* const encoding = new TestSchema.Asserts(Schema.NumberFromString).encoding()
|
|
390
|
+
* await encoding.succeed(42, "42")
|
|
391
|
+
* ```
|
|
392
|
+
*
|
|
393
|
+
* @see {@link Asserts}
|
|
394
|
+
* @see {@link Decoding}
|
|
395
|
+
*
|
|
139
396
|
* @since 4.0.0
|
|
140
397
|
*/
|
|
141
398
|
class Encoding {
|
|
@@ -153,15 +410,31 @@ class Encoding {
|
|
|
153
410
|
assert.deepStrictEqual(r, Result.succeed(expected));
|
|
154
411
|
}
|
|
155
412
|
/**
|
|
156
|
-
* Asserts that encoding fails
|
|
413
|
+
* Asserts that encoding `input` fails and the stringified issue equals
|
|
414
|
+
* `message`.
|
|
415
|
+
*
|
|
416
|
+
* **Example** (Asserting an encoding failure)
|
|
417
|
+
*
|
|
418
|
+
* ```ts
|
|
419
|
+
* import { Schema } from "effect"
|
|
420
|
+
* import { TestSchema } from "effect/testing"
|
|
421
|
+
*
|
|
422
|
+
* const encoding = new TestSchema.Asserts(Schema.NumberFromString).encoding()
|
|
423
|
+
* await encoding.fail("not-a-number", "Expected number, got \"not-a-number\"")
|
|
424
|
+
* ```
|
|
157
425
|
*/
|
|
158
426
|
async fail(input, message) {
|
|
159
427
|
const r = await Effect.runPromise(this.encodeUnknownEffect(input, this.options?.parseOptions).pipe(Effect.mapError(issue => issue.toString()), Effect.result));
|
|
160
428
|
assert.deepStrictEqual(r, Result.fail(message));
|
|
161
429
|
}
|
|
162
430
|
/**
|
|
163
|
-
*
|
|
164
|
-
* encoding context.
|
|
431
|
+
* Returns a new {@link Encoding} instance with the given service injected
|
|
432
|
+
* into the encoding effect context. Use this when the schema's encoder
|
|
433
|
+
* requires a service dependency.
|
|
434
|
+
*
|
|
435
|
+
* - Does not mutate the current instance; returns a new one.
|
|
436
|
+
*
|
|
437
|
+
* @see {@link Decoding.provide}
|
|
165
438
|
*/
|
|
166
439
|
provide(service, implementation) {
|
|
167
440
|
return new Encoding(this.schema.pipe(Schema.middlewareEncoding(Effect.provideService(service, implementation))), this.options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestSchema.js","names":["assert","Effect","Record","Result","Schema","AST","Parser","FastCheck","Asserts","ast","fields","equals","a","b","deepStrictEqual","map","getAST","elements","schema","constructor","make","options","makeEffect","succeed","input","expected","r","runPromise","pipe","mapError","issue","toString","result","arguments","length","fail","message","verifyLosslessTransformation","decodeUnknownEffect","encodeEffect","arbitrary","toArbitrary","asyncProperty","t","flatMap","e","params","decoding","Decoding","encoding","Encoding","verifyGeneration","is","arb","property","numRuns","parseOptions","provide","service","implementation","middlewareDecoding","provideService","encodeUnknownEffect","middlewareEncoding"],"sources":["../../src/testing/TestSchema.ts"],"sourcesContent":[null],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"TestSchema.js","names":["assert","Effect","Record","Result","Schema","AST","Parser","FastCheck","Asserts","ast","fields","equals","a","b","deepStrictEqual","map","getAST","elements","schema","constructor","make","options","makeEffect","succeed","input","expected","r","runPromise","pipe","mapError","issue","toString","result","arguments","length","fail","message","verifyLosslessTransformation","decodeUnknownEffect","encodeEffect","arbitrary","toArbitrary","asyncProperty","t","flatMap","e","params","decoding","Decoding","encoding","Encoding","verifyGeneration","is","arb","property","numRuns","parseOptions","provide","service","implementation","middlewareDecoding","provideService","encodeUnknownEffect","middlewareEncoding"],"sources":["../../src/testing/TestSchema.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/testing/index.d.ts
CHANGED
|
@@ -22,7 +22,70 @@ export * as TestClock from "./TestClock.ts";
|
|
|
22
22
|
*/
|
|
23
23
|
export * as TestConsole from "./TestConsole.ts";
|
|
24
24
|
/**
|
|
25
|
-
* Testing utilities for Schema
|
|
25
|
+
* Testing utilities for asserting Schema decoding, encoding, make, and
|
|
26
|
+
* arbitrary-generation behavior. Used in unit tests to verify that schemas
|
|
27
|
+
* accept, reject, and round-trip values correctly.
|
|
28
|
+
*
|
|
29
|
+
* ## Mental model
|
|
30
|
+
*
|
|
31
|
+
* - **Asserts** – entry point: wraps a schema and exposes helpers grouped by
|
|
32
|
+
* operation (decoding, encoding, make, arbitrary, round-trip).
|
|
33
|
+
* - **Decoding** – returned by `asserts.decoding()`; has `succeed` / `fail`
|
|
34
|
+
* helpers that run the schema's decoder and compare the result.
|
|
35
|
+
* - **Encoding** – returned by `asserts.encoding()`; mirrors {@link Decoding}
|
|
36
|
+
* but exercises the encoder direction.
|
|
37
|
+
* - Every assertion is async (`Promise<void>`) because parsing may involve
|
|
38
|
+
* effectful schemas.
|
|
39
|
+
* - `succeed` with one argument asserts identity (output equals input);
|
|
40
|
+
* with two arguments asserts a specific expected output.
|
|
41
|
+
* - `fail` always takes the input and the expected error message string.
|
|
42
|
+
*
|
|
43
|
+
* ## Common tasks
|
|
44
|
+
*
|
|
45
|
+
* - Assert decoding succeeds / fails → `new Asserts(schema).decoding().succeed(…)` / `.fail(…)`
|
|
46
|
+
* - Assert encoding succeeds / fails → `new Asserts(schema).encoding().succeed(…)` / `.fail(…)`
|
|
47
|
+
* - Assert make succeeds / fails → `new Asserts(schema).make().succeed(…)` / `.fail(…)`
|
|
48
|
+
* - Verify round-trip (encode then decode) → `new Asserts(schema).verifyLosslessTransformation()`
|
|
49
|
+
* - Verify arbitrary generation → `new Asserts(schema).arbitrary().verifyGeneration()`
|
|
50
|
+
* - Compare AST of struct fields → `Asserts.ast.fields.equals(a, b)`
|
|
51
|
+
* - Provide a service dependency for decoding → `asserts.decoding().provide(key, impl)`
|
|
52
|
+
*
|
|
53
|
+
* ## Gotchas
|
|
54
|
+
*
|
|
55
|
+
* - `succeed` uses `assert.deepStrictEqual`, so reference equality is not
|
|
56
|
+
* required but structural equality is.
|
|
57
|
+
* - `fail` compares against the stringified `Issue`, not the `Issue` object
|
|
58
|
+
* itself. Pass the exact multiline string the issue produces.
|
|
59
|
+
* - `verifyLosslessTransformation` and `arbitrary().verifyGeneration` run
|
|
60
|
+
* property-based tests via FastCheck; default run count is 20 for
|
|
61
|
+
* `verifyGeneration`.
|
|
62
|
+
*
|
|
63
|
+
* ## Quickstart
|
|
64
|
+
*
|
|
65
|
+
* **Example** (Basic decoding and encoding assertions)
|
|
66
|
+
*
|
|
67
|
+
* ```ts
|
|
68
|
+
* import { Schema } from "effect"
|
|
69
|
+
* import { TestSchema } from "effect/testing"
|
|
70
|
+
*
|
|
71
|
+
* const schema = Schema.NumberFromString
|
|
72
|
+
* const asserts = new TestSchema.Asserts(schema)
|
|
73
|
+
*
|
|
74
|
+
* // decoding
|
|
75
|
+
* const decoding = asserts.decoding()
|
|
76
|
+
* await decoding.succeed("1", 1)
|
|
77
|
+
* await decoding.fail(null, "Expected string, got null")
|
|
78
|
+
*
|
|
79
|
+
* // encoding
|
|
80
|
+
* const encoding = asserts.encoding()
|
|
81
|
+
* await encoding.succeed(1, "1")
|
|
82
|
+
* ```
|
|
83
|
+
*
|
|
84
|
+
* ## See also
|
|
85
|
+
*
|
|
86
|
+
* - {@link Asserts}
|
|
87
|
+
* - {@link Decoding}
|
|
88
|
+
* - {@link Encoding}
|
|
26
89
|
*
|
|
27
90
|
* @since 4.0.0
|
|
28
91
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;;;;;;GAUG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;;;;;;GAUG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA"}
|
package/dist/testing/index.js
CHANGED
|
@@ -23,7 +23,70 @@ export * as TestClock from "./TestClock.js";
|
|
|
23
23
|
*/
|
|
24
24
|
export * as TestConsole from "./TestConsole.js";
|
|
25
25
|
/**
|
|
26
|
-
* Testing utilities for Schema
|
|
26
|
+
* Testing utilities for asserting Schema decoding, encoding, make, and
|
|
27
|
+
* arbitrary-generation behavior. Used in unit tests to verify that schemas
|
|
28
|
+
* accept, reject, and round-trip values correctly.
|
|
29
|
+
*
|
|
30
|
+
* ## Mental model
|
|
31
|
+
*
|
|
32
|
+
* - **Asserts** – entry point: wraps a schema and exposes helpers grouped by
|
|
33
|
+
* operation (decoding, encoding, make, arbitrary, round-trip).
|
|
34
|
+
* - **Decoding** – returned by `asserts.decoding()`; has `succeed` / `fail`
|
|
35
|
+
* helpers that run the schema's decoder and compare the result.
|
|
36
|
+
* - **Encoding** – returned by `asserts.encoding()`; mirrors {@link Decoding}
|
|
37
|
+
* but exercises the encoder direction.
|
|
38
|
+
* - Every assertion is async (`Promise<void>`) because parsing may involve
|
|
39
|
+
* effectful schemas.
|
|
40
|
+
* - `succeed` with one argument asserts identity (output equals input);
|
|
41
|
+
* with two arguments asserts a specific expected output.
|
|
42
|
+
* - `fail` always takes the input and the expected error message string.
|
|
43
|
+
*
|
|
44
|
+
* ## Common tasks
|
|
45
|
+
*
|
|
46
|
+
* - Assert decoding succeeds / fails → `new Asserts(schema).decoding().succeed(…)` / `.fail(…)`
|
|
47
|
+
* - Assert encoding succeeds / fails → `new Asserts(schema).encoding().succeed(…)` / `.fail(…)`
|
|
48
|
+
* - Assert make succeeds / fails → `new Asserts(schema).make().succeed(…)` / `.fail(…)`
|
|
49
|
+
* - Verify round-trip (encode then decode) → `new Asserts(schema).verifyLosslessTransformation()`
|
|
50
|
+
* - Verify arbitrary generation → `new Asserts(schema).arbitrary().verifyGeneration()`
|
|
51
|
+
* - Compare AST of struct fields → `Asserts.ast.fields.equals(a, b)`
|
|
52
|
+
* - Provide a service dependency for decoding → `asserts.decoding().provide(key, impl)`
|
|
53
|
+
*
|
|
54
|
+
* ## Gotchas
|
|
55
|
+
*
|
|
56
|
+
* - `succeed` uses `assert.deepStrictEqual`, so reference equality is not
|
|
57
|
+
* required but structural equality is.
|
|
58
|
+
* - `fail` compares against the stringified `Issue`, not the `Issue` object
|
|
59
|
+
* itself. Pass the exact multiline string the issue produces.
|
|
60
|
+
* - `verifyLosslessTransformation` and `arbitrary().verifyGeneration` run
|
|
61
|
+
* property-based tests via FastCheck; default run count is 20 for
|
|
62
|
+
* `verifyGeneration`.
|
|
63
|
+
*
|
|
64
|
+
* ## Quickstart
|
|
65
|
+
*
|
|
66
|
+
* **Example** (Basic decoding and encoding assertions)
|
|
67
|
+
*
|
|
68
|
+
* ```ts
|
|
69
|
+
* import { Schema } from "effect"
|
|
70
|
+
* import { TestSchema } from "effect/testing"
|
|
71
|
+
*
|
|
72
|
+
* const schema = Schema.NumberFromString
|
|
73
|
+
* const asserts = new TestSchema.Asserts(schema)
|
|
74
|
+
*
|
|
75
|
+
* // decoding
|
|
76
|
+
* const decoding = asserts.decoding()
|
|
77
|
+
* await decoding.succeed("1", 1)
|
|
78
|
+
* await decoding.fail(null, "Expected string, got null")
|
|
79
|
+
*
|
|
80
|
+
* // encoding
|
|
81
|
+
* const encoding = asserts.encoding()
|
|
82
|
+
* await encoding.succeed(1, "1")
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* ## See also
|
|
86
|
+
*
|
|
87
|
+
* - {@link Asserts}
|
|
88
|
+
* - {@link Decoding}
|
|
89
|
+
* - {@link Encoding}
|
|
27
90
|
*
|
|
28
91
|
* @since 4.0.0
|
|
29
92
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["FastCheck","TestClock","TestConsole","TestSchema"],"sources":["../../src/testing/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;;;;;;;;;AAWA,OAAO,KAAKA,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C
|
|
1
|
+
{"version":3,"file":"index.js","names":["FastCheck","TestClock","TestConsole","TestSchema"],"sources":["../../src/testing/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;;;;;;;;;AAWA,OAAO,KAAKA,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEA,OAAO,KAAKC,UAAU,MAAM,iBAAiB","ignoreList":[]}
|