effect 4.0.0-beta.1 → 4.0.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Cache.d.ts +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +1 -1
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +1 -1
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Channel.d.ts +7 -7
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +6 -4
- package/dist/Channel.js.map +1 -1
- package/dist/Combiner.d.ts +280 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +198 -7
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +3 -3
- package/dist/Config.js +3 -3
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +1 -1
- package/dist/Cron.d.ts +1 -1
- package/dist/Data.d.ts +534 -365
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +132 -79
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +23 -161
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +6 -51
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +12 -12
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +12 -12
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +342 -248
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +119 -119
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +194 -0
- package/dist/Encoding.d.ts.map +1 -0
- package/dist/Encoding.js +352 -0
- package/dist/Encoding.js.map +1 -0
- package/dist/Equal.d.ts +276 -109
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +124 -48
- package/dist/Equal.js.map +1 -1
- package/dist/ErrorReporter.d.ts +376 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +246 -0
- package/dist/ErrorReporter.js.map +1 -0
- package/dist/FileSystem.d.ts +1 -1
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +5 -5
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +30 -1
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +15 -0
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +229 -51
- package/dist/Formatter.js.map +1 -1
- package/dist/Graph.d.ts +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +2 -2
- package/dist/Graph.js.map +1 -1
- package/dist/JsonSchema.d.ts +299 -10
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +323 -4
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +109 -0
- package/dist/Latch.d.ts.map +1 -0
- package/dist/Latch.js +72 -0
- package/dist/Latch.js.map +1 -0
- package/dist/LayerMap.d.ts +4 -4
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LogLevel.d.ts +32 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +29 -95
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +2 -3
- package/dist/Logger.js.map +1 -1
- package/dist/Metric.d.ts +2 -2
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +1 -1
- package/dist/Metric.js.map +1 -1
- package/dist/Optic.d.ts +947 -18
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +454 -5
- package/dist/Optic.js.map +1 -1
- package/dist/Pipeable.d.ts +17 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +19 -1
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +10 -9
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +2 -2
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +6 -4
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +7 -5
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts +3 -2
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +3 -2
- package/dist/PubSub.js.map +1 -1
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +0 -1
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +18 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +29 -12
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +1 -1
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/Reducer.d.ts +166 -7
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +135 -1
- package/dist/Reducer.js.map +1 -1
- package/dist/References.d.ts +3 -3
- package/dist/References.d.ts.map +1 -1
- package/dist/Request.d.ts +1 -1
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +2 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +6 -26
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +0 -20
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +12 -0
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +12 -0
- package/dist/Result.js.map +1 -1
- package/dist/Schedule.d.ts +33 -14
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +65 -24
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +199 -49
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +386 -72
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +2 -1
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +2 -2
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +12 -14
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +44 -43
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +43 -24
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +37 -0
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +80 -0
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +211 -0
- package/dist/Semaphore.d.ts.map +1 -0
- package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
- package/dist/Semaphore.js.map +1 -0
- package/dist/Stream.d.ts +24 -24
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +12 -11
- package/dist/Stream.js.map +1 -1
- package/dist/Struct.d.ts +16 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +22 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +2 -1
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +2 -1
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +2 -1
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +2 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Types.d.ts +14 -6
- package/dist/Types.d.ts.map +1 -1
- package/dist/index.d.ts +503 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +503 -19
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js +11 -3
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +3 -11
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +85 -26
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +2 -2
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +3 -2
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/testing/TestClock.d.ts +7 -6
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +6 -4
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +6 -6
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +48 -48
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +3 -3
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +4 -3
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +2 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +41 -0
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +51 -51
- package/dist/unstable/ai/McpServer.d.ts +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +20 -20
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Response.d.ts +26 -26
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +1 -1
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +5 -5
- package/dist/unstable/cli/CliOutput.js +37 -6
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +199 -7
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +116 -6
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +60 -2
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +11 -1
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +33 -8
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js +7 -2
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
- package/dist/unstable/cli/internal/parser.js +10 -2
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +2 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +5 -4
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +10 -10
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +2 -1
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +6 -6
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +4 -3
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +8 -6
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +5 -4
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +2 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
- package/dist/unstable/encoding/Msgpack.d.ts +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +1 -1
- package/dist/unstable/encoding/Sse.d.ts +4 -4
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +2 -1
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
- package/dist/unstable/http/Cookies.d.ts +3 -3
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +27 -10
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +17 -2
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +28 -1
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +11 -11
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +4 -4
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +7 -7
- package/dist/unstable/http/HttpClientRequest.d.ts +27 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +15 -3
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +30 -33
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +4 -4
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +3 -3
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +4 -9
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +14 -32
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +11 -27
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
- package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +5 -5
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +2 -1
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +3 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +3 -3
- package/dist/unstable/http/UrlParams.d.ts +14 -6
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +1 -1
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +6 -6
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +3 -3
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +21 -39
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +15 -24
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +11 -0
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +29 -9
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +18 -16
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +1 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +7 -4
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +6 -6
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +2 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +12 -11
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +2 -2
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +2 -2
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +6 -0
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +6 -6
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +15 -12
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +6 -6
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +3 -3
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +22 -1
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +1 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +39 -0
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
- package/dist/unstable/reactivity/Hydration.js +76 -0
- package/dist/unstable/reactivity/Hydration.js.map +1 -0
- package/dist/unstable/reactivity/index.d.ts +4 -0
- package/dist/unstable/reactivity/index.d.ts.map +1 -1
- package/dist/unstable/reactivity/index.js +4 -0
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +2 -2
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +5 -26
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +6 -13
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +9 -3
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +2 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +4 -4
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +2 -2
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +13 -2
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +4 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +3 -2
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +3 -3
- package/dist/unstable/sql/Migrator.d.ts +1 -1
- package/dist/unstable/sql/SqlError.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +24 -1
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +24 -3
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/Statement.js +0 -1
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +2 -1
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +2 -2
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +2 -2
- package/dist/unstable/workflow/WorkflowEngine.d.ts +8 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +133 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +2 -2
- package/src/Cache.ts +3 -3
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +15 -13
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +3 -3
- package/src/Data.ts +538 -374
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +15 -15
- package/src/Effect.ts +378 -269
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/ErrorReporter.ts +459 -0
- package/src/FileSystem.ts +7 -8
- package/src/Filter.ts +48 -1
- package/src/Formatter.ts +253 -51
- package/src/Graph.ts +8 -5
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +112 -0
- package/src/LayerMap.ts +5 -5
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +33 -100
- package/src/Metric.ts +4 -4
- package/src/Optic.ts +948 -19
- package/src/Pipeable.ts +32 -1
- package/src/PlatformError.ts +5 -5
- package/src/Pool.ts +13 -11
- package/src/PubSub.ts +10 -9
- package/src/Queue.ts +0 -1
- package/src/Random.ts +33 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Reducer.ts +166 -7
- package/src/References.ts +4 -4
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +9 -29
- package/src/Result.ts +13 -0
- package/src/Schedule.ts +279 -140
- package/src/Schema.ts +575 -113
- package/src/SchemaAST.ts +2 -1
- package/src/SchemaGetter.ts +12 -14
- package/src/SchemaRepresentation.ts +43 -24
- package/src/SchemaTransformation.ts +104 -0
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +356 -0
- package/src/Stream.ts +50 -49
- package/src/Struct.ts +26 -0
- package/src/SubscriptionRef.ts +3 -2
- package/src/SynchronizedRef.ts +3 -2
- package/src/Types.ts +12 -2
- package/src/index.ts +507 -20
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +194 -51
- package/src/internal/hashMap.ts +2 -2
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +4 -3
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +8 -8
- package/src/unstable/ai/AiError.ts +2 -2
- package/src/unstable/ai/Chat.ts +12 -11
- package/src/unstable/ai/LanguageModel.ts +74 -3
- package/src/unstable/ai/McpServer.ts +2 -2
- package/src/unstable/ai/Prompt.ts +37 -37
- package/src/unstable/ai/Response.ts +25 -25
- package/src/unstable/cli/CliOutput.ts +45 -6
- package/src/unstable/cli/Command.ts +298 -11
- package/src/unstable/cli/HelpDoc.ts +68 -2
- package/src/unstable/cli/internal/command.ts +47 -11
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
- package/src/unstable/cli/internal/parser.ts +11 -3
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +3 -2
- package/src/unstable/cluster/Entity.ts +7 -6
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/Envelope.ts +1 -1
- package/src/unstable/cluster/K8sHttpClient.ts +1 -1
- package/src/unstable/cluster/MessageStorage.ts +3 -5
- package/src/unstable/cluster/Runners.ts +6 -5
- package/src/unstable/cluster/Sharding.ts +11 -9
- package/src/unstable/cluster/ShardingConfig.ts +10 -11
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +9 -8
- package/src/unstable/cluster/internal/entityReaper.ts +2 -1
- package/src/unstable/cluster/internal/resourceRef.ts +2 -1
- package/src/unstable/encoding/Sse.ts +2 -4
- package/src/unstable/eventlog/EventLog.ts +2 -1
- package/src/unstable/http/Cookies.ts +3 -3
- package/src/unstable/http/Headers.ts +28 -13
- package/src/unstable/http/HttpBody.ts +42 -1
- package/src/unstable/http/HttpClient.ts +19 -19
- package/src/unstable/http/HttpClientRequest.ts +38 -13
- package/src/unstable/http/HttpEffect.ts +27 -30
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +5 -10
- package/src/unstable/http/HttpServerError.ts +13 -27
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +4 -2
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +20 -5
- package/src/unstable/httpapi/HttpApiBuilder.ts +6 -5
- package/src/unstable/httpapi/HttpApiClient.ts +3 -3
- package/src/unstable/httpapi/HttpApiEndpoint.ts +47 -72
- package/src/unstable/httpapi/HttpApiError.ts +30 -9
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/httpapi/OpenApi.ts +18 -16
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +3 -3
- package/src/unstable/observability/OtlpLogger.ts +13 -9
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +4 -4
- package/src/unstable/persistence/KeyValueStore.ts +6 -6
- package/src/unstable/persistence/Persistable.ts +2 -2
- package/src/unstable/persistence/PersistedCache.ts +20 -9
- package/src/unstable/persistence/PersistedQueue.ts +25 -24
- package/src/unstable/persistence/Persistence.ts +3 -3
- package/src/unstable/persistence/RateLimiter.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +2 -2
- package/src/unstable/process/ChildProcessSpawner.ts +6 -0
- package/src/unstable/reactivity/Atom.ts +20 -18
- package/src/unstable/reactivity/AtomHttpApi.ts +19 -18
- package/src/unstable/reactivity/AtomRegistry.ts +29 -1
- package/src/unstable/reactivity/AtomRpc.ts +3 -3
- package/src/unstable/reactivity/Hydration.ts +112 -0
- package/src/unstable/reactivity/index.ts +5 -0
- package/src/unstable/rpc/Rpc.ts +3 -3
- package/src/unstable/rpc/RpcClient.ts +12 -54
- package/src/unstable/rpc/RpcServer.ts +10 -4
- package/src/unstable/rpc/Utils.ts +2 -1
- package/src/unstable/schema/VariantSchema.ts +36 -7
- package/src/unstable/socket/Socket.ts +7 -6
- package/src/unstable/sql/SqlModel.ts +2 -2
- package/src/unstable/sql/SqlSchema.ts +62 -13
- package/src/unstable/sql/Statement.ts +0 -1
- package/src/unstable/workers/Worker.ts +2 -1
- package/src/unstable/workflow/DurableClock.ts +8 -8
- package/src/unstable/workflow/DurableDeferred.ts +2 -2
- package/src/unstable/workflow/WorkflowEngine.ts +181 -2
- package/dist/PartitionedSemaphore.d.ts +0 -52
- package/dist/PartitionedSemaphore.d.ts.map +0 -1
- package/dist/PartitionedSemaphore.js.map +0 -1
- package/dist/encoding/Base64.d.ts +0 -67
- package/dist/encoding/Base64.d.ts.map +0 -1
- package/dist/encoding/Base64.js +0 -146
- package/dist/encoding/Base64.js.map +0 -1
- package/dist/encoding/Base64Url.d.ts +0 -60
- package/dist/encoding/Base64Url.d.ts.map +0 -1
- package/dist/encoding/Base64Url.js +0 -89
- package/dist/encoding/Base64Url.js.map +0 -1
- package/dist/encoding/EncodingError.d.ts +0 -31
- package/dist/encoding/EncodingError.d.ts.map +0 -1
- package/dist/encoding/EncodingError.js +0 -22
- package/dist/encoding/EncodingError.js.map +0 -1
- package/dist/encoding/Hex.d.ts +0 -61
- package/dist/encoding/Hex.d.ts.map +0 -1
- package/dist/encoding/Hex.js +0 -115
- package/dist/encoding/Hex.js.map +0 -1
- package/dist/encoding/index.d.ts +0 -26
- package/dist/encoding/index.d.ts.map +0 -1
- package/dist/encoding/index.js +0 -27
- package/dist/encoding/index.js.map +0 -1
- package/src/PartitionedSemaphore.ts +0 -182
- package/src/encoding/Base64.ts +0 -366
- package/src/encoding/Base64Url.ts +0 -104
- package/src/encoding/EncodingError.ts +0 -35
- package/src/encoding/Hex.ts +0 -390
- package/src/encoding/index.ts +0 -31
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
|
+
import * as ErrorReporter from "../../ErrorReporter.ts"
|
|
4
5
|
import * as Schema from "../../Schema.ts"
|
|
5
6
|
import * as HttpApiSchema from "./HttpApiSchema.ts"
|
|
6
7
|
|
|
@@ -21,6 +22,8 @@ export class HttpApiSchemaError extends Schema.ErrorClass<HttpApiSchemaError>("e
|
|
|
21
22
|
static fromSchemaError(error: Schema.SchemaError): HttpApiSchemaError {
|
|
22
23
|
return new HttpApiSchemaError({ message: error.message })
|
|
23
24
|
}
|
|
25
|
+
|
|
26
|
+
override readonly [ErrorReporter.ignore] = true
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
/**
|
|
@@ -32,7 +35,9 @@ export class BadRequest extends Schema.ErrorClass<BadRequest>("effect/HttpApiErr
|
|
|
32
35
|
}, {
|
|
33
36
|
description: "BadRequest",
|
|
34
37
|
httpApiStatus: 400
|
|
35
|
-
}) {
|
|
38
|
+
}) {
|
|
39
|
+
override readonly [ErrorReporter.ignore] = true
|
|
40
|
+
}
|
|
36
41
|
|
|
37
42
|
/**
|
|
38
43
|
* @category NoContent errors
|
|
@@ -51,7 +56,9 @@ export class Unauthorized extends Schema.ErrorClass<Unauthorized>("effect/HttpAp
|
|
|
51
56
|
}, {
|
|
52
57
|
description: "Unauthorized",
|
|
53
58
|
httpApiStatus: 401
|
|
54
|
-
}) {
|
|
59
|
+
}) {
|
|
60
|
+
override readonly [ErrorReporter.ignore] = true
|
|
61
|
+
}
|
|
55
62
|
|
|
56
63
|
/**
|
|
57
64
|
* @category NoContent errors
|
|
@@ -70,7 +77,9 @@ export class Forbidden extends Schema.ErrorClass<Forbidden>("effect/HttpApiError
|
|
|
70
77
|
}, {
|
|
71
78
|
description: "Forbidden",
|
|
72
79
|
httpApiStatus: 403
|
|
73
|
-
}) {
|
|
80
|
+
}) {
|
|
81
|
+
override readonly [ErrorReporter.ignore] = true
|
|
82
|
+
}
|
|
74
83
|
|
|
75
84
|
/**
|
|
76
85
|
* @category NoContent errors
|
|
@@ -89,7 +98,9 @@ export class NotFound extends Schema.ErrorClass<NotFound>("effect/HttpApiError/N
|
|
|
89
98
|
}, {
|
|
90
99
|
description: "NotFound",
|
|
91
100
|
httpApiStatus: 404
|
|
92
|
-
}) {
|
|
101
|
+
}) {
|
|
102
|
+
override readonly [ErrorReporter.ignore] = true
|
|
103
|
+
}
|
|
93
104
|
|
|
94
105
|
/**
|
|
95
106
|
* @category NoContent errors
|
|
@@ -108,7 +119,9 @@ export class MethodNotAllowed extends Schema.ErrorClass<MethodNotAllowed>("effec
|
|
|
108
119
|
}, {
|
|
109
120
|
description: "MethodNotAllowed",
|
|
110
121
|
httpApiStatus: 405
|
|
111
|
-
}) {
|
|
122
|
+
}) {
|
|
123
|
+
override readonly [ErrorReporter.ignore] = true
|
|
124
|
+
}
|
|
112
125
|
|
|
113
126
|
/**
|
|
114
127
|
* @category NoContent errors
|
|
@@ -127,7 +140,9 @@ export class NotAcceptable extends Schema.ErrorClass<NotAcceptable>("effect/Http
|
|
|
127
140
|
}, {
|
|
128
141
|
description: "NotAcceptable",
|
|
129
142
|
httpApiStatus: 406
|
|
130
|
-
}) {
|
|
143
|
+
}) {
|
|
144
|
+
override readonly [ErrorReporter.ignore] = true
|
|
145
|
+
}
|
|
131
146
|
|
|
132
147
|
/**
|
|
133
148
|
* @category NoContent errors
|
|
@@ -146,7 +161,9 @@ export class RequestTimeout extends Schema.ErrorClass<RequestTimeout>("effect/Ht
|
|
|
146
161
|
}, {
|
|
147
162
|
description: "RequestTimeout",
|
|
148
163
|
httpApiStatus: 408
|
|
149
|
-
}) {
|
|
164
|
+
}) {
|
|
165
|
+
override readonly [ErrorReporter.ignore] = true
|
|
166
|
+
}
|
|
150
167
|
|
|
151
168
|
/**
|
|
152
169
|
* @category NoContent errors
|
|
@@ -165,7 +182,9 @@ export class Conflict extends Schema.ErrorClass<Conflict>("effect/HttpApiError/C
|
|
|
165
182
|
}, {
|
|
166
183
|
description: "Conflict",
|
|
167
184
|
httpApiStatus: 409
|
|
168
|
-
}) {
|
|
185
|
+
}) {
|
|
186
|
+
override readonly [ErrorReporter.ignore] = true
|
|
187
|
+
}
|
|
169
188
|
|
|
170
189
|
/**
|
|
171
190
|
* @since 4.0.0
|
|
@@ -184,7 +203,9 @@ export class Gone extends Schema.ErrorClass<Gone>("effect/HttpApiError/Gone")({
|
|
|
184
203
|
}, {
|
|
185
204
|
description: "Gone",
|
|
186
205
|
httpApiStatus: 410
|
|
187
|
-
}) {
|
|
206
|
+
}) {
|
|
207
|
+
override readonly [ErrorReporter.ignore] = true
|
|
208
|
+
}
|
|
188
209
|
|
|
189
210
|
/**
|
|
190
211
|
* @category NoContent errors
|
|
@@ -98,6 +98,12 @@ export type ScalarConfig = {
|
|
|
98
98
|
* Default: `false`
|
|
99
99
|
*/
|
|
100
100
|
defaultOpenAllTags?: boolean
|
|
101
|
+
/**
|
|
102
|
+
* Whether to display the operation ID in the operation reference.
|
|
103
|
+
*
|
|
104
|
+
* Default: `false`
|
|
105
|
+
*/
|
|
106
|
+
showOperationId?: boolean
|
|
101
107
|
}
|
|
102
108
|
|
|
103
109
|
type ScalarSource =
|
|
@@ -362,20 +362,23 @@ export function fromApi<Id extends string, Groups extends HttpApiGroup.Any>(
|
|
|
362
362
|
}
|
|
363
363
|
}
|
|
364
364
|
|
|
365
|
-
function processParameters(
|
|
366
|
-
if (
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
365
|
+
function processParameters(schema: Schema.Top | undefined, i: OpenAPISpecParameter["in"]) {
|
|
366
|
+
if (schema) {
|
|
367
|
+
const ast = AST.toEncoded(schema.ast)
|
|
368
|
+
if (AST.isObjects(ast)) {
|
|
369
|
+
for (const ps of ast.propertySignatures) {
|
|
370
|
+
op.parameters.push({
|
|
371
|
+
name: String(ps.name),
|
|
372
|
+
in: i,
|
|
373
|
+
schema: {},
|
|
374
|
+
required: i === "path" || !AST.isOptional(ps.type)
|
|
375
|
+
})
|
|
376
|
+
pathOps.push({
|
|
377
|
+
_tag: "parameter",
|
|
378
|
+
ast: ps.type,
|
|
379
|
+
path: ["paths", path, method, "parameters", String(op.parameters.length - 1), "schema"]
|
|
380
|
+
})
|
|
381
|
+
}
|
|
379
382
|
}
|
|
380
383
|
}
|
|
381
384
|
}
|
|
@@ -421,8 +424,7 @@ export function fromApi<Id extends string, Groups extends HttpApiGroup.Any>(
|
|
|
421
424
|
processParameters(endpoint.params, "path")
|
|
422
425
|
if (!hasBody && endpoint.payload.size === 1) {
|
|
423
426
|
const entry = endpoint.payload.values().next().value!
|
|
424
|
-
|
|
425
|
-
processParameters(schema.fields, "query")
|
|
427
|
+
processParameters(entry.schemas[0], "query")
|
|
426
428
|
}
|
|
427
429
|
processParameters(endpoint.headers, "header")
|
|
428
430
|
processParameters(endpoint.query, "query")
|
|
@@ -28,13 +28,13 @@ export const layer = (options: {
|
|
|
28
28
|
readonly headers?: Headers.Input | undefined
|
|
29
29
|
readonly maxBatchSize?: number | undefined
|
|
30
30
|
readonly tracerContext?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
31
|
-
readonly loggerExportInterval?: Duration.
|
|
31
|
+
readonly loggerExportInterval?: Duration.Input | undefined
|
|
32
32
|
readonly loggerExcludeLogSpans?: boolean | undefined
|
|
33
33
|
readonly loggerMergeWithExisting?: boolean | undefined
|
|
34
|
-
readonly metricsExportInterval?: Duration.
|
|
34
|
+
readonly metricsExportInterval?: Duration.Input | undefined
|
|
35
35
|
readonly metricsTemporality?: AggregationTemporality | undefined
|
|
36
|
-
readonly tracerExportInterval?: Duration.
|
|
37
|
-
readonly shutdownTimeout?: Duration.
|
|
36
|
+
readonly tracerExportInterval?: Duration.Input | undefined
|
|
37
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
38
38
|
}): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization.OtlpSerialization> => {
|
|
39
39
|
const base = HttpClientRequest.get(options.baseUrl)
|
|
40
40
|
const url = (path: string) => HttpClientRequest.appendUrl(base, path).url
|
|
@@ -83,13 +83,13 @@ export const layerJson: (options: {
|
|
|
83
83
|
readonly headers?: Headers.Input | undefined
|
|
84
84
|
readonly maxBatchSize?: number | undefined
|
|
85
85
|
readonly tracerContext?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
86
|
-
readonly loggerExportInterval?: Duration.
|
|
86
|
+
readonly loggerExportInterval?: Duration.Input | undefined
|
|
87
87
|
readonly loggerExcludeLogSpans?: boolean | undefined
|
|
88
88
|
readonly loggerMergeWithExisting?: boolean | undefined
|
|
89
|
-
readonly metricsExportInterval?: Duration.
|
|
89
|
+
readonly metricsExportInterval?: Duration.Input | undefined
|
|
90
90
|
readonly metricsTemporality?: AggregationTemporality | undefined
|
|
91
|
-
readonly tracerExportInterval?: Duration.
|
|
92
|
-
readonly shutdownTimeout?: Duration.
|
|
91
|
+
readonly tracerExportInterval?: Duration.Input | undefined
|
|
92
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
93
93
|
}) => Layer.Layer<never, never, HttpClient.HttpClient> = flow(layer, Layer.provide(OtlpSerialization.layerJson))
|
|
94
94
|
|
|
95
95
|
/**
|
|
@@ -106,11 +106,11 @@ export const layerProtobuf: (options: {
|
|
|
106
106
|
readonly headers?: Headers.Input | undefined
|
|
107
107
|
readonly maxBatchSize?: number | undefined
|
|
108
108
|
readonly tracerContext?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
109
|
-
readonly loggerExportInterval?: Duration.
|
|
109
|
+
readonly loggerExportInterval?: Duration.Input | undefined
|
|
110
110
|
readonly loggerExcludeLogSpans?: boolean | undefined
|
|
111
111
|
readonly loggerMergeWithExisting?: boolean | undefined
|
|
112
|
-
readonly metricsExportInterval?: Duration.
|
|
112
|
+
readonly metricsExportInterval?: Duration.Input | undefined
|
|
113
113
|
readonly metricsTemporality?: AggregationTemporality | undefined
|
|
114
|
-
readonly tracerExportInterval?: Duration.
|
|
115
|
-
readonly shutdownTimeout?: Duration.
|
|
114
|
+
readonly tracerExportInterval?: Duration.Input | undefined
|
|
115
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
116
116
|
}) => Layer.Layer<never, never, HttpClient.HttpClient> = flow(layer, Layer.provide(OtlpSerialization.layerProtobuf))
|
|
@@ -40,10 +40,10 @@ export const make: (
|
|
|
40
40
|
readonly url: string
|
|
41
41
|
readonly headers: Headers.Input | undefined
|
|
42
42
|
readonly label: string
|
|
43
|
-
readonly exportInterval: Duration.
|
|
43
|
+
readonly exportInterval: Duration.Input
|
|
44
44
|
readonly maxBatchSize: number | "disabled"
|
|
45
45
|
readonly body: (data: Array<any>) => HttpBody
|
|
46
|
-
readonly shutdownTimeout: Duration.
|
|
46
|
+
readonly shutdownTimeout: Duration.Input
|
|
47
47
|
}
|
|
48
48
|
) => Effect.Effect<
|
|
49
49
|
{ readonly push: (data: unknown) => void },
|
|
@@ -54,7 +54,7 @@ export const make: (
|
|
|
54
54
|
const clock = ServiceMap.get(services, Clock)
|
|
55
55
|
const scope = ServiceMap.get(services, Scope.Scope)
|
|
56
56
|
const runFork = Effect.runForkWith(services)
|
|
57
|
-
const exportInterval = Duration.max(Duration.
|
|
57
|
+
const exportInterval = Duration.max(Duration.fromInputUnsafe(options.exportInterval), Duration.zero)
|
|
58
58
|
let disabledUntil: number | undefined = undefined
|
|
59
59
|
|
|
60
60
|
const client = HttpClient.filterStatusOk(ServiceMap.get(services, HttpClient.HttpClient)).pipe(
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Arr from "../../Array.ts"
|
|
5
5
|
import * as Cause from "../../Cause.ts"
|
|
6
|
+
import { Clock } from "../../Clock.ts"
|
|
6
7
|
import * as Duration from "../../Duration.ts"
|
|
7
8
|
import * as Effect from "../../Effect.ts"
|
|
8
9
|
import type * as Layer from "../../Layer.ts"
|
|
@@ -30,9 +31,9 @@ export const make: (
|
|
|
30
31
|
readonly attributes?: Record<string, unknown>
|
|
31
32
|
} | undefined
|
|
32
33
|
readonly headers?: Headers.Input | undefined
|
|
33
|
-
readonly exportInterval?: Duration.
|
|
34
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
34
35
|
readonly maxBatchSize?: number | undefined
|
|
35
|
-
readonly shutdownTimeout?: Duration.
|
|
36
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
36
37
|
readonly excludeLogSpans?: boolean | undefined
|
|
37
38
|
}
|
|
38
39
|
) => Effect.Effect<
|
|
@@ -66,7 +67,8 @@ export const make: (
|
|
|
66
67
|
})
|
|
67
68
|
|
|
68
69
|
const opts = {
|
|
69
|
-
excludeLogSpans: options.excludeLogSpans ?? false
|
|
70
|
+
excludeLogSpans: options.excludeLogSpans ?? false,
|
|
71
|
+
clock: yield* Clock
|
|
70
72
|
}
|
|
71
73
|
return Logger.make((options) => {
|
|
72
74
|
exporter.push(makeLogRecord(options, opts))
|
|
@@ -85,9 +87,9 @@ export const layer = (options: {
|
|
|
85
87
|
readonly attributes?: Record<string, unknown>
|
|
86
88
|
} | undefined
|
|
87
89
|
readonly headers?: Headers.Input | undefined
|
|
88
|
-
readonly exportInterval?: Duration.
|
|
90
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
89
91
|
readonly maxBatchSize?: number | undefined
|
|
90
|
-
readonly shutdownTimeout?: Duration.
|
|
92
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
91
93
|
readonly excludeLogSpans?: boolean | undefined
|
|
92
94
|
readonly mergeWithExisting?: boolean | undefined
|
|
93
95
|
}): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization> =>
|
|
@@ -104,11 +106,13 @@ export interface LogsData {
|
|
|
104
106
|
|
|
105
107
|
// internal
|
|
106
108
|
|
|
107
|
-
const makeLogRecord = (options: Logger.
|
|
109
|
+
const makeLogRecord = (options: Logger.Options<unknown>, opts: {
|
|
108
110
|
readonly excludeLogSpans: boolean
|
|
111
|
+
readonly clock: Clock
|
|
109
112
|
}): ILogRecord => {
|
|
110
|
-
const now =
|
|
111
|
-
const nanosString =
|
|
113
|
+
const now = opts.clock.currentTimeNanosUnsafe()
|
|
114
|
+
const nanosString = now.toString()
|
|
115
|
+
const nowMillis = options.date.getTime()
|
|
112
116
|
|
|
113
117
|
const attributes = OtlpResource.entriesToAttributes(Object.entries(options.fiber.getRef(CurrentLogAnnotations)))
|
|
114
118
|
attributes.push({
|
|
@@ -119,7 +123,7 @@ const makeLogRecord = (options: Logger.Logger.Options<unknown>, opts: {
|
|
|
119
123
|
for (const [label, startTime] of options.fiber.getRef(CurrentLogSpans)) {
|
|
120
124
|
attributes.push({
|
|
121
125
|
key: `logSpan.${label}`,
|
|
122
|
-
value: { stringValue: `${
|
|
126
|
+
value: { stringValue: `${nowMillis - startTime}ms` }
|
|
123
127
|
})
|
|
124
128
|
}
|
|
125
129
|
}
|
|
@@ -60,8 +60,8 @@ export const make: (options: {
|
|
|
60
60
|
readonly attributes?: Record<string, unknown>
|
|
61
61
|
} | undefined
|
|
62
62
|
readonly headers?: Headers.Input | undefined
|
|
63
|
-
readonly exportInterval?: Duration.
|
|
64
|
-
readonly shutdownTimeout?: Duration.
|
|
63
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
64
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
65
65
|
readonly temporality?: AggregationTemporality | undefined
|
|
66
66
|
}) => Effect.Effect<
|
|
67
67
|
void,
|
|
@@ -440,8 +440,8 @@ export const layer = (options: {
|
|
|
440
440
|
readonly attributes?: Record<string, unknown>
|
|
441
441
|
} | undefined
|
|
442
442
|
readonly headers?: Headers.Input | undefined
|
|
443
|
-
readonly exportInterval?: Duration.
|
|
444
|
-
readonly shutdownTimeout?: Duration.
|
|
443
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
444
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
445
445
|
readonly temporality?: AggregationTemporality | undefined
|
|
446
446
|
}): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization> => Layer.effectDiscard(make(options))
|
|
447
447
|
|
|
@@ -32,10 +32,10 @@ export const make: (
|
|
|
32
32
|
readonly attributes?: Record<string, unknown>
|
|
33
33
|
} | undefined
|
|
34
34
|
readonly headers?: Headers.Input | undefined
|
|
35
|
-
readonly exportInterval?: Duration.
|
|
35
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
36
36
|
readonly maxBatchSize?: number | undefined
|
|
37
37
|
readonly context?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
38
|
-
readonly shutdownTimeout?: Duration.
|
|
38
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
39
39
|
}
|
|
40
40
|
) => Effect.Effect<
|
|
41
41
|
Tracer.Tracer,
|
|
@@ -109,10 +109,10 @@ export const layer: (options: {
|
|
|
109
109
|
readonly attributes?: Record<string, unknown>
|
|
110
110
|
} | undefined
|
|
111
111
|
readonly headers?: Headers.Input | undefined
|
|
112
|
-
readonly exportInterval?: Duration.
|
|
112
|
+
readonly exportInterval?: Duration.Input | undefined
|
|
113
113
|
readonly maxBatchSize?: number | undefined
|
|
114
114
|
readonly context?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
|
|
115
|
-
readonly shutdownTimeout?: Duration.
|
|
115
|
+
readonly shutdownTimeout?: Duration.Input | undefined
|
|
116
116
|
}) => Layer.Layer<never, never, OtlpSerialization | HttpClient.HttpClient> = flow(make, Layer.effect(Tracer.Tracer))
|
|
117
117
|
|
|
118
118
|
// internal
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Data from "../../Data.ts"
|
|
5
5
|
import * as Effect from "../../Effect.ts"
|
|
6
|
-
import * as
|
|
6
|
+
import * as Encoding from "../../Encoding.ts"
|
|
7
7
|
import * as FileSystem from "../../FileSystem.ts"
|
|
8
8
|
import { dual, identity, type LazyArg } from "../../Function.ts"
|
|
9
9
|
import * as Layer from "../../Layer.ts"
|
|
@@ -225,7 +225,7 @@ export const makeStringOnly = (
|
|
|
225
225
|
getUint8Array: (key) =>
|
|
226
226
|
options.get(key).pipe(
|
|
227
227
|
Effect.map(UndefinedOr.map((value) =>
|
|
228
|
-
Result.match(
|
|
228
|
+
Result.match(Encoding.decodeBase64(value), {
|
|
229
229
|
onFailure: () => encoder.encode(value),
|
|
230
230
|
onSuccess: identity
|
|
231
231
|
})
|
|
@@ -234,7 +234,7 @@ export const makeStringOnly = (
|
|
|
234
234
|
set: (key, value) =>
|
|
235
235
|
typeof value === "string"
|
|
236
236
|
? options.set(key, value)
|
|
237
|
-
: Effect.suspend(() => options.set(key,
|
|
237
|
+
: Effect.suspend(() => options.set(key, Encoding.encodeBase64(value)))
|
|
238
238
|
})
|
|
239
239
|
}
|
|
240
240
|
|
|
@@ -276,7 +276,7 @@ export const layerMemory: Layer.Layer<KeyValueStore> = Layer.sync(KeyValueStore)
|
|
|
276
276
|
get: (key: string) =>
|
|
277
277
|
Effect.sync(() => {
|
|
278
278
|
const value = store.get(key)
|
|
279
|
-
return value === undefined ? undefined : typeof value === "string" ? value :
|
|
279
|
+
return value === undefined ? undefined : typeof value === "string" ? value : Encoding.encodeBase64(value)
|
|
280
280
|
}),
|
|
281
281
|
getUint8Array: (key: string) =>
|
|
282
282
|
Effect.sync(() => {
|
|
@@ -312,7 +312,7 @@ export const layerFileSystem = (
|
|
|
312
312
|
fs.readFileString(keyPath(key)),
|
|
313
313
|
"PlatformError",
|
|
314
314
|
(cause) =>
|
|
315
|
-
cause.reason._tag === "
|
|
315
|
+
cause.reason._tag === "NotFound" ? Effect.undefined : Effect.fail(
|
|
316
316
|
new KeyValueStoreError({
|
|
317
317
|
method: "get",
|
|
318
318
|
key,
|
|
@@ -326,7 +326,7 @@ export const layerFileSystem = (
|
|
|
326
326
|
fs.readFile(keyPath(key)),
|
|
327
327
|
"PlatformError",
|
|
328
328
|
(cause) =>
|
|
329
|
-
cause.reason._tag === "
|
|
329
|
+
cause.reason._tag === "NotFound" ? Effect.undefined : Effect.fail(
|
|
330
330
|
new KeyValueStoreError({
|
|
331
331
|
method: "getUint8Array",
|
|
332
332
|
key,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
|
-
import type
|
|
4
|
+
import type * as Duration from "../../Duration.ts"
|
|
5
5
|
import type * as Effect from "../../Effect.ts"
|
|
6
6
|
import type * as Exit from "../../Exit.ts"
|
|
7
7
|
import * as PrimaryKey from "../../PrimaryKey.ts"
|
|
@@ -87,7 +87,7 @@ export type Services<A extends Any> =
|
|
|
87
87
|
* @since 4.0.0
|
|
88
88
|
* @category Models
|
|
89
89
|
*/
|
|
90
|
-
export type TimeToLiveFn<K extends Any> = (exit: Exit.Exit<Success<K>, Error<K>>, request: K) =>
|
|
90
|
+
export type TimeToLiveFn<K extends Any> = (exit: Exit.Exit<Success<K>, Error<K>>, request: K) => Duration.Input
|
|
91
91
|
|
|
92
92
|
/**
|
|
93
93
|
* @since 4.0.0
|
|
@@ -17,18 +17,18 @@ const TypeId = "~effect/persistence/PersistedCache" as const
|
|
|
17
17
|
* @since 4.0.0
|
|
18
18
|
* @category Models
|
|
19
19
|
*/
|
|
20
|
-
export interface PersistedCache<K extends Persistable.Any> {
|
|
20
|
+
export interface PersistedCache<K extends Persistable.Any, out R = never> {
|
|
21
21
|
readonly [TypeId]: typeof TypeId
|
|
22
22
|
readonly inMemory: Cache.Cache<
|
|
23
23
|
K,
|
|
24
24
|
Persistable.Success<K>,
|
|
25
25
|
Persistable.Error<K> | Persistence.PersistenceError | Schema.SchemaError,
|
|
26
|
-
Persistable.Services<K>
|
|
26
|
+
Persistable.Services<K> | R
|
|
27
27
|
>
|
|
28
28
|
readonly get: (key: K) => Effect.Effect<
|
|
29
29
|
Persistable.Success<K>,
|
|
30
30
|
Persistable.Error<K> | Persistence.PersistenceError | Schema.SchemaError,
|
|
31
|
-
Persistable.Services<K>
|
|
31
|
+
Persistable.Services<K> | R
|
|
32
32
|
>
|
|
33
33
|
readonly invalidate: (key: K) => Effect.Effect<void, Persistence.PersistenceError>
|
|
34
34
|
}
|
|
@@ -37,22 +37,32 @@ export interface PersistedCache<K extends Persistable.Any> {
|
|
|
37
37
|
* @since 4.0.0
|
|
38
38
|
* @category Constructors
|
|
39
39
|
*/
|
|
40
|
-
export const make: <
|
|
40
|
+
export const make: <
|
|
41
|
+
K extends Persistable.Any,
|
|
42
|
+
R = never,
|
|
43
|
+
ServiceMode extends "lookup" | "construction" = never
|
|
44
|
+
>(options: {
|
|
41
45
|
readonly storeId: string
|
|
42
46
|
readonly lookup: (key: K) => Effect.Effect<Persistable.Success<K>, Persistable.Error<K>, R>
|
|
43
47
|
readonly timeToLive: Persistable.TimeToLiveFn<K>
|
|
44
48
|
readonly inMemoryCapacity?: number | undefined
|
|
45
49
|
readonly inMemoryTTL?: Persistable.TimeToLiveFn<K> | undefined
|
|
50
|
+
readonly requireServicesAt?: ServiceMode | undefined
|
|
46
51
|
}) => Effect.Effect<
|
|
47
|
-
PersistedCache<K>,
|
|
52
|
+
PersistedCache<K, "lookup" extends ServiceMode ? R : never>,
|
|
48
53
|
never,
|
|
49
|
-
R | Persistence.Persistence | Scope.Scope
|
|
50
|
-
> = Effect.fnUntraced(function*<
|
|
54
|
+
("lookup" extends ServiceMode ? never : R) | Persistence.Persistence | Scope.Scope
|
|
55
|
+
> = Effect.fnUntraced(function*<
|
|
56
|
+
K extends Persistable.Any,
|
|
57
|
+
R = never,
|
|
58
|
+
ServiceMode extends "lookup" | "construction" = never
|
|
59
|
+
>(options: {
|
|
51
60
|
readonly storeId: string
|
|
52
61
|
readonly lookup: (key: K) => Effect.Effect<Persistable.Success<K>, Persistable.Error<K>, R>
|
|
53
62
|
readonly timeToLive: Persistable.TimeToLiveFn<K>
|
|
54
63
|
readonly inMemoryCapacity?: number | undefined
|
|
55
64
|
readonly inMemoryTTL?: Persistable.TimeToLiveFn<K> | undefined
|
|
65
|
+
readonly requireServicesAt?: ServiceMode | undefined
|
|
56
66
|
}) {
|
|
57
67
|
const store = yield* (yield* Persistence.Persistence).make({
|
|
58
68
|
storeId: options.storeId,
|
|
@@ -69,9 +79,10 @@ export const make: <K extends Persistable.Any, R>(options: {
|
|
|
69
79
|
return yield* result
|
|
70
80
|
}),
|
|
71
81
|
timeToLive: options.inMemoryTTL ?? constant(Duration.seconds(10)),
|
|
72
|
-
capacity: options.inMemoryCapacity ?? 1024
|
|
82
|
+
capacity: options.inMemoryCapacity ?? 1024,
|
|
83
|
+
requireServicesAt: options.requireServicesAt
|
|
73
84
|
})
|
|
74
|
-
return identity<PersistedCache<K>>({
|
|
85
|
+
return identity<PersistedCache<K, "lookup" extends ServiceMode ? R : never>>({
|
|
75
86
|
[TypeId]: TypeId,
|
|
76
87
|
inMemory,
|
|
77
88
|
get: (key) => Cache.get(inMemory, key),
|
|
@@ -9,6 +9,7 @@ import * as Effect from "../../Effect.ts"
|
|
|
9
9
|
import * as Exit from "../../Exit.ts"
|
|
10
10
|
import { flow } from "../../Function.ts"
|
|
11
11
|
import * as Iterable from "../../Iterable.ts"
|
|
12
|
+
import * as Latch from "../../Latch.ts"
|
|
12
13
|
import * as Layer from "../../Layer.ts"
|
|
13
14
|
import * as MutableRef from "../../MutableRef.ts"
|
|
14
15
|
import * as Queue from "../../Queue.ts"
|
|
@@ -235,14 +236,14 @@ export const layerStoreMemory: Layer.Layer<
|
|
|
235
236
|
}
|
|
236
237
|
const ids = new Set<string>()
|
|
237
238
|
const queues = new Map<string, {
|
|
238
|
-
latch:
|
|
239
|
+
latch: Latch.Latch
|
|
239
240
|
items: Set<Entry>
|
|
240
241
|
}>()
|
|
241
242
|
const getOrCreateQueue = (name: string) => {
|
|
242
243
|
let queue = queues.get(name)
|
|
243
244
|
if (!queue) {
|
|
244
245
|
queue = {
|
|
245
|
-
latch:
|
|
246
|
+
latch: Latch.makeUnsafe(false),
|
|
246
247
|
items: new Set()
|
|
247
248
|
}
|
|
248
249
|
queues.set(name, queue)
|
|
@@ -294,26 +295,26 @@ export const layerStoreMemory: Layer.Layer<
|
|
|
294
295
|
export const makeStoreRedis = Effect.fnUntraced(function*(
|
|
295
296
|
options?: {
|
|
296
297
|
readonly prefix?: string | undefined
|
|
297
|
-
readonly pollInterval?: Duration.
|
|
298
|
-
readonly lockRefreshInterval?: Duration.
|
|
299
|
-
readonly lockExpiration?: Duration.
|
|
298
|
+
readonly pollInterval?: Duration.Input | undefined
|
|
299
|
+
readonly lockRefreshInterval?: Duration.Input | undefined
|
|
300
|
+
readonly lockExpiration?: Duration.Input | undefined
|
|
300
301
|
}
|
|
301
302
|
) {
|
|
302
303
|
const redis = yield* Redis.Redis
|
|
303
304
|
|
|
304
305
|
const pollInterval = Duration.max(
|
|
305
|
-
options?.pollInterval ? Duration.
|
|
306
|
+
options?.pollInterval ? Duration.fromInputUnsafe(options.pollInterval) : Duration.seconds(1),
|
|
306
307
|
Duration.millis(1)
|
|
307
308
|
)
|
|
308
309
|
const lockRefreshMillis = Math.max(
|
|
309
310
|
options?.lockRefreshInterval
|
|
310
|
-
? Duration.toMillis(Duration.
|
|
311
|
+
? Duration.toMillis(Duration.fromInputUnsafe(options.lockRefreshInterval))
|
|
311
312
|
: 30_000,
|
|
312
313
|
1
|
|
313
314
|
)
|
|
314
315
|
const lockExpirationMillis = Math.max(
|
|
315
316
|
options?.lockExpiration
|
|
316
|
-
? Duration.toMillis(Duration.
|
|
317
|
+
? Duration.toMillis(Duration.fromInputUnsafe(options.lockExpiration))
|
|
317
318
|
: 90_000,
|
|
318
319
|
1
|
|
319
320
|
)
|
|
@@ -345,8 +346,8 @@ export const makeStoreRedis = Effect.fnUntraced(function*(
|
|
|
345
346
|
const pendingKey = keyPending(name)
|
|
346
347
|
const queue = yield* Queue.make<Element>()
|
|
347
348
|
const takers = MutableRef.make(0)
|
|
348
|
-
const pollLatch =
|
|
349
|
-
const takenLatch =
|
|
349
|
+
const pollLatch = Latch.makeUnsafe()
|
|
350
|
+
const takenLatch = Latch.makeUnsafe()
|
|
350
351
|
|
|
351
352
|
yield* Effect.addFinalizer(() =>
|
|
352
353
|
Effect.orDie(
|
|
@@ -653,9 +654,9 @@ end
|
|
|
653
654
|
export const layerStoreRedis: (
|
|
654
655
|
options?: {
|
|
655
656
|
readonly prefix?: string | undefined
|
|
656
|
-
readonly pollInterval?: Duration.
|
|
657
|
-
readonly lockRefreshInterval?: Duration.
|
|
658
|
-
readonly lockExpiration?: Duration.
|
|
657
|
+
readonly pollInterval?: Duration.Input | undefined
|
|
658
|
+
readonly lockRefreshInterval?: Duration.Input | undefined
|
|
659
|
+
readonly lockExpiration?: Duration.Input | undefined
|
|
659
660
|
} | undefined
|
|
660
661
|
) => Layer.Layer<
|
|
661
662
|
PersistedQueueStore,
|
|
@@ -670,9 +671,9 @@ export const layerStoreRedis: (
|
|
|
670
671
|
export const makeStoreSql: (
|
|
671
672
|
options?: {
|
|
672
673
|
readonly tableName?: string | undefined
|
|
673
|
-
readonly pollInterval?: Duration.
|
|
674
|
-
readonly lockRefreshInterval?: Duration.
|
|
675
|
-
readonly lockExpiration?: Duration.
|
|
674
|
+
readonly pollInterval?: Duration.Input | undefined
|
|
675
|
+
readonly lockRefreshInterval?: Duration.Input | undefined
|
|
676
|
+
readonly lockExpiration?: Duration.Input | undefined
|
|
676
677
|
} | undefined
|
|
677
678
|
) => Effect.Effect<
|
|
678
679
|
PersistedQueueStore["Service"],
|
|
@@ -683,15 +684,15 @@ export const makeStoreSql: (
|
|
|
683
684
|
const tableName = options?.tableName ?? "effect_queue"
|
|
684
685
|
const tableNameSql = sql(tableName)
|
|
685
686
|
const pollInterval = Duration.max(
|
|
686
|
-
options?.pollInterval ? Duration.
|
|
687
|
+
options?.pollInterval ? Duration.fromInputUnsafe(options.pollInterval) : Duration.millis(1000),
|
|
687
688
|
Duration.millis(1)
|
|
688
689
|
)
|
|
689
690
|
const lockRefreshInterval = Duration.max(
|
|
690
|
-
options?.lockRefreshInterval ? Duration.
|
|
691
|
+
options?.lockRefreshInterval ? Duration.fromInputUnsafe(options.lockRefreshInterval) : Duration.seconds(30),
|
|
691
692
|
Duration.millis(1)
|
|
692
693
|
)
|
|
693
694
|
const lockExpiration = Duration.max(
|
|
694
|
-
options?.lockExpiration ? Duration.
|
|
695
|
+
options?.lockExpiration ? Duration.fromInputUnsafe(options.lockExpiration) : Duration.minutes(2),
|
|
695
696
|
Duration.millis(1)
|
|
696
697
|
)
|
|
697
698
|
const lockExpirationSql = sql.literal(Math.ceil(Duration.toSeconds(lockExpiration)).toString())
|
|
@@ -930,8 +931,8 @@ export const makeStoreSql: (
|
|
|
930
931
|
lookup: Effect.fnUntraced(function*({ maxAttempts, name }: QueueKey) {
|
|
931
932
|
const queue = yield* Queue.make<Element>()
|
|
932
933
|
const takers = MutableRef.make(0)
|
|
933
|
-
const pollLatch =
|
|
934
|
-
const takenLatch =
|
|
934
|
+
const pollLatch = Latch.makeUnsafe()
|
|
935
|
+
const takenLatch = Latch.makeUnsafe()
|
|
935
936
|
|
|
936
937
|
yield* Effect.addFinalizer(() =>
|
|
937
938
|
Effect.flatMap(Queue.clear(queue), (elements) => {
|
|
@@ -1098,9 +1099,9 @@ class QueueKey extends Data.Class<{
|
|
|
1098
1099
|
export const layerStoreSql: (
|
|
1099
1100
|
options?: {
|
|
1100
1101
|
readonly tableName?: string | undefined
|
|
1101
|
-
readonly pollInterval?: Duration.
|
|
1102
|
-
readonly lockRefreshInterval?: Duration.
|
|
1103
|
-
readonly lockExpiration?: Duration.
|
|
1102
|
+
readonly pollInterval?: Duration.Input | undefined
|
|
1103
|
+
readonly lockRefreshInterval?: Duration.Input | undefined
|
|
1104
|
+
readonly lockExpiration?: Duration.Input | undefined
|
|
1104
1105
|
} | undefined
|
|
1105
1106
|
) => Layer.Layer<
|
|
1106
1107
|
PersistedQueueStore,
|