effect 4.0.0-beta.5 → 4.0.0-beta.7
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/Config.d.ts +3 -3
- package/dist/Config.js +3 -3
- package/dist/Config.js.map +1 -1
- package/dist/Data.d.ts +3 -2
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +9 -8
- 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 +13 -239
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1 -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.js.map +1 -1
- package/dist/FileSystem.js +2 -2
- package/dist/FileSystem.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.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/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/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 +1 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +3 -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/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/Schedule.d.ts +22 -13
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +53 -25
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +196 -46
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +385 -71
- 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 +5 -2
- 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 +8 -0
- package/dist/Types.d.ts.map +1 -1
- package/dist/index.d.ts +148 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +148 -5
- 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 +2 -2
- 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/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 +5 -5
- 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 +3 -3
- 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/Sse.d.ts +3 -3
- 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 +1 -1
- 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 +5 -5
- package/dist/unstable/http/Cookies.d.ts +2 -2
- 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/HttpClient.d.ts +4 -4
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +11 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +8 -1
- 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/Multipart.d.ts +2 -2
- package/dist/unstable/http/UrlParams.d.ts +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +2 -2
- package/dist/unstable/httpapi/HttpApiBuilder.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/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.js +4 -4
- 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 +1 -1
- 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 +3 -3
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +1 -1
- 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/index.d.ts +2 -2
- package/dist/unstable/reactivity/index.d.ts.map +1 -1
- package/dist/unstable/reactivity/index.js +2 -2
- 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/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/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +3 -3
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +16 -5
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +17 -7
- 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 +1 -1
- 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 +1 -2
- package/src/Cache.ts +3 -3
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +6 -4
- package/src/Config.ts +3 -3
- package/src/Data.ts +10 -9
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +15 -15
- package/src/Effect.ts +15 -261
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +2 -2
- package/src/FileSystem.ts +4 -4
- 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/Pipeable.ts +32 -1
- package/src/Pool.ts +13 -11
- package/src/PubSub.ts +10 -9
- package/src/Random.ts +5 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +9 -29
- package/src/Schedule.ts +261 -140
- package/src/Schema.ts +571 -109
- package/src/SchemaGetter.ts +12 -14
- package/src/SchemaRepresentation.ts +5 -2
- 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 +9 -0
- package/src/index.ts +151 -6
- package/src/internal/core.ts +10 -2
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +24 -23
- 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/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/HttpClient.ts +4 -4
- package/src/unstable/http/HttpClientRequest.ts +15 -11
- package/src/unstable/http/HttpEffect.ts +17 -25
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +1 -1
- package/src/unstable/httpapi/HttpApiBuilder.ts +2 -2
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- 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 +4 -4
- 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 +1 -1
- package/src/unstable/process/ChildProcessSpawner.ts +6 -0
- package/src/unstable/reactivity/Atom.ts +13 -13
- package/src/unstable/reactivity/AtomHttpApi.ts +3 -3
- package/src/unstable/reactivity/AtomRpc.ts +3 -3
- package/src/unstable/reactivity/index.ts +2 -2
- 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/socket/Socket.ts +7 -6
- package/src/unstable/sql/SqlModel.ts +5 -5
- package/src/unstable/sql/SqlSchema.ts +41 -25
- 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/Logger.ts
CHANGED
|
@@ -975,7 +975,7 @@ export const batched = dual<
|
|
|
975
975
|
*/
|
|
976
976
|
<Output>(
|
|
977
977
|
options: {
|
|
978
|
-
readonly window: Duration.
|
|
978
|
+
readonly window: Duration.Input
|
|
979
979
|
readonly flush: (messages: Array<NoInfer<Output>>) => Effect.Effect<void>
|
|
980
980
|
}
|
|
981
981
|
) => <Message>(
|
|
@@ -1036,14 +1036,14 @@ export const batched = dual<
|
|
|
1036
1036
|
<Message, Output>(
|
|
1037
1037
|
self: Logger<Message, Output>,
|
|
1038
1038
|
options: {
|
|
1039
|
-
readonly window: Duration.
|
|
1039
|
+
readonly window: Duration.Input
|
|
1040
1040
|
readonly flush: (messages: Array<NoInfer<Output>>) => Effect.Effect<void>
|
|
1041
1041
|
}
|
|
1042
1042
|
) => Effect.Effect<Logger<Message, void>, never, Scope.Scope>
|
|
1043
1043
|
>(2, <Message, Output>(
|
|
1044
1044
|
self: Logger<Message, Output>,
|
|
1045
1045
|
options: {
|
|
1046
|
-
readonly window: Duration.
|
|
1046
|
+
readonly window: Duration.Input
|
|
1047
1047
|
readonly flush: (messages: Array<NoInfer<Output>>) => Effect.Effect<void>
|
|
1048
1048
|
}
|
|
1049
1049
|
): Effect.Effect<Logger<Message, void>, never, Scope.Scope> =>
|
|
@@ -1582,7 +1582,7 @@ export const toFile = dual<
|
|
|
1582
1582
|
options?: {
|
|
1583
1583
|
readonly flag?: FileSystem.OpenFlag | undefined
|
|
1584
1584
|
readonly mode?: number | undefined
|
|
1585
|
-
readonly batchWindow?: Duration.
|
|
1585
|
+
readonly batchWindow?: Duration.Input | undefined
|
|
1586
1586
|
} | undefined
|
|
1587
1587
|
) => <Message>(
|
|
1588
1588
|
self: Logger<Message, string>
|
|
@@ -1677,7 +1677,7 @@ export const toFile = dual<
|
|
|
1677
1677
|
options?: {
|
|
1678
1678
|
readonly flag?: FileSystem.OpenFlag | undefined
|
|
1679
1679
|
readonly mode?: number | undefined
|
|
1680
|
-
readonly batchWindow?: Duration.
|
|
1680
|
+
readonly batchWindow?: Duration.Input | undefined
|
|
1681
1681
|
} | undefined
|
|
1682
1682
|
) => Effect.Effect<Logger<Message, void>, PlatformError, Scope.Scope | FileSystem.FileSystem>
|
|
1683
1683
|
>(
|
package/src/Metric.ts
CHANGED
|
@@ -2035,12 +2035,12 @@ class SummaryMetric extends Metric$<readonly [value: number, timestamp: number],
|
|
|
2035
2035
|
constructor(id: string, options: {
|
|
2036
2036
|
readonly description?: string | undefined
|
|
2037
2037
|
readonly attributes?: Metric.Attributes | undefined
|
|
2038
|
-
readonly maxAge: Duration.
|
|
2038
|
+
readonly maxAge: Duration.Input
|
|
2039
2039
|
readonly maxSize: number
|
|
2040
2040
|
readonly quantiles: ReadonlyArray<number>
|
|
2041
2041
|
}) {
|
|
2042
2042
|
super(id, options?.description, attributesToRecord(options?.attributes))
|
|
2043
|
-
this.#maxAge = Math.max(Duration.toMillis(Duration.
|
|
2043
|
+
this.#maxAge = Math.max(Duration.toMillis(Duration.fromInputUnsafe(options.maxAge)), 0)
|
|
2044
2044
|
this.#maxSize = options.maxSize
|
|
2045
2045
|
this.#quantiles = options.quantiles
|
|
2046
2046
|
}
|
|
@@ -2808,7 +2808,7 @@ export const histogram = (name: string, options: {
|
|
|
2808
2808
|
export const summary = (name: string, options: {
|
|
2809
2809
|
readonly description?: string | undefined
|
|
2810
2810
|
readonly attributes?: Metric.Attributes | undefined
|
|
2811
|
-
readonly maxAge: Duration.
|
|
2811
|
+
readonly maxAge: Duration.Input
|
|
2812
2812
|
readonly maxSize: number
|
|
2813
2813
|
readonly quantiles: ReadonlyArray<number>
|
|
2814
2814
|
}): Summary<number> =>
|
|
@@ -2854,7 +2854,7 @@ export const summary = (name: string, options: {
|
|
|
2854
2854
|
export const summaryWithTimestamp = (name: string, options: {
|
|
2855
2855
|
readonly description?: string | undefined
|
|
2856
2856
|
readonly attributes?: Metric.Attributes | undefined
|
|
2857
|
-
readonly maxAge: Duration.
|
|
2857
|
+
readonly maxAge: Duration.Input
|
|
2858
2858
|
readonly maxSize: number
|
|
2859
2859
|
readonly quantiles: ReadonlyArray<number>
|
|
2860
2860
|
}): Summary<[value: number, timestamp: number]> => new SummaryMetric(name, options)
|
package/src/Pipeable.ts
CHANGED
|
@@ -554,8 +554,39 @@ export const pipeArguments = <A>(self: A, args: IArguments): unknown => {
|
|
|
554
554
|
/**
|
|
555
555
|
* @since 4.0.0
|
|
556
556
|
*/
|
|
557
|
-
export const
|
|
557
|
+
export const Prototype: Pipeable = {
|
|
558
558
|
pipe() {
|
|
559
559
|
return pipeArguments(this, arguments)
|
|
560
560
|
}
|
|
561
561
|
}
|
|
562
|
+
|
|
563
|
+
/**
|
|
564
|
+
* @since 4.0.0
|
|
565
|
+
* @category constructors
|
|
566
|
+
*/
|
|
567
|
+
export const Class: new() => Pipeable = (function() {
|
|
568
|
+
function PipeableBase() {}
|
|
569
|
+
PipeableBase.prototype = Prototype
|
|
570
|
+
return PipeableBase as any
|
|
571
|
+
})()
|
|
572
|
+
|
|
573
|
+
/**
|
|
574
|
+
* @since 4.0.0
|
|
575
|
+
* @category models
|
|
576
|
+
*/
|
|
577
|
+
export interface PipeableConstructor {
|
|
578
|
+
new(...args: ReadonlyArray<any>): Pipeable
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
/**
|
|
582
|
+
* @since 4.0.0
|
|
583
|
+
* @category constructors
|
|
584
|
+
*/
|
|
585
|
+
export const Mixin = <TBase extends new(...args: ReadonlyArray<any>) => any>(
|
|
586
|
+
klass: TBase
|
|
587
|
+
): TBase & PipeableConstructor =>
|
|
588
|
+
(class extends klass {
|
|
589
|
+
pipe() {
|
|
590
|
+
return pipeArguments(this, arguments)
|
|
591
|
+
}
|
|
592
|
+
})
|
package/src/Pool.ts
CHANGED
|
@@ -9,11 +9,13 @@ import type * as Exit from "./Exit.ts"
|
|
|
9
9
|
import * as Fiber from "./Fiber.ts"
|
|
10
10
|
import { dual, identity } from "./Function.ts"
|
|
11
11
|
import * as Iterable from "./Iterable.ts"
|
|
12
|
+
import * as Latch from "./Latch.ts"
|
|
12
13
|
import { type Pipeable, pipeArguments } from "./Pipeable.ts"
|
|
13
14
|
import { hasProperty } from "./Predicate.ts"
|
|
14
15
|
import * as Queue from "./Queue.ts"
|
|
15
16
|
import { UnhandledLogLevel } from "./References.ts"
|
|
16
17
|
import * as Scope from "./Scope.ts"
|
|
18
|
+
import * as Semaphore from "./Semaphore.ts"
|
|
17
19
|
import * as ServiceMap from "./ServiceMap.ts"
|
|
18
20
|
|
|
19
21
|
const TypeId = "~effect/Pool"
|
|
@@ -52,11 +54,11 @@ export interface Config<A, E> {
|
|
|
52
54
|
export interface State<A, E> {
|
|
53
55
|
readonly scope: Scope.Scope
|
|
54
56
|
isShuttingDown: boolean
|
|
55
|
-
readonly semaphore:
|
|
56
|
-
readonly resizeSemaphore:
|
|
57
|
+
readonly semaphore: Semaphore.Semaphore
|
|
58
|
+
readonly resizeSemaphore: Semaphore.Semaphore
|
|
57
59
|
readonly items: Set<PoolItem<A, E>>
|
|
58
60
|
readonly available: Set<PoolItem<A, E>>
|
|
59
|
-
readonly availableLatch:
|
|
61
|
+
readonly availableLatch: Latch.Latch
|
|
60
62
|
readonly invalidated: Set<PoolItem<A, E>>
|
|
61
63
|
waiters: number
|
|
62
64
|
}
|
|
@@ -170,7 +172,7 @@ export const makeWithTTL = <A, E, R>(options: {
|
|
|
170
172
|
readonly max: number
|
|
171
173
|
readonly concurrency?: number | undefined
|
|
172
174
|
readonly targetUtilization?: number | undefined
|
|
173
|
-
readonly timeToLive: Duration.
|
|
175
|
+
readonly timeToLive: Duration.Input
|
|
174
176
|
readonly timeToLiveStrategy?: "creation" | "usage" | undefined
|
|
175
177
|
}): Effect.Effect<Pool<A, E>, never, R | Scope.Scope> =>
|
|
176
178
|
Effect.flatMap(
|
|
@@ -212,11 +214,11 @@ export const makeWithStrategy = <A, E, R>(options: {
|
|
|
212
214
|
const state: State<A, E> = {
|
|
213
215
|
scope,
|
|
214
216
|
isShuttingDown: false,
|
|
215
|
-
semaphore:
|
|
216
|
-
resizeSemaphore:
|
|
217
|
+
semaphore: Semaphore.makeUnsafe(concurrency * options.max),
|
|
218
|
+
resizeSemaphore: Semaphore.makeUnsafe(1),
|
|
217
219
|
items: new Set(),
|
|
218
220
|
available: new Set(),
|
|
219
|
-
availableLatch:
|
|
221
|
+
availableLatch: Latch.makeUnsafe(false),
|
|
220
222
|
invalidated: new Set(),
|
|
221
223
|
waiters: 0
|
|
222
224
|
}
|
|
@@ -244,7 +246,7 @@ const shutdown = Effect.fnUntraced(function*<A, E>(self: Pool<A, E>) {
|
|
|
244
246
|
if (self.state.isShuttingDown) return
|
|
245
247
|
self.state.isShuttingDown = true
|
|
246
248
|
const size = self.state.items.size
|
|
247
|
-
const semaphore =
|
|
249
|
+
const semaphore = Semaphore.makeUnsafe(size)
|
|
248
250
|
for (const item of self.state.items) {
|
|
249
251
|
if (item.refCount > 0) {
|
|
250
252
|
item.finalizer = Effect.tap(item.finalizer, semaphore.release(1))
|
|
@@ -471,10 +473,10 @@ const strategyNoop = <A, E>(): Strategy<A, E> => ({
|
|
|
471
473
|
reclaim: (_) => Effect.undefined
|
|
472
474
|
})
|
|
473
475
|
|
|
474
|
-
const strategyCreationTTL = Effect.fnUntraced(function*<A, E>(ttl: Duration.
|
|
476
|
+
const strategyCreationTTL = Effect.fnUntraced(function*<A, E>(ttl: Duration.Input) {
|
|
475
477
|
const clock = yield* Clock
|
|
476
478
|
const queue = yield* Queue.unbounded<PoolItem<A, E>>()
|
|
477
|
-
const ttlMillis = Duration.toMillis(Duration.
|
|
479
|
+
const ttlMillis = Duration.toMillis(Duration.fromInputUnsafe(ttl))
|
|
478
480
|
const creationTimes = new WeakMap<PoolItem<A, E>, number>()
|
|
479
481
|
return identity<Strategy<A, E>>({
|
|
480
482
|
run: (pool) => {
|
|
@@ -504,7 +506,7 @@ const strategyCreationTTL = Effect.fnUntraced(function*<A, E>(ttl: Duration.Dura
|
|
|
504
506
|
})
|
|
505
507
|
})
|
|
506
508
|
|
|
507
|
-
const strategyUsageTTL = Effect.fnUntraced(function*<A, E>(ttl: Duration.
|
|
509
|
+
const strategyUsageTTL = Effect.fnUntraced(function*<A, E>(ttl: Duration.Input) {
|
|
508
510
|
const queue = yield* Queue.unbounded<PoolItem<A, E>>()
|
|
509
511
|
return identity<Strategy<A, E>>({
|
|
510
512
|
run: (pool) => {
|
package/src/PubSub.ts
CHANGED
|
@@ -34,6 +34,7 @@ import * as Effect from "./Effect.ts"
|
|
|
34
34
|
import * as Exit from "./Exit.ts"
|
|
35
35
|
import type { LazyArg } from "./Function.ts"
|
|
36
36
|
import { dual, identity } from "./Function.ts"
|
|
37
|
+
import * as Latch from "./Latch.ts"
|
|
37
38
|
import * as MutableList from "./MutableList.ts"
|
|
38
39
|
import * as MutableRef from "./MutableRef.ts"
|
|
39
40
|
import { nextPow2 } from "./Number.ts"
|
|
@@ -81,7 +82,7 @@ export interface PubSub<in out A> extends Pipeable {
|
|
|
81
82
|
readonly pubsub: PubSub.Atomic<A>
|
|
82
83
|
readonly subscribers: PubSub.Subscribers<A>
|
|
83
84
|
readonly scope: Scope.Closeable
|
|
84
|
-
readonly shutdownHook:
|
|
85
|
+
readonly shutdownHook: Latch.Latch
|
|
85
86
|
readonly shutdownFlag: MutableRef.MutableRef<boolean>
|
|
86
87
|
readonly strategy: PubSub.Strategy<A>
|
|
87
88
|
}
|
|
@@ -242,7 +243,7 @@ export interface Subscription<out A> extends Pipeable {
|
|
|
242
243
|
readonly subscribers: PubSub.Subscribers<any>
|
|
243
244
|
readonly subscription: PubSub.BackingSubscription<A>
|
|
244
245
|
readonly pollers: MutableList.MutableList<Deferred.Deferred<any>>
|
|
245
|
-
readonly shutdownHook:
|
|
246
|
+
readonly shutdownHook: Latch.Latch
|
|
246
247
|
readonly shutdownFlag: MutableRef.MutableRef<boolean>
|
|
247
248
|
readonly strategy: PubSub.Strategy<any>
|
|
248
249
|
readonly replayWindow: PubSub.ReplayWindow<A>
|
|
@@ -282,7 +283,7 @@ export const make = <A>(
|
|
|
282
283
|
options.atomicPubSub(),
|
|
283
284
|
new Map(),
|
|
284
285
|
Scope.makeUnsafe(),
|
|
285
|
-
|
|
286
|
+
Latch.makeUnsafe(false),
|
|
286
287
|
MutableRef.make(false),
|
|
287
288
|
options.strategy()
|
|
288
289
|
)
|
|
@@ -1701,7 +1702,7 @@ const makeSubscriptionUnsafe = <A>(
|
|
|
1701
1702
|
subscribers,
|
|
1702
1703
|
pubsub.subscribe(),
|
|
1703
1704
|
MutableList.make<Deferred.Deferred<A>>(),
|
|
1704
|
-
|
|
1705
|
+
Latch.makeUnsafe(false),
|
|
1705
1706
|
MutableRef.make(false),
|
|
1706
1707
|
strategy,
|
|
1707
1708
|
pubsub.replayWindow()
|
|
@@ -2446,7 +2447,7 @@ class SubscriptionImpl<in out A> implements Subscription<A> {
|
|
|
2446
2447
|
readonly subscribers: PubSub.Subscribers<A>
|
|
2447
2448
|
readonly subscription: PubSub.BackingSubscription<A>
|
|
2448
2449
|
readonly pollers: MutableList.MutableList<Deferred.Deferred<A>>
|
|
2449
|
-
readonly shutdownHook:
|
|
2450
|
+
readonly shutdownHook: Latch.Latch
|
|
2450
2451
|
readonly shutdownFlag: MutableRef.MutableRef<boolean>
|
|
2451
2452
|
readonly strategy: PubSub.Strategy<A>
|
|
2452
2453
|
readonly replayWindow: PubSub.ReplayWindow<A>
|
|
@@ -2456,7 +2457,7 @@ class SubscriptionImpl<in out A> implements Subscription<A> {
|
|
|
2456
2457
|
subscribers: PubSub.Subscribers<A>,
|
|
2457
2458
|
subscription: PubSub.BackingSubscription<A>,
|
|
2458
2459
|
pollers: MutableList.MutableList<Deferred.Deferred<A>>,
|
|
2459
|
-
shutdownHook:
|
|
2460
|
+
shutdownHook: Latch.Latch,
|
|
2460
2461
|
shutdownFlag: MutableRef.MutableRef<boolean>,
|
|
2461
2462
|
strategy: PubSub.Strategy<A>,
|
|
2462
2463
|
replayWindow: PubSub.ReplayWindow<A>
|
|
@@ -2484,7 +2485,7 @@ class PubSubImpl<in out A> implements PubSub<A> {
|
|
|
2484
2485
|
readonly pubsub: PubSub.Atomic<A>
|
|
2485
2486
|
readonly subscribers: PubSub.Subscribers<A>
|
|
2486
2487
|
readonly scope: Scope.Closeable
|
|
2487
|
-
readonly shutdownHook:
|
|
2488
|
+
readonly shutdownHook: Latch.Latch
|
|
2488
2489
|
readonly shutdownFlag: MutableRef.MutableRef<boolean>
|
|
2489
2490
|
readonly strategy: PubSub.Strategy<A>
|
|
2490
2491
|
|
|
@@ -2492,7 +2493,7 @@ class PubSubImpl<in out A> implements PubSub<A> {
|
|
|
2492
2493
|
pubsub: PubSub.Atomic<A>,
|
|
2493
2494
|
subscribers: PubSub.Subscribers<A>,
|
|
2494
2495
|
scope: Scope.Closeable,
|
|
2495
|
-
shutdownHook:
|
|
2496
|
+
shutdownHook: Latch.Latch,
|
|
2496
2497
|
shutdownFlag: MutableRef.MutableRef<boolean>,
|
|
2497
2498
|
strategy: PubSub.Strategy<A>
|
|
2498
2499
|
) {
|
|
@@ -2513,7 +2514,7 @@ const makePubSubUnsafe = <A>(
|
|
|
2513
2514
|
pubsub: PubSub.Atomic<A>,
|
|
2514
2515
|
subscribers: PubSub.Subscribers<A>,
|
|
2515
2516
|
scope: Scope.Closeable,
|
|
2516
|
-
shutdownHook:
|
|
2517
|
+
shutdownHook: Latch.Latch,
|
|
2517
2518
|
shutdownFlag: MutableRef.MutableRef<boolean>,
|
|
2518
2519
|
strategy: PubSub.Strategy<A>
|
|
2519
2520
|
): PubSub<A> => new PubSubImpl(pubsub, subscribers, scope, shutdownHook, shutdownFlag, strategy)
|
package/src/Random.ts
CHANGED
|
@@ -23,8 +23,9 @@
|
|
|
23
23
|
*/
|
|
24
24
|
import * as Effect from "./Effect.ts"
|
|
25
25
|
import { dual } from "./Function.ts"
|
|
26
|
+
import * as random from "./internal/random.ts"
|
|
26
27
|
import * as Predicate from "./Predicate.ts"
|
|
27
|
-
import * as ServiceMap from "./ServiceMap.ts"
|
|
28
|
+
import type * as ServiceMap from "./ServiceMap.ts"
|
|
28
29
|
|
|
29
30
|
/**
|
|
30
31
|
* Represents a service for generating random numbers.
|
|
@@ -49,23 +50,13 @@ import * as ServiceMap from "./ServiceMap.ts"
|
|
|
49
50
|
* @since 4.0.0
|
|
50
51
|
* @category Random Number Generators
|
|
51
52
|
*/
|
|
52
|
-
export const Random
|
|
53
|
+
export const Random: ServiceMap.Reference<{
|
|
53
54
|
nextIntUnsafe(): number
|
|
54
55
|
nextDoubleUnsafe(): number
|
|
55
|
-
}>
|
|
56
|
-
defaultValue: () => ({
|
|
57
|
-
nextIntUnsafe() {
|
|
58
|
-
return Math.floor(Math.random() * (Number.MAX_SAFE_INTEGER - Number.MIN_SAFE_INTEGER + 1)) +
|
|
59
|
-
Number.MIN_SAFE_INTEGER
|
|
60
|
-
},
|
|
61
|
-
nextDoubleUnsafe() {
|
|
62
|
-
return Math.random()
|
|
63
|
-
}
|
|
64
|
-
})
|
|
65
|
-
})
|
|
56
|
+
}> = random.Random
|
|
66
57
|
|
|
67
58
|
const randomWith = <A>(f: (random: typeof Random["Service"]) => A): Effect.Effect<A> =>
|
|
68
|
-
Effect.withFiber((fiber) => Effect.succeed(f(
|
|
59
|
+
Effect.withFiber((fiber) => Effect.succeed(f(fiber.getRef(Random))))
|
|
69
60
|
|
|
70
61
|
/**
|
|
71
62
|
* Generates a random number between 0 (inclusive) and 1 (inclusive).
|
package/src/RcMap.ts
CHANGED
|
@@ -292,7 +292,7 @@ export const make: {
|
|
|
292
292
|
<K, A, E, R>(
|
|
293
293
|
options: {
|
|
294
294
|
readonly lookup: (key: K) => Effect.Effect<A, E, R>
|
|
295
|
-
readonly idleTimeToLive?: Duration.
|
|
295
|
+
readonly idleTimeToLive?: Duration.Input | ((key: K) => Duration.Input) | undefined
|
|
296
296
|
readonly capacity?: undefined
|
|
297
297
|
}
|
|
298
298
|
): Effect.Effect<RcMap<K, A, E>, never, Scope.Scope | R>
|
|
@@ -335,13 +335,13 @@ export const make: {
|
|
|
335
335
|
<K, A, E, R>(
|
|
336
336
|
options: {
|
|
337
337
|
readonly lookup: (key: K) => Effect.Effect<A, E, R>
|
|
338
|
-
readonly idleTimeToLive?: Duration.
|
|
338
|
+
readonly idleTimeToLive?: Duration.Input | ((key: K) => Duration.Input) | undefined
|
|
339
339
|
readonly capacity: number
|
|
340
340
|
}
|
|
341
341
|
): Effect.Effect<RcMap<K, A, E | Cause.ExceededCapacityError>, never, Scope.Scope | R>
|
|
342
342
|
} = <K, A, E, R>(options: {
|
|
343
343
|
readonly lookup: (key: K) => Effect.Effect<A, E, R>
|
|
344
|
-
readonly idleTimeToLive?: Duration.
|
|
344
|
+
readonly idleTimeToLive?: Duration.Input | ((key: K) => Duration.Input) | undefined
|
|
345
345
|
readonly capacity?: number | undefined
|
|
346
346
|
}) =>
|
|
347
347
|
Effect.withFiber<RcMap<K, A, E>, never, R | Scope.Scope>((fiber) => {
|
|
@@ -352,8 +352,8 @@ export const make: {
|
|
|
352
352
|
services,
|
|
353
353
|
scope,
|
|
354
354
|
idleTimeToLive: typeof options.idleTimeToLive === "function"
|
|
355
|
-
? flow(options.idleTimeToLive, Duration.
|
|
356
|
-
: constant(Duration.
|
|
355
|
+
? flow(options.idleTimeToLive, Duration.fromInputUnsafe)
|
|
356
|
+
: constant(Duration.fromInputUnsafe(options.idleTimeToLive ?? Duration.zero)),
|
|
357
357
|
capacity: Math.max(options.capacity ?? Number.POSITIVE_INFINITY, 0)
|
|
358
358
|
})
|
|
359
359
|
return Effect.as(
|
package/src/RcRef.ts
CHANGED
|
@@ -120,7 +120,7 @@ export const make: <A, E, R>(
|
|
|
120
120
|
* When the reference count reaches zero, the resource will be released
|
|
121
121
|
* after this duration.
|
|
122
122
|
*/
|
|
123
|
-
readonly idleTimeToLive?: Duration.
|
|
123
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
124
124
|
}
|
|
125
125
|
) => Effect.Effect<RcRef<A, E>, never, R | Scope> = internal.make
|
|
126
126
|
|
package/src/Request.ts
CHANGED
|
@@ -88,7 +88,7 @@ export interface Variance<out A, out E, out R> {
|
|
|
88
88
|
* @category models
|
|
89
89
|
*/
|
|
90
90
|
export interface Constructor<R extends Request<any, any, any>, T extends keyof R = never> {
|
|
91
|
-
(args: Omit<R, T | keyof (Variance<any, any, any>)
|
|
91
|
+
(args: Types.VoidIfEmpty<Types.Simplify<Omit<R, T | keyof (Variance<any, any, any>)>>>): R
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
/**
|
|
@@ -285,7 +285,8 @@ export const tagged = <R extends Request<any, any, any> & { _tag: string }>(
|
|
|
285
285
|
tag: R["_tag"]
|
|
286
286
|
): Constructor<R, "_tag"> =>
|
|
287
287
|
(args) => {
|
|
288
|
-
const request = Object.
|
|
288
|
+
const request = Object.create(RequestPrototype)
|
|
289
|
+
if (args) Object.assign(request, args)
|
|
289
290
|
request._tag = tag
|
|
290
291
|
return request
|
|
291
292
|
}
|
package/src/RequestResolver.ts
CHANGED
|
@@ -652,7 +652,7 @@ export const setDelay: {
|
|
|
652
652
|
* @since 4.0.0
|
|
653
653
|
* @category delay
|
|
654
654
|
*/
|
|
655
|
-
(duration: Duration.
|
|
655
|
+
(duration: Duration.Input): <A extends Request.Any>(self: RequestResolver<A>) => RequestResolver<A>
|
|
656
656
|
/**
|
|
657
657
|
* Sets the batch delay window for this request resolver to the specified duration.
|
|
658
658
|
*
|
|
@@ -683,10 +683,10 @@ export const setDelay: {
|
|
|
683
683
|
* @since 4.0.0
|
|
684
684
|
* @category delay
|
|
685
685
|
*/
|
|
686
|
-
<A extends Request.Any>(self: RequestResolver<A>, duration: Duration.
|
|
686
|
+
<A extends Request.Any>(self: RequestResolver<A>, duration: Duration.Input): RequestResolver<A>
|
|
687
687
|
} = dual(
|
|
688
688
|
2,
|
|
689
|
-
<A extends Request.Any>(self: RequestResolver<A>, duration: Duration.
|
|
689
|
+
<A extends Request.Any>(self: RequestResolver<A>, duration: Duration.Input): RequestResolver<A> =>
|
|
690
690
|
makeWith({
|
|
691
691
|
...self,
|
|
692
692
|
delay: Effect.sleep(duration)
|
|
@@ -841,26 +841,6 @@ export const around: {
|
|
|
841
841
|
/**
|
|
842
842
|
* A request resolver that never executes requests.
|
|
843
843
|
*
|
|
844
|
-
* @example
|
|
845
|
-
* ```ts
|
|
846
|
-
* import { Effect, Request, RequestResolver } from "effect"
|
|
847
|
-
*
|
|
848
|
-
* // A resolver that will never complete
|
|
849
|
-
* const neverResolver = RequestResolver.never
|
|
850
|
-
*
|
|
851
|
-
* // For testing timeout behavior with any request type
|
|
852
|
-
* interface TestRequest extends Request.Request<string> {
|
|
853
|
-
* readonly _tag: "TestRequest"
|
|
854
|
-
* }
|
|
855
|
-
* const TestRequest = Request.tagged<TestRequest>("TestRequest")
|
|
856
|
-
*
|
|
857
|
-
* // This will never resolve
|
|
858
|
-
* const neverEffect = Effect.request(TestRequest({}), Effect.succeed(neverResolver) as any)
|
|
859
|
-
*
|
|
860
|
-
* // Useful for testing timeout behavior
|
|
861
|
-
* const timeoutTest = Effect.timeout(neverEffect, "1 second")
|
|
862
|
-
* ```
|
|
863
|
-
*
|
|
864
844
|
* @since 2.0.0
|
|
865
845
|
* @category constructors
|
|
866
846
|
*/
|
|
@@ -1468,7 +1448,7 @@ export const asCache: {
|
|
|
1468
1448
|
>(
|
|
1469
1449
|
options: {
|
|
1470
1450
|
readonly capacity: number
|
|
1471
|
-
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.
|
|
1451
|
+
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.Input) | undefined
|
|
1472
1452
|
readonly requireServicesAt?: ServiceMode | undefined
|
|
1473
1453
|
}
|
|
1474
1454
|
): (self: RequestResolver<A>) => Effect.Effect<
|
|
@@ -1495,7 +1475,7 @@ export const asCache: {
|
|
|
1495
1475
|
self: RequestResolver<A>,
|
|
1496
1476
|
options: {
|
|
1497
1477
|
readonly capacity: number
|
|
1498
|
-
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.
|
|
1478
|
+
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.Input) | undefined
|
|
1499
1479
|
readonly requireServicesAt?: ServiceMode | undefined
|
|
1500
1480
|
}
|
|
1501
1481
|
): Effect.Effect<
|
|
@@ -1513,7 +1493,7 @@ export const asCache: {
|
|
|
1513
1493
|
ServiceMode extends "lookup" | "construction" = never
|
|
1514
1494
|
>(self: RequestResolver<A>, options: {
|
|
1515
1495
|
readonly capacity: number
|
|
1516
|
-
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.
|
|
1496
|
+
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.Input) | undefined
|
|
1517
1497
|
readonly requireServicesAt?: ServiceMode | undefined
|
|
1518
1498
|
}): Effect.Effect<
|
|
1519
1499
|
Cache.Cache<
|
|
@@ -1649,7 +1629,7 @@ export const persisted: {
|
|
|
1649
1629
|
<A extends Request.Request<any, Persistence.PersistenceError | Schema.SchemaError, any> & Persistable.Any>(
|
|
1650
1630
|
options: {
|
|
1651
1631
|
readonly storeId: string
|
|
1652
|
-
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.
|
|
1632
|
+
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.Input) | undefined
|
|
1653
1633
|
readonly staleWhileRevalidate?: ((exit: Request.Result<A>, request: A) => boolean) | undefined
|
|
1654
1634
|
}
|
|
1655
1635
|
): (self: RequestResolver<A>) => Effect.Effect<
|
|
@@ -1667,7 +1647,7 @@ export const persisted: {
|
|
|
1667
1647
|
self: RequestResolver<A>,
|
|
1668
1648
|
options: {
|
|
1669
1649
|
readonly storeId: string
|
|
1670
|
-
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.
|
|
1650
|
+
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.Input) | undefined
|
|
1671
1651
|
readonly staleWhileRevalidate?: ((exit: Request.Result<A>, request: A) => boolean) | undefined
|
|
1672
1652
|
}
|
|
1673
1653
|
): Effect.Effect<
|
|
@@ -1683,7 +1663,7 @@ export const persisted: {
|
|
|
1683
1663
|
self: RequestResolver<A>,
|
|
1684
1664
|
options: {
|
|
1685
1665
|
readonly storeId: string
|
|
1686
|
-
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.
|
|
1666
|
+
readonly timeToLive?: ((exit: Request.Result<A>, request: A) => Duration.Input) | undefined
|
|
1687
1667
|
readonly staleWhileRevalidate?: ((exit: Request.Result<A>, request: A) => boolean) | undefined
|
|
1688
1668
|
}
|
|
1689
1669
|
) {
|