effect 4.0.0-beta.5 → 4.0.0-beta.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Array.d.ts +213 -385
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +149 -102
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +82 -45
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +105 -52
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +39 -32
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +36 -33
- package/dist/BigInt.js.map +1 -1
- package/dist/Brand.d.ts +3 -5
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +1 -1
- package/dist/Brand.js.map +1 -1
- package/dist/Cache.d.ts +14 -45
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +21 -47
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +54 -23
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +108 -10
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +166 -48
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +182 -91
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +112 -304
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +56 -88
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +2 -2
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +280 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +198 -7
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +171 -11
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +69 -11
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +6 -6
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +5 -5
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +2 -2
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +1150 -0
- package/dist/Context.d.ts.map +1 -0
- package/dist/{ServiceMap.js → Context.js} +181 -165
- package/dist/Context.js.map +1 -0
- package/dist/Cron.d.ts +11 -7
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +120 -63
- package/dist/Cron.js.map +1 -1
- package/dist/Data.d.ts +535 -366
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +132 -79
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +74 -255
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +17 -62
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +12 -5
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +13 -5
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +62 -32
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +109 -79
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +1377 -1147
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +465 -446
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +194 -0
- package/dist/Encoding.d.ts.map +1 -0
- package/dist/Encoding.js +352 -0
- package/dist/Encoding.js.map +1 -0
- package/dist/Equal.d.ts +276 -109
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +140 -48
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +60 -3
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +70 -13
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +374 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +245 -0
- package/dist/ErrorReporter.js.map +1 -0
- package/dist/ExecutionPlan.d.ts +6 -6
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +4 -4
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +24 -12
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +8 -4
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +10 -8
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +11 -10
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +12 -11
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +22 -21
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +10 -10
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +2 -2
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +4 -4
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +20 -19
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +17 -13
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +4 -37
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +0 -13
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +229 -51
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +1 -9
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +2 -10
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +65 -65
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +60 -62
- package/dist/Graph.js.map +1 -1
- package/dist/Hash.js +1 -1
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +26 -19
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +7 -5
- package/dist/HashMap.js.map +1 -1
- package/dist/Iterable.d.ts +50 -50
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +106 -34
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonSchema.d.ts +299 -10
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +323 -4
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +175 -0
- package/dist/Latch.d.ts.map +1 -0
- package/dist/Latch.js +130 -0
- package/dist/Latch.js.map +1 -0
- package/dist/Layer.d.ts +599 -379
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +249 -180
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +27 -26
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +21 -18
- package/dist/LayerMap.js.map +1 -1
- package/dist/LogLevel.d.ts +32 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +31 -97
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +2 -3
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +8 -8
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +34 -25
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Metric.d.ts +23 -25
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +24 -26
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +7 -0
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +8 -0
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +7 -0
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +8 -0
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +3 -0
- package/dist/MutableList.js.map +1 -1
- package/dist/Newtype.d.ts +291 -0
- package/dist/Newtype.d.ts.map +1 -0
- package/dist/Newtype.js +161 -0
- package/dist/Newtype.js.map +1 -0
- package/dist/Number.d.ts +74 -18
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +46 -18
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +947 -18
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +454 -5
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +25 -16
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +15 -9
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +6 -1
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +19 -14
- package/dist/Order.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +146 -15
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +174 -61
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +2 -2
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +2 -2
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +17 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +19 -1
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +2 -2
- package/dist/Pool.d.ts +6 -4
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +11 -9
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts +8 -6
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +18 -10
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +1 -1
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +9 -6
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +7 -5
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +36 -2
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +46 -35
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +4 -4
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +13 -13
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/Record.d.ts +63 -160
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +37 -56
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +139 -62
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +59 -55
- package/dist/Redactable.js.map +1 -1
- package/dist/Reducer.d.ts +166 -7
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +135 -1
- package/dist/Reducer.js.map +1 -1
- package/dist/References.d.ts +257 -229
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +240 -259
- package/dist/References.js.map +1 -1
- package/dist/Request.d.ts +6 -6
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +2 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +25 -45
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +15 -36
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.d.ts +0 -3
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +5 -4
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +1 -1
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +1 -2
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +66 -0
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +79 -6
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +176 -293
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +162 -136
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +36 -125
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +37 -126
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +3326 -383
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +2315 -283
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +13 -2
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +340 -257
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +57 -15
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +85 -25
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +29 -11
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +44 -54
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +69 -4
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +46 -45
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +65 -38
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +252 -3
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +319 -13
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +2 -2
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +5 -5
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +307 -0
- package/dist/Semaphore.d.ts.map +1 -0
- package/dist/Semaphore.js +220 -0
- package/dist/Semaphore.js.map +1 -0
- package/dist/Sink.d.ts +22 -19
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +54 -7
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +18 -6
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +20 -2
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +465 -542
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +321 -144
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +114 -47
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +29 -47
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +23 -7
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +22 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +3 -3
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +85 -117
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +2 -1
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +2 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Terminal.d.ts +5 -4
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +2 -2
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +21 -20
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +13 -9
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +44 -31
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +13 -9
- package/dist/Trie.js.map +1 -1
- package/dist/TxChunk.d.ts +4 -4
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +4 -4
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +328 -0
- package/dist/TxDeferred.d.ts.map +1 -0
- package/dist/TxDeferred.js +197 -0
- package/dist/TxDeferred.js.map +1 -0
- package/dist/TxHashMap.d.ts +105 -86
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +51 -44
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +2 -2
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +16 -15
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +609 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -0
- package/dist/TxPriorityQueue.js +416 -0
- package/dist/TxPriorityQueue.js.map +1 -0
- package/dist/TxPubSub.d.ts +585 -0
- package/dist/TxPubSub.d.ts.map +1 -0
- package/dist/TxPubSub.js +521 -0
- package/dist/TxPubSub.js.map +1 -0
- package/dist/TxQueue.d.ts +1 -1
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +42 -57
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +500 -0
- package/dist/TxReentrantLock.d.ts.map +1 -0
- package/dist/TxReentrantLock.js +481 -0
- package/dist/TxReentrantLock.js.map +1 -0
- package/dist/TxRef.d.ts +14 -20
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +8 -10
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +162 -2
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +25 -10
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +508 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -0
- package/dist/TxSubscriptionRef.js +293 -0
- package/dist/TxSubscriptionRef.js.map +1 -0
- package/dist/Types.d.ts +83 -17
- package/dist/Types.d.ts.map +1 -1
- package/dist/Unify.d.ts +8 -2
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +137 -65
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +38 -66
- package/dist/Utils.js.map +1 -1
- package/dist/index.d.ts +888 -71
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +888 -71
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js +11 -3
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +77 -71
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +485 -325
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +7 -5
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/layer.js +3 -3
- package/dist/internal/layer.js.map +1 -1
- package/dist/internal/option.js +6 -0
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +11 -10
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/references.d.ts +2 -0
- package/dist/internal/references.d.ts.map +1 -0
- package/dist/internal/references.js +51 -0
- package/dist/internal/references.js.map +1 -0
- package/dist/internal/request.js +6 -6
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schedule.js +1 -1
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/annotations.js +2 -0
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/representation.js +86 -107
- package/dist/internal/schema/representation.js.map +1 -1
- package/dist/internal/schema/schema.d.ts +10 -1
- package/dist/internal/schema/schema.d.ts.map +1 -1
- package/dist/internal/schema/schema.js +22 -1
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/schema/to-codec.js +7 -10
- package/dist/internal/schema/to-codec.js.map +1 -1
- package/dist/internal/trie.js +8 -7
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/TestClock.d.ts +8 -7
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +6 -4
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +267 -33
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +296 -23
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.d.ts +64 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +64 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +155 -73
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +29 -23
- 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 +9 -2
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +39 -11
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +41 -47
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +130 -0
- package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -0
- package/dist/unstable/ai/EmbeddingModel.js +127 -0
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -0
- package/dist/unstable/ai/IdGenerator.d.ts +2 -2
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +2 -2
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +119 -49
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +260 -61
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +236 -141
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +71 -19
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +68 -15
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +218 -73
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +27 -9
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +25 -9
- package/dist/unstable/ai/Model.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 +9 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +20 -20
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +6 -9
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +27 -27
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +7 -8
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.d.ts +38 -0
- package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -0
- package/dist/unstable/ai/ResponseIdTracker.js +68 -0
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -0
- package/dist/unstable/ai/Telemetry.d.ts +35 -2
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +2 -2
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +2 -2
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +2 -2
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +46 -16
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +68 -22
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +4 -4
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +14 -21
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +22 -1
- package/dist/unstable/ai/index.d.ts.map +1 -1
- package/dist/unstable/ai/index.js +22 -1
- package/dist/unstable/ai/index.js.map +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js +5 -7
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +4 -7
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +1 -3
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +55 -67
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +32 -57
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +5 -4
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +67 -12
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +372 -59
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +328 -66
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.d.ts +97 -0
- package/dist/unstable/cli/Completions.d.ts.map +1 -0
- package/dist/unstable/cli/Completions.js +25 -0
- package/dist/unstable/cli/Completions.js.map +1 -0
- package/dist/unstable/cli/Flag.d.ts +4 -5
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +1 -1
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
- package/dist/unstable/cli/GlobalFlag.js +118 -0
- package/dist/unstable/cli/GlobalFlag.js.map +1 -0
- package/dist/unstable/cli/HelpDoc.d.ts +81 -11
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +34 -6
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +24 -14
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +2 -2
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +1 -1
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.js +266 -86
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.d.ts +8 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +8 -0
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +41 -15
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +84 -47
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
- package/dist/unstable/cli/internal/completions/descriptor.d.ts +2 -0
- package/dist/unstable/cli/internal/completions/descriptor.d.ts.map +1 -0
- package/dist/unstable/cli/internal/completions/{CommandDescriptor.js → descriptor.js} +17 -5
- package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -0
- package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
- package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
- package/dist/unstable/cli/internal/config.js +42 -0
- package/dist/unstable/cli/internal/config.js.map +1 -1
- package/dist/unstable/cli/internal/help.d.ts +33 -0
- package/dist/unstable/cli/internal/help.d.ts.map +1 -0
- package/dist/unstable/cli/internal/help.js +125 -0
- package/dist/unstable/cli/internal/help.js.map +1 -0
- package/dist/unstable/cli/internal/parser.js +155 -58
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.d.ts +7 -7
- package/dist/unstable/cluster/ClusterSchema.d.ts +28 -7
- package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.js +28 -8
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +4 -2
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +97 -63
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js +1 -1
- package/dist/unstable/cluster/DeliverAt.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +18 -16
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +31 -25
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.d.ts +2 -2
- package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityAddress.js +1 -1
- package/dist/unstable/cluster/EntityAddress.js.map +1 -1
- package/dist/unstable/cluster/EntityProxy.js +3 -3
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js +4 -4
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +4 -4
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityResource.js +2 -2
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +4 -4
- package/dist/unstable/cluster/HttpRunner.js +2 -2
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +5 -5
- package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +6 -6
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +21 -15
- package/dist/unstable/cluster/Message.d.ts.map +1 -1
- package/dist/unstable/cluster/Message.js +16 -8
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +46 -23
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +42 -26
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +10 -9
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +8 -7
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.d.ts +2 -2
- package/dist/unstable/cluster/Runner.d.ts.map +1 -1
- package/dist/unstable/cluster/Runner.js +1 -1
- package/dist/unstable/cluster/Runner.js.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.js +1 -1
- package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +2 -2
- package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +2 -2
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +10 -9
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +12 -12
- package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.js +3 -3
- package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +5 -4
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +20 -17
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.d.ts +35 -49
- package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardId.js +65 -67
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +4 -4
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +66 -54
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +28 -27
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +27 -27
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts +2 -2
- package/dist/unstable/cluster/Snowflake.d.ts +2 -2
- package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
- package/dist/unstable/cluster/Snowflake.js +2 -2
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +24 -20
- 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 +7 -7
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +34 -27
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +4 -3
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceMap.js +3 -3
- package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +2 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts +2 -2
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +9 -8
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +40 -40
- package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js +9 -2
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/encoding/Msgpack.d.ts +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +9 -9
- package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +4 -4
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts +0 -6
- package/dist/unstable/eventlog/Event.d.ts.map +1 -1
- package/dist/unstable/eventlog/Event.js +0 -5
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts +0 -2
- package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventGroup.js +0 -2
- package/dist/unstable/eventlog/EventGroup.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +28 -11
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +130 -71
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +94 -37
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +225 -150
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +11 -9
- package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +15 -17
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +228 -0
- package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -0
- package/dist/unstable/eventlog/EventLogMessage.js +214 -0
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -0
- package/dist/unstable/eventlog/EventLogRemote.d.ts +112 -194
- package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js +168 -322
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +26 -48
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +128 -199
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +60 -0
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -0
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +166 -0
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -0
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +183 -0
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -0
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +461 -0
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -0
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +117 -0
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -0
- package/dist/unstable/eventlog/EventLogSessionAuth.js +284 -0
- package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -0
- package/dist/unstable/eventlog/{SqlEventLogJournal.d.ts → SqlEventJournal.d.ts} +2 -2
- package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -0
- package/dist/unstable/eventlog/{SqlEventLogJournal.js → SqlEventJournal.js} +28 -21
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -0
- package/dist/unstable/eventlog/{SqlEventLogServer.d.ts → SqlEventLogServerEncrypted.d.ts} +5 -5
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -0
- package/dist/unstable/eventlog/{SqlEventLogServer.js → SqlEventLogServerEncrypted.js} +69 -27
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -0
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +25 -0
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -0
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +355 -0
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -0
- package/dist/unstable/eventlog/index.d.ts +22 -2
- package/dist/unstable/eventlog/index.d.ts.map +1 -1
- package/dist/unstable/eventlog/index.js +22 -2
- package/dist/unstable/eventlog/index.js.map +1 -1
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts +2 -0
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts.map +1 -0
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js +89 -0
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -0
- package/dist/unstable/http/Cookies.d.ts +52 -7
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +27 -6
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +2 -2
- package/dist/unstable/http/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Etag.js +7 -3
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts +6 -3
- package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js +5 -5
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +24 -4
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +42 -13
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +1 -1
- package/dist/unstable/http/HttpClient.d.ts +125 -21
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +197 -19
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +8 -8
- package/dist/unstable/http/HttpClientRequest.d.ts +43 -15
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +131 -21
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +2 -1
- package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientResponse.js +6 -1
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +13 -11
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +67 -75
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts +5 -4
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js +2 -2
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +4 -4
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +3 -3
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +4 -9
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +47 -43
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +2 -2
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +5 -4
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +9 -8
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +36 -36
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +2 -2
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.js +4 -4
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +22 -34
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +39 -45
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +19 -7
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +307 -13
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
- package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +5 -5
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +52 -5
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +240 -5
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
- package/dist/unstable/http/HttpStaticServer.js +353 -0
- package/dist/unstable/http/HttpStaticServer.js.map +1 -0
- package/dist/unstable/http/HttpTraceContext.d.ts +3 -2
- package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
- package/dist/unstable/http/HttpTraceContext.js +27 -15
- package/dist/unstable/http/HttpTraceContext.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +9 -9
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +7 -7
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/Url.d.ts +604 -0
- package/dist/unstable/http/Url.d.ts.map +1 -0
- package/dist/unstable/http/Url.js +256 -0
- package/dist/unstable/http/Url.js.map +1 -0
- package/dist/unstable/http/UrlParams.d.ts +19 -10
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +6 -7
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.d.ts +8 -0
- package/dist/unstable/http/index.d.ts.map +1 -1
- package/dist/unstable/http/index.js +8 -0
- package/dist/unstable/http/index.js.map +1 -1
- package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
- package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js +10 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
- package/dist/unstable/httpapi/HttpApi.d.ts +11 -11
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +8 -8
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +12 -9
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +53 -39
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +83 -7
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +79 -11
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +211 -105
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +53 -47
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +43 -26
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +125 -32
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +9 -8
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js +4 -4
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +49 -18
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +38 -8
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +88 -9
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +86 -11
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +9 -6
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js +6 -6
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +17 -25
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +59 -60
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +8 -8
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +7 -4
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +2 -2
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.d.ts +2 -2
- package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.js +2 -2
- package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js +7 -3
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +3 -3
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +4 -33
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/observability/internal/protobuf.js +4 -4
- package/dist/unstable/observability/internal/protobuf.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +24 -3
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +148 -6
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistable.js +1 -1
- package/dist/unstable/persistence/Persistable.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +6 -6
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +12 -12
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +16 -16
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +15 -14
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +5 -5
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +5 -5
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +9 -9
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +4 -4
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +3 -3
- package/dist/unstable/persistence/Redis.d.ts.map +1 -1
- package/dist/unstable/persistence/Redis.js +2 -2
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +5 -128
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +1 -65
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +89 -8
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +22 -2
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +108 -47
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +105 -25
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +22 -20
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +58 -26
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +8 -2
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +57 -14
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +12 -12
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +59 -31
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.d.ts +2 -2
- package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js +6 -6
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/reactivity/index.d.ts +2 -2
- package/dist/unstable/reactivity/index.d.ts.map +1 -1
- package/dist/unstable/reactivity/index.js +2 -2
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +47 -19
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +39 -7
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +26 -47
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +120 -77
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.d.ts +2 -2
- package/dist/unstable/rpc/RpcGroup.d.ts +15 -11
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js +30 -20
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +12 -12
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js +5 -5
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +14 -1
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +17 -2
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +13 -2
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +60 -27
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +8 -12
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +78 -46
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts +2 -2
- package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcWorker.js +4 -4
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts +6 -3
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +48 -6
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +24 -3
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +17 -4
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +7 -7
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +7 -18
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +16 -15
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +22 -19
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +8 -5
- package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
- package/dist/unstable/socket/SocketServer.js +2 -2
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/sql/Migrator.d.ts +1 -1
- package/dist/unstable/sql/Migrator.d.ts.map +1 -1
- package/dist/unstable/sql/Migrator.js +2 -2
- package/dist/unstable/sql/Migrator.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +5 -5
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +7 -7
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.d.ts +2 -2
- package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
- package/dist/unstable/sql/SqlConnection.js +5 -2
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +237 -17
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js +260 -4
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +8 -9
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +12 -38
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
- package/dist/unstable/sql/SqlResolver.js +26 -17
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +17 -6
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +17 -7
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +2 -2
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +2 -3
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +4 -4
- package/dist/unstable/workers/Transferable.d.ts.map +1 -1
- package/dist/unstable/workers/Transferable.js +7 -7
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +3 -3
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +8 -4
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +5 -5
- package/dist/unstable/workers/WorkerRunner.d.ts +2 -2
- package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
- package/dist/unstable/workers/WorkerRunner.js +5 -2
- package/dist/unstable/workers/WorkerRunner.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +7 -2
- package/dist/unstable/workflow/Activity.d.ts.map +1 -1
- package/dist/unstable/workflow/Activity.js +17 -4
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -6
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +6 -6
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +15 -15
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +13 -12
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +18 -18
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +26 -8
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +167 -17
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js +4 -4
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/package.json +11 -11
- package/src/Array.ts +304 -447
- package/src/BigDecimal.ts +137 -82
- package/src/BigInt.ts +53 -45
- package/src/Brand.ts +3 -5
- package/src/Cache.ts +27 -54
- package/src/Cause.ts +58 -23
- package/src/Channel.ts +693 -224
- package/src/Chunk.ts +149 -331
- package/src/Clock.ts +2 -2
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +197 -27
- package/src/ConfigProvider.ts +5 -5
- package/src/Console.ts +2 -2
- package/src/Context.ts +1454 -0
- package/src/Cron.ts +155 -63
- package/src/Data.ts +539 -376
- package/src/DateTime.ts +77 -258
- package/src/Deferred.ts +15 -6
- package/src/Duration.ts +123 -67
- package/src/Effect.ts +1629 -1355
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +295 -111
- package/src/Equivalence.ts +114 -52
- package/src/ErrorReporter.ts +458 -0
- package/src/ExecutionPlan.ts +8 -9
- package/src/Exit.ts +24 -12
- package/src/Fiber.ts +17 -8
- package/src/FiberHandle.ts +15 -14
- package/src/FiberMap.ts +27 -27
- package/src/FiberSet.ts +5 -5
- package/src/FileSystem.ts +34 -30
- package/src/Filter.ts +4 -62
- package/src/Formatter.ts +253 -51
- package/src/Function.ts +2 -10
- package/src/Graph.ts +131 -117
- package/src/Hash.ts +2 -2
- package/src/HashMap.ts +26 -19
- package/src/Iterable.ts +117 -63
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +194 -0
- package/src/Layer.ts +728 -441
- package/src/LayerMap.ts +38 -35
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +35 -102
- package/src/ManagedRuntime.ts +61 -48
- package/src/Metric.ts +64 -66
- package/src/MutableHashMap.ts +9 -0
- package/src/MutableHashSet.ts +9 -0
- package/src/MutableList.ts +3 -0
- package/src/Newtype.ts +308 -0
- package/src/Number.ts +98 -29
- package/src/Optic.ts +948 -19
- package/src/Option.ts +34 -24
- package/src/Order.ts +39 -32
- package/src/PartitionedSemaphore.ts +288 -56
- package/src/Path.ts +2 -2
- package/src/Pipeable.ts +32 -1
- package/src/Pool.ts +18 -16
- package/src/PubSub.ts +30 -20
- package/src/Pull.ts +1 -1
- package/src/Queue.ts +11 -9
- package/src/Random.ts +51 -14
- package/src/RcMap.ts +19 -19
- package/src/RcRef.ts +1 -1
- package/src/Record.ts +94 -199
- package/src/Redactable.ts +146 -72
- package/src/Reducer.ts +166 -7
- package/src/References.ts +283 -287
- package/src/Request.ts +8 -7
- package/src/RequestResolver.ts +34 -55
- package/src/Resource.ts +6 -5
- package/src/Result.ts +2 -4
- package/src/Runtime.ts +102 -6
- package/src/Schedule.ts +460 -451
- package/src/Scheduler.ts +52 -129
- package/src/Schema.ts +4267 -752
- package/src/SchemaAST.ts +480 -302
- package/src/SchemaGetter.ts +92 -38
- package/src/SchemaIssue.ts +28 -15
- package/src/SchemaParser.ts +100 -29
- package/src/SchemaRepresentation.ts +59 -32
- package/src/SchemaTransformation.ts +364 -13
- package/src/Scope.ts +2 -2
- package/src/ScopedCache.ts +8 -8
- package/src/Semaphore.ts +442 -0
- package/src/Sink.ts +89 -34
- package/src/Stdio.ts +29 -6
- package/src/Stream.ts +898 -752
- package/src/String.ts +122 -69
- package/src/Struct.ts +33 -7
- package/src/SubscriptionRef.ts +101 -120
- package/src/SynchronizedRef.ts +3 -2
- package/src/Terminal.ts +5 -4
- package/src/Tracer.ts +23 -22
- package/src/Trie.ts +44 -31
- package/src/TxChunk.ts +26 -16
- package/src/TxDeferred.ts +391 -0
- package/src/TxHashMap.ts +347 -291
- package/src/TxHashSet.ts +54 -61
- package/src/TxPriorityQueue.ts +762 -0
- package/src/TxPubSub.ts +787 -0
- package/src/TxQueue.ts +221 -245
- package/src/TxReentrantLock.ts +729 -0
- package/src/TxRef.ts +31 -31
- package/src/TxSemaphore.ts +203 -31
- package/src/TxSubscriptionRef.ts +637 -0
- package/src/Types.ts +78 -17
- package/src/Unify.ts +26 -2
- package/src/Utils.ts +137 -111
- package/src/index.ts +898 -72
- package/src/internal/core.ts +19 -12
- package/src/internal/dateTime.ts +91 -96
- package/src/internal/effect.ts +1150 -611
- package/src/internal/hashMap.ts +12 -10
- package/src/internal/layer.ts +7 -7
- package/src/internal/option.ts +7 -0
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +14 -13
- package/src/internal/references.ts +72 -0
- package/src/internal/request.ts +8 -8
- package/src/internal/schedule.ts +3 -1
- package/src/internal/schema/annotations.ts +2 -0
- package/src/internal/schema/representation.ts +81 -95
- package/src/internal/schema/schema.ts +25 -1
- package/src/internal/schema/to-codec.ts +7 -17
- package/src/internal/trie.ts +21 -15
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +333 -36
- package/src/testing/index.ts +64 -1
- package/src/unstable/ai/AiError.ts +112 -54
- package/src/unstable/ai/AnthropicStructuredOutput.ts +7 -3
- package/src/unstable/ai/Chat.ts +137 -88
- package/src/unstable/ai/EmbeddingModel.ts +209 -0
- package/src/unstable/ai/IdGenerator.ts +2 -2
- package/src/unstable/ai/LanguageModel.ts +685 -255
- package/src/unstable/ai/McpSchema.ts +84 -22
- package/src/unstable/ai/McpServer.ts +299 -87
- package/src/unstable/ai/Model.ts +44 -13
- package/src/unstable/ai/OpenAiStructuredOutput.ts +9 -2
- package/src/unstable/ai/Prompt.ts +43 -49
- package/src/unstable/ai/Response.ts +31 -33
- package/src/unstable/ai/ResponseIdTracker.ts +95 -0
- package/src/unstable/ai/Telemetry.ts +2 -2
- package/src/unstable/ai/Tokenizer.ts +2 -2
- package/src/unstable/ai/Tool.ts +62 -36
- package/src/unstable/ai/Toolkit.ts +17 -26
- package/src/unstable/ai/index.ts +24 -1
- package/src/unstable/ai/internal/codec-transformer.ts +3 -9
- package/src/unstable/cli/Argument.ts +5 -8
- package/src/unstable/cli/CliError.ts +67 -66
- package/src/unstable/cli/CliOutput.ts +87 -15
- package/src/unstable/cli/Command.ts +808 -193
- package/src/unstable/cli/Completions.ts +107 -0
- package/src/unstable/cli/Flag.ts +5 -6
- package/src/unstable/cli/GlobalFlag.ts +242 -0
- package/src/unstable/cli/HelpDoc.ts +91 -11
- package/src/unstable/cli/Param.ts +54 -27
- package/src/unstable/cli/Primitive.ts +2 -2
- package/src/unstable/cli/Prompt.ts +275 -104
- package/src/unstable/cli/index.ts +10 -0
- package/src/unstable/cli/internal/command.ts +125 -64
- package/src/unstable/cli/internal/completions/bash.ts +7 -7
- package/src/unstable/cli/internal/completions/{CommandDescriptor.ts → descriptor.ts} +16 -58
- package/src/unstable/cli/internal/completions/fish.ts +7 -7
- package/src/unstable/cli/internal/completions/zsh.ts +8 -14
- package/src/unstable/cli/internal/config.ts +49 -0
- package/src/unstable/cli/internal/help.ts +171 -0
- package/src/unstable/cli/internal/parser.ts +201 -84
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterSchema.ts +38 -10
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +144 -81
- package/src/unstable/cluster/DeliverAt.ts +1 -1
- package/src/unstable/cluster/Entity.ts +59 -45
- package/src/unstable/cluster/EntityAddress.ts +1 -1
- package/src/unstable/cluster/EntityProxy.ts +3 -3
- package/src/unstable/cluster/EntityProxyServer.ts +4 -4
- package/src/unstable/cluster/EntityResource.ts +6 -6
- package/src/unstable/cluster/Envelope.ts +1 -1
- package/src/unstable/cluster/HttpRunner.ts +2 -2
- package/src/unstable/cluster/K8sHttpClient.ts +7 -7
- package/src/unstable/cluster/Message.ts +30 -17
- package/src/unstable/cluster/MessageStorage.ts +76 -46
- package/src/unstable/cluster/Reply.ts +13 -10
- package/src/unstable/cluster/Runner.ts +1 -1
- package/src/unstable/cluster/RunnerAddress.ts +1 -1
- package/src/unstable/cluster/RunnerHealth.ts +2 -2
- package/src/unstable/cluster/RunnerServer.ts +11 -14
- package/src/unstable/cluster/RunnerStorage.ts +9 -9
- package/src/unstable/cluster/Runners.ts +28 -23
- package/src/unstable/cluster/ShardId.ts +84 -74
- package/src/unstable/cluster/Sharding.ts +83 -66
- package/src/unstable/cluster/ShardingConfig.ts +39 -40
- package/src/unstable/cluster/Snowflake.ts +2 -2
- package/src/unstable/cluster/SqlMessageStorage.ts +29 -20
- package/src/unstable/cluster/SqlRunnerStorage.ts +13 -7
- package/src/unstable/cluster/internal/entityManager.ts +66 -46
- package/src/unstable/cluster/internal/entityReaper.ts +4 -3
- package/src/unstable/cluster/internal/resourceMap.ts +3 -3
- package/src/unstable/cluster/internal/resourceRef.ts +2 -1
- package/src/unstable/devtools/DevToolsClient.ts +26 -21
- package/src/unstable/devtools/DevToolsSchema.ts +16 -3
- package/src/unstable/encoding/Ndjson.ts +17 -17
- package/src/unstable/encoding/Sse.ts +3 -5
- package/src/unstable/eventlog/Event.ts +0 -8
- package/src/unstable/eventlog/EventGroup.ts +0 -4
- package/src/unstable/eventlog/EventJournal.ts +148 -80
- package/src/unstable/eventlog/EventLog.ts +360 -233
- package/src/unstable/eventlog/EventLogEncryption.ts +18 -32
- package/src/unstable/eventlog/EventLogMessage.ts +277 -0
- package/src/unstable/eventlog/EventLogRemote.ts +264 -410
- package/src/unstable/eventlog/EventLogServer.ts +183 -275
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +206 -0
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +749 -0
- package/src/unstable/eventlog/EventLogSessionAuth.ts +437 -0
- package/src/unstable/eventlog/{SqlEventLogJournal.ts → SqlEventJournal.ts} +38 -22
- package/src/unstable/eventlog/{SqlEventLogServer.ts → SqlEventLogServerEncrypted.ts} +110 -43
- package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +506 -0
- package/src/unstable/eventlog/index.ts +27 -2
- package/src/unstable/eventlog/internal/identityRootSecretDerivation.ts +153 -0
- package/src/unstable/http/Cookies.ts +94 -11
- package/src/unstable/http/Etag.ts +7 -5
- package/src/unstable/http/FetchHttpClient.ts +5 -5
- package/src/unstable/http/Headers.ts +70 -20
- package/src/unstable/http/HttpClient.ts +385 -42
- package/src/unstable/http/HttpClientRequest.ts +151 -39
- package/src/unstable/http/HttpClientResponse.ts +12 -6
- package/src/unstable/http/HttpEffect.ts +86 -100
- package/src/unstable/http/HttpIncomingMessage.ts +5 -4
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +50 -50
- package/src/unstable/http/HttpPlatform.ts +5 -4
- package/src/unstable/http/HttpRouter.ts +46 -46
- package/src/unstable/http/HttpServer.ts +5 -11
- package/src/unstable/http/HttpServerError.ts +45 -47
- package/src/unstable/http/HttpServerRequest.ts +414 -23
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +351 -13
- package/src/unstable/http/HttpStaticServer.ts +456 -0
- package/src/unstable/http/HttpTraceContext.ts +31 -17
- package/src/unstable/http/Multipart.ts +10 -10
- package/src/unstable/http/Url.ts +650 -0
- package/src/unstable/http/UrlParams.ts +31 -19
- package/src/unstable/http/index.ts +10 -0
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +21 -21
- package/src/unstable/httpapi/HttpApiBuilder.ts +128 -55
- package/src/unstable/httpapi/HttpApiClient.ts +186 -34
- package/src/unstable/httpapi/HttpApiEndpoint.ts +225 -113
- package/src/unstable/httpapi/HttpApiError.ts +108 -30
- package/src/unstable/httpapi/HttpApiGroup.ts +18 -17
- package/src/unstable/httpapi/HttpApiMiddleware.ts +95 -33
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/httpapi/HttpApiSchema.ts +106 -11
- package/src/unstable/httpapi/HttpApiSecurity.ts +13 -13
- package/src/unstable/httpapi/OpenApi.ts +73 -72
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +14 -10
- package/src/unstable/observability/OtlpLogger.ts +13 -9
- package/src/unstable/observability/OtlpMetrics.ts +6 -6
- package/src/unstable/observability/OtlpSerialization.ts +2 -2
- package/src/unstable/observability/OtlpTracer.ts +14 -10
- package/src/unstable/observability/PrometheusMetrics.ts +5 -5
- package/src/unstable/observability/internal/protobuf.ts +4 -4
- package/src/unstable/persistence/KeyValueStore.ts +230 -7
- package/src/unstable/persistence/Persistable.ts +3 -3
- package/src/unstable/persistence/PersistedCache.ts +35 -21
- package/src/unstable/persistence/PersistedQueue.ts +28 -27
- package/src/unstable/persistence/Persistence.ts +7 -7
- package/src/unstable/persistence/RateLimiter.ts +7 -7
- package/src/unstable/persistence/Redis.ts +2 -2
- package/src/unstable/process/ChildProcess.ts +6 -208
- package/src/unstable/process/ChildProcessSpawner.ts +120 -15
- package/src/unstable/reactivity/Atom.ts +280 -124
- package/src/unstable/reactivity/AtomHttpApi.ts +115 -59
- package/src/unstable/reactivity/AtomRegistry.ts +70 -16
- package/src/unstable/reactivity/AtomRpc.ts +82 -37
- package/src/unstable/reactivity/Reactivity.ts +6 -6
- package/src/unstable/reactivity/index.ts +2 -2
- package/src/unstable/rpc/Rpc.ts +77 -32
- package/src/unstable/rpc/RpcClient.ts +165 -145
- package/src/unstable/rpc/RpcGroup.ts +51 -34
- package/src/unstable/rpc/RpcMiddleware.ts +28 -22
- package/src/unstable/rpc/RpcSchema.ts +24 -6
- package/src/unstable/rpc/RpcSerialization.ts +97 -54
- package/src/unstable/rpc/RpcServer.ts +97 -69
- package/src/unstable/rpc/RpcWorker.ts +5 -5
- package/src/unstable/rpc/Utils.ts +65 -5
- package/src/unstable/schema/Model.ts +35 -6
- package/src/unstable/schema/VariantSchema.ts +14 -27
- package/src/unstable/socket/Socket.ts +42 -38
- package/src/unstable/socket/SocketServer.ts +2 -2
- package/src/unstable/sql/Migrator.ts +7 -5
- package/src/unstable/sql/SqlClient.ts +13 -11
- package/src/unstable/sql/SqlConnection.ts +2 -2
- package/src/unstable/sql/SqlError.ts +365 -11
- package/src/unstable/sql/SqlModel.ts +57 -85
- package/src/unstable/sql/SqlResolver.ts +26 -16
- package/src/unstable/sql/SqlSchema.ts +42 -26
- package/src/unstable/sql/Statement.ts +2 -3
- package/src/unstable/workers/Transferable.ts +17 -19
- package/src/unstable/workers/Worker.ts +6 -5
- package/src/unstable/workers/WorkerRunner.ts +2 -2
- package/src/unstable/workflow/Activity.ts +27 -4
- package/src/unstable/workflow/DurableClock.ts +11 -11
- package/src/unstable/workflow/DurableDeferred.ts +16 -16
- package/src/unstable/workflow/Workflow.ts +32 -25
- package/src/unstable/workflow/WorkflowEngine.ts +239 -25
- package/src/unstable/workflow/WorkflowProxyServer.ts +4 -4
- package/dist/NullOr.d.ts +0 -149
- package/dist/NullOr.d.ts.map +0 -1
- package/dist/NullOr.js +0 -152
- package/dist/NullOr.js.map +0 -1
- package/dist/ServiceMap.d.ts +0 -1126
- package/dist/ServiceMap.d.ts.map +0 -1
- package/dist/ServiceMap.js.map +0 -1
- package/dist/encoding/Base64.d.ts +0 -67
- package/dist/encoding/Base64.d.ts.map +0 -1
- package/dist/encoding/Base64.js +0 -146
- package/dist/encoding/Base64.js.map +0 -1
- package/dist/encoding/Base64Url.d.ts +0 -60
- package/dist/encoding/Base64Url.d.ts.map +0 -1
- package/dist/encoding/Base64Url.js +0 -89
- package/dist/encoding/Base64Url.js.map +0 -1
- package/dist/encoding/EncodingError.d.ts +0 -31
- package/dist/encoding/EncodingError.d.ts.map +0 -1
- package/dist/encoding/EncodingError.js +0 -22
- package/dist/encoding/EncodingError.js.map +0 -1
- package/dist/encoding/Hex.d.ts +0 -61
- package/dist/encoding/Hex.d.ts.map +0 -1
- package/dist/encoding/Hex.js +0 -115
- package/dist/encoding/Hex.js.map +0 -1
- package/dist/encoding/index.d.ts +0 -26
- package/dist/encoding/index.d.ts.map +0 -1
- package/dist/encoding/index.js +0 -27
- package/dist/encoding/index.js.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
- package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.js +0 -44
- package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.d.ts +0 -2
- package/dist/unstable/cli/internal/completions/CommandDescriptor.d.ts.map +0 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +0 -1
- package/dist/unstable/cli/internal/completions/Completions.d.ts +0 -2
- package/dist/unstable/cli/internal/completions/Completions.d.ts.map +0 -1
- package/dist/unstable/cli/internal/completions/Completions.js +0 -23
- package/dist/unstable/cli/internal/completions/Completions.js.map +0 -1
- package/dist/unstable/eventlog/SqlEventLogJournal.d.ts.map +0 -1
- package/dist/unstable/eventlog/SqlEventLogJournal.js.map +0 -1
- package/dist/unstable/eventlog/SqlEventLogServer.d.ts.map +0 -1
- package/dist/unstable/eventlog/SqlEventLogServer.js.map +0 -1
- package/src/NullOr.ts +0 -204
- package/src/ServiceMap.ts +0 -1410
- package/src/encoding/Base64.ts +0 -366
- package/src/encoding/Base64Url.ts +0 -104
- package/src/encoding/EncodingError.ts +0 -35
- package/src/encoding/Hex.ts +0 -390
- package/src/encoding/index.ts +0 -31
- package/src/unstable/cli/internal/builtInFlags.ts +0 -78
- package/src/unstable/cli/internal/completions/Completions.ts +0 -31
package/src/SchemaAST.ts
CHANGED
|
@@ -77,10 +77,10 @@ import * as Arr from "./Array.ts"
|
|
|
77
77
|
import * as Cause from "./Cause.ts"
|
|
78
78
|
import type * as Combiner from "./Combiner.ts"
|
|
79
79
|
import * as Effect from "./Effect.ts"
|
|
80
|
-
import
|
|
80
|
+
import * as Exit from "./Exit.ts"
|
|
81
81
|
import { format, formatPropertyKey } from "./Formatter.ts"
|
|
82
82
|
import { memoize } from "./Function.ts"
|
|
83
|
-
import { effectIsExit } from "./internal/effect.ts"
|
|
83
|
+
import { effectIsExit, iterateEager } from "./internal/effect.ts"
|
|
84
84
|
import * as internalRecord from "./internal/record.ts"
|
|
85
85
|
import * as InternalAnnotations from "./internal/schema/annotations.ts"
|
|
86
86
|
import * as Option from "./Option.ts"
|
|
@@ -434,6 +434,19 @@ export interface ParseOptions {
|
|
|
434
434
|
* default: "none"
|
|
435
435
|
*/
|
|
436
436
|
readonly propertyOrder?: "none" | "original" | undefined
|
|
437
|
+
|
|
438
|
+
/**
|
|
439
|
+
* Whether to disable checks while still applying defaults and
|
|
440
|
+
* transformations.
|
|
441
|
+
*/
|
|
442
|
+
readonly disableChecks?: boolean | undefined
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* The maximum number of async effects to run concurrently.
|
|
446
|
+
*
|
|
447
|
+
* Defaults to 1.
|
|
448
|
+
*/
|
|
449
|
+
readonly concurrency?: number | "unbounded" | undefined
|
|
437
450
|
}
|
|
438
451
|
|
|
439
452
|
/** @internal */
|
|
@@ -594,7 +607,7 @@ export class Declaration extends Base {
|
|
|
594
607
|
}
|
|
595
608
|
/** @internal */
|
|
596
609
|
getExpected(): string {
|
|
597
|
-
const expected = this.annotations?.
|
|
610
|
+
const expected = this.annotations?.expected
|
|
598
611
|
if (typeof expected === "string") return expected
|
|
599
612
|
return "<Declaration>"
|
|
600
613
|
}
|
|
@@ -651,7 +664,7 @@ export class Undefined extends Base {
|
|
|
651
664
|
return fromConst(this, undefined)
|
|
652
665
|
}
|
|
653
666
|
/** @internal */
|
|
654
|
-
|
|
667
|
+
toCodecJson(): AST {
|
|
655
668
|
return replaceEncoding(this, [undefinedToNull])
|
|
656
669
|
}
|
|
657
670
|
/** @internal */
|
|
@@ -697,7 +710,7 @@ export class Void extends Base {
|
|
|
697
710
|
return fromConst(this, undefined)
|
|
698
711
|
}
|
|
699
712
|
/** @internal */
|
|
700
|
-
|
|
713
|
+
toCodecJson(): AST {
|
|
701
714
|
return replaceEncoding(this, [undefinedToNull])
|
|
702
715
|
}
|
|
703
716
|
/** @internal */
|
|
@@ -1369,6 +1382,19 @@ export class Arrays extends Base {
|
|
|
1369
1382
|
const elements = ast.elements.map((ast) => ({ ast, parser: recur(ast) }))
|
|
1370
1383
|
const rest = ast.rest.map((ast) => ({ ast, parser: recur(ast) }))
|
|
1371
1384
|
const elementLen = elements.length
|
|
1385
|
+
|
|
1386
|
+
const [head, ...tail] = rest
|
|
1387
|
+
const tailLen = tail.length
|
|
1388
|
+
|
|
1389
|
+
function getParser(tailThreshold: number, index: number): { readonly ast: AST; readonly parser: Parser.Parser } {
|
|
1390
|
+
if (index < elementLen) {
|
|
1391
|
+
return elements[index]
|
|
1392
|
+
} else if (index >= tailThreshold) {
|
|
1393
|
+
return tail[index - tailThreshold]
|
|
1394
|
+
}
|
|
1395
|
+
return head
|
|
1396
|
+
}
|
|
1397
|
+
|
|
1372
1398
|
return Effect.fnUntracedEager(function*(oinput, options) {
|
|
1373
1399
|
if (oinput._tag === "None") {
|
|
1374
1400
|
return oinput
|
|
@@ -1380,131 +1406,42 @@ export class Arrays extends Base {
|
|
|
1380
1406
|
return yield* Effect.fail(new Issue.InvalidType(ast, oinput))
|
|
1381
1407
|
}
|
|
1382
1408
|
|
|
1383
|
-
const
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
const value = i < input.length ? Option.some(input[i]) : Option.none()
|
|
1394
|
-
const eff = e.parser(value, options)
|
|
1395
|
-
const exit = effectIsExit(eff) ? eff : yield* Effect.exit(eff)
|
|
1396
|
-
if (exit._tag === "Failure") {
|
|
1397
|
-
const issueElement = Cause.findError(exit.cause)
|
|
1398
|
-
if (Result.isFailure(issueElement)) {
|
|
1399
|
-
return yield* exit
|
|
1400
|
-
}
|
|
1401
|
-
const issue = new Issue.Pointer([i], issueElement.success)
|
|
1402
|
-
if (errorsAllOption) {
|
|
1403
|
-
if (issues) issues.push(issue)
|
|
1404
|
-
else issues = [issue]
|
|
1405
|
-
} else {
|
|
1406
|
-
return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]))
|
|
1407
|
-
}
|
|
1408
|
-
} else if (exit.value._tag === "Some") {
|
|
1409
|
-
output[i] = exit.value.value
|
|
1410
|
-
} else if (!isOptional(e.ast)) {
|
|
1411
|
-
const issue = new Issue.Pointer([i], new Issue.MissingKey(e.ast.context?.annotations))
|
|
1412
|
-
if (errorsAllOption) {
|
|
1413
|
-
if (issues) issues.push(issue)
|
|
1414
|
-
else issues = [issue]
|
|
1415
|
-
} else {
|
|
1416
|
-
return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]))
|
|
1417
|
-
}
|
|
1418
|
-
}
|
|
1409
|
+
const len = input.length
|
|
1410
|
+
const state = {
|
|
1411
|
+
ast,
|
|
1412
|
+
getParser,
|
|
1413
|
+
oinput,
|
|
1414
|
+
len,
|
|
1415
|
+
tailThreshold: resolveTailThreshold(len, elementLen, tailLen),
|
|
1416
|
+
output: new globalThis.Array(len),
|
|
1417
|
+
issues: undefined as Arr.NonEmptyArray<Issue.Issue> | undefined,
|
|
1418
|
+
options
|
|
1419
1419
|
}
|
|
1420
|
+
const concurrency = resolveConcurrency(options?.concurrency)
|
|
1421
|
+
const eff = parseArray(state, input, {
|
|
1422
|
+
concurrency: concurrency?.concurrency,
|
|
1423
|
+
end: ast.rest.length === 0 ? elementLen : Math.max(len, elementLen + tailLen)
|
|
1424
|
+
})
|
|
1425
|
+
if (eff) yield* eff
|
|
1426
|
+
|
|
1420
1427
|
// ---------------------------------------------
|
|
1421
|
-
// handle
|
|
1428
|
+
// handle excess indexes
|
|
1422
1429
|
// ---------------------------------------------
|
|
1423
|
-
|
|
1424
|
-
if (ast.rest.length > 0) {
|
|
1425
|
-
const [head, ...tail] = rest
|
|
1426
|
-
const keyAnnotations = head.ast.context?.annotations
|
|
1427
|
-
for (; i < len - tail.length; i++) {
|
|
1428
|
-
const eff = head.parser(Option.some(input[i]), options)
|
|
1429
|
-
const exit = effectIsExit(eff) ? eff : yield* Effect.exit(eff)
|
|
1430
|
-
if (exit._tag === "Failure") {
|
|
1431
|
-
const issueRest = Cause.findError(exit.cause)
|
|
1432
|
-
if (Result.isFailure(issueRest)) {
|
|
1433
|
-
return yield* exit
|
|
1434
|
-
}
|
|
1435
|
-
const issue = new Issue.Pointer([i], issueRest.success)
|
|
1436
|
-
if (errorsAllOption) {
|
|
1437
|
-
if (issues) issues.push(issue)
|
|
1438
|
-
else issues = [issue]
|
|
1439
|
-
} else {
|
|
1440
|
-
return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]))
|
|
1441
|
-
}
|
|
1442
|
-
} else if (exit.value._tag === "Some") {
|
|
1443
|
-
output[i] = exit.value.value
|
|
1444
|
-
} else {
|
|
1445
|
-
const issue = new Issue.Pointer([i], new Issue.MissingKey(keyAnnotations))
|
|
1446
|
-
if (errorsAllOption) {
|
|
1447
|
-
if (issues) issues.push(issue)
|
|
1448
|
-
else issues = [issue]
|
|
1449
|
-
} else {
|
|
1450
|
-
return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]))
|
|
1451
|
-
}
|
|
1452
|
-
}
|
|
1453
|
-
}
|
|
1454
|
-
// ---------------------------------------------
|
|
1455
|
-
// handle post rest elements
|
|
1456
|
-
// ---------------------------------------------
|
|
1457
|
-
for (let j = 0; j < tail.length; j++) {
|
|
1458
|
-
if (len < i + 1) {
|
|
1459
|
-
continue
|
|
1460
|
-
} else {
|
|
1461
|
-
const tailj = tail[j]
|
|
1462
|
-
const keyAnnotations = tailj.ast.context?.annotations
|
|
1463
|
-
const eff = tailj.parser(Option.some(input[i]), options)
|
|
1464
|
-
const exit = effectIsExit(eff) ? eff : yield* Effect.exit(eff)
|
|
1465
|
-
if (exit._tag === "Failure") {
|
|
1466
|
-
const issueRest = Cause.findError(exit.cause)
|
|
1467
|
-
if (Result.isFailure(issueRest)) {
|
|
1468
|
-
return yield* exit
|
|
1469
|
-
}
|
|
1470
|
-
const issue = new Issue.Pointer([i], issueRest.success)
|
|
1471
|
-
if (errorsAllOption) {
|
|
1472
|
-
if (issues) issues.push(issue)
|
|
1473
|
-
else issues = [issue]
|
|
1474
|
-
} else {
|
|
1475
|
-
return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]))
|
|
1476
|
-
}
|
|
1477
|
-
} else if (exit.value._tag === "Some") {
|
|
1478
|
-
output[i] = exit.value.value
|
|
1479
|
-
} else {
|
|
1480
|
-
const issue = new Issue.Pointer([i], new Issue.MissingKey(keyAnnotations))
|
|
1481
|
-
if (errorsAllOption) {
|
|
1482
|
-
if (issues) issues.push(issue)
|
|
1483
|
-
else issues = [issue]
|
|
1484
|
-
} else {
|
|
1485
|
-
return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]))
|
|
1486
|
-
}
|
|
1487
|
-
}
|
|
1488
|
-
}
|
|
1489
|
-
}
|
|
1490
|
-
} else {
|
|
1491
|
-
// ---------------------------------------------
|
|
1492
|
-
// handle excess indexes
|
|
1493
|
-
// ---------------------------------------------
|
|
1430
|
+
if (ast.rest.length === 0 && len > elementLen) {
|
|
1494
1431
|
for (let i = elementLen; i <= len - 1; i++) {
|
|
1495
1432
|
const issue = new Issue.Pointer([i], new Issue.UnexpectedKey(ast, input[i]))
|
|
1496
|
-
if (
|
|
1497
|
-
if (issues) issues.push(issue)
|
|
1498
|
-
else issues = [issue]
|
|
1433
|
+
if (options.errors === "all") {
|
|
1434
|
+
if (state.issues) state.issues.push(issue)
|
|
1435
|
+
else state.issues = [issue]
|
|
1499
1436
|
} else {
|
|
1500
1437
|
return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]))
|
|
1501
1438
|
}
|
|
1502
1439
|
}
|
|
1503
1440
|
}
|
|
1504
|
-
if (issues) {
|
|
1505
|
-
return yield* Effect.fail(new Issue.Composite(ast, oinput, issues))
|
|
1441
|
+
if (state.issues) {
|
|
1442
|
+
return yield* Effect.fail(new Issue.Composite(ast, oinput, state.issues))
|
|
1506
1443
|
}
|
|
1507
|
-
return Option.some(output)
|
|
1444
|
+
return Option.some(state.output)
|
|
1508
1445
|
})
|
|
1509
1446
|
}
|
|
1510
1447
|
/** @internal */
|
|
@@ -1520,6 +1457,74 @@ export class Arrays extends Base {
|
|
|
1520
1457
|
return "array"
|
|
1521
1458
|
}
|
|
1522
1459
|
}
|
|
1460
|
+
const parseArray = iterateEager<{
|
|
1461
|
+
readonly ast: AST
|
|
1462
|
+
readonly oinput: Option.Option<unknown>
|
|
1463
|
+
readonly len: number
|
|
1464
|
+
readonly getParser: (tailThreshold: number, index: number) => { readonly ast: AST; readonly parser: Parser.Parser }
|
|
1465
|
+
readonly tailThreshold: number
|
|
1466
|
+
readonly options: ParseOptions
|
|
1467
|
+
readonly output: Array<unknown>
|
|
1468
|
+
issues: Array<Issue.Issue> | undefined
|
|
1469
|
+
}, unknown>()({
|
|
1470
|
+
onItem(s, item, i) {
|
|
1471
|
+
const value = i < s.len ? Option.some(item) : Option.none()
|
|
1472
|
+
return s.getParser(s.tailThreshold, i).parser(value, s.options)
|
|
1473
|
+
},
|
|
1474
|
+
step(s, _, exit, i) {
|
|
1475
|
+
if (exit._tag === "Failure") {
|
|
1476
|
+
return wrapPropertyKeyIssue(s, s.ast, i, exit)
|
|
1477
|
+
} else if (exit.value._tag === "Some") {
|
|
1478
|
+
s.output[i] = exit.value.value
|
|
1479
|
+
} else {
|
|
1480
|
+
const p = s.getParser(s.tailThreshold, i)
|
|
1481
|
+
if (isOptional(p.ast)) return
|
|
1482
|
+
const issue = new Issue.Pointer([i], new Issue.MissingKey(p.ast.context?.annotations))
|
|
1483
|
+
if (s.options.errors === "all") {
|
|
1484
|
+
if (s.issues) s.issues.push(issue)
|
|
1485
|
+
else s.issues = [issue]
|
|
1486
|
+
} else {
|
|
1487
|
+
return Exit.fail(new Issue.Composite(s.ast, s.oinput, [issue]))
|
|
1488
|
+
}
|
|
1489
|
+
}
|
|
1490
|
+
}
|
|
1491
|
+
})
|
|
1492
|
+
|
|
1493
|
+
function resolveTailThreshold(
|
|
1494
|
+
inputLen: number,
|
|
1495
|
+
elementLen: number,
|
|
1496
|
+
tailLen: number
|
|
1497
|
+
) {
|
|
1498
|
+
return Math.max(elementLen, inputLen - tailLen)
|
|
1499
|
+
}
|
|
1500
|
+
|
|
1501
|
+
const resolveConcurrency = (value: number | "unbounded" | undefined) => {
|
|
1502
|
+
value = value === "unbounded" ? Infinity : value ?? 1
|
|
1503
|
+
return value > 1 ? { concurrency: value } : undefined
|
|
1504
|
+
}
|
|
1505
|
+
|
|
1506
|
+
const wrapPropertyKeyIssue = (
|
|
1507
|
+
s: {
|
|
1508
|
+
readonly oinput: Option.Option<unknown>
|
|
1509
|
+
readonly options: ParseOptions
|
|
1510
|
+
issues: Array<Issue.Issue> | undefined
|
|
1511
|
+
},
|
|
1512
|
+
ast: AST,
|
|
1513
|
+
key: PropertyKey,
|
|
1514
|
+
exit: Exit.Failure<any, Issue.Issue>
|
|
1515
|
+
) => {
|
|
1516
|
+
const issueResult = Cause.findError(exit.cause)
|
|
1517
|
+
if (Result.isFailure(issueResult)) {
|
|
1518
|
+
return exit
|
|
1519
|
+
}
|
|
1520
|
+
const issue = new Issue.Pointer([key], issueResult.success)
|
|
1521
|
+
if (s.options.errors === "all") {
|
|
1522
|
+
if (s.issues) s.issues.push(issue)
|
|
1523
|
+
else s.issues = [issue]
|
|
1524
|
+
} else {
|
|
1525
|
+
return Exit.fail(new Issue.Composite(ast, s.oinput, [issue]))
|
|
1526
|
+
}
|
|
1527
|
+
}
|
|
1523
1528
|
|
|
1524
1529
|
/**
|
|
1525
1530
|
* floating point or integer, with optional exponent
|
|
@@ -1713,12 +1718,11 @@ export class Objects extends Base {
|
|
|
1713
1718
|
const expectedKeys: Array<PropertyKey> = []
|
|
1714
1719
|
const expectedKeysSet = new Set<PropertyKey>()
|
|
1715
1720
|
const properties: Array<{
|
|
1716
|
-
readonly ps: PropertySignature
|
|
1721
|
+
readonly ps: PropertySignature | IndexSignature
|
|
1717
1722
|
readonly parser: Parser.Parser
|
|
1718
1723
|
readonly name: PropertyKey
|
|
1719
1724
|
readonly type: AST
|
|
1720
1725
|
}> = []
|
|
1721
|
-
const propertyCount = ast.propertySignatures.length
|
|
1722
1726
|
for (const ps of ast.propertySignatures) {
|
|
1723
1727
|
expectedKeys.push(ps.name)
|
|
1724
1728
|
expectedKeysSet.add(ps.name)
|
|
@@ -1736,6 +1740,54 @@ export class Objects extends Base {
|
|
|
1736
1740
|
if (ast.propertySignatures.length === 0 && ast.indexSignatures.length === 0) {
|
|
1737
1741
|
return fromRefinement(ast, Predicate.isNotNullish)
|
|
1738
1742
|
}
|
|
1743
|
+
|
|
1744
|
+
const parseIndexes = indexCount > 0 ?
|
|
1745
|
+
iterateEager<{
|
|
1746
|
+
readonly oinput: Option.Option<unknown>
|
|
1747
|
+
readonly input: Record<PropertyKey, unknown>
|
|
1748
|
+
readonly options: ParseOptions
|
|
1749
|
+
readonly out: Record<PropertyKey, unknown>
|
|
1750
|
+
issues: Array<Issue.Issue> | undefined
|
|
1751
|
+
}, [key: PropertyKey, is: IndexSignature]>()({
|
|
1752
|
+
onItem: Effect.fnUntracedEager(function*(
|
|
1753
|
+
s,
|
|
1754
|
+
[key, is]
|
|
1755
|
+
) {
|
|
1756
|
+
const parserKey = recur(indexSignatureParameterFromString(is.parameter))
|
|
1757
|
+
const effKey = parserKey(Option.some(key), s.options)
|
|
1758
|
+
const exitKey = (effectIsExit(effKey) ? effKey : yield* Effect.exit(effKey)) as Exit.Exit<
|
|
1759
|
+
Option.Option<PropertyKey>,
|
|
1760
|
+
Issue.Issue
|
|
1761
|
+
>
|
|
1762
|
+
if (exitKey._tag === "Failure") {
|
|
1763
|
+
const eff = wrapPropertyKeyIssue(s, ast, key, exitKey)
|
|
1764
|
+
if (eff) yield* eff
|
|
1765
|
+
return
|
|
1766
|
+
}
|
|
1767
|
+
|
|
1768
|
+
const value: Option.Option<unknown> = Option.some(s.input[key])
|
|
1769
|
+
const parserValue = recur(is.type)
|
|
1770
|
+
const effValue = parserValue(value, s.options)
|
|
1771
|
+
const exitValue = effectIsExit(effValue) ? effValue : yield* Effect.exit(effValue)
|
|
1772
|
+
if (exitValue._tag === "Failure") {
|
|
1773
|
+
const eff = wrapPropertyKeyIssue(s, ast, key, exitValue)
|
|
1774
|
+
if (eff) yield* eff
|
|
1775
|
+
return
|
|
1776
|
+
} else if (exitKey.value._tag === "Some" && exitValue.value._tag === "Some") {
|
|
1777
|
+
const k2 = exitKey.value.value
|
|
1778
|
+
const v2 = exitValue.value.value
|
|
1779
|
+
if (is.merge && is.merge.decode && Object.hasOwn(s.out, k2)) {
|
|
1780
|
+
const [k, v] = is.merge.decode.combine([k2, s.out[k2]], [k2, v2])
|
|
1781
|
+
internalRecord.set(s.out, k, v)
|
|
1782
|
+
} else {
|
|
1783
|
+
internalRecord.set(s.out, k2, v2)
|
|
1784
|
+
}
|
|
1785
|
+
}
|
|
1786
|
+
}),
|
|
1787
|
+
step: (_s, _, exit: Exit.Exit<void, Issue.Issue>) => exit._tag === "Failure" ? exit : undefined
|
|
1788
|
+
}) :
|
|
1789
|
+
undefined
|
|
1790
|
+
|
|
1739
1791
|
return Effect.fnUntracedEager(function*(oinput, options) {
|
|
1740
1792
|
if (oinput._tag === "None") {
|
|
1741
1793
|
return oinput
|
|
@@ -1748,7 +1800,14 @@ export class Objects extends Base {
|
|
|
1748
1800
|
}
|
|
1749
1801
|
|
|
1750
1802
|
const out: Record<PropertyKey, unknown> = {}
|
|
1751
|
-
|
|
1803
|
+
const state = {
|
|
1804
|
+
ast,
|
|
1805
|
+
oinput,
|
|
1806
|
+
input,
|
|
1807
|
+
out,
|
|
1808
|
+
issues: undefined as Arr.NonEmptyArray<Issue.Issue> | undefined,
|
|
1809
|
+
options
|
|
1810
|
+
}
|
|
1752
1811
|
const errorsAllOption = options.errors === "all"
|
|
1753
1812
|
const onExcessPropertyError = options.onExcessProperty === "error"
|
|
1754
1813
|
const onExcessPropertyPreserve = options.onExcessProperty === "preserve"
|
|
@@ -1766,10 +1825,10 @@ export class Objects extends Base {
|
|
|
1766
1825
|
if (onExcessPropertyError) {
|
|
1767
1826
|
const issue = new Issue.Pointer([key], new Issue.UnexpectedKey(ast, input[key]))
|
|
1768
1827
|
if (errorsAllOption) {
|
|
1769
|
-
if (issues) {
|
|
1770
|
-
issues.push(issue)
|
|
1828
|
+
if (state.issues) {
|
|
1829
|
+
state.issues.push(issue)
|
|
1771
1830
|
} else {
|
|
1772
|
-
issues = [issue]
|
|
1831
|
+
state.issues = [issue]
|
|
1773
1832
|
}
|
|
1774
1833
|
continue
|
|
1775
1834
|
} else {
|
|
@@ -1783,111 +1842,33 @@ export class Objects extends Base {
|
|
|
1783
1842
|
}
|
|
1784
1843
|
}
|
|
1785
1844
|
|
|
1845
|
+
const concurrency = resolveConcurrency(options?.concurrency)
|
|
1846
|
+
|
|
1786
1847
|
// ---------------------------------------------
|
|
1787
1848
|
// handle property signatures
|
|
1788
1849
|
// ---------------------------------------------
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
const value: Option.Option<unknown> = Object.hasOwn(input, p.name)
|
|
1792
|
-
? Option.some(input[p.name])
|
|
1793
|
-
: Option.none()
|
|
1794
|
-
const eff = p.parser(value, options)
|
|
1795
|
-
const exit = effectIsExit(eff) ? eff : yield* Effect.exit(eff)
|
|
1796
|
-
if (exit._tag === "Failure") {
|
|
1797
|
-
const issueProp = Cause.findError(exit.cause)
|
|
1798
|
-
if (Result.isFailure(issueProp)) {
|
|
1799
|
-
return yield* exit
|
|
1800
|
-
}
|
|
1801
|
-
const issue = new Issue.Pointer([p.name], issueProp.success)
|
|
1802
|
-
if (errorsAllOption) {
|
|
1803
|
-
if (issues) issues.push(issue)
|
|
1804
|
-
else issues = [issue]
|
|
1805
|
-
continue
|
|
1806
|
-
} else {
|
|
1807
|
-
return yield* Effect.fail(new Issue.Composite(ast, oinput, [issue]))
|
|
1808
|
-
}
|
|
1809
|
-
} else if (exit.value._tag === "Some") {
|
|
1810
|
-
internalRecord.set(out, p.name, exit.value.value)
|
|
1811
|
-
} else if (!isOptional(p.type)) {
|
|
1812
|
-
const issue = new Issue.Pointer([p.name], new Issue.MissingKey(p.type.context?.annotations))
|
|
1813
|
-
if (errorsAllOption) {
|
|
1814
|
-
if (issues) issues.push(issue)
|
|
1815
|
-
else issues = [issue]
|
|
1816
|
-
continue
|
|
1817
|
-
} else {
|
|
1818
|
-
return yield* Effect.fail(
|
|
1819
|
-
new Issue.Composite(ast, oinput, [issue])
|
|
1820
|
-
)
|
|
1821
|
-
}
|
|
1822
|
-
}
|
|
1823
|
-
}
|
|
1850
|
+
const eff = parseProperties(state, properties, concurrency)
|
|
1851
|
+
if (eff) yield* eff
|
|
1824
1852
|
|
|
1825
1853
|
// ---------------------------------------------
|
|
1826
1854
|
// handle index signatures
|
|
1827
1855
|
// ---------------------------------------------
|
|
1828
|
-
if (
|
|
1856
|
+
if (parseIndexes) {
|
|
1857
|
+
const keyPairs = Arr.empty<[PropertyKey, IndexSignature]>()
|
|
1829
1858
|
for (let i = 0; i < indexCount; i++) {
|
|
1830
1859
|
const is = ast.indexSignatures[i]
|
|
1831
1860
|
const keys = getIndexSignatureKeys(input, is.parameter)
|
|
1832
1861
|
for (let j = 0; j < keys.length; j++) {
|
|
1833
1862
|
const key = keys[j]
|
|
1834
|
-
|
|
1835
|
-
const effKey = parserKey(Option.some(key), options)
|
|
1836
|
-
const exitKey = (effectIsExit(effKey) ? effKey : yield* Effect.exit(effKey)) as Exit.Exit<
|
|
1837
|
-
Option.Option<PropertyKey>,
|
|
1838
|
-
Issue.Issue
|
|
1839
|
-
>
|
|
1840
|
-
if (exitKey._tag === "Failure") {
|
|
1841
|
-
const issueKey = Cause.findError(exitKey.cause)
|
|
1842
|
-
if (Result.isFailure(issueKey)) {
|
|
1843
|
-
return yield* exitKey
|
|
1844
|
-
}
|
|
1845
|
-
const issue = new Issue.Pointer([key], issueKey.success)
|
|
1846
|
-
if (errorsAllOption) {
|
|
1847
|
-
if (issues) issues.push(issue)
|
|
1848
|
-
else issues = [issue]
|
|
1849
|
-
continue
|
|
1850
|
-
}
|
|
1851
|
-
return yield* Effect.fail(
|
|
1852
|
-
new Issue.Composite(ast, oinput, [issue])
|
|
1853
|
-
)
|
|
1854
|
-
}
|
|
1855
|
-
|
|
1856
|
-
const value: Option.Option<unknown> = Option.some(input[key])
|
|
1857
|
-
const parserValue = recur(is.type)
|
|
1858
|
-
const effValue = parserValue(value, options)
|
|
1859
|
-
const exitValue = effectIsExit(effValue) ? effValue : yield* Effect.exit(effValue)
|
|
1860
|
-
if (exitValue._tag === "Failure") {
|
|
1861
|
-
const issueValue = Cause.findError(exitValue.cause)
|
|
1862
|
-
if (Result.isFailure(issueValue)) {
|
|
1863
|
-
return yield* exitValue
|
|
1864
|
-
}
|
|
1865
|
-
const issue = new Issue.Pointer([key], issueValue.success)
|
|
1866
|
-
if (errorsAllOption) {
|
|
1867
|
-
if (issues) issues.push(issue)
|
|
1868
|
-
else issues = [issue]
|
|
1869
|
-
continue
|
|
1870
|
-
} else {
|
|
1871
|
-
return yield* Effect.fail(
|
|
1872
|
-
new Issue.Composite(ast, oinput, [issue])
|
|
1873
|
-
)
|
|
1874
|
-
}
|
|
1875
|
-
} else if (exitKey.value._tag === "Some" && exitValue.value._tag === "Some") {
|
|
1876
|
-
const k2 = exitKey.value.value
|
|
1877
|
-
const v2 = exitValue.value.value
|
|
1878
|
-
if (is.merge && is.merge.decode && Object.hasOwn(out, k2)) {
|
|
1879
|
-
const [k, v] = is.merge.decode.combine([k2, out[k2]], [k2, v2])
|
|
1880
|
-
internalRecord.set(out, k, v)
|
|
1881
|
-
} else {
|
|
1882
|
-
internalRecord.set(out, k2, v2)
|
|
1883
|
-
}
|
|
1884
|
-
}
|
|
1863
|
+
keyPairs.push([key, is])
|
|
1885
1864
|
}
|
|
1886
1865
|
}
|
|
1866
|
+
const eff = parseIndexes(state, keyPairs, concurrency)
|
|
1867
|
+
if (eff) yield* eff
|
|
1887
1868
|
}
|
|
1888
1869
|
|
|
1889
|
-
if (issues) {
|
|
1890
|
-
return yield* Effect.fail(new Issue.Composite(ast, oinput, issues))
|
|
1870
|
+
if (state.issues) {
|
|
1871
|
+
return yield* Effect.fail(new Issue.Composite(ast, oinput, state.issues))
|
|
1891
1872
|
}
|
|
1892
1873
|
if (options.propertyOrder === "original") {
|
|
1893
1874
|
// preserve input keys order
|
|
@@ -1940,6 +1921,56 @@ export class Objects extends Base {
|
|
|
1940
1921
|
}
|
|
1941
1922
|
}
|
|
1942
1923
|
|
|
1924
|
+
type ParsedProperty = {
|
|
1925
|
+
readonly ps: PropertySignature | IndexSignature
|
|
1926
|
+
readonly parser: Parser.Parser
|
|
1927
|
+
readonly name: PropertyKey
|
|
1928
|
+
readonly type: AST
|
|
1929
|
+
}
|
|
1930
|
+
|
|
1931
|
+
const parseProperties = iterateEager<{
|
|
1932
|
+
readonly ast: AST
|
|
1933
|
+
readonly oinput: Option.Option<unknown>
|
|
1934
|
+
readonly input: Record<PropertyKey, unknown>
|
|
1935
|
+
readonly options: ParseOptions
|
|
1936
|
+
readonly out: Record<PropertyKey, unknown>
|
|
1937
|
+
issues: Array<Issue.Issue> | undefined
|
|
1938
|
+
}, ParsedProperty>()({
|
|
1939
|
+
onItem(
|
|
1940
|
+
s: {
|
|
1941
|
+
readonly oinput: Option.Option<unknown>
|
|
1942
|
+
readonly input: Record<PropertyKey, unknown>
|
|
1943
|
+
readonly options: ParseOptions
|
|
1944
|
+
readonly out: Record<PropertyKey, unknown>
|
|
1945
|
+
issues: Array<Issue.Issue> | undefined
|
|
1946
|
+
},
|
|
1947
|
+
p
|
|
1948
|
+
) {
|
|
1949
|
+
const value: Option.Option<unknown> = Object.hasOwn(s.input, p.name)
|
|
1950
|
+
? Option.some(s.input[p.name])
|
|
1951
|
+
: Option.none()
|
|
1952
|
+
return p.parser(value, s.options)
|
|
1953
|
+
},
|
|
1954
|
+
step(s, p, exit) {
|
|
1955
|
+
if (exit._tag === "Failure") {
|
|
1956
|
+
return wrapPropertyKeyIssue(s, s.ast, p.name, exit)
|
|
1957
|
+
} else if (exit.value._tag === "Some") {
|
|
1958
|
+
internalRecord.set(s.out, p.name, exit.value.value)
|
|
1959
|
+
} else if (!isOptional(p.type)) {
|
|
1960
|
+
const issue = new Issue.Pointer([p.name], new Issue.MissingKey(p.type.context?.annotations))
|
|
1961
|
+
if (s.options.errors === "all") {
|
|
1962
|
+
if (s.issues) s.issues.push(issue)
|
|
1963
|
+
else s.issues = [issue]
|
|
1964
|
+
return
|
|
1965
|
+
} else {
|
|
1966
|
+
return Exit.fail(
|
|
1967
|
+
new Issue.Composite(s.ast, s.oinput, [issue])
|
|
1968
|
+
)
|
|
1969
|
+
}
|
|
1970
|
+
}
|
|
1971
|
+
}
|
|
1972
|
+
})
|
|
1973
|
+
|
|
1943
1974
|
function mergeChecks(checks: Checks | undefined, b: AST): Checks | undefined {
|
|
1944
1975
|
if (!checks) {
|
|
1945
1976
|
return b.checks
|
|
@@ -2027,7 +2058,7 @@ type Type =
|
|
|
2027
2058
|
/** @internal */
|
|
2028
2059
|
export type Sentinel = {
|
|
2029
2060
|
readonly key: PropertyKey
|
|
2030
|
-
readonly literal: LiteralValue
|
|
2061
|
+
readonly literal: LiteralValue | symbol
|
|
2031
2062
|
}
|
|
2032
2063
|
|
|
2033
2064
|
function getCandidateTypes(ast: AST): ReadonlyArray<Type> {
|
|
@@ -2080,28 +2111,33 @@ function getCandidateTypes(ast: AST): ReadonlyArray<Type> {
|
|
|
2080
2111
|
}
|
|
2081
2112
|
|
|
2082
2113
|
/** @internal */
|
|
2083
|
-
export function collectSentinels(ast: AST): Array<Sentinel>
|
|
2114
|
+
export function collectSentinels(ast: AST): Array<Sentinel> {
|
|
2084
2115
|
switch (ast._tag) {
|
|
2116
|
+
default:
|
|
2117
|
+
return []
|
|
2085
2118
|
case "Declaration": {
|
|
2086
2119
|
const s = ast.annotations?.["~sentinels"]
|
|
2087
|
-
return Array.isArray(s)
|
|
2120
|
+
return Array.isArray(s) ? s : []
|
|
2088
2121
|
}
|
|
2089
|
-
case "Objects":
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2122
|
+
case "Objects":
|
|
2123
|
+
return ast.propertySignatures.flatMap((ps): Array<Sentinel> => {
|
|
2124
|
+
const type = ps.type
|
|
2125
|
+
if (!isOptional(type)) {
|
|
2126
|
+
if (isLiteral(type)) {
|
|
2127
|
+
return [{ key: ps.name, literal: type.literal }]
|
|
2128
|
+
}
|
|
2129
|
+
if (isUniqueSymbol(type)) {
|
|
2130
|
+
return [{ key: ps.name, literal: type.symbol }]
|
|
2131
|
+
}
|
|
2132
|
+
}
|
|
2133
|
+
return []
|
|
2134
|
+
})
|
|
2135
|
+
case "Arrays":
|
|
2136
|
+
return ast.elements.flatMap((e, i) => {
|
|
2137
|
+
return isLiteral(e) && !isOptional(e)
|
|
2100
2138
|
? [{ key: i, literal: e.literal }]
|
|
2101
2139
|
: []
|
|
2102
|
-
)
|
|
2103
|
-
return v.length ? v : undefined
|
|
2104
|
-
}
|
|
2140
|
+
})
|
|
2105
2141
|
case "Suspend":
|
|
2106
2142
|
return collectSentinels(ast.thunk())
|
|
2107
2143
|
}
|
|
@@ -2109,7 +2145,7 @@ export function collectSentinels(ast: AST): Array<Sentinel> | undefined {
|
|
|
2109
2145
|
|
|
2110
2146
|
type CandidateIndex = {
|
|
2111
2147
|
byType?: { [K in Type]?: Array<AST> }
|
|
2112
|
-
bySentinel?: Map<PropertyKey, Map<LiteralValue, Array<AST>>>
|
|
2148
|
+
bySentinel?: Map<PropertyKey, Map<LiteralValue | symbol, Array<AST>>>
|
|
2113
2149
|
otherwise?: { [K in Type]?: Array<AST> }
|
|
2114
2150
|
}
|
|
2115
2151
|
|
|
@@ -2131,7 +2167,7 @@ function getIndex(types: ReadonlyArray<AST>): CandidateIndex {
|
|
|
2131
2167
|
idx.byType ??= {}
|
|
2132
2168
|
for (const t of types) (idx.byType[t] ??= []).push(a)
|
|
2133
2169
|
|
|
2134
|
-
if (sentinels
|
|
2170
|
+
if (sentinels.length > 0) { // discriminated variants
|
|
2135
2171
|
idx.bySentinel ??= new Map()
|
|
2136
2172
|
for (const { key, literal } of sentinels) {
|
|
2137
2173
|
let m = idx.bySentinel.get(key)
|
|
@@ -2240,54 +2276,33 @@ export class Union<A extends AST = AST> extends Base {
|
|
|
2240
2276
|
getParser(recur: (ast: AST) => Parser.Parser): Parser.Parser {
|
|
2241
2277
|
// oxlint-disable-next-line @typescript-eslint/no-this-alias
|
|
2242
2278
|
const ast = this
|
|
2243
|
-
|
|
2279
|
+
|
|
2280
|
+
return (oinput, options) => {
|
|
2244
2281
|
if (oinput._tag === "None") {
|
|
2245
|
-
return oinput
|
|
2282
|
+
return Effect.succeed(oinput)
|
|
2246
2283
|
}
|
|
2247
2284
|
const input = oinput.value
|
|
2248
|
-
const oneOf = ast.mode === "oneOf"
|
|
2249
2285
|
const candidates = getCandidates(input, ast.types)
|
|
2250
|
-
let issues: Arr.NonEmptyArray<Issue.Issue> | undefined
|
|
2251
2286
|
|
|
2252
|
-
const
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2287
|
+
const state = {
|
|
2288
|
+
ast,
|
|
2289
|
+
recur,
|
|
2290
|
+
oinput,
|
|
2291
|
+
input,
|
|
2256
2292
|
out: undefined,
|
|
2257
|
-
successes: []
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
const candidate = candidates[i]
|
|
2261
|
-
const parser = recur(candidate)
|
|
2262
|
-
const eff = parser(oinput, options)
|
|
2263
|
-
const exit = effectIsExit(eff) ? eff : yield* Effect.exit(eff)
|
|
2264
|
-
if (exit._tag === "Failure") {
|
|
2265
|
-
const issueResult = Cause.findError(exit.cause)
|
|
2266
|
-
if (Result.isFailure(issueResult)) {
|
|
2267
|
-
return yield* exit
|
|
2268
|
-
}
|
|
2269
|
-
if (issues) issues.push(issueResult.success)
|
|
2270
|
-
else issues = [issueResult.success]
|
|
2271
|
-
continue
|
|
2272
|
-
} else {
|
|
2273
|
-
if (tracking.out && oneOf) {
|
|
2274
|
-
tracking.successes.push(candidate)
|
|
2275
|
-
return yield* Effect.fail(new Issue.OneOf(ast, input, tracking.successes))
|
|
2276
|
-
}
|
|
2277
|
-
tracking.out = exit.value
|
|
2278
|
-
tracking.successes.push(candidate)
|
|
2279
|
-
if (!oneOf) {
|
|
2280
|
-
break
|
|
2281
|
-
}
|
|
2282
|
-
}
|
|
2293
|
+
successes: [],
|
|
2294
|
+
issues: undefined as Arr.NonEmptyArray<Issue.Issue> | undefined,
|
|
2295
|
+
options
|
|
2283
2296
|
}
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
return yield* Effect.fail(new Issue.AnyOf(ast, input, issues ?? []))
|
|
2297
|
+
const concurrency = resolveConcurrency(options?.concurrency)
|
|
2298
|
+
const eff = parseUnion(state, candidates, concurrency)
|
|
2299
|
+
if (!eff) {
|
|
2300
|
+
return state.out ? Effect.succeed(state.out) : Effect.fail(new Issue.AnyOf(ast, input, state.issues ?? []))
|
|
2289
2301
|
}
|
|
2290
|
-
|
|
2302
|
+
return Effect.flatMap(eff, (_) => {
|
|
2303
|
+
return state.out ? Effect.succeed(state.out) : Effect.fail(new Issue.AnyOf(ast, input, state.issues ?? []))
|
|
2304
|
+
})
|
|
2305
|
+
}
|
|
2291
2306
|
}
|
|
2292
2307
|
/** @internal */
|
|
2293
2308
|
recur(recur: (ast: AST) => AST) {
|
|
@@ -2335,6 +2350,42 @@ export class Union<A extends AST = AST> extends Base {
|
|
|
2335
2350
|
}
|
|
2336
2351
|
}
|
|
2337
2352
|
|
|
2353
|
+
const parseUnion = iterateEager<{
|
|
2354
|
+
readonly recur: (ast: AST) => Parser.Parser
|
|
2355
|
+
readonly ast: Union
|
|
2356
|
+
readonly oinput: Option.Option<unknown>
|
|
2357
|
+
readonly input: unknown
|
|
2358
|
+
readonly options: ParseOptions
|
|
2359
|
+
out: Option.Option<unknown> | undefined
|
|
2360
|
+
successes: Array<AST>
|
|
2361
|
+
issues: Array<Issue.Issue> | undefined
|
|
2362
|
+
}, AST>()({
|
|
2363
|
+
onItem(s, ast) {
|
|
2364
|
+
const parser = s.recur(ast)
|
|
2365
|
+
return parser(s.oinput, s.options)
|
|
2366
|
+
},
|
|
2367
|
+
step(s, candidate, exit) {
|
|
2368
|
+
if (exit._tag === "Failure") {
|
|
2369
|
+
const issueResult = Cause.findError(exit.cause)
|
|
2370
|
+
if (Result.isFailure(issueResult)) {
|
|
2371
|
+
return exit
|
|
2372
|
+
}
|
|
2373
|
+
if (s.issues) s.issues.push(issueResult.success)
|
|
2374
|
+
else s.issues = [issueResult.success]
|
|
2375
|
+
} else {
|
|
2376
|
+
if (s.out && s.ast.mode === "oneOf") {
|
|
2377
|
+
s.successes.push(candidate)
|
|
2378
|
+
return Exit.fail(new Issue.OneOf(s.ast, s.input, s.successes))
|
|
2379
|
+
}
|
|
2380
|
+
s.out = exit.value
|
|
2381
|
+
s.successes.push(candidate)
|
|
2382
|
+
if (s.ast.mode === "anyOf") {
|
|
2383
|
+
return Exit.void
|
|
2384
|
+
}
|
|
2385
|
+
}
|
|
2386
|
+
}
|
|
2387
|
+
})
|
|
2388
|
+
|
|
2338
2389
|
const nonFiniteLiterals = new Union([
|
|
2339
2390
|
new Literal("Infinity"),
|
|
2340
2391
|
new Literal("-Infinity"),
|
|
@@ -2388,9 +2439,9 @@ export function memoizeThunk<A>(f: () => A): () => A {
|
|
|
2388
2439
|
* readonly children: ReadonlyArray<Category>
|
|
2389
2440
|
* }
|
|
2390
2441
|
*
|
|
2391
|
-
* const Category
|
|
2442
|
+
* const Category = Schema.Struct({
|
|
2392
2443
|
* name: Schema.String,
|
|
2393
|
-
* children: Schema.Array(Schema.suspend(() => Category))
|
|
2444
|
+
* children: Schema.Array(Schema.suspend((): Schema.Codec<Category> => Category))
|
|
2394
2445
|
* })
|
|
2395
2446
|
*
|
|
2396
2447
|
* // The recursive branch is a Suspend node
|
|
@@ -2538,19 +2589,12 @@ export type Check<T> = Filter<T> | FilterGroup<T>
|
|
|
2538
2589
|
|
|
2539
2590
|
/** @internal */
|
|
2540
2591
|
export function makeFilter<T>(
|
|
2541
|
-
filter: (
|
|
2542
|
-
input: T,
|
|
2543
|
-
ast: AST,
|
|
2544
|
-
options: ParseOptions
|
|
2545
|
-
) => undefined | boolean | string | Issue.Issue | {
|
|
2546
|
-
readonly path: ReadonlyArray<PropertyKey>
|
|
2547
|
-
readonly message: string
|
|
2548
|
-
},
|
|
2592
|
+
filter: (input: T, ast: AST, options: ParseOptions) => Schema.FilterOutput,
|
|
2549
2593
|
annotations?: Schema.Annotations.Filter | undefined,
|
|
2550
2594
|
aborted: boolean = false
|
|
2551
2595
|
): Filter<T> {
|
|
2552
2596
|
return new Filter(
|
|
2553
|
-
(input, ast, options) => Issue.make(input, filter(input, ast, options)),
|
|
2597
|
+
(input, ast, options) => Issue.make(input, ast, filter(input, ast, options)),
|
|
2554
2598
|
annotations,
|
|
2555
2599
|
aborted
|
|
2556
2600
|
)
|
|
@@ -2639,6 +2683,11 @@ export function replaceContext<A extends AST>(ast: A, context: Context | undefin
|
|
|
2639
2683
|
})
|
|
2640
2684
|
}
|
|
2641
2685
|
|
|
2686
|
+
/** @internal */
|
|
2687
|
+
export function getLastEncoding(ast: AST): AST {
|
|
2688
|
+
return ast.encoding ? getLastEncoding(ast.encoding[ast.encoding.length - 1].to) : ast
|
|
2689
|
+
}
|
|
2690
|
+
|
|
2642
2691
|
/** @internal */
|
|
2643
2692
|
export function annotate<A extends AST>(ast: A, annotations: Schema.Annotations.Annotations): A {
|
|
2644
2693
|
if (ast.checks) {
|
|
@@ -2786,21 +2835,10 @@ export function mutableKey<A extends AST>(ast: A): A {
|
|
|
2786
2835
|
/** @internal */
|
|
2787
2836
|
export function withConstructorDefault<A extends AST>(
|
|
2788
2837
|
ast: A,
|
|
2789
|
-
|
|
2790
|
-
* The `input` parameters is `None` if the value is not present and
|
|
2791
|
-
* `Some(undefined)` if the value is present but undefined
|
|
2792
|
-
*/
|
|
2793
|
-
defaultValue: (input: Option.Option<undefined>) => Option.Option<unknown> | Effect.Effect<Option.Option<unknown>>
|
|
2838
|
+
defaultValue: Effect.Effect<unknown>
|
|
2794
2839
|
): A {
|
|
2795
2840
|
const transformation = new Transformation.Transformation(
|
|
2796
|
-
|
|
2797
|
-
if (Option.isNone(Option.filter(o, Predicate.isNotUndefined))) {
|
|
2798
|
-
const oe = defaultValue(o as Option.Option<undefined>)
|
|
2799
|
-
return Effect.isEffect(oe) ? oe : Effect.succeed(oe)
|
|
2800
|
-
} else {
|
|
2801
|
-
return Effect.succeed(o)
|
|
2802
|
-
}
|
|
2803
|
-
}),
|
|
2841
|
+
Getter.withDefault(defaultValue),
|
|
2804
2842
|
Getter.passthrough()
|
|
2805
2843
|
)
|
|
2806
2844
|
const encoding: Encoding = [new Link(unknown, transformation)]
|
|
@@ -3191,14 +3229,13 @@ export function isStringBigInt(annotations?: Schema.Annotations.Filter) {
|
|
|
3191
3229
|
}
|
|
3192
3230
|
|
|
3193
3231
|
/** @internal */
|
|
3194
|
-
export const bigIntString = appendChecks(string, [isStringBigInt(
|
|
3232
|
+
export const bigIntString = appendChecks(string, [isStringBigInt({
|
|
3233
|
+
expected: "a string representing a bigint"
|
|
3234
|
+
})])
|
|
3195
3235
|
|
|
3196
3236
|
const bigIntToString = new Link(
|
|
3197
3237
|
bigIntString,
|
|
3198
|
-
|
|
3199
|
-
Getter.transform(globalThis.BigInt),
|
|
3200
|
-
Getter.String()
|
|
3201
|
-
)
|
|
3238
|
+
Transformation.bigintFromString
|
|
3202
3239
|
)
|
|
3203
3240
|
|
|
3204
3241
|
const REGEXP_PATTERN = "Symbol\\((.*)\\)"
|
|
@@ -3358,3 +3395,144 @@ export const resolveTitle: (ast: AST) => string | undefined = InternalAnnotation
|
|
|
3358
3395
|
* @since 4.0.0
|
|
3359
3396
|
*/
|
|
3360
3397
|
export const resolveDescription: (ast: AST) => string | undefined = InternalAnnotations.resolveDescription
|
|
3398
|
+
|
|
3399
|
+
/**
|
|
3400
|
+
* Returns true if the value is a JSON value.
|
|
3401
|
+
*
|
|
3402
|
+
* When a cyclic reference is detected, returns false.
|
|
3403
|
+
*
|
|
3404
|
+
* @internal
|
|
3405
|
+
*/
|
|
3406
|
+
export function isJson(u: unknown): u is Schema.Json {
|
|
3407
|
+
// `onPath` is the current recursion stack: nodes between the root and the
|
|
3408
|
+
// one being visited. A hit here means we looped back to an ancestor — a
|
|
3409
|
+
// real cycle, not a DAG — so the value is not JSON.
|
|
3410
|
+
const onPath = new Set<unknown>()
|
|
3411
|
+
// `validated` memoizes subtrees we've already fully checked. Without it, a
|
|
3412
|
+
// diamond-shaped DAG (same node reached through multiple parents) would be
|
|
3413
|
+
// re-traversed once per parent, which is exponential in the nesting depth.
|
|
3414
|
+
const validated = new Set<unknown>()
|
|
3415
|
+
return recur(u)
|
|
3416
|
+
|
|
3417
|
+
function recur(u: unknown): boolean {
|
|
3418
|
+
if (u === null || typeof u === "string" || typeof u === "boolean") {
|
|
3419
|
+
return true
|
|
3420
|
+
}
|
|
3421
|
+
if (typeof u === "number") {
|
|
3422
|
+
return globalThis.Number.isFinite(u)
|
|
3423
|
+
}
|
|
3424
|
+
if (typeof u !== "object" || u === undefined) {
|
|
3425
|
+
return false
|
|
3426
|
+
}
|
|
3427
|
+
if (onPath.has(u)) {
|
|
3428
|
+
return false
|
|
3429
|
+
}
|
|
3430
|
+
if (validated.has(u)) {
|
|
3431
|
+
return true
|
|
3432
|
+
}
|
|
3433
|
+
onPath.add(u)
|
|
3434
|
+
const ok = Array.isArray(u)
|
|
3435
|
+
? u.every(recur)
|
|
3436
|
+
: Object.keys(u).every((key) => recur((u as Record<string, unknown>)[key]))
|
|
3437
|
+
// Pop on exit so siblings reaching the same node via a different path
|
|
3438
|
+
// don't see it as an ancestor (that would reject valid DAGs).
|
|
3439
|
+
onPath.delete(u)
|
|
3440
|
+
if (ok) {
|
|
3441
|
+
validated.add(u)
|
|
3442
|
+
}
|
|
3443
|
+
return ok
|
|
3444
|
+
}
|
|
3445
|
+
}
|
|
3446
|
+
|
|
3447
|
+
/** @internal */
|
|
3448
|
+
export const Json = new Declaration(
|
|
3449
|
+
[],
|
|
3450
|
+
() => (input, ast) =>
|
|
3451
|
+
isJson(input) ?
|
|
3452
|
+
Effect.succeed(input) :
|
|
3453
|
+
Effect.fail(new Issue.InvalidType(ast, Option.some(input))),
|
|
3454
|
+
{
|
|
3455
|
+
typeConstructor: {
|
|
3456
|
+
_tag: "effect/Json"
|
|
3457
|
+
},
|
|
3458
|
+
generation: {
|
|
3459
|
+
runtime: `Schema.Json`,
|
|
3460
|
+
Type: `Schema.Json`
|
|
3461
|
+
},
|
|
3462
|
+
expected: "JSON value",
|
|
3463
|
+
toCodecJson: () => new Link(unknown, Transformation.passthrough())
|
|
3464
|
+
}
|
|
3465
|
+
)
|
|
3466
|
+
|
|
3467
|
+
/** @internal */
|
|
3468
|
+
export const MutableJson = annotate(Json, {
|
|
3469
|
+
typeConstructor: {
|
|
3470
|
+
_tag: "effect/MutableJson"
|
|
3471
|
+
},
|
|
3472
|
+
generation: {
|
|
3473
|
+
runtime: `Schema.MutableJson`,
|
|
3474
|
+
Type: `Schema.MutableJson`
|
|
3475
|
+
}
|
|
3476
|
+
})
|
|
3477
|
+
|
|
3478
|
+
/** @internal */
|
|
3479
|
+
export const unknownToNull = new Link(
|
|
3480
|
+
null_,
|
|
3481
|
+
new Transformation.Transformation(
|
|
3482
|
+
Getter.passthrough(),
|
|
3483
|
+
Getter.transform(() => null)
|
|
3484
|
+
)
|
|
3485
|
+
)
|
|
3486
|
+
|
|
3487
|
+
/** @internal */
|
|
3488
|
+
export const unknownToJson = new Link(
|
|
3489
|
+
Json,
|
|
3490
|
+
Transformation.passthrough()
|
|
3491
|
+
)
|
|
3492
|
+
|
|
3493
|
+
/**
|
|
3494
|
+
* Returns true if the value is a StringTree value.
|
|
3495
|
+
*
|
|
3496
|
+
* When a cyclic reference is detected, returns false.
|
|
3497
|
+
*
|
|
3498
|
+
* @internal
|
|
3499
|
+
*/
|
|
3500
|
+
export function isStringTree(u: unknown): u is Schema.StringTree {
|
|
3501
|
+
const seen = new Set<unknown>()
|
|
3502
|
+
return recur(u)
|
|
3503
|
+
|
|
3504
|
+
function recur(u: unknown): boolean {
|
|
3505
|
+
if (u === undefined || typeof u === "string") {
|
|
3506
|
+
return true
|
|
3507
|
+
}
|
|
3508
|
+
if (typeof u !== "object" || u === null) {
|
|
3509
|
+
return false
|
|
3510
|
+
}
|
|
3511
|
+
if (seen.has(u)) {
|
|
3512
|
+
return false
|
|
3513
|
+
}
|
|
3514
|
+
seen.add(u)
|
|
3515
|
+
if (Array.isArray(u)) {
|
|
3516
|
+
return u.every(recur)
|
|
3517
|
+
}
|
|
3518
|
+
return Object.keys(u).every((key) => recur((u as Record<string, unknown>)[key]))
|
|
3519
|
+
}
|
|
3520
|
+
}
|
|
3521
|
+
|
|
3522
|
+
const StringTree = new Declaration(
|
|
3523
|
+
[],
|
|
3524
|
+
() => (input, ast) =>
|
|
3525
|
+
isStringTree(input) ?
|
|
3526
|
+
Effect.succeed(input) :
|
|
3527
|
+
Effect.fail(new Issue.InvalidType(ast, Option.some(input))),
|
|
3528
|
+
{
|
|
3529
|
+
expected: "StringTree",
|
|
3530
|
+
toCodecStringTree: () => new Link(unknown, Transformation.passthrough())
|
|
3531
|
+
}
|
|
3532
|
+
)
|
|
3533
|
+
|
|
3534
|
+
/** @internal */
|
|
3535
|
+
export const unknownToStringTree = new Link(
|
|
3536
|
+
StringTree,
|
|
3537
|
+
Transformation.passthrough()
|
|
3538
|
+
)
|