effect 4.0.0-beta.43 → 4.0.0-beta.44
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/Cache.d.ts +12 -43
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +15 -42
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +21 -21
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +89 -10
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +42 -19
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +86 -46
- package/dist/Channel.js.map +1 -1
- package/dist/Clock.d.ts +2 -2
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js.map +1 -1
- package/dist/Config.d.ts +2 -2
- package/dist/ConfigProvider.d.ts +5 -5
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +5 -5
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +2 -2
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +1150 -0
- package/dist/Context.d.ts.map +1 -0
- package/dist/{ServiceMap.js → Context.js} +139 -139
- package/dist/Context.js.map +1 -0
- package/dist/DateTime.d.ts +2 -2
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +2 -2
- package/dist/DateTime.js.map +1 -1
- package/dist/Effect.d.ts +177 -177
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +81 -81
- package/dist/Effect.js.map +1 -1
- package/dist/ErrorReporter.d.ts +3 -3
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +1 -1
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +6 -6
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +4 -4
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Fiber.d.ts +7 -7
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +2 -2
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +4 -4
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +2 -2
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +4 -4
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +2 -2
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +4 -4
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +3 -3
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +3 -3
- package/dist/FileSystem.js.map +1 -1
- package/dist/Layer.d.ts +286 -268
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +133 -134
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +18 -18
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +18 -15
- package/dist/LayerMap.js.map +1 -1
- package/dist/Logger.d.ts +3 -3
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +6 -6
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +18 -21
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Metric.d.ts +19 -19
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +21 -21
- package/dist/Metric.js.map +1 -1
- package/dist/Path.d.ts +2 -2
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +2 -2
- package/dist/Path.js.map +1 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +4 -4
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +3 -3
- package/dist/PubSub.js.map +1 -1
- package/dist/Random.d.ts +2 -2
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +0 -23
- 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 +12 -12
- package/dist/RcMap.js.map +1 -1
- package/dist/Redactable.d.ts +139 -62
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +59 -55
- package/dist/Redactable.js.map +1 -1
- package/dist/References.d.ts +26 -14
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +0 -12
- package/dist/References.js.map +1 -1
- package/dist/Request.d.ts +5 -5
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +6 -7
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.d.ts +0 -3
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +3 -3
- package/dist/Resource.js.map +1 -1
- package/dist/Schedule.d.ts +2 -2
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +2 -2
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +4 -4
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +7 -4
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +531 -214
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +304 -103
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +5 -15
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +49 -5
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +64 -5
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +145 -0
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +146 -0
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +2 -2
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +4 -4
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Sink.d.ts +6 -6
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +1 -1
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +2 -2
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +2 -2
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +187 -117
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +133 -57
- package/dist/Stream.js.map +1 -1
- package/dist/Terminal.d.ts +3 -3
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +2 -2
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +16 -16
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +11 -8
- package/dist/Tracer.js.map +1 -1
- package/dist/Unify.d.ts +8 -2
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js.map +1 -1
- package/dist/index.d.ts +81 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +81 -15
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/effect.js +74 -74
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/layer.js +3 -3
- package/dist/internal/layer.js.map +1 -1
- package/dist/internal/random.js +2 -2
- package/dist/internal/random.js.map +1 -1
- package/dist/internal/rcRef.js +9 -9
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/references.js +13 -13
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/request.js +6 -6
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schedule.js +1 -1
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/representation.js +11 -1
- package/dist/internal/schema/representation.js.map +1 -1
- package/dist/internal/schema/schema.d.ts +10 -1
- package/dist/internal/schema/schema.d.ts.map +1 -1
- package/dist/internal/schema/schema.js +21 -1
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +3 -3
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +19 -19
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +2 -1
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +4 -4
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +3 -3
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +6 -6
- package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.js +3 -3
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/IdGenerator.d.ts +2 -2
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +2 -2
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +2 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +2 -2
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +54 -54
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +15 -8
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +22 -22
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +25 -25
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +3 -3
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +5 -5
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +6 -9
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +1 -1
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +6 -7
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.d.ts +2 -2
- package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.js +2 -2
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts +35 -2
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +2 -2
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +2 -2
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +2 -2
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +16 -16
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +41 -13
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +3 -3
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +10 -10
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +2 -3
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +29 -8
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +8 -1
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +2 -2
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +2 -2
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +14 -14
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +11 -10
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +2 -3
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +2 -2
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/unstable/cli/GlobalFlag.js +2 -2
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +8 -8
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +30 -2
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +17 -7
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Prompt.js +8 -2
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +5 -5
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +3 -3
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/parser.js +94 -15
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.d.ts +7 -7
- package/dist/unstable/cluster/ClusterSchema.d.ts +12 -9
- package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.js +9 -9
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +13 -14
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +8 -8
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +12 -12
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.d.ts +2 -2
- package/dist/unstable/cluster/EntityProxy.js +3 -3
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js +4 -4
- package/dist/unstable/cluster/EntityProxyServer.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/EntityResource.js +2 -2
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +3 -3
- package/dist/unstable/cluster/HttpRunner.js +2 -2
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +4 -4
- package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +2 -2
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +7 -4
- package/dist/unstable/cluster/Message.d.ts.map +1 -1
- package/dist/unstable/cluster/Message.js +5 -5
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +14 -14
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +8 -8
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +2 -2
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +5 -5
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +2 -2
- package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +2 -2
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +1 -1
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +12 -12
- package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.js +3 -3
- package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +3 -3
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +7 -7
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.d.ts +35 -49
- package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardId.js +65 -67
- package/dist/unstable/cluster/ShardId.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 +21 -21
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +2 -2
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +5 -5
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts +2 -2
- package/dist/unstable/cluster/Snowflake.d.ts +2 -2
- package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
- package/dist/unstable/cluster/Snowflake.js +2 -2
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +15 -14
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -2
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceMap.js +3 -3
- package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts +2 -2
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +5 -5
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +4 -4
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +2 -2
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +5 -5
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +18 -18
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +2 -2
- package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +2 -2
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -12
- package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js +2 -2
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +3 -3
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +2 -2
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +2 -2
- package/dist/unstable/http/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Etag.js +2 -2
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts +6 -3
- package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js +5 -5
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +5 -2
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +3 -3
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +8 -6
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +6 -6
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +2 -2
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +4 -4
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +6 -6
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +24 -24
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts +2 -2
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js +2 -2
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +3 -3
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +26 -14
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +2 -2
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +2 -2
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +7 -7
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +29 -29
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +2 -2
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.js +2 -2
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +3 -3
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +3 -3
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +6 -6
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +2 -2
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +6 -6
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +6 -6
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +7 -7
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.d.ts +9 -9
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +8 -8
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +0 -3
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +20 -20
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +7 -7
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +4 -4
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +8 -8
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js +4 -4
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +6 -6
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +5 -5
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +9 -6
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js +6 -6
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +15 -15
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +23 -23
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +5 -5
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +1 -1
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.d.ts +2 -2
- package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.js +2 -2
- package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +3 -3
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +4 -33
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +23 -2
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +144 -2
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +1 -2
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +10 -11
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +4 -4
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +3 -3
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +4 -4
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +3 -3
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +6 -6
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +3 -3
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +3 -3
- package/dist/unstable/persistence/Redis.d.ts.map +1 -1
- package/dist/unstable/persistence/Redis.js +2 -2
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -2
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +2 -2
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +36 -36
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +9 -9
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +3 -3
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +2 -2
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +2 -2
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +3 -3
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +3 -3
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +2 -2
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.d.ts +2 -2
- package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js +6 -6
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +11 -11
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +4 -4
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +18 -8
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +27 -18
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.d.ts +2 -2
- package/dist/unstable/rpc/RpcGroup.d.ts +7 -7
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js +20 -20
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +6 -6
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js +5 -5
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +3 -3
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +3 -3
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +2 -2
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +2 -2
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +2 -2
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +18 -18
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts +2 -2
- package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcWorker.js +4 -4
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts +0 -3
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +2 -5
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +10 -10
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +9 -9
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +5 -2
- package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
- package/dist/unstable/socket/SocketServer.js +2 -2
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +5 -5
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +7 -7
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.d.ts +2 -2
- package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
- package/dist/unstable/sql/SqlConnection.js +5 -2
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +12 -12
- package/dist/unstable/sql/SqlModel.d.ts +8 -9
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +9 -35
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.js +11 -11
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +2 -2
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +2 -2
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +2 -2
- package/dist/unstable/workers/Transferable.d.ts.map +1 -1
- package/dist/unstable/workers/Transferable.js +6 -6
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +3 -3
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +6 -3
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +5 -5
- package/dist/unstable/workers/WorkerRunner.d.ts +2 -2
- package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
- package/dist/unstable/workers/WorkerRunner.js +5 -2
- package/dist/unstable/workers/WorkerRunner.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +7 -7
- package/dist/unstable/workflow/Activity.d.ts.map +1 -1
- package/dist/unstable/workflow/Activity.js +7 -7
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +0 -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.d.ts +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +7 -7
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +9 -9
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +18 -18
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +3 -3
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +5 -5
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js +4 -4
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/package.json +1 -1
- package/src/Cache.ts +18 -46
- package/src/Cause.ts +21 -21
- package/src/Channel.ts +120 -79
- package/src/Clock.ts +2 -2
- package/src/Config.ts +2 -2
- package/src/ConfigProvider.ts +5 -5
- package/src/Console.ts +2 -2
- package/src/{ServiceMap.ts → Context.ts} +337 -340
- package/src/DateTime.ts +2 -2
- package/src/Effect.ts +182 -184
- package/src/ErrorReporter.ts +3 -3
- package/src/ExecutionPlan.ts +8 -9
- package/src/Fiber.ts +7 -7
- package/src/FiberHandle.ts +5 -5
- package/src/FiberMap.ts +5 -5
- package/src/FiberSet.ts +5 -5
- package/src/FileSystem.ts +3 -3
- package/src/Layer.ts +333 -307
- package/src/LayerMap.ts +27 -26
- package/src/Logger.ts +3 -3
- package/src/ManagedRuntime.ts +32 -32
- package/src/Metric.ts +58 -58
- package/src/Path.ts +2 -2
- package/src/Pool.ts +5 -5
- package/src/PubSub.ts +3 -3
- package/src/Random.ts +2 -2
- package/src/RcMap.ts +14 -14
- package/src/Redactable.ts +146 -72
- package/src/References.ts +14 -14
- package/src/Request.ts +5 -5
- package/src/RequestResolver.ts +6 -7
- package/src/Resource.ts +4 -4
- package/src/Schedule.ts +2 -2
- package/src/Scheduler.ts +4 -4
- package/src/Schema.ts +837 -397
- package/src/SchemaAST.ts +5 -14
- package/src/SchemaGetter.ts +69 -11
- package/src/SchemaTransformation.ts +166 -0
- package/src/Scope.ts +2 -2
- package/src/ScopedCache.ts +5 -5
- package/src/Sink.ts +9 -9
- package/src/Stdio.ts +2 -2
- package/src/Stream.ts +234 -158
- package/src/Terminal.ts +3 -3
- package/src/Tracer.ts +17 -17
- package/src/Unify.ts +26 -2
- package/src/index.ts +82 -16
- package/src/internal/core.ts +7 -7
- package/src/internal/effect.ts +106 -106
- package/src/internal/layer.ts +7 -7
- package/src/internal/random.ts +2 -2
- package/src/internal/rcRef.ts +10 -10
- package/src/internal/references.ts +13 -13
- package/src/internal/request.ts +8 -8
- package/src/internal/schedule.ts +3 -1
- package/src/internal/schema/representation.ts +8 -1
- package/src/internal/schema/schema.ts +24 -1
- package/src/testing/TestSchema.ts +3 -3
- package/src/unstable/ai/AiError.ts +3 -2
- package/src/unstable/ai/Chat.ts +3 -3
- package/src/unstable/ai/EmbeddingModel.ts +3 -3
- package/src/unstable/ai/IdGenerator.ts +2 -2
- package/src/unstable/ai/LanguageModel.ts +2 -2
- package/src/unstable/ai/McpSchema.ts +11 -9
- package/src/unstable/ai/McpServer.ts +44 -44
- package/src/unstable/ai/Model.ts +8 -8
- package/src/unstable/ai/Prompt.ts +6 -12
- package/src/unstable/ai/Response.ts +6 -8
- package/src/unstable/ai/ResponseIdTracker.ts +2 -4
- package/src/unstable/ai/Telemetry.ts +2 -2
- package/src/unstable/ai/Tokenizer.ts +2 -2
- package/src/unstable/ai/Tool.ts +25 -25
- package/src/unstable/ai/Toolkit.ts +12 -12
- package/src/unstable/cli/Argument.ts +3 -4
- package/src/unstable/cli/CliError.ts +22 -9
- package/src/unstable/cli/CliOutput.ts +2 -2
- package/src/unstable/cli/Command.ts +36 -30
- package/src/unstable/cli/Flag.ts +3 -4
- package/src/unstable/cli/GlobalFlag.ts +3 -3
- package/src/unstable/cli/HelpDoc.ts +8 -8
- package/src/unstable/cli/Param.ts +39 -16
- package/src/unstable/cli/Prompt.ts +13 -6
- package/src/unstable/cli/internal/command.ts +7 -7
- package/src/unstable/cli/internal/parser.ts +130 -21
- package/src/unstable/cluster/ClusterSchema.ts +12 -12
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +14 -15
- package/src/unstable/cluster/Entity.ts +25 -25
- package/src/unstable/cluster/EntityProxy.ts +3 -3
- package/src/unstable/cluster/EntityProxyServer.ts +4 -4
- package/src/unstable/cluster/EntityResource.ts +2 -2
- package/src/unstable/cluster/HttpRunner.ts +2 -2
- package/src/unstable/cluster/K8sHttpClient.ts +2 -2
- package/src/unstable/cluster/Message.ts +8 -8
- package/src/unstable/cluster/MessageStorage.ts +11 -11
- package/src/unstable/cluster/Reply.ts +7 -7
- package/src/unstable/cluster/RunnerHealth.ts +2 -2
- package/src/unstable/cluster/RunnerServer.ts +1 -1
- package/src/unstable/cluster/RunnerStorage.ts +9 -9
- package/src/unstable/cluster/Runners.ts +7 -7
- package/src/unstable/cluster/ShardId.ts +84 -74
- package/src/unstable/cluster/Sharding.ts +26 -26
- package/src/unstable/cluster/ShardingConfig.ts +5 -5
- package/src/unstable/cluster/Snowflake.ts +2 -2
- package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +27 -23
- package/src/unstable/cluster/internal/entityReaper.ts +2 -2
- package/src/unstable/cluster/internal/resourceMap.ts +3 -3
- package/src/unstable/devtools/DevToolsClient.ts +5 -5
- package/src/unstable/eventlog/EventJournal.ts +2 -2
- package/src/unstable/eventlog/EventLog.ts +21 -21
- package/src/unstable/eventlog/EventLogEncryption.ts +2 -2
- package/src/unstable/eventlog/EventLogRemote.ts +2 -2
- package/src/unstable/eventlog/EventLogServer.ts +2 -2
- package/src/unstable/http/Etag.ts +2 -2
- package/src/unstable/http/FetchHttpClient.ts +5 -5
- package/src/unstable/http/Headers.ts +4 -4
- package/src/unstable/http/HttpClient.ts +9 -8
- package/src/unstable/http/HttpClientRequest.ts +5 -5
- package/src/unstable/http/HttpEffect.ts +35 -35
- package/src/unstable/http/HttpIncomingMessage.ts +2 -2
- package/src/unstable/http/HttpMiddleware.ts +28 -14
- package/src/unstable/http/HttpPlatform.ts +2 -2
- package/src/unstable/http/HttpRouter.ts +37 -37
- package/src/unstable/http/HttpServer.ts +2 -2
- package/src/unstable/http/HttpServerError.ts +4 -4
- package/src/unstable/http/HttpServerRequest.ts +7 -7
- package/src/unstable/http/HttpServerResponse.ts +8 -8
- package/src/unstable/http/Multipart.ts +8 -8
- package/src/unstable/httpapi/HttpApi.ts +18 -18
- package/src/unstable/httpapi/HttpApiBuilder.ts +20 -20
- package/src/unstable/httpapi/HttpApiClient.ts +4 -4
- package/src/unstable/httpapi/HttpApiEndpoint.ts +14 -14
- package/src/unstable/httpapi/HttpApiGroup.ts +16 -16
- package/src/unstable/httpapi/HttpApiMiddleware.ts +14 -14
- package/src/unstable/httpapi/HttpApiSecurity.ts +13 -13
- package/src/unstable/httpapi/OpenApi.ts +29 -31
- package/src/unstable/observability/OtlpExporter.ts +5 -5
- package/src/unstable/observability/OtlpMetrics.ts +1 -1
- package/src/unstable/observability/OtlpSerialization.ts +2 -2
- package/src/unstable/observability/OtlpTracer.ts +2 -2
- package/src/unstable/observability/PrometheusMetrics.ts +5 -5
- package/src/unstable/persistence/KeyValueStore.ts +226 -3
- package/src/unstable/persistence/PersistedCache.ts +20 -17
- package/src/unstable/persistence/PersistedQueue.ts +3 -3
- package/src/unstable/persistence/Persistence.ts +4 -4
- package/src/unstable/persistence/RateLimiter.ts +3 -3
- package/src/unstable/persistence/Redis.ts +2 -2
- package/src/unstable/process/ChildProcessSpawner.ts +46 -2
- package/src/unstable/reactivity/Atom.ts +79 -79
- package/src/unstable/reactivity/AtomHttpApi.ts +4 -4
- package/src/unstable/reactivity/AtomRegistry.ts +4 -4
- package/src/unstable/reactivity/AtomRpc.ts +4 -4
- package/src/unstable/reactivity/Reactivity.ts +6 -6
- package/src/unstable/rpc/Rpc.ts +17 -17
- package/src/unstable/rpc/RpcClient.ts +44 -30
- package/src/unstable/rpc/RpcGroup.ts +30 -30
- package/src/unstable/rpc/RpcMiddleware.ts +14 -14
- package/src/unstable/rpc/RpcSchema.ts +4 -4
- package/src/unstable/rpc/RpcSerialization.ts +2 -2
- package/src/unstable/rpc/RpcServer.ts +19 -19
- package/src/unstable/rpc/RpcWorker.ts +5 -5
- package/src/unstable/rpc/Utils.ts +4 -4
- package/src/unstable/socket/Socket.ts +9 -9
- package/src/unstable/socket/SocketServer.ts +2 -2
- package/src/unstable/sql/SqlClient.ts +11 -11
- package/src/unstable/sql/SqlConnection.ts +2 -2
- package/src/unstable/sql/SqlModel.ts +54 -82
- package/src/unstable/sql/SqlResolver.ts +11 -11
- package/src/unstable/sql/Statement.ts +2 -2
- package/src/unstable/workers/Transferable.ts +6 -6
- package/src/unstable/workers/Worker.ts +4 -4
- package/src/unstable/workers/WorkerRunner.ts +2 -2
- package/src/unstable/workflow/Activity.ts +14 -14
- package/src/unstable/workflow/DurableClock.ts +3 -3
- package/src/unstable/workflow/DurableDeferred.ts +8 -8
- package/src/unstable/workflow/Workflow.ts +23 -23
- package/src/unstable/workflow/WorkflowEngine.ts +6 -6
- package/src/unstable/workflow/WorkflowProxyServer.ts +4 -4
- package/dist/ServiceMap.d.ts +0 -1150
- package/dist/ServiceMap.d.ts.map +0 -1
- package/dist/ServiceMap.js.map +0 -1
package/dist/Layer.d.ts
CHANGED
|
@@ -20,15 +20,16 @@
|
|
|
20
20
|
import type { NonEmptyReadonlyArray } from "./Array.ts";
|
|
21
21
|
import type * as Cause from "./Cause.ts";
|
|
22
22
|
import type * as Channel from "./Channel.ts";
|
|
23
|
+
import * as Context from "./Context.ts";
|
|
23
24
|
import type { Effect } from "./Effect.ts";
|
|
24
25
|
import type * as Exit from "./Exit.ts";
|
|
25
26
|
import type { LazyArg } from "./Function.ts";
|
|
26
27
|
import { type Pipeable } from "./Pipeable.ts";
|
|
27
28
|
import * as Scope from "./Scope.ts";
|
|
28
|
-
import * as ServiceMap from "./ServiceMap.ts";
|
|
29
29
|
import type * as Stream from "./Stream.ts";
|
|
30
30
|
import * as Tracer from "./Tracer.ts";
|
|
31
31
|
import type * as Types from "./Types.ts";
|
|
32
|
+
import type * as Unify from "./Unify.ts";
|
|
32
33
|
declare const TypeId = "~effect/Layer";
|
|
33
34
|
/**
|
|
34
35
|
* A Layer describes how to build one or more services for dependency injection.
|
|
@@ -42,6 +43,24 @@ declare const TypeId = "~effect/Layer";
|
|
|
42
43
|
* @category models
|
|
43
44
|
*/
|
|
44
45
|
export interface Layer<in ROut, out E = never, out RIn = never> extends Variance<ROut, E, RIn>, Pipeable {
|
|
46
|
+
[Unify.typeSymbol]?: unknown;
|
|
47
|
+
[Unify.unifySymbol]?: LayerUnify<this>;
|
|
48
|
+
[Unify.ignoreSymbol]?: LayerUnifyIgnore;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* @since 4.0.0
|
|
52
|
+
* @category models
|
|
53
|
+
*/
|
|
54
|
+
export interface LayerUnify<A extends {
|
|
55
|
+
[Unify.typeSymbol]?: any;
|
|
56
|
+
}> {
|
|
57
|
+
Layer?: () => A[Unify.typeSymbol] extends Layer<any, any, any> | infer _ ? Layer<Success<Extract<A[Unify.typeSymbol], Any>>, Error<Extract<A[Unify.typeSymbol], Any>>, Services<Extract<A[Unify.typeSymbol], Any>>> : never;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @since 4.0.0
|
|
61
|
+
* @category models
|
|
62
|
+
*/
|
|
63
|
+
export interface LayerUnifyIgnore {
|
|
45
64
|
}
|
|
46
65
|
/**
|
|
47
66
|
* The variance interface for Layer type parameters.
|
|
@@ -102,9 +121,9 @@ declare const MemoMapTypeId = "~effect/Layer/MemoMap";
|
|
|
102
121
|
*
|
|
103
122
|
* @example
|
|
104
123
|
* ```ts
|
|
105
|
-
* import { Effect, Layer,
|
|
124
|
+
* import { Effect, Layer, Context } from "effect"
|
|
106
125
|
*
|
|
107
|
-
* class Database extends
|
|
126
|
+
* class Database extends Context.Service<Database, {
|
|
108
127
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
109
128
|
* }>()("Database") {}
|
|
110
129
|
*
|
|
@@ -116,9 +135,9 @@ declare const MemoMapTypeId = "~effect/Layer/MemoMap";
|
|
|
116
135
|
* const dbLayer = Layer.succeed(Database)({
|
|
117
136
|
* query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
|
|
118
137
|
* })
|
|
119
|
-
* const
|
|
138
|
+
* const context = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
|
|
120
139
|
*
|
|
121
|
-
* return
|
|
140
|
+
* return Context.get(context, Database)
|
|
122
141
|
* })
|
|
123
142
|
* ```
|
|
124
143
|
*
|
|
@@ -127,16 +146,16 @@ declare const MemoMapTypeId = "~effect/Layer/MemoMap";
|
|
|
127
146
|
*/
|
|
128
147
|
export interface MemoMap {
|
|
129
148
|
readonly [MemoMapTypeId]: typeof MemoMapTypeId;
|
|
130
|
-
readonly getOrElseMemoize: <RIn, E, ROut>(layer: Layer<ROut, E, RIn>, scope: Scope.Scope, build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<
|
|
149
|
+
readonly getOrElseMemoize: <RIn, E, ROut>(layer: Layer<ROut, E, RIn>, scope: Scope.Scope, build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<Context.Context<ROut>, E, RIn>) => Effect<Context.Context<ROut>, E, RIn>;
|
|
131
150
|
}
|
|
132
151
|
/**
|
|
133
152
|
* Returns `true` if the specified value is a `Layer`, `false` otherwise.
|
|
134
153
|
*
|
|
135
154
|
* @example
|
|
136
155
|
* ```ts
|
|
137
|
-
* import { Effect, Layer,
|
|
156
|
+
* import { Effect, Layer, Context } from "effect"
|
|
138
157
|
*
|
|
139
|
-
* class Database extends
|
|
158
|
+
* class Database extends Context.Service<Database, {
|
|
140
159
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
141
160
|
* }>()("Database") {}
|
|
142
161
|
*
|
|
@@ -161,15 +180,15 @@ export declare const isLayer: (u: unknown) => u is Layer<unknown, unknown, unkno
|
|
|
161
180
|
*
|
|
162
181
|
* @example
|
|
163
182
|
* ```ts
|
|
164
|
-
* import { Effect, Layer,
|
|
183
|
+
* import { Effect, Layer, Context } from "effect"
|
|
165
184
|
*
|
|
166
|
-
* class Database extends
|
|
185
|
+
* class Database extends Context.Service<Database, {
|
|
167
186
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
168
187
|
* }>()("Database") {}
|
|
169
188
|
*
|
|
170
189
|
* const databaseLayer = Layer.fromBuild(() =>
|
|
171
190
|
* Effect.sync(() =>
|
|
172
|
-
*
|
|
191
|
+
* Context.make(Database, {
|
|
173
192
|
* query: (sql: string) => Effect.succeed("result")
|
|
174
193
|
* })
|
|
175
194
|
* )
|
|
@@ -179,7 +198,7 @@ export declare const isLayer: (u: unknown) => u is Layer<unknown, unknown, unkno
|
|
|
179
198
|
* @since 4.0.0
|
|
180
199
|
* @category constructors
|
|
181
200
|
*/
|
|
182
|
-
export declare const fromBuild: <ROut, E, RIn>(build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<
|
|
201
|
+
export declare const fromBuild: <ROut, E, RIn>(build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<Context.Context<ROut>, E, RIn>) => Layer<ROut, E, RIn>;
|
|
183
202
|
/**
|
|
184
203
|
* Constructs a Layer from a function that uses a `MemoMap` and `Scope` to build the layer,
|
|
185
204
|
* with automatic memoization.
|
|
@@ -189,15 +208,15 @@ export declare const fromBuild: <ROut, E, RIn>(build: (memoMap: MemoMap, scope:
|
|
|
189
208
|
*
|
|
190
209
|
* @example
|
|
191
210
|
* ```ts
|
|
192
|
-
* import { Effect, Layer,
|
|
211
|
+
* import { Effect, Layer, Context } from "effect"
|
|
193
212
|
*
|
|
194
|
-
* class Database extends
|
|
213
|
+
* class Database extends Context.Service<Database, {
|
|
195
214
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
196
215
|
* }>()("Database") {}
|
|
197
216
|
*
|
|
198
217
|
* const databaseLayer = Layer.fromBuildMemo(() =>
|
|
199
218
|
* Effect.sync(() =>
|
|
200
|
-
*
|
|
219
|
+
* Context.make(Database, {
|
|
201
220
|
* query: (sql: string) => Effect.succeed("result")
|
|
202
221
|
* })
|
|
203
222
|
* )
|
|
@@ -207,15 +226,15 @@ export declare const fromBuild: <ROut, E, RIn>(build: (memoMap: MemoMap, scope:
|
|
|
207
226
|
* @since 4.0.0
|
|
208
227
|
* @category constructors
|
|
209
228
|
*/
|
|
210
|
-
export declare const fromBuildMemo: <ROut, E, RIn>(build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<
|
|
229
|
+
export declare const fromBuildMemo: <ROut, E, RIn>(build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<Context.Context<ROut>, E, RIn>) => Layer<ROut, E, RIn>;
|
|
211
230
|
/**
|
|
212
231
|
* Constructs a `MemoMap` that can be used to build additional layers.
|
|
213
232
|
*
|
|
214
233
|
* @example
|
|
215
234
|
* ```ts
|
|
216
|
-
* import { Effect, Layer,
|
|
235
|
+
* import { Effect, Layer, Context } from "effect"
|
|
217
236
|
*
|
|
218
|
-
* class Database extends
|
|
237
|
+
* class Database extends Context.Service<Database, {
|
|
219
238
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
220
239
|
* }>()("Database") {}
|
|
221
240
|
*
|
|
@@ -227,9 +246,9 @@ export declare const fromBuildMemo: <ROut, E, RIn>(build: (memoMap: MemoMap, sco
|
|
|
227
246
|
* const dbLayer = Layer.succeed(Database)({
|
|
228
247
|
* query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
|
|
229
248
|
* })
|
|
230
|
-
* const
|
|
249
|
+
* const context = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
|
|
231
250
|
*
|
|
232
|
-
* return
|
|
251
|
+
* return Context.get(context, Database)
|
|
233
252
|
* })
|
|
234
253
|
* ```
|
|
235
254
|
*
|
|
@@ -242,9 +261,9 @@ export declare const makeMemoMapUnsafe: () => MemoMap;
|
|
|
242
261
|
*
|
|
243
262
|
* @example
|
|
244
263
|
* ```ts
|
|
245
|
-
* import { Effect, Layer,
|
|
264
|
+
* import { Effect, Layer, Context } from "effect"
|
|
246
265
|
*
|
|
247
|
-
* class Database extends
|
|
266
|
+
* class Database extends Context.Service<Database, {
|
|
248
267
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
249
268
|
* }>()("Database") {}
|
|
250
269
|
*
|
|
@@ -256,9 +275,9 @@ export declare const makeMemoMapUnsafe: () => MemoMap;
|
|
|
256
275
|
* const dbLayer = Layer.succeed(Database)({
|
|
257
276
|
* query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
|
|
258
277
|
* })
|
|
259
|
-
* const
|
|
278
|
+
* const context = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
|
|
260
279
|
*
|
|
261
|
-
* return
|
|
280
|
+
* return Context.get(context, Database)
|
|
262
281
|
* })
|
|
263
282
|
* ```
|
|
264
283
|
*
|
|
@@ -266,7 +285,7 @@ export declare const makeMemoMapUnsafe: () => MemoMap;
|
|
|
266
285
|
* @category memo map
|
|
267
286
|
*/
|
|
268
287
|
export declare const makeMemoMap: Effect<MemoMap>;
|
|
269
|
-
declare const CurrentMemoMap_base:
|
|
288
|
+
declare const CurrentMemoMap_base: Context.ServiceClass<CurrentMemoMap, "effect/Layer/CurrentMemoMap", MemoMap>;
|
|
270
289
|
/**
|
|
271
290
|
* A service reference for the current `MemoMap` used in layer construction.
|
|
272
291
|
*
|
|
@@ -277,7 +296,7 @@ declare const CurrentMemoMap_base: ServiceMap.ServiceClass<CurrentMemoMap, "effe
|
|
|
277
296
|
* @category models
|
|
278
297
|
*/
|
|
279
298
|
export declare class CurrentMemoMap extends CurrentMemoMap_base {
|
|
280
|
-
static getOrCreate: <Services>(self:
|
|
299
|
+
static getOrCreate: <Services>(self: Context.Context<Services>) => MemoMap;
|
|
281
300
|
}
|
|
282
301
|
/**
|
|
283
302
|
* Builds a layer into an `Effect` value, using the specified `MemoMap` to memoize
|
|
@@ -285,13 +304,13 @@ export declare class CurrentMemoMap extends CurrentMemoMap_base {
|
|
|
285
304
|
*
|
|
286
305
|
* @example
|
|
287
306
|
* ```ts
|
|
288
|
-
* import { Effect, Layer,
|
|
307
|
+
* import { Effect, Layer, Context } from "effect"
|
|
289
308
|
*
|
|
290
|
-
* class Database extends
|
|
309
|
+
* class Database extends Context.Service<Database, {
|
|
291
310
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
292
311
|
* }>()("Database") {}
|
|
293
312
|
*
|
|
294
|
-
* class Logger extends
|
|
313
|
+
* class Logger extends Context.Service<Logger, {
|
|
295
314
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
296
315
|
* }>()("Logger") {}
|
|
297
316
|
*
|
|
@@ -304,21 +323,21 @@ export declare class CurrentMemoMap extends CurrentMemoMap_base {
|
|
|
304
323
|
* const dbLayer = Layer.succeed(Database)({
|
|
305
324
|
* query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
|
|
306
325
|
* })
|
|
307
|
-
* const
|
|
326
|
+
* const dbContext = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
|
|
308
327
|
*
|
|
309
328
|
* // Build logger layer with same memoization (reuses memo if same layer)
|
|
310
329
|
* const loggerLayer = Layer.succeed(Logger)({
|
|
311
330
|
* log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
|
|
312
331
|
* })
|
|
313
|
-
* const
|
|
332
|
+
* const loggerContext = yield* Layer.buildWithMemoMap(
|
|
314
333
|
* loggerLayer,
|
|
315
334
|
* memoMap,
|
|
316
335
|
* scope
|
|
317
336
|
* )
|
|
318
337
|
*
|
|
319
338
|
* return {
|
|
320
|
-
* database:
|
|
321
|
-
* logger:
|
|
339
|
+
* database: Context.get(dbContext, Database),
|
|
340
|
+
* logger: Context.get(loggerContext, Logger)
|
|
322
341
|
* }
|
|
323
342
|
* })
|
|
324
343
|
* ```
|
|
@@ -333,13 +352,13 @@ export declare const buildWithMemoMap: {
|
|
|
333
352
|
*
|
|
334
353
|
* @example
|
|
335
354
|
* ```ts
|
|
336
|
-
* import { Effect, Layer,
|
|
355
|
+
* import { Effect, Layer, Context } from "effect"
|
|
337
356
|
*
|
|
338
|
-
* class Database extends
|
|
357
|
+
* class Database extends Context.Service<Database, {
|
|
339
358
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
340
359
|
* }>()("Database") {}
|
|
341
360
|
*
|
|
342
|
-
* class Logger extends
|
|
361
|
+
* class Logger extends Context.Service<Logger, {
|
|
343
362
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
344
363
|
* }>()("Logger") {}
|
|
345
364
|
*
|
|
@@ -352,21 +371,21 @@ export declare const buildWithMemoMap: {
|
|
|
352
371
|
* const dbLayer = Layer.succeed(Database)({
|
|
353
372
|
* query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
|
|
354
373
|
* })
|
|
355
|
-
* const
|
|
374
|
+
* const dbContext = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
|
|
356
375
|
*
|
|
357
376
|
* // Build logger layer with same memoization (reuses memo if same layer)
|
|
358
377
|
* const loggerLayer = Layer.succeed(Logger)({
|
|
359
378
|
* log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
|
|
360
379
|
* })
|
|
361
|
-
* const
|
|
380
|
+
* const loggerContext = yield* Layer.buildWithMemoMap(
|
|
362
381
|
* loggerLayer,
|
|
363
382
|
* memoMap,
|
|
364
383
|
* scope
|
|
365
384
|
* )
|
|
366
385
|
*
|
|
367
386
|
* return {
|
|
368
|
-
* database:
|
|
369
|
-
* logger:
|
|
387
|
+
* database: Context.get(dbContext, Database),
|
|
388
|
+
* logger: Context.get(loggerContext, Logger)
|
|
370
389
|
* }
|
|
371
390
|
* })
|
|
372
391
|
* ```
|
|
@@ -374,20 +393,20 @@ export declare const buildWithMemoMap: {
|
|
|
374
393
|
* @since 2.0.0
|
|
375
394
|
* @category memo map
|
|
376
395
|
*/
|
|
377
|
-
(memoMap: MemoMap, scope: Scope.Scope): <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<
|
|
396
|
+
(memoMap: MemoMap, scope: Scope.Scope): <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<Context.Context<ROut>, E, RIn>;
|
|
378
397
|
/**
|
|
379
398
|
* Builds a layer into an `Effect` value, using the specified `MemoMap` to memoize
|
|
380
399
|
* the layer construction.
|
|
381
400
|
*
|
|
382
401
|
* @example
|
|
383
402
|
* ```ts
|
|
384
|
-
* import { Effect, Layer,
|
|
403
|
+
* import { Effect, Layer, Context } from "effect"
|
|
385
404
|
*
|
|
386
|
-
* class Database extends
|
|
405
|
+
* class Database extends Context.Service<Database, {
|
|
387
406
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
388
407
|
* }>()("Database") {}
|
|
389
408
|
*
|
|
390
|
-
* class Logger extends
|
|
409
|
+
* class Logger extends Context.Service<Logger, {
|
|
391
410
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
392
411
|
* }>()("Logger") {}
|
|
393
412
|
*
|
|
@@ -400,21 +419,21 @@ export declare const buildWithMemoMap: {
|
|
|
400
419
|
* const dbLayer = Layer.succeed(Database)({
|
|
401
420
|
* query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
|
|
402
421
|
* })
|
|
403
|
-
* const
|
|
422
|
+
* const dbContext = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
|
|
404
423
|
*
|
|
405
424
|
* // Build logger layer with same memoization (reuses memo if same layer)
|
|
406
425
|
* const loggerLayer = Layer.succeed(Logger)({
|
|
407
426
|
* log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
|
|
408
427
|
* })
|
|
409
|
-
* const
|
|
428
|
+
* const loggerContext = yield* Layer.buildWithMemoMap(
|
|
410
429
|
* loggerLayer,
|
|
411
430
|
* memoMap,
|
|
412
431
|
* scope
|
|
413
432
|
* )
|
|
414
433
|
*
|
|
415
434
|
* return {
|
|
416
|
-
* database:
|
|
417
|
-
* logger:
|
|
435
|
+
* database: Context.get(dbContext, Database),
|
|
436
|
+
* logger: Context.get(loggerContext, Logger)
|
|
418
437
|
* }
|
|
419
438
|
* })
|
|
420
439
|
* ```
|
|
@@ -422,16 +441,16 @@ export declare const buildWithMemoMap: {
|
|
|
422
441
|
* @since 2.0.0
|
|
423
442
|
* @category memo map
|
|
424
443
|
*/
|
|
425
|
-
<RIn, E, ROut>(self: Layer<ROut, E, RIn>, memoMap: MemoMap, scope: Scope.Scope): Effect<
|
|
444
|
+
<RIn, E, ROut>(self: Layer<ROut, E, RIn>, memoMap: MemoMap, scope: Scope.Scope): Effect<Context.Context<ROut>, E, RIn>;
|
|
426
445
|
};
|
|
427
446
|
/**
|
|
428
447
|
* Builds a layer into a scoped value.
|
|
429
448
|
*
|
|
430
449
|
* @example
|
|
431
450
|
* ```ts
|
|
432
|
-
* import { Effect, Layer,
|
|
451
|
+
* import { Effect, Layer, Context } from "effect"
|
|
433
452
|
*
|
|
434
|
-
* class Database extends
|
|
453
|
+
* class Database extends Context.Service<Database, {
|
|
435
454
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
436
455
|
* }>()("Database") {}
|
|
437
456
|
*
|
|
@@ -441,11 +460,11 @@ export declare const buildWithMemoMap: {
|
|
|
441
460
|
* query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
|
|
442
461
|
* })
|
|
443
462
|
*
|
|
444
|
-
* // Build the layer into
|
|
445
|
-
* const
|
|
463
|
+
* // Build the layer into Context - automatically manages scope and memoization
|
|
464
|
+
* const context = yield* Layer.build(dbLayer)
|
|
446
465
|
*
|
|
447
466
|
* // Extract the specific service from the built layer
|
|
448
|
-
* const database =
|
|
467
|
+
* const database = Context.get(context, Database)
|
|
449
468
|
*
|
|
450
469
|
* return yield* database.query("SELECT * FROM users")
|
|
451
470
|
* })
|
|
@@ -454,7 +473,7 @@ export declare const buildWithMemoMap: {
|
|
|
454
473
|
* @since 2.0.0
|
|
455
474
|
* @category destructors
|
|
456
475
|
*/
|
|
457
|
-
export declare const build: <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<
|
|
476
|
+
export declare const build: <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<Context.Context<ROut>, E, RIn | Scope.Scope>;
|
|
458
477
|
/**
|
|
459
478
|
* Builds a layer into an `Effect` value. Any resources associated with this
|
|
460
479
|
* layer will be released when the specified scope is closed unless their scope
|
|
@@ -464,9 +483,9 @@ export declare const build: <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<
|
|
|
464
483
|
*
|
|
465
484
|
* @example
|
|
466
485
|
* ```ts
|
|
467
|
-
* import { Effect, Layer, Scope,
|
|
486
|
+
* import { Effect, Layer, Scope, Context } from "effect"
|
|
468
487
|
*
|
|
469
|
-
* class Database extends
|
|
488
|
+
* class Database extends Context.Service<Database, {
|
|
470
489
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
471
490
|
* }>()("Database") {}
|
|
472
491
|
*
|
|
@@ -484,8 +503,8 @@ export declare const build: <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<
|
|
|
484
503
|
* }))
|
|
485
504
|
*
|
|
486
505
|
* // Build with specific scope - resources tied to this scope
|
|
487
|
-
* const
|
|
488
|
-
* const database =
|
|
506
|
+
* const context = yield* Layer.buildWithScope(dbLayer, scope)
|
|
507
|
+
* const database = Context.get(context, Database)
|
|
489
508
|
*
|
|
490
509
|
* return yield* database.query("SELECT * FROM users")
|
|
491
510
|
* // Database will be closed when scope is closed
|
|
@@ -505,9 +524,9 @@ export declare const buildWithScope: {
|
|
|
505
524
|
*
|
|
506
525
|
* @example
|
|
507
526
|
* ```ts
|
|
508
|
-
* import { Effect, Layer, Scope,
|
|
527
|
+
* import { Effect, Layer, Scope, Context } from "effect"
|
|
509
528
|
*
|
|
510
|
-
* class Database extends
|
|
529
|
+
* class Database extends Context.Service<Database, {
|
|
511
530
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
512
531
|
* }>()("Database") {}
|
|
513
532
|
*
|
|
@@ -525,8 +544,8 @@ export declare const buildWithScope: {
|
|
|
525
544
|
* }))
|
|
526
545
|
*
|
|
527
546
|
* // Build with specific scope - resources tied to this scope
|
|
528
|
-
* const
|
|
529
|
-
* const database =
|
|
547
|
+
* const context = yield* Layer.buildWithScope(dbLayer, scope)
|
|
548
|
+
* const database = Context.get(context, Database)
|
|
530
549
|
*
|
|
531
550
|
* return yield* database.query("SELECT * FROM users")
|
|
532
551
|
* // Database will be closed when scope is closed
|
|
@@ -536,7 +555,7 @@ export declare const buildWithScope: {
|
|
|
536
555
|
* @since 2.0.0
|
|
537
556
|
* @category destructors
|
|
538
557
|
*/
|
|
539
|
-
(scope: Scope.Scope): <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<
|
|
558
|
+
(scope: Scope.Scope): <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<Context.Context<ROut>, E, RIn>;
|
|
540
559
|
/**
|
|
541
560
|
* Builds a layer into an `Effect` value. Any resources associated with this
|
|
542
561
|
* layer will be released when the specified scope is closed unless their scope
|
|
@@ -546,9 +565,9 @@ export declare const buildWithScope: {
|
|
|
546
565
|
*
|
|
547
566
|
* @example
|
|
548
567
|
* ```ts
|
|
549
|
-
* import { Effect, Layer, Scope,
|
|
568
|
+
* import { Effect, Layer, Scope, Context } from "effect"
|
|
550
569
|
*
|
|
551
|
-
* class Database extends
|
|
570
|
+
* class Database extends Context.Service<Database, {
|
|
552
571
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
553
572
|
* }>()("Database") {}
|
|
554
573
|
*
|
|
@@ -566,8 +585,8 @@ export declare const buildWithScope: {
|
|
|
566
585
|
* }))
|
|
567
586
|
*
|
|
568
587
|
* // Build with specific scope - resources tied to this scope
|
|
569
|
-
* const
|
|
570
|
-
* const database =
|
|
588
|
+
* const context = yield* Layer.buildWithScope(dbLayer, scope)
|
|
589
|
+
* const database = Context.get(context, Database)
|
|
571
590
|
*
|
|
572
591
|
* return yield* database.query("SELECT * FROM users")
|
|
573
592
|
* // Database will be closed when scope is closed
|
|
@@ -577,20 +596,20 @@ export declare const buildWithScope: {
|
|
|
577
596
|
* @since 2.0.0
|
|
578
597
|
* @category destructors
|
|
579
598
|
*/
|
|
580
|
-
<RIn, E, ROut>(self: Layer<ROut, E, RIn>, scope: Scope.Scope): Effect<
|
|
599
|
+
<RIn, E, ROut>(self: Layer<ROut, E, RIn>, scope: Scope.Scope): Effect<Context.Context<ROut>, E, RIn>;
|
|
581
600
|
};
|
|
582
601
|
/**
|
|
583
602
|
* Constructs a layer from the specified value.
|
|
584
603
|
*
|
|
585
604
|
* @example
|
|
586
605
|
* ```ts
|
|
587
|
-
* import { Effect, Layer,
|
|
606
|
+
* import { Effect, Layer, Context } from "effect"
|
|
588
607
|
*
|
|
589
|
-
* class Database extends
|
|
608
|
+
* class Database extends Context.Service<Database, {
|
|
590
609
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
591
610
|
* }>()("Database") {}
|
|
592
611
|
*
|
|
593
|
-
* class Logger extends
|
|
612
|
+
* class Logger extends Context.Service<Logger, {
|
|
594
613
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
595
614
|
* }>()("Logger") {}
|
|
596
615
|
*
|
|
@@ -627,13 +646,13 @@ export declare const succeed: {
|
|
|
627
646
|
*
|
|
628
647
|
* @example
|
|
629
648
|
* ```ts
|
|
630
|
-
* import { Effect, Layer,
|
|
649
|
+
* import { Effect, Layer, Context } from "effect"
|
|
631
650
|
*
|
|
632
|
-
* class Database extends
|
|
651
|
+
* class Database extends Context.Service<Database, {
|
|
633
652
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
634
653
|
* }>()("Database") {}
|
|
635
654
|
*
|
|
636
|
-
* class Logger extends
|
|
655
|
+
* class Logger extends Context.Service<Logger, {
|
|
637
656
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
638
657
|
* }>()("Logger") {}
|
|
639
658
|
*
|
|
@@ -664,19 +683,19 @@ export declare const succeed: {
|
|
|
664
683
|
* @since 2.0.0
|
|
665
684
|
* @category constructors
|
|
666
685
|
*/
|
|
667
|
-
<I, S>(service:
|
|
686
|
+
<I, S>(service: Context.Key<I, S>): (resource: S) => Layer<I>;
|
|
668
687
|
/**
|
|
669
688
|
* Constructs a layer from the specified value.
|
|
670
689
|
*
|
|
671
690
|
* @example
|
|
672
691
|
* ```ts
|
|
673
|
-
* import { Effect, Layer,
|
|
692
|
+
* import { Effect, Layer, Context } from "effect"
|
|
674
693
|
*
|
|
675
|
-
* class Database extends
|
|
694
|
+
* class Database extends Context.Service<Database, {
|
|
676
695
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
677
696
|
* }>()("Database") {}
|
|
678
697
|
*
|
|
679
|
-
* class Logger extends
|
|
698
|
+
* class Logger extends Context.Service<Logger, {
|
|
680
699
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
681
700
|
* }>()("Logger") {}
|
|
682
701
|
*
|
|
@@ -707,45 +726,44 @@ export declare const succeed: {
|
|
|
707
726
|
* @since 2.0.0
|
|
708
727
|
* @category constructors
|
|
709
728
|
*/
|
|
710
|
-
<I, S>(service:
|
|
729
|
+
<I, S>(service: Context.Key<I, S>, resource: Types.NoInfer<S>): Layer<I>;
|
|
711
730
|
};
|
|
712
731
|
/**
|
|
713
732
|
* Constructs a layer from the specified value, which must return one or more
|
|
714
733
|
* services.
|
|
715
734
|
*
|
|
716
735
|
* This is a more general version of `succeed` that allows you to provide multiple
|
|
717
|
-
* services at once through a `
|
|
736
|
+
* services at once through a `Context`.
|
|
718
737
|
*
|
|
719
738
|
* @example
|
|
720
739
|
* ```ts
|
|
721
|
-
* import { Effect, Layer,
|
|
740
|
+
* import { Effect, Layer, Context } from "effect"
|
|
722
741
|
*
|
|
723
|
-
* class Database extends
|
|
742
|
+
* class Database extends Context.Service<Database, {
|
|
724
743
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
725
744
|
* }>()("Database") {}
|
|
726
745
|
*
|
|
727
|
-
* class Logger extends
|
|
746
|
+
* class Logger extends Context.Service<Logger, {
|
|
728
747
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
729
748
|
* }>()("Logger") {}
|
|
730
749
|
*
|
|
731
|
-
* const
|
|
750
|
+
* const context = Context.make(Database, {
|
|
732
751
|
* query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
|
|
733
|
-
* })
|
|
734
|
-
* .
|
|
735
|
-
*
|
|
736
|
-
*
|
|
737
|
-
*
|
|
738
|
-
* )
|
|
752
|
+
* }).pipe(
|
|
753
|
+
* Context.add(Logger, {
|
|
754
|
+
* log: (msg: string) => Effect.sync(() => console.log(msg))
|
|
755
|
+
* })
|
|
756
|
+
* )
|
|
739
757
|
*
|
|
740
|
-
* const layer = Layer.
|
|
758
|
+
* const layer = Layer.succeedContext(context)
|
|
741
759
|
* ```
|
|
742
760
|
*
|
|
743
761
|
* @since 2.0.0
|
|
744
762
|
* @category constructors
|
|
745
763
|
*/
|
|
746
|
-
export declare const
|
|
764
|
+
export declare const succeedContext: <A>(context: Context.Context<A>) => Layer<A>;
|
|
747
765
|
/**
|
|
748
|
-
* A Layer that constructs an empty
|
|
766
|
+
* A Layer that constructs an empty Context.
|
|
749
767
|
*
|
|
750
768
|
* This layer provides no services and can be used as a neutral element
|
|
751
769
|
* in layer composition or as a starting point for building layers.
|
|
@@ -769,9 +787,9 @@ export declare const empty: Layer<never>;
|
|
|
769
787
|
*
|
|
770
788
|
* @example
|
|
771
789
|
* ```ts
|
|
772
|
-
* import { Effect, Layer,
|
|
790
|
+
* import { Effect, Layer, Context } from "effect"
|
|
773
791
|
*
|
|
774
|
-
* class Database extends
|
|
792
|
+
* class Database extends Context.Service<Database, {
|
|
775
793
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
776
794
|
* }>()("Database") {}
|
|
777
795
|
*
|
|
@@ -792,9 +810,9 @@ export declare const sync: {
|
|
|
792
810
|
*
|
|
793
811
|
* @example
|
|
794
812
|
* ```ts
|
|
795
|
-
* import { Effect, Layer,
|
|
813
|
+
* import { Effect, Layer, Context } from "effect"
|
|
796
814
|
*
|
|
797
|
-
* class Database extends
|
|
815
|
+
* class Database extends Context.Service<Database, {
|
|
798
816
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
799
817
|
* }>()("Database") {}
|
|
800
818
|
*
|
|
@@ -806,7 +824,7 @@ export declare const sync: {
|
|
|
806
824
|
* @since 2.0.0
|
|
807
825
|
* @category constructors
|
|
808
826
|
*/
|
|
809
|
-
<I, S>(service:
|
|
827
|
+
<I, S>(service: Context.Key<I, S>): (evaluate: LazyArg<S>) => Layer<I>;
|
|
810
828
|
/**
|
|
811
829
|
* Lazily constructs a layer from the specified value.
|
|
812
830
|
*
|
|
@@ -815,9 +833,9 @@ export declare const sync: {
|
|
|
815
833
|
*
|
|
816
834
|
* @example
|
|
817
835
|
* ```ts
|
|
818
|
-
* import { Effect, Layer,
|
|
836
|
+
* import { Effect, Layer, Context } from "effect"
|
|
819
837
|
*
|
|
820
|
-
* class Database extends
|
|
838
|
+
* class Database extends Context.Service<Database, {
|
|
821
839
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
822
840
|
* }>()("Database") {}
|
|
823
841
|
*
|
|
@@ -829,25 +847,25 @@ export declare const sync: {
|
|
|
829
847
|
* @since 2.0.0
|
|
830
848
|
* @category constructors
|
|
831
849
|
*/
|
|
832
|
-
<I, S>(service:
|
|
850
|
+
<I, S>(service: Context.Key<I, S>, evaluate: LazyArg<Types.NoInfer<S>>): Layer<I>;
|
|
833
851
|
};
|
|
834
852
|
/**
|
|
835
853
|
* Lazily constructs a layer from the specified value, which must return one or more
|
|
836
854
|
* services.
|
|
837
855
|
*
|
|
838
|
-
* This is a lazy version of `
|
|
856
|
+
* This is a lazy version of `succeedContext` where the Context is computed
|
|
839
857
|
* synchronously only when the layer is built.
|
|
840
858
|
*
|
|
841
859
|
* @example
|
|
842
860
|
* ```ts
|
|
843
|
-
* import { Effect, Layer,
|
|
861
|
+
* import { Effect, Layer, Context } from "effect"
|
|
844
862
|
*
|
|
845
|
-
* class Database extends
|
|
863
|
+
* class Database extends Context.Service<Database, {
|
|
846
864
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
847
865
|
* }>()("Database") {}
|
|
848
866
|
*
|
|
849
|
-
* const layer = Layer.
|
|
850
|
-
*
|
|
867
|
+
* const layer = Layer.syncContext(() =>
|
|
868
|
+
* Context.make(Database, {
|
|
851
869
|
* query: (sql: string) => Effect.succeed(`Query: ${sql}`)
|
|
852
870
|
* })
|
|
853
871
|
* )
|
|
@@ -856,7 +874,7 @@ export declare const sync: {
|
|
|
856
874
|
* @since 2.0.0
|
|
857
875
|
* @category constructors
|
|
858
876
|
*/
|
|
859
|
-
export declare const
|
|
877
|
+
export declare const syncContext: <A>(evaluate: LazyArg<Context.Context<A>>) => Layer<A>;
|
|
860
878
|
/**
|
|
861
879
|
* Constructs a layer from the specified scoped effect.
|
|
862
880
|
*
|
|
@@ -872,9 +890,9 @@ export declare const syncServices: <A>(evaluate: LazyArg<ServiceMap.ServiceMap<A
|
|
|
872
890
|
*
|
|
873
891
|
* @example
|
|
874
892
|
* ```ts
|
|
875
|
-
* import { Effect, Layer,
|
|
893
|
+
* import { Effect, Layer, Context } from "effect"
|
|
876
894
|
*
|
|
877
|
-
* class Database extends
|
|
895
|
+
* class Database extends Context.Service<Database, {
|
|
878
896
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
879
897
|
* }>()("Database") {}
|
|
880
898
|
*
|
|
@@ -904,9 +922,9 @@ export declare const effect: {
|
|
|
904
922
|
*
|
|
905
923
|
* @example
|
|
906
924
|
* ```ts
|
|
907
|
-
* import { Effect, Layer,
|
|
925
|
+
* import { Effect, Layer, Context } from "effect"
|
|
908
926
|
*
|
|
909
|
-
* class Database extends
|
|
927
|
+
* class Database extends Context.Service<Database, {
|
|
910
928
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
911
929
|
* }>()("Database") {}
|
|
912
930
|
*
|
|
@@ -920,7 +938,7 @@ export declare const effect: {
|
|
|
920
938
|
* @since 2.0.0
|
|
921
939
|
* @category constructors
|
|
922
940
|
*/
|
|
923
|
-
<I, S>(service:
|
|
941
|
+
<I, S>(service: Context.Key<I, S>): <E, R>(effect: Effect<S, E, R>) => Layer<I, E, Exclude<R, Scope.Scope>>;
|
|
924
942
|
/**
|
|
925
943
|
* Constructs a layer from the specified scoped effect.
|
|
926
944
|
*
|
|
@@ -936,9 +954,9 @@ export declare const effect: {
|
|
|
936
954
|
*
|
|
937
955
|
* @example
|
|
938
956
|
* ```ts
|
|
939
|
-
* import { Effect, Layer,
|
|
957
|
+
* import { Effect, Layer, Context } from "effect"
|
|
940
958
|
*
|
|
941
|
-
* class Database extends
|
|
959
|
+
* class Database extends Context.Service<Database, {
|
|
942
960
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
943
961
|
* }>()("Database") {}
|
|
944
962
|
*
|
|
@@ -952,7 +970,7 @@ export declare const effect: {
|
|
|
952
970
|
* @since 2.0.0
|
|
953
971
|
* @category constructors
|
|
954
972
|
*/
|
|
955
|
-
<I, S, E, R>(service:
|
|
973
|
+
<I, S, E, R>(service: Context.Key<I, S>, effect: Effect<Types.NoInfer<S>, E, R>): Layer<I, E, Exclude<R, Scope.Scope>>;
|
|
956
974
|
};
|
|
957
975
|
/**
|
|
958
976
|
* Constructs a layer from the specified scoped effect, which must return one
|
|
@@ -963,15 +981,15 @@ export declare const effect: {
|
|
|
963
981
|
*
|
|
964
982
|
* @example
|
|
965
983
|
* ```ts
|
|
966
|
-
* import { Effect, Layer,
|
|
984
|
+
* import { Effect, Layer, Context } from "effect"
|
|
967
985
|
*
|
|
968
|
-
* class Database extends
|
|
986
|
+
* class Database extends Context.Service<
|
|
969
987
|
* Database,
|
|
970
988
|
* { readonly query: (sql: string) => Effect.Effect<string> }
|
|
971
989
|
* >()("Database") {}
|
|
972
990
|
*
|
|
973
|
-
* const layer = Layer.
|
|
974
|
-
* Effect.succeed(
|
|
991
|
+
* const layer = Layer.effectContext(
|
|
992
|
+
* Effect.succeed(Context.make(Database, {
|
|
975
993
|
* query: (sql: string) => Effect.succeed(`Query: ${sql}`)
|
|
976
994
|
* }))
|
|
977
995
|
* )
|
|
@@ -980,7 +998,7 @@ export declare const effect: {
|
|
|
980
998
|
* @since 2.0.0
|
|
981
999
|
* @category constructors
|
|
982
1000
|
*/
|
|
983
|
-
export declare const
|
|
1001
|
+
export declare const effectContext: <A, E, R>(effect: Effect<Context.Context<A>, E, R>) => Layer<A, E, Exclude<R, Scope.Scope>>;
|
|
984
1002
|
/**
|
|
985
1003
|
* Constructs a layer from the specified scoped effect.
|
|
986
1004
|
*
|
|
@@ -1016,9 +1034,9 @@ export declare const effectDiscard: <X, E, R>(effect: Effect<X, E, R>) => Layer<
|
|
|
1016
1034
|
*
|
|
1017
1035
|
* @example
|
|
1018
1036
|
* ```ts
|
|
1019
|
-
* import { Layer,
|
|
1037
|
+
* import { Layer, Context } from "effect"
|
|
1020
1038
|
*
|
|
1021
|
-
* class Config extends
|
|
1039
|
+
* class Config extends Context.Service<Config, string>()("Config") {}
|
|
1022
1040
|
*
|
|
1023
1041
|
* const useProd = true
|
|
1024
1042
|
*
|
|
@@ -1042,9 +1060,9 @@ export declare const suspend: <A, E, R>(evaluate: LazyArg<Layer<A, E, R>>) => La
|
|
|
1042
1060
|
*
|
|
1043
1061
|
* @example
|
|
1044
1062
|
* ```ts
|
|
1045
|
-
* import { Effect, Layer,
|
|
1063
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1046
1064
|
*
|
|
1047
|
-
* class Database extends
|
|
1065
|
+
* class Database extends Context.Service<Database, {
|
|
1048
1066
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1049
1067
|
* }>()("Database") {}
|
|
1050
1068
|
*
|
|
@@ -1067,13 +1085,13 @@ export declare const unwrap: <A, E1, R1, E, R>(self: Effect<Layer<A, E1, R1>, E,
|
|
|
1067
1085
|
*
|
|
1068
1086
|
* @example
|
|
1069
1087
|
* ```ts
|
|
1070
|
-
* import { Effect, Layer,
|
|
1088
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1071
1089
|
*
|
|
1072
|
-
* class Database extends
|
|
1090
|
+
* class Database extends Context.Service<Database, {
|
|
1073
1091
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1074
1092
|
* }>()("Database") {}
|
|
1075
1093
|
*
|
|
1076
|
-
* class Logger extends
|
|
1094
|
+
* class Logger extends Context.Service<Logger, {
|
|
1077
1095
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1078
1096
|
* }>()("Logger") {}
|
|
1079
1097
|
*
|
|
@@ -1099,13 +1117,13 @@ export declare const mergeAll: <Layers extends [Layer<never, any, any>, ...Array
|
|
|
1099
1117
|
*
|
|
1100
1118
|
* @example
|
|
1101
1119
|
* ```ts
|
|
1102
|
-
* import { Effect, Layer,
|
|
1120
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1103
1121
|
*
|
|
1104
|
-
* class Database extends
|
|
1122
|
+
* class Database extends Context.Service<Database, {
|
|
1105
1123
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1106
1124
|
* }>()("Database") {}
|
|
1107
1125
|
*
|
|
1108
|
-
* class Logger extends
|
|
1126
|
+
* class Logger extends Context.Service<Logger, {
|
|
1109
1127
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1110
1128
|
* }>()("Logger") {}
|
|
1111
1129
|
*
|
|
@@ -1131,13 +1149,13 @@ export declare const merge: {
|
|
|
1131
1149
|
*
|
|
1132
1150
|
* @example
|
|
1133
1151
|
* ```ts
|
|
1134
|
-
* import { Effect, Layer,
|
|
1152
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1135
1153
|
*
|
|
1136
|
-
* class Database extends
|
|
1154
|
+
* class Database extends Context.Service<Database, {
|
|
1137
1155
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1138
1156
|
* }>()("Database") {}
|
|
1139
1157
|
*
|
|
1140
|
-
* class Logger extends
|
|
1158
|
+
* class Logger extends Context.Service<Logger, {
|
|
1141
1159
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1142
1160
|
* }>()("Logger") {}
|
|
1143
1161
|
*
|
|
@@ -1163,13 +1181,13 @@ export declare const merge: {
|
|
|
1163
1181
|
*
|
|
1164
1182
|
* @example
|
|
1165
1183
|
* ```ts
|
|
1166
|
-
* import { Effect, Layer,
|
|
1184
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1167
1185
|
*
|
|
1168
|
-
* class Database extends
|
|
1186
|
+
* class Database extends Context.Service<Database, {
|
|
1169
1187
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1170
1188
|
* }>()("Database") {}
|
|
1171
1189
|
*
|
|
1172
|
-
* class Logger extends
|
|
1190
|
+
* class Logger extends Context.Service<Logger, {
|
|
1173
1191
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1174
1192
|
* }>()("Logger") {}
|
|
1175
1193
|
*
|
|
@@ -1195,13 +1213,13 @@ export declare const merge: {
|
|
|
1195
1213
|
*
|
|
1196
1214
|
* @example
|
|
1197
1215
|
* ```ts
|
|
1198
|
-
* import { Effect, Layer,
|
|
1216
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1199
1217
|
*
|
|
1200
|
-
* class Database extends
|
|
1218
|
+
* class Database extends Context.Service<Database, {
|
|
1201
1219
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1202
1220
|
* }>()("Database") {}
|
|
1203
1221
|
*
|
|
1204
|
-
* class Logger extends
|
|
1222
|
+
* class Logger extends Context.Service<Logger, {
|
|
1205
1223
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1206
1224
|
* }>()("Logger") {}
|
|
1207
1225
|
*
|
|
@@ -1227,13 +1245,13 @@ export declare const merge: {
|
|
|
1227
1245
|
*
|
|
1228
1246
|
* @example
|
|
1229
1247
|
* ```ts
|
|
1230
|
-
* import { Effect, Layer,
|
|
1248
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1231
1249
|
*
|
|
1232
|
-
* class Database extends
|
|
1250
|
+
* class Database extends Context.Service<Database, {
|
|
1233
1251
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1234
1252
|
* }>()("Database") {}
|
|
1235
1253
|
*
|
|
1236
|
-
* class Logger extends
|
|
1254
|
+
* class Logger extends Context.Service<Logger, {
|
|
1237
1255
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1238
1256
|
* }>()("Logger") {}
|
|
1239
1257
|
*
|
|
@@ -1259,20 +1277,20 @@ export declare const merge: {
|
|
|
1259
1277
|
*
|
|
1260
1278
|
* @example
|
|
1261
1279
|
* ```ts
|
|
1262
|
-
* import { Effect, Layer,
|
|
1280
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1263
1281
|
*
|
|
1264
|
-
* class Database extends
|
|
1282
|
+
* class Database extends Context.Service<Database, {
|
|
1265
1283
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1266
1284
|
* }>()("Database") {}
|
|
1267
1285
|
*
|
|
1268
|
-
* class UserService extends
|
|
1286
|
+
* class UserService extends Context.Service<UserService, {
|
|
1269
1287
|
* readonly getUser: (id: string) => Effect.Effect<{
|
|
1270
1288
|
* id: string
|
|
1271
1289
|
* name: string
|
|
1272
1290
|
* }>
|
|
1273
1291
|
* }>()("UserService") {}
|
|
1274
1292
|
*
|
|
1275
|
-
* class Logger extends
|
|
1293
|
+
* class Logger extends Context.Service<Logger, {
|
|
1276
1294
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1277
1295
|
* }>()("Logger") {}
|
|
1278
1296
|
*
|
|
@@ -1326,20 +1344,20 @@ export declare const provide: {
|
|
|
1326
1344
|
*
|
|
1327
1345
|
* @example
|
|
1328
1346
|
* ```ts
|
|
1329
|
-
* import { Effect, Layer,
|
|
1347
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1330
1348
|
*
|
|
1331
|
-
* class Database extends
|
|
1349
|
+
* class Database extends Context.Service<Database, {
|
|
1332
1350
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1333
1351
|
* }>()("Database") {}
|
|
1334
1352
|
*
|
|
1335
|
-
* class UserService extends
|
|
1353
|
+
* class UserService extends Context.Service<UserService, {
|
|
1336
1354
|
* readonly getUser: (id: string) => Effect.Effect<{
|
|
1337
1355
|
* id: string
|
|
1338
1356
|
* name: string
|
|
1339
1357
|
* }>
|
|
1340
1358
|
* }>()("UserService") {}
|
|
1341
1359
|
*
|
|
1342
|
-
* class Logger extends
|
|
1360
|
+
* class Logger extends Context.Service<Logger, {
|
|
1343
1361
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1344
1362
|
* }>()("Logger") {}
|
|
1345
1363
|
*
|
|
@@ -1393,20 +1411,20 @@ export declare const provide: {
|
|
|
1393
1411
|
*
|
|
1394
1412
|
* @example
|
|
1395
1413
|
* ```ts
|
|
1396
|
-
* import { Effect, Layer,
|
|
1414
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1397
1415
|
*
|
|
1398
|
-
* class Database extends
|
|
1416
|
+
* class Database extends Context.Service<Database, {
|
|
1399
1417
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1400
1418
|
* }>()("Database") {}
|
|
1401
1419
|
*
|
|
1402
|
-
* class UserService extends
|
|
1420
|
+
* class UserService extends Context.Service<UserService, {
|
|
1403
1421
|
* readonly getUser: (id: string) => Effect.Effect<{
|
|
1404
1422
|
* id: string
|
|
1405
1423
|
* name: string
|
|
1406
1424
|
* }>
|
|
1407
1425
|
* }>()("UserService") {}
|
|
1408
1426
|
*
|
|
1409
|
-
* class Logger extends
|
|
1427
|
+
* class Logger extends Context.Service<Logger, {
|
|
1410
1428
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1411
1429
|
* }>()("Logger") {}
|
|
1412
1430
|
*
|
|
@@ -1460,20 +1478,20 @@ export declare const provide: {
|
|
|
1460
1478
|
*
|
|
1461
1479
|
* @example
|
|
1462
1480
|
* ```ts
|
|
1463
|
-
* import { Effect, Layer,
|
|
1481
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1464
1482
|
*
|
|
1465
|
-
* class Database extends
|
|
1483
|
+
* class Database extends Context.Service<Database, {
|
|
1466
1484
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1467
1485
|
* }>()("Database") {}
|
|
1468
1486
|
*
|
|
1469
|
-
* class UserService extends
|
|
1487
|
+
* class UserService extends Context.Service<UserService, {
|
|
1470
1488
|
* readonly getUser: (id: string) => Effect.Effect<{
|
|
1471
1489
|
* id: string
|
|
1472
1490
|
* name: string
|
|
1473
1491
|
* }>
|
|
1474
1492
|
* }>()("UserService") {}
|
|
1475
1493
|
*
|
|
1476
|
-
* class Logger extends
|
|
1494
|
+
* class Logger extends Context.Service<Logger, {
|
|
1477
1495
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1478
1496
|
* }>()("Logger") {}
|
|
1479
1497
|
*
|
|
@@ -1527,20 +1545,20 @@ export declare const provide: {
|
|
|
1527
1545
|
*
|
|
1528
1546
|
* @example
|
|
1529
1547
|
* ```ts
|
|
1530
|
-
* import { Effect, Layer,
|
|
1548
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1531
1549
|
*
|
|
1532
|
-
* class Database extends
|
|
1550
|
+
* class Database extends Context.Service<Database, {
|
|
1533
1551
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1534
1552
|
* }>()("Database") {}
|
|
1535
1553
|
*
|
|
1536
|
-
* class UserService extends
|
|
1554
|
+
* class UserService extends Context.Service<UserService, {
|
|
1537
1555
|
* readonly getUser: (id: string) => Effect.Effect<{
|
|
1538
1556
|
* id: string
|
|
1539
1557
|
* name: string
|
|
1540
1558
|
* }>
|
|
1541
1559
|
* }>()("UserService") {}
|
|
1542
1560
|
*
|
|
1543
|
-
* class Logger extends
|
|
1561
|
+
* class Logger extends Context.Service<Logger, {
|
|
1544
1562
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1545
1563
|
* }>()("Logger") {}
|
|
1546
1564
|
*
|
|
@@ -1595,17 +1613,17 @@ export declare const provide: {
|
|
|
1595
1613
|
*
|
|
1596
1614
|
* @example
|
|
1597
1615
|
* ```ts
|
|
1598
|
-
* import { Effect, Layer,
|
|
1616
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1599
1617
|
*
|
|
1600
|
-
* class Database extends
|
|
1618
|
+
* class Database extends Context.Service<Database, {
|
|
1601
1619
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1602
1620
|
* }>()("Database") {}
|
|
1603
1621
|
*
|
|
1604
|
-
* class Logger extends
|
|
1622
|
+
* class Logger extends Context.Service<Logger, {
|
|
1605
1623
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1606
1624
|
* }>()("Logger") {}
|
|
1607
1625
|
*
|
|
1608
|
-
* class UserService extends
|
|
1626
|
+
* class UserService extends Context.Service<UserService, {
|
|
1609
1627
|
* readonly getUser: (id: string) => Effect.Effect<{
|
|
1610
1628
|
* id: string
|
|
1611
1629
|
* name: string
|
|
@@ -1668,17 +1686,17 @@ export declare const provideMerge: {
|
|
|
1668
1686
|
*
|
|
1669
1687
|
* @example
|
|
1670
1688
|
* ```ts
|
|
1671
|
-
* import { Effect, Layer,
|
|
1689
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1672
1690
|
*
|
|
1673
|
-
* class Database extends
|
|
1691
|
+
* class Database extends Context.Service<Database, {
|
|
1674
1692
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1675
1693
|
* }>()("Database") {}
|
|
1676
1694
|
*
|
|
1677
|
-
* class Logger extends
|
|
1695
|
+
* class Logger extends Context.Service<Logger, {
|
|
1678
1696
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1679
1697
|
* }>()("Logger") {}
|
|
1680
1698
|
*
|
|
1681
|
-
* class UserService extends
|
|
1699
|
+
* class UserService extends Context.Service<UserService, {
|
|
1682
1700
|
* readonly getUser: (id: string) => Effect.Effect<{
|
|
1683
1701
|
* id: string
|
|
1684
1702
|
* name: string
|
|
@@ -1741,17 +1759,17 @@ export declare const provideMerge: {
|
|
|
1741
1759
|
*
|
|
1742
1760
|
* @example
|
|
1743
1761
|
* ```ts
|
|
1744
|
-
* import { Effect, Layer,
|
|
1762
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1745
1763
|
*
|
|
1746
|
-
* class Database extends
|
|
1764
|
+
* class Database extends Context.Service<Database, {
|
|
1747
1765
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1748
1766
|
* }>()("Database") {}
|
|
1749
1767
|
*
|
|
1750
|
-
* class Logger extends
|
|
1768
|
+
* class Logger extends Context.Service<Logger, {
|
|
1751
1769
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1752
1770
|
* }>()("Logger") {}
|
|
1753
1771
|
*
|
|
1754
|
-
* class UserService extends
|
|
1772
|
+
* class UserService extends Context.Service<UserService, {
|
|
1755
1773
|
* readonly getUser: (id: string) => Effect.Effect<{
|
|
1756
1774
|
* id: string
|
|
1757
1775
|
* name: string
|
|
@@ -1814,17 +1832,17 @@ export declare const provideMerge: {
|
|
|
1814
1832
|
*
|
|
1815
1833
|
* @example
|
|
1816
1834
|
* ```ts
|
|
1817
|
-
* import { Effect, Layer,
|
|
1835
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1818
1836
|
*
|
|
1819
|
-
* class Database extends
|
|
1837
|
+
* class Database extends Context.Service<Database, {
|
|
1820
1838
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1821
1839
|
* }>()("Database") {}
|
|
1822
1840
|
*
|
|
1823
|
-
* class Logger extends
|
|
1841
|
+
* class Logger extends Context.Service<Logger, {
|
|
1824
1842
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1825
1843
|
* }>()("Logger") {}
|
|
1826
1844
|
*
|
|
1827
|
-
* class UserService extends
|
|
1845
|
+
* class UserService extends Context.Service<UserService, {
|
|
1828
1846
|
* readonly getUser: (id: string) => Effect.Effect<{
|
|
1829
1847
|
* id: string
|
|
1830
1848
|
* name: string
|
|
@@ -1887,17 +1905,17 @@ export declare const provideMerge: {
|
|
|
1887
1905
|
*
|
|
1888
1906
|
* @example
|
|
1889
1907
|
* ```ts
|
|
1890
|
-
* import { Effect, Layer,
|
|
1908
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1891
1909
|
*
|
|
1892
|
-
* class Database extends
|
|
1910
|
+
* class Database extends Context.Service<Database, {
|
|
1893
1911
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1894
1912
|
* }>()("Database") {}
|
|
1895
1913
|
*
|
|
1896
|
-
* class Logger extends
|
|
1914
|
+
* class Logger extends Context.Service<Logger, {
|
|
1897
1915
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1898
1916
|
* }>()("Logger") {}
|
|
1899
1917
|
*
|
|
1900
|
-
* class UserService extends
|
|
1918
|
+
* class UserService extends Context.Service<UserService, {
|
|
1901
1919
|
* readonly getUser: (id: string) => Effect.Effect<{
|
|
1902
1920
|
* id: string
|
|
1903
1921
|
* name: string
|
|
@@ -1959,18 +1977,18 @@ export declare const provideMerge: {
|
|
|
1959
1977
|
*
|
|
1960
1978
|
* @example
|
|
1961
1979
|
* ```ts
|
|
1962
|
-
* import { Effect, Layer,
|
|
1980
|
+
* import { Effect, Layer, Context } from "effect"
|
|
1963
1981
|
*
|
|
1964
|
-
* class Config extends
|
|
1982
|
+
* class Config extends Context.Service<Config, {
|
|
1965
1983
|
* readonly dbUrl: string
|
|
1966
1984
|
* readonly logLevel: string
|
|
1967
1985
|
* }>()("Config") {}
|
|
1968
1986
|
*
|
|
1969
|
-
* class Database extends
|
|
1987
|
+
* class Database extends Context.Service<Database, {
|
|
1970
1988
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
1971
1989
|
* }>()("Database") {}
|
|
1972
1990
|
*
|
|
1973
|
-
* class Logger extends
|
|
1991
|
+
* class Logger extends Context.Service<Logger, {
|
|
1974
1992
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
1975
1993
|
* }>()("Logger") {}
|
|
1976
1994
|
*
|
|
@@ -1982,8 +2000,8 @@ export declare const provideMerge: {
|
|
|
1982
2000
|
*
|
|
1983
2001
|
* // Dynamically create services based on config
|
|
1984
2002
|
* const dynamicServiceLayer = configLayer.pipe(
|
|
1985
|
-
* Layer.flatMap((
|
|
1986
|
-
* const config =
|
|
2003
|
+
* Layer.flatMap((context) => {
|
|
2004
|
+
* const config = Context.get(context, Config)
|
|
1987
2005
|
*
|
|
1988
2006
|
* // Create database layer based on config
|
|
1989
2007
|
* const dbLayer = Layer.succeed(Database)({
|
|
@@ -2030,18 +2048,18 @@ export declare const flatMap: {
|
|
|
2030
2048
|
*
|
|
2031
2049
|
* @example
|
|
2032
2050
|
* ```ts
|
|
2033
|
-
* import { Effect, Layer,
|
|
2051
|
+
* import { Effect, Layer, Context } from "effect"
|
|
2034
2052
|
*
|
|
2035
|
-
* class Config extends
|
|
2053
|
+
* class Config extends Context.Service<Config, {
|
|
2036
2054
|
* readonly dbUrl: string
|
|
2037
2055
|
* readonly logLevel: string
|
|
2038
2056
|
* }>()("Config") {}
|
|
2039
2057
|
*
|
|
2040
|
-
* class Database extends
|
|
2058
|
+
* class Database extends Context.Service<Database, {
|
|
2041
2059
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
2042
2060
|
* }>()("Database") {}
|
|
2043
2061
|
*
|
|
2044
|
-
* class Logger extends
|
|
2062
|
+
* class Logger extends Context.Service<Logger, {
|
|
2045
2063
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
2046
2064
|
* }>()("Logger") {}
|
|
2047
2065
|
*
|
|
@@ -2053,8 +2071,8 @@ export declare const flatMap: {
|
|
|
2053
2071
|
*
|
|
2054
2072
|
* // Dynamically create services based on config
|
|
2055
2073
|
* const dynamicServiceLayer = configLayer.pipe(
|
|
2056
|
-
* Layer.flatMap((
|
|
2057
|
-
* const config =
|
|
2074
|
+
* Layer.flatMap((context) => {
|
|
2075
|
+
* const config = Context.get(context, Config)
|
|
2058
2076
|
*
|
|
2059
2077
|
* // Create database layer based on config
|
|
2060
2078
|
* const dbLayer = Layer.succeed(Database)({
|
|
@@ -2095,24 +2113,24 @@ export declare const flatMap: {
|
|
|
2095
2113
|
* @since 2.0.0
|
|
2096
2114
|
* @category sequencing
|
|
2097
2115
|
*/
|
|
2098
|
-
<A, A2, E2, R2>(f: (context:
|
|
2116
|
+
<A, A2, E2, R2>(f: (context: Context.Context<A>) => Layer<A2, E2, R2>): <E, R>(self: Layer<A, E, R>) => Layer<A2, E2 | E, R2 | R>;
|
|
2099
2117
|
/**
|
|
2100
2118
|
* Constructs a layer dynamically based on the output of this layer.
|
|
2101
2119
|
*
|
|
2102
2120
|
* @example
|
|
2103
2121
|
* ```ts
|
|
2104
|
-
* import { Effect, Layer,
|
|
2122
|
+
* import { Effect, Layer, Context } from "effect"
|
|
2105
2123
|
*
|
|
2106
|
-
* class Config extends
|
|
2124
|
+
* class Config extends Context.Service<Config, {
|
|
2107
2125
|
* readonly dbUrl: string
|
|
2108
2126
|
* readonly logLevel: string
|
|
2109
2127
|
* }>()("Config") {}
|
|
2110
2128
|
*
|
|
2111
|
-
* class Database extends
|
|
2129
|
+
* class Database extends Context.Service<Database, {
|
|
2112
2130
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
2113
2131
|
* }>()("Database") {}
|
|
2114
2132
|
*
|
|
2115
|
-
* class Logger extends
|
|
2133
|
+
* class Logger extends Context.Service<Logger, {
|
|
2116
2134
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
2117
2135
|
* }>()("Logger") {}
|
|
2118
2136
|
*
|
|
@@ -2124,8 +2142,8 @@ export declare const flatMap: {
|
|
|
2124
2142
|
*
|
|
2125
2143
|
* // Dynamically create services based on config
|
|
2126
2144
|
* const dynamicServiceLayer = configLayer.pipe(
|
|
2127
|
-
* Layer.flatMap((
|
|
2128
|
-
* const config =
|
|
2145
|
+
* Layer.flatMap((context) => {
|
|
2146
|
+
* const config = Context.get(context, Config)
|
|
2129
2147
|
*
|
|
2130
2148
|
* // Create database layer based on config
|
|
2131
2149
|
* const dbLayer = Layer.succeed(Database)({
|
|
@@ -2166,7 +2184,7 @@ export declare const flatMap: {
|
|
|
2166
2184
|
* @since 2.0.0
|
|
2167
2185
|
* @category sequencing
|
|
2168
2186
|
*/
|
|
2169
|
-
<A, E, R, A2, E2, R2>(self: Layer<A, E, R>, f: (context:
|
|
2187
|
+
<A, E, R, A2, E2, R2>(self: Layer<A, E, R>, f: (context: Context.Context<A>) => Layer<A2, E2, R2>): Layer<A2, E | E2, R | R2>;
|
|
2170
2188
|
};
|
|
2171
2189
|
/**
|
|
2172
2190
|
* Performs the specified effect if this layer succeeds.
|
|
@@ -2181,14 +2199,14 @@ export declare const tap: {
|
|
|
2181
2199
|
* @since 4.0.0
|
|
2182
2200
|
* @category sequencing
|
|
2183
2201
|
*/
|
|
2184
|
-
<ROut, XR extends ROut, RIn2, E2, X>(f: (context:
|
|
2202
|
+
<ROut, XR extends ROut, RIn2, E2, X>(f: (context: Context.Context<XR>) => Effect<X, E2, RIn2>): <RIn, E>(self: Layer<ROut, E, RIn>) => Layer<ROut, E | E2, RIn | Exclude<RIn2, Scope.Scope>>;
|
|
2185
2203
|
/**
|
|
2186
2204
|
* Performs the specified effect if this layer succeeds.
|
|
2187
2205
|
*
|
|
2188
2206
|
* @since 4.0.0
|
|
2189
2207
|
* @category sequencing
|
|
2190
2208
|
*/
|
|
2191
|
-
<RIn, E, ROut, XR extends ROut, RIn2, E2, X>(self: Layer<ROut, E, RIn>, f: (context:
|
|
2209
|
+
<RIn, E, ROut, XR extends ROut, RIn2, E2, X>(self: Layer<ROut, E, RIn>, f: (context: Context.Context<XR>) => Effect<X, E2, RIn2>): Layer<ROut, E | E2, RIn | Exclude<RIn2, Scope.Scope>>;
|
|
2192
2210
|
};
|
|
2193
2211
|
/**
|
|
2194
2212
|
* Performs the specified effect if this layer fails.
|
|
@@ -2258,13 +2276,13 @@ export declare const tapCause: {
|
|
|
2258
2276
|
*
|
|
2259
2277
|
* @example
|
|
2260
2278
|
* ```ts
|
|
2261
|
-
* import { Data, Effect, Layer,
|
|
2279
|
+
* import { Data, Effect, Layer, Context } from "effect"
|
|
2262
2280
|
*
|
|
2263
2281
|
* class DatabaseError extends Data.TaggedError("DatabaseError")<{
|
|
2264
2282
|
* message: string
|
|
2265
2283
|
* }> {}
|
|
2266
2284
|
*
|
|
2267
|
-
* class Database extends
|
|
2285
|
+
* class Database extends Context.Service<Database, {
|
|
2268
2286
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
2269
2287
|
* }>()("Database") {}
|
|
2270
2288
|
*
|
|
@@ -2315,11 +2333,11 @@ catch_ as catch };
|
|
|
2315
2333
|
*
|
|
2316
2334
|
* @example
|
|
2317
2335
|
* ```ts
|
|
2318
|
-
* import { Data, Effect, Layer,
|
|
2336
|
+
* import { Data, Effect, Layer, Context } from "effect"
|
|
2319
2337
|
*
|
|
2320
2338
|
* class ConfigError extends Data.TaggedError("ConfigError") {}
|
|
2321
2339
|
*
|
|
2322
|
-
* class Config extends
|
|
2340
|
+
* class Config extends Context.Service<Config, {
|
|
2323
2341
|
* readonly apiUrl: string
|
|
2324
2342
|
* }>()("Config") {}
|
|
2325
2343
|
*
|
|
@@ -2341,11 +2359,11 @@ export declare const catchTag: {
|
|
|
2341
2359
|
*
|
|
2342
2360
|
* @example
|
|
2343
2361
|
* ```ts
|
|
2344
|
-
* import { Data, Effect, Layer,
|
|
2362
|
+
* import { Data, Effect, Layer, Context } from "effect"
|
|
2345
2363
|
*
|
|
2346
2364
|
* class ConfigError extends Data.TaggedError("ConfigError") {}
|
|
2347
2365
|
*
|
|
2348
|
-
* class Config extends
|
|
2366
|
+
* class Config extends Context.Service<Config, {
|
|
2349
2367
|
* readonly apiUrl: string
|
|
2350
2368
|
* }>()("Config") {}
|
|
2351
2369
|
*
|
|
@@ -2367,11 +2385,11 @@ export declare const catchTag: {
|
|
|
2367
2385
|
*
|
|
2368
2386
|
* @example
|
|
2369
2387
|
* ```ts
|
|
2370
|
-
* import { Data, Effect, Layer,
|
|
2388
|
+
* import { Data, Effect, Layer, Context } from "effect"
|
|
2371
2389
|
*
|
|
2372
2390
|
* class ConfigError extends Data.TaggedError("ConfigError") {}
|
|
2373
2391
|
*
|
|
2374
|
-
* class Config extends
|
|
2392
|
+
* class Config extends Context.Service<Config, {
|
|
2375
2393
|
* readonly apiUrl: string
|
|
2376
2394
|
* }>()("Config") {}
|
|
2377
2395
|
*
|
|
@@ -2394,7 +2412,7 @@ export declare const catchTag: {
|
|
|
2394
2412
|
*
|
|
2395
2413
|
* @example
|
|
2396
2414
|
* ```ts
|
|
2397
|
-
* import { Data, Effect, Layer,
|
|
2415
|
+
* import { Data, Effect, Layer, Context } from "effect"
|
|
2398
2416
|
*
|
|
2399
2417
|
* class DatabaseError extends Data.TaggedError("DatabaseError")<{
|
|
2400
2418
|
* message: string
|
|
@@ -2404,11 +2422,11 @@ export declare const catchTag: {
|
|
|
2404
2422
|
* reason: string
|
|
2405
2423
|
* }> {}
|
|
2406
2424
|
*
|
|
2407
|
-
* class Database extends
|
|
2425
|
+
* class Database extends Context.Service<Database, {
|
|
2408
2426
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
2409
2427
|
* }>()("Database") {}
|
|
2410
2428
|
*
|
|
2411
|
-
* class Logger extends
|
|
2429
|
+
* class Logger extends Context.Service<Logger, {
|
|
2412
2430
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
2413
2431
|
* }>()("Logger") {}
|
|
2414
2432
|
*
|
|
@@ -2452,7 +2470,7 @@ export declare const catchCause: {
|
|
|
2452
2470
|
*
|
|
2453
2471
|
* @example
|
|
2454
2472
|
* ```ts
|
|
2455
|
-
* import { Data, Effect, Layer,
|
|
2473
|
+
* import { Data, Effect, Layer, Context } from "effect"
|
|
2456
2474
|
*
|
|
2457
2475
|
* class DatabaseError extends Data.TaggedError("DatabaseError")<{
|
|
2458
2476
|
* message: string
|
|
@@ -2462,11 +2480,11 @@ export declare const catchCause: {
|
|
|
2462
2480
|
* reason: string
|
|
2463
2481
|
* }> {}
|
|
2464
2482
|
*
|
|
2465
|
-
* class Database extends
|
|
2483
|
+
* class Database extends Context.Service<Database, {
|
|
2466
2484
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
2467
2485
|
* }>()("Database") {}
|
|
2468
2486
|
*
|
|
2469
|
-
* class Logger extends
|
|
2487
|
+
* class Logger extends Context.Service<Logger, {
|
|
2470
2488
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
2471
2489
|
* }>()("Logger") {}
|
|
2472
2490
|
*
|
|
@@ -2510,7 +2528,7 @@ export declare const catchCause: {
|
|
|
2510
2528
|
*
|
|
2511
2529
|
* @example
|
|
2512
2530
|
* ```ts
|
|
2513
|
-
* import { Data, Effect, Layer,
|
|
2531
|
+
* import { Data, Effect, Layer, Context } from "effect"
|
|
2514
2532
|
*
|
|
2515
2533
|
* class DatabaseError extends Data.TaggedError("DatabaseError")<{
|
|
2516
2534
|
* message: string
|
|
@@ -2520,11 +2538,11 @@ export declare const catchCause: {
|
|
|
2520
2538
|
* reason: string
|
|
2521
2539
|
* }> {}
|
|
2522
2540
|
*
|
|
2523
|
-
* class Database extends
|
|
2541
|
+
* class Database extends Context.Service<Database, {
|
|
2524
2542
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
2525
2543
|
* }>()("Database") {}
|
|
2526
2544
|
*
|
|
2527
|
-
* class Logger extends
|
|
2545
|
+
* class Logger extends Context.Service<Logger, {
|
|
2528
2546
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
2529
2547
|
* }>()("Logger") {}
|
|
2530
2548
|
*
|
|
@@ -2601,7 +2619,7 @@ export declare const updateService: {
|
|
|
2601
2619
|
* @since 3.13.0
|
|
2602
2620
|
* @category utils
|
|
2603
2621
|
*/
|
|
2604
|
-
<I, A>(service:
|
|
2622
|
+
<I, A>(service: Context.Key<I, A>, f: (a: Types.NoInfer<A>) => A): <A1, E1, R1>(layer: Layer<A1, E1, R1>) => Layer<A1, E1, I | R1>;
|
|
2605
2623
|
/**
|
|
2606
2624
|
* Updates a service in the context with a new implementation.
|
|
2607
2625
|
*
|
|
@@ -2620,16 +2638,16 @@ export declare const updateService: {
|
|
|
2620
2638
|
* @since 3.13.0
|
|
2621
2639
|
* @category utils
|
|
2622
2640
|
*/
|
|
2623
|
-
<A1, E1, R1, I, A>(layer: Layer<A1, E1, R1>, service:
|
|
2641
|
+
<A1, E1, R1, I, A>(layer: Layer<A1, E1, R1>, service: Context.Key<I, A>, f: (a: Types.NoInfer<A>) => A): Layer<A1, E1, I | R1>;
|
|
2624
2642
|
};
|
|
2625
2643
|
/**
|
|
2626
2644
|
* Creates a fresh version of this layer that will not be shared.
|
|
2627
2645
|
*
|
|
2628
2646
|
* @example
|
|
2629
2647
|
* ```ts
|
|
2630
|
-
* import { Effect, Layer, Ref,
|
|
2648
|
+
* import { Effect, Layer, Ref, Context } from "effect"
|
|
2631
2649
|
*
|
|
2632
|
-
* class Counter extends
|
|
2650
|
+
* class Counter extends Context.Service<Counter, {
|
|
2633
2651
|
* readonly count: number
|
|
2634
2652
|
* readonly increment: () => Effect.Effect<number>
|
|
2635
2653
|
* }>()("Counter") {}
|
|
@@ -2680,14 +2698,14 @@ export declare const fresh: <A, E, R>(self: Layer<A, E, R>) => Layer<A, E, R>;
|
|
|
2680
2698
|
*
|
|
2681
2699
|
* @example
|
|
2682
2700
|
* ```ts
|
|
2683
|
-
* import { Console, Effect, Layer,
|
|
2701
|
+
* import { Console, Effect, Layer, Context } from "effect"
|
|
2684
2702
|
*
|
|
2685
|
-
* class HttpServer extends
|
|
2703
|
+
* class HttpServer extends Context.Service<HttpServer, {
|
|
2686
2704
|
* readonly start: () => Effect.Effect<string>
|
|
2687
2705
|
* readonly stop: () => Effect.Effect<string>
|
|
2688
2706
|
* }>()("HttpServer") {}
|
|
2689
2707
|
*
|
|
2690
|
-
* class Logger extends
|
|
2708
|
+
* class Logger extends Context.Service<Logger, {
|
|
2691
2709
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
2692
2710
|
* }>()("Logger") {}
|
|
2693
2711
|
*
|
|
@@ -2752,9 +2770,9 @@ type AnyEffectOrStream = Effect<any, any, any> | Stream.Stream<any, any, any> |
|
|
|
2752
2770
|
*
|
|
2753
2771
|
* @example
|
|
2754
2772
|
* ```ts
|
|
2755
|
-
* import { Effect, Layer,
|
|
2773
|
+
* import { Effect, Layer, Context } from "effect"
|
|
2756
2774
|
*
|
|
2757
|
-
* class UserService extends
|
|
2775
|
+
* class UserService extends Context.Service<UserService, {
|
|
2758
2776
|
* readonly config: { apiUrl: string }
|
|
2759
2777
|
* readonly getUser: (
|
|
2760
2778
|
* id: string
|
|
@@ -2799,9 +2817,9 @@ export declare const mock: {
|
|
|
2799
2817
|
*
|
|
2800
2818
|
* @example
|
|
2801
2819
|
* ```ts
|
|
2802
|
-
* import { Effect, Layer,
|
|
2820
|
+
* import { Effect, Layer, Context } from "effect"
|
|
2803
2821
|
*
|
|
2804
|
-
* class UserService extends
|
|
2822
|
+
* class UserService extends Context.Service<UserService, {
|
|
2805
2823
|
* readonly config: { apiUrl: string }
|
|
2806
2824
|
* readonly getUser: (
|
|
2807
2825
|
* id: string
|
|
@@ -2838,7 +2856,7 @@ export declare const mock: {
|
|
|
2838
2856
|
* @since 4.0.0
|
|
2839
2857
|
* @category Testing
|
|
2840
2858
|
*/
|
|
2841
|
-
<I, S extends object>(service:
|
|
2859
|
+
<I, S extends object>(service: Context.Key<I, S>): (implementation: PartialEffectful<S>) => Layer<I>;
|
|
2842
2860
|
/**
|
|
2843
2861
|
* Creates a mock layer for testing purposes. You can provide a partial
|
|
2844
2862
|
* implementation of the service, and any methods not provided will
|
|
@@ -2846,9 +2864,9 @@ export declare const mock: {
|
|
|
2846
2864
|
*
|
|
2847
2865
|
* @example
|
|
2848
2866
|
* ```ts
|
|
2849
|
-
* import { Effect, Layer,
|
|
2867
|
+
* import { Effect, Layer, Context } from "effect"
|
|
2850
2868
|
*
|
|
2851
|
-
* class UserService extends
|
|
2869
|
+
* class UserService extends Context.Service<UserService, {
|
|
2852
2870
|
* readonly config: { apiUrl: string }
|
|
2853
2871
|
* readonly getUser: (
|
|
2854
2872
|
* id: string
|
|
@@ -2885,7 +2903,7 @@ export declare const mock: {
|
|
|
2885
2903
|
* @since 4.0.0
|
|
2886
2904
|
* @category Testing
|
|
2887
2905
|
*/
|
|
2888
|
-
<I, S extends object>(service:
|
|
2906
|
+
<I, S extends object>(service: Context.Key<I, S>, implementation: Types.NoInfer<PartialEffectful<S>>): Layer<I>;
|
|
2889
2907
|
};
|
|
2890
2908
|
/**
|
|
2891
2909
|
* Ensures that an layer's success type extends a given type `ROut`.
|
|
@@ -2999,9 +3017,9 @@ export interface SpanOptions extends Tracer.SpanOptions {
|
|
|
2999
3017
|
*
|
|
3000
3018
|
* @example
|
|
3001
3019
|
* ```ts
|
|
3002
|
-
* import { Console, Effect, Layer,
|
|
3020
|
+
* import { Console, Effect, Layer, Context, type Tracer } from "effect"
|
|
3003
3021
|
*
|
|
3004
|
-
* class Database extends
|
|
3022
|
+
* class Database extends Context.Service<Database, {
|
|
3005
3023
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
3006
3024
|
* }>()("Database") {}
|
|
3007
3025
|
*
|
|
@@ -3045,9 +3063,9 @@ export declare const span: (name: string, options?: SpanOptions) => Layer<Tracer
|
|
|
3045
3063
|
*
|
|
3046
3064
|
* @example
|
|
3047
3065
|
* ```ts
|
|
3048
|
-
* import { Console, Effect, Layer,
|
|
3066
|
+
* import { Console, Effect, Layer, Context, Tracer } from "effect"
|
|
3049
3067
|
*
|
|
3050
|
-
* class Database extends
|
|
3068
|
+
* class Database extends Context.Service<Database, {
|
|
3051
3069
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
3052
3070
|
* }>()("Database") {}
|
|
3053
3071
|
*
|
|
@@ -3084,13 +3102,13 @@ export declare const parentSpan: (span: Tracer.AnySpan) => Layer<Tracer.ParentSp
|
|
|
3084
3102
|
*
|
|
3085
3103
|
* @example
|
|
3086
3104
|
* ```ts
|
|
3087
|
-
* import { Effect, Layer,
|
|
3105
|
+
* import { Effect, Layer, Context } from "effect"
|
|
3088
3106
|
*
|
|
3089
|
-
* class Database extends
|
|
3107
|
+
* class Database extends Context.Service<Database, {
|
|
3090
3108
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
3091
3109
|
* }>()("Database") {}
|
|
3092
3110
|
*
|
|
3093
|
-
* class Logger extends
|
|
3111
|
+
* class Logger extends Context.Service<Logger, {
|
|
3094
3112
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
3095
3113
|
* }>()("Logger") {}
|
|
3096
3114
|
*
|
|
@@ -3143,13 +3161,13 @@ export declare const withSpan: {
|
|
|
3143
3161
|
*
|
|
3144
3162
|
* @example
|
|
3145
3163
|
* ```ts
|
|
3146
|
-
* import { Effect, Layer,
|
|
3164
|
+
* import { Effect, Layer, Context } from "effect"
|
|
3147
3165
|
*
|
|
3148
|
-
* class Database extends
|
|
3166
|
+
* class Database extends Context.Service<Database, {
|
|
3149
3167
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
3150
3168
|
* }>()("Database") {}
|
|
3151
3169
|
*
|
|
3152
|
-
* class Logger extends
|
|
3170
|
+
* class Logger extends Context.Service<Logger, {
|
|
3153
3171
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
3154
3172
|
* }>()("Logger") {}
|
|
3155
3173
|
*
|
|
@@ -3202,13 +3220,13 @@ export declare const withSpan: {
|
|
|
3202
3220
|
*
|
|
3203
3221
|
* @example
|
|
3204
3222
|
* ```ts
|
|
3205
|
-
* import { Effect, Layer,
|
|
3223
|
+
* import { Effect, Layer, Context } from "effect"
|
|
3206
3224
|
*
|
|
3207
|
-
* class Database extends
|
|
3225
|
+
* class Database extends Context.Service<Database, {
|
|
3208
3226
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
3209
3227
|
* }>()("Database") {}
|
|
3210
3228
|
*
|
|
3211
|
-
* class Logger extends
|
|
3229
|
+
* class Logger extends Context.Service<Logger, {
|
|
3212
3230
|
* readonly log: (msg: string) => Effect.Effect<void>
|
|
3213
3231
|
* }>()("Logger") {}
|
|
3214
3232
|
*
|
|
@@ -3261,13 +3279,13 @@ export declare const withSpan: {
|
|
|
3261
3279
|
*
|
|
3262
3280
|
* @example
|
|
3263
3281
|
* ```ts
|
|
3264
|
-
* import { Effect, Layer,
|
|
3282
|
+
* import { Effect, Layer, Context, Tracer } from "effect"
|
|
3265
3283
|
*
|
|
3266
|
-
* class Database extends
|
|
3284
|
+
* class Database extends Context.Service<Database, {
|
|
3267
3285
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
3268
3286
|
* }>()("Database") {}
|
|
3269
3287
|
*
|
|
3270
|
-
* class Cache extends
|
|
3288
|
+
* class Cache extends Context.Service<Cache, {
|
|
3271
3289
|
* readonly get: (key: string) => Effect.Effect<string | null>
|
|
3272
3290
|
* }>()("Cache") {}
|
|
3273
3291
|
*
|
|
@@ -3296,9 +3314,9 @@ export declare const withSpan: {
|
|
|
3296
3314
|
* Layer.withParentSpan(parentSpan)
|
|
3297
3315
|
* )
|
|
3298
3316
|
*
|
|
3299
|
-
* const
|
|
3300
|
-
* const database =
|
|
3301
|
-
* const cache =
|
|
3317
|
+
* const context = yield* Layer.build(AppLayer)
|
|
3318
|
+
* const database = Context.get(context, Database)
|
|
3319
|
+
* const cache = Context.get(context, Cache)
|
|
3302
3320
|
*
|
|
3303
3321
|
* const dbResult = yield* database.query("SELECT * FROM users")
|
|
3304
3322
|
* const cacheResult = yield* cache.get("user:123")
|
|
@@ -3321,13 +3339,13 @@ export declare const withParentSpan: {
|
|
|
3321
3339
|
*
|
|
3322
3340
|
* @example
|
|
3323
3341
|
* ```ts
|
|
3324
|
-
* import { Effect, Layer,
|
|
3342
|
+
* import { Effect, Layer, Context, Tracer } from "effect"
|
|
3325
3343
|
*
|
|
3326
|
-
* class Database extends
|
|
3344
|
+
* class Database extends Context.Service<Database, {
|
|
3327
3345
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
3328
3346
|
* }>()("Database") {}
|
|
3329
3347
|
*
|
|
3330
|
-
* class Cache extends
|
|
3348
|
+
* class Cache extends Context.Service<Cache, {
|
|
3331
3349
|
* readonly get: (key: string) => Effect.Effect<string | null>
|
|
3332
3350
|
* }>()("Cache") {}
|
|
3333
3351
|
*
|
|
@@ -3356,9 +3374,9 @@ export declare const withParentSpan: {
|
|
|
3356
3374
|
* Layer.withParentSpan(parentSpan)
|
|
3357
3375
|
* )
|
|
3358
3376
|
*
|
|
3359
|
-
* const
|
|
3360
|
-
* const database =
|
|
3361
|
-
* const cache =
|
|
3377
|
+
* const context = yield* Layer.build(AppLayer)
|
|
3378
|
+
* const database = Context.get(context, Database)
|
|
3379
|
+
* const cache = Context.get(context, Cache)
|
|
3362
3380
|
*
|
|
3363
3381
|
* const dbResult = yield* database.query("SELECT * FROM users")
|
|
3364
3382
|
* const cacheResult = yield* cache.get("user:123")
|
|
@@ -3381,13 +3399,13 @@ export declare const withParentSpan: {
|
|
|
3381
3399
|
*
|
|
3382
3400
|
* @example
|
|
3383
3401
|
* ```ts
|
|
3384
|
-
* import { Effect, Layer,
|
|
3402
|
+
* import { Effect, Layer, Context, Tracer } from "effect"
|
|
3385
3403
|
*
|
|
3386
|
-
* class Database extends
|
|
3404
|
+
* class Database extends Context.Service<Database, {
|
|
3387
3405
|
* readonly query: (sql: string) => Effect.Effect<string>
|
|
3388
3406
|
* }>()("Database") {}
|
|
3389
3407
|
*
|
|
3390
|
-
* class Cache extends
|
|
3408
|
+
* class Cache extends Context.Service<Cache, {
|
|
3391
3409
|
* readonly get: (key: string) => Effect.Effect<string | null>
|
|
3392
3410
|
* }>()("Cache") {}
|
|
3393
3411
|
*
|
|
@@ -3416,9 +3434,9 @@ export declare const withParentSpan: {
|
|
|
3416
3434
|
* Layer.withParentSpan(parentSpan)
|
|
3417
3435
|
* )
|
|
3418
3436
|
*
|
|
3419
|
-
* const
|
|
3420
|
-
* const database =
|
|
3421
|
-
* const cache =
|
|
3437
|
+
* const context = yield* Layer.build(AppLayer)
|
|
3438
|
+
* const database = Context.get(context, Database)
|
|
3439
|
+
* const cache = Context.get(context, Cache)
|
|
3422
3440
|
*
|
|
3423
3441
|
* const dbResult = yield* database.query("SELECT * FROM users")
|
|
3424
3442
|
* const cacheResult = yield* cache.get("user:123")
|