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/src/Stream.ts
CHANGED
|
@@ -20,6 +20,7 @@ import * as internalExecutionPlan from "./internal/executionPlan.ts"
|
|
|
20
20
|
import * as internal from "./internal/stream.ts"
|
|
21
21
|
import { addSpanStackTrace } from "./internal/tracer.ts"
|
|
22
22
|
import * as Iterable from "./Iterable.ts"
|
|
23
|
+
import * as Latch from "./Latch.ts"
|
|
23
24
|
import type * as Layer from "./Layer.ts"
|
|
24
25
|
import type { LogLevel } from "./LogLevel.ts"
|
|
25
26
|
import * as MutableHashMap from "./MutableHashMap.ts"
|
|
@@ -471,7 +472,7 @@ export const fromEffectSchedule = <A, E, R, X, AS extends A, ES, RS>(
|
|
|
471
472
|
* @since 2.0.0
|
|
472
473
|
* @category Constructors
|
|
473
474
|
*/
|
|
474
|
-
export const tick = (interval: Duration.
|
|
475
|
+
export const tick = (interval: Duration.Input): Stream<void> =>
|
|
475
476
|
fromPull(Effect.sync(() => {
|
|
476
477
|
let first = true
|
|
477
478
|
const effect = Effect.succeed(Arr.of<void>(undefined))
|
|
@@ -2648,8 +2649,8 @@ export const tapSink: {
|
|
|
2648
2649
|
transformPullBracket(
|
|
2649
2650
|
self,
|
|
2650
2651
|
Effect.fnUntraced(function*(pull, _, scope) {
|
|
2651
|
-
const upstreamLatch =
|
|
2652
|
-
const sinkLatch =
|
|
2652
|
+
const upstreamLatch = Latch.makeUnsafe()
|
|
2653
|
+
const sinkLatch = Latch.makeUnsafe()
|
|
2653
2654
|
let chunk: Arr.NonEmptyReadonlyArray<A> | undefined = undefined
|
|
2654
2655
|
let causeSink: Cause.Cause<E2> | undefined = undefined
|
|
2655
2656
|
let sinkDone = false
|
|
@@ -3316,7 +3317,7 @@ export const timeout: {
|
|
|
3316
3317
|
* @since 2.0.0
|
|
3317
3318
|
* @category Rate Limiting
|
|
3318
3319
|
*/
|
|
3319
|
-
(duration: Duration.
|
|
3320
|
+
(duration: Duration.Input): <A, E, R>(self: Stream<A, E, R>) => Stream<A, E, R>
|
|
3320
3321
|
/**
|
|
3321
3322
|
* Ends the stream if it does not produce a value within the specified duration.
|
|
3322
3323
|
*
|
|
@@ -3340,10 +3341,10 @@ export const timeout: {
|
|
|
3340
3341
|
* @since 2.0.0
|
|
3341
3342
|
* @category Rate Limiting
|
|
3342
3343
|
*/
|
|
3343
|
-
<A, E, R>(self: Stream<A, E, R>, duration: Duration.
|
|
3344
|
+
<A, E, R>(self: Stream<A, E, R>, duration: Duration.Input): Stream<A, E, R>
|
|
3344
3345
|
} = dual(
|
|
3345
3346
|
2,
|
|
3346
|
-
<A, E, R>(self: Stream<A, E, R>, duration: Duration.
|
|
3347
|
+
<A, E, R>(self: Stream<A, E, R>, duration: Duration.Input): Stream<A, E, R> =>
|
|
3347
3348
|
transformPull(self, (pull, _scope) =>
|
|
3348
3349
|
Effect.succeed(Effect.timeoutOrElse(pull, {
|
|
3349
3350
|
duration,
|
|
@@ -5341,7 +5342,7 @@ export const zipLatestAll = <T extends ReadonlyArray<Stream<any, any, any>>>(
|
|
|
5341
5342
|
fromChannel(Channel.suspend(() => {
|
|
5342
5343
|
const latest: Array<any> = []
|
|
5343
5344
|
const emitted = new Set<number>()
|
|
5344
|
-
const readyLatch =
|
|
5345
|
+
const readyLatch = Latch.makeUnsafe()
|
|
5345
5346
|
return Channel.mergeAll(
|
|
5346
5347
|
Channel.fromArray(
|
|
5347
5348
|
streams.map((s, i) =>
|
|
@@ -12174,7 +12175,7 @@ export const debounce: {
|
|
|
12174
12175
|
* @since 2.0.0
|
|
12175
12176
|
* @category Rate Limiting
|
|
12176
12177
|
*/
|
|
12177
|
-
(duration: Duration.
|
|
12178
|
+
(duration: Duration.Input): <A, E, R>(self: Stream<A, E, R>) => Stream<A, E, R>
|
|
12178
12179
|
/**
|
|
12179
12180
|
* Drops earlier elements within the debounce window and emits only the latest element after the pause.
|
|
12180
12181
|
*
|
|
@@ -12198,21 +12199,21 @@ export const debounce: {
|
|
|
12198
12199
|
* @since 2.0.0
|
|
12199
12200
|
* @category Rate Limiting
|
|
12200
12201
|
*/
|
|
12201
|
-
<A, E, R>(self: Stream<A, E, R>, duration: Duration.
|
|
12202
|
+
<A, E, R>(self: Stream<A, E, R>, duration: Duration.Input): Stream<A, E, R>
|
|
12202
12203
|
} = dual(
|
|
12203
12204
|
2,
|
|
12204
|
-
<A, E, R>(self: Stream<A, E, R>, duration: Duration.
|
|
12205
|
+
<A, E, R>(self: Stream<A, E, R>, duration: Duration.Input): Stream<A, E, R> =>
|
|
12205
12206
|
transformPull(
|
|
12206
12207
|
self,
|
|
12207
12208
|
Effect.fnUntraced(function*(pull, scope) {
|
|
12208
12209
|
const clock = yield* Clock
|
|
12209
|
-
const durationMs = Duration.toMillis(Duration.
|
|
12210
|
+
const durationMs = Duration.toMillis(Duration.fromInputUnsafe(duration))
|
|
12210
12211
|
let lastArr: Arr.NonEmptyReadonlyArray<A> | undefined
|
|
12211
12212
|
let cause: Cause.Cause<Cause.Done | E> | undefined
|
|
12212
12213
|
let emitAtMs = Infinity
|
|
12213
|
-
const pullLatch =
|
|
12214
|
-
const emitLatch =
|
|
12215
|
-
const endLatch =
|
|
12214
|
+
const pullLatch = Latch.makeUnsafe()
|
|
12215
|
+
const emitLatch = Latch.makeUnsafe()
|
|
12216
|
+
const endLatch = Latch.makeUnsafe()
|
|
12216
12217
|
|
|
12217
12218
|
yield* pull.pipe(
|
|
12218
12219
|
pullLatch.whenOpen,
|
|
@@ -12346,7 +12347,7 @@ export const throttleEffect: {
|
|
|
12346
12347
|
options: {
|
|
12347
12348
|
readonly cost: (arr: Arr.NonEmptyReadonlyArray<A>) => Effect.Effect<number, E2, R2>
|
|
12348
12349
|
readonly units: number
|
|
12349
|
-
readonly duration: Duration.
|
|
12350
|
+
readonly duration: Duration.Input
|
|
12350
12351
|
readonly burst?: number | undefined
|
|
12351
12352
|
readonly strategy?: "enforce" | "shape" | undefined
|
|
12352
12353
|
}
|
|
@@ -12392,7 +12393,7 @@ export const throttleEffect: {
|
|
|
12392
12393
|
options: {
|
|
12393
12394
|
readonly cost: (arr: Arr.NonEmptyReadonlyArray<A>) => Effect.Effect<number, E2, R2>
|
|
12394
12395
|
readonly units: number
|
|
12395
|
-
readonly duration: Duration.
|
|
12396
|
+
readonly duration: Duration.Input
|
|
12396
12397
|
readonly burst?: number | undefined
|
|
12397
12398
|
readonly strategy?: "enforce" | "shape" | undefined
|
|
12398
12399
|
}
|
|
@@ -12404,7 +12405,7 @@ export const throttleEffect: {
|
|
|
12404
12405
|
options: {
|
|
12405
12406
|
readonly cost: (arr: Arr.NonEmptyReadonlyArray<A>) => Effect.Effect<number, E2, R2>
|
|
12406
12407
|
readonly units: number
|
|
12407
|
-
readonly duration: Duration.
|
|
12408
|
+
readonly duration: Duration.Input
|
|
12408
12409
|
readonly burst?: number | undefined
|
|
12409
12410
|
readonly strategy?: "enforce" | "shape" | undefined
|
|
12410
12411
|
}
|
|
@@ -12421,12 +12422,12 @@ const throttleEnforceEffect = <A, E, R, E2, R2>(
|
|
|
12421
12422
|
self: Stream<A, E, R>,
|
|
12422
12423
|
cost: (arr: Arr.NonEmptyReadonlyArray<A>) => Effect.Effect<number, E2, R2>,
|
|
12423
12424
|
units: number,
|
|
12424
|
-
duration: Duration.
|
|
12425
|
+
duration: Duration.Input,
|
|
12425
12426
|
burst: number
|
|
12426
12427
|
): Stream<A, E | E2, R | R2> =>
|
|
12427
12428
|
transformPull(self, (pull) =>
|
|
12428
12429
|
Effect.clockWith((clock) => {
|
|
12429
|
-
const durationMs = Duration.toMillis(Duration.
|
|
12430
|
+
const durationMs = Duration.toMillis(Duration.fromInputUnsafe(duration))
|
|
12430
12431
|
const max = units + burst < 0 ? Number.POSITIVE_INFINITY : units + burst
|
|
12431
12432
|
let tokens = units
|
|
12432
12433
|
let timestampMs = clock.currentTimeMillisUnsafe()
|
|
@@ -12457,12 +12458,12 @@ const throttleShapeEffect = <A, E, R, E2, R2>(
|
|
|
12457
12458
|
self: Stream<A, E, R>,
|
|
12458
12459
|
cost: (arr: Arr.NonEmptyReadonlyArray<A>) => Effect.Effect<number, E2, R2>,
|
|
12459
12460
|
units: number,
|
|
12460
|
-
duration: Duration.
|
|
12461
|
+
duration: Duration.Input,
|
|
12461
12462
|
burst: number
|
|
12462
12463
|
): Stream<A, E | E2, R | R2> =>
|
|
12463
12464
|
transformPull(self, (pull) =>
|
|
12464
12465
|
Effect.clockWith((clock) => {
|
|
12465
|
-
const durationMs = Duration.toMillis(Duration.
|
|
12466
|
+
const durationMs = Duration.toMillis(Duration.fromInputUnsafe(duration))
|
|
12466
12467
|
const max = units + burst < 0 ? Number.POSITIVE_INFINITY : units + burst
|
|
12467
12468
|
let tokens = units
|
|
12468
12469
|
let timestampMs = clock.currentTimeMillisUnsafe()
|
|
@@ -12575,7 +12576,7 @@ export const throttle: {
|
|
|
12575
12576
|
options: {
|
|
12576
12577
|
readonly cost: (arr: Arr.NonEmptyReadonlyArray<A>) => number
|
|
12577
12578
|
readonly units: number
|
|
12578
|
-
readonly duration: Duration.
|
|
12579
|
+
readonly duration: Duration.Input
|
|
12579
12580
|
readonly burst?: number | undefined
|
|
12580
12581
|
readonly strategy?: "enforce" | "shape" | undefined
|
|
12581
12582
|
}
|
|
@@ -12620,7 +12621,7 @@ export const throttle: {
|
|
|
12620
12621
|
options: {
|
|
12621
12622
|
readonly cost: (arr: Arr.NonEmptyReadonlyArray<A>) => number
|
|
12622
12623
|
readonly units: number
|
|
12623
|
-
readonly duration: Duration.
|
|
12624
|
+
readonly duration: Duration.Input
|
|
12624
12625
|
readonly burst?: number | undefined
|
|
12625
12626
|
readonly strategy?: "enforce" | "shape" | undefined
|
|
12626
12627
|
}
|
|
@@ -12632,7 +12633,7 @@ export const throttle: {
|
|
|
12632
12633
|
options: {
|
|
12633
12634
|
readonly cost: (arr: Arr.NonEmptyReadonlyArray<A>) => number
|
|
12634
12635
|
readonly units: number
|
|
12635
|
-
readonly duration: Duration.
|
|
12636
|
+
readonly duration: Duration.Input
|
|
12636
12637
|
readonly burst?: number | undefined
|
|
12637
12638
|
readonly strategy?: "enforce" | "shape" | undefined
|
|
12638
12639
|
}
|
|
@@ -12770,7 +12771,7 @@ export const groupedWithin: {
|
|
|
12770
12771
|
* @since 2.0.0
|
|
12771
12772
|
* @category Grouping
|
|
12772
12773
|
*/
|
|
12773
|
-
(chunkSize: number, duration: Duration.
|
|
12774
|
+
(chunkSize: number, duration: Duration.Input): <A, E, R>(self: Stream<A, E, R>) => Stream<Array<A>, E, R>
|
|
12774
12775
|
/**
|
|
12775
12776
|
* Partitions the stream into arrays, emitting when the chunk size is reached
|
|
12776
12777
|
* or the duration passes.
|
|
@@ -12794,11 +12795,11 @@ export const groupedWithin: {
|
|
|
12794
12795
|
* @since 2.0.0
|
|
12795
12796
|
* @category Grouping
|
|
12796
12797
|
*/
|
|
12797
|
-
<A, E, R>(self: Stream<A, E, R>, chunkSize: number, duration: Duration.
|
|
12798
|
+
<A, E, R>(self: Stream<A, E, R>, chunkSize: number, duration: Duration.Input): Stream<Array<A>, E, R>
|
|
12798
12799
|
} = dual(3, <A, E, R>(
|
|
12799
12800
|
self: Stream<A, E, R>,
|
|
12800
12801
|
chunkSize: number,
|
|
12801
|
-
duration: Duration.
|
|
12802
|
+
duration: Duration.Input
|
|
12802
12803
|
): Stream<Array<A>, E, R> =>
|
|
12803
12804
|
aggregateWithin(
|
|
12804
12805
|
self,
|
|
@@ -12873,7 +12874,7 @@ export const groupBy: {
|
|
|
12873
12874
|
f: (a: NoInfer<A>) => Effect.Effect<readonly [K, V], E2, R2>,
|
|
12874
12875
|
options?: {
|
|
12875
12876
|
readonly bufferSize?: number | undefined
|
|
12876
|
-
readonly idleTimeToLive?: Duration.
|
|
12877
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
12877
12878
|
}
|
|
12878
12879
|
): <E, R>(self: Stream<A, E, R>) => Stream<readonly [K, Stream<V>], E | E2, R | R2>
|
|
12879
12880
|
/**
|
|
@@ -12912,7 +12913,7 @@ export const groupBy: {
|
|
|
12912
12913
|
f: (a: NoInfer<A>) => Effect.Effect<readonly [K, V], E2, R2>,
|
|
12913
12914
|
options?: {
|
|
12914
12915
|
readonly bufferSize?: number | undefined
|
|
12915
|
-
readonly idleTimeToLive?: Duration.
|
|
12916
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
12916
12917
|
}
|
|
12917
12918
|
): Stream<readonly [K, Stream<V>], E | E2, R | R2>
|
|
12918
12919
|
} = dual((args) => isStream(args[0]), <A, E, R, K, V, E2, R2>(
|
|
@@ -12920,7 +12921,7 @@ export const groupBy: {
|
|
|
12920
12921
|
f: (a: NoInfer<A>) => Effect.Effect<readonly [K, V], E2, R2>,
|
|
12921
12922
|
options?: {
|
|
12922
12923
|
readonly bufferSize?: number | undefined
|
|
12923
|
-
readonly idleTimeToLive?: Duration.
|
|
12924
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
12924
12925
|
}
|
|
12925
12926
|
): Stream<readonly [K, Stream<V>], E | E2, R | R2> =>
|
|
12926
12927
|
groupByImpl(
|
|
@@ -13002,7 +13003,7 @@ export const groupByKey: {
|
|
|
13002
13003
|
f: (a: NoInfer<A>) => K,
|
|
13003
13004
|
options?: {
|
|
13004
13005
|
readonly bufferSize?: number | undefined
|
|
13005
|
-
readonly idleTimeToLive?: Duration.
|
|
13006
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
13006
13007
|
}
|
|
13007
13008
|
): <E, R>(self: Stream<A, E, R>) => Stream<readonly [K, Stream<A>], E, R>
|
|
13008
13009
|
/**
|
|
@@ -13039,7 +13040,7 @@ export const groupByKey: {
|
|
|
13039
13040
|
f: (a: NoInfer<A>) => K,
|
|
13040
13041
|
options?: {
|
|
13041
13042
|
readonly bufferSize?: number | undefined
|
|
13042
|
-
readonly idleTimeToLive?: Duration.
|
|
13043
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
13043
13044
|
}
|
|
13044
13045
|
): Stream<readonly [K, Stream<A>], E, R>
|
|
13045
13046
|
} = dual((args) => isStream(args[0]), <A, E, R, K>(
|
|
@@ -13047,7 +13048,7 @@ export const groupByKey: {
|
|
|
13047
13048
|
f: (a: NoInfer<A>) => K,
|
|
13048
13049
|
options?: {
|
|
13049
13050
|
readonly bufferSize?: number | undefined
|
|
13050
|
-
readonly idleTimeToLive?: Duration.
|
|
13051
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
13051
13052
|
}
|
|
13052
13053
|
): Stream<readonly [K, Stream<A>], E, R> =>
|
|
13053
13054
|
suspend(() => {
|
|
@@ -13145,7 +13146,7 @@ const groupByImpl = <A, E, R, K, V, E2, R2>(
|
|
|
13145
13146
|
) => Effect.Effect<void, E2, R2>,
|
|
13146
13147
|
options?: {
|
|
13147
13148
|
readonly bufferSize?: number | undefined
|
|
13148
|
-
readonly idleTimeToLive?: Duration.
|
|
13149
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
13149
13150
|
}
|
|
13150
13151
|
): Stream<readonly [K, Stream<V>], E | E2, R | R2> =>
|
|
13151
13152
|
transformPullBracket(
|
|
@@ -13537,7 +13538,7 @@ export const aggregateWithin: {
|
|
|
13537
13538
|
fromChannel(Channel.fromTransformBracket(Effect.fnUntraced(function*(_upstream, _, scope) {
|
|
13538
13539
|
const pull = yield* Channel.toPullScoped(self.channel, _)
|
|
13539
13540
|
|
|
13540
|
-
const pullLatch =
|
|
13541
|
+
const pullLatch = Latch.makeUnsafe(false)
|
|
13541
13542
|
const scheduleStep = Symbol()
|
|
13542
13543
|
const buffer = yield* Queue.make</**
|
|
13543
13544
|
* Aggregates elements with a sink, emitting each result when the sink completes or the schedule triggers.
|
|
@@ -13879,12 +13880,12 @@ export const share: {
|
|
|
13879
13880
|
options: {
|
|
13880
13881
|
readonly capacity: "unbounded"
|
|
13881
13882
|
readonly replay?: number | undefined
|
|
13882
|
-
readonly idleTimeToLive?: Duration.
|
|
13883
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
13883
13884
|
} | {
|
|
13884
13885
|
readonly capacity: number
|
|
13885
13886
|
readonly strategy?: "sliding" | "dropping" | "suspend" | undefined
|
|
13886
13887
|
readonly replay?: number | undefined
|
|
13887
|
-
readonly idleTimeToLive?: Duration.
|
|
13888
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
13888
13889
|
}
|
|
13889
13890
|
): <A, E, R>(self: Stream<A, E, R>) => Effect.Effect<Stream<A, E>, never, Scope.Scope | R>
|
|
13890
13891
|
/**
|
|
@@ -13923,12 +13924,12 @@ export const share: {
|
|
|
13923
13924
|
options: {
|
|
13924
13925
|
readonly capacity: "unbounded"
|
|
13925
13926
|
readonly replay?: number | undefined
|
|
13926
|
-
readonly idleTimeToLive?: Duration.
|
|
13927
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
13927
13928
|
} | {
|
|
13928
13929
|
readonly capacity: number
|
|
13929
13930
|
readonly strategy?: "sliding" | "dropping" | "suspend" | undefined
|
|
13930
13931
|
readonly replay?: number | undefined
|
|
13931
|
-
readonly idleTimeToLive?: Duration.
|
|
13932
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
13932
13933
|
}
|
|
13933
13934
|
): Effect.Effect<Stream<A, E>, never, Scope.Scope | R>
|
|
13934
13935
|
} = dual(2, <A, E, R>(
|
|
@@ -13936,12 +13937,12 @@ export const share: {
|
|
|
13936
13937
|
options: {
|
|
13937
13938
|
readonly capacity: "unbounded"
|
|
13938
13939
|
readonly replay?: number | undefined
|
|
13939
|
-
readonly idleTimeToLive?: Duration.
|
|
13940
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
13940
13941
|
} | {
|
|
13941
13942
|
readonly capacity: number
|
|
13942
13943
|
readonly strategy?: "sliding" | "dropping" | "suspend" | undefined
|
|
13943
13944
|
readonly replay?: number | undefined
|
|
13944
|
-
readonly idleTimeToLive?: Duration.
|
|
13945
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
13945
13946
|
}
|
|
13946
13947
|
): Effect.Effect<Stream<A, E>, never, Scope.Scope | R> =>
|
|
13947
13948
|
Effect.map(
|
|
@@ -17747,7 +17748,7 @@ export const toReadableStreamWith = dual<
|
|
|
17747
17748
|
): ReadableStream<A> => {
|
|
17748
17749
|
let currentResolve: (() => void) | undefined = undefined
|
|
17749
17750
|
let fiber: Fiber.Fiber<void, E> | undefined = undefined
|
|
17750
|
-
const latch =
|
|
17751
|
+
const latch = Latch.makeUnsafe(false)
|
|
17751
17752
|
|
|
17752
17753
|
return new ReadableStream<A>({
|
|
17753
17754
|
start(controller) {
|
package/src/Struct.ts
CHANGED
|
@@ -1513,3 +1513,29 @@ export function makeReducer<A>(
|
|
|
1513
1513
|
}
|
|
1514
1514
|
return Reducer.make(combine, initialValue)
|
|
1515
1515
|
}
|
|
1516
|
+
|
|
1517
|
+
/**
|
|
1518
|
+
* Creates a record with the given keys and value.
|
|
1519
|
+
*
|
|
1520
|
+
* **Example** (Creating a record)
|
|
1521
|
+
*
|
|
1522
|
+
* ```ts
|
|
1523
|
+
* import { Struct } from "effect"
|
|
1524
|
+
*
|
|
1525
|
+
* const record = Struct.Record(["a", "b"], "value")
|
|
1526
|
+
* console.log(record) // { a: "value", b: "value" }
|
|
1527
|
+
* ```
|
|
1528
|
+
*
|
|
1529
|
+
* @category Constructors
|
|
1530
|
+
* @since 4.0.0
|
|
1531
|
+
*/
|
|
1532
|
+
export function Record<const Keys extends ReadonlyArray<string | symbol>, Value>(
|
|
1533
|
+
keys: Keys,
|
|
1534
|
+
value: Value
|
|
1535
|
+
): Record<Keys[number], Value> {
|
|
1536
|
+
const out: any = {}
|
|
1537
|
+
for (const key of keys) {
|
|
1538
|
+
out[key] = value
|
|
1539
|
+
}
|
|
1540
|
+
return out
|
|
1541
|
+
}
|
package/src/SubscriptionRef.ts
CHANGED
|
@@ -8,6 +8,7 @@ import * as Option from "./Option.ts"
|
|
|
8
8
|
import type { Pipeable } from "./Pipeable.ts"
|
|
9
9
|
import * as PubSub from "./PubSub.ts"
|
|
10
10
|
import * as Ref from "./Ref.ts"
|
|
11
|
+
import * as Semaphore from "./Semaphore.ts"
|
|
11
12
|
import * as Stream from "./Stream.ts"
|
|
12
13
|
import type { Invariant } from "./Types.ts"
|
|
13
14
|
|
|
@@ -19,7 +20,7 @@ const TypeId = "~effect/SubscriptionRef"
|
|
|
19
20
|
*/
|
|
20
21
|
export interface SubscriptionRef<in out A> extends SubscriptionRef.Variance<A>, Pipeable {
|
|
21
22
|
readonly backing: Ref.Ref<A>
|
|
22
|
-
readonly semaphore:
|
|
23
|
+
readonly semaphore: Semaphore.Semaphore
|
|
23
24
|
readonly pubsub: PubSub.PubSub<A>
|
|
24
25
|
}
|
|
25
26
|
|
|
@@ -70,7 +71,7 @@ const Proto = {
|
|
|
70
71
|
export const make = <A>(value: A): Effect.Effect<SubscriptionRef<A>> =>
|
|
71
72
|
Effect.map(PubSub.unbounded<A>({ replay: 1 }), (pubsub) => {
|
|
72
73
|
const self = Object.create(Proto)
|
|
73
|
-
self.semaphore =
|
|
74
|
+
self.semaphore = Semaphore.makeUnsafe(1)
|
|
74
75
|
self.backing = Ref.makeUnsafe(value)
|
|
75
76
|
self.pubsub = pubsub
|
|
76
77
|
PubSub.publishUnsafe(self.pubsub, value)
|
package/src/SynchronizedRef.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { dual } from "./Function.ts"
|
|
|
6
6
|
import { PipeInspectableProto } from "./internal/core.ts"
|
|
7
7
|
import * as Option from "./Option.ts"
|
|
8
8
|
import * as Ref from "./Ref.ts"
|
|
9
|
+
import * as Semaphore from "./Semaphore.ts"
|
|
9
10
|
|
|
10
11
|
const TypeId = "~effect/SynchronizedRef"
|
|
11
12
|
|
|
@@ -16,7 +17,7 @@ const TypeId = "~effect/SynchronizedRef"
|
|
|
16
17
|
export interface SynchronizedRef<in out A> extends Ref.Ref<A> {
|
|
17
18
|
readonly [TypeId]: typeof TypeId
|
|
18
19
|
readonly backing: Ref.Ref<A>
|
|
19
|
-
readonly semaphore:
|
|
20
|
+
readonly semaphore: Semaphore.Semaphore
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
const Proto = {
|
|
@@ -36,7 +37,7 @@ const Proto = {
|
|
|
36
37
|
*/
|
|
37
38
|
export const makeUnsafe = <A>(value: A): SynchronizedRef<A> => {
|
|
38
39
|
const self = Object.create(Proto)
|
|
39
|
-
self.semaphore =
|
|
40
|
+
self.semaphore = Semaphore.makeUnsafe(1)
|
|
40
41
|
self.backing = Ref.makeUnsafe(value)
|
|
41
42
|
return self
|
|
42
43
|
}
|
package/src/Types.ts
CHANGED
|
@@ -205,7 +205,7 @@ export type ExcludeTag<E, K extends string> = Exclude<E, { readonly _tag: K }>
|
|
|
205
205
|
* @category types
|
|
206
206
|
* @since 2.0.0
|
|
207
207
|
*/
|
|
208
|
-
export type ExtractTag<E, K extends string> =
|
|
208
|
+
export type ExtractTag<E, K extends string> = E extends { readonly _tag: infer T } ? K extends T ? E : never : never
|
|
209
209
|
|
|
210
210
|
/**
|
|
211
211
|
* Transforms a union type into an intersection type.
|
|
@@ -729,6 +729,15 @@ export declare namespace Contravariant {
|
|
|
729
729
|
*/
|
|
730
730
|
export type MatchRecord<S, onTrue, onFalse> = {} extends S ? onTrue : onFalse
|
|
731
731
|
|
|
732
|
+
/**
|
|
733
|
+
* Conditional type that returns `void` if `S` is an empty object type,
|
|
734
|
+
* otherwise returns `S`.
|
|
735
|
+
*
|
|
736
|
+
* @since 4.0.0
|
|
737
|
+
* @category types
|
|
738
|
+
*/
|
|
739
|
+
export type VoidIfEmpty<S> = MatchRecord<S, void, S>
|
|
740
|
+
|
|
732
741
|
/**
|
|
733
742
|
* Excludes function types from a union, keeping only non-function members.
|
|
734
743
|
*
|
|
@@ -914,7 +923,8 @@ export type ReasonTags<E> = E extends { readonly reason: { readonly _tag: string
|
|
|
914
923
|
* @category types
|
|
915
924
|
*/
|
|
916
925
|
export type ExtractReason<E, K extends string> = E extends { readonly reason: infer R }
|
|
917
|
-
?
|
|
926
|
+
? R extends { readonly _tag: infer T } ? K extends T ? R : never
|
|
927
|
+
: never
|
|
918
928
|
: never
|
|
919
929
|
|
|
920
930
|
/**
|