effect 4.0.0-beta.102 → 4.0.0-beta.103
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 +166 -101
- 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 +729 -768
- 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 +336 -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 +115 -80
- 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 +151 -274
- 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 +9 -10
- 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 +132 -186
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +2841 -3247
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1322 -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 +29 -21
- 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 +13 -55
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +7 -28
- 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 +85 -59
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +153 -264
- 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 +76 -145
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +40 -57
- 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 +228 -306
- 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 +195 -175
- 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 +290 -1636
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +162 -803
- 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 +644 -642
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +491 -527
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +27 -50
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +366 -279
- 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 +123 -75
- 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.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 +117 -107
- 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 +2415 -2949
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +1078 -1381
- 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.map +1 -1
- package/dist/Take.js.map +1 -1
- package/dist/Terminal.d.ts +2 -2
- package/dist/Terminal.js +1 -1
- 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 +92 -127
- 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 +97 -66
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +67 -45
- 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 +4 -0
- 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.map +1 -1
- 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.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.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.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 +13 -9
- 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 +50 -18
- 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 +29 -29
- 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 +94 -117
- 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 +55 -51
- 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 +104 -64
- 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 +141 -75
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +58 -50
- 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 +694 -241
- 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 +112 -38
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +53 -17
- 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 +69 -76
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +57 -61
- 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 +705 -107
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +238 -42
- 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 +292 -78
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +128 -46
- 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 +344 -136
- 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 +23 -14
- 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.map +1 -1
- package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
- package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
- 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.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 +2 -2
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- 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.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 +5 -1
- 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.js +5 -5
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +4 -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 +16 -16
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +2 -2
- package/dist/unstable/cluster/RunnerStorage.js +1 -1
- 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 +3 -2
- 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 +5 -5
- 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.map +1 -1
- 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.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/Msgpack.d.ts.map +1 -1
- package/dist/unstable/encoding/Msgpack.js +6 -8
- package/dist/unstable/encoding/Msgpack.js.map +1 -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 +58 -8
- package/dist/unstable/encoding/Sse.js.map +1 -1
- 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 +15 -15
- package/dist/unstable/eventlog/EventJournal.js +13 -13
- 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 +1 -1
- 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 +14 -6
- 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.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/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.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +2 -0
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
- package/dist/unstable/http/HttpClientResponse.js +2 -2
- 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 +32 -0
- 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.js +4 -4
- 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 +10 -0
- 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 +6 -6
- package/dist/unstable/http/Multipart.js +5 -5
- package/dist/unstable/http/Multipart.js.map +1 -1
- 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.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/preResponseHandler.js.map +1 -1
- 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 +10 -11
- 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 +11 -13
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +42 -42
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
- package/dist/unstable/httpapi/HttpApiError.js +13 -13
- 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 +6 -6
- package/dist/unstable/httpapi/HttpApiSchema.js +4 -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 +13 -13
- package/dist/unstable/httpapi/OpenApi.js +13 -13
- 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 +12 -14
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +17 -4
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- 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.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.js +6 -6
- 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 +91 -15
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +26 -15
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +24 -13
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +2 -2
- package/dist/unstable/persistence/Redis.js +1 -1
- 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 +12 -12
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +12 -11
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- 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 +175 -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 +52 -50
- 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 +5 -5
- package/dist/unstable/schema/VariantSchema.js +2 -2
- 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 +9 -4
- 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 +2 -2
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- 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 +2 -2
- 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.js +15 -15
- 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 +6 -6
- 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 +1 -1
- 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 +5 -6
- 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 +409 -255
- package/src/Cause.ts +167 -277
- package/src/Channel.ts +891 -816
- 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 +615 -332
- package/src/ConfigProvider.ts +214 -120
- package/src/Console.ts +289 -39
- package/src/Context.ts +319 -378
- package/src/Cron.ts +68 -77
- package/src/Crypto.ts +13 -15
- package/src/Data.ts +60 -80
- package/src/DateTime.ts +564 -660
- package/src/Deferred.ts +253 -256
- package/src/Duration.ts +216 -308
- package/src/Effect.ts +2893 -3279
- package/src/Encoding.ts +22 -40
- package/src/Equal.ts +49 -39
- package/src/Equivalence.ts +103 -105
- package/src/ErrorReporter.ts +51 -27
- package/src/ExecutionPlan.ts +13 -55
- 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 +124 -82
- package/src/FileSystem.ts +155 -263
- package/src/Filter.ts +61 -33
- package/src/Formatter.ts +54 -56
- package/src/Function.ts +76 -145
- 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 +620 -786
- 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 +359 -260
- 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 +308 -1734
- package/src/Scheduler.ts +20 -7
- package/src/Schema.ts +716 -745
- package/src/SchemaAST.ts +466 -358
- package/src/SchemaError.ts +7 -6
- package/src/SchemaGetter.ts +242 -190
- package/src/SchemaIssue.ts +89 -275
- package/src/SchemaParser.ts +180 -93
- package/src/SchemaRepresentation.ts +22 -40
- package/src/SchemaTransformation.ts +129 -88
- package/src/Scope.ts +123 -151
- package/src/ScopedRef.ts +4 -4
- package/src/Semaphore.ts +152 -51
- package/src/Sink.ts +128 -113
- package/src/Stdio.ts +1 -1
- package/src/Stream.ts +2602 -3123
- 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/Terminal.ts +2 -2
- package/src/Tracer.ts +102 -55
- package/src/Trie.ts +287 -679
- package/src/Tuple.ts +92 -127
- 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 +97 -66
- 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 +6 -0
- package/src/internal/effect.ts +93 -48
- package/src/internal/persistence.ts +2 -0
- package/src/internal/references.ts +3 -2
- 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/toJsonSchemaDocument.ts +60 -6
- package/src/internal/schema/toRepresentation.ts +104 -119
- package/src/internal/trie.ts +10 -11
- package/src/testing/FastCheck.ts +8 -7
- package/src/testing/TestClock.ts +72 -30
- package/src/testing/TestConsole.ts +32 -31
- package/src/testing/TestSchema.ts +29 -29
- package/src/unstable/ai/AiError.ts +95 -118
- package/src/unstable/ai/AnthropicStructuredOutput.ts +1 -1
- package/src/unstable/ai/Chat.ts +132 -97
- package/src/unstable/ai/IdGenerator.ts +32 -28
- package/src/unstable/ai/LanguageModel.ts +107 -67
- package/src/unstable/ai/McpProtocol.ts +48 -0
- package/src/unstable/ai/McpSchema.ts +60 -50
- package/src/unstable/ai/McpServer.ts +930 -304
- package/src/unstable/ai/Model.ts +9 -20
- package/src/unstable/ai/OpenAiStructuredOutput.ts +1 -1
- package/src/unstable/ai/Prompt.ts +145 -43
- 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 +69 -76
- package/src/unstable/cli/CliOutput.ts +44 -58
- package/src/unstable/cli/Command.ts +705 -107
- 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 +292 -78
- package/src/unstable/cli/Primitive.ts +370 -149
- package/src/unstable/cli/Prompt.ts +28 -14
- package/src/unstable/cli/internal/lexer.ts +8 -2
- package/src/unstable/cli/internal/parser.ts +2 -2
- package/src/unstable/cluster/ClusterSchema.ts +8 -8
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -1
- 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 +15 -15
- package/src/unstable/cluster/Reply.ts +4 -6
- package/src/unstable/cluster/RunnerHealth.ts +1 -1
- package/src/unstable/cluster/RunnerServer.ts +41 -8
- package/src/unstable/cluster/RunnerStorage.ts +2 -2
- package/src/unstable/cluster/Runners.ts +23 -12
- package/src/unstable/cluster/Sharding.ts +7 -8
- 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 +11 -15
- package/src/unstable/encoding/Msgpack.ts +6 -8
- package/src/unstable/encoding/Sse.ts +98 -16
- package/src/unstable/eventlog/Event.ts +20 -20
- package/src/unstable/eventlog/EventGroup.ts +4 -4
- package/src/unstable/eventlog/EventJournal.ts +15 -15
- package/src/unstable/eventlog/EventLog.ts +3 -3
- package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
- package/src/unstable/eventlog/EventLogMessage.ts +2 -2
- 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 +14 -6
- package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
- 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/Headers.ts +2 -2
- package/src/unstable/http/HttpBody.ts +20 -5
- package/src/unstable/http/HttpClient.ts +83 -55
- package/src/unstable/http/HttpClientRequest.ts +2 -0
- package/src/unstable/http/HttpClientResponse.ts +4 -4
- 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 +95 -0
- 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 +4 -4
- package/src/unstable/http/HttpServerResponse.ts +30 -0
- package/src/unstable/http/HttpStaticServer.ts +35 -7
- package/src/unstable/http/Multipart.ts +6 -6
- package/src/unstable/http/Url.ts +33 -63
- package/src/unstable/http/UrlParams.ts +10 -18
- package/src/unstable/http/internal/compression.ts +196 -0
- package/src/unstable/httpapi/HttpApiBuilder.ts +10 -9
- package/src/unstable/httpapi/HttpApiClient.ts +14 -14
- package/src/unstable/httpapi/HttpApiEndpoint.ts +42 -42
- package/src/unstable/httpapi/HttpApiError.ts +13 -13
- 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 +6 -6
- package/src/unstable/httpapi/OpenApi.ts +13 -13
- package/src/unstable/observability/OtlpExporter.ts +31 -19
- package/src/unstable/observability/OtlpMetrics.ts +4 -1
- package/src/unstable/observability/OtlpResource.ts +26 -17
- 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 +6 -6
- package/src/unstable/persistence/Persistence.ts +126 -19
- package/src/unstable/persistence/RateLimiter.ts +26 -15
- package/src/unstable/persistence/Redis.ts +2 -2
- 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 +16 -15
- 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 +5 -5
- package/src/unstable/socket/Socket.ts +17 -4
- package/src/unstable/sql/SqlClient.ts +5 -6
- package/src/unstable/sql/SqlModel.ts +2 -2
- package/src/unstable/sql/SqlResolver.ts +5 -5
- package/src/unstable/sql/Statement.ts +24 -23
- package/src/unstable/workers/Transferable.ts +1 -1
- package/src/unstable/workers/Worker.ts +2 -2
- package/src/unstable/workers/WorkerError.ts +7 -7
- 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 +1 -1
- 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/src/internal/version.ts +0 -2
package/dist/JsonSchema.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Helpers for normalizing and converting JSON Schema and OpenAPI schema
|
|
3
3
|
* documents. Supported inputs include JSON Schema Draft-07, Draft 2020-12,
|
|
4
4
|
* OpenAPI 3.0, and OpenAPI 3.1; conversions normalize through
|
|
5
|
-
* `Document<"draft-2020-12">` before emitting another dialect
|
|
6
|
-
* defines document types, meta-schema
|
|
7
|
-
* and `$ref` resolution utilities.
|
|
5
|
+
* `Document<"draft-2020-12">` before emitting another dialect, including
|
|
6
|
+
* JSON Schema Draft-04. The module also defines document types, meta-schema
|
|
7
|
+
* constants, OpenAPI component-key helpers, and `$ref` resolution utilities.
|
|
8
8
|
*
|
|
9
9
|
* @since 4.0.0
|
|
10
10
|
*/
|
|
@@ -13,6 +13,19 @@ import * as InternalRecord from "./internal/record.js";
|
|
|
13
13
|
import { unescapeToken } from "./JsonPointer.js";
|
|
14
14
|
import * as Predicate from "./Predicate.js";
|
|
15
15
|
import * as Rec from "./Record.js";
|
|
16
|
+
/**
|
|
17
|
+
* Represents the `$schema` meta-schema URI for JSON Schema Draft-04.
|
|
18
|
+
*
|
|
19
|
+
* **When to use**
|
|
20
|
+
*
|
|
21
|
+
* Use when constructing a Draft-04 JSON Schema document and you need a stable
|
|
22
|
+
* value for the root `$schema` field.
|
|
23
|
+
*
|
|
24
|
+
* @see {@link META_SCHEMA_URI_DRAFT_07} for the Draft-07 `$schema` URI
|
|
25
|
+
* @category constants
|
|
26
|
+
* @since 4.0.0
|
|
27
|
+
*/
|
|
28
|
+
export const META_SCHEMA_URI_DRAFT_04 = "http://json-schema.org/draft-04/schema#";
|
|
16
29
|
/**
|
|
17
30
|
* Represents the `$schema` meta-schema URI for JSON Schema Draft-07.
|
|
18
31
|
*
|
|
@@ -24,14 +37,15 @@ import * as Rec from "./Record.js";
|
|
|
24
37
|
* **Details**
|
|
25
38
|
*
|
|
26
39
|
* The exported value is the literal string
|
|
27
|
-
* `http://json-schema.org/draft-07/schema
|
|
40
|
+
* `http://json-schema.org/draft-07/schema#`.
|
|
28
41
|
*
|
|
42
|
+
* @see {@link META_SCHEMA_URI_DRAFT_04} for the Draft-04 `$schema` URI
|
|
29
43
|
* @see {@link META_SCHEMA_URI_DRAFT_2020_12} for the Draft 2020-12 `$schema` URI
|
|
30
44
|
*
|
|
31
45
|
* @category constants
|
|
32
46
|
* @since 4.0.0
|
|
33
47
|
*/
|
|
34
|
-
export const META_SCHEMA_URI_DRAFT_07 = "http://json-schema.org/draft-07/schema";
|
|
48
|
+
export const META_SCHEMA_URI_DRAFT_07 = "http://json-schema.org/draft-07/schema#";
|
|
35
49
|
/**
|
|
36
50
|
* Represents the `$schema` meta-schema URI for JSON Schema Draft 2020-12.
|
|
37
51
|
*
|
|
@@ -54,6 +68,15 @@ export const META_SCHEMA_URI_DRAFT_2020_12 = "https://json-schema.org/draft/2020
|
|
|
54
68
|
const RE_DEFINITIONS = /^#\/definitions(?=\/|$)/;
|
|
55
69
|
const RE_DEFS = /^#\/\$defs(?=\/|$)/;
|
|
56
70
|
const RE_COMPONENTS_SCHEMAS = /^#\/components\/schemas(?=\/|$)/;
|
|
71
|
+
const DRAFT_04_COPY_KEYWORDS = /*#__PURE__*/new Set(["$ref", "type", "required", "enum", "title", "description", "default", "format", "pattern", "minLength", "maxLength", "minItems", "maxItems", "minProperties", "maxProperties", "multipleOf", "uniqueItems"]);
|
|
72
|
+
const DRAFT_07_COPY_KEYWORDS = /*#__PURE__*/new Set([...DRAFT_04_COPY_KEYWORDS, "const", "examples", "readOnly", "writeOnly", "minimum", "maximum", "exclusiveMinimum", "exclusiveMaximum"]);
|
|
73
|
+
const DRAFT_04_SINGLE_SUBSCHEMA_KEYWORDS = /*#__PURE__*/new Set(["not"]);
|
|
74
|
+
const DRAFT_07_SINGLE_SUBSCHEMA_KEYWORDS = /*#__PURE__*/new Set(["not", "additionalProperties", "propertyNames"]);
|
|
75
|
+
const MAP_SUBSCHEMA_KEYWORDS = /*#__PURE__*/new Set(["properties", "patternProperties"]);
|
|
76
|
+
const ARRAY_SUBSCHEMA_KEYWORDS = /*#__PURE__*/new Set(["allOf", "anyOf", "oneOf"]);
|
|
77
|
+
const DRAFT_2020_12_MAP_SUBSCHEMA_KEYWORDS = /*#__PURE__*/new Set(["$defs", ...MAP_SUBSCHEMA_KEYWORDS, "dependentSchemas"]);
|
|
78
|
+
const DRAFT_2020_12_ARRAY_SUBSCHEMA_KEYWORDS = /*#__PURE__*/new Set([...ARRAY_SUBSCHEMA_KEYWORDS, "prefixItems"]);
|
|
79
|
+
const DRAFT_2020_12_SINGLE_SUBSCHEMA_KEYWORDS = /*#__PURE__*/new Set([...DRAFT_07_SINGLE_SUBSCHEMA_KEYWORDS, "unevaluatedProperties", "items", "contains", "unevaluatedItems", "if", "then", "else", "contentSchema"]);
|
|
57
80
|
/**
|
|
58
81
|
* Parses a raw Draft-07 JSON Schema into a `Document<"draft-2020-12">`.
|
|
59
82
|
*
|
|
@@ -75,7 +98,7 @@ const RE_COMPONENTS_SCHEMAS = /^#\/components\/schemas(?=\/|$)/;
|
|
|
75
98
|
*
|
|
76
99
|
* **Example** (Parsing a Draft-07 schema)
|
|
77
100
|
*
|
|
78
|
-
* ```ts
|
|
101
|
+
* ```ts import.meta.vitest
|
|
79
102
|
* import { JsonSchema } from "effect"
|
|
80
103
|
*
|
|
81
104
|
* const raw: JsonSchema.JsonSchema = {
|
|
@@ -89,8 +112,8 @@ const RE_COMPONENTS_SCHEMAS = /^#\/components\/schemas(?=\/|$)/;
|
|
|
89
112
|
* }
|
|
90
113
|
*
|
|
91
114
|
* const doc = JsonSchema.fromSchemaDraft07(raw)
|
|
92
|
-
*
|
|
93
|
-
*
|
|
115
|
+
* doc.dialect // => "draft-2020-12"
|
|
116
|
+
* doc.schema.properties // => { tags: { type: "array", items: { type: "string" } } }
|
|
94
117
|
* ```
|
|
95
118
|
*
|
|
96
119
|
* @see {@link fromSchemaDraft2020_12}
|
|
@@ -108,20 +131,26 @@ export function fromSchemaDraft07(js) {
|
|
|
108
131
|
definitions: definitions ?? {}
|
|
109
132
|
};
|
|
110
133
|
function walk(node, isRoot) {
|
|
111
|
-
if (Array.isArray(node)) return node.map(
|
|
134
|
+
if (Array.isArray(node)) return node.map(walkNested);
|
|
112
135
|
if (!Predicate.isObject(node)) return node;
|
|
113
136
|
const out = {};
|
|
114
137
|
let prefixItems = undefined;
|
|
115
138
|
let additionalItems = undefined;
|
|
116
139
|
for (const k of Object.keys(node)) {
|
|
117
140
|
const v = node[k];
|
|
141
|
+
if (k === "$ref") {
|
|
142
|
+
out.$ref = typeof v === "string" ? v.replace(RE_DEFINITIONS, "#/$defs") : v;
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
if (DRAFT_07_COPY_KEYWORDS.has(k)) {
|
|
146
|
+
out[k] = v;
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
if (rewriteSubschemaKeyword(out, k, v, walkNested, DRAFT_07_SINGLE_SUBSCHEMA_KEYWORDS)) continue;
|
|
118
150
|
switch (k) {
|
|
119
|
-
case "$ref":
|
|
120
|
-
out.$ref = typeof v === "string" ? v.replace(RE_DEFINITIONS, "#/$defs") : v;
|
|
121
|
-
break;
|
|
122
151
|
case "definitions":
|
|
123
152
|
{
|
|
124
|
-
const mapped =
|
|
153
|
+
const mapped = mapObject(v, walkNested);
|
|
125
154
|
if (isRoot) {
|
|
126
155
|
definitions = mapped;
|
|
127
156
|
} else {
|
|
@@ -135,48 +164,6 @@ export function fromSchemaDraft07(js) {
|
|
|
135
164
|
case "additionalItems":
|
|
136
165
|
additionalItems = v;
|
|
137
166
|
break;
|
|
138
|
-
case "properties":
|
|
139
|
-
case "patternProperties":
|
|
140
|
-
{
|
|
141
|
-
const mapped = walk_object(v, walk);
|
|
142
|
-
out[k] = mapped ?? v;
|
|
143
|
-
break;
|
|
144
|
-
}
|
|
145
|
-
case "additionalProperties":
|
|
146
|
-
case "propertyNames":
|
|
147
|
-
out[k] = walk(v, false);
|
|
148
|
-
break;
|
|
149
|
-
case "allOf":
|
|
150
|
-
case "anyOf":
|
|
151
|
-
case "oneOf":
|
|
152
|
-
out[k] = Array.isArray(v) ? v.map(x => walk(x, false)) : v;
|
|
153
|
-
break;
|
|
154
|
-
case "type":
|
|
155
|
-
case "required":
|
|
156
|
-
case "enum":
|
|
157
|
-
case "const":
|
|
158
|
-
case "title":
|
|
159
|
-
case "description":
|
|
160
|
-
case "default":
|
|
161
|
-
case "examples":
|
|
162
|
-
case "format":
|
|
163
|
-
case "readOnly":
|
|
164
|
-
case "writeOnly":
|
|
165
|
-
case "pattern":
|
|
166
|
-
case "minimum":
|
|
167
|
-
case "maximum":
|
|
168
|
-
case "exclusiveMinimum":
|
|
169
|
-
case "exclusiveMaximum":
|
|
170
|
-
case "minLength":
|
|
171
|
-
case "maxLength":
|
|
172
|
-
case "minItems":
|
|
173
|
-
case "maxItems":
|
|
174
|
-
case "minProperties":
|
|
175
|
-
case "maxProperties":
|
|
176
|
-
case "multipleOf":
|
|
177
|
-
case "uniqueItems":
|
|
178
|
-
out[k] = v;
|
|
179
|
-
break;
|
|
180
167
|
default:
|
|
181
168
|
break;
|
|
182
169
|
}
|
|
@@ -184,14 +171,17 @@ export function fromSchemaDraft07(js) {
|
|
|
184
171
|
// Draft-07 tuples -> 2020-12 tuples
|
|
185
172
|
if (prefixItems !== undefined) {
|
|
186
173
|
if (Array.isArray(prefixItems)) {
|
|
187
|
-
out.prefixItems = prefixItems.map(
|
|
188
|
-
if (additionalItems !== undefined) out.items =
|
|
174
|
+
out.prefixItems = prefixItems.map(walkNested);
|
|
175
|
+
if (additionalItems !== undefined) out.items = walkNested(additionalItems);
|
|
189
176
|
} else {
|
|
190
|
-
out.items =
|
|
177
|
+
out.items = walkNested(prefixItems);
|
|
191
178
|
}
|
|
192
179
|
}
|
|
193
180
|
return out;
|
|
194
181
|
}
|
|
182
|
+
function walkNested(node) {
|
|
183
|
+
return walk(node, false);
|
|
184
|
+
}
|
|
195
185
|
}
|
|
196
186
|
/**
|
|
197
187
|
* Parses a raw Draft-2020-12 JSON Schema into a `Document<"draft-2020-12">`.
|
|
@@ -207,7 +197,7 @@ export function fromSchemaDraft07(js) {
|
|
|
207
197
|
*
|
|
208
198
|
* **Example** (Parsing a Draft-2020-12 schema)
|
|
209
199
|
*
|
|
210
|
-
* ```ts
|
|
200
|
+
* ```ts import.meta.vitest
|
|
211
201
|
* import { JsonSchema } from "effect"
|
|
212
202
|
*
|
|
213
203
|
* const raw: JsonSchema.JsonSchema = {
|
|
@@ -217,8 +207,8 @@ export function fromSchemaDraft07(js) {
|
|
|
217
207
|
* }
|
|
218
208
|
*
|
|
219
209
|
* const doc = JsonSchema.fromSchemaDraft2020_12(raw)
|
|
220
|
-
*
|
|
221
|
-
*
|
|
210
|
+
* doc.schema // => { type: "number", minimum: 0 }
|
|
211
|
+
* doc.definitions // => { PositiveInt: { type: "integer", minimum: 1 } }
|
|
222
212
|
* ```
|
|
223
213
|
*
|
|
224
214
|
* @see {@link fromSchemaDraft07}
|
|
@@ -252,7 +242,7 @@ export function fromSchemaDraft2020_12(js) {
|
|
|
252
242
|
*
|
|
253
243
|
* **Example** (Parsing an OpenAPI 3.1 schema)
|
|
254
244
|
*
|
|
255
|
-
* ```ts
|
|
245
|
+
* ```ts import.meta.vitest
|
|
256
246
|
* import { JsonSchema } from "effect"
|
|
257
247
|
*
|
|
258
248
|
* const raw: JsonSchema.JsonSchema = {
|
|
@@ -263,8 +253,7 @@ export function fromSchemaDraft2020_12(js) {
|
|
|
263
253
|
* }
|
|
264
254
|
*
|
|
265
255
|
* const doc = JsonSchema.fromSchemaOpenApi3_1(raw)
|
|
266
|
-
* // $ref
|
|
267
|
-
* console.log(doc.schema.properties) // { user: { $ref: "#/$defs/User" } }
|
|
256
|
+
* doc.schema.properties // => { user: { $ref: "#/$defs/User" } }
|
|
268
257
|
* ```
|
|
269
258
|
*
|
|
270
259
|
* @see {@link fromSchemaOpenApi3_0}
|
|
@@ -273,7 +262,7 @@ export function fromSchemaDraft2020_12(js) {
|
|
|
273
262
|
* @since 4.0.0
|
|
274
263
|
*/
|
|
275
264
|
export function fromSchemaOpenApi3_1(js) {
|
|
276
|
-
const schema =
|
|
265
|
+
const schema = transformSchema(js, schema => rewriteSchemaRef(schema, ref => ref.replace(RE_COMPONENTS_SCHEMAS, "#/$defs")));
|
|
277
266
|
return fromSchemaDraft2020_12(schema);
|
|
278
267
|
}
|
|
279
268
|
/**
|
|
@@ -293,7 +282,7 @@ export function fromSchemaOpenApi3_1(js) {
|
|
|
293
282
|
*
|
|
294
283
|
* **Example** (Parsing an OpenAPI 3.0 nullable schema)
|
|
295
284
|
*
|
|
296
|
-
* ```ts
|
|
285
|
+
* ```ts import.meta.vitest
|
|
297
286
|
* import { JsonSchema } from "effect"
|
|
298
287
|
*
|
|
299
288
|
* const raw: JsonSchema.JsonSchema = {
|
|
@@ -302,8 +291,7 @@ export function fromSchemaOpenApi3_1(js) {
|
|
|
302
291
|
* }
|
|
303
292
|
*
|
|
304
293
|
* const doc = JsonSchema.fromSchemaOpenApi3_0(raw)
|
|
305
|
-
* //
|
|
306
|
-
* console.log(doc.schema.type) // ["string", "null"]
|
|
294
|
+
* doc.schema.type // => ["string", "null"]
|
|
307
295
|
* ```
|
|
308
296
|
*
|
|
309
297
|
* @see {@link fromSchemaOpenApi3_1}
|
|
@@ -312,7 +300,7 @@ export function fromSchemaOpenApi3_1(js) {
|
|
|
312
300
|
* @since 4.0.0
|
|
313
301
|
*/
|
|
314
302
|
export function fromSchemaOpenApi3_0(schema) {
|
|
315
|
-
const normalized =
|
|
303
|
+
const normalized = normalizeOpenApi3_0ToDraft07(schema);
|
|
316
304
|
return fromSchemaDraft07(normalized);
|
|
317
305
|
}
|
|
318
306
|
/**
|
|
@@ -336,7 +324,7 @@ export function fromSchemaOpenApi3_0(schema) {
|
|
|
336
324
|
*
|
|
337
325
|
* **Example** (Converting to Draft-07)
|
|
338
326
|
*
|
|
339
|
-
* ```ts
|
|
327
|
+
* ```ts import.meta.vitest
|
|
340
328
|
* import { JsonSchema } from "effect"
|
|
341
329
|
*
|
|
342
330
|
* const doc = JsonSchema.fromSchemaDraft2020_12({
|
|
@@ -346,12 +334,13 @@ export function fromSchemaOpenApi3_0(schema) {
|
|
|
346
334
|
* })
|
|
347
335
|
*
|
|
348
336
|
* const draft07 = JsonSchema.toDocumentDraft07(doc)
|
|
349
|
-
*
|
|
350
|
-
*
|
|
351
|
-
*
|
|
337
|
+
* draft07.dialect // => "draft-07"
|
|
338
|
+
* draft07.schema.items // => [{ type: "string" }, { type: "number" }]
|
|
339
|
+
* draft07.schema.additionalItems // => { type: "boolean" }
|
|
352
340
|
* ```
|
|
353
341
|
*
|
|
354
342
|
* @see {@link fromSchemaDraft07}
|
|
343
|
+
* @see {@link toDocumentDraft04} for converting to Draft-04
|
|
355
344
|
* @see {@link toMultiDocumentOpenApi3_1}
|
|
356
345
|
* @category encoding
|
|
357
346
|
* @since 4.0.0
|
|
@@ -363,66 +352,138 @@ export function toDocumentDraft07(document) {
|
|
|
363
352
|
definitions: Rec.map(document.definitions, toSchemaDraft07)
|
|
364
353
|
};
|
|
365
354
|
}
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
355
|
+
/**
|
|
356
|
+
* Converts a `Document<"draft-2020-12">` to a `Document<"draft-04">`.
|
|
357
|
+
*
|
|
358
|
+
* **When to use**
|
|
359
|
+
*
|
|
360
|
+
* Use when you need to output a canonical JSON Schema document in Draft-04
|
|
361
|
+
* format.
|
|
362
|
+
*
|
|
363
|
+
* **Details**
|
|
364
|
+
*
|
|
365
|
+
* This rewrites `#/$defs/...` refs to `#/definitions/...`, converts tuple
|
|
366
|
+
* syntax, lowers `const` to `enum`, converts numeric exclusive bounds to the
|
|
367
|
+
* Draft-04 boolean form, and converts both the root schema and all definitions.
|
|
368
|
+
*
|
|
369
|
+
* **Gotchas**
|
|
370
|
+
*
|
|
371
|
+
* Unsupported Draft-2020-12 and Draft-07 keywords are dropped. For example,
|
|
372
|
+
* `propertyNames` has no general Draft-04 equivalent and is omitted.
|
|
373
|
+
*
|
|
374
|
+
* **Example** (Converting exclusive bounds)
|
|
375
|
+
*
|
|
376
|
+
* ```ts import.meta.vitest
|
|
377
|
+
* import { JsonSchema } from "effect"
|
|
378
|
+
*
|
|
379
|
+
* const doc = JsonSchema.fromSchemaDraft2020_12({
|
|
380
|
+
* type: "number",
|
|
381
|
+
* exclusiveMinimum: 0
|
|
382
|
+
* })
|
|
383
|
+
*
|
|
384
|
+
* JsonSchema.toDocumentDraft04(doc).schema // => { type: "number", minimum: 0, exclusiveMinimum: true }
|
|
385
|
+
* ```
|
|
386
|
+
*
|
|
387
|
+
* @see {@link toDocumentDraft07} for converting to Draft-07
|
|
388
|
+
* @category encoding
|
|
389
|
+
* @since 4.0.0
|
|
390
|
+
*/
|
|
391
|
+
export function toDocumentDraft04(document) {
|
|
392
|
+
const draft07 = toDocumentDraft07(document);
|
|
393
|
+
return {
|
|
394
|
+
dialect: "draft-04",
|
|
395
|
+
schema: toSchemaDraft04(draft07.schema),
|
|
396
|
+
definitions: Rec.map(draft07.definitions, toSchemaDraft04)
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
function toSchemaDraft04(schema) {
|
|
400
|
+
return walk(schema);
|
|
401
|
+
function walk(node) {
|
|
402
|
+
if (node === true) return {};
|
|
403
|
+
if (node === false) return {
|
|
404
|
+
not: {}
|
|
405
|
+
};
|
|
406
|
+
if (Array.isArray(node)) return node.map(walk);
|
|
373
407
|
if (!Predicate.isObject(node)) return node;
|
|
374
408
|
const src = node;
|
|
375
409
|
const out = {};
|
|
376
|
-
let
|
|
377
|
-
let
|
|
410
|
+
let hasConst = false;
|
|
411
|
+
let constValue = undefined;
|
|
378
412
|
for (const k of Object.keys(src)) {
|
|
379
413
|
const v = src[k];
|
|
414
|
+
if (DRAFT_04_COPY_KEYWORDS.has(k)) {
|
|
415
|
+
out[k] = v;
|
|
416
|
+
continue;
|
|
417
|
+
}
|
|
418
|
+
if (rewriteSubschemaKeyword(out, k, v, walk, DRAFT_04_SINGLE_SUBSCHEMA_KEYWORDS)) continue;
|
|
380
419
|
switch (k) {
|
|
381
|
-
// We already rewrote $ref via rewrite_refs, so just copy it through.
|
|
382
|
-
case "$ref":
|
|
383
|
-
case "type":
|
|
384
|
-
case "required":
|
|
385
|
-
case "enum":
|
|
386
420
|
case "const":
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
case "examples":
|
|
391
|
-
case "format":
|
|
392
|
-
case "pattern":
|
|
421
|
+
hasConst = true;
|
|
422
|
+
constValue = v;
|
|
423
|
+
break;
|
|
393
424
|
case "minimum":
|
|
394
425
|
case "maximum":
|
|
395
426
|
case "exclusiveMinimum":
|
|
396
427
|
case "exclusiveMaximum":
|
|
397
|
-
case "minLength":
|
|
398
|
-
case "maxLength":
|
|
399
|
-
case "minItems":
|
|
400
|
-
case "maxItems":
|
|
401
|
-
case "minProperties":
|
|
402
|
-
case "maxProperties":
|
|
403
|
-
case "multipleOf":
|
|
404
|
-
case "uniqueItems":
|
|
405
|
-
out[k] = v;
|
|
406
428
|
break;
|
|
407
|
-
// Schema maps
|
|
408
|
-
case "properties":
|
|
409
|
-
case "patternProperties":
|
|
410
|
-
{
|
|
411
|
-
const mapped = walk_object(v, walk);
|
|
412
|
-
out[k] = mapped ?? v;
|
|
413
|
-
break;
|
|
414
|
-
}
|
|
415
|
-
// Single subschemas
|
|
416
429
|
case "additionalProperties":
|
|
417
|
-
case "
|
|
418
|
-
out[k] = walk(v
|
|
430
|
+
case "additionalItems":
|
|
431
|
+
out[k] = typeof v === "boolean" ? v : walk(v);
|
|
432
|
+
break;
|
|
433
|
+
case "items":
|
|
434
|
+
out.items = Array.isArray(v) ? v.map(walk) : walk(v);
|
|
419
435
|
break;
|
|
420
|
-
|
|
421
|
-
case "allOf":
|
|
422
|
-
case "anyOf":
|
|
423
|
-
case "oneOf":
|
|
424
|
-
out[k] = Array.isArray(v) ? v.map(x => walk(x, false)) : v;
|
|
436
|
+
default:
|
|
425
437
|
break;
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
convertExclusiveBound(src, out, "minimum", "exclusiveMinimum", (bound, exclusive) => bound > exclusive);
|
|
441
|
+
convertExclusiveBound(src, out, "maximum", "exclusiveMaximum", (bound, exclusive) => bound < exclusive);
|
|
442
|
+
if (hasConst) {
|
|
443
|
+
const constSchema = {
|
|
444
|
+
enum: [constValue]
|
|
445
|
+
};
|
|
446
|
+
if (Object.hasOwn(src, "enum")) {
|
|
447
|
+
out.allOf = Array.isArray(out.allOf) ? [...out.allOf, constSchema] : [constSchema];
|
|
448
|
+
} else {
|
|
449
|
+
out.enum = constSchema.enum;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
return out;
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
function convertExclusiveBound(src, out, boundKey, exclusiveKey, isBoundStricter) {
|
|
456
|
+
const bound = src[boundKey];
|
|
457
|
+
const exclusive = src[exclusiveKey];
|
|
458
|
+
if (typeof exclusive === "number") {
|
|
459
|
+
if (typeof bound === "number" && isBoundStricter(bound, exclusive)) {
|
|
460
|
+
out[boundKey] = bound;
|
|
461
|
+
} else {
|
|
462
|
+
out[boundKey] = exclusive;
|
|
463
|
+
out[exclusiveKey] = true;
|
|
464
|
+
}
|
|
465
|
+
} else if (bound !== undefined) {
|
|
466
|
+
out[boundKey] = bound;
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
function toSchemaDraft07(schema) {
|
|
470
|
+
return transformSchema(schema, src => {
|
|
471
|
+
rewriteSchemaRef(src, ref => ref.replace(RE_DEFS, "#/definitions"));
|
|
472
|
+
const out = {};
|
|
473
|
+
let prefixItems = undefined;
|
|
474
|
+
let items = undefined;
|
|
475
|
+
for (const k of Object.keys(src)) {
|
|
476
|
+
const v = src[k];
|
|
477
|
+
if (k === "required" && Array.isArray(v) && v.length === 0) continue;
|
|
478
|
+
if (DRAFT_07_COPY_KEYWORDS.has(k)) {
|
|
479
|
+
out[k] = v;
|
|
480
|
+
continue;
|
|
481
|
+
}
|
|
482
|
+
if (MAP_SUBSCHEMA_KEYWORDS.has(k) || ARRAY_SUBSCHEMA_KEYWORDS.has(k) || DRAFT_07_SINGLE_SUBSCHEMA_KEYWORDS.has(k)) {
|
|
483
|
+
out[k] = v;
|
|
484
|
+
continue;
|
|
485
|
+
}
|
|
486
|
+
switch (k) {
|
|
426
487
|
// Tuple handling (2020-12 form)
|
|
427
488
|
case "prefixItems":
|
|
428
489
|
prefixItems = v;
|
|
@@ -438,18 +499,25 @@ function toSchemaDraft07(schema) {
|
|
|
438
499
|
// 2020-12 tuples -> Draft-07 tuples
|
|
439
500
|
if (prefixItems !== undefined) {
|
|
440
501
|
if (Array.isArray(prefixItems)) {
|
|
441
|
-
out.items = prefixItems
|
|
442
|
-
if (items !== undefined) out.additionalItems =
|
|
502
|
+
out.items = prefixItems;
|
|
503
|
+
if (items !== undefined) out.additionalItems = items;
|
|
443
504
|
} else {
|
|
444
505
|
// Non-standard, but keep a reasonable behavior
|
|
445
|
-
out.items =
|
|
506
|
+
out.items = prefixItems;
|
|
446
507
|
}
|
|
447
508
|
} else if (items !== undefined) {
|
|
448
509
|
// Regular items schema stays as items
|
|
449
|
-
out.items =
|
|
510
|
+
out.items = items;
|
|
511
|
+
}
|
|
512
|
+
const $ref = out.$ref;
|
|
513
|
+
if (typeof $ref === "string" && Object.keys(out).length > 1) {
|
|
514
|
+
delete out.$ref;
|
|
515
|
+
out.allOf = [{
|
|
516
|
+
$ref
|
|
517
|
+
}, ...(Array.isArray(out.allOf) ? out.allOf : [])];
|
|
450
518
|
}
|
|
451
519
|
return out;
|
|
452
|
-
}
|
|
520
|
+
});
|
|
453
521
|
}
|
|
454
522
|
/**
|
|
455
523
|
* Converts a `MultiDocument<"draft-2020-12">` to a
|
|
@@ -462,15 +530,21 @@ function toSchemaDraft07(schema) {
|
|
|
462
530
|
*
|
|
463
531
|
* **Details**
|
|
464
532
|
*
|
|
465
|
-
* This rewrites `#/$defs/...` refs to `#/components/schemas
|
|
466
|
-
* definition keys to match the OpenAPI component key pattern
|
|
467
|
-
* (`^[a-zA-Z0-9.\-_]+$`) by replacing invalid characters with `_
|
|
468
|
-
*
|
|
469
|
-
*
|
|
533
|
+
* This rewrites local `#/$defs/...` refs to `#/components/schemas/...` and
|
|
534
|
+
* sanitizes definition keys to match the OpenAPI component key pattern
|
|
535
|
+
* (`^[a-zA-Z0-9.\-_]+$`) by replacing invalid characters with `_`. Valid keys
|
|
536
|
+
* are preserved. When sanitized keys collide, the converter appends the first
|
|
537
|
+
* available `_1`, `_2`, and subsequent suffix, with allocation independent of
|
|
538
|
+
* definition insertion order. All local refs are updated to use the allocated
|
|
539
|
+
* keys, including refs to paths within a definition.
|
|
540
|
+
*
|
|
541
|
+
* **Gotchas**
|
|
542
|
+
*
|
|
543
|
+
* External refs and local refs outside `#/$defs` are left unchanged.
|
|
470
544
|
*
|
|
471
545
|
* **Example** (Converting to OpenAPI 3.1)
|
|
472
546
|
*
|
|
473
|
-
* ```ts
|
|
547
|
+
* ```ts import.meta.vitest
|
|
474
548
|
* import { JsonSchema } from "effect"
|
|
475
549
|
*
|
|
476
550
|
* const multi: JsonSchema.MultiDocument<"draft-2020-12"> = {
|
|
@@ -482,8 +556,8 @@ function toSchemaDraft07(schema) {
|
|
|
482
556
|
* }
|
|
483
557
|
*
|
|
484
558
|
* const openapi = JsonSchema.toMultiDocumentOpenApi3_1(multi)
|
|
485
|
-
*
|
|
486
|
-
*
|
|
559
|
+
* openapi.dialect // => "openapi-3.1"
|
|
560
|
+
* openapi.schemas[0] // => { $ref: "#/components/schemas/User" }
|
|
487
561
|
* ```
|
|
488
562
|
*
|
|
489
563
|
* @see {@link toDocumentDraft07}
|
|
@@ -492,25 +566,33 @@ function toSchemaDraft07(schema) {
|
|
|
492
566
|
* @since 4.0.0
|
|
493
567
|
*/
|
|
494
568
|
export function toMultiDocumentOpenApi3_1(multiDocument) {
|
|
569
|
+
const definitionKeys = Object.keys(multiDocument.definitions);
|
|
495
570
|
const keyMap = new Map();
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
571
|
+
const usedKeys = new Set(definitionKeys.filter(key => VALID_OPEN_API_COMPONENTS_SCHEMAS_KEY_REGEXP.test(key)));
|
|
572
|
+
const invalidKeys = definitionKeys.filter(key => !VALID_OPEN_API_COMPONENTS_SCHEMAS_KEY_REGEXP.test(key)).sort().map(key => [key, sanitizeOpenApiComponentsSchemasKey(key)]);
|
|
573
|
+
for (const [key, base] of invalidKeys) {
|
|
574
|
+
if (usedKeys.has(base)) continue;
|
|
575
|
+
usedKeys.add(base);
|
|
576
|
+
keyMap.set(key, base);
|
|
577
|
+
}
|
|
578
|
+
for (const [key, base] of invalidKeys) {
|
|
579
|
+
if (keyMap.has(key)) continue;
|
|
580
|
+
let candidate;
|
|
581
|
+
let suffix = 0;
|
|
582
|
+
do candidate = `${base}_${++suffix}`; while (usedKeys.has(candidate));
|
|
583
|
+
usedKeys.add(candidate);
|
|
584
|
+
keyMap.set(key, candidate);
|
|
501
585
|
}
|
|
502
586
|
function rewrite(schema) {
|
|
503
|
-
return
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
return $ref.replace(RE_DEFS, "#/components/schemas");
|
|
513
|
-
});
|
|
587
|
+
return transformSchema(schema, schema => rewriteSchemaRef(schema, $ref => {
|
|
588
|
+
if (!$ref.startsWith("#/$defs/")) return $ref;
|
|
589
|
+
const path = $ref.slice("#/$defs/".length);
|
|
590
|
+
const separatorIndex = path.indexOf("/");
|
|
591
|
+
const token = separatorIndex === -1 ? path : path.slice(0, separatorIndex);
|
|
592
|
+
const rest = separatorIndex === -1 ? "" : path.slice(separatorIndex);
|
|
593
|
+
const key = keyMap.get(unescapeToken(token)) ?? token;
|
|
594
|
+
return `#/components/schemas/${key}${rest}`;
|
|
595
|
+
}));
|
|
514
596
|
}
|
|
515
597
|
return {
|
|
516
598
|
dialect: "openapi-3.1",
|
|
@@ -527,54 +609,55 @@ export const VALID_OPEN_API_COMPONENTS_SCHEMAS_KEY_REGEXP = /^[a-zA-Z0-9.\-_]+$/
|
|
|
527
609
|
* @internal
|
|
528
610
|
*/
|
|
529
611
|
export function sanitizeOpenApiComponentsSchemasKey(s) {
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
if (
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
} else {
|
|
549
|
-
out.push("_");
|
|
612
|
+
return s.length === 0 ? "_" : s.replace(/[^a-zA-Z0-9._-]/gu, "_");
|
|
613
|
+
}
|
|
614
|
+
function transformSchema(node, transform) {
|
|
615
|
+
return walk(node);
|
|
616
|
+
function walk(node) {
|
|
617
|
+
if (!Predicate.isObject(node) || Array.isArray(node)) return node;
|
|
618
|
+
const out = {};
|
|
619
|
+
for (const key of Object.keys(node)) {
|
|
620
|
+
const value = node[key];
|
|
621
|
+
let transformed = value;
|
|
622
|
+
if (DRAFT_2020_12_MAP_SUBSCHEMA_KEYWORDS.has(key)) {
|
|
623
|
+
transformed = Array.isArray(value) ? value : mapObject(value, walk) ?? value;
|
|
624
|
+
} else if (DRAFT_2020_12_ARRAY_SUBSCHEMA_KEYWORDS.has(key)) {
|
|
625
|
+
transformed = Array.isArray(value) ? value.map(walk) : value;
|
|
626
|
+
} else if (DRAFT_2020_12_SINGLE_SUBSCHEMA_KEYWORDS.has(key)) {
|
|
627
|
+
transformed = walk(value);
|
|
628
|
+
}
|
|
629
|
+
InternalRecord.assignProperty(out, key, transformed);
|
|
550
630
|
}
|
|
631
|
+
return transform(out);
|
|
551
632
|
}
|
|
552
|
-
return out.join("");
|
|
553
633
|
}
|
|
554
|
-
function
|
|
555
|
-
if (
|
|
556
|
-
|
|
557
|
-
const out = {};
|
|
558
|
-
for (const k of Object.keys(node)) {
|
|
559
|
-
const v = node[k];
|
|
560
|
-
if (k === "$ref") {
|
|
561
|
-
InternalRecord.assignProperty(out, k, typeof v === "string" ? f(v) : v);
|
|
562
|
-
} else if (Array.isArray(v) || Predicate.isObject(v)) {
|
|
563
|
-
InternalRecord.assignProperty(out, k, rewrite_refs(v, f));
|
|
564
|
-
} else {
|
|
565
|
-
InternalRecord.assignProperty(out, k, v);
|
|
566
|
-
}
|
|
634
|
+
function rewriteSchemaRef(schema, rewrite) {
|
|
635
|
+
if (typeof schema.$ref === "string") {
|
|
636
|
+
InternalRecord.assignProperty(schema, "$ref", rewrite(schema.$ref));
|
|
567
637
|
}
|
|
568
|
-
return
|
|
638
|
+
return schema;
|
|
569
639
|
}
|
|
570
|
-
function
|
|
640
|
+
function mapObject(value, f) {
|
|
571
641
|
if (!Predicate.isObject(value)) return undefined;
|
|
572
642
|
const out = {};
|
|
573
|
-
for (const k of Object.keys(value)) InternalRecord.assignProperty(out, k,
|
|
643
|
+
for (const k of Object.keys(value)) InternalRecord.assignProperty(out, k, f(value[k]));
|
|
574
644
|
return out;
|
|
575
645
|
}
|
|
576
|
-
function
|
|
577
|
-
if (
|
|
646
|
+
function rewriteSubschemaKeyword(out, key, value, rewrite, singleKeywords) {
|
|
647
|
+
if (MAP_SUBSCHEMA_KEYWORDS.has(key)) {
|
|
648
|
+
out[key] = mapObject(value, rewrite) ?? value;
|
|
649
|
+
return true;
|
|
650
|
+
}
|
|
651
|
+
if (ARRAY_SUBSCHEMA_KEYWORDS.has(key)) {
|
|
652
|
+
out[key] = Array.isArray(value) ? value.map(rewrite) : value;
|
|
653
|
+
return true;
|
|
654
|
+
}
|
|
655
|
+
if (!singleKeywords.has(key)) return false;
|
|
656
|
+
out[key] = rewrite(value);
|
|
657
|
+
return true;
|
|
658
|
+
}
|
|
659
|
+
function normalizeOpenApi3_0ToDraft07(node) {
|
|
660
|
+
if (Array.isArray(node)) return node.map(normalizeOpenApi3_0ToDraft07);
|
|
578
661
|
if (!Predicate.isObject(node)) return node;
|
|
579
662
|
const src = node;
|
|
580
663
|
let out = {};
|
|
@@ -587,62 +670,47 @@ function normalize_OpenApi3_0_to_Draft07(node) {
|
|
|
587
670
|
out.examples = [v];
|
|
588
671
|
}
|
|
589
672
|
} else if (Array.isArray(v) || Predicate.isObject(v)) {
|
|
590
|
-
InternalRecord.assignProperty(out, k,
|
|
673
|
+
InternalRecord.assignProperty(out, k, normalizeOpenApi3_0ToDraft07(v));
|
|
591
674
|
} else {
|
|
592
675
|
InternalRecord.assignProperty(out, k, v);
|
|
593
676
|
}
|
|
594
677
|
}
|
|
595
678
|
// Draft-04-style numeric exclusivity booleans
|
|
596
|
-
out =
|
|
679
|
+
out = adjustExclusivity(out);
|
|
597
680
|
// OpenAPI 3.0 nullable
|
|
598
681
|
if (out.nullable === true) {
|
|
599
|
-
out =
|
|
682
|
+
out = applyNullable(out);
|
|
600
683
|
}
|
|
601
684
|
delete out.nullable;
|
|
602
685
|
return out;
|
|
603
686
|
}
|
|
604
|
-
function
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
}
|
|
619
|
-
}
|
|
620
|
-
if (typeof out.exclusiveMaximum === "boolean") {
|
|
621
|
-
if (out.exclusiveMaximum === true && typeof out.maximum === "number") {
|
|
622
|
-
out = {
|
|
623
|
-
...out,
|
|
624
|
-
exclusiveMaximum: out.maximum
|
|
625
|
-
};
|
|
626
|
-
delete out.maximum;
|
|
627
|
-
} else {
|
|
628
|
-
out = {
|
|
629
|
-
...out
|
|
630
|
-
};
|
|
631
|
-
delete out.exclusiveMaximum;
|
|
632
|
-
}
|
|
687
|
+
function adjustExclusivity(node) {
|
|
688
|
+
return adjustExclusiveBound(adjustExclusiveBound(node, "minimum", "exclusiveMinimum"), "maximum", "exclusiveMaximum");
|
|
689
|
+
}
|
|
690
|
+
function adjustExclusiveBound(node, boundKey, exclusiveKey) {
|
|
691
|
+
const exclusive = node[exclusiveKey];
|
|
692
|
+
if (typeof exclusive !== "boolean") return node;
|
|
693
|
+
const out = {
|
|
694
|
+
...node
|
|
695
|
+
};
|
|
696
|
+
if (exclusive && typeof node[boundKey] === "number") {
|
|
697
|
+
out[exclusiveKey] = node[boundKey];
|
|
698
|
+
delete out[boundKey];
|
|
699
|
+
} else {
|
|
700
|
+
delete out[exclusiveKey];
|
|
633
701
|
}
|
|
634
702
|
return out;
|
|
635
703
|
}
|
|
636
|
-
function
|
|
704
|
+
function applyNullable(node) {
|
|
637
705
|
// enum widening
|
|
638
706
|
if (Array.isArray(node.enum)) {
|
|
639
|
-
return
|
|
707
|
+
return widenType({
|
|
640
708
|
...node,
|
|
641
709
|
enum: node.enum.includes(null) ? node.enum : [...node.enum, null]
|
|
642
710
|
});
|
|
643
711
|
}
|
|
644
712
|
// type widening
|
|
645
|
-
if (node.type !== undefined) return
|
|
713
|
+
if (node.type !== undefined) return widenType(node);
|
|
646
714
|
// const === null
|
|
647
715
|
if (node.const === null) return node;
|
|
648
716
|
// fallback
|
|
@@ -652,7 +720,7 @@ function apply_nullable(node) {
|
|
|
652
720
|
}]
|
|
653
721
|
};
|
|
654
722
|
}
|
|
655
|
-
function
|
|
723
|
+
function widenType(node) {
|
|
656
724
|
const t = node.type;
|
|
657
725
|
if (typeof t === "string") return t === "null" ? node : {
|
|
658
726
|
...node,
|
|
@@ -684,18 +752,15 @@ function widen_type(node) {
|
|
|
684
752
|
*
|
|
685
753
|
* **Example** (Resolving a $ref)
|
|
686
754
|
*
|
|
687
|
-
* ```ts
|
|
755
|
+
* ```ts import.meta.vitest
|
|
688
756
|
* import { JsonSchema } from "effect"
|
|
689
757
|
*
|
|
690
758
|
* const definitions: JsonSchema.Definitions = {
|
|
691
759
|
* User: { type: "object", properties: { name: { type: "string" } } }
|
|
692
760
|
* }
|
|
693
761
|
*
|
|
694
|
-
*
|
|
695
|
-
*
|
|
696
|
-
*
|
|
697
|
-
* const missing = JsonSchema.resolve$ref("#/$defs/Unknown", definitions)
|
|
698
|
-
* console.log(missing) // undefined
|
|
762
|
+
* JsonSchema.resolve$ref("#/$defs/User", definitions) // => { type: "object", properties: { name: { type: "string" } } }
|
|
763
|
+
* JsonSchema.resolve$ref("#/$defs/Unknown", definitions) // => undefined
|
|
699
764
|
* ```
|
|
700
765
|
*
|
|
701
766
|
* @see {@link resolveTopLevel$ref}
|
|
@@ -705,10 +770,8 @@ function widen_type(node) {
|
|
|
705
770
|
*/
|
|
706
771
|
export function resolve$ref($ref, definitions) {
|
|
707
772
|
const tokens = $ref.split("/");
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
if (Object.hasOwn(definitions, identifier)) return definitions[identifier];
|
|
711
|
-
}
|
|
773
|
+
const identifier = unescapeToken(tokens[tokens.length - 1]);
|
|
774
|
+
if (Object.hasOwn(definitions, identifier)) return definitions[identifier];
|
|
712
775
|
}
|
|
713
776
|
/**
|
|
714
777
|
* Resolves a document whose root schema is a top-level `$ref`.
|
|
@@ -725,7 +788,7 @@ export function resolve$ref($ref, definitions) {
|
|
|
725
788
|
*
|
|
726
789
|
* **Example** (Resolving a top-level $ref)
|
|
727
790
|
*
|
|
728
|
-
* ```ts
|
|
791
|
+
* ```ts import.meta.vitest
|
|
729
792
|
* import { JsonSchema } from "effect"
|
|
730
793
|
*
|
|
731
794
|
* const doc: JsonSchema.Document<"draft-2020-12"> = {
|
|
@@ -737,7 +800,7 @@ export function resolve$ref($ref, definitions) {
|
|
|
737
800
|
* }
|
|
738
801
|
*
|
|
739
802
|
* const resolved = JsonSchema.resolveTopLevel$ref(doc)
|
|
740
|
-
*
|
|
803
|
+
* resolved.schema // => { type: "object", properties: { name: { type: "string" } } }
|
|
741
804
|
* ```
|
|
742
805
|
*
|
|
743
806
|
* @see {@link resolve$ref}
|