effect 4.0.0-beta.0 → 4.0.0-beta.10
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.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 +175 -240
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +73 -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/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 +27 -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 +4 -4
- package/dist/Logger.d.ts.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/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/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/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 +19 -19
- 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 +499 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +499 -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 +37 -22
- package/dist/internal/effect.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/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/Prompt.js +2 -2
- package/dist/unstable/cli/Prompt.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/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 +18 -26
- 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 +6 -6
- package/dist/unstable/http/HttpServerResponse.js +1 -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 +5 -5
- 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/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/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/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 +5 -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 +2 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +2 -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 +6 -4
- 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 +202 -261
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- 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 +31 -0
- package/src/Logger.ts +5 -5
- 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/Random.ts +33 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Reducer.ts +166 -7
- 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/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 +43 -42
- 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 +502 -20
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +70 -37
- 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 +3 -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/Prompt.ts +2 -2
- 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/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 +17 -25
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +5 -10
- package/src/unstable/http/HttpServerResponse.ts +1 -1
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +20 -5
- package/src/unstable/httpapi/HttpApiBuilder.ts +5 -5
- package/src/unstable/httpapi/HttpApiClient.ts +3 -3
- package/src/unstable/httpapi/HttpApiEndpoint.ts +47 -72
- 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 +4 -4
- 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/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 +6 -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 +3 -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
|
@@ -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
|
/**
|
|
@@ -1352,6 +1352,90 @@ export declare const callback: <A, E = never, R = never>(register: (this: Schedu
|
|
|
1352
1352
|
* @category Creating Effects
|
|
1353
1353
|
*/
|
|
1354
1354
|
export declare const never: Effect<never>;
|
|
1355
|
+
/**
|
|
1356
|
+
* An `Effect` containing an empty record `{}`, used as the starting point for
|
|
1357
|
+
* do notation chains.
|
|
1358
|
+
*
|
|
1359
|
+
* @example
|
|
1360
|
+
* ```ts
|
|
1361
|
+
* import { Effect } from "effect"
|
|
1362
|
+
* import { pipe } from "effect/Function"
|
|
1363
|
+
*
|
|
1364
|
+
* const program = pipe(
|
|
1365
|
+
* Effect.Do,
|
|
1366
|
+
* Effect.bind("x", () => Effect.succeed(2)),
|
|
1367
|
+
* Effect.bind("y", ({ x }) => Effect.succeed(x + 1)),
|
|
1368
|
+
* Effect.let("sum", ({ x, y }) => x + y)
|
|
1369
|
+
* )
|
|
1370
|
+
* ```
|
|
1371
|
+
*
|
|
1372
|
+
* @since 4.0.0
|
|
1373
|
+
* @category Do notation
|
|
1374
|
+
*/
|
|
1375
|
+
export declare const Do: Effect<{}>;
|
|
1376
|
+
/**
|
|
1377
|
+
* Gives a name to the success value of an `Effect`, creating a single-key
|
|
1378
|
+
* record used in do notation pipelines.
|
|
1379
|
+
*
|
|
1380
|
+
* @since 4.0.0
|
|
1381
|
+
* @category Do notation
|
|
1382
|
+
*/
|
|
1383
|
+
export declare const bindTo: {
|
|
1384
|
+
/**
|
|
1385
|
+
* Gives a name to the success value of an `Effect`, creating a single-key
|
|
1386
|
+
* record used in do notation pipelines.
|
|
1387
|
+
*
|
|
1388
|
+
* @since 4.0.0
|
|
1389
|
+
* @category Do notation
|
|
1390
|
+
*/
|
|
1391
|
+
<N extends string>(name: N): <A, E, R>(self: Effect<A, E, R>) => Effect<{
|
|
1392
|
+
[K in N]: A;
|
|
1393
|
+
}, E, R>;
|
|
1394
|
+
/**
|
|
1395
|
+
* Gives a name to the success value of an `Effect`, creating a single-key
|
|
1396
|
+
* record used in do notation pipelines.
|
|
1397
|
+
*
|
|
1398
|
+
* @since 4.0.0
|
|
1399
|
+
* @category Do notation
|
|
1400
|
+
*/
|
|
1401
|
+
<A, E, R, N extends string>(self: Effect<A, E, R>, name: N): Effect<{
|
|
1402
|
+
[K in N]: A;
|
|
1403
|
+
}, E, R>;
|
|
1404
|
+
};
|
|
1405
|
+
declare const let_: {
|
|
1406
|
+
<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>;
|
|
1407
|
+
<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>;
|
|
1408
|
+
};
|
|
1409
|
+
export {
|
|
1410
|
+
/**
|
|
1411
|
+
* Adds a computed plain value to the do notation record.
|
|
1412
|
+
*
|
|
1413
|
+
* @since 4.0.0
|
|
1414
|
+
* @category Do notation
|
|
1415
|
+
*/
|
|
1416
|
+
let_ as let };
|
|
1417
|
+
/**
|
|
1418
|
+
* Adds an `Effect` value to the do notation record under a given name.
|
|
1419
|
+
*
|
|
1420
|
+
* @since 4.0.0
|
|
1421
|
+
* @category Do notation
|
|
1422
|
+
*/
|
|
1423
|
+
export declare const bind: {
|
|
1424
|
+
/**
|
|
1425
|
+
* Adds an `Effect` value to the do notation record under a given name.
|
|
1426
|
+
*
|
|
1427
|
+
* @since 4.0.0
|
|
1428
|
+
* @category Do notation
|
|
1429
|
+
*/
|
|
1430
|
+
<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>;
|
|
1431
|
+
/**
|
|
1432
|
+
* Adds an `Effect` value to the do notation record under a given name.
|
|
1433
|
+
*
|
|
1434
|
+
* @since 4.0.0
|
|
1435
|
+
* @category Do notation
|
|
1436
|
+
*/
|
|
1437
|
+
<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>;
|
|
1438
|
+
};
|
|
1355
1439
|
/**
|
|
1356
1440
|
* Provides a way to write effectful code using generator functions, simplifying
|
|
1357
1441
|
* control flow and error handling.
|
|
@@ -4704,6 +4788,33 @@ export declare const catchIf: {
|
|
|
4704
4788
|
*/
|
|
4705
4789
|
<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
4790
|
};
|
|
4791
|
+
/**
|
|
4792
|
+
* Catches `NoSuchElementError` failures and converts them to `Option.none`.
|
|
4793
|
+
*
|
|
4794
|
+
* Success values become `Option.some`, `NoSuchElementError` becomes
|
|
4795
|
+
* `Option.none`, and all other errors are preserved.
|
|
4796
|
+
*
|
|
4797
|
+
* @example
|
|
4798
|
+
* ```ts
|
|
4799
|
+
* import { Effect, Option } from "effect"
|
|
4800
|
+
*
|
|
4801
|
+
* const some = Effect.fromNullishOr(1).pipe(Effect.catchNoSuchElement)
|
|
4802
|
+
* const none = Effect.fromNullishOr(null).pipe(Effect.catchNoSuchElement)
|
|
4803
|
+
*
|
|
4804
|
+
* Effect.runPromise(some).then(console.log) // { _id: 'Option', _tag: 'Some', value: 1 }
|
|
4805
|
+
* Effect.runPromise(none).then(console.log) // { _id: 'Option', _tag: 'None' }
|
|
4806
|
+
* ```
|
|
4807
|
+
*
|
|
4808
|
+
* **Previously Known As**
|
|
4809
|
+
*
|
|
4810
|
+
* This API replaces the following from Effect 3.x:
|
|
4811
|
+
*
|
|
4812
|
+
* - `Effect.optionFromOptional`
|
|
4813
|
+
*
|
|
4814
|
+
* @since 2.0.0
|
|
4815
|
+
* @category Error Handling
|
|
4816
|
+
*/
|
|
4817
|
+
export declare const catchNoSuchElement: <A, E, R>(self: Effect<A, E, R>) => Effect<Option<A>, Exclude<E, Cause.NoSuchElementError>, R>;
|
|
4707
4818
|
/**
|
|
4708
4819
|
* Recovers from specific failures based on a predicate.
|
|
4709
4820
|
*
|
|
@@ -6665,7 +6776,7 @@ export declare const timeout: {
|
|
|
6665
6776
|
* @since 2.0.0
|
|
6666
6777
|
* @category Delays & Timeouts
|
|
6667
6778
|
*/
|
|
6668
|
-
(duration: Duration.
|
|
6779
|
+
(duration: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E | Cause.TimeoutError, R>;
|
|
6669
6780
|
/**
|
|
6670
6781
|
* Adds a time limit to an effect, triggering a timeout if the effect exceeds
|
|
6671
6782
|
* the duration.
|
|
@@ -6712,7 +6823,7 @@ export declare const timeout: {
|
|
|
6712
6823
|
* @since 2.0.0
|
|
6713
6824
|
* @category Delays & Timeouts
|
|
6714
6825
|
*/
|
|
6715
|
-
<A, E, R>(self: Effect<A, E, R>, duration: Duration.
|
|
6826
|
+
<A, E, R>(self: Effect<A, E, R>, duration: Duration.Input): Effect<A, E | Cause.TimeoutError, R>;
|
|
6716
6827
|
};
|
|
6717
6828
|
/**
|
|
6718
6829
|
* Handles timeouts by returning an `Option` that represents either the result
|
|
@@ -6813,7 +6924,7 @@ export declare const timeoutOption: {
|
|
|
6813
6924
|
* @since 3.1.0
|
|
6814
6925
|
* @category Delays & Timeouts
|
|
6815
6926
|
*/
|
|
6816
|
-
(duration: Duration.
|
|
6927
|
+
(duration: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<Option<A>, E, R>;
|
|
6817
6928
|
/**
|
|
6818
6929
|
* Handles timeouts by returning an `Option` that represents either the result
|
|
6819
6930
|
* or a timeout.
|
|
@@ -6863,7 +6974,7 @@ export declare const timeoutOption: {
|
|
|
6863
6974
|
* @since 3.1.0
|
|
6864
6975
|
* @category Delays & Timeouts
|
|
6865
6976
|
*/
|
|
6866
|
-
<A, E, R>(self: Effect<A, E, R>, duration: Duration.
|
|
6977
|
+
<A, E, R>(self: Effect<A, E, R>, duration: Duration.Input): Effect<Option<A>, E, R>;
|
|
6867
6978
|
};
|
|
6868
6979
|
/**
|
|
6869
6980
|
* Applies a timeout to an effect, with a fallback effect executed if the timeout is reached.
|
|
@@ -6939,7 +7050,7 @@ export declare const timeoutOrElse: {
|
|
|
6939
7050
|
* @category Delays & Timeouts
|
|
6940
7051
|
*/
|
|
6941
7052
|
<A2, E2, R2>(options: {
|
|
6942
|
-
readonly duration: Duration.
|
|
7053
|
+
readonly duration: Duration.Input;
|
|
6943
7054
|
readonly onTimeout: LazyArg<Effect<A2, E2, R2>>;
|
|
6944
7055
|
}): <A, E, R>(self: Effect<A, E, R>) => Effect<A | A2, E | E2, R | R2>;
|
|
6945
7056
|
/**
|
|
@@ -6979,7 +7090,7 @@ export declare const timeoutOrElse: {
|
|
|
6979
7090
|
* @category Delays & Timeouts
|
|
6980
7091
|
*/
|
|
6981
7092
|
<A, E, R, A2, E2, R2>(self: Effect<A, E, R>, options: {
|
|
6982
|
-
readonly duration: Duration.
|
|
7093
|
+
readonly duration: Duration.Input;
|
|
6983
7094
|
readonly onTimeout: LazyArg<Effect<A2, E2, R2>>;
|
|
6984
7095
|
}): Effect<A | A2, E | E2, R | R2>;
|
|
6985
7096
|
};
|
|
@@ -7024,7 +7135,7 @@ export declare const delay: {
|
|
|
7024
7135
|
* @since 2.0.0
|
|
7025
7136
|
* @category Delays & Timeouts
|
|
7026
7137
|
*/
|
|
7027
|
-
(duration: Duration.
|
|
7138
|
+
(duration: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
|
|
7028
7139
|
/**
|
|
7029
7140
|
* Returns an effect that is delayed from this effect by the specified
|
|
7030
7141
|
* `Duration`.
|
|
@@ -7045,7 +7156,7 @@ export declare const delay: {
|
|
|
7045
7156
|
* @since 2.0.0
|
|
7046
7157
|
* @category Delays & Timeouts
|
|
7047
7158
|
*/
|
|
7048
|
-
<A, E, R>(self: Effect<A, E, R>, duration: Duration.
|
|
7159
|
+
<A, E, R>(self: Effect<A, E, R>, duration: Duration.Input): Effect<A, E, R>;
|
|
7049
7160
|
};
|
|
7050
7161
|
/**
|
|
7051
7162
|
* Returns an effect that suspends for the specified duration. This method is
|
|
@@ -7069,7 +7180,7 @@ export declare const delay: {
|
|
|
7069
7180
|
* @since 2.0.0
|
|
7070
7181
|
* @category Delays & Timeouts
|
|
7071
7182
|
*/
|
|
7072
|
-
export declare const sleep: (duration: Duration.
|
|
7183
|
+
export declare const sleep: (duration: Duration.Input) => Effect<void>;
|
|
7073
7184
|
/**
|
|
7074
7185
|
* Measures the runtime of an effect and returns the duration with its result.
|
|
7075
7186
|
*
|
|
@@ -7433,6 +7544,32 @@ export declare const filter: {
|
|
|
7433
7544
|
* @category Filtering
|
|
7434
7545
|
*/
|
|
7435
7546
|
<A>(predicate: Predicate.Predicate<NoInfer<A>>): (elements: Iterable<A>) => Effect<Array<A>>;
|
|
7547
|
+
/**
|
|
7548
|
+
* Filters elements of an iterable using a predicate, refinement, effectful
|
|
7549
|
+
* predicate, or `Filter.FilterEffect`.
|
|
7550
|
+
*
|
|
7551
|
+
* @example
|
|
7552
|
+
* ```ts
|
|
7553
|
+
* import { Effect, Filter, Result } from "effect"
|
|
7554
|
+
*
|
|
7555
|
+
* // Sync predicate
|
|
7556
|
+
* const evens = Effect.filter([1, 2, 3, 4], (n) => n % 2 === 0)
|
|
7557
|
+
*
|
|
7558
|
+
* // Effectful predicate
|
|
7559
|
+
* const checked = Effect.filter([1, 2, 3], (n) => Effect.succeed(n > 1))
|
|
7560
|
+
*
|
|
7561
|
+
* // FilterEffect
|
|
7562
|
+
* const mapped = Effect.filter([1, 2, 3, 4], (n) =>
|
|
7563
|
+
* Effect.succeed(n % 2 === 0 ? Result.succeed(n * 2) : Result.fail(n))
|
|
7564
|
+
* )
|
|
7565
|
+
* ```
|
|
7566
|
+
*
|
|
7567
|
+
* @since 2.0.0
|
|
7568
|
+
* @category Filtering
|
|
7569
|
+
*/
|
|
7570
|
+
<A, B, X>(filter: Filter.Filter<NoInfer<A>, B, X>, options?: {
|
|
7571
|
+
readonly concurrency?: Concurrency | undefined;
|
|
7572
|
+
}): (elements: Iterable<A>) => Effect<Array<B>>;
|
|
7436
7573
|
/**
|
|
7437
7574
|
* Filters elements of an iterable using a predicate, refinement, effectful
|
|
7438
7575
|
* predicate, or `Filter.FilterEffect`.
|
|
@@ -7533,6 +7670,30 @@ export declare const filter: {
|
|
|
7533
7670
|
* @category Filtering
|
|
7534
7671
|
*/
|
|
7535
7672
|
<A>(elements: Iterable<A>, predicate: Predicate.Predicate<A>): Effect<Array<A>>;
|
|
7673
|
+
/**
|
|
7674
|
+
* Filters elements of an iterable using a predicate, refinement, effectful
|
|
7675
|
+
* predicate, or `Filter.FilterEffect`.
|
|
7676
|
+
*
|
|
7677
|
+
* @example
|
|
7678
|
+
* ```ts
|
|
7679
|
+
* import { Effect, Filter, Result } from "effect"
|
|
7680
|
+
*
|
|
7681
|
+
* // Sync predicate
|
|
7682
|
+
* const evens = Effect.filter([1, 2, 3, 4], (n) => n % 2 === 0)
|
|
7683
|
+
*
|
|
7684
|
+
* // Effectful predicate
|
|
7685
|
+
* const checked = Effect.filter([1, 2, 3], (n) => Effect.succeed(n > 1))
|
|
7686
|
+
*
|
|
7687
|
+
* // FilterEffect
|
|
7688
|
+
* const mapped = Effect.filter([1, 2, 3, 4], (n) =>
|
|
7689
|
+
* Effect.succeed(n % 2 === 0 ? Result.succeed(n * 2) : Result.fail(n))
|
|
7690
|
+
* )
|
|
7691
|
+
* ```
|
|
7692
|
+
*
|
|
7693
|
+
* @since 2.0.0
|
|
7694
|
+
* @category Filtering
|
|
7695
|
+
*/
|
|
7696
|
+
<A, B, X>(elements: Iterable<A>, filter: Filter.Filter<NoInfer<A>, B, X>): Effect<Array<B>>;
|
|
7536
7697
|
/**
|
|
7537
7698
|
* Filters elements of an iterable using a predicate, refinement, effectful
|
|
7538
7699
|
* predicate, or `Filter.FilterEffect`.
|
|
@@ -11335,7 +11496,7 @@ export declare const cachedWithTTL: {
|
|
|
11335
11496
|
* @since 2.0.0
|
|
11336
11497
|
* @category Caching
|
|
11337
11498
|
*/
|
|
11338
|
-
(timeToLive: Duration.
|
|
11499
|
+
(timeToLive: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<Effect<A, E, R>>;
|
|
11339
11500
|
/**
|
|
11340
11501
|
* Returns an effect that caches its result for a specified `Duration`,
|
|
11341
11502
|
* known as "timeToLive" (TTL).
|
|
@@ -11402,7 +11563,7 @@ export declare const cachedWithTTL: {
|
|
|
11402
11563
|
* @since 2.0.0
|
|
11403
11564
|
* @category Caching
|
|
11404
11565
|
*/
|
|
11405
|
-
<A, E, R>(self: Effect<A, E, R>, timeToLive: Duration.
|
|
11566
|
+
<A, E, R>(self: Effect<A, E, R>, timeToLive: Duration.Input): Effect<Effect<A, E, R>>;
|
|
11406
11567
|
};
|
|
11407
11568
|
/**
|
|
11408
11569
|
* Caches an effect's result for a specified duration and allows manual
|
|
@@ -11543,7 +11704,7 @@ export declare const cachedInvalidateWithTTL: {
|
|
|
11543
11704
|
* @since 2.0.0
|
|
11544
11705
|
* @category Caching
|
|
11545
11706
|
*/
|
|
11546
|
-
(timeToLive: Duration.
|
|
11707
|
+
(timeToLive: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<[Effect<A, E, R>, Effect<void>]>;
|
|
11547
11708
|
/**
|
|
11548
11709
|
* Caches an effect's result for a specified duration and allows manual
|
|
11549
11710
|
* invalidation before expiration.
|
|
@@ -11613,7 +11774,7 @@ export declare const cachedInvalidateWithTTL: {
|
|
|
11613
11774
|
* @since 2.0.0
|
|
11614
11775
|
* @category Caching
|
|
11615
11776
|
*/
|
|
11616
|
-
<A, E, R>(self: Effect<A, E, R>, timeToLive: Duration.
|
|
11777
|
+
<A, E, R>(self: Effect<A, E, R>, timeToLive: Duration.Input): Effect<[Effect<A, E, R>, Effect<void>]>;
|
|
11617
11778
|
};
|
|
11618
11779
|
/**
|
|
11619
11780
|
* Returns an effect that is immediately interrupted.
|
|
@@ -11813,232 +11974,6 @@ export declare const uninterruptibleMask: <A, E, R>(f: (restore: <AX, EX, RX>(ef
|
|
|
11813
11974
|
* @category Interruption
|
|
11814
11975
|
*/
|
|
11815
11976
|
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>;
|
|
11816
|
-
/**
|
|
11817
|
-
* @category Semaphore
|
|
11818
|
-
* @since 2.0.0
|
|
11819
|
-
* @example
|
|
11820
|
-
* ```ts
|
|
11821
|
-
* import { Effect } from "effect"
|
|
11822
|
-
*
|
|
11823
|
-
* // Create and use a semaphore for controlling concurrent access
|
|
11824
|
-
* const program = Effect.gen(function*() {
|
|
11825
|
-
* const semaphore = yield* Effect.makeSemaphore(2)
|
|
11826
|
-
*
|
|
11827
|
-
* return yield* semaphore.withPermits(1)(
|
|
11828
|
-
* Effect.succeed("Resource accessed")
|
|
11829
|
-
* )
|
|
11830
|
-
* })
|
|
11831
|
-
* ```
|
|
11832
|
-
*/
|
|
11833
|
-
export interface Semaphore {
|
|
11834
|
-
/**
|
|
11835
|
-
* Adjusts the number of permits available in the semaphore.
|
|
11836
|
-
*/
|
|
11837
|
-
resize(permits: number): Effect<void>;
|
|
11838
|
-
/**
|
|
11839
|
-
* Runs an effect with the given number of permits and releases the permits
|
|
11840
|
-
* when the effect completes.
|
|
11841
|
-
*
|
|
11842
|
-
* **Details**
|
|
11843
|
-
*
|
|
11844
|
-
* This function acquires the specified number of permits before executing
|
|
11845
|
-
* the provided effect. Once the effect finishes, the permits are released.
|
|
11846
|
-
* If insufficient permits are available, the function will wait until they
|
|
11847
|
-
* are released by other tasks.
|
|
11848
|
-
*/
|
|
11849
|
-
withPermits(permits: number): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
|
|
11850
|
-
/**
|
|
11851
|
-
* Runs an effect with the given number of permits and releases the permits
|
|
11852
|
-
* when the effect completes.
|
|
11853
|
-
*
|
|
11854
|
-
* **Details**
|
|
11855
|
-
*
|
|
11856
|
-
* This function acquires the specified number of permits before executing
|
|
11857
|
-
* the provided effect. Once the effect finishes, the permits are released.
|
|
11858
|
-
* If insufficient permits are available, the function will wait until they
|
|
11859
|
-
* are released by other tasks.
|
|
11860
|
-
*/
|
|
11861
|
-
withPermit<A, E, R>(self: Effect<A, E, R>): Effect<A, E, R>;
|
|
11862
|
-
/**
|
|
11863
|
-
* Runs an effect only if the specified number of permits are immediately
|
|
11864
|
-
* available.
|
|
11865
|
-
*
|
|
11866
|
-
* **Details**
|
|
11867
|
-
*
|
|
11868
|
-
* This function attempts to acquire the specified number of permits. If they
|
|
11869
|
-
* are available, it runs the effect and releases the permits after the effect
|
|
11870
|
-
* completes. If permits are not available, the effect does not execute, and
|
|
11871
|
-
* the result is `Option.none`.
|
|
11872
|
-
*/
|
|
11873
|
-
withPermitsIfAvailable(permits: number): <A, E, R>(self: Effect<A, E, R>) => Effect<Option<A>, E, R>;
|
|
11874
|
-
/**
|
|
11875
|
-
* Acquires the specified number of permits and returns the resulting
|
|
11876
|
-
* available permits, suspending the task if they are not yet available.
|
|
11877
|
-
* Concurrent pending `take` calls are processed in a first-in, first-out manner.
|
|
11878
|
-
*/
|
|
11879
|
-
take(permits: number): Effect<number>;
|
|
11880
|
-
/**
|
|
11881
|
-
* Releases the specified number of permits and returns the resulting
|
|
11882
|
-
* available permits.
|
|
11883
|
-
*/
|
|
11884
|
-
release(permits: number): Effect<number>;
|
|
11885
|
-
/**
|
|
11886
|
-
* Releases all permits held by this semaphore and returns the resulting available permits.
|
|
11887
|
-
*/
|
|
11888
|
-
releaseAll: Effect<number>;
|
|
11889
|
-
}
|
|
11890
|
-
/**
|
|
11891
|
-
* Unsafely creates a new Semaphore.
|
|
11892
|
-
*
|
|
11893
|
-
* @example
|
|
11894
|
-
* ```ts
|
|
11895
|
-
* import { Effect } from "effect"
|
|
11896
|
-
*
|
|
11897
|
-
* const semaphore = Effect.makeSemaphoreUnsafe(3)
|
|
11898
|
-
*
|
|
11899
|
-
* const task = (id: number) =>
|
|
11900
|
-
* semaphore.withPermits(1)(
|
|
11901
|
-
* Effect.gen(function*() {
|
|
11902
|
-
* yield* Effect.log(`Task ${id} started`)
|
|
11903
|
-
* yield* Effect.sleep("1 second")
|
|
11904
|
-
* yield* Effect.log(`Task ${id} completed`)
|
|
11905
|
-
* })
|
|
11906
|
-
* )
|
|
11907
|
-
*
|
|
11908
|
-
* // Only 3 tasks can run concurrently
|
|
11909
|
-
* const program = Effect.all([
|
|
11910
|
-
* task(1),
|
|
11911
|
-
* task(2),
|
|
11912
|
-
* task(3),
|
|
11913
|
-
* task(4),
|
|
11914
|
-
* task(5)
|
|
11915
|
-
* ], { concurrency: "unbounded" })
|
|
11916
|
-
* ```
|
|
11917
|
-
*
|
|
11918
|
-
* @since 2.0.0
|
|
11919
|
-
* @category Semaphore
|
|
11920
|
-
*/
|
|
11921
|
-
export declare const makeSemaphoreUnsafe: (permits: number) => Semaphore;
|
|
11922
|
-
/**
|
|
11923
|
-
* Creates a new Semaphore.
|
|
11924
|
-
*
|
|
11925
|
-
* @example
|
|
11926
|
-
* ```ts
|
|
11927
|
-
* import { Effect } from "effect"
|
|
11928
|
-
*
|
|
11929
|
-
* const program = Effect.gen(function*() {
|
|
11930
|
-
* const semaphore = yield* Effect.makeSemaphore(2)
|
|
11931
|
-
*
|
|
11932
|
-
* const task = (id: number) =>
|
|
11933
|
-
* semaphore.withPermits(1)(
|
|
11934
|
-
* Effect.gen(function*() {
|
|
11935
|
-
* yield* Effect.log(`Task ${id} acquired permit`)
|
|
11936
|
-
* yield* Effect.sleep("1 second")
|
|
11937
|
-
* yield* Effect.log(`Task ${id} releasing permit`)
|
|
11938
|
-
* })
|
|
11939
|
-
* )
|
|
11940
|
-
*
|
|
11941
|
-
* // Run 4 tasks, but only 2 can run concurrently
|
|
11942
|
-
* yield* Effect.all([task(1), task(2), task(3), task(4)])
|
|
11943
|
-
* })
|
|
11944
|
-
* ```
|
|
11945
|
-
*
|
|
11946
|
-
* @since 2.0.0
|
|
11947
|
-
* @category Semaphore
|
|
11948
|
-
*/
|
|
11949
|
-
export declare const makeSemaphore: (permits: number) => Effect<Semaphore>;
|
|
11950
|
-
/**
|
|
11951
|
-
* @category Latch
|
|
11952
|
-
* @since 3.8.0
|
|
11953
|
-
* @example
|
|
11954
|
-
* ```ts
|
|
11955
|
-
* import { Effect } from "effect"
|
|
11956
|
-
*
|
|
11957
|
-
* // Create and use a latch for coordination between fibers
|
|
11958
|
-
* const program = Effect.gen(function*() {
|
|
11959
|
-
* const latch = yield* Effect.makeLatch()
|
|
11960
|
-
*
|
|
11961
|
-
* // Wait for the latch to be opened
|
|
11962
|
-
* yield* latch.await
|
|
11963
|
-
*
|
|
11964
|
-
* return "Latch was opened!"
|
|
11965
|
-
* })
|
|
11966
|
-
* ```
|
|
11967
|
-
*/
|
|
11968
|
-
export interface Latch {
|
|
11969
|
-
/** open the latch, releasing all fibers waiting on it */
|
|
11970
|
-
readonly open: Effect<boolean>;
|
|
11971
|
-
/** open the latch, releasing all fibers waiting on it */
|
|
11972
|
-
readonly openUnsafe: () => boolean;
|
|
11973
|
-
/** release all fibers waiting on the latch, without opening it */
|
|
11974
|
-
readonly release: Effect<boolean>;
|
|
11975
|
-
/** wait for the latch to be opened */
|
|
11976
|
-
readonly await: Effect<void>;
|
|
11977
|
-
/** close the latch */
|
|
11978
|
-
readonly close: Effect<boolean>;
|
|
11979
|
-
/** close the latch */
|
|
11980
|
-
readonly closeUnsafe: () => boolean;
|
|
11981
|
-
/** only run the given effect when the latch is open */
|
|
11982
|
-
readonly whenOpen: <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
|
|
11983
|
-
}
|
|
11984
|
-
/**
|
|
11985
|
-
* Creates a new Latch.
|
|
11986
|
-
*
|
|
11987
|
-
* @example
|
|
11988
|
-
* ```ts
|
|
11989
|
-
* import { Effect } from "effect"
|
|
11990
|
-
*
|
|
11991
|
-
* const latch = Effect.makeLatchUnsafe(false)
|
|
11992
|
-
*
|
|
11993
|
-
* const waiter = Effect.gen(function*() {
|
|
11994
|
-
* yield* Effect.log("Waiting for latch to open...")
|
|
11995
|
-
* yield* latch.await
|
|
11996
|
-
* yield* Effect.log("Latch opened! Continuing...")
|
|
11997
|
-
* })
|
|
11998
|
-
*
|
|
11999
|
-
* const opener = Effect.gen(function*() {
|
|
12000
|
-
* yield* Effect.sleep("2 seconds")
|
|
12001
|
-
* yield* Effect.log("Opening latch...")
|
|
12002
|
-
* yield* latch.open
|
|
12003
|
-
* })
|
|
12004
|
-
*
|
|
12005
|
-
* const program = Effect.all([waiter, opener])
|
|
12006
|
-
* ```
|
|
12007
|
-
*
|
|
12008
|
-
* @category Latch
|
|
12009
|
-
* @since 3.8.0
|
|
12010
|
-
*/
|
|
12011
|
-
export declare const makeLatchUnsafe: (open?: boolean | undefined) => Latch;
|
|
12012
|
-
/**
|
|
12013
|
-
* Creates a new Latch.
|
|
12014
|
-
*
|
|
12015
|
-
* @example
|
|
12016
|
-
* ```ts
|
|
12017
|
-
* import { Effect } from "effect"
|
|
12018
|
-
*
|
|
12019
|
-
* const program = Effect.gen(function*() {
|
|
12020
|
-
* const latch = yield* Effect.makeLatch(false)
|
|
12021
|
-
*
|
|
12022
|
-
* const waiter = Effect.gen(function*() {
|
|
12023
|
-
* yield* Effect.log("Waiting for latch to open...")
|
|
12024
|
-
* yield* latch.await
|
|
12025
|
-
* yield* Effect.log("Latch opened! Continuing...")
|
|
12026
|
-
* })
|
|
12027
|
-
*
|
|
12028
|
-
* const opener = Effect.gen(function*() {
|
|
12029
|
-
* yield* Effect.sleep("2 seconds")
|
|
12030
|
-
* yield* Effect.log("Opening latch...")
|
|
12031
|
-
* yield* latch.open
|
|
12032
|
-
* })
|
|
12033
|
-
*
|
|
12034
|
-
* yield* Effect.all([waiter, opener])
|
|
12035
|
-
* })
|
|
12036
|
-
* ```
|
|
12037
|
-
*
|
|
12038
|
-
* @category Latch
|
|
12039
|
-
* @since 3.8.0
|
|
12040
|
-
*/
|
|
12041
|
-
export declare const makeLatch: (open?: boolean | undefined) => Effect<Latch>;
|
|
12042
11977
|
/**
|
|
12043
11978
|
* @since 2.0.0
|
|
12044
11979
|
* @category Repetition / Recursion
|