effect 4.0.0-beta.101 → 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 +462 -412
- 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 +541 -449
- 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 +226 -174
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +339 -267
- 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 +122 -87
- 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 +18 -24
- 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 +2897 -3342
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1383 -1580
- 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 +109 -75
- 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 +230 -307
- 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 +46 -103
- 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 +300 -239
- 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 +207 -452
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +16 -5
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +10 -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 +202 -645
- 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 +190 -292
- 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 +213 -393
- 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.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +1 -4
- 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 +361 -466
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +163 -216
- 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 -213
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +102 -213
- 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 +25 -19
- 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 +135 -218
- 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 +1835 -1060
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +2708 -1050
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +29 -52
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +537 -391
- 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 +8 -7
- package/dist/SchemaError.js.map +1 -1
- package/dist/SchemaGetter.d.ts +230 -185
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +252 -209
- 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 +74 -266
- 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 -86
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +398 -1513
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +290 -2854
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +116 -76
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +123 -88
- 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 +101 -13
- 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 +2430 -2958
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +1124 -1397
- 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 +46 -54
- 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 +127 -70
- 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.d.ts +0 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -4
- package/dist/index.js.map +1 -1
- package/dist/internal/array.js.map +1 -1
- package/dist/internal/core.js +3 -2
- 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 +141 -61
- 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 +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.d.ts +0 -3
- package/dist/internal/record.d.ts.map +1 -1
- package/dist/internal/record.js +10 -5
- package/dist/internal/record.js.map +1 -1
- package/dist/internal/redacted.js.map +1 -1
- package/dist/internal/references.js +3 -4
- 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 +12 -0
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/cause.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.d.ts +2 -0
- package/dist/internal/schema/fromJsonSchemaDocument.d.ts.map +1 -0
- package/dist/internal/schema/fromJsonSchemaDocument.js +745 -0
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -0
- package/dist/internal/schema/fromRepresentation.d.ts +2 -0
- package/dist/internal/schema/fromRepresentation.d.ts.map +1 -0
- package/dist/internal/schema/fromRepresentation.js +245 -0
- package/dist/internal/schema/fromRepresentation.js.map +1 -0
- 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 +28 -40
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/schema/{arbitrary.d.ts → toArbitrary.d.ts} +1 -1
- package/dist/internal/schema/toArbitrary.d.ts.map +1 -0
- package/dist/internal/schema/{arbitrary.js → toArbitrary.js} +8 -9
- package/dist/internal/schema/toArbitrary.js.map +1 -0
- package/dist/internal/schema/toCodeDocument.d.ts +2 -0
- package/dist/internal/schema/toCodeDocument.d.ts.map +1 -0
- package/dist/internal/schema/toCodeDocument.js +438 -0
- package/dist/internal/schema/toCodeDocument.js.map +1 -0
- package/dist/internal/schema/toEquivalence.d.ts +2 -0
- package/dist/internal/schema/toEquivalence.d.ts.map +1 -0
- package/dist/internal/schema/{equivalence.js → toEquivalence.js} +15 -13
- package/dist/internal/schema/toEquivalence.js.map +1 -0
- package/dist/internal/schema/toJsonSchemaDocument.d.ts +2 -0
- package/dist/internal/schema/toJsonSchemaDocument.d.ts.map +1 -0
- package/dist/internal/schema/toJsonSchemaDocument.js +508 -0
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -0
- package/dist/internal/schema/toRepresentation.d.ts +2 -0
- package/dist/internal/schema/toRepresentation.d.ts.map +1 -0
- package/dist/internal/schema/toRepresentation.js +349 -0
- package/dist/internal/schema/toRepresentation.js.map +1 -0
- package/dist/internal/stackTraceLimit.js +3 -6
- 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 +54 -19
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestConsole.d.ts +32 -31
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +24 -22
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +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 +121 -144
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +99 -121
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +22 -7
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +87 -317
- 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.d.ts +1 -1
- package/dist/unstable/ai/EmbeddingModel.js +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 +111 -68
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +123 -81
- 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 +316 -250
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +71 -63
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +71 -62
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +765 -245
- 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 +33 -11
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +194 -378
- 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 +47 -33
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +23 -18
- 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 +63 -44
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +59 -42
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +35 -9
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +32 -14
- 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 +15 -12
- 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.d.ts +2 -0
- package/dist/unstable/ai/internal/structured-output.d.ts.map +1 -0
- package/dist/unstable/ai/internal/structured-output.js +315 -0
- package/dist/unstable/ai/internal/structured-output.js.map +1 -0
- 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 +105 -74
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +98 -63
- 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 +252 -47
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.js.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +418 -138
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +197 -71
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +12 -4
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +292 -78
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +131 -49
- 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 +345 -137
- 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.d.ts +3 -1
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +11 -4
- 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.d.ts +0 -48
- package/dist/unstable/cli/internal/config.d.ts.map +1 -1
- package/dist/unstable/cli/internal/config.js +8 -10
- 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 +6 -2
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +10 -10
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +9 -9
- 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.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.js +5 -4
- 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 +5 -5
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runner.js +1 -1
- package/dist/unstable/cluster/Runner.js.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
- package/dist/unstable/cluster/RunnerAddress.js +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 +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 +128 -26
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +13 -5
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- 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.d.ts +4 -2
- package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/SingleRunner.js +2 -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.d.ts +7 -4
- package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +56 -25
- 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 +127 -65
- 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 +24 -12
- 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.d.ts +2 -0
- package/dist/unstable/cluster/internal/shardLock.d.ts.map +1 -0
- package/dist/unstable/cluster/internal/shardLock.js +4 -0
- package/dist/unstable/cluster/internal/shardLock.js.map +1 -0
- package/dist/unstable/devtools/DevTools.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +20 -20
- package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js +8 -5
- 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 +16 -16
- package/dist/unstable/eventlog/EventJournal.js +14 -14
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +3 -3
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +18 -14
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +2 -2
- package/dist/unstable/eventlog/EventLogEncryption.js +2 -2
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +6 -6
- package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.js +9 -4
- 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 +2 -2
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +3 -3
- 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 +54 -40
- 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 +10 -10
- 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 +44 -0
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +16 -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.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +9 -8
- 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.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +22 -20
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/Template.js +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 +26 -31
- 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 +3 -3
- 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 +16 -18
- 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 +1 -1
- 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.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +50 -37
- 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 +70 -1
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +84 -6
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -3
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +2 -2
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +11 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +5 -2
- 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.d.ts +4 -3
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js +2 -2
- 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.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistable.js +2 -1
- 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 +28 -17
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +26 -15
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +2 -2
- package/dist/unstable/persistence/Redis.d.ts.map +1 -1
- package/dist/unstable/persistence/Redis.js +3 -3
- 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 +4 -2
- 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 +14 -13
- package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +105 -19
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +44 -12
- 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 +25 -4
- 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 +14 -12
- 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 +6 -7
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +15 -12
- 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 +12 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +10 -5
- 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.d.ts +2 -2
- package/dist/unstable/sql/SqlError.js +2 -2
- 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.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +22 -21
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/sql/index.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +1 -1
- package/dist/unstable/workers/Transferable.js +1 -1
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +2 -2
- package/dist/unstable/workers/Worker.js +2 -2
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +7 -7
- package/dist/unstable/workers/WorkerError.js +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 +1068 -1070
- 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 +923 -830
- 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 +618 -334
- package/src/ConfigProvider.ts +221 -127
- 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 +63 -82
- package/src/DateTime.ts +564 -660
- package/src/Deferred.ts +253 -256
- package/src/Duration.ts +216 -308
- package/src/Effect.ts +2958 -3390
- 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 +155 -107
- 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 +622 -787
- package/src/JsonPatch.ts +60 -113
- package/src/JsonPointer.ts +8 -8
- package/src/JsonSchema.ts +405 -249
- 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 +347 -699
- package/src/ManagedRuntime.ts +20 -5
- package/src/Match.ts +217 -252
- package/src/Metric.ts +520 -1092
- 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 +246 -385
- package/src/Option.ts +449 -813
- package/src/Order.ts +109 -109
- package/src/Ordering.ts +20 -23
- package/src/PartitionedSemaphore.ts +1 -4
- 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 +387 -487
- 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 -214
- package/src/RegExp.ts +10 -14
- package/src/Request.ts +36 -28
- package/src/RequestResolver.ts +202 -91
- package/src/Result.ts +314 -485
- package/src/Runtime.ts +50 -75
- package/src/Schedule.ts +308 -1734
- package/src/Scheduler.ts +20 -7
- package/src/Schema.ts +3156 -1634
- package/src/SchemaAST.ts +676 -489
- package/src/SchemaError.ts +8 -7
- package/src/SchemaGetter.ts +277 -218
- package/src/SchemaIssue.ts +90 -276
- package/src/SchemaParser.ts +179 -116
- package/src/SchemaRepresentation.ts +698 -3417
- package/src/SchemaTransformation.ts +132 -91
- package/src/Scope.ts +123 -151
- package/src/ScopedRef.ts +4 -4
- package/src/Semaphore.ts +157 -54
- package/src/Sink.ts +128 -113
- package/src/Stdio.ts +1 -1
- package/src/Stream.ts +2665 -3142
- package/src/String.ts +275 -312
- package/src/Struct.ts +114 -118
- 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 +127 -70
- package/src/Unify.ts +45 -65
- package/src/Utils.ts +23 -16
- package/src/index.ts +0 -5
- package/src/internal/core.ts +5 -4
- package/src/internal/dateTime.ts +6 -0
- package/src/internal/effect.ts +160 -79
- package/src/internal/matcher.ts +1 -1
- package/src/internal/persistence.ts +2 -0
- package/src/internal/record.ts +11 -7
- package/src/internal/references.ts +3 -7
- package/src/internal/schema/annotations.ts +44 -0
- package/src/internal/schema/fromJsonSchemaDocument.ts +959 -0
- package/src/internal/schema/fromRepresentation.ts +339 -0
- package/src/internal/schema/parser.ts +22 -0
- package/src/internal/schema/schema.ts +45 -46
- package/src/internal/schema/{arbitrary.ts → toArbitrary.ts} +8 -10
- package/src/internal/schema/toCodeDocument.ts +572 -0
- package/src/internal/schema/{equivalence.ts → toEquivalence.ts} +12 -7
- package/src/internal/schema/toJsonSchemaDocument.ts +529 -0
- package/src/internal/schema/toRepresentation.ts +386 -0
- package/src/internal/stackTraceLimit.ts +3 -7
- package/src/internal/trie.ts +10 -11
- package/src/testing/FastCheck.ts +8 -7
- package/src/testing/TestClock.ts +73 -31
- package/src/testing/TestConsole.ts +32 -31
- package/src/testing/TestSchema.ts +29 -29
- package/src/unstable/ai/AiError.ts +100 -122
- package/src/unstable/ai/AnthropicStructuredOutput.ts +103 -334
- package/src/unstable/ai/Chat.ts +132 -97
- package/src/unstable/ai/EmbeddingModel.ts +1 -1
- package/src/unstable/ai/IdGenerator.ts +32 -28
- package/src/unstable/ai/LanguageModel.ts +137 -95
- package/src/unstable/ai/McpProtocol.ts +48 -0
- package/src/unstable/ai/McpSchema.ts +75 -65
- package/src/unstable/ai/McpServer.ts +1045 -303
- package/src/unstable/ai/Model.ts +9 -20
- package/src/unstable/ai/OpenAiStructuredOutput.ts +231 -396
- package/src/unstable/ai/Prompt.ts +145 -43
- package/src/unstable/ai/Response.ts +52 -38
- package/src/unstable/ai/Telemetry.ts +46 -13
- package/src/unstable/ai/Tokenizer.ts +14 -3
- package/src/unstable/ai/Tool.ts +81 -48
- package/src/unstable/ai/Toolkit.ts +45 -15
- package/src/unstable/ai/index.ts +5 -0
- package/src/unstable/ai/internal/codec-transformer.ts +13 -7
- 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 +453 -0
- package/src/unstable/cli/Argument.ts +273 -69
- package/src/unstable/cli/CliError.ts +116 -77
- package/src/unstable/cli/CliOutput.ts +44 -58
- package/src/unstable/cli/Command.ts +709 -111
- 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 +295 -81
- package/src/unstable/cli/Primitive.ts +371 -150
- package/src/unstable/cli/Prompt.ts +28 -14
- package/src/unstable/cli/internal/command.ts +13 -5
- package/src/unstable/cli/internal/config.ts +8 -10
- 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 +8 -4
- package/src/unstable/cluster/Entity.ts +16 -17
- package/src/unstable/cluster/EntityProxy.ts +4 -2
- package/src/unstable/cluster/EntityResource.ts +2 -2
- package/src/unstable/cluster/Envelope.ts +5 -4
- 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 +5 -7
- package/src/unstable/cluster/Runner.ts +1 -1
- package/src/unstable/cluster/RunnerAddress.ts +1 -1
- 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/ShardId.ts +1 -1
- package/src/unstable/cluster/Sharding.ts +168 -42
- package/src/unstable/cluster/ShardingConfig.ts +8 -4
- package/src/unstable/cluster/SingleRunner.ts +4 -2
- package/src/unstable/cluster/SingletonAddress.ts +1 -1
- package/src/unstable/cluster/Snowflake.ts +8 -8
- package/src/unstable/cluster/SqlMessageStorage.ts +84 -36
- package/src/unstable/cluster/SqlRunnerStorage.ts +205 -119
- package/src/unstable/cluster/internal/entityManager.ts +42 -25
- package/src/unstable/cluster/internal/shardLock.ts +9 -0
- package/src/unstable/devtools/DevToolsSchema.ts +10 -5
- 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 +16 -16
- package/src/unstable/eventlog/EventLog.ts +24 -14
- package/src/unstable/eventlog/EventLogEncryption.ts +2 -2
- package/src/unstable/eventlog/EventLogMessage.ts +12 -5
- 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/eventlog/SqlEventJournal.ts +2 -2
- package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +1 -1
- package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +6 -3
- package/src/unstable/http/Cookies.ts +64 -45
- package/src/unstable/http/Etag.ts +1 -1
- package/src/unstable/http/FetchHttpClient.ts +3 -1
- package/src/unstable/http/Headers.ts +10 -10
- package/src/unstable/http/HttpBody.ts +20 -5
- package/src/unstable/http/HttpClient.ts +83 -55
- package/src/unstable/http/HttpClientRequest.ts +59 -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 +9 -8
- package/src/unstable/http/HttpServerResponse.ts +30 -0
- package/src/unstable/http/HttpStaticServer.ts +35 -7
- package/src/unstable/http/Multipart.ts +22 -19
- package/src/unstable/http/Template.ts +1 -1
- package/src/unstable/http/Url.ts +33 -63
- package/src/unstable/http/UrlParams.ts +27 -32
- package/src/unstable/http/internal/compression.ts +196 -0
- package/src/unstable/httpapi/HttpApi.ts +3 -3
- package/src/unstable/httpapi/HttpApiBuilder.ts +10 -9
- package/src/unstable/httpapi/HttpApiClient.ts +19 -19
- package/src/unstable/httpapi/HttpApiEndpoint.ts +42 -42
- package/src/unstable/httpapi/HttpApiError.ts +13 -13
- package/src/unstable/httpapi/HttpApiGroup.ts +16 -16
- 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 +65 -41
- package/src/unstable/observability/OtlpExporter.ts +126 -10
- package/src/unstable/observability/OtlpLogger.ts +5 -5
- package/src/unstable/observability/OtlpMetrics.ts +12 -5
- package/src/unstable/observability/OtlpResource.ts +26 -17
- package/src/unstable/observability/OtlpTracer.ts +8 -4
- 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 +11 -10
- package/src/unstable/persistence/PersistedQueue.ts +6 -6
- package/src/unstable/persistence/Persistence.ts +126 -19
- package/src/unstable/persistence/RateLimiter.ts +28 -17
- package/src/unstable/persistence/Redis.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +64 -21
- package/src/unstable/process/ChildProcessSpawner.ts +22 -11
- package/src/unstable/reactivity/AsyncResult.ts +16 -16
- package/src/unstable/reactivity/Atom.ts +117 -22
- package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
- package/src/unstable/reactivity/AtomRegistry.ts +25 -4
- 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 +18 -16
- 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 +19 -29
- package/src/unstable/socket/Socket.ts +18 -5
- package/src/unstable/sql/SqlClient.ts +5 -6
- package/src/unstable/sql/SqlError.ts +2 -2
- package/src/unstable/sql/SqlModel.ts +2 -2
- package/src/unstable/sql/SqlResolver.ts +5 -5
- package/src/unstable/sql/Statement.ts +31 -29
- 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/SchemaUtils.d.ts +0 -28
- package/dist/SchemaUtils.d.ts.map +0 -1
- package/dist/SchemaUtils.js +0 -45
- package/dist/SchemaUtils.js.map +0 -1
- package/dist/internal/schema/arbitrary.d.ts.map +0 -1
- package/dist/internal/schema/arbitrary.js.map +0 -1
- package/dist/internal/schema/equivalence.d.ts +0 -2
- package/dist/internal/schema/equivalence.d.ts.map +0 -1
- package/dist/internal/schema/equivalence.js.map +0 -1
- package/dist/internal/schema/representation.d.ts +0 -2
- package/dist/internal/schema/representation.d.ts.map +0 -1
- package/dist/internal/schema/representation.js +0 -865
- package/dist/internal/schema/representation.js.map +0 -1
- 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/SchemaUtils.ts +0 -51
- package/src/internal/schema/representation.ts +0 -795
- package/src/internal/version.ts +0 -2
package/src/SchemaGetter.ts
CHANGED
|
@@ -45,13 +45,13 @@ import * as Str from "./String.ts"
|
|
|
45
45
|
*
|
|
46
46
|
* **Example** (Creating and composing getters)
|
|
47
47
|
*
|
|
48
|
-
* ```ts
|
|
49
|
-
* import { SchemaGetter } from "effect"
|
|
48
|
+
* ```ts import.meta.vitest
|
|
49
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
50
50
|
*
|
|
51
51
|
* const parseNumber = SchemaGetter.transform<number, string>((s) => Number(s))
|
|
52
52
|
* const double = SchemaGetter.transform<number, number>((n) => n * 2)
|
|
53
53
|
* const composed = parseNumber.compose(double)
|
|
54
|
-
*
|
|
54
|
+
* await Effect.runPromise(composed.run(Option.some("21"), {})) // => Option.some(42)
|
|
55
55
|
* ```
|
|
56
56
|
*
|
|
57
57
|
* @see {@link transform} to create a getter from a pure function
|
|
@@ -105,11 +105,11 @@ export class Getter<out T, in E, R = never> extends Pipeable.Class {
|
|
|
105
105
|
*
|
|
106
106
|
* **Example** (Returning a constant getter)
|
|
107
107
|
*
|
|
108
|
-
* ```ts
|
|
109
|
-
* import { SchemaGetter } from "effect"
|
|
108
|
+
* ```ts import.meta.vitest
|
|
109
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
110
110
|
*
|
|
111
111
|
* const alwaysZero = SchemaGetter.succeed(0)
|
|
112
|
-
*
|
|
112
|
+
* await Effect.runPromise(alwaysZero.run(Option.none(), {})) // => Option.some(0)
|
|
113
113
|
* ```
|
|
114
114
|
*
|
|
115
115
|
* @see {@link transform} when you need to use the input value
|
|
@@ -137,12 +137,14 @@ export function succeed<const T, E>(t: T): Getter<T, E> {
|
|
|
137
137
|
*
|
|
138
138
|
* **Example** (Defining an always-failing getter)
|
|
139
139
|
*
|
|
140
|
-
* ```ts
|
|
141
|
-
* import { Option, SchemaGetter, SchemaIssue } from "effect"
|
|
140
|
+
* ```ts import.meta.vitest
|
|
141
|
+
* import { Effect, Option, SchemaGetter, SchemaIssue } from "effect"
|
|
142
142
|
*
|
|
143
143
|
* const rejectAll = SchemaGetter.fail<string, string>(
|
|
144
|
-
* (
|
|
144
|
+
* () => new SchemaIssue.InvalidValue({ message: "not allowed" })
|
|
145
145
|
* )
|
|
146
|
+
* const issue = await Effect.runPromise(Effect.flip(rejectAll.run(Option.some("x"), {})))
|
|
147
|
+
* issue._tag // => "InvalidValue"
|
|
146
148
|
* ```
|
|
147
149
|
*
|
|
148
150
|
* @see {@link forbidden} for a convenience helper for `Forbidden` issues
|
|
@@ -171,12 +173,14 @@ export function fail<T, E>(f: (oe: Option.Option<E>) => SchemaIssue.Issue): Gett
|
|
|
171
173
|
*
|
|
172
174
|
* **Example** (Forbidding a decode direction)
|
|
173
175
|
*
|
|
174
|
-
* ```ts
|
|
175
|
-
* import { SchemaGetter } from "effect"
|
|
176
|
+
* ```ts import.meta.vitest
|
|
177
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
176
178
|
*
|
|
177
179
|
* const noEncode = SchemaGetter.forbidden<string, number>(
|
|
178
180
|
* () => "encoding is not supported"
|
|
179
181
|
* )
|
|
182
|
+
* const issue = await Effect.runPromise(Effect.flip(noEncode.run(Option.some(1), {})))
|
|
183
|
+
* issue._tag // => "Forbidden"
|
|
180
184
|
* ```
|
|
181
185
|
*
|
|
182
186
|
* @see {@link fail} to fail with a custom issue type
|
|
@@ -185,7 +189,7 @@ export function fail<T, E>(f: (oe: Option.Option<E>) => SchemaIssue.Issue): Gett
|
|
|
185
189
|
* @since 4.0.0
|
|
186
190
|
*/
|
|
187
191
|
export function forbidden<T, E>(message: (oe: Option.Option<E>) => string): Getter<T, E> {
|
|
188
|
-
return fail<T, E>((oe) => new SchemaIssue.Forbidden(
|
|
192
|
+
return fail<T, E>((oe) => new SchemaIssue.Forbidden({ message: message(oe) }))
|
|
189
193
|
}
|
|
190
194
|
|
|
191
195
|
const passthrough_ = new Getter<any, any>(Effect.succeed)
|
|
@@ -211,7 +215,7 @@ function isPassthrough<T, E, R>(getter: Getter<T, E, R>): getter is typeof passt
|
|
|
211
215
|
*
|
|
212
216
|
* **Example** (Passing through identity transformations)
|
|
213
217
|
*
|
|
214
|
-
* ```ts
|
|
218
|
+
* ```ts import.meta.vitest
|
|
215
219
|
* import { Schema, SchemaGetter } from "effect"
|
|
216
220
|
*
|
|
217
221
|
* // No transformation needed — types already match
|
|
@@ -221,6 +225,7 @@ function isPassthrough<T, E, R>(getter: Getter<T, E, R>): getter is typeof passt
|
|
|
221
225
|
* encode: SchemaGetter.passthrough()
|
|
222
226
|
* })
|
|
223
227
|
* )
|
|
228
|
+
* Schema.decodeSync(StringToString)("hello") // => "hello"
|
|
224
229
|
* ```
|
|
225
230
|
*
|
|
226
231
|
* @see {@link passthroughSupertype} when `T extends E`
|
|
@@ -250,11 +255,12 @@ export function passthrough<T>(): Getter<T, T> {
|
|
|
250
255
|
*
|
|
251
256
|
* **Example** (Passing through supertypes)
|
|
252
257
|
*
|
|
253
|
-
* ```ts
|
|
254
|
-
* import { SchemaGetter } from "effect"
|
|
258
|
+
* ```ts import.meta.vitest
|
|
259
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
255
260
|
*
|
|
256
261
|
* // string extends string, so this is valid
|
|
257
262
|
* const g = SchemaGetter.passthroughSupertype<string, string>()
|
|
263
|
+
* await Effect.runPromise(g.run(Option.some("hello"), {})) // => Option.some("hello")
|
|
258
264
|
* ```
|
|
259
265
|
*
|
|
260
266
|
* @see {@link passthrough} when types are identical
|
|
@@ -282,11 +288,12 @@ export function passthroughSupertype<T>(): Getter<T, T> {
|
|
|
282
288
|
*
|
|
283
289
|
* **Example** (Passing through subtypes)
|
|
284
290
|
*
|
|
285
|
-
* ```ts
|
|
286
|
-
* import { SchemaGetter } from "effect"
|
|
291
|
+
* ```ts import.meta.vitest
|
|
292
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
287
293
|
*
|
|
288
294
|
* // "hello" extends string, so E extends T
|
|
289
295
|
* const g = SchemaGetter.passthroughSubtype<string, "hello">()
|
|
296
|
+
* await Effect.runPromise(g.run(Option.some("hello"), {})) // => Option.some("hello")
|
|
290
297
|
* ```
|
|
291
298
|
*
|
|
292
299
|
* @see {@link passthrough} when types are identical
|
|
@@ -317,19 +324,20 @@ export function passthroughSubtype<T>(): Getter<T, T> {
|
|
|
317
324
|
*
|
|
318
325
|
* **Example** (Providing a default timestamp for a missing field)
|
|
319
326
|
*
|
|
320
|
-
* ```ts
|
|
327
|
+
* ```ts import.meta.vitest
|
|
321
328
|
* import { Effect, Option, SchemaGetter } from "effect"
|
|
322
329
|
*
|
|
323
330
|
* const withTimestamp = SchemaGetter.onNone<number>(() =>
|
|
324
|
-
* Effect.succeed(Option.some(
|
|
331
|
+
* Effect.succeed(Option.some(0))
|
|
325
332
|
* )
|
|
333
|
+
* await Effect.runPromise(withTimestamp.run(Option.none(), {})) // => Option.some(0)
|
|
326
334
|
* ```
|
|
327
335
|
*
|
|
328
336
|
* @see {@link required} when absent input should fail
|
|
329
337
|
* @see {@link withDefault} for a simpler default value for undefined inputs
|
|
330
338
|
* @see {@link onSome} to handle only present values
|
|
331
339
|
*
|
|
332
|
-
* @category
|
|
340
|
+
* @category transforming
|
|
333
341
|
* @since 4.0.0
|
|
334
342
|
*/
|
|
335
343
|
export function onNone<T, E extends T = T, R = never>(
|
|
@@ -354,16 +362,18 @@ export function onNone<T, E extends T = T, R = never>(
|
|
|
354
362
|
*
|
|
355
363
|
* **Example** (Defining a required struct field)
|
|
356
364
|
*
|
|
357
|
-
* ```ts
|
|
358
|
-
* import { SchemaGetter } from "effect"
|
|
365
|
+
* ```ts import.meta.vitest
|
|
366
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
359
367
|
*
|
|
360
368
|
* const mustExist = SchemaGetter.required<string>()
|
|
369
|
+
* const issue = await Effect.runPromise(Effect.flip(mustExist.run(Option.none(), {})))
|
|
370
|
+
* issue._tag // => "MissingKey"
|
|
361
371
|
* ```
|
|
362
372
|
*
|
|
363
373
|
* @see {@link onNone} to provide a fallback instead of failing
|
|
364
374
|
* @see {@link withDefault} to substitute a default for undefined values
|
|
365
375
|
*
|
|
366
|
-
* @category
|
|
376
|
+
* @category validation
|
|
367
377
|
* @since 4.0.0
|
|
368
378
|
*/
|
|
369
379
|
export function required<T, E extends T = T>(annotations?: Schema.Annotations.Key<T>): Getter<T, E> {
|
|
@@ -387,19 +397,20 @@ export function required<T, E extends T = T>(annotations?: Schema.Annotations.Ke
|
|
|
387
397
|
*
|
|
388
398
|
* **Example** (Transforming only present values)
|
|
389
399
|
*
|
|
390
|
-
* ```ts
|
|
400
|
+
* ```ts import.meta.vitest
|
|
391
401
|
* import { Effect, Option, SchemaGetter } from "effect"
|
|
392
402
|
*
|
|
393
403
|
* const parseIfPresent = SchemaGetter.onSome<number, string>(
|
|
394
404
|
* (s) => Effect.succeed(Option.some(Number(s)))
|
|
395
405
|
* )
|
|
406
|
+
* await Effect.runPromise(parseIfPresent.run(Option.some("42"), {})) // => Option.some(42)
|
|
396
407
|
* ```
|
|
397
408
|
*
|
|
398
409
|
* @see {@link onNone} to handle only absent values
|
|
399
410
|
* @see {@link transform} for a simpler pure transformation of present values
|
|
400
411
|
* @see {@link transformOrFail} for fallible transformation of present values
|
|
401
412
|
*
|
|
402
|
-
* @category
|
|
413
|
+
* @category transforming
|
|
403
414
|
* @since 4.0.0
|
|
404
415
|
*/
|
|
405
416
|
export function onSome<T, E, R = never>(
|
|
@@ -430,18 +441,19 @@ export function onSome<T, E, R = never>(
|
|
|
430
441
|
*
|
|
431
442
|
* **Example** (Validating effectfully)
|
|
432
443
|
*
|
|
433
|
-
* ```ts
|
|
434
|
-
* import { Effect, SchemaGetter } from "effect"
|
|
444
|
+
* ```ts import.meta.vitest
|
|
445
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
435
446
|
*
|
|
436
447
|
* const nonNegative = SchemaGetter.checkEffect<number>((n) =>
|
|
437
448
|
* Effect.succeed(n >= 0 ? undefined : "must be non-negative")
|
|
438
449
|
* )
|
|
450
|
+
* await Effect.runPromise(nonNegative.run(Option.some(1), {})) // => Option.some(1)
|
|
439
451
|
* ```
|
|
440
452
|
*
|
|
441
453
|
* @see {@link transform} when you need to change the value, not just validate
|
|
442
454
|
* @see {@link fail} for unconditional failure
|
|
443
455
|
*
|
|
444
|
-
* @category
|
|
456
|
+
* @category validation
|
|
445
457
|
* @since 4.0.0
|
|
446
458
|
*/
|
|
447
459
|
export function checkEffect<T, R = never>(
|
|
@@ -453,7 +465,7 @@ export function checkEffect<T, R = never>(
|
|
|
453
465
|
): Getter<T, T, R> {
|
|
454
466
|
return onSome((t, options) => {
|
|
455
467
|
return f(t, options).pipe(Effect.flatMapEager((out) => {
|
|
456
|
-
const issue = SchemaIssue.makeSingle(
|
|
468
|
+
const issue = SchemaIssue.makeSingle(out)
|
|
457
469
|
return issue ?
|
|
458
470
|
Effect.fail(issue) :
|
|
459
471
|
Effect.succeed(Option.some(t))
|
|
@@ -479,7 +491,7 @@ export function checkEffect<T, R = never>(
|
|
|
479
491
|
*
|
|
480
492
|
* **Example** (Transforming strings to numbers)
|
|
481
493
|
*
|
|
482
|
-
* ```ts
|
|
494
|
+
* ```ts import.meta.vitest
|
|
483
495
|
* import { Schema, SchemaGetter } from "effect"
|
|
484
496
|
*
|
|
485
497
|
* const NumberFromString = Schema.String.pipe(
|
|
@@ -488,13 +500,14 @@ export function checkEffect<T, R = never>(
|
|
|
488
500
|
* encode: SchemaGetter.transform((n) => String(n))
|
|
489
501
|
* })
|
|
490
502
|
* )
|
|
503
|
+
* Schema.decodeSync(NumberFromString)("42") // => 42
|
|
491
504
|
* ```
|
|
492
505
|
*
|
|
493
506
|
* @see {@link transformOrFail} when the transformation can fail
|
|
494
507
|
* @see {@link transformOptional} when you need to handle `None` inputs
|
|
495
508
|
* @see {@link passthrough} when no transformation is needed
|
|
496
509
|
*
|
|
497
|
-
* @category
|
|
510
|
+
* @category transforming
|
|
498
511
|
* @since 4.0.0
|
|
499
512
|
*/
|
|
500
513
|
export function transform<T, E>(f: (e: E) => T): Getter<T, E> {
|
|
@@ -517,23 +530,24 @@ export function transform<T, E>(f: (e: E) => T): Getter<T, E> {
|
|
|
517
530
|
*
|
|
518
531
|
* **Example** (Parsing with failure)
|
|
519
532
|
*
|
|
520
|
-
* ```ts
|
|
533
|
+
* ```ts import.meta.vitest
|
|
521
534
|
* import { Effect, Option, SchemaGetter, SchemaIssue } from "effect"
|
|
522
535
|
*
|
|
523
536
|
* const safeParseInt = SchemaGetter.transformOrFail<number, string>(
|
|
524
537
|
* (s) => {
|
|
525
538
|
* const n = parseInt(s, 10)
|
|
526
539
|
* return isNaN(n)
|
|
527
|
-
* ? Effect.fail(new SchemaIssue.InvalidValue(
|
|
540
|
+
* ? Effect.fail(new SchemaIssue.InvalidValue({ message: "not an integer" }))
|
|
528
541
|
* : Effect.succeed(n)
|
|
529
542
|
* }
|
|
530
543
|
* )
|
|
544
|
+
* await Effect.runPromise(safeParseInt.run(Option.some("42"), {})) // => Option.some(42)
|
|
531
545
|
* ```
|
|
532
546
|
*
|
|
533
547
|
* @see {@link transform} when transformation cannot fail
|
|
534
548
|
* @see {@link onSome} when you need full `Option` control over the output
|
|
535
549
|
*
|
|
536
|
-
* @category
|
|
550
|
+
* @category transforming
|
|
537
551
|
* @since 4.0.0
|
|
538
552
|
*/
|
|
539
553
|
export function transformOrFail<T, E, R = never>(
|
|
@@ -557,18 +571,19 @@ export function transformOrFail<T, E, R = never>(
|
|
|
557
571
|
*
|
|
558
572
|
* **Example** (Filtering out empty strings)
|
|
559
573
|
*
|
|
560
|
-
* ```ts
|
|
561
|
-
* import { Option, SchemaGetter } from "effect"
|
|
574
|
+
* ```ts import.meta.vitest
|
|
575
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
562
576
|
*
|
|
563
577
|
* const skipEmpty = SchemaGetter.transformOptional<string, string>((o) =>
|
|
564
578
|
* Option.filter(o, (s) => s.length > 0)
|
|
565
579
|
* )
|
|
580
|
+
* await Effect.runPromise(skipEmpty.run(Option.some(""), {})) // => Option.none()
|
|
566
581
|
* ```
|
|
567
582
|
*
|
|
568
583
|
* @see {@link transform} when you only need to transform present values
|
|
569
584
|
* @see {@link omit} when you always want `None`
|
|
570
585
|
*
|
|
571
|
-
* @category
|
|
586
|
+
* @category transforming
|
|
572
587
|
* @since 4.0.0
|
|
573
588
|
*/
|
|
574
589
|
export function transformOptional<T, E>(f: (oe: Option.Option<E>) => Option.Option<T>): Getter<T, E> {
|
|
@@ -590,16 +605,17 @@ export function transformOptional<T, E>(f: (oe: Option.Option<E>) => Option.Opti
|
|
|
590
605
|
*
|
|
591
606
|
* **Example** (Omitting a field during encoding)
|
|
592
607
|
*
|
|
593
|
-
* ```ts
|
|
594
|
-
* import { SchemaGetter } from "effect"
|
|
608
|
+
* ```ts import.meta.vitest
|
|
609
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
595
610
|
*
|
|
596
611
|
* const omitField = SchemaGetter.omit<string>()
|
|
612
|
+
* await Effect.runPromise(omitField.run(Option.some("hidden"), {})) // => Option.none()
|
|
597
613
|
* ```
|
|
598
614
|
*
|
|
599
615
|
* @see {@link transformOptional} when you want conditional omission
|
|
600
616
|
* @see {@link forbidden} when you want to fail instead of silently omit
|
|
601
617
|
*
|
|
602
|
-
* @category
|
|
618
|
+
* @category filtering
|
|
603
619
|
* @since 4.0.0
|
|
604
620
|
*/
|
|
605
621
|
export function omit<T>(): Getter<never, T> {
|
|
@@ -622,17 +638,17 @@ export function omit<T>(): Getter<never, T> {
|
|
|
622
638
|
*
|
|
623
639
|
* **Example** (Providing a default value for an optional field)
|
|
624
640
|
*
|
|
625
|
-
* ```ts
|
|
626
|
-
* import { Effect, SchemaGetter } from "effect"
|
|
641
|
+
* ```ts import.meta.vitest
|
|
642
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
627
643
|
*
|
|
628
644
|
* const withZero = SchemaGetter.withDefault(Effect.succeed(0))
|
|
629
|
-
*
|
|
645
|
+
* await Effect.runPromise(withZero.run(Option.some(undefined), {})) // => Option.some(0)
|
|
630
646
|
* ```
|
|
631
647
|
*
|
|
632
648
|
* @see {@link onNone} to handle only absent keys (not `undefined` values)
|
|
633
649
|
* @see {@link required} when absent input should fail instead of using a default
|
|
634
650
|
*
|
|
635
|
-
* @category
|
|
651
|
+
* @category transforming
|
|
636
652
|
* @since 4.0.0
|
|
637
653
|
*/
|
|
638
654
|
export function withDefault<T, R = never>(
|
|
@@ -658,16 +674,16 @@ export function withDefault<T, R = never>(
|
|
|
658
674
|
*
|
|
659
675
|
* **Example** (Coercing to a string)
|
|
660
676
|
*
|
|
661
|
-
* ```ts
|
|
662
|
-
* import { SchemaGetter } from "effect"
|
|
677
|
+
* ```ts import.meta.vitest
|
|
678
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
663
679
|
*
|
|
664
680
|
* const toString = SchemaGetter.String<number>()
|
|
665
|
-
*
|
|
681
|
+
* await Effect.runPromise(toString.run(Option.some(42), {})) // => Option.some("42")
|
|
666
682
|
* ```
|
|
667
683
|
*
|
|
668
684
|
* @see {@link transform} for custom string conversions
|
|
669
685
|
*
|
|
670
|
-
* @category
|
|
686
|
+
* @category converting
|
|
671
687
|
* @since 4.0.0
|
|
672
688
|
*/
|
|
673
689
|
export function String<E>(): Getter<string, E> {
|
|
@@ -689,16 +705,16 @@ export function String<E>(): Getter<string, E> {
|
|
|
689
705
|
*
|
|
690
706
|
* **Example** (Coercing to a number)
|
|
691
707
|
*
|
|
692
|
-
* ```ts
|
|
693
|
-
* import { SchemaGetter } from "effect"
|
|
708
|
+
* ```ts import.meta.vitest
|
|
709
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
694
710
|
*
|
|
695
711
|
* const toNumber = SchemaGetter.Number<string>()
|
|
696
|
-
*
|
|
712
|
+
* await Effect.runPromise(toNumber.run(Option.some("42"), {})) // => Option.some(42)
|
|
697
713
|
* ```
|
|
698
714
|
*
|
|
699
715
|
* @see {@link transformOrFail} for validated number parsing
|
|
700
716
|
*
|
|
701
|
-
* @category
|
|
717
|
+
* @category converting
|
|
702
718
|
* @since 4.0.0
|
|
703
719
|
*/
|
|
704
720
|
export function Number<E>(): Getter<number, E> {
|
|
@@ -719,14 +735,14 @@ export function Number<E>(): Getter<number, E> {
|
|
|
719
735
|
*
|
|
720
736
|
* **Example** (Coercing to a boolean)
|
|
721
737
|
*
|
|
722
|
-
* ```ts
|
|
723
|
-
* import { SchemaGetter } from "effect"
|
|
738
|
+
* ```ts import.meta.vitest
|
|
739
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
724
740
|
*
|
|
725
741
|
* const toBool = SchemaGetter.Boolean<string>()
|
|
726
|
-
*
|
|
742
|
+
* await Effect.runPromise(toBool.run(Option.some("true"), {})) // => Option.some(true)
|
|
727
743
|
* ```
|
|
728
744
|
*
|
|
729
|
-
* @category
|
|
745
|
+
* @category converting
|
|
730
746
|
* @since 4.0.0
|
|
731
747
|
*/
|
|
732
748
|
export function Boolean<E>(): Getter<boolean, E> {
|
|
@@ -748,14 +764,14 @@ export function Boolean<E>(): Getter<boolean, E> {
|
|
|
748
764
|
*
|
|
749
765
|
* **Example** (Coercing to a bigint)
|
|
750
766
|
*
|
|
751
|
-
* ```ts
|
|
752
|
-
* import { SchemaGetter } from "effect"
|
|
767
|
+
* ```ts import.meta.vitest
|
|
768
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
753
769
|
*
|
|
754
770
|
* const toBigInt = SchemaGetter.BigInt<string>()
|
|
755
|
-
*
|
|
771
|
+
* await Effect.runPromise(toBigInt.run(Option.some("42"), {})) // => Option.some(42n)
|
|
756
772
|
* ```
|
|
757
773
|
*
|
|
758
|
-
* @category
|
|
774
|
+
* @category converting
|
|
759
775
|
* @since 4.0.0
|
|
760
776
|
*/
|
|
761
777
|
export function BigInt<E extends string | number | bigint | boolean>(): Getter<bigint, E> {
|
|
@@ -777,16 +793,17 @@ export function BigInt<E extends string | number | bigint | boolean>(): Getter<b
|
|
|
777
793
|
*
|
|
778
794
|
* **Example** (Coercing to a Date)
|
|
779
795
|
*
|
|
780
|
-
* ```ts
|
|
781
|
-
* import { SchemaGetter } from "effect"
|
|
796
|
+
* ```ts import.meta.vitest
|
|
797
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
782
798
|
*
|
|
783
799
|
* const toDate = SchemaGetter.Date<string>()
|
|
784
|
-
*
|
|
800
|
+
* const result = await Effect.runPromise(toDate.run(Option.some("1970-01-01"), {}))
|
|
801
|
+
* Option.map(result, (date) => date.toISOString()) // => Option.some("1970-01-01T00:00:00.000Z")
|
|
785
802
|
* ```
|
|
786
803
|
*
|
|
787
804
|
* @see {@link dateTimeUtcFromInput} for validated DateTime parsing
|
|
788
805
|
*
|
|
789
|
-
* @category
|
|
806
|
+
* @category converting
|
|
790
807
|
* @since 4.0.0
|
|
791
808
|
*/
|
|
792
809
|
export function Date<E extends string | number | Date>(): Getter<Date, E> {
|
|
@@ -802,13 +819,14 @@ export function Date<E extends string | number | Date>(): Getter<Date, E> {
|
|
|
802
819
|
*
|
|
803
820
|
* **Example** (Trimming whitespace)
|
|
804
821
|
*
|
|
805
|
-
* ```ts
|
|
806
|
-
* import { SchemaGetter } from "effect"
|
|
822
|
+
* ```ts import.meta.vitest
|
|
823
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
807
824
|
*
|
|
808
825
|
* const trimmed = SchemaGetter.trim<string>()
|
|
826
|
+
* await Effect.runPromise(trimmed.run(Option.some(" hello "), {})) // => Option.some("hello")
|
|
809
827
|
* ```
|
|
810
828
|
*
|
|
811
|
-
* @category
|
|
829
|
+
* @category transforming
|
|
812
830
|
* @since 4.0.0
|
|
813
831
|
*/
|
|
814
832
|
export function trim<E extends string>(): Getter<string, E> {
|
|
@@ -824,13 +842,14 @@ export function trim<E extends string>(): Getter<string, E> {
|
|
|
824
842
|
*
|
|
825
843
|
* **Example** (Capitalizing a string)
|
|
826
844
|
*
|
|
827
|
-
* ```ts
|
|
828
|
-
* import { SchemaGetter } from "effect"
|
|
845
|
+
* ```ts import.meta.vitest
|
|
846
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
829
847
|
*
|
|
830
848
|
* const cap = SchemaGetter.capitalize<string>()
|
|
849
|
+
* await Effect.runPromise(cap.run(Option.some("hello"), {})) // => Option.some("Hello")
|
|
831
850
|
* ```
|
|
832
851
|
*
|
|
833
|
-
* @category
|
|
852
|
+
* @category transforming
|
|
834
853
|
* @since 4.0.0
|
|
835
854
|
*/
|
|
836
855
|
export function capitalize<E extends string>(): Getter<string, E> {
|
|
@@ -846,13 +865,14 @@ export function capitalize<E extends string>(): Getter<string, E> {
|
|
|
846
865
|
*
|
|
847
866
|
* **Example** (Uncapitalizing a string)
|
|
848
867
|
*
|
|
849
|
-
* ```ts
|
|
850
|
-
* import { SchemaGetter } from "effect"
|
|
868
|
+
* ```ts import.meta.vitest
|
|
869
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
851
870
|
*
|
|
852
871
|
* const uncap = SchemaGetter.uncapitalize<string>()
|
|
872
|
+
* await Effect.runPromise(uncap.run(Option.some("Hello"), {})) // => Option.some("hello")
|
|
853
873
|
* ```
|
|
854
874
|
*
|
|
855
|
-
* @category
|
|
875
|
+
* @category transforming
|
|
856
876
|
* @since 4.0.0
|
|
857
877
|
*/
|
|
858
878
|
export function uncapitalize<E extends string>(): Getter<string, E> {
|
|
@@ -868,15 +888,16 @@ export function uncapitalize<E extends string>(): Getter<string, E> {
|
|
|
868
888
|
*
|
|
869
889
|
* **Example** (Converting snake case to camel case)
|
|
870
890
|
*
|
|
871
|
-
* ```ts
|
|
872
|
-
* import { SchemaGetter } from "effect"
|
|
891
|
+
* ```ts import.meta.vitest
|
|
892
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
873
893
|
*
|
|
874
894
|
* const toCamel = SchemaGetter.snakeToCamel<string>()
|
|
895
|
+
* await Effect.runPromise(toCamel.run(Option.some("user_name"), {})) // => Option.some("userName")
|
|
875
896
|
* ```
|
|
876
897
|
*
|
|
877
898
|
* @see {@link camelToSnake} for the inverse operation
|
|
878
899
|
*
|
|
879
|
-
* @category
|
|
900
|
+
* @category transforming
|
|
880
901
|
* @since 4.0.0
|
|
881
902
|
*/
|
|
882
903
|
export function snakeToCamel<E extends string>(): Getter<string, E> {
|
|
@@ -892,15 +913,16 @@ export function snakeToCamel<E extends string>(): Getter<string, E> {
|
|
|
892
913
|
*
|
|
893
914
|
* **Example** (Converting camel case to snake case)
|
|
894
915
|
*
|
|
895
|
-
* ```ts
|
|
896
|
-
* import { SchemaGetter } from "effect"
|
|
916
|
+
* ```ts import.meta.vitest
|
|
917
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
897
918
|
*
|
|
898
919
|
* const toSnake = SchemaGetter.camelToSnake<string>()
|
|
920
|
+
* await Effect.runPromise(toSnake.run(Option.some("userName"), {})) // => Option.some("user_name")
|
|
899
921
|
* ```
|
|
900
922
|
*
|
|
901
923
|
* @see {@link snakeToCamel} for the inverse operation
|
|
902
924
|
*
|
|
903
|
-
* @category
|
|
925
|
+
* @category transforming
|
|
904
926
|
* @since 4.0.0
|
|
905
927
|
*/
|
|
906
928
|
export function camelToSnake<E extends string>(): Getter<string, E> {
|
|
@@ -916,15 +938,16 @@ export function camelToSnake<E extends string>(): Getter<string, E> {
|
|
|
916
938
|
*
|
|
917
939
|
* **Example** (Converting to lowercase)
|
|
918
940
|
*
|
|
919
|
-
* ```ts
|
|
920
|
-
* import { SchemaGetter } from "effect"
|
|
941
|
+
* ```ts import.meta.vitest
|
|
942
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
921
943
|
*
|
|
922
944
|
* const lower = SchemaGetter.toLowerCase<string>()
|
|
945
|
+
* await Effect.runPromise(lower.run(Option.some("HELLO"), {})) // => Option.some("hello")
|
|
923
946
|
* ```
|
|
924
947
|
*
|
|
925
948
|
* @see {@link toUpperCase} for the inverse operation
|
|
926
949
|
*
|
|
927
|
-
* @category
|
|
950
|
+
* @category transforming
|
|
928
951
|
* @since 4.0.0
|
|
929
952
|
*/
|
|
930
953
|
export function toLowerCase<E extends string>(): Getter<string, E> {
|
|
@@ -940,15 +963,16 @@ export function toLowerCase<E extends string>(): Getter<string, E> {
|
|
|
940
963
|
*
|
|
941
964
|
* **Example** (Converting to uppercase)
|
|
942
965
|
*
|
|
943
|
-
* ```ts
|
|
944
|
-
* import { SchemaGetter } from "effect"
|
|
966
|
+
* ```ts import.meta.vitest
|
|
967
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
945
968
|
*
|
|
946
969
|
* const upper = SchemaGetter.toUpperCase<string>()
|
|
970
|
+
* await Effect.runPromise(upper.run(Option.some("hello"), {})) // => Option.some("HELLO")
|
|
947
971
|
* ```
|
|
948
972
|
*
|
|
949
973
|
* @see {@link toLowerCase} for the inverse operation
|
|
950
974
|
*
|
|
951
|
-
* @category
|
|
975
|
+
* @category transforming
|
|
952
976
|
* @since 4.0.0
|
|
953
977
|
*/
|
|
954
978
|
export function toUpperCase<E extends string>(): Getter<string, E> {
|
|
@@ -972,20 +996,20 @@ type ParseJsonOptions = {
|
|
|
972
996
|
* - Skips `None` inputs.
|
|
973
997
|
* - Without `reviver`: returns `Schema.MutableJson` (typed JSON).
|
|
974
998
|
* - With `reviver`: returns `unknown` (reviver may produce arbitrary values).
|
|
975
|
-
* - On parse failure, fails with `SchemaIssue.InvalidValue` containing
|
|
999
|
+
* - On parse failure, fails with `SchemaIssue.InvalidValue` containing a static message.
|
|
976
1000
|
*
|
|
977
1001
|
* **Example** (Parsing JSON)
|
|
978
1002
|
*
|
|
979
|
-
* ```ts
|
|
980
|
-
* import { SchemaGetter } from "effect"
|
|
1003
|
+
* ```ts import.meta.vitest
|
|
1004
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
981
1005
|
*
|
|
982
1006
|
* const parse = SchemaGetter.parseJson<string>()
|
|
983
|
-
*
|
|
1007
|
+
* await Effect.runPromise(parse.run(Option.some("{\"a\":1}"), {})) // => Option.some({ a: 1 })
|
|
984
1008
|
* ```
|
|
985
1009
|
*
|
|
986
1010
|
* @see {@link stringifyJson} for the inverse operation
|
|
987
1011
|
*
|
|
988
|
-
* @category
|
|
1012
|
+
* @category decoding
|
|
989
1013
|
* @since 4.0.0
|
|
990
1014
|
*/
|
|
991
1015
|
export function parseJson<E extends string>(): Getter<Schema.MutableJson, E>
|
|
@@ -994,13 +1018,24 @@ export function parseJson<E extends string>(options?: ParseJsonOptions | undefin
|
|
|
994
1018
|
return onSome((input) =>
|
|
995
1019
|
Effect.try({
|
|
996
1020
|
try: () => Option.some(JSON.parse(input, options?.reviver)),
|
|
997
|
-
catch: (
|
|
1021
|
+
catch: () => new SchemaIssue.InvalidValue({ message: "Expected a valid JSON string" })
|
|
998
1022
|
})
|
|
999
1023
|
)
|
|
1000
1024
|
}
|
|
1001
1025
|
|
|
1026
|
+
/**
|
|
1027
|
+
* Replacer function or property allowlist accepted by `JSON.stringify`.
|
|
1028
|
+
*
|
|
1029
|
+
* @category utility types
|
|
1030
|
+
* @since 4.0.0
|
|
1031
|
+
*/
|
|
1032
|
+
export type JsonReplacer =
|
|
1033
|
+
| ((this: any, key: string, value: any) => any)
|
|
1034
|
+
| Array<string | number>
|
|
1035
|
+
| null
|
|
1036
|
+
|
|
1002
1037
|
type StringifyJsonOptions = {
|
|
1003
|
-
readonly replacer?:
|
|
1038
|
+
readonly replacer?: JsonReplacer | undefined
|
|
1004
1039
|
readonly space?: Parameters<typeof JSON.stringify>[2]
|
|
1005
1040
|
}
|
|
1006
1041
|
|
|
@@ -1015,33 +1050,36 @@ type StringifyJsonOptions = {
|
|
|
1015
1050
|
* **Details**
|
|
1016
1051
|
*
|
|
1017
1052
|
* - Skips `None` inputs.
|
|
1018
|
-
* -
|
|
1053
|
+
* - If `JSON.stringify` throws or returns `undefined`, fails with
|
|
1019
1054
|
* `SchemaIssue.InvalidValue`.
|
|
1020
1055
|
* - Supports optional `replacer` and `space` options, matching
|
|
1021
1056
|
* `JSON.stringify`.
|
|
1022
|
-
* - If `JSON.stringify` returns `undefined`, such as for `undefined`,
|
|
1023
|
-
* functions, symbols, or a replacer that removes the root value, that
|
|
1024
|
-
* `undefined` result is returned rather than converted into an `Issue`.
|
|
1025
1057
|
*
|
|
1026
1058
|
* **Example** (Stringifying JSON)
|
|
1027
1059
|
*
|
|
1028
|
-
* ```ts
|
|
1029
|
-
* import { SchemaGetter } from "effect"
|
|
1060
|
+
* ```ts import.meta.vitest
|
|
1061
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1030
1062
|
*
|
|
1031
1063
|
* const stringify = SchemaGetter.stringifyJson()
|
|
1032
|
-
*
|
|
1064
|
+
* await Effect.runPromise(stringify.run(Option.some({ a: 1 }), {})) // => Option.some("{\"a\":1}")
|
|
1033
1065
|
* ```
|
|
1034
1066
|
*
|
|
1035
1067
|
* @see {@link parseJson} for the inverse operation
|
|
1036
1068
|
*
|
|
1037
|
-
* @category
|
|
1069
|
+
* @category encoding
|
|
1038
1070
|
* @since 4.0.0
|
|
1039
1071
|
*/
|
|
1040
1072
|
export function stringifyJson(options?: StringifyJsonOptions): Getter<string, unknown> {
|
|
1041
1073
|
return onSome((input) =>
|
|
1042
1074
|
Effect.try({
|
|
1043
|
-
try: () =>
|
|
1044
|
-
|
|
1075
|
+
try: () => {
|
|
1076
|
+
const output = JSON.stringify(input, options?.replacer as any, options?.space)
|
|
1077
|
+
if (output === undefined) {
|
|
1078
|
+
throw new TypeError("Value cannot be represented as JSON")
|
|
1079
|
+
}
|
|
1080
|
+
return Option.some(output)
|
|
1081
|
+
},
|
|
1082
|
+
catch: () => new SchemaIssue.InvalidValue({ message: "Expected a JSON-serializable value" })
|
|
1045
1083
|
})
|
|
1046
1084
|
)
|
|
1047
1085
|
}
|
|
@@ -1062,17 +1100,17 @@ export function stringifyJson(options?: StringifyJsonOptions): Getter<string, un
|
|
|
1062
1100
|
*
|
|
1063
1101
|
* **Example** (Parsing a key-value string)
|
|
1064
1102
|
*
|
|
1065
|
-
* ```ts
|
|
1066
|
-
* import { SchemaGetter } from "effect"
|
|
1103
|
+
* ```ts import.meta.vitest
|
|
1104
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1067
1105
|
*
|
|
1068
1106
|
* const parse = SchemaGetter.splitKeyValue<string>()
|
|
1069
|
-
*
|
|
1107
|
+
* await Effect.runPromise(parse.run(Option.some("a=1,b=2"), {})) // => Option.some({ a: "1", b: "2" })
|
|
1070
1108
|
* ```
|
|
1071
1109
|
*
|
|
1072
1110
|
* @see {@link joinKeyValue} for the inverse operation
|
|
1073
1111
|
* @see {@link split} to split into an array of strings
|
|
1074
1112
|
*
|
|
1075
|
-
* @category
|
|
1113
|
+
* @category splitting
|
|
1076
1114
|
* @since 4.0.0
|
|
1077
1115
|
*/
|
|
1078
1116
|
export function splitKeyValue<E extends string>(options?: {
|
|
@@ -1085,7 +1123,7 @@ export function splitKeyValue<E extends string>(options?: {
|
|
|
1085
1123
|
input.split(separator).reduce((acc, pair) => {
|
|
1086
1124
|
const [key, value] = pair.split(keyValueSeparator)
|
|
1087
1125
|
if (key && value) {
|
|
1088
|
-
acc
|
|
1126
|
+
InternalRecord.assignProperty(acc, key, value)
|
|
1089
1127
|
}
|
|
1090
1128
|
return acc
|
|
1091
1129
|
}, {} as Record<string, string>)
|
|
@@ -1108,16 +1146,16 @@ export function splitKeyValue<E extends string>(options?: {
|
|
|
1108
1146
|
*
|
|
1109
1147
|
* **Example** (Joining key-value records)
|
|
1110
1148
|
*
|
|
1111
|
-
* ```ts
|
|
1112
|
-
* import { SchemaGetter } from "effect"
|
|
1149
|
+
* ```ts import.meta.vitest
|
|
1150
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1113
1151
|
*
|
|
1114
1152
|
* const join = SchemaGetter.joinKeyValue()
|
|
1115
|
-
*
|
|
1153
|
+
* await Effect.runPromise(join.run(Option.some({ a: "1", b: "2" }), {})) // => Option.some("a=1,b=2")
|
|
1116
1154
|
* ```
|
|
1117
1155
|
*
|
|
1118
1156
|
* @see {@link splitKeyValue} for the inverse operation
|
|
1119
1157
|
*
|
|
1120
|
-
* @category
|
|
1158
|
+
* @category combining
|
|
1121
1159
|
* @since 4.0.0
|
|
1122
1160
|
*/
|
|
1123
1161
|
export function joinKeyValue<E extends Record<PropertyKey, string>>(options?: {
|
|
@@ -1146,17 +1184,16 @@ export function joinKeyValue<E extends Record<PropertyKey, string>>(options?: {
|
|
|
1146
1184
|
*
|
|
1147
1185
|
* **Example** (Splitting a comma-separated string)
|
|
1148
1186
|
*
|
|
1149
|
-
* ```ts
|
|
1150
|
-
* import { SchemaGetter } from "effect"
|
|
1187
|
+
* ```ts import.meta.vitest
|
|
1188
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1151
1189
|
*
|
|
1152
1190
|
* const splitComma = SchemaGetter.split<string>()
|
|
1153
|
-
*
|
|
1154
|
-
* // "" -> []
|
|
1191
|
+
* await Effect.runPromise(splitComma.run(Option.some("a,b,c"), {})) // => Option.some(["a", "b", "c"])
|
|
1155
1192
|
* ```
|
|
1156
1193
|
*
|
|
1157
1194
|
* @see {@link splitKeyValue} when values are key-value pairs
|
|
1158
1195
|
*
|
|
1159
|
-
* @category
|
|
1196
|
+
* @category splitting
|
|
1160
1197
|
* @since 4.0.0
|
|
1161
1198
|
*/
|
|
1162
1199
|
export function split<E extends string>(options?: {
|
|
@@ -1175,17 +1212,18 @@ export function split<E extends string>(options?: {
|
|
|
1175
1212
|
*
|
|
1176
1213
|
* **Example** (Encoding to Base64)
|
|
1177
1214
|
*
|
|
1178
|
-
* ```ts
|
|
1179
|
-
* import { SchemaGetter } from "effect"
|
|
1215
|
+
* ```ts import.meta.vitest
|
|
1216
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1180
1217
|
*
|
|
1181
1218
|
* const encode = SchemaGetter.encodeBase64<Uint8Array>()
|
|
1219
|
+
* await Effect.runPromise(encode.run(Option.some(new Uint8Array([1, 2, 3])), {})) // => Option.some("AQID")
|
|
1182
1220
|
* ```
|
|
1183
1221
|
*
|
|
1184
1222
|
* @see {@link decodeBase64} for the inverse operation to `Uint8Array`
|
|
1185
1223
|
* @see {@link decodeBase64String} for the inverse operation to `string`
|
|
1186
1224
|
* @see {@link encodeBase64Url} for the URL-safe variant
|
|
1187
1225
|
*
|
|
1188
|
-
* @category
|
|
1226
|
+
* @category encoding
|
|
1189
1227
|
* @since 4.0.0
|
|
1190
1228
|
*/
|
|
1191
1229
|
export function encodeBase64<E extends Uint8Array | string>(): Getter<string, E> {
|
|
@@ -1201,17 +1239,18 @@ export function encodeBase64<E extends Uint8Array | string>(): Getter<string, E>
|
|
|
1201
1239
|
*
|
|
1202
1240
|
* **Example** (Encoding to Base64Url)
|
|
1203
1241
|
*
|
|
1204
|
-
* ```ts
|
|
1205
|
-
* import { SchemaGetter } from "effect"
|
|
1242
|
+
* ```ts import.meta.vitest
|
|
1243
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1206
1244
|
*
|
|
1207
1245
|
* const encode = SchemaGetter.encodeBase64Url<Uint8Array>()
|
|
1246
|
+
* await Effect.runPromise(encode.run(Option.some(new Uint8Array([251, 255])), {})) // => Option.some("-_8")
|
|
1208
1247
|
* ```
|
|
1209
1248
|
*
|
|
1210
1249
|
* @see {@link decodeBase64Url} for the inverse operation to `Uint8Array`
|
|
1211
1250
|
* @see {@link decodeBase64UrlString} for the inverse operation to `string`
|
|
1212
1251
|
* @see {@link encodeBase64} for the standard Base64 variant
|
|
1213
1252
|
*
|
|
1214
|
-
* @category
|
|
1253
|
+
* @category encoding
|
|
1215
1254
|
* @since 4.0.0
|
|
1216
1255
|
*/
|
|
1217
1256
|
export function encodeBase64Url<E extends Uint8Array | string>(): Getter<string, E> {
|
|
@@ -1227,16 +1266,17 @@ export function encodeBase64Url<E extends Uint8Array | string>(): Getter<string,
|
|
|
1227
1266
|
*
|
|
1228
1267
|
* **Example** (Encoding to hex)
|
|
1229
1268
|
*
|
|
1230
|
-
* ```ts
|
|
1231
|
-
* import { SchemaGetter } from "effect"
|
|
1269
|
+
* ```ts import.meta.vitest
|
|
1270
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1232
1271
|
*
|
|
1233
1272
|
* const encode = SchemaGetter.encodeHex<Uint8Array>()
|
|
1273
|
+
* await Effect.runPromise(encode.run(Option.some(new Uint8Array([1, 2, 3])), {})) // => Option.some("010203")
|
|
1234
1274
|
* ```
|
|
1235
1275
|
*
|
|
1236
1276
|
* @see {@link decodeHex} for the inverse operation to `Uint8Array`
|
|
1237
1277
|
* @see {@link decodeHexString} for the inverse operation to `string`
|
|
1238
1278
|
*
|
|
1239
|
-
* @category
|
|
1279
|
+
* @category encoding
|
|
1240
1280
|
* @since 4.0.0
|
|
1241
1281
|
*/
|
|
1242
1282
|
export function encodeHex<E extends Uint8Array | string>(): Getter<string, E> {
|
|
@@ -1252,24 +1292,25 @@ export function encodeHex<E extends Uint8Array | string>(): Getter<string, E> {
|
|
|
1252
1292
|
*
|
|
1253
1293
|
* **Example** (Decoding Base64 to bytes)
|
|
1254
1294
|
*
|
|
1255
|
-
* ```ts
|
|
1256
|
-
* import { SchemaGetter } from "effect"
|
|
1295
|
+
* ```ts import.meta.vitest
|
|
1296
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1257
1297
|
*
|
|
1258
1298
|
* const decode = SchemaGetter.decodeBase64<string>()
|
|
1259
|
-
*
|
|
1299
|
+
* const result = await Effect.runPromise(decode.run(Option.some("AQID"), {}))
|
|
1300
|
+
* Option.map(result, Array.from) // => Option.some([1, 2, 3])
|
|
1260
1301
|
* ```
|
|
1261
1302
|
*
|
|
1262
1303
|
* @see {@link decodeBase64String} to decode to `string` instead
|
|
1263
1304
|
* @see {@link encodeBase64} for the inverse operation
|
|
1264
1305
|
*
|
|
1265
|
-
* @category
|
|
1306
|
+
* @category decoding
|
|
1266
1307
|
* @since 4.0.0
|
|
1267
1308
|
*/
|
|
1268
1309
|
export function decodeBase64<E extends string>(): Getter<Uint8Array, E> {
|
|
1269
1310
|
return transformOrFail((input) =>
|
|
1270
1311
|
Effect.mapErrorEager(
|
|
1271
1312
|
Effect.fromResult(Encoding.decodeBase64(input)),
|
|
1272
|
-
(
|
|
1313
|
+
() => new SchemaIssue.InvalidValue({ message: "Expected a valid Base64 string" })
|
|
1273
1314
|
)
|
|
1274
1315
|
)
|
|
1275
1316
|
}
|
|
@@ -1283,23 +1324,23 @@ export function decodeBase64<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1283
1324
|
*
|
|
1284
1325
|
* **Example** (Decoding Base64 to string)
|
|
1285
1326
|
*
|
|
1286
|
-
* ```ts
|
|
1287
|
-
* import { SchemaGetter } from "effect"
|
|
1327
|
+
* ```ts import.meta.vitest
|
|
1328
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1288
1329
|
*
|
|
1289
1330
|
* const decode = SchemaGetter.decodeBase64String<string>()
|
|
1290
|
-
*
|
|
1331
|
+
* await Effect.runPromise(decode.run(Option.some("aGVsbG8="), {})) // => Option.some("hello")
|
|
1291
1332
|
* ```
|
|
1292
1333
|
*
|
|
1293
1334
|
* @see {@link decodeBase64} to decode to `Uint8Array` instead
|
|
1294
1335
|
* @see {@link encodeBase64} for the inverse operation
|
|
1295
1336
|
*
|
|
1296
|
-
* @category
|
|
1337
|
+
* @category decoding
|
|
1297
1338
|
* @since 4.0.0
|
|
1298
1339
|
*/
|
|
1299
1340
|
export function decodeBase64String<E extends string>(): Getter<string, E> {
|
|
1300
1341
|
return transformOrFail((input) =>
|
|
1301
1342
|
Result.match(Encoding.decodeBase64String(input), {
|
|
1302
|
-
onFailure: (
|
|
1343
|
+
onFailure: () => Effect.fail(new SchemaIssue.InvalidValue({ message: "Expected a valid Base64 string" })),
|
|
1303
1344
|
onSuccess: Effect.succeed
|
|
1304
1345
|
})
|
|
1305
1346
|
)
|
|
@@ -1314,23 +1355,24 @@ export function decodeBase64String<E extends string>(): Getter<string, E> {
|
|
|
1314
1355
|
*
|
|
1315
1356
|
* **Example** (Decoding Base64Url to bytes)
|
|
1316
1357
|
*
|
|
1317
|
-
* ```ts
|
|
1318
|
-
* import { SchemaGetter } from "effect"
|
|
1358
|
+
* ```ts import.meta.vitest
|
|
1359
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1319
1360
|
*
|
|
1320
1361
|
* const decode = SchemaGetter.decodeBase64Url<string>()
|
|
1321
|
-
*
|
|
1362
|
+
* const result = await Effect.runPromise(decode.run(Option.some("-_8="), {}))
|
|
1363
|
+
* Option.map(result, Array.from) // => Option.some([251, 255])
|
|
1322
1364
|
* ```
|
|
1323
1365
|
*
|
|
1324
1366
|
* @see {@link decodeBase64UrlString} to decode to `string` instead
|
|
1325
1367
|
* @see {@link encodeBase64Url} for the inverse operation
|
|
1326
1368
|
*
|
|
1327
|
-
* @category
|
|
1369
|
+
* @category decoding
|
|
1328
1370
|
* @since 4.0.0
|
|
1329
1371
|
*/
|
|
1330
1372
|
export function decodeBase64Url<E extends string>(): Getter<Uint8Array, E> {
|
|
1331
1373
|
return transformOrFail((input) =>
|
|
1332
1374
|
Result.match(Encoding.decodeBase64Url(input), {
|
|
1333
|
-
onFailure: (
|
|
1375
|
+
onFailure: () => Effect.fail(new SchemaIssue.InvalidValue({ message: "Expected a valid Base64Url string" })),
|
|
1334
1376
|
onSuccess: Effect.succeed
|
|
1335
1377
|
})
|
|
1336
1378
|
)
|
|
@@ -1345,23 +1387,23 @@ export function decodeBase64Url<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1345
1387
|
*
|
|
1346
1388
|
* **Example** (Decoding Base64Url to string)
|
|
1347
1389
|
*
|
|
1348
|
-
* ```ts
|
|
1349
|
-
* import { SchemaGetter } from "effect"
|
|
1390
|
+
* ```ts import.meta.vitest
|
|
1391
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1350
1392
|
*
|
|
1351
1393
|
* const decode = SchemaGetter.decodeBase64UrlString<string>()
|
|
1352
|
-
*
|
|
1394
|
+
* await Effect.runPromise(decode.run(Option.some("aGVsbG8"), {})) // => Option.some("hello")
|
|
1353
1395
|
* ```
|
|
1354
1396
|
*
|
|
1355
1397
|
* @see {@link decodeBase64Url} to decode to `Uint8Array` instead
|
|
1356
1398
|
* @see {@link encodeBase64Url} for the inverse operation
|
|
1357
1399
|
*
|
|
1358
|
-
* @category
|
|
1400
|
+
* @category decoding
|
|
1359
1401
|
* @since 4.0.0
|
|
1360
1402
|
*/
|
|
1361
1403
|
export function decodeBase64UrlString<E extends string>(): Getter<string, E> {
|
|
1362
1404
|
return transformOrFail((input) =>
|
|
1363
1405
|
Result.match(Encoding.decodeBase64UrlString(input), {
|
|
1364
|
-
onFailure: (
|
|
1406
|
+
onFailure: () => Effect.fail(new SchemaIssue.InvalidValue({ message: "Expected a valid Base64Url string" })),
|
|
1365
1407
|
onSuccess: Effect.succeed
|
|
1366
1408
|
})
|
|
1367
1409
|
)
|
|
@@ -1376,23 +1418,27 @@ export function decodeBase64UrlString<E extends string>(): Getter<string, E> {
|
|
|
1376
1418
|
*
|
|
1377
1419
|
* **Example** (Decoding hex to bytes)
|
|
1378
1420
|
*
|
|
1379
|
-
* ```ts
|
|
1380
|
-
* import { SchemaGetter } from "effect"
|
|
1421
|
+
* ```ts import.meta.vitest
|
|
1422
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1381
1423
|
*
|
|
1382
1424
|
* const decode = SchemaGetter.decodeHex<string>()
|
|
1383
|
-
*
|
|
1425
|
+
* const result = await Effect.runPromise(decode.run(Option.some("010203"), {}))
|
|
1426
|
+
* Option.map(result, Array.from) // => Option.some([1, 2, 3])
|
|
1384
1427
|
* ```
|
|
1385
1428
|
*
|
|
1386
1429
|
* @see {@link decodeHexString} to decode to `string` instead
|
|
1387
1430
|
* @see {@link encodeHex} for the inverse operation
|
|
1388
1431
|
*
|
|
1389
|
-
* @category
|
|
1432
|
+
* @category decoding
|
|
1390
1433
|
* @since 4.0.0
|
|
1391
1434
|
*/
|
|
1392
1435
|
export function decodeHex<E extends string>(): Getter<Uint8Array, E> {
|
|
1393
1436
|
return transformOrFail((input) =>
|
|
1394
1437
|
Result.match(Encoding.decodeHex(input), {
|
|
1395
|
-
onFailure: (
|
|
1438
|
+
onFailure: () =>
|
|
1439
|
+
Effect.fail(
|
|
1440
|
+
new SchemaIssue.InvalidValue({ message: "Expected a valid hexadecimal string" })
|
|
1441
|
+
),
|
|
1396
1442
|
onSuccess: Effect.succeed
|
|
1397
1443
|
})
|
|
1398
1444
|
)
|
|
@@ -1407,23 +1453,26 @@ export function decodeHex<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1407
1453
|
*
|
|
1408
1454
|
* **Example** (Decoding hex to string)
|
|
1409
1455
|
*
|
|
1410
|
-
* ```ts
|
|
1411
|
-
* import { SchemaGetter } from "effect"
|
|
1456
|
+
* ```ts import.meta.vitest
|
|
1457
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1412
1458
|
*
|
|
1413
1459
|
* const decode = SchemaGetter.decodeHexString<string>()
|
|
1414
|
-
*
|
|
1460
|
+
* await Effect.runPromise(decode.run(Option.some("68656c6c6f"), {})) // => Option.some("hello")
|
|
1415
1461
|
* ```
|
|
1416
1462
|
*
|
|
1417
1463
|
* @see {@link decodeHex} to decode to `Uint8Array` instead
|
|
1418
1464
|
* @see {@link encodeHex} for the inverse operation
|
|
1419
1465
|
*
|
|
1420
|
-
* @category
|
|
1466
|
+
* @category decoding
|
|
1421
1467
|
* @since 4.0.0
|
|
1422
1468
|
*/
|
|
1423
1469
|
export function decodeHexString<E extends string>(): Getter<string, E> {
|
|
1424
1470
|
return transformOrFail((input) =>
|
|
1425
1471
|
Result.match(Encoding.decodeHexString(input), {
|
|
1426
|
-
onFailure: (
|
|
1472
|
+
onFailure: () =>
|
|
1473
|
+
Effect.fail(
|
|
1474
|
+
new SchemaIssue.InvalidValue({ message: "Expected a valid hexadecimal string" })
|
|
1475
|
+
),
|
|
1427
1476
|
onSuccess: Effect.succeed
|
|
1428
1477
|
})
|
|
1429
1478
|
)
|
|
@@ -1440,15 +1489,16 @@ export function decodeHexString<E extends string>(): Getter<string, E> {
|
|
|
1440
1489
|
*
|
|
1441
1490
|
* **Example** (Encoding a URI component)
|
|
1442
1491
|
*
|
|
1443
|
-
* ```ts
|
|
1444
|
-
* import { SchemaGetter } from "effect"
|
|
1492
|
+
* ```ts import.meta.vitest
|
|
1493
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1445
1494
|
*
|
|
1446
1495
|
* const encode = SchemaGetter.encodeUriComponent<string>()
|
|
1496
|
+
* await Effect.runPromise(encode.run(Option.some("hello world"), {})) // => Option.some("hello%20world")
|
|
1447
1497
|
* ```
|
|
1448
1498
|
*
|
|
1449
1499
|
* @see {@link decodeUriComponent} for the inverse operation
|
|
1450
1500
|
*
|
|
1451
|
-
* @category
|
|
1501
|
+
* @category encoding
|
|
1452
1502
|
* @since 4.0.0
|
|
1453
1503
|
*/
|
|
1454
1504
|
export function encodeUriComponent<E extends string>(): Getter<string, E> {
|
|
@@ -1464,26 +1514,26 @@ export function encodeUriComponent<E extends string>(): Getter<string, E> {
|
|
|
1464
1514
|
*
|
|
1465
1515
|
* **Example** (Decoding a URI component)
|
|
1466
1516
|
*
|
|
1467
|
-
* ```ts
|
|
1468
|
-
* import { SchemaGetter } from "effect"
|
|
1517
|
+
* ```ts import.meta.vitest
|
|
1518
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1469
1519
|
*
|
|
1470
1520
|
* const decode = SchemaGetter.decodeUriComponent<string>()
|
|
1471
|
-
*
|
|
1521
|
+
* await Effect.runPromise(decode.run(Option.some("hello%20world"), {})) // => Option.some("hello world")
|
|
1472
1522
|
* ```
|
|
1473
1523
|
*
|
|
1474
1524
|
* @see {@link encodeUriComponent} for the inverse operation
|
|
1475
1525
|
*
|
|
1476
|
-
* @category
|
|
1526
|
+
* @category decoding
|
|
1477
1527
|
* @since 4.0.0
|
|
1478
1528
|
*/
|
|
1479
1529
|
export function decodeUriComponent<E extends string>(): Getter<string, E> {
|
|
1480
1530
|
return transformOrFail((input) => {
|
|
1481
1531
|
try {
|
|
1482
1532
|
return Effect.succeed(globalThis.decodeURIComponent(input))
|
|
1483
|
-
} catch
|
|
1533
|
+
} catch {
|
|
1484
1534
|
return Effect.fail(
|
|
1485
|
-
new SchemaIssue.InvalidValue(
|
|
1486
|
-
message:
|
|
1535
|
+
new SchemaIssue.InvalidValue({
|
|
1536
|
+
message: "Expected a valid URI component"
|
|
1487
1537
|
})
|
|
1488
1538
|
)
|
|
1489
1539
|
}
|
|
@@ -1509,23 +1559,23 @@ export function decodeUriComponent<E extends string>(): Getter<string, E> {
|
|
|
1509
1559
|
*
|
|
1510
1560
|
* **Example** (Parsing DateTime)
|
|
1511
1561
|
*
|
|
1512
|
-
* ```ts
|
|
1513
|
-
* import { SchemaGetter } from "effect"
|
|
1562
|
+
* ```ts import.meta.vitest
|
|
1563
|
+
* import { DateTime, Effect, Option, SchemaGetter } from "effect"
|
|
1514
1564
|
*
|
|
1515
1565
|
* const parseDate = SchemaGetter.dateTimeUtcFromInput<string>()
|
|
1516
|
-
*
|
|
1566
|
+
* const result = await Effect.runPromise(parseDate.run(Option.some("2024-01-01T00:00:00Z"), {}))
|
|
1567
|
+
* Option.map(result, DateTime.toEpochMillis) // => Option.some(1704067200000)
|
|
1517
1568
|
* ```
|
|
1518
1569
|
*
|
|
1519
1570
|
* @see {@link Date} for a simpler coercion to `Date` (no validation)
|
|
1520
1571
|
*
|
|
1521
|
-
* @category
|
|
1572
|
+
* @category converting
|
|
1522
1573
|
* @since 4.0.0
|
|
1523
1574
|
*/
|
|
1524
1575
|
export function dateTimeUtcFromInput<E extends DateTime.DateTime.Input>(): Getter<DateTime.Utc, E> {
|
|
1525
1576
|
return transformOrFail((input) => {
|
|
1526
1577
|
return Option.match(DateTime.make(input), {
|
|
1527
|
-
onNone: () =>
|
|
1528
|
-
Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: "Invalid DateTime input" })),
|
|
1578
|
+
onNone: () => Effect.fail(new SchemaIssue.InvalidValue({ message: "Invalid DateTime input" })),
|
|
1529
1579
|
onSome: (dt) => Effect.succeed(DateTime.toUtc(dt))
|
|
1530
1580
|
})
|
|
1531
1581
|
})
|
|
@@ -1547,18 +1597,20 @@ export function dateTimeUtcFromInput<E extends DateTime.DateTime.Input>(): Gette
|
|
|
1547
1597
|
*
|
|
1548
1598
|
* **Example** (Decoding FormData)
|
|
1549
1599
|
*
|
|
1550
|
-
* ```ts
|
|
1551
|
-
* import { SchemaGetter } from "effect"
|
|
1600
|
+
* ```ts import.meta.vitest
|
|
1601
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1552
1602
|
*
|
|
1553
1603
|
* const decode = SchemaGetter.decodeFormData()
|
|
1554
|
-
*
|
|
1604
|
+
* const formData = new FormData()
|
|
1605
|
+
* formData.append("user[name]", "Alice")
|
|
1606
|
+
* await Effect.runPromise(decode.run(Option.some(formData), {})) // => Option.some({ user: { name: "Alice" } })
|
|
1555
1607
|
* ```
|
|
1556
1608
|
*
|
|
1557
|
-
* @see {@link encodeFormData} for the
|
|
1609
|
+
* @see {@link encodeFormData} for the corresponding encoder
|
|
1558
1610
|
* @see {@link makeTreeRecord} for the underlying bracket-path parser
|
|
1559
1611
|
* @see {@link decodeURLSearchParams} for the URLSearchParams variant
|
|
1560
1612
|
*
|
|
1561
|
-
* @category
|
|
1613
|
+
* @category decoding
|
|
1562
1614
|
* @since 4.0.0
|
|
1563
1615
|
*/
|
|
1564
1616
|
export function decodeFormData(): Getter<Schema.TreeRecord<string | Blob>, FormData> {
|
|
@@ -1585,18 +1637,19 @@ const collectFormDataEntries = collectBracketPathEntries((value): value is strin
|
|
|
1585
1637
|
*
|
|
1586
1638
|
* **Example** (Encoding to FormData)
|
|
1587
1639
|
*
|
|
1588
|
-
* ```ts
|
|
1589
|
-
* import { SchemaGetter } from "effect"
|
|
1640
|
+
* ```ts import.meta.vitest
|
|
1641
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1590
1642
|
*
|
|
1591
1643
|
* const encode = SchemaGetter.encodeFormData()
|
|
1592
|
-
*
|
|
1644
|
+
* const result = await Effect.runPromise(encode.run(Option.some({ name: "Alice" }), {}))
|
|
1645
|
+
* Option.map(result, (formData) => formData.get("name")) // => Option.some("Alice")
|
|
1593
1646
|
* ```
|
|
1594
1647
|
*
|
|
1595
|
-
* @see {@link decodeFormData} for the
|
|
1648
|
+
* @see {@link decodeFormData} for the corresponding decoder
|
|
1596
1649
|
* @see {@link collectBracketPathEntries} for the underlying flattener
|
|
1597
1650
|
* @see {@link encodeURLSearchParams} for the URLSearchParams variant
|
|
1598
1651
|
*
|
|
1599
|
-
* @category
|
|
1652
|
+
* @category encoding
|
|
1600
1653
|
* @since 4.0.0
|
|
1601
1654
|
*/
|
|
1602
1655
|
export function encodeFormData(): Getter<FormData, unknown> {
|
|
@@ -1628,18 +1681,19 @@ export function encodeFormData(): Getter<FormData, unknown> {
|
|
|
1628
1681
|
*
|
|
1629
1682
|
* **Example** (Decoding URLSearchParams)
|
|
1630
1683
|
*
|
|
1631
|
-
* ```ts
|
|
1632
|
-
* import { SchemaGetter } from "effect"
|
|
1684
|
+
* ```ts import.meta.vitest
|
|
1685
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1633
1686
|
*
|
|
1634
1687
|
* const decode = SchemaGetter.decodeURLSearchParams()
|
|
1635
|
-
*
|
|
1688
|
+
* const params = new URLSearchParams("user[name]=Alice")
|
|
1689
|
+
* await Effect.runPromise(decode.run(Option.some(params), {})) // => Option.some({ user: { name: "Alice" } })
|
|
1636
1690
|
* ```
|
|
1637
1691
|
*
|
|
1638
|
-
* @see {@link encodeURLSearchParams} for the
|
|
1692
|
+
* @see {@link encodeURLSearchParams} for the corresponding encoder
|
|
1639
1693
|
* @see {@link makeTreeRecord} for the underlying bracket-path parser
|
|
1640
1694
|
* @see {@link decodeFormData} for the FormData variant
|
|
1641
1695
|
*
|
|
1642
|
-
* @category
|
|
1696
|
+
* @category decoding
|
|
1643
1697
|
* @since 4.0.0
|
|
1644
1698
|
*/
|
|
1645
1699
|
export function decodeURLSearchParams(): Getter<Schema.TreeRecord<string>, URLSearchParams> {
|
|
@@ -1663,18 +1717,19 @@ const collectURLSearchParamsEntries = collectBracketPathEntries(Predicate.isStri
|
|
|
1663
1717
|
*
|
|
1664
1718
|
* **Example** (Encoding to URLSearchParams)
|
|
1665
1719
|
*
|
|
1666
|
-
* ```ts
|
|
1667
|
-
* import { SchemaGetter } from "effect"
|
|
1720
|
+
* ```ts import.meta.vitest
|
|
1721
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1668
1722
|
*
|
|
1669
1723
|
* const encode = SchemaGetter.encodeURLSearchParams()
|
|
1670
|
-
*
|
|
1724
|
+
* const result = await Effect.runPromise(encode.run(Option.some({ name: "Alice" }), {}))
|
|
1725
|
+
* Option.map(result, (params) => params.toString()) // => Option.some("name=Alice")
|
|
1671
1726
|
* ```
|
|
1672
1727
|
*
|
|
1673
|
-
* @see {@link decodeURLSearchParams} for the
|
|
1728
|
+
* @see {@link decodeURLSearchParams} for the corresponding decoder
|
|
1674
1729
|
* @see {@link collectBracketPathEntries} for the underlying flattener
|
|
1675
1730
|
* @see {@link encodeFormData} for the FormData variant
|
|
1676
1731
|
*
|
|
1677
|
-
* @category
|
|
1732
|
+
* @category encoding
|
|
1678
1733
|
* @since 4.0.0
|
|
1679
1734
|
*/
|
|
1680
1735
|
export function encodeURLSearchParams(): Getter<URLSearchParams, unknown> {
|
|
@@ -1704,20 +1759,6 @@ function bracketPathToTokens(bracketPath: string): Array<string | number> {
|
|
|
1704
1759
|
.map((part) => (INDEX_REGEXP.test(part) ? globalThis.Number(part) : part))
|
|
1705
1760
|
}
|
|
1706
1761
|
|
|
1707
|
-
function getOrCreateContainer(
|
|
1708
|
-
self: any,
|
|
1709
|
-
key: PropertyKey,
|
|
1710
|
-
shouldBeArray: boolean
|
|
1711
|
-
): any {
|
|
1712
|
-
const current = Object.hasOwn(self, key) ? self[key] : undefined
|
|
1713
|
-
if (current !== undefined) {
|
|
1714
|
-
return current
|
|
1715
|
-
}
|
|
1716
|
-
const container = shouldBeArray ? [] : {}
|
|
1717
|
-
InternalRecord.set(self, key, container)
|
|
1718
|
-
return container
|
|
1719
|
-
}
|
|
1720
|
-
|
|
1721
1762
|
/**
|
|
1722
1763
|
* Builds a nested tree object from a list of bracket-path entries.
|
|
1723
1764
|
*
|
|
@@ -1740,31 +1781,47 @@ function getOrCreateContainer(
|
|
|
1740
1781
|
* - `"foo[]"` → append to array `foo`
|
|
1741
1782
|
* - `""` → real empty key
|
|
1742
1783
|
* - Duplicate keys for the same path are merged into arrays.
|
|
1784
|
+
* - If a structural path conflicts with a previous leaf or a different container
|
|
1785
|
+
* type, the later structural path replaces the conflicting value.
|
|
1786
|
+
* - The notation has no escaping for `.`, `[` or `]`, so keys containing these
|
|
1787
|
+
* delimiters cannot be round-tripped without changing their structure.
|
|
1743
1788
|
*
|
|
1744
1789
|
* **Example** (Building a tree from bracket paths)
|
|
1745
1790
|
*
|
|
1746
|
-
* ```ts
|
|
1791
|
+
* ```ts import.meta.vitest
|
|
1747
1792
|
* import { SchemaGetter } from "effect"
|
|
1748
1793
|
*
|
|
1749
|
-
*
|
|
1794
|
+
* SchemaGetter.makeTreeRecord([
|
|
1750
1795
|
* ["user[name]", "Alice"],
|
|
1751
1796
|
* ["user[tags][]", "admin"],
|
|
1752
1797
|
* ["user[tags][]", "editor"]
|
|
1753
|
-
* ])
|
|
1754
|
-
* // { user: { name: "Alice", tags: ["admin", "editor"] } }
|
|
1798
|
+
* ]) // => { user: { name: "Alice", tags: ["admin", "editor"] } }
|
|
1755
1799
|
* ```
|
|
1756
1800
|
*
|
|
1757
|
-
* @see {@link collectBracketPathEntries} for
|
|
1801
|
+
* @see {@link collectBracketPathEntries} for flattening trees into bracket-path entries
|
|
1758
1802
|
* @see {@link decodeFormData} for a higher-level FormData decoder
|
|
1759
1803
|
* @see {@link decodeURLSearchParams} for a higher-level URLSearchParams decoder
|
|
1760
1804
|
*
|
|
1761
|
-
* @category
|
|
1805
|
+
* @category constructors
|
|
1762
1806
|
* @since 4.0.0
|
|
1763
1807
|
*/
|
|
1764
1808
|
export function makeTreeRecord<A>(
|
|
1765
1809
|
bracketPathEntries: ReadonlyArray<readonly [bracketPath: string, value: A]>
|
|
1766
1810
|
): Schema.TreeRecord<A> {
|
|
1767
1811
|
const out: any = {}
|
|
1812
|
+
const containers = new WeakSet<object>()
|
|
1813
|
+
|
|
1814
|
+
function getOrCreateContainer(self: any, key: PropertyKey, shouldBeArray: boolean): any {
|
|
1815
|
+
const current = Object.hasOwn(self, key) ? self[key] : undefined
|
|
1816
|
+
if (containers.has(current) && Array.isArray(current) === shouldBeArray) {
|
|
1817
|
+
return current
|
|
1818
|
+
}
|
|
1819
|
+
const container = shouldBeArray ? [] : {}
|
|
1820
|
+
containers.add(container)
|
|
1821
|
+
InternalRecord.assignProperty(self, key, container)
|
|
1822
|
+
return container
|
|
1823
|
+
}
|
|
1824
|
+
|
|
1768
1825
|
bracketPathEntries.forEach(([key, value]) => {
|
|
1769
1826
|
const tokens = bracketPathToTokens(key)
|
|
1770
1827
|
let cur: any = out
|
|
@@ -1789,9 +1846,9 @@ export function makeTreeRecord<A>(
|
|
|
1789
1846
|
if (hasOwn && Array.isArray(cur[token])) {
|
|
1790
1847
|
cur[token].push(value)
|
|
1791
1848
|
} else if (hasOwn) {
|
|
1792
|
-
InternalRecord.
|
|
1849
|
+
InternalRecord.assignProperty(cur, token, [cur[token], value])
|
|
1793
1850
|
} else {
|
|
1794
|
-
InternalRecord.
|
|
1851
|
+
InternalRecord.assignProperty(cur, token, value)
|
|
1795
1852
|
}
|
|
1796
1853
|
} else {
|
|
1797
1854
|
const next = tokens[i + 1]
|
|
@@ -1815,7 +1872,6 @@ export function makeTreeRecord<A>(
|
|
|
1815
1872
|
*
|
|
1816
1873
|
* **Details**
|
|
1817
1874
|
*
|
|
1818
|
-
* - This is the inverse of {@link makeTreeRecord}.
|
|
1819
1875
|
* - Takes a nested object and produces flat `[bracketPath, value]` pairs suitable for
|
|
1820
1876
|
* `FormData` or `URLSearchParams`.
|
|
1821
1877
|
* - Returns a curried function: first call provides the leaf type guard, second call provides the object.
|
|
@@ -1823,22 +1879,25 @@ export function makeTreeRecord<A>(
|
|
|
1823
1879
|
* - If all elements of an array are leaves, encodes them as multiple entries with the same key
|
|
1824
1880
|
* (e.g. `tags=a&tags=b`). Otherwise uses indexed bracket paths (e.g. `items[0]`, `items[1]`).
|
|
1825
1881
|
* - Non-leaf values that aren't objects or arrays are silently skipped.
|
|
1882
|
+
* - Empty arrays and objects produce no entries, and path delimiters in property
|
|
1883
|
+
* names are not escaped. The resulting format is therefore lossy.
|
|
1826
1884
|
*
|
|
1827
1885
|
* **Example** (Flattening an object to bracket paths)
|
|
1828
1886
|
*
|
|
1829
|
-
* ```ts
|
|
1887
|
+
* ```ts import.meta.vitest
|
|
1830
1888
|
* import { Predicate, SchemaGetter } from "effect"
|
|
1831
1889
|
*
|
|
1832
1890
|
* const collectStrings = SchemaGetter.collectBracketPathEntries(Predicate.isString)
|
|
1833
1891
|
* const entries = collectStrings({ user: { name: "Alice", tags: ["admin", "editor"] } })
|
|
1834
|
-
*
|
|
1892
|
+
*
|
|
1893
|
+
* entries // => [["user[name]", "Alice"], ["user[tags]", "admin"], ["user[tags]", "editor"]]
|
|
1835
1894
|
* ```
|
|
1836
1895
|
*
|
|
1837
|
-
* @see {@link makeTreeRecord} for
|
|
1896
|
+
* @see {@link makeTreeRecord} for building trees from bracket-path entries
|
|
1838
1897
|
* @see {@link encodeFormData} for a higher-level FormData encoder
|
|
1839
1898
|
* @see {@link encodeURLSearchParams} for a higher-level URLSearchParams encoder
|
|
1840
1899
|
*
|
|
1841
|
-
* @category
|
|
1900
|
+
* @category converting
|
|
1842
1901
|
* @since 4.0.0
|
|
1843
1902
|
*/
|
|
1844
1903
|
export function collectBracketPathEntries<A>(isLeaf: (value: unknown) => value is A) {
|