effect 4.0.0-beta.2 → 4.0.0-beta.21
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/Array.d.ts +127 -299
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +102 -62
- package/dist/Array.js.map +1 -1
- package/dist/Cache.d.ts +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +6 -5
- 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 +116 -30
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +82 -37
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +54 -247
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +36 -67
- package/dist/Chunk.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 +165 -9
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +62 -7
- 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 +829 -692
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +263 -251
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +194 -0
- package/dist/Encoding.d.ts.map +1 -0
- package/dist/Encoding.js +352 -0
- package/dist/Encoding.js.map +1 -0
- package/dist/Equal.d.ts +276 -109
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +124 -48
- package/dist/Equal.js.map +1 -1
- package/dist/ErrorReporter.d.ts +376 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +246 -0
- package/dist/ErrorReporter.js.map +1 -0
- package/dist/Fiber.d.ts +2 -2
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.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 -34
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +15 -13
- 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 +5 -8
- package/dist/Graph.js.map +1 -1
- package/dist/HashMap.d.ts +15 -14
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +4 -4
- package/dist/HashMap.js.map +1 -1
- package/dist/Iterable.d.ts +40 -39
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +94 -22
- package/dist/Iterable.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/Layer.d.ts +9 -9
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +4 -4
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LogLevel.d.ts +32 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +29 -95
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +2 -3
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +1 -1
- package/dist/ManagedRuntime.js +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/Option.d.ts +22 -15
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +14 -7
- package/dist/Option.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/Pull.d.ts.map +1 -1
- package/dist/Pull.js +1 -1
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +0 -1
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +35 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +46 -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/Record.d.ts +24 -120
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +21 -41
- package/dist/Record.js.map +1 -1
- package/dist/Reducer.d.ts +166 -7
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +135 -1
- package/dist/Reducer.js.map +1 -1
- package/dist/References.d.ts +3 -3
- package/dist/References.d.ts.map +1 -1
- package/dist/Request.d.ts +1 -1
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +2 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +6 -26
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +0 -20
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +12 -0
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +12 -0
- package/dist/Result.js.map +1 -1
- package/dist/Schedule.d.ts +47 -20
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +94 -34
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +266 -50
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +426 -74
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +7 -6
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +2 -2
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +12 -14
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaParser.d.ts +5 -0
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +10 -0
- package/dist/SchemaParser.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 +107 -3
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +159 -4
- 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/ServiceMap.d.ts +39 -30
- package/dist/ServiceMap.d.ts.map +1 -1
- package/dist/ServiceMap.js +3 -3
- package/dist/ServiceMap.js.map +1 -1
- package/dist/Sink.d.ts +13 -13
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +53 -6
- package/dist/Sink.js.map +1 -1
- package/dist/Stream.d.ts +235 -423
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +124 -77
- 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/Trie.d.ts +18 -17
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +5 -5
- package/dist/Trie.js.map +1 -1
- package/dist/TxChunk.d.ts +37 -37
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +3 -3
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +328 -0
- package/dist/TxDeferred.d.ts.map +1 -0
- package/dist/TxDeferred.js +196 -0
- package/dist/TxDeferred.js.map +1 -0
- package/dist/TxHashMap.d.ts +84 -83
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +24 -24
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +35 -35
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +14 -14
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +609 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -0
- package/dist/TxPriorityQueue.js +415 -0
- package/dist/TxPriorityQueue.js.map +1 -0
- package/dist/TxPubSub.d.ts +585 -0
- package/dist/TxPubSub.d.ts.map +1 -0
- package/dist/TxPubSub.js +521 -0
- package/dist/TxPubSub.js.map +1 -0
- package/dist/TxQueue.d.ts +32 -32
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +26 -26
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +523 -0
- package/dist/TxReentrantLock.d.ts.map +1 -0
- package/dist/TxReentrantLock.js +504 -0
- package/dist/TxReentrantLock.js.map +1 -0
- package/dist/TxRef.d.ts +34 -34
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +21 -14
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +8 -8
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +7 -7
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +508 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -0
- package/dist/TxSubscriptionRef.js +293 -0
- package/dist/TxSubscriptionRef.js.map +1 -0
- package/dist/Types.d.ts +84 -6
- package/dist/Types.d.ts.map +1 -1
- package/dist/index.d.ts +591 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +591 -20
- 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 +263 -99
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +5 -4
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +3 -2
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/request.js +2 -2
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schema/annotations.js +2 -0
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/schema.js +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/trie.js +5 -4
- package/dist/internal/trie.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 +8 -8
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +128 -48
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +11 -12
- package/dist/unstable/ai/AiError.js.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 +4 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +86 -14
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +163 -87
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +49 -12
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- 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 +35 -7
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +25 -7
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +22 -6
- package/dist/unstable/ai/Model.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/ai/Tool.d.ts +19 -3
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +14 -9
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +1 -1
- package/dist/unstable/ai/index.js +1 -1
- package/dist/unstable/cli/CliError.d.ts +5 -5
- package/dist/unstable/cli/CliOutput.js +59 -6
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +276 -19
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +234 -36
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
- package/dist/unstable/cli/GlobalFlag.js +118 -0
- package/dist/unstable/cli/GlobalFlag.js.map +1 -0
- package/dist/unstable/cli/HelpDoc.d.ts +70 -2
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/index.d.ts +4 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +4 -0
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +17 -8
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +32 -23
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js +7 -2
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
- package/dist/unstable/cli/internal/help.d.ts +33 -0
- package/dist/unstable/cli/internal/help.d.ts.map +1 -0
- package/dist/unstable/cli/internal/help.js +107 -0
- package/dist/unstable/cli/internal/help.js.map +1 -0
- package/dist/unstable/cli/internal/parser.js +29 -36
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +4 -3
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +7 -6
- 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 +4 -4
- 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 +9 -7
- 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 +20 -20
- 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 +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +2 -1
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
- package/dist/unstable/http/Cookies.d.ts +3 -3
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +27 -10
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +17 -2
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +28 -1
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +37 -13
- 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 +3 -8
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +42 -56
- 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 +8 -17
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +20 -33
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +37 -44
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
- package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +5 -5
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +2 -1
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +3 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +3 -3
- package/dist/unstable/http/UrlParams.d.ts +14 -6
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +1 -1
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
- package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js +10 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
- package/dist/unstable/httpapi/HttpApi.d.ts +3 -3
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +11 -5
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +23 -12
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +7 -2
- package/dist/unstable/httpapi/HttpApiClient.d.ts.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 +31 -44
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +15 -24
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +11 -0
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +29 -9
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +3 -3
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +4 -4
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.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/HttpApiSecurity.d.ts +2 -2
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +32 -21
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +1 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +7 -4
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +6 -6
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +2 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +12 -11
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +2 -2
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +5 -128
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +1 -65
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -7
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +21 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +10 -10
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +16 -13
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +8 -8
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +3 -3
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +24 -7
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +1 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +39 -0
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
- package/dist/unstable/reactivity/Hydration.js +76 -0
- package/dist/unstable/reactivity/Hydration.js.map +1 -0
- package/dist/unstable/reactivity/index.d.ts +4 -0
- package/dist/unstable/reactivity/index.d.ts.map +1 -1
- package/dist/unstable/reactivity/index.js +4 -0
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +4 -4
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js.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/RpcGroup.d.ts +2 -2
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +3 -3
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +14 -0
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +34 -9
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +0 -7
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +15 -15
- 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 +1 -1
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +3 -3
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +3 -3
- 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 +6 -5
- 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/SqlClient.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +14 -14
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js +9 -3
- package/dist/unstable/sql/SqlError.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 +3 -3
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +1 -1
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +12 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +137 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +2 -2
- package/src/Array.ts +190 -342
- package/src/Cache.ts +9 -8
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +554 -138
- package/src/Chunk.ts +81 -268
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +183 -21
- package/src/Data.ts +538 -374
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +15 -15
- package/src/Effect.ts +991 -800
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/ErrorReporter.ts +459 -0
- package/src/Fiber.ts +9 -2
- package/src/FileSystem.ts +7 -8
- package/src/Filter.ts +48 -58
- package/src/Formatter.ts +253 -51
- package/src/Graph.ts +24 -11
- package/src/HashMap.ts +15 -14
- package/src/Iterable.ts +105 -50
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +112 -0
- package/src/Layer.ts +11 -15
- package/src/LayerMap.ts +5 -5
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +33 -100
- package/src/ManagedRuntime.ts +1 -1
- package/src/Metric.ts +4 -4
- package/src/Optic.ts +948 -19
- package/src/Option.ts +30 -20
- 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/Pull.ts +1 -1
- package/src/Queue.ts +0 -1
- package/src/Random.ts +51 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Record.ts +43 -152
- package/src/Reducer.ts +166 -7
- package/src/References.ts +4 -4
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +9 -29
- package/src/Result.ts +13 -0
- package/src/Schedule.ts +318 -160
- package/src/Schema.ts +661 -116
- package/src/SchemaAST.ts +7 -6
- package/src/SchemaGetter.ts +12 -14
- package/src/SchemaParser.ts +11 -0
- package/src/SchemaRepresentation.ts +43 -24
- package/src/SchemaTransformation.ts +189 -4
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +356 -0
- package/src/ServiceMap.ts +47 -38
- package/src/Sink.ts +78 -26
- package/src/Stream.ts +566 -601
- package/src/Struct.ts +26 -0
- package/src/SubscriptionRef.ts +3 -2
- package/src/SynchronizedRef.ts +3 -2
- package/src/Trie.ts +18 -17
- package/src/TxChunk.ts +72 -53
- package/src/TxDeferred.ts +394 -0
- package/src/TxHashMap.ts +332 -285
- package/src/TxHashSet.ts +111 -116
- package/src/TxPriorityQueue.ts +767 -0
- package/src/TxPubSub.ts +789 -0
- package/src/TxQueue.ts +241 -251
- package/src/TxReentrantLock.ts +753 -0
- package/src/TxRef.ts +50 -38
- package/src/TxSemaphore.ts +29 -32
- package/src/TxSubscriptionRef.ts +639 -0
- package/src/Types.ts +78 -2
- package/src/index.ts +600 -21
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +744 -265
- package/src/internal/hashMap.ts +9 -7
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +4 -3
- package/src/internal/request.ts +2 -2
- package/src/internal/schema/annotations.ts +2 -0
- package/src/internal/schema/schema.ts +1 -0
- package/src/internal/trie.ts +16 -9
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +10 -10
- package/src/unstable/ai/AiError.ts +97 -44
- package/src/unstable/ai/Chat.ts +12 -11
- package/src/unstable/ai/LanguageModel.ts +129 -25
- package/src/unstable/ai/McpSchema.ts +59 -13
- package/src/unstable/ai/McpServer.ts +48 -9
- package/src/unstable/ai/Model.ts +40 -9
- package/src/unstable/ai/Prompt.ts +37 -37
- package/src/unstable/ai/Response.ts +25 -25
- package/src/unstable/ai/Tool.ts +19 -13
- package/src/unstable/ai/index.ts +1 -1
- package/src/unstable/cli/CliOutput.ts +75 -6
- package/src/unstable/cli/Command.ts +501 -60
- package/src/unstable/cli/GlobalFlag.ts +243 -0
- package/src/unstable/cli/HelpDoc.ts +80 -2
- package/src/unstable/cli/index.ts +5 -0
- package/src/unstable/cli/internal/command.ts +50 -34
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
- package/src/unstable/cli/internal/help.ts +146 -0
- package/src/unstable/cli/internal/parser.ts +33 -54
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -4
- package/src/unstable/cluster/Entity.ts +11 -10
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/Envelope.ts +1 -1
- package/src/unstable/cluster/K8sHttpClient.ts +5 -5
- package/src/unstable/cluster/MessageStorage.ts +3 -5
- package/src/unstable/cluster/Runners.ts +6 -5
- package/src/unstable/cluster/Sharding.ts +12 -10
- package/src/unstable/cluster/ShardingConfig.ts +30 -31
- 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 +3 -5
- package/src/unstable/eventlog/EventLog.ts +2 -1
- package/src/unstable/http/Cookies.ts +3 -3
- package/src/unstable/http/Headers.ts +28 -13
- package/src/unstable/http/HttpBody.ts +42 -1
- package/src/unstable/http/HttpClient.ts +58 -23
- package/src/unstable/http/HttpClientRequest.ts +38 -13
- package/src/unstable/http/HttpEffect.ts +46 -68
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +9 -24
- package/src/unstable/http/HttpServerError.ts +42 -45
- package/src/unstable/http/HttpServerRequest.ts +1 -1
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +4 -2
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +20 -5
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +5 -5
- package/src/unstable/httpapi/HttpApiBuilder.ts +77 -21
- package/src/unstable/httpapi/HttpApiClient.ts +14 -6
- package/src/unstable/httpapi/HttpApiEndpoint.ts +67 -83
- package/src/unstable/httpapi/HttpApiError.ts +30 -9
- package/src/unstable/httpapi/HttpApiGroup.ts +6 -6
- package/src/unstable/httpapi/HttpApiMiddleware.ts +4 -4
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
- package/src/unstable/httpapi/OpenApi.ts +41 -23
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +3 -3
- package/src/unstable/observability/OtlpLogger.ts +13 -9
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +4 -4
- package/src/unstable/persistence/KeyValueStore.ts +6 -6
- package/src/unstable/persistence/Persistable.ts +2 -2
- package/src/unstable/persistence/PersistedCache.ts +20 -9
- package/src/unstable/persistence/PersistedQueue.ts +25 -24
- package/src/unstable/persistence/Persistence.ts +3 -3
- package/src/unstable/persistence/RateLimiter.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +6 -208
- package/src/unstable/process/ChildProcessSpawner.ts +75 -14
- package/src/unstable/reactivity/Atom.ts +27 -25
- package/src/unstable/reactivity/AtomHttpApi.ts +21 -20
- package/src/unstable/reactivity/AtomRegistry.ts +31 -7
- 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 +6 -6
- package/src/unstable/rpc/RpcClient.ts +12 -54
- package/src/unstable/rpc/RpcGroup.ts +4 -4
- package/src/unstable/rpc/RpcMiddleware.ts +3 -3
- package/src/unstable/rpc/RpcSchema.ts +17 -0
- package/src/unstable/rpc/RpcSerialization.ts +44 -9
- package/src/unstable/rpc/RpcServer.ts +21 -30
- package/src/unstable/rpc/Utils.ts +2 -1
- package/src/unstable/schema/VariantSchema.ts +6 -6
- package/src/unstable/socket/Socket.ts +16 -17
- package/src/unstable/sql/SqlClient.ts +1 -1
- package/src/unstable/sql/SqlError.ts +11 -9
- 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/Workflow.ts +6 -2
- package/src/unstable/workflow/WorkflowEngine.ts +185 -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/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
- package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.js +0 -44
- package/dist/unstable/cli/internal/builtInFlags.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/unstable/cli/internal/builtInFlags.ts +0 -78
package/dist/Filter.js
CHANGED
|
@@ -3,19 +3,6 @@ import { dual } from "./Function.js";
|
|
|
3
3
|
import * as Option from "./Option.js";
|
|
4
4
|
import * as Predicate from "./Predicate.js";
|
|
5
5
|
import * as Result from "./Result.js";
|
|
6
|
-
/**
|
|
7
|
-
* Applies a filter, predicate, or refinement to an input and returns a boxed
|
|
8
|
-
* result. Extra arguments are forwarded to the function.
|
|
9
|
-
*
|
|
10
|
-
* @since 4.0.0
|
|
11
|
-
* @category Apply
|
|
12
|
-
*/
|
|
13
|
-
export const apply = (filter, input, ...args) => {
|
|
14
|
-
const result = filter(input, ...args);
|
|
15
|
-
if (result === true) return Result.succeed(input);
|
|
16
|
-
if (result === false) return Result.fail(input);
|
|
17
|
-
return result;
|
|
18
|
-
};
|
|
19
6
|
// -------------------------------------------------------------------------------------
|
|
20
7
|
// Constructors
|
|
21
8
|
// -------------------------------------------------------------------------------------
|
|
@@ -214,6 +201,21 @@ export const tagged = function () {
|
|
|
214
201
|
return arguments.length === 0 ? taggedImpl : taggedImpl(arguments[0]);
|
|
215
202
|
};
|
|
216
203
|
const taggedImpl = tag => input => Predicate.isTagged(input, tag) ? Result.succeed(input) : Result.fail(input);
|
|
204
|
+
/**
|
|
205
|
+
* Creates a filter that extracts a reason from a tagged error.
|
|
206
|
+
*
|
|
207
|
+
* @since 4.0.0
|
|
208
|
+
* @category Constructors
|
|
209
|
+
*/
|
|
210
|
+
export const reason = function () {
|
|
211
|
+
return arguments.length === 0 ? reasonImpl : reasonImpl(arguments[0], arguments[1]);
|
|
212
|
+
};
|
|
213
|
+
const reasonImpl = (tag, reasonTag) => input => {
|
|
214
|
+
if (Predicate.isTagged(input, tag) && Predicate.hasProperty(input, "reason") && Predicate.isTagged(input.reason, reasonTag)) {
|
|
215
|
+
return Result.succeed(input.reason);
|
|
216
|
+
}
|
|
217
|
+
return Result.fail(input);
|
|
218
|
+
};
|
|
217
219
|
/**
|
|
218
220
|
* Creates a filter that only passes values equal to the specified value using structural equality.
|
|
219
221
|
*
|
package/dist/Filter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filter.js","names":["Equal","dual","Option","Predicate","Result","
|
|
1
|
+
{"version":3,"file":"Filter.js","names":["Equal","dual","Option","Predicate","Result","make","f","makeEffect","mapFail","self","input","mapError","try_","succeed","fail","try","fromPredicate","predicate","fromPredicateOption","o","_tag","value","toPredicate","isFailure","string","isString","equalsStrict","u","has","key","instanceOf","constructor","number","isNumber","boolean","isBoolean","bigint","isBigInt","symbol","isSymbol","date","isDate","tagged","arguments","length","taggedImpl","tag","isTagged","reason","reasonImpl","reasonTag","hasProperty","equals","or","that","selfResult","isSuccess","zipWith","left","right","leftResult","rightResult","success","zip","andLeft","andRight","_","compose","leftOut","composePassthrough","rightOut","toOption","result","none","some","toResult","failure"],"sources":["../src/Filter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/Formatter.d.ts
CHANGED
|
@@ -1,4 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* A callable interface representing a function that converts a `Value` into a
|
|
3
|
+
* `Format` (defaults to `string`).
|
|
4
|
+
*
|
|
5
|
+
* When to use:
|
|
6
|
+
* - You want to type a formatting / rendering function generically.
|
|
7
|
+
* - You are building a pipeline that accepts pluggable formatters.
|
|
8
|
+
*
|
|
9
|
+
* Behavior:
|
|
10
|
+
* - Pure callable type; carries no runtime implementation.
|
|
11
|
+
* - Contravariant in `Value`, covariant in `Format`.
|
|
12
|
+
*
|
|
13
|
+
* **Example** (Define a custom formatter)
|
|
14
|
+
*
|
|
15
|
+
* ```ts
|
|
16
|
+
* import type { Formatter } from "effect"
|
|
17
|
+
*
|
|
18
|
+
* const upper: Formatter.Formatter<string> = (s) => s.toUpperCase()
|
|
19
|
+
*
|
|
20
|
+
* console.log(upper("hello"))
|
|
21
|
+
* // HELLO
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* See also: {@link format}, {@link formatJson}
|
|
25
|
+
*
|
|
2
26
|
* @category Model
|
|
3
27
|
* @since 4.0.0
|
|
4
28
|
*/
|
|
@@ -8,31 +32,71 @@ export interface Formatter<in Value, out Format = string> {
|
|
|
8
32
|
/**
|
|
9
33
|
* Converts any JavaScript value into a human-readable string.
|
|
10
34
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* -
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* - Does not
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* - Primitives
|
|
23
|
-
*
|
|
24
|
-
* -
|
|
25
|
-
*
|
|
26
|
-
* -
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* -
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* -
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
35
|
+
* When to use:
|
|
36
|
+
* - Pretty-printing values for debugging, logging, or error messages.
|
|
37
|
+
* - You need to handle `BigInt`, `Symbol`, `Set`, `Map`, `Date`, `RegExp`,
|
|
38
|
+
* or class instances that `JSON.stringify` cannot represent.
|
|
39
|
+
* - You want circular references shown as `"[Circular]"` instead of
|
|
40
|
+
* throwing.
|
|
41
|
+
*
|
|
42
|
+
* Behavior:
|
|
43
|
+
* - Does not mutate input.
|
|
44
|
+
* - Output is **not** valid JSON; use {@link formatJson} when you need
|
|
45
|
+
* parseable JSON.
|
|
46
|
+
* - Primitives: stringified naturally (`null`, `undefined`, `123`, `true`).
|
|
47
|
+
* Strings are JSON-quoted.
|
|
48
|
+
* - Objects with a custom `toString` (not `Object.prototype.toString`):
|
|
49
|
+
* `toString()` is called unless `ignoreToString` is `true`.
|
|
50
|
+
* - Errors with a `cause`: formatted as `"<message> (cause: <cause>)"`.
|
|
51
|
+
* - Iterables (`Set`, `Map`, etc.): formatted as
|
|
52
|
+
* `ClassName([...elements])`.
|
|
53
|
+
* - Class instances: wrapped as `ClassName({...})`.
|
|
54
|
+
* - `Redactable` values are automatically redacted.
|
|
55
|
+
* - Arrays/objects with 0–1 entries are inline; larger ones are
|
|
56
|
+
* pretty-printed when `space` is set.
|
|
57
|
+
* - Circular references are replaced with `"[Circular]"`.
|
|
58
|
+
*
|
|
59
|
+
* Options:
|
|
60
|
+
* - `space` — indentation unit (number of spaces, or a string like
|
|
61
|
+
* `"\t"`). Defaults to `0` (compact).
|
|
62
|
+
* - `ignoreToString` — skip calling `toString()`. Defaults to `false`.
|
|
63
|
+
*
|
|
64
|
+
* **Example** (Compact output)
|
|
65
|
+
*
|
|
66
|
+
* ```ts
|
|
67
|
+
* import { Formatter } from "effect"
|
|
68
|
+
*
|
|
69
|
+
* console.log(Formatter.format({ a: 1, b: [2, 3] }))
|
|
70
|
+
* // {"a":1,"b":[2,3]}
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* **Example** (Pretty-printed output)
|
|
74
|
+
*
|
|
75
|
+
* ```ts
|
|
76
|
+
* import { Formatter } from "effect"
|
|
77
|
+
*
|
|
78
|
+
* console.log(Formatter.format({ a: 1, b: [2, 3] }, { space: 2 }))
|
|
79
|
+
* // {
|
|
80
|
+
* // "a": 1,
|
|
81
|
+
* // "b": [
|
|
82
|
+
* // 2,
|
|
83
|
+
* // 3
|
|
84
|
+
* // ]
|
|
85
|
+
* // }
|
|
86
|
+
* ```
|
|
87
|
+
*
|
|
88
|
+
* **Example** (Circular reference handling)
|
|
89
|
+
*
|
|
90
|
+
* ```ts
|
|
91
|
+
* import { Formatter } from "effect"
|
|
92
|
+
*
|
|
93
|
+
* const obj: any = { name: "loop" }
|
|
94
|
+
* obj.self = obj
|
|
95
|
+
* console.log(Formatter.format(obj))
|
|
96
|
+
* // {"name":"loop","self":[Circular]}
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* See also: {@link formatJson}, {@link Formatter}
|
|
36
100
|
*
|
|
37
101
|
* @since 4.0.0
|
|
38
102
|
*/
|
|
@@ -41,42 +105,62 @@ export declare function format(input: unknown, options?: {
|
|
|
41
105
|
readonly ignoreToString?: boolean | undefined;
|
|
42
106
|
}): string;
|
|
43
107
|
/**
|
|
44
|
-
* Safely stringifies
|
|
108
|
+
* Safely stringifies a value to JSON, silently dropping circular references.
|
|
109
|
+
*
|
|
110
|
+
* When to use:
|
|
111
|
+
* - You need valid JSON output (unlike {@link format}).
|
|
112
|
+
* - The input may contain circular references and you want them silently
|
|
113
|
+
* omitted rather than throwing a `TypeError`.
|
|
45
114
|
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
115
|
+
* Behavior:
|
|
116
|
+
* - Does not mutate input.
|
|
117
|
+
* - Uses `JSON.stringify` internally with a replacer that tracks seen
|
|
118
|
+
* objects.
|
|
119
|
+
* - Circular references are replaced with `undefined` (omitted from
|
|
120
|
+
* output).
|
|
121
|
+
* - `Redactable` values are automatically redacted before serialization.
|
|
122
|
+
* - Types not supported by JSON (`BigInt`, `Symbol`, `undefined`,
|
|
123
|
+
* functions) follow standard `JSON.stringify` behavior (omitted or
|
|
124
|
+
* `null` in arrays).
|
|
49
125
|
*
|
|
50
|
-
*
|
|
51
|
-
* - `space
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* Defaults to `0`.
|
|
126
|
+
* Options:
|
|
127
|
+
* - `space` — indentation unit (number of spaces, or a string like
|
|
128
|
+
* `"\t"`). Defaults to `0` (compact).
|
|
129
|
+
*
|
|
130
|
+
* **Example** (Compact JSON)
|
|
56
131
|
*
|
|
57
|
-
* @example
|
|
58
132
|
* ```ts
|
|
59
|
-
* import {
|
|
133
|
+
* import { Formatter } from "effect"
|
|
60
134
|
*
|
|
61
|
-
*
|
|
62
|
-
* const simple = { name: "Alice", age: 30 }
|
|
63
|
-
* console.log(formatJson(simple))
|
|
135
|
+
* console.log(Formatter.formatJson({ name: "Alice", age: 30 }))
|
|
64
136
|
* // {"name":"Alice","age":30}
|
|
137
|
+
* ```
|
|
138
|
+
*
|
|
139
|
+
* **Example** (Circular reference handling)
|
|
140
|
+
*
|
|
141
|
+
* ```ts
|
|
142
|
+
* import { Formatter } from "effect"
|
|
65
143
|
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
144
|
+
* const obj: any = { name: "test" }
|
|
145
|
+
* obj.self = obj
|
|
146
|
+
* console.log(Formatter.formatJson(obj))
|
|
147
|
+
* // {"name":"test"}
|
|
148
|
+
* ```
|
|
149
|
+
*
|
|
150
|
+
* **Example** (Pretty-printed JSON)
|
|
71
151
|
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
152
|
+
* ```ts
|
|
153
|
+
* import { Formatter } from "effect"
|
|
154
|
+
*
|
|
155
|
+
* console.log(Formatter.formatJson({ name: "Alice", age: 30 }, { space: 2 }))
|
|
74
156
|
* // {
|
|
75
157
|
* // "name": "Alice",
|
|
76
158
|
* // "age": 30
|
|
77
159
|
* // }
|
|
78
160
|
* ```
|
|
79
161
|
*
|
|
162
|
+
* See also: {@link format}, {@link Formatter}
|
|
163
|
+
*
|
|
80
164
|
* @since 4.0.0
|
|
81
165
|
*/
|
|
82
166
|
export declare function formatJson(input: unknown, options?: {
|
package/dist/Formatter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Formatter.d.ts","sourceRoot":"","sources":["../src/Formatter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Formatter.d.ts","sourceRoot":"","sources":["../src/Formatter.ts"],"names":[],"mappings":"AAyDA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM;IACtD,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9C,GAAG,MAAM,CAgFT;AA+GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;IACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAC7C,GAAG,MAAM,CAcT"}
|
package/dist/Formatter.js
CHANGED
|
@@ -1,4 +1,55 @@
|
|
|
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.js";
|
|
@@ -6,31 +57,71 @@ import { getRedacted, redact, symbolRedactable } from "./Redactable.js";
|
|
|
6
57
|
/**
|
|
7
58
|
* Converts any JavaScript value into a human-readable string.
|
|
8
59
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* -
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* - Does not
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* - Primitives
|
|
21
|
-
*
|
|
22
|
-
* -
|
|
23
|
-
*
|
|
24
|
-
* -
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* -
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* -
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
60
|
+
* When to use:
|
|
61
|
+
* - Pretty-printing values for debugging, logging, or error messages.
|
|
62
|
+
* - You need to handle `BigInt`, `Symbol`, `Set`, `Map`, `Date`, `RegExp`,
|
|
63
|
+
* or class instances that `JSON.stringify` cannot represent.
|
|
64
|
+
* - You want circular references shown as `"[Circular]"` instead of
|
|
65
|
+
* throwing.
|
|
66
|
+
*
|
|
67
|
+
* Behavior:
|
|
68
|
+
* - Does not mutate input.
|
|
69
|
+
* - Output is **not** valid JSON; use {@link formatJson} when you need
|
|
70
|
+
* parseable JSON.
|
|
71
|
+
* - Primitives: stringified naturally (`null`, `undefined`, `123`, `true`).
|
|
72
|
+
* Strings are JSON-quoted.
|
|
73
|
+
* - Objects with a custom `toString` (not `Object.prototype.toString`):
|
|
74
|
+
* `toString()` is called unless `ignoreToString` is `true`.
|
|
75
|
+
* - Errors with a `cause`: formatted as `"<message> (cause: <cause>)"`.
|
|
76
|
+
* - Iterables (`Set`, `Map`, etc.): formatted as
|
|
77
|
+
* `ClassName([...elements])`.
|
|
78
|
+
* - Class instances: wrapped as `ClassName({...})`.
|
|
79
|
+
* - `Redactable` values are automatically redacted.
|
|
80
|
+
* - Arrays/objects with 0–1 entries are inline; larger ones are
|
|
81
|
+
* pretty-printed when `space` is set.
|
|
82
|
+
* - Circular references are replaced with `"[Circular]"`.
|
|
83
|
+
*
|
|
84
|
+
* Options:
|
|
85
|
+
* - `space` — indentation unit (number of spaces, or a string like
|
|
86
|
+
* `"\t"`). Defaults to `0` (compact).
|
|
87
|
+
* - `ignoreToString` — skip calling `toString()`. Defaults to `false`.
|
|
88
|
+
*
|
|
89
|
+
* **Example** (Compact output)
|
|
90
|
+
*
|
|
91
|
+
* ```ts
|
|
92
|
+
* import { Formatter } from "effect"
|
|
93
|
+
*
|
|
94
|
+
* console.log(Formatter.format({ a: 1, b: [2, 3] }))
|
|
95
|
+
* // {"a":1,"b":[2,3]}
|
|
96
|
+
* ```
|
|
97
|
+
*
|
|
98
|
+
* **Example** (Pretty-printed output)
|
|
99
|
+
*
|
|
100
|
+
* ```ts
|
|
101
|
+
* import { Formatter } from "effect"
|
|
102
|
+
*
|
|
103
|
+
* console.log(Formatter.format({ a: 1, b: [2, 3] }, { space: 2 }))
|
|
104
|
+
* // {
|
|
105
|
+
* // "a": 1,
|
|
106
|
+
* // "b": [
|
|
107
|
+
* // 2,
|
|
108
|
+
* // 3
|
|
109
|
+
* // ]
|
|
110
|
+
* // }
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
* **Example** (Circular reference handling)
|
|
114
|
+
*
|
|
115
|
+
* ```ts
|
|
116
|
+
* import { Formatter } from "effect"
|
|
117
|
+
*
|
|
118
|
+
* const obj: any = { name: "loop" }
|
|
119
|
+
* obj.self = obj
|
|
120
|
+
* console.log(Formatter.format(obj))
|
|
121
|
+
* // {"name":"loop","self":[Circular]}
|
|
122
|
+
* ```
|
|
123
|
+
*
|
|
124
|
+
* See also: {@link formatJson}, {@link Formatter}
|
|
34
125
|
*
|
|
35
126
|
* @since 4.0.0
|
|
36
127
|
*/
|
|
@@ -69,7 +160,7 @@ export function format(input, options) {
|
|
|
69
160
|
if (typeof v === "string") return JSON.stringify(v);
|
|
70
161
|
if (typeof v === "number" || v == null || typeof v === "boolean" || typeof v === "symbol") return String(v);
|
|
71
162
|
if (typeof v === "bigint") return String(v) + "n";
|
|
72
|
-
if (
|
|
163
|
+
if (typeof v === "object" || typeof v === "function") {
|
|
73
164
|
if (seen.has(v)) return CIRCULAR;
|
|
74
165
|
seen.add(v);
|
|
75
166
|
if (symbolRedactable in v) return format(getRedacted(v));
|
|
@@ -90,7 +181,29 @@ export function format(input, options) {
|
|
|
90
181
|
}
|
|
91
182
|
const CIRCULAR = "[Circular]";
|
|
92
183
|
/**
|
|
93
|
-
*
|
|
184
|
+
* Formats a single property key for display.
|
|
185
|
+
*
|
|
186
|
+
* When to use:
|
|
187
|
+
* - You are building a custom formatter that needs to render object keys.
|
|
188
|
+
*
|
|
189
|
+
* Behavior:
|
|
190
|
+
* - String keys are JSON-quoted (e.g. `"foo"`).
|
|
191
|
+
* - Symbol and number keys are converted with `String()`.
|
|
192
|
+
* - Pure function; does not mutate input.
|
|
193
|
+
*
|
|
194
|
+
* **Example** (Format property keys)
|
|
195
|
+
*
|
|
196
|
+
* ```ts
|
|
197
|
+
* import { Formatter } from "effect"
|
|
198
|
+
*
|
|
199
|
+
* console.log(Formatter.formatPropertyKey("name"))
|
|
200
|
+
* // "name"
|
|
201
|
+
*
|
|
202
|
+
* console.log(Formatter.formatPropertyKey(Symbol.for("id")))
|
|
203
|
+
* // Symbol(id)
|
|
204
|
+
* ```
|
|
205
|
+
*
|
|
206
|
+
* See also: {@link formatPath}, {@link format}
|
|
94
207
|
*
|
|
95
208
|
* @internal
|
|
96
209
|
*/
|
|
@@ -98,7 +211,28 @@ export function formatPropertyKey(name) {
|
|
|
98
211
|
return typeof name === "string" ? JSON.stringify(name) : String(name);
|
|
99
212
|
}
|
|
100
213
|
/**
|
|
101
|
-
*
|
|
214
|
+
* Formats an array of property keys as a bracket-notation path string.
|
|
215
|
+
*
|
|
216
|
+
* When to use:
|
|
217
|
+
* - You need to display a path through a nested object (e.g. in error
|
|
218
|
+
* messages or schema validation output).
|
|
219
|
+
*
|
|
220
|
+
* Behavior:
|
|
221
|
+
* - Each key is wrapped in brackets and formatted via
|
|
222
|
+
* {@link formatPropertyKey}.
|
|
223
|
+
* - Returns an empty string for an empty path.
|
|
224
|
+
* - Pure function; does not mutate input.
|
|
225
|
+
*
|
|
226
|
+
* **Example** (Render a property path)
|
|
227
|
+
*
|
|
228
|
+
* ```ts
|
|
229
|
+
* import { Formatter } from "effect"
|
|
230
|
+
*
|
|
231
|
+
* console.log(Formatter.formatPath(["users", 0, "name"]))
|
|
232
|
+
* // ["users"][0]["name"]
|
|
233
|
+
* ```
|
|
234
|
+
*
|
|
235
|
+
* See also: {@link formatPropertyKey}, {@link format}
|
|
102
236
|
*
|
|
103
237
|
* @internal
|
|
104
238
|
*/
|
|
@@ -106,7 +240,31 @@ export function formatPath(path) {
|
|
|
106
240
|
return path.map(key => `[${formatPropertyKey(key)}]`).join("");
|
|
107
241
|
}
|
|
108
242
|
/**
|
|
109
|
-
*
|
|
243
|
+
* Formats a `Date` as an ISO 8601 string, returning `"Invalid Date"` for
|
|
244
|
+
* invalid dates instead of throwing.
|
|
245
|
+
*
|
|
246
|
+
* When to use:
|
|
247
|
+
* - You want a safe `toISOString()` that never throws.
|
|
248
|
+
*
|
|
249
|
+
* Behavior:
|
|
250
|
+
* - Returns `date.toISOString()` on success.
|
|
251
|
+
* - Returns `"Invalid Date"` if `toISOString()` throws (e.g. for
|
|
252
|
+
* `new Date(NaN)`).
|
|
253
|
+
* - Pure function; does not mutate input.
|
|
254
|
+
*
|
|
255
|
+
* **Example** (Safe date formatting)
|
|
256
|
+
*
|
|
257
|
+
* ```ts
|
|
258
|
+
* import { Formatter } from "effect"
|
|
259
|
+
*
|
|
260
|
+
* console.log(Formatter.formatDate(new Date("2024-01-15T10:30:00Z")))
|
|
261
|
+
* // 2024-01-15T10:30:00.000Z
|
|
262
|
+
*
|
|
263
|
+
* console.log(Formatter.formatDate(new Date("invalid")))
|
|
264
|
+
* // Invalid Date
|
|
265
|
+
* ```
|
|
266
|
+
*
|
|
267
|
+
* See also: {@link format}
|
|
110
268
|
*
|
|
111
269
|
* @internal
|
|
112
270
|
*/
|
|
@@ -126,42 +284,62 @@ function safeToString(input) {
|
|
|
126
284
|
}
|
|
127
285
|
}
|
|
128
286
|
/**
|
|
129
|
-
* Safely stringifies
|
|
287
|
+
* Safely stringifies a value to JSON, silently dropping circular references.
|
|
288
|
+
*
|
|
289
|
+
* When to use:
|
|
290
|
+
* - You need valid JSON output (unlike {@link format}).
|
|
291
|
+
* - The input may contain circular references and you want them silently
|
|
292
|
+
* omitted rather than throwing a `TypeError`.
|
|
130
293
|
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
294
|
+
* Behavior:
|
|
295
|
+
* - Does not mutate input.
|
|
296
|
+
* - Uses `JSON.stringify` internally with a replacer that tracks seen
|
|
297
|
+
* objects.
|
|
298
|
+
* - Circular references are replaced with `undefined` (omitted from
|
|
299
|
+
* output).
|
|
300
|
+
* - `Redactable` values are automatically redacted before serialization.
|
|
301
|
+
* - Types not supported by JSON (`BigInt`, `Symbol`, `undefined`,
|
|
302
|
+
* functions) follow standard `JSON.stringify` behavior (omitted or
|
|
303
|
+
* `null` in arrays).
|
|
134
304
|
*
|
|
135
|
-
*
|
|
136
|
-
* - `space
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
* Defaults to `0`.
|
|
305
|
+
* Options:
|
|
306
|
+
* - `space` — indentation unit (number of spaces, or a string like
|
|
307
|
+
* `"\t"`). Defaults to `0` (compact).
|
|
308
|
+
*
|
|
309
|
+
* **Example** (Compact JSON)
|
|
141
310
|
*
|
|
142
|
-
* @example
|
|
143
311
|
* ```ts
|
|
144
|
-
* import {
|
|
312
|
+
* import { Formatter } from "effect"
|
|
145
313
|
*
|
|
146
|
-
*
|
|
147
|
-
* const simple = { name: "Alice", age: 30 }
|
|
148
|
-
* console.log(formatJson(simple))
|
|
314
|
+
* console.log(Formatter.formatJson({ name: "Alice", age: 30 }))
|
|
149
315
|
* // {"name":"Alice","age":30}
|
|
316
|
+
* ```
|
|
150
317
|
*
|
|
151
|
-
*
|
|
152
|
-
* const circular: any = { name: "test" }
|
|
153
|
-
* circular.self = circular
|
|
154
|
-
* console.log(formatJson(circular))
|
|
155
|
-
* // {"name":"test"} (circular reference omitted)
|
|
318
|
+
* **Example** (Circular reference handling)
|
|
156
319
|
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
320
|
+
* ```ts
|
|
321
|
+
* import { Formatter } from "effect"
|
|
322
|
+
*
|
|
323
|
+
* const obj: any = { name: "test" }
|
|
324
|
+
* obj.self = obj
|
|
325
|
+
* console.log(Formatter.formatJson(obj))
|
|
326
|
+
* // {"name":"test"}
|
|
327
|
+
* ```
|
|
328
|
+
*
|
|
329
|
+
* **Example** (Pretty-printed JSON)
|
|
330
|
+
*
|
|
331
|
+
* ```ts
|
|
332
|
+
* import { Formatter } from "effect"
|
|
333
|
+
*
|
|
334
|
+
* console.log(Formatter.formatJson({ name: "Alice", age: 30 }, { space: 2 }))
|
|
159
335
|
* // {
|
|
160
336
|
* // "name": "Alice",
|
|
161
337
|
* // "age": 30
|
|
162
338
|
* // }
|
|
163
339
|
* ```
|
|
164
340
|
*
|
|
341
|
+
* See also: {@link format}, {@link Formatter}
|
|
342
|
+
*
|
|
165
343
|
* @since 4.0.0
|
|
166
344
|
*/
|
|
167
345
|
export function formatJson(input, options) {
|