effect 4.0.0-beta.102 → 4.0.0-beta.104
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Array.d.ts +971 -1037
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +381 -407
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +433 -756
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +200 -325
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +207 -267
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +107 -135
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +146 -188
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Boolean.js +64 -84
- package/dist/Boolean.js.map +1 -1
- package/dist/Brand.js.map +1 -1
- package/dist/Cache.d.ts +405 -254
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +167 -102
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +167 -277
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +122 -176
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +730 -769
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +514 -440
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +1 -1
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +834 -1173
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +326 -439
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +180 -49
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js +96 -31
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +20 -33
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +18 -30
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +225 -173
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +357 -265
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +194 -68
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +117 -81
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +233 -33
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js +232 -32
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +153 -276
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +171 -214
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +68 -77
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +57 -66
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +13 -15
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +22 -15
- package/dist/Crypto.js.map +1 -1
- package/dist/Data.d.ts +60 -80
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +16 -23
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +562 -660
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +307 -362
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +253 -256
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +104 -96
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +216 -308
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +144 -187
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +2993 -3281
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1360 -1546
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.js.map +1 -1
- package/dist/Encoding.d.ts +22 -40
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +22 -40
- package/dist/Encoding.js.map +1 -1
- package/dist/Equal.d.ts +33 -37
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +39 -23
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +103 -105
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +77 -79
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +51 -27
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +50 -26
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +86 -55
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +8 -29
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +116 -192
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +82 -130
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +82 -146
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +48 -87
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +152 -105
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +106 -73
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +213 -168
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +114 -89
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +123 -81
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +86 -60
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +154 -265
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +42 -147
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +61 -33
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +26 -15
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +25 -33
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +48 -49
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +80 -148
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +45 -62
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +360 -714
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +168 -297
- package/dist/Graph.js.map +1 -1
- package/dist/HKT.d.ts +12 -6
- package/dist/HKT.d.ts.map +1 -1
- package/dist/Hash.d.ts +47 -83
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +46 -68
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +319 -411
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +122 -166
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +1 -0
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +177 -284
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js +68 -109
- package/dist/HashSet.js.map +1 -1
- package/dist/Inspectable.d.ts +12 -12
- package/dist/Inspectable.js +8 -8
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +620 -786
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +239 -316
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +11 -13
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +44 -102
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +8 -8
- package/dist/JsonPointer.js +8 -8
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +98 -44
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +297 -234
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +23 -35
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +16 -28
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +359 -260
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +202 -180
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +42 -29
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +31 -21
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts +6 -2
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +6 -2
- package/dist/LayerRef.js.map +1 -1
- package/dist/LogLevel.d.ts +114 -214
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +41 -76
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +218 -467
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +204 -450
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +7 -5
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +7 -5
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +217 -252
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +150 -183
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +442 -993
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +198 -642
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +144 -173
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +68 -79
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +84 -89
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +44 -47
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +71 -370
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +59 -284
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +420 -243
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +209 -120
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +21 -14
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +15 -13
- package/dist/Newtype.js.map +1 -1
- package/dist/NonEmptyIterable.d.ts +7 -137
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/NonEmptyIterable.js +5 -93
- package/dist/NonEmptyIterable.js.map +1 -1
- package/dist/Number.d.ts +196 -233
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +90 -109
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +97 -189
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +187 -290
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +447 -812
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +211 -392
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +109 -109
- package/dist/Order.js +91 -91
- package/dist/Order.js.map +1 -1
- package/dist/Ordering.d.ts +20 -23
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/Ordering.js +8 -9
- package/dist/Ordering.js.map +1 -1
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +38 -41
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +3 -4
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +6 -5
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +2 -2
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +4 -4
- package/dist/PlatformError.js +3 -3
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +4 -2
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +4 -2
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +200 -181
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +100 -108
- package/dist/Predicate.js.map +1 -1
- package/dist/PrimaryKey.d.ts +7 -7
- package/dist/PrimaryKey.js +5 -5
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +425 -494
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +373 -362
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +24 -18
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +11 -9
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +200 -159
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +162 -132
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +49 -74
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +35 -54
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +121 -63
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +42 -21
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +24 -13
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js +15 -9
- package/dist/RcRef.js.map +1 -1
- package/dist/Record.d.ts +291 -488
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +111 -202
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +6 -2
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +7 -2
- package/dist/Redactable.js.map +1 -1
- package/dist/Redacted.d.ts +25 -25
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +19 -20
- package/dist/Redacted.js.map +1 -1
- package/dist/Reducer.d.ts +8 -15
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +6 -12
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +95 -165
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +75 -122
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +102 -168
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +102 -168
- package/dist/References.js.map +1 -1
- package/dist/RegExp.d.ts +10 -14
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/RegExp.js +10 -14
- package/dist/RegExp.js.map +1 -1
- package/dist/Request.d.ts +31 -21
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +16 -13
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +201 -90
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +87 -41
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +302 -470
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +133 -217
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +50 -75
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +39 -60
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +292 -1638
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +164 -805
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +5 -5
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +18 -6
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +676 -674
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +513 -544
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +30 -53
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +404 -301
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaError.d.ts +7 -6
- package/dist/SchemaError.d.ts.map +1 -1
- package/dist/SchemaError.js +7 -6
- package/dist/SchemaError.js.map +1 -1
- package/dist/SchemaGetter.d.ts +217 -174
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +218 -185
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +62 -190
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +73 -265
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +2 -2
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +137 -107
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +22 -36
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +20 -26
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +114 -74
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +120 -85
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +123 -151
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +72 -92
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/ScopedRef.d.ts +3 -3
- package/dist/ScopedRef.js +2 -2
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +96 -10
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +78 -39
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +118 -108
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +107 -100
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +1 -1
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +2442 -2953
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +1105 -1383
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +262 -308
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +184 -215
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +109 -114
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +41 -50
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +282 -250
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +104 -92
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Symbol.d.ts +3 -3
- package/dist/Symbol.js +3 -3
- package/dist/Symbol.js.map +1 -1
- package/dist/SynchronizedRef.js +1 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Take.js.map +1 -1
- package/dist/Terminal.d.ts +2 -2
- package/dist/Terminal.js +2 -2
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +100 -54
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +41 -24
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +287 -679
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +109 -251
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +98 -131
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +42 -57
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +201 -121
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +85 -56
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +62 -46
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +30 -22
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +631 -779
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +268 -330
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +297 -236
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +130 -100
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +126 -95
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +74 -56
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +101 -88
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +87 -66
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +200 -180
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +160 -136
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +89 -114
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +75 -53
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +51 -32
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +23 -15
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +129 -95
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +85 -70
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +97 -70
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +44 -34
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +126 -67
- package/dist/Types.d.ts.map +1 -1
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +45 -65
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js +6 -9
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +23 -16
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +3 -7
- package/dist/Utils.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/array.js.map +1 -1
- package/dist/internal/core.js +1 -1
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +5 -1
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/doNotation.js.map +1 -1
- package/dist/internal/effect.js +77 -40
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/equal.js.map +1 -1
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/executionPlan.js +51 -3
- package/dist/internal/executionPlan.js.map +1 -1
- package/dist/internal/hashMap.js +12 -8
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/hashSet.js.map +1 -1
- package/dist/internal/layer.js.map +1 -1
- package/dist/internal/matcher.js +1 -1
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/metric.js.map +1 -1
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/persistence.d.ts +2 -0
- package/dist/internal/persistence.d.ts.map +1 -0
- package/dist/internal/persistence.js +3 -0
- package/dist/internal/persistence.js.map +1 -0
- package/dist/internal/random.js.map +1 -1
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/record.js.map +1 -1
- package/dist/internal/redacted.js.map +1 -1
- package/dist/internal/references.js +3 -0
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/result.js.map +1 -1
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/annotations.js +2 -0
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/cause.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +13 -11
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/fromRepresentation.js +8 -15
- package/dist/internal/schema/fromRepresentation.js.map +1 -1
- package/dist/internal/schema/parser.d.ts +14 -0
- package/dist/internal/schema/parser.d.ts.map +1 -0
- package/dist/internal/schema/parser.js +13 -0
- package/dist/internal/schema/parser.js.map +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/schema/toArbitrary.js +1 -1
- package/dist/internal/schema/toArbitrary.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toEquivalence.js.map +1 -1
- package/dist/internal/schema/toJsonSchemaDocument.js +48 -6
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toRepresentation.js +87 -107
- package/dist/internal/schema/toRepresentation.js.map +1 -1
- package/dist/internal/stackTraceLimit.js.map +1 -1
- package/dist/internal/stream.js.map +1 -1
- package/dist/internal/tracer.js.map +1 -1
- package/dist/internal/trie.js +24 -10
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/FastCheck.d.ts +8 -7
- package/dist/testing/FastCheck.d.ts.map +1 -1
- package/dist/testing/FastCheck.js +8 -7
- package/dist/testing/FastCheck.js.map +1 -1
- package/dist/testing/TestClock.d.ts +57 -28
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +61 -19
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestConsole.d.ts +32 -31
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +24 -22
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +30 -30
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +25 -25
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +95 -118
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +113 -136
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +132 -97
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +56 -52
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/IdGenerator.d.ts +32 -28
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +26 -21
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +107 -67
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +108 -66
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpProtocol.d.ts +30 -0
- package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
- package/dist/unstable/ai/McpProtocol.js +20 -0
- package/dist/unstable/ai/McpProtocol.js.map +1 -0
- package/dist/unstable/ai/McpSchema.d.ts +251 -185
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +66 -58
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +68 -59
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +695 -242
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +8 -19
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +9 -20
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +127 -41
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +59 -20
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +28 -14
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +9 -4
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts +46 -13
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +18 -7
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +14 -3
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +10 -2
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +59 -44
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +48 -39
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +26 -8
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +18 -4
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +4 -0
- package/dist/unstable/ai/index.d.ts.map +1 -1
- package/dist/unstable/ai/index.js +4 -0
- package/dist/unstable/ai/index.js.map +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
- package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
- package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
- package/dist/unstable/ai/internal/structured-output.js +14 -15
- package/dist/unstable/ai/internal/structured-output.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +273 -69
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +111 -33
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliConfig.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +70 -77
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +66 -70
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +35 -54
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +26 -42
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +713 -115
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +245 -47
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.js.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +418 -138
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +197 -71
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +12 -4
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +299 -83
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +143 -57
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +370 -149
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +375 -160
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.d.ts +23 -14
- package/dist/unstable/cli/Prompt.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.js +54 -31
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/ansi.js +2 -2
- package/dist/unstable/cli/internal/ansi.js.map +1 -1
- package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +2 -2
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +10 -9
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/bash.js +69 -9
- package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
- package/dist/unstable/cli/internal/completions/descriptor.js +24 -18
- package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/unstable/cli/internal/completions/fish.js +5 -5
- package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
- package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
- package/dist/unstable/cli/internal/config.js.map +1 -1
- package/dist/unstable/cli/internal/help.d.ts.map +1 -1
- package/dist/unstable/cli/internal/help.js +4 -2
- package/dist/unstable/cli/internal/help.js.map +1 -1
- package/dist/unstable/cli/internal/lexer.js +17 -7
- package/dist/unstable/cli/internal/lexer.js.map +1 -1
- package/dist/unstable/cli/internal/parser.js +5 -5
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cli/internal/wizard.js +2 -2
- package/dist/unstable/cli/internal/wizard.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.js +7 -7
- package/dist/unstable/cluster/ClusterError.js.map +1 -1
- package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
- package/dist/unstable/cluster/ClusterSchema.js +8 -8
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +6 -2
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +10 -10
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +8 -8
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.js.map +1 -1
- package/dist/unstable/cluster/EntityId.js.map +1 -1
- package/dist/unstable/cluster/EntityProxy.d.ts +4 -2
- package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxy.js +4 -2
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.js +2 -2
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/EntityType.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +3 -3
- package/dist/unstable/cluster/Envelope.js +3 -3
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
- package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/HttpRunner.js +6 -4
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/MachineId.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +9 -9
- package/dist/unstable/cluster/Message.js +6 -6
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +13 -6
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +8 -0
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +16 -4
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.js.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +1 -1
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +18 -16
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +3 -4
- package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.js +8 -7
- package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +6 -6
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +19 -10
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +25 -6
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +3 -3
- package/dist/unstable/cluster/ShardingConfig.js +3 -3
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
- package/dist/unstable/cluster/SingleRunner.js.map +1 -1
- package/dist/unstable/cluster/Singleton.js.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
- package/dist/unstable/cluster/SingletonAddress.js +1 -1
- package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
- package/dist/unstable/cluster/Snowflake.d.ts +8 -8
- package/dist/unstable/cluster/Snowflake.js +8 -8
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SocketRunner.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +20 -5
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/TestRunner.js.map +1 -1
- package/dist/unstable/cluster/index.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +6 -6
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/hash.js.map +1 -1
- package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceMap.js +2 -2
- package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +17 -0
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/cluster/internal/shardLock.js.map +1 -1
- package/dist/unstable/devtools/DevTools.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +7 -2
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
- package/dist/unstable/devtools/index.js.map +1 -1
- package/dist/unstable/encoding/Ini.d.ts +20 -0
- package/dist/unstable/encoding/Ini.d.ts.map +1 -0
- package/dist/unstable/encoding/Ini.js +153 -0
- package/dist/unstable/encoding/Ini.js.map +1 -0
- package/dist/unstable/encoding/Msgpack.d.ts +2 -1
- package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
- package/dist/unstable/encoding/Msgpack.js +27 -15
- package/dist/unstable/encoding/Msgpack.js.map +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
- package/dist/unstable/encoding/Ndjson.js +7 -1
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +72 -8
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +72 -31
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/encoding/Toml.d.ts +19 -0
- package/dist/unstable/encoding/Toml.d.ts.map +1 -0
- package/dist/unstable/encoding/Toml.js +434 -0
- package/dist/unstable/encoding/Toml.js.map +1 -0
- package/dist/unstable/encoding/Yaml.d.ts +19 -0
- package/dist/unstable/encoding/Yaml.d.ts.map +1 -0
- package/dist/unstable/encoding/Yaml.js +461 -0
- package/dist/unstable/encoding/Yaml.js.map +1 -0
- package/dist/unstable/encoding/index.d.ts +12 -0
- package/dist/unstable/encoding/index.d.ts.map +1 -1
- package/dist/unstable/encoding/index.js +12 -0
- package/dist/unstable/encoding/index.js.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts +20 -20
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
- package/dist/unstable/eventlog/EventGroup.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +16 -16
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +26 -18
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +3 -3
- package/dist/unstable/eventlog/EventLog.js +3 -3
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +2 -2
- package/dist/unstable/eventlog/EventLogMessage.js +2 -2
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
- package/dist/unstable/eventlog/EventLogRemote.js +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +45 -21
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +13 -5
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +15 -7
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.js +1 -4
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/index.js.map +1 -1
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +2 -2
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +30 -18
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +1 -1
- package/dist/unstable/http/Etag.js +1 -1
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/FindMyWay/internal/queryString.d.ts +11 -0
- package/dist/unstable/http/FindMyWay/internal/queryString.d.ts.map +1 -0
- package/dist/unstable/http/FindMyWay/internal/queryString.js +259 -0
- package/dist/unstable/http/FindMyWay/internal/queryString.js.map +1 -0
- package/dist/unstable/http/FindMyWay/internal/router.d.ts +2 -0
- package/dist/unstable/http/FindMyWay/internal/router.d.ts.map +1 -0
- package/dist/unstable/http/FindMyWay/internal/router.js +665 -0
- package/dist/unstable/http/FindMyWay/internal/router.js.map +1 -0
- package/dist/unstable/http/FindMyWay.d.ts +33 -8
- package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
- package/dist/unstable/http/FindMyWay.js +4 -7
- package/dist/unstable/http/FindMyWay.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +2 -2
- package/dist/unstable/http/Headers.js +2 -2
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +5 -3
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +11 -5
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +51 -44
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +46 -17
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.js +1 -1
- package/dist/unstable/http/HttpClientError.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +2 -12
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
- package/dist/unstable/http/HttpClientResponse.js +3 -18
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +6 -6
- package/dist/unstable/http/HttpEffect.js +3 -3
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +6 -9
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +6 -9
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +164 -39
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +76 -0
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +53 -3
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +88 -89
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +78 -79
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +13 -13
- package/dist/unstable/http/HttpServer.js +6 -6
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +2 -2
- package/dist/unstable/http/HttpServerError.js +2 -2
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +11 -10
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +17 -5
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpStaticServer.js +35 -7
- package/dist/unstable/http/HttpStaticServer.js.map +1 -1
- package/dist/unstable/http/HttpTraceContext.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +7 -7
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +14 -7
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/MultipartParser/HeadersParser.d.ts +53 -0
- package/dist/unstable/http/MultipartParser/HeadersParser.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/HeadersParser.js +14 -0
- package/dist/unstable/http/MultipartParser/HeadersParser.js.map +1 -0
- package/dist/unstable/http/MultipartParser/Search.d.ts +11 -0
- package/dist/unstable/http/MultipartParser/Search.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/Search.js +14 -0
- package/dist/unstable/http/MultipartParser/Search.js.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/contentType.d.ts +5 -0
- package/dist/unstable/http/MultipartParser/internal/contentType.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/contentType.js +82 -0
- package/dist/unstable/http/MultipartParser/internal/contentType.js.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/headers.d.ts +3 -0
- package/dist/unstable/http/MultipartParser/internal/headers.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/headers.js +194 -0
- package/dist/unstable/http/MultipartParser/internal/headers.js.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/multipart.d.ts +8 -0
- package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/multipart.js +226 -0
- package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/search.d.ts +5 -0
- package/dist/unstable/http/MultipartParser/internal/search.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/search.js +120 -0
- package/dist/unstable/http/MultipartParser/internal/search.js.map +1 -0
- package/dist/unstable/http/MultipartParser.d.ts +98 -0
- package/dist/unstable/http/MultipartParser.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser.js +23 -0
- package/dist/unstable/http/MultipartParser.js.map +1 -0
- package/dist/unstable/http/Template.d.ts.map +1 -1
- package/dist/unstable/http/Template.js +2 -2
- package/dist/unstable/http/Template.js.map +1 -1
- package/dist/unstable/http/Url.d.ts +33 -63
- package/dist/unstable/http/Url.d.ts.map +1 -1
- package/dist/unstable/http/Url.js +14 -28
- package/dist/unstable/http/Url.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +10 -18
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +9 -17
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.d.ts +1 -1
- package/dist/unstable/http/index.d.ts.map +1 -1
- package/dist/unstable/http/index.js +1 -1
- package/dist/unstable/http/index.js.map +1 -1
- package/dist/unstable/http/internal/compression.d.ts +2 -0
- package/dist/unstable/http/internal/compression.d.ts.map +1 -0
- package/dist/unstable/http/internal/compression.js +155 -0
- package/dist/unstable/http/internal/compression.js.map +1 -0
- package/dist/unstable/http/internal/httpBody.d.ts +2 -0
- package/dist/unstable/http/internal/httpBody.d.ts.map +1 -0
- package/dist/unstable/http/internal/httpBody.js +10 -0
- package/dist/unstable/http/internal/httpBody.js.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +5 -5
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +78 -26
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +76 -38
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +48 -46
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +73 -16
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +18 -18
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +30 -30
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +225 -6
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +174 -4
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +21 -13
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +58 -31
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/httpapi/index.js.map +1 -1
- package/dist/unstable/httpapi/internal/html.js.map +1 -1
- package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
- package/dist/unstable/observability/Otlp.js.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +13 -15
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +19 -5
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +2 -2
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +6 -3
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +28 -15
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts +16 -7
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.js +21 -12
- package/dist/unstable/observability/OtlpResource.js.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js +1 -1
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +10 -3
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/observability/index.js.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
- package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/unstable/observability/internal/protobuf.js +3 -0
- package/dist/unstable/observability/internal/protobuf.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +22 -13
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +8 -8
- package/dist/unstable/persistence/Persistable.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +15 -15
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +3 -3
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +108 -22
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +45 -24
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +29 -45
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +2 -2
- package/dist/unstable/persistence/Redis.js +2 -2
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/persistence/index.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +64 -21
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +14 -5
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/process/index.js.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
- package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.js +10 -10
- package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +25 -22
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +14 -13
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRef.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +24 -3
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +4 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +1 -1
- package/dist/unstable/reactivity/Hydration.js +1 -1
- package/dist/unstable/reactivity/Hydration.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +35 -33
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +4 -2
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +26 -12
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +30 -20
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.js +2 -2
- package/dist/unstable/rpc/RpcClientError.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
- package/dist/unstable/rpc/RpcGroup.js +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
- package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMessage.js +6 -6
- package/dist/unstable/rpc/RpcMessage.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
- package/dist/unstable/rpc/RpcMiddleware.js +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
- package/dist/unstable/rpc/RpcSchema.js +3 -3
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +177 -96
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +13 -13
- package/dist/unstable/rpc/RpcServer.js +17 -13
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcTest.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
- package/dist/unstable/rpc/RpcWorker.js +4 -4
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/rpc/index.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +53 -51
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +35 -33
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +10 -10
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +19 -11
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/schema/index.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +11 -3
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +37 -16
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/socket/index.js.map +1 -1
- package/dist/unstable/sql/Migrator.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +8 -4
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlError.js +13 -13
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.js +2 -2
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.d.ts +5 -5
- package/dist/unstable/sql/SqlResolver.js +10 -8
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/SqlStream.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +6 -6
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +23 -21
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/sql/index.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +1 -1
- package/dist/unstable/workers/Transferable.js +1 -1
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +2 -2
- package/dist/unstable/workers/Worker.js +2 -2
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +7 -7
- package/dist/unstable/workers/WorkerError.js +11 -11
- package/dist/unstable/workers/WorkerError.js.map +1 -1
- package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
- package/dist/unstable/workers/WorkerRunner.js +1 -1
- package/dist/unstable/workers/WorkerRunner.js.map +1 -1
- package/dist/unstable/workers/index.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +2 -2
- package/dist/unstable/workflow/Activity.js +2 -2
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +1 -1
- package/dist/unstable/workflow/DurableClock.js +1 -1
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
- package/dist/unstable/workflow/DurableDeferred.js +5 -5
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +22 -20
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +21 -21
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +13 -14
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +2 -2
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +3 -3
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
- package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.js +4 -2
- package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/dist/unstable/workflow/index.js.map +1 -1
- package/dist/unstable/workflow/internal/crypto.js.map +1 -1
- package/package.json +6 -13
- package/src/Array.ts +982 -1045
- package/src/BigDecimal.ts +433 -756
- package/src/BigInt.ts +213 -269
- package/src/Boolean.ts +146 -188
- package/src/Cache.ts +410 -256
- package/src/Cause.ts +167 -277
- package/src/Channel.ts +892 -817
- package/src/ChannelSchema.ts +1 -1
- package/src/Chunk.ts +841 -1181
- package/src/Clock.ts +181 -49
- package/src/Combiner.ts +20 -33
- package/src/Config.ts +636 -332
- package/src/ConfigProvider.ts +218 -121
- package/src/Console.ts +289 -39
- package/src/Context.ts +322 -381
- package/src/Cron.ts +68 -77
- package/src/Crypto.ts +30 -23
- package/src/Data.ts +60 -80
- package/src/DateTime.ts +564 -660
- package/src/Deferred.ts +253 -256
- package/src/Duration.ts +232 -310
- package/src/Effect.ts +3034 -3296
- package/src/Encoding.ts +22 -40
- package/src/Equal.ts +59 -41
- package/src/Equivalence.ts +103 -105
- package/src/ErrorReporter.ts +51 -27
- package/src/ExecutionPlan.ts +91 -56
- package/src/Exit.ts +116 -192
- package/src/Fiber.ts +81 -148
- package/src/FiberHandle.ts +152 -105
- package/src/FiberMap.ts +225 -174
- package/src/FiberSet.ts +125 -83
- package/src/FileSystem.ts +156 -264
- package/src/Filter.ts +61 -33
- package/src/Formatter.ts +54 -56
- package/src/Function.ts +82 -151
- package/src/Graph.ts +416 -770
- package/src/HKT.ts +12 -6
- package/src/Hash.ts +52 -83
- package/src/HashMap.ts +319 -411
- package/src/HashRing.ts +1 -0
- package/src/HashSet.ts +177 -284
- package/src/Inspectable.ts +12 -12
- package/src/Iterable.ts +631 -796
- package/src/JsonPatch.ts +58 -112
- package/src/JsonPointer.ts +8 -8
- package/src/JsonSchema.ts +402 -244
- package/src/Latch.ts +23 -35
- package/src/Layer.ts +366 -265
- package/src/LayerMap.ts +49 -29
- package/src/LayerRef.ts +6 -2
- package/src/LogLevel.ts +114 -214
- package/src/Logger.ts +344 -697
- package/src/ManagedRuntime.ts +7 -5
- package/src/Match.ts +217 -252
- package/src/Metric.ts +516 -1089
- package/src/MutableHashMap.ts +218 -255
- package/src/MutableHashSet.ts +84 -89
- package/src/MutableList.ts +73 -370
- package/src/MutableRef.ts +420 -243
- package/src/Newtype.ts +21 -14
- package/src/NonEmptyIterable.ts +7 -137
- package/src/Number.ts +196 -233
- package/src/Optic.ts +243 -383
- package/src/Option.ts +447 -812
- package/src/Order.ts +109 -109
- package/src/Ordering.ts +20 -23
- package/src/Path.ts +38 -41
- package/src/Pipeable.ts +6 -5
- package/src/PlatformError.ts +4 -4
- package/src/Pool.ts +4 -2
- package/src/Predicate.ts +200 -181
- package/src/PrimaryKey.ts +7 -7
- package/src/PubSub.ts +526 -552
- package/src/Pull.ts +24 -18
- package/src/Queue.ts +200 -159
- package/src/Random.ts +49 -74
- package/src/RcMap.ts +121 -63
- package/src/RcRef.ts +24 -13
- package/src/Record.ts +291 -488
- package/src/Redactable.ts +10 -3
- package/src/Redacted.ts +25 -25
- package/src/Reducer.ts +8 -15
- package/src/Ref.ts +221 -361
- package/src/References.ts +102 -168
- package/src/RegExp.ts +10 -14
- package/src/Request.ts +31 -21
- package/src/RequestResolver.ts +202 -91
- package/src/Result.ts +312 -484
- package/src/Runtime.ts +50 -75
- package/src/Schedule.ts +311 -1737
- package/src/Scheduler.ts +20 -7
- package/src/Schema.ts +766 -786
- package/src/SchemaAST.ts +522 -382
- package/src/SchemaError.ts +7 -6
- package/src/SchemaGetter.ts +242 -190
- package/src/SchemaIssue.ts +89 -275
- package/src/SchemaParser.ts +217 -124
- package/src/SchemaRepresentation.ts +22 -40
- package/src/SchemaTransformation.ts +129 -88
- package/src/Scope.ts +123 -151
- package/src/ScopedCache.ts +1 -1
- package/src/ScopedRef.ts +4 -4
- package/src/Semaphore.ts +152 -51
- package/src/Sink.ts +129 -114
- package/src/Stdio.ts +1 -1
- package/src/Stream.ts +2679 -3133
- package/src/String.ts +275 -312
- package/src/Struct.ts +109 -114
- package/src/SubscriptionRef.ts +284 -252
- package/src/Symbol.ts +3 -3
- package/src/SynchronizedRef.ts +1 -1
- package/src/Terminal.ts +3 -3
- package/src/Tracer.ts +102 -55
- package/src/Trie.ts +287 -679
- package/src/Tuple.ts +99 -131
- package/src/TxChunk.ts +201 -121
- package/src/TxDeferred.ts +62 -46
- package/src/TxHashMap.ts +645 -799
- package/src/TxHashSet.ts +443 -356
- package/src/TxPriorityQueue.ts +130 -98
- package/src/TxPubSub.ts +107 -80
- package/src/TxQueue.ts +214 -183
- package/src/TxReentrantLock.ts +136 -101
- package/src/TxRef.ts +51 -32
- package/src/TxSemaphore.ts +129 -95
- package/src/TxSubscriptionRef.ts +97 -70
- package/src/Types.ts +126 -67
- package/src/Unify.ts +45 -65
- package/src/Utils.ts +23 -16
- package/src/internal/core.ts +2 -2
- package/src/internal/dateTime.ts +7 -1
- package/src/internal/effect.ts +93 -48
- package/src/internal/executionPlan.ts +105 -10
- package/src/internal/hashMap.ts +20 -14
- package/src/internal/matcher.ts +2 -2
- package/src/internal/persistence.ts +2 -0
- package/src/internal/references.ts +3 -2
- package/src/internal/schedule.ts +4 -4
- package/src/internal/schema/annotations.ts +3 -0
- package/src/internal/schema/fromJsonSchemaDocument.ts +15 -13
- package/src/internal/schema/fromRepresentation.ts +10 -16
- package/src/internal/schema/parser.ts +22 -0
- package/src/internal/schema/toArbitrary.ts +3 -1
- package/src/internal/schema/toJsonSchemaDocument.ts +60 -6
- package/src/internal/schema/toRepresentation.ts +104 -119
- package/src/internal/trie.ts +21 -12
- package/src/testing/FastCheck.ts +8 -7
- package/src/testing/TestClock.ts +85 -31
- package/src/testing/TestConsole.ts +32 -31
- package/src/testing/TestSchema.ts +30 -30
- package/src/unstable/ai/AiError.ts +114 -137
- package/src/unstable/ai/AnthropicStructuredOutput.ts +1 -1
- package/src/unstable/ai/Chat.ts +133 -98
- package/src/unstable/ai/IdGenerator.ts +32 -28
- package/src/unstable/ai/LanguageModel.ts +111 -69
- package/src/unstable/ai/McpProtocol.ts +48 -0
- package/src/unstable/ai/McpSchema.ts +77 -66
- package/src/unstable/ai/McpServer.ts +931 -305
- package/src/unstable/ai/Model.ts +9 -20
- package/src/unstable/ai/OpenAiStructuredOutput.ts +1 -1
- package/src/unstable/ai/Prompt.ts +166 -49
- package/src/unstable/ai/Response.ts +28 -14
- package/src/unstable/ai/Telemetry.ts +46 -13
- package/src/unstable/ai/Tokenizer.ts +14 -3
- package/src/unstable/ai/Tool.ts +59 -44
- package/src/unstable/ai/Toolkit.ts +26 -8
- package/src/unstable/ai/index.ts +5 -0
- package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
- package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
- package/src/unstable/ai/internal/structured-output.ts +13 -18
- package/src/unstable/cli/Argument.ts +273 -69
- package/src/unstable/cli/CliError.ts +79 -86
- package/src/unstable/cli/CliOutput.ts +44 -58
- package/src/unstable/cli/Command.ts +716 -116
- package/src/unstable/cli/Flag.ts +418 -138
- package/src/unstable/cli/GlobalFlag.ts +1 -1
- package/src/unstable/cli/HelpDoc.ts +12 -4
- package/src/unstable/cli/Param.ts +333 -97
- package/src/unstable/cli/Primitive.ts +381 -154
- package/src/unstable/cli/Prompt.ts +64 -34
- package/src/unstable/cli/internal/ansi.ts +2 -2
- package/src/unstable/cli/internal/command.ts +15 -10
- package/src/unstable/cli/internal/completions/bash.ts +59 -9
- package/src/unstable/cli/internal/completions/descriptor.ts +14 -20
- package/src/unstable/cli/internal/completions/fish.ts +5 -7
- package/src/unstable/cli/internal/help.ts +4 -2
- package/src/unstable/cli/internal/lexer.ts +8 -2
- package/src/unstable/cli/internal/parser.ts +5 -5
- package/src/unstable/cli/internal/wizard.ts +2 -2
- package/src/unstable/cluster/ClusterError.ts +7 -7
- package/src/unstable/cluster/ClusterSchema.ts +8 -8
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +9 -2
- package/src/unstable/cluster/Entity.ts +15 -16
- package/src/unstable/cluster/EntityProxy.ts +4 -2
- package/src/unstable/cluster/EntityResource.ts +2 -2
- package/src/unstable/cluster/Envelope.ts +3 -3
- package/src/unstable/cluster/HttpRunner.ts +6 -4
- package/src/unstable/cluster/Message.ts +9 -9
- package/src/unstable/cluster/MessageStorage.ts +24 -20
- package/src/unstable/cluster/Reply.ts +25 -6
- package/src/unstable/cluster/RunnerHealth.ts +1 -1
- package/src/unstable/cluster/RunnerServer.ts +35 -8
- package/src/unstable/cluster/RunnerStorage.ts +11 -9
- package/src/unstable/cluster/Runners.ts +23 -12
- package/src/unstable/cluster/Sharding.ts +42 -15
- package/src/unstable/cluster/ShardingConfig.ts +3 -3
- package/src/unstable/cluster/SingletonAddress.ts +1 -1
- package/src/unstable/cluster/Snowflake.ts +8 -8
- package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
- package/src/unstable/cluster/SqlRunnerStorage.ts +21 -5
- package/src/unstable/cluster/internal/entityManager.ts +12 -16
- package/src/unstable/cluster/internal/resourceMap.ts +5 -2
- package/src/unstable/cluster/internal/resourceRef.ts +27 -5
- package/src/unstable/devtools/DevToolsClient.ts +3 -2
- package/src/unstable/encoding/Ini.ts +174 -0
- package/src/unstable/encoding/Msgpack.ts +53 -36
- package/src/unstable/encoding/Ndjson.ts +9 -1
- package/src/unstable/encoding/Sse.ts +109 -37
- package/src/unstable/encoding/Toml.ts +504 -0
- package/src/unstable/encoding/Yaml.ts +541 -0
- package/src/unstable/encoding/index.ts +15 -0
- package/src/unstable/eventlog/Event.ts +20 -20
- package/src/unstable/eventlog/EventGroup.ts +4 -4
- package/src/unstable/eventlog/EventJournal.ts +29 -21
- package/src/unstable/eventlog/EventLog.ts +3 -3
- package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
- package/src/unstable/eventlog/EventLogMessage.ts +3 -3
- package/src/unstable/eventlog/EventLogRemote.ts +1 -1
- package/src/unstable/eventlog/EventLogServer.ts +41 -7
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +13 -5
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +15 -7
- package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
- package/src/unstable/eventlog/SqlEventJournal.ts +6 -4
- package/src/unstable/http/Cookies.ts +35 -21
- package/src/unstable/http/Etag.ts +1 -1
- package/src/unstable/http/FetchHttpClient.ts +3 -1
- package/src/unstable/http/FindMyWay/internal/queryString.ts +420 -0
- package/src/unstable/http/FindMyWay/internal/router.ts +950 -0
- package/src/unstable/http/FindMyWay.ts +65 -6
- package/src/unstable/http/Headers.ts +2 -2
- package/src/unstable/http/HttpBody.ts +20 -5
- package/src/unstable/http/HttpClient.ts +83 -55
- package/src/unstable/http/HttpClientError.ts +1 -1
- package/src/unstable/http/HttpClientRequest.ts +2 -12
- package/src/unstable/http/HttpClientResponse.ts +5 -21
- package/src/unstable/http/HttpEffect.ts +8 -8
- package/src/unstable/http/HttpMethod.ts +6 -9
- package/src/unstable/http/HttpMiddleware.ts +202 -39
- package/src/unstable/http/HttpPlatform.ts +129 -6
- package/src/unstable/http/HttpRouter.ts +102 -98
- package/src/unstable/http/HttpServer.ts +13 -13
- package/src/unstable/http/HttpServerError.ts +2 -2
- package/src/unstable/http/HttpServerRequest.ts +18 -10
- package/src/unstable/http/HttpServerResponse.ts +38 -6
- package/src/unstable/http/HttpStaticServer.ts +35 -7
- package/src/unstable/http/Multipart.ts +15 -8
- package/src/unstable/http/MultipartParser/HeadersParser.ts +68 -0
- package/src/unstable/http/MultipartParser/Search.ts +17 -0
- package/src/unstable/http/MultipartParser/internal/contentType.ts +103 -0
- package/src/unstable/http/MultipartParser/internal/headers.ts +615 -0
- package/src/unstable/http/MultipartParser/internal/multipart.ts +262 -0
- package/src/unstable/http/MultipartParser/internal/search.ts +167 -0
- package/src/unstable/http/MultipartParser.ts +115 -0
- package/src/unstable/http/Template.ts +6 -5
- package/src/unstable/http/Url.ts +33 -63
- package/src/unstable/http/UrlParams.ts +10 -18
- package/src/unstable/http/index.ts +1 -1
- package/src/unstable/http/internal/compression.ts +196 -0
- package/src/unstable/http/internal/httpBody.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +6 -7
- package/src/unstable/httpapi/HttpApiBuilder.ts +129 -30
- package/src/unstable/httpapi/HttpApiClient.ts +117 -54
- package/src/unstable/httpapi/HttpApiEndpoint.ts +159 -71
- package/src/unstable/httpapi/HttpApiError.ts +46 -52
- package/src/unstable/httpapi/HttpApiGroup.ts +15 -15
- package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
- package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
- package/src/unstable/httpapi/HttpApiSchema.ts +359 -6
- package/src/unstable/httpapi/OpenApi.ts +83 -33
- package/src/unstable/observability/OtlpExporter.ts +35 -21
- package/src/unstable/observability/OtlpLogger.ts +3 -1
- package/src/unstable/observability/OtlpMetrics.ts +36 -19
- package/src/unstable/observability/OtlpResource.ts +26 -17
- package/src/unstable/observability/OtlpTracer.ts +1 -1
- package/src/unstable/observability/PrometheusMetrics.ts +13 -4
- package/src/unstable/observability/internal/otlpEnv.ts +1 -1
- package/src/unstable/observability/internal/protobuf.ts +3 -0
- package/src/unstable/persistence/KeyValueStore.ts +72 -49
- package/src/unstable/persistence/Persistable.ts +8 -8
- package/src/unstable/persistence/PersistedQueue.ts +18 -15
- package/src/unstable/persistence/Persistence.ts +153 -26
- package/src/unstable/persistence/RateLimiter.ts +77 -43
- package/src/unstable/persistence/Redis.ts +3 -3
- package/src/unstable/process/ChildProcess.ts +64 -21
- package/src/unstable/process/ChildProcessSpawner.ts +21 -10
- package/src/unstable/reactivity/AsyncResult.ts +12 -13
- package/src/unstable/reactivity/Atom.ts +28 -25
- package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
- package/src/unstable/reactivity/AtomRegistry.ts +24 -3
- package/src/unstable/reactivity/AtomRpc.ts +5 -4
- package/src/unstable/reactivity/Hydration.ts +1 -1
- package/src/unstable/rpc/Rpc.ts +35 -33
- package/src/unstable/rpc/RpcClient.ts +54 -27
- package/src/unstable/rpc/RpcClientError.ts +2 -2
- package/src/unstable/rpc/RpcGroup.ts +8 -8
- package/src/unstable/rpc/RpcMessage.ts +31 -30
- package/src/unstable/rpc/RpcMiddleware.ts +10 -10
- package/src/unstable/rpc/RpcSchema.ts +4 -4
- package/src/unstable/rpc/RpcSerialization.ts +167 -68
- package/src/unstable/rpc/RpcServer.ts +18 -15
- package/src/unstable/rpc/RpcWorker.ts +5 -5
- package/src/unstable/schema/Model.ts +52 -50
- package/src/unstable/schema/VariantSchema.ts +41 -23
- package/src/unstable/socket/Socket.ts +41 -18
- package/src/unstable/sql/SqlClient.ts +64 -56
- package/src/unstable/sql/SqlError.ts +13 -13
- package/src/unstable/sql/SqlModel.ts +2 -2
- package/src/unstable/sql/SqlResolver.ts +13 -11
- package/src/unstable/sql/Statement.ts +37 -31
- package/src/unstable/workers/Transferable.ts +1 -1
- package/src/unstable/workers/Worker.ts +2 -2
- package/src/unstable/workers/WorkerError.ts +12 -12
- package/src/unstable/workers/WorkerRunner.ts +1 -1
- package/src/unstable/workflow/Activity.ts +2 -2
- package/src/unstable/workflow/DurableClock.ts +1 -1
- package/src/unstable/workflow/DurableDeferred.ts +10 -10
- package/src/unstable/workflow/DurableQueue.ts +22 -20
- package/src/unstable/workflow/Workflow.ts +23 -23
- package/src/unstable/workflow/WorkflowEngine.ts +9 -4
- package/src/unstable/workflow/WorkflowProxy.ts +4 -2
- package/dist/internal/version.d.ts +0 -3
- package/dist/internal/version.d.ts.map +0 -1
- package/dist/internal/version.js +0 -2
- package/dist/internal/version.js.map +0 -1
- package/dist/unstable/http/Multipasta/HeadersParser.d.ts +0 -14
- package/dist/unstable/http/Multipasta/HeadersParser.d.ts.map +0 -1
- package/dist/unstable/http/Multipasta/HeadersParser.js +0 -14
- package/dist/unstable/http/Multipasta/HeadersParser.js.map +0 -1
- package/dist/unstable/http/Multipasta/Node.d.ts +0 -14
- package/dist/unstable/http/Multipasta/Node.d.ts.map +0 -1
- package/dist/unstable/http/Multipasta/Node.js +0 -14
- package/dist/unstable/http/Multipasta/Node.js.map +0 -1
- package/dist/unstable/http/Multipasta/Search.d.ts +0 -14
- package/dist/unstable/http/Multipasta/Search.d.ts.map +0 -1
- package/dist/unstable/http/Multipasta/Search.js +0 -14
- package/dist/unstable/http/Multipasta/Search.js.map +0 -1
- package/dist/unstable/http/Multipasta/Web.d.ts +0 -14
- package/dist/unstable/http/Multipasta/Web.d.ts.map +0 -1
- package/dist/unstable/http/Multipasta/Web.js +0 -14
- package/dist/unstable/http/Multipasta/Web.js.map +0 -1
- package/dist/unstable/http/Multipasta.d.ts +0 -15
- package/dist/unstable/http/Multipasta.d.ts.map +0 -1
- package/dist/unstable/http/Multipasta.js +0 -15
- package/dist/unstable/http/Multipasta.js.map +0 -1
- package/src/internal/version.ts +0 -2
- package/src/unstable/http/Multipasta/HeadersParser.ts +0 -14
- package/src/unstable/http/Multipasta/Node.ts +0 -14
- package/src/unstable/http/Multipasta/Search.ts +0 -14
- package/src/unstable/http/Multipasta/Web.ts +0 -14
- package/src/unstable/http/Multipasta.ts +0 -15
package/src/Optic.ts
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
import { format } from "./Formatter.ts"
|
|
16
|
-
import { identity
|
|
16
|
+
import { identity } from "./Function.ts"
|
|
17
17
|
import * as InternalRecord from "./internal/record.ts"
|
|
18
18
|
import * as Option from "./Option.ts"
|
|
19
19
|
import * as Predicate from "./Predicate.ts"
|
|
@@ -42,7 +42,7 @@ import type { IsUnion } from "./Types.ts"
|
|
|
42
42
|
*
|
|
43
43
|
* **Example** (Converting between Celsius and Fahrenheit)
|
|
44
44
|
*
|
|
45
|
-
* ```ts
|
|
45
|
+
* ```ts import.meta.vitest
|
|
46
46
|
* import { Optic } from "effect"
|
|
47
47
|
*
|
|
48
48
|
* const fahrenheit = Optic.makeIso<number, number>(
|
|
@@ -50,18 +50,16 @@ import type { IsUnion } from "./Types.ts"
|
|
|
50
50
|
* (f) => (f - 32) * 5 / 9
|
|
51
51
|
* )
|
|
52
52
|
*
|
|
53
|
-
*
|
|
54
|
-
* // Output: 212
|
|
53
|
+
* fahrenheit.get(100) // => 212
|
|
55
54
|
*
|
|
56
|
-
*
|
|
57
|
-
* // Output: 0
|
|
55
|
+
* fahrenheit.set(32) // => 0
|
|
58
56
|
* ```
|
|
59
57
|
*
|
|
60
58
|
* @see {@link makeIso} — constructor
|
|
61
59
|
* @see {@link Lens} — when you only need a one-directional focus into a whole
|
|
62
60
|
* @see {@link Prism} — when the focus may not be present
|
|
63
61
|
*
|
|
64
|
-
* @category
|
|
62
|
+
* @category models
|
|
65
63
|
* @since 4.0.0
|
|
66
64
|
*/
|
|
67
65
|
export interface Iso<in out S, in out A> extends Lens<S, A>, Prism<S, A> {}
|
|
@@ -80,7 +78,7 @@ export interface Iso<in out S, in out A> extends Lens<S, A>, Prism<S, A> {}
|
|
|
80
78
|
*
|
|
81
79
|
* **Example** (Wrapping and unwrapping a branded type)
|
|
82
80
|
*
|
|
83
|
-
* ```ts
|
|
81
|
+
* ```ts import.meta.vitest
|
|
84
82
|
* import { Optic } from "effect"
|
|
85
83
|
*
|
|
86
84
|
* type Meters = { readonly value: number }
|
|
@@ -89,11 +87,9 @@ export interface Iso<in out S, in out A> extends Lens<S, A>, Prism<S, A> {}
|
|
|
89
87
|
* (n) => ({ value: n })
|
|
90
88
|
* )
|
|
91
89
|
*
|
|
92
|
-
*
|
|
93
|
-
* // Output: 100
|
|
90
|
+
* meters.get({ value: 100 }) // => 100
|
|
94
91
|
*
|
|
95
|
-
*
|
|
96
|
-
* // Output: { value: 42 }
|
|
92
|
+
* meters.set(42) // => { value: 42 }
|
|
97
93
|
* ```
|
|
98
94
|
*
|
|
99
95
|
* @see {@link Iso} — the type this function returns
|
|
@@ -103,7 +99,7 @@ export interface Iso<in out S, in out A> extends Lens<S, A>, Prism<S, A> {}
|
|
|
103
99
|
* @since 4.0.0
|
|
104
100
|
*/
|
|
105
101
|
export function makeIso<S, A>(get: (s: S) => A, set: (a: A) => S): Iso<S, A> {
|
|
106
|
-
return make(
|
|
102
|
+
return make(primitiveNode("Iso", get, set))
|
|
107
103
|
}
|
|
108
104
|
|
|
109
105
|
/**
|
|
@@ -124,22 +120,21 @@ export function makeIso<S, A>(get: (s: S) => A, set: (a: A) => S): Iso<S, A> {
|
|
|
124
120
|
*
|
|
125
121
|
* **Example** (Focusing on a struct field)
|
|
126
122
|
*
|
|
127
|
-
* ```ts
|
|
123
|
+
* ```ts import.meta.vitest
|
|
128
124
|
* import { Optic } from "effect"
|
|
129
125
|
*
|
|
130
126
|
* type Person = { readonly name: string; readonly age: number }
|
|
131
127
|
*
|
|
132
128
|
* const _name = Optic.id<Person>().key("name")
|
|
133
129
|
*
|
|
134
|
-
*
|
|
135
|
-
* // Output: "Alice"
|
|
130
|
+
* _name.get({ name: "Alice", age: 30 }) // => "Alice"
|
|
136
131
|
* ```
|
|
137
132
|
*
|
|
138
133
|
* @see {@link makeLens} — constructor
|
|
139
134
|
* @see {@link Iso} — when conversion is lossless in both directions
|
|
140
135
|
* @see {@link Optional} — when reading can also fail
|
|
141
136
|
*
|
|
142
|
-
* @category
|
|
137
|
+
* @category models
|
|
143
138
|
* @since 4.0.0
|
|
144
139
|
*/
|
|
145
140
|
export interface Lens<in out S, in out A> extends Optional<S, A> {
|
|
@@ -161,7 +156,7 @@ export interface Lens<in out S, in out A> extends Optional<S, A> {
|
|
|
161
156
|
*
|
|
162
157
|
* **Example** (Focusing on the first element of a pair)
|
|
163
158
|
*
|
|
164
|
-
* ```ts
|
|
159
|
+
* ```ts import.meta.vitest
|
|
165
160
|
* import { Optic } from "effect"
|
|
166
161
|
*
|
|
167
162
|
* const _first = Optic.makeLens<readonly [string, number], string>(
|
|
@@ -169,11 +164,9 @@ export interface Lens<in out S, in out A> extends Optional<S, A> {
|
|
|
169
164
|
* (s, pair) => [s, pair[1]]
|
|
170
165
|
* )
|
|
171
166
|
*
|
|
172
|
-
*
|
|
173
|
-
* // Output: "hello"
|
|
167
|
+
* _first.get(["hello", 42]) // => "hello"
|
|
174
168
|
*
|
|
175
|
-
*
|
|
176
|
-
* // Output: ["world", 42]
|
|
169
|
+
* _first.replace("world", ["hello", 42]) // => ["world", 42]
|
|
177
170
|
* ```
|
|
178
171
|
*
|
|
179
172
|
* @see {@link Lens} — the type this function returns
|
|
@@ -183,7 +176,7 @@ export interface Lens<in out S, in out A> extends Optional<S, A> {
|
|
|
183
176
|
* @since 4.0.0
|
|
184
177
|
*/
|
|
185
178
|
export function makeLens<S, A>(get: (s: S) => A, replace: (a: A, s: S) => S): Lens<S, A> {
|
|
186
|
-
return make(
|
|
179
|
+
return make(primitiveNode("Lens", get, replace))
|
|
187
180
|
}
|
|
188
181
|
|
|
189
182
|
/**
|
|
@@ -207,7 +200,7 @@ export function makeLens<S, A>(get: (s: S) => A, replace: (a: A, s: S) => S): Le
|
|
|
207
200
|
*
|
|
208
201
|
* **Example** (Narrowing a tagged union)
|
|
209
202
|
*
|
|
210
|
-
* ```ts
|
|
203
|
+
* ```ts import.meta.vitest
|
|
211
204
|
* import { Optic, Result } from "effect"
|
|
212
205
|
*
|
|
213
206
|
* type Shape =
|
|
@@ -216,18 +209,16 @@ export function makeLens<S, A>(get: (s: S) => A, replace: (a: A, s: S) => S): Le
|
|
|
216
209
|
*
|
|
217
210
|
* const _circle = Optic.id<Shape>().tag("Circle")
|
|
218
211
|
*
|
|
219
|
-
*
|
|
220
|
-
* // Output: true
|
|
212
|
+
* _circle.getResult({ _tag: "Circle", radius: 5 }) // => Result.succeed({ _tag: "Circle", radius: 5 })
|
|
221
213
|
*
|
|
222
|
-
*
|
|
223
|
-
* // Output: true
|
|
214
|
+
* Result.isFailure(_circle.getResult({ _tag: "Rect", width: 10 })) // => true
|
|
224
215
|
* ```
|
|
225
216
|
*
|
|
226
217
|
* @see {@link makePrism} — constructor
|
|
227
218
|
* @see {@link fromChecks} — build a Prism from schema checks
|
|
228
219
|
* @see {@link Lens} — when reading always succeeds
|
|
229
220
|
*
|
|
230
|
-
* @category
|
|
221
|
+
* @category models
|
|
231
222
|
* @since 4.0.0
|
|
232
223
|
*/
|
|
233
224
|
export interface Prism<in out S, in out A> extends Optional<S, A> {
|
|
@@ -248,7 +239,7 @@ export interface Prism<in out S, in out A> extends Optional<S, A> {
|
|
|
248
239
|
*
|
|
249
240
|
* **Example** (Parsing a string to a number)
|
|
250
241
|
*
|
|
251
|
-
* ```ts
|
|
242
|
+
* ```ts import.meta.vitest
|
|
252
243
|
* import { Optic, Result } from "effect"
|
|
253
244
|
*
|
|
254
245
|
* const numeric = Optic.makePrism<string, number>(
|
|
@@ -259,11 +250,9 @@ export interface Prism<in out S, in out A> extends Optional<S, A> {
|
|
|
259
250
|
* String
|
|
260
251
|
* )
|
|
261
252
|
*
|
|
262
|
-
*
|
|
263
|
-
* // Output: true
|
|
253
|
+
* numeric.getResult("42") // => Result.succeed(42)
|
|
264
254
|
*
|
|
265
|
-
*
|
|
266
|
-
* // Output: "42"
|
|
255
|
+
* numeric.set(42) // => "42"
|
|
267
256
|
* ```
|
|
268
257
|
*
|
|
269
258
|
* @see {@link Prism} — the type this function returns
|
|
@@ -273,7 +262,7 @@ export interface Prism<in out S, in out A> extends Optional<S, A> {
|
|
|
273
262
|
* @since 4.0.0
|
|
274
263
|
*/
|
|
275
264
|
export function makePrism<S, A>(getResult: (s: S) => Result.Result<A, string>, set: (a: A) => S): Prism<S, A> {
|
|
276
|
-
return make(
|
|
265
|
+
return make(primitiveNode("Prism", getResult, set))
|
|
277
266
|
}
|
|
278
267
|
|
|
279
268
|
/**
|
|
@@ -293,7 +282,7 @@ export function makePrism<S, A>(getResult: (s: S) => Result.Result<A, string>, s
|
|
|
293
282
|
*
|
|
294
283
|
* **Example** (Creating a positive integer prism)
|
|
295
284
|
*
|
|
296
|
-
* ```ts
|
|
285
|
+
* ```ts import.meta.vitest
|
|
297
286
|
* import { Optic, Result, Schema } from "effect"
|
|
298
287
|
*
|
|
299
288
|
* const posInt = Optic.fromChecks<number>(
|
|
@@ -301,11 +290,9 @@ export function makePrism<S, A>(getResult: (s: S) => Result.Result<A, string>, s
|
|
|
301
290
|
* Schema.isInt()
|
|
302
291
|
* )
|
|
303
292
|
*
|
|
304
|
-
*
|
|
305
|
-
* // Output: true
|
|
293
|
+
* posInt.getResult(3) // => Result.succeed(3)
|
|
306
294
|
*
|
|
307
|
-
*
|
|
308
|
-
* // Output: true
|
|
295
|
+
* Result.isFailure(posInt.getResult(-1)) // => true
|
|
309
296
|
* ```
|
|
310
297
|
*
|
|
311
298
|
* @see {@link makePrism} — constructor with custom getter/setter
|
|
@@ -315,142 +302,95 @@ export function makePrism<S, A>(getResult: (s: S) => Result.Result<A, string>, s
|
|
|
315
302
|
* @since 4.0.0
|
|
316
303
|
*/
|
|
317
304
|
export function fromChecks<T>(...checks: readonly [SchemaAST.Check<T>, ...Array<SchemaAST.Check<T>>]): Prism<T, T> {
|
|
318
|
-
return make(new CheckNode(checks))
|
|
305
|
+
return make([new CheckNode(checks)])
|
|
319
306
|
}
|
|
320
307
|
|
|
321
|
-
type
|
|
322
|
-
| IdentityNode
|
|
323
|
-
| IsoNode<any, any>
|
|
324
|
-
| LensNode<any, any>
|
|
325
|
-
| PrismNode<any, any>
|
|
326
|
-
| OptionalNode<any, any>
|
|
327
|
-
| PathNode
|
|
328
|
-
| CheckNode<any>
|
|
329
|
-
| CompositionNode
|
|
308
|
+
type Kind = "Iso" | "Lens" | "Prism" | "Optional"
|
|
330
309
|
|
|
331
|
-
|
|
332
|
-
readonly
|
|
310
|
+
type Operation = {
|
|
311
|
+
readonly kind: Kind
|
|
312
|
+
readonly get: (s: any) => any
|
|
313
|
+
readonly set: (a: any, s?: any) => any
|
|
333
314
|
}
|
|
334
315
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
class CompositionNode {
|
|
338
|
-
readonly _tag = "CompositionNode"
|
|
339
|
-
readonly nodes: readonly [Node, ...Array<Node>]
|
|
340
|
-
|
|
341
|
-
constructor(nodes: readonly [Node, ...Array<Node>]) {
|
|
342
|
-
this.nodes = nodes
|
|
343
|
-
}
|
|
316
|
+
type PrimitiveStep = Operation & {
|
|
317
|
+
readonly _tag: "PrimitiveNode"
|
|
344
318
|
}
|
|
345
319
|
|
|
346
|
-
|
|
347
|
-
readonly _tag = "IsoNode"
|
|
348
|
-
readonly get: (s: S) => A
|
|
349
|
-
readonly set: (a: A) => S
|
|
350
|
-
|
|
351
|
-
constructor(get: (s: S) => A, set: (a: A) => S) {
|
|
352
|
-
this.get = get
|
|
353
|
-
this.set = set
|
|
354
|
-
}
|
|
355
|
-
}
|
|
320
|
+
type Step = PrimitiveStep | PathNode | CheckNode<any>
|
|
356
321
|
|
|
357
|
-
|
|
358
|
-
readonly _tag = "LensNode"
|
|
359
|
-
readonly get: (s: S) => A
|
|
360
|
-
readonly set: (a: A, s: S) => S
|
|
322
|
+
type Node = ReadonlyArray<Step>
|
|
361
323
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
this.set = set
|
|
365
|
-
}
|
|
324
|
+
function primitiveNode(kind: Kind, get: (s: any) => any, set: (a: any, s?: any) => any): Node {
|
|
325
|
+
return [{ _tag: "PrimitiveNode", kind, get, set }]
|
|
366
326
|
}
|
|
367
327
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
constructor(get: (s: S) => Result.Result<A, string>, set: (a: A) => S) {
|
|
374
|
-
this.get = get
|
|
375
|
-
this.set = set
|
|
376
|
-
}
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
class OptionalNode<S, A> {
|
|
380
|
-
readonly _tag = "OptionalNode"
|
|
381
|
-
readonly get: (s: S) => Result.Result<A, string>
|
|
382
|
-
readonly set: (a: A, s: S) => Result.Result<S, string>
|
|
383
|
-
|
|
384
|
-
constructor(get: (s: S) => Result.Result<A, string>, set: (a: A, s: S) => Result.Result<S, string>) {
|
|
385
|
-
this.get = get
|
|
386
|
-
this.set = set
|
|
387
|
-
}
|
|
328
|
+
const identityOperation: Operation = {
|
|
329
|
+
kind: "Iso",
|
|
330
|
+
get: identity,
|
|
331
|
+
set: identity
|
|
388
332
|
}
|
|
389
333
|
|
|
390
334
|
class PathNode {
|
|
391
335
|
readonly _tag = "PathNode"
|
|
336
|
+
readonly kind = "Lens"
|
|
392
337
|
readonly path: ReadonlyArray<PropertyKey>
|
|
338
|
+
readonly get: (s: any) => any
|
|
339
|
+
readonly set: (a: any, s?: any) => any
|
|
393
340
|
|
|
394
341
|
constructor(path: ReadonlyArray<PropertyKey>) {
|
|
395
342
|
this.path = path
|
|
343
|
+
this.get = (s) => {
|
|
344
|
+
let out = s
|
|
345
|
+
for (let i = 0; i < path.length; i++) {
|
|
346
|
+
out = out[path[i]]
|
|
347
|
+
}
|
|
348
|
+
return out
|
|
349
|
+
}
|
|
350
|
+
this.set = (a, s) => {
|
|
351
|
+
const out = cloneShallow(s)
|
|
352
|
+
let current = out
|
|
353
|
+
let i = 0
|
|
354
|
+
for (; i < path.length - 1; i++) {
|
|
355
|
+
const key = path[i]
|
|
356
|
+
InternalRecord.assignProperty(current, key, cloneShallow(current[key]))
|
|
357
|
+
current = current[key]
|
|
358
|
+
}
|
|
359
|
+
InternalRecord.assignProperty(current, path[i], a)
|
|
360
|
+
return out
|
|
361
|
+
}
|
|
396
362
|
}
|
|
397
363
|
}
|
|
398
364
|
|
|
399
365
|
class CheckNode<T> {
|
|
400
366
|
readonly _tag = "CheckNode"
|
|
367
|
+
readonly kind = "Prism"
|
|
401
368
|
readonly checks: readonly [SchemaAST.Check<T>, ...Array<SchemaAST.Check<T>>]
|
|
369
|
+
readonly get: (s: T) => Result.Result<T, string>
|
|
370
|
+
readonly set = identity
|
|
402
371
|
|
|
403
372
|
constructor(checks: readonly [SchemaAST.Check<T>, ...Array<SchemaAST.Check<T>>]) {
|
|
404
373
|
this.checks = checks
|
|
374
|
+
this.get = (s) => Result.mapError(SchemaAST.runChecks(checks, s), String)
|
|
405
375
|
}
|
|
406
376
|
}
|
|
407
377
|
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
378
|
+
function compose(a: Node, b: Node): Node {
|
|
379
|
+
if (a.length === 0) return b
|
|
380
|
+
if (b.length === 0) return a
|
|
381
|
+
const nodes = a.slice()
|
|
382
|
+
for (let i = 0; i < b.length; i++) {
|
|
383
|
+
const node = b[i]
|
|
384
|
+
const last = nodes[nodes.length - 1]
|
|
415
385
|
if (last._tag === "PathNode" && node._tag === "PathNode") {
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
// fuse Checks
|
|
422
|
-
acc[acc.length - 1] = new CheckNode<any>([...last.checks, ...node.checks])
|
|
423
|
-
return
|
|
386
|
+
nodes[nodes.length - 1] = new PathNode([...last.path, ...node.path])
|
|
387
|
+
} else if (last._tag === "CheckNode" && node._tag === "CheckNode") {
|
|
388
|
+
nodes[nodes.length - 1] = new CheckNode<any>([...last.checks, ...node.checks])
|
|
389
|
+
} else {
|
|
390
|
+
nodes.push(node)
|
|
424
391
|
}
|
|
425
392
|
}
|
|
426
|
-
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
// Collect nodes from a node into `acc`, flattening & normalizing on the fly.
|
|
430
|
-
function collect(node: Node, acc: Array<NormalizedNode>): void {
|
|
431
|
-
if (node._tag === "IdentityNode") return
|
|
432
|
-
if (node._tag === "CompositionNode") {
|
|
433
|
-
// flatten without extra arrays
|
|
434
|
-
for (let i = 0; i < node.nodes.length; i++) collect(node.nodes[i], acc)
|
|
435
|
-
return
|
|
436
|
-
}
|
|
437
|
-
// primitive node
|
|
438
|
-
pushNormalized(acc, node)
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
function compose(a: Node, b: Node): Node {
|
|
442
|
-
const nodes: Array<NormalizedNode> = []
|
|
443
|
-
collect(a, nodes)
|
|
444
|
-
collect(b, nodes)
|
|
445
|
-
|
|
446
|
-
switch (nodes.length) {
|
|
447
|
-
case 0:
|
|
448
|
-
return identityNode
|
|
449
|
-
case 1:
|
|
450
|
-
return nodes[0]
|
|
451
|
-
default:
|
|
452
|
-
return new CompositionNode(nodes as [Node, ...Array<Node>])
|
|
453
|
-
}
|
|
393
|
+
return nodes
|
|
454
394
|
}
|
|
455
395
|
|
|
456
396
|
type ForbidUnion<A, Message extends string> = IsUnion<A> extends true ? [Message] : []
|
|
@@ -476,32 +416,28 @@ type ForbidUnion<A, Message extends string> = IsUnion<A> extends true ? [Message
|
|
|
476
416
|
*
|
|
477
417
|
* **Example** (Focusing on an optional record key)
|
|
478
418
|
*
|
|
479
|
-
* ```ts
|
|
419
|
+
* ```ts import.meta.vitest
|
|
480
420
|
* import { Optic, Result } from "effect"
|
|
481
421
|
*
|
|
482
422
|
* type Env = { [key: string]: string }
|
|
483
423
|
* const _home = Optic.id<Env>().at("HOME")
|
|
484
424
|
*
|
|
485
|
-
*
|
|
486
|
-
* // Output: true
|
|
425
|
+
* _home.getResult({ HOME: "/root" }) // => Result.succeed("/root")
|
|
487
426
|
*
|
|
488
|
-
*
|
|
489
|
-
* // Output: true
|
|
427
|
+
* Result.isFailure(_home.getResult({ PATH: "/bin" })) // => true
|
|
490
428
|
*
|
|
491
429
|
* // replace returns original on failure
|
|
492
|
-
*
|
|
493
|
-
* // Output: { PATH: "/bin" }
|
|
430
|
+
* _home.replace("/new", { PATH: "/bin" }) // => { PATH: "/bin" }
|
|
494
431
|
* ```
|
|
495
432
|
*
|
|
496
433
|
* @see {@link makeOptional} — constructor
|
|
497
434
|
* @see {@link Lens} — when reading always succeeds
|
|
498
435
|
* @see {@link Prism} — when writing always succeeds
|
|
499
436
|
*
|
|
500
|
-
* @category
|
|
437
|
+
* @category models
|
|
501
438
|
* @since 4.0.0
|
|
502
439
|
*/
|
|
503
440
|
export interface Optional<in out S, in out A> {
|
|
504
|
-
readonly node: Node
|
|
505
441
|
/**
|
|
506
442
|
* Attempts to read the focus `A` from the whole `S`. Returns
|
|
507
443
|
* `Result.Success<A>` when the focus exists, or
|
|
@@ -524,13 +460,14 @@ export interface Optional<in out S, in out A> {
|
|
|
524
460
|
*
|
|
525
461
|
* **Example** (Composing a lens with a prism)
|
|
526
462
|
*
|
|
527
|
-
* ```ts
|
|
528
|
-
* import { Optic, Option } from "effect"
|
|
463
|
+
* ```ts import.meta.vitest
|
|
464
|
+
* import { Optic, Option, Result } from "effect"
|
|
529
465
|
*
|
|
530
466
|
* type State = { value: Option.Option<number> }
|
|
531
467
|
*
|
|
532
468
|
* const _inner = Optic.id<State>().key("value").compose(Optic.some())
|
|
533
469
|
* // _inner is Optional<State, number>
|
|
470
|
+
* _inner.getResult({ value: Option.some(1) }) // => Result.succeed(1)
|
|
534
471
|
* ```
|
|
535
472
|
*
|
|
536
473
|
* @see {@link id} — start a composition chain
|
|
@@ -546,15 +483,14 @@ export interface Optional<in out S, in out A> {
|
|
|
546
483
|
*
|
|
547
484
|
* **Example** (Incrementing a nested field)
|
|
548
485
|
*
|
|
549
|
-
* ```ts
|
|
486
|
+
* ```ts import.meta.vitest
|
|
550
487
|
* import { Optic } from "effect"
|
|
551
488
|
*
|
|
552
489
|
* type S = { readonly a: { readonly b: number } }
|
|
553
490
|
* const _b = Optic.id<S>().key("a").key("b")
|
|
554
491
|
*
|
|
555
492
|
* const inc = _b.modify((n) => n + 1)
|
|
556
|
-
*
|
|
557
|
-
* // Output: { a: { b: 2 } }
|
|
493
|
+
* inc({ a: { b: 1 } }) // => { a: { b: 2 } }
|
|
558
494
|
* ```
|
|
559
495
|
*/
|
|
560
496
|
modify(f: (a: A) => A): (s: S) => S
|
|
@@ -570,14 +506,13 @@ export interface Optional<in out S, in out A> {
|
|
|
570
506
|
*
|
|
571
507
|
* **Example** (Drilling into nested structs)
|
|
572
508
|
*
|
|
573
|
-
* ```ts
|
|
509
|
+
* ```ts import.meta.vitest
|
|
574
510
|
* import { Optic } from "effect"
|
|
575
511
|
*
|
|
576
512
|
* type S = { readonly a: { readonly b: number } }
|
|
577
513
|
* const _b = Optic.id<S>().key("a").key("b")
|
|
578
514
|
*
|
|
579
|
-
*
|
|
580
|
-
* // Output: 42
|
|
515
|
+
* _b.get({ a: { b: 42 } }) // => 42
|
|
581
516
|
* ```
|
|
582
517
|
*/
|
|
583
518
|
key<S, A extends object, Key extends keyof A>(
|
|
@@ -602,17 +537,15 @@ export interface Optional<in out S, in out A> {
|
|
|
602
537
|
*
|
|
603
538
|
* **Example** (Deleting an optional key)
|
|
604
539
|
*
|
|
605
|
-
* ```ts
|
|
540
|
+
* ```ts import.meta.vitest
|
|
606
541
|
* import { Optic } from "effect"
|
|
607
542
|
*
|
|
608
543
|
* type S = { readonly a?: number }
|
|
609
544
|
* const _a = Optic.id<S>().optionalKey("a")
|
|
610
545
|
*
|
|
611
|
-
*
|
|
612
|
-
* // Output: {}
|
|
546
|
+
* _a.replace(undefined, { a: 1 }) // => {}
|
|
613
547
|
*
|
|
614
|
-
*
|
|
615
|
-
* // Output: { a: 2 }
|
|
548
|
+
* _a.replace(2, {}) // => { a: 2 }
|
|
616
549
|
* ```
|
|
617
550
|
*/
|
|
618
551
|
optionalKey<S, A extends object, Key extends keyof A>(
|
|
@@ -637,16 +570,14 @@ export interface Optional<in out S, in out A> {
|
|
|
637
570
|
*
|
|
638
571
|
* **Example** (Focusing only on positive numbers)
|
|
639
572
|
*
|
|
640
|
-
* ```ts
|
|
573
|
+
* ```ts import.meta.vitest
|
|
641
574
|
* import { Optic, Result, Schema } from "effect"
|
|
642
575
|
*
|
|
643
576
|
* const _pos = Optic.id<number>().check(Schema.isGreaterThan(0))
|
|
644
577
|
*
|
|
645
|
-
*
|
|
646
|
-
* // Output: true
|
|
578
|
+
* _pos.getResult(5) // => Result.succeed(5)
|
|
647
579
|
*
|
|
648
|
-
*
|
|
649
|
-
* // Output: true
|
|
580
|
+
* Result.isFailure(_pos.getResult(-1)) // => true
|
|
650
581
|
* ```
|
|
651
582
|
*
|
|
652
583
|
* @see {@link fromChecks} — standalone prism from checks
|
|
@@ -668,7 +599,7 @@ export interface Optional<in out S, in out A> {
|
|
|
668
599
|
*
|
|
669
600
|
* **Example** (Narrowing a union)
|
|
670
601
|
*
|
|
671
|
-
* ```ts
|
|
602
|
+
* ```ts import.meta.vitest
|
|
672
603
|
* import { Optic, Result } from "effect"
|
|
673
604
|
*
|
|
674
605
|
* type B = { readonly _tag: "b"; readonly b: number }
|
|
@@ -679,8 +610,7 @@ export interface Optional<in out S, in out A> {
|
|
|
679
610
|
* { expected: `"b" tag` }
|
|
680
611
|
* )
|
|
681
612
|
*
|
|
682
|
-
*
|
|
683
|
-
* // Output: true
|
|
613
|
+
* _b.getResult({ _tag: "b", b: 1 }) // => Result.succeed({ _tag: "b", b: 1 })
|
|
684
614
|
* ```
|
|
685
615
|
*
|
|
686
616
|
* @see `.tag()` — shorthand for narrowing by `_tag`
|
|
@@ -708,7 +638,7 @@ export interface Optional<in out S, in out A> {
|
|
|
708
638
|
*
|
|
709
639
|
* **Example** (Focusing a tagged variant)
|
|
710
640
|
*
|
|
711
|
-
* ```ts
|
|
641
|
+
* ```ts import.meta.vitest
|
|
712
642
|
* import { Optic, Result } from "effect"
|
|
713
643
|
*
|
|
714
644
|
* type Shape =
|
|
@@ -717,11 +647,9 @@ export interface Optional<in out S, in out A> {
|
|
|
717
647
|
*
|
|
718
648
|
* const _radius = Optic.id<Shape>().tag("Circle").key("radius")
|
|
719
649
|
*
|
|
720
|
-
*
|
|
721
|
-
* // Output: true
|
|
650
|
+
* _radius.getResult({ _tag: "Circle", radius: 5 }) // => Result.succeed(5)
|
|
722
651
|
*
|
|
723
|
-
*
|
|
724
|
-
* // Output: true
|
|
652
|
+
* Result.isFailure(_radius.getResult({ _tag: "Rect", width: 10 })) // => true
|
|
725
653
|
* ```
|
|
726
654
|
*
|
|
727
655
|
* @see `.refine()` — for arbitrary type guards
|
|
@@ -749,17 +677,15 @@ export interface Optional<in out S, in out A> {
|
|
|
749
677
|
*
|
|
750
678
|
* **Example** (Accessing records safely)
|
|
751
679
|
*
|
|
752
|
-
* ```ts
|
|
680
|
+
* ```ts import.meta.vitest
|
|
753
681
|
* import { Optic, Result } from "effect"
|
|
754
682
|
*
|
|
755
683
|
* type Env = { [key: string]: number }
|
|
756
684
|
* const _x = Optic.id<Env>().at("x")
|
|
757
685
|
*
|
|
758
|
-
*
|
|
759
|
-
* // Output: true
|
|
686
|
+
* _x.getResult({ x: 1 }) // => Result.succeed(1)
|
|
760
687
|
*
|
|
761
|
-
*
|
|
762
|
-
* // Output: true
|
|
688
|
+
* Result.isFailure(_x.getResult({ y: 2 })) // => true
|
|
763
689
|
* ```
|
|
764
690
|
*
|
|
765
691
|
* @see `.key()` — when the key is always present
|
|
@@ -781,15 +707,14 @@ export interface Optional<in out S, in out A> {
|
|
|
781
707
|
*
|
|
782
708
|
* **Example** (Picking keys)
|
|
783
709
|
*
|
|
784
|
-
* ```ts
|
|
710
|
+
* ```ts import.meta.vitest
|
|
785
711
|
* import { Optic } from "effect"
|
|
786
712
|
*
|
|
787
713
|
* type S = { readonly a: string; readonly b: number; readonly c: boolean }
|
|
788
714
|
*
|
|
789
715
|
* const _ac = Optic.id<S>().pick(["a", "c"])
|
|
790
716
|
*
|
|
791
|
-
*
|
|
792
|
-
* // Output: { a: "hi", c: true }
|
|
717
|
+
* _ac.get({ a: "hi", b: 1, c: true }) // => { a: "hi", c: true }
|
|
793
718
|
* ```
|
|
794
719
|
*
|
|
795
720
|
* @see `.omit()` — the inverse operation
|
|
@@ -816,15 +741,14 @@ export interface Optional<in out S, in out A> {
|
|
|
816
741
|
*
|
|
817
742
|
* **Example** (Omitting keys)
|
|
818
743
|
*
|
|
819
|
-
* ```ts
|
|
744
|
+
* ```ts import.meta.vitest
|
|
820
745
|
* import { Optic } from "effect"
|
|
821
746
|
*
|
|
822
747
|
* type S = { readonly a: string; readonly b: number; readonly c: boolean }
|
|
823
748
|
*
|
|
824
749
|
* const _ac = Optic.id<S>().omit(["b"])
|
|
825
750
|
*
|
|
826
|
-
*
|
|
827
|
-
* // Output: { a: "hi", c: true }
|
|
751
|
+
* _ac.get({ a: "hi", b: 1, c: true }) // => { a: "hi", c: true }
|
|
828
752
|
* ```
|
|
829
753
|
*
|
|
830
754
|
* @see `.pick()` — the inverse operation
|
|
@@ -848,22 +772,20 @@ export interface Optional<in out S, in out A> {
|
|
|
848
772
|
*
|
|
849
773
|
* **Example** (Filtering undefined values)
|
|
850
774
|
*
|
|
851
|
-
* ```ts
|
|
775
|
+
* ```ts import.meta.vitest
|
|
852
776
|
* import { Optic, Result } from "effect"
|
|
853
777
|
*
|
|
854
778
|
* const _defined = Optic.id<number | undefined>().notUndefined()
|
|
855
779
|
*
|
|
856
|
-
*
|
|
857
|
-
* // Output: true
|
|
780
|
+
* _defined.getResult(42) // => Result.succeed(42)
|
|
858
781
|
*
|
|
859
|
-
*
|
|
860
|
-
* // Output: true
|
|
782
|
+
* Result.isFailure(_defined.getResult(undefined)) // => true
|
|
861
783
|
* ```
|
|
862
784
|
*
|
|
863
785
|
* @since 4.0.0
|
|
864
786
|
*/
|
|
865
|
-
notUndefined(): Prism<S, Exclude<A, undefined>>
|
|
866
|
-
notUndefined(): Optional<S, Exclude<A, undefined>>
|
|
787
|
+
notUndefined<S, A>(this: Prism<S, A>): Prism<S, Exclude<A, undefined>>
|
|
788
|
+
notUndefined<S, A>(this: Optional<S, A>): Optional<S, Exclude<A, undefined>>
|
|
867
789
|
|
|
868
790
|
/**
|
|
869
791
|
* Focuses **all elements** of an array-like focus and optionally narrows
|
|
@@ -882,7 +804,7 @@ export interface Optional<in out S, in out A> {
|
|
|
882
804
|
*
|
|
883
805
|
* **Example** (Incrementing liked posts)
|
|
884
806
|
*
|
|
885
|
-
* ```ts
|
|
807
|
+
* ```ts import.meta.vitest
|
|
886
808
|
* import { Optic, Schema } from "effect"
|
|
887
809
|
*
|
|
888
810
|
* type Post = { title: string; likes: number }
|
|
@@ -895,12 +817,10 @@ export interface Optional<in out S, in out A> {
|
|
|
895
817
|
*
|
|
896
818
|
* const addLike = _likes.modifyAll((n) => n + 1)
|
|
897
819
|
*
|
|
898
|
-
*
|
|
899
|
-
*
|
|
900
|
-
*
|
|
901
|
-
*
|
|
902
|
-
* )
|
|
903
|
-
* // Output: { user: { posts: [{ title: "a", likes: 0 }, { title: "b", likes: 2 }] } }
|
|
820
|
+
* const result = addLike({
|
|
821
|
+
* user: { posts: [{ title: "a", likes: 0 }, { title: "b", likes: 1 }] }
|
|
822
|
+
* })
|
|
823
|
+
* result.user.posts // => [{ title: "a", likes: 0 }, { title: "b", likes: 2 }]
|
|
904
824
|
* ```
|
|
905
825
|
*
|
|
906
826
|
* @see {@link getAll} — extract all focused elements as an array
|
|
@@ -921,7 +841,7 @@ export interface Optional<in out S, in out A> {
|
|
|
921
841
|
*
|
|
922
842
|
* **Example** (Doubling all focused values)
|
|
923
843
|
*
|
|
924
|
-
* ```ts
|
|
844
|
+
* ```ts import.meta.vitest
|
|
925
845
|
* import { Optic, Schema } from "effect"
|
|
926
846
|
*
|
|
927
847
|
* type S = { readonly items: ReadonlyArray<number> }
|
|
@@ -932,8 +852,7 @@ export interface Optional<in out S, in out A> {
|
|
|
932
852
|
*
|
|
933
853
|
* const doubled = _positive.modifyAll((n) => n * 2)
|
|
934
854
|
*
|
|
935
|
-
*
|
|
936
|
-
* // Output: { items: [2, -2, 6] }
|
|
855
|
+
* doubled({ items: [1, -2, 3] }) // => { items: [2, -2, 6] }
|
|
937
856
|
* ```
|
|
938
857
|
*
|
|
939
858
|
* @see `.forEach()` — create a sub-traversal
|
|
@@ -958,7 +877,7 @@ export interface Optional<in out S, in out A> {
|
|
|
958
877
|
*
|
|
959
878
|
* **Example** (Accessing record keys safely)
|
|
960
879
|
*
|
|
961
|
-
* ```ts
|
|
880
|
+
* ```ts import.meta.vitest
|
|
962
881
|
* import { Optic, Result } from "effect"
|
|
963
882
|
*
|
|
964
883
|
* const atKey = (key: string) =>
|
|
@@ -973,8 +892,7 @@ export interface Optional<in out S, in out A> {
|
|
|
973
892
|
* : Result.fail(`Key "${key}" not found`)
|
|
974
893
|
* )
|
|
975
894
|
*
|
|
976
|
-
*
|
|
977
|
-
* // Output: true
|
|
895
|
+
* atKey("x").getResult({ x: 1 }) // => Result.succeed(1)
|
|
978
896
|
* ```
|
|
979
897
|
*
|
|
980
898
|
* @see {@link Optional} — the type this function returns
|
|
@@ -988,7 +906,7 @@ export function makeOptional<S, A>(
|
|
|
988
906
|
getResult: (s: S) => Result.Result<A, string>,
|
|
989
907
|
set: (a: A, s: S) => Result.Result<S, string>
|
|
990
908
|
): Optional<S, A> {
|
|
991
|
-
return make(
|
|
909
|
+
return make(primitiveNode("Optional", getResult, set))
|
|
992
910
|
}
|
|
993
911
|
|
|
994
912
|
/**
|
|
@@ -1010,7 +928,7 @@ export function makeOptional<S, A>(
|
|
|
1010
928
|
*
|
|
1011
929
|
* **Example** (Traversing array elements with a filter)
|
|
1012
930
|
*
|
|
1013
|
-
* ```ts
|
|
931
|
+
* ```ts import.meta.vitest
|
|
1014
932
|
* import { Optic, Schema } from "effect"
|
|
1015
933
|
*
|
|
1016
934
|
* type S = { readonly items: ReadonlyArray<number> }
|
|
@@ -1021,19 +939,19 @@ export function makeOptional<S, A>(
|
|
|
1021
939
|
*
|
|
1022
940
|
* const getPositive = Optic.getAll(_positive)
|
|
1023
941
|
*
|
|
1024
|
-
*
|
|
1025
|
-
* // Output: [1, 3]
|
|
942
|
+
* getPositive({ items: [1, -2, 3] }) // => [1, 3]
|
|
1026
943
|
* ```
|
|
1027
944
|
*
|
|
1028
945
|
* @see {@link getAll} — extract focused elements
|
|
1029
946
|
* @see {@link Optional} — the base type
|
|
1030
947
|
*
|
|
1031
|
-
* @category
|
|
948
|
+
* @category models
|
|
1032
949
|
* @since 4.0.0
|
|
1033
950
|
*/
|
|
1034
951
|
export interface Traversal<in out S, in out A> extends Optional<S, ReadonlyArray<A>> {}
|
|
1035
952
|
|
|
1036
953
|
class OptionalImpl<S, A> implements Optional<S, A> {
|
|
954
|
+
/** @internal */
|
|
1037
955
|
readonly node: Node
|
|
1038
956
|
readonly getResult: (s: S) => Result.Result<A, string>
|
|
1039
957
|
readonly replaceResult: (a: A, s: S) => Result.Result<S, string>
|
|
@@ -1056,13 +974,14 @@ class OptionalImpl<S, A> implements Optional<S, A> {
|
|
|
1056
974
|
return make(compose(this.node, that.node))
|
|
1057
975
|
}
|
|
1058
976
|
key(key: PropertyKey): any {
|
|
1059
|
-
return make(compose(this.node, new PathNode([key])))
|
|
977
|
+
return make(compose(this.node, [new PathNode([key])]))
|
|
1060
978
|
}
|
|
1061
979
|
optionalKey(key: PropertyKey): any {
|
|
1062
980
|
return make(
|
|
1063
981
|
compose(
|
|
1064
982
|
this.node,
|
|
1065
|
-
|
|
983
|
+
primitiveNode(
|
|
984
|
+
"Lens",
|
|
1066
985
|
(s) => s[key],
|
|
1067
986
|
(a, s) => {
|
|
1068
987
|
const copy = cloneShallow(s)
|
|
@@ -1082,16 +1001,17 @@ class OptionalImpl<S, A> implements Optional<S, A> {
|
|
|
1082
1001
|
)
|
|
1083
1002
|
}
|
|
1084
1003
|
check(...checks: readonly [SchemaAST.Check<any>, ...Array<SchemaAST.Check<any>>]): any {
|
|
1085
|
-
return make(compose(this.node, new CheckNode(checks)))
|
|
1004
|
+
return make(compose(this.node, [new CheckNode(checks)]))
|
|
1086
1005
|
}
|
|
1087
1006
|
refine<B extends A>(refinement: (a: A) => a is B, annotations?: Schema.Annotations.Filter): any {
|
|
1088
|
-
return make(compose(this.node, new CheckNode([SchemaAST.makeFilterByGuard(refinement, annotations)])))
|
|
1007
|
+
return make(compose(this.node, [new CheckNode([SchemaAST.makeFilterByGuard(refinement, annotations)])]))
|
|
1089
1008
|
}
|
|
1090
1009
|
tag(tag: string): any {
|
|
1091
1010
|
return make(
|
|
1092
1011
|
compose(
|
|
1093
1012
|
this.node,
|
|
1094
|
-
|
|
1013
|
+
primitiveNode(
|
|
1014
|
+
"Prism",
|
|
1095
1015
|
(s) =>
|
|
1096
1016
|
s._tag === tag
|
|
1097
1017
|
? Result.succeed(s)
|
|
@@ -1106,7 +1026,8 @@ class OptionalImpl<S, A> implements Optional<S, A> {
|
|
|
1106
1026
|
return make(
|
|
1107
1027
|
compose(
|
|
1108
1028
|
this.node,
|
|
1109
|
-
|
|
1029
|
+
primitiveNode(
|
|
1030
|
+
"Optional",
|
|
1110
1031
|
(s) => Object.hasOwn(s, key) ? Result.succeed(s[key]) : err,
|
|
1111
1032
|
(a, s) => {
|
|
1112
1033
|
if (Object.hasOwn(s, key)) {
|
|
@@ -1127,7 +1048,7 @@ class OptionalImpl<S, A> implements Optional<S, A> {
|
|
|
1127
1048
|
omit(keys: any) {
|
|
1128
1049
|
return this.compose(makeLens(Struct.omit(keys), (o, a) => ({ ...a, ...o })))
|
|
1129
1050
|
}
|
|
1130
|
-
notUndefined():
|
|
1051
|
+
notUndefined(): any {
|
|
1131
1052
|
return this.refine(Predicate.isNotUndefined, { expected: "a value other than `undefined`" })
|
|
1132
1053
|
}
|
|
1133
1054
|
forEach<S, A, B>(this: Traversal<S, A>, f: (iso: Iso<A, A>) => Optional<A, B>): Traversal<S, B> {
|
|
@@ -1225,15 +1146,23 @@ class PrismImpl<S, A> extends OptionalImpl<S, A> implements Prism<S, A> {
|
|
|
1225
1146
|
}
|
|
1226
1147
|
|
|
1227
1148
|
function make(node: Node): any {
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1149
|
+
let op: Operation = node[0] ?? identityOperation
|
|
1150
|
+
if (node.length > 1) {
|
|
1151
|
+
const kind = node.reduce<Kind>((kind, step) => composeKind(kind, step.kind), "Iso")
|
|
1152
|
+
op = {
|
|
1153
|
+
kind,
|
|
1154
|
+
get: compileGet(node, kind),
|
|
1155
|
+
set: compileSet(node, kind)
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1158
|
+
switch (op.kind) {
|
|
1159
|
+
case "Iso":
|
|
1231
1160
|
return new IsoImpl(node, op.get, op.set)
|
|
1232
|
-
case "
|
|
1161
|
+
case "Lens":
|
|
1233
1162
|
return new LensImpl(node, op.get, op.set)
|
|
1234
|
-
case "
|
|
1163
|
+
case "Prism":
|
|
1235
1164
|
return new PrismImpl(node, op.get, op.set)
|
|
1236
|
-
case "
|
|
1165
|
+
case "Optional":
|
|
1237
1166
|
return new OptionalImpl(node, op.get, op.set)
|
|
1238
1167
|
}
|
|
1239
1168
|
}
|
|
@@ -1250,135 +1179,79 @@ function cloneShallow<T>(pojo: T): T {
|
|
|
1250
1179
|
return pojo
|
|
1251
1180
|
}
|
|
1252
1181
|
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1182
|
+
function compileGet(nodes: Node, kind: Kind): (s: any) => any {
|
|
1183
|
+
return (s) => {
|
|
1184
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
1185
|
+
const op = nodes[i]
|
|
1186
|
+
const result = op.get(s)
|
|
1187
|
+
if (hasFailingGet(op.kind)) {
|
|
1188
|
+
if (Result.isFailure(result)) {
|
|
1189
|
+
return result
|
|
1190
|
+
}
|
|
1191
|
+
s = result.success
|
|
1192
|
+
} else {
|
|
1193
|
+
s = result
|
|
1194
|
+
}
|
|
1195
|
+
}
|
|
1196
|
+
return hasFailingGet(kind) ? Result.succeed(s) : s
|
|
1197
|
+
}
|
|
1257
1198
|
}
|
|
1258
1199
|
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
case "LensNode":
|
|
1265
|
-
case "PrismNode":
|
|
1266
|
-
case "OptionalNode":
|
|
1267
|
-
return { _tag: node._tag, get: node.get, set: node.set }
|
|
1268
|
-
case "PathNode": {
|
|
1269
|
-
return {
|
|
1270
|
-
_tag: "LensNode",
|
|
1271
|
-
get: (s: any) => {
|
|
1272
|
-
const path = node.path
|
|
1273
|
-
let out: any = s
|
|
1274
|
-
for (let i = 0, n = path.length; i < n; i++) {
|
|
1275
|
-
out = out[path[i]]
|
|
1276
|
-
}
|
|
1277
|
-
return out
|
|
1278
|
-
},
|
|
1279
|
-
set: (a: any, s: any) => {
|
|
1280
|
-
const path = node.path
|
|
1281
|
-
const out = cloneShallow(s)
|
|
1282
|
-
|
|
1283
|
-
let current = out
|
|
1284
|
-
let i = 0
|
|
1285
|
-
for (; i < path.length - 1; i++) {
|
|
1286
|
-
const key = path[i]
|
|
1287
|
-
InternalRecord.assignProperty(current, key, cloneShallow(current[key]))
|
|
1288
|
-
current = current[key]
|
|
1289
|
-
}
|
|
1290
|
-
|
|
1291
|
-
const finalKey = path[i]
|
|
1292
|
-
InternalRecord.assignProperty(current, finalKey, a)
|
|
1293
|
-
|
|
1294
|
-
return out
|
|
1295
|
-
}
|
|
1200
|
+
function compileSet(nodes: Node, kind: Kind): (a: any, s: any) => any {
|
|
1201
|
+
if (hasSourceFreeSet(kind)) {
|
|
1202
|
+
return (a) => {
|
|
1203
|
+
for (let i = nodes.length - 1; i >= 0; i--) {
|
|
1204
|
+
a = nodes[i].set(a)
|
|
1296
1205
|
}
|
|
1206
|
+
return a
|
|
1297
1207
|
}
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1208
|
+
}
|
|
1209
|
+
return (a, s) => {
|
|
1210
|
+
const len = nodes.length
|
|
1211
|
+
const sources = new Array(len)
|
|
1212
|
+
for (let i = 0; i < len; i++) {
|
|
1213
|
+
sources[i] = s
|
|
1214
|
+
const op = nodes[i]
|
|
1215
|
+
if (hasFailingGet(op.kind)) {
|
|
1216
|
+
const result = op.get(s)
|
|
1217
|
+
if (Result.isFailure(result)) {
|
|
1218
|
+
return result
|
|
1219
|
+
}
|
|
1220
|
+
s = result.success
|
|
1221
|
+
} else {
|
|
1222
|
+
s = op.get(s)
|
|
1303
1223
|
}
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
const
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
return result
|
|
1316
|
-
}
|
|
1317
|
-
s = result.success
|
|
1318
|
-
} else {
|
|
1319
|
-
s = result
|
|
1320
|
-
}
|
|
1321
|
-
}
|
|
1322
|
-
return hasFailingGet(_tag) ? Result.succeed(s) : s
|
|
1323
|
-
},
|
|
1324
|
-
set: (a: any, s: any) => {
|
|
1325
|
-
const source = s
|
|
1326
|
-
const len = ops.length
|
|
1327
|
-
const ss = new Array(len + 1)
|
|
1328
|
-
ss[0] = s
|
|
1329
|
-
for (let i = 0; i < len; i++) {
|
|
1330
|
-
const op = ops[i]
|
|
1331
|
-
if (hasFailingGet(op._tag)) {
|
|
1332
|
-
const result = op.get(s)
|
|
1333
|
-
if (Result.isFailure(result)) {
|
|
1334
|
-
return _tag === "OptionalNode" ? result : source
|
|
1335
|
-
}
|
|
1336
|
-
s = result.success
|
|
1337
|
-
} else {
|
|
1338
|
-
s = op.get(s)
|
|
1339
|
-
}
|
|
1340
|
-
ss[i + 1] = s
|
|
1341
|
-
}
|
|
1342
|
-
for (let i = len - 1; i >= 0; i--) {
|
|
1343
|
-
const op = ops[i]
|
|
1344
|
-
if (hasSet(op._tag)) {
|
|
1345
|
-
a = op.set(a)
|
|
1346
|
-
} else if (op._tag === "LensNode") {
|
|
1347
|
-
a = op.set(a, ss[i])
|
|
1348
|
-
} else {
|
|
1349
|
-
const result = op.set(a, ss[i])
|
|
1350
|
-
if (Result.isFailure(result)) {
|
|
1351
|
-
return result
|
|
1352
|
-
}
|
|
1353
|
-
a = result.success
|
|
1354
|
-
}
|
|
1355
|
-
}
|
|
1356
|
-
return _tag === "OptionalNode" ? Result.succeed(a) : a
|
|
1224
|
+
}
|
|
1225
|
+
for (let i = len - 1; i >= 0; i--) {
|
|
1226
|
+
const op = nodes[i]
|
|
1227
|
+
if (hasSourceFreeSet(op.kind)) {
|
|
1228
|
+
a = op.set(a)
|
|
1229
|
+
} else if (op.kind === "Lens") {
|
|
1230
|
+
a = op.set(a, sources[i])
|
|
1231
|
+
} else {
|
|
1232
|
+
const result = op.set(a, sources[i])
|
|
1233
|
+
if (Result.isFailure(result)) {
|
|
1234
|
+
return result
|
|
1357
1235
|
}
|
|
1236
|
+
a = result.success
|
|
1358
1237
|
}
|
|
1359
1238
|
}
|
|
1239
|
+
return kind === "Optional" ? Result.succeed(a) : a
|
|
1360
1240
|
}
|
|
1361
|
-
}
|
|
1241
|
+
}
|
|
1362
1242
|
|
|
1363
|
-
function hasFailingGet(
|
|
1364
|
-
return
|
|
1243
|
+
function hasFailingGet(kind: Kind): boolean {
|
|
1244
|
+
return kind === "Prism" || kind === "Optional"
|
|
1365
1245
|
}
|
|
1366
1246
|
|
|
1367
|
-
function
|
|
1368
|
-
return
|
|
1247
|
+
function hasSourceFreeSet(kind: Kind): boolean {
|
|
1248
|
+
return kind === "Iso" || kind === "Prism"
|
|
1369
1249
|
}
|
|
1370
1250
|
|
|
1371
|
-
function
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
case "LensNode":
|
|
1376
|
-
return hasFailingGet(b) ? "OptionalNode" : "LensNode"
|
|
1377
|
-
case "PrismNode":
|
|
1378
|
-
return hasSet(b) ? "PrismNode" : "OptionalNode"
|
|
1379
|
-
case "OptionalNode":
|
|
1380
|
-
return "OptionalNode"
|
|
1381
|
-
}
|
|
1251
|
+
function composeKind(a: Kind, b: Kind): Kind {
|
|
1252
|
+
if (a === "Iso") return b
|
|
1253
|
+
if (b === "Iso" || a === b) return a
|
|
1254
|
+
return "Optional"
|
|
1382
1255
|
}
|
|
1383
1256
|
// ---------------------------------------------
|
|
1384
1257
|
// Derived APIs
|
|
@@ -1400,7 +1273,7 @@ function getCompositionTag(a: Op["_tag"], b: Op["_tag"]): Op["_tag"] {
|
|
|
1400
1273
|
*
|
|
1401
1274
|
* **Example** (Collecting positive numbers)
|
|
1402
1275
|
*
|
|
1403
|
-
* ```ts
|
|
1276
|
+
* ```ts import.meta.vitest
|
|
1404
1277
|
* import { Optic, Schema } from "effect"
|
|
1405
1278
|
*
|
|
1406
1279
|
* type S = { readonly values: ReadonlyArray<number> }
|
|
@@ -1411,16 +1284,14 @@ function getCompositionTag(a: Op["_tag"], b: Op["_tag"]): Op["_tag"] {
|
|
|
1411
1284
|
*
|
|
1412
1285
|
* const getPositive = Optic.getAll(_pos)
|
|
1413
1286
|
*
|
|
1414
|
-
*
|
|
1415
|
-
* // Output: [3, 5]
|
|
1287
|
+
* getPositive({ values: [3, -1, 5] }) // => [3, 5]
|
|
1416
1288
|
*
|
|
1417
|
-
*
|
|
1418
|
-
* // Output: []
|
|
1289
|
+
* getPositive({ values: [-1, -2] }) // => []
|
|
1419
1290
|
* ```
|
|
1420
1291
|
*
|
|
1421
1292
|
* @see {@link Traversal} — the optic type this operates on
|
|
1422
1293
|
*
|
|
1423
|
-
* @category
|
|
1294
|
+
* @category getters
|
|
1424
1295
|
* @since 4.0.0
|
|
1425
1296
|
*/
|
|
1426
1297
|
export function getAll<S, A>(traversal: Traversal<S, A>): (s: S) => Array<A> {
|
|
@@ -1435,7 +1306,7 @@ export function getAll<S, A>(traversal: Traversal<S, A>): (s: S) => Array<A> {
|
|
|
1435
1306
|
// Built-in Optics
|
|
1436
1307
|
// ---------------------------------------------
|
|
1437
1308
|
|
|
1438
|
-
const identityIso = make(
|
|
1309
|
+
const identityIso = make([])
|
|
1439
1310
|
|
|
1440
1311
|
/**
|
|
1441
1312
|
* Iso that focuses on the whole value unchanged.
|
|
@@ -1452,20 +1323,19 @@ const identityIso = make(identityNode)
|
|
|
1452
1323
|
*
|
|
1453
1324
|
* **Example** (Starting an optic chain)
|
|
1454
1325
|
*
|
|
1455
|
-
* ```ts
|
|
1326
|
+
* ```ts import.meta.vitest
|
|
1456
1327
|
* import { Optic } from "effect"
|
|
1457
1328
|
*
|
|
1458
1329
|
* type S = { readonly x: number }
|
|
1459
1330
|
*
|
|
1460
1331
|
* const _x = Optic.id<S>().key("x")
|
|
1461
1332
|
*
|
|
1462
|
-
*
|
|
1463
|
-
* // Output: 42
|
|
1333
|
+
* _x.get({ x: 42 }) // => 42
|
|
1464
1334
|
* ```
|
|
1465
1335
|
*
|
|
1466
1336
|
* @see {@link Iso} — the type this function returns
|
|
1467
1337
|
*
|
|
1468
|
-
* @category
|
|
1338
|
+
* @category constructors
|
|
1469
1339
|
* @since 4.0.0
|
|
1470
1340
|
*/
|
|
1471
1341
|
export function id<S>(): Iso<S, S> {
|
|
@@ -1489,7 +1359,7 @@ export function id<S>(): Iso<S, S> {
|
|
|
1489
1359
|
*
|
|
1490
1360
|
* **Example** (Traversing record values)
|
|
1491
1361
|
*
|
|
1492
|
-
* ```ts
|
|
1362
|
+
* ```ts import.meta.vitest
|
|
1493
1363
|
* import { Optic, Schema } from "effect"
|
|
1494
1364
|
*
|
|
1495
1365
|
* const _positiveValues = Optic.entries<number>()
|
|
@@ -1497,18 +1367,17 @@ export function id<S>(): Iso<S, S> {
|
|
|
1497
1367
|
*
|
|
1498
1368
|
* const inc = _positiveValues.modifyAll((n) => n + 1)
|
|
1499
1369
|
*
|
|
1500
|
-
*
|
|
1501
|
-
* // Output: { a: 0, b: 4, c: -1 }
|
|
1370
|
+
* inc({ a: 0, b: 3, c: -1 }) // => { a: 0, b: 4, c: -1 }
|
|
1502
1371
|
* ```
|
|
1503
1372
|
*
|
|
1504
1373
|
* @see {@link Iso} — the type this function returns
|
|
1505
1374
|
* @see {@link id} — identity iso
|
|
1506
1375
|
*
|
|
1507
|
-
* @category
|
|
1376
|
+
* @category constructors
|
|
1508
1377
|
* @since 4.0.0
|
|
1509
1378
|
*/
|
|
1510
1379
|
export function entries<A>(): Iso<Record<string, A>, ReadonlyArray<readonly [string, A]>> {
|
|
1511
|
-
return make(
|
|
1380
|
+
return make(primitiveNode("Iso", Object.entries, Object.fromEntries))
|
|
1512
1381
|
}
|
|
1513
1382
|
|
|
1514
1383
|
/**
|
|
@@ -1526,25 +1395,22 @@ export function entries<A>(): Iso<Record<string, A>, ReadonlyArray<readonly [str
|
|
|
1526
1395
|
*
|
|
1527
1396
|
* **Example** (Accessing Some value)
|
|
1528
1397
|
*
|
|
1529
|
-
* ```ts
|
|
1398
|
+
* ```ts import.meta.vitest
|
|
1530
1399
|
* import { Optic, Option, Result } from "effect"
|
|
1531
1400
|
*
|
|
1532
1401
|
* const _some = Optic.id<Option.Option<number>>().compose(Optic.some())
|
|
1533
1402
|
*
|
|
1534
|
-
*
|
|
1535
|
-
* // Output: true
|
|
1403
|
+
* _some.getResult(Option.some(42)) // => Result.succeed(42)
|
|
1536
1404
|
*
|
|
1537
|
-
*
|
|
1538
|
-
* // Output: true
|
|
1405
|
+
* Result.isFailure(_some.getResult(Option.none())) // => true
|
|
1539
1406
|
*
|
|
1540
|
-
*
|
|
1541
|
-
* // Output: { _tag: "Some", value: 10 }
|
|
1407
|
+
* _some.set(10) // => Option.some(10)
|
|
1542
1408
|
* ```
|
|
1543
1409
|
*
|
|
1544
1410
|
* @see {@link none} — focuses on `None` instead
|
|
1545
1411
|
* @see {@link Prism} — the type this function returns
|
|
1546
1412
|
*
|
|
1547
|
-
* @category
|
|
1413
|
+
* @category constructors
|
|
1548
1414
|
* @since 4.0.0
|
|
1549
1415
|
*/
|
|
1550
1416
|
export function some<A>(): Prism<Option.Option<A>, A> {
|
|
@@ -1574,22 +1440,20 @@ export function some<A>(): Prism<Option.Option<A>, A> {
|
|
|
1574
1440
|
*
|
|
1575
1441
|
* **Example** (Matching None)
|
|
1576
1442
|
*
|
|
1577
|
-
* ```ts
|
|
1443
|
+
* ```ts import.meta.vitest
|
|
1578
1444
|
* import { Optic, Option, Result } from "effect"
|
|
1579
1445
|
*
|
|
1580
1446
|
* const _none = Optic.id<Option.Option<number>>().compose(Optic.none())
|
|
1581
1447
|
*
|
|
1582
|
-
*
|
|
1583
|
-
* // Output: true
|
|
1448
|
+
* _none.getResult(Option.none()) // => Result.succeed(undefined)
|
|
1584
1449
|
*
|
|
1585
|
-
*
|
|
1586
|
-
* // Output: true
|
|
1450
|
+
* Result.isFailure(_none.getResult(Option.some(1))) // => true
|
|
1587
1451
|
* ```
|
|
1588
1452
|
*
|
|
1589
1453
|
* @see {@link some} — focuses on `Some` instead
|
|
1590
1454
|
* @see {@link Prism} — the type this function returns
|
|
1591
1455
|
*
|
|
1592
|
-
* @category
|
|
1456
|
+
* @category constructors
|
|
1593
1457
|
* @since 4.0.0
|
|
1594
1458
|
*/
|
|
1595
1459
|
export function none<A>(): Prism<Option.Option<A>, undefined> {
|
|
@@ -1619,22 +1483,20 @@ export function none<A>(): Prism<Option.Option<A>, undefined> {
|
|
|
1619
1483
|
*
|
|
1620
1484
|
* **Example** (Accessing success)
|
|
1621
1485
|
*
|
|
1622
|
-
* ```ts
|
|
1486
|
+
* ```ts import.meta.vitest
|
|
1623
1487
|
* import { Optic, Result } from "effect"
|
|
1624
1488
|
*
|
|
1625
1489
|
* const _ok = Optic.id<Result.Result<number, string>>().compose(Optic.success())
|
|
1626
1490
|
*
|
|
1627
|
-
*
|
|
1628
|
-
* // Output: true
|
|
1491
|
+
* _ok.getResult(Result.succeed(42)) // => Result.succeed(42)
|
|
1629
1492
|
*
|
|
1630
|
-
*
|
|
1631
|
-
* // Output: true
|
|
1493
|
+
* Result.isFailure(_ok.getResult(Result.fail("err"))) // => true
|
|
1632
1494
|
* ```
|
|
1633
1495
|
*
|
|
1634
1496
|
* @see {@link failure} — focuses on the failure side
|
|
1635
1497
|
* @see {@link Prism} — the type this function returns
|
|
1636
1498
|
*
|
|
1637
|
-
* @category
|
|
1499
|
+
* @category constructors
|
|
1638
1500
|
* @since 4.0.0
|
|
1639
1501
|
*/
|
|
1640
1502
|
export function success<A, E>(): Prism<Result.Result<A, E>, A> {
|
|
@@ -1664,22 +1526,20 @@ export function success<A, E>(): Prism<Result.Result<A, E>, A> {
|
|
|
1664
1526
|
*
|
|
1665
1527
|
* **Example** (Accessing failure)
|
|
1666
1528
|
*
|
|
1667
|
-
* ```ts
|
|
1529
|
+
* ```ts import.meta.vitest
|
|
1668
1530
|
* import { Optic, Result } from "effect"
|
|
1669
1531
|
*
|
|
1670
1532
|
* const _err = Optic.id<Result.Result<number, string>>().compose(Optic.failure())
|
|
1671
1533
|
*
|
|
1672
|
-
*
|
|
1673
|
-
* // Output: true
|
|
1534
|
+
* _err.getResult(Result.fail("oops")) // => Result.succeed("oops")
|
|
1674
1535
|
*
|
|
1675
|
-
*
|
|
1676
|
-
* // Output: true
|
|
1536
|
+
* Result.isFailure(_err.getResult(Result.succeed(42))) // => true
|
|
1677
1537
|
* ```
|
|
1678
1538
|
*
|
|
1679
1539
|
* @see {@link success} — focuses on the success side
|
|
1680
1540
|
* @see {@link Prism} — the type this function returns
|
|
1681
1541
|
*
|
|
1682
|
-
* @category
|
|
1542
|
+
* @category constructors
|
|
1683
1543
|
* @since 4.0.0
|
|
1684
1544
|
*/
|
|
1685
1545
|
export function failure<A, E>(): Prism<Result.Result<A, E>, E> {
|