effect 4.0.0-rc.111 → 4.0.0-rc.113
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/AGENTS.md +24 -9
- package/CLAUDE.md +24 -9
- package/ai-docs/package.json +2 -2
- package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +18 -5
- package/ai-docs/src/01_effect/01_basics/index.md +5 -3
- package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +1 -1
- package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +2 -2
- package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +2 -2
- package/ai-docs/src/03_stream/30_encoding.ts +5 -7
- package/ai-docs/src/08_observability/10_logging.ts +1 -1
- package/ai-docs/src/70_cli/10_basics.ts +7 -7
- package/ai-docs/src/71_ai/10_language-model.ts +2 -2
- package/ai-docs/src/71_ai/20_tools.ts +1 -1
- package/ai-docs/src/71_ai/30_chat.ts +1 -1
- package/dist/Array.d.ts +109 -52
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +65 -32
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +5 -1
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +40 -23
- package/dist/BigDecimal.js.map +1 -1
- package/dist/ByteSize.d.ts +633 -0
- package/dist/ByteSize.d.ts.map +1 -0
- package/dist/ByteSize.js +524 -0
- package/dist/ByteSize.js.map +1 -0
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +17 -3
- 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 +97 -24
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +68 -41
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +49 -28
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +27 -18
- package/dist/Chunk.js.map +1 -1
- package/dist/Config.d.ts +162 -201
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +103 -212
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +4 -4
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +7 -7
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Context.d.ts +31 -0
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +2 -2
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +2 -2
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +1 -1
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +3 -2
- package/dist/Crypto.js.map +1 -1
- package/dist/DateTime.d.ts +2 -2
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +6 -6
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +1 -1
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +1 -1
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +220 -113
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +27 -26
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.d.ts +58 -2
- package/dist/Effectable.d.ts.map +1 -1
- package/dist/Effectable.js +58 -6
- package/dist/Effectable.js.map +1 -1
- package/dist/Encoding.d.ts +3 -1
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +40 -10
- package/dist/Encoding.js.map +1 -1
- package/dist/Equal.d.ts +1 -1
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +1 -1
- package/dist/Equal.js.map +1 -1
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +1 -0
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Fiber.d.ts +32 -8
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.js +3 -3
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +12 -6
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +11 -6
- package/dist/FiberMap.js.map +1 -1
- package/dist/FileSystem.d.ts +42 -210
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +16 -148
- package/dist/FileSystem.js.map +1 -1
- package/dist/Formatter.d.ts +1 -0
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +19 -3
- package/dist/Formatter.js.map +1 -1
- package/dist/Graph.d.ts +48 -20
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +20 -5
- package/dist/Graph.js.map +1 -1
- package/dist/Hash.d.ts +1 -1
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +5 -14
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +1 -1
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashRing.d.ts +6 -1
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +9 -2
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +1 -1
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js.map +1 -1
- package/dist/Iterable.d.ts +56 -17
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +65 -45
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.js +4 -4
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +68 -4
- package/dist/JsonPointer.d.ts.map +1 -1
- package/dist/JsonPointer.js +90 -4
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +67 -94
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +752 -397
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Layer.d.ts +47 -4
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +4 -6
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +24 -3
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +9 -5
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +7 -5
- package/dist/LayerRef.js.map +1 -1
- package/dist/Logger.d.ts +114 -9
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +109 -9
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.js +1 -1
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +43 -31
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +5 -2
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +11 -4
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +14 -18
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +1 -1
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +1 -1
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +1 -1
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +1 -1
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +13 -2
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +18 -2
- package/dist/MutableList.js.map +1 -1
- package/dist/Number.d.ts +6 -0
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +3 -1
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +5 -4
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +1 -1
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +1 -1
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +1 -0
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +3 -1
- package/dist/Order.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +1 -2
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +1 -1
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +1 -1
- package/dist/Path.js.map +1 -1
- package/dist/PlatformError.d.ts +1 -1
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +1 -1
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +137 -10
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +332 -75
- package/dist/Pool.js.map +1 -1
- package/dist/PrimaryKey.d.ts +1 -1
- package/dist/PrimaryKey.d.ts.map +1 -1
- package/dist/PrimaryKey.js +1 -1
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +21 -9
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +18 -14
- package/dist/PubSub.js.map +1 -1
- package/dist/Queue.d.ts +82 -6
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +116 -27
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +17 -4
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +1 -1
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +137 -0
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +72 -9
- package/dist/RcMap.js.map +1 -1
- package/dist/Record.d.ts +13 -0
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js.map +1 -1
- package/dist/Redacted.d.ts +1 -1
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +1 -1
- package/dist/Redacted.js.map +1 -1
- package/dist/RequestResolver.d.ts +15 -9
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +33 -15
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +1 -1
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +1 -1
- package/dist/Result.js.map +1 -1
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +19 -10
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +2200 -2433
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +2797 -4184
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +359 -176
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +373 -630
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +46 -22
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +56 -53
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +123 -200
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +59 -263
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.js +2 -9
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +1276 -172
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +1371 -29
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +49 -16
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +75 -98
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +9 -2
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +10 -3
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Sink.d.ts +9 -4
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +49 -31
- package/dist/Sink.js.map +1 -1
- package/dist/StandardSchema.d.ts +125 -0
- package/dist/StandardSchema.d.ts.map +1 -0
- package/dist/StandardSchema.js +9 -0
- package/dist/StandardSchema.js.map +1 -0
- package/dist/Stream.d.ts +221 -35
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +168 -84
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +16 -6
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +12 -5
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +7 -4
- package/dist/Struct.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +3 -2
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Terminal.d.ts +3 -3
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +3 -3
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +27 -7
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +38 -13
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +1 -1
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Tuple.d.ts +2 -1
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +1 -1
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +1 -1
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +1 -1
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +1 -1
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +1 -1
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +1 -1
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +1 -1
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +1 -1
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +1 -1
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +1 -1
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +1 -1
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +1 -1
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +9 -9
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +93 -86
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +29 -1
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +29 -1
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +1 -1
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +1 -1
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +1 -1
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +1 -1
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +1 -1
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +1 -1
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +33 -19
- package/dist/Types.d.ts.map +1 -1
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +2 -1
- package/dist/Utils.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/arbitrary/model.d.ts +2 -0
- package/dist/internal/arbitrary/model.d.ts.map +1 -0
- package/dist/internal/arbitrary/model.js +495 -0
- package/dist/internal/arbitrary/model.js.map +1 -0
- package/dist/internal/arbitrary/regexp.d.ts +2 -0
- package/dist/internal/arbitrary/regexp.d.ts.map +1 -0
- package/dist/internal/arbitrary/regexp.js +789 -0
- package/dist/internal/arbitrary/regexp.js.map +1 -0
- package/dist/internal/arbitrary/runner.d.ts +2 -0
- package/dist/internal/arbitrary/runner.d.ts.map +1 -0
- package/dist/internal/arbitrary/runner.js +496 -0
- package/dist/internal/arbitrary/runner.js.map +1 -0
- package/dist/internal/arbitrary/schema.d.ts.map +1 -0
- package/dist/internal/arbitrary/schema.js +1340 -0
- package/dist/internal/arbitrary/schema.js.map +1 -0
- package/dist/internal/core.js +27 -13
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/count.d.ts +2 -0
- package/dist/internal/count.d.ts.map +1 -0
- package/dist/internal/count.js +14 -0
- package/dist/internal/count.js.map +1 -0
- package/dist/internal/dateTime.js +4 -10
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +416 -258
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/graph.js +3 -1
- package/dist/internal/graph.js.map +1 -1
- package/dist/internal/hashMap.js +5 -3
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/hashSet.js +1 -1
- package/dist/internal/hashSet.js.map +1 -1
- package/dist/internal/matcher.js +1 -1
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/metric.js +1 -1
- package/dist/internal/metric.js.map +1 -1
- package/dist/internal/option.js +6 -5
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/random.js +17 -0
- package/dist/internal/random.js.map +1 -1
- package/dist/internal/rcRef.js +10 -7
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/references.js +1 -0
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/request.js +13 -6
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/result.js +11 -9
- package/dist/internal/result.js.map +1 -1
- package/dist/internal/schema/annotations.js +1 -1
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +238 -132
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/fromRepresentation.js +5 -5
- package/dist/internal/schema/fromRepresentation.js.map +1 -1
- package/dist/internal/schema/make.d.ts +2 -0
- package/dist/internal/schema/make.d.ts.map +1 -0
- package/dist/internal/schema/{schema.js → make.js} +1 -25
- package/dist/internal/schema/make.js.map +1 -0
- package/dist/internal/schema/parser.d.ts +0 -12
- package/dist/internal/schema/parser.d.ts.map +1 -1
- package/dist/internal/schema/parser.js +7 -0
- package/dist/internal/schema/parser.js.map +1 -1
- package/dist/internal/schema/standardSchema.d.ts +2 -0
- package/dist/internal/schema/standardSchema.d.ts.map +1 -0
- package/dist/internal/schema/standardSchema.js +112 -0
- package/dist/internal/schema/standardSchema.js.map +1 -0
- package/dist/internal/schema/toCodeDocument.js +34 -22
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toCodec.d.ts +2 -0
- package/dist/internal/schema/toCodec.d.ts.map +1 -0
- package/dist/internal/schema/toCodec.js +242 -0
- package/dist/internal/schema/toCodec.js.map +1 -0
- package/dist/internal/schema/toDifferJsonPatch.d.ts +2 -0
- package/dist/internal/schema/toDifferJsonPatch.d.ts.map +1 -0
- package/dist/internal/schema/toDifferJsonPatch.js +20 -0
- package/dist/internal/schema/toDifferJsonPatch.js.map +1 -0
- package/dist/internal/schema/toEncoderXml.d.ts +2 -0
- package/dist/internal/schema/toEncoderXml.d.ts.map +1 -0
- package/dist/internal/schema/toEncoderXml.js +104 -0
- package/dist/internal/schema/toEncoderXml.js.map +1 -0
- package/dist/internal/schema/toEquivalence.js +66 -0
- package/dist/internal/schema/toEquivalence.js.map +1 -1
- package/dist/internal/schema/toFormatter.d.ts +2 -0
- package/dist/internal/schema/toFormatter.d.ts.map +1 -0
- package/dist/internal/schema/toFormatter.js +227 -0
- package/dist/internal/schema/toFormatter.js.map +1 -0
- package/dist/internal/schema/toIso.d.ts +2 -0
- package/dist/internal/schema/toIso.d.ts.map +1 -0
- package/dist/internal/schema/toIso.js +17 -0
- package/dist/internal/schema/toIso.js.map +1 -0
- package/dist/internal/schema/toJsonSchemaDocument.js +122 -71
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toRepresentation.js +3 -1
- package/dist/internal/schema/toRepresentation.js.map +1 -1
- package/dist/internal/schemaError.d.ts +4 -0
- package/dist/internal/schemaError.d.ts.map +1 -0
- package/dist/internal/schemaError.js +6 -0
- package/dist/internal/schemaError.js.map +1 -0
- package/dist/internal/stream.js +5 -6
- package/dist/internal/stream.js.map +1 -1
- package/dist/internal/tracer.d.ts +1 -3
- package/dist/internal/tracer.d.ts.map +1 -1
- package/dist/internal/tracer.js +6 -0
- package/dist/internal/tracer.js.map +1 -1
- package/dist/internal/trie.js +2 -2
- package/dist/internal/trie.js.map +1 -1
- package/dist/internal/uuid.d.ts +1 -2
- package/dist/internal/uuid.d.ts.map +1 -1
- package/dist/internal/uuid.js +2 -0
- package/dist/internal/uuid.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +9 -11
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +20 -18
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.d.ts +0 -4
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +0 -4
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +98 -23
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +98 -6
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +5 -16
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +27 -32
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +10 -13
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +23 -16
- package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.js +13 -11
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +48 -37
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +150 -47
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +2 -2
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +87 -78
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +3 -14
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +2 -2
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +15 -4
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +37 -94
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +46 -96
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +4 -5
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +38 -20
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +27 -1
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +1 -1
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +30 -18
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js +2 -2
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/ai/internal/structured-output.js +28 -5
- package/dist/unstable/ai/internal/structured-output.js.map +1 -1
- package/dist/unstable/arbitrary/Arbitrary.d.ts +626 -0
- package/dist/unstable/arbitrary/Arbitrary.d.ts.map +1 -0
- package/dist/unstable/arbitrary/Arbitrary.js +238 -0
- package/dist/unstable/arbitrary/Arbitrary.js.map +1 -0
- package/dist/unstable/arbitrary/index.d.ts +8 -0
- package/dist/unstable/arbitrary/index.d.ts.map +1 -0
- package/dist/unstable/arbitrary/index.js +9 -0
- package/dist/unstable/arbitrary/index.js.map +1 -0
- package/dist/unstable/cli/Argument.d.ts +104 -108
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +56 -57
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +2 -0
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +2 -0
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.js +27 -4
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +73 -73
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +22 -22
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.d.ts +4 -4
- package/dist/unstable/cli/Completions.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +150 -161
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +79 -90
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +3 -3
- package/dist/unstable/cli/GlobalFlag.js +13 -13
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/Param.d.ts +118 -126
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +104 -113
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +69 -58
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +65 -66
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.d.ts +113 -59
- package/dist/unstable/cli/Prompt.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.js +391 -327
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/internal/completions/bash.js +109 -38
- package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
- package/dist/unstable/cli/internal/completions/descriptor.js +23 -11
- package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/unstable/cli/internal/completions/fish.js +15 -7
- package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
- package/dist/unstable/cli/internal/completions/zsh.js +6 -4
- package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
- package/dist/unstable/cli/internal/config.js +4 -4
- package/dist/unstable/cli/internal/parser.js +1 -1
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cli/internal/wizard.d.ts +5 -1
- package/dist/unstable/cli/internal/wizard.d.ts.map +1 -1
- package/dist/unstable/cli/internal/wizard.js +34 -26
- package/dist/unstable/cli/internal/wizard.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +13 -0
- package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.js +16 -1
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +57 -14
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +2 -0
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.d.ts +2 -2
- package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +22 -5
- package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.js +23 -3
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/HttpRunner.js +32 -13
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +17 -5
- package/dist/unstable/cluster/Message.d.ts.map +1 -1
- package/dist/unstable/cluster/Message.js +21 -8
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +34 -4
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +33 -12
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +5 -4
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +21 -12
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +12 -6
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +11 -5
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +56 -35
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +1 -1
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +32 -17
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +23 -23
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SocketRunner.d.ts +2 -2
- package/dist/unstable/cluster/SocketRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/SocketRunner.js +4 -3
- package/dist/unstable/cluster/SocketRunner.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +11 -8
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +11 -4
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/clusterAbandon.d.ts +5 -0
- package/dist/unstable/cluster/internal/clusterAbandon.d.ts.map +1 -0
- package/dist/unstable/cluster/internal/clusterAbandon.js +9 -0
- package/dist/unstable/cluster/internal/clusterAbandon.js.map +1 -0
- package/dist/unstable/cluster/internal/entityManager.js +10 -6
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/interruptors.js +30 -1
- package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +12 -7
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +12 -7
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/encoding/Ini.d.ts +2 -0
- package/dist/unstable/encoding/Ini.d.ts.map +1 -1
- package/dist/unstable/encoding/Ini.js +2 -0
- package/dist/unstable/encoding/Ini.js.map +1 -1
- package/dist/unstable/encoding/SchemaBinary.d.ts +273 -0
- package/dist/unstable/encoding/SchemaBinary.d.ts.map +1 -0
- package/dist/unstable/encoding/SchemaBinary.js +4573 -0
- package/dist/unstable/encoding/SchemaBinary.js.map +1 -0
- package/dist/unstable/encoding/Sse.js +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/encoding/Toml.d.ts +2 -0
- package/dist/unstable/encoding/Toml.d.ts.map +1 -1
- package/dist/unstable/encoding/Toml.js +6 -4
- package/dist/unstable/encoding/Toml.js.map +1 -1
- package/dist/unstable/encoding/Yaml.d.ts +2 -0
- package/dist/unstable/encoding/Yaml.d.ts.map +1 -1
- package/dist/unstable/encoding/Yaml.js +16 -5
- package/dist/unstable/encoding/Yaml.js.map +1 -1
- package/dist/unstable/encoding/index.d.ts +2 -2
- package/dist/unstable/encoding/index.d.ts.map +1 -1
- package/dist/unstable/encoding/index.js +2 -2
- package/dist/unstable/encoding/index.js.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts +5 -5
- package/dist/unstable/eventlog/Event.d.ts.map +1 -1
- package/dist/unstable/eventlog/Event.js +3 -3
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +15 -9
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +26 -12
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +13 -9
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +11 -5
- package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.js +25 -15
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +7 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js +13 -3
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +2 -2
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.d.ts +0 -10
- package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.js +29 -14
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +5 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +1 -45
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -64
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js +1 -1
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/FindMyWay/internal/router.js +124 -33
- package/dist/unstable/http/FindMyWay/internal/router.js.map +1 -1
- package/dist/unstable/http/FindMyWay.d.ts +15 -5
- package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
- package/dist/unstable/http/FindMyWay.js +3 -1
- package/dist/unstable/http/FindMyWay.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +0 -22
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +3 -34
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +41 -10
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +64 -10
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +1 -1
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +28 -18
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +28 -6
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +8 -19
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +6 -1
- package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientResponse.js +10 -6
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +16 -0
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +121 -65
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts +3 -3
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js +1 -13
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +29 -21
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +12 -11
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +36 -10
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +5 -1
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +22 -8
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +11 -42
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.js +16 -20
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +11 -11
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +1 -1
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +9 -13
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +34 -44
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +2 -2
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpStaticServer.js +19 -19
- package/dist/unstable/http/HttpStaticServer.js.map +1 -1
- package/dist/unstable/http/Mime.d.ts +28 -0
- package/dist/unstable/http/Mime.d.ts.map +1 -0
- package/dist/unstable/http/Mime.js +72 -0
- package/dist/unstable/http/Mime.js.map +1 -0
- package/dist/unstable/http/Multipart.d.ts +22 -9
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +26 -10
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/MultipartParser/internal/multipart.d.ts +1 -1
- package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -1
- package/dist/unstable/http/MultipartParser/internal/multipart.js +8 -3
- package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -1
- package/dist/unstable/http/MultipartParser.d.ts +4 -3
- package/dist/unstable/http/MultipartParser.d.ts.map +1 -1
- package/dist/unstable/http/MultipartParser.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +0 -97
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +3 -104
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.d.ts +4 -0
- package/dist/unstable/http/index.d.ts.map +1 -1
- package/dist/unstable/http/index.js +4 -0
- package/dist/unstable/http/index.js.map +1 -1
- package/dist/unstable/http/internal/compression.js +8 -11
- package/dist/unstable/http/internal/compression.js.map +1 -1
- package/dist/unstable/http/internal/headers.d.ts +2 -0
- package/dist/unstable/http/internal/headers.d.ts.map +1 -0
- package/dist/unstable/http/internal/headers.js +5 -0
- package/dist/unstable/http/internal/headers.js.map +1 -0
- package/dist/unstable/http/internal/httpBody.js +8 -0
- package/dist/unstable/http/internal/httpBody.js.map +1 -1
- package/dist/unstable/http/internal/mimeTypes.d.ts +361 -0
- package/dist/unstable/http/internal/mimeTypes.d.ts.map +1 -0
- package/dist/unstable/http/internal/mimeTypes.js +363 -0
- package/dist/unstable/http/internal/mimeTypes.js.map +1 -0
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +13 -0
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +28 -11
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -3
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +25 -13
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +8 -3
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +9 -6
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +3 -1
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +7 -5
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js +15 -12
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +12 -0
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +8 -10
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.js +6 -3
- package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.js +8 -2
- package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +31 -20
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/net/IpInterface.d.ts +140 -0
- package/dist/unstable/net/IpInterface.d.ts.map +1 -0
- package/dist/unstable/net/IpInterface.js +149 -0
- package/dist/unstable/net/IpInterface.js.map +1 -0
- package/dist/unstable/net/IpNetwork.d.ts +227 -0
- package/dist/unstable/net/IpNetwork.d.ts.map +1 -0
- package/dist/unstable/net/IpNetwork.js +239 -0
- package/dist/unstable/net/IpNetwork.js.map +1 -0
- package/dist/unstable/net/NetAddress.d.ts +705 -0
- package/dist/unstable/net/NetAddress.d.ts.map +1 -0
- package/dist/unstable/net/NetAddress.js +956 -0
- package/dist/unstable/net/NetAddress.js.map +1 -0
- package/dist/unstable/net/index.d.ts +16 -0
- package/dist/unstable/net/index.d.ts.map +1 -0
- package/dist/unstable/net/index.js +17 -0
- package/dist/unstable/net/index.js.map +1 -0
- package/dist/unstable/observability/OtlpExporter.d.ts +1 -0
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +4 -6
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +9 -9
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +9 -8
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.js +2 -2
- package/dist/unstable/observability/OtlpResource.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js +82 -55
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.d.ts +1 -1
- package/dist/unstable/observability/internal/otlpEnv.d.ts.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js +5 -9
- package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +1 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +114 -14
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +799 -234
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +28 -15
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +33 -41
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +8 -2
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +7 -2
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +6 -3
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +3 -6
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +6 -3
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +2 -3
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +2 -2
- 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 +6 -4
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
- package/dist/unstable/reactivity/Hydration.js +20 -6
- package/dist/unstable/reactivity/Hydration.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.d.ts +26 -26
- package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js +10 -12
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +5 -0
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +94 -81
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.d.ts +1 -1
- package/dist/unstable/rpc/RpcMessage.d.ts +66 -7
- package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMessage.js +68 -9
- package/dist/unstable/rpc/RpcMessage.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js +7 -5
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +28 -33
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +56 -92
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +25 -0
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +125 -68
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +7 -6
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +3 -0
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +287 -102
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +408 -215
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +5 -32
- package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
- package/dist/unstable/socket/SocketServer.js +3 -3
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +20 -0
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +14 -7
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.d.ts +15 -0
- package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +1 -1
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +13 -5
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +29 -15
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Transferable.js +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +3 -1
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +7 -0
- package/dist/unstable/workflow/Activity.d.ts.map +1 -1
- package/dist/unstable/workflow/Activity.js +14 -4
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +1 -1
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +2 -2
- package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +8 -0
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +8 -0
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +5 -0
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +70 -12
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +6 -0
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +11 -0
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.d.ts +2 -2
- package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.js +4 -2
- package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
- package/package.json +8 -10
- package/src/Array.ts +142 -70
- package/src/BigDecimal.ts +50 -28
- package/src/ByteSize.ts +838 -0
- package/src/Cache.ts +17 -3
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +185 -50
- package/src/Chunk.ts +65 -36
- package/src/Config.ts +237 -248
- package/src/ConfigProvider.ts +7 -8
- package/src/Context.ts +31 -0
- package/src/Cron.ts +2 -2
- package/src/Crypto.ts +3 -2
- package/src/Deferred.ts +7 -6
- package/src/Duration.ts +1 -1
- package/src/Effect.ts +226 -122
- package/src/Effectable.ts +78 -9
- package/src/Encoding.ts +101 -11
- package/src/Equal.ts +1 -1
- package/src/ExecutionPlan.ts +3 -0
- package/src/Fiber.ts +33 -8
- package/src/FiberHandle.ts +3 -3
- package/src/FiberMap.ts +19 -10
- package/src/FileSystem.ts +55 -230
- package/src/Formatter.ts +21 -3
- package/src/Graph.ts +55 -25
- package/src/Hash.ts +5 -16
- package/src/HashRing.ts +9 -2
- package/src/HashSet.ts +56 -0
- package/src/Iterable.ts +90 -44
- package/src/JsonPatch.ts +4 -4
- package/src/JsonPointer.ts +97 -4
- package/src/JsonSchema.ts +998 -476
- package/src/Layer.ts +59 -18
- package/src/LayerMap.ts +38 -6
- package/src/LayerRef.ts +7 -5
- package/src/Logger.ts +125 -18
- package/src/ManagedRuntime.ts +1 -1
- package/src/Match.ts +33 -14
- package/src/Metric.ts +24 -21
- package/src/MutableHashMap.ts +1 -1
- package/src/MutableHashSet.ts +1 -1
- package/src/MutableList.ts +18 -2
- package/src/Number.ts +7 -1
- package/src/Optic.ts +8 -4
- package/src/Option.ts +1 -1
- package/src/Order.ts +3 -1
- package/src/PartitionedSemaphore.ts +1 -2
- package/src/Path.ts +1 -1
- package/src/PlatformError.ts +1 -1
- package/src/Pool.ts +535 -134
- package/src/PrimaryKey.ts +1 -1
- package/src/PubSub.ts +32 -20
- package/src/Queue.ts +119 -28
- package/src/Random.ts +20 -6
- package/src/RcMap.ts +176 -13
- package/src/Record.ts +15 -0
- package/src/Redacted.ts +1 -1
- package/src/RequestResolver.ts +49 -26
- package/src/Result.ts +1 -1
- package/src/Scheduler.ts +21 -11
- package/src/Schema.ts +5032 -6518
- package/src/SchemaAST.ts +1156 -316
- package/src/SchemaGetter.ts +75 -21
- package/src/SchemaIssue.ts +260 -16
- package/src/SchemaParser.ts +2 -12
- package/src/SchemaRepresentation.ts +1774 -189
- package/src/SchemaTransformation.ts +145 -22
- package/src/Scope.ts +9 -2
- package/src/ScopedCache.ts +10 -3
- package/src/Sink.ts +31 -15
- package/src/StandardSchema.ts +207 -0
- package/src/Stream.ts +294 -76
- package/src/String.ts +20 -9
- package/src/Struct.ts +8 -4
- package/src/SynchronizedRef.ts +3 -5
- package/src/Terminal.ts +3 -3
- package/src/Tracer.ts +43 -14
- package/src/Tuple.ts +3 -1
- package/src/TxChunk.ts +1 -1
- package/src/TxDeferred.ts +1 -1
- package/src/TxHashMap.ts +1 -1
- package/src/TxHashSet.ts +92 -11
- package/src/TxPriorityQueue.ts +1 -1
- package/src/TxPubSub.ts +1 -1
- package/src/TxQueue.ts +22 -17
- package/src/TxReentrantLock.ts +29 -1
- package/src/TxRef.ts +1 -1
- package/src/TxSemaphore.ts +1 -1
- package/src/TxSubscriptionRef.ts +1 -1
- package/src/Types.ts +40 -17
- package/src/Utils.ts +3 -1
- package/src/index.ts +10 -0
- package/src/internal/arbitrary/model.ts +701 -0
- package/src/internal/arbitrary/regexp.ts +855 -0
- package/src/internal/arbitrary/runner.ts +608 -0
- package/src/internal/arbitrary/schema.ts +1800 -0
- package/src/internal/core.ts +48 -22
- package/src/internal/count.ts +14 -0
- package/src/internal/dateTime.ts +8 -10
- package/src/internal/effect.ts +510 -301
- package/src/internal/graph.ts +6 -1
- package/src/internal/hashMap.ts +5 -3
- package/src/internal/hashSet.ts +1 -1
- package/src/internal/matcher.ts +34 -19
- package/src/internal/metric.ts +1 -1
- package/src/internal/option.ts +8 -6
- package/src/internal/random.ts +20 -7
- package/src/internal/rcRef.ts +10 -7
- package/src/internal/references.ts +1 -0
- package/src/internal/request.ts +12 -7
- package/src/internal/result.ts +15 -11
- package/src/internal/schema/annotations.ts +3 -3
- package/src/internal/schema/fromJsonSchemaDocument.ts +326 -160
- package/src/internal/schema/fromRepresentation.ts +5 -3
- package/src/internal/schema/{schema.ts → make.ts} +0 -40
- package/src/internal/schema/parser.ts +8 -0
- package/src/internal/schema/standardSchema.ts +125 -0
- package/src/internal/schema/toCodeDocument.ts +58 -44
- package/src/internal/schema/toCodec.ts +312 -0
- package/src/internal/schema/toDifferJsonPatch.ts +24 -0
- package/src/internal/schema/toEncoderXml.ts +110 -0
- package/src/internal/schema/toEquivalence.ts +76 -0
- package/src/internal/schema/toFormatter.ts +230 -0
- package/src/internal/schema/toIso.ts +20 -0
- package/src/internal/schema/toJsonSchemaDocument.ts +125 -67
- package/src/internal/schema/toRepresentation.ts +1 -1
- package/src/internal/schemaError.ts +8 -0
- package/src/internal/stream.ts +14 -6
- package/src/internal/tracer.ts +4 -0
- package/src/internal/trie.ts +5 -2
- package/src/internal/uuid.ts +4 -0
- package/src/testing/TestSchema.ts +36 -30
- package/src/testing/index.ts +0 -5
- package/src/unstable/ai/AiError.ts +126 -6
- package/src/unstable/ai/AnthropicStructuredOutput.ts +8 -5
- package/src/unstable/ai/Chat.ts +35 -36
- package/src/unstable/ai/EmbeddingModel.ts +27 -15
- package/src/unstable/ai/LanguageModel.ts +283 -100
- package/src/unstable/ai/McpServer.ts +105 -92
- package/src/unstable/ai/OpenAiStructuredOutput.ts +6 -3
- package/src/unstable/ai/Prompt.ts +20 -5
- package/src/unstable/ai/Response.ts +107 -189
- package/src/unstable/ai/Tokenizer.ts +4 -5
- package/src/unstable/ai/Tool.ts +58 -35
- package/src/unstable/ai/Toolkit.ts +43 -37
- package/src/unstable/ai/internal/codec-transformer.ts +3 -2
- package/src/unstable/ai/internal/structured-output.ts +29 -6
- package/src/unstable/arbitrary/Arbitrary.ts +715 -0
- package/src/unstable/arbitrary/index.ts +10 -0
- package/src/unstable/cli/Argument.ts +111 -115
- package/src/unstable/cli/CliError.ts +2 -0
- package/src/unstable/cli/CliOutput.ts +41 -4
- package/src/unstable/cli/Command.ts +79 -78
- package/src/unstable/cli/Completions.ts +4 -4
- package/src/unstable/cli/Flag.ts +158 -169
- package/src/unstable/cli/GlobalFlag.ts +13 -13
- package/src/unstable/cli/Param.ts +150 -159
- package/src/unstable/cli/Primitive.ts +75 -76
- package/src/unstable/cli/Prompt.ts +543 -408
- package/src/unstable/cli/internal/completions/bash.ts +113 -38
- package/src/unstable/cli/internal/completions/descriptor.ts +23 -11
- package/src/unstable/cli/internal/completions/fish.ts +17 -9
- package/src/unstable/cli/internal/completions/zsh.ts +7 -4
- package/src/unstable/cli/internal/config.ts +4 -4
- package/src/unstable/cli/internal/parser.ts +1 -1
- package/src/unstable/cli/internal/wizard.ts +60 -32
- package/src/unstable/cluster/ClusterSchema.ts +19 -1
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +66 -16
- package/src/unstable/cluster/Entity.ts +3 -0
- package/src/unstable/cluster/EntityProxyServer.ts +6 -2
- package/src/unstable/cluster/Envelope.ts +32 -3
- package/src/unstable/cluster/HttpRunner.ts +52 -25
- package/src/unstable/cluster/Message.ts +35 -13
- package/src/unstable/cluster/MessageStorage.ts +69 -24
- package/src/unstable/cluster/Reply.ts +36 -19
- package/src/unstable/cluster/RunnerServer.ts +21 -11
- package/src/unstable/cluster/Runners.ts +93 -80
- package/src/unstable/cluster/Sharding.ts +44 -19
- package/src/unstable/cluster/ShardingConfig.ts +23 -23
- package/src/unstable/cluster/SocketRunner.ts +5 -4
- package/src/unstable/cluster/SqlMessageStorage.ts +12 -8
- package/src/unstable/cluster/SqlRunnerStorage.ts +18 -10
- package/src/unstable/cluster/internal/clusterAbandon.ts +14 -0
- package/src/unstable/cluster/internal/entityManager.ts +15 -6
- package/src/unstable/cluster/internal/interruptors.ts +58 -1
- package/src/unstable/cluster/internal/resourceRef.ts +15 -7
- package/src/unstable/devtools/DevToolsClient.ts +13 -3
- package/src/unstable/encoding/Ini.ts +2 -0
- package/src/unstable/encoding/SchemaBinary.ts +5308 -0
- package/src/unstable/encoding/Sse.ts +1 -1
- package/src/unstable/encoding/Toml.ts +7 -5
- package/src/unstable/encoding/Yaml.ts +18 -5
- package/src/unstable/encoding/index.ts +2 -2
- package/src/unstable/eventlog/Event.ts +7 -7
- package/src/unstable/eventlog/EventJournal.ts +22 -15
- package/src/unstable/eventlog/EventLog.ts +24 -14
- package/src/unstable/eventlog/EventLogMessage.ts +25 -15
- package/src/unstable/eventlog/EventLogRemote.ts +15 -4
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +2 -2
- package/src/unstable/eventlog/SqlEventJournal.ts +35 -10
- package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +11 -1
- package/src/unstable/http/Cookies.ts +2 -102
- package/src/unstable/http/FetchHttpClient.ts +1 -1
- package/src/unstable/http/FindMyWay/internal/router.ts +139 -33
- package/src/unstable/http/FindMyWay.ts +15 -5
- package/src/unstable/http/Headers.ts +3 -48
- package/src/unstable/http/HttpBody.ts +107 -36
- package/src/unstable/http/HttpClient.ts +41 -30
- package/src/unstable/http/HttpClientRequest.ts +32 -18
- package/src/unstable/http/HttpClientResponse.ts +16 -3
- package/src/unstable/http/HttpEffect.ts +145 -73
- package/src/unstable/http/HttpIncomingMessage.ts +4 -4
- package/src/unstable/http/HttpMiddleware.ts +43 -24
- package/src/unstable/http/HttpPlatform.ts +62 -20
- package/src/unstable/http/HttpRouter.ts +27 -16
- package/src/unstable/http/HttpServer.ts +18 -57
- package/src/unstable/http/HttpServerRequest.ts +17 -15
- package/src/unstable/http/HttpServerRespondable.ts +1 -1
- package/src/unstable/http/HttpServerResponse.ts +49 -40
- package/src/unstable/http/HttpStaticServer.ts +30 -28
- package/src/unstable/http/Mime.ts +76 -0
- package/src/unstable/http/Multipart.ts +35 -18
- package/src/unstable/http/MultipartParser/internal/multipart.ts +10 -3
- package/src/unstable/http/MultipartParser.ts +4 -3
- package/src/unstable/http/UrlParams.ts +3 -161
- package/src/unstable/http/index.ts +5 -0
- package/src/unstable/http/internal/compression.ts +11 -12
- package/src/unstable/http/internal/headers.ts +7 -0
- package/src/unstable/http/internal/httpBody.ts +9 -0
- package/src/unstable/http/internal/mimeTypes.ts +395 -0
- package/src/unstable/httpapi/HttpApiBuilder.ts +63 -11
- package/src/unstable/httpapi/HttpApiClient.ts +44 -24
- package/src/unstable/httpapi/HttpApiEndpoint.ts +24 -11
- package/src/unstable/httpapi/HttpApiError.ts +3 -1
- package/src/unstable/httpapi/HttpApiMiddleware.ts +7 -5
- package/src/unstable/httpapi/HttpApiScalar.ts +30 -27
- package/src/unstable/httpapi/HttpApiSchema.ts +14 -7
- package/src/unstable/httpapi/HttpApiSwagger.ts +6 -3
- package/src/unstable/httpapi/HttpApiTest.ts +6 -1
- package/src/unstable/httpapi/OpenApi.ts +32 -22
- package/src/unstable/net/IpInterface.ts +242 -0
- package/src/unstable/net/IpNetwork.ts +357 -0
- package/src/unstable/net/NetAddress.ts +1271 -0
- package/src/unstable/net/index.ts +20 -0
- package/src/unstable/observability/OtlpExporter.ts +5 -6
- package/src/unstable/observability/OtlpLogger.ts +9 -9
- package/src/unstable/observability/OtlpMetrics.ts +9 -8
- package/src/unstable/observability/OtlpResource.ts +5 -4
- package/src/unstable/observability/OtlpTracer.ts +103 -81
- package/src/unstable/observability/internal/otlpEnv.ts +10 -13
- package/src/unstable/persistence/PersistedCache.ts +1 -1
- package/src/unstable/persistence/PersistedQueue.ts +1100 -291
- package/src/unstable/persistence/RateLimiter.ts +64 -58
- package/src/unstable/process/ChildProcess.ts +15 -4
- package/src/unstable/process/ChildProcessSpawner.ts +1 -1
- package/src/unstable/reactivity/Atom.ts +6 -3
- package/src/unstable/reactivity/AtomHttpApi.ts +21 -10
- package/src/unstable/reactivity/AtomRegistry.ts +2 -4
- package/src/unstable/reactivity/AtomRpc.ts +6 -5
- package/src/unstable/reactivity/Hydration.ts +26 -7
- package/src/unstable/reactivity/Reactivity.ts +49 -36
- package/src/unstable/rpc/RpcClient.ts +100 -82
- package/src/unstable/rpc/RpcMessage.ts +78 -11
- package/src/unstable/rpc/RpcMiddleware.ts +7 -5
- package/src/unstable/rpc/RpcSerialization.ts +82 -92
- package/src/unstable/rpc/RpcServer.ts +171 -93
- package/src/unstable/schema/Model.ts +8 -7
- package/src/unstable/schema/VariantSchema.ts +3 -0
- package/src/unstable/socket/Socket.ts +714 -383
- package/src/unstable/socket/SocketServer.ts +5 -35
- package/src/unstable/sql/SqlClient.ts +42 -7
- package/src/unstable/sql/SqlConnection.ts +18 -0
- package/src/unstable/sql/SqlModel.ts +1 -1
- package/src/unstable/sql/Statement.ts +46 -20
- package/src/unstable/workers/Transferable.ts +1 -1
- package/src/unstable/workers/Worker.ts +3 -1
- package/src/unstable/workflow/Activity.ts +20 -9
- package/src/unstable/workflow/DurableClock.ts +1 -1
- package/src/unstable/workflow/DurableDeferred.ts +6 -0
- package/src/unstable/workflow/DurableQueue.ts +8 -0
- package/src/unstable/workflow/Workflow.ts +105 -28
- package/src/unstable/workflow/WorkflowEngine.ts +22 -0
- package/src/unstable/workflow/WorkflowProxy.ts +8 -4
- package/dist/internal/schema/schema.d.ts.map +0 -1
- package/dist/internal/schema/schema.js.map +0 -1
- package/dist/internal/schema/toArbitrary.d.ts +0 -2
- package/dist/internal/schema/toArbitrary.d.ts.map +0 -1
- package/dist/internal/schema/toArbitrary.js +0 -705
- package/dist/internal/schema/toArbitrary.js.map +0 -1
- package/dist/testing/FastCheck.d.ts +0 -90
- package/dist/testing/FastCheck.d.ts.map +0 -1
- package/dist/testing/FastCheck.js +0 -90
- package/dist/testing/FastCheck.js.map +0 -1
- package/dist/unstable/encoding/Msgpack.d.ts +0 -185
- package/dist/unstable/encoding/Msgpack.d.ts.map +0 -1
- package/dist/unstable/encoding/Msgpack.js +0 -227
- package/dist/unstable/encoding/Msgpack.js.map +0 -1
- package/src/internal/schema/toArbitrary.ts +0 -843
- package/src/testing/FastCheck.ts +0 -90
- package/src/unstable/encoding/Msgpack.ts +0 -432
- /package/dist/internal/{schema → arbitrary}/schema.d.ts +0 -0
package/dist/internal/effect.js
CHANGED
|
@@ -29,7 +29,6 @@ import { addSpanStackTrace, makeStackCleaner } from "./tracer.js";
|
|
|
29
29
|
// ----------------------------------------------------------------------------
|
|
30
30
|
/** @internal */
|
|
31
31
|
export class Interrupt extends ReasonBase {
|
|
32
|
-
fiberId;
|
|
33
32
|
constructor(fiberId, annotations = constEmptyAnnotations) {
|
|
34
33
|
super("Interrupt", annotations, "Interrupted");
|
|
35
34
|
this.fiberId = fiberId;
|
|
@@ -127,6 +126,25 @@ export const causeAnnotations = self => {
|
|
|
127
126
|
}
|
|
128
127
|
return Context.makeUnsafe(map);
|
|
129
128
|
};
|
|
129
|
+
const dedupeReasons = (self, that) => {
|
|
130
|
+
// Keep deduplication local so causeCombine does not retain Array.ts in the core bundle.
|
|
131
|
+
// Snapshot both arrays before invoking user-defined hash or equality methods.
|
|
132
|
+
const buckets = new Map();
|
|
133
|
+
const out = [];
|
|
134
|
+
for (const reason of self.concat(that)) {
|
|
135
|
+
const hash = Hash.hash(reason);
|
|
136
|
+
const bucket = buckets.get(hash);
|
|
137
|
+
if (bucket === undefined) {
|
|
138
|
+
buckets.set(hash, [reason]);
|
|
139
|
+
} else if (bucket.some(previous => Equal.equals(previous, reason))) {
|
|
140
|
+
continue;
|
|
141
|
+
} else {
|
|
142
|
+
bucket.push(reason);
|
|
143
|
+
}
|
|
144
|
+
out.push(reason);
|
|
145
|
+
}
|
|
146
|
+
return out;
|
|
147
|
+
};
|
|
130
148
|
/** @internal */
|
|
131
149
|
export const causeCombine = /*#__PURE__*/dual(2, (self, that) => {
|
|
132
150
|
if (self.reasons.length === 0) {
|
|
@@ -134,7 +152,7 @@ export const causeCombine = /*#__PURE__*/dual(2, (self, that) => {
|
|
|
134
152
|
} else if (that.reasons.length === 0) {
|
|
135
153
|
return self;
|
|
136
154
|
}
|
|
137
|
-
const newCause = new CauseImpl(
|
|
155
|
+
const newCause = new CauseImpl(dedupeReasons(self.reasons, that.reasons));
|
|
138
156
|
return Equal.equals(self, newCause) ? self : newCause;
|
|
139
157
|
});
|
|
140
158
|
/** @internal */
|
|
@@ -179,7 +197,7 @@ export const causePrettyErrors = (self, options) => {
|
|
|
179
197
|
const interrupts = [];
|
|
180
198
|
if (self.reasons.length === 0) return errors;
|
|
181
199
|
const prevStackLimit = getStackTraceLimit();
|
|
182
|
-
setStackTraceLimit(1);
|
|
200
|
+
if (prevStackLimit !== 0) setStackTraceLimit(1);
|
|
183
201
|
for (const failure of self.reasons) {
|
|
184
202
|
if (failure._tag === "Interrupt") {
|
|
185
203
|
interrupts.push(failure);
|
|
@@ -198,7 +216,7 @@ export const causePrettyErrors = (self, options) => {
|
|
|
198
216
|
error.stack = `${error.name}: ${error.message}`;
|
|
199
217
|
errors.push(causePrettyError(error, interrupts[0].annotations, options));
|
|
200
218
|
}
|
|
201
|
-
setStackTraceLimit(prevStackLimit);
|
|
219
|
+
if (prevStackLimit !== 0) setStackTraceLimit(prevStackLimit);
|
|
202
220
|
return errors;
|
|
203
221
|
};
|
|
204
222
|
/** @internal */
|
|
@@ -335,14 +353,15 @@ export class FiberImpl {
|
|
|
335
353
|
this.currentOpCount = 0;
|
|
336
354
|
this.interruptible = interruptible;
|
|
337
355
|
this._stack = [];
|
|
338
|
-
this._observers =
|
|
356
|
+
this._observers = undefined;
|
|
339
357
|
this._exit = undefined;
|
|
340
358
|
this._children = undefined;
|
|
341
359
|
this._interruptedCause = undefined;
|
|
342
360
|
this._yielded = undefined;
|
|
343
361
|
this._running = false;
|
|
344
362
|
this._deferredInterrupt = false;
|
|
345
|
-
this.
|
|
363
|
+
this._parent = undefined;
|
|
364
|
+
this.cache.runtimeMetrics?.recordFiberStart(this.context);
|
|
346
365
|
}
|
|
347
366
|
[FiberTypeId];
|
|
348
367
|
id;
|
|
@@ -356,20 +375,13 @@ export class FiberImpl {
|
|
|
356
375
|
_yielded;
|
|
357
376
|
_running;
|
|
358
377
|
_deferredInterrupt;
|
|
378
|
+
_parent;
|
|
359
379
|
// set in setContext
|
|
360
380
|
context;
|
|
361
|
-
|
|
362
|
-
currentTracerContext;
|
|
363
|
-
currentSpan;
|
|
364
|
-
currentLogLevel;
|
|
365
|
-
minimumLogLevel;
|
|
366
|
-
currentStackFrame;
|
|
367
|
-
runtimeMetrics;
|
|
368
|
-
maxOpsBeforeYield;
|
|
369
|
-
currentPreventYield;
|
|
381
|
+
cache;
|
|
370
382
|
_dispatcher = undefined;
|
|
371
383
|
get currentDispatcher() {
|
|
372
|
-
return this._dispatcher ??= this.
|
|
384
|
+
return this._dispatcher ??= this.cache.scheduler.makeDispatcher();
|
|
373
385
|
}
|
|
374
386
|
getRef(ref) {
|
|
375
387
|
return Context.get(this.context, ref);
|
|
@@ -379,9 +391,13 @@ export class FiberImpl {
|
|
|
379
391
|
cb(this._exit);
|
|
380
392
|
return constVoid;
|
|
381
393
|
}
|
|
382
|
-
this._observers
|
|
394
|
+
if (this._observers === undefined) {
|
|
395
|
+
this._observers = [cb];
|
|
396
|
+
} else {
|
|
397
|
+
this._observers.push(cb);
|
|
398
|
+
}
|
|
383
399
|
return () => {
|
|
384
|
-
if (this._exit) return;
|
|
400
|
+
if (this._exit || this._observers === undefined) return;
|
|
385
401
|
const index = this._observers.indexOf(cb);
|
|
386
402
|
if (index >= 0) {
|
|
387
403
|
this._observers.splice(index, 1);
|
|
@@ -393,8 +409,8 @@ export class FiberImpl {
|
|
|
393
409
|
return;
|
|
394
410
|
}
|
|
395
411
|
let cause = causeInterrupt(fiberId);
|
|
396
|
-
if (this.
|
|
397
|
-
cause = causeAnnotate(cause, Context.make(CauseStackTrace, this.
|
|
412
|
+
if (this.cache.stackFrame) {
|
|
413
|
+
cause = causeAnnotate(cause, Context.make(CauseStackTrace, this.cache.stackFrame));
|
|
398
414
|
}
|
|
399
415
|
if (annotations) {
|
|
400
416
|
cause = causeAnnotate(cause, annotations);
|
|
@@ -430,11 +446,18 @@ export class FiberImpl {
|
|
|
430
446
|
return this.evaluate(flatMap(interruptChildren, () => exit));
|
|
431
447
|
}
|
|
432
448
|
this._exit = exit;
|
|
433
|
-
this.runtimeMetrics?.recordFiberEnd(this.context, this._exit);
|
|
434
|
-
|
|
435
|
-
this.
|
|
449
|
+
this.cache.runtimeMetrics?.recordFiberEnd(this.context, this._exit);
|
|
450
|
+
if (this._parent) {
|
|
451
|
+
this._parent._children?.delete(this);
|
|
452
|
+
this._parent = undefined;
|
|
453
|
+
}
|
|
454
|
+
if (this._observers !== undefined) {
|
|
455
|
+
const observers = this._observers;
|
|
456
|
+
this._observers = undefined;
|
|
457
|
+
for (let i = 0; i < observers.length; i++) {
|
|
458
|
+
observers[i](exit);
|
|
459
|
+
}
|
|
436
460
|
}
|
|
437
|
-
this._observers.length = 0;
|
|
438
461
|
this._stack.length = 0;
|
|
439
462
|
this._children = undefined;
|
|
440
463
|
this.context = Context.empty();
|
|
@@ -454,12 +477,14 @@ export class FiberImpl {
|
|
|
454
477
|
current = failCause(this._interruptedCause);
|
|
455
478
|
}
|
|
456
479
|
this.currentOpCount++;
|
|
457
|
-
|
|
480
|
+
// Refresh the cache because a primitive can replace the fiber context.
|
|
481
|
+
const cache = this.cache;
|
|
482
|
+
if (!yielding && !cache.preventYield && cache.scheduler.shouldYield(this)) {
|
|
458
483
|
yielding = true;
|
|
459
484
|
const prev = current;
|
|
460
485
|
current = flatMap(yieldNow, () => prev);
|
|
461
486
|
}
|
|
462
|
-
current =
|
|
487
|
+
current = cache.tracerContext ? cache.tracerContext(current, this) : current[evaluate](this);
|
|
463
488
|
if (current === Yield) {
|
|
464
489
|
const yielded = this._yielded;
|
|
465
490
|
if (ExitTypeId in yielded) {
|
|
@@ -492,11 +517,14 @@ export class FiberImpl {
|
|
|
492
517
|
while (true) {
|
|
493
518
|
const op = this._stack.pop();
|
|
494
519
|
if (!op) return undefined;
|
|
495
|
-
const
|
|
496
|
-
if (
|
|
497
|
-
;
|
|
498
|
-
cont
|
|
499
|
-
|
|
520
|
+
const all = op[contAll];
|
|
521
|
+
if (all !== undefined) {
|
|
522
|
+
const cont = all.call(op, this);
|
|
523
|
+
if (cont) {
|
|
524
|
+
;
|
|
525
|
+
cont[symbol] = cont;
|
|
526
|
+
return cont;
|
|
527
|
+
}
|
|
500
528
|
}
|
|
501
529
|
if (op[symbol]) return op;
|
|
502
530
|
}
|
|
@@ -517,27 +545,39 @@ export class FiberImpl {
|
|
|
517
545
|
// Every key cached below opts in to Context caching, so contexts related
|
|
518
546
|
// only by non-caching adds cannot have changed any of them
|
|
519
547
|
if (previous !== undefined && Context.hasSameCache(previous, context)) return;
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
548
|
+
// Contexts sharing a cacheRoot resolve every cached key identically, so
|
|
549
|
+
// the derived cache object is computed once per root and shared by all
|
|
550
|
+
// fibers running with that root (forked fibers reuse the parent's).
|
|
551
|
+
const root = context.cacheRoot;
|
|
552
|
+
const cache = root._fiberCache ??= makeFiberContextCache(context);
|
|
553
|
+
if (this.cache !== undefined && this.cache.scheduler !== cache.scheduler) {
|
|
523
554
|
this._dispatcher = undefined;
|
|
524
555
|
}
|
|
525
|
-
|
|
526
|
-
// tracer behind Tracer.Tracer's default) out of every bundle
|
|
527
|
-
this.currentSpan = Context.getOrUndefinedUnsafe(context, Tracer.ParentSpanKey);
|
|
528
|
-
this.currentLogLevel = this.getRef(CurrentLogLevel);
|
|
529
|
-
this.minimumLogLevel = this.getRef(MinimumLogLevel);
|
|
530
|
-
this.currentStackFrame = this.getRef(CurrentStackFrame);
|
|
531
|
-
this.maxOpsBeforeYield = this.getRef(Scheduler.MaxOpsBeforeYield);
|
|
532
|
-
this.currentPreventYield = this.getRef(Scheduler.PreventSchedulerYield);
|
|
533
|
-
this.runtimeMetrics = Context.getOrUndefinedUnsafe(context, InternalMetric.FiberRuntimeMetricsKey);
|
|
534
|
-
const currentTracer = Context.getOrUndefinedUnsafe(context, Tracer.TracerKey);
|
|
535
|
-
this.currentTracerContext = currentTracer ? currentTracer["context"] : undefined;
|
|
556
|
+
this.cache = cache;
|
|
536
557
|
}
|
|
537
558
|
get currentSpanLocal() {
|
|
538
|
-
|
|
559
|
+
const span = this.cache.span;
|
|
560
|
+
return span?._tag === "Span" ? span : undefined;
|
|
539
561
|
}
|
|
540
562
|
}
|
|
563
|
+
const makeFiberContextCache = context => {
|
|
564
|
+
// The string-keyed lookups keep the Tracer key values (and the native
|
|
565
|
+
// tracer behind Tracer.Tracer's default) out of every bundle
|
|
566
|
+
const currentTracer = Context.getOrUndefinedUnsafe(context, Tracer.TracerKey);
|
|
567
|
+
return {
|
|
568
|
+
scheduler: Context.get(context, Scheduler.Scheduler),
|
|
569
|
+
tracer: currentTracer,
|
|
570
|
+
tracerContext: currentTracer ? currentTracer["context"] : undefined,
|
|
571
|
+
tracerEnabled: Context.get(context, TracerEnabled),
|
|
572
|
+
span: Context.getOrUndefinedUnsafe(context, Tracer.ParentSpanKey),
|
|
573
|
+
logLevel: Context.get(context, CurrentLogLevel),
|
|
574
|
+
minimumLogLevel: Context.get(context, MinimumLogLevel),
|
|
575
|
+
stackFrame: Context.get(context, CurrentStackFrame),
|
|
576
|
+
runtimeMetrics: Context.getOrUndefinedUnsafe(context, InternalMetric.FiberRuntimeMetricsKey),
|
|
577
|
+
maxOpsBeforeYield: Context.get(context, Scheduler.MaxOpsBeforeYield),
|
|
578
|
+
preventYield: Context.get(context, Scheduler.PreventSchedulerYield)
|
|
579
|
+
};
|
|
580
|
+
};
|
|
541
581
|
const deferredInterruptCont = {
|
|
542
582
|
[contA](_value, fiber) {
|
|
543
583
|
return failCause(fiber._interruptedCause);
|
|
@@ -550,9 +590,9 @@ const fiberMiddleware = {
|
|
|
550
590
|
interruptChildren: undefined
|
|
551
591
|
};
|
|
552
592
|
const fiberStackAnnotations = fiber => {
|
|
553
|
-
if (!fiber.
|
|
593
|
+
if (!fiber.cache.stackFrame) return undefined;
|
|
554
594
|
const annotations = new Map();
|
|
555
|
-
annotations.set(InterruptorStackTrace.key, fiber.
|
|
595
|
+
annotations.set(InterruptorStackTrace.key, fiber.cache.stackFrame);
|
|
556
596
|
return Context.makeUnsafe(annotations);
|
|
557
597
|
};
|
|
558
598
|
const fiberInterruptChildren = fiber => {
|
|
@@ -766,39 +806,48 @@ export const withFiberId = f => withFiber(fiber => f(fiber.id));
|
|
|
766
806
|
export const fiber = /*#__PURE__*/withFiber(succeed);
|
|
767
807
|
/** @internal */
|
|
768
808
|
export const fiberId = /*#__PURE__*/withFiberId(succeed);
|
|
769
|
-
const callbackOptions = /*#__PURE__*/
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
809
|
+
const callbackOptions = /*#__PURE__*/function () {
|
|
810
|
+
const Proto = /*#__PURE__*/makePrimitiveProto({
|
|
811
|
+
op: "Async",
|
|
812
|
+
[evaluate](fiber) {
|
|
813
|
+
const register = internalCall(() => this.register.bind(fiber.cache.scheduler));
|
|
814
|
+
let resumed = false;
|
|
815
|
+
let yielded = false;
|
|
816
|
+
const controller = this.withSignal ? new AbortController() : undefined;
|
|
817
|
+
const onCancel = register(effect => {
|
|
818
|
+
if (resumed) return;
|
|
819
|
+
resumed = true;
|
|
820
|
+
if (yielded) {
|
|
821
|
+
fiber.evaluate(effect);
|
|
822
|
+
} else {
|
|
823
|
+
yielded = effect;
|
|
824
|
+
}
|
|
825
|
+
}, controller?.signal);
|
|
826
|
+
if (yielded !== false) return yielded;
|
|
827
|
+
yielded = true;
|
|
828
|
+
fiber._yielded = () => {
|
|
829
|
+
resumed = true;
|
|
830
|
+
};
|
|
831
|
+
if (controller === undefined && onCancel === undefined) {
|
|
832
|
+
return Yield;
|
|
784
833
|
}
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
};
|
|
791
|
-
if (controller === undefined && onCancel === undefined) {
|
|
834
|
+
fiber._stack.push(asyncFinalizer(() => {
|
|
835
|
+
resumed = true;
|
|
836
|
+
controller?.abort();
|
|
837
|
+
return onCancel ?? exitVoid;
|
|
838
|
+
}));
|
|
792
839
|
return Yield;
|
|
793
840
|
}
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
841
|
+
});
|
|
842
|
+
const AsyncImpl = function (register, withSignal) {
|
|
843
|
+
this.register = register;
|
|
844
|
+
this.withSignal = withSignal;
|
|
845
|
+
};
|
|
846
|
+
AsyncImpl.prototype = Proto;
|
|
847
|
+
return function (register, withSignal) {
|
|
848
|
+
return new AsyncImpl(register, withSignal);
|
|
849
|
+
};
|
|
850
|
+
}();
|
|
802
851
|
const asyncFinalizer = /*#__PURE__*/makePrimitive({
|
|
803
852
|
op: "AsyncFinalizer",
|
|
804
853
|
[contAll](fiber) {
|
|
@@ -816,7 +865,14 @@ export const callback = register => callbackOptions(register, register.length >=
|
|
|
816
865
|
/** @internal */
|
|
817
866
|
export const never = /*#__PURE__*/callback(constVoid);
|
|
818
867
|
/** @internal */
|
|
819
|
-
export const gen = (...args) =>
|
|
868
|
+
export const gen = (...args) => {
|
|
869
|
+
if (args.length === 1) {
|
|
870
|
+
const body = args[0];
|
|
871
|
+
return suspend(() => fromIteratorUnsafe(body()));
|
|
872
|
+
}
|
|
873
|
+
const [options, body] = args;
|
|
874
|
+
return suspend(() => fromIteratorUnsafe(body.call(options.self)));
|
|
875
|
+
};
|
|
820
876
|
/** @internal */
|
|
821
877
|
export const fnUntraced = (body, ...pipeables) => {
|
|
822
878
|
const fn = pipeables.length === 0 ? function () {
|
|
@@ -841,9 +897,12 @@ export const fn = function () {
|
|
|
841
897
|
const name = nameFirst ? arguments[0] : "Effect.fn";
|
|
842
898
|
const spanOptions = nameFirst ? arguments[1] : undefined;
|
|
843
899
|
const prevLimit = getStackTraceLimit();
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
900
|
+
let defError;
|
|
901
|
+
if (prevLimit !== 0) {
|
|
902
|
+
setStackTraceLimit(2);
|
|
903
|
+
defError = new globalThis.Error();
|
|
904
|
+
setStackTraceLimit(prevLimit);
|
|
905
|
+
}
|
|
847
906
|
if (nameFirst) {
|
|
848
907
|
return (body, ...pipeables) => makeFn(name, body, defError, pipeables, nameFirst, spanOptions);
|
|
849
908
|
}
|
|
@@ -863,15 +922,18 @@ const makeFn = (name, bodyOrOptions, defError, pipeables, addSpan, spanOptions)
|
|
|
863
922
|
return result;
|
|
864
923
|
}
|
|
865
924
|
const prevLimit = getStackTraceLimit();
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
925
|
+
let callError;
|
|
926
|
+
if (prevLimit !== 0) {
|
|
927
|
+
setStackTraceLimit(2);
|
|
928
|
+
callError = new globalThis.Error();
|
|
929
|
+
setStackTraceLimit(prevLimit);
|
|
930
|
+
}
|
|
869
931
|
return updateService(addSpan ? useSpan(name, spanOptions, span => provideParentSpan(result, span)) : result, CurrentStackFrame, prev => ({
|
|
870
932
|
name,
|
|
871
|
-
stack: fnStackCleaner(() => callError.stack),
|
|
933
|
+
stack: callError ? fnStackCleaner(() => callError.stack) : constUndefined,
|
|
872
934
|
parent: {
|
|
873
935
|
name: `${name} (definition)`,
|
|
874
|
-
stack: fnStackCleaner(() => defError.stack),
|
|
936
|
+
stack: defError ? fnStackCleaner(() => defError.stack) : constUndefined,
|
|
875
937
|
parent: prev
|
|
876
938
|
}
|
|
877
939
|
}));
|
|
@@ -883,7 +945,7 @@ export const fnUntracedEager = (body, ...pipeables) => defineFunctionLength(body
|
|
|
883
945
|
} : function () {
|
|
884
946
|
let effect = fromIteratorEagerUnsafe(() => body.apply(this, arguments));
|
|
885
947
|
for (const pipeable of pipeables) {
|
|
886
|
-
effect = pipeable(effect);
|
|
948
|
+
effect = pipeable(effect, ...arguments);
|
|
887
949
|
}
|
|
888
950
|
return effect;
|
|
889
951
|
});
|
|
@@ -919,35 +981,82 @@ const fromIteratorEagerUnsafe = evaluate => {
|
|
|
919
981
|
return die(error);
|
|
920
982
|
}
|
|
921
983
|
};
|
|
922
|
-
const fromIteratorUnsafe = /*#__PURE__*/
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
984
|
+
const fromIteratorUnsafe = /*#__PURE__*/function () {
|
|
985
|
+
const Proto = /*#__PURE__*/makePrimitiveProto({
|
|
986
|
+
op: "Iterator",
|
|
987
|
+
[contA](value, fiber) {
|
|
988
|
+
const iter = this.iterator;
|
|
989
|
+
while (true) {
|
|
990
|
+
const state = iter.next(value);
|
|
991
|
+
if (state.done) return succeed(state.value);
|
|
992
|
+
if (!effectIsExit(state.value)) {
|
|
993
|
+
fiber._stack.push(this);
|
|
994
|
+
return state.value;
|
|
995
|
+
} else if (state.value._tag === "Failure") {
|
|
996
|
+
return state.value;
|
|
997
|
+
}
|
|
998
|
+
value = state.value.value;
|
|
935
999
|
}
|
|
936
|
-
|
|
1000
|
+
},
|
|
1001
|
+
[evaluate](fiber) {
|
|
1002
|
+
return this[contA](this.initial, fiber);
|
|
937
1003
|
}
|
|
938
|
-
}
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
}
|
|
1004
|
+
});
|
|
1005
|
+
const IteratorImpl = function (iterator, initial) {
|
|
1006
|
+
this.iterator = iterator;
|
|
1007
|
+
this.initial = initial;
|
|
1008
|
+
};
|
|
1009
|
+
IteratorImpl.prototype = Proto;
|
|
1010
|
+
return function (iterator, initial) {
|
|
1011
|
+
return new IteratorImpl(iterator, initial);
|
|
1012
|
+
};
|
|
1013
|
+
}();
|
|
943
1014
|
// ----------------------------------------------------------------------------
|
|
944
1015
|
// mapping & sequencing
|
|
945
1016
|
// ----------------------------------------------------------------------------
|
|
946
1017
|
/** @internal */
|
|
947
|
-
export const as = /*#__PURE__*/dual(2, (self, value) =>
|
|
948
|
-
|
|
949
|
-
|
|
1018
|
+
export const as = /*#__PURE__*/dual(2, (self, value) => new ContImpl(self, returnPayload, succeed(value)));
|
|
1019
|
+
const evaluateCont = function (fiber) {
|
|
1020
|
+
fiber._stack.push(this);
|
|
1021
|
+
return this[args];
|
|
1022
|
+
};
|
|
1023
|
+
const OnSuccessProto = /*#__PURE__*/makePrimitiveProto({
|
|
1024
|
+
op: "OnSuccess",
|
|
1025
|
+
[evaluate]: evaluateCont
|
|
950
1026
|
});
|
|
1027
|
+
const OnSuccessImpl = function (self, f) {
|
|
1028
|
+
this[args] = self;
|
|
1029
|
+
this[contA] = f;
|
|
1030
|
+
};
|
|
1031
|
+
OnSuccessImpl.prototype = OnSuccessProto;
|
|
1032
|
+
// A success continuation with an extra payload slot. The stored continuation
|
|
1033
|
+
// receives the primitive as `this` and reads `this.payload`, so combinators
|
|
1034
|
+
// like map / as / tap / andThen can share module-level continuation functions
|
|
1035
|
+
// instead of allocating a closure per call.
|
|
1036
|
+
const ContImpl = function (self, cont, payload) {
|
|
1037
|
+
this[args] = self;
|
|
1038
|
+
this[contA] = cont;
|
|
1039
|
+
this.payload = payload;
|
|
1040
|
+
};
|
|
1041
|
+
ContImpl.prototype = OnSuccessProto;
|
|
1042
|
+
const returnPayload = function () {
|
|
1043
|
+
return this.payload;
|
|
1044
|
+
};
|
|
1045
|
+
const mapCont = function (value) {
|
|
1046
|
+
const f = this.payload;
|
|
1047
|
+
return succeed(internalCall(() => f(value)));
|
|
1048
|
+
};
|
|
1049
|
+
const andThenCont = function (value) {
|
|
1050
|
+
const f = this.payload;
|
|
1051
|
+
return internalCall(() => f(value));
|
|
1052
|
+
};
|
|
1053
|
+
const tapCont = function (value) {
|
|
1054
|
+
const f = this.payload;
|
|
1055
|
+
return new ContImpl(internalCall(() => f(value)), returnPayload, exitSucceed(value));
|
|
1056
|
+
};
|
|
1057
|
+
const tapEffectCont = function (value) {
|
|
1058
|
+
return new ContImpl(this.payload, returnPayload, exitSucceed(value));
|
|
1059
|
+
};
|
|
951
1060
|
/** @internal */
|
|
952
1061
|
export const asSome = self => map(self, Option.some);
|
|
953
1062
|
/** @internal */
|
|
@@ -956,11 +1065,11 @@ export const flip = self => matchEffect(self, {
|
|
|
956
1065
|
onSuccess: fail
|
|
957
1066
|
});
|
|
958
1067
|
/** @internal */
|
|
959
|
-
export const andThen = /*#__PURE__*/dual(2, (self, f) =>
|
|
1068
|
+
export const andThen = /*#__PURE__*/dual(2, (self, f) => new ContImpl(self, isEffect(f) ? returnPayload : andThenCont, f));
|
|
960
1069
|
/** @internal */
|
|
961
|
-
export const tap = /*#__PURE__*/dual(2, (self, f) =>
|
|
1070
|
+
export const tap = /*#__PURE__*/dual(2, (self, f) => new ContImpl(self, isEffect(f) ? tapEffectCont : tapCont, f));
|
|
962
1071
|
/** @internal */
|
|
963
|
-
export const asVoid = self =>
|
|
1072
|
+
export const asVoid = self => new ContImpl(self, returnPayload, exitVoid);
|
|
964
1073
|
/** @internal */
|
|
965
1074
|
export const sandbox = self => catchCause(self, fail);
|
|
966
1075
|
/** @internal */
|
|
@@ -1036,19 +1145,7 @@ export const race = /*#__PURE__*/dual(args => isEffect(args[1]), (self, that, op
|
|
|
1036
1145
|
/** @internal */
|
|
1037
1146
|
export const raceFirst = /*#__PURE__*/dual(args => isEffect(args[1]), (self, that, options) => raceAllFirst([self, that], options));
|
|
1038
1147
|
/** @internal */
|
|
1039
|
-
export const flatMap = /*#__PURE__*/dual(2, (self, f) =>
|
|
1040
|
-
const onSuccess = Object.create(OnSuccessProto);
|
|
1041
|
-
onSuccess[args] = self;
|
|
1042
|
-
onSuccess[contA] = f.length !== 1 ? a => f(a) : f;
|
|
1043
|
-
return onSuccess;
|
|
1044
|
-
});
|
|
1045
|
-
const OnSuccessProto = /*#__PURE__*/makePrimitiveProto({
|
|
1046
|
-
op: "OnSuccess",
|
|
1047
|
-
[evaluate](fiber) {
|
|
1048
|
-
fiber._stack.push(this);
|
|
1049
|
-
return this[args];
|
|
1050
|
-
}
|
|
1051
|
-
});
|
|
1148
|
+
export const flatMap = /*#__PURE__*/dual(2, (self, f) => new OnSuccessImpl(self, f.length !== 1 ? a => f(a) : f));
|
|
1052
1149
|
/** @internal */
|
|
1053
1150
|
export const matchCauseEffectEager = /*#__PURE__*/dual(2, (self, options) => {
|
|
1054
1151
|
if (effectIsExit(self)) {
|
|
@@ -1057,7 +1154,7 @@ export const matchCauseEffectEager = /*#__PURE__*/dual(2, (self, options) => {
|
|
|
1057
1154
|
return matchCauseEffect(self, options);
|
|
1058
1155
|
});
|
|
1059
1156
|
/** @internal */
|
|
1060
|
-
export const effectIsExit = effect => ExitTypeId
|
|
1157
|
+
export const effectIsExit = effect => effect[ExitTypeId] !== undefined;
|
|
1061
1158
|
/** @internal */
|
|
1062
1159
|
export const flatMapEager = /*#__PURE__*/dual(2, (self, f) => {
|
|
1063
1160
|
if (effectIsExit(self)) {
|
|
@@ -1071,7 +1168,7 @@ export const flatMapEager = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
1071
1168
|
/** @internal */
|
|
1072
1169
|
export const flatten = self => flatMap(self, identity);
|
|
1073
1170
|
/** @internal */
|
|
1074
|
-
export const map = /*#__PURE__*/dual(2, (self, f) =>
|
|
1171
|
+
export const map = /*#__PURE__*/dual(2, (self, f) => new ContImpl(self, mapCont, f));
|
|
1075
1172
|
/** @internal */
|
|
1076
1173
|
export const mapEager = /*#__PURE__*/dual(2, (self, f) => effectIsExit(self) ? exitMap(self, f) : map(self, f));
|
|
1077
1174
|
/** @internal */
|
|
@@ -1193,7 +1290,9 @@ export const updateServiceScoped = (service, update, options) => uninterruptible
|
|
|
1193
1290
|
const updated = update(original);
|
|
1194
1291
|
fiber.setContext(Context.add(fiber.context, service, updated));
|
|
1195
1292
|
return scopeAddFinalizerExit(Context.getUnsafe(fiber.context, scopeTag), _ => {
|
|
1196
|
-
const
|
|
1293
|
+
const currentOption = Context.getOption(fiber.context, service);
|
|
1294
|
+
if (Option.isNone(currentOption)) return void_;
|
|
1295
|
+
const current = currentOption.value;
|
|
1197
1296
|
let next;
|
|
1198
1297
|
if (options?.reset === undefined) {
|
|
1199
1298
|
if (current !== updated) return void_;
|
|
@@ -1241,7 +1340,7 @@ export const zipWith = /*#__PURE__*/dual(args => isEffect(args[1]), (self, that,
|
|
|
1241
1340
|
// ----------------------------------------------------------------------------
|
|
1242
1341
|
// filtering & conditionals
|
|
1243
1342
|
// ----------------------------------------------------------------------------
|
|
1244
|
-
|
|
1343
|
+
/** @internal */
|
|
1245
1344
|
export const filterOrFail = /*#__PURE__*/dual(args => isEffect(args[0]), (self, predicate, orFailWith) => filterOrElse(self, predicate, orFailWith ? a => fail(orFailWith(a)) : () => fail(new NoSuchElementError())));
|
|
1246
1345
|
/** @internal */
|
|
1247
1346
|
export const when = /*#__PURE__*/dual(2, (self, condition) => flatMap(condition, pass => pass ? asSome(self) : succeedNone));
|
|
@@ -1264,19 +1363,16 @@ export const forever = /*#__PURE__*/dual(args => isEffect(args[0]), (self, optio
|
|
|
1264
1363
|
// error handling
|
|
1265
1364
|
// ----------------------------------------------------------------------------
|
|
1266
1365
|
/** @internal */
|
|
1267
|
-
export const catchCause = /*#__PURE__*/dual(2, (self, f) =>
|
|
1268
|
-
const onFailure = Object.create(OnFailureProto);
|
|
1269
|
-
onFailure[args] = self;
|
|
1270
|
-
onFailure[contE] = f.length !== 1 ? cause => f(cause) : f;
|
|
1271
|
-
return onFailure;
|
|
1272
|
-
});
|
|
1366
|
+
export const catchCause = /*#__PURE__*/dual(2, (self, f) => new OnFailureImpl(self, f.length !== 1 ? cause => f(cause) : f));
|
|
1273
1367
|
const OnFailureProto = /*#__PURE__*/makePrimitiveProto({
|
|
1274
1368
|
op: "OnFailure",
|
|
1275
|
-
[evaluate]
|
|
1276
|
-
fiber._stack.push(this);
|
|
1277
|
-
return this[args];
|
|
1278
|
-
}
|
|
1369
|
+
[evaluate]: evaluateCont
|
|
1279
1370
|
});
|
|
1371
|
+
const OnFailureImpl = function (self, f) {
|
|
1372
|
+
this[args] = self;
|
|
1373
|
+
this[contE] = f;
|
|
1374
|
+
};
|
|
1375
|
+
OnFailureImpl.prototype = OnFailureProto;
|
|
1280
1376
|
/** @internal */
|
|
1281
1377
|
export const catchCauseIf = /*#__PURE__*/dual(3, (self, predicate, f) => catchCause(self, cause => {
|
|
1282
1378
|
if (!predicate(cause)) {
|
|
@@ -1352,7 +1448,7 @@ export const catchTags = /*#__PURE__*/dual(args => isEffect(args[0]), (self, cas
|
|
|
1352
1448
|
}, e => internalCall(() => cases[e["_tag"]](e)), orElse);
|
|
1353
1449
|
});
|
|
1354
1450
|
/** @internal */
|
|
1355
|
-
export const catchReason = /*#__PURE__*/dual(args => isEffect(args[0]), (self, errorTag, reasonTag, f, orElse) => catchIf(self, e => isTagged(e, errorTag) && hasProperty(e, "reason"), e => {
|
|
1451
|
+
export const catchReason = /*#__PURE__*/dual(args => isEffect(args[0]), (self, errorTag, reasonTag, f, orElse) => catchIf(self, e => isTagged(e, errorTag) && hasProperty(e, "reason") && (orElse !== undefined || isTagged(e.reason, reasonTag)), e => {
|
|
1356
1452
|
const reason = e.reason;
|
|
1357
1453
|
if (isTagged(reason, reasonTag)) return f(reason, e);
|
|
1358
1454
|
return orElse ? internalCall(() => orElse(reason, e)) : fail(e);
|
|
@@ -1360,7 +1456,7 @@ export const catchReason = /*#__PURE__*/dual(args => isEffect(args[0]), (self, e
|
|
|
1360
1456
|
/** @internal */
|
|
1361
1457
|
export const catchReasons = /*#__PURE__*/dual(args => isEffect(args[0]), (self, errorTag, cases, orElse) => {
|
|
1362
1458
|
let keys;
|
|
1363
|
-
return catchIf(self, e => isTagged(e, errorTag) && hasProperty(e, "reason") && hasProperty(e.reason, "_tag") && isString(e.reason._tag), e => {
|
|
1459
|
+
return catchIf(self, e => isTagged(e, errorTag) && hasProperty(e, "reason") && hasProperty(e.reason, "_tag") && isString(e.reason._tag) && (orElse !== undefined || (keys ??= Object.keys(cases)).includes(e.reason._tag)), e => {
|
|
1364
1460
|
const reason = e.reason;
|
|
1365
1461
|
keys ??= Object.keys(cases);
|
|
1366
1462
|
if (keys.includes(reason._tag)) {
|
|
@@ -1378,7 +1474,7 @@ export const unwrapReason = /*#__PURE__*/dual(2, (self, errorTag) => catchFilter
|
|
|
1378
1474
|
}, fail));
|
|
1379
1475
|
/** @internal */
|
|
1380
1476
|
export const mapError = /*#__PURE__*/dual(2, (self, f) => catch_(self, error => failSync(() => f(error))));
|
|
1381
|
-
|
|
1477
|
+
/** @internal */
|
|
1382
1478
|
export const mapBoth = /*#__PURE__*/dual(2, (self, options) => matchEffect(self, {
|
|
1383
1479
|
onFailure: e => failSync(() => options.onFailure(e)),
|
|
1384
1480
|
onSuccess: a => sync(() => options.onSuccess(a))
|
|
@@ -1448,20 +1544,17 @@ export const result = self => matchEager(self, {
|
|
|
1448
1544
|
// pattern matching
|
|
1449
1545
|
// ----------------------------------------------------------------------------
|
|
1450
1546
|
/** @internal */
|
|
1451
|
-
export const matchCauseEffect = /*#__PURE__*/dual(2, (self, options) =>
|
|
1452
|
-
const primitive = Object.create(OnSuccessAndFailureProto);
|
|
1453
|
-
primitive[args] = self;
|
|
1454
|
-
primitive[contA] = options.onSuccess.length !== 1 ? a => options.onSuccess(a) : options.onSuccess;
|
|
1455
|
-
primitive[contE] = options.onFailure.length !== 1 ? cause => options.onFailure(cause) : options.onFailure;
|
|
1456
|
-
return primitive;
|
|
1457
|
-
});
|
|
1547
|
+
export const matchCauseEffect = /*#__PURE__*/dual(2, (self, options) => new OnSuccessAndFailureImpl(self, options.onSuccess.length !== 1 ? a => options.onSuccess(a) : options.onSuccess, options.onFailure.length !== 1 ? cause => options.onFailure(cause) : options.onFailure));
|
|
1458
1548
|
const OnSuccessAndFailureProto = /*#__PURE__*/makePrimitiveProto({
|
|
1459
1549
|
op: "OnSuccessAndFailure",
|
|
1460
|
-
[evaluate]
|
|
1461
|
-
fiber._stack.push(this);
|
|
1462
|
-
return this[args];
|
|
1463
|
-
}
|
|
1550
|
+
[evaluate]: evaluateCont
|
|
1464
1551
|
});
|
|
1552
|
+
const OnSuccessAndFailureImpl = function (self, onSuccess, onFailure) {
|
|
1553
|
+
this[args] = self;
|
|
1554
|
+
this[contA] = onSuccess;
|
|
1555
|
+
this[contE] = onFailure;
|
|
1556
|
+
};
|
|
1557
|
+
OnSuccessAndFailureImpl.prototype = OnSuccessAndFailureProto;
|
|
1465
1558
|
/** @internal */
|
|
1466
1559
|
export const matchCause = /*#__PURE__*/dual(2, (self, options) => matchCauseEffect(self, {
|
|
1467
1560
|
onFailure: cause => sync(() => options.onFailure(cause)),
|
|
@@ -1532,12 +1625,17 @@ export const isSuccess = /*#__PURE__*/matchEager({
|
|
|
1532
1625
|
/** @internal */
|
|
1533
1626
|
export const delay = /*#__PURE__*/dual(2, (self, duration) => andThen(sleep(duration), self));
|
|
1534
1627
|
/** @internal */
|
|
1535
|
-
export const timeoutOrElse = /*#__PURE__*/dual(2, (self, options) =>
|
|
1628
|
+
export const timeoutOrElse = /*#__PURE__*/dual(2, (self, options) => flatMap(timeoutOption(self, options.duration), option => Option.isNone(option) ? options.orElse() : succeed(option.value)));
|
|
1536
1629
|
/** @internal */
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1630
|
+
const timeoutErrorFromDuration = duration => new TimeoutError(`Operation timed out after '${Duration.format(duration)}'`);
|
|
1631
|
+
/** @internal */
|
|
1632
|
+
export const timeout = /*#__PURE__*/dual(2, (self, duration) => {
|
|
1633
|
+
const decoded = Duration.fromInputUnsafe(duration);
|
|
1634
|
+
return timeoutOrElse(self, {
|
|
1635
|
+
duration: decoded,
|
|
1636
|
+
orElse: () => fail(timeoutErrorFromDuration(decoded))
|
|
1637
|
+
});
|
|
1638
|
+
});
|
|
1541
1639
|
/** @internal */
|
|
1542
1640
|
export const timeoutOption = /*#__PURE__*/dual(2, (self, duration) => raceFirst(asSome(self), as(sleep(duration), Option.none())));
|
|
1543
1641
|
/** @internal */
|
|
@@ -1567,11 +1665,13 @@ export const scopeCloseUnsafe = (self, exit_) => {
|
|
|
1567
1665
|
self.state = closed;
|
|
1568
1666
|
return;
|
|
1569
1667
|
}
|
|
1570
|
-
const
|
|
1571
|
-
finalizers
|
|
1572
|
-
} = self.state;
|
|
1668
|
+
const state = self.state;
|
|
1573
1669
|
self.state = closed;
|
|
1574
|
-
if (
|
|
1670
|
+
if (state.finalizer !== undefined) {
|
|
1671
|
+
return state.finalizer(exit_);
|
|
1672
|
+
}
|
|
1673
|
+
const finalizers = state.finalizers;
|
|
1674
|
+
if (finalizers === undefined || finalizers.size === 0) {
|
|
1575
1675
|
return;
|
|
1576
1676
|
} else if (finalizers.size === 1) {
|
|
1577
1677
|
return finalizers.values().next().value(exit_);
|
|
@@ -1628,19 +1728,40 @@ export const scopeAddFinalizerUnsafe = (scope, key, finalizer) => {
|
|
|
1628
1728
|
if (scope.state._tag === "Empty") {
|
|
1629
1729
|
scope.state = {
|
|
1630
1730
|
_tag: "Open",
|
|
1631
|
-
|
|
1731
|
+
finalizerKey: key,
|
|
1732
|
+
finalizer,
|
|
1733
|
+
finalizers: undefined
|
|
1632
1734
|
};
|
|
1633
1735
|
} else if (scope.state._tag === "Open") {
|
|
1634
|
-
scope.state
|
|
1736
|
+
const state = scope.state;
|
|
1737
|
+
if (state.finalizer !== undefined) {
|
|
1738
|
+
state.finalizers = new Map([[state.finalizerKey, state.finalizer]]);
|
|
1739
|
+
state.finalizerKey = undefined;
|
|
1740
|
+
state.finalizer = undefined;
|
|
1741
|
+
state.finalizers.set(key, finalizer);
|
|
1742
|
+
} else if (state.finalizers === undefined) {
|
|
1743
|
+
state.finalizerKey = key;
|
|
1744
|
+
state.finalizer = finalizer;
|
|
1745
|
+
} else {
|
|
1746
|
+
state.finalizers.set(key, finalizer);
|
|
1747
|
+
}
|
|
1635
1748
|
}
|
|
1636
1749
|
};
|
|
1637
1750
|
/** @internal */
|
|
1638
1751
|
export const scopeRemoveFinalizerUnsafe = (scope, key) => {
|
|
1639
1752
|
if (scope.state._tag === "Open") {
|
|
1640
|
-
scope.state
|
|
1753
|
+
const state = scope.state;
|
|
1754
|
+
if (state.finalizerKey === key) {
|
|
1755
|
+
state.finalizerKey = undefined;
|
|
1756
|
+
state.finalizer = undefined;
|
|
1757
|
+
} else if (state.finalizers !== undefined) {
|
|
1758
|
+
state.finalizers.delete(key);
|
|
1759
|
+
}
|
|
1641
1760
|
}
|
|
1642
1761
|
};
|
|
1643
1762
|
/** @internal */
|
|
1763
|
+
export const scopeFinalizerCountUnsafe = scope => scope.state._tag !== "Open" ? 0 : scope.state.finalizer !== undefined ? 1 : scope.state.finalizers?.size ?? 0;
|
|
1764
|
+
/** @internal */
|
|
1644
1765
|
export const scopeMakeUnsafe = (finalizerStrategy = "sequential") => ({
|
|
1645
1766
|
[ScopeCloseableTypeId]: ScopeCloseableTypeId,
|
|
1646
1767
|
[ScopeTypeId]: ScopeTypeId,
|
|
@@ -1678,30 +1799,40 @@ export const acquireRelease = (acquire, release, options) => contextWith(context
|
|
|
1678
1799
|
/** @internal */
|
|
1679
1800
|
export const addFinalizer = finalizer => flatMap(scope, scope => contextWith(context => scopeAddFinalizerExit(scope, exit => provideContext(finalizer(exit), context))));
|
|
1680
1801
|
/** @internal */
|
|
1681
|
-
export const onExitPrimitive = /*#__PURE__*/
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1802
|
+
export const onExitPrimitive = /*#__PURE__*/function () {
|
|
1803
|
+
const Proto = /*#__PURE__*/makePrimitiveProto({
|
|
1804
|
+
op: "OnExit",
|
|
1805
|
+
[evaluate](fiber) {
|
|
1806
|
+
fiber._stack.push(this);
|
|
1807
|
+
return this.effect;
|
|
1808
|
+
},
|
|
1809
|
+
[contAll](fiber) {
|
|
1810
|
+
if (fiber.interruptible && this.interruptible !== true) {
|
|
1811
|
+
fiber._stack.push(setInterruptibleTrue);
|
|
1812
|
+
fiber.interruptible = false;
|
|
1813
|
+
}
|
|
1814
|
+
},
|
|
1815
|
+
[contA](value, _, exit) {
|
|
1816
|
+
exit ??= exitSucceed(value);
|
|
1817
|
+
const eff = this.onExit(exit);
|
|
1818
|
+
return eff ? flatMap(eff, _ => exit) : exit;
|
|
1819
|
+
},
|
|
1820
|
+
[contE](cause, _, exit) {
|
|
1821
|
+
exit ??= exitFailCause(cause);
|
|
1822
|
+
const eff = this.onExit(exit);
|
|
1823
|
+
return eff ? flatMap(combineFinalizerCause(exit, eff), _ => exit) : exit;
|
|
1692
1824
|
}
|
|
1693
|
-
}
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
}
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
});
|
|
1825
|
+
});
|
|
1826
|
+
const OnExitImpl = function (effect, onExit, interruptible) {
|
|
1827
|
+
this.effect = effect;
|
|
1828
|
+
this.onExit = onExit;
|
|
1829
|
+
this.interruptible = interruptible;
|
|
1830
|
+
};
|
|
1831
|
+
OnExitImpl.prototype = Proto;
|
|
1832
|
+
return function (effect, onExit, interruptible) {
|
|
1833
|
+
return new OnExitImpl(effect, onExit, interruptible);
|
|
1834
|
+
};
|
|
1835
|
+
}();
|
|
1705
1836
|
/** @internal */
|
|
1706
1837
|
export const onExit = /*#__PURE__*/dual(2, onExitPrimitive);
|
|
1707
1838
|
/** @internal */
|
|
@@ -1738,7 +1869,7 @@ export const onErrorFilter = /*#__PURE__*/dual(3, (self, filter, f) => onExit(se
|
|
|
1738
1869
|
/** @internal */
|
|
1739
1870
|
export const onInterrupt = /*#__PURE__*/dual(2, (self, finalizer) => onErrorFilter(causeFilterInterruptors, finalizer)(self));
|
|
1740
1871
|
/** @internal */
|
|
1741
|
-
export const acquireUseRelease = (acquire, use, release) => uninterruptibleMask(restore => flatMap(acquire, a => onExitPrimitive(restore(use(a)), exit => release(a, exit), true)));
|
|
1872
|
+
export const acquireUseRelease = (acquire, use, release) => uninterruptibleMask(restore => flatMap(acquire, a => onExitPrimitive(suspend(() => restore(use(a))), exit => release(a, exit), true)));
|
|
1742
1873
|
/** @internal */
|
|
1743
1874
|
export const acquireDisposable = acquire => acquireRelease(acquire, resource => hasProperty(resource, Symbol.asyncDispose) ? promise(() => resource[Symbol.asyncDispose]()) : sync(() => resource[Symbol.dispose]()));
|
|
1744
1875
|
// ----------------------------------------------------------------------------
|
|
@@ -1775,7 +1906,21 @@ export const cachedInvalidateWithTTL = /*#__PURE__*/dual(2, (self, ttl) => sync(
|
|
|
1775
1906
|
/** @internal */
|
|
1776
1907
|
export const cachedWithTTL = /*#__PURE__*/dual(2, (self, timeToLive) => map(cachedInvalidateWithTTL(self, timeToLive), tuple => tuple[0]));
|
|
1777
1908
|
/** @internal */
|
|
1778
|
-
export const cached = self =>
|
|
1909
|
+
export const cached = self => sync(() => {
|
|
1910
|
+
const latch = makeLatchUnsafe(false);
|
|
1911
|
+
let started = false;
|
|
1912
|
+
let exit;
|
|
1913
|
+
const wait = flatMap(latch.await, () => exit);
|
|
1914
|
+
return suspend(() => {
|
|
1915
|
+
if (exit !== undefined) return exit;
|
|
1916
|
+
if (started) return wait;
|
|
1917
|
+
started = true;
|
|
1918
|
+
return onExit(self, result => sync(() => {
|
|
1919
|
+
exit = result;
|
|
1920
|
+
latch.openUnsafe();
|
|
1921
|
+
}));
|
|
1922
|
+
});
|
|
1923
|
+
});
|
|
1779
1924
|
// ----------------------------------------------------------------------------
|
|
1780
1925
|
// interruption
|
|
1781
1926
|
// ----------------------------------------------------------------------------
|
|
@@ -1804,6 +1949,30 @@ const setFiberInterruptible = fiber => {
|
|
|
1804
1949
|
fiber._stack.push(setInterruptibleFalse);
|
|
1805
1950
|
if (fiber._interruptedCause) return failCause(fiber._interruptedCause);
|
|
1806
1951
|
};
|
|
1952
|
+
/**
|
|
1953
|
+
* Makes the current fiber uninterruptible for the returned effect without an
|
|
1954
|
+
* extra primitive. Call only within `withFiber`.
|
|
1955
|
+
*
|
|
1956
|
+
* @internal
|
|
1957
|
+
*/
|
|
1958
|
+
export const fiberEnterUninterruptibleUnsafe = fiber => {
|
|
1959
|
+
const impl = fiber;
|
|
1960
|
+
if (!impl.interruptible) return;
|
|
1961
|
+
impl.interruptible = false;
|
|
1962
|
+
impl._stack.push(setInterruptibleTrue);
|
|
1963
|
+
};
|
|
1964
|
+
/**
|
|
1965
|
+
* Makes the current fiber interruptible for the returned effect without an
|
|
1966
|
+
* extra primitive. Call only within `withFiber` and return any pending
|
|
1967
|
+
* interruption it produces.
|
|
1968
|
+
*
|
|
1969
|
+
* @internal
|
|
1970
|
+
*/
|
|
1971
|
+
export const fiberEnterInterruptibleUnsafe = fiber => {
|
|
1972
|
+
const impl = fiber;
|
|
1973
|
+
if (impl.interruptible) return undefined;
|
|
1974
|
+
return setFiberInterruptible(impl);
|
|
1975
|
+
};
|
|
1807
1976
|
/** @internal */
|
|
1808
1977
|
export const interruptible = self => withFiber(fiber => {
|
|
1809
1978
|
if (fiber.interruptible) return self;
|
|
@@ -1932,8 +2101,7 @@ export const whileLoop = /*#__PURE__*/makePrimitive({
|
|
|
1932
2101
|
});
|
|
1933
2102
|
/** @internal */
|
|
1934
2103
|
export const forEach = /*#__PURE__*/dual(args => typeof args[1] === "function", (iterable, f, options) => suspend(() => {
|
|
1935
|
-
const
|
|
1936
|
-
const concurrency = concurrencyOption === "unbounded" ? Number.POSITIVE_INFINITY : Math.max(1, concurrencyOption);
|
|
2104
|
+
const concurrency = resolveConcurrency(options?.concurrency);
|
|
1937
2105
|
if (concurrency === 1) {
|
|
1938
2106
|
return forEachSequential(iterable, f, options);
|
|
1939
2107
|
}
|
|
@@ -1970,10 +2138,13 @@ const forEachSequential = (iterable, f, options) => suspend(() => {
|
|
|
1970
2138
|
}
|
|
1971
2139
|
}), out);
|
|
1972
2140
|
});
|
|
1973
|
-
|
|
2141
|
+
/** @internal */
|
|
2142
|
+
export const resolveConcurrency = concurrency => concurrency === "unbounded" ? Number.POSITIVE_INFINITY : Math.max(1, concurrency ?? 1);
|
|
2143
|
+
/** @internal */
|
|
2144
|
+
export const iterateEager = () => options => {
|
|
1974
2145
|
const onItem = options.onItem;
|
|
1975
2146
|
const step = options.step;
|
|
1976
|
-
const runSequential = (state, items, index, end) => {
|
|
2147
|
+
const runSequential = (state, items, index = 0, end = items.length) => {
|
|
1977
2148
|
for (; index < end; index++) {
|
|
1978
2149
|
const item = items[index];
|
|
1979
2150
|
const effect = onItem(state, item, index);
|
|
@@ -1984,14 +2155,15 @@ const iterateEagerImpl = options => {
|
|
|
1984
2155
|
if (terminal) return terminal._tag === "Failure" ? terminal : undefined;
|
|
1985
2156
|
}
|
|
1986
2157
|
};
|
|
2158
|
+
return runSequential;
|
|
2159
|
+
};
|
|
2160
|
+
const iterateConcurrentImpl = options => {
|
|
2161
|
+
const onItem = options.onItem;
|
|
2162
|
+
const step = options.step;
|
|
1987
2163
|
return (state, items, opts) => {
|
|
1988
2164
|
let index = 0;
|
|
1989
|
-
const end = opts
|
|
1990
|
-
const concurrency = opts
|
|
1991
|
-
if (concurrency === 1) {
|
|
1992
|
-
return runSequential(state, items, 0, end);
|
|
1993
|
-
}
|
|
1994
|
-
const orderedStep = opts?.orderedStep === true && concurrency > 1;
|
|
2165
|
+
const end = opts.end ?? items.length;
|
|
2166
|
+
const concurrency = opts.concurrency;
|
|
1995
2167
|
let done = false;
|
|
1996
2168
|
let parentFiber;
|
|
1997
2169
|
let fibers;
|
|
@@ -1999,8 +2171,6 @@ const iterateEagerImpl = options => {
|
|
|
1999
2171
|
let interrupted = false;
|
|
2000
2172
|
let terminal;
|
|
2001
2173
|
let effect;
|
|
2002
|
-
let nextIndex = index;
|
|
2003
|
-
const exits = orderedStep ? new Array(end) : undefined;
|
|
2004
2174
|
const failDefect = error => {
|
|
2005
2175
|
const defect = exitDie(error);
|
|
2006
2176
|
terminal = defect;
|
|
@@ -2008,19 +2178,6 @@ const iterateEagerImpl = options => {
|
|
|
2008
2178
|
interrupted = true;
|
|
2009
2179
|
return fibers && fibers.size > 0 ? flatMap(uninterruptible(fiberInterruptAll(Array.from(fibers))), () => defect) : defect;
|
|
2010
2180
|
};
|
|
2011
|
-
const runStep = (item, exit, currentIndex) => {
|
|
2012
|
-
if (!orderedStep) return step(state, item, exit, currentIndex);
|
|
2013
|
-
if (terminal) return terminal;
|
|
2014
|
-
exits[currentIndex] = exit;
|
|
2015
|
-
while (nextIndex < end) {
|
|
2016
|
-
const nextExit = exits[nextIndex];
|
|
2017
|
-
if (nextExit === undefined) return;
|
|
2018
|
-
exits[nextIndex] = undefined;
|
|
2019
|
-
const index = nextIndex++;
|
|
2020
|
-
const result = step(state, items[index], nextExit, index);
|
|
2021
|
-
if (result) return result;
|
|
2022
|
-
}
|
|
2023
|
-
};
|
|
2024
2181
|
const go = () => {
|
|
2025
2182
|
let paused = false;
|
|
2026
2183
|
for (; !terminal && index < end; index++) {
|
|
@@ -2028,7 +2185,7 @@ const iterateEagerImpl = options => {
|
|
|
2028
2185
|
const eff = effect ?? onItem(state, item, index);
|
|
2029
2186
|
// fast case (already an exit)
|
|
2030
2187
|
if (effectIsExit(eff)) {
|
|
2031
|
-
terminal =
|
|
2188
|
+
terminal = step(state, item, eff, index);
|
|
2032
2189
|
if (terminal) break;
|
|
2033
2190
|
// We have an effect, so enter "async" mode
|
|
2034
2191
|
} else if (!parentFiber) {
|
|
@@ -2056,7 +2213,7 @@ const iterateEagerImpl = options => {
|
|
|
2056
2213
|
effect = undefined;
|
|
2057
2214
|
const fiber = forkUnsafe(parentFiber, eff, true, true, "inherit");
|
|
2058
2215
|
if (fiber._exit) {
|
|
2059
|
-
terminal =
|
|
2216
|
+
terminal = step(state, item, fiber._exit, index);
|
|
2060
2217
|
if (terminal) break;
|
|
2061
2218
|
continue;
|
|
2062
2219
|
}
|
|
@@ -2078,7 +2235,7 @@ const iterateEagerImpl = options => {
|
|
|
2078
2235
|
}
|
|
2079
2236
|
}
|
|
2080
2237
|
} else {
|
|
2081
|
-
const result =
|
|
2238
|
+
const result = step(state, item, exit, currentIndex);
|
|
2082
2239
|
if (result) {
|
|
2083
2240
|
terminal = result._tag === "Failure" ? exitFailCause(causeFromReasons(result.cause.reasons.slice())) : result;
|
|
2084
2241
|
go();
|
|
@@ -2123,8 +2280,8 @@ const iterateEagerImpl = options => {
|
|
|
2123
2280
|
};
|
|
2124
2281
|
};
|
|
2125
2282
|
/** @internal */
|
|
2126
|
-
export const
|
|
2127
|
-
const forEachConcurrent = /*#__PURE__*/
|
|
2283
|
+
export const iterateConcurrent = () => options => iterateConcurrentImpl(options);
|
|
2284
|
+
const forEachConcurrent = /*#__PURE__*/iterateConcurrentImpl({
|
|
2128
2285
|
onItem(state, item, index) {
|
|
2129
2286
|
return state.f(item, index);
|
|
2130
2287
|
},
|
|
@@ -2134,14 +2291,14 @@ const forEachConcurrent = /*#__PURE__*/iterateEagerImpl({
|
|
|
2134
2291
|
}
|
|
2135
2292
|
}
|
|
2136
2293
|
});
|
|
2137
|
-
|
|
2294
|
+
/** @internal */
|
|
2138
2295
|
export const filterOrElse = /*#__PURE__*/dual(3, (self, predicate, orElse) => flatMap(self, a => predicate(a) ? succeed(a) : orElse(a)));
|
|
2139
2296
|
/** @internal */
|
|
2140
2297
|
export const filterMapOrElse = /*#__PURE__*/dual(3, (self, filter, orElse) => flatMap(self, a => {
|
|
2141
2298
|
const result = filter(a);
|
|
2142
2299
|
return Result.isFailure(result) ? orElse(result.failure) : succeed(result.success);
|
|
2143
2300
|
}));
|
|
2144
|
-
|
|
2301
|
+
/** @internal */
|
|
2145
2302
|
export const filterMapOrFail = /*#__PURE__*/dual(args => isEffect(args[0]), (self, filter, orFailWith) => filterMapOrElse(self, filter, orFailWith ? x => fail(orFailWith(x)) : () => fail(new NoSuchElementError())));
|
|
2146
2303
|
/** @internal */
|
|
2147
2304
|
export const filter = /*#__PURE__*/dual(args => isIterable(args[0]) && !isEffect(args[0]), (elements, predicate, options) => suspend(() => {
|
|
@@ -2218,7 +2375,7 @@ export const forkUnsafe = (parent, effect, immediate = false, daemon = false, un
|
|
|
2218
2375
|
}
|
|
2219
2376
|
if (!daemon && !child._exit) {
|
|
2220
2377
|
parentRuntime.children().add(child);
|
|
2221
|
-
child.
|
|
2378
|
+
child._parent = parentRuntime;
|
|
2222
2379
|
}
|
|
2223
2380
|
return child;
|
|
2224
2381
|
};
|
|
@@ -2485,7 +2642,7 @@ const filterDisablePropagation = span => {
|
|
|
2485
2642
|
/** @internal */
|
|
2486
2643
|
export const makeSpanUnsafe = (fiber, name, options) => {
|
|
2487
2644
|
const disablePropagation = !fiber.getRef(TracerEnabled) || options?.annotations && Context.get(options.annotations, Tracer.DisablePropagation);
|
|
2488
|
-
const parent = options?.parent !== undefined ? Option.some(options.parent) : options?.root ? Option.none() : filterDisablePropagation(fiber.
|
|
2645
|
+
const parent = options?.parent !== undefined ? Option.some(options.parent) : options?.root ? Option.none() : filterDisablePropagation(fiber.cache.span);
|
|
2489
2646
|
let span;
|
|
2490
2647
|
if (disablePropagation) {
|
|
2491
2648
|
span = noopSpan({
|
|
@@ -2506,7 +2663,7 @@ export const makeSpanUnsafe = (fiber, name, options) => {
|
|
|
2506
2663
|
parent,
|
|
2507
2664
|
annotations: options?.annotations ?? Context.empty(),
|
|
2508
2665
|
links,
|
|
2509
|
-
startTime: timingEnabled ? clock.currentTimeNanosUnsafe() :
|
|
2666
|
+
startTime: timingEnabled ? clock.currentTimeNanosUnsafe() : bigint0,
|
|
2510
2667
|
kind: options?.kind ?? "internal",
|
|
2511
2668
|
root: options?.root ?? Option.isNone(parent),
|
|
2512
2669
|
sampled: options?.sampled ?? (Option.isSome(parent) && parent.value.sampled === false ? false : !isLogLevelGreaterThan(fiber.getRef(Tracer.MinimumTraceLevel), level))
|
|
@@ -2577,7 +2734,7 @@ export const useSpan = (name, ...args) => {
|
|
|
2577
2734
|
const span = makeSpanUnsafe(fiber, name, options);
|
|
2578
2735
|
const clock = fiber.getRef(ClockRef);
|
|
2579
2736
|
const timingEnabled = fiber.getRef(TracerTimingEnabled);
|
|
2580
|
-
return onExit(internalCall(() => evaluate(span)), exit => endSpan(span, exit, clock, timingEnabled));
|
|
2737
|
+
return onExit(suspend(() => internalCall(() => evaluate(span))), exit => endSpan(span, exit, clock, timingEnabled));
|
|
2581
2738
|
});
|
|
2582
2739
|
};
|
|
2583
2740
|
const provideParentSpan = /*#__PURE__*/provideService(Tracer.ParentSpan);
|
|
@@ -2798,7 +2955,7 @@ export class UnknownError extends /*#__PURE__*/TaggedError("UnknownError") {
|
|
|
2798
2955
|
// Console
|
|
2799
2956
|
// ----------------------------------------------------------------------------
|
|
2800
2957
|
/** @internal */
|
|
2801
|
-
export const ConsoleRef = /*#__PURE__*/Context.Reference("effect/Console
|
|
2958
|
+
export const ConsoleRef = /*#__PURE__*/Context.Reference("effect/Console", {
|
|
2802
2959
|
defaultValue: () => globalThis.console
|
|
2803
2960
|
});
|
|
2804
2961
|
// ----------------------------------------------------------------------------
|
|
@@ -2833,7 +2990,7 @@ export const isLogLevelGreaterThan = /*#__PURE__*/Order.isGreaterThan(LogLevelOr
|
|
|
2833
2990
|
// Logger
|
|
2834
2991
|
// ----------------------------------------------------------------------------
|
|
2835
2992
|
/** @internal */
|
|
2836
|
-
export const CurrentLoggers = /*#__PURE__*/Context.Reference("effect/
|
|
2993
|
+
export const CurrentLoggers = /*#__PURE__*/Context.Reference("effect/Logger/CurrentLoggers", {
|
|
2837
2994
|
defaultValue: () => new Set([defaultLogger, tracerLogger])
|
|
2838
2995
|
});
|
|
2839
2996
|
/** @internal */
|
|
@@ -2860,7 +3017,7 @@ export const annotateLogsScoped = function () {
|
|
|
2860
3017
|
};
|
|
2861
3018
|
for (let i = 0; i < entries.length; i++) {
|
|
2862
3019
|
const [key, value] = entries[i];
|
|
2863
|
-
if (current[key] !== value) continue;
|
|
3020
|
+
if (current[key] !== value && !Object.is(current[key], value)) continue;
|
|
2864
3021
|
if (Object.hasOwn(prev, key)) {
|
|
2865
3022
|
InternalRecord.assignProperty(next, key, prev[key]);
|
|
2866
3023
|
} else {
|
|
@@ -2939,8 +3096,8 @@ export const logWithLevel = level => (...message) => {
|
|
|
2939
3096
|
cause = causeEmpty;
|
|
2940
3097
|
}
|
|
2941
3098
|
return withFiber(fiber => {
|
|
2942
|
-
const logLevel = level ?? fiber.
|
|
2943
|
-
if (isLogLevelGreaterThan(fiber.minimumLogLevel, logLevel)) {
|
|
3099
|
+
const logLevel = level ?? fiber.cache.logLevel;
|
|
3100
|
+
if (isLogLevelGreaterThan(fiber.cache.minimumLogLevel, logLevel)) {
|
|
2944
3101
|
return void_;
|
|
2945
3102
|
}
|
|
2946
3103
|
const clock = fiber.getRef(ClockRef);
|
|
@@ -3007,24 +3164,22 @@ export const consolePretty = options => {
|
|
|
3007
3164
|
// property accesses, which bundlers must retain as possible side effects
|
|
3008
3165
|
const process = globalThis.process;
|
|
3009
3166
|
const hasProcessStdout = typeof process?.stdout === "object" && process.stdout !== null;
|
|
3010
|
-
const
|
|
3011
|
-
const
|
|
3012
|
-
const
|
|
3013
|
-
|
|
3014
|
-
const isBrowser = mode === "browser";
|
|
3015
|
-
const showColors = typeof options?.colors === "boolean" ? options.colors : processStdoutIsTTY || isBrowser;
|
|
3016
|
-
const formatDate = options?.formatDate ?? defaultDateFormat;
|
|
3017
|
-
return isBrowser ? prettyLoggerBrowser({
|
|
3018
|
-
colors: showColors,
|
|
3019
|
-
formatDate
|
|
3020
|
-
}) : prettyLoggerTty({
|
|
3021
|
-
colors: showColors,
|
|
3022
|
-
formatDate
|
|
3023
|
-
});
|
|
3167
|
+
const isDeno = "Deno" in globalThis;
|
|
3168
|
+
const mode = options?.mode ?? "auto";
|
|
3169
|
+
const isTtyLogger = mode === "auto" ? hasProcessStdout || isDeno : mode === "tty";
|
|
3170
|
+
return isTtyLogger ? prettyLoggerTty(options) : prettyLoggerBrowser(options);
|
|
3024
3171
|
};
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
const
|
|
3172
|
+
/** @internal */
|
|
3173
|
+
export const prettyLoggerTty = options => {
|
|
3174
|
+
const formatDate = options?.formatDate ?? defaultDateFormat;
|
|
3175
|
+
// evaluated lazily so the module-level bundle stays free of `process`
|
|
3176
|
+
// property accesses, which bundlers must retain as possible side effects
|
|
3177
|
+
const process = globalThis.process;
|
|
3178
|
+
const hasProcessStdout = typeof process?.stdout === "object" && process.stdout !== null;
|
|
3179
|
+
const processStdoutIsTTY = hasProcessStdout && process.stdout.isTTY === true;
|
|
3180
|
+
const showColors = typeof options?.colors === "boolean" ? options.colors : processStdoutIsTTY;
|
|
3181
|
+
const color = showColors ? withColor : withColorNoop;
|
|
3182
|
+
const processIsBun = process?.isBun === true;
|
|
3028
3183
|
return loggerMake(({
|
|
3029
3184
|
cause,
|
|
3030
3185
|
date,
|
|
@@ -3036,7 +3191,7 @@ const prettyLoggerTty = options => {
|
|
|
3036
3191
|
// oxlint-disable-next-line no-console
|
|
3037
3192
|
const log = fiber.getRef(LogToStderr) ? console.error : console.log;
|
|
3038
3193
|
const message = Array.isArray(message_) ? message_.slice() : [message_];
|
|
3039
|
-
let firstLine = color(`[${
|
|
3194
|
+
let firstLine = color(`[${formatDate(date)}]`, colors.white) + ` ${color(logLevel.toUpperCase(), ...logLevelColors[logLevel])}` + ` (#${fiber.id})`;
|
|
3040
3195
|
const now = date.getTime();
|
|
3041
3196
|
const spans = fiber.getRef(CurrentLogSpans);
|
|
3042
3197
|
for (const span of spans) {
|
|
@@ -3070,8 +3225,11 @@ const prettyLoggerTty = options => {
|
|
|
3070
3225
|
if (!processIsBun) console.groupEnd();
|
|
3071
3226
|
});
|
|
3072
3227
|
};
|
|
3073
|
-
|
|
3074
|
-
|
|
3228
|
+
/** @internal */
|
|
3229
|
+
export const prettyLoggerBrowser = options => {
|
|
3230
|
+
const showColors = options?.colors !== false;
|
|
3231
|
+
const color = showColors ? "%c" : "";
|
|
3232
|
+
const formatDate = options?.formatDate ?? defaultDateFormat;
|
|
3075
3233
|
return loggerMake(({
|
|
3076
3234
|
cause,
|
|
3077
3235
|
date,
|
|
@@ -3081,13 +3239,13 @@ const prettyLoggerBrowser = options => {
|
|
|
3081
3239
|
}) => {
|
|
3082
3240
|
const console = fiber.getRef(ConsoleRef);
|
|
3083
3241
|
const message = Array.isArray(message_) ? message_.slice() : [message_];
|
|
3084
|
-
let firstLine = `${color}[${
|
|
3242
|
+
let firstLine = `${color}[${formatDate(date)}]`;
|
|
3085
3243
|
const firstParams = [];
|
|
3086
|
-
if (
|
|
3244
|
+
if (showColors) {
|
|
3087
3245
|
firstParams.push("color:gray");
|
|
3088
3246
|
}
|
|
3089
3247
|
firstLine += ` ${color}${logLevel.toUpperCase()}${color} (#${fiber.id})`;
|
|
3090
|
-
if (
|
|
3248
|
+
if (showColors) {
|
|
3091
3249
|
firstParams.push(logLevelStyle[logLevel], "");
|
|
3092
3250
|
}
|
|
3093
3251
|
const now = date.getTime();
|
|
@@ -3101,7 +3259,7 @@ const prettyLoggerBrowser = options => {
|
|
|
3101
3259
|
const firstMaybeString = structuredMessage(message[0]);
|
|
3102
3260
|
if (typeof firstMaybeString === "string") {
|
|
3103
3261
|
firstLine += ` ${color}${firstMaybeString}`;
|
|
3104
|
-
if (
|
|
3262
|
+
if (showColors) {
|
|
3105
3263
|
firstParams.push("color:deepskyblue");
|
|
3106
3264
|
}
|
|
3107
3265
|
messageIndex++;
|
|
@@ -3122,7 +3280,7 @@ const prettyLoggerBrowser = options => {
|
|
|
3122
3280
|
const annotations = fiber.getRef(CurrentLogAnnotations);
|
|
3123
3281
|
for (const [key, value] of Object.entries(annotations)) {
|
|
3124
3282
|
const redacted = redact(value);
|
|
3125
|
-
if (
|
|
3283
|
+
if (showColors) {
|
|
3126
3284
|
// oxlint-disable-next-line no-console
|
|
3127
3285
|
console.log(`%c${key}:`, "color:gray", redacted);
|
|
3128
3286
|
} else {
|
|
@@ -3170,7 +3328,7 @@ export const tracerLogger = /*#__PURE__*/loggerMake(({
|
|
|
3170
3328
|
}) => {
|
|
3171
3329
|
const clock = fiber.getRef(ClockRef);
|
|
3172
3330
|
const annotations = fiber.getRef(CurrentLogAnnotations);
|
|
3173
|
-
const span = fiber.
|
|
3331
|
+
const span = fiber.cache.span;
|
|
3174
3332
|
if (span === undefined || span._tag === "ExternalSpan") return;
|
|
3175
3333
|
const attributes = {};
|
|
3176
3334
|
for (const [key, value] of Object.entries(annotations)) {
|