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/dist/Effect.js
CHANGED
|
@@ -215,6 +215,42 @@ export const all = internal.all;
|
|
|
215
215
|
* @category Collecting
|
|
216
216
|
*/
|
|
217
217
|
export const partition = internal.partition;
|
|
218
|
+
/**
|
|
219
|
+
* Applies an effectful function to each element and accumulates all failures.
|
|
220
|
+
*
|
|
221
|
+
* This function always evaluates every element. If at least one effect fails,
|
|
222
|
+
* all failures are returned as a non-empty array and successes are discarded.
|
|
223
|
+
* If all effects succeed, it returns all collected successes.
|
|
224
|
+
*
|
|
225
|
+
* Use `discard: true` to ignore successful values while still validating all
|
|
226
|
+
* elements.
|
|
227
|
+
*
|
|
228
|
+
* @example
|
|
229
|
+
* ```ts
|
|
230
|
+
* import { Effect } from "effect"
|
|
231
|
+
*
|
|
232
|
+
* const program = Effect.validate([0, 1, 2, 3], (n) =>
|
|
233
|
+
* n % 2 === 0 ? Effect.fail(`${n} is even`) : Effect.succeed(n)
|
|
234
|
+
* )
|
|
235
|
+
*
|
|
236
|
+
* Effect.runPromiseExit(program).then(console.log)
|
|
237
|
+
* // {
|
|
238
|
+
* // _id: 'Exit',
|
|
239
|
+
* // _tag: 'Failure',
|
|
240
|
+
* // cause: {
|
|
241
|
+
* // _id: 'Cause',
|
|
242
|
+
* // reasons: [
|
|
243
|
+
* // { _id: 'Reason', _tag: 'Fail', error: '0 is even' },
|
|
244
|
+
* // { _id: 'Reason', _tag: 'Fail', error: '2 is even' }
|
|
245
|
+
* // ]
|
|
246
|
+
* // }
|
|
247
|
+
* // }
|
|
248
|
+
* ```
|
|
249
|
+
*
|
|
250
|
+
* @since 4.0.0
|
|
251
|
+
* @category Error Accumulation
|
|
252
|
+
*/
|
|
253
|
+
export const validate = internal.validate;
|
|
218
254
|
/**
|
|
219
255
|
* Executes an effectful operation for each element in an `Iterable`.
|
|
220
256
|
*
|
|
@@ -690,6 +726,51 @@ export const callback = internal.callback;
|
|
|
690
726
|
* @category Creating Effects
|
|
691
727
|
*/
|
|
692
728
|
export const never = internal.never;
|
|
729
|
+
/**
|
|
730
|
+
* An `Effect` containing an empty record `{}`, used as the starting point for
|
|
731
|
+
* do notation chains.
|
|
732
|
+
*
|
|
733
|
+
* @example
|
|
734
|
+
* ```ts
|
|
735
|
+
* import { Effect } from "effect"
|
|
736
|
+
* import { pipe } from "effect/Function"
|
|
737
|
+
*
|
|
738
|
+
* const program = pipe(
|
|
739
|
+
* Effect.Do,
|
|
740
|
+
* Effect.bind("x", () => Effect.succeed(2)),
|
|
741
|
+
* Effect.bind("y", ({ x }) => Effect.succeed(x + 1)),
|
|
742
|
+
* Effect.let("sum", ({ x, y }) => x + y)
|
|
743
|
+
* )
|
|
744
|
+
* ```
|
|
745
|
+
*
|
|
746
|
+
* @since 4.0.0
|
|
747
|
+
* @category Do notation
|
|
748
|
+
*/
|
|
749
|
+
export const Do = internal.Do;
|
|
750
|
+
/**
|
|
751
|
+
* Gives a name to the success value of an `Effect`, creating a single-key
|
|
752
|
+
* record used in do notation pipelines.
|
|
753
|
+
*
|
|
754
|
+
* @since 4.0.0
|
|
755
|
+
* @category Do notation
|
|
756
|
+
*/
|
|
757
|
+
export const bindTo = internal.bindTo;
|
|
758
|
+
const let_ = internal.let;
|
|
759
|
+
export {
|
|
760
|
+
/**
|
|
761
|
+
* Adds a computed plain value to the do notation record.
|
|
762
|
+
*
|
|
763
|
+
* @since 4.0.0
|
|
764
|
+
* @category Do notation
|
|
765
|
+
*/
|
|
766
|
+
let_ as let };
|
|
767
|
+
/**
|
|
768
|
+
* Adds an `Effect` value to the do notation record under a given name.
|
|
769
|
+
*
|
|
770
|
+
* @since 4.0.0
|
|
771
|
+
* @category Do notation
|
|
772
|
+
*/
|
|
773
|
+
export const bind = internal.bind;
|
|
693
774
|
/**
|
|
694
775
|
* Provides a way to write effectful code using generator functions, simplifying
|
|
695
776
|
* control flow and error handling.
|
|
@@ -1998,15 +2079,14 @@ export const catchCause = internal.catchCause;
|
|
|
1998
2079
|
*/
|
|
1999
2080
|
export const catchDefect = internal.catchDefect;
|
|
2000
2081
|
/**
|
|
2001
|
-
* Recovers from specific errors using a `
|
|
2002
|
-
* `Refinement`.
|
|
2082
|
+
* Recovers from specific errors using a `Predicate` or `Refinement`.
|
|
2003
2083
|
*
|
|
2004
2084
|
* **When to Use**
|
|
2005
2085
|
*
|
|
2006
|
-
* `catchIf` lets you recover from errors that match a condition.
|
|
2007
|
-
* `
|
|
2008
|
-
*
|
|
2009
|
-
*
|
|
2086
|
+
* `catchIf` lets you recover from errors that match a condition. Use a
|
|
2087
|
+
* `Refinement` for type narrowing or a `Predicate` for simple boolean
|
|
2088
|
+
* matching. Non-matching errors re-fail with the original cause. Defects and
|
|
2089
|
+
* interrupts are not caught.
|
|
2010
2090
|
*
|
|
2011
2091
|
* **Previously Known As**
|
|
2012
2092
|
*
|
|
@@ -2033,7 +2113,7 @@ export const catchDefect = internal.catchDefect;
|
|
|
2033
2113
|
*
|
|
2034
2114
|
* // With a Filter
|
|
2035
2115
|
* const recovered2 = program.pipe(
|
|
2036
|
-
* Effect.
|
|
2116
|
+
* Effect.catchFilter(
|
|
2037
2117
|
* Filter.tagged("NotFound"),
|
|
2038
2118
|
* (error) => Effect.succeed(`missing:${error.id}`)
|
|
2039
2119
|
* )
|
|
@@ -2044,6 +2124,13 @@ export const catchDefect = internal.catchDefect;
|
|
|
2044
2124
|
* @category Error Handling
|
|
2045
2125
|
*/
|
|
2046
2126
|
export const catchIf = internal.catchIf;
|
|
2127
|
+
/**
|
|
2128
|
+
* Recovers from specific errors using a `Filter`.
|
|
2129
|
+
*
|
|
2130
|
+
* @since 4.0.0
|
|
2131
|
+
* @category Error Handling
|
|
2132
|
+
*/
|
|
2133
|
+
export const catchFilter = internal.catchFilter;
|
|
2047
2134
|
/**
|
|
2048
2135
|
* Catches `NoSuchElementError` failures and converts them to `Option.none`.
|
|
2049
2136
|
*
|
|
@@ -2110,6 +2197,13 @@ export const catchNoSuchElement = internal.catchNoSuchElement;
|
|
|
2110
2197
|
* @category Error Handling
|
|
2111
2198
|
*/
|
|
2112
2199
|
export const catchCauseIf = internal.catchCauseIf;
|
|
2200
|
+
/**
|
|
2201
|
+
* Recovers from specific failures based on a `Filter`.
|
|
2202
|
+
*
|
|
2203
|
+
* @since 4.0.0
|
|
2204
|
+
* @category Error Handling
|
|
2205
|
+
*/
|
|
2206
|
+
export const catchCauseFilter = internal.catchCauseFilter;
|
|
2113
2207
|
/**
|
|
2114
2208
|
* The `mapError` function is used to transform or modify the error
|
|
2115
2209
|
* produced by an effect, without affecting its success value.
|
|
@@ -2344,6 +2438,13 @@ export const tapCause = internal.tapCause;
|
|
|
2344
2438
|
* @category Sequencing
|
|
2345
2439
|
*/
|
|
2346
2440
|
export const tapCauseIf = internal.tapCauseIf;
|
|
2441
|
+
/**
|
|
2442
|
+
* Conditionally executes a side effect based on the cause of a failed effect.
|
|
2443
|
+
*
|
|
2444
|
+
* @since 4.0.0
|
|
2445
|
+
* @category Sequencing
|
|
2446
|
+
*/
|
|
2447
|
+
export const tapCauseFilter = internal.tapCauseFilter;
|
|
2347
2448
|
/**
|
|
2348
2449
|
* Inspect severe errors or defects (non-recoverable failures) in an effect.
|
|
2349
2450
|
*
|
|
@@ -2666,6 +2767,16 @@ export const ignoreCause = internal.ignoreCause;
|
|
|
2666
2767
|
* @category Fallback
|
|
2667
2768
|
*/
|
|
2668
2769
|
export const withExecutionPlan = internalExecutionPlan.withExecutionPlan;
|
|
2770
|
+
/**
|
|
2771
|
+
* Runs an effect and reports any errors to the configured `ErrorReporter`s.
|
|
2772
|
+
*
|
|
2773
|
+
* If the `defectsOnly` option is set to `true`, only defects (unrecoverable
|
|
2774
|
+
* errors) will be reported, while regular failures will be ignored.
|
|
2775
|
+
*
|
|
2776
|
+
* @since 4.0.0
|
|
2777
|
+
* @category Error Handling
|
|
2778
|
+
*/
|
|
2779
|
+
export const withErrorReporting = internal.withErrorReporting;
|
|
2669
2780
|
// -----------------------------------------------------------------------------
|
|
2670
2781
|
// Fallback
|
|
2671
2782
|
// -----------------------------------------------------------------------------
|
|
@@ -3042,12 +3153,12 @@ export const raceFirst = internal.raceFirst;
|
|
|
3042
3153
|
// Filtering
|
|
3043
3154
|
// -----------------------------------------------------------------------------
|
|
3044
3155
|
/**
|
|
3045
|
-
* Filters elements of an iterable using a predicate, refinement, effectful
|
|
3046
|
-
* predicate
|
|
3156
|
+
* Filters elements of an iterable using a predicate, refinement, or effectful
|
|
3157
|
+
* predicate.
|
|
3047
3158
|
*
|
|
3048
3159
|
* @example
|
|
3049
3160
|
* ```ts
|
|
3050
|
-
* import { Effect
|
|
3161
|
+
* import { Effect } from "effect"
|
|
3051
3162
|
*
|
|
3052
3163
|
* // Sync predicate
|
|
3053
3164
|
* const evens = Effect.filter([1, 2, 3, 4], (n) => n % 2 === 0)
|
|
@@ -3055,16 +3166,27 @@ export const raceFirst = internal.raceFirst;
|
|
|
3055
3166
|
* // Effectful predicate
|
|
3056
3167
|
* const checked = Effect.filter([1, 2, 3], (n) => Effect.succeed(n > 1))
|
|
3057
3168
|
*
|
|
3058
|
-
* //
|
|
3059
|
-
* const mapped = Effect.filter([1, 2, 3, 4], (n) =>
|
|
3060
|
-
* Effect.succeed(n % 2 === 0 ? Result.succeed(n * 2) : Result.fail(n))
|
|
3061
|
-
* )
|
|
3169
|
+
* // Use Effect.filterMapEffect for effectful Filter.Filter callbacks
|
|
3062
3170
|
* ```
|
|
3063
3171
|
*
|
|
3064
3172
|
* @since 2.0.0
|
|
3065
3173
|
* @category Filtering
|
|
3066
3174
|
*/
|
|
3067
3175
|
export const filter = internal.filter;
|
|
3176
|
+
/**
|
|
3177
|
+
* Filters and maps elements of an iterable with a `Filter`.
|
|
3178
|
+
*
|
|
3179
|
+
* @since 4.0.0
|
|
3180
|
+
* @category Filtering
|
|
3181
|
+
*/
|
|
3182
|
+
export const filterMap = internal.filterMap;
|
|
3183
|
+
/**
|
|
3184
|
+
* Effectfully filters and maps elements of an iterable with a `FilterEffect`.
|
|
3185
|
+
*
|
|
3186
|
+
* @since 4.0.0
|
|
3187
|
+
* @category Filtering
|
|
3188
|
+
*/
|
|
3189
|
+
export const filterMapEffect = internal.filterMapEffect;
|
|
3068
3190
|
/**
|
|
3069
3191
|
* Filters an effect, providing an alternative effect if the predicate fails.
|
|
3070
3192
|
*
|
|
@@ -3096,6 +3218,13 @@ export const filter = internal.filter;
|
|
|
3096
3218
|
* @category Filtering
|
|
3097
3219
|
*/
|
|
3098
3220
|
export const filterOrElse = internal.filterOrElse;
|
|
3221
|
+
/**
|
|
3222
|
+
* Filters an effect with a `Filter`, providing an alternative effect on failure.
|
|
3223
|
+
*
|
|
3224
|
+
* @since 4.0.0
|
|
3225
|
+
* @category Filtering
|
|
3226
|
+
*/
|
|
3227
|
+
export const filterMapOrElse = internal.filterMapOrElse;
|
|
3099
3228
|
/**
|
|
3100
3229
|
* Filters an effect, failing with a custom error if the predicate fails.
|
|
3101
3230
|
*
|
|
@@ -3126,6 +3255,13 @@ export const filterOrElse = internal.filterOrElse;
|
|
|
3126
3255
|
* @category Filtering
|
|
3127
3256
|
*/
|
|
3128
3257
|
export const filterOrFail = internal.filterOrFail;
|
|
3258
|
+
/**
|
|
3259
|
+
* Filters an effect with a `Filter`, failing when the filter fails.
|
|
3260
|
+
*
|
|
3261
|
+
* @since 4.0.0
|
|
3262
|
+
* @category Filtering
|
|
3263
|
+
*/
|
|
3264
|
+
export const filterMapOrFail = internal.filterMapOrFail;
|
|
3129
3265
|
// -----------------------------------------------------------------------------
|
|
3130
3266
|
// Conditional Operators
|
|
3131
3267
|
// -----------------------------------------------------------------------------
|
|
@@ -4266,7 +4402,7 @@ export const ensuring = internal.ensuring;
|
|
|
4266
4402
|
export const onError = internal.onError;
|
|
4267
4403
|
/**
|
|
4268
4404
|
* Runs the finalizer only when this effect fails and the `Cause` matches the
|
|
4269
|
-
*
|
|
4405
|
+
* provided predicate.
|
|
4270
4406
|
*
|
|
4271
4407
|
* @example
|
|
4272
4408
|
* ```ts
|
|
@@ -4288,6 +4424,13 @@ export const onError = internal.onError;
|
|
|
4288
4424
|
* @category Resource Management & Finalization
|
|
4289
4425
|
*/
|
|
4290
4426
|
export const onErrorIf = internal.onErrorIf;
|
|
4427
|
+
/**
|
|
4428
|
+
* Runs the finalizer only when this effect fails and the cause matches the provided `Filter`.
|
|
4429
|
+
*
|
|
4430
|
+
* @since 4.0.0
|
|
4431
|
+
* @category Resource Management & Finalization
|
|
4432
|
+
*/
|
|
4433
|
+
export const onErrorFilter = internal.onErrorFilter;
|
|
4291
4434
|
/**
|
|
4292
4435
|
* The low level primitive that powers `onExit`.
|
|
4293
4436
|
* function is used to run a finalizer when the effect exits, regardless of the
|
|
@@ -4325,20 +4468,20 @@ export const onExitPrimitive = internal.onExitPrimitive;
|
|
|
4325
4468
|
*/
|
|
4326
4469
|
export const onExit = internal.onExit;
|
|
4327
4470
|
/**
|
|
4328
|
-
* Runs the cleanup effect only when the `Exit`
|
|
4329
|
-
*
|
|
4330
|
-
* The cleanup is skipped when the filter returns `Filter.fail`.
|
|
4471
|
+
* Runs the cleanup effect only when the `Exit` satisfies the provided
|
|
4472
|
+
* predicate.
|
|
4331
4473
|
*
|
|
4332
4474
|
* @example
|
|
4333
4475
|
* ```ts
|
|
4334
|
-
* import { Console, Effect, Exit
|
|
4335
|
-
*
|
|
4336
|
-
* const exitFilter = Filter.fromPredicate(Exit.isSuccess<number, never>)
|
|
4476
|
+
* import { Console, Effect, Exit } from "effect"
|
|
4337
4477
|
*
|
|
4338
4478
|
* const program = Effect.onExitIf(
|
|
4339
4479
|
* Effect.succeed(42),
|
|
4340
|
-
*
|
|
4341
|
-
* (
|
|
4480
|
+
* Exit.isSuccess,
|
|
4481
|
+
* (exit) =>
|
|
4482
|
+
* Exit.isSuccess(exit)
|
|
4483
|
+
* ? Console.log(`Succeeded with: ${exit.value}`)
|
|
4484
|
+
* : Effect.void
|
|
4342
4485
|
* )
|
|
4343
4486
|
* ```
|
|
4344
4487
|
*
|
|
@@ -4346,6 +4489,13 @@ export const onExit = internal.onExit;
|
|
|
4346
4489
|
* @category Resource Management & Finalization
|
|
4347
4490
|
*/
|
|
4348
4491
|
export const onExitIf = internal.onExitIf;
|
|
4492
|
+
/**
|
|
4493
|
+
* Runs the cleanup effect only when the `Exit` matches the provided `Filter`.
|
|
4494
|
+
*
|
|
4495
|
+
* @since 4.0.0
|
|
4496
|
+
* @category Resource Management & Finalization
|
|
4497
|
+
*/
|
|
4498
|
+
export const onExitFilter = internal.onExitFilter;
|
|
4349
4499
|
// -----------------------------------------------------------------------------
|
|
4350
4500
|
// Caching
|
|
4351
4501
|
// -----------------------------------------------------------------------------
|
|
@@ -4702,124 +4852,6 @@ export const uninterruptibleMask = internal.uninterruptibleMask;
|
|
|
4702
4852
|
* @category Interruption
|
|
4703
4853
|
*/
|
|
4704
4854
|
export const interruptibleMask = internal.interruptibleMask;
|
|
4705
|
-
/**
|
|
4706
|
-
* Unsafely creates a new Semaphore.
|
|
4707
|
-
*
|
|
4708
|
-
* @example
|
|
4709
|
-
* ```ts
|
|
4710
|
-
* import { Effect } from "effect"
|
|
4711
|
-
*
|
|
4712
|
-
* const semaphore = Effect.makeSemaphoreUnsafe(3)
|
|
4713
|
-
*
|
|
4714
|
-
* const task = (id: number) =>
|
|
4715
|
-
* semaphore.withPermits(1)(
|
|
4716
|
-
* Effect.gen(function*() {
|
|
4717
|
-
* yield* Effect.log(`Task ${id} started`)
|
|
4718
|
-
* yield* Effect.sleep("1 second")
|
|
4719
|
-
* yield* Effect.log(`Task ${id} completed`)
|
|
4720
|
-
* })
|
|
4721
|
-
* )
|
|
4722
|
-
*
|
|
4723
|
-
* // Only 3 tasks can run concurrently
|
|
4724
|
-
* const program = Effect.all([
|
|
4725
|
-
* task(1),
|
|
4726
|
-
* task(2),
|
|
4727
|
-
* task(3),
|
|
4728
|
-
* task(4),
|
|
4729
|
-
* task(5)
|
|
4730
|
-
* ], { concurrency: "unbounded" })
|
|
4731
|
-
* ```
|
|
4732
|
-
*
|
|
4733
|
-
* @since 2.0.0
|
|
4734
|
-
* @category Semaphore
|
|
4735
|
-
*/
|
|
4736
|
-
export const makeSemaphoreUnsafe = internal.makeSemaphoreUnsafe;
|
|
4737
|
-
/**
|
|
4738
|
-
* Creates a new Semaphore.
|
|
4739
|
-
*
|
|
4740
|
-
* @example
|
|
4741
|
-
* ```ts
|
|
4742
|
-
* import { Effect } from "effect"
|
|
4743
|
-
*
|
|
4744
|
-
* const program = Effect.gen(function*() {
|
|
4745
|
-
* const semaphore = yield* Effect.makeSemaphore(2)
|
|
4746
|
-
*
|
|
4747
|
-
* const task = (id: number) =>
|
|
4748
|
-
* semaphore.withPermits(1)(
|
|
4749
|
-
* Effect.gen(function*() {
|
|
4750
|
-
* yield* Effect.log(`Task ${id} acquired permit`)
|
|
4751
|
-
* yield* Effect.sleep("1 second")
|
|
4752
|
-
* yield* Effect.log(`Task ${id} releasing permit`)
|
|
4753
|
-
* })
|
|
4754
|
-
* )
|
|
4755
|
-
*
|
|
4756
|
-
* // Run 4 tasks, but only 2 can run concurrently
|
|
4757
|
-
* yield* Effect.all([task(1), task(2), task(3), task(4)])
|
|
4758
|
-
* })
|
|
4759
|
-
* ```
|
|
4760
|
-
*
|
|
4761
|
-
* @since 2.0.0
|
|
4762
|
-
* @category Semaphore
|
|
4763
|
-
*/
|
|
4764
|
-
export const makeSemaphore = internal.makeSemaphore;
|
|
4765
|
-
/**
|
|
4766
|
-
* Creates a new Latch.
|
|
4767
|
-
*
|
|
4768
|
-
* @example
|
|
4769
|
-
* ```ts
|
|
4770
|
-
* import { Effect } from "effect"
|
|
4771
|
-
*
|
|
4772
|
-
* const latch = Effect.makeLatchUnsafe(false)
|
|
4773
|
-
*
|
|
4774
|
-
* const waiter = Effect.gen(function*() {
|
|
4775
|
-
* yield* Effect.log("Waiting for latch to open...")
|
|
4776
|
-
* yield* latch.await
|
|
4777
|
-
* yield* Effect.log("Latch opened! Continuing...")
|
|
4778
|
-
* })
|
|
4779
|
-
*
|
|
4780
|
-
* const opener = Effect.gen(function*() {
|
|
4781
|
-
* yield* Effect.sleep("2 seconds")
|
|
4782
|
-
* yield* Effect.log("Opening latch...")
|
|
4783
|
-
* yield* latch.open
|
|
4784
|
-
* })
|
|
4785
|
-
*
|
|
4786
|
-
* const program = Effect.all([waiter, opener])
|
|
4787
|
-
* ```
|
|
4788
|
-
*
|
|
4789
|
-
* @category Latch
|
|
4790
|
-
* @since 3.8.0
|
|
4791
|
-
*/
|
|
4792
|
-
export const makeLatchUnsafe = internal.makeLatchUnsafe;
|
|
4793
|
-
/**
|
|
4794
|
-
* Creates a new Latch.
|
|
4795
|
-
*
|
|
4796
|
-
* @example
|
|
4797
|
-
* ```ts
|
|
4798
|
-
* import { Effect } from "effect"
|
|
4799
|
-
*
|
|
4800
|
-
* const program = Effect.gen(function*() {
|
|
4801
|
-
* const latch = yield* Effect.makeLatch(false)
|
|
4802
|
-
*
|
|
4803
|
-
* const waiter = Effect.gen(function*() {
|
|
4804
|
-
* yield* Effect.log("Waiting for latch to open...")
|
|
4805
|
-
* yield* latch.await
|
|
4806
|
-
* yield* Effect.log("Latch opened! Continuing...")
|
|
4807
|
-
* })
|
|
4808
|
-
*
|
|
4809
|
-
* const opener = Effect.gen(function*() {
|
|
4810
|
-
* yield* Effect.sleep("2 seconds")
|
|
4811
|
-
* yield* Effect.log("Opening latch...")
|
|
4812
|
-
* yield* latch.open
|
|
4813
|
-
* })
|
|
4814
|
-
*
|
|
4815
|
-
* yield* Effect.all([waiter, opener])
|
|
4816
|
-
* })
|
|
4817
|
-
* ```
|
|
4818
|
-
*
|
|
4819
|
-
* @category Latch
|
|
4820
|
-
* @since 3.8.0
|
|
4821
|
-
*/
|
|
4822
|
-
export const makeLatch = internal.makeLatch;
|
|
4823
4855
|
/**
|
|
4824
4856
|
* Repeats this effect forever (until the first error).
|
|
4825
4857
|
*
|
|
@@ -6579,6 +6611,32 @@ export const annotateLogs = /*#__PURE__*/dual(args => core.isEffect(args[0]), (e
|
|
|
6579
6611
|
}
|
|
6580
6612
|
return newAnnotations;
|
|
6581
6613
|
}));
|
|
6614
|
+
/**
|
|
6615
|
+
* Adds log annotations to the current scope.
|
|
6616
|
+
*
|
|
6617
|
+
* This differs from `annotateLogs`, which only annotates a specific effect.
|
|
6618
|
+
* `annotateLogsScoped` updates annotations for the entire current `Scope` and
|
|
6619
|
+
* restores the previous annotations when the scope closes.
|
|
6620
|
+
*
|
|
6621
|
+
* @example
|
|
6622
|
+
* ```ts
|
|
6623
|
+
* import { Effect } from "effect"
|
|
6624
|
+
*
|
|
6625
|
+
* const program = Effect.scoped(
|
|
6626
|
+
* Effect.gen(function*() {
|
|
6627
|
+
* yield* Effect.log("before")
|
|
6628
|
+
* yield* Effect.annotateLogsScoped({ requestId: "req-123" })
|
|
6629
|
+
* yield* Effect.log("inside scope")
|
|
6630
|
+
* })
|
|
6631
|
+
* )
|
|
6632
|
+
*
|
|
6633
|
+
* Effect.runPromise(program)
|
|
6634
|
+
* ```
|
|
6635
|
+
*
|
|
6636
|
+
* @since 4.0.0
|
|
6637
|
+
* @category Logging
|
|
6638
|
+
*/
|
|
6639
|
+
export const annotateLogsScoped = internal.annotateLogsScoped;
|
|
6582
6640
|
/**
|
|
6583
6641
|
* Adds a span to each log line in this effect.
|
|
6584
6642
|
*
|
|
@@ -6866,7 +6924,7 @@ export const trackDuration = /*#__PURE__*/dual(args => isEffect(args[0]), (self,
|
|
|
6866
6924
|
const startTime = clock.currentTimeNanosUnsafe();
|
|
6867
6925
|
return onExit(self, () => {
|
|
6868
6926
|
const endTime = clock.currentTimeNanosUnsafe();
|
|
6869
|
-
const duration = Duration.subtract(Duration.
|
|
6927
|
+
const duration = Duration.subtract(Duration.fromInputUnsafe(endTime), Duration.fromInputUnsafe(startTime));
|
|
6870
6928
|
const input = f === undefined ? duration : internalCall(() => f(duration));
|
|
6871
6929
|
return Metric.update(metric, input);
|
|
6872
6930
|
});
|
|
@@ -6897,125 +6955,63 @@ export const trackDuration = /*#__PURE__*/dual(args => isEffect(args[0]), (self,
|
|
|
6897
6955
|
*/
|
|
6898
6956
|
export class Transaction extends /*#__PURE__*/ServiceMap.Service()("effect/Effect/Transaction") {}
|
|
6899
6957
|
/**
|
|
6900
|
-
*
|
|
6901
|
-
* transactional values (i.e. TxRef) that occur within the transaction body.
|
|
6902
|
-
*
|
|
6903
|
-
* In Effect transactions are optimistic with retry, that means transactions are retried when:
|
|
6904
|
-
*
|
|
6905
|
-
* - the body of the transaction explicitely calls to `Effect.retryTransaction` and any of the
|
|
6906
|
-
* accessed transactional values changes.
|
|
6958
|
+
* Accesses the current transaction state within an active transaction.
|
|
6907
6959
|
*
|
|
6908
|
-
*
|
|
6909
|
-
*
|
|
6910
|
-
*
|
|
6911
|
-
* - parent transaction retry, if you have a transaction within another transaction and
|
|
6912
|
-
* the parent retries the child will also retry together with the parent.
|
|
6960
|
+
* This function requires `Transaction` in the context and does NOT create or strip
|
|
6961
|
+
* transaction boundaries. Use it to interact with the transaction journal (e.g. in
|
|
6962
|
+
* `TxRef` internals). To define a transaction boundary, use {@link transaction}.
|
|
6913
6963
|
*
|
|
6914
6964
|
* @example
|
|
6915
6965
|
* ```ts
|
|
6916
6966
|
* import { Effect, TxRef } from "effect"
|
|
6917
6967
|
*
|
|
6918
6968
|
* const program = Effect.gen(function*() {
|
|
6919
|
-
* const
|
|
6920
|
-
* const ref2 = yield* TxRef.make(0)
|
|
6921
|
-
*
|
|
6922
|
-
* // All operations within atomic block succeed or fail together
|
|
6923
|
-
* yield* Effect.atomic(Effect.gen(function*() {
|
|
6924
|
-
* yield* TxRef.set(ref1, 10)
|
|
6925
|
-
* yield* TxRef.set(ref2, 20)
|
|
6926
|
-
* const sum = (yield* TxRef.get(ref1)) + (yield* TxRef.get(ref2))
|
|
6927
|
-
* console.log(`Transaction sum: ${sum}`)
|
|
6928
|
-
* }))
|
|
6929
|
-
*
|
|
6930
|
-
* console.log(`Final ref1: ${yield* TxRef.get(ref1)}`) // 10
|
|
6931
|
-
* console.log(`Final ref2: ${yield* TxRef.get(ref2)}`) // 20
|
|
6932
|
-
* })
|
|
6933
|
-
* ```
|
|
6934
|
-
*
|
|
6935
|
-
* @since 4.0.0
|
|
6936
|
-
* @category Transactions
|
|
6937
|
-
*/
|
|
6938
|
-
export const atomic = effect => atomicWith(() => effect);
|
|
6939
|
-
/**
|
|
6940
|
-
* Executes a function within a transaction context, providing access to the transaction state.
|
|
6941
|
-
*
|
|
6942
|
-
* @example
|
|
6943
|
-
* ```ts
|
|
6944
|
-
* import { Effect, TxRef } from "effect"
|
|
6945
|
-
*
|
|
6946
|
-
* const program = Effect.atomicWith((txState) =>
|
|
6947
|
-
* Effect.gen(function*() {
|
|
6948
|
-
* const ref = yield* TxRef.make(0)
|
|
6949
|
-
*
|
|
6950
|
-
* // Access transaction state for debugging
|
|
6951
|
-
* console.log(`Journal size: ${txState.journal.size}`)
|
|
6952
|
-
* console.log(`Retry flag: ${txState.retry}`)
|
|
6969
|
+
* const ref = yield* Effect.transaction(TxRef.make(0))
|
|
6953
6970
|
*
|
|
6971
|
+
* yield* Effect.transaction(Effect.gen(function*() {
|
|
6954
6972
|
* yield* TxRef.set(ref, 42)
|
|
6955
6973
|
* return yield* TxRef.get(ref)
|
|
6956
|
-
* })
|
|
6957
|
-
* )
|
|
6958
|
-
*
|
|
6959
|
-
* Effect.runPromise(program).then(console.log) // 42
|
|
6974
|
+
* }))
|
|
6975
|
+
* })
|
|
6960
6976
|
* ```
|
|
6961
6977
|
*
|
|
6962
6978
|
* @since 4.0.0
|
|
6963
6979
|
* @category Transactions
|
|
6964
6980
|
*/
|
|
6965
|
-
export const
|
|
6966
|
-
// Check if transaction already exists and reuse it (composing behavior)
|
|
6967
|
-
if (fiber.services.mapUnsafe.has(Transaction.key)) {
|
|
6968
|
-
return internalCall(() => f(ServiceMap.getUnsafe(fiber.services, Transaction)));
|
|
6969
|
-
}
|
|
6970
|
-
// No existing transaction, create isolated one using transactionWith
|
|
6971
|
-
return transactionWith(f);
|
|
6972
|
-
});
|
|
6981
|
+
export const withTxState = f => flatMap(Transaction.asEffect(), state => internalCall(() => f(state)));
|
|
6973
6982
|
/**
|
|
6974
|
-
*
|
|
6983
|
+
* Defines a transaction boundary. Transactions are "all or nothing" with respect to changes
|
|
6984
|
+
* made to transactional values (i.e. TxRef) that occur within the transaction body.
|
|
6975
6985
|
*
|
|
6976
|
-
*
|
|
6986
|
+
* In Effect transactions are optimistic with retry, that means transactions are retried when:
|
|
6977
6987
|
*
|
|
6978
|
-
*
|
|
6979
|
-
*
|
|
6980
|
-
* This ensures complete isolation between different transaction scopes.
|
|
6988
|
+
* - the body of the transaction explicitely calls to `Effect.retryTransaction` and any of the
|
|
6989
|
+
* accessed transactional values changes.
|
|
6981
6990
|
*
|
|
6982
|
-
*
|
|
6983
|
-
*
|
|
6984
|
-
* - Parent transaction failures don't affect isolated transactions
|
|
6985
|
-
* - Isolated transaction failures don't affect parent transactions
|
|
6986
|
-
* - Each transaction has its own journal and retry logic
|
|
6991
|
+
* - any of the accessed transactional values change during the execution of the transaction
|
|
6992
|
+
* due to a different transaction committing before the current.
|
|
6987
6993
|
*
|
|
6988
|
-
*
|
|
6989
|
-
*
|
|
6990
|
-
* - For implementing independent operations that shouldn't be affected by outer transactions
|
|
6991
|
-
* - When building transaction-based systems where isolation is critical
|
|
6994
|
+
* Each call to `transaction` always creates a new isolated transaction boundary with its own
|
|
6995
|
+
* journal and retry logic.
|
|
6992
6996
|
*
|
|
6993
6997
|
* @example
|
|
6994
6998
|
* ```ts
|
|
6995
6999
|
* import { Effect, TxRef } from "effect"
|
|
6996
7000
|
*
|
|
6997
7001
|
* const program = Effect.gen(function*() {
|
|
6998
|
-
* const ref1 = yield* TxRef.make(0)
|
|
6999
|
-
* const ref2 = yield* TxRef.make(
|
|
7002
|
+
* const ref1 = yield* Effect.transaction(TxRef.make(0))
|
|
7003
|
+
* const ref2 = yield* Effect.transaction(TxRef.make(0))
|
|
7000
7004
|
*
|
|
7001
|
-
* //
|
|
7002
|
-
* yield* Effect.atomic(Effect.gen(function*() {
|
|
7003
|
-
* yield* TxRef.set(ref1, 10)
|
|
7004
|
-
*
|
|
7005
|
-
* // This atomic operation composes with the parent
|
|
7006
|
-
* yield* Effect.atomic(Effect.gen(function*() {
|
|
7007
|
-
* yield* TxRef.set(ref1, 20) // Part of same transaction
|
|
7008
|
-
* }))
|
|
7009
|
-
* }))
|
|
7010
|
-
*
|
|
7011
|
-
* // Isolated transaction - ref2 will be in its own transaction
|
|
7005
|
+
* // All operations within transaction block succeed or fail together
|
|
7012
7006
|
* yield* Effect.transaction(Effect.gen(function*() {
|
|
7013
|
-
* yield* TxRef.set(
|
|
7007
|
+
* yield* TxRef.set(ref1, 10)
|
|
7008
|
+
* yield* TxRef.set(ref2, 20)
|
|
7009
|
+
* const sum = (yield* TxRef.get(ref1)) + (yield* TxRef.get(ref2))
|
|
7010
|
+
* console.log(`Transaction sum: ${sum}`)
|
|
7014
7011
|
* }))
|
|
7015
7012
|
*
|
|
7016
|
-
*
|
|
7017
|
-
*
|
|
7018
|
-
* return { ref1: val1, ref2: val2 }
|
|
7013
|
+
* console.log(`Final ref1: ${yield* Effect.transaction(TxRef.get(ref1))}`) // 10
|
|
7014
|
+
* console.log(`Final ref2: ${yield* Effect.transaction(TxRef.get(ref2))}`) // 20
|
|
7019
7015
|
* })
|
|
7020
7016
|
* ```
|
|
7021
7017
|
*
|
|
@@ -7024,34 +7020,21 @@ export const atomicWith = f => withFiber(fiber => {
|
|
|
7024
7020
|
*/
|
|
7025
7021
|
export const transaction = effect => transactionWith(() => effect);
|
|
7026
7022
|
/**
|
|
7027
|
-
*
|
|
7023
|
+
* Like {@link transaction} but provides access to the transaction state.
|
|
7028
7024
|
*
|
|
7029
|
-
*
|
|
7030
|
-
* within another transaction. This ensures complete isolation between transaction scopes.
|
|
7025
|
+
* Always creates a new isolated transaction boundary with its own journal and retry logic.
|
|
7031
7026
|
*
|
|
7032
7027
|
* @example
|
|
7033
7028
|
* ```ts
|
|
7034
7029
|
* import { Effect, TxRef } from "effect"
|
|
7035
7030
|
*
|
|
7036
|
-
* const program = Effect.transactionWith((
|
|
7031
|
+
* const program = Effect.transactionWith((_txState) =>
|
|
7037
7032
|
* Effect.gen(function*() {
|
|
7038
7033
|
* const ref = yield* TxRef.make(0)
|
|
7039
|
-
*
|
|
7040
|
-
* // This transaction is isolated - it has its own journal
|
|
7041
|
-
* // txState.journal is independent of any parent transaction
|
|
7042
|
-
*
|
|
7043
7034
|
* yield* TxRef.set(ref, 42)
|
|
7044
7035
|
* return yield* TxRef.get(ref)
|
|
7045
7036
|
* })
|
|
7046
7037
|
* )
|
|
7047
|
-
*
|
|
7048
|
-
* // Even when nested in another atomic block, this transaction is isolated
|
|
7049
|
-
* const nestedProgram = Effect.atomic(
|
|
7050
|
-
* Effect.gen(function*() {
|
|
7051
|
-
* const result = yield* program // Runs in its own isolated transaction
|
|
7052
|
-
* return result
|
|
7053
|
-
* })
|
|
7054
|
-
* )
|
|
7055
7038
|
* ```
|
|
7056
7039
|
*
|
|
7057
7040
|
* @since 4.0.0
|
|
@@ -7146,16 +7129,16 @@ function clearTransaction(state) {
|
|
|
7146
7129
|
*
|
|
7147
7130
|
* const program = Effect.gen(function*() {
|
|
7148
7131
|
* // create a transactional reference
|
|
7149
|
-
* const ref = yield* TxRef.make(0)
|
|
7132
|
+
* const ref = yield* Effect.transaction(TxRef.make(0))
|
|
7150
7133
|
*
|
|
7151
7134
|
* // forks a fiber that increases the value of `ref` every 100 millis
|
|
7152
7135
|
* yield* Effect.forkChild(Effect.forever(
|
|
7153
7136
|
* // update to transactional value
|
|
7154
|
-
* TxRef.update(ref, (n) => n + 1).pipe(Effect.delay("100 millis"))
|
|
7137
|
+
* Effect.transaction(TxRef.update(ref, (n) => n + 1)).pipe(Effect.delay("100 millis"))
|
|
7155
7138
|
* ))
|
|
7156
7139
|
*
|
|
7157
7140
|
* // the following will retry 10 times until the `ref` value is 10
|
|
7158
|
-
* yield* Effect.
|
|
7141
|
+
* yield* Effect.transaction(Effect.gen(function*() {
|
|
7159
7142
|
* const value = yield* TxRef.get(ref)
|
|
7160
7143
|
* if (value < 10) {
|
|
7161
7144
|
* yield* Effect.log(`retry due to value: ${value}`)
|