effect 4.0.0-beta.0 → 4.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Cache.d.ts +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +1 -1
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +1 -1
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +6 -4
- package/dist/Channel.js.map +1 -1
- package/dist/Combiner.d.ts +280 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +198 -7
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +3 -3
- package/dist/Config.js +3 -3
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +1 -1
- package/dist/Cron.d.ts +1 -1
- package/dist/Data.d.ts +534 -365
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +132 -79
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +23 -161
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +6 -51
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +12 -12
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +12 -12
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +175 -240
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +73 -119
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +194 -0
- package/dist/Encoding.d.ts.map +1 -0
- package/dist/Encoding.js +352 -0
- package/dist/Encoding.js.map +1 -0
- package/dist/Equal.d.ts +276 -109
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +124 -48
- package/dist/Equal.js.map +1 -1
- package/dist/FileSystem.d.ts +1 -1
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +5 -5
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +30 -1
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +15 -0
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +229 -51
- package/dist/Formatter.js.map +1 -1
- package/dist/Graph.d.ts +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +2 -2
- package/dist/Graph.js.map +1 -1
- package/dist/JsonSchema.d.ts +299 -10
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +323 -4
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +109 -0
- package/dist/Latch.d.ts.map +1 -0
- package/dist/Latch.js +72 -0
- package/dist/Latch.js.map +1 -0
- package/dist/LayerMap.d.ts +4 -4
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LogLevel.d.ts +27 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +4 -4
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Metric.d.ts +2 -2
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +1 -1
- package/dist/Metric.js.map +1 -1
- package/dist/Optic.d.ts +947 -18
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +454 -5
- package/dist/Optic.js.map +1 -1
- package/dist/Pipeable.d.ts +17 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +19 -1
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +10 -9
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +2 -2
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +6 -4
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +7 -5
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts +3 -2
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +3 -2
- package/dist/PubSub.js.map +1 -1
- package/dist/Random.d.ts +18 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +29 -12
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +1 -1
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/Reducer.d.ts +166 -7
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +135 -1
- package/dist/Reducer.js.map +1 -1
- package/dist/Request.d.ts +1 -1
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +2 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +6 -26
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +0 -20
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +12 -0
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +12 -0
- package/dist/Result.js.map +1 -1
- package/dist/Schedule.d.ts +33 -14
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +65 -24
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +199 -49
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +386 -72
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaGetter.d.ts +2 -2
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +12 -14
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +44 -43
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +43 -24
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +37 -0
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +80 -0
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +211 -0
- package/dist/Semaphore.d.ts.map +1 -0
- package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
- package/dist/Semaphore.js.map +1 -0
- package/dist/Stream.d.ts +19 -19
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +12 -11
- package/dist/Stream.js.map +1 -1
- package/dist/Struct.d.ts +16 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +22 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +2 -1
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +2 -1
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +2 -1
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +2 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Types.d.ts +14 -6
- package/dist/Types.d.ts.map +1 -1
- package/dist/index.d.ts +499 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +499 -19
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js +11 -3
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +3 -11
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +37 -22
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +3 -2
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/testing/TestClock.d.ts +7 -6
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +6 -4
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +6 -6
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +48 -48
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +3 -3
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +4 -3
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +2 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +51 -51
- package/dist/unstable/ai/McpServer.d.ts +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +20 -20
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Response.d.ts +26 -26
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +1 -1
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +5 -5
- package/dist/unstable/cli/Prompt.js +2 -2
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +2 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +5 -4
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +10 -10
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +2 -1
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +6 -6
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +4 -3
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +8 -6
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +5 -4
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +2 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
- package/dist/unstable/encoding/Msgpack.d.ts +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +1 -1
- package/dist/unstable/encoding/Sse.d.ts +4 -4
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +2 -1
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
- package/dist/unstable/http/Cookies.d.ts +3 -3
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +17 -2
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +28 -1
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +11 -11
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +4 -4
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +7 -7
- package/dist/unstable/http/HttpClientRequest.d.ts +27 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +15 -3
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +18 -26
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +4 -4
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +3 -3
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +4 -9
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +6 -6
- package/dist/unstable/http/HttpServerResponse.js +1 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +3 -3
- package/dist/unstable/http/UrlParams.d.ts +14 -6
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +1 -1
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +5 -5
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +3 -3
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +21 -39
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +15 -24
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +18 -16
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +1 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +6 -6
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +2 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +12 -11
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +2 -2
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +2 -2
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +6 -0
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +6 -6
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +15 -12
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +6 -6
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +3 -3
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +1 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +39 -0
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
- package/dist/unstable/reactivity/Hydration.js +76 -0
- package/dist/unstable/reactivity/Hydration.js.map +1 -0
- package/dist/unstable/reactivity/index.d.ts +4 -0
- package/dist/unstable/reactivity/index.d.ts.map +1 -1
- package/dist/unstable/reactivity/index.js +4 -0
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +2 -2
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +5 -26
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +6 -13
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +5 -3
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +2 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +4 -4
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +2 -2
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +13 -2
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +4 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +3 -2
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +3 -3
- package/dist/unstable/sql/Migrator.d.ts +1 -1
- package/dist/unstable/sql/SqlError.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +24 -1
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +24 -3
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/Statement.js +0 -1
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +2 -1
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +2 -2
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +2 -2
- package/dist/unstable/workflow/WorkflowEngine.d.ts +2 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +2 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +2 -2
- package/src/Cache.ts +3 -3
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +6 -4
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +3 -3
- package/src/Data.ts +538 -374
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +15 -15
- package/src/Effect.ts +202 -261
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/FileSystem.ts +7 -8
- package/src/Filter.ts +48 -1
- package/src/Formatter.ts +253 -51
- package/src/Graph.ts +8 -5
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +112 -0
- package/src/LayerMap.ts +5 -5
- package/src/LogLevel.ts +31 -0
- package/src/Logger.ts +5 -5
- package/src/Metric.ts +4 -4
- package/src/Optic.ts +948 -19
- package/src/Pipeable.ts +32 -1
- package/src/PlatformError.ts +5 -5
- package/src/Pool.ts +13 -11
- package/src/PubSub.ts +10 -9
- package/src/Random.ts +33 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Reducer.ts +166 -7
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +9 -29
- package/src/Result.ts +13 -0
- package/src/Schedule.ts +279 -140
- package/src/Schema.ts +575 -113
- package/src/SchemaGetter.ts +12 -14
- package/src/SchemaRepresentation.ts +43 -24
- package/src/SchemaTransformation.ts +104 -0
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +356 -0
- package/src/Stream.ts +43 -42
- package/src/Struct.ts +26 -0
- package/src/SubscriptionRef.ts +3 -2
- package/src/SynchronizedRef.ts +3 -2
- package/src/Types.ts +12 -2
- package/src/index.ts +502 -20
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +70 -37
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +4 -3
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +8 -8
- package/src/unstable/ai/AiError.ts +2 -2
- package/src/unstable/ai/Chat.ts +12 -11
- package/src/unstable/ai/LanguageModel.ts +3 -3
- package/src/unstable/ai/McpServer.ts +2 -2
- package/src/unstable/ai/Prompt.ts +37 -37
- package/src/unstable/ai/Response.ts +25 -25
- package/src/unstable/cli/Prompt.ts +2 -2
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +3 -2
- package/src/unstable/cluster/Entity.ts +7 -6
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/Envelope.ts +1 -1
- package/src/unstable/cluster/K8sHttpClient.ts +1 -1
- package/src/unstable/cluster/MessageStorage.ts +3 -5
- package/src/unstable/cluster/Runners.ts +6 -5
- package/src/unstable/cluster/Sharding.ts +11 -9
- package/src/unstable/cluster/ShardingConfig.ts +10 -11
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +9 -8
- package/src/unstable/cluster/internal/entityReaper.ts +2 -1
- package/src/unstable/cluster/internal/resourceRef.ts +2 -1
- package/src/unstable/encoding/Sse.ts +2 -4
- package/src/unstable/eventlog/EventLog.ts +2 -1
- package/src/unstable/http/Cookies.ts +3 -3
- package/src/unstable/http/HttpBody.ts +42 -1
- package/src/unstable/http/HttpClient.ts +19 -19
- package/src/unstable/http/HttpClientRequest.ts +38 -13
- package/src/unstable/http/HttpEffect.ts +17 -25
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +5 -10
- package/src/unstable/http/HttpServerResponse.ts +1 -1
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +20 -5
- package/src/unstable/httpapi/HttpApiBuilder.ts +5 -5
- package/src/unstable/httpapi/HttpApiClient.ts +3 -3
- package/src/unstable/httpapi/HttpApiEndpoint.ts +47 -72
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/httpapi/OpenApi.ts +18 -16
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +3 -3
- package/src/unstable/observability/OtlpLogger.ts +4 -4
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +4 -4
- package/src/unstable/persistence/KeyValueStore.ts +6 -6
- package/src/unstable/persistence/Persistable.ts +2 -2
- package/src/unstable/persistence/PersistedCache.ts +20 -9
- package/src/unstable/persistence/PersistedQueue.ts +25 -24
- package/src/unstable/persistence/Persistence.ts +3 -3
- package/src/unstable/persistence/RateLimiter.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +2 -2
- package/src/unstable/process/ChildProcessSpawner.ts +6 -0
- package/src/unstable/reactivity/Atom.ts +20 -18
- package/src/unstable/reactivity/AtomHttpApi.ts +19 -18
- package/src/unstable/reactivity/AtomRpc.ts +3 -3
- package/src/unstable/reactivity/Hydration.ts +112 -0
- package/src/unstable/reactivity/index.ts +5 -0
- package/src/unstable/rpc/Rpc.ts +3 -3
- package/src/unstable/rpc/RpcClient.ts +12 -54
- package/src/unstable/rpc/RpcServer.ts +6 -4
- package/src/unstable/rpc/Utils.ts +2 -1
- package/src/unstable/schema/VariantSchema.ts +36 -7
- package/src/unstable/socket/Socket.ts +7 -6
- package/src/unstable/sql/SqlModel.ts +2 -2
- package/src/unstable/sql/SqlSchema.ts +62 -13
- package/src/unstable/sql/Statement.ts +0 -1
- package/src/unstable/workers/Worker.ts +2 -1
- package/src/unstable/workflow/DurableClock.ts +8 -8
- package/src/unstable/workflow/DurableDeferred.ts +2 -2
- package/src/unstable/workflow/WorkflowEngine.ts +3 -2
- package/dist/PartitionedSemaphore.d.ts +0 -52
- package/dist/PartitionedSemaphore.d.ts.map +0 -1
- package/dist/PartitionedSemaphore.js.map +0 -1
- package/dist/encoding/Base64.d.ts +0 -67
- package/dist/encoding/Base64.d.ts.map +0 -1
- package/dist/encoding/Base64.js +0 -146
- package/dist/encoding/Base64.js.map +0 -1
- package/dist/encoding/Base64Url.d.ts +0 -60
- package/dist/encoding/Base64Url.d.ts.map +0 -1
- package/dist/encoding/Base64Url.js +0 -89
- package/dist/encoding/Base64Url.js.map +0 -1
- package/dist/encoding/EncodingError.d.ts +0 -31
- package/dist/encoding/EncodingError.d.ts.map +0 -1
- package/dist/encoding/EncodingError.js +0 -22
- package/dist/encoding/EncodingError.js.map +0 -1
- package/dist/encoding/Hex.d.ts +0 -61
- package/dist/encoding/Hex.d.ts.map +0 -1
- package/dist/encoding/Hex.js +0 -115
- package/dist/encoding/Hex.js.map +0 -1
- package/dist/encoding/index.d.ts +0 -26
- package/dist/encoding/index.d.ts.map +0 -1
- package/dist/encoding/index.js +0 -27
- package/dist/encoding/index.js.map +0 -1
- package/src/PartitionedSemaphore.ts +0 -182
- package/src/encoding/Base64.ts +0 -366
- package/src/encoding/Base64Url.ts +0 -104
- package/src/encoding/EncodingError.ts +0 -35
- package/src/encoding/Hex.ts +0 -390
- package/src/encoding/index.ts +0 -31
package/src/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
|
@@ -14,6 +14,7 @@ import { constant, constFalse, constTrue, constUndefined, constVoid, dual, ident
|
|
|
14
14
|
import * as Hash from "../Hash.ts"
|
|
15
15
|
import { toJson, toStringUnknown } from "../Inspectable.ts"
|
|
16
16
|
import * as Iterable from "../Iterable.ts"
|
|
17
|
+
import type * as _Latch from "../Latch.ts"
|
|
17
18
|
import type * as Logger from "../Logger.ts"
|
|
18
19
|
import type * as LogLevel from "../LogLevel.ts"
|
|
19
20
|
import type * as Metric from "../Metric.ts"
|
|
@@ -81,6 +82,7 @@ import {
|
|
|
81
82
|
isEffect,
|
|
82
83
|
isFailReason,
|
|
83
84
|
isInterruptReason,
|
|
85
|
+
isNoSuchElementError,
|
|
84
86
|
makePrimitive,
|
|
85
87
|
makePrimitiveProto,
|
|
86
88
|
NoSuchElementError,
|
|
@@ -783,6 +785,7 @@ export const fiberJoinAll = <A extends Iterable<Fiber.Fiber<any, any>>>(self: A)
|
|
|
783
785
|
> =>
|
|
784
786
|
callback((resume) => {
|
|
785
787
|
const fibers = Array.from(self)
|
|
788
|
+
if (fibers.length === 0) return resume(succeed(Arr.empty() as any))
|
|
786
789
|
const out = new Array<any>(fibers.length) as Arr.NonEmptyArray<any>
|
|
787
790
|
const cancels = Arr.empty<() => void>()
|
|
788
791
|
let done = 0
|
|
@@ -2440,6 +2443,18 @@ export const catch_: {
|
|
|
2440
2443
|
): Effect.Effect<A | B, E2, R | R2> => catchCauseIf(self, findError as any, (e: any) => f(e)) as any
|
|
2441
2444
|
)
|
|
2442
2445
|
|
|
2446
|
+
/** @internal */
|
|
2447
|
+
export const catchNoSuchElement = <A, E, R>(
|
|
2448
|
+
self: Effect.Effect<A, E, R>
|
|
2449
|
+
): Effect.Effect<Option.Option<A>, Exclude<E, Cause.NoSuchElementError>, R> =>
|
|
2450
|
+
matchEffect(self, {
|
|
2451
|
+
onFailure: (error) =>
|
|
2452
|
+
isNoSuchElementError(error)
|
|
2453
|
+
? succeedNone
|
|
2454
|
+
: fail(error as Exclude<E, Cause.NoSuchElementError>),
|
|
2455
|
+
onSuccess: succeedSome
|
|
2456
|
+
})
|
|
2457
|
+
|
|
2443
2458
|
/** @internal */
|
|
2444
2459
|
export const catchDefect: {
|
|
2445
2460
|
<E, B, E2, R2>(
|
|
@@ -3390,24 +3405,24 @@ export const isSuccess: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect
|
|
|
3390
3405
|
/** @internal */
|
|
3391
3406
|
export const delay: {
|
|
3392
3407
|
(
|
|
3393
|
-
duration: Duration.
|
|
3408
|
+
duration: Duration.Input
|
|
3394
3409
|
): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
|
|
3395
3410
|
<A, E, R>(
|
|
3396
3411
|
self: Effect.Effect<A, E, R>,
|
|
3397
|
-
duration: Duration.
|
|
3412
|
+
duration: Duration.Input
|
|
3398
3413
|
): Effect.Effect<A, E, R>
|
|
3399
3414
|
} = dual(
|
|
3400
3415
|
2,
|
|
3401
3416
|
<A, E, R>(
|
|
3402
3417
|
self: Effect.Effect<A, E, R>,
|
|
3403
|
-
duration: Duration.
|
|
3418
|
+
duration: Duration.Input
|
|
3404
3419
|
): Effect.Effect<A, E, R> => andThen(sleep(duration), self)
|
|
3405
3420
|
)
|
|
3406
3421
|
|
|
3407
3422
|
/** @internal */
|
|
3408
3423
|
export const timeoutOrElse: {
|
|
3409
3424
|
<A2, E2, R2>(options: {
|
|
3410
|
-
readonly duration: Duration.
|
|
3425
|
+
readonly duration: Duration.Input
|
|
3411
3426
|
readonly onTimeout: LazyArg<Effect.Effect<A2, E2, R2>>
|
|
3412
3427
|
}): <A, E, R>(
|
|
3413
3428
|
self: Effect.Effect<A, E, R>
|
|
@@ -3415,7 +3430,7 @@ export const timeoutOrElse: {
|
|
|
3415
3430
|
<A, E, R, A2, E2, R2>(
|
|
3416
3431
|
self: Effect.Effect<A, E, R>,
|
|
3417
3432
|
options: {
|
|
3418
|
-
readonly duration: Duration.
|
|
3433
|
+
readonly duration: Duration.Input
|
|
3419
3434
|
readonly onTimeout: LazyArg<Effect.Effect<A2, E2, R2>>
|
|
3420
3435
|
}
|
|
3421
3436
|
): Effect.Effect<A | A2, E | E2, R | R2>
|
|
@@ -3424,7 +3439,7 @@ export const timeoutOrElse: {
|
|
|
3424
3439
|
<A, E, R, A2, E2, R2>(
|
|
3425
3440
|
self: Effect.Effect<A, E, R>,
|
|
3426
3441
|
options: {
|
|
3427
|
-
readonly duration: Duration.
|
|
3442
|
+
readonly duration: Duration.Input
|
|
3428
3443
|
readonly onTimeout: LazyArg<Effect.Effect<A2, E2, R2>>
|
|
3429
3444
|
}
|
|
3430
3445
|
): Effect.Effect<A | A2, E | E2, R | R2> =>
|
|
@@ -3437,19 +3452,19 @@ export const timeoutOrElse: {
|
|
|
3437
3452
|
/** @internal */
|
|
3438
3453
|
export const timeout: {
|
|
3439
3454
|
(
|
|
3440
|
-
duration: Duration.
|
|
3455
|
+
duration: Duration.Input
|
|
3441
3456
|
): <A, E, R>(
|
|
3442
3457
|
self: Effect.Effect<A, E, R>
|
|
3443
3458
|
) => Effect.Effect<A, E | Cause.TimeoutError, R>
|
|
3444
3459
|
<A, E, R>(
|
|
3445
3460
|
self: Effect.Effect<A, E, R>,
|
|
3446
|
-
duration: Duration.
|
|
3461
|
+
duration: Duration.Input
|
|
3447
3462
|
): Effect.Effect<A, E | Cause.TimeoutError, R>
|
|
3448
3463
|
} = dual(
|
|
3449
3464
|
2,
|
|
3450
3465
|
<A, E, R>(
|
|
3451
3466
|
self: Effect.Effect<A, E, R>,
|
|
3452
|
-
duration: Duration.
|
|
3467
|
+
duration: Duration.Input
|
|
3453
3468
|
): Effect.Effect<A, E | TimeoutError, R> =>
|
|
3454
3469
|
timeoutOrElse(self, {
|
|
3455
3470
|
duration,
|
|
@@ -3460,19 +3475,19 @@ export const timeout: {
|
|
|
3460
3475
|
/** @internal */
|
|
3461
3476
|
export const timeoutOption: {
|
|
3462
3477
|
(
|
|
3463
|
-
duration: Duration.
|
|
3478
|
+
duration: Duration.Input
|
|
3464
3479
|
): <A, E, R>(
|
|
3465
3480
|
self: Effect.Effect<A, E, R>
|
|
3466
3481
|
) => Effect.Effect<Option.Option<A>, E, R>
|
|
3467
3482
|
<A, E, R>(
|
|
3468
3483
|
self: Effect.Effect<A, E, R>,
|
|
3469
|
-
duration: Duration.
|
|
3484
|
+
duration: Duration.Input
|
|
3470
3485
|
): Effect.Effect<Option.Option<A>, E, R>
|
|
3471
3486
|
} = dual(
|
|
3472
3487
|
2,
|
|
3473
3488
|
<A, E, R>(
|
|
3474
3489
|
self: Effect.Effect<A, E, R>,
|
|
3475
|
-
duration: Duration.
|
|
3490
|
+
duration: Duration.Input
|
|
3476
3491
|
): Effect.Effect<Option.Option<A>, E, R> =>
|
|
3477
3492
|
raceFirst(
|
|
3478
3493
|
asSome(self),
|
|
@@ -3860,19 +3875,19 @@ export const acquireUseRelease = <Resource, E, R, A, E2, R2, E3, R3>(
|
|
|
3860
3875
|
|
|
3861
3876
|
/** @internal */
|
|
3862
3877
|
export const cachedInvalidateWithTTL: {
|
|
3863
|
-
(timeToLive: Duration.
|
|
3878
|
+
(timeToLive: Duration.Input): <A, E, R>(
|
|
3864
3879
|
self: Effect.Effect<A, E, R>
|
|
3865
3880
|
) => Effect.Effect<[Effect.Effect<A, E, R>, Effect.Effect<void>]>
|
|
3866
3881
|
<A, E, R>(
|
|
3867
3882
|
self: Effect.Effect<A, E, R>,
|
|
3868
|
-
timeToLive: Duration.
|
|
3883
|
+
timeToLive: Duration.Input
|
|
3869
3884
|
): Effect.Effect<[Effect.Effect<A, E, R>, Effect.Effect<void>]>
|
|
3870
3885
|
} = dual(2, <A, E, R>(
|
|
3871
3886
|
self: Effect.Effect<A, E, R>,
|
|
3872
|
-
ttl: Duration.
|
|
3887
|
+
ttl: Duration.Input
|
|
3873
3888
|
): Effect.Effect<[Effect.Effect<A, E, R>, Effect.Effect<void>]> =>
|
|
3874
3889
|
sync(() => {
|
|
3875
|
-
const ttlMillis = Duration.toMillis(Duration.
|
|
3890
|
+
const ttlMillis = Duration.toMillis(Duration.fromInputUnsafe(ttl))
|
|
3876
3891
|
const isFinite = Number.isFinite(ttlMillis)
|
|
3877
3892
|
const latch = makeLatchUnsafe(false)
|
|
3878
3893
|
let expiresAt = 0
|
|
@@ -3905,17 +3920,17 @@ export const cachedInvalidateWithTTL: {
|
|
|
3905
3920
|
/** @internal */
|
|
3906
3921
|
export const cachedWithTTL: {
|
|
3907
3922
|
(
|
|
3908
|
-
timeToLive: Duration.
|
|
3923
|
+
timeToLive: Duration.Input
|
|
3909
3924
|
): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Effect.Effect<A, E, R>>
|
|
3910
3925
|
<A, E, R>(
|
|
3911
3926
|
self: Effect.Effect<A, E, R>,
|
|
3912
|
-
timeToLive: Duration.
|
|
3927
|
+
timeToLive: Duration.Input
|
|
3913
3928
|
): Effect.Effect<Effect.Effect<A, E, R>>
|
|
3914
3929
|
} = dual(
|
|
3915
3930
|
2,
|
|
3916
3931
|
<A, E, R>(
|
|
3917
3932
|
self: Effect.Effect<A, E, R>,
|
|
3918
|
-
timeToLive: Duration.
|
|
3933
|
+
timeToLive: Duration.Input
|
|
3919
3934
|
): Effect.Effect<Effect.Effect<A, E, R>> => map(cachedInvalidateWithTTL(self, timeToLive), (tuple) => tuple[0])
|
|
3920
3935
|
)
|
|
3921
3936
|
|
|
@@ -4271,6 +4286,9 @@ export const filter: {
|
|
|
4271
4286
|
<A>(
|
|
4272
4287
|
predicate: Predicate.Predicate<NoInfer<A>>
|
|
4273
4288
|
): (elements: Iterable<A>) => Effect.Effect<Array<A>>
|
|
4289
|
+
<A, B, X>(
|
|
4290
|
+
filter: Filter.Filter<NoInfer<A>, B, X>
|
|
4291
|
+
): (elements: Iterable<A>) => Effect.Effect<Array<B>>
|
|
4274
4292
|
<A, B, X, E, R>(
|
|
4275
4293
|
filter: Filter.FilterEffect<NoInfer<A>, B, X, E, R>,
|
|
4276
4294
|
options?: { readonly concurrency?: Concurrency | undefined }
|
|
@@ -4287,6 +4305,10 @@ export const filter: {
|
|
|
4287
4305
|
elements: Iterable<A>,
|
|
4288
4306
|
predicate: Predicate.Predicate<A>
|
|
4289
4307
|
): Effect.Effect<Array<A>>
|
|
4308
|
+
<A, B, X>(
|
|
4309
|
+
elements: Iterable<A>,
|
|
4310
|
+
filter: Filter.Filter<NoInfer<A>, B, X>
|
|
4311
|
+
): Effect.Effect<Array<B>>
|
|
4290
4312
|
<A, B, X, E, R>(
|
|
4291
4313
|
elements: Iterable<A>,
|
|
4292
4314
|
filter: Filter.FilterEffect<NoInfer<A>, B, X, E, R>,
|
|
@@ -4318,6 +4340,12 @@ export const filter: {
|
|
|
4318
4340
|
if (result) out.push(a)
|
|
4319
4341
|
return void_ as any
|
|
4320
4342
|
}
|
|
4343
|
+
if (!isEffect(result)) {
|
|
4344
|
+
if (!Result.isFailure(result)) {
|
|
4345
|
+
out.push(result.success)
|
|
4346
|
+
}
|
|
4347
|
+
return void_ as any
|
|
4348
|
+
}
|
|
4321
4349
|
return map(result, (r: any) => {
|
|
4322
4350
|
if (typeof r === "boolean") {
|
|
4323
4351
|
if (r) out.push(a)
|
|
@@ -4746,25 +4774,27 @@ class Semaphore {
|
|
|
4746
4774
|
return this.permits - this.taken
|
|
4747
4775
|
}
|
|
4748
4776
|
|
|
4749
|
-
readonly take = (n: number): Effect.Effect<number> =>
|
|
4750
|
-
|
|
4777
|
+
readonly take = (n: number): Effect.Effect<number> => {
|
|
4778
|
+
const take: Effect.Effect<number> = suspend(() => {
|
|
4751
4779
|
if (this.free < n) {
|
|
4752
|
-
|
|
4753
|
-
if (this.free
|
|
4754
|
-
|
|
4780
|
+
return callback((resume) => {
|
|
4781
|
+
if (this.free >= n) return resume(take)
|
|
4782
|
+
const observer = () => {
|
|
4783
|
+
if (this.free < n) return
|
|
4784
|
+
this.waiters.delete(observer)
|
|
4785
|
+
resume(take)
|
|
4755
4786
|
}
|
|
4756
|
-
this.waiters.
|
|
4757
|
-
|
|
4758
|
-
|
|
4759
|
-
|
|
4760
|
-
this.waiters.add(observer)
|
|
4761
|
-
return sync(() => {
|
|
4762
|
-
this.waiters.delete(observer)
|
|
4787
|
+
this.waiters.add(observer)
|
|
4788
|
+
return sync(() => {
|
|
4789
|
+
this.waiters.delete(observer)
|
|
4790
|
+
})
|
|
4763
4791
|
})
|
|
4764
4792
|
}
|
|
4765
4793
|
this.taken += n
|
|
4766
|
-
return
|
|
4794
|
+
return succeed(n)
|
|
4767
4795
|
})
|
|
4796
|
+
return take
|
|
4797
|
+
}
|
|
4768
4798
|
|
|
4769
4799
|
updateTakenUnsafe(fiber: Fiber.Fiber<any, any>, f: (n: number) => number): Effect.Effect<number> {
|
|
4770
4800
|
this.taken = f(this.taken)
|
|
@@ -4802,7 +4832,10 @@ class Semaphore {
|
|
|
4802
4832
|
|
|
4803
4833
|
readonly withPermits = (n: number) => <A, E, R>(self: Effect.Effect<A, E, R>) =>
|
|
4804
4834
|
uninterruptibleMask((restore) =>
|
|
4805
|
-
flatMap(
|
|
4835
|
+
flatMap(
|
|
4836
|
+
restore(this.take(n)),
|
|
4837
|
+
(permits) => onExitPrimitive(restore(self), () => this.release(permits), true)
|
|
4838
|
+
)
|
|
4806
4839
|
)
|
|
4807
4840
|
|
|
4808
4841
|
readonly withPermit = this.withPermits(1)
|
|
@@ -4828,7 +4861,7 @@ export const makeSemaphore = (permits: number) => sync(() => makeSemaphoreUnsafe
|
|
|
4828
4861
|
const succeedTrue = succeed(true)
|
|
4829
4862
|
const succeedFalse = succeed(false)
|
|
4830
4863
|
|
|
4831
|
-
class Latch implements
|
|
4864
|
+
class Latch implements _Latch.Latch {
|
|
4832
4865
|
waiters: Array<(_: Effect.Effect<void>) => void> = []
|
|
4833
4866
|
scheduled = false
|
|
4834
4867
|
private isOpen: boolean
|
|
@@ -4888,7 +4921,7 @@ class Latch implements Effect.Latch {
|
|
|
4888
4921
|
}
|
|
4889
4922
|
|
|
4890
4923
|
/** @internal */
|
|
4891
|
-
export const makeLatchUnsafe = (open?: boolean | undefined):
|
|
4924
|
+
export const makeLatchUnsafe = (open?: boolean | undefined): _Latch.Latch => new Latch(open ?? false)
|
|
4892
4925
|
|
|
4893
4926
|
/** @internal */
|
|
4894
4927
|
export const makeLatch = (open?: boolean | undefined) => sync(() => makeLatchUnsafe(open))
|
|
@@ -5318,8 +5351,8 @@ export const clockWith = <A, E, R>(f: (clock: Clock.Clock) => Effect.Effect<A, E
|
|
|
5318
5351
|
withFiber((fiber) => f(fiber.getRef(ClockRef)))
|
|
5319
5352
|
|
|
5320
5353
|
/** @internal */
|
|
5321
|
-
export const sleep = (duration: Duration.
|
|
5322
|
-
clockWith((clock) => clock.sleep(Duration.
|
|
5354
|
+
export const sleep = (duration: Duration.Input): Effect.Effect<void> =>
|
|
5355
|
+
clockWith((clock) => clock.sleep(Duration.fromInputUnsafe(duration)))
|
|
5323
5356
|
|
|
5324
5357
|
/** @internal */
|
|
5325
5358
|
export const currentTimeMillis: Effect.Effect<number> = clockWith((clock) => clock.currentTimeMillis)
|
|
@@ -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, () => {
|
package/src/testing/TestClock.ts
CHANGED
|
@@ -8,8 +8,10 @@ import * as Duration from "../Duration.ts"
|
|
|
8
8
|
import * as Effect from "../Effect.ts"
|
|
9
9
|
import * as Fiber from "../Fiber.ts"
|
|
10
10
|
import { flow } from "../Function.ts"
|
|
11
|
+
import * as Latch from "../Latch.ts"
|
|
11
12
|
import * as Layer from "../Layer.ts"
|
|
12
13
|
import * as Order from "../Order.ts"
|
|
14
|
+
import * as Semaphore from "../Semaphore.ts"
|
|
13
15
|
|
|
14
16
|
/**
|
|
15
17
|
* A `TestClock` simplifies deterministically and efficiently testing effects
|
|
@@ -79,7 +81,7 @@ export interface TestClock extends Clock.Clock {
|
|
|
79
81
|
* that were scheduled to occur on or before the new time will be run in
|
|
80
82
|
* order.
|
|
81
83
|
*/
|
|
82
|
-
adjust(duration: Duration.
|
|
84
|
+
adjust(duration: Duration.Input): Effect.Effect<void>
|
|
83
85
|
/**
|
|
84
86
|
* Sets the current clock time to the specified `timestamp`. Any effects that
|
|
85
87
|
* were scheduled to occur on or before the new time will be run in order.
|
|
@@ -139,7 +141,7 @@ export declare namespace TestClock {
|
|
|
139
141
|
* The amount of time to wait before displaying a warning message when a
|
|
140
142
|
* test is using time but is not advancing the `TestClock`.
|
|
141
143
|
*/
|
|
142
|
-
readonly warningDelay?: Duration.
|
|
144
|
+
readonly warningDelay?: Duration.Input
|
|
143
145
|
}
|
|
144
146
|
|
|
145
147
|
/**
|
|
@@ -155,7 +157,7 @@ export declare namespace TestClock {
|
|
|
155
157
|
* const timestamp = testClock.currentTimeMillisUnsafe()
|
|
156
158
|
* console.log(timestamp) // Current test time
|
|
157
159
|
*
|
|
158
|
-
* // Internal state structure: { timestamp: number, sleeps: Array<[number,
|
|
160
|
+
* // Internal state structure: { timestamp: number, sleeps: Array<[number, Latch.Latch]> }
|
|
159
161
|
* })
|
|
160
162
|
* ```
|
|
161
163
|
*
|
|
@@ -164,7 +166,7 @@ export declare namespace TestClock {
|
|
|
164
166
|
*/
|
|
165
167
|
export interface State {
|
|
166
168
|
readonly timestamp: number
|
|
167
|
-
readonly sleeps: ReadonlyArray<[number,
|
|
169
|
+
readonly sleeps: ReadonlyArray<[number, Latch.Latch]>
|
|
168
170
|
}
|
|
169
171
|
}
|
|
170
172
|
|
|
@@ -220,10 +222,10 @@ export const make = Effect.fnUntraced(function*(
|
|
|
220
222
|
const sleeps: Array<{
|
|
221
223
|
readonly sequence: number
|
|
222
224
|
readonly timestamp: number
|
|
223
|
-
readonly latch:
|
|
225
|
+
readonly latch: Latch.Latch
|
|
224
226
|
}> = []
|
|
225
227
|
const liveClock = yield* Clock.clockWith(Effect.succeed)
|
|
226
|
-
const warningSemaphore = yield*
|
|
228
|
+
const warningSemaphore = yield* Semaphore.make(1)
|
|
227
229
|
|
|
228
230
|
let currentTimestamp: number = new Date(0).getTime()
|
|
229
231
|
let warningState: WarningState = WarningState.Start()
|
|
@@ -292,7 +294,7 @@ export const make = Effect.fnUntraced(function*(
|
|
|
292
294
|
const millis = Duration.toMillis(duration)
|
|
293
295
|
const end = currentTimestamp + millis
|
|
294
296
|
if (end <= currentTimestamp) return
|
|
295
|
-
const latch =
|
|
297
|
+
const latch = Latch.makeUnsafe()
|
|
296
298
|
sleeps.push({
|
|
297
299
|
sequence: sequence++,
|
|
298
300
|
timestamp: end,
|
|
@@ -303,7 +305,7 @@ export const make = Effect.fnUntraced(function*(
|
|
|
303
305
|
yield* latch.await
|
|
304
306
|
})
|
|
305
307
|
|
|
306
|
-
const runSemaphore = yield*
|
|
308
|
+
const runSemaphore = yield* Semaphore.make(1)
|
|
307
309
|
const run = Effect.fnUntraced(function*(step: (currentTimestamp: number) => number) {
|
|
308
310
|
yield* Fiber.await(yield* Effect.forkScoped(Effect.yieldNow))
|
|
309
311
|
const endTimestamp = step(currentTimestamp)
|
|
@@ -317,8 +319,8 @@ export const make = Effect.fnUntraced(function*(
|
|
|
317
319
|
currentTimestamp = endTimestamp
|
|
318
320
|
}, runSemaphore.withPermits(1))
|
|
319
321
|
|
|
320
|
-
function adjust(duration: Duration.
|
|
321
|
-
const millis = Duration.toMillis(Duration.
|
|
322
|
+
function adjust(duration: Duration.Input) {
|
|
323
|
+
const millis = Duration.toMillis(Duration.fromInputUnsafe(duration))
|
|
322
324
|
return warningDone.pipe(Effect.andThen(run((timestamp) => timestamp + millis)))
|
|
323
325
|
}
|
|
324
326
|
|
|
@@ -429,7 +431,7 @@ export const testClockWith = <A, E, R>(
|
|
|
429
431
|
* @since 2.0.0
|
|
430
432
|
* @category utils
|
|
431
433
|
*/
|
|
432
|
-
export const adjust = (duration: Duration.
|
|
434
|
+
export const adjust = (duration: Duration.Input): Effect.Effect<void> =>
|
|
433
435
|
testClockWith((testClock) => testClock.adjust(duration))
|
|
434
436
|
|
|
435
437
|
/**
|
|
@@ -156,16 +156,16 @@ export class Decoding<S extends Schema.Top> {
|
|
|
156
156
|
/**
|
|
157
157
|
* Asserts that decoding succeeds with the expected value.
|
|
158
158
|
*/
|
|
159
|
-
async succeed<S extends Schema.
|
|
159
|
+
async succeed<S extends Schema.Decoder<unknown, never>>(
|
|
160
160
|
this: Decoding<S>,
|
|
161
161
|
input: unknown
|
|
162
162
|
): Promise<void>
|
|
163
|
-
async succeed<S extends Schema.
|
|
163
|
+
async succeed<S extends Schema.Decoder<unknown, never>>(
|
|
164
164
|
this: Decoding<S>,
|
|
165
165
|
input: unknown,
|
|
166
166
|
expected: S["Type"]
|
|
167
167
|
): Promise<void>
|
|
168
|
-
async succeed<S extends Schema.
|
|
168
|
+
async succeed<S extends Schema.Decoder<unknown, never>>(
|
|
169
169
|
this: Decoding<S>,
|
|
170
170
|
input: unknown,
|
|
171
171
|
expected?: S["Type"]
|
|
@@ -182,7 +182,7 @@ export class Decoding<S extends Schema.Top> {
|
|
|
182
182
|
/**
|
|
183
183
|
* Asserts that decoding fails with the expected error message.
|
|
184
184
|
*/
|
|
185
|
-
async fail<S extends Schema.
|
|
185
|
+
async fail<S extends Schema.Decoder<unknown, never>>(
|
|
186
186
|
this: Decoding<S>,
|
|
187
187
|
input: unknown,
|
|
188
188
|
message: string
|
|
@@ -232,16 +232,16 @@ class Encoding<S extends Schema.Top> {
|
|
|
232
232
|
/**
|
|
233
233
|
* Asserts that encoding succeeds with the expected value.
|
|
234
234
|
*/
|
|
235
|
-
async succeed<S extends Schema.
|
|
235
|
+
async succeed<S extends Schema.Encoder<unknown, never>>(
|
|
236
236
|
this: Encoding<S>,
|
|
237
237
|
input: unknown
|
|
238
238
|
): Promise<void>
|
|
239
|
-
async succeed<S extends Schema.
|
|
239
|
+
async succeed<S extends Schema.Encoder<unknown, never>>(
|
|
240
240
|
this: Encoding<S>,
|
|
241
241
|
input: unknown,
|
|
242
242
|
expected: S["Encoded"]
|
|
243
243
|
): Promise<void>
|
|
244
|
-
async succeed<S extends Schema.
|
|
244
|
+
async succeed<S extends Schema.Encoder<unknown, never>>(
|
|
245
245
|
this: Encoding<S>,
|
|
246
246
|
input: unknown,
|
|
247
247
|
expected?: S["Encoded"]
|
|
@@ -258,7 +258,7 @@ class Encoding<S extends Schema.Top> {
|
|
|
258
258
|
/**
|
|
259
259
|
* Asserts that encoding fails with the expected error message.
|
|
260
260
|
*/
|
|
261
|
-
async fail<S extends Schema.
|
|
261
|
+
async fail<S extends Schema.Encoder<unknown, never>>(
|
|
262
262
|
this: Encoding<S>,
|
|
263
263
|
input: unknown,
|
|
264
264
|
message: string
|
|
@@ -247,9 +247,9 @@ export class NetworkError extends Schema.ErrorClass<NetworkError>(
|
|
|
247
247
|
* @since 1.0.0
|
|
248
248
|
* @category schemas
|
|
249
249
|
*/
|
|
250
|
-
export const ProviderMetadata: Schema
|
|
250
|
+
export const ProviderMetadata: Schema.$Record<
|
|
251
251
|
Schema.String,
|
|
252
|
-
Schema.NullOr<Schema.Codec<Schema.MutableJson
|
|
252
|
+
Schema.NullOr<Schema.Codec<Schema.MutableJson>>
|
|
253
253
|
> = Schema.Record(Schema.String, Schema.NullOr(Schema.MutableJson))
|
|
254
254
|
|
|
255
255
|
/**
|