effect 4.0.0-beta.5 → 4.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Cache.d.ts +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +1 -1
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +1 -1
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +6 -4
- package/dist/Channel.js.map +1 -1
- package/dist/Config.d.ts +3 -3
- package/dist/Config.js +3 -3
- package/dist/Config.js.map +1 -1
- package/dist/Data.d.ts +3 -2
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +9 -8
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +23 -161
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +6 -51
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +12 -12
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +12 -12
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +13 -239
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1 -119
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +194 -0
- package/dist/Encoding.d.ts.map +1 -0
- package/dist/Encoding.js +352 -0
- package/dist/Encoding.js.map +1 -0
- package/dist/Equal.js.map +1 -1
- package/dist/FileSystem.js +2 -2
- package/dist/FileSystem.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +229 -51
- package/dist/Formatter.js.map +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +2 -2
- package/dist/Graph.js.map +1 -1
- package/dist/JsonSchema.d.ts +299 -10
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +323 -4
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +109 -0
- package/dist/Latch.d.ts.map +1 -0
- package/dist/Latch.js +72 -0
- package/dist/Latch.js.map +1 -0
- package/dist/LayerMap.d.ts +4 -4
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LogLevel.d.ts +27 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +4 -4
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Metric.d.ts +2 -2
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +1 -1
- package/dist/Metric.js.map +1 -1
- package/dist/Pipeable.d.ts +17 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +19 -1
- package/dist/Pipeable.js.map +1 -1
- package/dist/Pool.d.ts +6 -4
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +7 -5
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts +3 -2
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +3 -2
- package/dist/PubSub.js.map +1 -1
- package/dist/Random.d.ts +1 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +3 -12
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +1 -1
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/Request.d.ts +1 -1
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +2 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +6 -26
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +0 -20
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Schedule.d.ts +22 -13
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +53 -25
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +196 -46
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +385 -71
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaGetter.d.ts +2 -2
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +12 -14
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +44 -43
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +5 -2
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +37 -0
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +80 -0
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +211 -0
- package/dist/Semaphore.d.ts.map +1 -0
- package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
- package/dist/Semaphore.js.map +1 -0
- package/dist/Stream.d.ts +19 -19
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +12 -11
- package/dist/Stream.js.map +1 -1
- package/dist/Struct.d.ts +16 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +22 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +2 -1
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +2 -1
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +2 -1
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +2 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Types.d.ts +8 -0
- package/dist/Types.d.ts.map +1 -1
- package/dist/index.d.ts +148 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +148 -5
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js +11 -3
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +3 -11
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +2 -2
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +3 -2
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/testing/TestClock.d.ts +7 -6
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +6 -4
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +6 -6
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +48 -48
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +3 -3
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +4 -3
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +2 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +51 -51
- package/dist/unstable/ai/McpServer.d.ts +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +20 -20
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Response.d.ts +26 -26
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +1 -1
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +5 -5
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +2 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +5 -4
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +5 -5
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +2 -1
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +3 -3
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +4 -3
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +8 -6
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +5 -4
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +2 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
- package/dist/unstable/encoding/Sse.d.ts +3 -3
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +2 -1
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +5 -5
- package/dist/unstable/http/Cookies.d.ts +2 -2
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +4 -4
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +11 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +8 -1
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +18 -26
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +4 -4
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +3 -3
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +2 -2
- package/dist/unstable/http/UrlParams.d.ts +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +2 -2
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +1 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +4 -4
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +2 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +12 -11
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +2 -2
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +1 -1
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +6 -0
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +6 -6
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +3 -3
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +1 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/index.d.ts +2 -2
- package/dist/unstable/reactivity/index.d.ts.map +1 -1
- package/dist/unstable/reactivity/index.js +2 -2
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +2 -2
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +5 -26
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +6 -13
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +5 -3
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +2 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +4 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +3 -2
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +3 -3
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +16 -5
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +17 -7
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/Statement.js +0 -1
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +2 -1
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +2 -2
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +2 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +2 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +1 -2
- package/src/Cache.ts +3 -3
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +6 -4
- package/src/Config.ts +3 -3
- package/src/Data.ts +10 -9
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +15 -15
- package/src/Effect.ts +15 -261
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +2 -2
- package/src/FileSystem.ts +4 -4
- package/src/Formatter.ts +253 -51
- package/src/Graph.ts +8 -5
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +112 -0
- package/src/LayerMap.ts +5 -5
- package/src/LogLevel.ts +31 -0
- package/src/Logger.ts +5 -5
- package/src/Metric.ts +4 -4
- package/src/Pipeable.ts +32 -1
- package/src/Pool.ts +13 -11
- package/src/PubSub.ts +10 -9
- package/src/Random.ts +5 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +9 -29
- package/src/Schedule.ts +261 -140
- package/src/Schema.ts +571 -109
- package/src/SchemaGetter.ts +12 -14
- package/src/SchemaRepresentation.ts +5 -2
- package/src/SchemaTransformation.ts +104 -0
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +356 -0
- package/src/Stream.ts +43 -42
- package/src/Struct.ts +26 -0
- package/src/SubscriptionRef.ts +3 -2
- package/src/SynchronizedRef.ts +3 -2
- package/src/Types.ts +9 -0
- package/src/index.ts +151 -6
- package/src/internal/core.ts +10 -2
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +24 -23
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +4 -3
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +8 -8
- package/src/unstable/ai/AiError.ts +2 -2
- package/src/unstable/ai/Chat.ts +12 -11
- package/src/unstable/ai/LanguageModel.ts +3 -3
- package/src/unstable/ai/McpServer.ts +2 -2
- package/src/unstable/ai/Prompt.ts +37 -37
- package/src/unstable/ai/Response.ts +25 -25
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +3 -2
- package/src/unstable/cluster/Entity.ts +7 -6
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/Envelope.ts +1 -1
- package/src/unstable/cluster/K8sHttpClient.ts +1 -1
- package/src/unstable/cluster/MessageStorage.ts +3 -5
- package/src/unstable/cluster/Runners.ts +6 -5
- package/src/unstable/cluster/Sharding.ts +11 -9
- package/src/unstable/cluster/ShardingConfig.ts +10 -11
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +9 -8
- package/src/unstable/cluster/internal/entityReaper.ts +2 -1
- package/src/unstable/cluster/internal/resourceRef.ts +2 -1
- package/src/unstable/encoding/Sse.ts +2 -4
- package/src/unstable/eventlog/EventLog.ts +2 -1
- package/src/unstable/http/Cookies.ts +3 -3
- package/src/unstable/http/HttpClient.ts +4 -4
- package/src/unstable/http/HttpClientRequest.ts +15 -11
- package/src/unstable/http/HttpEffect.ts +17 -25
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +1 -1
- package/src/unstable/httpapi/HttpApiBuilder.ts +2 -2
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +3 -3
- package/src/unstable/observability/OtlpLogger.ts +4 -4
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +4 -4
- package/src/unstable/persistence/KeyValueStore.ts +4 -4
- package/src/unstable/persistence/Persistable.ts +2 -2
- package/src/unstable/persistence/PersistedCache.ts +20 -9
- package/src/unstable/persistence/PersistedQueue.ts +25 -24
- package/src/unstable/persistence/Persistence.ts +3 -3
- package/src/unstable/persistence/RateLimiter.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +1 -1
- package/src/unstable/process/ChildProcessSpawner.ts +6 -0
- package/src/unstable/reactivity/Atom.ts +13 -13
- package/src/unstable/reactivity/AtomHttpApi.ts +3 -3
- package/src/unstable/reactivity/AtomRpc.ts +3 -3
- package/src/unstable/reactivity/index.ts +2 -2
- package/src/unstable/rpc/Rpc.ts +3 -3
- package/src/unstable/rpc/RpcClient.ts +12 -54
- package/src/unstable/rpc/RpcServer.ts +6 -4
- package/src/unstable/rpc/Utils.ts +2 -1
- package/src/unstable/socket/Socket.ts +7 -6
- package/src/unstable/sql/SqlModel.ts +5 -5
- package/src/unstable/sql/SqlSchema.ts +41 -25
- package/src/unstable/sql/Statement.ts +0 -1
- package/src/unstable/workers/Worker.ts +2 -1
- package/src/unstable/workflow/DurableClock.ts +8 -8
- package/src/unstable/workflow/DurableDeferred.ts +2 -2
- package/src/unstable/workflow/WorkflowEngine.ts +3 -2
- package/dist/PartitionedSemaphore.d.ts +0 -52
- package/dist/PartitionedSemaphore.d.ts.map +0 -1
- package/dist/PartitionedSemaphore.js.map +0 -1
- package/dist/encoding/Base64.d.ts +0 -67
- package/dist/encoding/Base64.d.ts.map +0 -1
- package/dist/encoding/Base64.js +0 -146
- package/dist/encoding/Base64.js.map +0 -1
- package/dist/encoding/Base64Url.d.ts +0 -60
- package/dist/encoding/Base64Url.d.ts.map +0 -1
- package/dist/encoding/Base64Url.js +0 -89
- package/dist/encoding/Base64Url.js.map +0 -1
- package/dist/encoding/EncodingError.d.ts +0 -31
- package/dist/encoding/EncodingError.d.ts.map +0 -1
- package/dist/encoding/EncodingError.js +0 -22
- package/dist/encoding/EncodingError.js.map +0 -1
- package/dist/encoding/Hex.d.ts +0 -61
- package/dist/encoding/Hex.d.ts.map +0 -1
- package/dist/encoding/Hex.js +0 -115
- package/dist/encoding/Hex.js.map +0 -1
- package/dist/encoding/index.d.ts +0 -26
- package/dist/encoding/index.d.ts.map +0 -1
- package/dist/encoding/index.js +0 -27
- package/dist/encoding/index.js.map +0 -1
- package/src/PartitionedSemaphore.ts +0 -182
- package/src/encoding/Base64.ts +0 -366
- package/src/encoding/Base64Url.ts +0 -104
- package/src/encoding/EncodingError.ts +0 -35
- package/src/encoding/Hex.ts +0 -390
- package/src/encoding/index.ts +0 -31
package/src/Equal.ts
CHANGED
|
@@ -269,7 +269,7 @@ function compareRecords(
|
|
|
269
269
|
|
|
270
270
|
/** @internal */
|
|
271
271
|
export function makeCompareMap<K, V>(keyEquivalence: Equivalence<K>, valueEquivalence: Equivalence<V>) {
|
|
272
|
-
return function compareMaps(self:
|
|
272
|
+
return function compareMaps(self: Iterable<[K, V]>, that: Iterable<[K, V]>): boolean {
|
|
273
273
|
for (const [selfKey, selfValue] of self) {
|
|
274
274
|
let found = false
|
|
275
275
|
for (const [thatKey, thatValue] of that) {
|
|
@@ -291,7 +291,7 @@ const compareMaps = makeCompareMap(compareBoth, compareBoth)
|
|
|
291
291
|
|
|
292
292
|
/** @internal */
|
|
293
293
|
export function makeCompareSet<A>(equivalence: Equivalence<A>) {
|
|
294
|
-
return function compareSets(self:
|
|
294
|
+
return function compareSets(self: Iterable<A>, that: Iterable<A>): boolean {
|
|
295
295
|
for (const selfValue of self) {
|
|
296
296
|
let found = false
|
|
297
297
|
for (const thatValue of that) {
|
package/src/FileSystem.ts
CHANGED
|
@@ -756,16 +756,16 @@ export const make = (
|
|
|
756
756
|
const bytesToRead = options?.bytesToRead !== undefined ? Size(options.bytesToRead) : undefined
|
|
757
757
|
let totalBytesRead = BigInt(0)
|
|
758
758
|
const chunkSize = Size(options?.chunkSize ?? 64 * 1024)
|
|
759
|
+
const readChunk = file.readAlloc(chunkSize)
|
|
759
760
|
return Stream.fromPull(Effect.succeed(
|
|
760
761
|
Effect.flatMap(
|
|
761
762
|
Effect.suspend((): Pull.Pull<Uint8Array | undefined, PlatformError> => {
|
|
762
763
|
if (bytesToRead !== undefined && bytesToRead <= totalBytesRead) {
|
|
763
764
|
return Cause.done()
|
|
764
765
|
}
|
|
765
|
-
|
|
766
|
-
? bytesToRead - totalBytesRead
|
|
767
|
-
:
|
|
768
|
-
return file.readAlloc(toRead)
|
|
766
|
+
return bytesToRead !== undefined && (bytesToRead - totalBytesRead) < chunkSize
|
|
767
|
+
? file.readAlloc(bytesToRead - totalBytesRead)
|
|
768
|
+
: readChunk
|
|
769
769
|
}),
|
|
770
770
|
(buf) => {
|
|
771
771
|
if (!buf) return Cause.done()
|
package/src/Formatter.ts
CHANGED
|
@@ -1,10 +1,85 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* Utilities for converting arbitrary JavaScript values into human-readable
|
|
3
|
+
* strings, with support for circular references, redaction, and common JS
|
|
4
|
+
* types that `JSON.stringify` handles poorly.
|
|
5
|
+
*
|
|
6
|
+
* Mental model:
|
|
7
|
+
* - A `Formatter<Value, Format>` is a callable `(value: Value) => Format`.
|
|
8
|
+
* - {@link format} is the general-purpose pretty-printer: it handles
|
|
9
|
+
* primitives, arrays, objects, `BigInt`, `Symbol`, `Date`, `RegExp`,
|
|
10
|
+
* `Set`, `Map`, class instances, and circular references.
|
|
11
|
+
* - {@link formatJson} is a safe `JSON.stringify` wrapper that silently
|
|
12
|
+
* drops circular references and applies redaction.
|
|
13
|
+
* - Both functions accept a `space` option for indentation control.
|
|
14
|
+
*
|
|
15
|
+
* Common tasks:
|
|
16
|
+
* - Pretty-print any value for debugging / logging -> {@link format}
|
|
17
|
+
* - Serialize to JSON safely (no circular throws) -> {@link formatJson}
|
|
18
|
+
* - Format a single object property key -> {@link formatPropertyKey}
|
|
19
|
+
* - Format a property path like `["a"]["b"]` -> {@link formatPath}
|
|
20
|
+
* - Format a `Date` to ISO string safely -> {@link formatDate}
|
|
21
|
+
*
|
|
22
|
+
* Gotchas:
|
|
23
|
+
* - {@link format} output is **not** valid JSON; use {@link formatJson} when
|
|
24
|
+
* you need parseable JSON.
|
|
25
|
+
* - {@link format} calls `toString()` on objects by default; pass
|
|
26
|
+
* `ignoreToString: true` to disable.
|
|
27
|
+
* - {@link formatJson} silently omits circular references (the key is
|
|
28
|
+
* dropped from the output).
|
|
29
|
+
* - Values implementing the `Redactable` protocol are automatically
|
|
30
|
+
* redacted by both {@link format} and {@link formatJson}.
|
|
31
|
+
*
|
|
32
|
+
* **Example** (Pretty-print a value)
|
|
33
|
+
*
|
|
34
|
+
* ```ts
|
|
35
|
+
* import { Formatter } from "effect"
|
|
36
|
+
*
|
|
37
|
+
* const obj = { name: "Alice", scores: [100, 97] }
|
|
38
|
+
* console.log(Formatter.format(obj))
|
|
39
|
+
* // {"name":"Alice","scores":[100,97]}
|
|
40
|
+
*
|
|
41
|
+
* console.log(Formatter.format(obj, { space: 2 }))
|
|
42
|
+
* // {
|
|
43
|
+
* // "name": "Alice",
|
|
44
|
+
* // "scores": [
|
|
45
|
+
* // 100,
|
|
46
|
+
* // 97
|
|
47
|
+
* // ]
|
|
48
|
+
* // }
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* See also: {@link Formatter}, {@link format}, {@link formatJson}
|
|
52
|
+
*
|
|
2
53
|
* @since 4.0.0
|
|
3
54
|
*/
|
|
4
55
|
import * as Predicate from "./Predicate.ts"
|
|
5
56
|
import { getRedacted, redact, symbolRedactable } from "./Redactable.ts"
|
|
6
57
|
|
|
7
58
|
/**
|
|
59
|
+
* A callable interface representing a function that converts a `Value` into a
|
|
60
|
+
* `Format` (defaults to `string`).
|
|
61
|
+
*
|
|
62
|
+
* When to use:
|
|
63
|
+
* - You want to type a formatting / rendering function generically.
|
|
64
|
+
* - You are building a pipeline that accepts pluggable formatters.
|
|
65
|
+
*
|
|
66
|
+
* Behavior:
|
|
67
|
+
* - Pure callable type; carries no runtime implementation.
|
|
68
|
+
* - Contravariant in `Value`, covariant in `Format`.
|
|
69
|
+
*
|
|
70
|
+
* **Example** (Define a custom formatter)
|
|
71
|
+
*
|
|
72
|
+
* ```ts
|
|
73
|
+
* import type { Formatter } from "effect"
|
|
74
|
+
*
|
|
75
|
+
* const upper: Formatter.Formatter<string> = (s) => s.toUpperCase()
|
|
76
|
+
*
|
|
77
|
+
* console.log(upper("hello"))
|
|
78
|
+
* // HELLO
|
|
79
|
+
* ```
|
|
80
|
+
*
|
|
81
|
+
* See also: {@link format}, {@link formatJson}
|
|
82
|
+
*
|
|
8
83
|
* @category Model
|
|
9
84
|
* @since 4.0.0
|
|
10
85
|
*/
|
|
@@ -15,31 +90,71 @@ export interface Formatter<in Value, out Format = string> {
|
|
|
15
90
|
/**
|
|
16
91
|
* Converts any JavaScript value into a human-readable string.
|
|
17
92
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* -
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* - Does not
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* - Primitives
|
|
30
|
-
*
|
|
31
|
-
* -
|
|
32
|
-
*
|
|
33
|
-
* -
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* -
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* -
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
93
|
+
* When to use:
|
|
94
|
+
* - Pretty-printing values for debugging, logging, or error messages.
|
|
95
|
+
* - You need to handle `BigInt`, `Symbol`, `Set`, `Map`, `Date`, `RegExp`,
|
|
96
|
+
* or class instances that `JSON.stringify` cannot represent.
|
|
97
|
+
* - You want circular references shown as `"[Circular]"` instead of
|
|
98
|
+
* throwing.
|
|
99
|
+
*
|
|
100
|
+
* Behavior:
|
|
101
|
+
* - Does not mutate input.
|
|
102
|
+
* - Output is **not** valid JSON; use {@link formatJson} when you need
|
|
103
|
+
* parseable JSON.
|
|
104
|
+
* - Primitives: stringified naturally (`null`, `undefined`, `123`, `true`).
|
|
105
|
+
* Strings are JSON-quoted.
|
|
106
|
+
* - Objects with a custom `toString` (not `Object.prototype.toString`):
|
|
107
|
+
* `toString()` is called unless `ignoreToString` is `true`.
|
|
108
|
+
* - Errors with a `cause`: formatted as `"<message> (cause: <cause>)"`.
|
|
109
|
+
* - Iterables (`Set`, `Map`, etc.): formatted as
|
|
110
|
+
* `ClassName([...elements])`.
|
|
111
|
+
* - Class instances: wrapped as `ClassName({...})`.
|
|
112
|
+
* - `Redactable` values are automatically redacted.
|
|
113
|
+
* - Arrays/objects with 0–1 entries are inline; larger ones are
|
|
114
|
+
* pretty-printed when `space` is set.
|
|
115
|
+
* - Circular references are replaced with `"[Circular]"`.
|
|
116
|
+
*
|
|
117
|
+
* Options:
|
|
118
|
+
* - `space` — indentation unit (number of spaces, or a string like
|
|
119
|
+
* `"\t"`). Defaults to `0` (compact).
|
|
120
|
+
* - `ignoreToString` — skip calling `toString()`. Defaults to `false`.
|
|
121
|
+
*
|
|
122
|
+
* **Example** (Compact output)
|
|
123
|
+
*
|
|
124
|
+
* ```ts
|
|
125
|
+
* import { Formatter } from "effect"
|
|
126
|
+
*
|
|
127
|
+
* console.log(Formatter.format({ a: 1, b: [2, 3] }))
|
|
128
|
+
* // {"a":1,"b":[2,3]}
|
|
129
|
+
* ```
|
|
130
|
+
*
|
|
131
|
+
* **Example** (Pretty-printed output)
|
|
132
|
+
*
|
|
133
|
+
* ```ts
|
|
134
|
+
* import { Formatter } from "effect"
|
|
135
|
+
*
|
|
136
|
+
* console.log(Formatter.format({ a: 1, b: [2, 3] }, { space: 2 }))
|
|
137
|
+
* // {
|
|
138
|
+
* // "a": 1,
|
|
139
|
+
* // "b": [
|
|
140
|
+
* // 2,
|
|
141
|
+
* // 3
|
|
142
|
+
* // ]
|
|
143
|
+
* // }
|
|
144
|
+
* ```
|
|
145
|
+
*
|
|
146
|
+
* **Example** (Circular reference handling)
|
|
147
|
+
*
|
|
148
|
+
* ```ts
|
|
149
|
+
* import { Formatter } from "effect"
|
|
150
|
+
*
|
|
151
|
+
* const obj: any = { name: "loop" }
|
|
152
|
+
* obj.self = obj
|
|
153
|
+
* console.log(Formatter.format(obj))
|
|
154
|
+
* // {"name":"loop","self":[Circular]}
|
|
155
|
+
* ```
|
|
156
|
+
*
|
|
157
|
+
* See also: {@link formatJson}, {@link Formatter}
|
|
43
158
|
*
|
|
44
159
|
* @since 4.0.0
|
|
45
160
|
*/
|
|
@@ -101,7 +216,7 @@ export function format(input: unknown, options?: {
|
|
|
101
216
|
|
|
102
217
|
if (typeof v === "bigint") return String(v) + "n"
|
|
103
218
|
|
|
104
|
-
if (
|
|
219
|
+
if (typeof v === "object" || typeof v === "function") {
|
|
105
220
|
if (seen.has(v)) return CIRCULAR
|
|
106
221
|
seen.add(v)
|
|
107
222
|
|
|
@@ -131,7 +246,29 @@ export function format(input: unknown, options?: {
|
|
|
131
246
|
const CIRCULAR = "[Circular]"
|
|
132
247
|
|
|
133
248
|
/**
|
|
134
|
-
*
|
|
249
|
+
* Formats a single property key for display.
|
|
250
|
+
*
|
|
251
|
+
* When to use:
|
|
252
|
+
* - You are building a custom formatter that needs to render object keys.
|
|
253
|
+
*
|
|
254
|
+
* Behavior:
|
|
255
|
+
* - String keys are JSON-quoted (e.g. `"foo"`).
|
|
256
|
+
* - Symbol and number keys are converted with `String()`.
|
|
257
|
+
* - Pure function; does not mutate input.
|
|
258
|
+
*
|
|
259
|
+
* **Example** (Format property keys)
|
|
260
|
+
*
|
|
261
|
+
* ```ts
|
|
262
|
+
* import { Formatter } from "effect"
|
|
263
|
+
*
|
|
264
|
+
* console.log(Formatter.formatPropertyKey("name"))
|
|
265
|
+
* // "name"
|
|
266
|
+
*
|
|
267
|
+
* console.log(Formatter.formatPropertyKey(Symbol.for("id")))
|
|
268
|
+
* // Symbol(id)
|
|
269
|
+
* ```
|
|
270
|
+
*
|
|
271
|
+
* See also: {@link formatPath}, {@link format}
|
|
135
272
|
*
|
|
136
273
|
* @internal
|
|
137
274
|
*/
|
|
@@ -140,7 +277,28 @@ export function formatPropertyKey(name: PropertyKey): string {
|
|
|
140
277
|
}
|
|
141
278
|
|
|
142
279
|
/**
|
|
143
|
-
*
|
|
280
|
+
* Formats an array of property keys as a bracket-notation path string.
|
|
281
|
+
*
|
|
282
|
+
* When to use:
|
|
283
|
+
* - You need to display a path through a nested object (e.g. in error
|
|
284
|
+
* messages or schema validation output).
|
|
285
|
+
*
|
|
286
|
+
* Behavior:
|
|
287
|
+
* - Each key is wrapped in brackets and formatted via
|
|
288
|
+
* {@link formatPropertyKey}.
|
|
289
|
+
* - Returns an empty string for an empty path.
|
|
290
|
+
* - Pure function; does not mutate input.
|
|
291
|
+
*
|
|
292
|
+
* **Example** (Render a property path)
|
|
293
|
+
*
|
|
294
|
+
* ```ts
|
|
295
|
+
* import { Formatter } from "effect"
|
|
296
|
+
*
|
|
297
|
+
* console.log(Formatter.formatPath(["users", 0, "name"]))
|
|
298
|
+
* // ["users"][0]["name"]
|
|
299
|
+
* ```
|
|
300
|
+
*
|
|
301
|
+
* See also: {@link formatPropertyKey}, {@link format}
|
|
144
302
|
*
|
|
145
303
|
* @internal
|
|
146
304
|
*/
|
|
@@ -149,7 +307,31 @@ export function formatPath(path: ReadonlyArray<PropertyKey>): string {
|
|
|
149
307
|
}
|
|
150
308
|
|
|
151
309
|
/**
|
|
152
|
-
*
|
|
310
|
+
* Formats a `Date` as an ISO 8601 string, returning `"Invalid Date"` for
|
|
311
|
+
* invalid dates instead of throwing.
|
|
312
|
+
*
|
|
313
|
+
* When to use:
|
|
314
|
+
* - You want a safe `toISOString()` that never throws.
|
|
315
|
+
*
|
|
316
|
+
* Behavior:
|
|
317
|
+
* - Returns `date.toISOString()` on success.
|
|
318
|
+
* - Returns `"Invalid Date"` if `toISOString()` throws (e.g. for
|
|
319
|
+
* `new Date(NaN)`).
|
|
320
|
+
* - Pure function; does not mutate input.
|
|
321
|
+
*
|
|
322
|
+
* **Example** (Safe date formatting)
|
|
323
|
+
*
|
|
324
|
+
* ```ts
|
|
325
|
+
* import { Formatter } from "effect"
|
|
326
|
+
*
|
|
327
|
+
* console.log(Formatter.formatDate(new Date("2024-01-15T10:30:00Z")))
|
|
328
|
+
* // 2024-01-15T10:30:00.000Z
|
|
329
|
+
*
|
|
330
|
+
* console.log(Formatter.formatDate(new Date("invalid")))
|
|
331
|
+
* // Invalid Date
|
|
332
|
+
* ```
|
|
333
|
+
*
|
|
334
|
+
* See also: {@link format}
|
|
153
335
|
*
|
|
154
336
|
* @internal
|
|
155
337
|
*/
|
|
@@ -171,42 +353,62 @@ function safeToString(input: any): string {
|
|
|
171
353
|
}
|
|
172
354
|
|
|
173
355
|
/**
|
|
174
|
-
* Safely stringifies
|
|
356
|
+
* Safely stringifies a value to JSON, silently dropping circular references.
|
|
357
|
+
*
|
|
358
|
+
* When to use:
|
|
359
|
+
* - You need valid JSON output (unlike {@link format}).
|
|
360
|
+
* - The input may contain circular references and you want them silently
|
|
361
|
+
* omitted rather than throwing a `TypeError`.
|
|
175
362
|
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
*
|
|
363
|
+
* Behavior:
|
|
364
|
+
* - Does not mutate input.
|
|
365
|
+
* - Uses `JSON.stringify` internally with a replacer that tracks seen
|
|
366
|
+
* objects.
|
|
367
|
+
* - Circular references are replaced with `undefined` (omitted from
|
|
368
|
+
* output).
|
|
369
|
+
* - `Redactable` values are automatically redacted before serialization.
|
|
370
|
+
* - Types not supported by JSON (`BigInt`, `Symbol`, `undefined`,
|
|
371
|
+
* functions) follow standard `JSON.stringify` behavior (omitted or
|
|
372
|
+
* `null` in arrays).
|
|
179
373
|
*
|
|
180
|
-
*
|
|
181
|
-
* - `space
|
|
182
|
-
*
|
|
183
|
-
*
|
|
184
|
-
*
|
|
185
|
-
* Defaults to `0`.
|
|
374
|
+
* Options:
|
|
375
|
+
* - `space` — indentation unit (number of spaces, or a string like
|
|
376
|
+
* `"\t"`). Defaults to `0` (compact).
|
|
377
|
+
*
|
|
378
|
+
* **Example** (Compact JSON)
|
|
186
379
|
*
|
|
187
|
-
* @example
|
|
188
380
|
* ```ts
|
|
189
|
-
* import {
|
|
381
|
+
* import { Formatter } from "effect"
|
|
190
382
|
*
|
|
191
|
-
*
|
|
192
|
-
* const simple = { name: "Alice", age: 30 }
|
|
193
|
-
* console.log(formatJson(simple))
|
|
383
|
+
* console.log(Formatter.formatJson({ name: "Alice", age: 30 }))
|
|
194
384
|
* // {"name":"Alice","age":30}
|
|
385
|
+
* ```
|
|
386
|
+
*
|
|
387
|
+
* **Example** (Circular reference handling)
|
|
388
|
+
*
|
|
389
|
+
* ```ts
|
|
390
|
+
* import { Formatter } from "effect"
|
|
195
391
|
*
|
|
196
|
-
*
|
|
197
|
-
*
|
|
198
|
-
*
|
|
199
|
-
*
|
|
200
|
-
*
|
|
392
|
+
* const obj: any = { name: "test" }
|
|
393
|
+
* obj.self = obj
|
|
394
|
+
* console.log(Formatter.formatJson(obj))
|
|
395
|
+
* // {"name":"test"}
|
|
396
|
+
* ```
|
|
397
|
+
*
|
|
398
|
+
* **Example** (Pretty-printed JSON)
|
|
201
399
|
*
|
|
202
|
-
*
|
|
203
|
-
*
|
|
400
|
+
* ```ts
|
|
401
|
+
* import { Formatter } from "effect"
|
|
402
|
+
*
|
|
403
|
+
* console.log(Formatter.formatJson({ name: "Alice", age: 30 }, { space: 2 }))
|
|
204
404
|
* // {
|
|
205
405
|
* // "name": "Alice",
|
|
206
406
|
* // "age": 30
|
|
207
407
|
* // }
|
|
208
408
|
* ```
|
|
209
409
|
*
|
|
410
|
+
* See also: {@link format}, {@link Formatter}
|
|
411
|
+
*
|
|
210
412
|
* @since 4.0.0
|
|
211
413
|
*/
|
|
212
414
|
export function formatJson(input: unknown, options?: {
|
package/src/Graph.ts
CHANGED
|
@@ -1200,11 +1200,14 @@ export const reverse = <N, E, T extends Kind = "directed">(
|
|
|
1200
1200
|
): void => {
|
|
1201
1201
|
// Reverse all edges by swapping source and target
|
|
1202
1202
|
for (const [index, edgeData] of mutable.edges) {
|
|
1203
|
-
mutable.edges.set(
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1203
|
+
mutable.edges.set(
|
|
1204
|
+
index,
|
|
1205
|
+
new Edge({
|
|
1206
|
+
source: edgeData.target,
|
|
1207
|
+
target: edgeData.source,
|
|
1208
|
+
data: edgeData.data
|
|
1209
|
+
})
|
|
1210
|
+
)
|
|
1208
1211
|
}
|
|
1209
1212
|
|
|
1210
1213
|
// Clear and rebuild adjacency lists with reversed directions
|