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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as Effect from "../../Effect.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as Encoding from "../../Encoding.js";
|
|
3
3
|
import * as Exit from "../../Exit.js";
|
|
4
4
|
import { dual } from "../../Function.js";
|
|
5
5
|
import * as Predicate from "../../Predicate.js";
|
|
@@ -107,7 +107,7 @@ export class TokenParsed extends /*#__PURE__*/Schema.Class("effect/workflow/Dura
|
|
|
107
107
|
* @since 4.0.0
|
|
108
108
|
*/
|
|
109
109
|
get asToken() {
|
|
110
|
-
return
|
|
110
|
+
return Encoding.encodeBase64Url(JSON.stringify([this.workflowName, this.executionId, this.deferredName]));
|
|
111
111
|
}
|
|
112
112
|
/**
|
|
113
113
|
* @since 4.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DurableDeferred.js","names":["Effect","
|
|
1
|
+
{"version":3,"file":"DurableDeferred.js","names":["Effect","Encoding","Exit","dual","Predicate","Schema","Getter","ServiceMap","Workflow","TypeId","make","name","options","successSchema","success","Void","errorSchema","error","Never","exitSchema","toCodecJson","Defect","withActivityAttempt","gen","attempt","CurrentAttempt","EngineTag","Service","InstanceTag","Reference","defaultValue","await_","fnUntraced","self","engine","instance","exit","wrapActivityResult","deferredResult","isUndefined","undefined","suspend","await","into","effect","servicesWith","services","get","onExit","suspended","deferredDone","workflowName","workflow","executionId","deferredName","raceAll","deferred","flatten","effects","TokenTypeId","Token","String","pipe","brand","TokenParsed","Class","asToken","encodeBase64Url","JSON","stringify","FromString","decodeTo","fromJsonString","Tuple","decode","decodeBase64UrlString","encode","transform","parsed","fromString","decodeSync","encodeSync","token","tokenFromExecutionId","tokenFromPayload","map","payload","done","succeed","value","fail","failCause","cause"],"sources":["../../../src/unstable/workflow/DurableDeferred.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -170,9 +170,9 @@ export interface CompleteSchema<Success extends Schema.Top, Error extends Schema
|
|
|
170
170
|
readonly success: Success;
|
|
171
171
|
readonly error: Error;
|
|
172
172
|
}
|
|
173
|
-
declare const Complete_base: new <A_1 extends Record<string, any> = {}>(args: import("../../Types.ts").
|
|
173
|
+
declare const Complete_base: new <A_1 extends Record<string, any> = {}>(args: import("../../Types.ts").MatchRecord<{ readonly [P in keyof A_1 as P extends "_tag" ? never : P]: A_1[P]; }, void, { readonly [P in keyof A_1 as P extends "_tag" ? never : P]: A_1[P]; }>) => Readonly<A_1> & {
|
|
174
174
|
readonly _tag: "Complete";
|
|
175
|
-
};
|
|
175
|
+
} & import("../../Pipeable.ts").Pipeable;
|
|
176
176
|
/**
|
|
177
177
|
* @since 4.0.0
|
|
178
178
|
* @category Result
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import type * as Cause from "../../Cause.ts";
|
|
5
5
|
import * as Effect from "../../Effect.ts";
|
|
6
6
|
import * as Exit from "../../Exit.ts";
|
|
7
|
+
import * as Latch from "../../Latch.ts";
|
|
7
8
|
import * as Schedule from "../../Schedule.ts";
|
|
8
9
|
import * as Schema from "../../Schema.ts";
|
|
9
10
|
import * as Scope from "../../Scope.ts";
|
|
@@ -100,7 +101,7 @@ declare const WorkflowInstance_base: ServiceMap.ServiceClass<WorkflowInstance, "
|
|
|
100
101
|
cause: Cause.Cause<never> | undefined;
|
|
101
102
|
readonly activityState: {
|
|
102
103
|
count: number;
|
|
103
|
-
readonly latch:
|
|
104
|
+
readonly latch: Latch.Latch;
|
|
104
105
|
};
|
|
105
106
|
}>;
|
|
106
107
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowEngine.d.ts","sourceRoot":"","sources":["../../../src/unstable/workflow/WorkflowEngine.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"WorkflowEngine.d.ts","sourceRoot":"","sources":["../../../src/unstable/workflow/WorkflowEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as Effect from "../../Effect.js";
|
|
2
2
|
import * as Exit from "../../Exit.js";
|
|
3
|
+
import * as Latch from "../../Latch.js";
|
|
3
4
|
import * as Option from "../../Option.js";
|
|
4
5
|
import * as Schedule from "../../Schedule.js";
|
|
5
6
|
import * as Schema from "../../Schema.js";
|
|
@@ -26,7 +27,7 @@ export class WorkflowInstance extends /*#__PURE__*/ServiceMap.Service()("effect/
|
|
|
26
27
|
cause: undefined,
|
|
27
28
|
activityState: {
|
|
28
29
|
count: 0,
|
|
29
|
-
latch:
|
|
30
|
+
latch: Latch.makeUnsafe()
|
|
30
31
|
}
|
|
31
32
|
});
|
|
32
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowEngine.js","names":["Effect","Exit","Option","Schedule","Schema","Scope","ServiceMap","Workflow","WorkflowEngine","Service","WorkflowInstance","initial","workflow","executionId","of","scope","makeUnsafe","suspended","interrupted","cause","undefined","activityState","count","latch","
|
|
1
|
+
{"version":3,"file":"WorkflowEngine.js","names":["Effect","Exit","Latch","Option","Schedule","Schema","Scope","ServiceMap","Workflow","WorkflowEngine","Service","WorkflowInstance","initial","workflow","executionId","of","scope","makeUnsafe","suspended","interrupted","cause","undefined","activityState","count","latch","options","register","fnUntraced","execute","services","payload","suspend","pipe","updateServices","input","merge","self","opts","suspendedRetrySchedule","defaultRetrySchedule","annotateCurrentSpan","result","parentInstance","serviceOption","isSome","instance","value","addFinalizer","_tag","void","interrupt","discard","run","parent","getOrUndefined","wrapActivityResult","exit","sleep","toStepWithSleep","catch","die","name","poll","resume","activityExecute","activity","attempt","orDie","decodeEffect","exitSchema","toJsonExit","Complete","deferredResult","deferred","withSpan","attributes","captureStackTrace","deferredDone","workflowName","deferredName","encodeEffect","_","scheduleClock","clock","exponential","either","spaced","map"],"sources":["../../../src/unstable/workflow/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.0.0-beta.
|
|
4
|
+
"version": "4.0.0-beta.10",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "The missing standard library for TypeScript, for writing production-grade software.",
|
|
7
7
|
"homepage": "https://effect.website",
|
|
@@ -29,12 +29,12 @@
|
|
|
29
29
|
"exports": {
|
|
30
30
|
"./package.json": "./package.json",
|
|
31
31
|
".": "./dist/index.js",
|
|
32
|
-
"./encoding": "./dist/encoding/index.js",
|
|
33
32
|
"./testing": "./dist/testing/index.js",
|
|
34
33
|
"./unstable/ai": "./dist/unstable/ai/index.js",
|
|
35
34
|
"./unstable/cli": "./dist/unstable/cli/index.js",
|
|
36
35
|
"./unstable/cluster": "./dist/unstable/cluster/index.js",
|
|
37
36
|
"./unstable/devtools": "./dist/unstable/devtools/index.js",
|
|
37
|
+
"./unstable/encoding": "./dist/unstable/encoding/index.js",
|
|
38
38
|
"./unstable/eventlog": "./dist/unstable/eventlog/index.js",
|
|
39
39
|
"./unstable/http": "./dist/unstable/http/index.js",
|
|
40
40
|
"./unstable/httpapi": "./dist/unstable/httpapi/index.js",
|
package/src/Cache.ts
CHANGED
|
@@ -178,7 +178,7 @@ export const makeWith = <
|
|
|
178
178
|
>(options: {
|
|
179
179
|
readonly lookup: (key: Key) => Effect.Effect<A, E, R>
|
|
180
180
|
readonly capacity: number
|
|
181
|
-
readonly timeToLive?: ((exit: Exit.Exit<A, E>, key: Key) => Duration.
|
|
181
|
+
readonly timeToLive?: ((exit: Exit.Exit<A, E>, key: Key) => Duration.Input) | undefined
|
|
182
182
|
readonly requireServicesAt?: ServiceMode | undefined
|
|
183
183
|
}): Effect.Effect<
|
|
184
184
|
Cache<Key, A, E, "lookup" extends ServiceMode ? R : never>,
|
|
@@ -195,7 +195,7 @@ export const makeWith = <
|
|
|
195
195
|
self.map = MutableHashMap.make()
|
|
196
196
|
self.capacity = options.capacity
|
|
197
197
|
self.timeToLive = options.timeToLive
|
|
198
|
-
? (exit: Exit.Exit<A, E>, key: Key) => Duration.
|
|
198
|
+
? (exit: Exit.Exit<A, E>, key: Key) => Duration.fromInputUnsafe(options.timeToLive!(exit, key))
|
|
199
199
|
: defaultTimeToLive
|
|
200
200
|
return effect.succeed(self as Cache<Key, A, E>)
|
|
201
201
|
})
|
|
@@ -263,7 +263,7 @@ export const make = <
|
|
|
263
263
|
options: {
|
|
264
264
|
readonly lookup: (key: Key) => Effect.Effect<A, E, R>
|
|
265
265
|
readonly capacity: number
|
|
266
|
-
readonly timeToLive?: Duration.
|
|
266
|
+
readonly timeToLive?: Duration.Input | undefined
|
|
267
267
|
readonly requireServicesAt?: ServiceMode | undefined
|
|
268
268
|
}
|
|
269
269
|
): Effect.Effect<
|
package/src/Cause.ts
CHANGED
|
@@ -1182,7 +1182,7 @@ export const pretty: <E>(cause: Cause<E>) => string = effect.causePretty
|
|
|
1182
1182
|
* @since 2.0.0
|
|
1183
1183
|
* @category errors
|
|
1184
1184
|
*/
|
|
1185
|
-
export interface YieldableError extends Error {
|
|
1185
|
+
export interface YieldableError extends Error, Pipeable {
|
|
1186
1186
|
[Symbol.iterator](): Effect.EffectIterator<this>
|
|
1187
1187
|
asEffect(): Effect.Effect<never, this, never>
|
|
1188
1188
|
}
|
package/src/Channel.ts
CHANGED
|
@@ -69,6 +69,7 @@ import { constant, constTrue, constVoid, dual, identity as identity_ } from "./F
|
|
|
69
69
|
import { ClockRef, endSpan } from "./internal/effect.ts"
|
|
70
70
|
import { addSpanStackTrace } from "./internal/tracer.ts"
|
|
71
71
|
import * as Iterable from "./Iterable.ts"
|
|
72
|
+
import * as Latch from "./Latch.ts"
|
|
72
73
|
import * as Layer from "./Layer.ts"
|
|
73
74
|
import type { LogLevel } from "./LogLevel.ts"
|
|
74
75
|
import * as Option from "./Option.ts"
|
|
@@ -83,6 +84,7 @@ import { TracerTimingEnabled } from "./References.ts"
|
|
|
83
84
|
import * as Result from "./Result.ts"
|
|
84
85
|
import * as Schedule from "./Schedule.ts"
|
|
85
86
|
import * as Scope from "./Scope.ts"
|
|
87
|
+
import * as Semaphore from "./Semaphore.ts"
|
|
86
88
|
import * as ServiceMap from "./ServiceMap.ts"
|
|
87
89
|
import * as String from "./String.ts"
|
|
88
90
|
import * as Take from "./Take.ts"
|
|
@@ -2084,7 +2086,7 @@ const mapEffectConcurrent = <
|
|
|
2084
2086
|
const trackFiber = Fiber.runIn(forkedScope)
|
|
2085
2087
|
|
|
2086
2088
|
if (options.unordered) {
|
|
2087
|
-
const semaphore =
|
|
2089
|
+
const semaphore = Semaphore.makeUnsafe(concurrencyN)
|
|
2088
2090
|
const release = constant(semaphore.release(1))
|
|
2089
2091
|
const handle = Effect.matchCauseEffect({
|
|
2090
2092
|
onFailure: (cause: Cause.Cause<EX>) => Effect.flatMap(Queue.failCause(queue, cause), release),
|
|
@@ -6631,8 +6633,8 @@ export const mergeAll: {
|
|
|
6631
6633
|
const concurrencyN = concurrency === "unbounded"
|
|
6632
6634
|
? Number.MAX_SAFE_INTEGER
|
|
6633
6635
|
: Math.max(1, concurrency)
|
|
6634
|
-
const semaphore = switch_ ? undefined :
|
|
6635
|
-
const doneLatch = yield*
|
|
6636
|
+
const semaphore = switch_ ? undefined : Semaphore.makeUnsafe(concurrencyN)
|
|
6637
|
+
const doneLatch = yield* Latch.make(true)
|
|
6636
6638
|
const fibers = new Set<Fiber.Fiber<any, any>>()
|
|
6637
6639
|
|
|
6638
6640
|
const queue = yield* Queue.bounded</**
|
|
@@ -9085,7 +9087,7 @@ export const toPull: <OutElem, OutErr, OutDone, Env>(
|
|
|
9085
9087
|
function*<OutElem, OutErr, OutDone, Env>(
|
|
9086
9088
|
self: Channel<OutElem, OutErr, OutDone, unknown, unknown, unknown, Env>
|
|
9087
9089
|
) {
|
|
9088
|
-
const semaphore =
|
|
9090
|
+
const semaphore = Semaphore.makeUnsafe(1)
|
|
9089
9091
|
const context = yield* Effect.services<Env | Scope.Scope>()
|
|
9090
9092
|
const scope = ServiceMap.get(context, Scope.Scope)
|
|
9091
9093
|
const pull = yield* toTransform(self)(Cause.done(), scope)
|
package/src/Combiner.ts
CHANGED
|
@@ -1,16 +1,92 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* A module for combining two values of the same type into one.
|
|
3
|
+
*
|
|
4
|
+
* A `Combiner<A>` wraps a single binary function `(self: A, that: A) => A`.
|
|
5
|
+
* It describes *how* two values merge but carries no initial/empty value
|
|
6
|
+
* (for that, see {@link Reducer} which extends `Combiner` with an
|
|
7
|
+
* `initialValue`).
|
|
8
|
+
*
|
|
9
|
+
* ## Mental model
|
|
10
|
+
*
|
|
11
|
+
* - **Combiner** – an object with a `combine(self, that)` method that returns
|
|
12
|
+
* a value of the same type.
|
|
13
|
+
* - **Argument order** – `self` is the "left" / accumulator side, `that` is
|
|
14
|
+
* the "right" / incoming side.
|
|
15
|
+
* - **No identity element** – unlike a monoid, a `Combiner` does not require
|
|
16
|
+
* a neutral element. Use {@link Reducer} when you need one.
|
|
17
|
+
* - **Purity** – all combiners produced by this module are pure; they never
|
|
18
|
+
* mutate their arguments.
|
|
19
|
+
* - **Composability** – combiners can be lifted into `Option`, `Struct`,
|
|
20
|
+
* `Tuple`, and other container types via helpers in those modules.
|
|
21
|
+
*
|
|
22
|
+
* ## Common tasks
|
|
23
|
+
*
|
|
24
|
+
* - Create a combiner from any binary function → {@link make}
|
|
25
|
+
* - Swap argument order → {@link flip}
|
|
26
|
+
* - Pick the smaller / larger of two values → {@link min} / {@link max}
|
|
27
|
+
* - Always keep the first or last value → {@link first} / {@link last}
|
|
28
|
+
* - Ignore both values and return a fixed result → {@link constant}
|
|
29
|
+
* - Insert a separator between combined values → {@link intercalate}
|
|
30
|
+
*
|
|
31
|
+
* ## Gotchas
|
|
32
|
+
*
|
|
33
|
+
* - `min` and `max` require an `Order<A>`, not a raw comparator. Import from
|
|
34
|
+
* e.g. `Number.Order` or `String.Order`.
|
|
35
|
+
* - `intercalate` is curried: call it with the separator first, then pass the
|
|
36
|
+
* base combiner.
|
|
37
|
+
* - A `Reducer` (which adds `initialValue`) is also a valid `Combiner` — you
|
|
38
|
+
* can pass a `Reducer` anywhere a `Combiner` is expected.
|
|
39
|
+
*
|
|
40
|
+
* ## Quickstart
|
|
41
|
+
*
|
|
42
|
+
* **Example** (combining strings with a separator)
|
|
43
|
+
*
|
|
44
|
+
* ```ts
|
|
45
|
+
* import { Combiner, String } from "effect"
|
|
46
|
+
*
|
|
47
|
+
* const csv = Combiner.intercalate(",")(String.ReducerConcat)
|
|
48
|
+
*
|
|
49
|
+
* console.log(csv.combine("a", "b"))
|
|
50
|
+
* // Output: "a,b"
|
|
51
|
+
*
|
|
52
|
+
* console.log(csv.combine(csv.combine("a", "b"), "c"))
|
|
53
|
+
* // Output: "a,b,c"
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* ## See also
|
|
57
|
+
*
|
|
58
|
+
* - {@link make} – the primary constructor
|
|
59
|
+
* - {@link Combiner} – the core interface
|
|
60
|
+
*
|
|
2
61
|
* @since 4.0.0
|
|
3
62
|
*/
|
|
4
63
|
import type * as Order from "./Order.ts"
|
|
5
64
|
|
|
6
65
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
66
|
+
* Represents a strategy for combining two values of the same type `A`.
|
|
67
|
+
*
|
|
68
|
+
* A `Combiner` contains a single `combine` method that takes two values and
|
|
69
|
+
* returns a merged result. It does not include an identity/empty value; use
|
|
70
|
+
* `Reducer` when you need one.
|
|
71
|
+
*
|
|
72
|
+
* When to use:
|
|
73
|
+
* - You need to describe how two values of the same type merge.
|
|
74
|
+
* - You want to pass a reusable combining strategy to library functions like
|
|
75
|
+
* `Struct.makeCombiner` or `Option.makeCombinerFailFast`.
|
|
76
|
+
* - You are building a `Reducer` and need to define the combining step first.
|
|
77
|
+
*
|
|
78
|
+
* **Example** (number addition combiner)
|
|
79
|
+
*
|
|
80
|
+
* ```ts
|
|
81
|
+
* import { Combiner } from "effect"
|
|
82
|
+
*
|
|
83
|
+
* const Sum = Combiner.make<number>((self, that) => self + that)
|
|
9
84
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
85
|
+
* console.log(Sum.combine(3, 4))
|
|
86
|
+
* // Output: 7
|
|
87
|
+
* ```
|
|
88
|
+
*
|
|
89
|
+
* @see {@link make} – create a `Combiner` from a function
|
|
14
90
|
*
|
|
15
91
|
* @category model
|
|
16
92
|
* @since 4.0.0
|
|
@@ -23,7 +99,29 @@ export interface Combiner<A> {
|
|
|
23
99
|
}
|
|
24
100
|
|
|
25
101
|
/**
|
|
26
|
-
* Creates a `Combiner` from a
|
|
102
|
+
* Creates a `Combiner` from a binary function.
|
|
103
|
+
*
|
|
104
|
+
* When to use:
|
|
105
|
+
* - You have a custom combining operation that is not covered by the built-in
|
|
106
|
+
* constructors (`min`, `max`, `first`, `last`, `constant`).
|
|
107
|
+
*
|
|
108
|
+
* Behavior:
|
|
109
|
+
* - Returns a new `Combiner` whose `combine` method delegates to the provided
|
|
110
|
+
* function.
|
|
111
|
+
* - Pure – the returned combiner does not mutate its arguments.
|
|
112
|
+
*
|
|
113
|
+
* **Example** (multiplying numbers)
|
|
114
|
+
*
|
|
115
|
+
* ```ts
|
|
116
|
+
* import { Combiner } from "effect"
|
|
117
|
+
*
|
|
118
|
+
* const Product = Combiner.make<number>((self, that) => self * that)
|
|
119
|
+
*
|
|
120
|
+
* console.log(Product.combine(3, 5))
|
|
121
|
+
* // Output: 15
|
|
122
|
+
* ```
|
|
123
|
+
*
|
|
124
|
+
* @see {@link Combiner} – the interface this creates
|
|
27
125
|
*
|
|
28
126
|
* @since 4.0.0
|
|
29
127
|
*/
|
|
@@ -32,6 +130,31 @@ export function make<A>(combine: (self: A, that: A) => A): Combiner<A> {
|
|
|
32
130
|
}
|
|
33
131
|
|
|
34
132
|
/**
|
|
133
|
+
* Reverses the argument order of a combiner's `combine` method.
|
|
134
|
+
*
|
|
135
|
+
* When to use:
|
|
136
|
+
* - You need the "right" value to act as the accumulator side.
|
|
137
|
+
* - You want to reverse the natural direction of a non-commutative combiner
|
|
138
|
+
* (e.g. string concatenation).
|
|
139
|
+
*
|
|
140
|
+
* Behavior:
|
|
141
|
+
* - Returns a new `Combiner` where `combine(self, that)` calls the original
|
|
142
|
+
* combiner as `combine(that, self)`.
|
|
143
|
+
* - Does not mutate the input combiner.
|
|
144
|
+
*
|
|
145
|
+
* **Example** (reversing string concatenation)
|
|
146
|
+
*
|
|
147
|
+
* ```ts
|
|
148
|
+
* import { Combiner, String } from "effect"
|
|
149
|
+
*
|
|
150
|
+
* const Prepend = Combiner.flip(String.ReducerConcat)
|
|
151
|
+
*
|
|
152
|
+
* console.log(Prepend.combine("a", "b"))
|
|
153
|
+
* // Output: "ba"
|
|
154
|
+
* ```
|
|
155
|
+
*
|
|
156
|
+
* @see {@link make}
|
|
157
|
+
*
|
|
35
158
|
* @since 4.0.0
|
|
36
159
|
*/
|
|
37
160
|
export function flip<A>(combiner: Combiner<A>): Combiner<A> {
|
|
@@ -39,7 +162,33 @@ export function flip<A>(combiner: Combiner<A>): Combiner<A> {
|
|
|
39
162
|
}
|
|
40
163
|
|
|
41
164
|
/**
|
|
42
|
-
* Creates a `Combiner` that returns the smaller of two values
|
|
165
|
+
* Creates a `Combiner` that returns the smaller of two values according to
|
|
166
|
+
* the provided `Order`.
|
|
167
|
+
*
|
|
168
|
+
* When to use:
|
|
169
|
+
* - You want to accumulate the minimum value across a collection.
|
|
170
|
+
* - You are building a `Reducer` that tracks the running minimum.
|
|
171
|
+
*
|
|
172
|
+
* Behavior:
|
|
173
|
+
* - Compares using the given `Order`. When values are equal, returns `that`
|
|
174
|
+
* (the second argument).
|
|
175
|
+
* - Pure – does not mutate either argument.
|
|
176
|
+
*
|
|
177
|
+
* **Example** (minimum of two numbers)
|
|
178
|
+
*
|
|
179
|
+
* ```ts
|
|
180
|
+
* import { Combiner, Number } from "effect"
|
|
181
|
+
*
|
|
182
|
+
* const Min = Combiner.min(Number.Order)
|
|
183
|
+
*
|
|
184
|
+
* console.log(Min.combine(3, 1))
|
|
185
|
+
* // Output: 1
|
|
186
|
+
*
|
|
187
|
+
* console.log(Min.combine(1, 3))
|
|
188
|
+
* // Output: 1
|
|
189
|
+
* ```
|
|
190
|
+
*
|
|
191
|
+
* @see {@link max}
|
|
43
192
|
*
|
|
44
193
|
* @since 4.0.0
|
|
45
194
|
*/
|
|
@@ -48,7 +197,33 @@ export function min<A>(order: Order.Order<A>): Combiner<A> {
|
|
|
48
197
|
}
|
|
49
198
|
|
|
50
199
|
/**
|
|
51
|
-
* Creates a `Combiner` that returns the larger of two values
|
|
200
|
+
* Creates a `Combiner` that returns the larger of two values according to
|
|
201
|
+
* the provided `Order`.
|
|
202
|
+
*
|
|
203
|
+
* When to use:
|
|
204
|
+
* - You want to accumulate the maximum value across a collection.
|
|
205
|
+
* - You are building a `Reducer` that tracks the running maximum.
|
|
206
|
+
*
|
|
207
|
+
* Behavior:
|
|
208
|
+
* - Compares using the given `Order`. When values are equal, returns `that`
|
|
209
|
+
* (the second argument).
|
|
210
|
+
* - Pure – does not mutate either argument.
|
|
211
|
+
*
|
|
212
|
+
* **Example** (maximum of two numbers)
|
|
213
|
+
*
|
|
214
|
+
* ```ts
|
|
215
|
+
* import { Combiner, Number } from "effect"
|
|
216
|
+
*
|
|
217
|
+
* const Max = Combiner.max(Number.Order)
|
|
218
|
+
*
|
|
219
|
+
* console.log(Max.combine(3, 1))
|
|
220
|
+
* // Output: 3
|
|
221
|
+
*
|
|
222
|
+
* console.log(Max.combine(1, 3))
|
|
223
|
+
* // Output: 3
|
|
224
|
+
* ```
|
|
225
|
+
*
|
|
226
|
+
* @see {@link min}
|
|
52
227
|
*
|
|
53
228
|
* @since 4.0.0
|
|
54
229
|
*/
|
|
@@ -57,7 +232,29 @@ export function max<A>(order: Order.Order<A>): Combiner<A> {
|
|
|
57
232
|
}
|
|
58
233
|
|
|
59
234
|
/**
|
|
60
|
-
* Creates a `Combiner` that returns the first
|
|
235
|
+
* Creates a `Combiner` that always returns the first (left) argument.
|
|
236
|
+
*
|
|
237
|
+
* When to use:
|
|
238
|
+
* - You want "first write wins" semantics when merging values.
|
|
239
|
+
* - You need a combiner but the combining logic should be a no-op that keeps
|
|
240
|
+
* the existing value.
|
|
241
|
+
*
|
|
242
|
+
* Behavior:
|
|
243
|
+
* - `combine(self, that)` returns `self`, ignoring `that`.
|
|
244
|
+
* - Pure – the second argument is discarded, not mutated.
|
|
245
|
+
*
|
|
246
|
+
* **Example** (keeping the first value)
|
|
247
|
+
*
|
|
248
|
+
* ```ts
|
|
249
|
+
* import { Combiner } from "effect"
|
|
250
|
+
*
|
|
251
|
+
* const First = Combiner.first<number>()
|
|
252
|
+
*
|
|
253
|
+
* console.log(First.combine(1, 2))
|
|
254
|
+
* // Output: 1
|
|
255
|
+
* ```
|
|
256
|
+
*
|
|
257
|
+
* @see {@link last}
|
|
61
258
|
*
|
|
62
259
|
* @since 4.0.0
|
|
63
260
|
*/
|
|
@@ -66,7 +263,28 @@ export function first<A>(): Combiner<A> {
|
|
|
66
263
|
}
|
|
67
264
|
|
|
68
265
|
/**
|
|
69
|
-
* Creates a `Combiner` that returns the last
|
|
266
|
+
* Creates a `Combiner` that always returns the last (right) argument.
|
|
267
|
+
*
|
|
268
|
+
* When to use:
|
|
269
|
+
* - You want "last write wins" semantics when merging values.
|
|
270
|
+
* - You need a combiner that replaces the accumulator with each new value.
|
|
271
|
+
*
|
|
272
|
+
* Behavior:
|
|
273
|
+
* - `combine(self, that)` returns `that`, ignoring `self`.
|
|
274
|
+
* - Pure – the first argument is discarded, not mutated.
|
|
275
|
+
*
|
|
276
|
+
* **Example** (keeping the last value)
|
|
277
|
+
*
|
|
278
|
+
* ```ts
|
|
279
|
+
* import { Combiner } from "effect"
|
|
280
|
+
*
|
|
281
|
+
* const Last = Combiner.last<number>()
|
|
282
|
+
*
|
|
283
|
+
* console.log(Last.combine(1, 2))
|
|
284
|
+
* // Output: 2
|
|
285
|
+
* ```
|
|
286
|
+
*
|
|
287
|
+
* @see {@link first}
|
|
70
288
|
*
|
|
71
289
|
* @since 4.0.0
|
|
72
290
|
*/
|
|
@@ -75,7 +293,31 @@ export function last<A>(): Combiner<A> {
|
|
|
75
293
|
}
|
|
76
294
|
|
|
77
295
|
/**
|
|
78
|
-
* Creates a `Combiner` that
|
|
296
|
+
* Creates a `Combiner` that ignores both arguments and always returns the
|
|
297
|
+
* given constant value.
|
|
298
|
+
*
|
|
299
|
+
* When to use:
|
|
300
|
+
* - You need a combiner that produces a fixed result regardless of input.
|
|
301
|
+
* - You are providing a combiner to a generic API but the combined value is
|
|
302
|
+
* predetermined.
|
|
303
|
+
*
|
|
304
|
+
* Behavior:
|
|
305
|
+
* - `combine(self, that)` returns the constant `a`, ignoring both arguments.
|
|
306
|
+
* - Pure – no mutation occurs.
|
|
307
|
+
*
|
|
308
|
+
* **Example** (always returning zero)
|
|
309
|
+
*
|
|
310
|
+
* ```ts
|
|
311
|
+
* import { Combiner } from "effect"
|
|
312
|
+
*
|
|
313
|
+
* const Zero = Combiner.constant(0)
|
|
314
|
+
*
|
|
315
|
+
* console.log(Zero.combine(42, 99))
|
|
316
|
+
* // Output: 0
|
|
317
|
+
* ```
|
|
318
|
+
*
|
|
319
|
+
* @see {@link first}
|
|
320
|
+
* @see {@link last}
|
|
79
321
|
*
|
|
80
322
|
* @since 4.0.0
|
|
81
323
|
*/
|
|
@@ -84,7 +326,32 @@ export function constant<A>(a: A): Combiner<A> {
|
|
|
84
326
|
}
|
|
85
327
|
|
|
86
328
|
/**
|
|
87
|
-
*
|
|
329
|
+
* Wraps a `Combiner` so that a separator value is inserted between every
|
|
330
|
+
* pair of combined elements.
|
|
331
|
+
*
|
|
332
|
+
* When to use:
|
|
333
|
+
* - You are building delimited strings (CSV, paths, etc.) by repeated
|
|
334
|
+
* combination.
|
|
335
|
+
* - You need to inject a fixed separator between accumulated values.
|
|
336
|
+
*
|
|
337
|
+
* Behavior:
|
|
338
|
+
* - `intercalate(middle)(combiner).combine(self, that)` is equivalent to
|
|
339
|
+
* `combiner.combine(self, combiner.combine(middle, that))`.
|
|
340
|
+
* - Curried: first provide the separator, then the base combiner.
|
|
341
|
+
* - Does not mutate the input combiner; returns a new one.
|
|
342
|
+
*
|
|
343
|
+
* **Example** (joining strings with a separator)
|
|
344
|
+
*
|
|
345
|
+
* ```ts
|
|
346
|
+
* import { Combiner, String } from "effect"
|
|
347
|
+
*
|
|
348
|
+
* const commaSep = Combiner.intercalate(",")(String.ReducerConcat)
|
|
349
|
+
*
|
|
350
|
+
* console.log(commaSep.combine("a", "b"))
|
|
351
|
+
* // Output: "a,b"
|
|
352
|
+
* ```
|
|
353
|
+
*
|
|
354
|
+
* @see {@link make}
|
|
88
355
|
*
|
|
89
356
|
* @since 4.0.0
|
|
90
357
|
*/
|