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
package/src/internal/dateTime.ts
CHANGED
|
@@ -12,7 +12,6 @@ import * as Inspectable from "../Inspectable.ts"
|
|
|
12
12
|
import * as order from "../Order.ts"
|
|
13
13
|
import { pipeArguments } from "../Pipeable.ts"
|
|
14
14
|
import * as Predicate from "../Predicate.ts"
|
|
15
|
-
import * as Result from "../Result.ts"
|
|
16
15
|
import type { Mutable } from "../Types.ts"
|
|
17
16
|
import * as UndefinedOr from "../UndefinedOr.ts"
|
|
18
17
|
import * as effect from "./effect.ts"
|
|
@@ -467,32 +466,12 @@ export const setZoneNamedUnsafe: {
|
|
|
467
466
|
|
|
468
467
|
/** @internal */
|
|
469
468
|
export const distance: {
|
|
470
|
-
(other: DateTime.DateTime): (self: DateTime.DateTime) => number
|
|
471
|
-
(self: DateTime.DateTime, other: DateTime.DateTime): number
|
|
472
|
-
} = dual(2, (self: DateTime.DateTime, other: DateTime.DateTime): number => toEpochMillis(other) - toEpochMillis(self))
|
|
473
|
-
|
|
474
|
-
/** @internal */
|
|
475
|
-
export const distanceDurationResult: {
|
|
476
|
-
(other: DateTime.DateTime): (self: DateTime.DateTime) => Result.Result<Duration.Duration, Duration.Duration>
|
|
477
|
-
(self: DateTime.DateTime, other: DateTime.DateTime): Result.Result<Duration.Duration, Duration.Duration>
|
|
478
|
-
} = dual(
|
|
479
|
-
2,
|
|
480
|
-
(self: DateTime.DateTime, other: DateTime.DateTime): Result.Result<Duration.Duration, Duration.Duration> => {
|
|
481
|
-
const diffMillis = distance(self, other)
|
|
482
|
-
return diffMillis > 0
|
|
483
|
-
? Result.succeed(Duration.millis(diffMillis))
|
|
484
|
-
: Result.fail(Duration.millis(-diffMillis))
|
|
485
|
-
}
|
|
486
|
-
)
|
|
487
|
-
|
|
488
|
-
/** @internal */
|
|
489
|
-
export const distanceDuration: {
|
|
490
469
|
(other: DateTime.DateTime): (self: DateTime.DateTime) => Duration.Duration
|
|
491
470
|
(self: DateTime.DateTime, other: DateTime.DateTime): Duration.Duration
|
|
492
471
|
} = dual(
|
|
493
472
|
2,
|
|
494
473
|
(self: DateTime.DateTime, other: DateTime.DateTime): Duration.Duration =>
|
|
495
|
-
Duration.millis(
|
|
474
|
+
Duration.millis(toEpochMillis(other) - toEpochMillis(self))
|
|
496
475
|
)
|
|
497
476
|
|
|
498
477
|
/** @internal */
|
|
@@ -911,22 +890,22 @@ export const match: {
|
|
|
911
890
|
|
|
912
891
|
/** @internal */
|
|
913
892
|
export const addDuration: {
|
|
914
|
-
(duration: Duration.
|
|
915
|
-
<A extends DateTime.DateTime>(self: A, duration: Duration.
|
|
893
|
+
(duration: Duration.Input): <A extends DateTime.DateTime>(self: A) => A
|
|
894
|
+
<A extends DateTime.DateTime>(self: A, duration: Duration.Input): A
|
|
916
895
|
} = dual(
|
|
917
896
|
2,
|
|
918
|
-
(self: DateTime.DateTime, duration: Duration.
|
|
919
|
-
mapEpochMillis(self, (millis) => millis + Duration.toMillis(Duration.
|
|
897
|
+
(self: DateTime.DateTime, duration: Duration.Input): DateTime.DateTime =>
|
|
898
|
+
mapEpochMillis(self, (millis) => millis + Duration.toMillis(Duration.fromInputUnsafe(duration)))
|
|
920
899
|
)
|
|
921
900
|
|
|
922
901
|
/** @internal */
|
|
923
902
|
export const subtractDuration: {
|
|
924
|
-
(duration: Duration.
|
|
925
|
-
<A extends DateTime.DateTime>(self: A, duration: Duration.
|
|
903
|
+
(duration: Duration.Input): <A extends DateTime.DateTime>(self: A) => A
|
|
904
|
+
<A extends DateTime.DateTime>(self: A, duration: Duration.Input): A
|
|
926
905
|
} = dual(
|
|
927
906
|
2,
|
|
928
|
-
(self: DateTime.DateTime, duration: Duration.
|
|
929
|
-
mapEpochMillis(self, (millis) => millis - Duration.toMillis(Duration.
|
|
907
|
+
(self: DateTime.DateTime, duration: Duration.Input): DateTime.DateTime =>
|
|
908
|
+
mapEpochMillis(self, (millis) => millis - Duration.toMillis(Duration.fromInputUnsafe(duration)))
|
|
930
909
|
)
|
|
931
910
|
|
|
932
911
|
const addMillis = (date: Date, amount: number): void => {
|
package/src/internal/effect.ts
CHANGED
|
@@ -5,6 +5,7 @@ import type * as Console from "../Console.ts"
|
|
|
5
5
|
import * as Duration from "../Duration.ts"
|
|
6
6
|
import type * as Effect from "../Effect.ts"
|
|
7
7
|
import * as Equal from "../Equal.ts"
|
|
8
|
+
import type { ErrorReporter } from "../ErrorReporter.ts"
|
|
8
9
|
import type * as Exit from "../Exit.ts"
|
|
9
10
|
import type * as Fiber from "../Fiber.ts"
|
|
10
11
|
import * as Filter from "../Filter.ts"
|
|
@@ -14,6 +15,7 @@ import { constant, constFalse, constTrue, constUndefined, constVoid, dual, ident
|
|
|
14
15
|
import * as Hash from "../Hash.ts"
|
|
15
16
|
import { toJson, toStringUnknown } from "../Inspectable.ts"
|
|
16
17
|
import * as Iterable from "../Iterable.ts"
|
|
18
|
+
import type * as _Latch from "../Latch.ts"
|
|
17
19
|
import type * as Logger from "../Logger.ts"
|
|
18
20
|
import type * as LogLevel from "../LogLevel.ts"
|
|
19
21
|
import type * as Metric from "../Metric.ts"
|
|
@@ -81,6 +83,7 @@ import {
|
|
|
81
83
|
isEffect,
|
|
82
84
|
isFailReason,
|
|
83
85
|
isInterruptReason,
|
|
86
|
+
isNoSuchElementError,
|
|
84
87
|
makePrimitive,
|
|
85
88
|
makePrimitiveProto,
|
|
86
89
|
NoSuchElementError,
|
|
@@ -339,7 +342,8 @@ export const causePrettyErrors = <E>(self: Cause.Cause<E>): Array<Error> => {
|
|
|
339
342
|
return errors
|
|
340
343
|
}
|
|
341
344
|
|
|
342
|
-
|
|
345
|
+
/** @internal */
|
|
346
|
+
export const causePrettyError = (
|
|
343
347
|
original: Record<string, unknown> | Error,
|
|
344
348
|
annotations?: ReadonlyMap<string, unknown>
|
|
345
349
|
): Error => {
|
|
@@ -488,17 +492,33 @@ const fiberIdStore = { id: 0 }
|
|
|
488
492
|
export const getCurrentFiber = (): Fiber.Fiber<any, any> | undefined => (globalThis as any)[currentFiberTypeId]
|
|
489
493
|
|
|
490
494
|
const keepAlive = (() => {
|
|
495
|
+
const start = (() => {
|
|
496
|
+
const setInterval = globalThis.setInterval
|
|
497
|
+
const clearInterval = globalThis.clearInterval
|
|
498
|
+
try {
|
|
499
|
+
const running = setInterval(constVoid, 2_147_483_647)
|
|
500
|
+
clearInterval(running)
|
|
501
|
+
return {
|
|
502
|
+
setInterval,
|
|
503
|
+
clearInterval
|
|
504
|
+
}
|
|
505
|
+
} catch {
|
|
506
|
+
return undefined
|
|
507
|
+
}
|
|
508
|
+
})()
|
|
491
509
|
let count = 0
|
|
492
510
|
let running: ReturnType<typeof globalThis.setInterval> | undefined = undefined
|
|
493
511
|
return ({
|
|
494
512
|
increment() {
|
|
495
513
|
count++
|
|
496
|
-
running
|
|
514
|
+
if (start !== undefined && running === undefined) {
|
|
515
|
+
running = start.setInterval(constVoid, 2_147_483_647)
|
|
516
|
+
}
|
|
497
517
|
},
|
|
498
518
|
decrement() {
|
|
499
519
|
count--
|
|
500
|
-
if (count === 0 && running !== undefined) {
|
|
501
|
-
|
|
520
|
+
if (count === 0 && start !== undefined && running !== undefined) {
|
|
521
|
+
start.clearInterval(running)
|
|
502
522
|
running = undefined
|
|
503
523
|
}
|
|
504
524
|
}
|
|
@@ -783,6 +803,7 @@ export const fiberJoinAll = <A extends Iterable<Fiber.Fiber<any, any>>>(self: A)
|
|
|
783
803
|
> =>
|
|
784
804
|
callback((resume) => {
|
|
785
805
|
const fibers = Array.from(self)
|
|
806
|
+
if (fibers.length === 0) return resume(succeed(Arr.empty() as any))
|
|
786
807
|
const out = new Array<any>(fibers.length) as Arr.NonEmptyArray<any>
|
|
787
808
|
const cancels = Arr.empty<() => void>()
|
|
788
809
|
let done = 0
|
|
@@ -2440,6 +2461,18 @@ export const catch_: {
|
|
|
2440
2461
|
): Effect.Effect<A | B, E2, R | R2> => catchCauseIf(self, findError as any, (e: any) => f(e)) as any
|
|
2441
2462
|
)
|
|
2442
2463
|
|
|
2464
|
+
/** @internal */
|
|
2465
|
+
export const catchNoSuchElement = <A, E, R>(
|
|
2466
|
+
self: Effect.Effect<A, E, R>
|
|
2467
|
+
): Effect.Effect<Option.Option<A>, Exclude<E, Cause.NoSuchElementError>, R> =>
|
|
2468
|
+
matchEffect(self, {
|
|
2469
|
+
onFailure: (error) =>
|
|
2470
|
+
isNoSuchElementError(error)
|
|
2471
|
+
? succeedNone
|
|
2472
|
+
: fail(error as Exclude<E, Cause.NoSuchElementError>),
|
|
2473
|
+
onSuccess: succeedSome
|
|
2474
|
+
})
|
|
2475
|
+
|
|
2443
2476
|
/** @internal */
|
|
2444
2477
|
export const catchDefect: {
|
|
2445
2478
|
<E, B, E2, R2>(
|
|
@@ -3078,14 +3111,14 @@ export const eventually = <A, E, R>(self: Effect.Effect<A, E, R>): Effect.Effect
|
|
|
3078
3111
|
/** @internal */
|
|
3079
3112
|
export const ignore: <
|
|
3080
3113
|
Arg extends Effect.Effect<any, any, any> | {
|
|
3081
|
-
readonly log?: boolean | LogLevel.
|
|
3114
|
+
readonly log?: boolean | LogLevel.Severity | undefined
|
|
3082
3115
|
} | undefined = {
|
|
3083
|
-
readonly log?: boolean | LogLevel.
|
|
3116
|
+
readonly log?: boolean | LogLevel.Severity | undefined
|
|
3084
3117
|
}
|
|
3085
3118
|
>(
|
|
3086
3119
|
effectOrOptions: Arg,
|
|
3087
3120
|
options?: {
|
|
3088
|
-
readonly log?: boolean | LogLevel.
|
|
3121
|
+
readonly log?: boolean | LogLevel.Severity | undefined
|
|
3089
3122
|
} | undefined
|
|
3090
3123
|
) => [Arg] extends [Effect.Effect<infer _A, infer _E, infer _R>] ? Effect.Effect<void, never, _R>
|
|
3091
3124
|
: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<void, never, R> = dual(
|
|
@@ -3093,7 +3126,7 @@ export const ignore: <
|
|
|
3093
3126
|
<A, E, R>(
|
|
3094
3127
|
self: Effect.Effect<A, E, R>,
|
|
3095
3128
|
options?: {
|
|
3096
|
-
readonly log?: boolean | LogLevel.
|
|
3129
|
+
readonly log?: boolean | LogLevel.Severity | undefined
|
|
3097
3130
|
} | undefined
|
|
3098
3131
|
): Effect.Effect<void, never, R> => {
|
|
3099
3132
|
if (!options?.log) {
|
|
@@ -3113,14 +3146,14 @@ export const ignore: <
|
|
|
3113
3146
|
/** @internal */
|
|
3114
3147
|
export const ignoreCause: <
|
|
3115
3148
|
Arg extends Effect.Effect<any, any, any> | {
|
|
3116
|
-
readonly log?: boolean | LogLevel.
|
|
3149
|
+
readonly log?: boolean | LogLevel.Severity | undefined
|
|
3117
3150
|
} | undefined = {
|
|
3118
|
-
readonly log?: boolean | LogLevel.
|
|
3151
|
+
readonly log?: boolean | LogLevel.Severity | undefined
|
|
3119
3152
|
}
|
|
3120
3153
|
>(
|
|
3121
3154
|
effectOrOptions: Arg,
|
|
3122
3155
|
options?: {
|
|
3123
|
-
readonly log?: boolean | LogLevel.
|
|
3156
|
+
readonly log?: boolean | LogLevel.Severity | undefined
|
|
3124
3157
|
} | undefined
|
|
3125
3158
|
) => [Arg] extends [Effect.Effect<infer _A, infer _E, infer _R>] ? Effect.Effect<void, never, _R>
|
|
3126
3159
|
: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<void, never, R> = dual(
|
|
@@ -3128,7 +3161,7 @@ export const ignoreCause: <
|
|
|
3128
3161
|
<A, E, R>(
|
|
3129
3162
|
self: Effect.Effect<A, E, R>,
|
|
3130
3163
|
options?: {
|
|
3131
|
-
readonly log?: boolean | LogLevel.
|
|
3164
|
+
readonly log?: boolean | LogLevel.Severity | undefined
|
|
3132
3165
|
} | undefined
|
|
3133
3166
|
): Effect.Effect<void, never, R> => {
|
|
3134
3167
|
if (!options?.log) {
|
|
@@ -3390,24 +3423,24 @@ export const isSuccess: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect
|
|
|
3390
3423
|
/** @internal */
|
|
3391
3424
|
export const delay: {
|
|
3392
3425
|
(
|
|
3393
|
-
duration: Duration.
|
|
3426
|
+
duration: Duration.Input
|
|
3394
3427
|
): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
|
|
3395
3428
|
<A, E, R>(
|
|
3396
3429
|
self: Effect.Effect<A, E, R>,
|
|
3397
|
-
duration: Duration.
|
|
3430
|
+
duration: Duration.Input
|
|
3398
3431
|
): Effect.Effect<A, E, R>
|
|
3399
3432
|
} = dual(
|
|
3400
3433
|
2,
|
|
3401
3434
|
<A, E, R>(
|
|
3402
3435
|
self: Effect.Effect<A, E, R>,
|
|
3403
|
-
duration: Duration.
|
|
3436
|
+
duration: Duration.Input
|
|
3404
3437
|
): Effect.Effect<A, E, R> => andThen(sleep(duration), self)
|
|
3405
3438
|
)
|
|
3406
3439
|
|
|
3407
3440
|
/** @internal */
|
|
3408
3441
|
export const timeoutOrElse: {
|
|
3409
3442
|
<A2, E2, R2>(options: {
|
|
3410
|
-
readonly duration: Duration.
|
|
3443
|
+
readonly duration: Duration.Input
|
|
3411
3444
|
readonly onTimeout: LazyArg<Effect.Effect<A2, E2, R2>>
|
|
3412
3445
|
}): <A, E, R>(
|
|
3413
3446
|
self: Effect.Effect<A, E, R>
|
|
@@ -3415,7 +3448,7 @@ export const timeoutOrElse: {
|
|
|
3415
3448
|
<A, E, R, A2, E2, R2>(
|
|
3416
3449
|
self: Effect.Effect<A, E, R>,
|
|
3417
3450
|
options: {
|
|
3418
|
-
readonly duration: Duration.
|
|
3451
|
+
readonly duration: Duration.Input
|
|
3419
3452
|
readonly onTimeout: LazyArg<Effect.Effect<A2, E2, R2>>
|
|
3420
3453
|
}
|
|
3421
3454
|
): Effect.Effect<A | A2, E | E2, R | R2>
|
|
@@ -3424,7 +3457,7 @@ export const timeoutOrElse: {
|
|
|
3424
3457
|
<A, E, R, A2, E2, R2>(
|
|
3425
3458
|
self: Effect.Effect<A, E, R>,
|
|
3426
3459
|
options: {
|
|
3427
|
-
readonly duration: Duration.
|
|
3460
|
+
readonly duration: Duration.Input
|
|
3428
3461
|
readonly onTimeout: LazyArg<Effect.Effect<A2, E2, R2>>
|
|
3429
3462
|
}
|
|
3430
3463
|
): Effect.Effect<A | A2, E | E2, R | R2> =>
|
|
@@ -3437,19 +3470,19 @@ export const timeoutOrElse: {
|
|
|
3437
3470
|
/** @internal */
|
|
3438
3471
|
export const timeout: {
|
|
3439
3472
|
(
|
|
3440
|
-
duration: Duration.
|
|
3473
|
+
duration: Duration.Input
|
|
3441
3474
|
): <A, E, R>(
|
|
3442
3475
|
self: Effect.Effect<A, E, R>
|
|
3443
3476
|
) => Effect.Effect<A, E | Cause.TimeoutError, R>
|
|
3444
3477
|
<A, E, R>(
|
|
3445
3478
|
self: Effect.Effect<A, E, R>,
|
|
3446
|
-
duration: Duration.
|
|
3479
|
+
duration: Duration.Input
|
|
3447
3480
|
): Effect.Effect<A, E | Cause.TimeoutError, R>
|
|
3448
3481
|
} = dual(
|
|
3449
3482
|
2,
|
|
3450
3483
|
<A, E, R>(
|
|
3451
3484
|
self: Effect.Effect<A, E, R>,
|
|
3452
|
-
duration: Duration.
|
|
3485
|
+
duration: Duration.Input
|
|
3453
3486
|
): Effect.Effect<A, E | TimeoutError, R> =>
|
|
3454
3487
|
timeoutOrElse(self, {
|
|
3455
3488
|
duration,
|
|
@@ -3460,19 +3493,19 @@ export const timeout: {
|
|
|
3460
3493
|
/** @internal */
|
|
3461
3494
|
export const timeoutOption: {
|
|
3462
3495
|
(
|
|
3463
|
-
duration: Duration.
|
|
3496
|
+
duration: Duration.Input
|
|
3464
3497
|
): <A, E, R>(
|
|
3465
3498
|
self: Effect.Effect<A, E, R>
|
|
3466
3499
|
) => Effect.Effect<Option.Option<A>, E, R>
|
|
3467
3500
|
<A, E, R>(
|
|
3468
3501
|
self: Effect.Effect<A, E, R>,
|
|
3469
|
-
duration: Duration.
|
|
3502
|
+
duration: Duration.Input
|
|
3470
3503
|
): Effect.Effect<Option.Option<A>, E, R>
|
|
3471
3504
|
} = dual(
|
|
3472
3505
|
2,
|
|
3473
3506
|
<A, E, R>(
|
|
3474
3507
|
self: Effect.Effect<A, E, R>,
|
|
3475
|
-
duration: Duration.
|
|
3508
|
+
duration: Duration.Input
|
|
3476
3509
|
): Effect.Effect<Option.Option<A>, E, R> =>
|
|
3477
3510
|
raceFirst(
|
|
3478
3511
|
asSome(self),
|
|
@@ -3860,19 +3893,19 @@ export const acquireUseRelease = <Resource, E, R, A, E2, R2, E3, R3>(
|
|
|
3860
3893
|
|
|
3861
3894
|
/** @internal */
|
|
3862
3895
|
export const cachedInvalidateWithTTL: {
|
|
3863
|
-
(timeToLive: Duration.
|
|
3896
|
+
(timeToLive: Duration.Input): <A, E, R>(
|
|
3864
3897
|
self: Effect.Effect<A, E, R>
|
|
3865
3898
|
) => Effect.Effect<[Effect.Effect<A, E, R>, Effect.Effect<void>]>
|
|
3866
3899
|
<A, E, R>(
|
|
3867
3900
|
self: Effect.Effect<A, E, R>,
|
|
3868
|
-
timeToLive: Duration.
|
|
3901
|
+
timeToLive: Duration.Input
|
|
3869
3902
|
): Effect.Effect<[Effect.Effect<A, E, R>, Effect.Effect<void>]>
|
|
3870
3903
|
} = dual(2, <A, E, R>(
|
|
3871
3904
|
self: Effect.Effect<A, E, R>,
|
|
3872
|
-
ttl: Duration.
|
|
3905
|
+
ttl: Duration.Input
|
|
3873
3906
|
): Effect.Effect<[Effect.Effect<A, E, R>, Effect.Effect<void>]> =>
|
|
3874
3907
|
sync(() => {
|
|
3875
|
-
const ttlMillis = Duration.toMillis(Duration.
|
|
3908
|
+
const ttlMillis = Duration.toMillis(Duration.fromInputUnsafe(ttl))
|
|
3876
3909
|
const isFinite = Number.isFinite(ttlMillis)
|
|
3877
3910
|
const latch = makeLatchUnsafe(false)
|
|
3878
3911
|
let expiresAt = 0
|
|
@@ -3905,17 +3938,17 @@ export const cachedInvalidateWithTTL: {
|
|
|
3905
3938
|
/** @internal */
|
|
3906
3939
|
export const cachedWithTTL: {
|
|
3907
3940
|
(
|
|
3908
|
-
timeToLive: Duration.
|
|
3941
|
+
timeToLive: Duration.Input
|
|
3909
3942
|
): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Effect.Effect<A, E, R>>
|
|
3910
3943
|
<A, E, R>(
|
|
3911
3944
|
self: Effect.Effect<A, E, R>,
|
|
3912
|
-
timeToLive: Duration.
|
|
3945
|
+
timeToLive: Duration.Input
|
|
3913
3946
|
): Effect.Effect<Effect.Effect<A, E, R>>
|
|
3914
3947
|
} = dual(
|
|
3915
3948
|
2,
|
|
3916
3949
|
<A, E, R>(
|
|
3917
3950
|
self: Effect.Effect<A, E, R>,
|
|
3918
|
-
timeToLive: Duration.
|
|
3951
|
+
timeToLive: Duration.Input
|
|
3919
3952
|
): Effect.Effect<Effect.Effect<A, E, R>> => map(cachedInvalidateWithTTL(self, timeToLive), (tuple) => tuple[0])
|
|
3920
3953
|
)
|
|
3921
3954
|
|
|
@@ -4065,6 +4098,59 @@ export const partition: {
|
|
|
4065
4098
|
)
|
|
4066
4099
|
)
|
|
4067
4100
|
|
|
4101
|
+
/** @internal */
|
|
4102
|
+
export const validate: {
|
|
4103
|
+
<A, B, E, R>(
|
|
4104
|
+
f: (a: A, i: number) => Effect.Effect<B, E, R>,
|
|
4105
|
+
options?: {
|
|
4106
|
+
readonly concurrency?: Concurrency | undefined
|
|
4107
|
+
readonly discard?: false | undefined
|
|
4108
|
+
} | undefined
|
|
4109
|
+
): (elements: Iterable<A>) => Effect.Effect<Array<B>, Arr.NonEmptyArray<E>, R>
|
|
4110
|
+
<A, B, E, R>(
|
|
4111
|
+
f: (a: A, i: number) => Effect.Effect<B, E, R>,
|
|
4112
|
+
options: {
|
|
4113
|
+
readonly concurrency?: Concurrency | undefined
|
|
4114
|
+
readonly discard: true
|
|
4115
|
+
}
|
|
4116
|
+
): (elements: Iterable<A>) => Effect.Effect<void, Arr.NonEmptyArray<E>, R>
|
|
4117
|
+
<A, B, E, R>(
|
|
4118
|
+
elements: Iterable<A>,
|
|
4119
|
+
f: (a: A, i: number) => Effect.Effect<B, E, R>,
|
|
4120
|
+
options?: {
|
|
4121
|
+
readonly concurrency?: Concurrency | undefined
|
|
4122
|
+
readonly discard?: false | undefined
|
|
4123
|
+
} | undefined
|
|
4124
|
+
): Effect.Effect<Array<B>, Arr.NonEmptyArray<E>, R>
|
|
4125
|
+
<A, B, E, R>(
|
|
4126
|
+
elements: Iterable<A>,
|
|
4127
|
+
f: (a: A, i: number) => Effect.Effect<B, E, R>,
|
|
4128
|
+
options: {
|
|
4129
|
+
readonly concurrency?: Concurrency | undefined
|
|
4130
|
+
readonly discard: true
|
|
4131
|
+
}
|
|
4132
|
+
): Effect.Effect<void, Arr.NonEmptyArray<E>, R>
|
|
4133
|
+
} = dual(
|
|
4134
|
+
(args) => isIterable(args[0]) && !isEffect(args[0]),
|
|
4135
|
+
<A, B, E, R>(
|
|
4136
|
+
elements: Iterable<A>,
|
|
4137
|
+
f: (a: A, i: number) => Effect.Effect<B, E, R>,
|
|
4138
|
+
options?: {
|
|
4139
|
+
readonly concurrency?: Concurrency | undefined
|
|
4140
|
+
readonly discard?: boolean | undefined
|
|
4141
|
+
} | undefined
|
|
4142
|
+
): Effect.Effect<Array<B> | void, Arr.NonEmptyArray<E>, R> =>
|
|
4143
|
+
flatMap(
|
|
4144
|
+
partition(elements, f, { concurrency: options?.concurrency }),
|
|
4145
|
+
([excluded, satisfying]) => {
|
|
4146
|
+
if (Arr.isArrayNonEmpty(excluded)) {
|
|
4147
|
+
return fail(excluded)
|
|
4148
|
+
}
|
|
4149
|
+
return options?.discard ? void_ : succeed(satisfying)
|
|
4150
|
+
}
|
|
4151
|
+
)
|
|
4152
|
+
)
|
|
4153
|
+
|
|
4068
4154
|
/** @internal */
|
|
4069
4155
|
export const whileLoop: <A, E, R>(options: {
|
|
4070
4156
|
readonly while: LazyArg<boolean>
|
|
@@ -4759,25 +4845,27 @@ class Semaphore {
|
|
|
4759
4845
|
return this.permits - this.taken
|
|
4760
4846
|
}
|
|
4761
4847
|
|
|
4762
|
-
readonly take = (n: number): Effect.Effect<number> =>
|
|
4763
|
-
|
|
4848
|
+
readonly take = (n: number): Effect.Effect<number> => {
|
|
4849
|
+
const take: Effect.Effect<number> = suspend(() => {
|
|
4764
4850
|
if (this.free < n) {
|
|
4765
|
-
|
|
4766
|
-
if (this.free
|
|
4767
|
-
|
|
4851
|
+
return callback((resume) => {
|
|
4852
|
+
if (this.free >= n) return resume(take)
|
|
4853
|
+
const observer = () => {
|
|
4854
|
+
if (this.free < n) return
|
|
4855
|
+
this.waiters.delete(observer)
|
|
4856
|
+
resume(take)
|
|
4768
4857
|
}
|
|
4769
|
-
this.waiters.
|
|
4770
|
-
|
|
4771
|
-
|
|
4772
|
-
|
|
4773
|
-
this.waiters.add(observer)
|
|
4774
|
-
return sync(() => {
|
|
4775
|
-
this.waiters.delete(observer)
|
|
4858
|
+
this.waiters.add(observer)
|
|
4859
|
+
return sync(() => {
|
|
4860
|
+
this.waiters.delete(observer)
|
|
4861
|
+
})
|
|
4776
4862
|
})
|
|
4777
4863
|
}
|
|
4778
4864
|
this.taken += n
|
|
4779
|
-
return
|
|
4865
|
+
return succeed(n)
|
|
4780
4866
|
})
|
|
4867
|
+
return take
|
|
4868
|
+
}
|
|
4781
4869
|
|
|
4782
4870
|
updateTakenUnsafe(fiber: Fiber.Fiber<any, any>, f: (n: number) => number): Effect.Effect<number> {
|
|
4783
4871
|
this.taken = f(this.taken)
|
|
@@ -4815,7 +4903,10 @@ class Semaphore {
|
|
|
4815
4903
|
|
|
4816
4904
|
readonly withPermits = (n: number) => <A, E, R>(self: Effect.Effect<A, E, R>) =>
|
|
4817
4905
|
uninterruptibleMask((restore) =>
|
|
4818
|
-
flatMap(
|
|
4906
|
+
flatMap(
|
|
4907
|
+
restore(this.take(n)),
|
|
4908
|
+
(permits) => onExitPrimitive(restore(self), () => this.release(permits), true)
|
|
4909
|
+
)
|
|
4819
4910
|
)
|
|
4820
4911
|
|
|
4821
4912
|
readonly withPermit = this.withPermits(1)
|
|
@@ -4841,7 +4932,7 @@ export const makeSemaphore = (permits: number) => sync(() => makeSemaphoreUnsafe
|
|
|
4841
4932
|
const succeedTrue = succeed(true)
|
|
4842
4933
|
const succeedFalse = succeed(false)
|
|
4843
4934
|
|
|
4844
|
-
class Latch implements
|
|
4935
|
+
class Latch implements _Latch.Latch {
|
|
4845
4936
|
waiters: Array<(_: Effect.Effect<void>) => void> = []
|
|
4846
4937
|
scheduled = false
|
|
4847
4938
|
private isOpen: boolean
|
|
@@ -4901,7 +4992,7 @@ class Latch implements Effect.Latch {
|
|
|
4901
4992
|
}
|
|
4902
4993
|
|
|
4903
4994
|
/** @internal */
|
|
4904
|
-
export const makeLatchUnsafe = (open?: boolean | undefined):
|
|
4995
|
+
export const makeLatchUnsafe = (open?: boolean | undefined): _Latch.Latch => new Latch(open ?? false)
|
|
4905
4996
|
|
|
4906
4997
|
/** @internal */
|
|
4907
4998
|
export const makeLatch = (open?: boolean | undefined) => sync(() => makeLatchUnsafe(open))
|
|
@@ -5331,8 +5422,8 @@ export const clockWith = <A, E, R>(f: (clock: Clock.Clock) => Effect.Effect<A, E
|
|
|
5331
5422
|
withFiber((fiber) => f(fiber.getRef(ClockRef)))
|
|
5332
5423
|
|
|
5333
5424
|
/** @internal */
|
|
5334
|
-
export const sleep = (duration: Duration.
|
|
5335
|
-
clockWith((clock) => clock.sleep(Duration.
|
|
5425
|
+
export const sleep = (duration: Duration.Input): Effect.Effect<void> =>
|
|
5426
|
+
clockWith((clock) => clock.sleep(Duration.fromInputUnsafe(duration)))
|
|
5336
5427
|
|
|
5337
5428
|
/** @internal */
|
|
5338
5429
|
export const currentTimeMillis: Effect.Effect<number> = clockWith((clock) => clock.currentTimeMillis)
|
|
@@ -5479,7 +5570,7 @@ const LoggerProto = {
|
|
|
5479
5570
|
|
|
5480
5571
|
/** @internal */
|
|
5481
5572
|
export const loggerMake = <Message, Output>(
|
|
5482
|
-
log: (options: Logger.
|
|
5573
|
+
log: (options: Logger.Options<Message>) => Output
|
|
5483
5574
|
): Logger.Logger<Message, Output> => {
|
|
5484
5575
|
const self = Object.create(LoggerProto)
|
|
5485
5576
|
self.log = log
|
|
@@ -5519,7 +5610,7 @@ export const structuredMessage = (u: unknown): unknown => {
|
|
|
5519
5610
|
}
|
|
5520
5611
|
|
|
5521
5612
|
/** @internal */
|
|
5522
|
-
export const logWithLevel = (level?: LogLevel.
|
|
5613
|
+
export const logWithLevel = (level?: LogLevel.Severity) =>
|
|
5523
5614
|
(
|
|
5524
5615
|
...message: ReadonlyArray<any>
|
|
5525
5616
|
): Effect.Effect<void> => {
|
|
@@ -5810,3 +5901,55 @@ const undefined_ = succeed(undefined)
|
|
|
5810
5901
|
|
|
5811
5902
|
/** @internal */
|
|
5812
5903
|
export { undefined_ as undefined }
|
|
5904
|
+
|
|
5905
|
+
// ----------------------------------------------------------------------------
|
|
5906
|
+
// ErrorReporter
|
|
5907
|
+
// ----------------------------------------------------------------------------
|
|
5908
|
+
|
|
5909
|
+
/** @internal */
|
|
5910
|
+
export const CurrentErrorReporters = ServiceMap.Reference<
|
|
5911
|
+
ReadonlySet<ErrorReporter>
|
|
5912
|
+
>("effect/ErrorReporter/CurrentErrorReporters", {
|
|
5913
|
+
defaultValue: () => new Set()
|
|
5914
|
+
})
|
|
5915
|
+
|
|
5916
|
+
/** @internal */
|
|
5917
|
+
export const withErrorReporting: <
|
|
5918
|
+
Arg extends Effect.Effect<any, any, any> | {
|
|
5919
|
+
readonly defectsOnly?: boolean | undefined
|
|
5920
|
+
} | undefined = {
|
|
5921
|
+
readonly defectsOnly?: boolean | undefined
|
|
5922
|
+
}
|
|
5923
|
+
>(
|
|
5924
|
+
effectOrOptions: Arg,
|
|
5925
|
+
options?: {
|
|
5926
|
+
readonly defectsOnly?: boolean | undefined
|
|
5927
|
+
} | undefined
|
|
5928
|
+
) => [Arg] extends [Effect.Effect<infer _A, infer _E, infer _R>] ? Arg
|
|
5929
|
+
: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R> = dual(
|
|
5930
|
+
(args) => isEffect(args[0]),
|
|
5931
|
+
<A, E, R>(
|
|
5932
|
+
self: Effect.Effect<A, E, R>,
|
|
5933
|
+
options?: {
|
|
5934
|
+
readonly defectsOnly?: boolean | undefined
|
|
5935
|
+
} | undefined
|
|
5936
|
+
): Effect.Effect<A, E, R> =>
|
|
5937
|
+
onError(self, (cause) =>
|
|
5938
|
+
withFiber((fiber) => {
|
|
5939
|
+
reportCauseUnsafe(fiber, cause, options?.defectsOnly)
|
|
5940
|
+
return void_
|
|
5941
|
+
}))
|
|
5942
|
+
)
|
|
5943
|
+
|
|
5944
|
+
/** @internal */
|
|
5945
|
+
export const reportCauseUnsafe = (
|
|
5946
|
+
fiber: Fiber.Fiber<unknown, unknown>,
|
|
5947
|
+
cause: Cause.Cause<unknown>,
|
|
5948
|
+
defectsOnly?: boolean
|
|
5949
|
+
) => {
|
|
5950
|
+
const reporters = fiber.getRef(CurrentErrorReporters)
|
|
5951
|
+
if (reporters.size === 0) return
|
|
5952
|
+
if (defectsOnly && !hasDies(cause)) return
|
|
5953
|
+
const opts = { cause, fiber, timestamp: fiber.getRef(ClockRef).currentTimeNanosUnsafe() }
|
|
5954
|
+
reporters.forEach((reporter) => reporter.report(opts))
|
|
5955
|
+
}
|
package/src/internal/hashMap.ts
CHANGED
|
@@ -83,7 +83,7 @@ function mergeLeaves<K, V>(
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
const bitmap = bit1 | bit2
|
|
86
|
-
const children: Array<Node<K, V>> = bit1 < bit2
|
|
86
|
+
const children: Array<Node<K, V>> = (bit1 >>> 0) < (bit2 >>> 0)
|
|
87
87
|
? [node1, node2]
|
|
88
88
|
: [node2, node1]
|
|
89
89
|
|
|
@@ -248,7 +248,7 @@ class LeafNode<K, V> extends Node<K, V> {
|
|
|
248
248
|
}
|
|
249
249
|
|
|
250
250
|
const bitmap = newBit | existingBit
|
|
251
|
-
const nodes: Array<Node<K, V>> = newBit < existingBit
|
|
251
|
+
const nodes: Array<Node<K, V>> = (newBit >>> 0) < (existingBit >>> 0)
|
|
252
252
|
? [new LeafNode(edit, hash, key, value), this]
|
|
253
253
|
: [this, new LeafNode(edit, hash, key, value)]
|
|
254
254
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as ServiceMap from "../ServiceMap.ts"
|
|
2
|
+
|
|
3
|
+
/** @internal */
|
|
4
|
+
export interface Random {
|
|
5
|
+
nextIntUnsafe(): number
|
|
6
|
+
nextDoubleUnsafe(): number
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/** @internal */
|
|
10
|
+
export const Random: ServiceMap.Reference<Random> = ServiceMap.Reference<Random>("effect/Random", {
|
|
11
|
+
defaultValue: () => ({
|
|
12
|
+
nextIntUnsafe() {
|
|
13
|
+
return Math.floor(Math.random() * (Number.MAX_SAFE_INTEGER - Number.MIN_SAFE_INTEGER + 1)) +
|
|
14
|
+
Number.MIN_SAFE_INTEGER
|
|
15
|
+
},
|
|
16
|
+
nextDoubleUnsafe() {
|
|
17
|
+
return Math.random()
|
|
18
|
+
}
|
|
19
|
+
})
|
|
20
|
+
})
|
package/src/internal/rcRef.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { identity } from "../Function.ts"
|
|
|
6
6
|
import { pipeArguments } from "../Pipeable.ts"
|
|
7
7
|
import type * as RcRef from "../RcRef.ts"
|
|
8
8
|
import * as Scope from "../Scope.ts"
|
|
9
|
+
import * as Semaphore from "../Semaphore.ts"
|
|
9
10
|
import * as ServiceMap from "../ServiceMap.ts"
|
|
10
11
|
|
|
11
12
|
const TypeId = "~effect/RcRef"
|
|
@@ -47,7 +48,7 @@ class RcRefImpl<A, E> implements RcRef.RcRef<A, E> {
|
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
state: State<A> = stateEmpty
|
|
50
|
-
readonly semaphore =
|
|
51
|
+
readonly semaphore = Semaphore.makeUnsafe(1)
|
|
51
52
|
readonly acquire: Effect.Effect<A, E>
|
|
52
53
|
readonly services: ServiceMap.ServiceMap<never>
|
|
53
54
|
readonly scope: Scope.Scope
|
|
@@ -69,7 +70,7 @@ class RcRefImpl<A, E> implements RcRef.RcRef<A, E> {
|
|
|
69
70
|
/** @internal */
|
|
70
71
|
export const make = <A, E, R>(options: {
|
|
71
72
|
readonly acquire: Effect.Effect<A, E, R>
|
|
72
|
-
readonly idleTimeToLive?: Duration.
|
|
73
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
73
74
|
}) =>
|
|
74
75
|
Effect.withFiber<RcRef.RcRef<A, E>, never, R | Scope.Scope>((fiber) => {
|
|
75
76
|
const services = fiber.services as ServiceMap.ServiceMap<R | Scope.Scope>
|
|
@@ -78,7 +79,7 @@ export const make = <A, E, R>(options: {
|
|
|
78
79
|
options.acquire as Effect.Effect<A, E>,
|
|
79
80
|
services,
|
|
80
81
|
scope,
|
|
81
|
-
options.idleTimeToLive ? Duration.
|
|
82
|
+
options.idleTimeToLive ? Duration.fromInputUnsafe(options.idleTimeToLive) : undefined
|
|
82
83
|
)
|
|
83
84
|
return Effect.as(
|
|
84
85
|
Scope.addFinalizerExit(scope, () => {
|