effect 4.0.0-beta.102 → 4.0.0-beta.104
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 +971 -1037
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +381 -407
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +433 -756
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +200 -325
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +207 -267
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +107 -135
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +146 -188
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Boolean.js +64 -84
- package/dist/Boolean.js.map +1 -1
- package/dist/Brand.js.map +1 -1
- package/dist/Cache.d.ts +405 -254
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +167 -102
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +167 -277
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +122 -176
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +730 -769
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +514 -440
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +1 -1
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +834 -1173
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +326 -439
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +180 -49
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js +96 -31
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +20 -33
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +18 -30
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +225 -173
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +357 -265
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +194 -68
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +117 -81
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +233 -33
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js +232 -32
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +153 -276
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +171 -214
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +68 -77
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +57 -66
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +13 -15
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +22 -15
- package/dist/Crypto.js.map +1 -1
- package/dist/Data.d.ts +60 -80
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +16 -23
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +562 -660
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +307 -362
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +253 -256
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +104 -96
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +216 -308
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +144 -187
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +2993 -3281
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1360 -1546
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.js.map +1 -1
- package/dist/Encoding.d.ts +22 -40
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +22 -40
- package/dist/Encoding.js.map +1 -1
- package/dist/Equal.d.ts +33 -37
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +39 -23
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +103 -105
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +77 -79
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +51 -27
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +50 -26
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +86 -55
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +8 -29
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +116 -192
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +82 -130
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +82 -146
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +48 -87
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +152 -105
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +106 -73
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +213 -168
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +114 -89
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +123 -81
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +86 -60
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +154 -265
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +42 -147
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +61 -33
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +26 -15
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +25 -33
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +48 -49
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +80 -148
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +45 -62
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +360 -714
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +168 -297
- package/dist/Graph.js.map +1 -1
- package/dist/HKT.d.ts +12 -6
- package/dist/HKT.d.ts.map +1 -1
- package/dist/Hash.d.ts +47 -83
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +46 -68
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +319 -411
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +122 -166
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +1 -0
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +177 -284
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js +68 -109
- package/dist/HashSet.js.map +1 -1
- package/dist/Inspectable.d.ts +12 -12
- package/dist/Inspectable.js +8 -8
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +620 -786
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +239 -316
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +11 -13
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +44 -102
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +8 -8
- package/dist/JsonPointer.js +8 -8
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +98 -44
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +297 -234
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +23 -35
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +16 -28
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +359 -260
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +202 -180
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +42 -29
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +31 -21
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts +6 -2
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +6 -2
- package/dist/LayerRef.js.map +1 -1
- package/dist/LogLevel.d.ts +114 -214
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +41 -76
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +218 -467
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +204 -450
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +7 -5
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +7 -5
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +217 -252
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +150 -183
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +442 -993
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +198 -642
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +144 -173
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +68 -79
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +84 -89
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +44 -47
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +71 -370
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +59 -284
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +420 -243
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +209 -120
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +21 -14
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +15 -13
- package/dist/Newtype.js.map +1 -1
- package/dist/NonEmptyIterable.d.ts +7 -137
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/NonEmptyIterable.js +5 -93
- package/dist/NonEmptyIterable.js.map +1 -1
- package/dist/Number.d.ts +196 -233
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +90 -109
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +97 -189
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +187 -290
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +447 -812
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +211 -392
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +109 -109
- package/dist/Order.js +91 -91
- package/dist/Order.js.map +1 -1
- package/dist/Ordering.d.ts +20 -23
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/Ordering.js +8 -9
- package/dist/Ordering.js.map +1 -1
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +38 -41
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +3 -4
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +6 -5
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +2 -2
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +4 -4
- package/dist/PlatformError.js +3 -3
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +4 -2
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +4 -2
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +200 -181
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +100 -108
- package/dist/Predicate.js.map +1 -1
- package/dist/PrimaryKey.d.ts +7 -7
- package/dist/PrimaryKey.js +5 -5
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +425 -494
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +373 -362
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +24 -18
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +11 -9
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +200 -159
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +162 -132
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +49 -74
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +35 -54
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +121 -63
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +42 -21
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +24 -13
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js +15 -9
- package/dist/RcRef.js.map +1 -1
- package/dist/Record.d.ts +291 -488
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +111 -202
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +6 -2
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +7 -2
- package/dist/Redactable.js.map +1 -1
- package/dist/Redacted.d.ts +25 -25
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +19 -20
- package/dist/Redacted.js.map +1 -1
- package/dist/Reducer.d.ts +8 -15
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +6 -12
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +95 -165
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +75 -122
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +102 -168
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +102 -168
- package/dist/References.js.map +1 -1
- package/dist/RegExp.d.ts +10 -14
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/RegExp.js +10 -14
- package/dist/RegExp.js.map +1 -1
- package/dist/Request.d.ts +31 -21
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +16 -13
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +201 -90
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +87 -41
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +302 -470
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +133 -217
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +50 -75
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +39 -60
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +292 -1638
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +164 -805
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +5 -5
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +18 -6
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +676 -674
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +513 -544
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +30 -53
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +404 -301
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaError.d.ts +7 -6
- package/dist/SchemaError.d.ts.map +1 -1
- package/dist/SchemaError.js +7 -6
- package/dist/SchemaError.js.map +1 -1
- package/dist/SchemaGetter.d.ts +217 -174
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +218 -185
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +62 -190
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +73 -265
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +2 -2
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +137 -107
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +22 -36
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +20 -26
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +114 -74
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +120 -85
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +123 -151
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +72 -92
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/ScopedRef.d.ts +3 -3
- package/dist/ScopedRef.js +2 -2
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +96 -10
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +78 -39
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +118 -108
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +107 -100
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +1 -1
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +2442 -2953
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +1105 -1383
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +262 -308
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +184 -215
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +109 -114
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +41 -50
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +282 -250
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +104 -92
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Symbol.d.ts +3 -3
- package/dist/Symbol.js +3 -3
- package/dist/Symbol.js.map +1 -1
- package/dist/SynchronizedRef.js +1 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Take.js.map +1 -1
- package/dist/Terminal.d.ts +2 -2
- package/dist/Terminal.js +2 -2
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +100 -54
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +41 -24
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +287 -679
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +109 -251
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +98 -131
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +42 -57
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +201 -121
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +85 -56
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +62 -46
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +30 -22
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +631 -779
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +268 -330
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +297 -236
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +130 -100
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +126 -95
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +74 -56
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +101 -88
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +87 -66
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +200 -180
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +160 -136
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +89 -114
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +75 -53
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +51 -32
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +23 -15
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +129 -95
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +85 -70
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +97 -70
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +44 -34
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +126 -67
- package/dist/Types.d.ts.map +1 -1
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +45 -65
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js +6 -9
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +23 -16
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +3 -7
- package/dist/Utils.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/array.js.map +1 -1
- package/dist/internal/core.js +1 -1
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +5 -1
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/doNotation.js.map +1 -1
- package/dist/internal/effect.js +77 -40
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/equal.js.map +1 -1
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/executionPlan.js +51 -3
- package/dist/internal/executionPlan.js.map +1 -1
- package/dist/internal/hashMap.js +12 -8
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/hashSet.js.map +1 -1
- package/dist/internal/layer.js.map +1 -1
- package/dist/internal/matcher.js +1 -1
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/metric.js.map +1 -1
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/persistence.d.ts +2 -0
- package/dist/internal/persistence.d.ts.map +1 -0
- package/dist/internal/persistence.js +3 -0
- package/dist/internal/persistence.js.map +1 -0
- package/dist/internal/random.js.map +1 -1
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/record.js.map +1 -1
- package/dist/internal/redacted.js.map +1 -1
- package/dist/internal/references.js +3 -0
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/result.js.map +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/cause.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +13 -11
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/fromRepresentation.js +8 -15
- package/dist/internal/schema/fromRepresentation.js.map +1 -1
- package/dist/internal/schema/parser.d.ts +14 -0
- package/dist/internal/schema/parser.d.ts.map +1 -0
- package/dist/internal/schema/parser.js +13 -0
- package/dist/internal/schema/parser.js.map +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/schema/toArbitrary.js +1 -1
- package/dist/internal/schema/toArbitrary.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toEquivalence.js.map +1 -1
- package/dist/internal/schema/toJsonSchemaDocument.js +48 -6
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toRepresentation.js +87 -107
- package/dist/internal/schema/toRepresentation.js.map +1 -1
- package/dist/internal/stackTraceLimit.js.map +1 -1
- package/dist/internal/stream.js.map +1 -1
- package/dist/internal/tracer.js.map +1 -1
- package/dist/internal/trie.js +24 -10
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/FastCheck.d.ts +8 -7
- package/dist/testing/FastCheck.d.ts.map +1 -1
- package/dist/testing/FastCheck.js +8 -7
- package/dist/testing/FastCheck.js.map +1 -1
- package/dist/testing/TestClock.d.ts +57 -28
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +61 -19
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestConsole.d.ts +32 -31
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +24 -22
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +30 -30
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +25 -25
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +95 -118
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +113 -136
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +132 -97
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +56 -52
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/IdGenerator.d.ts +32 -28
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +26 -21
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +107 -67
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +108 -66
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpProtocol.d.ts +30 -0
- package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
- package/dist/unstable/ai/McpProtocol.js +20 -0
- package/dist/unstable/ai/McpProtocol.js.map +1 -0
- package/dist/unstable/ai/McpSchema.d.ts +251 -185
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +66 -58
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +68 -59
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +695 -242
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +8 -19
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +9 -20
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +127 -41
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +59 -20
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +28 -14
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +9 -4
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts +46 -13
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +18 -7
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +14 -3
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +10 -2
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +59 -44
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +48 -39
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +26 -8
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +18 -4
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +4 -0
- package/dist/unstable/ai/index.d.ts.map +1 -1
- package/dist/unstable/ai/index.js +4 -0
- package/dist/unstable/ai/index.js.map +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
- package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
- package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
- package/dist/unstable/ai/internal/structured-output.js +14 -15
- package/dist/unstable/ai/internal/structured-output.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +273 -69
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +111 -33
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliConfig.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +70 -77
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +66 -70
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +35 -54
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +26 -42
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +713 -115
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +245 -47
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.js.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +418 -138
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +197 -71
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +12 -4
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +299 -83
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +143 -57
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +370 -149
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +375 -160
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.d.ts +23 -14
- package/dist/unstable/cli/Prompt.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.js +54 -31
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/ansi.js +2 -2
- package/dist/unstable/cli/internal/ansi.js.map +1 -1
- package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +2 -2
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +10 -9
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/bash.js +69 -9
- package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
- package/dist/unstable/cli/internal/completions/descriptor.js +24 -18
- package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/unstable/cli/internal/completions/fish.js +5 -5
- 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.map +1 -1
- package/dist/unstable/cli/internal/help.d.ts.map +1 -1
- package/dist/unstable/cli/internal/help.js +4 -2
- package/dist/unstable/cli/internal/help.js.map +1 -1
- package/dist/unstable/cli/internal/lexer.js +17 -7
- package/dist/unstable/cli/internal/lexer.js.map +1 -1
- package/dist/unstable/cli/internal/parser.js +5 -5
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cli/internal/wizard.js +2 -2
- package/dist/unstable/cli/internal/wizard.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.js +7 -7
- package/dist/unstable/cluster/ClusterError.js.map +1 -1
- package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
- package/dist/unstable/cluster/ClusterSchema.js +8 -8
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +6 -2
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +10 -10
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +8 -8
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.js.map +1 -1
- package/dist/unstable/cluster/EntityId.js.map +1 -1
- package/dist/unstable/cluster/EntityProxy.d.ts +4 -2
- package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxy.js +4 -2
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.js +2 -2
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/EntityType.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +3 -3
- package/dist/unstable/cluster/Envelope.js +3 -3
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
- package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/HttpRunner.js +6 -4
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/MachineId.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +9 -9
- package/dist/unstable/cluster/Message.js +6 -6
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +13 -6
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +8 -0
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +16 -4
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.js.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +1 -1
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +18 -16
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +3 -4
- package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.js +8 -7
- package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +6 -6
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +19 -10
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +25 -6
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +3 -3
- package/dist/unstable/cluster/ShardingConfig.js +3 -3
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
- package/dist/unstable/cluster/SingleRunner.js.map +1 -1
- package/dist/unstable/cluster/Singleton.js.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
- package/dist/unstable/cluster/SingletonAddress.js +1 -1
- package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
- package/dist/unstable/cluster/Snowflake.d.ts +8 -8
- package/dist/unstable/cluster/Snowflake.js +8 -8
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SocketRunner.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
- 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 +20 -5
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/TestRunner.js.map +1 -1
- package/dist/unstable/cluster/index.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +6 -6
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/hash.js.map +1 -1
- package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceMap.js +2 -2
- package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +17 -0
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/cluster/internal/shardLock.js.map +1 -1
- package/dist/unstable/devtools/DevTools.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +7 -2
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
- package/dist/unstable/devtools/index.js.map +1 -1
- package/dist/unstable/encoding/Ini.d.ts +20 -0
- package/dist/unstable/encoding/Ini.d.ts.map +1 -0
- package/dist/unstable/encoding/Ini.js +153 -0
- package/dist/unstable/encoding/Ini.js.map +1 -0
- package/dist/unstable/encoding/Msgpack.d.ts +2 -1
- package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
- package/dist/unstable/encoding/Msgpack.js +27 -15
- package/dist/unstable/encoding/Msgpack.js.map +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
- package/dist/unstable/encoding/Ndjson.js +7 -1
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +72 -8
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +72 -31
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/encoding/Toml.d.ts +19 -0
- package/dist/unstable/encoding/Toml.d.ts.map +1 -0
- package/dist/unstable/encoding/Toml.js +434 -0
- package/dist/unstable/encoding/Toml.js.map +1 -0
- package/dist/unstable/encoding/Yaml.d.ts +19 -0
- package/dist/unstable/encoding/Yaml.d.ts.map +1 -0
- package/dist/unstable/encoding/Yaml.js +461 -0
- package/dist/unstable/encoding/Yaml.js.map +1 -0
- package/dist/unstable/encoding/index.d.ts +12 -0
- package/dist/unstable/encoding/index.d.ts.map +1 -1
- package/dist/unstable/encoding/index.js +12 -0
- package/dist/unstable/encoding/index.js.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts +20 -20
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
- package/dist/unstable/eventlog/EventGroup.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +16 -16
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +26 -18
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +3 -3
- package/dist/unstable/eventlog/EventLog.js +3 -3
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +2 -2
- package/dist/unstable/eventlog/EventLogMessage.js +2 -2
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
- package/dist/unstable/eventlog/EventLogRemote.js +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +45 -21
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +13 -5
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +15 -7
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.js +1 -4
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/index.js.map +1 -1
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +2 -2
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +30 -18
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +1 -1
- package/dist/unstable/http/Etag.js +1 -1
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/FindMyWay/internal/queryString.d.ts +11 -0
- package/dist/unstable/http/FindMyWay/internal/queryString.d.ts.map +1 -0
- package/dist/unstable/http/FindMyWay/internal/queryString.js +259 -0
- package/dist/unstable/http/FindMyWay/internal/queryString.js.map +1 -0
- package/dist/unstable/http/FindMyWay/internal/router.d.ts +2 -0
- package/dist/unstable/http/FindMyWay/internal/router.d.ts.map +1 -0
- package/dist/unstable/http/FindMyWay/internal/router.js +665 -0
- package/dist/unstable/http/FindMyWay/internal/router.js.map +1 -0
- package/dist/unstable/http/FindMyWay.d.ts +33 -8
- package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
- package/dist/unstable/http/FindMyWay.js +4 -7
- package/dist/unstable/http/FindMyWay.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +2 -2
- package/dist/unstable/http/Headers.js +2 -2
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +5 -3
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +11 -5
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +51 -44
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +46 -17
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.js +1 -1
- package/dist/unstable/http/HttpClientError.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +2 -12
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
- package/dist/unstable/http/HttpClientResponse.js +3 -18
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +6 -6
- package/dist/unstable/http/HttpEffect.js +3 -3
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +6 -9
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +6 -9
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +164 -39
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +76 -0
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +53 -3
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +88 -89
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +78 -79
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +13 -13
- package/dist/unstable/http/HttpServer.js +6 -6
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +2 -2
- package/dist/unstable/http/HttpServerError.js +2 -2
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +11 -10
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +17 -5
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpStaticServer.js +35 -7
- package/dist/unstable/http/HttpStaticServer.js.map +1 -1
- package/dist/unstable/http/HttpTraceContext.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +7 -7
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +14 -7
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/MultipartParser/HeadersParser.d.ts +53 -0
- package/dist/unstable/http/MultipartParser/HeadersParser.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/HeadersParser.js +14 -0
- package/dist/unstable/http/MultipartParser/HeadersParser.js.map +1 -0
- package/dist/unstable/http/MultipartParser/Search.d.ts +11 -0
- package/dist/unstable/http/MultipartParser/Search.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/Search.js +14 -0
- package/dist/unstable/http/MultipartParser/Search.js.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/contentType.d.ts +5 -0
- package/dist/unstable/http/MultipartParser/internal/contentType.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/contentType.js +82 -0
- package/dist/unstable/http/MultipartParser/internal/contentType.js.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/headers.d.ts +3 -0
- package/dist/unstable/http/MultipartParser/internal/headers.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/headers.js +194 -0
- package/dist/unstable/http/MultipartParser/internal/headers.js.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/multipart.d.ts +8 -0
- package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/multipart.js +226 -0
- package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/search.d.ts +5 -0
- package/dist/unstable/http/MultipartParser/internal/search.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/search.js +120 -0
- package/dist/unstable/http/MultipartParser/internal/search.js.map +1 -0
- package/dist/unstable/http/MultipartParser.d.ts +98 -0
- package/dist/unstable/http/MultipartParser.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser.js +23 -0
- package/dist/unstable/http/MultipartParser.js.map +1 -0
- package/dist/unstable/http/Template.d.ts.map +1 -1
- package/dist/unstable/http/Template.js +2 -2
- package/dist/unstable/http/Template.js.map +1 -1
- package/dist/unstable/http/Url.d.ts +33 -63
- package/dist/unstable/http/Url.d.ts.map +1 -1
- package/dist/unstable/http/Url.js +14 -28
- package/dist/unstable/http/Url.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +10 -18
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +9 -17
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.d.ts +1 -1
- package/dist/unstable/http/index.d.ts.map +1 -1
- package/dist/unstable/http/index.js +1 -1
- package/dist/unstable/http/index.js.map +1 -1
- package/dist/unstable/http/internal/compression.d.ts +2 -0
- package/dist/unstable/http/internal/compression.d.ts.map +1 -0
- package/dist/unstable/http/internal/compression.js +155 -0
- package/dist/unstable/http/internal/compression.js.map +1 -0
- package/dist/unstable/http/internal/httpBody.d.ts +2 -0
- package/dist/unstable/http/internal/httpBody.d.ts.map +1 -0
- package/dist/unstable/http/internal/httpBody.js +10 -0
- package/dist/unstable/http/internal/httpBody.js.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +5 -5
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +78 -26
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +76 -38
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +48 -46
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +73 -16
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +18 -18
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +30 -30
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
- 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 +225 -6
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +174 -4
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +21 -13
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +58 -31
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/httpapi/index.js.map +1 -1
- package/dist/unstable/httpapi/internal/html.js.map +1 -1
- package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
- package/dist/unstable/observability/Otlp.js.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +13 -15
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +19 -5
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +2 -2
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +6 -3
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +28 -15
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts +16 -7
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.js +21 -12
- package/dist/unstable/observability/OtlpResource.js.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js +1 -1
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +10 -3
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/observability/index.js.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
- package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/unstable/observability/internal/protobuf.js +3 -0
- package/dist/unstable/observability/internal/protobuf.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +22 -13
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +8 -8
- package/dist/unstable/persistence/Persistable.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +15 -15
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +3 -3
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +108 -22
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +45 -24
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +29 -45
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +2 -2
- package/dist/unstable/persistence/Redis.js +2 -2
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/persistence/index.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +64 -21
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +14 -5
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/process/index.js.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
- package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.js +10 -10
- package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +25 -22
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +14 -13
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRef.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +24 -3
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +4 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +1 -1
- package/dist/unstable/reactivity/Hydration.js +1 -1
- package/dist/unstable/reactivity/Hydration.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +35 -33
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +4 -2
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +26 -12
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +30 -20
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.js +2 -2
- package/dist/unstable/rpc/RpcClientError.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
- package/dist/unstable/rpc/RpcGroup.js +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
- package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMessage.js +6 -6
- package/dist/unstable/rpc/RpcMessage.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
- package/dist/unstable/rpc/RpcMiddleware.js +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
- package/dist/unstable/rpc/RpcSchema.js +3 -3
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +177 -96
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +13 -13
- package/dist/unstable/rpc/RpcServer.js +17 -13
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcTest.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
- package/dist/unstable/rpc/RpcWorker.js +4 -4
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/rpc/index.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +53 -51
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +35 -33
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +10 -10
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +19 -11
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/schema/index.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +11 -3
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +37 -16
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/socket/index.js.map +1 -1
- package/dist/unstable/sql/Migrator.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +8 -4
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlError.js +13 -13
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.js +2 -2
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.d.ts +5 -5
- package/dist/unstable/sql/SqlResolver.js +10 -8
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/SqlStream.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +6 -6
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +23 -21
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/sql/index.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +1 -1
- package/dist/unstable/workers/Transferable.js +1 -1
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +2 -2
- package/dist/unstable/workers/Worker.js +2 -2
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +7 -7
- package/dist/unstable/workers/WorkerError.js +11 -11
- package/dist/unstable/workers/WorkerError.js.map +1 -1
- package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
- package/dist/unstable/workers/WorkerRunner.js +1 -1
- package/dist/unstable/workers/WorkerRunner.js.map +1 -1
- package/dist/unstable/workers/index.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +2 -2
- package/dist/unstable/workflow/Activity.js +2 -2
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +1 -1
- package/dist/unstable/workflow/DurableClock.js +1 -1
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
- package/dist/unstable/workflow/DurableDeferred.js +5 -5
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +22 -20
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +21 -21
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +13 -14
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +2 -2
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +3 -3
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
- package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.js +4 -2
- package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/dist/unstable/workflow/index.js.map +1 -1
- package/dist/unstable/workflow/internal/crypto.js.map +1 -1
- package/package.json +6 -13
- package/src/Array.ts +982 -1045
- package/src/BigDecimal.ts +433 -756
- package/src/BigInt.ts +213 -269
- package/src/Boolean.ts +146 -188
- package/src/Cache.ts +410 -256
- package/src/Cause.ts +167 -277
- package/src/Channel.ts +892 -817
- package/src/ChannelSchema.ts +1 -1
- package/src/Chunk.ts +841 -1181
- package/src/Clock.ts +181 -49
- package/src/Combiner.ts +20 -33
- package/src/Config.ts +636 -332
- package/src/ConfigProvider.ts +218 -121
- package/src/Console.ts +289 -39
- package/src/Context.ts +322 -381
- package/src/Cron.ts +68 -77
- package/src/Crypto.ts +30 -23
- package/src/Data.ts +60 -80
- package/src/DateTime.ts +564 -660
- package/src/Deferred.ts +253 -256
- package/src/Duration.ts +232 -310
- package/src/Effect.ts +3034 -3296
- package/src/Encoding.ts +22 -40
- package/src/Equal.ts +59 -41
- package/src/Equivalence.ts +103 -105
- package/src/ErrorReporter.ts +51 -27
- package/src/ExecutionPlan.ts +91 -56
- package/src/Exit.ts +116 -192
- package/src/Fiber.ts +81 -148
- package/src/FiberHandle.ts +152 -105
- package/src/FiberMap.ts +225 -174
- package/src/FiberSet.ts +125 -83
- package/src/FileSystem.ts +156 -264
- package/src/Filter.ts +61 -33
- package/src/Formatter.ts +54 -56
- package/src/Function.ts +82 -151
- package/src/Graph.ts +416 -770
- package/src/HKT.ts +12 -6
- package/src/Hash.ts +52 -83
- package/src/HashMap.ts +319 -411
- package/src/HashRing.ts +1 -0
- package/src/HashSet.ts +177 -284
- package/src/Inspectable.ts +12 -12
- package/src/Iterable.ts +631 -796
- package/src/JsonPatch.ts +58 -112
- package/src/JsonPointer.ts +8 -8
- package/src/JsonSchema.ts +402 -244
- package/src/Latch.ts +23 -35
- package/src/Layer.ts +366 -265
- package/src/LayerMap.ts +49 -29
- package/src/LayerRef.ts +6 -2
- package/src/LogLevel.ts +114 -214
- package/src/Logger.ts +344 -697
- package/src/ManagedRuntime.ts +7 -5
- package/src/Match.ts +217 -252
- package/src/Metric.ts +516 -1089
- package/src/MutableHashMap.ts +218 -255
- package/src/MutableHashSet.ts +84 -89
- package/src/MutableList.ts +73 -370
- package/src/MutableRef.ts +420 -243
- package/src/Newtype.ts +21 -14
- package/src/NonEmptyIterable.ts +7 -137
- package/src/Number.ts +196 -233
- package/src/Optic.ts +243 -383
- package/src/Option.ts +447 -812
- package/src/Order.ts +109 -109
- package/src/Ordering.ts +20 -23
- package/src/Path.ts +38 -41
- package/src/Pipeable.ts +6 -5
- package/src/PlatformError.ts +4 -4
- package/src/Pool.ts +4 -2
- package/src/Predicate.ts +200 -181
- package/src/PrimaryKey.ts +7 -7
- package/src/PubSub.ts +526 -552
- package/src/Pull.ts +24 -18
- package/src/Queue.ts +200 -159
- package/src/Random.ts +49 -74
- package/src/RcMap.ts +121 -63
- package/src/RcRef.ts +24 -13
- package/src/Record.ts +291 -488
- package/src/Redactable.ts +10 -3
- package/src/Redacted.ts +25 -25
- package/src/Reducer.ts +8 -15
- package/src/Ref.ts +221 -361
- package/src/References.ts +102 -168
- package/src/RegExp.ts +10 -14
- package/src/Request.ts +31 -21
- package/src/RequestResolver.ts +202 -91
- package/src/Result.ts +312 -484
- package/src/Runtime.ts +50 -75
- package/src/Schedule.ts +311 -1737
- package/src/Scheduler.ts +20 -7
- package/src/Schema.ts +766 -786
- package/src/SchemaAST.ts +522 -382
- package/src/SchemaError.ts +7 -6
- package/src/SchemaGetter.ts +242 -190
- package/src/SchemaIssue.ts +89 -275
- package/src/SchemaParser.ts +217 -124
- package/src/SchemaRepresentation.ts +22 -40
- package/src/SchemaTransformation.ts +129 -88
- package/src/Scope.ts +123 -151
- package/src/ScopedCache.ts +1 -1
- package/src/ScopedRef.ts +4 -4
- package/src/Semaphore.ts +152 -51
- package/src/Sink.ts +129 -114
- package/src/Stdio.ts +1 -1
- package/src/Stream.ts +2679 -3133
- package/src/String.ts +275 -312
- package/src/Struct.ts +109 -114
- package/src/SubscriptionRef.ts +284 -252
- package/src/Symbol.ts +3 -3
- package/src/SynchronizedRef.ts +1 -1
- package/src/Terminal.ts +3 -3
- package/src/Tracer.ts +102 -55
- package/src/Trie.ts +287 -679
- package/src/Tuple.ts +99 -131
- package/src/TxChunk.ts +201 -121
- package/src/TxDeferred.ts +62 -46
- package/src/TxHashMap.ts +645 -799
- package/src/TxHashSet.ts +443 -356
- package/src/TxPriorityQueue.ts +130 -98
- package/src/TxPubSub.ts +107 -80
- package/src/TxQueue.ts +214 -183
- package/src/TxReentrantLock.ts +136 -101
- package/src/TxRef.ts +51 -32
- package/src/TxSemaphore.ts +129 -95
- package/src/TxSubscriptionRef.ts +97 -70
- package/src/Types.ts +126 -67
- package/src/Unify.ts +45 -65
- package/src/Utils.ts +23 -16
- package/src/internal/core.ts +2 -2
- package/src/internal/dateTime.ts +7 -1
- package/src/internal/effect.ts +93 -48
- package/src/internal/executionPlan.ts +105 -10
- package/src/internal/hashMap.ts +20 -14
- package/src/internal/matcher.ts +2 -2
- package/src/internal/persistence.ts +2 -0
- package/src/internal/references.ts +3 -2
- package/src/internal/schedule.ts +4 -4
- package/src/internal/schema/annotations.ts +3 -0
- package/src/internal/schema/fromJsonSchemaDocument.ts +15 -13
- package/src/internal/schema/fromRepresentation.ts +10 -16
- package/src/internal/schema/parser.ts +22 -0
- package/src/internal/schema/toArbitrary.ts +3 -1
- package/src/internal/schema/toJsonSchemaDocument.ts +60 -6
- package/src/internal/schema/toRepresentation.ts +104 -119
- package/src/internal/trie.ts +21 -12
- package/src/testing/FastCheck.ts +8 -7
- package/src/testing/TestClock.ts +85 -31
- package/src/testing/TestConsole.ts +32 -31
- package/src/testing/TestSchema.ts +30 -30
- package/src/unstable/ai/AiError.ts +114 -137
- package/src/unstable/ai/AnthropicStructuredOutput.ts +1 -1
- package/src/unstable/ai/Chat.ts +133 -98
- package/src/unstable/ai/IdGenerator.ts +32 -28
- package/src/unstable/ai/LanguageModel.ts +111 -69
- package/src/unstable/ai/McpProtocol.ts +48 -0
- package/src/unstable/ai/McpSchema.ts +77 -66
- package/src/unstable/ai/McpServer.ts +931 -305
- package/src/unstable/ai/Model.ts +9 -20
- package/src/unstable/ai/OpenAiStructuredOutput.ts +1 -1
- package/src/unstable/ai/Prompt.ts +166 -49
- package/src/unstable/ai/Response.ts +28 -14
- package/src/unstable/ai/Telemetry.ts +46 -13
- package/src/unstable/ai/Tokenizer.ts +14 -3
- package/src/unstable/ai/Tool.ts +59 -44
- package/src/unstable/ai/Toolkit.ts +26 -8
- package/src/unstable/ai/index.ts +5 -0
- package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
- package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
- package/src/unstable/ai/internal/structured-output.ts +13 -18
- package/src/unstable/cli/Argument.ts +273 -69
- package/src/unstable/cli/CliError.ts +79 -86
- package/src/unstable/cli/CliOutput.ts +44 -58
- package/src/unstable/cli/Command.ts +716 -116
- package/src/unstable/cli/Flag.ts +418 -138
- package/src/unstable/cli/GlobalFlag.ts +1 -1
- package/src/unstable/cli/HelpDoc.ts +12 -4
- package/src/unstable/cli/Param.ts +333 -97
- package/src/unstable/cli/Primitive.ts +381 -154
- package/src/unstable/cli/Prompt.ts +64 -34
- package/src/unstable/cli/internal/ansi.ts +2 -2
- package/src/unstable/cli/internal/command.ts +15 -10
- package/src/unstable/cli/internal/completions/bash.ts +59 -9
- package/src/unstable/cli/internal/completions/descriptor.ts +14 -20
- package/src/unstable/cli/internal/completions/fish.ts +5 -7
- package/src/unstable/cli/internal/help.ts +4 -2
- package/src/unstable/cli/internal/lexer.ts +8 -2
- package/src/unstable/cli/internal/parser.ts +5 -5
- package/src/unstable/cli/internal/wizard.ts +2 -2
- package/src/unstable/cluster/ClusterError.ts +7 -7
- package/src/unstable/cluster/ClusterSchema.ts +8 -8
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +9 -2
- package/src/unstable/cluster/Entity.ts +15 -16
- package/src/unstable/cluster/EntityProxy.ts +4 -2
- package/src/unstable/cluster/EntityResource.ts +2 -2
- package/src/unstable/cluster/Envelope.ts +3 -3
- package/src/unstable/cluster/HttpRunner.ts +6 -4
- package/src/unstable/cluster/Message.ts +9 -9
- package/src/unstable/cluster/MessageStorage.ts +24 -20
- package/src/unstable/cluster/Reply.ts +25 -6
- package/src/unstable/cluster/RunnerHealth.ts +1 -1
- package/src/unstable/cluster/RunnerServer.ts +35 -8
- package/src/unstable/cluster/RunnerStorage.ts +11 -9
- package/src/unstable/cluster/Runners.ts +23 -12
- package/src/unstable/cluster/Sharding.ts +42 -15
- package/src/unstable/cluster/ShardingConfig.ts +3 -3
- package/src/unstable/cluster/SingletonAddress.ts +1 -1
- package/src/unstable/cluster/Snowflake.ts +8 -8
- package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
- package/src/unstable/cluster/SqlRunnerStorage.ts +21 -5
- package/src/unstable/cluster/internal/entityManager.ts +12 -16
- package/src/unstable/cluster/internal/resourceMap.ts +5 -2
- package/src/unstable/cluster/internal/resourceRef.ts +27 -5
- package/src/unstable/devtools/DevToolsClient.ts +3 -2
- package/src/unstable/encoding/Ini.ts +174 -0
- package/src/unstable/encoding/Msgpack.ts +53 -36
- package/src/unstable/encoding/Ndjson.ts +9 -1
- package/src/unstable/encoding/Sse.ts +109 -37
- package/src/unstable/encoding/Toml.ts +504 -0
- package/src/unstable/encoding/Yaml.ts +541 -0
- package/src/unstable/encoding/index.ts +15 -0
- package/src/unstable/eventlog/Event.ts +20 -20
- package/src/unstable/eventlog/EventGroup.ts +4 -4
- package/src/unstable/eventlog/EventJournal.ts +29 -21
- package/src/unstable/eventlog/EventLog.ts +3 -3
- package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
- package/src/unstable/eventlog/EventLogMessage.ts +3 -3
- package/src/unstable/eventlog/EventLogRemote.ts +1 -1
- package/src/unstable/eventlog/EventLogServer.ts +41 -7
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +13 -5
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +15 -7
- package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
- package/src/unstable/eventlog/SqlEventJournal.ts +6 -4
- package/src/unstable/http/Cookies.ts +35 -21
- package/src/unstable/http/Etag.ts +1 -1
- package/src/unstable/http/FetchHttpClient.ts +3 -1
- package/src/unstable/http/FindMyWay/internal/queryString.ts +420 -0
- package/src/unstable/http/FindMyWay/internal/router.ts +950 -0
- package/src/unstable/http/FindMyWay.ts +65 -6
- package/src/unstable/http/Headers.ts +2 -2
- package/src/unstable/http/HttpBody.ts +20 -5
- package/src/unstable/http/HttpClient.ts +83 -55
- package/src/unstable/http/HttpClientError.ts +1 -1
- package/src/unstable/http/HttpClientRequest.ts +2 -12
- package/src/unstable/http/HttpClientResponse.ts +5 -21
- package/src/unstable/http/HttpEffect.ts +8 -8
- package/src/unstable/http/HttpMethod.ts +6 -9
- package/src/unstable/http/HttpMiddleware.ts +202 -39
- package/src/unstable/http/HttpPlatform.ts +129 -6
- package/src/unstable/http/HttpRouter.ts +102 -98
- package/src/unstable/http/HttpServer.ts +13 -13
- package/src/unstable/http/HttpServerError.ts +2 -2
- package/src/unstable/http/HttpServerRequest.ts +18 -10
- package/src/unstable/http/HttpServerResponse.ts +38 -6
- package/src/unstable/http/HttpStaticServer.ts +35 -7
- package/src/unstable/http/Multipart.ts +15 -8
- package/src/unstable/http/MultipartParser/HeadersParser.ts +68 -0
- package/src/unstable/http/MultipartParser/Search.ts +17 -0
- package/src/unstable/http/MultipartParser/internal/contentType.ts +103 -0
- package/src/unstable/http/MultipartParser/internal/headers.ts +615 -0
- package/src/unstable/http/MultipartParser/internal/multipart.ts +262 -0
- package/src/unstable/http/MultipartParser/internal/search.ts +167 -0
- package/src/unstable/http/MultipartParser.ts +115 -0
- package/src/unstable/http/Template.ts +6 -5
- package/src/unstable/http/Url.ts +33 -63
- package/src/unstable/http/UrlParams.ts +10 -18
- package/src/unstable/http/index.ts +1 -1
- package/src/unstable/http/internal/compression.ts +196 -0
- package/src/unstable/http/internal/httpBody.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +6 -7
- package/src/unstable/httpapi/HttpApiBuilder.ts +129 -30
- package/src/unstable/httpapi/HttpApiClient.ts +117 -54
- package/src/unstable/httpapi/HttpApiEndpoint.ts +159 -71
- package/src/unstable/httpapi/HttpApiError.ts +46 -52
- package/src/unstable/httpapi/HttpApiGroup.ts +15 -15
- package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
- package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
- package/src/unstable/httpapi/HttpApiSchema.ts +359 -6
- package/src/unstable/httpapi/OpenApi.ts +83 -33
- package/src/unstable/observability/OtlpExporter.ts +35 -21
- package/src/unstable/observability/OtlpLogger.ts +3 -1
- package/src/unstable/observability/OtlpMetrics.ts +36 -19
- package/src/unstable/observability/OtlpResource.ts +26 -17
- package/src/unstable/observability/OtlpTracer.ts +1 -1
- package/src/unstable/observability/PrometheusMetrics.ts +13 -4
- package/src/unstable/observability/internal/otlpEnv.ts +1 -1
- package/src/unstable/observability/internal/protobuf.ts +3 -0
- package/src/unstable/persistence/KeyValueStore.ts +72 -49
- package/src/unstable/persistence/Persistable.ts +8 -8
- package/src/unstable/persistence/PersistedQueue.ts +18 -15
- package/src/unstable/persistence/Persistence.ts +153 -26
- package/src/unstable/persistence/RateLimiter.ts +77 -43
- package/src/unstable/persistence/Redis.ts +3 -3
- package/src/unstable/process/ChildProcess.ts +64 -21
- package/src/unstable/process/ChildProcessSpawner.ts +21 -10
- package/src/unstable/reactivity/AsyncResult.ts +12 -13
- package/src/unstable/reactivity/Atom.ts +28 -25
- package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
- package/src/unstable/reactivity/AtomRegistry.ts +24 -3
- package/src/unstable/reactivity/AtomRpc.ts +5 -4
- package/src/unstable/reactivity/Hydration.ts +1 -1
- package/src/unstable/rpc/Rpc.ts +35 -33
- package/src/unstable/rpc/RpcClient.ts +54 -27
- package/src/unstable/rpc/RpcClientError.ts +2 -2
- package/src/unstable/rpc/RpcGroup.ts +8 -8
- package/src/unstable/rpc/RpcMessage.ts +31 -30
- package/src/unstable/rpc/RpcMiddleware.ts +10 -10
- package/src/unstable/rpc/RpcSchema.ts +4 -4
- package/src/unstable/rpc/RpcSerialization.ts +167 -68
- package/src/unstable/rpc/RpcServer.ts +18 -15
- package/src/unstable/rpc/RpcWorker.ts +5 -5
- package/src/unstable/schema/Model.ts +52 -50
- package/src/unstable/schema/VariantSchema.ts +41 -23
- package/src/unstable/socket/Socket.ts +41 -18
- package/src/unstable/sql/SqlClient.ts +64 -56
- package/src/unstable/sql/SqlError.ts +13 -13
- package/src/unstable/sql/SqlModel.ts +2 -2
- package/src/unstable/sql/SqlResolver.ts +13 -11
- package/src/unstable/sql/Statement.ts +37 -31
- package/src/unstable/workers/Transferable.ts +1 -1
- package/src/unstable/workers/Worker.ts +2 -2
- package/src/unstable/workers/WorkerError.ts +12 -12
- package/src/unstable/workers/WorkerRunner.ts +1 -1
- package/src/unstable/workflow/Activity.ts +2 -2
- package/src/unstable/workflow/DurableClock.ts +1 -1
- package/src/unstable/workflow/DurableDeferred.ts +10 -10
- package/src/unstable/workflow/DurableQueue.ts +22 -20
- package/src/unstable/workflow/Workflow.ts +23 -23
- package/src/unstable/workflow/WorkflowEngine.ts +9 -4
- package/src/unstable/workflow/WorkflowProxy.ts +4 -2
- package/dist/internal/version.d.ts +0 -3
- package/dist/internal/version.d.ts.map +0 -1
- package/dist/internal/version.js +0 -2
- package/dist/internal/version.js.map +0 -1
- package/dist/unstable/http/Multipasta/HeadersParser.d.ts +0 -14
- package/dist/unstable/http/Multipasta/HeadersParser.d.ts.map +0 -1
- package/dist/unstable/http/Multipasta/HeadersParser.js +0 -14
- package/dist/unstable/http/Multipasta/HeadersParser.js.map +0 -1
- package/dist/unstable/http/Multipasta/Node.d.ts +0 -14
- package/dist/unstable/http/Multipasta/Node.d.ts.map +0 -1
- package/dist/unstable/http/Multipasta/Node.js +0 -14
- package/dist/unstable/http/Multipasta/Node.js.map +0 -1
- package/dist/unstable/http/Multipasta/Search.d.ts +0 -14
- package/dist/unstable/http/Multipasta/Search.d.ts.map +0 -1
- package/dist/unstable/http/Multipasta/Search.js +0 -14
- package/dist/unstable/http/Multipasta/Search.js.map +0 -1
- package/dist/unstable/http/Multipasta/Web.d.ts +0 -14
- package/dist/unstable/http/Multipasta/Web.d.ts.map +0 -1
- package/dist/unstable/http/Multipasta/Web.js +0 -14
- package/dist/unstable/http/Multipasta/Web.js.map +0 -1
- package/dist/unstable/http/Multipasta.d.ts +0 -15
- package/dist/unstable/http/Multipasta.d.ts.map +0 -1
- package/dist/unstable/http/Multipasta.js +0 -15
- package/dist/unstable/http/Multipasta.js.map +0 -1
- package/src/internal/version.ts +0 -2
- package/src/unstable/http/Multipasta/HeadersParser.ts +0 -14
- package/src/unstable/http/Multipasta/Node.ts +0 -14
- package/src/unstable/http/Multipasta/Search.ts +0 -14
- package/src/unstable/http/Multipasta/Web.ts +0 -14
- package/src/unstable/http/Multipasta.ts +0 -15
package/dist/SchemaAST.js
CHANGED
|
@@ -15,12 +15,12 @@ import * as Cause from "./Cause.js";
|
|
|
15
15
|
import * as Effect from "./Effect.js";
|
|
16
16
|
import * as Exit from "./Exit.js";
|
|
17
17
|
import { format, formatPropertyKey } from "./Formatter.js";
|
|
18
|
-
import { memoize } from "./Function.js";
|
|
18
|
+
import { identity, memoize } from "./Function.js";
|
|
19
19
|
import { effectIsExit, iterateEager } from "./internal/effect.js";
|
|
20
20
|
import * as InternalRecord from "./internal/record.js";
|
|
21
21
|
import * as InternalAnnotations from "./internal/schema/annotations.js";
|
|
22
22
|
import * as InternalSchemaCause from "./internal/schema/cause.js";
|
|
23
|
-
import * as
|
|
23
|
+
import * as InternalParser from "./internal/schema/parser.js";
|
|
24
24
|
import * as Pipeable from "./Pipeable.js";
|
|
25
25
|
import * as Predicate from "./Predicate.js";
|
|
26
26
|
import * as Result from "./Result.js";
|
|
@@ -350,7 +350,7 @@ export const defaultParseOptions = {};
|
|
|
350
350
|
*
|
|
351
351
|
* - `isOptional` — the property key may be absent from the input.
|
|
352
352
|
* - `isMutable` — the property is `readonly` when `false`.
|
|
353
|
-
* - `
|
|
353
|
+
* - `constructorDefault` — a {@link Link} applied during construction to
|
|
354
354
|
* supply missing values.
|
|
355
355
|
* - `annotations` — key-level annotations (e.g. description of the key
|
|
356
356
|
* itself).
|
|
@@ -364,13 +364,13 @@ export class Context {
|
|
|
364
364
|
isOptional;
|
|
365
365
|
isMutable;
|
|
366
366
|
/** Used for constructor default values (e.g. `withConstructorDefault` API) */
|
|
367
|
-
|
|
367
|
+
constructorDefault;
|
|
368
368
|
annotations;
|
|
369
369
|
constructor(isOptional, isMutable, /** Used for constructor default values (e.g. `withConstructorDefault` API) */
|
|
370
|
-
|
|
370
|
+
constructorDefault = undefined, annotations = undefined) {
|
|
371
371
|
this.isOptional = isOptional;
|
|
372
372
|
this.isMutable = isMutable;
|
|
373
|
-
this.
|
|
373
|
+
this.constructorDefault = constructorDefault;
|
|
374
374
|
this.annotations = annotations;
|
|
375
375
|
}
|
|
376
376
|
}
|
|
@@ -443,10 +443,10 @@ export class Declaration extends Base {
|
|
|
443
443
|
}
|
|
444
444
|
/** @internal */
|
|
445
445
|
getParser() {
|
|
446
|
-
|
|
447
|
-
return (
|
|
448
|
-
if (
|
|
449
|
-
return
|
|
446
|
+
let run;
|
|
447
|
+
return (input, options) => {
|
|
448
|
+
if (input === InternalParser.missing) return InternalParser.missingExit;
|
|
449
|
+
return (run ??= this.run(this.typeParameters))(input, this, options);
|
|
450
450
|
};
|
|
451
451
|
}
|
|
452
452
|
_rebuild(recur, checks, encodingChecks) {
|
|
@@ -571,7 +571,8 @@ export class Void extends Base {
|
|
|
571
571
|
_tag = "Void";
|
|
572
572
|
/** @internal */
|
|
573
573
|
getParser() {
|
|
574
|
-
|
|
574
|
+
const succeed = InternalParser.succeed(undefined);
|
|
575
|
+
return input => input === InternalParser.missing ? InternalParser.missingExit : succeed;
|
|
575
576
|
}
|
|
576
577
|
/** @internal */
|
|
577
578
|
toCodecJson() {
|
|
@@ -797,9 +798,9 @@ function isTemplateLiteralPart(ast) {
|
|
|
797
798
|
return true;
|
|
798
799
|
case "Literal":
|
|
799
800
|
case "TemplateLiteral":
|
|
800
|
-
return ast.checks
|
|
801
|
+
return !ast.checks;
|
|
801
802
|
case "Union":
|
|
802
|
-
return ast.checks
|
|
803
|
+
return !ast.checks && ast.types.every(isTemplateLiteralPart);
|
|
803
804
|
default:
|
|
804
805
|
return false;
|
|
805
806
|
}
|
|
@@ -822,27 +823,47 @@ export class TemplateLiteral extends Base {
|
|
|
822
823
|
parts;
|
|
823
824
|
/** @internal */
|
|
824
825
|
encodedParts;
|
|
826
|
+
/** @internal */
|
|
827
|
+
literals;
|
|
828
|
+
/** @internal */
|
|
829
|
+
suffixLengths;
|
|
825
830
|
constructor(parts, annotations, checks, encoding, context) {
|
|
826
831
|
super(annotations, checks, encoding, context);
|
|
827
832
|
const encodedParts = [];
|
|
833
|
+
const literals = [];
|
|
828
834
|
for (const part of parts) {
|
|
829
835
|
const encoded = toEncoded(part);
|
|
830
836
|
if (isTemplateLiteralPart(encoded)) {
|
|
831
837
|
encodedParts.push(encoded);
|
|
838
|
+
literals.push(encoded._tag === "Literal" ? globalThis.String(encoded.literal) : undefined);
|
|
832
839
|
} else {
|
|
833
840
|
throw new Error(`Invalid TemplateLiteral part ${encoded._tag}`);
|
|
834
841
|
}
|
|
835
842
|
}
|
|
843
|
+
const suffixLengths = new Array(encodedParts.length + 1);
|
|
844
|
+
suffixLengths[encodedParts.length] = 0;
|
|
845
|
+
for (let i = encodedParts.length - 1; i >= 0; i--) {
|
|
846
|
+
suffixLengths[i] = suffixLengths[i + 1] + (literals[i]?.length ?? 0);
|
|
847
|
+
}
|
|
836
848
|
this.parts = parts;
|
|
837
849
|
this.encodedParts = encodedParts;
|
|
850
|
+
this.literals = literals;
|
|
851
|
+
this.suffixLengths = suffixLengths;
|
|
838
852
|
}
|
|
839
853
|
/** @internal */
|
|
840
|
-
getParser(
|
|
841
|
-
const parser =
|
|
842
|
-
return (
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
854
|
+
getParser(compile) {
|
|
855
|
+
const parser = compile(this.asTemplateLiteralParser());
|
|
856
|
+
return (input, options) => {
|
|
857
|
+
if (input === InternalParser.missing) return InternalParser.missingExit;
|
|
858
|
+
const result = parser(input, options);
|
|
859
|
+
if (result._tag === "Success") {
|
|
860
|
+
return InternalParser.sameExit;
|
|
861
|
+
}
|
|
862
|
+
return Effect.mapBothEager(result, {
|
|
863
|
+
onSuccess: () => input,
|
|
864
|
+
onFailure: issue => new SchemaIssue.Composite(this, [issue])
|
|
865
|
+
});
|
|
866
|
+
};
|
|
846
867
|
}
|
|
847
868
|
/** @internal */
|
|
848
869
|
getExpected() {
|
|
@@ -850,16 +871,16 @@ export class TemplateLiteral extends Base {
|
|
|
850
871
|
}
|
|
851
872
|
/** @internal */
|
|
852
873
|
matchPart(s, options) {
|
|
853
|
-
return segmentTemplateLiteralParts(this
|
|
874
|
+
return segmentTemplateLiteralParts(this, s, options) === undefined ? undefined : s;
|
|
854
875
|
}
|
|
855
876
|
/** @internal */
|
|
856
877
|
asTemplateLiteralParser() {
|
|
857
878
|
const tuple = new Arrays(false, this.parts.map(partFromString), []);
|
|
858
879
|
return decodeTo(string, tuple, new SchemaTransformation.Transformation(SchemaGetter.transformOrFail((s, options) => {
|
|
859
|
-
const segments = segmentTemplateLiteralParts(this
|
|
860
|
-
if (segments
|
|
861
|
-
return Effect.fail(new SchemaIssue.InvalidValue(
|
|
862
|
-
message:
|
|
880
|
+
const segments = segmentTemplateLiteralParts(this, s, options);
|
|
881
|
+
if (segments) return Effect.succeed(segments);
|
|
882
|
+
return Effect.fail(new SchemaIssue.InvalidValue({
|
|
883
|
+
message: "Expected a string matching template literal parts"
|
|
863
884
|
}));
|
|
864
885
|
}), SchemaGetter.transform(parts => parts.join(""))));
|
|
865
886
|
}
|
|
@@ -908,11 +929,11 @@ export class UniqueSymbol extends Base {
|
|
|
908
929
|
*
|
|
909
930
|
* **Example** (Creating a literal AST)
|
|
910
931
|
*
|
|
911
|
-
* ```ts
|
|
932
|
+
* ```ts import.meta.vitest
|
|
912
933
|
* import { SchemaAST } from "effect"
|
|
913
934
|
*
|
|
914
935
|
* const ast = new SchemaAST.Literal("active")
|
|
915
|
-
*
|
|
936
|
+
* ast.literal // => "active"
|
|
916
937
|
* ```
|
|
917
938
|
*
|
|
918
939
|
* @see {@link LiteralValue}
|
|
@@ -972,7 +993,8 @@ export class String extends Base {
|
|
|
972
993
|
}
|
|
973
994
|
/** @internal */
|
|
974
995
|
matchPart(s, options) {
|
|
975
|
-
|
|
996
|
+
const checks = this.checks;
|
|
997
|
+
return checks && !options.disableChecks && collectIssues(checks, s, undefined, this, options) ? undefined : s;
|
|
976
998
|
}
|
|
977
999
|
/** @internal */
|
|
978
1000
|
getExpected() {
|
|
@@ -1027,7 +1049,10 @@ export class Number extends Base {
|
|
|
1027
1049
|
return this._match(isStringFiniteRegExp, s, options);
|
|
1028
1050
|
}
|
|
1029
1051
|
_match(regexp, s, options) {
|
|
1030
|
-
|
|
1052
|
+
if (!regexp.test(s)) return undefined;
|
|
1053
|
+
const value = globalThis.Number(s);
|
|
1054
|
+
if (options.disableChecks || !this.checks) return value;
|
|
1055
|
+
return collectIssues(this.checks, value, undefined, this, options) ? undefined : value;
|
|
1031
1056
|
}
|
|
1032
1057
|
/** @internal */
|
|
1033
1058
|
toCodecJson() {
|
|
@@ -1052,7 +1077,7 @@ function hasCheck(checks, id) {
|
|
|
1052
1077
|
return checks.some(check => check.annotations?.representation?.id === id || check._tag === "FilterGroup" && hasCheck(check.checks, id));
|
|
1053
1078
|
}
|
|
1054
1079
|
function numberToJson(checks) {
|
|
1055
|
-
const encodedFinite = checks
|
|
1080
|
+
const encodedFinite = !checks ? finite : appendChecks(finite, checks);
|
|
1056
1081
|
return new Link(new Union([encodedFinite, nonFiniteLiterals], "anyOf"), new SchemaTransformation.Transformation(SchemaGetter.Number(), SchemaGetter.transform(n => globalThis.Number.isFinite(n) ? n : globalThis.String(n))));
|
|
1057
1082
|
}
|
|
1058
1083
|
/**
|
|
@@ -1131,7 +1156,8 @@ export class Symbol extends Base {
|
|
|
1131
1156
|
}
|
|
1132
1157
|
/** @internal */
|
|
1133
1158
|
matchKey(s, options) {
|
|
1134
|
-
|
|
1159
|
+
if (options.disableChecks || !this.checks) return s;
|
|
1160
|
+
return collectIssues(this.checks, s, undefined, this, options) ? undefined : s;
|
|
1135
1161
|
}
|
|
1136
1162
|
/** @internal */
|
|
1137
1163
|
toCodecStringTree() {
|
|
@@ -1182,7 +1208,10 @@ export class BigInt extends Base {
|
|
|
1182
1208
|
}
|
|
1183
1209
|
/** @internal */
|
|
1184
1210
|
matchPart(s, options) {
|
|
1185
|
-
|
|
1211
|
+
if (!isStringBigIntRegExp.test(s)) return undefined;
|
|
1212
|
+
const value = globalThis.BigInt(s);
|
|
1213
|
+
if (options.disableChecks || !this.checks) return value;
|
|
1214
|
+
return collectIssues(this.checks, value, undefined, this, options) ? undefined : value;
|
|
1186
1215
|
}
|
|
1187
1216
|
/** @internal */
|
|
1188
1217
|
toCodecStringTree() {
|
|
@@ -1234,15 +1263,14 @@ export const bigInt = /*#__PURE__*/new BigInt();
|
|
|
1234
1263
|
*
|
|
1235
1264
|
* **Example** (Inspecting a tuple AST)
|
|
1236
1265
|
*
|
|
1237
|
-
* ```ts
|
|
1266
|
+
* ```ts import.meta.vitest
|
|
1238
1267
|
* import { Schema, SchemaAST } from "effect"
|
|
1239
1268
|
*
|
|
1240
1269
|
* const schema = Schema.Tuple([Schema.String, Schema.Number])
|
|
1241
1270
|
* const ast = schema.ast
|
|
1242
1271
|
*
|
|
1243
1272
|
* if (SchemaAST.isArrays(ast)) {
|
|
1244
|
-
*
|
|
1245
|
-
* console.log(ast.rest.length) // 0
|
|
1273
|
+
* [ast.elements.length, ast.rest.length] // => [2, 0]
|
|
1246
1274
|
* }
|
|
1247
1275
|
* ```
|
|
1248
1276
|
*
|
|
@@ -1263,55 +1291,65 @@ export class Arrays extends Base {
|
|
|
1263
1291
|
this.elements = elements;
|
|
1264
1292
|
this.rest = rest;
|
|
1265
1293
|
this.encodingChecks = encodingChecks;
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1294
|
+
let hasOptional = false;
|
|
1295
|
+
for (let i = 0; i < elements.length; i++) {
|
|
1296
|
+
if (isOptional(elements[i])) {
|
|
1297
|
+
hasOptional = true;
|
|
1298
|
+
} else if (hasOptional) {
|
|
1299
|
+
throw new Error("A required element cannot follow an optional element. ts(1257)");
|
|
1300
|
+
}
|
|
1301
|
+
}
|
|
1302
|
+
if (hasOptional && rest.length > 1) {
|
|
1269
1303
|
throw new Error("A required element cannot follow an optional element. ts(1257)");
|
|
1270
1304
|
}
|
|
1271
1305
|
// An optional element cannot follow a rest element.ts(1266)
|
|
1272
|
-
|
|
1273
|
-
|
|
1306
|
+
for (let i = 1; i < rest.length; i++) {
|
|
1307
|
+
if (isOptional(rest[i])) {
|
|
1308
|
+
throw new Error("An optional element cannot follow a rest element. ts(1266)");
|
|
1309
|
+
}
|
|
1274
1310
|
}
|
|
1275
1311
|
}
|
|
1276
1312
|
/** @internal */
|
|
1277
|
-
getParser(
|
|
1313
|
+
getParser(compile, compileConstructorDefault = compile) {
|
|
1278
1314
|
// oxlint-disable-next-line @typescript-eslint/no-this-alias
|
|
1279
1315
|
const ast = this;
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
const rest = ast.rest.map(ast => ({
|
|
1285
|
-
ast,
|
|
1286
|
-
parser: recur(ast)
|
|
1287
|
-
}));
|
|
1288
|
-
const elementLen = elements.length;
|
|
1289
|
-
const [head, ...tail] = rest;
|
|
1290
|
-
const tailLen = tail.length;
|
|
1316
|
+
let elements;
|
|
1317
|
+
let rest;
|
|
1318
|
+
const elementLen = ast.elements.length;
|
|
1319
|
+
const tailLen = Math.max(0, ast.rest.length - 1);
|
|
1291
1320
|
function getParser(tailThreshold, index) {
|
|
1292
1321
|
if (index < elementLen) {
|
|
1293
1322
|
return elements[index];
|
|
1294
1323
|
} else if (index >= tailThreshold) {
|
|
1295
|
-
return
|
|
1324
|
+
return rest[index - tailThreshold + 1];
|
|
1296
1325
|
}
|
|
1297
|
-
return
|
|
1326
|
+
return rest[0];
|
|
1298
1327
|
}
|
|
1299
|
-
return Effect.fnUntracedEager(function* (
|
|
1300
|
-
if (
|
|
1301
|
-
return
|
|
1328
|
+
return Effect.fnUntracedEager(function* (input, options) {
|
|
1329
|
+
if (input === InternalParser.missing) {
|
|
1330
|
+
return InternalParser.missing;
|
|
1302
1331
|
}
|
|
1303
|
-
const input = oinput.value;
|
|
1304
1332
|
// If the input is not an array, return early with an error
|
|
1305
1333
|
if (!Array.isArray(input)) {
|
|
1306
|
-
return yield* Effect.fail(new SchemaIssue.InvalidType(ast
|
|
1334
|
+
return yield* Effect.fail(new SchemaIssue.InvalidType(ast));
|
|
1335
|
+
}
|
|
1336
|
+
if (!elements) {
|
|
1337
|
+
elements = ast.elements.map(ast => ({
|
|
1338
|
+
ast,
|
|
1339
|
+
parser: compileConstructorDefault(ast)
|
|
1340
|
+
}));
|
|
1341
|
+
rest = ast.rest.map(ast => ({
|
|
1342
|
+
ast,
|
|
1343
|
+
parser: compileConstructorDefault(ast)
|
|
1344
|
+
}));
|
|
1307
1345
|
}
|
|
1308
1346
|
const len = input.length;
|
|
1309
1347
|
const state = {
|
|
1310
1348
|
ast,
|
|
1311
1349
|
getParser,
|
|
1312
|
-
|
|
1350
|
+
input,
|
|
1313
1351
|
len,
|
|
1314
|
-
tailThreshold:
|
|
1352
|
+
tailThreshold: Math.max(elementLen, len - tailLen),
|
|
1315
1353
|
output: new globalThis.Array(len),
|
|
1316
1354
|
issues: undefined,
|
|
1317
1355
|
options
|
|
@@ -1327,18 +1365,18 @@ export class Arrays extends Base {
|
|
|
1327
1365
|
// ---------------------------------------------
|
|
1328
1366
|
if (ast.rest.length === 0 && len > elementLen) {
|
|
1329
1367
|
for (let i = elementLen; i <= len - 1; i++) {
|
|
1330
|
-
const issue = new SchemaIssue.Pointer([i], new SchemaIssue.UnexpectedKey(ast
|
|
1368
|
+
const issue = new SchemaIssue.Pointer([i], new SchemaIssue.UnexpectedKey(ast));
|
|
1331
1369
|
if (options.errors === "all") {
|
|
1332
1370
|
if (state.issues) state.issues.push(issue);else state.issues = [issue];
|
|
1333
1371
|
} else {
|
|
1334
|
-
return yield* Effect.fail(new SchemaIssue.Composite(ast,
|
|
1372
|
+
return yield* Effect.fail(new SchemaIssue.Composite(ast, [issue]));
|
|
1335
1373
|
}
|
|
1336
1374
|
}
|
|
1337
1375
|
}
|
|
1338
1376
|
if (state.issues) {
|
|
1339
|
-
return yield* Effect.fail(new SchemaIssue.Composite(ast,
|
|
1377
|
+
return yield* Effect.fail(new SchemaIssue.Composite(ast, state.issues));
|
|
1340
1378
|
}
|
|
1341
|
-
return
|
|
1379
|
+
return state.output;
|
|
1342
1380
|
});
|
|
1343
1381
|
}
|
|
1344
1382
|
_rebuild(recur, checks, encodingChecks) {
|
|
@@ -1361,14 +1399,16 @@ export class Arrays extends Base {
|
|
|
1361
1399
|
}
|
|
1362
1400
|
const parseArray = /*#__PURE__*/iterateEager()({
|
|
1363
1401
|
onItem(s, item, i) {
|
|
1364
|
-
const value = i < s.len ?
|
|
1402
|
+
const value = i < s.len ? item : InternalParser.missing;
|
|
1365
1403
|
return s.getParser(s.tailThreshold, i).parser(value, s.options);
|
|
1366
1404
|
},
|
|
1367
|
-
step(s,
|
|
1405
|
+
step(s, item, exit, i) {
|
|
1368
1406
|
if (exit._tag === "Failure") {
|
|
1369
1407
|
return wrapPropertyKeyIssue(s, s.ast, i, exit);
|
|
1370
|
-
}
|
|
1371
|
-
|
|
1408
|
+
}
|
|
1409
|
+
const value = exit === InternalParser.sameExit ? item : exit[InternalParser.args];
|
|
1410
|
+
if (value !== InternalParser.missing) {
|
|
1411
|
+
s.output[i] = value;
|
|
1372
1412
|
} else {
|
|
1373
1413
|
const p = s.getParser(s.tailThreshold, i);
|
|
1374
1414
|
if (isOptional(p.ast)) return;
|
|
@@ -1376,14 +1416,11 @@ const parseArray = /*#__PURE__*/iterateEager()({
|
|
|
1376
1416
|
if (s.options.errors === "all") {
|
|
1377
1417
|
if (s.issues) s.issues.push(issue);else s.issues = [issue];
|
|
1378
1418
|
} else {
|
|
1379
|
-
return Exit.fail(new SchemaIssue.Composite(s.ast,
|
|
1419
|
+
return Exit.fail(new SchemaIssue.Composite(s.ast, [issue]));
|
|
1380
1420
|
}
|
|
1381
1421
|
}
|
|
1382
1422
|
}
|
|
1383
1423
|
});
|
|
1384
|
-
function resolveTailThreshold(inputLen, elementLen, tailLen) {
|
|
1385
|
-
return Math.max(elementLen, inputLen - tailLen);
|
|
1386
|
-
}
|
|
1387
1424
|
const resolveConcurrency = value => {
|
|
1388
1425
|
value = value === "unbounded" ? Infinity : value ?? 1;
|
|
1389
1426
|
return value > 1 ? {
|
|
@@ -1396,13 +1433,13 @@ const wrapPropertyKeyIssue = (s, ast, key, exit) => {
|
|
|
1396
1433
|
}
|
|
1397
1434
|
const issue = InternalSchemaCause.getSchemaIssue(exit.cause);
|
|
1398
1435
|
if (issue === undefined) {
|
|
1399
|
-
return Exit.failCause(Cause.map(exit.cause, issue => new SchemaIssue.Composite(ast,
|
|
1436
|
+
return Exit.failCause(Cause.map(exit.cause, issue => new SchemaIssue.Composite(ast, [new SchemaIssue.Pointer([key], issue)])));
|
|
1400
1437
|
}
|
|
1401
1438
|
const pointer = new SchemaIssue.Pointer([key], issue);
|
|
1402
1439
|
if (s.options.errors === "all") {
|
|
1403
1440
|
if (s.issues) s.issues.push(pointer);else s.issues = [pointer];
|
|
1404
1441
|
} else {
|
|
1405
|
-
return Exit.fail(new SchemaIssue.Composite(ast,
|
|
1442
|
+
return Exit.fail(new SchemaIssue.Composite(ast, [pointer]));
|
|
1406
1443
|
}
|
|
1407
1444
|
};
|
|
1408
1445
|
/**
|
|
@@ -1455,32 +1492,6 @@ export class PropertySignature {
|
|
|
1455
1492
|
this.type = type;
|
|
1456
1493
|
}
|
|
1457
1494
|
}
|
|
1458
|
-
/**
|
|
1459
|
-
* Represents a bidirectional merge strategy for index signature key-value pairs.
|
|
1460
|
-
*
|
|
1461
|
-
* **Details**
|
|
1462
|
-
*
|
|
1463
|
-
* Used by {@link IndexSignature} when the same key appears multiple times
|
|
1464
|
-
* (e.g. from `Schema.extend` or overlapping records). Provides separate
|
|
1465
|
-
* `decode` and `encode` combiners that determine how duplicate entries are
|
|
1466
|
-
* merged.
|
|
1467
|
-
*
|
|
1468
|
-
* @see {@link IndexSignature}
|
|
1469
|
-
* @category models
|
|
1470
|
-
* @since 4.0.0
|
|
1471
|
-
*/
|
|
1472
|
-
export class KeyValueCombiner {
|
|
1473
|
-
decode;
|
|
1474
|
-
encode;
|
|
1475
|
-
constructor(decode, encode) {
|
|
1476
|
-
this.decode = decode;
|
|
1477
|
-
this.encode = encode;
|
|
1478
|
-
}
|
|
1479
|
-
/** @internal */
|
|
1480
|
-
flip() {
|
|
1481
|
-
return new KeyValueCombiner(this.encode, this.decode);
|
|
1482
|
-
}
|
|
1483
|
-
}
|
|
1484
1495
|
function isIndexSignatureParameterSide(ast) {
|
|
1485
1496
|
switch (ast._tag) {
|
|
1486
1497
|
case "String":
|
|
@@ -1510,7 +1521,6 @@ function isIndexSignatureParameter(ast) {
|
|
|
1510
1521
|
* - `parameter` — the key type AST (e.g. {@link String} for `string` keys,
|
|
1511
1522
|
* {@link TemplateLiteral} for patterned keys).
|
|
1512
1523
|
* - `type` — the value type SchemaAST.
|
|
1513
|
-
* - `merge` — optional {@link KeyValueCombiner} for handling duplicate keys.
|
|
1514
1524
|
*
|
|
1515
1525
|
* **Gotchas**
|
|
1516
1526
|
*
|
|
@@ -1525,14 +1535,12 @@ function isIndexSignatureParameter(ast) {
|
|
|
1525
1535
|
export class IndexSignature {
|
|
1526
1536
|
parameter;
|
|
1527
1537
|
type;
|
|
1528
|
-
|
|
1529
|
-
constructor(parameter, type, merge) {
|
|
1538
|
+
constructor(parameter, type) {
|
|
1530
1539
|
if (!isIndexSignatureParameter(parameter)) {
|
|
1531
1540
|
throw new Error(`Invalid index signature parameter ${parameter._tag}`);
|
|
1532
1541
|
}
|
|
1533
1542
|
this.parameter = parameter;
|
|
1534
1543
|
this.type = type;
|
|
1535
|
-
this.merge = merge;
|
|
1536
1544
|
if (isOptional(type) && !containsUndefined(type)) {
|
|
1537
1545
|
throw new Error("Cannot use `Schema.optionalKey` with index signatures, use `Schema.optional` instead.");
|
|
1538
1546
|
}
|
|
@@ -1562,17 +1570,14 @@ export class IndexSignature {
|
|
|
1562
1570
|
*
|
|
1563
1571
|
* **Example** (Inspecting a struct AST)
|
|
1564
1572
|
*
|
|
1565
|
-
* ```ts
|
|
1573
|
+
* ```ts import.meta.vitest
|
|
1566
1574
|
* import { Schema, SchemaAST } from "effect"
|
|
1567
1575
|
*
|
|
1568
1576
|
* const schema = Schema.Struct({ name: Schema.String })
|
|
1569
1577
|
* const ast = schema.ast
|
|
1570
1578
|
*
|
|
1571
1579
|
* if (SchemaAST.isObjects(ast)) {
|
|
1572
|
-
*
|
|
1573
|
-
* console.log(ps.name, ps.type._tag)
|
|
1574
|
-
* }
|
|
1575
|
-
* // "name" "String"
|
|
1580
|
+
* ast.propertySignatures.map((ps) => [ps.name, ps.type._tag]) // => [["name", "String"]]
|
|
1576
1581
|
* }
|
|
1577
1582
|
* ```
|
|
1578
1583
|
*
|
|
@@ -1600,77 +1605,85 @@ export class Objects extends Base {
|
|
|
1600
1605
|
}
|
|
1601
1606
|
}
|
|
1602
1607
|
/** @internal */
|
|
1603
|
-
getParser(
|
|
1608
|
+
getParser(compile, compileConstructorDefault = compile) {
|
|
1604
1609
|
// oxlint-disable-next-line @typescript-eslint/no-this-alias
|
|
1605
1610
|
const ast = this;
|
|
1606
1611
|
const expectedKeys = [];
|
|
1607
|
-
const expectedKeysSet = new Set();
|
|
1608
|
-
const properties = [];
|
|
1609
1612
|
for (const ps of ast.propertySignatures) {
|
|
1610
1613
|
expectedKeys.push(ps.name);
|
|
1611
|
-
expectedKeysSet.add(ps.name);
|
|
1612
|
-
properties.push({
|
|
1613
|
-
ps,
|
|
1614
|
-
parser: recur(ps.type),
|
|
1615
|
-
name: ps.name,
|
|
1616
|
-
type: ps.type
|
|
1617
|
-
});
|
|
1618
1614
|
}
|
|
1615
|
+
const hasProperties = expectedKeys.length;
|
|
1619
1616
|
const indexCount = ast.indexSignatures.length;
|
|
1617
|
+
let expectedKeysSet = hasProperties && indexCount ? new Set(expectedKeys) : undefined;
|
|
1620
1618
|
// ---------------------------------------------
|
|
1621
1619
|
// handle empty struct
|
|
1622
1620
|
// ---------------------------------------------
|
|
1623
|
-
if (
|
|
1621
|
+
if (!hasProperties && !indexCount) {
|
|
1624
1622
|
return fromRefinement(ast, Predicate.isNotNullish);
|
|
1625
1623
|
}
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
return;
|
|
1644
|
-
} else if (exitKey.value._tag === "Some" && exitValue.value._tag === "Some") {
|
|
1645
|
-
const k2 = exitKey.value.value;
|
|
1646
|
-
if (expectedKeysSet.has(key) || expectedKeysSet.has(k2)) {
|
|
1647
|
-
return;
|
|
1648
|
-
}
|
|
1649
|
-
const v2 = exitValue.value.value;
|
|
1650
|
-
if (is.merge && is.merge.decode && Object.hasOwn(s.out, k2)) {
|
|
1651
|
-
const [k, v] = is.merge.decode.combine([k2, s.out[k2]], [k2, v2]);
|
|
1652
|
-
InternalRecord.assignProperty(s.out, k, v);
|
|
1653
|
-
} else {
|
|
1654
|
-
InternalRecord.assignProperty(s.out, k2, v2);
|
|
1655
|
-
}
|
|
1624
|
+
let properties;
|
|
1625
|
+
let indexes;
|
|
1626
|
+
const finishIndex = (s, key, k2, inputValue, exitValue) => {
|
|
1627
|
+
if (exitValue._tag === "Failure") {
|
|
1628
|
+
return wrapPropertyKeyIssue(s, ast, key, exitValue) ?? Exit.void;
|
|
1629
|
+
}
|
|
1630
|
+
const value = exitValue === InternalParser.sameExit ? inputValue : exitValue[InternalParser.args];
|
|
1631
|
+
if (k2 !== InternalParser.missing && value !== InternalParser.missing) {
|
|
1632
|
+
if (hasProperties && (expectedKeysSet.has(key) || expectedKeysSet.has(k2))) return Exit.void;
|
|
1633
|
+
InternalRecord.assignProperty(s.out, k2, value);
|
|
1634
|
+
}
|
|
1635
|
+
return Exit.void;
|
|
1636
|
+
};
|
|
1637
|
+
const parseIndex = (s, key, index, exitKey) => {
|
|
1638
|
+
if (!exitKey) {
|
|
1639
|
+
const eff = index.parserKey(key, s.options);
|
|
1640
|
+
if (!effectIsExit(eff)) {
|
|
1641
|
+
return Effect.flatMap(Effect.exit(eff), exit => parseIndex(s, key, index, exit));
|
|
1656
1642
|
}
|
|
1657
|
-
|
|
1643
|
+
exitKey = eff;
|
|
1644
|
+
}
|
|
1645
|
+
if (exitKey._tag === "Failure") {
|
|
1646
|
+
return wrapPropertyKeyIssue(s, ast, key, exitKey) ?? Exit.void;
|
|
1647
|
+
}
|
|
1648
|
+
const k2 = exitKey === InternalParser.sameExit ? key : exitKey[InternalParser.args];
|
|
1649
|
+
const inputValue = s.input[key];
|
|
1650
|
+
const result = index.parserValue(inputValue, s.options);
|
|
1651
|
+
return effectIsExit(result) ? finishIndex(s, key, k2, inputValue, result) : Effect.flatMap(Effect.exit(result), exit => finishIndex(s, key, k2, inputValue, exit));
|
|
1652
|
+
};
|
|
1653
|
+
const parseStringIndex = (s, key, index) => {
|
|
1654
|
+
const inputValue = s.input[key];
|
|
1655
|
+
const result = index.parserValue(inputValue, s.options);
|
|
1656
|
+
return effectIsExit(result) ? finishIndex(s, key, key, inputValue, result) : Effect.flatMap(Effect.exit(result), exit => finishIndex(s, key, key, inputValue, exit));
|
|
1657
|
+
};
|
|
1658
|
+
const parseIndexes = indexCount ? iterateEager()({
|
|
1659
|
+
onItem: (s, [key, index]) => parseIndex(s, key, index),
|
|
1658
1660
|
step: (_s, _, exit) => exit._tag === "Failure" ? exit : undefined
|
|
1659
1661
|
}) : undefined;
|
|
1660
|
-
return Effect.fnUntracedEager(function* (
|
|
1661
|
-
if (
|
|
1662
|
-
return
|
|
1662
|
+
return Effect.fnUntracedEager(function* (input, options) {
|
|
1663
|
+
if (input === InternalParser.missing) {
|
|
1664
|
+
return InternalParser.missing;
|
|
1663
1665
|
}
|
|
1664
|
-
const input = oinput.value;
|
|
1665
1666
|
// If the input is not a record, return early with an error
|
|
1666
1667
|
if (!(typeof input === "object" && input !== null && !Array.isArray(input))) {
|
|
1667
|
-
return yield* Effect.fail(new SchemaIssue.InvalidType(ast
|
|
1668
|
+
return yield* Effect.fail(new SchemaIssue.InvalidType(ast));
|
|
1668
1669
|
}
|
|
1670
|
+
if (!properties) {
|
|
1671
|
+
properties = ast.propertySignatures.map(ps => ({
|
|
1672
|
+
parser: compileConstructorDefault(ps.type),
|
|
1673
|
+
name: ps.name,
|
|
1674
|
+
type: ps.type
|
|
1675
|
+
}));
|
|
1676
|
+
indexes = indexCount ? ast.indexSignatures.map(is => ({
|
|
1677
|
+
is,
|
|
1678
|
+
parserKey: compile(parameterFromPropertyKey(is.parameter)),
|
|
1679
|
+
parserValue: compileConstructorDefault(is.type)
|
|
1680
|
+
})) : undefined;
|
|
1681
|
+
}
|
|
1682
|
+
const record = input;
|
|
1669
1683
|
const out = {};
|
|
1670
1684
|
const state = {
|
|
1671
1685
|
ast,
|
|
1672
|
-
|
|
1673
|
-
input,
|
|
1686
|
+
input: record,
|
|
1674
1687
|
out,
|
|
1675
1688
|
issues: undefined,
|
|
1676
1689
|
options
|
|
@@ -1682,14 +1695,15 @@ export class Objects extends Base {
|
|
|
1682
1695
|
// handle excess properties
|
|
1683
1696
|
// ---------------------------------------------
|
|
1684
1697
|
let inputKeys;
|
|
1685
|
-
if (
|
|
1686
|
-
|
|
1698
|
+
if (!indexCount && (onExcessPropertyError || onExcessPropertyPreserve)) {
|
|
1699
|
+
expectedKeysSet ??= new Set(expectedKeys);
|
|
1700
|
+
inputKeys = Reflect.ownKeys(record);
|
|
1687
1701
|
for (let i = 0; i < inputKeys.length; i++) {
|
|
1688
1702
|
const key = inputKeys[i];
|
|
1689
1703
|
if (!expectedKeysSet.has(key)) {
|
|
1690
1704
|
// key is unexpected
|
|
1691
1705
|
if (onExcessPropertyError) {
|
|
1692
|
-
const issue = new SchemaIssue.Pointer([key], new SchemaIssue.UnexpectedKey(ast
|
|
1706
|
+
const issue = new SchemaIssue.Pointer([key], new SchemaIssue.UnexpectedKey(ast));
|
|
1693
1707
|
if (errorsAllOption) {
|
|
1694
1708
|
if (state.issues) {
|
|
1695
1709
|
state.issues.push(issue);
|
|
@@ -1698,11 +1712,11 @@ export class Objects extends Base {
|
|
|
1698
1712
|
}
|
|
1699
1713
|
continue;
|
|
1700
1714
|
} else {
|
|
1701
|
-
return yield* Effect.fail(new SchemaIssue.Composite(ast,
|
|
1715
|
+
return yield* Effect.fail(new SchemaIssue.Composite(ast, [issue]));
|
|
1702
1716
|
}
|
|
1703
1717
|
} else {
|
|
1704
1718
|
// preserve key
|
|
1705
|
-
InternalRecord.assignProperty(out, key,
|
|
1719
|
+
InternalRecord.assignProperty(out, key, record[key]);
|
|
1706
1720
|
}
|
|
1707
1721
|
}
|
|
1708
1722
|
}
|
|
@@ -1711,42 +1725,53 @@ export class Objects extends Base {
|
|
|
1711
1725
|
// ---------------------------------------------
|
|
1712
1726
|
// handle property signatures
|
|
1713
1727
|
// ---------------------------------------------
|
|
1714
|
-
|
|
1715
|
-
|
|
1728
|
+
if (hasProperties) {
|
|
1729
|
+
const eff = parseProperties(state, properties, concurrency);
|
|
1730
|
+
if (eff) yield* eff;
|
|
1731
|
+
}
|
|
1716
1732
|
// ---------------------------------------------
|
|
1717
1733
|
// handle index signatures
|
|
1718
1734
|
// ---------------------------------------------
|
|
1719
|
-
if (
|
|
1735
|
+
if (indexCount && !concurrency) {
|
|
1736
|
+
for (let i = 0; i < indexCount; i++) {
|
|
1737
|
+
const index = indexes[i];
|
|
1738
|
+
const parse = index.is.parameter === string ? parseStringIndex : parseIndex;
|
|
1739
|
+
const keys = index.is.parameter === string ? Object.keys(record) : getIndexSignatureKeys(record, index.is.parameter, options);
|
|
1740
|
+
for (let j = 0; j < keys.length; j++) {
|
|
1741
|
+
const eff = parse(state, keys[j], index);
|
|
1742
|
+
if (!effectIsExit(eff)) yield* eff;else if (eff._tag === "Failure") return yield* eff;
|
|
1743
|
+
}
|
|
1744
|
+
}
|
|
1745
|
+
} else if (parseIndexes) {
|
|
1720
1746
|
const keyPairs = Arr.empty();
|
|
1721
1747
|
for (let i = 0; i < indexCount; i++) {
|
|
1722
|
-
const
|
|
1723
|
-
const keys = getIndexSignatureKeys(
|
|
1748
|
+
const index = indexes[i];
|
|
1749
|
+
const keys = getIndexSignatureKeys(record, index.is.parameter, options);
|
|
1724
1750
|
for (let j = 0; j < keys.length; j++) {
|
|
1725
|
-
|
|
1726
|
-
keyPairs.push([key, is]);
|
|
1751
|
+
keyPairs.push([keys[j], index]);
|
|
1727
1752
|
}
|
|
1728
1753
|
}
|
|
1729
1754
|
const eff = parseIndexes(state, keyPairs, concurrency);
|
|
1730
1755
|
if (eff) yield* eff;
|
|
1731
1756
|
}
|
|
1732
1757
|
if (state.issues) {
|
|
1733
|
-
return yield* Effect.fail(new SchemaIssue.Composite(ast,
|
|
1758
|
+
return yield* Effect.fail(new SchemaIssue.Composite(ast, state.issues));
|
|
1734
1759
|
}
|
|
1735
1760
|
if (options.propertyOrder === "original") {
|
|
1736
1761
|
// preserve input keys order
|
|
1737
|
-
const keys = (inputKeys ?? Reflect.ownKeys(
|
|
1762
|
+
const keys = (inputKeys ?? Reflect.ownKeys(record)).concat(expectedKeys);
|
|
1738
1763
|
const preserved = {};
|
|
1739
1764
|
for (const key of keys) {
|
|
1740
1765
|
if (Object.hasOwn(out, key)) {
|
|
1741
1766
|
InternalRecord.assignProperty(preserved, key, out[key]);
|
|
1742
1767
|
}
|
|
1743
1768
|
}
|
|
1744
|
-
return
|
|
1769
|
+
return preserved;
|
|
1745
1770
|
}
|
|
1746
|
-
return
|
|
1771
|
+
return out;
|
|
1747
1772
|
});
|
|
1748
1773
|
}
|
|
1749
|
-
_rebuild(recur, recurParameter,
|
|
1774
|
+
_rebuild(recur, recurParameter, checks, encodingChecks) {
|
|
1750
1775
|
const props = mapOrSame(this.propertySignatures, ps => {
|
|
1751
1776
|
const t = recur(ps.type);
|
|
1752
1777
|
return t === ps.type ? ps : new PropertySignature(ps.name, t);
|
|
@@ -1754,18 +1779,17 @@ export class Objects extends Base {
|
|
|
1754
1779
|
const indexes = mapOrSame(this.indexSignatures, is => {
|
|
1755
1780
|
const p = recurParameter(is.parameter);
|
|
1756
1781
|
const t = recur(is.type);
|
|
1757
|
-
|
|
1758
|
-
return p === is.parameter && t === is.type && merge === is.merge ? is : new IndexSignature(p, t, merge);
|
|
1782
|
+
return p === is.parameter && t === is.type ? is : new IndexSignature(p, t);
|
|
1759
1783
|
});
|
|
1760
1784
|
return props === this.propertySignatures && indexes === this.indexSignatures && checks === this.checks && encodingChecks === this.encodingChecks ? this : new Objects(props, indexes, this.annotations, checks, undefined, this.context, encodingChecks);
|
|
1761
1785
|
}
|
|
1762
1786
|
/** @internal */
|
|
1763
1787
|
flip(recur) {
|
|
1764
|
-
return this._rebuild(recur, recur,
|
|
1788
|
+
return this._rebuild(recur, recur, this.encodingChecks, this.checks);
|
|
1765
1789
|
}
|
|
1766
1790
|
/** @internal */
|
|
1767
1791
|
recur(recur, recurParameter = recur) {
|
|
1768
|
-
return this._rebuild(recur, recurParameter,
|
|
1792
|
+
return this._rebuild(recur, recurParameter, this.checks, this.encodingChecks);
|
|
1769
1793
|
}
|
|
1770
1794
|
/** @internal */
|
|
1771
1795
|
getExpected() {
|
|
@@ -1775,21 +1799,31 @@ export class Objects extends Base {
|
|
|
1775
1799
|
}
|
|
1776
1800
|
const parseProperties = /*#__PURE__*/iterateEager()({
|
|
1777
1801
|
onItem(s, p) {
|
|
1778
|
-
|
|
1802
|
+
if (!Object.hasOwn(s.input, p.name)) {
|
|
1803
|
+
return p.parser(InternalParser.missing, s.options);
|
|
1804
|
+
}
|
|
1805
|
+
const value = s.input[p.name];
|
|
1806
|
+
InternalRecord.assignProperty(s.out, p.name, value);
|
|
1779
1807
|
return p.parser(value, s.options);
|
|
1780
1808
|
},
|
|
1781
1809
|
step(s, p, exit) {
|
|
1782
1810
|
if (exit._tag === "Failure") {
|
|
1783
1811
|
return wrapPropertyKeyIssue(s, s.ast, p.name, exit);
|
|
1784
|
-
}
|
|
1785
|
-
|
|
1786
|
-
|
|
1812
|
+
}
|
|
1813
|
+
if (exit === InternalParser.sameExit) return;
|
|
1814
|
+
const value = exit[InternalParser.args];
|
|
1815
|
+
if (value !== InternalParser.missing) {
|
|
1816
|
+
InternalRecord.assignProperty(s.out, p.name, value);
|
|
1817
|
+
return;
|
|
1818
|
+
}
|
|
1819
|
+
delete s.out[p.name];
|
|
1820
|
+
if (!isOptional(p.type)) {
|
|
1787
1821
|
const issue = new SchemaIssue.Pointer([p.name], new SchemaIssue.MissingKey(p.type.context?.annotations));
|
|
1788
1822
|
if (s.options.errors === "all") {
|
|
1789
1823
|
if (s.issues) s.issues.push(issue);else s.issues = [issue];
|
|
1790
1824
|
return;
|
|
1791
1825
|
} else {
|
|
1792
|
-
return Exit.fail(new SchemaIssue.Composite(s.ast,
|
|
1826
|
+
return Exit.fail(new SchemaIssue.Composite(s.ast, [issue]));
|
|
1793
1827
|
}
|
|
1794
1828
|
}
|
|
1795
1829
|
}
|
|
@@ -1839,6 +1873,18 @@ export function tupleWithRest(ast, rest) {
|
|
|
1839
1873
|
}
|
|
1840
1874
|
return new Arrays(ast.isMutable, ast.elements, rest, undefined, ast.checks);
|
|
1841
1875
|
}
|
|
1876
|
+
const toCandidate = /*#__PURE__*/memoize(ast => {
|
|
1877
|
+
while (true) {
|
|
1878
|
+
if (isSuspend(ast)) return unknown;
|
|
1879
|
+
const encoding = ast.encoding;
|
|
1880
|
+
if (!encoding) {
|
|
1881
|
+
// Index signature parameters do not participate in union selection.
|
|
1882
|
+
return ast.recur?.(toCandidate, identity) ?? ast;
|
|
1883
|
+
}
|
|
1884
|
+
if (encoding.some(link => link.transformation._tag === "Middleware" && link.transformation.decode !== identity)) return unknown;
|
|
1885
|
+
ast = encoding[encoding.length - 1].to;
|
|
1886
|
+
}
|
|
1887
|
+
});
|
|
1842
1888
|
function getCandidateTypes(ast) {
|
|
1843
1889
|
switch (ast._tag) {
|
|
1844
1890
|
case "Null":
|
|
@@ -1904,30 +1950,50 @@ export function collectSentinels(ast) {
|
|
|
1904
1950
|
});
|
|
1905
1951
|
case "Arrays":
|
|
1906
1952
|
return ast.elements.flatMap((e, i) => {
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1953
|
+
if (!isOptional(e)) {
|
|
1954
|
+
if (isLiteral(e)) {
|
|
1955
|
+
return [{
|
|
1956
|
+
key: i,
|
|
1957
|
+
literal: e.literal
|
|
1958
|
+
}];
|
|
1959
|
+
}
|
|
1960
|
+
if (isUniqueSymbol(e)) {
|
|
1961
|
+
return [{
|
|
1962
|
+
key: i,
|
|
1963
|
+
literal: e.symbol
|
|
1964
|
+
}];
|
|
1965
|
+
}
|
|
1966
|
+
}
|
|
1967
|
+
return [];
|
|
1911
1968
|
});
|
|
1912
1969
|
case "Suspend":
|
|
1913
1970
|
return collectSentinels(ast.thunk());
|
|
1914
1971
|
}
|
|
1915
1972
|
}
|
|
1916
1973
|
const candidateIndexCache = /*#__PURE__*/new WeakMap();
|
|
1974
|
+
const emptyCandidates = /*#__PURE__*/Object.freeze([]);
|
|
1917
1975
|
function getIndex(types) {
|
|
1918
1976
|
let idx = candidateIndexCache.get(types);
|
|
1919
1977
|
if (idx) return idx;
|
|
1920
1978
|
idx = {};
|
|
1979
|
+
let literalCandidates;
|
|
1921
1980
|
for (let i = 0; i < types.length; i++) {
|
|
1922
1981
|
const a = types[i];
|
|
1923
|
-
const encoded =
|
|
1982
|
+
const encoded = toCandidate(a);
|
|
1924
1983
|
if (isNever(encoded)) continue;
|
|
1925
|
-
|
|
1984
|
+
if (literalCandidates !== null) {
|
|
1985
|
+
if (isLiteral(encoded) || isUniqueSymbol(encoded)) {
|
|
1986
|
+
literalCandidates ??= new Map();
|
|
1987
|
+
const literal = isLiteral(encoded) ? encoded.literal : encoded.symbol;
|
|
1988
|
+
let arr = literalCandidates.get(literal);
|
|
1989
|
+
if (!arr) literalCandidates.set(literal, arr = []);
|
|
1990
|
+
arr.push(a);
|
|
1991
|
+
} else {
|
|
1992
|
+
literalCandidates = null;
|
|
1993
|
+
}
|
|
1994
|
+
}
|
|
1926
1995
|
const sentinels = collectSentinels(encoded);
|
|
1927
|
-
|
|
1928
|
-
idx.byType ??= {};
|
|
1929
|
-
for (const t of candidateTypes) (idx.byType[t] ??= []).push(i);
|
|
1930
|
-
if (sentinels.length > 0) {
|
|
1996
|
+
if (sentinels.length) {
|
|
1931
1997
|
// discriminated variants
|
|
1932
1998
|
idx.bySentinel ??= new Map();
|
|
1933
1999
|
for (const {
|
|
@@ -1938,20 +2004,40 @@ function getIndex(types) {
|
|
|
1938
2004
|
if (!m) idx.bySentinel.set(key, m = new Map());
|
|
1939
2005
|
let arr = m.get(literal);
|
|
1940
2006
|
if (!arr) m.set(literal, arr = []);
|
|
1941
|
-
arr.push(i);
|
|
2007
|
+
if (arr[arr.length - 1] !== i) arr.push(i);
|
|
1942
2008
|
}
|
|
1943
2009
|
} else {
|
|
1944
2010
|
// non-discriminated
|
|
1945
2011
|
idx.otherwise ??= {};
|
|
2012
|
+
const candidateTypes = getCandidateTypes(encoded);
|
|
1946
2013
|
for (const t of candidateTypes) (idx.otherwise[t] ??= []).push(i);
|
|
1947
2014
|
}
|
|
1948
2015
|
}
|
|
2016
|
+
if (literalCandidates) {
|
|
2017
|
+
literalCandidates.forEach(Object.freeze);
|
|
2018
|
+
idx = input => literalCandidates.get(input) ?? emptyCandidates;
|
|
2019
|
+
} else if (idx.bySentinel?.size === 1 && !idx.otherwise) {
|
|
2020
|
+
for (const [key, byValue] of idx.bySentinel) {
|
|
2021
|
+
const candidates = byValue;
|
|
2022
|
+
for (const [literal, indexes] of byValue) {
|
|
2023
|
+
candidates.set(literal, Object.freeze(indexes.map(index => types[index])));
|
|
2024
|
+
}
|
|
2025
|
+
idx = (input, isConstructor) => {
|
|
2026
|
+
if (Predicate.isObjectKeyword(input)) {
|
|
2027
|
+
const value = Object.hasOwn(input, key) ? input[key] : undefined;
|
|
2028
|
+
if (value !== undefined) return candidates.get(value) ?? emptyCandidates;
|
|
2029
|
+
if (isConstructor) return types;
|
|
2030
|
+
}
|
|
2031
|
+
return emptyCandidates;
|
|
2032
|
+
};
|
|
2033
|
+
}
|
|
2034
|
+
}
|
|
1949
2035
|
candidateIndexCache.set(types, idx);
|
|
1950
2036
|
return idx;
|
|
1951
2037
|
}
|
|
1952
2038
|
function filterLiterals(input) {
|
|
1953
2039
|
return ast => {
|
|
1954
|
-
const encoded =
|
|
2040
|
+
const encoded = toCandidate(ast);
|
|
1955
2041
|
return encoded._tag === "Literal" ? encoded.literal === input : encoded._tag === "UniqueSymbol" ? encoded.symbol === input : true;
|
|
1956
2042
|
};
|
|
1957
2043
|
}
|
|
@@ -1961,28 +2047,34 @@ function filterLiterals(input) {
|
|
|
1961
2047
|
*
|
|
1962
2048
|
* @internal
|
|
1963
2049
|
*/
|
|
1964
|
-
export function getCandidates(input, types) {
|
|
2050
|
+
export function getCandidates(input, types, isConstructor = false) {
|
|
1965
2051
|
const idx = getIndex(types);
|
|
2052
|
+
if (typeof idx === "function") return idx(input, isConstructor);
|
|
1966
2053
|
const runtimeType = input === null ? "null" : Array.isArray(input) ? "array" : typeof input;
|
|
1967
2054
|
// 1. Try sentinel-based dispatch (most selective)
|
|
1968
2055
|
if (idx.bySentinel) {
|
|
1969
|
-
const base = idx.otherwise?.[runtimeType] ??
|
|
1970
|
-
if (
|
|
2056
|
+
const base = idx.otherwise?.[runtimeType] ?? emptyCandidates;
|
|
2057
|
+
if (Predicate.isObjectKeyword(input)) {
|
|
1971
2058
|
const selected = new Set(base);
|
|
1972
2059
|
for (const [k, m] of idx.bySentinel) {
|
|
1973
|
-
|
|
1974
|
-
|
|
2060
|
+
const value = Object.hasOwn(input, k) ? input[k] : undefined;
|
|
2061
|
+
if (value !== undefined) {
|
|
2062
|
+
const match = m.get(value);
|
|
1975
2063
|
if (match) {
|
|
1976
2064
|
for (const candidate of match) selected.add(candidate);
|
|
1977
2065
|
}
|
|
2066
|
+
} else if (isConstructor) {
|
|
2067
|
+
for (const indexes of m.values()) {
|
|
2068
|
+
for (const candidate of indexes) selected.add(candidate);
|
|
2069
|
+
}
|
|
1978
2070
|
}
|
|
1979
2071
|
}
|
|
1980
|
-
return Array.from(selected).sort((a, b) => a - b).map(i => types[i])
|
|
2072
|
+
return Array.from(selected).sort((a, b) => a - b).map(i => types[i]);
|
|
1981
2073
|
}
|
|
1982
2074
|
return base.map(i => types[i]);
|
|
1983
2075
|
}
|
|
1984
2076
|
// 2. Fallback: runtime-type dispatch only
|
|
1985
|
-
return (idx.
|
|
2077
|
+
return (idx.otherwise?.[runtimeType] ?? emptyCandidates).map(i => types[i]).filter(filterLiterals(input));
|
|
1986
2078
|
}
|
|
1987
2079
|
/**
|
|
1988
2080
|
* AST node representing a union of schemas.
|
|
@@ -1999,15 +2091,14 @@ export function getCandidates(input, types) {
|
|
|
1999
2091
|
*
|
|
2000
2092
|
* **Example** (Inspecting a union AST)
|
|
2001
2093
|
*
|
|
2002
|
-
* ```ts
|
|
2094
|
+
* ```ts import.meta.vitest
|
|
2003
2095
|
* import { Schema, SchemaAST } from "effect"
|
|
2004
2096
|
*
|
|
2005
2097
|
* const schema = Schema.Union([Schema.String, Schema.Number])
|
|
2006
2098
|
* const ast = schema.ast
|
|
2007
2099
|
*
|
|
2008
2100
|
* if (SchemaAST.isUnion(ast)) {
|
|
2009
|
-
*
|
|
2010
|
-
* console.log(ast.mode) // "anyOf"
|
|
2101
|
+
* [ast.types.length, ast.mode] // => [2, "anyOf"]
|
|
2011
2102
|
* }
|
|
2012
2103
|
* ```
|
|
2013
2104
|
*
|
|
@@ -2027,22 +2118,25 @@ export class Union extends Base {
|
|
|
2027
2118
|
this.encodingChecks = encodingChecks;
|
|
2028
2119
|
}
|
|
2029
2120
|
/** @internal */
|
|
2030
|
-
getParser(
|
|
2121
|
+
getParser(compile, compileConstructorDefault) {
|
|
2031
2122
|
// oxlint-disable-next-line @typescript-eslint/no-this-alias
|
|
2032
2123
|
const ast = this;
|
|
2033
|
-
return (
|
|
2034
|
-
if (
|
|
2035
|
-
return
|
|
2124
|
+
return (input, options) => {
|
|
2125
|
+
if (input === InternalParser.missing) {
|
|
2126
|
+
return InternalParser.missingExit;
|
|
2127
|
+
}
|
|
2128
|
+
const candidates = getCandidates(input, ast.types, compileConstructorDefault !== undefined);
|
|
2129
|
+
if (candidates.length === 1) {
|
|
2130
|
+
const result = compile(candidates[0])(input, options);
|
|
2131
|
+
if (result._tag === "Success") return result;
|
|
2132
|
+
return effectIsExit(result) ? failSingleUnionCandidate(ast, result.cause) : Effect.catchCause(result, cause => failSingleUnionCandidate(ast, cause));
|
|
2036
2133
|
}
|
|
2037
|
-
const input = oinput.value;
|
|
2038
|
-
const candidates = getCandidates(input, ast.types);
|
|
2039
2134
|
const state = {
|
|
2040
2135
|
ast,
|
|
2041
|
-
|
|
2042
|
-
oinput,
|
|
2136
|
+
compile,
|
|
2043
2137
|
input,
|
|
2044
2138
|
out: undefined,
|
|
2045
|
-
successes: [],
|
|
2139
|
+
successes: ast.mode === "oneOf" ? [] : undefined,
|
|
2046
2140
|
issues: undefined,
|
|
2047
2141
|
options
|
|
2048
2142
|
};
|
|
@@ -2052,10 +2146,10 @@ export class Union extends Base {
|
|
|
2052
2146
|
orderedStep: true
|
|
2053
2147
|
} : undefined);
|
|
2054
2148
|
if (!eff) {
|
|
2055
|
-
return state.out
|
|
2149
|
+
return state.out ?? Effect.fail(new SchemaIssue.AnyOf(ast, state.issues ?? []));
|
|
2056
2150
|
}
|
|
2057
|
-
return Effect.
|
|
2058
|
-
return state.out ? Effect.succeed(state.out
|
|
2151
|
+
return Effect.flatMapEager(eff, _ => {
|
|
2152
|
+
return state.out === InternalParser.sameExit ? Effect.succeed(input) : state.out ?? Effect.fail(new SchemaIssue.AnyOf(ast, state.issues ?? []));
|
|
2059
2153
|
});
|
|
2060
2154
|
};
|
|
2061
2155
|
}
|
|
@@ -2109,10 +2203,14 @@ export class Union extends Base {
|
|
|
2109
2203
|
return Array.from(new Set(types)).join(" | ");
|
|
2110
2204
|
}
|
|
2111
2205
|
}
|
|
2206
|
+
function failSingleUnionCandidate(ast, cause) {
|
|
2207
|
+
const issue = InternalSchemaCause.getSchemaIssue(cause);
|
|
2208
|
+
return issue ? Exit.fail(new SchemaIssue.AnyOf(ast, [issue])) : Exit.failCause(cause);
|
|
2209
|
+
}
|
|
2112
2210
|
const parseUnion = /*#__PURE__*/iterateEager()({
|
|
2113
2211
|
onItem(s, ast) {
|
|
2114
|
-
const parser = s.
|
|
2115
|
-
return parser(s.
|
|
2212
|
+
const parser = s.compile(ast);
|
|
2213
|
+
return parser(s.input, s.options);
|
|
2116
2214
|
},
|
|
2117
2215
|
step(s, candidate, exit) {
|
|
2118
2216
|
if (exit._tag === "Failure") {
|
|
@@ -2122,13 +2220,14 @@ const parseUnion = /*#__PURE__*/iterateEager()({
|
|
|
2122
2220
|
}
|
|
2123
2221
|
if (s.issues) s.issues.push(issue);else s.issues = [issue];
|
|
2124
2222
|
} else {
|
|
2125
|
-
if (s.out && s.
|
|
2223
|
+
if (s.out && s.successes) {
|
|
2126
2224
|
s.successes.push(candidate);
|
|
2127
|
-
return Exit.fail(new SchemaIssue.OneOf(s.ast, s.
|
|
2225
|
+
return Exit.fail(new SchemaIssue.OneOf(s.ast, s.successes));
|
|
2128
2226
|
}
|
|
2129
|
-
s.out = exit
|
|
2130
|
-
s.successes
|
|
2131
|
-
|
|
2227
|
+
s.out = exit;
|
|
2228
|
+
if (s.successes) {
|
|
2229
|
+
s.successes.push(candidate);
|
|
2230
|
+
} else {
|
|
2132
2231
|
return Exit.void;
|
|
2133
2232
|
}
|
|
2134
2233
|
}
|
|
@@ -2165,7 +2264,7 @@ export function memoizeThunk(f) {
|
|
|
2165
2264
|
*
|
|
2166
2265
|
* **Example** (Defining recursive schema ASTs)
|
|
2167
2266
|
*
|
|
2168
|
-
* ```ts
|
|
2267
|
+
* ```ts import.meta.vitest
|
|
2169
2268
|
* import { Schema, SchemaAST } from "effect"
|
|
2170
2269
|
*
|
|
2171
2270
|
* interface Category {
|
|
@@ -2178,7 +2277,7 @@ export function memoizeThunk(f) {
|
|
|
2178
2277
|
* children: Schema.Array(Schema.suspend((): Schema.Codec<Category> => Category))
|
|
2179
2278
|
* })
|
|
2180
2279
|
*
|
|
2181
|
-
* //
|
|
2280
|
+
* SchemaAST.isObjects(Category.ast) // => true
|
|
2182
2281
|
* ```
|
|
2183
2282
|
*
|
|
2184
2283
|
* @see {@link isSuspend}
|
|
@@ -2189,15 +2288,16 @@ export class Suspend extends Base {
|
|
|
2189
2288
|
_tag = "Suspend";
|
|
2190
2289
|
thunk;
|
|
2191
2290
|
constructor(thunk, annotations, checks, encoding, context) {
|
|
2192
|
-
if (checks
|
|
2291
|
+
if (checks) {
|
|
2193
2292
|
throw new Error("Cannot add checks to Suspend");
|
|
2194
2293
|
}
|
|
2195
2294
|
super(annotations, undefined, encoding, context);
|
|
2196
2295
|
this.thunk = memoizeThunk(thunk);
|
|
2197
2296
|
}
|
|
2198
2297
|
/** @internal */
|
|
2199
|
-
getParser(
|
|
2200
|
-
|
|
2298
|
+
getParser(compile) {
|
|
2299
|
+
let parser;
|
|
2300
|
+
return (input, options) => (parser ??= compile(this.thunk()))(input, options);
|
|
2201
2301
|
}
|
|
2202
2302
|
/** @internal */
|
|
2203
2303
|
recur(recur) {
|
|
@@ -2298,11 +2398,11 @@ export class FilterGroup extends Pipeable.Class {
|
|
|
2298
2398
|
}
|
|
2299
2399
|
/** @internal */
|
|
2300
2400
|
export function makeFilter(filter, annotations, aborted = false) {
|
|
2301
|
-
return new Filter((input, ast, options) => SchemaIssue.
|
|
2401
|
+
return new Filter((input, ast, options) => SchemaIssue.normalizeFilterOutput(ast, filter(input, ast, options)), annotations, aborted);
|
|
2302
2402
|
}
|
|
2303
2403
|
/** @internal */
|
|
2304
2404
|
export function makeFilterByGuard(is, annotations) {
|
|
2305
|
-
return new Filter(input => is(input) ? undefined : new SchemaIssue.InvalidValue(
|
|
2405
|
+
return new Filter(input => is(input) ? undefined : new SchemaIssue.InvalidValue(), annotations, true // after a guard, we always want to abort
|
|
2306
2406
|
);
|
|
2307
2407
|
}
|
|
2308
2408
|
/** @internal */
|
|
@@ -2341,21 +2441,25 @@ export const finite = /*#__PURE__*/appendChecks(number, [/*#__PURE__*/isFinite()
|
|
|
2341
2441
|
* **Details**
|
|
2342
2442
|
*
|
|
2343
2443
|
* The filter can be used with `Schema.filter` or attached directly to a
|
|
2344
|
-
* `String` AST node through checks. The regular expression
|
|
2345
|
-
*
|
|
2444
|
+
* `String` AST node through checks. The regular expression is cloned and its
|
|
2445
|
+
* `lastIndex` is reset before each test, so global and sticky expressions are
|
|
2446
|
+
* deterministic and the provided regular expression is not mutated. The
|
|
2447
|
+
* regular expression source is stored in annotations for serialization and
|
|
2448
|
+
* arbitrary generation.
|
|
2346
2449
|
*
|
|
2347
2450
|
* **Gotchas**
|
|
2348
2451
|
*
|
|
2349
|
-
*
|
|
2350
|
-
*
|
|
2351
|
-
* `y` flag.
|
|
2452
|
+
* When deriving an arbitrary, only `regExp.source` is used. Regular expression
|
|
2453
|
+
* flags are ignored because fast-check does not support them.
|
|
2352
2454
|
*
|
|
2353
2455
|
* **Example** (Validating an email pattern)
|
|
2354
2456
|
*
|
|
2355
|
-
* ```ts
|
|
2457
|
+
* ```ts import.meta.vitest
|
|
2356
2458
|
* import { SchemaAST } from "effect"
|
|
2357
2459
|
*
|
|
2358
2460
|
* const emailFilter = SchemaAST.isPattern(/^[^@]+@[^@]+$/)
|
|
2461
|
+
* emailFilter.run("alice@example.com", SchemaAST.string, {}) // => undefined
|
|
2462
|
+
* emailFilter.run("invalid", SchemaAST.string, {})?._tag // => "InvalidValue"
|
|
2359
2463
|
* ```
|
|
2360
2464
|
*
|
|
2361
2465
|
* @see {@link Filter}
|
|
@@ -2364,7 +2468,11 @@ export const finite = /*#__PURE__*/appendChecks(number, [/*#__PURE__*/isFinite()
|
|
|
2364
2468
|
*/
|
|
2365
2469
|
export function isPattern(regExp, annotations) {
|
|
2366
2470
|
const source = regExp.source;
|
|
2367
|
-
|
|
2471
|
+
const pattern = new globalThis.RegExp(source, regExp.flags);
|
|
2472
|
+
return makeFilter(s => {
|
|
2473
|
+
pattern.lastIndex = 0;
|
|
2474
|
+
return pattern.test(s);
|
|
2475
|
+
}, {
|
|
2368
2476
|
expected: `a string matching the RegExp ${source}`,
|
|
2369
2477
|
representation: {
|
|
2370
2478
|
id: "effect/schema/isPattern",
|
|
@@ -2426,7 +2534,7 @@ export function annotate(ast, annotations) {
|
|
|
2426
2534
|
}
|
|
2427
2535
|
/** @internal */
|
|
2428
2536
|
export function replaceChecks(ast, checks) {
|
|
2429
|
-
if (ast._tag === "Suspend" && checks
|
|
2537
|
+
if (ast._tag === "Suspend" && checks) {
|
|
2430
2538
|
throw new Error("Cannot add checks to Suspend");
|
|
2431
2539
|
}
|
|
2432
2540
|
if (ast.checks === checks) {
|
|
@@ -2501,7 +2609,7 @@ export function mapOrSame(as, f) {
|
|
|
2501
2609
|
}
|
|
2502
2610
|
/** @internal */
|
|
2503
2611
|
export function annotateKey(ast, annotations) {
|
|
2504
|
-
const context = ast.context ? new Context(ast.context.isOptional, ast.context.isMutable, ast.context.
|
|
2612
|
+
const context = ast.context ? new Context(ast.context.isOptional, ast.context.isMutable, ast.context.constructorDefault, {
|
|
2505
2613
|
...ast.context.annotations,
|
|
2506
2614
|
...annotations
|
|
2507
2615
|
}) : new Context(false, false, undefined, annotations);
|
|
@@ -2523,20 +2631,20 @@ const optionalKeyLastLink = /*#__PURE__*/applyToLastLink(optionalKey);
|
|
|
2523
2631
|
* @since 4.0.0
|
|
2524
2632
|
*/
|
|
2525
2633
|
export function optionalKey(ast) {
|
|
2526
|
-
const context = ast.context ? ast.context.isOptional === false ? new Context(true, ast.context.isMutable, ast.context.
|
|
2634
|
+
const context = ast.context ? ast.context.isOptional === false ? new Context(true, ast.context.isMutable, ast.context.constructorDefault, ast.context.annotations) : ast.context : new Context(true, false);
|
|
2527
2635
|
return optionalKeyLastLink(replaceContext(ast, context));
|
|
2528
2636
|
}
|
|
2529
2637
|
const mutableKeyLastLink = /*#__PURE__*/applyToLastLink(mutableKey);
|
|
2530
2638
|
/** @internal */
|
|
2531
2639
|
export function mutableKey(ast) {
|
|
2532
|
-
const context = ast.context ? ast.context.isMutable === false ? new Context(ast.context.isOptional, true, ast.context.
|
|
2640
|
+
const context = ast.context ? ast.context.isMutable === false ? new Context(ast.context.isOptional, true, ast.context.constructorDefault, ast.context.annotations) : ast.context : new Context(false, true);
|
|
2533
2641
|
return mutableKeyLastLink(replaceContext(ast, context));
|
|
2534
2642
|
}
|
|
2535
2643
|
/** @internal */
|
|
2536
2644
|
export function withConstructorDefault(ast, defaultValue) {
|
|
2537
2645
|
const transformation = new SchemaTransformation.Transformation(SchemaGetter.withDefault(defaultValue), SchemaGetter.passthrough());
|
|
2538
|
-
const
|
|
2539
|
-
const context = ast.context ? new Context(ast.context.isOptional, ast.context.isMutable,
|
|
2646
|
+
const constructorDefault = new Link(unknown, transformation);
|
|
2647
|
+
const context = ast.context ? new Context(ast.context.isOptional, ast.context.isMutable, constructorDefault, ast.context.annotations) : new Context(false, false, constructorDefault);
|
|
2540
2648
|
return replaceContext(ast, context);
|
|
2541
2649
|
}
|
|
2542
2650
|
/**
|
|
@@ -2591,12 +2699,12 @@ function parseParameter(ast) {
|
|
|
2591
2699
|
};
|
|
2592
2700
|
}
|
|
2593
2701
|
/** @internal */
|
|
2594
|
-
export function record(key, value
|
|
2702
|
+
export function record(key, value) {
|
|
2595
2703
|
const {
|
|
2596
2704
|
literals,
|
|
2597
2705
|
parameters: indexSignatures
|
|
2598
2706
|
} = parseParameter(key);
|
|
2599
|
-
return new Objects(literals.map(literal => new PropertySignature(literal, value)), indexSignatures.map(parameter => new IndexSignature(parameter, value
|
|
2707
|
+
return new Objects(literals.map(literal => new PropertySignature(literal, value)), indexSignatures.map(parameter => new IndexSignature(parameter, value)));
|
|
2600
2708
|
}
|
|
2601
2709
|
// -------------------------------------------------------------------------------------
|
|
2602
2710
|
// Public APIs
|
|
@@ -2644,12 +2752,12 @@ function extractStructuralChecks(checks) {
|
|
|
2644
2752
|
*
|
|
2645
2753
|
* **Example** (Getting the type AST)
|
|
2646
2754
|
*
|
|
2647
|
-
* ```ts
|
|
2755
|
+
* ```ts import.meta.vitest
|
|
2648
2756
|
* import { Schema, SchemaAST } from "effect"
|
|
2649
2757
|
*
|
|
2650
2758
|
* const schema = Schema.NumberFromString
|
|
2651
2759
|
* const typeAst = SchemaAST.toType(schema.ast)
|
|
2652
|
-
*
|
|
2760
|
+
* typeAst._tag // => "Number"
|
|
2653
2761
|
* ```
|
|
2654
2762
|
*
|
|
2655
2763
|
* @see {@link toEncoded}
|
|
@@ -2686,12 +2794,12 @@ export const toType = /*#__PURE__*/memoize(ast => {
|
|
|
2686
2794
|
*
|
|
2687
2795
|
* **Example** (Getting the encoded AST)
|
|
2688
2796
|
*
|
|
2689
|
-
* ```ts
|
|
2797
|
+
* ```ts import.meta.vitest
|
|
2690
2798
|
* import { Schema, SchemaAST } from "effect"
|
|
2691
2799
|
*
|
|
2692
2800
|
* const schema = Schema.NumberFromString
|
|
2693
2801
|
* const encodedAst = SchemaAST.toEncoded(schema.ast)
|
|
2694
|
-
*
|
|
2802
|
+
* encodedAst._tag // => "String"
|
|
2695
2803
|
* ```
|
|
2696
2804
|
*
|
|
2697
2805
|
* @see {@link toType}
|
|
@@ -2753,46 +2861,32 @@ export function containsUndefined(ast) {
|
|
|
2753
2861
|
}
|
|
2754
2862
|
}
|
|
2755
2863
|
function fromConst(ast, value) {
|
|
2756
|
-
const succeed =
|
|
2757
|
-
return
|
|
2758
|
-
if (
|
|
2759
|
-
|
|
2760
|
-
}
|
|
2761
|
-
return oinput.value === value ? succeed : Effect.fail(new SchemaIssue.InvalidType(ast, oinput));
|
|
2864
|
+
const succeed = InternalParser.succeed(value);
|
|
2865
|
+
return input => {
|
|
2866
|
+
if (input === InternalParser.missing) return InternalParser.missingExit;
|
|
2867
|
+
return input === value ? succeed : Effect.fail(new SchemaIssue.InvalidType(ast));
|
|
2762
2868
|
};
|
|
2763
2869
|
}
|
|
2764
|
-
function fromAnyToConst(value) {
|
|
2765
|
-
const succeed = Effect.succeedSome(value);
|
|
2766
|
-
return oinput => oinput._tag === "None" ? Effect.succeedNone : succeed;
|
|
2767
|
-
}
|
|
2768
2870
|
function fromRefinement(ast, refinement) {
|
|
2769
|
-
return
|
|
2770
|
-
if (
|
|
2771
|
-
|
|
2772
|
-
}
|
|
2773
|
-
return refinement(oinput.value) ? Effect.succeed(oinput) : Effect.fail(new SchemaIssue.InvalidType(ast, oinput));
|
|
2871
|
+
return input => {
|
|
2872
|
+
if (input === InternalParser.missing) return InternalParser.missingExit;
|
|
2873
|
+
return refinement(input) ? InternalParser.sameExit : Effect.fail(new SchemaIssue.InvalidType(ast));
|
|
2774
2874
|
};
|
|
2775
2875
|
}
|
|
2776
|
-
function
|
|
2777
|
-
|
|
2778
|
-
const
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
if (
|
|
2785
|
-
const minimumLengths = new Array(parts.length + 1);
|
|
2786
|
-
minimumLengths[parts.length] = 0;
|
|
2787
|
-
for (let i = parts.length - 1; i >= 0; i--) {
|
|
2788
|
-
minimumLengths[i] = minimumLengths[i + 1] + (literals[i]?.length ?? 0);
|
|
2789
|
-
}
|
|
2790
|
-
if (minimumLengths[0] > input.length) return undefined;
|
|
2876
|
+
function segmentTemplateLiteralParts(ast, input, options) {
|
|
2877
|
+
const parts = ast.encodedParts;
|
|
2878
|
+
const literals = ast.literals;
|
|
2879
|
+
const inputLength = input.length;
|
|
2880
|
+
for (let i = 0; i < literals.length; i++) {
|
|
2881
|
+
const literal = literals[i];
|
|
2882
|
+
if (literal && !input.includes(literal)) return undefined;
|
|
2883
|
+
}
|
|
2884
|
+
if (ast.suffixLengths[0] > inputLength) return undefined;
|
|
2791
2885
|
const out = new Array(parts.length);
|
|
2792
|
-
|
|
2886
|
+
let failures;
|
|
2793
2887
|
function go(i, pos) {
|
|
2794
|
-
if (i === parts.length) return pos ===
|
|
2795
|
-
if (failures
|
|
2888
|
+
if (i === parts.length) return pos === inputLength;
|
|
2889
|
+
if (failures?.has(i * (inputLength + 1) + pos)) return false;
|
|
2796
2890
|
const part = parts[i];
|
|
2797
2891
|
if (i === parts.length - 1) {
|
|
2798
2892
|
const s = input.slice(pos);
|
|
@@ -2807,7 +2901,7 @@ function segmentTemplateLiteralParts(parts, input, options) {
|
|
|
2807
2901
|
return true;
|
|
2808
2902
|
}
|
|
2809
2903
|
} else {
|
|
2810
|
-
const maximumEnd =
|
|
2904
|
+
const maximumEnd = inputLength - ast.suffixLengths[i + 1];
|
|
2811
2905
|
// Splits preceding a literal only need to consider occurrences of that literal.
|
|
2812
2906
|
const anchor = literals[i + 1];
|
|
2813
2907
|
let end = anchor === undefined ? maximumEnd : input.lastIndexOf(anchor, maximumEnd);
|
|
@@ -2821,7 +2915,8 @@ function segmentTemplateLiteralParts(parts, input, options) {
|
|
|
2821
2915
|
end = anchor === undefined ? end - 1 : input.lastIndexOf(anchor, end - 1);
|
|
2822
2916
|
}
|
|
2823
2917
|
}
|
|
2824
|
-
failures
|
|
2918
|
+
failures ??= new Set();
|
|
2919
|
+
failures.add(i * (inputLength + 1) + pos);
|
|
2825
2920
|
return false;
|
|
2826
2921
|
}
|
|
2827
2922
|
return go(0, 0) ? out : undefined;
|
|
@@ -2926,7 +3021,7 @@ const symbolToString = /*#__PURE__*/new Link(symbolString, /*#__PURE__*/new Sche
|
|
|
2926
3021
|
if (key !== undefined) {
|
|
2927
3022
|
return Effect.succeed(globalThis.String(sym));
|
|
2928
3023
|
}
|
|
2929
|
-
return Effect.fail(new SchemaIssue.Forbidden(
|
|
3024
|
+
return Effect.fail(new SchemaIssue.Forbidden({
|
|
2930
3025
|
message: "cannot serialize to string, Symbol is not registered"
|
|
2931
3026
|
}));
|
|
2932
3027
|
})));
|
|
@@ -2949,32 +3044,40 @@ export function collectIssues(checks, value, issues, ast, options) {
|
|
|
2949
3044
|
for (let i = 0; i < checks.length; i++) {
|
|
2950
3045
|
const check = checks[i];
|
|
2951
3046
|
if (check._tag === "FilterGroup") {
|
|
2952
|
-
collectIssues(check.checks, value, issues, ast, options);
|
|
3047
|
+
issues = collectIssues(check.checks, value, issues, ast, options);
|
|
3048
|
+
if (issues && (options.errors !== "all" || issues[issues.length - 1].filter.aborted)) {
|
|
3049
|
+
return issues;
|
|
3050
|
+
}
|
|
2953
3051
|
} else {
|
|
2954
3052
|
const issue = check.run(value, ast, options);
|
|
2955
3053
|
if (issue) {
|
|
2956
|
-
|
|
2957
|
-
if (
|
|
2958
|
-
|
|
3054
|
+
const filter = new SchemaIssue.Filter(check, issue);
|
|
3055
|
+
if (issues) issues.push(filter);else issues = [filter];
|
|
3056
|
+
if (options.errors !== "all" || check.aborted) {
|
|
3057
|
+
return issues;
|
|
2959
3058
|
}
|
|
2960
3059
|
}
|
|
2961
3060
|
}
|
|
2962
3061
|
}
|
|
3062
|
+
return issues;
|
|
2963
3063
|
}
|
|
2964
3064
|
/** @internal */
|
|
2965
3065
|
export function runChecks(checks, s) {
|
|
2966
|
-
const issues =
|
|
2967
|
-
collectIssues(checks, s, issues, unknown, {
|
|
3066
|
+
const issues = collectIssues(checks, s, undefined, unknown, {
|
|
2968
3067
|
errors: "all"
|
|
2969
3068
|
});
|
|
2970
|
-
if (
|
|
2971
|
-
const issue = new SchemaIssue.Composite(unknown,
|
|
3069
|
+
if (issues) {
|
|
3070
|
+
const issue = new SchemaIssue.Composite(unknown, issues);
|
|
2972
3071
|
return Result.fail(issue);
|
|
2973
3072
|
}
|
|
2974
3073
|
return Result.succeed(s);
|
|
2975
3074
|
}
|
|
2976
3075
|
/** @internal */
|
|
2977
|
-
export
|
|
3076
|
+
export function getConstructorDescriptor(ast) {
|
|
3077
|
+
if (!isDeclaration(ast)) return undefined;
|
|
3078
|
+
const getDescriptor = ast.annotations?.[InternalAnnotations.CONSTRUCTOR_ANNOTATION_KEY];
|
|
3079
|
+
return Predicate.isFunction(getDescriptor) ? getDescriptor(ast.typeParameters) : undefined;
|
|
3080
|
+
}
|
|
2978
3081
|
/**
|
|
2979
3082
|
* Returns all annotations from the AST node.
|
|
2980
3083
|
*
|
|
@@ -2986,12 +3089,12 @@ export const ClassTypeId = "~effect/Schema/Class";
|
|
|
2986
3089
|
*
|
|
2987
3090
|
* **Example** (Reading annotations)
|
|
2988
3091
|
*
|
|
2989
|
-
* ```ts
|
|
3092
|
+
* ```ts import.meta.vitest
|
|
2990
3093
|
* import { Schema, SchemaAST } from "effect"
|
|
2991
3094
|
*
|
|
2992
3095
|
* const schema = Schema.String.annotate({ title: "Name" })
|
|
2993
3096
|
* const annotations = SchemaAST.resolve(schema.ast)
|
|
2994
|
-
*
|
|
3097
|
+
* annotations?.title // => "Name"
|
|
2995
3098
|
* ```
|
|
2996
3099
|
*
|
|
2997
3100
|
* @see {@link resolveAt}
|
|
@@ -3122,7 +3225,7 @@ export function isJson(u) {
|
|
|
3122
3225
|
return isTree(u, isJsonLeaf);
|
|
3123
3226
|
}
|
|
3124
3227
|
/** @internal */
|
|
3125
|
-
export const Json = /*#__PURE__*/new Declaration([], () => (input, ast) => isJson(input) ?
|
|
3228
|
+
export const Json = /*#__PURE__*/new Declaration([], () => (input, ast) => isJson(input) ? InternalParser.sameExit : Effect.fail(new SchemaIssue.InvalidType(ast)), {
|
|
3126
3229
|
representation: {
|
|
3127
3230
|
id: "effect/schema/Json",
|
|
3128
3231
|
payload: null
|
|
@@ -3142,7 +3245,7 @@ export const MutableJson = /*#__PURE__*/annotate(Json, {
|
|
|
3142
3245
|
/** @internal */
|
|
3143
3246
|
export const unknownToJson = /*#__PURE__*/new Link(Json, /*#__PURE__*/SchemaTransformation.passthrough());
|
|
3144
3247
|
/** @internal */
|
|
3145
|
-
export const objectKeywordToJson = /*#__PURE__*/new Link(/*#__PURE__*/new Union([/*#__PURE__*/new Arrays(false, [], [Json]), /*#__PURE__*/new Objects([], [/*#__PURE__*/new IndexSignature(string, Json
|
|
3248
|
+
export const objectKeywordToJson = /*#__PURE__*/new Link(/*#__PURE__*/new Union([/*#__PURE__*/new Arrays(false, [], [Json]), /*#__PURE__*/new Objects([], [/*#__PURE__*/new IndexSignature(string, Json)])], "anyOf"), /*#__PURE__*/SchemaTransformation.passthrough());
|
|
3146
3249
|
/**
|
|
3147
3250
|
* Returns true if the value is a StringTree value.
|
|
3148
3251
|
*
|
|
@@ -3153,7 +3256,7 @@ export const objectKeywordToJson = /*#__PURE__*/new Link(/*#__PURE__*/new Union(
|
|
|
3153
3256
|
export function isStringTree(u) {
|
|
3154
3257
|
return isTree(u, isStringTreeLeaf);
|
|
3155
3258
|
}
|
|
3156
|
-
const StringTree = /*#__PURE__*/new Declaration([], () => (input, ast) => isStringTree(input) ?
|
|
3259
|
+
const StringTree = /*#__PURE__*/new Declaration([], () => (input, ast) => isStringTree(input) ? InternalParser.sameExit : Effect.fail(new SchemaIssue.InvalidType(ast)), {
|
|
3157
3260
|
expected: "StringTree",
|
|
3158
3261
|
toCodecStringTree: () => undefined
|
|
3159
3262
|
});
|