effect 4.0.0-beta.102 → 4.0.0-beta.103
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Array.d.ts +971 -1037
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +381 -407
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +433 -756
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +200 -325
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +207 -267
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +107 -135
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +146 -188
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Boolean.js +64 -84
- package/dist/Boolean.js.map +1 -1
- package/dist/Brand.js.map +1 -1
- package/dist/Cache.d.ts +405 -254
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +166 -101
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +167 -277
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +122 -176
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +729 -768
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +514 -440
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +1 -1
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +834 -1173
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +326 -439
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +180 -49
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js +96 -31
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +20 -33
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +18 -30
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +225 -173
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +336 -265
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +194 -68
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +115 -80
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +233 -33
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js +232 -32
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +151 -274
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +171 -214
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +68 -77
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +57 -66
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +13 -15
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +9 -10
- package/dist/Crypto.js.map +1 -1
- package/dist/Data.d.ts +60 -80
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +16 -23
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +562 -660
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +307 -362
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +253 -256
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +104 -96
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +216 -308
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +132 -186
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +2841 -3247
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1322 -1546
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.js.map +1 -1
- package/dist/Encoding.d.ts +22 -40
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +22 -40
- package/dist/Encoding.js.map +1 -1
- package/dist/Equal.d.ts +33 -37
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +29 -21
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +103 -105
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +77 -79
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +51 -27
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +50 -26
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +13 -55
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +7 -28
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +116 -192
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +82 -130
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +82 -146
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +48 -87
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +152 -105
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +106 -73
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +213 -168
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +114 -89
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +123 -81
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +85 -59
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +153 -264
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +42 -147
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +61 -33
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +26 -15
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +25 -33
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +48 -49
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +76 -145
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +40 -57
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +360 -714
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +168 -297
- package/dist/Graph.js.map +1 -1
- package/dist/HKT.d.ts +12 -6
- package/dist/HKT.d.ts.map +1 -1
- package/dist/Hash.d.ts +47 -83
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +46 -68
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +319 -411
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +122 -166
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +1 -0
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +177 -284
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js +68 -109
- package/dist/HashSet.js.map +1 -1
- package/dist/Inspectable.d.ts +12 -12
- package/dist/Inspectable.js +8 -8
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +620 -786
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +228 -306
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +11 -13
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +44 -102
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +8 -8
- package/dist/JsonPointer.js +8 -8
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +98 -44
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +297 -234
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +23 -35
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +16 -28
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +359 -260
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +195 -175
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +42 -29
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +31 -21
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts +6 -2
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +6 -2
- package/dist/LayerRef.js.map +1 -1
- package/dist/LogLevel.d.ts +114 -214
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +41 -76
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +218 -467
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +204 -450
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +7 -5
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +7 -5
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +217 -252
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +150 -183
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +442 -993
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +198 -642
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +144 -173
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +68 -79
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +84 -89
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +44 -47
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +71 -370
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +59 -284
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +420 -243
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +209 -120
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +21 -14
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +15 -13
- package/dist/Newtype.js.map +1 -1
- package/dist/NonEmptyIterable.d.ts +7 -137
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/NonEmptyIterable.js +5 -93
- package/dist/NonEmptyIterable.js.map +1 -1
- package/dist/Number.d.ts +196 -233
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +90 -109
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +97 -189
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +187 -290
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +447 -812
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +211 -392
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +109 -109
- package/dist/Order.js +91 -91
- package/dist/Order.js.map +1 -1
- package/dist/Ordering.d.ts +20 -23
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/Ordering.js +8 -9
- package/dist/Ordering.js.map +1 -1
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +38 -41
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +3 -4
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +6 -5
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +2 -2
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +4 -4
- package/dist/PlatformError.js +3 -3
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +4 -2
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +4 -2
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +200 -181
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +100 -108
- package/dist/Predicate.js.map +1 -1
- package/dist/PrimaryKey.d.ts +7 -7
- package/dist/PrimaryKey.js +5 -5
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +425 -494
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +373 -362
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +24 -18
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +11 -9
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +200 -159
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +162 -132
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +49 -74
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +35 -54
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +121 -63
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +42 -21
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +24 -13
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js +15 -9
- package/dist/RcRef.js.map +1 -1
- package/dist/Record.d.ts +291 -488
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +111 -202
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +6 -2
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +7 -2
- package/dist/Redactable.js.map +1 -1
- package/dist/Redacted.d.ts +25 -25
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +19 -20
- package/dist/Redacted.js.map +1 -1
- package/dist/Reducer.d.ts +8 -15
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +6 -12
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +95 -165
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +75 -122
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +102 -168
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +102 -168
- package/dist/References.js.map +1 -1
- package/dist/RegExp.d.ts +10 -14
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/RegExp.js +10 -14
- package/dist/RegExp.js.map +1 -1
- package/dist/Request.d.ts +31 -21
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +16 -13
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +201 -90
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +87 -41
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +302 -470
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +133 -217
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +50 -75
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +39 -60
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +290 -1636
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +162 -803
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +5 -5
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +18 -6
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +644 -642
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +491 -527
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +27 -50
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +366 -279
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaError.d.ts +7 -6
- package/dist/SchemaError.d.ts.map +1 -1
- package/dist/SchemaError.js +7 -6
- package/dist/SchemaError.js.map +1 -1
- package/dist/SchemaGetter.d.ts +217 -174
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +218 -185
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +62 -190
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +73 -265
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +2 -2
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +123 -75
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +22 -36
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +20 -26
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +114 -74
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +120 -85
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +123 -151
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +72 -92
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/ScopedRef.d.ts +3 -3
- package/dist/ScopedRef.js +2 -2
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +96 -10
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +78 -39
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +117 -107
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +107 -100
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +1 -1
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +2415 -2949
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +1078 -1381
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +262 -308
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +184 -215
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +109 -114
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +41 -50
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +282 -250
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +104 -92
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Symbol.d.ts +3 -3
- package/dist/Symbol.js +3 -3
- package/dist/Symbol.js.map +1 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Take.js.map +1 -1
- package/dist/Terminal.d.ts +2 -2
- package/dist/Terminal.js +1 -1
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +100 -54
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +41 -24
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +287 -679
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +109 -251
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +92 -127
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +42 -57
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +201 -121
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +85 -56
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +62 -46
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +30 -22
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +631 -779
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +268 -330
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +297 -236
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +130 -100
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +126 -95
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +74 -56
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +101 -88
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +87 -66
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +200 -180
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +160 -136
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +97 -66
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +67 -45
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +51 -32
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +23 -15
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +129 -95
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +85 -70
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +97 -70
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +44 -34
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +126 -67
- package/dist/Types.d.ts.map +1 -1
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +45 -65
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js +6 -9
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +23 -16
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +3 -7
- package/dist/Utils.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/array.js.map +1 -1
- package/dist/internal/core.js +1 -1
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +4 -0
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/doNotation.js.map +1 -1
- package/dist/internal/effect.js +77 -40
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/equal.js.map +1 -1
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/executionPlan.js.map +1 -1
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/hashSet.js.map +1 -1
- package/dist/internal/layer.js.map +1 -1
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/metric.js.map +1 -1
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/persistence.d.ts +2 -0
- package/dist/internal/persistence.d.ts.map +1 -0
- package/dist/internal/persistence.js +3 -0
- package/dist/internal/persistence.js.map +1 -0
- package/dist/internal/random.js.map +1 -1
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/record.js.map +1 -1
- package/dist/internal/redacted.js.map +1 -1
- package/dist/internal/references.js +3 -0
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/result.js.map +1 -1
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/cause.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +13 -11
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/fromRepresentation.js +8 -15
- package/dist/internal/schema/fromRepresentation.js.map +1 -1
- package/dist/internal/schema/parser.d.ts +14 -0
- package/dist/internal/schema/parser.d.ts.map +1 -0
- package/dist/internal/schema/parser.js +13 -0
- package/dist/internal/schema/parser.js.map +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/schema/toArbitrary.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toEquivalence.js.map +1 -1
- package/dist/internal/schema/toJsonSchemaDocument.js +48 -6
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toRepresentation.js +87 -107
- package/dist/internal/schema/toRepresentation.js.map +1 -1
- package/dist/internal/stackTraceLimit.js.map +1 -1
- package/dist/internal/stream.js.map +1 -1
- package/dist/internal/tracer.js.map +1 -1
- package/dist/internal/trie.js +13 -9
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/FastCheck.d.ts +8 -7
- package/dist/testing/FastCheck.d.ts.map +1 -1
- package/dist/testing/FastCheck.js +8 -7
- package/dist/testing/FastCheck.js.map +1 -1
- package/dist/testing/TestClock.d.ts +57 -28
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +50 -18
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestConsole.d.ts +32 -31
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +24 -22
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +29 -29
- package/dist/testing/TestSchema.js +25 -25
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +95 -118
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +94 -117
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +132 -97
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +55 -51
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/IdGenerator.d.ts +32 -28
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +26 -21
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +107 -67
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +104 -64
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpProtocol.d.ts +30 -0
- package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
- package/dist/unstable/ai/McpProtocol.js +20 -0
- package/dist/unstable/ai/McpProtocol.js.map +1 -0
- package/dist/unstable/ai/McpSchema.d.ts +141 -75
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +58 -50
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +68 -59
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +694 -241
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +8 -19
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +9 -20
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +112 -38
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +53 -17
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +28 -14
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +9 -4
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts +46 -13
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +18 -7
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +14 -3
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +10 -2
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +59 -44
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +48 -39
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +26 -8
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +18 -4
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +4 -0
- package/dist/unstable/ai/index.d.ts.map +1 -1
- package/dist/unstable/ai/index.js +4 -0
- package/dist/unstable/ai/index.js.map +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
- package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
- package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
- package/dist/unstable/ai/internal/structured-output.js +14 -15
- package/dist/unstable/ai/internal/structured-output.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +273 -69
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +111 -33
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliConfig.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +69 -76
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +57 -61
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +35 -54
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +26 -42
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +705 -107
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +238 -42
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.js.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +418 -138
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +197 -71
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +12 -4
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +292 -78
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +128 -46
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +370 -149
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +344 -136
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.d.ts +23 -14
- package/dist/unstable/cli/Prompt.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.js +23 -14
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/ansi.js.map +1 -1
- package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
- package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
- package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
- package/dist/unstable/cli/internal/config.js.map +1 -1
- package/dist/unstable/cli/internal/help.js.map +1 -1
- package/dist/unstable/cli/internal/lexer.js +17 -7
- package/dist/unstable/cli/internal/lexer.js.map +1 -1
- package/dist/unstable/cli/internal/parser.js +2 -2
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cli/internal/wizard.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.js.map +1 -1
- package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
- package/dist/unstable/cluster/ClusterSchema.js +8 -8
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +5 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +10 -10
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +8 -8
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.js.map +1 -1
- package/dist/unstable/cluster/EntityId.js.map +1 -1
- package/dist/unstable/cluster/EntityProxy.d.ts +4 -2
- package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxy.js +4 -2
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.js +2 -2
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/EntityType.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +3 -3
- package/dist/unstable/cluster/Envelope.js +3 -3
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
- package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/HttpRunner.js +6 -4
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/MachineId.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +9 -9
- package/dist/unstable/cluster/Message.js +6 -6
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
- package/dist/unstable/cluster/MessageStorage.js +5 -5
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +4 -4
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.js.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +1 -1
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +16 -16
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +2 -2
- package/dist/unstable/cluster/RunnerStorage.js +1 -1
- package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +6 -6
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +19 -10
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +3 -2
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +3 -3
- package/dist/unstable/cluster/ShardingConfig.js +3 -3
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
- package/dist/unstable/cluster/SingleRunner.js.map +1 -1
- package/dist/unstable/cluster/Singleton.js.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
- package/dist/unstable/cluster/SingletonAddress.js +1 -1
- package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
- package/dist/unstable/cluster/Snowflake.d.ts +8 -8
- package/dist/unstable/cluster/Snowflake.js +8 -8
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SocketRunner.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +20 -5
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/TestRunner.js.map +1 -1
- package/dist/unstable/cluster/index.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +5 -5
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/hash.js.map +1 -1
- package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/cluster/internal/shardLock.js.map +1 -1
- package/dist/unstable/devtools/DevTools.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
- package/dist/unstable/devtools/index.js.map +1 -1
- package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
- package/dist/unstable/encoding/Msgpack.js +6 -8
- package/dist/unstable/encoding/Msgpack.js.map +1 -1
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +72 -8
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +58 -8
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/encoding/index.js.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts +20 -20
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
- package/dist/unstable/eventlog/EventGroup.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +15 -15
- package/dist/unstable/eventlog/EventJournal.js +13 -13
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +3 -3
- package/dist/unstable/eventlog/EventLog.js +3 -3
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +2 -2
- package/dist/unstable/eventlog/EventLogMessage.js +1 -1
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
- package/dist/unstable/eventlog/EventLogRemote.js +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +45 -21
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +13 -5
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +14 -6
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/index.js.map +1 -1
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +2 -2
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +30 -18
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +1 -1
- package/dist/unstable/http/Etag.js +1 -1
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +2 -2
- package/dist/unstable/http/Headers.js +2 -2
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +5 -3
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +11 -5
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +51 -44
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +46 -17
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +2 -0
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
- package/dist/unstable/http/HttpClientResponse.js +2 -2
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +6 -6
- package/dist/unstable/http/HttpEffect.js +3 -3
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +6 -9
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +6 -9
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +164 -39
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +76 -0
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +32 -0
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +88 -89
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +78 -79
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +13 -13
- package/dist/unstable/http/HttpServer.js +6 -6
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +2 -2
- package/dist/unstable/http/HttpServerError.js +2 -2
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
- package/dist/unstable/http/HttpServerRequest.js +4 -4
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +10 -0
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpStaticServer.js +35 -7
- package/dist/unstable/http/HttpStaticServer.js.map +1 -1
- package/dist/unstable/http/HttpTraceContext.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +6 -6
- package/dist/unstable/http/Multipart.js +5 -5
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/Template.js.map +1 -1
- package/dist/unstable/http/Url.d.ts +33 -63
- package/dist/unstable/http/Url.d.ts.map +1 -1
- package/dist/unstable/http/Url.js +14 -28
- package/dist/unstable/http/Url.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +10 -18
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +9 -17
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.js.map +1 -1
- package/dist/unstable/http/internal/compression.d.ts +2 -0
- package/dist/unstable/http/internal/compression.d.ts.map +1 -0
- package/dist/unstable/http/internal/compression.js +155 -0
- package/dist/unstable/http/internal/compression.js.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +10 -11
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +11 -13
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +42 -42
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
- package/dist/unstable/httpapi/HttpApiError.js +13 -13
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +6 -6
- package/dist/unstable/httpapi/HttpApiSchema.js +4 -4
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +13 -13
- package/dist/unstable/httpapi/OpenApi.js +13 -13
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/httpapi/index.js.map +1 -1
- package/dist/unstable/httpapi/internal/html.js.map +1 -1
- package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
- package/dist/unstable/observability/Otlp.js.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +12 -14
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +17 -4
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts +16 -7
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.js +21 -12
- package/dist/unstable/observability/OtlpResource.js.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +10 -3
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/observability/index.js.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
- package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/unstable/observability/internal/protobuf.js +3 -0
- package/dist/unstable/observability/internal/protobuf.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +22 -13
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +8 -8
- package/dist/unstable/persistence/Persistable.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
- package/dist/unstable/persistence/PersistedQueue.js +6 -6
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +3 -3
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +91 -15
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +26 -15
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +24 -13
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +2 -2
- package/dist/unstable/persistence/Redis.js +1 -1
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/persistence/index.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +64 -21
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +14 -5
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/process/index.js.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
- package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.js +10 -10
- package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +25 -22
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +14 -13
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRef.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +24 -3
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +4 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +1 -1
- package/dist/unstable/reactivity/Hydration.js +1 -1
- package/dist/unstable/reactivity/Hydration.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +35 -33
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +4 -2
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +12 -12
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +12 -11
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
- package/dist/unstable/rpc/RpcGroup.js +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
- package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMessage.js +6 -6
- package/dist/unstable/rpc/RpcMessage.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
- package/dist/unstable/rpc/RpcMiddleware.js +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
- package/dist/unstable/rpc/RpcSchema.js +3 -3
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +175 -96
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +13 -13
- package/dist/unstable/rpc/RpcServer.js +17 -13
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcTest.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
- package/dist/unstable/rpc/RpcWorker.js +4 -4
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/rpc/index.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +52 -50
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +35 -33
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +5 -5
- package/dist/unstable/schema/VariantSchema.js +2 -2
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/schema/index.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +11 -3
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +9 -4
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/socket/index.js.map +1 -1
- package/dist/unstable/sql/Migrator.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +2 -2
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.js +2 -2
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.d.ts +5 -5
- package/dist/unstable/sql/SqlResolver.js +2 -2
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/SqlStream.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +6 -6
- package/dist/unstable/sql/Statement.js +15 -15
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/sql/index.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +1 -1
- package/dist/unstable/workers/Transferable.js +1 -1
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +2 -2
- package/dist/unstable/workers/Worker.js +2 -2
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +7 -7
- package/dist/unstable/workers/WorkerError.js +6 -6
- package/dist/unstable/workers/WorkerError.js.map +1 -1
- package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
- package/dist/unstable/workers/WorkerRunner.js +1 -1
- package/dist/unstable/workers/WorkerRunner.js.map +1 -1
- package/dist/unstable/workers/index.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +2 -2
- package/dist/unstable/workflow/Activity.js +2 -2
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +1 -1
- package/dist/unstable/workflow/DurableClock.js +1 -1
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
- package/dist/unstable/workflow/DurableDeferred.js +5 -5
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +22 -20
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +21 -21
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +13 -14
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
- package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.js +4 -2
- package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/dist/unstable/workflow/index.js.map +1 -1
- package/dist/unstable/workflow/internal/crypto.js.map +1 -1
- package/package.json +5 -6
- package/src/Array.ts +982 -1045
- package/src/BigDecimal.ts +433 -756
- package/src/BigInt.ts +213 -269
- package/src/Boolean.ts +146 -188
- package/src/Cache.ts +409 -255
- package/src/Cause.ts +167 -277
- package/src/Channel.ts +891 -816
- package/src/ChannelSchema.ts +1 -1
- package/src/Chunk.ts +841 -1181
- package/src/Clock.ts +181 -49
- package/src/Combiner.ts +20 -33
- package/src/Config.ts +615 -332
- package/src/ConfigProvider.ts +214 -120
- package/src/Console.ts +289 -39
- package/src/Context.ts +319 -378
- package/src/Cron.ts +68 -77
- package/src/Crypto.ts +13 -15
- package/src/Data.ts +60 -80
- package/src/DateTime.ts +564 -660
- package/src/Deferred.ts +253 -256
- package/src/Duration.ts +216 -308
- package/src/Effect.ts +2893 -3279
- package/src/Encoding.ts +22 -40
- package/src/Equal.ts +49 -39
- package/src/Equivalence.ts +103 -105
- package/src/ErrorReporter.ts +51 -27
- package/src/ExecutionPlan.ts +13 -55
- package/src/Exit.ts +116 -192
- package/src/Fiber.ts +81 -148
- package/src/FiberHandle.ts +152 -105
- package/src/FiberMap.ts +225 -174
- package/src/FiberSet.ts +124 -82
- package/src/FileSystem.ts +155 -263
- package/src/Filter.ts +61 -33
- package/src/Formatter.ts +54 -56
- package/src/Function.ts +76 -145
- package/src/Graph.ts +416 -770
- package/src/HKT.ts +12 -6
- package/src/Hash.ts +52 -83
- package/src/HashMap.ts +319 -411
- package/src/HashRing.ts +1 -0
- package/src/HashSet.ts +177 -284
- package/src/Inspectable.ts +12 -12
- package/src/Iterable.ts +620 -786
- package/src/JsonPatch.ts +58 -112
- package/src/JsonPointer.ts +8 -8
- package/src/JsonSchema.ts +402 -244
- package/src/Latch.ts +23 -35
- package/src/Layer.ts +359 -260
- package/src/LayerMap.ts +49 -29
- package/src/LayerRef.ts +6 -2
- package/src/LogLevel.ts +114 -214
- package/src/Logger.ts +344 -697
- package/src/ManagedRuntime.ts +7 -5
- package/src/Match.ts +217 -252
- package/src/Metric.ts +516 -1089
- package/src/MutableHashMap.ts +218 -255
- package/src/MutableHashSet.ts +84 -89
- package/src/MutableList.ts +73 -370
- package/src/MutableRef.ts +420 -243
- package/src/Newtype.ts +21 -14
- package/src/NonEmptyIterable.ts +7 -137
- package/src/Number.ts +196 -233
- package/src/Optic.ts +243 -383
- package/src/Option.ts +447 -812
- package/src/Order.ts +109 -109
- package/src/Ordering.ts +20 -23
- package/src/Path.ts +38 -41
- package/src/Pipeable.ts +6 -5
- package/src/PlatformError.ts +4 -4
- package/src/Pool.ts +4 -2
- package/src/Predicate.ts +200 -181
- package/src/PrimaryKey.ts +7 -7
- package/src/PubSub.ts +526 -552
- package/src/Pull.ts +24 -18
- package/src/Queue.ts +200 -159
- package/src/Random.ts +49 -74
- package/src/RcMap.ts +121 -63
- package/src/RcRef.ts +24 -13
- package/src/Record.ts +291 -488
- package/src/Redactable.ts +10 -3
- package/src/Redacted.ts +25 -25
- package/src/Reducer.ts +8 -15
- package/src/Ref.ts +221 -361
- package/src/References.ts +102 -168
- package/src/RegExp.ts +10 -14
- package/src/Request.ts +31 -21
- package/src/RequestResolver.ts +202 -91
- package/src/Result.ts +312 -484
- package/src/Runtime.ts +50 -75
- package/src/Schedule.ts +308 -1734
- package/src/Scheduler.ts +20 -7
- package/src/Schema.ts +716 -745
- package/src/SchemaAST.ts +466 -358
- package/src/SchemaError.ts +7 -6
- package/src/SchemaGetter.ts +242 -190
- package/src/SchemaIssue.ts +89 -275
- package/src/SchemaParser.ts +180 -93
- package/src/SchemaRepresentation.ts +22 -40
- package/src/SchemaTransformation.ts +129 -88
- package/src/Scope.ts +123 -151
- package/src/ScopedRef.ts +4 -4
- package/src/Semaphore.ts +152 -51
- package/src/Sink.ts +128 -113
- package/src/Stdio.ts +1 -1
- package/src/Stream.ts +2602 -3123
- package/src/String.ts +275 -312
- package/src/Struct.ts +109 -114
- package/src/SubscriptionRef.ts +284 -252
- package/src/Symbol.ts +3 -3
- package/src/Terminal.ts +2 -2
- package/src/Tracer.ts +102 -55
- package/src/Trie.ts +287 -679
- package/src/Tuple.ts +92 -127
- package/src/TxChunk.ts +201 -121
- package/src/TxDeferred.ts +62 -46
- package/src/TxHashMap.ts +645 -799
- package/src/TxHashSet.ts +443 -356
- package/src/TxPriorityQueue.ts +130 -98
- package/src/TxPubSub.ts +107 -80
- package/src/TxQueue.ts +214 -183
- package/src/TxReentrantLock.ts +97 -66
- package/src/TxRef.ts +51 -32
- package/src/TxSemaphore.ts +129 -95
- package/src/TxSubscriptionRef.ts +97 -70
- package/src/Types.ts +126 -67
- package/src/Unify.ts +45 -65
- package/src/Utils.ts +23 -16
- package/src/internal/core.ts +2 -2
- package/src/internal/dateTime.ts +6 -0
- package/src/internal/effect.ts +93 -48
- package/src/internal/persistence.ts +2 -0
- package/src/internal/references.ts +3 -2
- package/src/internal/schema/fromJsonSchemaDocument.ts +15 -13
- package/src/internal/schema/fromRepresentation.ts +10 -16
- package/src/internal/schema/parser.ts +22 -0
- package/src/internal/schema/toJsonSchemaDocument.ts +60 -6
- package/src/internal/schema/toRepresentation.ts +104 -119
- package/src/internal/trie.ts +10 -11
- package/src/testing/FastCheck.ts +8 -7
- package/src/testing/TestClock.ts +72 -30
- package/src/testing/TestConsole.ts +32 -31
- package/src/testing/TestSchema.ts +29 -29
- package/src/unstable/ai/AiError.ts +95 -118
- package/src/unstable/ai/AnthropicStructuredOutput.ts +1 -1
- package/src/unstable/ai/Chat.ts +132 -97
- package/src/unstable/ai/IdGenerator.ts +32 -28
- package/src/unstable/ai/LanguageModel.ts +107 -67
- package/src/unstable/ai/McpProtocol.ts +48 -0
- package/src/unstable/ai/McpSchema.ts +60 -50
- package/src/unstable/ai/McpServer.ts +930 -304
- package/src/unstable/ai/Model.ts +9 -20
- package/src/unstable/ai/OpenAiStructuredOutput.ts +1 -1
- package/src/unstable/ai/Prompt.ts +145 -43
- package/src/unstable/ai/Response.ts +28 -14
- package/src/unstable/ai/Telemetry.ts +46 -13
- package/src/unstable/ai/Tokenizer.ts +14 -3
- package/src/unstable/ai/Tool.ts +59 -44
- package/src/unstable/ai/Toolkit.ts +26 -8
- package/src/unstable/ai/index.ts +5 -0
- package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
- package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
- package/src/unstable/ai/internal/structured-output.ts +13 -18
- package/src/unstable/cli/Argument.ts +273 -69
- package/src/unstable/cli/CliError.ts +69 -76
- package/src/unstable/cli/CliOutput.ts +44 -58
- package/src/unstable/cli/Command.ts +705 -107
- package/src/unstable/cli/Flag.ts +418 -138
- package/src/unstable/cli/GlobalFlag.ts +1 -1
- package/src/unstable/cli/HelpDoc.ts +12 -4
- package/src/unstable/cli/Param.ts +292 -78
- package/src/unstable/cli/Primitive.ts +370 -149
- package/src/unstable/cli/Prompt.ts +28 -14
- package/src/unstable/cli/internal/lexer.ts +8 -2
- package/src/unstable/cli/internal/parser.ts +2 -2
- package/src/unstable/cluster/ClusterSchema.ts +8 -8
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -1
- package/src/unstable/cluster/Entity.ts +15 -16
- package/src/unstable/cluster/EntityProxy.ts +4 -2
- package/src/unstable/cluster/EntityResource.ts +2 -2
- package/src/unstable/cluster/Envelope.ts +3 -3
- package/src/unstable/cluster/HttpRunner.ts +6 -4
- package/src/unstable/cluster/Message.ts +9 -9
- package/src/unstable/cluster/MessageStorage.ts +15 -15
- package/src/unstable/cluster/Reply.ts +4 -6
- package/src/unstable/cluster/RunnerHealth.ts +1 -1
- package/src/unstable/cluster/RunnerServer.ts +41 -8
- package/src/unstable/cluster/RunnerStorage.ts +2 -2
- package/src/unstable/cluster/Runners.ts +23 -12
- package/src/unstable/cluster/Sharding.ts +7 -8
- package/src/unstable/cluster/ShardingConfig.ts +3 -3
- package/src/unstable/cluster/SingletonAddress.ts +1 -1
- package/src/unstable/cluster/Snowflake.ts +8 -8
- package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
- package/src/unstable/cluster/SqlRunnerStorage.ts +21 -5
- package/src/unstable/cluster/internal/entityManager.ts +11 -15
- package/src/unstable/encoding/Msgpack.ts +6 -8
- package/src/unstable/encoding/Sse.ts +98 -16
- package/src/unstable/eventlog/Event.ts +20 -20
- package/src/unstable/eventlog/EventGroup.ts +4 -4
- package/src/unstable/eventlog/EventJournal.ts +15 -15
- package/src/unstable/eventlog/EventLog.ts +3 -3
- package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
- package/src/unstable/eventlog/EventLogMessage.ts +2 -2
- package/src/unstable/eventlog/EventLogRemote.ts +1 -1
- package/src/unstable/eventlog/EventLogServer.ts +41 -7
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +13 -5
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +14 -6
- package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
- package/src/unstable/http/Cookies.ts +35 -21
- package/src/unstable/http/Etag.ts +1 -1
- package/src/unstable/http/FetchHttpClient.ts +3 -1
- package/src/unstable/http/Headers.ts +2 -2
- package/src/unstable/http/HttpBody.ts +20 -5
- package/src/unstable/http/HttpClient.ts +83 -55
- package/src/unstable/http/HttpClientRequest.ts +2 -0
- package/src/unstable/http/HttpClientResponse.ts +4 -4
- package/src/unstable/http/HttpEffect.ts +8 -8
- package/src/unstable/http/HttpMethod.ts +6 -9
- package/src/unstable/http/HttpMiddleware.ts +202 -39
- package/src/unstable/http/HttpPlatform.ts +95 -0
- package/src/unstable/http/HttpRouter.ts +102 -98
- package/src/unstable/http/HttpServer.ts +13 -13
- package/src/unstable/http/HttpServerError.ts +2 -2
- package/src/unstable/http/HttpServerRequest.ts +4 -4
- package/src/unstable/http/HttpServerResponse.ts +30 -0
- package/src/unstable/http/HttpStaticServer.ts +35 -7
- package/src/unstable/http/Multipart.ts +6 -6
- package/src/unstable/http/Url.ts +33 -63
- package/src/unstable/http/UrlParams.ts +10 -18
- package/src/unstable/http/internal/compression.ts +196 -0
- package/src/unstable/httpapi/HttpApiBuilder.ts +10 -9
- package/src/unstable/httpapi/HttpApiClient.ts +14 -14
- package/src/unstable/httpapi/HttpApiEndpoint.ts +42 -42
- package/src/unstable/httpapi/HttpApiError.ts +13 -13
- package/src/unstable/httpapi/HttpApiGroup.ts +15 -15
- package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
- package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
- package/src/unstable/httpapi/HttpApiSchema.ts +6 -6
- package/src/unstable/httpapi/OpenApi.ts +13 -13
- package/src/unstable/observability/OtlpExporter.ts +31 -19
- package/src/unstable/observability/OtlpMetrics.ts +4 -1
- package/src/unstable/observability/OtlpResource.ts +26 -17
- package/src/unstable/observability/PrometheusMetrics.ts +13 -4
- package/src/unstable/observability/internal/otlpEnv.ts +1 -1
- package/src/unstable/observability/internal/protobuf.ts +3 -0
- package/src/unstable/persistence/KeyValueStore.ts +72 -49
- package/src/unstable/persistence/Persistable.ts +8 -8
- package/src/unstable/persistence/PersistedQueue.ts +6 -6
- package/src/unstable/persistence/Persistence.ts +126 -19
- package/src/unstable/persistence/RateLimiter.ts +26 -15
- package/src/unstable/persistence/Redis.ts +2 -2
- package/src/unstable/process/ChildProcess.ts +64 -21
- package/src/unstable/process/ChildProcessSpawner.ts +21 -10
- package/src/unstable/reactivity/AsyncResult.ts +12 -13
- package/src/unstable/reactivity/Atom.ts +28 -25
- package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
- package/src/unstable/reactivity/AtomRegistry.ts +24 -3
- package/src/unstable/reactivity/AtomRpc.ts +5 -4
- package/src/unstable/reactivity/Hydration.ts +1 -1
- package/src/unstable/rpc/Rpc.ts +35 -33
- package/src/unstable/rpc/RpcClient.ts +16 -15
- package/src/unstable/rpc/RpcGroup.ts +8 -8
- package/src/unstable/rpc/RpcMessage.ts +31 -30
- package/src/unstable/rpc/RpcMiddleware.ts +10 -10
- package/src/unstable/rpc/RpcSchema.ts +4 -4
- package/src/unstable/rpc/RpcSerialization.ts +167 -68
- package/src/unstable/rpc/RpcServer.ts +18 -15
- package/src/unstable/rpc/RpcWorker.ts +5 -5
- package/src/unstable/schema/Model.ts +52 -50
- package/src/unstable/schema/VariantSchema.ts +5 -5
- package/src/unstable/socket/Socket.ts +17 -4
- package/src/unstable/sql/SqlClient.ts +5 -6
- package/src/unstable/sql/SqlModel.ts +2 -2
- package/src/unstable/sql/SqlResolver.ts +5 -5
- package/src/unstable/sql/Statement.ts +24 -23
- package/src/unstable/workers/Transferable.ts +1 -1
- package/src/unstable/workers/Worker.ts +2 -2
- package/src/unstable/workers/WorkerError.ts +7 -7
- package/src/unstable/workers/WorkerRunner.ts +1 -1
- package/src/unstable/workflow/Activity.ts +2 -2
- package/src/unstable/workflow/DurableClock.ts +1 -1
- package/src/unstable/workflow/DurableDeferred.ts +10 -10
- package/src/unstable/workflow/DurableQueue.ts +22 -20
- package/src/unstable/workflow/Workflow.ts +23 -23
- package/src/unstable/workflow/WorkflowEngine.ts +1 -1
- package/src/unstable/workflow/WorkflowProxy.ts +4 -2
- package/dist/internal/version.d.ts +0 -3
- package/dist/internal/version.d.ts.map +0 -1
- package/dist/internal/version.js +0 -2
- package/dist/internal/version.js.map +0 -1
- package/src/internal/version.ts +0 -2
package/dist/Config.js
CHANGED
|
@@ -24,11 +24,11 @@ const TypeId = "~effect/Config";
|
|
|
24
24
|
*
|
|
25
25
|
* **Example** (Checking Config values)
|
|
26
26
|
*
|
|
27
|
-
* ```ts
|
|
27
|
+
* ```ts import.meta.vitest
|
|
28
28
|
* import { Config } from "effect"
|
|
29
29
|
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
30
|
+
* Config.isConfig(Config.string("HOST")) // => true
|
|
31
|
+
* Config.isConfig("not a config") // => false
|
|
32
32
|
* ```
|
|
33
33
|
*
|
|
34
34
|
* @category guards
|
|
@@ -50,7 +50,7 @@ export const isConfig = u => Predicate.hasProperty(u, TypeId);
|
|
|
50
50
|
* (wrong type, out of range, missing key, etc.).
|
|
51
51
|
*
|
|
52
52
|
* @see {@link orElse} – recover from a ConfigError
|
|
53
|
-
* @see {@link withDefault} – provide a fallback
|
|
53
|
+
* @see {@link withDefault} – provide a fallback when relevant input is absent
|
|
54
54
|
*
|
|
55
55
|
* @category errors
|
|
56
56
|
* @since 4.0.0
|
|
@@ -83,11 +83,31 @@ const Proto = {
|
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
85
|
};
|
|
86
|
-
function make(
|
|
86
|
+
function make(evaluator) {
|
|
87
87
|
const self = Object.create(Proto);
|
|
88
|
-
self.
|
|
88
|
+
self.evaluator = evaluator;
|
|
89
|
+
self.parse = provider => evaluator(provider, []).pipe(Effect.mapErrorEager(failure => failure.error), Effect.flatMapEager(resolution => resolution._tag === "Resolved" ? Effect.succeed(resolution.value) : Effect.fail(resolution.error)));
|
|
89
90
|
return self;
|
|
90
91
|
}
|
|
92
|
+
const evaluateAt = (self, provider, pathPrefix) => self.evaluator(provider, pathPrefix);
|
|
93
|
+
const resolved = (value, hasInput) => ({
|
|
94
|
+
_tag: "Resolved",
|
|
95
|
+
value,
|
|
96
|
+
hasInput
|
|
97
|
+
});
|
|
98
|
+
const absent = error => ({
|
|
99
|
+
_tag: "Absent",
|
|
100
|
+
error
|
|
101
|
+
});
|
|
102
|
+
const evaluationFailure = (error, hasInput) => ({
|
|
103
|
+
error,
|
|
104
|
+
hasInput
|
|
105
|
+
});
|
|
106
|
+
const catchSourceError = (self, hasInput) => self.pipe(Effect.catchDefect(defect => defect instanceof ConfigProvider.SourceError ? Effect.fail(evaluationFailure(new ConfigError(defect), hasInput)) : Effect.die(defect)));
|
|
107
|
+
const preserveInputEvidence = (self, hasInput) => {
|
|
108
|
+
if (!hasInput) return self;
|
|
109
|
+
return self.pipe(Effect.mapErrorEager(failure => evaluationFailure(failure.error, true)), Effect.flatMapEager(resolution => resolution._tag === "Resolved" ? Effect.succeed(resolved(resolution.value, true)) : Effect.fail(evaluationFailure(resolution.error, true))));
|
|
110
|
+
};
|
|
91
111
|
/**
|
|
92
112
|
* Transforms the parsed value of a config with a pure function.
|
|
93
113
|
*
|
|
@@ -98,7 +118,7 @@ function make(parse) {
|
|
|
98
118
|
*
|
|
99
119
|
* **Example** (Uppercasing a string config)
|
|
100
120
|
*
|
|
101
|
-
* ```ts
|
|
121
|
+
* ```ts import.meta.vitest
|
|
102
122
|
* import { Config, ConfigProvider, Effect } from "effect"
|
|
103
123
|
*
|
|
104
124
|
* const upper = Config.string("name").pipe(
|
|
@@ -106,7 +126,7 @@ function make(parse) {
|
|
|
106
126
|
* )
|
|
107
127
|
*
|
|
108
128
|
* const provider = ConfigProvider.fromUnknown({ name: "alice" })
|
|
109
|
-
*
|
|
129
|
+
* Effect.runSync(upper.parse(provider)) // => "ALICE"
|
|
110
130
|
* ```
|
|
111
131
|
*
|
|
112
132
|
* @see {@link mapOrFail} – when the transformation can fail
|
|
@@ -115,7 +135,7 @@ function make(parse) {
|
|
|
115
135
|
* @since 2.0.0
|
|
116
136
|
*/
|
|
117
137
|
export const map = /*#__PURE__*/dual(2, (self, f) => {
|
|
118
|
-
return make((provider, pathPrefix) => Effect.map(self
|
|
138
|
+
return make((provider, pathPrefix) => Effect.map(evaluateAt(self, provider, pathPrefix), resolution => resolution._tag === "Resolved" ? resolved(f(resolution.value), resolution.hasInput) : resolution));
|
|
119
139
|
});
|
|
120
140
|
/**
|
|
121
141
|
* Transforms the parsed value with a function that may fail.
|
|
@@ -127,12 +147,14 @@ export const map = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
127
147
|
*
|
|
128
148
|
* **Example** (Wrapping a value in an effectful transformation)
|
|
129
149
|
*
|
|
130
|
-
* ```ts
|
|
131
|
-
* import { Config, Effect } from "effect"
|
|
150
|
+
* ```ts import.meta.vitest
|
|
151
|
+
* import { Config, ConfigProvider, Effect } from "effect"
|
|
132
152
|
*
|
|
133
153
|
* const trimmed = Config.string("name").pipe(
|
|
134
154
|
* Config.mapOrFail((s) => Effect.succeed(s.trim()))
|
|
135
155
|
* )
|
|
156
|
+
* const provider = ConfigProvider.fromUnknown({ name: " Alice " })
|
|
157
|
+
* Effect.runSync(trimmed.parse(provider)) // => "Alice"
|
|
136
158
|
* ```
|
|
137
159
|
*
|
|
138
160
|
* @see {@link map} – when the transformation cannot fail
|
|
@@ -141,7 +163,7 @@ export const map = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
141
163
|
* @since 2.0.0
|
|
142
164
|
*/
|
|
143
165
|
export const mapOrFail = /*#__PURE__*/dual(2, (self, f) => {
|
|
144
|
-
return make((provider, pathPrefix) => Effect.flatMap(self
|
|
166
|
+
return make((provider, pathPrefix) => Effect.flatMap(evaluateAt(self, provider, pathPrefix), resolution => resolution._tag === "Resolved" ? f(resolution.value).pipe(Effect.mapEager(value => resolved(value, resolution.hasInput)), Effect.mapErrorEager(error => evaluationFailure(error, resolution.hasInput))) : Effect.succeed(resolution)));
|
|
145
167
|
});
|
|
146
168
|
/**
|
|
147
169
|
* Provides a fallback config when parsing fails with a `ConfigError`.
|
|
@@ -153,27 +175,39 @@ export const mapOrFail = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
153
175
|
*
|
|
154
176
|
* **Details**
|
|
155
177
|
*
|
|
156
|
-
* Unlike {@link withDefault}, this
|
|
157
|
-
*
|
|
178
|
+
* Unlike {@link withDefault}, this handles both semantic absence and **all**
|
|
179
|
+
* `ConfigError`s. The fallback function receives the error and returns a new
|
|
158
180
|
* `Config`.
|
|
159
181
|
*
|
|
182
|
+
* **Gotchas**
|
|
183
|
+
*
|
|
184
|
+
* Recovery preserves whether the primary config read provider input. When the
|
|
185
|
+
* recovered config is composed with {@link all}, invalid input in the primary
|
|
186
|
+
* branch still makes the enclosing group partially supplied, so an outer
|
|
187
|
+
* {@link withDefault} or {@link option} does not replace the whole group.
|
|
188
|
+
*
|
|
160
189
|
* **Example** (Falling back to a literal)
|
|
161
190
|
*
|
|
162
|
-
* ```ts
|
|
163
|
-
* import { Config } from "effect"
|
|
191
|
+
* ```ts import.meta.vitest
|
|
192
|
+
* import { Config, ConfigProvider, Effect } from "effect"
|
|
164
193
|
*
|
|
165
194
|
* const hostConfig = Config.string("HOST").pipe(
|
|
166
195
|
* Config.orElse(() => Config.succeed("localhost"))
|
|
167
196
|
* )
|
|
197
|
+
* const provider = ConfigProvider.fromUnknown({})
|
|
198
|
+
* Effect.runSync(hostConfig.parse(provider)) // => "localhost"
|
|
168
199
|
* ```
|
|
169
200
|
*
|
|
170
|
-
* @see {@link withDefault} – fallback only on
|
|
201
|
+
* @see {@link withDefault} – fallback only on semantic absence
|
|
171
202
|
*
|
|
172
203
|
* @category combinators
|
|
173
204
|
* @since 2.0.0
|
|
174
205
|
*/
|
|
175
206
|
export const orElse = /*#__PURE__*/dual(2, (self, that) => {
|
|
176
|
-
return make((provider, pathPrefix) => Effect.
|
|
207
|
+
return make((provider, pathPrefix) => Effect.matchEffect(evaluateAt(self, provider, pathPrefix), {
|
|
208
|
+
onFailure: failure => preserveInputEvidence(evaluateAt(that(failure.error), provider, pathPrefix), failure.hasInput),
|
|
209
|
+
onSuccess: resolution => resolution._tag === "Absent" ? evaluateAt(that(resolution.error), provider, pathPrefix) : Effect.succeed(resolution)
|
|
210
|
+
}));
|
|
177
211
|
});
|
|
178
212
|
/**
|
|
179
213
|
* Combines multiple configs into a single config that parses all of them.
|
|
@@ -187,9 +221,19 @@ export const orElse = /*#__PURE__*/dual(2, (self, that) => {
|
|
|
187
221
|
* Accepts a tuple (preserves positions), an iterable, or a record of configs.
|
|
188
222
|
* Returns a config whose parsed value mirrors the input shape.
|
|
189
223
|
*
|
|
224
|
+
* A combined config is absent when at least one child cannot resolve and none
|
|
225
|
+
* of the other children read provider input. This lets {@link withDefault} and
|
|
226
|
+
* {@link option} handle a wholly absent group. Once any child reads input, a
|
|
227
|
+
* missing sibling makes the group incomplete and parsing fails. Values supplied
|
|
228
|
+
* by child defaults do not count as provider input.
|
|
229
|
+
*
|
|
230
|
+
* Unlike a `Schema.Struct` passed to {@link schema}, `all` only considers input
|
|
231
|
+
* read by its children. An explicitly present but empty parent container does
|
|
232
|
+
* not by itself make the group present.
|
|
233
|
+
*
|
|
190
234
|
* **Example** (Combining configs as a struct)
|
|
191
235
|
*
|
|
192
|
-
* ```ts
|
|
236
|
+
* ```ts import.meta.vitest
|
|
193
237
|
* import { Config, ConfigProvider, Effect } from "effect"
|
|
194
238
|
*
|
|
195
239
|
* const dbConfig = Config.all({
|
|
@@ -198,8 +242,7 @@ export const orElse = /*#__PURE__*/dual(2, (self, that) => {
|
|
|
198
242
|
* })
|
|
199
243
|
*
|
|
200
244
|
* const provider = ConfigProvider.fromUnknown({ host: "localhost", port: 5432 })
|
|
201
|
-
*
|
|
202
|
-
* // { host: "localhost", port: 5432 }
|
|
245
|
+
* Effect.runSync(dbConfig.parse(provider)) // => { host: "localhost", port: 5432 }
|
|
203
246
|
* ```
|
|
204
247
|
*
|
|
205
248
|
* @category combinators
|
|
@@ -208,39 +251,49 @@ export const orElse = /*#__PURE__*/dual(2, (self, that) => {
|
|
|
208
251
|
export function all(arg) {
|
|
209
252
|
const configs = Array.isArray(arg) ? arg : Symbol.iterator in arg ? [...arg] : arg;
|
|
210
253
|
if (Array.isArray(configs)) {
|
|
211
|
-
return make((provider, pathPrefix) => Effect.all(configs.map(config => config
|
|
254
|
+
return make((provider, pathPrefix) => Effect.flatMapEager(Effect.all(configs.map(config => evaluateAt(config, provider, pathPrefix))), resolveArray));
|
|
212
255
|
} else {
|
|
213
|
-
return make((provider, pathPrefix) => Effect.all(Rec.map(configs, config => config
|
|
256
|
+
return make((provider, pathPrefix) => Effect.flatMapEager(Effect.all(Rec.map(configs, config => evaluateAt(config, provider, pathPrefix))), resolveRecord));
|
|
214
257
|
}
|
|
215
258
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
case "Pointer":
|
|
228
|
-
return isMissingDataOnly(issue.issue);
|
|
229
|
-
case "Filter":
|
|
230
|
-
case "UnexpectedKey":
|
|
231
|
-
case "Forbidden":
|
|
232
|
-
return false;
|
|
233
|
-
case "Composite":
|
|
234
|
-
return issue.issues.every(isMissingDataOnly);
|
|
235
|
-
case "AnyOf":
|
|
236
|
-
if (issue.issues.length === 0) {
|
|
237
|
-
return issue.actual === undefined;
|
|
238
|
-
}
|
|
239
|
-
return issue.issues.every(isMissingDataOnly);
|
|
259
|
+
const resolveArray = resolutions => {
|
|
260
|
+
const values = [];
|
|
261
|
+
let firstAbsent;
|
|
262
|
+
let hasInput = false;
|
|
263
|
+
for (const resolution of resolutions) {
|
|
264
|
+
if (resolution._tag === "Absent") {
|
|
265
|
+
firstAbsent ??= resolution;
|
|
266
|
+
} else {
|
|
267
|
+
values.push(resolution.value);
|
|
268
|
+
hasInput = hasInput || resolution.hasInput;
|
|
269
|
+
}
|
|
240
270
|
}
|
|
241
|
-
|
|
271
|
+
if (firstAbsent !== undefined) {
|
|
272
|
+
return hasInput ? Effect.fail(evaluationFailure(firstAbsent.error, true)) : Effect.succeed(firstAbsent);
|
|
273
|
+
}
|
|
274
|
+
return Effect.succeed(resolved(values, hasInput));
|
|
275
|
+
};
|
|
276
|
+
const resolveRecord = resolutions => {
|
|
277
|
+
const values = {};
|
|
278
|
+
let firstAbsent;
|
|
279
|
+
let hasInput = false;
|
|
280
|
+
for (const key in resolutions) {
|
|
281
|
+
const resolution = resolutions[key];
|
|
282
|
+
if (resolution._tag === "Absent") {
|
|
283
|
+
firstAbsent ??= resolution;
|
|
284
|
+
} else {
|
|
285
|
+
InternalRecord.assignProperty(values, key, resolution.value);
|
|
286
|
+
hasInput = hasInput || resolution.hasInput;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
if (firstAbsent !== undefined) {
|
|
290
|
+
return hasInput ? Effect.fail(evaluationFailure(firstAbsent.error, true)) : Effect.succeed(firstAbsent);
|
|
291
|
+
}
|
|
292
|
+
return Effect.succeed(resolved(values, hasInput));
|
|
293
|
+
};
|
|
242
294
|
/**
|
|
243
|
-
* Provides a fallback value when the config
|
|
295
|
+
* Provides a fallback value when the config cannot resolve because none of its
|
|
296
|
+
* relevant input is present.
|
|
244
297
|
*
|
|
245
298
|
* **When to use**
|
|
246
299
|
*
|
|
@@ -248,41 +301,35 @@ function isMissingDataOnly(issue) {
|
|
|
248
301
|
*
|
|
249
302
|
* **Gotchas**
|
|
250
303
|
*
|
|
251
|
-
*
|
|
252
|
-
*
|
|
253
|
-
*
|
|
304
|
+
* Validation errors and partially supplied groups still propagate. A schema
|
|
305
|
+
* that successfully decodes absent input also keeps its decoded value instead
|
|
306
|
+
* of using the default. Schema configs first represent a missing or
|
|
307
|
+
* incompatible provider shape as `undefined`; the default is used only when
|
|
308
|
+
* the schema rejects that value and no relevant input was found.
|
|
254
309
|
*
|
|
255
310
|
* **Example** (Defaulting a missing port)
|
|
256
311
|
*
|
|
257
|
-
* ```ts
|
|
312
|
+
* ```ts import.meta.vitest
|
|
258
313
|
* import { Config, ConfigProvider, Effect } from "effect"
|
|
259
314
|
*
|
|
260
315
|
* const port = Config.number("port").pipe(Config.withDefault(3000))
|
|
261
316
|
*
|
|
262
317
|
* const provider = ConfigProvider.fromUnknown({})
|
|
263
|
-
*
|
|
318
|
+
* Effect.runSync(port.parse(provider)) // => 3000
|
|
264
319
|
* ```
|
|
265
320
|
*
|
|
266
321
|
* @see {@link option} – returns `Option` instead of a default value
|
|
267
|
-
* @see {@link orElse} – catches all errors, not just
|
|
322
|
+
* @see {@link orElse} – catches all errors, not just absent input
|
|
268
323
|
*
|
|
269
324
|
* @category combinators
|
|
270
325
|
* @since 2.0.0
|
|
271
326
|
*/
|
|
272
327
|
export const withDefault = /*#__PURE__*/dual(2, (self, defaultValue) => {
|
|
273
|
-
return
|
|
274
|
-
if (Schema.isSchemaError(err.cause)) {
|
|
275
|
-
const issue = err.cause.issue;
|
|
276
|
-
if (isMissingDataOnly(issue)) {
|
|
277
|
-
return succeed(defaultValue);
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
return fail(err.cause);
|
|
281
|
-
});
|
|
328
|
+
return make((provider, pathPrefix) => Effect.mapEager(evaluateAt(self, provider, pathPrefix), resolution => resolution._tag === "Absent" ? resolved(defaultValue, false) : resolution));
|
|
282
329
|
});
|
|
283
330
|
/**
|
|
284
|
-
* Makes a config optional: returns `Some(value)` on success and `None` when
|
|
285
|
-
*
|
|
331
|
+
* Makes a config optional: returns `Some(value)` on success and `None` when the
|
|
332
|
+
* config cannot resolve because none of its relevant input is present.
|
|
286
333
|
*
|
|
287
334
|
* **When to use**
|
|
288
335
|
*
|
|
@@ -290,18 +337,21 @@ export const withDefault = /*#__PURE__*/dual(2, (self, defaultValue) => {
|
|
|
290
337
|
*
|
|
291
338
|
* **Gotchas**
|
|
292
339
|
*
|
|
293
|
-
*
|
|
294
|
-
*
|
|
340
|
+
* Validation errors and partially supplied groups still propagate. Successful
|
|
341
|
+
* values are always wrapped in `Some`, including `undefined` when the schema
|
|
342
|
+
* explicitly accepts it. Schema configs first represent a missing or
|
|
343
|
+
* incompatible provider shape as `undefined`; `None` is returned only when the
|
|
344
|
+
* schema rejects that value and no relevant input was found.
|
|
295
345
|
*
|
|
296
346
|
* **Example** (Reading optional config)
|
|
297
347
|
*
|
|
298
|
-
* ```ts
|
|
299
|
-
* import { Config, ConfigProvider, Effect } from "effect"
|
|
348
|
+
* ```ts import.meta.vitest
|
|
349
|
+
* import { Config, ConfigProvider, Effect, Option } from "effect"
|
|
300
350
|
*
|
|
301
351
|
* const maybePort = Config.option(Config.number("port"))
|
|
302
352
|
*
|
|
303
353
|
* const provider = ConfigProvider.fromUnknown({})
|
|
304
|
-
*
|
|
354
|
+
* Effect.runSync(maybePort.parse(provider)) // => Option.none()
|
|
305
355
|
* ```
|
|
306
356
|
*
|
|
307
357
|
* @see {@link withDefault} – provide a concrete fallback value instead
|
|
@@ -325,8 +375,8 @@ export const option = self => self.pipe(map(Option.some), withDefault(Option.non
|
|
|
325
375
|
*
|
|
326
376
|
* **Example** (Unwrapping a record of configs)
|
|
327
377
|
*
|
|
328
|
-
* ```ts
|
|
329
|
-
* import { Config } from "effect"
|
|
378
|
+
* ```ts import.meta.vitest
|
|
379
|
+
* import { Config, ConfigProvider, Effect } from "effect"
|
|
330
380
|
*
|
|
331
381
|
* interface Options {
|
|
332
382
|
* key: string
|
|
@@ -334,116 +384,125 @@ export const option = self => self.pipe(map(Option.some), withDefault(Option.non
|
|
|
334
384
|
*
|
|
335
385
|
* const makeConfig = (config: Config.Wrap<Options>): Config.Config<Options> =>
|
|
336
386
|
* Config.unwrap(config)
|
|
387
|
+
*
|
|
388
|
+
* const config = makeConfig({ key: Config.string("key") })
|
|
389
|
+
* const provider = ConfigProvider.fromUnknown({ key: "value" })
|
|
390
|
+
* Effect.runSync(config.parse(provider)) // => { key: "value" }
|
|
337
391
|
* ```
|
|
338
392
|
*
|
|
339
393
|
* @see {@link Wrap} – the utility type accepted by this function
|
|
340
394
|
*
|
|
341
|
-
* @category
|
|
395
|
+
* @category converting
|
|
342
396
|
* @since 2.0.0
|
|
343
397
|
*/
|
|
344
398
|
export const unwrap = wrapped => {
|
|
345
399
|
if (isConfig(wrapped)) return wrapped;
|
|
346
|
-
return
|
|
347
|
-
const entries = Object.entries(wrapped);
|
|
348
|
-
const configs = entries.map(([key, config]) => unwrap(config).parse(provider, pathPrefix).pipe(Effect.map(value => [key, value])));
|
|
349
|
-
return Effect.all(configs).pipe(Effect.map(Object.fromEntries));
|
|
350
|
-
});
|
|
400
|
+
return all(Rec.map(wrapped, config => unwrap(config)));
|
|
351
401
|
};
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
{
|
|
373
|
-
if (stat.value !== undefined) return stat.value;
|
|
374
|
-
const out = [];
|
|
375
|
-
for (let i = 0; i < stat.length; i++) {
|
|
376
|
-
out.push(yield* dump(provider, [...path, i]));
|
|
377
|
-
}
|
|
378
|
-
return out;
|
|
379
|
-
}
|
|
402
|
+
const cursorToString = () => "<configuration>";
|
|
403
|
+
const loadCursor = (provider, path) => provider.load(path).pipe(Effect.orDie, Effect.mapEager(node => ({
|
|
404
|
+
provider,
|
|
405
|
+
path,
|
|
406
|
+
node,
|
|
407
|
+
toString: cursorToString
|
|
408
|
+
})));
|
|
409
|
+
const loadChildCursor = (cursor, segment) => loadCursor(cursor.provider, [...cursor.path, segment]);
|
|
410
|
+
const getScalar = node => node?.value;
|
|
411
|
+
const decodeFromCursor = (ast, decode) => SchemaAST.decodeTo(SchemaAST.unknown, ast, new SchemaTransformation.Transformation(SchemaGetter.transformOrFail(input => decode(input)), SchemaGetter.passthrough()));
|
|
412
|
+
const isScalarInput = ast => {
|
|
413
|
+
switch (ast._tag) {
|
|
414
|
+
case "Union":
|
|
415
|
+
return ast.types.every(isScalarInput);
|
|
416
|
+
case "Objects":
|
|
417
|
+
case "Arrays":
|
|
418
|
+
case "Suspend":
|
|
419
|
+
return false;
|
|
420
|
+
default:
|
|
421
|
+
return true;
|
|
380
422
|
}
|
|
381
|
-
}
|
|
382
|
-
const
|
|
423
|
+
};
|
|
424
|
+
const hasProviderInput = (ast, node) => {
|
|
383
425
|
switch (ast._tag) {
|
|
384
426
|
case "Objects":
|
|
385
|
-
|
|
386
|
-
const stat = yield* provider.load(path);
|
|
387
|
-
if (stat === undefined && path.length > 0) return undefined;
|
|
388
|
-
const out = {};
|
|
389
|
-
for (const ps of ast.propertySignatures) {
|
|
390
|
-
const name = ps.name;
|
|
391
|
-
if (typeof name === "string") {
|
|
392
|
-
const value = yield* recur(ps.type, provider, [...path, name]);
|
|
393
|
-
if (value !== undefined) InternalRecord.assignProperty(out, name, value);
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
if (ast.indexSignatures.length > 0) {
|
|
397
|
-
if (stat && stat._tag === "Record") {
|
|
398
|
-
for (const is of ast.indexSignatures) {
|
|
399
|
-
const matches = SchemaParser._is(is.parameter);
|
|
400
|
-
for (const key of stat.keys) {
|
|
401
|
-
if (!Object.hasOwn(out, key) && matches(key)) {
|
|
402
|
-
const value = yield* recur(is.type, provider, [...path, key]);
|
|
403
|
-
if (value !== undefined) InternalRecord.assignProperty(out, key, value);
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
return out;
|
|
410
|
-
}
|
|
427
|
+
return node?._tag === "Record";
|
|
411
428
|
case "Arrays":
|
|
412
|
-
|
|
413
|
-
const stat = yield* provider.load(path);
|
|
414
|
-
if (stat === undefined) return undefined;
|
|
415
|
-
if (stat && stat._tag === "Value") return stat.value === "" ? [] : stat.value.split(",");
|
|
416
|
-
if (stat && stat._tag === "Array" && stat.value !== undefined) {
|
|
417
|
-
return stat.value === "" ? [] : stat.value.split(",");
|
|
418
|
-
}
|
|
419
|
-
const out = [];
|
|
420
|
-
const length = stat && stat._tag === "Array" ? stat.length : ast.elements.length;
|
|
421
|
-
for (let i = 0; i < length; i++) {
|
|
422
|
-
const element = ast.elements[i] ?? ast.rest[0];
|
|
423
|
-
if (element !== undefined) {
|
|
424
|
-
out.push(yield* recur(element, provider, [...path, i]));
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
return out;
|
|
428
|
-
}
|
|
429
|
+
return node?._tag === "Array";
|
|
429
430
|
case "Union":
|
|
430
|
-
|
|
431
|
-
return yield* dump(provider, path);
|
|
431
|
+
return ast.types.some(ast => hasProviderInput(ast, node));
|
|
432
432
|
case "Suspend":
|
|
433
|
-
return
|
|
433
|
+
return hasProviderInput(ast.thunk(), node);
|
|
434
434
|
default:
|
|
435
|
-
|
|
436
|
-
// Base primitives / string-like encoded nodes.
|
|
437
|
-
const stat = yield* provider.load(path);
|
|
438
|
-
if (stat === undefined) return undefined;
|
|
439
|
-
if (stat._tag === "Value") return stat.value;
|
|
440
|
-
if (stat._tag === "Record" && stat.value !== undefined) return stat.value;
|
|
441
|
-
if (stat._tag === "Array" && stat.value !== undefined) return stat.value;
|
|
442
|
-
// Container without a co-located value cannot satisfy a scalar request.
|
|
443
|
-
return undefined;
|
|
444
|
-
}
|
|
435
|
+
return getScalar(node) !== undefined;
|
|
445
436
|
}
|
|
446
|
-
}
|
|
437
|
+
};
|
|
438
|
+
const toConfigCursorAST = root => {
|
|
439
|
+
const seen = new WeakSet();
|
|
440
|
+
const recur = SchemaAST.applyToSelfOrLastLinkEncoding(ast => {
|
|
441
|
+
seen.add(ast);
|
|
442
|
+
switch (ast._tag) {
|
|
443
|
+
case "Objects":
|
|
444
|
+
{
|
|
445
|
+
const matchesIndex = ast.indexSignatures.map(is => SchemaParser._is(is.parameter));
|
|
446
|
+
const materialize = Effect.fnUntraced(function* (cursor) {
|
|
447
|
+
if (cursor.node?._tag !== "Record") {
|
|
448
|
+
return undefined;
|
|
449
|
+
}
|
|
450
|
+
const node = cursor.node;
|
|
451
|
+
const keys = new Set();
|
|
452
|
+
for (const property of ast.propertySignatures) {
|
|
453
|
+
if (typeof property.name === "string") keys.add(property.name);
|
|
454
|
+
}
|
|
455
|
+
if (matchesIndex.length > 0) {
|
|
456
|
+
for (const key of node.keys) {
|
|
457
|
+
if (matchesIndex.some(matches => matches(key))) keys.add(key);
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
const out = {};
|
|
461
|
+
for (const key of keys) {
|
|
462
|
+
const child = yield* loadChildCursor(cursor, key);
|
|
463
|
+
if (child.node !== undefined) InternalRecord.assignProperty(out, key, child);
|
|
464
|
+
}
|
|
465
|
+
return out;
|
|
466
|
+
});
|
|
467
|
+
return decodeFromCursor(ast.recur(recur, ast => ast), materialize);
|
|
468
|
+
}
|
|
469
|
+
case "Arrays":
|
|
470
|
+
{
|
|
471
|
+
const materialize = Effect.fnUntraced(function* (cursor) {
|
|
472
|
+
if (cursor.node?._tag !== "Array") {
|
|
473
|
+
return undefined;
|
|
474
|
+
}
|
|
475
|
+
const out = [];
|
|
476
|
+
for (let i = 0; i < cursor.node.length; i++) {
|
|
477
|
+
out.push(yield* loadChildCursor(cursor, i));
|
|
478
|
+
}
|
|
479
|
+
return out;
|
|
480
|
+
});
|
|
481
|
+
return decodeFromCursor(ast.recur(recur), materialize);
|
|
482
|
+
}
|
|
483
|
+
case "Union":
|
|
484
|
+
for (const member of ast.types) {
|
|
485
|
+
recur(member);
|
|
486
|
+
}
|
|
487
|
+
return isScalarInput(ast) ? decodeFromCursor(ast, cursor => Effect.succeed(getScalar(cursor.node))) : ast.recur(recur);
|
|
488
|
+
case "Suspend":
|
|
489
|
+
{
|
|
490
|
+
const target = ast.thunk();
|
|
491
|
+
// Force new branches so opaque encodings fail when the Config is constructed.
|
|
492
|
+
if (!seen.has(target)) recur(target);
|
|
493
|
+
return ast.recur(recur);
|
|
494
|
+
}
|
|
495
|
+
case "Declaration":
|
|
496
|
+
case "Any":
|
|
497
|
+
throw new globalThis.Error("Config.schema does not support opaque StringTree encodings", {
|
|
498
|
+
cause: ast
|
|
499
|
+
});
|
|
500
|
+
default:
|
|
501
|
+
return decodeFromCursor(ast, cursor => Effect.succeed(getScalar(cursor.node)));
|
|
502
|
+
}
|
|
503
|
+
});
|
|
504
|
+
return recur(root);
|
|
505
|
+
};
|
|
447
506
|
/**
|
|
448
507
|
* Creates a `Config<T>` from a `Schema.Codec`.
|
|
449
508
|
*
|
|
@@ -461,12 +520,47 @@ const recur = /*#__PURE__*/Effect.fnUntraced(function* (ast, provider, path) {
|
|
|
461
520
|
* Convenience constructors such as `string`, `number`, and `boolean` delegate
|
|
462
521
|
* to this API.
|
|
463
522
|
*
|
|
464
|
-
* The codec is
|
|
465
|
-
*
|
|
523
|
+
* The codec is converted to its canonical `StringTree` form. Its encoded shape
|
|
524
|
+
* determines how provider data is loaded: scalar schemas read a co-located
|
|
525
|
+
* scalar value, object schemas read declared properties and matching record
|
|
526
|
+
* keys, and array schemas read indexed children. A mixed-shape union loads each
|
|
527
|
+
* member according to that member's shape before applying the union's mode and
|
|
528
|
+
* checks.
|
|
529
|
+
*
|
|
530
|
+
* At the config's lookup path, a missing node or a node that cannot provide the
|
|
531
|
+
* representation required by the schema is decoded as `undefined`. Missing
|
|
532
|
+
* object properties remain omitted so the schema's property semantics still
|
|
533
|
+
* apply. Decoding success always wins, even when no provider input was found.
|
|
534
|
+
* For example,
|
|
535
|
+
* `Schema.UndefinedOr(Schema.String)` decodes to `undefined` and is not replaced
|
|
536
|
+
* by {@link withDefault}. If decoding fails and no relevant representation was
|
|
537
|
+
* found, the config is absent. Invalid data in a relevant representation is a
|
|
538
|
+
* validation failure. Provider `SourceError`s are always failures.
|
|
539
|
+
*
|
|
540
|
+
* **Gotchas**
|
|
541
|
+
*
|
|
542
|
+
* Plain `Schema.Array` and `Schema.Record` schemas use structural provider
|
|
543
|
+
* input. Use {@link Array} or {@link Record} when a flat separated string must
|
|
544
|
+
* also be accepted.
|
|
545
|
+
*
|
|
546
|
+
* `Schema.Struct` and {@link all} describe different lookup models. An
|
|
547
|
+
* explicitly present empty object is relevant input for a struct and required
|
|
548
|
+
* fields are validated. The same empty parent container does not make an
|
|
549
|
+
* `all` group present when all of its child configs are absent.
|
|
550
|
+
*
|
|
551
|
+
* The canonical `StringTree` encoding must expose a concrete scalar, object,
|
|
552
|
+
* array, or union shape. Opaque encodings such as `Schema.Any`,
|
|
553
|
+
* `Schema.Unknown`, `Schema.ObjectKeyword`, `Schema.Json`, and
|
|
554
|
+
* `Schema.MutableJson` are rejected synchronously when this config is
|
|
555
|
+
* constructed, including when they are nested in another schema. Suspended
|
|
556
|
+
* recursive schemas remain supported when their eventual shape is concrete.
|
|
557
|
+
* Declarations such as `Schema.URL` also remain supported when their canonical
|
|
558
|
+
* encoding has a concrete shape. To read arbitrary JSON from one scalar value,
|
|
559
|
+
* use `Schema.fromJsonString(Schema.Json)`.
|
|
466
560
|
*
|
|
467
561
|
* **Example** (Reading a structured config)
|
|
468
562
|
*
|
|
469
|
-
* ```ts
|
|
563
|
+
* ```ts import.meta.vitest
|
|
470
564
|
* import { Config, ConfigProvider, Effect, Schema } from "effect"
|
|
471
565
|
*
|
|
472
566
|
* const DbConfig = Config.schema(
|
|
@@ -481,8 +575,7 @@ const recur = /*#__PURE__*/Effect.fnUntraced(function* (ast, provider, path) {
|
|
|
481
575
|
* db: { host: "localhost", port: 5432 }
|
|
482
576
|
* })
|
|
483
577
|
*
|
|
484
|
-
*
|
|
485
|
-
* // { host: "localhost", port: 5432 }
|
|
578
|
+
* Effect.runSync(DbConfig.parse(provider)) // => { host: "localhost", port: 5432 }
|
|
486
579
|
* ```
|
|
487
580
|
*
|
|
488
581
|
* @see {@link string} / {@link number} / {@link boolean} – shortcuts for
|
|
@@ -493,12 +586,18 @@ const recur = /*#__PURE__*/Effect.fnUntraced(function* (ast, provider, path) {
|
|
|
493
586
|
*/
|
|
494
587
|
export function schema(codec, path) {
|
|
495
588
|
const codecStringTree = Schema.toCodecStringTree(codec);
|
|
496
|
-
const
|
|
497
|
-
const
|
|
589
|
+
const encodedAst = SchemaAST.toEncoded(codecStringTree.ast);
|
|
590
|
+
const decodeCursor = SchemaParser.decodeUnknownEffect(Schema.make(toConfigCursorAST(codecStringTree.ast)));
|
|
498
591
|
const localPath = typeof path === "string" ? [path] : path ?? [];
|
|
499
592
|
return make((provider, pathPrefix) => {
|
|
500
593
|
const fullPath = [...pathPrefix, ...localPath];
|
|
501
|
-
return
|
|
594
|
+
return catchSourceError(loadCursor(provider, fullPath), false).pipe(Effect.flatMapEager(cursor => {
|
|
595
|
+
const hasInput = hasProviderInput(encodedAst, cursor.node);
|
|
596
|
+
return catchSourceError(decodeCursor(cursor).pipe(Effect.mapEager(value => resolved(value, hasInput)), Effect.catchEager(issue => {
|
|
597
|
+
const error = new ConfigError(new Schema.SchemaError(fullPath.length > 0 ? new SchemaIssue.Pointer(fullPath, issue) : issue));
|
|
598
|
+
return hasInput ? Effect.fail(evaluationFailure(error, true)) : Effect.succeed(absent(error));
|
|
599
|
+
})), hasInput);
|
|
600
|
+
}));
|
|
502
601
|
});
|
|
503
602
|
}
|
|
504
603
|
/** @internal */
|
|
@@ -580,7 +679,7 @@ export const LogLevel = /*#__PURE__*/Schema.Literals(LogLevel_.values);
|
|
|
580
679
|
*
|
|
581
680
|
* **Example** (Parsing a comma-separated record)
|
|
582
681
|
*
|
|
583
|
-
* ```ts
|
|
682
|
+
* ```ts import.meta.vitest
|
|
584
683
|
* import { Config, ConfigProvider, Effect, Schema } from "effect"
|
|
585
684
|
*
|
|
586
685
|
* const schema = Config.Record(Schema.String, Schema.String)
|
|
@@ -593,33 +692,37 @@ export const LogLevel = /*#__PURE__*/Schema.Literals(LogLevel_.values);
|
|
|
593
692
|
* }
|
|
594
693
|
* })
|
|
595
694
|
*
|
|
596
|
-
*
|
|
597
|
-
* //
|
|
598
|
-
*
|
|
599
|
-
*
|
|
600
|
-
* // 'custom.attribute': 'value'
|
|
601
|
-
* // }
|
|
695
|
+
* const result = Effect.runSync(config.parse(provider))
|
|
696
|
+
* result["service.name"] // => "my-service"
|
|
697
|
+
* result["service.version"] // => "1.0.0"
|
|
698
|
+
* result["custom.attribute"] // => "value"
|
|
602
699
|
* ```
|
|
603
700
|
*
|
|
701
|
+
* @see {@link Array} for separated or structural array input
|
|
702
|
+
*
|
|
604
703
|
* @category schemas
|
|
605
704
|
* @since 4.0.0
|
|
606
705
|
*/
|
|
607
706
|
export const Record = (key, value, options) => {
|
|
608
707
|
const record = Schema.Record(key, value);
|
|
609
|
-
const
|
|
708
|
+
const split = SchemaTransformation.splitKeyValue(options);
|
|
709
|
+
const recordString = Schema.String.pipe(Schema.decodeTo(Schema.toCodecStringTree(record), {
|
|
710
|
+
decode: split.decode,
|
|
711
|
+
encode: SchemaGetter.passthrough({
|
|
712
|
+
strict: false
|
|
713
|
+
}).compose(split.encode)
|
|
714
|
+
}));
|
|
610
715
|
return Schema.Union([record, recordString]);
|
|
611
716
|
};
|
|
612
|
-
/**
|
|
613
|
-
* @category schemas
|
|
614
|
-
* @since 4.0.0
|
|
615
|
-
*/
|
|
616
717
|
const ArrayConfig = (value, options) => {
|
|
617
718
|
const array = Schema.Array(value);
|
|
618
719
|
const separator = options?.separator ?? ",";
|
|
619
|
-
const arrayString = Schema.String.pipe(Schema.decodeTo(Schema.
|
|
720
|
+
const arrayString = Schema.String.pipe(Schema.decodeTo(Schema.toCodecStringTree(array), {
|
|
620
721
|
decode: SchemaGetter.split(options),
|
|
621
|
-
encode: SchemaGetter.
|
|
622
|
-
|
|
722
|
+
encode: SchemaGetter.passthrough({
|
|
723
|
+
strict: false
|
|
724
|
+
}).compose(SchemaGetter.transform(input => input.join(separator)))
|
|
725
|
+
}));
|
|
623
726
|
return Schema.Union([arrayString, array]);
|
|
624
727
|
};
|
|
625
728
|
export {
|
|
@@ -636,6 +739,8 @@ export {
|
|
|
636
739
|
* Accepts either a JSON-like array from the provider or a flat string like
|
|
637
740
|
* `"a,b,c"`. The `separator` defaults to `","` and can be customized.
|
|
638
741
|
*
|
|
742
|
+
* @see {@link Record} for separated or structural record input
|
|
743
|
+
*
|
|
639
744
|
* @category schemas
|
|
640
745
|
* @since 4.0.0
|
|
641
746
|
*/
|
|
@@ -655,7 +760,7 @@ ArrayConfig as Array };
|
|
|
655
760
|
* @since 2.0.0
|
|
656
761
|
*/
|
|
657
762
|
export function fail(err) {
|
|
658
|
-
return make(() => Effect.fail(new ConfigError(err)));
|
|
763
|
+
return make(() => Effect.fail(evaluationFailure(new ConfigError(err), false)));
|
|
659
764
|
}
|
|
660
765
|
/**
|
|
661
766
|
* Creates a config that always succeeds with the given value, ignoring the
|
|
@@ -668,19 +773,21 @@ export function fail(err) {
|
|
|
668
773
|
*
|
|
669
774
|
* **Example** (Returning a constant fallback)
|
|
670
775
|
*
|
|
671
|
-
* ```ts
|
|
672
|
-
* import { Config } from "effect"
|
|
776
|
+
* ```ts import.meta.vitest
|
|
777
|
+
* import { Config, ConfigProvider, Effect } from "effect"
|
|
673
778
|
*
|
|
674
779
|
* const host = Config.string("HOST").pipe(
|
|
675
780
|
* Config.orElse(() => Config.succeed("localhost"))
|
|
676
781
|
* )
|
|
782
|
+
* const provider = ConfigProvider.fromUnknown({})
|
|
783
|
+
* Effect.runSync(host.parse(provider)) // => "localhost"
|
|
677
784
|
* ```
|
|
678
785
|
*
|
|
679
786
|
* @category constructors
|
|
680
787
|
* @since 2.0.0
|
|
681
788
|
*/
|
|
682
789
|
export function succeed(value) {
|
|
683
|
-
return make(() => Effect.succeed(value));
|
|
790
|
+
return make(() => Effect.succeed(resolved(value, false)));
|
|
684
791
|
}
|
|
685
792
|
/**
|
|
686
793
|
* Creates a config for a single string value.
|
|
@@ -695,13 +802,13 @@ export function succeed(value) {
|
|
|
695
802
|
*
|
|
696
803
|
* **Example** (Reading a string config)
|
|
697
804
|
*
|
|
698
|
-
* ```ts
|
|
805
|
+
* ```ts import.meta.vitest
|
|
699
806
|
* import { Config, ConfigProvider, Effect } from "effect"
|
|
700
807
|
*
|
|
701
808
|
* const host = Config.string("HOST")
|
|
702
809
|
*
|
|
703
810
|
* const provider = ConfigProvider.fromUnknown({ HOST: "localhost" })
|
|
704
|
-
*
|
|
811
|
+
* Effect.runSync(host.parse(provider)) // => "localhost"
|
|
705
812
|
* ```
|
|
706
813
|
*
|
|
707
814
|
* @see {@link nonEmptyString} – rejects empty strings
|
|
@@ -807,10 +914,12 @@ export function int(name) {
|
|
|
807
914
|
*
|
|
808
915
|
* **Example** (Restricting to a literal)
|
|
809
916
|
*
|
|
810
|
-
* ```ts
|
|
811
|
-
* import { Config } from "effect"
|
|
917
|
+
* ```ts import.meta.vitest
|
|
918
|
+
* import { Config, ConfigProvider, Effect } from "effect"
|
|
812
919
|
*
|
|
813
920
|
* const env = Config.literal("production", "ENV")
|
|
921
|
+
* const provider = ConfigProvider.fromUnknown({ ENV: "production" })
|
|
922
|
+
* Effect.runSync(env.parse(provider)) // => "production"
|
|
814
923
|
* ```
|
|
815
924
|
*
|
|
816
925
|
* @see {@link literals} – accepts multiple literal values
|
|
@@ -833,10 +942,12 @@ export function literal(literal, name) {
|
|
|
833
942
|
*
|
|
834
943
|
* **Example** (Restricting to a set of literals)
|
|
835
944
|
*
|
|
836
|
-
* ```ts
|
|
837
|
-
* import { Config } from "effect"
|
|
945
|
+
* ```ts import.meta.vitest
|
|
946
|
+
* import { Config, ConfigProvider, Effect } from "effect"
|
|
838
947
|
*
|
|
839
948
|
* const env = Config.literals(["development", "production"], "ENV")
|
|
949
|
+
* const provider = ConfigProvider.fromUnknown({ ENV: "development" })
|
|
950
|
+
* Effect.runSync(env.parse(provider)) // => "development"
|
|
840
951
|
* ```
|
|
841
952
|
*
|
|
842
953
|
* @see {@link literal} for accepting one specific literal value
|
|
@@ -864,13 +975,10 @@ export function literals(literals, name) {
|
|
|
864
975
|
*
|
|
865
976
|
* **Example** (Reading a boolean flag)
|
|
866
977
|
*
|
|
867
|
-
* ```ts
|
|
978
|
+
* ```ts import.meta.vitest
|
|
868
979
|
* import { Config, ConfigProvider, Effect } from "effect"
|
|
869
980
|
*
|
|
870
|
-
* const program =
|
|
871
|
-
* const flag = yield* Config.boolean("FEATURE_FLAG")
|
|
872
|
-
* console.log(flag)
|
|
873
|
-
* })
|
|
981
|
+
* const program = Config.boolean("FEATURE_FLAG")
|
|
874
982
|
*
|
|
875
983
|
* const provider = ConfigProvider.fromEnv({
|
|
876
984
|
* env: {
|
|
@@ -880,8 +988,7 @@ export function literals(literals, name) {
|
|
|
880
988
|
*
|
|
881
989
|
* Effect.runSync(
|
|
882
990
|
* program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
|
|
883
|
-
* )
|
|
884
|
-
* // Output: true
|
|
991
|
+
* ) // => true
|
|
885
992
|
* ```
|
|
886
993
|
*
|
|
887
994
|
* @see {@link Boolean} for the underlying boolean codec
|
|
@@ -909,13 +1016,10 @@ export function boolean(name) {
|
|
|
909
1016
|
*
|
|
910
1017
|
* **Example** (Reading a duration)
|
|
911
1018
|
*
|
|
912
|
-
* ```ts
|
|
913
|
-
* import { Config, ConfigProvider, Effect } from "effect"
|
|
1019
|
+
* ```ts import.meta.vitest
|
|
1020
|
+
* import { Config, ConfigProvider, Duration, Effect } from "effect"
|
|
914
1021
|
*
|
|
915
|
-
* const program = Effect.
|
|
916
|
-
* const duration = yield* Config.duration("DURATION")
|
|
917
|
-
* console.log(duration)
|
|
918
|
-
* })
|
|
1022
|
+
* const program = Config.duration("DURATION").pipe(Effect.map(Duration.toMillis))
|
|
919
1023
|
*
|
|
920
1024
|
* const provider = ConfigProvider.fromEnv({
|
|
921
1025
|
* env: {
|
|
@@ -925,8 +1029,7 @@ export function boolean(name) {
|
|
|
925
1029
|
*
|
|
926
1030
|
* Effect.runSync(
|
|
927
1031
|
* program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
|
|
928
|
-
* )
|
|
929
|
-
* // Output: Duration { _tag: "millis", value: 10000 }
|
|
1032
|
+
* ) // => 10000
|
|
930
1033
|
* ```
|
|
931
1034
|
*
|
|
932
1035
|
* @see {@link schema} for decoding configuration values with a custom codec
|
|
@@ -950,13 +1053,10 @@ export function duration(name) {
|
|
|
950
1053
|
*
|
|
951
1054
|
* **Example** (Reading a port)
|
|
952
1055
|
*
|
|
953
|
-
* ```ts
|
|
1056
|
+
* ```ts import.meta.vitest
|
|
954
1057
|
* import { Config, ConfigProvider, Effect } from "effect"
|
|
955
1058
|
*
|
|
956
|
-
* const program =
|
|
957
|
-
* const port = yield* Config.port("PORT")
|
|
958
|
-
* console.log(port)
|
|
959
|
-
* })
|
|
1059
|
+
* const program = Config.port("PORT")
|
|
960
1060
|
*
|
|
961
1061
|
* const provider = ConfigProvider.fromEnv({
|
|
962
1062
|
* env: {
|
|
@@ -966,8 +1066,7 @@ export function duration(name) {
|
|
|
966
1066
|
*
|
|
967
1067
|
* Effect.runSync(
|
|
968
1068
|
* program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
|
|
969
|
-
* )
|
|
970
|
-
* // Output: 8080
|
|
1069
|
+
* ) // => 8080
|
|
971
1070
|
* ```
|
|
972
1071
|
*
|
|
973
1072
|
* @see {@link int} for integer config values outside the port range
|
|
@@ -995,13 +1094,10 @@ export function port(name) {
|
|
|
995
1094
|
*
|
|
996
1095
|
* **Example** (Reading a log level)
|
|
997
1096
|
*
|
|
998
|
-
* ```ts
|
|
1097
|
+
* ```ts import.meta.vitest
|
|
999
1098
|
* import { Config, ConfigProvider, Effect } from "effect"
|
|
1000
1099
|
*
|
|
1001
|
-
* const program =
|
|
1002
|
-
* const logLevel = yield* Config.logLevel("LOG_LEVEL")
|
|
1003
|
-
* console.log(logLevel)
|
|
1004
|
-
* })
|
|
1100
|
+
* const program = Config.logLevel("LOG_LEVEL")
|
|
1005
1101
|
*
|
|
1006
1102
|
* const provider = ConfigProvider.fromEnv({
|
|
1007
1103
|
* env: {
|
|
@@ -1011,8 +1107,7 @@ export function port(name) {
|
|
|
1011
1107
|
*
|
|
1012
1108
|
* Effect.runSync(
|
|
1013
1109
|
* program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
|
|
1014
|
-
* )
|
|
1015
|
-
* // Output: "Info"
|
|
1110
|
+
* ) // => "Info"
|
|
1016
1111
|
* ```
|
|
1017
1112
|
*
|
|
1018
1113
|
* @see {@link LogLevel} for the underlying log-level codec
|
|
@@ -1038,13 +1133,10 @@ export function logLevel(name) {
|
|
|
1038
1133
|
*
|
|
1039
1134
|
* **Example** (Reading a secret)
|
|
1040
1135
|
*
|
|
1041
|
-
* ```ts
|
|
1136
|
+
* ```ts import.meta.vitest
|
|
1042
1137
|
* import { Config, ConfigProvider, Effect } from "effect"
|
|
1043
1138
|
*
|
|
1044
|
-
* const program = Effect.
|
|
1045
|
-
* const apiKey = yield* Config.redacted("API_KEY")
|
|
1046
|
-
* console.log(apiKey)
|
|
1047
|
-
* })
|
|
1139
|
+
* const program = Config.redacted("API_KEY").pipe(Effect.map(String))
|
|
1048
1140
|
*
|
|
1049
1141
|
* const provider = ConfigProvider.fromEnv({
|
|
1050
1142
|
* env: {
|
|
@@ -1054,8 +1146,7 @@ export function logLevel(name) {
|
|
|
1054
1146
|
*
|
|
1055
1147
|
* Effect.runSync(
|
|
1056
1148
|
* program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
|
|
1057
|
-
* )
|
|
1058
|
-
* // Output: <redacted>
|
|
1149
|
+
* ) // => "<redacted>"
|
|
1059
1150
|
* ```
|
|
1060
1151
|
*
|
|
1061
1152
|
* @see {@link string} for non-secret string settings
|
|
@@ -1083,13 +1174,10 @@ export function redacted(name) {
|
|
|
1083
1174
|
*
|
|
1084
1175
|
* **Example** (Reading a URL)
|
|
1085
1176
|
*
|
|
1086
|
-
* ```ts
|
|
1177
|
+
* ```ts import.meta.vitest
|
|
1087
1178
|
* import { Config, ConfigProvider, Effect } from "effect"
|
|
1088
1179
|
*
|
|
1089
|
-
* const program = Effect.
|
|
1090
|
-
* const url = yield* Config.url("URL")
|
|
1091
|
-
* console.log(url)
|
|
1092
|
-
* })
|
|
1180
|
+
* const program = Config.url("URL").pipe(Effect.map((url) => url.href))
|
|
1093
1181
|
*
|
|
1094
1182
|
* const provider = ConfigProvider.fromEnv({
|
|
1095
1183
|
* env: {
|
|
@@ -1099,22 +1187,7 @@ export function redacted(name) {
|
|
|
1099
1187
|
*
|
|
1100
1188
|
* Effect.runSync(
|
|
1101
1189
|
* program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
|
|
1102
|
-
* )
|
|
1103
|
-
* // Output:
|
|
1104
|
-
* // URL {
|
|
1105
|
-
* // href: 'https://example.com/',
|
|
1106
|
-
* // origin: 'https://example.com',
|
|
1107
|
-
* // protocol: 'https:',
|
|
1108
|
-
* // username: '',
|
|
1109
|
-
* // password: '',
|
|
1110
|
-
* // host: 'example.com',
|
|
1111
|
-
* // hostname: 'example.com',
|
|
1112
|
-
* // port: '',
|
|
1113
|
-
* // pathname: '/',
|
|
1114
|
-
* // search: '',
|
|
1115
|
-
* // searchParams: URLSearchParams {},
|
|
1116
|
-
* // hash: ''
|
|
1117
|
-
* // }
|
|
1190
|
+
* ) // => "https://example.com/"
|
|
1118
1191
|
* ```
|
|
1119
1192
|
*
|
|
1120
1193
|
* @see {@link schema} for decoding configuration values with a custom codec
|
|
@@ -1142,14 +1215,13 @@ export function url(name) {
|
|
|
1142
1215
|
*
|
|
1143
1216
|
* **Example** (Reading a date)
|
|
1144
1217
|
*
|
|
1145
|
-
* ```ts
|
|
1218
|
+
* ```ts import.meta.vitest
|
|
1146
1219
|
* import { Config, ConfigProvider, Effect } from "effect"
|
|
1147
1220
|
*
|
|
1148
1221
|
* const createdAt = Config.date("CREATED_AT")
|
|
1149
1222
|
*
|
|
1150
1223
|
* const provider = ConfigProvider.fromUnknown({ CREATED_AT: "2024-01-15" })
|
|
1151
|
-
*
|
|
1152
|
-
* // Date("2024-01-15T00:00:00.000Z")
|
|
1224
|
+
* Effect.runSync(createdAt.parse(provider)).toISOString() // => "2024-01-15T00:00:00.000Z"
|
|
1153
1225
|
* ```
|
|
1154
1226
|
*
|
|
1155
1227
|
* @category constructors
|
|
@@ -1176,7 +1248,7 @@ export function date(name) {
|
|
|
1176
1248
|
*
|
|
1177
1249
|
* **Example** (Nesting a struct config under `"database"`)
|
|
1178
1250
|
*
|
|
1179
|
-
* ```ts
|
|
1251
|
+
* ```ts import.meta.vitest
|
|
1180
1252
|
* import { Config, ConfigProvider, Effect } from "effect"
|
|
1181
1253
|
*
|
|
1182
1254
|
* const dbConfig = Config.all({
|
|
@@ -1187,13 +1259,12 @@ export function date(name) {
|
|
|
1187
1259
|
* const provider = ConfigProvider.fromUnknown({
|
|
1188
1260
|
* database: { host: "localhost", port: "5432" }
|
|
1189
1261
|
* })
|
|
1190
|
-
*
|
|
1191
|
-
* // { host: "localhost", port: 5432 }
|
|
1262
|
+
* Effect.runSync(dbConfig.parse(provider)) // => { host: "localhost", port: 5432 }
|
|
1192
1263
|
* ```
|
|
1193
1264
|
*
|
|
1194
1265
|
* **Example** (Reading env vars with a nested prefix)
|
|
1195
1266
|
*
|
|
1196
|
-
* ```ts
|
|
1267
|
+
* ```ts import.meta.vitest
|
|
1197
1268
|
* import { Config, ConfigProvider, Effect } from "effect"
|
|
1198
1269
|
*
|
|
1199
1270
|
* const host = Config.string("host").pipe(Config.nested("database"))
|
|
@@ -1201,7 +1272,7 @@ export function date(name) {
|
|
|
1201
1272
|
* const provider = ConfigProvider.fromEnv({
|
|
1202
1273
|
* env: { database_host: "localhost" }
|
|
1203
1274
|
* })
|
|
1204
|
-
*
|
|
1275
|
+
* Effect.runSync(host.parse(provider)) // => "localhost"
|
|
1205
1276
|
* ```
|
|
1206
1277
|
*
|
|
1207
1278
|
* @see {@link all} – combine multiple configs into a struct
|
|
@@ -1210,5 +1281,5 @@ export function date(name) {
|
|
|
1210
1281
|
* @category combinators
|
|
1211
1282
|
* @since 2.0.0
|
|
1212
1283
|
*/
|
|
1213
|
-
export const nested = /*#__PURE__*/dual(2, (self, name) => make((provider, pathPrefix) => self
|
|
1284
|
+
export const nested = /*#__PURE__*/dual(2, (self, name) => make((provider, pathPrefix) => evaluateAt(self, provider, [...pathPrefix, name])));
|
|
1214
1285
|
//# sourceMappingURL=Config.js.map
|