effect 4.0.0-beta.102 → 4.0.0-beta.103
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Array.d.ts +971 -1037
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +381 -407
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +433 -756
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +200 -325
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +207 -267
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +107 -135
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +146 -188
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Boolean.js +64 -84
- package/dist/Boolean.js.map +1 -1
- package/dist/Brand.js.map +1 -1
- package/dist/Cache.d.ts +405 -254
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +166 -101
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +167 -277
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +122 -176
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +729 -768
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +514 -440
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +1 -1
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +834 -1173
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +326 -439
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +180 -49
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js +96 -31
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +20 -33
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +18 -30
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +225 -173
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +336 -265
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +194 -68
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +115 -80
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +233 -33
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js +232 -32
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +151 -274
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +171 -214
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +68 -77
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +57 -66
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +13 -15
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +9 -10
- package/dist/Crypto.js.map +1 -1
- package/dist/Data.d.ts +60 -80
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +16 -23
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +562 -660
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +307 -362
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +253 -256
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +104 -96
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +216 -308
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +132 -186
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +2841 -3247
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1322 -1546
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.js.map +1 -1
- package/dist/Encoding.d.ts +22 -40
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +22 -40
- package/dist/Encoding.js.map +1 -1
- package/dist/Equal.d.ts +33 -37
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +29 -21
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +103 -105
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +77 -79
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +51 -27
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +50 -26
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +13 -55
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +7 -28
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +116 -192
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +82 -130
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +82 -146
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +48 -87
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +152 -105
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +106 -73
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +213 -168
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +114 -89
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +123 -81
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +85 -59
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +153 -264
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +42 -147
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +61 -33
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +26 -15
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +25 -33
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +48 -49
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +76 -145
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +40 -57
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +360 -714
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +168 -297
- package/dist/Graph.js.map +1 -1
- package/dist/HKT.d.ts +12 -6
- package/dist/HKT.d.ts.map +1 -1
- package/dist/Hash.d.ts +47 -83
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +46 -68
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +319 -411
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +122 -166
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +1 -0
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +177 -284
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js +68 -109
- package/dist/HashSet.js.map +1 -1
- package/dist/Inspectable.d.ts +12 -12
- package/dist/Inspectable.js +8 -8
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +620 -786
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +228 -306
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +11 -13
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +44 -102
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +8 -8
- package/dist/JsonPointer.js +8 -8
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +98 -44
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +297 -234
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +23 -35
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +16 -28
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +359 -260
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +195 -175
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +42 -29
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +31 -21
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts +6 -2
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +6 -2
- package/dist/LayerRef.js.map +1 -1
- package/dist/LogLevel.d.ts +114 -214
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +41 -76
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +218 -467
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +204 -450
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +7 -5
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +7 -5
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +217 -252
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +150 -183
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +442 -993
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +198 -642
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +144 -173
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +68 -79
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +84 -89
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +44 -47
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +71 -370
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +59 -284
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +420 -243
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +209 -120
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +21 -14
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +15 -13
- package/dist/Newtype.js.map +1 -1
- package/dist/NonEmptyIterable.d.ts +7 -137
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/NonEmptyIterable.js +5 -93
- package/dist/NonEmptyIterable.js.map +1 -1
- package/dist/Number.d.ts +196 -233
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +90 -109
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +97 -189
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +187 -290
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +447 -812
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +211 -392
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +109 -109
- package/dist/Order.js +91 -91
- package/dist/Order.js.map +1 -1
- package/dist/Ordering.d.ts +20 -23
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/Ordering.js +8 -9
- package/dist/Ordering.js.map +1 -1
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +38 -41
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +3 -4
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +6 -5
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +2 -2
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +4 -4
- package/dist/PlatformError.js +3 -3
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +4 -2
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +4 -2
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +200 -181
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +100 -108
- package/dist/Predicate.js.map +1 -1
- package/dist/PrimaryKey.d.ts +7 -7
- package/dist/PrimaryKey.js +5 -5
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +425 -494
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +373 -362
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +24 -18
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +11 -9
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +200 -159
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +162 -132
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +49 -74
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +35 -54
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +121 -63
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +42 -21
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +24 -13
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js +15 -9
- package/dist/RcRef.js.map +1 -1
- package/dist/Record.d.ts +291 -488
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +111 -202
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +6 -2
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +7 -2
- package/dist/Redactable.js.map +1 -1
- package/dist/Redacted.d.ts +25 -25
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +19 -20
- package/dist/Redacted.js.map +1 -1
- package/dist/Reducer.d.ts +8 -15
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +6 -12
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +95 -165
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +75 -122
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +102 -168
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +102 -168
- package/dist/References.js.map +1 -1
- package/dist/RegExp.d.ts +10 -14
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/RegExp.js +10 -14
- package/dist/RegExp.js.map +1 -1
- package/dist/Request.d.ts +31 -21
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +16 -13
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +201 -90
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +87 -41
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +302 -470
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +133 -217
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +50 -75
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +39 -60
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +290 -1636
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +162 -803
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +5 -5
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +18 -6
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +644 -642
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +491 -527
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +27 -50
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +366 -279
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaError.d.ts +7 -6
- package/dist/SchemaError.d.ts.map +1 -1
- package/dist/SchemaError.js +7 -6
- package/dist/SchemaError.js.map +1 -1
- package/dist/SchemaGetter.d.ts +217 -174
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +218 -185
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +62 -190
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +73 -265
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +2 -2
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +123 -75
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +22 -36
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +20 -26
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +114 -74
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +120 -85
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +123 -151
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +72 -92
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/ScopedRef.d.ts +3 -3
- package/dist/ScopedRef.js +2 -2
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +96 -10
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +78 -39
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +117 -107
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +107 -100
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +1 -1
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +2415 -2949
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +1078 -1381
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +262 -308
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +184 -215
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +109 -114
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +41 -50
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +282 -250
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +104 -92
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Symbol.d.ts +3 -3
- package/dist/Symbol.js +3 -3
- package/dist/Symbol.js.map +1 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Take.js.map +1 -1
- package/dist/Terminal.d.ts +2 -2
- package/dist/Terminal.js +1 -1
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +100 -54
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +41 -24
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +287 -679
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +109 -251
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +92 -127
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +42 -57
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +201 -121
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +85 -56
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +62 -46
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +30 -22
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +631 -779
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +268 -330
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +297 -236
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +130 -100
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +126 -95
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +74 -56
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +101 -88
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +87 -66
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +200 -180
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +160 -136
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +97 -66
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +67 -45
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +51 -32
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +23 -15
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +129 -95
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +85 -70
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +97 -70
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +44 -34
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +126 -67
- package/dist/Types.d.ts.map +1 -1
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +45 -65
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js +6 -9
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +23 -16
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +3 -7
- package/dist/Utils.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/array.js.map +1 -1
- package/dist/internal/core.js +1 -1
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +4 -0
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/doNotation.js.map +1 -1
- package/dist/internal/effect.js +77 -40
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/equal.js.map +1 -1
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/executionPlan.js.map +1 -1
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/hashSet.js.map +1 -1
- package/dist/internal/layer.js.map +1 -1
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/metric.js.map +1 -1
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/persistence.d.ts +2 -0
- package/dist/internal/persistence.d.ts.map +1 -0
- package/dist/internal/persistence.js +3 -0
- package/dist/internal/persistence.js.map +1 -0
- package/dist/internal/random.js.map +1 -1
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/record.js.map +1 -1
- package/dist/internal/redacted.js.map +1 -1
- package/dist/internal/references.js +3 -0
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/result.js.map +1 -1
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/cause.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +13 -11
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/fromRepresentation.js +8 -15
- package/dist/internal/schema/fromRepresentation.js.map +1 -1
- package/dist/internal/schema/parser.d.ts +14 -0
- package/dist/internal/schema/parser.d.ts.map +1 -0
- package/dist/internal/schema/parser.js +13 -0
- package/dist/internal/schema/parser.js.map +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/schema/toArbitrary.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toEquivalence.js.map +1 -1
- package/dist/internal/schema/toJsonSchemaDocument.js +48 -6
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toRepresentation.js +87 -107
- package/dist/internal/schema/toRepresentation.js.map +1 -1
- package/dist/internal/stackTraceLimit.js.map +1 -1
- package/dist/internal/stream.js.map +1 -1
- package/dist/internal/tracer.js.map +1 -1
- package/dist/internal/trie.js +13 -9
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/FastCheck.d.ts +8 -7
- package/dist/testing/FastCheck.d.ts.map +1 -1
- package/dist/testing/FastCheck.js +8 -7
- package/dist/testing/FastCheck.js.map +1 -1
- package/dist/testing/TestClock.d.ts +57 -28
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +50 -18
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestConsole.d.ts +32 -31
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +24 -22
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +29 -29
- package/dist/testing/TestSchema.js +25 -25
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +95 -118
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +94 -117
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +132 -97
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +55 -51
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/IdGenerator.d.ts +32 -28
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +26 -21
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +107 -67
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +104 -64
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpProtocol.d.ts +30 -0
- package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
- package/dist/unstable/ai/McpProtocol.js +20 -0
- package/dist/unstable/ai/McpProtocol.js.map +1 -0
- package/dist/unstable/ai/McpSchema.d.ts +141 -75
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +58 -50
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +68 -59
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +694 -241
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +8 -19
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +9 -20
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +112 -38
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +53 -17
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +28 -14
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +9 -4
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts +46 -13
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +18 -7
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +14 -3
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +10 -2
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +59 -44
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +48 -39
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +26 -8
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +18 -4
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +4 -0
- package/dist/unstable/ai/index.d.ts.map +1 -1
- package/dist/unstable/ai/index.js +4 -0
- package/dist/unstable/ai/index.js.map +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
- package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
- package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
- package/dist/unstable/ai/internal/structured-output.js +14 -15
- package/dist/unstable/ai/internal/structured-output.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +273 -69
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +111 -33
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliConfig.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +69 -76
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +57 -61
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +35 -54
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +26 -42
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +705 -107
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +238 -42
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.js.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +418 -138
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +197 -71
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +12 -4
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +292 -78
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +128 -46
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +370 -149
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +344 -136
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.d.ts +23 -14
- package/dist/unstable/cli/Prompt.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.js +23 -14
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/ansi.js.map +1 -1
- package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
- package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
- package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
- package/dist/unstable/cli/internal/config.js.map +1 -1
- package/dist/unstable/cli/internal/help.js.map +1 -1
- package/dist/unstable/cli/internal/lexer.js +17 -7
- package/dist/unstable/cli/internal/lexer.js.map +1 -1
- package/dist/unstable/cli/internal/parser.js +2 -2
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cli/internal/wizard.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.js.map +1 -1
- package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
- package/dist/unstable/cluster/ClusterSchema.js +8 -8
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +5 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +10 -10
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +8 -8
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.js.map +1 -1
- package/dist/unstable/cluster/EntityId.js.map +1 -1
- package/dist/unstable/cluster/EntityProxy.d.ts +4 -2
- package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxy.js +4 -2
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.js +2 -2
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/EntityType.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +3 -3
- package/dist/unstable/cluster/Envelope.js +3 -3
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
- package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/HttpRunner.js +6 -4
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/MachineId.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +9 -9
- package/dist/unstable/cluster/Message.js +6 -6
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
- package/dist/unstable/cluster/MessageStorage.js +5 -5
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +4 -4
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.js.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +1 -1
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +16 -16
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +2 -2
- package/dist/unstable/cluster/RunnerStorage.js +1 -1
- package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +6 -6
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +19 -10
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +3 -2
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +3 -3
- package/dist/unstable/cluster/ShardingConfig.js +3 -3
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
- package/dist/unstable/cluster/SingleRunner.js.map +1 -1
- package/dist/unstable/cluster/Singleton.js.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
- package/dist/unstable/cluster/SingletonAddress.js +1 -1
- package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
- package/dist/unstable/cluster/Snowflake.d.ts +8 -8
- package/dist/unstable/cluster/Snowflake.js +8 -8
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SocketRunner.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +20 -5
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/TestRunner.js.map +1 -1
- package/dist/unstable/cluster/index.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +5 -5
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/hash.js.map +1 -1
- package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/cluster/internal/shardLock.js.map +1 -1
- package/dist/unstable/devtools/DevTools.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
- package/dist/unstable/devtools/index.js.map +1 -1
- package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
- package/dist/unstable/encoding/Msgpack.js +6 -8
- package/dist/unstable/encoding/Msgpack.js.map +1 -1
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +72 -8
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +58 -8
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/encoding/index.js.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts +20 -20
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
- package/dist/unstable/eventlog/EventGroup.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +15 -15
- package/dist/unstable/eventlog/EventJournal.js +13 -13
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +3 -3
- package/dist/unstable/eventlog/EventLog.js +3 -3
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +2 -2
- package/dist/unstable/eventlog/EventLogMessage.js +1 -1
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
- package/dist/unstable/eventlog/EventLogRemote.js +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +45 -21
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +13 -5
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +14 -6
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/index.js.map +1 -1
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +2 -2
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +30 -18
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +1 -1
- package/dist/unstable/http/Etag.js +1 -1
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +2 -2
- package/dist/unstable/http/Headers.js +2 -2
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +5 -3
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +11 -5
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +51 -44
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +46 -17
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +2 -0
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
- package/dist/unstable/http/HttpClientResponse.js +2 -2
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +6 -6
- package/dist/unstable/http/HttpEffect.js +3 -3
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +6 -9
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +6 -9
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +164 -39
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +76 -0
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +32 -0
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +88 -89
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +78 -79
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +13 -13
- package/dist/unstable/http/HttpServer.js +6 -6
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +2 -2
- package/dist/unstable/http/HttpServerError.js +2 -2
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
- package/dist/unstable/http/HttpServerRequest.js +4 -4
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +10 -0
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpStaticServer.js +35 -7
- package/dist/unstable/http/HttpStaticServer.js.map +1 -1
- package/dist/unstable/http/HttpTraceContext.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +6 -6
- package/dist/unstable/http/Multipart.js +5 -5
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/Template.js.map +1 -1
- package/dist/unstable/http/Url.d.ts +33 -63
- package/dist/unstable/http/Url.d.ts.map +1 -1
- package/dist/unstable/http/Url.js +14 -28
- package/dist/unstable/http/Url.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +10 -18
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +9 -17
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.js.map +1 -1
- package/dist/unstable/http/internal/compression.d.ts +2 -0
- package/dist/unstable/http/internal/compression.d.ts.map +1 -0
- package/dist/unstable/http/internal/compression.js +155 -0
- package/dist/unstable/http/internal/compression.js.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +10 -11
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +11 -13
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +42 -42
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
- package/dist/unstable/httpapi/HttpApiError.js +13 -13
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +6 -6
- package/dist/unstable/httpapi/HttpApiSchema.js +4 -4
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +13 -13
- package/dist/unstable/httpapi/OpenApi.js +13 -13
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/httpapi/index.js.map +1 -1
- package/dist/unstable/httpapi/internal/html.js.map +1 -1
- package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
- package/dist/unstable/observability/Otlp.js.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +12 -14
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +17 -4
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts +16 -7
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.js +21 -12
- package/dist/unstable/observability/OtlpResource.js.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +10 -3
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/observability/index.js.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
- package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/unstable/observability/internal/protobuf.js +3 -0
- package/dist/unstable/observability/internal/protobuf.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +22 -13
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +8 -8
- package/dist/unstable/persistence/Persistable.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
- package/dist/unstable/persistence/PersistedQueue.js +6 -6
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +3 -3
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +91 -15
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +26 -15
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +24 -13
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +2 -2
- package/dist/unstable/persistence/Redis.js +1 -1
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/persistence/index.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +64 -21
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +14 -5
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/process/index.js.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
- package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.js +10 -10
- package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +25 -22
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +14 -13
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRef.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +24 -3
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +4 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +1 -1
- package/dist/unstable/reactivity/Hydration.js +1 -1
- package/dist/unstable/reactivity/Hydration.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +35 -33
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +4 -2
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +12 -12
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +12 -11
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
- package/dist/unstable/rpc/RpcGroup.js +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
- package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMessage.js +6 -6
- package/dist/unstable/rpc/RpcMessage.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
- package/dist/unstable/rpc/RpcMiddleware.js +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
- package/dist/unstable/rpc/RpcSchema.js +3 -3
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +175 -96
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +13 -13
- package/dist/unstable/rpc/RpcServer.js +17 -13
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcTest.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
- package/dist/unstable/rpc/RpcWorker.js +4 -4
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/rpc/index.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +52 -50
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +35 -33
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +5 -5
- package/dist/unstable/schema/VariantSchema.js +2 -2
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/schema/index.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +11 -3
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +9 -4
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/socket/index.js.map +1 -1
- package/dist/unstable/sql/Migrator.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +2 -2
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.js +2 -2
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.d.ts +5 -5
- package/dist/unstable/sql/SqlResolver.js +2 -2
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/SqlStream.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +6 -6
- package/dist/unstable/sql/Statement.js +15 -15
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/sql/index.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +1 -1
- package/dist/unstable/workers/Transferable.js +1 -1
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +2 -2
- package/dist/unstable/workers/Worker.js +2 -2
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +7 -7
- package/dist/unstable/workers/WorkerError.js +6 -6
- package/dist/unstable/workers/WorkerError.js.map +1 -1
- package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
- package/dist/unstable/workers/WorkerRunner.js +1 -1
- package/dist/unstable/workers/WorkerRunner.js.map +1 -1
- package/dist/unstable/workers/index.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +2 -2
- package/dist/unstable/workflow/Activity.js +2 -2
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +1 -1
- package/dist/unstable/workflow/DurableClock.js +1 -1
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
- package/dist/unstable/workflow/DurableDeferred.js +5 -5
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +22 -20
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +21 -21
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +13 -14
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
- package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.js +4 -2
- package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/dist/unstable/workflow/index.js.map +1 -1
- package/dist/unstable/workflow/internal/crypto.js.map +1 -1
- package/package.json +5 -6
- package/src/Array.ts +982 -1045
- package/src/BigDecimal.ts +433 -756
- package/src/BigInt.ts +213 -269
- package/src/Boolean.ts +146 -188
- package/src/Cache.ts +409 -255
- package/src/Cause.ts +167 -277
- package/src/Channel.ts +891 -816
- package/src/ChannelSchema.ts +1 -1
- package/src/Chunk.ts +841 -1181
- package/src/Clock.ts +181 -49
- package/src/Combiner.ts +20 -33
- package/src/Config.ts +615 -332
- package/src/ConfigProvider.ts +214 -120
- package/src/Console.ts +289 -39
- package/src/Context.ts +319 -378
- package/src/Cron.ts +68 -77
- package/src/Crypto.ts +13 -15
- package/src/Data.ts +60 -80
- package/src/DateTime.ts +564 -660
- package/src/Deferred.ts +253 -256
- package/src/Duration.ts +216 -308
- package/src/Effect.ts +2893 -3279
- package/src/Encoding.ts +22 -40
- package/src/Equal.ts +49 -39
- package/src/Equivalence.ts +103 -105
- package/src/ErrorReporter.ts +51 -27
- package/src/ExecutionPlan.ts +13 -55
- package/src/Exit.ts +116 -192
- package/src/Fiber.ts +81 -148
- package/src/FiberHandle.ts +152 -105
- package/src/FiberMap.ts +225 -174
- package/src/FiberSet.ts +124 -82
- package/src/FileSystem.ts +155 -263
- package/src/Filter.ts +61 -33
- package/src/Formatter.ts +54 -56
- package/src/Function.ts +76 -145
- package/src/Graph.ts +416 -770
- package/src/HKT.ts +12 -6
- package/src/Hash.ts +52 -83
- package/src/HashMap.ts +319 -411
- package/src/HashRing.ts +1 -0
- package/src/HashSet.ts +177 -284
- package/src/Inspectable.ts +12 -12
- package/src/Iterable.ts +620 -786
- package/src/JsonPatch.ts +58 -112
- package/src/JsonPointer.ts +8 -8
- package/src/JsonSchema.ts +402 -244
- package/src/Latch.ts +23 -35
- package/src/Layer.ts +359 -260
- package/src/LayerMap.ts +49 -29
- package/src/LayerRef.ts +6 -2
- package/src/LogLevel.ts +114 -214
- package/src/Logger.ts +344 -697
- package/src/ManagedRuntime.ts +7 -5
- package/src/Match.ts +217 -252
- package/src/Metric.ts +516 -1089
- package/src/MutableHashMap.ts +218 -255
- package/src/MutableHashSet.ts +84 -89
- package/src/MutableList.ts +73 -370
- package/src/MutableRef.ts +420 -243
- package/src/Newtype.ts +21 -14
- package/src/NonEmptyIterable.ts +7 -137
- package/src/Number.ts +196 -233
- package/src/Optic.ts +243 -383
- package/src/Option.ts +447 -812
- package/src/Order.ts +109 -109
- package/src/Ordering.ts +20 -23
- package/src/Path.ts +38 -41
- package/src/Pipeable.ts +6 -5
- package/src/PlatformError.ts +4 -4
- package/src/Pool.ts +4 -2
- package/src/Predicate.ts +200 -181
- package/src/PrimaryKey.ts +7 -7
- package/src/PubSub.ts +526 -552
- package/src/Pull.ts +24 -18
- package/src/Queue.ts +200 -159
- package/src/Random.ts +49 -74
- package/src/RcMap.ts +121 -63
- package/src/RcRef.ts +24 -13
- package/src/Record.ts +291 -488
- package/src/Redactable.ts +10 -3
- package/src/Redacted.ts +25 -25
- package/src/Reducer.ts +8 -15
- package/src/Ref.ts +221 -361
- package/src/References.ts +102 -168
- package/src/RegExp.ts +10 -14
- package/src/Request.ts +31 -21
- package/src/RequestResolver.ts +202 -91
- package/src/Result.ts +312 -484
- package/src/Runtime.ts +50 -75
- package/src/Schedule.ts +308 -1734
- package/src/Scheduler.ts +20 -7
- package/src/Schema.ts +716 -745
- package/src/SchemaAST.ts +466 -358
- package/src/SchemaError.ts +7 -6
- package/src/SchemaGetter.ts +242 -190
- package/src/SchemaIssue.ts +89 -275
- package/src/SchemaParser.ts +180 -93
- package/src/SchemaRepresentation.ts +22 -40
- package/src/SchemaTransformation.ts +129 -88
- package/src/Scope.ts +123 -151
- package/src/ScopedRef.ts +4 -4
- package/src/Semaphore.ts +152 -51
- package/src/Sink.ts +128 -113
- package/src/Stdio.ts +1 -1
- package/src/Stream.ts +2602 -3123
- package/src/String.ts +275 -312
- package/src/Struct.ts +109 -114
- package/src/SubscriptionRef.ts +284 -252
- package/src/Symbol.ts +3 -3
- package/src/Terminal.ts +2 -2
- package/src/Tracer.ts +102 -55
- package/src/Trie.ts +287 -679
- package/src/Tuple.ts +92 -127
- package/src/TxChunk.ts +201 -121
- package/src/TxDeferred.ts +62 -46
- package/src/TxHashMap.ts +645 -799
- package/src/TxHashSet.ts +443 -356
- package/src/TxPriorityQueue.ts +130 -98
- package/src/TxPubSub.ts +107 -80
- package/src/TxQueue.ts +214 -183
- package/src/TxReentrantLock.ts +97 -66
- package/src/TxRef.ts +51 -32
- package/src/TxSemaphore.ts +129 -95
- package/src/TxSubscriptionRef.ts +97 -70
- package/src/Types.ts +126 -67
- package/src/Unify.ts +45 -65
- package/src/Utils.ts +23 -16
- package/src/internal/core.ts +2 -2
- package/src/internal/dateTime.ts +6 -0
- package/src/internal/effect.ts +93 -48
- package/src/internal/persistence.ts +2 -0
- package/src/internal/references.ts +3 -2
- package/src/internal/schema/fromJsonSchemaDocument.ts +15 -13
- package/src/internal/schema/fromRepresentation.ts +10 -16
- package/src/internal/schema/parser.ts +22 -0
- package/src/internal/schema/toJsonSchemaDocument.ts +60 -6
- package/src/internal/schema/toRepresentation.ts +104 -119
- package/src/internal/trie.ts +10 -11
- package/src/testing/FastCheck.ts +8 -7
- package/src/testing/TestClock.ts +72 -30
- package/src/testing/TestConsole.ts +32 -31
- package/src/testing/TestSchema.ts +29 -29
- package/src/unstable/ai/AiError.ts +95 -118
- package/src/unstable/ai/AnthropicStructuredOutput.ts +1 -1
- package/src/unstable/ai/Chat.ts +132 -97
- package/src/unstable/ai/IdGenerator.ts +32 -28
- package/src/unstable/ai/LanguageModel.ts +107 -67
- package/src/unstable/ai/McpProtocol.ts +48 -0
- package/src/unstable/ai/McpSchema.ts +60 -50
- package/src/unstable/ai/McpServer.ts +930 -304
- package/src/unstable/ai/Model.ts +9 -20
- package/src/unstable/ai/OpenAiStructuredOutput.ts +1 -1
- package/src/unstable/ai/Prompt.ts +145 -43
- package/src/unstable/ai/Response.ts +28 -14
- package/src/unstable/ai/Telemetry.ts +46 -13
- package/src/unstable/ai/Tokenizer.ts +14 -3
- package/src/unstable/ai/Tool.ts +59 -44
- package/src/unstable/ai/Toolkit.ts +26 -8
- package/src/unstable/ai/index.ts +5 -0
- package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
- package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
- package/src/unstable/ai/internal/structured-output.ts +13 -18
- package/src/unstable/cli/Argument.ts +273 -69
- package/src/unstable/cli/CliError.ts +69 -76
- package/src/unstable/cli/CliOutput.ts +44 -58
- package/src/unstable/cli/Command.ts +705 -107
- package/src/unstable/cli/Flag.ts +418 -138
- package/src/unstable/cli/GlobalFlag.ts +1 -1
- package/src/unstable/cli/HelpDoc.ts +12 -4
- package/src/unstable/cli/Param.ts +292 -78
- package/src/unstable/cli/Primitive.ts +370 -149
- package/src/unstable/cli/Prompt.ts +28 -14
- package/src/unstable/cli/internal/lexer.ts +8 -2
- package/src/unstable/cli/internal/parser.ts +2 -2
- package/src/unstable/cluster/ClusterSchema.ts +8 -8
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -1
- package/src/unstable/cluster/Entity.ts +15 -16
- package/src/unstable/cluster/EntityProxy.ts +4 -2
- package/src/unstable/cluster/EntityResource.ts +2 -2
- package/src/unstable/cluster/Envelope.ts +3 -3
- package/src/unstable/cluster/HttpRunner.ts +6 -4
- package/src/unstable/cluster/Message.ts +9 -9
- package/src/unstable/cluster/MessageStorage.ts +15 -15
- package/src/unstable/cluster/Reply.ts +4 -6
- package/src/unstable/cluster/RunnerHealth.ts +1 -1
- package/src/unstable/cluster/RunnerServer.ts +41 -8
- package/src/unstable/cluster/RunnerStorage.ts +2 -2
- package/src/unstable/cluster/Runners.ts +23 -12
- package/src/unstable/cluster/Sharding.ts +7 -8
- package/src/unstable/cluster/ShardingConfig.ts +3 -3
- package/src/unstable/cluster/SingletonAddress.ts +1 -1
- package/src/unstable/cluster/Snowflake.ts +8 -8
- package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
- package/src/unstable/cluster/SqlRunnerStorage.ts +21 -5
- package/src/unstable/cluster/internal/entityManager.ts +11 -15
- package/src/unstable/encoding/Msgpack.ts +6 -8
- package/src/unstable/encoding/Sse.ts +98 -16
- package/src/unstable/eventlog/Event.ts +20 -20
- package/src/unstable/eventlog/EventGroup.ts +4 -4
- package/src/unstable/eventlog/EventJournal.ts +15 -15
- package/src/unstable/eventlog/EventLog.ts +3 -3
- package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
- package/src/unstable/eventlog/EventLogMessage.ts +2 -2
- package/src/unstable/eventlog/EventLogRemote.ts +1 -1
- package/src/unstable/eventlog/EventLogServer.ts +41 -7
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +13 -5
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +14 -6
- package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
- package/src/unstable/http/Cookies.ts +35 -21
- package/src/unstable/http/Etag.ts +1 -1
- package/src/unstable/http/FetchHttpClient.ts +3 -1
- package/src/unstable/http/Headers.ts +2 -2
- package/src/unstable/http/HttpBody.ts +20 -5
- package/src/unstable/http/HttpClient.ts +83 -55
- package/src/unstable/http/HttpClientRequest.ts +2 -0
- package/src/unstable/http/HttpClientResponse.ts +4 -4
- package/src/unstable/http/HttpEffect.ts +8 -8
- package/src/unstable/http/HttpMethod.ts +6 -9
- package/src/unstable/http/HttpMiddleware.ts +202 -39
- package/src/unstable/http/HttpPlatform.ts +95 -0
- package/src/unstable/http/HttpRouter.ts +102 -98
- package/src/unstable/http/HttpServer.ts +13 -13
- package/src/unstable/http/HttpServerError.ts +2 -2
- package/src/unstable/http/HttpServerRequest.ts +4 -4
- package/src/unstable/http/HttpServerResponse.ts +30 -0
- package/src/unstable/http/HttpStaticServer.ts +35 -7
- package/src/unstable/http/Multipart.ts +6 -6
- package/src/unstable/http/Url.ts +33 -63
- package/src/unstable/http/UrlParams.ts +10 -18
- package/src/unstable/http/internal/compression.ts +196 -0
- package/src/unstable/httpapi/HttpApiBuilder.ts +10 -9
- package/src/unstable/httpapi/HttpApiClient.ts +14 -14
- package/src/unstable/httpapi/HttpApiEndpoint.ts +42 -42
- package/src/unstable/httpapi/HttpApiError.ts +13 -13
- package/src/unstable/httpapi/HttpApiGroup.ts +15 -15
- package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
- package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
- package/src/unstable/httpapi/HttpApiSchema.ts +6 -6
- package/src/unstable/httpapi/OpenApi.ts +13 -13
- package/src/unstable/observability/OtlpExporter.ts +31 -19
- package/src/unstable/observability/OtlpMetrics.ts +4 -1
- package/src/unstable/observability/OtlpResource.ts +26 -17
- package/src/unstable/observability/PrometheusMetrics.ts +13 -4
- package/src/unstable/observability/internal/otlpEnv.ts +1 -1
- package/src/unstable/observability/internal/protobuf.ts +3 -0
- package/src/unstable/persistence/KeyValueStore.ts +72 -49
- package/src/unstable/persistence/Persistable.ts +8 -8
- package/src/unstable/persistence/PersistedQueue.ts +6 -6
- package/src/unstable/persistence/Persistence.ts +126 -19
- package/src/unstable/persistence/RateLimiter.ts +26 -15
- package/src/unstable/persistence/Redis.ts +2 -2
- package/src/unstable/process/ChildProcess.ts +64 -21
- package/src/unstable/process/ChildProcessSpawner.ts +21 -10
- package/src/unstable/reactivity/AsyncResult.ts +12 -13
- package/src/unstable/reactivity/Atom.ts +28 -25
- package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
- package/src/unstable/reactivity/AtomRegistry.ts +24 -3
- package/src/unstable/reactivity/AtomRpc.ts +5 -4
- package/src/unstable/reactivity/Hydration.ts +1 -1
- package/src/unstable/rpc/Rpc.ts +35 -33
- package/src/unstable/rpc/RpcClient.ts +16 -15
- package/src/unstable/rpc/RpcGroup.ts +8 -8
- package/src/unstable/rpc/RpcMessage.ts +31 -30
- package/src/unstable/rpc/RpcMiddleware.ts +10 -10
- package/src/unstable/rpc/RpcSchema.ts +4 -4
- package/src/unstable/rpc/RpcSerialization.ts +167 -68
- package/src/unstable/rpc/RpcServer.ts +18 -15
- package/src/unstable/rpc/RpcWorker.ts +5 -5
- package/src/unstable/schema/Model.ts +52 -50
- package/src/unstable/schema/VariantSchema.ts +5 -5
- package/src/unstable/socket/Socket.ts +17 -4
- package/src/unstable/sql/SqlClient.ts +5 -6
- package/src/unstable/sql/SqlModel.ts +2 -2
- package/src/unstable/sql/SqlResolver.ts +5 -5
- package/src/unstable/sql/Statement.ts +24 -23
- package/src/unstable/workers/Transferable.ts +1 -1
- package/src/unstable/workers/Worker.ts +2 -2
- package/src/unstable/workers/WorkerError.ts +7 -7
- package/src/unstable/workers/WorkerRunner.ts +1 -1
- package/src/unstable/workflow/Activity.ts +2 -2
- package/src/unstable/workflow/DurableClock.ts +1 -1
- package/src/unstable/workflow/DurableDeferred.ts +10 -10
- package/src/unstable/workflow/DurableQueue.ts +22 -20
- package/src/unstable/workflow/Workflow.ts +23 -23
- package/src/unstable/workflow/WorkflowEngine.ts +1 -1
- package/src/unstable/workflow/WorkflowProxy.ts +4 -2
- package/dist/internal/version.d.ts +0 -3
- package/dist/internal/version.d.ts.map +0 -1
- package/dist/internal/version.js +0 -2
- package/dist/internal/version.js.map +0 -1
- package/src/internal/version.ts +0 -2
package/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
|
|
|
@@ -1022,29 +1057,29 @@ type StringifyJsonOptions = {
|
|
|
1022
1057
|
*
|
|
1023
1058
|
* **Example** (Stringifying JSON)
|
|
1024
1059
|
*
|
|
1025
|
-
* ```ts
|
|
1026
|
-
* import { SchemaGetter } from "effect"
|
|
1060
|
+
* ```ts import.meta.vitest
|
|
1061
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1027
1062
|
*
|
|
1028
1063
|
* const stringify = SchemaGetter.stringifyJson()
|
|
1029
|
-
*
|
|
1064
|
+
* await Effect.runPromise(stringify.run(Option.some({ a: 1 }), {})) // => Option.some("{\"a\":1}")
|
|
1030
1065
|
* ```
|
|
1031
1066
|
*
|
|
1032
1067
|
* @see {@link parseJson} for the inverse operation
|
|
1033
1068
|
*
|
|
1034
|
-
* @category
|
|
1069
|
+
* @category encoding
|
|
1035
1070
|
* @since 4.0.0
|
|
1036
1071
|
*/
|
|
1037
1072
|
export function stringifyJson(options?: StringifyJsonOptions): Getter<string, unknown> {
|
|
1038
1073
|
return onSome((input) =>
|
|
1039
1074
|
Effect.try({
|
|
1040
1075
|
try: () => {
|
|
1041
|
-
const output = JSON.stringify(input, options?.replacer, options?.space)
|
|
1076
|
+
const output = JSON.stringify(input, options?.replacer as any, options?.space)
|
|
1042
1077
|
if (output === undefined) {
|
|
1043
1078
|
throw new TypeError("Value cannot be represented as JSON")
|
|
1044
1079
|
}
|
|
1045
1080
|
return Option.some(output)
|
|
1046
1081
|
},
|
|
1047
|
-
catch: (
|
|
1082
|
+
catch: () => new SchemaIssue.InvalidValue({ message: "Expected a JSON-serializable value" })
|
|
1048
1083
|
})
|
|
1049
1084
|
)
|
|
1050
1085
|
}
|
|
@@ -1065,17 +1100,17 @@ export function stringifyJson(options?: StringifyJsonOptions): Getter<string, un
|
|
|
1065
1100
|
*
|
|
1066
1101
|
* **Example** (Parsing a key-value string)
|
|
1067
1102
|
*
|
|
1068
|
-
* ```ts
|
|
1069
|
-
* import { SchemaGetter } from "effect"
|
|
1103
|
+
* ```ts import.meta.vitest
|
|
1104
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1070
1105
|
*
|
|
1071
1106
|
* const parse = SchemaGetter.splitKeyValue<string>()
|
|
1072
|
-
*
|
|
1107
|
+
* await Effect.runPromise(parse.run(Option.some("a=1,b=2"), {})) // => Option.some({ a: "1", b: "2" })
|
|
1073
1108
|
* ```
|
|
1074
1109
|
*
|
|
1075
1110
|
* @see {@link joinKeyValue} for the inverse operation
|
|
1076
1111
|
* @see {@link split} to split into an array of strings
|
|
1077
1112
|
*
|
|
1078
|
-
* @category
|
|
1113
|
+
* @category splitting
|
|
1079
1114
|
* @since 4.0.0
|
|
1080
1115
|
*/
|
|
1081
1116
|
export function splitKeyValue<E extends string>(options?: {
|
|
@@ -1111,16 +1146,16 @@ export function splitKeyValue<E extends string>(options?: {
|
|
|
1111
1146
|
*
|
|
1112
1147
|
* **Example** (Joining key-value records)
|
|
1113
1148
|
*
|
|
1114
|
-
* ```ts
|
|
1115
|
-
* import { SchemaGetter } from "effect"
|
|
1149
|
+
* ```ts import.meta.vitest
|
|
1150
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1116
1151
|
*
|
|
1117
1152
|
* const join = SchemaGetter.joinKeyValue()
|
|
1118
|
-
*
|
|
1153
|
+
* await Effect.runPromise(join.run(Option.some({ a: "1", b: "2" }), {})) // => Option.some("a=1,b=2")
|
|
1119
1154
|
* ```
|
|
1120
1155
|
*
|
|
1121
1156
|
* @see {@link splitKeyValue} for the inverse operation
|
|
1122
1157
|
*
|
|
1123
|
-
* @category
|
|
1158
|
+
* @category combining
|
|
1124
1159
|
* @since 4.0.0
|
|
1125
1160
|
*/
|
|
1126
1161
|
export function joinKeyValue<E extends Record<PropertyKey, string>>(options?: {
|
|
@@ -1149,17 +1184,16 @@ export function joinKeyValue<E extends Record<PropertyKey, string>>(options?: {
|
|
|
1149
1184
|
*
|
|
1150
1185
|
* **Example** (Splitting a comma-separated string)
|
|
1151
1186
|
*
|
|
1152
|
-
* ```ts
|
|
1153
|
-
* import { SchemaGetter } from "effect"
|
|
1187
|
+
* ```ts import.meta.vitest
|
|
1188
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1154
1189
|
*
|
|
1155
1190
|
* const splitComma = SchemaGetter.split<string>()
|
|
1156
|
-
*
|
|
1157
|
-
* // "" -> []
|
|
1191
|
+
* await Effect.runPromise(splitComma.run(Option.some("a,b,c"), {})) // => Option.some(["a", "b", "c"])
|
|
1158
1192
|
* ```
|
|
1159
1193
|
*
|
|
1160
1194
|
* @see {@link splitKeyValue} when values are key-value pairs
|
|
1161
1195
|
*
|
|
1162
|
-
* @category
|
|
1196
|
+
* @category splitting
|
|
1163
1197
|
* @since 4.0.0
|
|
1164
1198
|
*/
|
|
1165
1199
|
export function split<E extends string>(options?: {
|
|
@@ -1178,17 +1212,18 @@ export function split<E extends string>(options?: {
|
|
|
1178
1212
|
*
|
|
1179
1213
|
* **Example** (Encoding to Base64)
|
|
1180
1214
|
*
|
|
1181
|
-
* ```ts
|
|
1182
|
-
* import { SchemaGetter } from "effect"
|
|
1215
|
+
* ```ts import.meta.vitest
|
|
1216
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1183
1217
|
*
|
|
1184
1218
|
* const encode = SchemaGetter.encodeBase64<Uint8Array>()
|
|
1219
|
+
* await Effect.runPromise(encode.run(Option.some(new Uint8Array([1, 2, 3])), {})) // => Option.some("AQID")
|
|
1185
1220
|
* ```
|
|
1186
1221
|
*
|
|
1187
1222
|
* @see {@link decodeBase64} for the inverse operation to `Uint8Array`
|
|
1188
1223
|
* @see {@link decodeBase64String} for the inverse operation to `string`
|
|
1189
1224
|
* @see {@link encodeBase64Url} for the URL-safe variant
|
|
1190
1225
|
*
|
|
1191
|
-
* @category
|
|
1226
|
+
* @category encoding
|
|
1192
1227
|
* @since 4.0.0
|
|
1193
1228
|
*/
|
|
1194
1229
|
export function encodeBase64<E extends Uint8Array | string>(): Getter<string, E> {
|
|
@@ -1204,17 +1239,18 @@ export function encodeBase64<E extends Uint8Array | string>(): Getter<string, E>
|
|
|
1204
1239
|
*
|
|
1205
1240
|
* **Example** (Encoding to Base64Url)
|
|
1206
1241
|
*
|
|
1207
|
-
* ```ts
|
|
1208
|
-
* import { SchemaGetter } from "effect"
|
|
1242
|
+
* ```ts import.meta.vitest
|
|
1243
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1209
1244
|
*
|
|
1210
1245
|
* const encode = SchemaGetter.encodeBase64Url<Uint8Array>()
|
|
1246
|
+
* await Effect.runPromise(encode.run(Option.some(new Uint8Array([251, 255])), {})) // => Option.some("-_8")
|
|
1211
1247
|
* ```
|
|
1212
1248
|
*
|
|
1213
1249
|
* @see {@link decodeBase64Url} for the inverse operation to `Uint8Array`
|
|
1214
1250
|
* @see {@link decodeBase64UrlString} for the inverse operation to `string`
|
|
1215
1251
|
* @see {@link encodeBase64} for the standard Base64 variant
|
|
1216
1252
|
*
|
|
1217
|
-
* @category
|
|
1253
|
+
* @category encoding
|
|
1218
1254
|
* @since 4.0.0
|
|
1219
1255
|
*/
|
|
1220
1256
|
export function encodeBase64Url<E extends Uint8Array | string>(): Getter<string, E> {
|
|
@@ -1230,16 +1266,17 @@ export function encodeBase64Url<E extends Uint8Array | string>(): Getter<string,
|
|
|
1230
1266
|
*
|
|
1231
1267
|
* **Example** (Encoding to hex)
|
|
1232
1268
|
*
|
|
1233
|
-
* ```ts
|
|
1234
|
-
* import { SchemaGetter } from "effect"
|
|
1269
|
+
* ```ts import.meta.vitest
|
|
1270
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1235
1271
|
*
|
|
1236
1272
|
* const encode = SchemaGetter.encodeHex<Uint8Array>()
|
|
1273
|
+
* await Effect.runPromise(encode.run(Option.some(new Uint8Array([1, 2, 3])), {})) // => Option.some("010203")
|
|
1237
1274
|
* ```
|
|
1238
1275
|
*
|
|
1239
1276
|
* @see {@link decodeHex} for the inverse operation to `Uint8Array`
|
|
1240
1277
|
* @see {@link decodeHexString} for the inverse operation to `string`
|
|
1241
1278
|
*
|
|
1242
|
-
* @category
|
|
1279
|
+
* @category encoding
|
|
1243
1280
|
* @since 4.0.0
|
|
1244
1281
|
*/
|
|
1245
1282
|
export function encodeHex<E extends Uint8Array | string>(): Getter<string, E> {
|
|
@@ -1255,24 +1292,25 @@ export function encodeHex<E extends Uint8Array | string>(): Getter<string, E> {
|
|
|
1255
1292
|
*
|
|
1256
1293
|
* **Example** (Decoding Base64 to bytes)
|
|
1257
1294
|
*
|
|
1258
|
-
* ```ts
|
|
1259
|
-
* import { SchemaGetter } from "effect"
|
|
1295
|
+
* ```ts import.meta.vitest
|
|
1296
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1260
1297
|
*
|
|
1261
1298
|
* const decode = SchemaGetter.decodeBase64<string>()
|
|
1262
|
-
*
|
|
1299
|
+
* const result = await Effect.runPromise(decode.run(Option.some("AQID"), {}))
|
|
1300
|
+
* Option.map(result, Array.from) // => Option.some([1, 2, 3])
|
|
1263
1301
|
* ```
|
|
1264
1302
|
*
|
|
1265
1303
|
* @see {@link decodeBase64String} to decode to `string` instead
|
|
1266
1304
|
* @see {@link encodeBase64} for the inverse operation
|
|
1267
1305
|
*
|
|
1268
|
-
* @category
|
|
1306
|
+
* @category decoding
|
|
1269
1307
|
* @since 4.0.0
|
|
1270
1308
|
*/
|
|
1271
1309
|
export function decodeBase64<E extends string>(): Getter<Uint8Array, E> {
|
|
1272
1310
|
return transformOrFail((input) =>
|
|
1273
1311
|
Effect.mapErrorEager(
|
|
1274
1312
|
Effect.fromResult(Encoding.decodeBase64(input)),
|
|
1275
|
-
(
|
|
1313
|
+
() => new SchemaIssue.InvalidValue({ message: "Expected a valid Base64 string" })
|
|
1276
1314
|
)
|
|
1277
1315
|
)
|
|
1278
1316
|
}
|
|
@@ -1286,23 +1324,23 @@ export function decodeBase64<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1286
1324
|
*
|
|
1287
1325
|
* **Example** (Decoding Base64 to string)
|
|
1288
1326
|
*
|
|
1289
|
-
* ```ts
|
|
1290
|
-
* import { SchemaGetter } from "effect"
|
|
1327
|
+
* ```ts import.meta.vitest
|
|
1328
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1291
1329
|
*
|
|
1292
1330
|
* const decode = SchemaGetter.decodeBase64String<string>()
|
|
1293
|
-
*
|
|
1331
|
+
* await Effect.runPromise(decode.run(Option.some("aGVsbG8="), {})) // => Option.some("hello")
|
|
1294
1332
|
* ```
|
|
1295
1333
|
*
|
|
1296
1334
|
* @see {@link decodeBase64} to decode to `Uint8Array` instead
|
|
1297
1335
|
* @see {@link encodeBase64} for the inverse operation
|
|
1298
1336
|
*
|
|
1299
|
-
* @category
|
|
1337
|
+
* @category decoding
|
|
1300
1338
|
* @since 4.0.0
|
|
1301
1339
|
*/
|
|
1302
1340
|
export function decodeBase64String<E extends string>(): Getter<string, E> {
|
|
1303
1341
|
return transformOrFail((input) =>
|
|
1304
1342
|
Result.match(Encoding.decodeBase64String(input), {
|
|
1305
|
-
onFailure: (
|
|
1343
|
+
onFailure: () => Effect.fail(new SchemaIssue.InvalidValue({ message: "Expected a valid Base64 string" })),
|
|
1306
1344
|
onSuccess: Effect.succeed
|
|
1307
1345
|
})
|
|
1308
1346
|
)
|
|
@@ -1317,23 +1355,24 @@ export function decodeBase64String<E extends string>(): Getter<string, E> {
|
|
|
1317
1355
|
*
|
|
1318
1356
|
* **Example** (Decoding Base64Url to bytes)
|
|
1319
1357
|
*
|
|
1320
|
-
* ```ts
|
|
1321
|
-
* import { SchemaGetter } from "effect"
|
|
1358
|
+
* ```ts import.meta.vitest
|
|
1359
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1322
1360
|
*
|
|
1323
1361
|
* const decode = SchemaGetter.decodeBase64Url<string>()
|
|
1324
|
-
*
|
|
1362
|
+
* const result = await Effect.runPromise(decode.run(Option.some("-_8="), {}))
|
|
1363
|
+
* Option.map(result, Array.from) // => Option.some([251, 255])
|
|
1325
1364
|
* ```
|
|
1326
1365
|
*
|
|
1327
1366
|
* @see {@link decodeBase64UrlString} to decode to `string` instead
|
|
1328
1367
|
* @see {@link encodeBase64Url} for the inverse operation
|
|
1329
1368
|
*
|
|
1330
|
-
* @category
|
|
1369
|
+
* @category decoding
|
|
1331
1370
|
* @since 4.0.0
|
|
1332
1371
|
*/
|
|
1333
1372
|
export function decodeBase64Url<E extends string>(): Getter<Uint8Array, E> {
|
|
1334
1373
|
return transformOrFail((input) =>
|
|
1335
1374
|
Result.match(Encoding.decodeBase64Url(input), {
|
|
1336
|
-
onFailure: (
|
|
1375
|
+
onFailure: () => Effect.fail(new SchemaIssue.InvalidValue({ message: "Expected a valid Base64Url string" })),
|
|
1337
1376
|
onSuccess: Effect.succeed
|
|
1338
1377
|
})
|
|
1339
1378
|
)
|
|
@@ -1348,23 +1387,23 @@ export function decodeBase64Url<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1348
1387
|
*
|
|
1349
1388
|
* **Example** (Decoding Base64Url to string)
|
|
1350
1389
|
*
|
|
1351
|
-
* ```ts
|
|
1352
|
-
* import { SchemaGetter } from "effect"
|
|
1390
|
+
* ```ts import.meta.vitest
|
|
1391
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1353
1392
|
*
|
|
1354
1393
|
* const decode = SchemaGetter.decodeBase64UrlString<string>()
|
|
1355
|
-
*
|
|
1394
|
+
* await Effect.runPromise(decode.run(Option.some("aGVsbG8"), {})) // => Option.some("hello")
|
|
1356
1395
|
* ```
|
|
1357
1396
|
*
|
|
1358
1397
|
* @see {@link decodeBase64Url} to decode to `Uint8Array` instead
|
|
1359
1398
|
* @see {@link encodeBase64Url} for the inverse operation
|
|
1360
1399
|
*
|
|
1361
|
-
* @category
|
|
1400
|
+
* @category decoding
|
|
1362
1401
|
* @since 4.0.0
|
|
1363
1402
|
*/
|
|
1364
1403
|
export function decodeBase64UrlString<E extends string>(): Getter<string, E> {
|
|
1365
1404
|
return transformOrFail((input) =>
|
|
1366
1405
|
Result.match(Encoding.decodeBase64UrlString(input), {
|
|
1367
|
-
onFailure: (
|
|
1406
|
+
onFailure: () => Effect.fail(new SchemaIssue.InvalidValue({ message: "Expected a valid Base64Url string" })),
|
|
1368
1407
|
onSuccess: Effect.succeed
|
|
1369
1408
|
})
|
|
1370
1409
|
)
|
|
@@ -1379,23 +1418,27 @@ export function decodeBase64UrlString<E extends string>(): Getter<string, E> {
|
|
|
1379
1418
|
*
|
|
1380
1419
|
* **Example** (Decoding hex to bytes)
|
|
1381
1420
|
*
|
|
1382
|
-
* ```ts
|
|
1383
|
-
* import { SchemaGetter } from "effect"
|
|
1421
|
+
* ```ts import.meta.vitest
|
|
1422
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1384
1423
|
*
|
|
1385
1424
|
* const decode = SchemaGetter.decodeHex<string>()
|
|
1386
|
-
*
|
|
1425
|
+
* const result = await Effect.runPromise(decode.run(Option.some("010203"), {}))
|
|
1426
|
+
* Option.map(result, Array.from) // => Option.some([1, 2, 3])
|
|
1387
1427
|
* ```
|
|
1388
1428
|
*
|
|
1389
1429
|
* @see {@link decodeHexString} to decode to `string` instead
|
|
1390
1430
|
* @see {@link encodeHex} for the inverse operation
|
|
1391
1431
|
*
|
|
1392
|
-
* @category
|
|
1432
|
+
* @category decoding
|
|
1393
1433
|
* @since 4.0.0
|
|
1394
1434
|
*/
|
|
1395
1435
|
export function decodeHex<E extends string>(): Getter<Uint8Array, E> {
|
|
1396
1436
|
return transformOrFail((input) =>
|
|
1397
1437
|
Result.match(Encoding.decodeHex(input), {
|
|
1398
|
-
onFailure: (
|
|
1438
|
+
onFailure: () =>
|
|
1439
|
+
Effect.fail(
|
|
1440
|
+
new SchemaIssue.InvalidValue({ message: "Expected a valid hexadecimal string" })
|
|
1441
|
+
),
|
|
1399
1442
|
onSuccess: Effect.succeed
|
|
1400
1443
|
})
|
|
1401
1444
|
)
|
|
@@ -1410,23 +1453,26 @@ export function decodeHex<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1410
1453
|
*
|
|
1411
1454
|
* **Example** (Decoding hex to string)
|
|
1412
1455
|
*
|
|
1413
|
-
* ```ts
|
|
1414
|
-
* import { SchemaGetter } from "effect"
|
|
1456
|
+
* ```ts import.meta.vitest
|
|
1457
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1415
1458
|
*
|
|
1416
1459
|
* const decode = SchemaGetter.decodeHexString<string>()
|
|
1417
|
-
*
|
|
1460
|
+
* await Effect.runPromise(decode.run(Option.some("68656c6c6f"), {})) // => Option.some("hello")
|
|
1418
1461
|
* ```
|
|
1419
1462
|
*
|
|
1420
1463
|
* @see {@link decodeHex} to decode to `Uint8Array` instead
|
|
1421
1464
|
* @see {@link encodeHex} for the inverse operation
|
|
1422
1465
|
*
|
|
1423
|
-
* @category
|
|
1466
|
+
* @category decoding
|
|
1424
1467
|
* @since 4.0.0
|
|
1425
1468
|
*/
|
|
1426
1469
|
export function decodeHexString<E extends string>(): Getter<string, E> {
|
|
1427
1470
|
return transformOrFail((input) =>
|
|
1428
1471
|
Result.match(Encoding.decodeHexString(input), {
|
|
1429
|
-
onFailure: (
|
|
1472
|
+
onFailure: () =>
|
|
1473
|
+
Effect.fail(
|
|
1474
|
+
new SchemaIssue.InvalidValue({ message: "Expected a valid hexadecimal string" })
|
|
1475
|
+
),
|
|
1430
1476
|
onSuccess: Effect.succeed
|
|
1431
1477
|
})
|
|
1432
1478
|
)
|
|
@@ -1443,15 +1489,16 @@ export function decodeHexString<E extends string>(): Getter<string, E> {
|
|
|
1443
1489
|
*
|
|
1444
1490
|
* **Example** (Encoding a URI component)
|
|
1445
1491
|
*
|
|
1446
|
-
* ```ts
|
|
1447
|
-
* import { SchemaGetter } from "effect"
|
|
1492
|
+
* ```ts import.meta.vitest
|
|
1493
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1448
1494
|
*
|
|
1449
1495
|
* const encode = SchemaGetter.encodeUriComponent<string>()
|
|
1496
|
+
* await Effect.runPromise(encode.run(Option.some("hello world"), {})) // => Option.some("hello%20world")
|
|
1450
1497
|
* ```
|
|
1451
1498
|
*
|
|
1452
1499
|
* @see {@link decodeUriComponent} for the inverse operation
|
|
1453
1500
|
*
|
|
1454
|
-
* @category
|
|
1501
|
+
* @category encoding
|
|
1455
1502
|
* @since 4.0.0
|
|
1456
1503
|
*/
|
|
1457
1504
|
export function encodeUriComponent<E extends string>(): Getter<string, E> {
|
|
@@ -1467,26 +1514,26 @@ export function encodeUriComponent<E extends string>(): Getter<string, E> {
|
|
|
1467
1514
|
*
|
|
1468
1515
|
* **Example** (Decoding a URI component)
|
|
1469
1516
|
*
|
|
1470
|
-
* ```ts
|
|
1471
|
-
* import { SchemaGetter } from "effect"
|
|
1517
|
+
* ```ts import.meta.vitest
|
|
1518
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1472
1519
|
*
|
|
1473
1520
|
* const decode = SchemaGetter.decodeUriComponent<string>()
|
|
1474
|
-
*
|
|
1521
|
+
* await Effect.runPromise(decode.run(Option.some("hello%20world"), {})) // => Option.some("hello world")
|
|
1475
1522
|
* ```
|
|
1476
1523
|
*
|
|
1477
1524
|
* @see {@link encodeUriComponent} for the inverse operation
|
|
1478
1525
|
*
|
|
1479
|
-
* @category
|
|
1526
|
+
* @category decoding
|
|
1480
1527
|
* @since 4.0.0
|
|
1481
1528
|
*/
|
|
1482
1529
|
export function decodeUriComponent<E extends string>(): Getter<string, E> {
|
|
1483
1530
|
return transformOrFail((input) => {
|
|
1484
1531
|
try {
|
|
1485
1532
|
return Effect.succeed(globalThis.decodeURIComponent(input))
|
|
1486
|
-
} catch
|
|
1533
|
+
} catch {
|
|
1487
1534
|
return Effect.fail(
|
|
1488
|
-
new SchemaIssue.InvalidValue(
|
|
1489
|
-
message:
|
|
1535
|
+
new SchemaIssue.InvalidValue({
|
|
1536
|
+
message: "Expected a valid URI component"
|
|
1490
1537
|
})
|
|
1491
1538
|
)
|
|
1492
1539
|
}
|
|
@@ -1512,23 +1559,23 @@ export function decodeUriComponent<E extends string>(): Getter<string, E> {
|
|
|
1512
1559
|
*
|
|
1513
1560
|
* **Example** (Parsing DateTime)
|
|
1514
1561
|
*
|
|
1515
|
-
* ```ts
|
|
1516
|
-
* import { SchemaGetter } from "effect"
|
|
1562
|
+
* ```ts import.meta.vitest
|
|
1563
|
+
* import { DateTime, Effect, Option, SchemaGetter } from "effect"
|
|
1517
1564
|
*
|
|
1518
1565
|
* const parseDate = SchemaGetter.dateTimeUtcFromInput<string>()
|
|
1519
|
-
*
|
|
1566
|
+
* const result = await Effect.runPromise(parseDate.run(Option.some("2024-01-01T00:00:00Z"), {}))
|
|
1567
|
+
* Option.map(result, DateTime.toEpochMillis) // => Option.some(1704067200000)
|
|
1520
1568
|
* ```
|
|
1521
1569
|
*
|
|
1522
1570
|
* @see {@link Date} for a simpler coercion to `Date` (no validation)
|
|
1523
1571
|
*
|
|
1524
|
-
* @category
|
|
1572
|
+
* @category converting
|
|
1525
1573
|
* @since 4.0.0
|
|
1526
1574
|
*/
|
|
1527
1575
|
export function dateTimeUtcFromInput<E extends DateTime.DateTime.Input>(): Getter<DateTime.Utc, E> {
|
|
1528
1576
|
return transformOrFail((input) => {
|
|
1529
1577
|
return Option.match(DateTime.make(input), {
|
|
1530
|
-
onNone: () =>
|
|
1531
|
-
Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: "Invalid DateTime input" })),
|
|
1578
|
+
onNone: () => Effect.fail(new SchemaIssue.InvalidValue({ message: "Invalid DateTime input" })),
|
|
1532
1579
|
onSome: (dt) => Effect.succeed(DateTime.toUtc(dt))
|
|
1533
1580
|
})
|
|
1534
1581
|
})
|
|
@@ -1550,18 +1597,20 @@ export function dateTimeUtcFromInput<E extends DateTime.DateTime.Input>(): Gette
|
|
|
1550
1597
|
*
|
|
1551
1598
|
* **Example** (Decoding FormData)
|
|
1552
1599
|
*
|
|
1553
|
-
* ```ts
|
|
1554
|
-
* import { SchemaGetter } from "effect"
|
|
1600
|
+
* ```ts import.meta.vitest
|
|
1601
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1555
1602
|
*
|
|
1556
1603
|
* const decode = SchemaGetter.decodeFormData()
|
|
1557
|
-
*
|
|
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" } })
|
|
1558
1607
|
* ```
|
|
1559
1608
|
*
|
|
1560
1609
|
* @see {@link encodeFormData} for the corresponding encoder
|
|
1561
1610
|
* @see {@link makeTreeRecord} for the underlying bracket-path parser
|
|
1562
1611
|
* @see {@link decodeURLSearchParams} for the URLSearchParams variant
|
|
1563
1612
|
*
|
|
1564
|
-
* @category
|
|
1613
|
+
* @category decoding
|
|
1565
1614
|
* @since 4.0.0
|
|
1566
1615
|
*/
|
|
1567
1616
|
export function decodeFormData(): Getter<Schema.TreeRecord<string | Blob>, FormData> {
|
|
@@ -1588,18 +1637,19 @@ const collectFormDataEntries = collectBracketPathEntries((value): value is strin
|
|
|
1588
1637
|
*
|
|
1589
1638
|
* **Example** (Encoding to FormData)
|
|
1590
1639
|
*
|
|
1591
|
-
* ```ts
|
|
1592
|
-
* import { SchemaGetter } from "effect"
|
|
1640
|
+
* ```ts import.meta.vitest
|
|
1641
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1593
1642
|
*
|
|
1594
1643
|
* const encode = SchemaGetter.encodeFormData()
|
|
1595
|
-
*
|
|
1644
|
+
* const result = await Effect.runPromise(encode.run(Option.some({ name: "Alice" }), {}))
|
|
1645
|
+
* Option.map(result, (formData) => formData.get("name")) // => Option.some("Alice")
|
|
1596
1646
|
* ```
|
|
1597
1647
|
*
|
|
1598
1648
|
* @see {@link decodeFormData} for the corresponding decoder
|
|
1599
1649
|
* @see {@link collectBracketPathEntries} for the underlying flattener
|
|
1600
1650
|
* @see {@link encodeURLSearchParams} for the URLSearchParams variant
|
|
1601
1651
|
*
|
|
1602
|
-
* @category
|
|
1652
|
+
* @category encoding
|
|
1603
1653
|
* @since 4.0.0
|
|
1604
1654
|
*/
|
|
1605
1655
|
export function encodeFormData(): Getter<FormData, unknown> {
|
|
@@ -1631,18 +1681,19 @@ export function encodeFormData(): Getter<FormData, unknown> {
|
|
|
1631
1681
|
*
|
|
1632
1682
|
* **Example** (Decoding URLSearchParams)
|
|
1633
1683
|
*
|
|
1634
|
-
* ```ts
|
|
1635
|
-
* import { SchemaGetter } from "effect"
|
|
1684
|
+
* ```ts import.meta.vitest
|
|
1685
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1636
1686
|
*
|
|
1637
1687
|
* const decode = SchemaGetter.decodeURLSearchParams()
|
|
1638
|
-
*
|
|
1688
|
+
* const params = new URLSearchParams("user[name]=Alice")
|
|
1689
|
+
* await Effect.runPromise(decode.run(Option.some(params), {})) // => Option.some({ user: { name: "Alice" } })
|
|
1639
1690
|
* ```
|
|
1640
1691
|
*
|
|
1641
1692
|
* @see {@link encodeURLSearchParams} for the corresponding encoder
|
|
1642
1693
|
* @see {@link makeTreeRecord} for the underlying bracket-path parser
|
|
1643
1694
|
* @see {@link decodeFormData} for the FormData variant
|
|
1644
1695
|
*
|
|
1645
|
-
* @category
|
|
1696
|
+
* @category decoding
|
|
1646
1697
|
* @since 4.0.0
|
|
1647
1698
|
*/
|
|
1648
1699
|
export function decodeURLSearchParams(): Getter<Schema.TreeRecord<string>, URLSearchParams> {
|
|
@@ -1666,18 +1717,19 @@ const collectURLSearchParamsEntries = collectBracketPathEntries(Predicate.isStri
|
|
|
1666
1717
|
*
|
|
1667
1718
|
* **Example** (Encoding to URLSearchParams)
|
|
1668
1719
|
*
|
|
1669
|
-
* ```ts
|
|
1670
|
-
* import { SchemaGetter } from "effect"
|
|
1720
|
+
* ```ts import.meta.vitest
|
|
1721
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1671
1722
|
*
|
|
1672
1723
|
* const encode = SchemaGetter.encodeURLSearchParams()
|
|
1673
|
-
*
|
|
1724
|
+
* const result = await Effect.runPromise(encode.run(Option.some({ name: "Alice" }), {}))
|
|
1725
|
+
* Option.map(result, (params) => params.toString()) // => Option.some("name=Alice")
|
|
1674
1726
|
* ```
|
|
1675
1727
|
*
|
|
1676
1728
|
* @see {@link decodeURLSearchParams} for the corresponding decoder
|
|
1677
1729
|
* @see {@link collectBracketPathEntries} for the underlying flattener
|
|
1678
1730
|
* @see {@link encodeFormData} for the FormData variant
|
|
1679
1731
|
*
|
|
1680
|
-
* @category
|
|
1732
|
+
* @category encoding
|
|
1681
1733
|
* @since 4.0.0
|
|
1682
1734
|
*/
|
|
1683
1735
|
export function encodeURLSearchParams(): Getter<URLSearchParams, unknown> {
|
|
@@ -1736,22 +1788,21 @@ function bracketPathToTokens(bracketPath: string): Array<string | number> {
|
|
|
1736
1788
|
*
|
|
1737
1789
|
* **Example** (Building a tree from bracket paths)
|
|
1738
1790
|
*
|
|
1739
|
-
* ```ts
|
|
1791
|
+
* ```ts import.meta.vitest
|
|
1740
1792
|
* import { SchemaGetter } from "effect"
|
|
1741
1793
|
*
|
|
1742
|
-
*
|
|
1794
|
+
* SchemaGetter.makeTreeRecord([
|
|
1743
1795
|
* ["user[name]", "Alice"],
|
|
1744
1796
|
* ["user[tags][]", "admin"],
|
|
1745
1797
|
* ["user[tags][]", "editor"]
|
|
1746
|
-
* ])
|
|
1747
|
-
* // { user: { name: "Alice", tags: ["admin", "editor"] } }
|
|
1798
|
+
* ]) // => { user: { name: "Alice", tags: ["admin", "editor"] } }
|
|
1748
1799
|
* ```
|
|
1749
1800
|
*
|
|
1750
1801
|
* @see {@link collectBracketPathEntries} for flattening trees into bracket-path entries
|
|
1751
1802
|
* @see {@link decodeFormData} for a higher-level FormData decoder
|
|
1752
1803
|
* @see {@link decodeURLSearchParams} for a higher-level URLSearchParams decoder
|
|
1753
1804
|
*
|
|
1754
|
-
* @category
|
|
1805
|
+
* @category constructors
|
|
1755
1806
|
* @since 4.0.0
|
|
1756
1807
|
*/
|
|
1757
1808
|
export function makeTreeRecord<A>(
|
|
@@ -1833,19 +1884,20 @@ export function makeTreeRecord<A>(
|
|
|
1833
1884
|
*
|
|
1834
1885
|
* **Example** (Flattening an object to bracket paths)
|
|
1835
1886
|
*
|
|
1836
|
-
* ```ts
|
|
1887
|
+
* ```ts import.meta.vitest
|
|
1837
1888
|
* import { Predicate, SchemaGetter } from "effect"
|
|
1838
1889
|
*
|
|
1839
1890
|
* const collectStrings = SchemaGetter.collectBracketPathEntries(Predicate.isString)
|
|
1840
1891
|
* const entries = collectStrings({ user: { name: "Alice", tags: ["admin", "editor"] } })
|
|
1841
|
-
*
|
|
1892
|
+
*
|
|
1893
|
+
* entries // => [["user[name]", "Alice"], ["user[tags]", "admin"], ["user[tags]", "editor"]]
|
|
1842
1894
|
* ```
|
|
1843
1895
|
*
|
|
1844
1896
|
* @see {@link makeTreeRecord} for building trees from bracket-path entries
|
|
1845
1897
|
* @see {@link encodeFormData} for a higher-level FormData encoder
|
|
1846
1898
|
* @see {@link encodeURLSearchParams} for a higher-level URLSearchParams encoder
|
|
1847
1899
|
*
|
|
1848
|
-
* @category
|
|
1900
|
+
* @category converting
|
|
1849
1901
|
* @since 4.0.0
|
|
1850
1902
|
*/
|
|
1851
1903
|
export function collectBracketPathEntries<A>(isLeaf: (value: unknown) => value is A) {
|