effect 4.0.0-beta.2 → 4.0.0-beta.20
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 +733 -687
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +233 -250
- 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 +91 -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 +3 -2
- 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 +123 -76
- 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 +225 -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 +33 -6
- 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/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/WorkflowEngine.d.ts +8 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +133 -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 +909 -817
- 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 +315 -160
- package/src/Schema.ts +661 -116
- package/src/SchemaAST.ts +3 -2
- 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 +565 -600
- 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 +660 -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 +46 -8
- 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/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 +1 -1
- package/src/unstable/workflow/WorkflowEngine.ts +181 -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/Record.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import type * as Combiner from "./Combiner.ts"
|
|
8
8
|
import * as Equal from "./Equal.ts"
|
|
9
9
|
import type { Equivalence } from "./Equivalence.ts"
|
|
10
|
+
import type * as Filter from "./Filter.ts"
|
|
10
11
|
import { dual, identity } from "./Function.ts"
|
|
11
12
|
import type { TypeLambda } from "./HKT.ts"
|
|
12
13
|
import * as Option from "./Option.ts"
|
|
@@ -1002,16 +1003,16 @@ export const mapEntries: {
|
|
|
1002
1003
|
)
|
|
1003
1004
|
|
|
1004
1005
|
/**
|
|
1005
|
-
* Transforms a record
|
|
1006
|
-
* If the function
|
|
1006
|
+
* Transforms a record by applying the function `f` to each key and value in the original record.
|
|
1007
|
+
* If the function succeeds, the key-value pair is included in the output record.
|
|
1007
1008
|
*
|
|
1008
1009
|
* @example
|
|
1009
1010
|
* ```ts
|
|
1010
|
-
* import {
|
|
1011
|
+
* import { Record, Result } from "effect"
|
|
1011
1012
|
* import * as assert from "node:assert"
|
|
1012
1013
|
*
|
|
1013
1014
|
* const x = { a: 1, b: 2, c: 3 }
|
|
1014
|
-
* const f = (a: number, key: string) => a > 2 ?
|
|
1015
|
+
* const f = (a: number, key: string) => a > 2 ? Result.succeed(a * 2) : Result.failVoid
|
|
1015
1016
|
* assert.deepStrictEqual(Record.filterMap(x, f), { c: 6 })
|
|
1016
1017
|
* ```
|
|
1017
1018
|
*
|
|
@@ -1020,52 +1021,52 @@ export const mapEntries: {
|
|
|
1020
1021
|
*/
|
|
1021
1022
|
export const filterMap: {
|
|
1022
1023
|
/**
|
|
1023
|
-
* Transforms a record
|
|
1024
|
-
* If the function
|
|
1024
|
+
* Transforms a record by applying the function `f` to each key and value in the original record.
|
|
1025
|
+
* If the function succeeds, the key-value pair is included in the output record.
|
|
1025
1026
|
*
|
|
1026
1027
|
* @example
|
|
1027
1028
|
* ```ts
|
|
1028
|
-
* import {
|
|
1029
|
+
* import { Record, Result } from "effect"
|
|
1029
1030
|
* import * as assert from "node:assert"
|
|
1030
1031
|
*
|
|
1031
1032
|
* const x = { a: 1, b: 2, c: 3 }
|
|
1032
|
-
* const f = (a: number, key: string) => a > 2 ?
|
|
1033
|
+
* const f = (a: number, key: string) => a > 2 ? Result.succeed(a * 2) : Result.failVoid
|
|
1033
1034
|
* assert.deepStrictEqual(Record.filterMap(x, f), { c: 6 })
|
|
1034
1035
|
* ```
|
|
1035
1036
|
*
|
|
1036
1037
|
* @category filtering
|
|
1037
1038
|
* @since 2.0.0
|
|
1038
1039
|
*/
|
|
1039
|
-
<K extends string, A, B>(f:
|
|
1040
|
+
<K extends string, A, B, X>(f: Filter.Filter<A, B, X, [key: K]>): (self: ReadonlyRecord<K, A>) => Record<ReadonlyRecord.NonLiteralKey<K>, B>
|
|
1040
1041
|
/**
|
|
1041
|
-
* Transforms a record
|
|
1042
|
-
* If the function
|
|
1042
|
+
* Transforms a record by applying the function `f` to each key and value in the original record.
|
|
1043
|
+
* If the function succeeds, the key-value pair is included in the output record.
|
|
1043
1044
|
*
|
|
1044
1045
|
* @example
|
|
1045
1046
|
* ```ts
|
|
1046
|
-
* import {
|
|
1047
|
+
* import { Record, Result } from "effect"
|
|
1047
1048
|
* import * as assert from "node:assert"
|
|
1048
1049
|
*
|
|
1049
1050
|
* const x = { a: 1, b: 2, c: 3 }
|
|
1050
|
-
* const f = (a: number, key: string) => a > 2 ?
|
|
1051
|
+
* const f = (a: number, key: string) => a > 2 ? Result.succeed(a * 2) : Result.failVoid
|
|
1051
1052
|
* assert.deepStrictEqual(Record.filterMap(x, f), { c: 6 })
|
|
1052
1053
|
* ```
|
|
1053
1054
|
*
|
|
1054
1055
|
* @category filtering
|
|
1055
1056
|
* @since 2.0.0
|
|
1056
1057
|
*/
|
|
1057
|
-
<K extends string, A, B>(self: ReadonlyRecord<K, A>, f:
|
|
1058
|
+
<K extends string, A, B, X>(self: ReadonlyRecord<K, A>, f: Filter.Filter<A, B, X, [key: K]>): Record<ReadonlyRecord.NonLiteralKey<K>, B>
|
|
1058
1059
|
} = dual(
|
|
1059
1060
|
2,
|
|
1060
|
-
<K extends string, A, B>(
|
|
1061
|
+
<K extends string, A, B, X>(
|
|
1061
1062
|
self: ReadonlyRecord<K, A>,
|
|
1062
|
-
f:
|
|
1063
|
+
f: Filter.Filter<A, B, X, [key: K]>
|
|
1063
1064
|
): Record<ReadonlyRecord.NonLiteralKey<K>, B> => {
|
|
1064
1065
|
const out: Record<string, B> = empty()
|
|
1065
1066
|
for (const key of keys(self)) {
|
|
1066
|
-
const
|
|
1067
|
-
if (
|
|
1068
|
-
out[key] =
|
|
1067
|
+
const result = f(self[key], key)
|
|
1068
|
+
if (R.isSuccess(result)) {
|
|
1069
|
+
out[key] = result.success
|
|
1069
1070
|
}
|
|
1070
1071
|
}
|
|
1071
1072
|
return out
|
|
@@ -1187,9 +1188,18 @@ export const filter: {
|
|
|
1187
1188
|
*/
|
|
1188
1189
|
export const getSomes: <K extends string, A>(
|
|
1189
1190
|
self: ReadonlyRecord<K, Option.Option<A>>
|
|
1190
|
-
) => Record<ReadonlyRecord.NonLiteralKey<K>, A> =
|
|
1191
|
-
|
|
1192
|
-
)
|
|
1191
|
+
) => Record<ReadonlyRecord.NonLiteralKey<K>, A> = <K extends string, A>(
|
|
1192
|
+
self: ReadonlyRecord<K, Option.Option<A>>
|
|
1193
|
+
): Record<ReadonlyRecord.NonLiteralKey<K>, A> => {
|
|
1194
|
+
const out: Record<string, A> = empty()
|
|
1195
|
+
for (const key of keys(self)) {
|
|
1196
|
+
const option = self[key]
|
|
1197
|
+
if (Option.isSome(option)) {
|
|
1198
|
+
out[key] = option.value
|
|
1199
|
+
}
|
|
1200
|
+
}
|
|
1201
|
+
return out
|
|
1202
|
+
}
|
|
1193
1203
|
|
|
1194
1204
|
/**
|
|
1195
1205
|
* Given a record with `Result` values, returns a new record containing only the `Err` values, preserving the original keys.
|
|
@@ -1262,7 +1272,7 @@ export const getSuccesses = <K extends string, A, E>(
|
|
|
1262
1272
|
}
|
|
1263
1273
|
|
|
1264
1274
|
/**
|
|
1265
|
-
* Partitions the elements of a record into two groups: those that match a
|
|
1275
|
+
* Partitions the elements of a record into two groups: those that match a filter, and those that don't.
|
|
1266
1276
|
*
|
|
1267
1277
|
* @example
|
|
1268
1278
|
* ```ts
|
|
@@ -1271,15 +1281,15 @@ export const getSuccesses = <K extends string, A, E>(
|
|
|
1271
1281
|
*
|
|
1272
1282
|
* const x = { a: 1, b: 2, c: 3 }
|
|
1273
1283
|
* const f = (n: number) => (n % 2 === 0 ? Result.succeed(n) : Result.fail(n))
|
|
1274
|
-
* assert.deepStrictEqual(Record.
|
|
1284
|
+
* assert.deepStrictEqual(Record.partition(x, f), [{ a: 1, c: 3 }, { b: 2 }])
|
|
1275
1285
|
* ```
|
|
1276
1286
|
*
|
|
1277
1287
|
* @category filtering
|
|
1278
1288
|
* @since 2.0.0
|
|
1279
1289
|
*/
|
|
1280
|
-
export const
|
|
1290
|
+
export const partition: {
|
|
1281
1291
|
/**
|
|
1282
|
-
* Partitions the elements of a record into two groups: those that match a
|
|
1292
|
+
* Partitions the elements of a record into two groups: those that match a filter, and those that don't.
|
|
1283
1293
|
*
|
|
1284
1294
|
* @example
|
|
1285
1295
|
* ```ts
|
|
@@ -1288,17 +1298,17 @@ export const partitionMap: {
|
|
|
1288
1298
|
*
|
|
1289
1299
|
* const x = { a: 1, b: 2, c: 3 }
|
|
1290
1300
|
* const f = (n: number) => (n % 2 === 0 ? Result.succeed(n) : Result.fail(n))
|
|
1291
|
-
* assert.deepStrictEqual(Record.
|
|
1301
|
+
* assert.deepStrictEqual(Record.partition(x, f), [{ a: 1, c: 3 }, { b: 2 }])
|
|
1292
1302
|
* ```
|
|
1293
1303
|
*
|
|
1294
1304
|
* @category filtering
|
|
1295
1305
|
* @since 2.0.0
|
|
1296
1306
|
*/
|
|
1297
|
-
<K extends string, A, B, C>(f:
|
|
1307
|
+
<K extends string, A, B, C>(f: Filter.Filter<A, C, B, [key: K]>): (
|
|
1298
1308
|
self: ReadonlyRecord<K, A>
|
|
1299
1309
|
) => [left: Record<ReadonlyRecord.NonLiteralKey<K>, B>, right: Record<ReadonlyRecord.NonLiteralKey<K>, C>]
|
|
1300
1310
|
/**
|
|
1301
|
-
* Partitions the elements of a record into two groups: those that match a
|
|
1311
|
+
* Partitions the elements of a record into two groups: those that match a filter, and those that don't.
|
|
1302
1312
|
*
|
|
1303
1313
|
* @example
|
|
1304
1314
|
* ```ts
|
|
@@ -1307,18 +1317,18 @@ export const partitionMap: {
|
|
|
1307
1317
|
*
|
|
1308
1318
|
* const x = { a: 1, b: 2, c: 3 }
|
|
1309
1319
|
* const f = (n: number) => (n % 2 === 0 ? Result.succeed(n) : Result.fail(n))
|
|
1310
|
-
* assert.deepStrictEqual(Record.
|
|
1320
|
+
* assert.deepStrictEqual(Record.partition(x, f), [{ a: 1, c: 3 }, { b: 2 }])
|
|
1311
1321
|
* ```
|
|
1312
1322
|
*
|
|
1313
1323
|
* @category filtering
|
|
1314
1324
|
* @since 2.0.0
|
|
1315
1325
|
*/
|
|
1316
|
-
<K extends string, A, B, C>(self: ReadonlyRecord<K, A>, f:
|
|
1326
|
+
<K extends string, A, B, C>(self: ReadonlyRecord<K, A>, f: Filter.Filter<A, C, B, [key: K]>): [left: Record<ReadonlyRecord.NonLiteralKey<K>, B>, right: Record<ReadonlyRecord.NonLiteralKey<K>, C>]
|
|
1317
1327
|
} = dual(
|
|
1318
1328
|
2,
|
|
1319
1329
|
<K extends string, A, B, C>(
|
|
1320
1330
|
self: ReadonlyRecord<K, A>,
|
|
1321
|
-
f:
|
|
1331
|
+
f: Filter.Filter<A, C, B, [key: K]>
|
|
1322
1332
|
): [left: Record<ReadonlyRecord.NonLiteralKey<K>, B>, right: Record<ReadonlyRecord.NonLiteralKey<K>, C>] => {
|
|
1323
1333
|
const left: Record<string, B> = empty()
|
|
1324
1334
|
const right: Record<string, C> = empty()
|
|
@@ -1354,126 +1364,7 @@ export const partitionMap: {
|
|
|
1354
1364
|
*/
|
|
1355
1365
|
export const separate: <K extends string, A, B>(
|
|
1356
1366
|
self: ReadonlyRecord<K, Result<B, A>>
|
|
1357
|
-
) => [Record<ReadonlyRecord.NonLiteralKey<K>, A>, Record<ReadonlyRecord.NonLiteralKey<K>, B>] =
|
|
1358
|
-
|
|
1359
|
-
/**
|
|
1360
|
-
* Partitions a record into two separate records based on the result of a predicate function.
|
|
1361
|
-
*
|
|
1362
|
-
* @example
|
|
1363
|
-
* ```ts
|
|
1364
|
-
* import { Record } from "effect"
|
|
1365
|
-
* import * as assert from "node:assert"
|
|
1366
|
-
*
|
|
1367
|
-
* assert.deepStrictEqual(
|
|
1368
|
-
* Record.partition({ a: 1, b: 3 }, (n) => n > 2),
|
|
1369
|
-
* [{ a: 1 }, { b: 3 }]
|
|
1370
|
-
* )
|
|
1371
|
-
* ```
|
|
1372
|
-
*
|
|
1373
|
-
* @category filtering
|
|
1374
|
-
* @since 2.0.0
|
|
1375
|
-
*/
|
|
1376
|
-
export const partition: {
|
|
1377
|
-
/**
|
|
1378
|
-
* Partitions a record into two separate records based on the result of a predicate function.
|
|
1379
|
-
*
|
|
1380
|
-
* @example
|
|
1381
|
-
* ```ts
|
|
1382
|
-
* import { Record } from "effect"
|
|
1383
|
-
* import * as assert from "node:assert"
|
|
1384
|
-
*
|
|
1385
|
-
* assert.deepStrictEqual(
|
|
1386
|
-
* Record.partition({ a: 1, b: 3 }, (n) => n > 2),
|
|
1387
|
-
* [{ a: 1 }, { b: 3 }]
|
|
1388
|
-
* )
|
|
1389
|
-
* ```
|
|
1390
|
-
*
|
|
1391
|
-
* @category filtering
|
|
1392
|
-
* @since 2.0.0
|
|
1393
|
-
*/
|
|
1394
|
-
<K extends string, A, B extends A>(refinement: (a: NoInfer<A>, key: K) => a is B): (
|
|
1395
|
-
self: ReadonlyRecord<K, A>
|
|
1396
|
-
) => [
|
|
1397
|
-
excluded: Record<ReadonlyRecord.NonLiteralKey<K>, Exclude<A, B>>,
|
|
1398
|
-
satisfying: Record<ReadonlyRecord.NonLiteralKey<K>, B>
|
|
1399
|
-
]
|
|
1400
|
-
/**
|
|
1401
|
-
* Partitions a record into two separate records based on the result of a predicate function.
|
|
1402
|
-
*
|
|
1403
|
-
* @example
|
|
1404
|
-
* ```ts
|
|
1405
|
-
* import { Record } from "effect"
|
|
1406
|
-
* import * as assert from "node:assert"
|
|
1407
|
-
*
|
|
1408
|
-
* assert.deepStrictEqual(
|
|
1409
|
-
* Record.partition({ a: 1, b: 3 }, (n) => n > 2),
|
|
1410
|
-
* [{ a: 1 }, { b: 3 }]
|
|
1411
|
-
* )
|
|
1412
|
-
* ```
|
|
1413
|
-
*
|
|
1414
|
-
* @category filtering
|
|
1415
|
-
* @since 2.0.0
|
|
1416
|
-
*/
|
|
1417
|
-
<K extends string, A>(predicate: (a: NoInfer<A>, key: K) => boolean): (
|
|
1418
|
-
self: ReadonlyRecord<K, A>
|
|
1419
|
-
) => [excluded: Record<ReadonlyRecord.NonLiteralKey<K>, A>, satisfying: Record<ReadonlyRecord.NonLiteralKey<K>, A>]
|
|
1420
|
-
/**
|
|
1421
|
-
* Partitions a record into two separate records based on the result of a predicate function.
|
|
1422
|
-
*
|
|
1423
|
-
* @example
|
|
1424
|
-
* ```ts
|
|
1425
|
-
* import { Record } from "effect"
|
|
1426
|
-
* import * as assert from "node:assert"
|
|
1427
|
-
*
|
|
1428
|
-
* assert.deepStrictEqual(
|
|
1429
|
-
* Record.partition({ a: 1, b: 3 }, (n) => n > 2),
|
|
1430
|
-
* [{ a: 1 }, { b: 3 }]
|
|
1431
|
-
* )
|
|
1432
|
-
* ```
|
|
1433
|
-
*
|
|
1434
|
-
* @category filtering
|
|
1435
|
-
* @since 2.0.0
|
|
1436
|
-
*/
|
|
1437
|
-
<K extends string, A, B extends A>(self: ReadonlyRecord<K, A>, refinement: (a: A, key: K) => a is B): [
|
|
1438
|
-
excluded: Record<ReadonlyRecord.NonLiteralKey<K>, Exclude<A, B>>,
|
|
1439
|
-
satisfying: Record<ReadonlyRecord.NonLiteralKey<K>, B>
|
|
1440
|
-
]
|
|
1441
|
-
/**
|
|
1442
|
-
* Partitions a record into two separate records based on the result of a predicate function.
|
|
1443
|
-
*
|
|
1444
|
-
* @example
|
|
1445
|
-
* ```ts
|
|
1446
|
-
* import { Record } from "effect"
|
|
1447
|
-
* import * as assert from "node:assert"
|
|
1448
|
-
*
|
|
1449
|
-
* assert.deepStrictEqual(
|
|
1450
|
-
* Record.partition({ a: 1, b: 3 }, (n) => n > 2),
|
|
1451
|
-
* [{ a: 1 }, { b: 3 }]
|
|
1452
|
-
* )
|
|
1453
|
-
* ```
|
|
1454
|
-
*
|
|
1455
|
-
* @category filtering
|
|
1456
|
-
* @since 2.0.0
|
|
1457
|
-
*/
|
|
1458
|
-
<K extends string, A>(self: ReadonlyRecord<K, A>, predicate: (a: A, key: K) => boolean): [excluded: Record<ReadonlyRecord.NonLiteralKey<K>, A>, satisfying: Record<ReadonlyRecord.NonLiteralKey<K>, A>]
|
|
1459
|
-
} = dual(
|
|
1460
|
-
2,
|
|
1461
|
-
<K extends string, A>(
|
|
1462
|
-
self: ReadonlyRecord<K, A>,
|
|
1463
|
-
predicate: (a: A, key: K) => boolean
|
|
1464
|
-
): [excluded: Record<ReadonlyRecord.NonLiteralKey<K>, A>, satisfying: Record<ReadonlyRecord.NonLiteralKey<K>, A>] => {
|
|
1465
|
-
const left: Record<string, A> = empty()
|
|
1466
|
-
const right: Record<string, A> = empty()
|
|
1467
|
-
for (const key of keys(self)) {
|
|
1468
|
-
if (predicate(self[key], key)) {
|
|
1469
|
-
right[key] = self[key]
|
|
1470
|
-
} else {
|
|
1471
|
-
left[key] = self[key]
|
|
1472
|
-
}
|
|
1473
|
-
}
|
|
1474
|
-
return [left, right]
|
|
1475
|
-
}
|
|
1476
|
-
)
|
|
1367
|
+
) => [Record<ReadonlyRecord.NonLiteralKey<K>, A>, Record<ReadonlyRecord.NonLiteralKey<K>, B>] = partition(identity)
|
|
1477
1368
|
|
|
1478
1369
|
/**
|
|
1479
1370
|
* Retrieve the keys of a given record as an array.
|
package/src/Reducer.ts
CHANGED
|
@@ -1,17 +1,107 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* A module for reducing collections of values into a single result.
|
|
3
|
+
*
|
|
4
|
+
* A `Reducer<A>` extends {@link Combiner.Combiner} by adding an
|
|
5
|
+
* `initialValue` (identity element) and a `combineAll` method that folds an
|
|
6
|
+
* entire collection. Think `Array.prototype.reduce`, but packaged as a
|
|
7
|
+
* reusable, composable value.
|
|
8
|
+
*
|
|
9
|
+
* ## Mental model
|
|
10
|
+
*
|
|
11
|
+
* - **Reducer** – a {@link Combiner.Combiner} plus an `initialValue` and a
|
|
12
|
+
* `combineAll` method.
|
|
13
|
+
* - **initialValue** – the neutral/identity element. Combining any value with
|
|
14
|
+
* `initialValue` should return the original value unchanged (e.g. `0` for
|
|
15
|
+
* addition, `""` for string concatenation).
|
|
16
|
+
* - **combineAll** – folds an `Iterable<A>` starting from `initialValue`.
|
|
17
|
+
* When omitted from {@link make}, a default left-to-right fold is used.
|
|
18
|
+
* - **Purity** – all reducers produced by this module are pure; they never
|
|
19
|
+
* mutate their arguments.
|
|
20
|
+
* - **Composability** – reducers can be lifted into `Option`, `Struct`,
|
|
21
|
+
* `Tuple`, `Record`, and other container types via helpers in those modules.
|
|
22
|
+
* - **Subtype of Combiner** – every `Reducer` is also a valid
|
|
23
|
+
* `Combiner`, so you can pass a `Reducer` anywhere a `Combiner` is
|
|
24
|
+
* expected.
|
|
25
|
+
*
|
|
26
|
+
* ## Common tasks
|
|
27
|
+
*
|
|
28
|
+
* - Create a reducer from a combine function and initial value → {@link make}
|
|
29
|
+
* - Swap argument order → {@link flip}
|
|
30
|
+
* - Combine two values without an initial value → use {@link Combiner.Combiner}
|
|
31
|
+
* instead
|
|
32
|
+
*
|
|
33
|
+
* ## Gotchas
|
|
34
|
+
*
|
|
35
|
+
* - `combineAll` on an empty iterable returns `initialValue`, not an error.
|
|
36
|
+
* - The default `combineAll` folds left-to-right. If your `combine` is not
|
|
37
|
+
* associative, order matters. Pass a custom `combineAll` to {@link make} if
|
|
38
|
+
* you need different traversal or short-circuiting.
|
|
39
|
+
* - A `Reducer` is also a valid `Combiner` — but a `Combiner` is *not* a
|
|
40
|
+
* `Reducer` (it lacks `initialValue`).
|
|
41
|
+
*
|
|
42
|
+
* ## Quickstart
|
|
43
|
+
*
|
|
44
|
+
* **Example** (summing a list of numbers)
|
|
45
|
+
*
|
|
46
|
+
* ```ts
|
|
47
|
+
* import { Reducer } from "effect"
|
|
48
|
+
*
|
|
49
|
+
* const Sum = Reducer.make<number>((a, b) => a + b, 0)
|
|
50
|
+
*
|
|
51
|
+
* console.log(Sum.combine(3, 4))
|
|
52
|
+
* // Output: 7
|
|
53
|
+
*
|
|
54
|
+
* console.log(Sum.combineAll([1, 2, 3, 4]))
|
|
55
|
+
* // Output: 10
|
|
56
|
+
*
|
|
57
|
+
* console.log(Sum.combineAll([]))
|
|
58
|
+
* // Output: 0
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* ## See also
|
|
62
|
+
*
|
|
63
|
+
* - {@link make} – the primary constructor
|
|
64
|
+
* - {@link Reducer} – the core interface
|
|
65
|
+
* - {@link Combiner.Combiner} – the parent interface (no `initialValue`)
|
|
66
|
+
*
|
|
2
67
|
* @since 4.0.0
|
|
3
68
|
*/
|
|
4
69
|
|
|
5
70
|
import type * as Combiner from "./Combiner.ts"
|
|
6
71
|
|
|
7
72
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
73
|
+
* Represents a strategy for reducing a collection of values of type `A` into
|
|
74
|
+
* a single result.
|
|
75
|
+
*
|
|
76
|
+
* Extends {@link Combiner.Combiner} with:
|
|
77
|
+
* - `initialValue` – the identity/neutral element for `combine`.
|
|
78
|
+
* - `combineAll` – folds an entire `Iterable<A>` from `initialValue`.
|
|
79
|
+
*
|
|
80
|
+
* When to use:
|
|
81
|
+
* - You need to fold/reduce a collection into a single value.
|
|
82
|
+
* - You want a reusable reducing strategy that can be passed to library
|
|
83
|
+
* functions like `Struct.makeReducer`, `Option.makeReducer`, or
|
|
84
|
+
* `Record.makeReducerUnion`.
|
|
85
|
+
* - You need both the combining logic *and* a known starting value.
|
|
86
|
+
*
|
|
87
|
+
* Many modules ship pre-built reducers:
|
|
88
|
+
* - `Number.ReducerSum`, `Number.ReducerMultiply`
|
|
89
|
+
* - `String.ReducerConcat`
|
|
90
|
+
* - `Boolean.ReducerAnd`, `Boolean.ReducerOr`
|
|
10
91
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
92
|
+
* **Example** (string concatenation reducer)
|
|
93
|
+
*
|
|
94
|
+
* ```ts
|
|
95
|
+
* import { Reducer } from "effect"
|
|
96
|
+
*
|
|
97
|
+
* const Concat = Reducer.make<string>((a, b) => a + b, "")
|
|
98
|
+
*
|
|
99
|
+
* console.log(Concat.combineAll(["hello", " ", "world"]))
|
|
100
|
+
* // Output: "hello world"
|
|
101
|
+
* ```
|
|
102
|
+
*
|
|
103
|
+
* @see {@link make} – create a `Reducer` from a function and initial value
|
|
104
|
+
* @see {@link Combiner.Combiner} – parent interface without `initialValue`
|
|
15
105
|
*
|
|
16
106
|
* @category model
|
|
17
107
|
* @since 4.0.0
|
|
@@ -27,7 +117,44 @@ export interface Reducer<A> extends Combiner.Combiner<A> {
|
|
|
27
117
|
/**
|
|
28
118
|
* Creates a `Reducer` from a `combine` function and an `initialValue`.
|
|
29
119
|
*
|
|
30
|
-
*
|
|
120
|
+
* When to use:
|
|
121
|
+
* - You have a custom reducing operation not covered by a pre-built reducer.
|
|
122
|
+
* - You want to provide an optimized `combineAll` (e.g. short-circuiting on
|
|
123
|
+
* a known absorbing element like `0` for multiplication).
|
|
124
|
+
*
|
|
125
|
+
* Behavior:
|
|
126
|
+
* - If `combineAll` is omitted, a default left-to-right fold starting from
|
|
127
|
+
* `initialValue` is used.
|
|
128
|
+
* - If `combineAll` is provided, it completely replaces the default fold.
|
|
129
|
+
* - Pure – the returned reducer does not mutate its arguments.
|
|
130
|
+
*
|
|
131
|
+
* **Example** (multiplication with short-circuit)
|
|
132
|
+
*
|
|
133
|
+
* ```ts
|
|
134
|
+
* import { Reducer } from "effect"
|
|
135
|
+
*
|
|
136
|
+
* const Product = Reducer.make<number>(
|
|
137
|
+
* (a, b) => a * b,
|
|
138
|
+
* 1,
|
|
139
|
+
* (collection) => {
|
|
140
|
+
* let acc = 1
|
|
141
|
+
* for (const n of collection) {
|
|
142
|
+
* if (n === 0) return 0
|
|
143
|
+
* acc *= n
|
|
144
|
+
* }
|
|
145
|
+
* return acc
|
|
146
|
+
* }
|
|
147
|
+
* )
|
|
148
|
+
*
|
|
149
|
+
* console.log(Product.combineAll([2, 3, 4]))
|
|
150
|
+
* // Output: 24
|
|
151
|
+
*
|
|
152
|
+
* console.log(Product.combineAll([2, 0, 4]))
|
|
153
|
+
* // Output: 0
|
|
154
|
+
* ```
|
|
155
|
+
*
|
|
156
|
+
* @see {@link Reducer} – the interface this creates
|
|
157
|
+
* @see {@link flip} – reverse the argument order
|
|
31
158
|
*
|
|
32
159
|
* @since 4.0.0
|
|
33
160
|
*/
|
|
@@ -51,6 +178,38 @@ export function make<A>(
|
|
|
51
178
|
}
|
|
52
179
|
|
|
53
180
|
/**
|
|
181
|
+
* Reverses the argument order of a reducer's `combine` method.
|
|
182
|
+
*
|
|
183
|
+
* When to use:
|
|
184
|
+
* - You need the "right" value to act as the accumulator side.
|
|
185
|
+
* - You want to reverse the natural direction of a non-commutative reducer
|
|
186
|
+
* (e.g. string concatenation becomes prepend).
|
|
187
|
+
*
|
|
188
|
+
* Behavior:
|
|
189
|
+
* - Returns a new `Reducer` where `combine(self, that)` calls the original
|
|
190
|
+
* reducer as `combine(that, self)`.
|
|
191
|
+
* - The `initialValue` is preserved from the original reducer.
|
|
192
|
+
* - The `combineAll` is re-derived from the flipped `combine` (using the
|
|
193
|
+
* default left-to-right fold), not carried over from the original.
|
|
194
|
+
* - Does not mutate the input reducer.
|
|
195
|
+
*
|
|
196
|
+
* **Example** (reversing string concatenation)
|
|
197
|
+
*
|
|
198
|
+
* ```ts
|
|
199
|
+
* import { Reducer, String } from "effect"
|
|
200
|
+
*
|
|
201
|
+
* const Prepend = Reducer.flip(String.ReducerConcat)
|
|
202
|
+
*
|
|
203
|
+
* console.log(Prepend.combine("a", "b"))
|
|
204
|
+
* // Output: "ba"
|
|
205
|
+
*
|
|
206
|
+
* console.log(Prepend.combineAll(["a", "b", "c"]))
|
|
207
|
+
* // Output: "cba"
|
|
208
|
+
* ```
|
|
209
|
+
*
|
|
210
|
+
* @see {@link make}
|
|
211
|
+
* @see {@link Combiner.flip} – the same operation on a plain `Combiner`
|
|
212
|
+
*
|
|
54
213
|
* @since 4.0.0
|
|
55
214
|
*/
|
|
56
215
|
export function flip<A>(reducer: Reducer<A>): Reducer<A> {
|
package/src/References.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* @since 4.0.0
|
|
12
12
|
*/
|
|
13
13
|
import { constTrue, constUndefined } from "./Function.ts"
|
|
14
|
-
import type { LogLevel } from "./LogLevel.ts"
|
|
14
|
+
import type { LogLevel, Severity } from "./LogLevel.ts"
|
|
15
15
|
import type { ReadonlyRecord } from "./Record.ts"
|
|
16
16
|
import { MaxOpsBeforeYield } from "./Scheduler.ts"
|
|
17
17
|
import * as ServiceMap from "./ServiceMap.ts"
|
|
@@ -451,7 +451,7 @@ export const CurrentLogAnnotations = ServiceMap.Reference<ReadonlyRecord<string,
|
|
|
451
451
|
* @category references
|
|
452
452
|
* @since 4.0.0
|
|
453
453
|
*/
|
|
454
|
-
export const CurrentLogLevel: ServiceMap.Reference<
|
|
454
|
+
export const CurrentLogLevel: ServiceMap.Reference<Severity> = ServiceMap.Reference<Severity>(
|
|
455
455
|
"effect/References/CurrentLogLevel",
|
|
456
456
|
{ defaultValue: () => "Info" }
|
|
457
457
|
)
|
|
@@ -516,9 +516,9 @@ export const MinimumLogLevel = ServiceMap.Reference<
|
|
|
516
516
|
* @category references
|
|
517
517
|
* @since 4.0.0
|
|
518
518
|
*/
|
|
519
|
-
export const UnhandledLogLevel: ServiceMap.Reference<
|
|
519
|
+
export const UnhandledLogLevel: ServiceMap.Reference<Severity | undefined> = ServiceMap.Reference(
|
|
520
520
|
"effect/References/UnhandledLogLevel",
|
|
521
|
-
{ defaultValue: ():
|
|
521
|
+
{ defaultValue: (): Severity | undefined => "Error" }
|
|
522
522
|
)
|
|
523
523
|
|
|
524
524
|
/**
|
package/src/Request.ts
CHANGED
|
@@ -88,7 +88,7 @@ export interface Variance<out A, out E, out R> {
|
|
|
88
88
|
* @category models
|
|
89
89
|
*/
|
|
90
90
|
export interface Constructor<R extends Request<any, any, any>, T extends keyof R = never> {
|
|
91
|
-
(args: Omit<R, T | keyof (Variance<any, any, any>)
|
|
91
|
+
(args: Types.VoidIfEmpty<Types.Simplify<Omit<R, T | keyof (Variance<any, any, any>)>>>): R
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
/**
|
|
@@ -285,7 +285,8 @@ export const tagged = <R extends Request<any, any, any> & { _tag: string }>(
|
|
|
285
285
|
tag: R["_tag"]
|
|
286
286
|
): Constructor<R, "_tag"> =>
|
|
287
287
|
(args) => {
|
|
288
|
-
const request = Object.
|
|
288
|
+
const request = Object.create(RequestPrototype)
|
|
289
|
+
if (args) Object.assign(request, args)
|
|
289
290
|
request._tag = tag
|
|
290
291
|
return request
|
|
291
292
|
}
|
package/src/RequestResolver.ts
CHANGED
|
@@ -652,7 +652,7 @@ export const setDelay: {
|
|
|
652
652
|
* @since 4.0.0
|
|
653
653
|
* @category delay
|
|
654
654
|
*/
|
|
655
|
-
(duration: Duration.
|
|
655
|
+
(duration: Duration.Input): <A extends Request.Any>(self: RequestResolver<A>) => RequestResolver<A>
|
|
656
656
|
/**
|
|
657
657
|
* Sets the batch delay window for this request resolver to the specified duration.
|
|
658
658
|
*
|
|
@@ -683,10 +683,10 @@ export const setDelay: {
|
|
|
683
683
|
* @since 4.0.0
|
|
684
684
|
* @category delay
|
|
685
685
|
*/
|
|
686
|
-
<A extends Request.Any>(self: RequestResolver<A>, duration: Duration.
|
|
686
|
+
<A extends Request.Any>(self: RequestResolver<A>, duration: Duration.Input): RequestResolver<A>
|
|
687
687
|
} = dual(
|
|
688
688
|
2,
|
|
689
|
-
<A extends Request.Any>(self: RequestResolver<A>, duration: Duration.
|
|
689
|
+
<A extends Request.Any>(self: RequestResolver<A>, duration: Duration.Input): RequestResolver<A> =>
|
|
690
690
|
makeWith({
|
|
691
691
|
...self,
|
|
692
692
|
delay: Effect.sleep(duration)
|
|
@@ -841,26 +841,6 @@ export const around: {
|
|
|
841
841
|
/**
|
|
842
842
|
* A request resolver that never executes requests.
|
|
843
843
|
*
|
|
844
|
-
* @example
|
|
845
|
-
* ```ts
|
|
846
|
-
* import { Effect, Request, RequestResolver } from "effect"
|
|
847
|
-
*
|
|
848
|
-
* // A resolver that will never complete
|
|
849
|
-
* const neverResolver = RequestResolver.never
|
|
850
|
-
*
|
|
851
|
-
* // For testing timeout behavior with any request type
|
|
852
|
-
* interface TestRequest extends Request.Request<string> {
|
|
853
|
-
* readonly _tag: "TestRequest"
|
|
854
|
-
* }
|
|
855
|
-
* const TestRequest = Request.tagged<TestRequest>("TestRequest")
|
|
856
|
-
*
|
|
857
|
-
* // This will never resolve
|
|
858
|
-
* const neverEffect = Effect.request(TestRequest({}), Effect.succeed(neverResolver) as any)
|
|
859
|
-
*
|
|
860
|
-
* // Useful for testing timeout behavior
|
|
861
|
-
* const timeoutTest = Effect.timeout(neverEffect, "1 second")
|
|
862
|
-
* ```
|
|
863
|
-
*
|
|
864
844
|
* @since 2.0.0
|
|
865
845
|
* @category constructors
|
|
866
846
|
*/
|
|
@@ -1468,7 +1448,7 @@ export const asCache: {
|
|
|
1468
1448
|
>(
|
|
1469
1449
|
options: {
|
|
1470
1450
|
readonly capacity: number
|
|
1471
|
-
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.
|
|
1451
|
+
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.Input) | undefined
|
|
1472
1452
|
readonly requireServicesAt?: ServiceMode | undefined
|
|
1473
1453
|
}
|
|
1474
1454
|
): (self: RequestResolver<A>) => Effect.Effect<
|
|
@@ -1495,7 +1475,7 @@ export const asCache: {
|
|
|
1495
1475
|
self: RequestResolver<A>,
|
|
1496
1476
|
options: {
|
|
1497
1477
|
readonly capacity: number
|
|
1498
|
-
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.
|
|
1478
|
+
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.Input) | undefined
|
|
1499
1479
|
readonly requireServicesAt?: ServiceMode | undefined
|
|
1500
1480
|
}
|
|
1501
1481
|
): Effect.Effect<
|
|
@@ -1513,7 +1493,7 @@ export const asCache: {
|
|
|
1513
1493
|
ServiceMode extends "lookup" | "construction" = never
|
|
1514
1494
|
>(self: RequestResolver<A>, options: {
|
|
1515
1495
|
readonly capacity: number
|
|
1516
|
-
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.
|
|
1496
|
+
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.Input) | undefined
|
|
1517
1497
|
readonly requireServicesAt?: ServiceMode | undefined
|
|
1518
1498
|
}): Effect.Effect<
|
|
1519
1499
|
Cache.Cache<
|
|
@@ -1649,7 +1629,7 @@ export const persisted: {
|
|
|
1649
1629
|
<A extends Request.Request<any, Persistence.PersistenceError | Schema.SchemaError, any> & Persistable.Any>(
|
|
1650
1630
|
options: {
|
|
1651
1631
|
readonly storeId: string
|
|
1652
|
-
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.
|
|
1632
|
+
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.Input) | undefined
|
|
1653
1633
|
readonly staleWhileRevalidate?: ((exit: Request.Result<A>, request: A) => boolean) | undefined
|
|
1654
1634
|
}
|
|
1655
1635
|
): (self: RequestResolver<A>) => Effect.Effect<
|
|
@@ -1667,7 +1647,7 @@ export const persisted: {
|
|
|
1667
1647
|
self: RequestResolver<A>,
|
|
1668
1648
|
options: {
|
|
1669
1649
|
readonly storeId: string
|
|
1670
|
-
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.
|
|
1650
|
+
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.Input) | undefined
|
|
1671
1651
|
readonly staleWhileRevalidate?: ((exit: Request.Result<A>, request: A) => boolean) | undefined
|
|
1672
1652
|
}
|
|
1673
1653
|
): Effect.Effect<
|
|
@@ -1683,7 +1663,7 @@ export const persisted: {
|
|
|
1683
1663
|
self: RequestResolver<A>,
|
|
1684
1664
|
options: {
|
|
1685
1665
|
readonly storeId: string
|
|
1686
|
-
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.
|
|
1666
|
+
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.Input) | undefined
|
|
1687
1667
|
readonly staleWhileRevalidate?: ((exit: Request.Result<A>, request: A) => boolean) | undefined
|
|
1688
1668
|
}
|
|
1689
1669
|
) {
|
package/src/Result.ts
CHANGED
|
@@ -374,6 +374,19 @@ export {
|
|
|
374
374
|
void_ as void
|
|
375
375
|
}
|
|
376
376
|
|
|
377
|
+
/**
|
|
378
|
+
* A pre-built `Result<void>` holding `undefined` as its failure value.
|
|
379
|
+
*
|
|
380
|
+
* - Use when you need a `Result` that represents "failed with no meaningful value"
|
|
381
|
+
* - Equivalent to `Result.fail(undefined)` but avoids an extra allocation
|
|
382
|
+
*
|
|
383
|
+
* @see {@link fail}
|
|
384
|
+
*
|
|
385
|
+
* @category Constructors
|
|
386
|
+
* @since 4.0.0
|
|
387
|
+
*/
|
|
388
|
+
export const failVoid: Result<never, void> = fail(void 0)
|
|
389
|
+
|
|
377
390
|
/**
|
|
378
391
|
* Converts a possibly `null` or `undefined` value into a `Result`.
|
|
379
392
|
*
|