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/DateTime.ts
CHANGED
|
@@ -12,7 +12,6 @@ import { provideService } from "./internal/effect.ts"
|
|
|
12
12
|
import * as Layer from "./Layer.ts"
|
|
13
13
|
import type * as order from "./Order.ts"
|
|
14
14
|
import type { Pipeable } from "./Pipeable.ts"
|
|
15
|
-
import type * as Result from "./Result.ts"
|
|
16
15
|
import * as ServiceMap from "./ServiceMap.ts"
|
|
17
16
|
|
|
18
17
|
const TypeId = Internal.TypeId
|
|
@@ -1174,10 +1173,12 @@ export const setZoneNamedUnsafe: {
|
|
|
1174
1173
|
// =============================================================================
|
|
1175
1174
|
|
|
1176
1175
|
/**
|
|
1177
|
-
* Calulate the difference between two `DateTime` values, returning
|
|
1178
|
-
*
|
|
1176
|
+
* Calulate the difference between two `DateTime` values, returning a
|
|
1177
|
+
* `Duration` representing the amount of time between them.
|
|
1179
1178
|
*
|
|
1180
|
-
* If `other` is *after* `self`, the result will be a positive
|
|
1179
|
+
* If `other` is *after* `self`, the result will be a positive `Duration`. If
|
|
1180
|
+
* `other` is *before* `self`, the result will be a negative `Duration`. If they
|
|
1181
|
+
* are equal, the result will be a `Duration` of zero.
|
|
1181
1182
|
*
|
|
1182
1183
|
* @since 3.6.0
|
|
1183
1184
|
* @category comparisons
|
|
@@ -1189,7 +1190,7 @@ export const setZoneNamedUnsafe: {
|
|
|
1189
1190
|
* const now = yield* DateTime.now
|
|
1190
1191
|
* const other = DateTime.add(now, { minutes: 1 })
|
|
1191
1192
|
*
|
|
1192
|
-
* // returns
|
|
1193
|
+
* // returns Duration.minutes(1)
|
|
1193
1194
|
* DateTime.distance(now, other)
|
|
1194
1195
|
* })
|
|
1195
1196
|
* ```
|
|
@@ -1200,10 +1201,12 @@ export const distance: {
|
|
|
1200
1201
|
// =============================================================================
|
|
1201
1202
|
|
|
1202
1203
|
/**
|
|
1203
|
-
* Calulate the difference between two `DateTime` values, returning
|
|
1204
|
-
*
|
|
1204
|
+
* Calulate the difference between two `DateTime` values, returning a
|
|
1205
|
+
* `Duration` representing the amount of time between them.
|
|
1205
1206
|
*
|
|
1206
|
-
* If `other` is *after* `self`, the result will be a positive
|
|
1207
|
+
* If `other` is *after* `self`, the result will be a positive `Duration`. If
|
|
1208
|
+
* `other` is *before* `self`, the result will be a negative `Duration`. If they
|
|
1209
|
+
* are equal, the result will be a `Duration` of zero.
|
|
1207
1210
|
*
|
|
1208
1211
|
* @since 3.6.0
|
|
1209
1212
|
* @category comparisons
|
|
@@ -1215,147 +1218,23 @@ export const distance: {
|
|
|
1215
1218
|
* const now = yield* DateTime.now
|
|
1216
1219
|
* const other = DateTime.add(now, { minutes: 1 })
|
|
1217
1220
|
*
|
|
1218
|
-
* // returns
|
|
1221
|
+
* // returns Duration.minutes(1)
|
|
1219
1222
|
* DateTime.distance(now, other)
|
|
1220
1223
|
* })
|
|
1221
1224
|
* ```
|
|
1222
1225
|
*/
|
|
1223
|
-
(other: DateTime): (self: DateTime) =>
|
|
1226
|
+
(other: DateTime): (self: DateTime) => Duration.Duration
|
|
1224
1227
|
// =============================================================================
|
|
1225
1228
|
// comparisons
|
|
1226
1229
|
// =============================================================================
|
|
1227
1230
|
|
|
1228
1231
|
/**
|
|
1229
|
-
* Calulate the difference between two `DateTime` values, returning
|
|
1230
|
-
*
|
|
1231
|
-
*
|
|
1232
|
-
* If `other` is *after* `self`, the result will be a positive number.
|
|
1233
|
-
*
|
|
1234
|
-
* @since 3.6.0
|
|
1235
|
-
* @category comparisons
|
|
1236
|
-
* @example
|
|
1237
|
-
* ```ts
|
|
1238
|
-
* import { DateTime, Effect } from "effect"
|
|
1239
|
-
*
|
|
1240
|
-
* Effect.gen(function*() {
|
|
1241
|
-
* const now = yield* DateTime.now
|
|
1242
|
-
* const other = DateTime.add(now, { minutes: 1 })
|
|
1243
|
-
*
|
|
1244
|
-
* // returns 60000
|
|
1245
|
-
* DateTime.distance(now, other)
|
|
1246
|
-
* })
|
|
1247
|
-
* ```
|
|
1248
|
-
*/
|
|
1249
|
-
(self: DateTime, other: DateTime): number
|
|
1250
|
-
} = Internal.distance
|
|
1251
|
-
|
|
1252
|
-
/**
|
|
1253
|
-
* Calulate the difference between two `DateTime` values.
|
|
1254
|
-
*
|
|
1255
|
-
* If the `other` DateTime is before `self`, the result will be a negative
|
|
1256
|
-
* `Duration`, returned as a `Failure`.
|
|
1257
|
-
*
|
|
1258
|
-
* If the `other` DateTime is after `self`, the result will be a positive
|
|
1259
|
-
* `Duration`, returned as a `Success`.
|
|
1260
|
-
*
|
|
1261
|
-
* @since 3.6.0
|
|
1262
|
-
* @category comparisons
|
|
1263
|
-
* @example
|
|
1264
|
-
* ```ts
|
|
1265
|
-
* import { DateTime, Effect } from "effect"
|
|
1266
|
-
*
|
|
1267
|
-
* Effect.gen(function*() {
|
|
1268
|
-
* const now = yield* DateTime.now
|
|
1269
|
-
* const other = DateTime.add(now, { minutes: 1 })
|
|
1270
|
-
*
|
|
1271
|
-
* // returns Result.succeed(Duration.minutes(1))
|
|
1272
|
-
* DateTime.distanceDurationResult(now, other)
|
|
1273
|
-
*
|
|
1274
|
-
* // returns Result.fail(Duration.minutes(1))
|
|
1275
|
-
* DateTime.distanceDurationResult(other, now)
|
|
1276
|
-
* })
|
|
1277
|
-
* ```
|
|
1278
|
-
*/
|
|
1279
|
-
export const distanceDurationResult: {
|
|
1280
|
-
/**
|
|
1281
|
-
* Calulate the difference between two `DateTime` values.
|
|
1282
|
-
*
|
|
1283
|
-
* If the `other` DateTime is before `self`, the result will be a negative
|
|
1284
|
-
* `Duration`, returned as a `Failure`.
|
|
1232
|
+
* Calulate the difference between two `DateTime` values, returning a
|
|
1233
|
+
* `Duration` representing the amount of time between them.
|
|
1285
1234
|
*
|
|
1286
|
-
* If
|
|
1287
|
-
* `
|
|
1288
|
-
*
|
|
1289
|
-
* @since 3.6.0
|
|
1290
|
-
* @category comparisons
|
|
1291
|
-
* @example
|
|
1292
|
-
* ```ts
|
|
1293
|
-
* import { DateTime, Effect } from "effect"
|
|
1294
|
-
*
|
|
1295
|
-
* Effect.gen(function*() {
|
|
1296
|
-
* const now = yield* DateTime.now
|
|
1297
|
-
* const other = DateTime.add(now, { minutes: 1 })
|
|
1298
|
-
*
|
|
1299
|
-
* // returns Result.succeed(Duration.minutes(1))
|
|
1300
|
-
* DateTime.distanceDurationResult(now, other)
|
|
1301
|
-
*
|
|
1302
|
-
* // returns Result.fail(Duration.minutes(1))
|
|
1303
|
-
* DateTime.distanceDurationResult(other, now)
|
|
1304
|
-
* })
|
|
1305
|
-
* ```
|
|
1306
|
-
*/
|
|
1307
|
-
(other: DateTime): (self: DateTime) => Result.Result<Duration.Duration, Duration.Duration>
|
|
1308
|
-
/**
|
|
1309
|
-
* Calulate the difference between two `DateTime` values.
|
|
1310
|
-
*
|
|
1311
|
-
* If the `other` DateTime is before `self`, the result will be a negative
|
|
1312
|
-
* `Duration`, returned as a `Failure`.
|
|
1313
|
-
*
|
|
1314
|
-
* If the `other` DateTime is after `self`, the result will be a positive
|
|
1315
|
-
* `Duration`, returned as a `Success`.
|
|
1316
|
-
*
|
|
1317
|
-
* @since 3.6.0
|
|
1318
|
-
* @category comparisons
|
|
1319
|
-
* @example
|
|
1320
|
-
* ```ts
|
|
1321
|
-
* import { DateTime, Effect } from "effect"
|
|
1322
|
-
*
|
|
1323
|
-
* Effect.gen(function*() {
|
|
1324
|
-
* const now = yield* DateTime.now
|
|
1325
|
-
* const other = DateTime.add(now, { minutes: 1 })
|
|
1326
|
-
*
|
|
1327
|
-
* // returns Result.succeed(Duration.minutes(1))
|
|
1328
|
-
* DateTime.distanceDurationResult(now, other)
|
|
1329
|
-
*
|
|
1330
|
-
* // returns Result.fail(Duration.minutes(1))
|
|
1331
|
-
* DateTime.distanceDurationResult(other, now)
|
|
1332
|
-
* })
|
|
1333
|
-
* ```
|
|
1334
|
-
*/
|
|
1335
|
-
(self: DateTime, other: DateTime): Result.Result<Duration.Duration, Duration.Duration>
|
|
1336
|
-
} = Internal.distanceDurationResult
|
|
1337
|
-
|
|
1338
|
-
/**
|
|
1339
|
-
* Calulate the distance between two `DateTime` values.
|
|
1340
|
-
*
|
|
1341
|
-
* @since 3.6.0
|
|
1342
|
-
* @category comparisons
|
|
1343
|
-
* @example
|
|
1344
|
-
* ```ts
|
|
1345
|
-
* import { DateTime, Effect } from "effect"
|
|
1346
|
-
*
|
|
1347
|
-
* Effect.gen(function*() {
|
|
1348
|
-
* const now = yield* DateTime.now
|
|
1349
|
-
* const other = DateTime.add(now, { minutes: 1 })
|
|
1350
|
-
*
|
|
1351
|
-
* // returns Duration.minutes(1)
|
|
1352
|
-
* DateTime.distanceDuration(now, other)
|
|
1353
|
-
* })
|
|
1354
|
-
* ```
|
|
1355
|
-
*/
|
|
1356
|
-
export const distanceDuration: {
|
|
1357
|
-
/**
|
|
1358
|
-
* Calulate the distance between two `DateTime` values.
|
|
1235
|
+
* If `other` is *after* `self`, the result will be a positive `Duration`. If
|
|
1236
|
+
* `other` is *before* `self`, the result will be a negative `Duration`. If they
|
|
1237
|
+
* are equal, the result will be a `Duration` of zero.
|
|
1359
1238
|
*
|
|
1360
1239
|
* @since 3.6.0
|
|
1361
1240
|
* @category comparisons
|
|
@@ -1368,31 +1247,12 @@ export const distanceDuration: {
|
|
|
1368
1247
|
* const other = DateTime.add(now, { minutes: 1 })
|
|
1369
1248
|
*
|
|
1370
1249
|
* // returns Duration.minutes(1)
|
|
1371
|
-
* DateTime.
|
|
1372
|
-
* })
|
|
1373
|
-
* ```
|
|
1374
|
-
*/
|
|
1375
|
-
(other: DateTime): (self: DateTime) => Duration.Duration
|
|
1376
|
-
/**
|
|
1377
|
-
* Calulate the distance between two `DateTime` values.
|
|
1378
|
-
*
|
|
1379
|
-
* @since 3.6.0
|
|
1380
|
-
* @category comparisons
|
|
1381
|
-
* @example
|
|
1382
|
-
* ```ts
|
|
1383
|
-
* import { DateTime, Effect } from "effect"
|
|
1384
|
-
*
|
|
1385
|
-
* Effect.gen(function*() {
|
|
1386
|
-
* const now = yield* DateTime.now
|
|
1387
|
-
* const other = DateTime.add(now, { minutes: 1 })
|
|
1388
|
-
*
|
|
1389
|
-
* // returns Duration.minutes(1)
|
|
1390
|
-
* DateTime.distanceDuration(now, other)
|
|
1250
|
+
* DateTime.distance(now, other)
|
|
1391
1251
|
* })
|
|
1392
1252
|
* ```
|
|
1393
1253
|
*/
|
|
1394
1254
|
(self: DateTime, other: DateTime): Duration.Duration
|
|
1395
|
-
} = Internal.
|
|
1255
|
+
} = Internal.distance
|
|
1396
1256
|
|
|
1397
1257
|
/**
|
|
1398
1258
|
* Returns the earlier of two `DateTime` values.
|
|
@@ -3054,7 +2914,7 @@ export const addDuration: {
|
|
|
3054
2914
|
* )
|
|
3055
2915
|
* ```
|
|
3056
2916
|
*/
|
|
3057
|
-
(duration: Duration.
|
|
2917
|
+
(duration: Duration.Input): <A extends DateTime>(self: A) => A
|
|
3058
2918
|
// =============================================================================
|
|
3059
2919
|
// math
|
|
3060
2920
|
// =============================================================================
|
|
@@ -3074,7 +2934,7 @@ export const addDuration: {
|
|
|
3074
2934
|
* )
|
|
3075
2935
|
* ```
|
|
3076
2936
|
*/
|
|
3077
|
-
<A extends DateTime>(self: A, duration: Duration.
|
|
2937
|
+
<A extends DateTime>(self: A, duration: Duration.Input): A
|
|
3078
2938
|
} = Internal.addDuration
|
|
3079
2939
|
|
|
3080
2940
|
/**
|
|
@@ -3108,7 +2968,7 @@ export const subtractDuration: {
|
|
|
3108
2968
|
* )
|
|
3109
2969
|
* ```
|
|
3110
2970
|
*/
|
|
3111
|
-
(duration: Duration.
|
|
2971
|
+
(duration: Duration.Input): <A extends DateTime>(self: A) => A
|
|
3112
2972
|
/**
|
|
3113
2973
|
* Subtract the given `Duration` from a `DateTime`.
|
|
3114
2974
|
*
|
|
@@ -3124,7 +2984,7 @@ export const subtractDuration: {
|
|
|
3124
2984
|
* )
|
|
3125
2985
|
* ```
|
|
3126
2986
|
*/
|
|
3127
|
-
<A extends DateTime>(self: A, duration: Duration.
|
|
2987
|
+
<A extends DateTime>(self: A, duration: Duration.Input): A
|
|
3128
2988
|
} = Internal.subtractDuration
|
|
3129
2989
|
|
|
3130
2990
|
/**
|
package/src/Duration.ts
CHANGED
|
@@ -90,7 +90,7 @@ export type Unit =
|
|
|
90
90
|
* @since 2.0.0
|
|
91
91
|
* @category models
|
|
92
92
|
*/
|
|
93
|
-
export type
|
|
93
|
+
export type Input =
|
|
94
94
|
| Duration
|
|
95
95
|
| number // millis
|
|
96
96
|
| bigint // nanos
|
|
@@ -100,23 +100,23 @@ export type DurationInput =
|
|
|
100
100
|
const DURATION_REGEXP = /^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/
|
|
101
101
|
|
|
102
102
|
/**
|
|
103
|
-
* Decodes a `
|
|
103
|
+
* Decodes a `Duration.Input` into a `Duration`.
|
|
104
104
|
*
|
|
105
|
-
* If the input is not a valid `
|
|
105
|
+
* If the input is not a valid `Duration.Input`, it throws an error.
|
|
106
106
|
*
|
|
107
107
|
* @example
|
|
108
108
|
* ```ts
|
|
109
109
|
* import { Duration } from "effect"
|
|
110
110
|
*
|
|
111
|
-
* const duration1 = Duration.
|
|
112
|
-
* const duration2 = Duration.
|
|
113
|
-
* const duration3 = Duration.
|
|
111
|
+
* const duration1 = Duration.fromInputUnsafe(1000) // 1000 milliseconds
|
|
112
|
+
* const duration2 = Duration.fromInputUnsafe("5 seconds")
|
|
113
|
+
* const duration3 = Duration.fromInputUnsafe([2, 500_000_000]) // 2 seconds and 500ms
|
|
114
114
|
* ```
|
|
115
115
|
*
|
|
116
116
|
* @since 2.0.0
|
|
117
117
|
* @category constructors
|
|
118
118
|
*/
|
|
119
|
-
export const
|
|
119
|
+
export const fromInputUnsafe = (input: Input): Duration => {
|
|
120
120
|
if (isDuration(input)) return input
|
|
121
121
|
if (isNumber(input)) return millis(input)
|
|
122
122
|
if (isBigInt(input)) return nanos(input)
|
|
@@ -168,11 +168,11 @@ export const fromDurationInputUnsafe = (input: DurationInput): Duration => {
|
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
|
-
throw new Error(`Invalid
|
|
171
|
+
throw new Error(`Invalid Input: ${input}`)
|
|
172
172
|
}
|
|
173
173
|
|
|
174
174
|
/**
|
|
175
|
-
* Safely decodes a `
|
|
175
|
+
* Safely decodes a `Input` value into a `Duration`, returning
|
|
176
176
|
* `undefined` if decoding fails.
|
|
177
177
|
*
|
|
178
178
|
* **Example**
|
|
@@ -180,16 +180,16 @@ export const fromDurationInputUnsafe = (input: DurationInput): Duration => {
|
|
|
180
180
|
* ```ts
|
|
181
181
|
* import { Duration } from "effect"
|
|
182
182
|
*
|
|
183
|
-
* Duration.
|
|
183
|
+
* Duration.fromInput(1000)?.pipe(Duration.toSeconds) // 1
|
|
184
184
|
*
|
|
185
|
-
* Duration.
|
|
185
|
+
* Duration.fromInput("invalid" as any) // undefined
|
|
186
186
|
* ```
|
|
187
187
|
*
|
|
188
188
|
* @category constructors
|
|
189
189
|
* @since 4.0.0
|
|
190
190
|
*/
|
|
191
|
-
export const
|
|
192
|
-
|
|
191
|
+
export const fromInput: (u: Input) => Duration | undefined = UndefinedOr.liftThrowable(
|
|
192
|
+
fromInputUnsafe
|
|
193
193
|
)
|
|
194
194
|
|
|
195
195
|
const zeroDurationValue: DurationValue = { _tag: "Millis", millis: 0 }
|
|
@@ -611,8 +611,8 @@ export const weeks = (weeks: number): Duration => make(weeks * 604_800_000)
|
|
|
611
611
|
* @since 2.0.0
|
|
612
612
|
* @category getters
|
|
613
613
|
*/
|
|
614
|
-
export const toMillis = (self:
|
|
615
|
-
match(self, {
|
|
614
|
+
export const toMillis = (self: Input): number =>
|
|
615
|
+
match(fromInputUnsafe(self), {
|
|
616
616
|
onMillis: identity,
|
|
617
617
|
onNanos: (nanos) => Number(nanos) / 1_000_000,
|
|
618
618
|
onInfinity: () => Infinity,
|