effect 4.0.0-beta.1 → 4.0.0-beta.11
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 +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +1 -1
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +1 -1
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Channel.d.ts +7 -7
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +6 -4
- package/dist/Channel.js.map +1 -1
- package/dist/Combiner.d.ts +280 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +198 -7
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +3 -3
- package/dist/Config.js +3 -3
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +1 -1
- package/dist/Cron.d.ts +1 -1
- package/dist/Data.d.ts +534 -365
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +132 -79
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +23 -161
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +6 -51
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +12 -12
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +12 -12
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +342 -248
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +119 -119
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +194 -0
- package/dist/Encoding.d.ts.map +1 -0
- package/dist/Encoding.js +352 -0
- package/dist/Encoding.js.map +1 -0
- package/dist/Equal.d.ts +276 -109
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +124 -48
- package/dist/Equal.js.map +1 -1
- package/dist/ErrorReporter.d.ts +376 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +246 -0
- package/dist/ErrorReporter.js.map +1 -0
- package/dist/FileSystem.d.ts +1 -1
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +5 -5
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +30 -1
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +15 -0
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +229 -51
- package/dist/Formatter.js.map +1 -1
- package/dist/Graph.d.ts +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +2 -2
- package/dist/Graph.js.map +1 -1
- package/dist/JsonSchema.d.ts +299 -10
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +323 -4
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +109 -0
- package/dist/Latch.d.ts.map +1 -0
- package/dist/Latch.js +72 -0
- package/dist/Latch.js.map +1 -0
- package/dist/LayerMap.d.ts +4 -4
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LogLevel.d.ts +32 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +29 -95
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +2 -3
- package/dist/Logger.js.map +1 -1
- package/dist/Metric.d.ts +2 -2
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +1 -1
- package/dist/Metric.js.map +1 -1
- package/dist/Optic.d.ts +947 -18
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +454 -5
- package/dist/Optic.js.map +1 -1
- package/dist/Pipeable.d.ts +17 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +19 -1
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +10 -9
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +2 -2
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +6 -4
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +7 -5
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts +3 -2
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +3 -2
- package/dist/PubSub.js.map +1 -1
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +0 -1
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +18 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +29 -12
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +1 -1
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/Reducer.d.ts +166 -7
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +135 -1
- package/dist/Reducer.js.map +1 -1
- package/dist/References.d.ts +3 -3
- package/dist/References.d.ts.map +1 -1
- package/dist/Request.d.ts +1 -1
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +2 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +6 -26
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +0 -20
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +12 -0
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +12 -0
- package/dist/Result.js.map +1 -1
- package/dist/Schedule.d.ts +33 -14
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +65 -24
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +199 -49
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +386 -72
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +2 -1
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +2 -2
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +12 -14
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +44 -43
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +43 -24
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +37 -0
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +80 -0
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +211 -0
- package/dist/Semaphore.d.ts.map +1 -0
- package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
- package/dist/Semaphore.js.map +1 -0
- package/dist/Stream.d.ts +24 -24
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +12 -11
- package/dist/Stream.js.map +1 -1
- package/dist/Struct.d.ts +16 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +22 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +2 -1
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +2 -1
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +2 -1
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +2 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Types.d.ts +14 -6
- package/dist/Types.d.ts.map +1 -1
- package/dist/index.d.ts +503 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +503 -19
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js +11 -3
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +3 -11
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +85 -26
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +2 -2
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +3 -2
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/testing/TestClock.d.ts +7 -6
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +6 -4
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +6 -6
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +48 -48
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +3 -3
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +4 -3
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +2 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +41 -0
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +51 -51
- package/dist/unstable/ai/McpServer.d.ts +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +20 -20
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Response.d.ts +26 -26
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +1 -1
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +5 -5
- package/dist/unstable/cli/CliOutput.js +37 -6
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +199 -7
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +116 -6
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +60 -2
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +11 -1
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +33 -8
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js +7 -2
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
- package/dist/unstable/cli/internal/parser.js +10 -2
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +2 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +5 -4
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +10 -10
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +2 -1
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +6 -6
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +4 -3
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +8 -6
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +5 -4
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +2 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
- package/dist/unstable/encoding/Msgpack.d.ts +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +1 -1
- package/dist/unstable/encoding/Sse.d.ts +4 -4
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +2 -1
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
- package/dist/unstable/http/Cookies.d.ts +3 -3
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +27 -10
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +17 -2
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +28 -1
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +11 -11
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +4 -4
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +7 -7
- package/dist/unstable/http/HttpClientRequest.d.ts +27 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +15 -3
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +30 -33
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +4 -4
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +3 -3
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +4 -9
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +14 -32
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +11 -27
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
- package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +5 -5
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +2 -1
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +3 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +3 -3
- package/dist/unstable/http/UrlParams.d.ts +14 -6
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +1 -1
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +6 -6
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +3 -3
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +21 -39
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +15 -24
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +11 -0
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +29 -9
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +18 -16
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +1 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +7 -4
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +6 -6
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +2 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +12 -11
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +2 -2
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +2 -2
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +6 -0
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +6 -6
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +15 -12
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +6 -6
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +3 -3
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +22 -1
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +1 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +39 -0
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
- package/dist/unstable/reactivity/Hydration.js +76 -0
- package/dist/unstable/reactivity/Hydration.js.map +1 -0
- package/dist/unstable/reactivity/index.d.ts +4 -0
- package/dist/unstable/reactivity/index.d.ts.map +1 -1
- package/dist/unstable/reactivity/index.js +4 -0
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +2 -2
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +5 -26
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +6 -13
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +9 -3
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +2 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +4 -4
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +2 -2
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +13 -2
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +4 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +3 -2
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +3 -3
- package/dist/unstable/sql/Migrator.d.ts +1 -1
- package/dist/unstable/sql/SqlError.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +24 -1
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +24 -3
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/Statement.js +0 -1
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +2 -1
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +2 -2
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +2 -2
- package/dist/unstable/workflow/WorkflowEngine.d.ts +8 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +133 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +2 -2
- package/src/Cache.ts +3 -3
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +15 -13
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +3 -3
- package/src/Data.ts +538 -374
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +15 -15
- package/src/Effect.ts +378 -269
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/ErrorReporter.ts +459 -0
- package/src/FileSystem.ts +7 -8
- package/src/Filter.ts +48 -1
- package/src/Formatter.ts +253 -51
- package/src/Graph.ts +8 -5
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +112 -0
- package/src/LayerMap.ts +5 -5
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +33 -100
- package/src/Metric.ts +4 -4
- package/src/Optic.ts +948 -19
- package/src/Pipeable.ts +32 -1
- package/src/PlatformError.ts +5 -5
- package/src/Pool.ts +13 -11
- package/src/PubSub.ts +10 -9
- package/src/Queue.ts +0 -1
- package/src/Random.ts +33 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Reducer.ts +166 -7
- package/src/References.ts +4 -4
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +9 -29
- package/src/Result.ts +13 -0
- package/src/Schedule.ts +279 -140
- package/src/Schema.ts +575 -113
- package/src/SchemaAST.ts +2 -1
- package/src/SchemaGetter.ts +12 -14
- package/src/SchemaRepresentation.ts +43 -24
- package/src/SchemaTransformation.ts +104 -0
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +356 -0
- package/src/Stream.ts +50 -49
- package/src/Struct.ts +26 -0
- package/src/SubscriptionRef.ts +3 -2
- package/src/SynchronizedRef.ts +3 -2
- package/src/Types.ts +12 -2
- package/src/index.ts +507 -20
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +194 -51
- package/src/internal/hashMap.ts +2 -2
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +4 -3
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +8 -8
- package/src/unstable/ai/AiError.ts +2 -2
- package/src/unstable/ai/Chat.ts +12 -11
- package/src/unstable/ai/LanguageModel.ts +74 -3
- package/src/unstable/ai/McpServer.ts +2 -2
- package/src/unstable/ai/Prompt.ts +37 -37
- package/src/unstable/ai/Response.ts +25 -25
- package/src/unstable/cli/CliOutput.ts +45 -6
- package/src/unstable/cli/Command.ts +298 -11
- package/src/unstable/cli/HelpDoc.ts +68 -2
- package/src/unstable/cli/internal/command.ts +47 -11
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
- package/src/unstable/cli/internal/parser.ts +11 -3
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +3 -2
- package/src/unstable/cluster/Entity.ts +7 -6
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/Envelope.ts +1 -1
- package/src/unstable/cluster/K8sHttpClient.ts +1 -1
- package/src/unstable/cluster/MessageStorage.ts +3 -5
- package/src/unstable/cluster/Runners.ts +6 -5
- package/src/unstable/cluster/Sharding.ts +11 -9
- package/src/unstable/cluster/ShardingConfig.ts +10 -11
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +9 -8
- package/src/unstable/cluster/internal/entityReaper.ts +2 -1
- package/src/unstable/cluster/internal/resourceRef.ts +2 -1
- package/src/unstable/encoding/Sse.ts +2 -4
- package/src/unstable/eventlog/EventLog.ts +2 -1
- package/src/unstable/http/Cookies.ts +3 -3
- package/src/unstable/http/Headers.ts +28 -13
- package/src/unstable/http/HttpBody.ts +42 -1
- package/src/unstable/http/HttpClient.ts +19 -19
- package/src/unstable/http/HttpClientRequest.ts +38 -13
- package/src/unstable/http/HttpEffect.ts +27 -30
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +5 -10
- package/src/unstable/http/HttpServerError.ts +13 -27
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +4 -2
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +20 -5
- package/src/unstable/httpapi/HttpApiBuilder.ts +6 -5
- package/src/unstable/httpapi/HttpApiClient.ts +3 -3
- package/src/unstable/httpapi/HttpApiEndpoint.ts +47 -72
- package/src/unstable/httpapi/HttpApiError.ts +30 -9
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/httpapi/OpenApi.ts +18 -16
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +3 -3
- package/src/unstable/observability/OtlpLogger.ts +13 -9
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +4 -4
- package/src/unstable/persistence/KeyValueStore.ts +6 -6
- package/src/unstable/persistence/Persistable.ts +2 -2
- package/src/unstable/persistence/PersistedCache.ts +20 -9
- package/src/unstable/persistence/PersistedQueue.ts +25 -24
- package/src/unstable/persistence/Persistence.ts +3 -3
- package/src/unstable/persistence/RateLimiter.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +2 -2
- package/src/unstable/process/ChildProcessSpawner.ts +6 -0
- package/src/unstable/reactivity/Atom.ts +20 -18
- package/src/unstable/reactivity/AtomHttpApi.ts +19 -18
- package/src/unstable/reactivity/AtomRegistry.ts +29 -1
- package/src/unstable/reactivity/AtomRpc.ts +3 -3
- package/src/unstable/reactivity/Hydration.ts +112 -0
- package/src/unstable/reactivity/index.ts +5 -0
- package/src/unstable/rpc/Rpc.ts +3 -3
- package/src/unstable/rpc/RpcClient.ts +12 -54
- package/src/unstable/rpc/RpcServer.ts +10 -4
- package/src/unstable/rpc/Utils.ts +2 -1
- package/src/unstable/schema/VariantSchema.ts +36 -7
- package/src/unstable/socket/Socket.ts +7 -6
- package/src/unstable/sql/SqlModel.ts +2 -2
- package/src/unstable/sql/SqlSchema.ts +62 -13
- package/src/unstable/sql/Statement.ts +0 -1
- package/src/unstable/workers/Worker.ts +2 -1
- package/src/unstable/workflow/DurableClock.ts +8 -8
- package/src/unstable/workflow/DurableDeferred.ts +2 -2
- package/src/unstable/workflow/WorkflowEngine.ts +181 -2
- package/dist/PartitionedSemaphore.d.ts +0 -52
- package/dist/PartitionedSemaphore.d.ts.map +0 -1
- package/dist/PartitionedSemaphore.js.map +0 -1
- package/dist/encoding/Base64.d.ts +0 -67
- package/dist/encoding/Base64.d.ts.map +0 -1
- package/dist/encoding/Base64.js +0 -146
- package/dist/encoding/Base64.js.map +0 -1
- package/dist/encoding/Base64Url.d.ts +0 -60
- package/dist/encoding/Base64Url.d.ts.map +0 -1
- package/dist/encoding/Base64Url.js +0 -89
- package/dist/encoding/Base64Url.js.map +0 -1
- package/dist/encoding/EncodingError.d.ts +0 -31
- package/dist/encoding/EncodingError.d.ts.map +0 -1
- package/dist/encoding/EncodingError.js +0 -22
- package/dist/encoding/EncodingError.js.map +0 -1
- package/dist/encoding/Hex.d.ts +0 -61
- package/dist/encoding/Hex.d.ts.map +0 -1
- package/dist/encoding/Hex.js +0 -115
- package/dist/encoding/Hex.js.map +0 -1
- package/dist/encoding/index.d.ts +0 -26
- package/dist/encoding/index.d.ts.map +0 -1
- package/dist/encoding/index.js +0 -27
- package/dist/encoding/index.js.map +0 -1
- package/src/PartitionedSemaphore.ts +0 -182
- package/src/encoding/Base64.ts +0 -366
- package/src/encoding/Base64Url.ts +0 -104
- package/src/encoding/EncodingError.ts +0 -35
- package/src/encoding/Hex.ts +0 -390
- package/src/encoding/index.ts +0 -31
package/dist/Effect.d.ts
CHANGED
|
@@ -78,7 +78,7 @@ import { type LazyArg } from "./Function.ts";
|
|
|
78
78
|
import type { TypeLambda } from "./HKT.ts";
|
|
79
79
|
import type * as Layer from "./Layer.ts";
|
|
80
80
|
import type { Logger } from "./Logger.ts";
|
|
81
|
-
import type {
|
|
81
|
+
import type { Severity } from "./LogLevel.ts";
|
|
82
82
|
import * as Metric from "./Metric.ts";
|
|
83
83
|
import type { Option } from "./Option.ts";
|
|
84
84
|
import type { Pipeable } from "./Pipeable.ts";
|
|
@@ -92,7 +92,7 @@ import type { Scope } from "./Scope.ts";
|
|
|
92
92
|
import * as ServiceMap from "./ServiceMap.ts";
|
|
93
93
|
import type { AnySpan, ParentSpan, Span, SpanLink, SpanOptions, SpanOptionsNoTrace, TraceOptions, Tracer } from "./Tracer.ts";
|
|
94
94
|
import type { TxRef } from "./TxRef.ts";
|
|
95
|
-
import type { Concurrency, Covariant, EqualsWith, ExcludeReason, ExcludeTag, ExtractReason, ExtractTag, NoInfer, ReasonOf, ReasonTags, Tags, unassigned } from "./Types.ts";
|
|
95
|
+
import type { Concurrency, Covariant, EqualsWith, ExcludeReason, ExcludeTag, ExtractReason, ExtractTag, NoInfer, ReasonOf, ReasonTags, Simplify, Tags, unassigned } from "./Types.ts";
|
|
96
96
|
import type * as Unify from "./Unify.ts";
|
|
97
97
|
declare const TypeId: "~effect/Effect";
|
|
98
98
|
/**
|
|
@@ -724,6 +724,199 @@ export declare const partition: {
|
|
|
724
724
|
readonly concurrency?: Concurrency | undefined;
|
|
725
725
|
}): Effect<[excluded: Array<E>, satisfying: Array<B>], never, R>;
|
|
726
726
|
};
|
|
727
|
+
/**
|
|
728
|
+
* Applies an effectful function to each element and accumulates all failures.
|
|
729
|
+
*
|
|
730
|
+
* This function always evaluates every element. If at least one effect fails,
|
|
731
|
+
* all failures are returned as a non-empty array and successes are discarded.
|
|
732
|
+
* If all effects succeed, it returns all collected successes.
|
|
733
|
+
*
|
|
734
|
+
* Use `discard: true` to ignore successful values while still validating all
|
|
735
|
+
* elements.
|
|
736
|
+
*
|
|
737
|
+
* @example
|
|
738
|
+
* ```ts
|
|
739
|
+
* import { Effect } from "effect"
|
|
740
|
+
*
|
|
741
|
+
* const program = Effect.validate([0, 1, 2, 3], (n) =>
|
|
742
|
+
* n % 2 === 0 ? Effect.fail(`${n} is even`) : Effect.succeed(n)
|
|
743
|
+
* )
|
|
744
|
+
*
|
|
745
|
+
* Effect.runPromiseExit(program).then(console.log)
|
|
746
|
+
* // {
|
|
747
|
+
* // _id: 'Exit',
|
|
748
|
+
* // _tag: 'Failure',
|
|
749
|
+
* // cause: {
|
|
750
|
+
* // _id: 'Cause',
|
|
751
|
+
* // reasons: [
|
|
752
|
+
* // { _id: 'Reason', _tag: 'Fail', error: '0 is even' },
|
|
753
|
+
* // { _id: 'Reason', _tag: 'Fail', error: '2 is even' }
|
|
754
|
+
* // ]
|
|
755
|
+
* // }
|
|
756
|
+
* // }
|
|
757
|
+
* ```
|
|
758
|
+
*
|
|
759
|
+
* @since 4.0.0
|
|
760
|
+
* @category Error Accumulation
|
|
761
|
+
*/
|
|
762
|
+
export declare const validate: {
|
|
763
|
+
/**
|
|
764
|
+
* Applies an effectful function to each element and accumulates all failures.
|
|
765
|
+
*
|
|
766
|
+
* This function always evaluates every element. If at least one effect fails,
|
|
767
|
+
* all failures are returned as a non-empty array and successes are discarded.
|
|
768
|
+
* If all effects succeed, it returns all collected successes.
|
|
769
|
+
*
|
|
770
|
+
* Use `discard: true` to ignore successful values while still validating all
|
|
771
|
+
* elements.
|
|
772
|
+
*
|
|
773
|
+
* @example
|
|
774
|
+
* ```ts
|
|
775
|
+
* import { Effect } from "effect"
|
|
776
|
+
*
|
|
777
|
+
* const program = Effect.validate([0, 1, 2, 3], (n) =>
|
|
778
|
+
* n % 2 === 0 ? Effect.fail(`${n} is even`) : Effect.succeed(n)
|
|
779
|
+
* )
|
|
780
|
+
*
|
|
781
|
+
* Effect.runPromiseExit(program).then(console.log)
|
|
782
|
+
* // {
|
|
783
|
+
* // _id: 'Exit',
|
|
784
|
+
* // _tag: 'Failure',
|
|
785
|
+
* // cause: {
|
|
786
|
+
* // _id: 'Cause',
|
|
787
|
+
* // reasons: [
|
|
788
|
+
* // { _id: 'Reason', _tag: 'Fail', error: '0 is even' },
|
|
789
|
+
* // { _id: 'Reason', _tag: 'Fail', error: '2 is even' }
|
|
790
|
+
* // ]
|
|
791
|
+
* // }
|
|
792
|
+
* // }
|
|
793
|
+
* ```
|
|
794
|
+
*
|
|
795
|
+
* @since 4.0.0
|
|
796
|
+
* @category Error Accumulation
|
|
797
|
+
*/
|
|
798
|
+
<A, B, E, R>(f: (a: A, i: number) => Effect<B, E, R>, options?: {
|
|
799
|
+
readonly concurrency?: Concurrency | undefined;
|
|
800
|
+
readonly discard?: false | undefined;
|
|
801
|
+
} | undefined): (elements: Iterable<A>) => Effect<Array<B>, Arr.NonEmptyArray<E>, R>;
|
|
802
|
+
/**
|
|
803
|
+
* Applies an effectful function to each element and accumulates all failures.
|
|
804
|
+
*
|
|
805
|
+
* This function always evaluates every element. If at least one effect fails,
|
|
806
|
+
* all failures are returned as a non-empty array and successes are discarded.
|
|
807
|
+
* If all effects succeed, it returns all collected successes.
|
|
808
|
+
*
|
|
809
|
+
* Use `discard: true` to ignore successful values while still validating all
|
|
810
|
+
* elements.
|
|
811
|
+
*
|
|
812
|
+
* @example
|
|
813
|
+
* ```ts
|
|
814
|
+
* import { Effect } from "effect"
|
|
815
|
+
*
|
|
816
|
+
* const program = Effect.validate([0, 1, 2, 3], (n) =>
|
|
817
|
+
* n % 2 === 0 ? Effect.fail(`${n} is even`) : Effect.succeed(n)
|
|
818
|
+
* )
|
|
819
|
+
*
|
|
820
|
+
* Effect.runPromiseExit(program).then(console.log)
|
|
821
|
+
* // {
|
|
822
|
+
* // _id: 'Exit',
|
|
823
|
+
* // _tag: 'Failure',
|
|
824
|
+
* // cause: {
|
|
825
|
+
* // _id: 'Cause',
|
|
826
|
+
* // reasons: [
|
|
827
|
+
* // { _id: 'Reason', _tag: 'Fail', error: '0 is even' },
|
|
828
|
+
* // { _id: 'Reason', _tag: 'Fail', error: '2 is even' }
|
|
829
|
+
* // ]
|
|
830
|
+
* // }
|
|
831
|
+
* // }
|
|
832
|
+
* ```
|
|
833
|
+
*
|
|
834
|
+
* @since 4.0.0
|
|
835
|
+
* @category Error Accumulation
|
|
836
|
+
*/
|
|
837
|
+
<A, B, E, R>(f: (a: A, i: number) => Effect<B, E, R>, options: {
|
|
838
|
+
readonly concurrency?: Concurrency | undefined;
|
|
839
|
+
readonly discard: true;
|
|
840
|
+
}): (elements: Iterable<A>) => Effect<void, Arr.NonEmptyArray<E>, R>;
|
|
841
|
+
/**
|
|
842
|
+
* Applies an effectful function to each element and accumulates all failures.
|
|
843
|
+
*
|
|
844
|
+
* This function always evaluates every element. If at least one effect fails,
|
|
845
|
+
* all failures are returned as a non-empty array and successes are discarded.
|
|
846
|
+
* If all effects succeed, it returns all collected successes.
|
|
847
|
+
*
|
|
848
|
+
* Use `discard: true` to ignore successful values while still validating all
|
|
849
|
+
* elements.
|
|
850
|
+
*
|
|
851
|
+
* @example
|
|
852
|
+
* ```ts
|
|
853
|
+
* import { Effect } from "effect"
|
|
854
|
+
*
|
|
855
|
+
* const program = Effect.validate([0, 1, 2, 3], (n) =>
|
|
856
|
+
* n % 2 === 0 ? Effect.fail(`${n} is even`) : Effect.succeed(n)
|
|
857
|
+
* )
|
|
858
|
+
*
|
|
859
|
+
* Effect.runPromiseExit(program).then(console.log)
|
|
860
|
+
* // {
|
|
861
|
+
* // _id: 'Exit',
|
|
862
|
+
* // _tag: 'Failure',
|
|
863
|
+
* // cause: {
|
|
864
|
+
* // _id: 'Cause',
|
|
865
|
+
* // reasons: [
|
|
866
|
+
* // { _id: 'Reason', _tag: 'Fail', error: '0 is even' },
|
|
867
|
+
* // { _id: 'Reason', _tag: 'Fail', error: '2 is even' }
|
|
868
|
+
* // ]
|
|
869
|
+
* // }
|
|
870
|
+
* // }
|
|
871
|
+
* ```
|
|
872
|
+
*
|
|
873
|
+
* @since 4.0.0
|
|
874
|
+
* @category Error Accumulation
|
|
875
|
+
*/
|
|
876
|
+
<A, B, E, R>(elements: Iterable<A>, f: (a: A, i: number) => Effect<B, E, R>, options?: {
|
|
877
|
+
readonly concurrency?: Concurrency | undefined;
|
|
878
|
+
readonly discard?: false | undefined;
|
|
879
|
+
} | undefined): Effect<Array<B>, Arr.NonEmptyArray<E>, R>;
|
|
880
|
+
/**
|
|
881
|
+
* Applies an effectful function to each element and accumulates all failures.
|
|
882
|
+
*
|
|
883
|
+
* This function always evaluates every element. If at least one effect fails,
|
|
884
|
+
* all failures are returned as a non-empty array and successes are discarded.
|
|
885
|
+
* If all effects succeed, it returns all collected successes.
|
|
886
|
+
*
|
|
887
|
+
* Use `discard: true` to ignore successful values while still validating all
|
|
888
|
+
* elements.
|
|
889
|
+
*
|
|
890
|
+
* @example
|
|
891
|
+
* ```ts
|
|
892
|
+
* import { Effect } from "effect"
|
|
893
|
+
*
|
|
894
|
+
* const program = Effect.validate([0, 1, 2, 3], (n) =>
|
|
895
|
+
* n % 2 === 0 ? Effect.fail(`${n} is even`) : Effect.succeed(n)
|
|
896
|
+
* )
|
|
897
|
+
*
|
|
898
|
+
* Effect.runPromiseExit(program).then(console.log)
|
|
899
|
+
* // {
|
|
900
|
+
* // _id: 'Exit',
|
|
901
|
+
* // _tag: 'Failure',
|
|
902
|
+
* // cause: {
|
|
903
|
+
* // _id: 'Cause',
|
|
904
|
+
* // reasons: [
|
|
905
|
+
* // { _id: 'Reason', _tag: 'Fail', error: '0 is even' },
|
|
906
|
+
* // { _id: 'Reason', _tag: 'Fail', error: '2 is even' }
|
|
907
|
+
* // ]
|
|
908
|
+
* // }
|
|
909
|
+
* // }
|
|
910
|
+
* ```
|
|
911
|
+
*
|
|
912
|
+
* @since 4.0.0
|
|
913
|
+
* @category Error Accumulation
|
|
914
|
+
*/
|
|
915
|
+
<A, B, E, R>(elements: Iterable<A>, f: (a: A, i: number) => Effect<B, E, R>, options: {
|
|
916
|
+
readonly concurrency?: Concurrency | undefined;
|
|
917
|
+
readonly discard: true;
|
|
918
|
+
}): Effect<void, Arr.NonEmptyArray<E>, R>;
|
|
919
|
+
};
|
|
727
920
|
/**
|
|
728
921
|
* Executes an effectful operation for each element in an `Iterable`.
|
|
729
922
|
*
|
|
@@ -1352,6 +1545,90 @@ export declare const callback: <A, E = never, R = never>(register: (this: Schedu
|
|
|
1352
1545
|
* @category Creating Effects
|
|
1353
1546
|
*/
|
|
1354
1547
|
export declare const never: Effect<never>;
|
|
1548
|
+
/**
|
|
1549
|
+
* An `Effect` containing an empty record `{}`, used as the starting point for
|
|
1550
|
+
* do notation chains.
|
|
1551
|
+
*
|
|
1552
|
+
* @example
|
|
1553
|
+
* ```ts
|
|
1554
|
+
* import { Effect } from "effect"
|
|
1555
|
+
* import { pipe } from "effect/Function"
|
|
1556
|
+
*
|
|
1557
|
+
* const program = pipe(
|
|
1558
|
+
* Effect.Do,
|
|
1559
|
+
* Effect.bind("x", () => Effect.succeed(2)),
|
|
1560
|
+
* Effect.bind("y", ({ x }) => Effect.succeed(x + 1)),
|
|
1561
|
+
* Effect.let("sum", ({ x, y }) => x + y)
|
|
1562
|
+
* )
|
|
1563
|
+
* ```
|
|
1564
|
+
*
|
|
1565
|
+
* @since 4.0.0
|
|
1566
|
+
* @category Do notation
|
|
1567
|
+
*/
|
|
1568
|
+
export declare const Do: Effect<{}>;
|
|
1569
|
+
/**
|
|
1570
|
+
* Gives a name to the success value of an `Effect`, creating a single-key
|
|
1571
|
+
* record used in do notation pipelines.
|
|
1572
|
+
*
|
|
1573
|
+
* @since 4.0.0
|
|
1574
|
+
* @category Do notation
|
|
1575
|
+
*/
|
|
1576
|
+
export declare const bindTo: {
|
|
1577
|
+
/**
|
|
1578
|
+
* Gives a name to the success value of an `Effect`, creating a single-key
|
|
1579
|
+
* record used in do notation pipelines.
|
|
1580
|
+
*
|
|
1581
|
+
* @since 4.0.0
|
|
1582
|
+
* @category Do notation
|
|
1583
|
+
*/
|
|
1584
|
+
<N extends string>(name: N): <A, E, R>(self: Effect<A, E, R>) => Effect<{
|
|
1585
|
+
[K in N]: A;
|
|
1586
|
+
}, E, R>;
|
|
1587
|
+
/**
|
|
1588
|
+
* Gives a name to the success value of an `Effect`, creating a single-key
|
|
1589
|
+
* record used in do notation pipelines.
|
|
1590
|
+
*
|
|
1591
|
+
* @since 4.0.0
|
|
1592
|
+
* @category Do notation
|
|
1593
|
+
*/
|
|
1594
|
+
<A, E, R, N extends string>(self: Effect<A, E, R>, name: N): Effect<{
|
|
1595
|
+
[K in N]: A;
|
|
1596
|
+
}, E, R>;
|
|
1597
|
+
};
|
|
1598
|
+
declare const let_: {
|
|
1599
|
+
<N extends string, A extends Record<string, any>, B>(name: N, f: (a: NoInfer<A>) => B): <E, R>(self: Effect<A, E, R>) => Effect<Simplify<Omit<A, N> & Record<N, B>>, E, R>;
|
|
1600
|
+
<A extends Record<string, any>, E, R, B, N extends string>(self: Effect<A, E, R>, name: N, f: (a: NoInfer<A>) => B): Effect<Simplify<Omit<A, N> & Record<N, B>>, E, R>;
|
|
1601
|
+
};
|
|
1602
|
+
export {
|
|
1603
|
+
/**
|
|
1604
|
+
* Adds a computed plain value to the do notation record.
|
|
1605
|
+
*
|
|
1606
|
+
* @since 4.0.0
|
|
1607
|
+
* @category Do notation
|
|
1608
|
+
*/
|
|
1609
|
+
let_ as let };
|
|
1610
|
+
/**
|
|
1611
|
+
* Adds an `Effect` value to the do notation record under a given name.
|
|
1612
|
+
*
|
|
1613
|
+
* @since 4.0.0
|
|
1614
|
+
* @category Do notation
|
|
1615
|
+
*/
|
|
1616
|
+
export declare const bind: {
|
|
1617
|
+
/**
|
|
1618
|
+
* Adds an `Effect` value to the do notation record under a given name.
|
|
1619
|
+
*
|
|
1620
|
+
* @since 4.0.0
|
|
1621
|
+
* @category Do notation
|
|
1622
|
+
*/
|
|
1623
|
+
<N extends string, A extends Record<string, any>, B, E2, R2>(name: N, f: (a: NoInfer<A>) => Effect<B, E2, R2>): <E, R>(self: Effect<A, E, R>) => Effect<Simplify<Omit<A, N> & Record<N, B>>, E | E2, R | R2>;
|
|
1624
|
+
/**
|
|
1625
|
+
* Adds an `Effect` value to the do notation record under a given name.
|
|
1626
|
+
*
|
|
1627
|
+
* @since 4.0.0
|
|
1628
|
+
* @category Do notation
|
|
1629
|
+
*/
|
|
1630
|
+
<A extends Record<string, any>, E, R, B, E2, R2, N extends string>(self: Effect<A, E, R>, name: N, f: (a: NoInfer<A>) => Effect<B, E2, R2>): Effect<Simplify<Omit<A, N> & Record<N, B>>, E | E2, R | R2>;
|
|
1631
|
+
};
|
|
1355
1632
|
/**
|
|
1356
1633
|
* Provides a way to write effectful code using generator functions, simplifying
|
|
1357
1634
|
* control flow and error handling.
|
|
@@ -4704,6 +4981,33 @@ export declare const catchIf: {
|
|
|
4704
4981
|
*/
|
|
4705
4982
|
<A, E, R, Result extends Filter.ResultOrBool, A2, E2, R2, A3 = never, E3 = Filter.Fail<E, Result>, R3 = never>(self: Effect<A, E, R>, filter: Filter.OrPredicate<NoInfer<E>, Result>, f: (e: Filter.Pass<E, Result>) => Effect<A2, E2, R2>, orElse?: ((e: Filter.Fail<E, Result>) => Effect<A3, E3, R3>) | undefined): Effect<A | A2 | A3, E2 | E3, R | R2 | R3>;
|
|
4706
4983
|
};
|
|
4984
|
+
/**
|
|
4985
|
+
* Catches `NoSuchElementError` failures and converts them to `Option.none`.
|
|
4986
|
+
*
|
|
4987
|
+
* Success values become `Option.some`, `NoSuchElementError` becomes
|
|
4988
|
+
* `Option.none`, and all other errors are preserved.
|
|
4989
|
+
*
|
|
4990
|
+
* @example
|
|
4991
|
+
* ```ts
|
|
4992
|
+
* import { Effect, Option } from "effect"
|
|
4993
|
+
*
|
|
4994
|
+
* const some = Effect.fromNullishOr(1).pipe(Effect.catchNoSuchElement)
|
|
4995
|
+
* const none = Effect.fromNullishOr(null).pipe(Effect.catchNoSuchElement)
|
|
4996
|
+
*
|
|
4997
|
+
* Effect.runPromise(some).then(console.log) // { _id: 'Option', _tag: 'Some', value: 1 }
|
|
4998
|
+
* Effect.runPromise(none).then(console.log) // { _id: 'Option', _tag: 'None' }
|
|
4999
|
+
* ```
|
|
5000
|
+
*
|
|
5001
|
+
* **Previously Known As**
|
|
5002
|
+
*
|
|
5003
|
+
* This API replaces the following from Effect 3.x:
|
|
5004
|
+
*
|
|
5005
|
+
* - `Effect.optionFromOptional`
|
|
5006
|
+
*
|
|
5007
|
+
* @since 2.0.0
|
|
5008
|
+
* @category Error Handling
|
|
5009
|
+
*/
|
|
5010
|
+
export declare const catchNoSuchElement: <A, E, R>(self: Effect<A, E, R>) => Effect<Option<A>, Exclude<E, Cause.NoSuchElementError>, R>;
|
|
4707
5011
|
/**
|
|
4708
5012
|
* Recovers from specific failures based on a predicate.
|
|
4709
5013
|
*
|
|
@@ -6310,11 +6614,11 @@ export declare const sandbox: <A, E, R>(self: Effect<A, E, R>) => Effect<A, Caus
|
|
|
6310
6614
|
* @category Error Handling
|
|
6311
6615
|
*/
|
|
6312
6616
|
export declare const ignore: <Arg extends Effect<any, any, any> | {
|
|
6313
|
-
readonly log?: boolean |
|
|
6617
|
+
readonly log?: boolean | Severity | undefined;
|
|
6314
6618
|
} | undefined = {
|
|
6315
|
-
readonly log?: boolean |
|
|
6619
|
+
readonly log?: boolean | Severity | undefined;
|
|
6316
6620
|
}>(effectOrOptions?: Arg, options?: {
|
|
6317
|
-
readonly log?: boolean |
|
|
6621
|
+
readonly log?: boolean | Severity | undefined;
|
|
6318
6622
|
} | undefined) => [Arg] extends [Effect<infer _A, infer _E, infer _R>] ? Effect<void, never, _R> : <A, E, R>(self: Effect<A, E, R>) => Effect<void, never, R>;
|
|
6319
6623
|
/**
|
|
6320
6624
|
* Ignores the effect's failure cause, including defects and interruptions.
|
|
@@ -6335,11 +6639,11 @@ export declare const ignore: <Arg extends Effect<any, any, any> | {
|
|
|
6335
6639
|
* @category Error Handling
|
|
6336
6640
|
*/
|
|
6337
6641
|
export declare const ignoreCause: <Arg extends Effect<any, any, any> | {
|
|
6338
|
-
readonly log?: boolean |
|
|
6642
|
+
readonly log?: boolean | Severity | undefined;
|
|
6339
6643
|
} | undefined = {
|
|
6340
|
-
readonly log?: boolean |
|
|
6644
|
+
readonly log?: boolean | Severity | undefined;
|
|
6341
6645
|
}>(effectOrOptions?: Arg, options?: {
|
|
6342
|
-
readonly log?: boolean |
|
|
6646
|
+
readonly log?: boolean | Severity | undefined;
|
|
6343
6647
|
} | undefined) => [Arg] extends [Effect<infer _A, infer _E, infer _R>] ? Effect<void, never, _R> : <A, E, R>(self: Effect<A, E, R>) => Effect<void, never, R>;
|
|
6344
6648
|
/**
|
|
6345
6649
|
* Apply an `ExecutionPlan` to an effect, retrying with step-provided resources
|
|
@@ -6445,6 +6749,22 @@ export declare const withExecutionPlan: {
|
|
|
6445
6749
|
requirements: PlanR;
|
|
6446
6750
|
}>): Effect<A, E | PlanE, Exclude<R, Provides> | PlanR>;
|
|
6447
6751
|
};
|
|
6752
|
+
/**
|
|
6753
|
+
* Runs an effect and reports any errors to the configured `ErrorReporter`s.
|
|
6754
|
+
*
|
|
6755
|
+
* If the `defectsOnly` option is set to `true`, only defects (unrecoverable
|
|
6756
|
+
* errors) will be reported, while regular failures will be ignored.
|
|
6757
|
+
*
|
|
6758
|
+
* @since 4.0.0
|
|
6759
|
+
* @category Error Handling
|
|
6760
|
+
*/
|
|
6761
|
+
export declare const withErrorReporting: <Arg extends Effect<any, any, any> | {
|
|
6762
|
+
readonly defectsOnly?: boolean | undefined;
|
|
6763
|
+
} | undefined = {
|
|
6764
|
+
readonly defectsOnly?: boolean | undefined;
|
|
6765
|
+
}>(effectOrOptions: Arg, options?: {
|
|
6766
|
+
readonly defectsOnly?: boolean | undefined;
|
|
6767
|
+
} | undefined) => [Arg] extends [Effect<infer _A, infer _E, infer _R>] ? Arg : <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
|
|
6448
6768
|
/**
|
|
6449
6769
|
* Replaces the original failure with a success value, ensuring the effect
|
|
6450
6770
|
* cannot fail.
|
|
@@ -6665,7 +6985,7 @@ export declare const timeout: {
|
|
|
6665
6985
|
* @since 2.0.0
|
|
6666
6986
|
* @category Delays & Timeouts
|
|
6667
6987
|
*/
|
|
6668
|
-
(duration: Duration.
|
|
6988
|
+
(duration: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E | Cause.TimeoutError, R>;
|
|
6669
6989
|
/**
|
|
6670
6990
|
* Adds a time limit to an effect, triggering a timeout if the effect exceeds
|
|
6671
6991
|
* the duration.
|
|
@@ -6712,7 +7032,7 @@ export declare const timeout: {
|
|
|
6712
7032
|
* @since 2.0.0
|
|
6713
7033
|
* @category Delays & Timeouts
|
|
6714
7034
|
*/
|
|
6715
|
-
<A, E, R>(self: Effect<A, E, R>, duration: Duration.
|
|
7035
|
+
<A, E, R>(self: Effect<A, E, R>, duration: Duration.Input): Effect<A, E | Cause.TimeoutError, R>;
|
|
6716
7036
|
};
|
|
6717
7037
|
/**
|
|
6718
7038
|
* Handles timeouts by returning an `Option` that represents either the result
|
|
@@ -6813,7 +7133,7 @@ export declare const timeoutOption: {
|
|
|
6813
7133
|
* @since 3.1.0
|
|
6814
7134
|
* @category Delays & Timeouts
|
|
6815
7135
|
*/
|
|
6816
|
-
(duration: Duration.
|
|
7136
|
+
(duration: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<Option<A>, E, R>;
|
|
6817
7137
|
/**
|
|
6818
7138
|
* Handles timeouts by returning an `Option` that represents either the result
|
|
6819
7139
|
* or a timeout.
|
|
@@ -6863,7 +7183,7 @@ export declare const timeoutOption: {
|
|
|
6863
7183
|
* @since 3.1.0
|
|
6864
7184
|
* @category Delays & Timeouts
|
|
6865
7185
|
*/
|
|
6866
|
-
<A, E, R>(self: Effect<A, E, R>, duration: Duration.
|
|
7186
|
+
<A, E, R>(self: Effect<A, E, R>, duration: Duration.Input): Effect<Option<A>, E, R>;
|
|
6867
7187
|
};
|
|
6868
7188
|
/**
|
|
6869
7189
|
* Applies a timeout to an effect, with a fallback effect executed if the timeout is reached.
|
|
@@ -6939,7 +7259,7 @@ export declare const timeoutOrElse: {
|
|
|
6939
7259
|
* @category Delays & Timeouts
|
|
6940
7260
|
*/
|
|
6941
7261
|
<A2, E2, R2>(options: {
|
|
6942
|
-
readonly duration: Duration.
|
|
7262
|
+
readonly duration: Duration.Input;
|
|
6943
7263
|
readonly onTimeout: LazyArg<Effect<A2, E2, R2>>;
|
|
6944
7264
|
}): <A, E, R>(self: Effect<A, E, R>) => Effect<A | A2, E | E2, R | R2>;
|
|
6945
7265
|
/**
|
|
@@ -6979,7 +7299,7 @@ export declare const timeoutOrElse: {
|
|
|
6979
7299
|
* @category Delays & Timeouts
|
|
6980
7300
|
*/
|
|
6981
7301
|
<A, E, R, A2, E2, R2>(self: Effect<A, E, R>, options: {
|
|
6982
|
-
readonly duration: Duration.
|
|
7302
|
+
readonly duration: Duration.Input;
|
|
6983
7303
|
readonly onTimeout: LazyArg<Effect<A2, E2, R2>>;
|
|
6984
7304
|
}): Effect<A | A2, E | E2, R | R2>;
|
|
6985
7305
|
};
|
|
@@ -7024,7 +7344,7 @@ export declare const delay: {
|
|
|
7024
7344
|
* @since 2.0.0
|
|
7025
7345
|
* @category Delays & Timeouts
|
|
7026
7346
|
*/
|
|
7027
|
-
(duration: Duration.
|
|
7347
|
+
(duration: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
|
|
7028
7348
|
/**
|
|
7029
7349
|
* Returns an effect that is delayed from this effect by the specified
|
|
7030
7350
|
* `Duration`.
|
|
@@ -7045,7 +7365,7 @@ export declare const delay: {
|
|
|
7045
7365
|
* @since 2.0.0
|
|
7046
7366
|
* @category Delays & Timeouts
|
|
7047
7367
|
*/
|
|
7048
|
-
<A, E, R>(self: Effect<A, E, R>, duration: Duration.
|
|
7368
|
+
<A, E, R>(self: Effect<A, E, R>, duration: Duration.Input): Effect<A, E, R>;
|
|
7049
7369
|
};
|
|
7050
7370
|
/**
|
|
7051
7371
|
* Returns an effect that suspends for the specified duration. This method is
|
|
@@ -7069,7 +7389,7 @@ export declare const delay: {
|
|
|
7069
7389
|
* @since 2.0.0
|
|
7070
7390
|
* @category Delays & Timeouts
|
|
7071
7391
|
*/
|
|
7072
|
-
export declare const sleep: (duration: Duration.
|
|
7392
|
+
export declare const sleep: (duration: Duration.Input) => Effect<void>;
|
|
7073
7393
|
/**
|
|
7074
7394
|
* Measures the runtime of an effect and returns the duration with its result.
|
|
7075
7395
|
*
|
|
@@ -11385,7 +11705,7 @@ export declare const cachedWithTTL: {
|
|
|
11385
11705
|
* @since 2.0.0
|
|
11386
11706
|
* @category Caching
|
|
11387
11707
|
*/
|
|
11388
|
-
(timeToLive: Duration.
|
|
11708
|
+
(timeToLive: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<Effect<A, E, R>>;
|
|
11389
11709
|
/**
|
|
11390
11710
|
* Returns an effect that caches its result for a specified `Duration`,
|
|
11391
11711
|
* known as "timeToLive" (TTL).
|
|
@@ -11452,7 +11772,7 @@ export declare const cachedWithTTL: {
|
|
|
11452
11772
|
* @since 2.0.0
|
|
11453
11773
|
* @category Caching
|
|
11454
11774
|
*/
|
|
11455
|
-
<A, E, R>(self: Effect<A, E, R>, timeToLive: Duration.
|
|
11775
|
+
<A, E, R>(self: Effect<A, E, R>, timeToLive: Duration.Input): Effect<Effect<A, E, R>>;
|
|
11456
11776
|
};
|
|
11457
11777
|
/**
|
|
11458
11778
|
* Caches an effect's result for a specified duration and allows manual
|
|
@@ -11593,7 +11913,7 @@ export declare const cachedInvalidateWithTTL: {
|
|
|
11593
11913
|
* @since 2.0.0
|
|
11594
11914
|
* @category Caching
|
|
11595
11915
|
*/
|
|
11596
|
-
(timeToLive: Duration.
|
|
11916
|
+
(timeToLive: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<[Effect<A, E, R>, Effect<void>]>;
|
|
11597
11917
|
/**
|
|
11598
11918
|
* Caches an effect's result for a specified duration and allows manual
|
|
11599
11919
|
* invalidation before expiration.
|
|
@@ -11663,7 +11983,7 @@ export declare const cachedInvalidateWithTTL: {
|
|
|
11663
11983
|
* @since 2.0.0
|
|
11664
11984
|
* @category Caching
|
|
11665
11985
|
*/
|
|
11666
|
-
<A, E, R>(self: Effect<A, E, R>, timeToLive: Duration.
|
|
11986
|
+
<A, E, R>(self: Effect<A, E, R>, timeToLive: Duration.Input): Effect<[Effect<A, E, R>, Effect<void>]>;
|
|
11667
11987
|
};
|
|
11668
11988
|
/**
|
|
11669
11989
|
* Returns an effect that is immediately interrupted.
|
|
@@ -11863,232 +12183,6 @@ export declare const uninterruptibleMask: <A, E, R>(f: (restore: <AX, EX, RX>(ef
|
|
|
11863
12183
|
* @category Interruption
|
|
11864
12184
|
*/
|
|
11865
12185
|
export declare const interruptibleMask: <A, E, R>(f: (restore: <AX, EX, RX>(effect: Effect<AX, EX, RX>) => Effect<AX, EX, RX>) => Effect<A, E, R>) => Effect<A, E, R>;
|
|
11866
|
-
/**
|
|
11867
|
-
* @category Semaphore
|
|
11868
|
-
* @since 2.0.0
|
|
11869
|
-
* @example
|
|
11870
|
-
* ```ts
|
|
11871
|
-
* import { Effect } from "effect"
|
|
11872
|
-
*
|
|
11873
|
-
* // Create and use a semaphore for controlling concurrent access
|
|
11874
|
-
* const program = Effect.gen(function*() {
|
|
11875
|
-
* const semaphore = yield* Effect.makeSemaphore(2)
|
|
11876
|
-
*
|
|
11877
|
-
* return yield* semaphore.withPermits(1)(
|
|
11878
|
-
* Effect.succeed("Resource accessed")
|
|
11879
|
-
* )
|
|
11880
|
-
* })
|
|
11881
|
-
* ```
|
|
11882
|
-
*/
|
|
11883
|
-
export interface Semaphore {
|
|
11884
|
-
/**
|
|
11885
|
-
* Adjusts the number of permits available in the semaphore.
|
|
11886
|
-
*/
|
|
11887
|
-
resize(permits: number): Effect<void>;
|
|
11888
|
-
/**
|
|
11889
|
-
* Runs an effect with the given number of permits and releases the permits
|
|
11890
|
-
* when the effect completes.
|
|
11891
|
-
*
|
|
11892
|
-
* **Details**
|
|
11893
|
-
*
|
|
11894
|
-
* This function acquires the specified number of permits before executing
|
|
11895
|
-
* the provided effect. Once the effect finishes, the permits are released.
|
|
11896
|
-
* If insufficient permits are available, the function will wait until they
|
|
11897
|
-
* are released by other tasks.
|
|
11898
|
-
*/
|
|
11899
|
-
withPermits(permits: number): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
|
|
11900
|
-
/**
|
|
11901
|
-
* Runs an effect with the given number of permits and releases the permits
|
|
11902
|
-
* when the effect completes.
|
|
11903
|
-
*
|
|
11904
|
-
* **Details**
|
|
11905
|
-
*
|
|
11906
|
-
* This function acquires the specified number of permits before executing
|
|
11907
|
-
* the provided effect. Once the effect finishes, the permits are released.
|
|
11908
|
-
* If insufficient permits are available, the function will wait until they
|
|
11909
|
-
* are released by other tasks.
|
|
11910
|
-
*/
|
|
11911
|
-
withPermit<A, E, R>(self: Effect<A, E, R>): Effect<A, E, R>;
|
|
11912
|
-
/**
|
|
11913
|
-
* Runs an effect only if the specified number of permits are immediately
|
|
11914
|
-
* available.
|
|
11915
|
-
*
|
|
11916
|
-
* **Details**
|
|
11917
|
-
*
|
|
11918
|
-
* This function attempts to acquire the specified number of permits. If they
|
|
11919
|
-
* are available, it runs the effect and releases the permits after the effect
|
|
11920
|
-
* completes. If permits are not available, the effect does not execute, and
|
|
11921
|
-
* the result is `Option.none`.
|
|
11922
|
-
*/
|
|
11923
|
-
withPermitsIfAvailable(permits: number): <A, E, R>(self: Effect<A, E, R>) => Effect<Option<A>, E, R>;
|
|
11924
|
-
/**
|
|
11925
|
-
* Acquires the specified number of permits and returns the resulting
|
|
11926
|
-
* available permits, suspending the task if they are not yet available.
|
|
11927
|
-
* Concurrent pending `take` calls are processed in a first-in, first-out manner.
|
|
11928
|
-
*/
|
|
11929
|
-
take(permits: number): Effect<number>;
|
|
11930
|
-
/**
|
|
11931
|
-
* Releases the specified number of permits and returns the resulting
|
|
11932
|
-
* available permits.
|
|
11933
|
-
*/
|
|
11934
|
-
release(permits: number): Effect<number>;
|
|
11935
|
-
/**
|
|
11936
|
-
* Releases all permits held by this semaphore and returns the resulting available permits.
|
|
11937
|
-
*/
|
|
11938
|
-
releaseAll: Effect<number>;
|
|
11939
|
-
}
|
|
11940
|
-
/**
|
|
11941
|
-
* Unsafely creates a new Semaphore.
|
|
11942
|
-
*
|
|
11943
|
-
* @example
|
|
11944
|
-
* ```ts
|
|
11945
|
-
* import { Effect } from "effect"
|
|
11946
|
-
*
|
|
11947
|
-
* const semaphore = Effect.makeSemaphoreUnsafe(3)
|
|
11948
|
-
*
|
|
11949
|
-
* const task = (id: number) =>
|
|
11950
|
-
* semaphore.withPermits(1)(
|
|
11951
|
-
* Effect.gen(function*() {
|
|
11952
|
-
* yield* Effect.log(`Task ${id} started`)
|
|
11953
|
-
* yield* Effect.sleep("1 second")
|
|
11954
|
-
* yield* Effect.log(`Task ${id} completed`)
|
|
11955
|
-
* })
|
|
11956
|
-
* )
|
|
11957
|
-
*
|
|
11958
|
-
* // Only 3 tasks can run concurrently
|
|
11959
|
-
* const program = Effect.all([
|
|
11960
|
-
* task(1),
|
|
11961
|
-
* task(2),
|
|
11962
|
-
* task(3),
|
|
11963
|
-
* task(4),
|
|
11964
|
-
* task(5)
|
|
11965
|
-
* ], { concurrency: "unbounded" })
|
|
11966
|
-
* ```
|
|
11967
|
-
*
|
|
11968
|
-
* @since 2.0.0
|
|
11969
|
-
* @category Semaphore
|
|
11970
|
-
*/
|
|
11971
|
-
export declare const makeSemaphoreUnsafe: (permits: number) => Semaphore;
|
|
11972
|
-
/**
|
|
11973
|
-
* Creates a new Semaphore.
|
|
11974
|
-
*
|
|
11975
|
-
* @example
|
|
11976
|
-
* ```ts
|
|
11977
|
-
* import { Effect } from "effect"
|
|
11978
|
-
*
|
|
11979
|
-
* const program = Effect.gen(function*() {
|
|
11980
|
-
* const semaphore = yield* Effect.makeSemaphore(2)
|
|
11981
|
-
*
|
|
11982
|
-
* const task = (id: number) =>
|
|
11983
|
-
* semaphore.withPermits(1)(
|
|
11984
|
-
* Effect.gen(function*() {
|
|
11985
|
-
* yield* Effect.log(`Task ${id} acquired permit`)
|
|
11986
|
-
* yield* Effect.sleep("1 second")
|
|
11987
|
-
* yield* Effect.log(`Task ${id} releasing permit`)
|
|
11988
|
-
* })
|
|
11989
|
-
* )
|
|
11990
|
-
*
|
|
11991
|
-
* // Run 4 tasks, but only 2 can run concurrently
|
|
11992
|
-
* yield* Effect.all([task(1), task(2), task(3), task(4)])
|
|
11993
|
-
* })
|
|
11994
|
-
* ```
|
|
11995
|
-
*
|
|
11996
|
-
* @since 2.0.0
|
|
11997
|
-
* @category Semaphore
|
|
11998
|
-
*/
|
|
11999
|
-
export declare const makeSemaphore: (permits: number) => Effect<Semaphore>;
|
|
12000
|
-
/**
|
|
12001
|
-
* @category Latch
|
|
12002
|
-
* @since 3.8.0
|
|
12003
|
-
* @example
|
|
12004
|
-
* ```ts
|
|
12005
|
-
* import { Effect } from "effect"
|
|
12006
|
-
*
|
|
12007
|
-
* // Create and use a latch for coordination between fibers
|
|
12008
|
-
* const program = Effect.gen(function*() {
|
|
12009
|
-
* const latch = yield* Effect.makeLatch()
|
|
12010
|
-
*
|
|
12011
|
-
* // Wait for the latch to be opened
|
|
12012
|
-
* yield* latch.await
|
|
12013
|
-
*
|
|
12014
|
-
* return "Latch was opened!"
|
|
12015
|
-
* })
|
|
12016
|
-
* ```
|
|
12017
|
-
*/
|
|
12018
|
-
export interface Latch {
|
|
12019
|
-
/** open the latch, releasing all fibers waiting on it */
|
|
12020
|
-
readonly open: Effect<boolean>;
|
|
12021
|
-
/** open the latch, releasing all fibers waiting on it */
|
|
12022
|
-
readonly openUnsafe: () => boolean;
|
|
12023
|
-
/** release all fibers waiting on the latch, without opening it */
|
|
12024
|
-
readonly release: Effect<boolean>;
|
|
12025
|
-
/** wait for the latch to be opened */
|
|
12026
|
-
readonly await: Effect<void>;
|
|
12027
|
-
/** close the latch */
|
|
12028
|
-
readonly close: Effect<boolean>;
|
|
12029
|
-
/** close the latch */
|
|
12030
|
-
readonly closeUnsafe: () => boolean;
|
|
12031
|
-
/** only run the given effect when the latch is open */
|
|
12032
|
-
readonly whenOpen: <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
|
|
12033
|
-
}
|
|
12034
|
-
/**
|
|
12035
|
-
* Creates a new Latch.
|
|
12036
|
-
*
|
|
12037
|
-
* @example
|
|
12038
|
-
* ```ts
|
|
12039
|
-
* import { Effect } from "effect"
|
|
12040
|
-
*
|
|
12041
|
-
* const latch = Effect.makeLatchUnsafe(false)
|
|
12042
|
-
*
|
|
12043
|
-
* const waiter = Effect.gen(function*() {
|
|
12044
|
-
* yield* Effect.log("Waiting for latch to open...")
|
|
12045
|
-
* yield* latch.await
|
|
12046
|
-
* yield* Effect.log("Latch opened! Continuing...")
|
|
12047
|
-
* })
|
|
12048
|
-
*
|
|
12049
|
-
* const opener = Effect.gen(function*() {
|
|
12050
|
-
* yield* Effect.sleep("2 seconds")
|
|
12051
|
-
* yield* Effect.log("Opening latch...")
|
|
12052
|
-
* yield* latch.open
|
|
12053
|
-
* })
|
|
12054
|
-
*
|
|
12055
|
-
* const program = Effect.all([waiter, opener])
|
|
12056
|
-
* ```
|
|
12057
|
-
*
|
|
12058
|
-
* @category Latch
|
|
12059
|
-
* @since 3.8.0
|
|
12060
|
-
*/
|
|
12061
|
-
export declare const makeLatchUnsafe: (open?: boolean | undefined) => Latch;
|
|
12062
|
-
/**
|
|
12063
|
-
* Creates a new Latch.
|
|
12064
|
-
*
|
|
12065
|
-
* @example
|
|
12066
|
-
* ```ts
|
|
12067
|
-
* import { Effect } from "effect"
|
|
12068
|
-
*
|
|
12069
|
-
* const program = Effect.gen(function*() {
|
|
12070
|
-
* const latch = yield* Effect.makeLatch(false)
|
|
12071
|
-
*
|
|
12072
|
-
* const waiter = Effect.gen(function*() {
|
|
12073
|
-
* yield* Effect.log("Waiting for latch to open...")
|
|
12074
|
-
* yield* latch.await
|
|
12075
|
-
* yield* Effect.log("Latch opened! Continuing...")
|
|
12076
|
-
* })
|
|
12077
|
-
*
|
|
12078
|
-
* const opener = Effect.gen(function*() {
|
|
12079
|
-
* yield* Effect.sleep("2 seconds")
|
|
12080
|
-
* yield* Effect.log("Opening latch...")
|
|
12081
|
-
* yield* latch.open
|
|
12082
|
-
* })
|
|
12083
|
-
*
|
|
12084
|
-
* yield* Effect.all([waiter, opener])
|
|
12085
|
-
* })
|
|
12086
|
-
* ```
|
|
12087
|
-
*
|
|
12088
|
-
* @category Latch
|
|
12089
|
-
* @since 3.8.0
|
|
12090
|
-
*/
|
|
12091
|
-
export declare const makeLatch: (open?: boolean | undefined) => Effect<Latch>;
|
|
12092
12186
|
/**
|
|
12093
12187
|
* @since 2.0.0
|
|
12094
12188
|
* @category Repetition / Recursion
|
|
@@ -15745,7 +15839,7 @@ export declare const clockWith: <A, E, R>(f: (clock: Clock) => Effect<A, E, R>)
|
|
|
15745
15839
|
* @since 2.0.0
|
|
15746
15840
|
* @category Logging
|
|
15747
15841
|
*/
|
|
15748
|
-
export declare const logWithLevel: (level?:
|
|
15842
|
+
export declare const logWithLevel: (level?: Severity) => (...message: ReadonlyArray<any>) => Effect<void>;
|
|
15749
15843
|
/**
|
|
15750
15844
|
* Logs one or more messages using the default log level.
|
|
15751
15845
|
*
|