effect 4.0.0-beta.2 → 4.0.0-beta.21
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 +127 -299
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +102 -62
- package/dist/Array.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 +1 -1
- 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 +62 -7
- 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 +534 -365
- 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 +12 -12
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +12 -12
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +829 -692
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +263 -251
- 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 +376 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +246 -0
- package/dist/ErrorReporter.js.map +1 -0
- package/dist/Fiber.d.ts +2 -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 +30 -34
- 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/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 +40 -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 +9 -9
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +4 -4
- package/dist/LayerMap.d.ts.map +1 -1
- 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 +1 -1
- package/dist/ManagedRuntime.js +1 -1
- package/dist/Metric.d.ts +2 -2
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +1 -1
- package/dist/Metric.js.map +1 -1
- 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 +22 -15
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +14 -7
- 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 +24 -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 +3 -3
- package/dist/References.d.ts.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 +6 -26
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +0 -20
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +12 -0
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +12 -0
- package/dist/Result.js.map +1 -1
- package/dist/Schedule.d.ts +47 -20
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +94 -34
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +266 -50
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +426 -74
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +7 -6
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +2 -2
- 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 +43 -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 +39 -30
- 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/Stream.d.ts +235 -423
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +124 -77
- 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 +84 -6
- package/dist/Types.d.ts.map +1 -1
- package/dist/index.d.ts +591 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +591 -20
- 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 +263 -99
- 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/schema.js +1 -0
- package/dist/internal/schema/schema.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 +7 -6
- 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 +8 -8
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +128 -48
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +11 -12
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +3 -3
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +4 -3
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +4 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +86 -14
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +163 -87
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +49 -12
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +35 -7
- 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 +19 -3
- 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/index.d.ts +1 -1
- package/dist/unstable/ai/index.js +1 -1
- package/dist/unstable/cli/CliError.d.ts +5 -5
- package/dist/unstable/cli/CliOutput.js +59 -6
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +276 -19
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +234 -36
- 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/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 +17 -8
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +32 -23
- 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/help.d.ts +33 -0
- package/dist/unstable/cli/internal/help.d.ts.map +1 -0
- package/dist/unstable/cli/internal/help.js +107 -0
- package/dist/unstable/cli/internal/help.js.map +1 -0
- package/dist/unstable/cli/internal/parser.js +29 -36
- 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 +3 -3
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +27 -10
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +17 -2
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +28 -1
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +37 -13
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +4 -4
- 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 +27 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +15 -3
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +3 -8
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +42 -56
- 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 +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.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 +2 -1
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +3 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- 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/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 +3 -3
- 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 +23 -12
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +7 -2
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +3 -3
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +31 -44
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +15 -24
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +11 -0
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +29 -9
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +3 -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 +10 -10
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +16 -13
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +8 -8
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +3 -3
- 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 +24 -7
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +1 -1
- 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 +4 -4
- 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 +3 -3
- 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 +0 -7
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +15 -15
- 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 +2 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +1 -1
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +3 -3
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +3 -3
- 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/SqlSchema.d.ts +16 -5
- 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 +190 -342
- package/src/Cache.ts +9 -8
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +554 -138
- package/src/Chunk.ts +81 -268
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +183 -21
- package/src/Data.ts +538 -374
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +15 -15
- package/src/Effect.ts +991 -800
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/ErrorReporter.ts +459 -0
- package/src/Fiber.ts +9 -2
- package/src/FileSystem.ts +7 -8
- package/src/Filter.ts +48 -58
- package/src/Formatter.ts +253 -51
- package/src/Graph.ts +24 -11
- package/src/HashMap.ts +15 -14
- package/src/Iterable.ts +105 -50
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +112 -0
- package/src/Layer.ts +11 -15
- package/src/LayerMap.ts +5 -5
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +33 -100
- package/src/ManagedRuntime.ts +1 -1
- package/src/Metric.ts +4 -4
- package/src/Optic.ts +948 -19
- package/src/Option.ts +30 -20
- 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 +43 -152
- package/src/Reducer.ts +166 -7
- package/src/References.ts +4 -4
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +9 -29
- package/src/Result.ts +13 -0
- package/src/Schedule.ts +318 -160
- package/src/Schema.ts +661 -116
- package/src/SchemaAST.ts +7 -6
- package/src/SchemaGetter.ts +12 -14
- package/src/SchemaParser.ts +11 -0
- package/src/SchemaRepresentation.ts +43 -24
- package/src/SchemaTransformation.ts +189 -4
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +356 -0
- package/src/ServiceMap.ts +47 -38
- package/src/Sink.ts +78 -26
- package/src/Stream.ts +566 -601
- 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 +78 -2
- package/src/index.ts +600 -21
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +744 -265
- package/src/internal/hashMap.ts +9 -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/schema.ts +1 -0
- package/src/internal/trie.ts +16 -9
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +10 -10
- package/src/unstable/ai/AiError.ts +97 -44
- package/src/unstable/ai/Chat.ts +12 -11
- package/src/unstable/ai/LanguageModel.ts +129 -25
- package/src/unstable/ai/McpSchema.ts +59 -13
- package/src/unstable/ai/McpServer.ts +48 -9
- 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 +19 -13
- package/src/unstable/ai/index.ts +1 -1
- package/src/unstable/cli/CliOutput.ts +75 -6
- package/src/unstable/cli/Command.ts +501 -60
- package/src/unstable/cli/GlobalFlag.ts +243 -0
- package/src/unstable/cli/HelpDoc.ts +80 -2
- package/src/unstable/cli/index.ts +5 -0
- package/src/unstable/cli/internal/command.ts +50 -34
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
- package/src/unstable/cli/internal/help.ts +146 -0
- package/src/unstable/cli/internal/parser.ts +33 -54
- 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 +3 -3
- package/src/unstable/http/Headers.ts +28 -13
- package/src/unstable/http/HttpBody.ts +42 -1
- package/src/unstable/http/HttpClient.ts +58 -23
- package/src/unstable/http/HttpClientRequest.ts +38 -13
- package/src/unstable/http/HttpEffect.ts +46 -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 +1 -1
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +4 -2
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +20 -5
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +5 -5
- package/src/unstable/httpapi/HttpApiBuilder.ts +77 -21
- package/src/unstable/httpapi/HttpApiClient.ts +14 -6
- package/src/unstable/httpapi/HttpApiEndpoint.ts +67 -83
- package/src/unstable/httpapi/HttpApiError.ts +30 -9
- package/src/unstable/httpapi/HttpApiGroup.ts +6 -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 +27 -25
- package/src/unstable/reactivity/AtomHttpApi.ts +21 -20
- package/src/unstable/reactivity/AtomRegistry.ts +31 -7
- package/src/unstable/reactivity/AtomRpc.ts +3 -3
- package/src/unstable/reactivity/Hydration.ts +112 -0
- package/src/unstable/reactivity/index.ts +5 -0
- package/src/unstable/rpc/Rpc.ts +6 -6
- package/src/unstable/rpc/RpcClient.ts +12 -54
- package/src/unstable/rpc/RpcGroup.ts +4 -4
- package/src/unstable/rpc/RpcMiddleware.ts +3 -3
- package/src/unstable/rpc/RpcSchema.ts +17 -0
- package/src/unstable/rpc/RpcSerialization.ts +44 -9
- package/src/unstable/rpc/RpcServer.ts +21 -30
- package/src/unstable/rpc/Utils.ts +2 -1
- package/src/unstable/schema/VariantSchema.ts +6 -6
- 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/SqlSchema.ts +41 -25
- 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/SchemaAST.ts
CHANGED
|
@@ -594,7 +594,7 @@ export class Declaration extends Base {
|
|
|
594
594
|
}
|
|
595
595
|
/** @internal */
|
|
596
596
|
getExpected(): string {
|
|
597
|
-
const expected = this.annotations?.
|
|
597
|
+
const expected = this.annotations?.expected
|
|
598
598
|
if (typeof expected === "string") return expected
|
|
599
599
|
return "<Declaration>"
|
|
600
600
|
}
|
|
@@ -1455,19 +1455,20 @@ export class Arrays extends Base {
|
|
|
1455
1455
|
// handle post rest elements
|
|
1456
1456
|
// ---------------------------------------------
|
|
1457
1457
|
for (let j = 0; j < tail.length; j++) {
|
|
1458
|
-
|
|
1458
|
+
const index = i + j
|
|
1459
|
+
if (len < index) {
|
|
1459
1460
|
continue
|
|
1460
1461
|
} else {
|
|
1461
1462
|
const tailj = tail[j]
|
|
1462
1463
|
const keyAnnotations = tailj.ast.context?.annotations
|
|
1463
|
-
const eff = tailj.parser(Option.some(input[
|
|
1464
|
+
const eff = tailj.parser(Option.some(input[index]), options)
|
|
1464
1465
|
const exit = effectIsExit(eff) ? eff : yield* Effect.exit(eff)
|
|
1465
1466
|
if (exit._tag === "Failure") {
|
|
1466
1467
|
const issueRest = Cause.findError(exit.cause)
|
|
1467
1468
|
if (Result.isFailure(issueRest)) {
|
|
1468
1469
|
return yield* exit
|
|
1469
1470
|
}
|
|
1470
|
-
const issue = new Issue.Pointer([
|
|
1471
|
+
const issue = new Issue.Pointer([index], issueRest.success)
|
|
1471
1472
|
if (errorsAllOption) {
|
|
1472
1473
|
if (issues) issues.push(issue)
|
|
1473
1474
|
else issues = [issue]
|
|
@@ -1475,9 +1476,9 @@ export class Arrays extends Base {
|
|
|
1475
1476
|
return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]))
|
|
1476
1477
|
}
|
|
1477
1478
|
} else if (exit.value._tag === "Some") {
|
|
1478
|
-
output[
|
|
1479
|
+
output[index] = exit.value.value
|
|
1479
1480
|
} else {
|
|
1480
|
-
const issue = new Issue.Pointer([
|
|
1481
|
+
const issue = new Issue.Pointer([index], new Issue.MissingKey(keyAnnotations))
|
|
1481
1482
|
if (errorsAllOption) {
|
|
1482
1483
|
if (issues) issues.push(issue)
|
|
1483
1484
|
else issues = [issue]
|
package/src/SchemaGetter.ts
CHANGED
|
@@ -86,11 +86,9 @@
|
|
|
86
86
|
*/
|
|
87
87
|
import * as DateTime from "./DateTime.ts"
|
|
88
88
|
import * as Effect from "./Effect.ts"
|
|
89
|
-
import * as
|
|
90
|
-
import * as Base64Url from "./encoding/Base64Url.ts"
|
|
91
|
-
import * as Hex from "./encoding/Hex.ts"
|
|
89
|
+
import * as Encoding from "./Encoding.ts"
|
|
92
90
|
import * as Option from "./Option.ts"
|
|
93
|
-
import
|
|
91
|
+
import * as Pipeable from "./Pipeable.ts"
|
|
94
92
|
import * as Predicate from "./Predicate.ts"
|
|
95
93
|
import * as Result from "./Result.ts"
|
|
96
94
|
import type * as Schema from "./Schema.ts"
|
|
@@ -136,7 +134,7 @@ import * as Str from "./String.ts"
|
|
|
136
134
|
* @category model
|
|
137
135
|
* @since 4.0.0
|
|
138
136
|
*/
|
|
139
|
-
export class Getter<out T, in E, R = never> extends Class {
|
|
137
|
+
export class Getter<out T, in E, R = never> extends Pipeable.Class {
|
|
140
138
|
readonly run: (
|
|
141
139
|
input: Option.Option<E>,
|
|
142
140
|
options: AST.ParseOptions
|
|
@@ -1218,7 +1216,7 @@ export function split<E extends string>(options?: {
|
|
|
1218
1216
|
* @since 4.0.0
|
|
1219
1217
|
*/
|
|
1220
1218
|
export function encodeBase64<E extends Uint8Array | string>(): Getter<string, E> {
|
|
1221
|
-
return transform(
|
|
1219
|
+
return transform(Encoding.encodeBase64)
|
|
1222
1220
|
}
|
|
1223
1221
|
|
|
1224
1222
|
/**
|
|
@@ -1244,7 +1242,7 @@ export function encodeBase64<E extends Uint8Array | string>(): Getter<string, E>
|
|
|
1244
1242
|
* @since 4.0.0
|
|
1245
1243
|
*/
|
|
1246
1244
|
export function encodeBase64Url<E extends Uint8Array | string>(): Getter<string, E> {
|
|
1247
|
-
return transform(
|
|
1245
|
+
return transform(Encoding.encodeBase64Url)
|
|
1248
1246
|
}
|
|
1249
1247
|
|
|
1250
1248
|
/**
|
|
@@ -1269,7 +1267,7 @@ export function encodeBase64Url<E extends Uint8Array | string>(): Getter<string,
|
|
|
1269
1267
|
* @since 4.0.0
|
|
1270
1268
|
*/
|
|
1271
1269
|
export function encodeHex<E extends Uint8Array | string>(): Getter<string, E> {
|
|
1272
|
-
return transform(
|
|
1270
|
+
return transform(Encoding.encodeHex)
|
|
1273
1271
|
}
|
|
1274
1272
|
|
|
1275
1273
|
/**
|
|
@@ -1297,7 +1295,7 @@ export function encodeHex<E extends Uint8Array | string>(): Getter<string, E> {
|
|
|
1297
1295
|
export function decodeBase64<E extends string>(): Getter<Uint8Array, E> {
|
|
1298
1296
|
return transformOrFail((input) =>
|
|
1299
1297
|
Result.mapError(
|
|
1300
|
-
|
|
1298
|
+
Encoding.decodeBase64(input),
|
|
1301
1299
|
(e) => new Issue.InvalidValue(Option.some(input), { message: e.message })
|
|
1302
1300
|
).asEffect()
|
|
1303
1301
|
)
|
|
@@ -1327,7 +1325,7 @@ export function decodeBase64<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1327
1325
|
*/
|
|
1328
1326
|
export function decodeBase64String<E extends string>(): Getter<string, E> {
|
|
1329
1327
|
return transformOrFail((input) =>
|
|
1330
|
-
Result.match(
|
|
1328
|
+
Result.match(Encoding.decodeBase64String(input), {
|
|
1331
1329
|
onFailure: (e) => Effect.fail(new Issue.InvalidValue(Option.some(input), { message: e.message })),
|
|
1332
1330
|
onSuccess: Effect.succeed
|
|
1333
1331
|
})
|
|
@@ -1358,7 +1356,7 @@ export function decodeBase64String<E extends string>(): Getter<string, E> {
|
|
|
1358
1356
|
*/
|
|
1359
1357
|
export function decodeBase64Url<E extends string>(): Getter<Uint8Array, E> {
|
|
1360
1358
|
return transformOrFail((input) =>
|
|
1361
|
-
Result.match(
|
|
1359
|
+
Result.match(Encoding.decodeBase64Url(input), {
|
|
1362
1360
|
onFailure: (e) => Effect.fail(new Issue.InvalidValue(Option.some(input), { message: e.message })),
|
|
1363
1361
|
onSuccess: Effect.succeed
|
|
1364
1362
|
})
|
|
@@ -1389,7 +1387,7 @@ export function decodeBase64Url<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1389
1387
|
*/
|
|
1390
1388
|
export function decodeBase64UrlString<E extends string>(): Getter<string, E> {
|
|
1391
1389
|
return transformOrFail((input) =>
|
|
1392
|
-
Result.match(
|
|
1390
|
+
Result.match(Encoding.decodeBase64UrlString(input), {
|
|
1393
1391
|
onFailure: (e) => Effect.fail(new Issue.InvalidValue(Option.some(input), { message: e.message })),
|
|
1394
1392
|
onSuccess: Effect.succeed
|
|
1395
1393
|
})
|
|
@@ -1420,7 +1418,7 @@ export function decodeBase64UrlString<E extends string>(): Getter<string, E> {
|
|
|
1420
1418
|
*/
|
|
1421
1419
|
export function decodeHex<E extends string>(): Getter<Uint8Array, E> {
|
|
1422
1420
|
return transformOrFail((input) =>
|
|
1423
|
-
Result.match(
|
|
1421
|
+
Result.match(Encoding.decodeHex(input), {
|
|
1424
1422
|
onFailure: (e) => Effect.fail(new Issue.InvalidValue(Option.some(input), { message: e.message })),
|
|
1425
1423
|
onSuccess: Effect.succeed
|
|
1426
1424
|
})
|
|
@@ -1451,7 +1449,7 @@ export function decodeHex<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1451
1449
|
*/
|
|
1452
1450
|
export function decodeHexString<E extends string>(): Getter<string, E> {
|
|
1453
1451
|
return transformOrFail((input) =>
|
|
1454
|
-
Result.match(
|
|
1452
|
+
Result.match(Encoding.decodeHexString(input), {
|
|
1455
1453
|
onFailure: (e) => Effect.fail(new Issue.InvalidValue(Option.some(input), { message: e.message })),
|
|
1456
1454
|
onSuccess: Effect.succeed
|
|
1457
1455
|
})
|
package/src/SchemaParser.ts
CHANGED
|
@@ -53,6 +53,17 @@ export function makeEffect<S extends Schema.Top>(schema: S) {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
+
/**
|
|
57
|
+
* @category Constructing
|
|
58
|
+
* @since 4.0.0
|
|
59
|
+
*/
|
|
60
|
+
export function makeOption<S extends Schema.Top>(schema: S) {
|
|
61
|
+
const parser = makeEffect(schema)
|
|
62
|
+
return (input: S["~type.make.in"], options?: Schema.MakeOptions): Option.Option<S["Type"]> => {
|
|
63
|
+
return Exit.getSuccess(Effect.runSyncExit(parser(input, options) as any))
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
56
67
|
/**
|
|
57
68
|
* @category Constructing
|
|
58
69
|
* @since 4.0.0
|
|
@@ -1698,7 +1698,8 @@ export type Reviver<T> = (declaration: Declaration, recur: (representation: Repr
|
|
|
1698
1698
|
|
|
1699
1699
|
/**
|
|
1700
1700
|
* Default {@link Reviver} for {@link toSchema} that handles built-in Effect
|
|
1701
|
-
* types (Option, Result, Redacted, Cause, Exit, ReadonlyMap,
|
|
1701
|
+
* types (Option, Result, Redacted, Cause, Exit, ReadonlyMap, HashMap,
|
|
1702
|
+
* ReadonlySet,
|
|
1702
1703
|
* Date, Duration, URL, RegExp, etc.).
|
|
1703
1704
|
*
|
|
1704
1705
|
* - Pass as `options.reviver` to {@link toSchema} to reconstruct schemas that
|
|
@@ -1716,42 +1717,60 @@ export const toSchemaDefaultReviver: Reviver<Schema.Top> = (s, recur) => {
|
|
|
1716
1717
|
if (Predicate.isObject(typeConstructor) && typeof typeConstructor._tag === "string") {
|
|
1717
1718
|
const typeParameters = s.typeParameters.map(recur)
|
|
1718
1719
|
switch (typeConstructor._tag) {
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
return Schema.Result(typeParameters[0], typeParameters[1])
|
|
1723
|
-
case "effect/Redacted":
|
|
1724
|
-
return Schema.Redacted(typeParameters[0])
|
|
1725
|
-
case "effect/Cause/Failure":
|
|
1726
|
-
return Schema.CauseFailure(typeParameters[0], typeParameters[1])
|
|
1727
|
-
case "effect/Cause":
|
|
1728
|
-
return Schema.Cause(typeParameters[0], typeParameters[1])
|
|
1720
|
+
// built-in types
|
|
1721
|
+
case "Date":
|
|
1722
|
+
return Schema.Date
|
|
1729
1723
|
case "Error":
|
|
1730
1724
|
return Schema.Error
|
|
1731
|
-
case "
|
|
1732
|
-
return Schema.
|
|
1725
|
+
case "ErrorWithStack":
|
|
1726
|
+
return Schema.ErrorWithStack
|
|
1727
|
+
case "File":
|
|
1728
|
+
return Schema.File
|
|
1729
|
+
case "FormData":
|
|
1730
|
+
return Schema.FormData
|
|
1733
1731
|
case "ReadonlyMap":
|
|
1734
1732
|
return Schema.ReadonlyMap(typeParameters[0], typeParameters[1])
|
|
1735
1733
|
case "ReadonlySet":
|
|
1736
1734
|
return Schema.ReadonlySet(typeParameters[0])
|
|
1737
1735
|
case "RegExp":
|
|
1738
1736
|
return Schema.RegExp
|
|
1737
|
+
case "Uint8Array":
|
|
1738
|
+
return Schema.Uint8Array
|
|
1739
1739
|
case "URL":
|
|
1740
1740
|
return Schema.URL
|
|
1741
|
-
case "File":
|
|
1742
|
-
return Schema.File
|
|
1743
|
-
case "Date":
|
|
1744
|
-
return Schema.Date
|
|
1745
|
-
case "effect/Duration":
|
|
1746
|
-
return Schema.Duration
|
|
1747
|
-
case "FormData":
|
|
1748
|
-
return Schema.FormData
|
|
1749
1741
|
case "URLSearchParams":
|
|
1750
1742
|
return Schema.URLSearchParams
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1743
|
+
// effect types
|
|
1744
|
+
case "effect/DateTime.TimeZone":
|
|
1745
|
+
return Schema.TimeZone
|
|
1746
|
+
case "effect/DateTime.TimeZone.Named":
|
|
1747
|
+
return Schema.TimeZoneNamed
|
|
1748
|
+
case "effect/DateTime.TimeZone.Offset":
|
|
1749
|
+
return Schema.TimeZoneOffset
|
|
1750
|
+
case "effect/DateTime.Utc":
|
|
1754
1751
|
return Schema.DateTimeUtc
|
|
1752
|
+
case "effect/DateTime.Zoned":
|
|
1753
|
+
return Schema.DateTimeZoned
|
|
1754
|
+
case "effect/BigDecimal":
|
|
1755
|
+
return Schema.BigDecimal
|
|
1756
|
+
case "effect/Cause":
|
|
1757
|
+
return Schema.Cause(typeParameters[0], typeParameters[1])
|
|
1758
|
+
case "effect/Cause/Failure":
|
|
1759
|
+
return Schema.CauseReason(typeParameters[0], typeParameters[1])
|
|
1760
|
+
case "effect/Duration":
|
|
1761
|
+
return Schema.Duration
|
|
1762
|
+
case "effect/Exit":
|
|
1763
|
+
return Schema.Exit(typeParameters[0], typeParameters[1], typeParameters[2])
|
|
1764
|
+
case "effect/HashMap":
|
|
1765
|
+
return Schema.HashMap(typeParameters[0], typeParameters[1])
|
|
1766
|
+
case "effect/Option":
|
|
1767
|
+
return Schema.Option(typeParameters[0])
|
|
1768
|
+
case "effect/Redacted":
|
|
1769
|
+
return Schema.Redacted(typeParameters[0])
|
|
1770
|
+
case "effect/Result":
|
|
1771
|
+
return Schema.Result(typeParameters[0], typeParameters[1])
|
|
1772
|
+
case "effect/HashSet":
|
|
1773
|
+
return Schema.HashSet(typeParameters[0])
|
|
1755
1774
|
}
|
|
1756
1775
|
}
|
|
1757
1776
|
}
|
|
@@ -82,6 +82,8 @@
|
|
|
82
82
|
* @since 4.0.0
|
|
83
83
|
*/
|
|
84
84
|
|
|
85
|
+
import * as BigDecimal from "./BigDecimal.ts"
|
|
86
|
+
import * as DateTime from "./DateTime.ts"
|
|
85
87
|
import * as Duration from "./Duration.ts"
|
|
86
88
|
import * as Effect from "./Effect.ts"
|
|
87
89
|
import * as Option from "./Option.ts"
|
|
@@ -1004,8 +1006,7 @@ export const errorFromErrorJsonEncoded = (options?: {
|
|
|
1004
1006
|
* ```
|
|
1005
1007
|
*
|
|
1006
1008
|
* See also:
|
|
1007
|
-
* - {@link
|
|
1008
|
-
* - {@link optionFromOptional}
|
|
1009
|
+
* - {@link optionFromNullishOr}
|
|
1009
1010
|
*
|
|
1010
1011
|
* @since 4.0.0
|
|
1011
1012
|
*/
|
|
@@ -1016,6 +1017,88 @@ export function optionFromNullOr<T>(): Transformation<Option.Option<T>, T | null
|
|
|
1016
1017
|
})
|
|
1017
1018
|
}
|
|
1018
1019
|
|
|
1020
|
+
/**
|
|
1021
|
+
* Decodes `T | undefined` into `Option<T>` and encodes `Option<T>` back
|
|
1022
|
+
* to `T | undefined`.
|
|
1023
|
+
*
|
|
1024
|
+
* When to use this:
|
|
1025
|
+
* - Converting undefined-or API fields to `Option`.
|
|
1026
|
+
*
|
|
1027
|
+
* Behavior:
|
|
1028
|
+
* - Decode: `undefined` → `Option.none()`, non-undefined → `Option.some(value)`.
|
|
1029
|
+
* - Encode: `Option.none()` → `undefined`, `Option.some(value)` → `value`.
|
|
1030
|
+
* - Pure and synchronous.
|
|
1031
|
+
*
|
|
1032
|
+
* **Example** (Option from undefined-or)
|
|
1033
|
+
*
|
|
1034
|
+
* ```ts
|
|
1035
|
+
* import { Schema, SchemaTransformation } from "effect"
|
|
1036
|
+
*
|
|
1037
|
+
* const schema = Schema.UndefinedOr(Schema.String).pipe(
|
|
1038
|
+
* Schema.decodeTo(
|
|
1039
|
+
* Schema.Option(Schema.String),
|
|
1040
|
+
* SchemaTransformation.optionFromUndefinedOr()
|
|
1041
|
+
* )
|
|
1042
|
+
* )
|
|
1043
|
+
* ```
|
|
1044
|
+
*
|
|
1045
|
+
* See also:
|
|
1046
|
+
* - {@link optionFromOptionalKey}
|
|
1047
|
+
* - {@link optionFromOptional}
|
|
1048
|
+
*
|
|
1049
|
+
* @since 4.0.0
|
|
1050
|
+
*/
|
|
1051
|
+
export function optionFromUndefinedOr<T>(): Transformation<Option.Option<T>, T | undefined> {
|
|
1052
|
+
return transform({
|
|
1053
|
+
decode: Option.fromUndefinedOr,
|
|
1054
|
+
encode: Option.getOrUndefined
|
|
1055
|
+
})
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
/**
|
|
1059
|
+
* Decodes `T | null | undefined` into `Option<T>` and encodes `Option<T>`
|
|
1060
|
+
* back to `T | null` or `T | undefined` depending on the provided `options.onNoneEncoding` (defaults to `undefined`).
|
|
1061
|
+
*
|
|
1062
|
+
* When to use this:
|
|
1063
|
+
* - Converting nullish API fields to `Option` when both `null` and
|
|
1064
|
+
* `undefined` represent absence.
|
|
1065
|
+
*
|
|
1066
|
+
* Behavior:
|
|
1067
|
+
* - Decode: `null` or `undefined` → `Option.none()`, otherwise → `Option.some(value)`.
|
|
1068
|
+
* - Encode: `Option.none()` → `null` or `undefined` (per `options.onNoneEncoding`),
|
|
1069
|
+
* `Option.some(value)` → `value`.
|
|
1070
|
+
* - Pure and synchronous.
|
|
1071
|
+
*
|
|
1072
|
+
* **Example** (Option from nullish, encoding None as null)
|
|
1073
|
+
*
|
|
1074
|
+
* ```ts
|
|
1075
|
+
* import { Schema, SchemaTransformation } from "effect"
|
|
1076
|
+
*
|
|
1077
|
+
* const schema = Schema.NullishOr(Schema.String).pipe(
|
|
1078
|
+
* Schema.decodeTo(
|
|
1079
|
+
* Schema.Option(Schema.String),
|
|
1080
|
+
* SchemaTransformation.optionFromNullishOr({ onNoneEncoding: null })
|
|
1081
|
+
* )
|
|
1082
|
+
* )
|
|
1083
|
+
* ```
|
|
1084
|
+
*
|
|
1085
|
+
* See also:
|
|
1086
|
+
* - {@link optionFromNullOr}
|
|
1087
|
+
* - {@link optionFromUndefinedOr}
|
|
1088
|
+
*
|
|
1089
|
+
* @since 4.0.0
|
|
1090
|
+
*/
|
|
1091
|
+
export function optionFromNullishOr<T>(
|
|
1092
|
+
options?: {
|
|
1093
|
+
onNoneEncoding: null | undefined
|
|
1094
|
+
}
|
|
1095
|
+
): Transformation<Option.Option<T>, T | null | undefined> {
|
|
1096
|
+
return transform({
|
|
1097
|
+
decode: Option.fromNullishOr,
|
|
1098
|
+
encode: options?.onNoneEncoding === null ? Option.getOrNull : Option.getOrUndefined
|
|
1099
|
+
})
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1019
1102
|
/**
|
|
1020
1103
|
* Decodes an optional struct key into `Option<T>` and encodes `Option<T>`
|
|
1021
1104
|
* back to an optional key.
|
|
@@ -1045,8 +1128,8 @@ export function optionFromNullOr<T>(): Transformation<Option.Option<T>, T | null
|
|
|
1045
1128
|
* ```
|
|
1046
1129
|
*
|
|
1047
1130
|
* See also:
|
|
1048
|
-
* - {@link optionFromNullOr}
|
|
1049
1131
|
* - {@link optionFromOptional}
|
|
1132
|
+
* - {@link optionFromUndefinedOr}
|
|
1050
1133
|
* - {@link transformOptional}
|
|
1051
1134
|
*
|
|
1052
1135
|
* @since 4.0.0
|
|
@@ -1086,8 +1169,8 @@ export function optionFromOptionalKey<T>(): Transformation<Option.Option<T>, T>
|
|
|
1086
1169
|
* ```
|
|
1087
1170
|
*
|
|
1088
1171
|
* See also:
|
|
1089
|
-
* - {@link optionFromNullOr}
|
|
1090
1172
|
* - {@link optionFromOptionalKey}
|
|
1173
|
+
* - {@link optionFromUndefinedOr}
|
|
1091
1174
|
* - {@link transformOptional}
|
|
1092
1175
|
*
|
|
1093
1176
|
* @since 4.0.0
|
|
@@ -1136,6 +1219,33 @@ export const urlFromString: Transformation<URL, string> = transformOrFail<URL, s
|
|
|
1136
1219
|
encode: (url) => Effect.succeed(url.href)
|
|
1137
1220
|
})
|
|
1138
1221
|
|
|
1222
|
+
/**
|
|
1223
|
+
* Decodes a `string` into a `BigDecimal` and encodes a `BigDecimal` back to
|
|
1224
|
+
* its string representation.
|
|
1225
|
+
*
|
|
1226
|
+
* When to use this:
|
|
1227
|
+
* - Parsing decimal number strings from APIs or user input.
|
|
1228
|
+
*
|
|
1229
|
+
* Behavior:
|
|
1230
|
+
* - Decode: calls `BigDecimal.fromString(s)`. Fails with `InvalidValue` if the
|
|
1231
|
+
* string is not a valid BigDecimal representation.
|
|
1232
|
+
* - Encode: returns `BigDecimal.format(bd)`.
|
|
1233
|
+
*
|
|
1234
|
+
* @since 4.0.0
|
|
1235
|
+
*/
|
|
1236
|
+
export const bigDecimalFromString: Transformation<BigDecimal.BigDecimal, string> = transformOrFail<
|
|
1237
|
+
BigDecimal.BigDecimal,
|
|
1238
|
+
string
|
|
1239
|
+
>({
|
|
1240
|
+
decode: (s) => {
|
|
1241
|
+
const result = BigDecimal.fromString(s)
|
|
1242
|
+
return result === undefined
|
|
1243
|
+
? Effect.fail(new Issue.InvalidValue(Option.some(s), { message: `Invalid BigDecimal string: ${s}` }))
|
|
1244
|
+
: Effect.succeed(result)
|
|
1245
|
+
},
|
|
1246
|
+
encode: (bd) => Effect.succeed(BigDecimal.format(bd))
|
|
1247
|
+
})
|
|
1248
|
+
|
|
1139
1249
|
/**
|
|
1140
1250
|
* Decodes a Base64-encoded `string` into a `Uint8Array` and encodes a
|
|
1141
1251
|
* `Uint8Array` back to a Base64 string.
|
|
@@ -1264,3 +1374,78 @@ export const fromURLSearchParams = new Transformation<unknown, URLSearchParams>(
|
|
|
1264
1374
|
Getter.decodeURLSearchParams(),
|
|
1265
1375
|
Getter.encodeURLSearchParams()
|
|
1266
1376
|
)
|
|
1377
|
+
|
|
1378
|
+
/**
|
|
1379
|
+
* @since 4.0.0
|
|
1380
|
+
*/
|
|
1381
|
+
export const timeZoneOffsetFromNumber: Transformation<DateTime.TimeZone.Offset, number> = transform<
|
|
1382
|
+
DateTime.TimeZone.Offset,
|
|
1383
|
+
number
|
|
1384
|
+
>({
|
|
1385
|
+
decode: (n) => DateTime.zoneMakeOffset(n),
|
|
1386
|
+
encode: (tz) => tz.offset
|
|
1387
|
+
})
|
|
1388
|
+
|
|
1389
|
+
/**
|
|
1390
|
+
* @since 4.0.0
|
|
1391
|
+
*/
|
|
1392
|
+
export const timeZoneNamedFromString: Transformation<DateTime.TimeZone.Named, string> = transformOrFail<
|
|
1393
|
+
DateTime.TimeZone.Named,
|
|
1394
|
+
string
|
|
1395
|
+
>({
|
|
1396
|
+
decode: (s) => {
|
|
1397
|
+
const result = DateTime.zoneMakeNamed(s)
|
|
1398
|
+
return result === undefined
|
|
1399
|
+
? Effect.fail(new Issue.InvalidValue(Option.some(s), { message: `Invalid IANA time zone: ${s}` }))
|
|
1400
|
+
: Effect.succeed(result)
|
|
1401
|
+
},
|
|
1402
|
+
encode: (tz) => Effect.succeed(tz.id)
|
|
1403
|
+
})
|
|
1404
|
+
|
|
1405
|
+
/**
|
|
1406
|
+
* @since 4.0.0
|
|
1407
|
+
*/
|
|
1408
|
+
export const timeZoneFromString: Transformation<DateTime.TimeZone, string> = transformOrFail<
|
|
1409
|
+
DateTime.TimeZone,
|
|
1410
|
+
string
|
|
1411
|
+
>({
|
|
1412
|
+
decode: (s) => {
|
|
1413
|
+
const result = DateTime.zoneFromString(s)
|
|
1414
|
+
return result === undefined
|
|
1415
|
+
? Effect.fail(new Issue.InvalidValue(Option.some(s), { message: `Invalid time zone: ${s}` }))
|
|
1416
|
+
: Effect.succeed(result)
|
|
1417
|
+
},
|
|
1418
|
+
encode: (tz) => Effect.succeed(DateTime.zoneToString(tz))
|
|
1419
|
+
})
|
|
1420
|
+
|
|
1421
|
+
/**
|
|
1422
|
+
* @since 4.0.0
|
|
1423
|
+
*/
|
|
1424
|
+
export const dateTimeUtcFromString: Transformation<DateTime.Utc, string> = transformOrFail<
|
|
1425
|
+
DateTime.Utc,
|
|
1426
|
+
string
|
|
1427
|
+
>({
|
|
1428
|
+
decode: (s) => {
|
|
1429
|
+
const result = DateTime.make(s)
|
|
1430
|
+
return result === undefined
|
|
1431
|
+
? Effect.fail(new Issue.InvalidValue(Option.some(s), { message: "Invalid DateTime input" }))
|
|
1432
|
+
: Effect.succeed(DateTime.toUtc(result))
|
|
1433
|
+
},
|
|
1434
|
+
encode: (utc) => Effect.succeed(DateTime.formatIso(utc))
|
|
1435
|
+
})
|
|
1436
|
+
|
|
1437
|
+
/**
|
|
1438
|
+
* @since 4.0.0
|
|
1439
|
+
*/
|
|
1440
|
+
export const dateTimeZonedFromString: Transformation<DateTime.Zoned, string> = transformOrFail<
|
|
1441
|
+
DateTime.Zoned,
|
|
1442
|
+
string
|
|
1443
|
+
>({
|
|
1444
|
+
decode: (s) => {
|
|
1445
|
+
const result = DateTime.makeZonedFromString(s)
|
|
1446
|
+
return result === undefined
|
|
1447
|
+
? Effect.fail(new Issue.InvalidValue(Option.some(s), { message: `Invalid zoned DateTime string: ${s}` }))
|
|
1448
|
+
: Effect.succeed(result)
|
|
1449
|
+
},
|
|
1450
|
+
encode: (zoned) => Effect.succeed(DateTime.formatIsoZoned(zoned))
|
|
1451
|
+
})
|
package/src/ScopedCache.ts
CHANGED
|
@@ -69,7 +69,7 @@ export const makeWith = <
|
|
|
69
69
|
>(options: {
|
|
70
70
|
readonly lookup: (key: Key) => Effect.Effect<A, E, R | Scope.Scope>
|
|
71
71
|
readonly capacity: number
|
|
72
|
-
readonly timeToLive?: ((exit: Exit.Exit<A, E>, key: Key) => Duration.
|
|
72
|
+
readonly timeToLive?: ((exit: Exit.Exit<A, E>, key: Key) => Duration.Input) | undefined
|
|
73
73
|
readonly requireServicesAt?: ServiceMode | undefined
|
|
74
74
|
}): Effect.Effect<
|
|
75
75
|
ScopedCache<Key, A, E, "lookup" extends ServiceMode ? Exclude<R, Scope.Scope> : never>,
|
|
@@ -88,7 +88,7 @@ export const makeWith = <
|
|
|
88
88
|
self.state = { _tag: "Open", map }
|
|
89
89
|
self.capacity = options.capacity
|
|
90
90
|
self.timeToLive = options.timeToLive
|
|
91
|
-
? (exit: Exit.Exit<A, E>, key: Key) => Duration.
|
|
91
|
+
? (exit: Exit.Exit<A, E>, key: Key) => Duration.fromInputUnsafe(options.timeToLive!(exit, key))
|
|
92
92
|
: defaultTimeToLive
|
|
93
93
|
return effect.as(
|
|
94
94
|
Scope.addFinalizer(
|
|
@@ -116,7 +116,7 @@ export const make = <
|
|
|
116
116
|
options: {
|
|
117
117
|
readonly lookup: (key: Key) => Effect.Effect<A, E, R | Scope.Scope>
|
|
118
118
|
readonly capacity: number
|
|
119
|
-
readonly timeToLive?: Duration.
|
|
119
|
+
readonly timeToLive?: Duration.Input | undefined
|
|
120
120
|
readonly requireServicesAt?: ServiceMode | undefined
|
|
121
121
|
}
|
|
122
122
|
): Effect.Effect<
|