effect 4.0.0-beta.6 → 4.0.0-beta.62
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 +213 -385
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +149 -102
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +82 -45
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +105 -52
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +39 -32
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +36 -33
- package/dist/BigInt.js.map +1 -1
- package/dist/Brand.d.ts +3 -5
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +1 -1
- package/dist/Brand.js.map +1 -1
- package/dist/Cache.d.ts +14 -45
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +21 -47
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +53 -22
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +108 -10
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +166 -48
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +176 -87
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +112 -304
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +56 -88
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +2 -2
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +280 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +198 -7
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +189 -29
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +85 -35
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +6 -6
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +5 -5
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +2 -2
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +1150 -0
- package/dist/Context.d.ts.map +1 -0
- package/dist/{ServiceMap.js → Context.js} +181 -165
- package/dist/Context.js.map +1 -0
- package/dist/Cron.d.ts +11 -7
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +120 -63
- package/dist/Cron.js.map +1 -1
- package/dist/Data.d.ts +533 -365
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +125 -73
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +74 -255
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +17 -62
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +12 -5
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +13 -5
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +74 -40
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +126 -87
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +1435 -927
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +516 -328
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.d.ts +29 -0
- package/dist/Effectable.d.ts.map +1 -0
- package/dist/Effectable.js +31 -0
- package/dist/Effectable.js.map +1 -0
- package/dist/Encoding.d.ts +1 -1
- package/dist/Equal.d.ts +276 -109
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +140 -48
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +60 -3
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +70 -13
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +374 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +245 -0
- package/dist/ErrorReporter.js.map +1 -0
- package/dist/ExecutionPlan.d.ts +6 -6
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +4 -4
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +24 -12
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +8 -4
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +10 -8
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +11 -10
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +12 -11
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +22 -21
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +10 -10
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +2 -2
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +4 -4
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +20 -19
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +15 -11
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +4 -37
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +0 -13
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +243 -55
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +1 -9
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +2 -10
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +65 -65
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +58 -60
- package/dist/Graph.js.map +1 -1
- package/dist/Hash.js +1 -1
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +26 -19
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +7 -5
- package/dist/HashMap.js.map +1 -1
- package/dist/Inspectable.d.ts +0 -4
- package/dist/Inspectable.d.ts.map +1 -1
- package/dist/Inspectable.js +4 -13
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +50 -50
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +106 -34
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonSchema.d.ts +299 -10
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +323 -4
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +69 -3
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +58 -0
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +599 -379
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +249 -180
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +27 -26
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +21 -18
- package/dist/LayerMap.js.map +1 -1
- package/dist/LogLevel.d.ts +32 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +31 -97
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +2 -3
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +8 -8
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +34 -25
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Metric.d.ts +23 -25
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +24 -26
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +7 -0
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +8 -0
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +7 -0
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +8 -0
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +3 -0
- package/dist/MutableList.js.map +1 -1
- package/dist/Newtype.d.ts +291 -0
- package/dist/Newtype.d.ts.map +1 -0
- package/dist/Newtype.js +161 -0
- package/dist/Newtype.js.map +1 -0
- package/dist/Number.d.ts +74 -18
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +46 -18
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +947 -18
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +454 -5
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +25 -16
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +15 -9
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +6 -1
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +19 -14
- package/dist/Order.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +183 -0
- package/dist/PartitionedSemaphore.d.ts.map +1 -0
- package/dist/PartitionedSemaphore.js +231 -0
- package/dist/PartitionedSemaphore.js.map +1 -0
- package/dist/Path.d.ts +2 -2
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +2 -2
- package/dist/Path.js.map +1 -1
- package/dist/PlatformError.d.ts +2 -2
- package/dist/Pool.d.ts +1 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +5 -5
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +1 -1
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/PubSub.d.ts +5 -4
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +15 -8
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +1 -1
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +9 -6
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +7 -5
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +36 -2
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +46 -35
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +4 -4
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +13 -13
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/Record.d.ts +63 -160
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +37 -56
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +139 -62
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +59 -55
- package/dist/Redactable.js.map +1 -1
- package/dist/Reducer.d.ts +166 -7
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +135 -1
- package/dist/Reducer.js.map +1 -1
- package/dist/References.d.ts +257 -229
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +240 -259
- package/dist/References.js.map +1 -1
- package/dist/Request.d.ts +5 -5
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +25 -25
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +15 -16
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.d.ts +0 -3
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +5 -4
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +1 -1
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +1 -2
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +66 -0
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +79 -6
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +174 -291
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +132 -120
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +36 -125
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +37 -126
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +3213 -392
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +2058 -252
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +13 -2
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +340 -257
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +55 -13
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +73 -11
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +29 -11
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +44 -54
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +69 -4
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +2 -2
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +63 -39
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +245 -3
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +297 -33
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +2 -2
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +5 -5
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +148 -52
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +135 -117
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +22 -19
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +54 -7
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +18 -6
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +20 -2
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +465 -542
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +329 -145
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +114 -47
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +29 -47
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +7 -7
- package/dist/Struct.d.ts.map +1 -1
- package/dist/SubscriptionRef.d.ts +1 -2
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +83 -116
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Terminal.d.ts +5 -4
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +2 -2
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +21 -20
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +13 -9
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +44 -31
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +13 -9
- package/dist/Trie.js.map +1 -1
- package/dist/TxChunk.d.ts +4 -4
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +4 -4
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +328 -0
- package/dist/TxDeferred.d.ts.map +1 -0
- package/dist/TxDeferred.js +197 -0
- package/dist/TxDeferred.js.map +1 -0
- package/dist/TxHashMap.d.ts +105 -86
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +51 -44
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +2 -2
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +16 -15
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +609 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -0
- package/dist/TxPriorityQueue.js +416 -0
- package/dist/TxPriorityQueue.js.map +1 -0
- package/dist/TxPubSub.d.ts +585 -0
- package/dist/TxPubSub.d.ts.map +1 -0
- package/dist/TxPubSub.js +521 -0
- package/dist/TxPubSub.js.map +1 -0
- package/dist/TxQueue.d.ts +1 -1
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +42 -57
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +500 -0
- package/dist/TxReentrantLock.d.ts.map +1 -0
- package/dist/TxReentrantLock.js +481 -0
- package/dist/TxReentrantLock.js.map +1 -0
- package/dist/TxRef.d.ts +14 -20
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +8 -10
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +162 -2
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +25 -10
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +508 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -0
- package/dist/TxSubscriptionRef.js +293 -0
- package/dist/TxSubscriptionRef.js.map +1 -0
- package/dist/Types.d.ts +80 -22
- package/dist/Types.d.ts.map +1 -1
- package/dist/Unify.d.ts +8 -2
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +137 -65
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +38 -66
- package/dist/Utils.js.map +1 -1
- package/dist/index.d.ts +886 -71
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +886 -71
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +77 -71
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +502 -326
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +7 -5
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/layer.js +3 -3
- package/dist/internal/layer.js.map +1 -1
- package/dist/internal/option.js +6 -0
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +9 -9
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/references.d.ts +2 -0
- package/dist/internal/references.d.ts.map +1 -0
- package/dist/internal/references.js +51 -0
- package/dist/internal/references.js.map +1 -0
- package/dist/internal/request.js +6 -6
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schedule.js +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/representation.js +87 -109
- package/dist/internal/schema/representation.js.map +1 -1
- package/dist/internal/schema/schema.d.ts +10 -1
- package/dist/internal/schema/schema.d.ts.map +1 -1
- package/dist/internal/schema/schema.js +59 -1
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/trie.js +8 -7
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/TestClock.d.ts +5 -5
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +2 -2
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +267 -33
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +296 -23
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.d.ts +64 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +64 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +127 -45
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +29 -23
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +9 -2
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +39 -11
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +40 -47
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +130 -0
- package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -0
- package/dist/unstable/ai/EmbeddingModel.js +127 -0
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -0
- package/dist/unstable/ai/IdGenerator.d.ts +2 -2
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +2 -2
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +119 -49
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +260 -61
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +207 -112
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +71 -19
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +68 -15
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +225 -73
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +27 -9
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +25 -9
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +9 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +17 -17
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +6 -9
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +24 -24
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +7 -8
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.d.ts +38 -0
- package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -0
- package/dist/unstable/ai/ResponseIdTracker.js +68 -0
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -0
- package/dist/unstable/ai/Telemetry.d.ts +35 -2
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +2 -2
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +2 -2
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +2 -2
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +46 -16
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +68 -22
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +4 -4
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +14 -21
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +22 -1
- package/dist/unstable/ai/index.d.ts.map +1 -1
- package/dist/unstable/ai/index.js +22 -1
- package/dist/unstable/ai/index.js.map +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js +5 -7
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +4 -7
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +1 -3
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +51 -63
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +32 -57
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +5 -4
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +67 -12
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +372 -59
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +328 -66
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.d.ts +97 -0
- package/dist/unstable/cli/Completions.d.ts.map +1 -0
- package/dist/unstable/cli/Completions.js +25 -0
- package/dist/unstable/cli/Completions.js.map +1 -0
- package/dist/unstable/cli/Flag.d.ts +4 -5
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +1 -1
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
- package/dist/unstable/cli/GlobalFlag.js +118 -0
- package/dist/unstable/cli/GlobalFlag.js.map +1 -0
- package/dist/unstable/cli/HelpDoc.d.ts +81 -11
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +34 -6
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +24 -14
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +2 -2
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +1 -1
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.js +266 -86
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.d.ts +10 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +10 -0
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +41 -15
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +84 -47
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
- package/dist/unstable/cli/internal/completions/descriptor.d.ts +2 -0
- package/dist/unstable/cli/internal/completions/descriptor.d.ts.map +1 -0
- package/dist/unstable/cli/internal/completions/{CommandDescriptor.js → descriptor.js} +17 -5
- package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -0
- 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 +42 -0
- package/dist/unstable/cli/internal/config.js.map +1 -1
- package/dist/unstable/cli/internal/help.d.ts +33 -0
- package/dist/unstable/cli/internal/help.d.ts.map +1 -0
- package/dist/unstable/cli/internal/help.js +125 -0
- package/dist/unstable/cli/internal/help.js.map +1 -0
- package/dist/unstable/cli/internal/parser.js +155 -58
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.d.ts +7 -7
- package/dist/unstable/cluster/ClusterSchema.d.ts +28 -7
- package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.js +28 -8
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +4 -2
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +96 -63
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js +1 -1
- package/dist/unstable/cluster/DeliverAt.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +17 -16
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +31 -25
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.d.ts +2 -2
- package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityAddress.js +1 -1
- package/dist/unstable/cluster/EntityAddress.js.map +1 -1
- package/dist/unstable/cluster/EntityProxy.js +3 -3
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js +6 -6
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +4 -4
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityResource.js +2 -2
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +3 -3
- package/dist/unstable/cluster/HttpRunner.js +2 -2
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +5 -5
- package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +7 -7
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +16 -10
- package/dist/unstable/cluster/Message.d.ts.map +1 -1
- package/dist/unstable/cluster/Message.js +16 -8
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +46 -23
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +40 -25
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +7 -6
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +8 -7
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runner.d.ts.map +1 -1
- package/dist/unstable/cluster/Runner.js +1 -1
- package/dist/unstable/cluster/Runner.js.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.js +1 -1
- package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +2 -2
- package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +2 -2
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +10 -9
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +12 -12
- package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.js +3 -3
- package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +5 -4
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +16 -14
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.d.ts +35 -49
- package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardId.js +65 -67
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +4 -4
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +59 -49
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +28 -27
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +27 -27
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts +2 -2
- package/dist/unstable/cluster/Snowflake.d.ts +2 -2
- package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
- package/dist/unstable/cluster/Snowflake.js +2 -2
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +24 -20
- 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 +7 -7
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +30 -24
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -2
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceMap.js +3 -3
- package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts +2 -2
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +9 -8
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +4 -4
- package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js +9 -2
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/encoding/Msgpack.d.ts +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +9 -9
- package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +3 -3
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts +0 -6
- package/dist/unstable/eventlog/Event.d.ts.map +1 -1
- package/dist/unstable/eventlog/Event.js +0 -5
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts +0 -2
- package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventGroup.js +0 -2
- package/dist/unstable/eventlog/EventGroup.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +27 -10
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +130 -71
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +94 -37
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +225 -151
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +11 -9
- package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +15 -17
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +228 -0
- package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -0
- package/dist/unstable/eventlog/EventLogMessage.js +214 -0
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -0
- package/dist/unstable/eventlog/EventLogRemote.d.ts +112 -194
- package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js +168 -322
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +26 -48
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +128 -199
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +60 -0
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -0
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +166 -0
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -0
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +183 -0
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -0
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +461 -0
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -0
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +117 -0
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -0
- package/dist/unstable/eventlog/EventLogSessionAuth.js +284 -0
- package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -0
- package/dist/unstable/eventlog/{SqlEventLogJournal.d.ts → SqlEventJournal.d.ts} +2 -2
- package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -0
- package/dist/unstable/eventlog/{SqlEventLogJournal.js → SqlEventJournal.js} +28 -21
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -0
- package/dist/unstable/eventlog/{SqlEventLogServer.d.ts → SqlEventLogServerEncrypted.d.ts} +5 -5
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -0
- package/dist/unstable/eventlog/{SqlEventLogServer.js → SqlEventLogServerEncrypted.js} +69 -27
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -0
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +25 -0
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -0
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +355 -0
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -0
- package/dist/unstable/eventlog/index.d.ts +22 -2
- package/dist/unstable/eventlog/index.d.ts.map +1 -1
- package/dist/unstable/eventlog/index.js +22 -2
- package/dist/unstable/eventlog/index.js.map +1 -1
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts +2 -0
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts.map +1 -0
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js +89 -0
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -0
- package/dist/unstable/http/Cookies.d.ts +51 -6
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +27 -6
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +2 -2
- package/dist/unstable/http/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Etag.js +7 -3
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts +6 -3
- package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js +5 -5
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +24 -4
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +42 -13
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +1 -1
- package/dist/unstable/http/HttpClient.d.ts +125 -21
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +197 -19
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +8 -8
- package/dist/unstable/http/HttpClientRequest.d.ts +43 -15
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +131 -21
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +2 -1
- package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientResponse.js +18 -3
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +13 -11
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +51 -51
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts +5 -4
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js +6 -10
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +4 -4
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +3 -3
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +4 -9
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +47 -43
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +2 -2
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +5 -4
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +9 -8
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +36 -36
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +2 -2
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.js +4 -4
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +22 -34
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +39 -45
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +19 -7
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +307 -13
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
- package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +5 -5
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +52 -5
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +240 -5
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
- package/dist/unstable/http/HttpStaticServer.js +353 -0
- package/dist/unstable/http/HttpStaticServer.js.map +1 -0
- package/dist/unstable/http/HttpTraceContext.d.ts +3 -2
- package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
- package/dist/unstable/http/HttpTraceContext.js +27 -15
- 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 +7 -7
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/Url.d.ts +604 -0
- package/dist/unstable/http/Url.d.ts.map +1 -0
- package/dist/unstable/http/Url.js +256 -0
- package/dist/unstable/http/Url.js.map +1 -0
- package/dist/unstable/http/UrlParams.d.ts +18 -9
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +6 -7
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.d.ts +8 -0
- package/dist/unstable/http/index.d.ts.map +1 -1
- package/dist/unstable/http/index.js +8 -0
- package/dist/unstable/http/index.js.map +1 -1
- package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
- package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js +10 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
- package/dist/unstable/httpapi/HttpApi.d.ts +11 -11
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +8 -8
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +12 -9
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +73 -48
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +82 -7
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +79 -11
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +210 -105
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +52 -47
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +66 -29
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +138 -32
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +9 -8
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js +4 -4
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +49 -17
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +38 -8
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +88 -9
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +86 -11
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +9 -6
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js +6 -6
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +17 -25
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +59 -60
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +8 -8
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +7 -4
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +2 -2
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.d.ts +2 -2
- package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.js +2 -2
- package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js +7 -3
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +3 -3
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +4 -33
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/observability/internal/protobuf.js +4 -4
- package/dist/unstable/observability/internal/protobuf.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +24 -3
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +144 -2
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistable.js +1 -1
- package/dist/unstable/persistence/Persistable.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +1 -2
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +10 -11
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +16 -16
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +9 -9
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +5 -5
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +5 -5
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +9 -9
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +4 -4
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +3 -3
- package/dist/unstable/persistence/Redis.d.ts.map +1 -1
- package/dist/unstable/persistence/Redis.js +2 -2
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +5 -128
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +1 -65
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +83 -8
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +22 -2
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.d.ts +37 -17
- package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.js +9 -0
- package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +108 -47
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +105 -25
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +25 -20
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +58 -26
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +8 -2
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +57 -14
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +12 -12
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +59 -31
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.d.ts +2 -2
- package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js +6 -6
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +137 -19
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +99 -7
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +26 -47
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +117 -75
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.d.ts +2 -2
- package/dist/unstable/rpc/RpcGroup.d.ts +15 -11
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js +30 -20
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +12 -12
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js +5 -5
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +14 -1
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +17 -2
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +13 -2
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +60 -27
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +8 -12
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +73 -43
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts +2 -2
- package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcWorker.js +4 -4
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts +6 -3
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +46 -5
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +24 -3
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +17 -4
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +7 -7
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +7 -18
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +35 -15
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +34 -27
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +8 -5
- package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
- package/dist/unstable/socket/SocketServer.js +2 -2
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/sql/Migrator.d.ts +1 -1
- package/dist/unstable/sql/Migrator.d.ts.map +1 -1
- package/dist/unstable/sql/Migrator.js +2 -2
- package/dist/unstable/sql/Migrator.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +24 -6
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +37 -32
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.d.ts +2 -2
- package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
- package/dist/unstable/sql/SqlConnection.js +5 -2
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +237 -17
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js +260 -4
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +8 -9
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +12 -38
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.js +24 -17
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +17 -6
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +17 -7
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +3 -5
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +14 -13
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +4 -4
- package/dist/unstable/workers/Transferable.d.ts.map +1 -1
- package/dist/unstable/workers/Transferable.js +7 -7
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +3 -3
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +6 -3
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +5 -5
- package/dist/unstable/workers/WorkerRunner.d.ts +2 -2
- package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
- package/dist/unstable/workers/WorkerRunner.js +5 -2
- package/dist/unstable/workers/WorkerRunner.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +8 -3
- package/dist/unstable/workflow/Activity.d.ts.map +1 -1
- package/dist/unstable/workflow/Activity.js +25 -11
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -6
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +6 -6
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +2 -5
- package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +33 -15
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +12 -14
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +30 -26
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +24 -7
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +165 -16
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js +4 -4
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/package.json +11 -10
- package/src/Array.ts +304 -447
- package/src/BigDecimal.ts +137 -82
- package/src/BigInt.ts +53 -45
- package/src/Brand.ts +3 -5
- package/src/Cache.ts +27 -54
- package/src/Cause.ts +57 -22
- package/src/Channel.ts +687 -220
- package/src/Chunk.ts +149 -331
- package/src/Clock.ts +2 -2
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +214 -52
- package/src/ConfigProvider.ts +5 -5
- package/src/Console.ts +2 -2
- package/src/Context.ts +1454 -0
- package/src/Cron.ts +155 -63
- package/src/Data.ts +530 -368
- package/src/DateTime.ts +77 -258
- package/src/Deferred.ts +15 -6
- package/src/Duration.ts +151 -81
- package/src/Effect.ts +1633 -1055
- package/src/Effectable.ts +47 -0
- package/src/Equal.ts +293 -109
- package/src/Equivalence.ts +114 -52
- package/src/ErrorReporter.ts +458 -0
- package/src/ExecutionPlan.ts +8 -9
- package/src/Exit.ts +24 -12
- package/src/Fiber.ts +17 -8
- package/src/FiberHandle.ts +15 -14
- package/src/FiberMap.ts +27 -27
- package/src/FiberSet.ts +5 -5
- package/src/FileSystem.ts +30 -26
- package/src/Filter.ts +4 -62
- package/src/Formatter.ts +268 -60
- package/src/Function.ts +2 -10
- package/src/Graph.ts +123 -112
- package/src/Hash.ts +2 -2
- package/src/HashMap.ts +26 -19
- package/src/Inspectable.ts +2 -22
- package/src/Iterable.ts +117 -63
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +85 -3
- package/src/Layer.ts +728 -441
- package/src/LayerMap.ts +38 -35
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +35 -102
- package/src/ManagedRuntime.ts +61 -48
- package/src/Metric.ts +64 -66
- package/src/MutableHashMap.ts +9 -0
- package/src/MutableHashSet.ts +9 -0
- package/src/MutableList.ts +3 -0
- package/src/Newtype.ts +308 -0
- package/src/Number.ts +98 -29
- package/src/Optic.ts +948 -19
- package/src/Option.ts +34 -24
- package/src/Order.ts +39 -32
- package/src/PartitionedSemaphore.ts +414 -0
- package/src/Path.ts +2 -2
- package/src/Pool.ts +9 -9
- package/src/Predicate.ts +1 -1
- package/src/PubSub.ts +20 -11
- package/src/Pull.ts +1 -1
- package/src/Queue.ts +11 -9
- package/src/Random.ts +51 -14
- package/src/RcMap.ts +19 -19
- package/src/RcRef.ts +1 -1
- package/src/Record.ts +94 -199
- package/src/Redactable.ts +146 -72
- package/src/Reducer.ts +166 -7
- package/src/References.ts +283 -287
- package/src/Request.ts +5 -5
- package/src/RequestResolver.ts +34 -35
- package/src/Resource.ts +6 -5
- package/src/Result.ts +2 -4
- package/src/Runtime.ts +102 -6
- package/src/Schedule.ts +243 -336
- package/src/Scheduler.ts +52 -129
- package/src/Schema.ts +3769 -597
- package/src/SchemaAST.ts +480 -302
- package/src/SchemaGetter.ts +80 -24
- package/src/SchemaIssue.ts +28 -15
- package/src/SchemaParser.ts +100 -29
- package/src/SchemaRepresentation.ts +57 -33
- package/src/SchemaTransformation.ts +321 -32
- package/src/Scope.ts +2 -2
- package/src/ScopedCache.ts +8 -8
- package/src/Semaphore.ts +268 -182
- package/src/Sink.ts +89 -34
- package/src/Stdio.ts +29 -6
- package/src/Stream.ts +908 -752
- package/src/String.ts +122 -69
- package/src/Struct.ts +7 -7
- package/src/SubscriptionRef.ts +98 -118
- package/src/Terminal.ts +5 -4
- package/src/Tracer.ts +23 -22
- package/src/Trie.ts +44 -31
- package/src/TxChunk.ts +26 -16
- package/src/TxDeferred.ts +391 -0
- package/src/TxHashMap.ts +347 -291
- package/src/TxHashSet.ts +54 -61
- package/src/TxPriorityQueue.ts +762 -0
- package/src/TxPubSub.ts +787 -0
- package/src/TxQueue.ts +221 -245
- package/src/TxReentrantLock.ts +729 -0
- package/src/TxRef.ts +31 -31
- package/src/TxSemaphore.ts +203 -31
- package/src/TxSubscriptionRef.ts +637 -0
- package/src/Types.ts +75 -23
- package/src/Unify.ts +26 -2
- package/src/Utils.ts +137 -111
- package/src/index.ts +896 -73
- package/src/internal/core.ts +9 -10
- package/src/internal/dateTime.ts +91 -96
- package/src/internal/effect.ts +1179 -614
- package/src/internal/hashMap.ts +12 -10
- package/src/internal/layer.ts +7 -7
- package/src/internal/option.ts +7 -0
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +12 -12
- package/src/internal/references.ts +72 -0
- package/src/internal/request.ts +8 -8
- package/src/internal/schedule.ts +3 -1
- package/src/internal/schema/annotations.ts +2 -0
- package/src/internal/schema/representation.ts +82 -97
- package/src/internal/schema/schema.ts +68 -1
- package/src/internal/trie.ts +21 -15
- package/src/testing/TestClock.ts +6 -6
- package/src/testing/TestSchema.ts +333 -36
- package/src/testing/index.ts +64 -1
- package/src/unstable/ai/AiError.ts +111 -53
- package/src/unstable/ai/AnthropicStructuredOutput.ts +7 -3
- package/src/unstable/ai/Chat.ts +136 -88
- package/src/unstable/ai/EmbeddingModel.ts +209 -0
- package/src/unstable/ai/IdGenerator.ts +2 -2
- package/src/unstable/ai/LanguageModel.ts +685 -255
- package/src/unstable/ai/McpSchema.ts +84 -22
- package/src/unstable/ai/McpServer.ts +307 -87
- package/src/unstable/ai/Model.ts +44 -13
- package/src/unstable/ai/OpenAiStructuredOutput.ts +9 -2
- package/src/unstable/ai/Prompt.ts +23 -29
- package/src/unstable/ai/Response.ts +29 -31
- package/src/unstable/ai/ResponseIdTracker.ts +95 -0
- package/src/unstable/ai/Telemetry.ts +2 -2
- package/src/unstable/ai/Tokenizer.ts +2 -2
- package/src/unstable/ai/Tool.ts +62 -36
- package/src/unstable/ai/Toolkit.ts +17 -26
- package/src/unstable/ai/index.ts +24 -1
- package/src/unstable/ai/internal/codec-transformer.ts +3 -9
- package/src/unstable/cli/Argument.ts +5 -8
- package/src/unstable/cli/CliError.ts +67 -66
- package/src/unstable/cli/CliOutput.ts +87 -15
- package/src/unstable/cli/Command.ts +808 -193
- package/src/unstable/cli/Completions.ts +107 -0
- package/src/unstable/cli/Flag.ts +5 -6
- package/src/unstable/cli/GlobalFlag.ts +242 -0
- package/src/unstable/cli/HelpDoc.ts +91 -11
- package/src/unstable/cli/Param.ts +54 -27
- package/src/unstable/cli/Primitive.ts +2 -2
- package/src/unstable/cli/Prompt.ts +275 -104
- package/src/unstable/cli/index.ts +12 -0
- package/src/unstable/cli/internal/command.ts +125 -64
- package/src/unstable/cli/internal/completions/bash.ts +7 -7
- package/src/unstable/cli/internal/completions/{CommandDescriptor.ts → descriptor.ts} +16 -58
- package/src/unstable/cli/internal/completions/fish.ts +7 -7
- package/src/unstable/cli/internal/completions/zsh.ts +8 -14
- package/src/unstable/cli/internal/config.ts +49 -0
- package/src/unstable/cli/internal/help.ts +171 -0
- package/src/unstable/cli/internal/parser.ts +201 -84
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterSchema.ts +38 -10
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +142 -80
- package/src/unstable/cluster/DeliverAt.ts +1 -1
- package/src/unstable/cluster/Entity.ts +58 -45
- package/src/unstable/cluster/EntityAddress.ts +1 -1
- package/src/unstable/cluster/EntityProxy.ts +3 -3
- package/src/unstable/cluster/EntityProxyServer.ts +6 -6
- package/src/unstable/cluster/EntityResource.ts +6 -6
- package/src/unstable/cluster/HttpRunner.ts +2 -2
- package/src/unstable/cluster/K8sHttpClient.ts +10 -10
- package/src/unstable/cluster/Message.ts +30 -17
- package/src/unstable/cluster/MessageStorage.ts +74 -45
- package/src/unstable/cluster/Reply.ts +13 -10
- package/src/unstable/cluster/Runner.ts +1 -1
- package/src/unstable/cluster/RunnerAddress.ts +1 -1
- package/src/unstable/cluster/RunnerHealth.ts +2 -2
- package/src/unstable/cluster/RunnerServer.ts +11 -14
- package/src/unstable/cluster/RunnerStorage.ts +9 -9
- package/src/unstable/cluster/Runners.ts +22 -18
- package/src/unstable/cluster/ShardId.ts +84 -74
- package/src/unstable/cluster/Sharding.ts +75 -60
- package/src/unstable/cluster/ShardingConfig.ts +39 -40
- package/src/unstable/cluster/Snowflake.ts +2 -2
- package/src/unstable/cluster/SqlMessageStorage.ts +29 -20
- package/src/unstable/cluster/SqlRunnerStorage.ts +13 -7
- package/src/unstable/cluster/internal/entityManager.ts +60 -41
- package/src/unstable/cluster/internal/entityReaper.ts +2 -2
- package/src/unstable/cluster/internal/resourceMap.ts +3 -3
- package/src/unstable/devtools/DevToolsClient.ts +26 -21
- package/src/unstable/devtools/DevToolsSchema.ts +16 -3
- package/src/unstable/encoding/Ndjson.ts +17 -17
- package/src/unstable/encoding/Sse.ts +3 -5
- package/src/unstable/eventlog/Event.ts +0 -8
- package/src/unstable/eventlog/EventGroup.ts +0 -4
- package/src/unstable/eventlog/EventJournal.ts +148 -80
- package/src/unstable/eventlog/EventLog.ts +360 -234
- package/src/unstable/eventlog/EventLogEncryption.ts +18 -32
- package/src/unstable/eventlog/EventLogMessage.ts +277 -0
- package/src/unstable/eventlog/EventLogRemote.ts +264 -410
- package/src/unstable/eventlog/EventLogServer.ts +183 -275
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +206 -0
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +749 -0
- package/src/unstable/eventlog/EventLogSessionAuth.ts +437 -0
- package/src/unstable/eventlog/{SqlEventLogJournal.ts → SqlEventJournal.ts} +38 -22
- package/src/unstable/eventlog/{SqlEventLogServer.ts → SqlEventLogServerEncrypted.ts} +110 -43
- package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +506 -0
- package/src/unstable/eventlog/index.ts +27 -2
- package/src/unstable/eventlog/internal/identityRootSecretDerivation.ts +153 -0
- package/src/unstable/http/Cookies.ts +94 -11
- package/src/unstable/http/Etag.ts +7 -5
- package/src/unstable/http/FetchHttpClient.ts +5 -5
- package/src/unstable/http/Headers.ts +70 -20
- package/src/unstable/http/HttpClient.ts +385 -42
- package/src/unstable/http/HttpClientRequest.ts +151 -39
- package/src/unstable/http/HttpClientResponse.ts +24 -8
- package/src/unstable/http/HttpEffect.ts +71 -77
- package/src/unstable/http/HttpIncomingMessage.ts +9 -8
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +50 -50
- package/src/unstable/http/HttpPlatform.ts +5 -4
- package/src/unstable/http/HttpRouter.ts +46 -46
- package/src/unstable/http/HttpServer.ts +5 -11
- package/src/unstable/http/HttpServerError.ts +45 -47
- package/src/unstable/http/HttpServerRequest.ts +414 -23
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +351 -13
- package/src/unstable/http/HttpStaticServer.ts +456 -0
- package/src/unstable/http/HttpTraceContext.ts +31 -17
- package/src/unstable/http/Multipart.ts +8 -8
- package/src/unstable/http/Url.ts +650 -0
- package/src/unstable/http/UrlParams.ts +30 -18
- package/src/unstable/http/index.ts +10 -0
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +22 -22
- package/src/unstable/httpapi/HttpApiBuilder.ts +156 -66
- package/src/unstable/httpapi/HttpApiClient.ts +185 -34
- package/src/unstable/httpapi/HttpApiEndpoint.ts +225 -114
- package/src/unstable/httpapi/HttpApiError.ts +129 -30
- package/src/unstable/httpapi/HttpApiGroup.ts +18 -17
- package/src/unstable/httpapi/HttpApiMiddleware.ts +95 -32
- package/src/unstable/httpapi/HttpApiSchema.ts +106 -11
- package/src/unstable/httpapi/HttpApiSecurity.ts +13 -13
- package/src/unstable/httpapi/OpenApi.ts +74 -73
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +14 -10
- package/src/unstable/observability/OtlpLogger.ts +13 -9
- package/src/unstable/observability/OtlpMetrics.ts +6 -6
- package/src/unstable/observability/OtlpSerialization.ts +2 -2
- package/src/unstable/observability/OtlpTracer.ts +14 -10
- package/src/unstable/observability/PrometheusMetrics.ts +5 -5
- package/src/unstable/observability/internal/protobuf.ts +4 -4
- package/src/unstable/persistence/KeyValueStore.ts +226 -3
- package/src/unstable/persistence/Persistable.ts +3 -3
- package/src/unstable/persistence/PersistedCache.ts +20 -17
- package/src/unstable/persistence/PersistedQueue.ts +21 -21
- package/src/unstable/persistence/Persistence.ts +7 -7
- package/src/unstable/persistence/RateLimiter.ts +7 -7
- package/src/unstable/persistence/Redis.ts +2 -2
- package/src/unstable/process/ChildProcess.ts +6 -208
- package/src/unstable/process/ChildProcessSpawner.ts +114 -15
- package/src/unstable/reactivity/AsyncResult.ts +59 -17
- package/src/unstable/reactivity/Atom.ts +280 -124
- package/src/unstable/reactivity/AtomHttpApi.ts +127 -61
- package/src/unstable/reactivity/AtomRegistry.ts +70 -16
- package/src/unstable/reactivity/AtomRpc.ts +82 -37
- package/src/unstable/reactivity/Reactivity.ts +6 -6
- package/src/unstable/rpc/Rpc.ts +212 -32
- package/src/unstable/rpc/RpcClient.ts +161 -142
- package/src/unstable/rpc/RpcGroup.ts +51 -34
- package/src/unstable/rpc/RpcMiddleware.ts +28 -22
- package/src/unstable/rpc/RpcSchema.ts +24 -6
- package/src/unstable/rpc/RpcSerialization.ts +97 -54
- package/src/unstable/rpc/RpcServer.ts +91 -65
- package/src/unstable/rpc/RpcWorker.ts +5 -5
- package/src/unstable/rpc/Utils.ts +63 -4
- package/src/unstable/schema/Model.ts +35 -6
- package/src/unstable/schema/VariantSchema.ts +14 -27
- package/src/unstable/socket/Socket.ts +102 -62
- package/src/unstable/socket/SocketServer.ts +2 -2
- package/src/unstable/sql/Migrator.ts +7 -5
- package/src/unstable/sql/SqlClient.ts +48 -19
- package/src/unstable/sql/SqlConnection.ts +2 -2
- package/src/unstable/sql/SqlError.ts +365 -11
- package/src/unstable/sql/SqlModel.ts +57 -85
- package/src/unstable/sql/SqlResolver.ts +28 -20
- package/src/unstable/sql/SqlSchema.ts +42 -26
- package/src/unstable/sql/Statement.ts +21 -25
- package/src/unstable/workers/Transferable.ts +17 -19
- package/src/unstable/workers/Worker.ts +4 -4
- package/src/unstable/workers/WorkerRunner.ts +2 -2
- package/src/unstable/workflow/Activity.ts +36 -13
- package/src/unstable/workflow/DurableClock.ts +11 -11
- package/src/unstable/workflow/DurableDeferred.ts +36 -18
- package/src/unstable/workflow/Workflow.ts +46 -35
- package/src/unstable/workflow/WorkflowEngine.ts +236 -23
- package/src/unstable/workflow/WorkflowProxyServer.ts +4 -4
- package/dist/NullOr.d.ts +0 -149
- package/dist/NullOr.d.ts.map +0 -1
- package/dist/NullOr.js +0 -152
- package/dist/NullOr.js.map +0 -1
- package/dist/ServiceMap.d.ts +0 -1126
- package/dist/ServiceMap.d.ts.map +0 -1
- package/dist/ServiceMap.js.map +0 -1
- package/dist/internal/schema/to-codec.d.ts +0 -2
- package/dist/internal/schema/to-codec.d.ts.map +0 -1
- package/dist/internal/schema/to-codec.js +0 -129
- package/dist/internal/schema/to-codec.js.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
- package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.js +0 -44
- package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.d.ts +0 -2
- package/dist/unstable/cli/internal/completions/CommandDescriptor.d.ts.map +0 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +0 -1
- package/dist/unstable/cli/internal/completions/Completions.d.ts +0 -2
- package/dist/unstable/cli/internal/completions/Completions.d.ts.map +0 -1
- package/dist/unstable/cli/internal/completions/Completions.js +0 -23
- package/dist/unstable/cli/internal/completions/Completions.js.map +0 -1
- package/dist/unstable/eventlog/SqlEventLogJournal.d.ts.map +0 -1
- package/dist/unstable/eventlog/SqlEventLogJournal.js.map +0 -1
- package/dist/unstable/eventlog/SqlEventLogServer.d.ts.map +0 -1
- package/dist/unstable/eventlog/SqlEventLogServer.js.map +0 -1
- package/src/NullOr.ts +0 -204
- package/src/ServiceMap.ts +0 -1410
- package/src/internal/schema/to-codec.ts +0 -148
- package/src/unstable/cli/internal/builtInFlags.ts +0 -78
- package/src/unstable/cli/internal/completions/Completions.ts +0 -31
package/dist/Data.d.ts
CHANGED
|
@@ -1,13 +1,73 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* Immutable data constructors with discriminated-union support.
|
|
3
|
+
*
|
|
4
|
+
* The `Data` module provides base classes and factory functions for creating
|
|
5
|
+
* immutable value types with a `_tag` field for discriminated unions.
|
|
6
|
+
* It is the recommended way to define domain models, error types, and
|
|
7
|
+
* lightweight ADTs in Effect applications.
|
|
8
|
+
*
|
|
9
|
+
* ## Mental model
|
|
10
|
+
*
|
|
11
|
+
* - **`Class`** — base class for plain immutable data. Extend it with a type
|
|
12
|
+
* parameter to declare the fields. Instances are `Pipeable`.
|
|
13
|
+
* - **`TaggedClass`** — like `Class` but automatically adds a `readonly _tag`
|
|
14
|
+
* string literal field. Useful for single-variant types or ad-hoc tagged
|
|
15
|
+
* values.
|
|
16
|
+
* - **`TaggedEnum`** (type) + **`taggedEnum`** (value) — define a multi-variant
|
|
17
|
+
* discriminated union from a simple record. `taggedEnum()` returns per-variant
|
|
18
|
+
* constructors plus `$is` / `$match` helpers.
|
|
19
|
+
* - **`Error`** — like `Class` but extends `Cause.YieldableError`, so instances
|
|
20
|
+
* can be yielded inside `Effect.gen` to fail the effect.
|
|
21
|
+
* - **`TaggedError`** — like `TaggedClass` but extends `Cause.YieldableError`.
|
|
22
|
+
* Works with `Effect.catchTag` for tag-based error recovery.
|
|
23
|
+
*
|
|
24
|
+
* ## Common tasks
|
|
25
|
+
*
|
|
26
|
+
* - Define a simple value class → {@link Class}
|
|
27
|
+
* - Define a value class with a `_tag` → {@link TaggedClass}
|
|
28
|
+
* - Define a discriminated union with constructors → {@link TaggedEnum} + {@link taggedEnum}
|
|
29
|
+
* - Define a yieldable error → {@link Error}
|
|
30
|
+
* - Define a yieldable tagged error → {@link TaggedError}
|
|
31
|
+
* - Type-guard a tagged value → `$is` from {@link taggedEnum}
|
|
32
|
+
* - Pattern-match on a tagged union → `$match` from {@link taggedEnum}
|
|
33
|
+
*
|
|
34
|
+
* ## Gotchas
|
|
35
|
+
*
|
|
36
|
+
* - Variant records passed to `TaggedEnum` must **not** contain a `_tag` key;
|
|
37
|
+
* the `_tag` is added automatically from the record key.
|
|
38
|
+
* - When a class has no fields, the constructor argument is optional (`void`).
|
|
39
|
+
* - `taggedEnum()` creates **plain objects**, not class instances. If you need
|
|
40
|
+
* class-based variants, use `TaggedClass` or `TaggedError` instead.
|
|
41
|
+
* - `TaggedEnum.WithGenerics` supports up to 4 generic type parameters.
|
|
42
|
+
*
|
|
43
|
+
* ## Quickstart
|
|
44
|
+
*
|
|
45
|
+
* **Example** (tagged union with pattern matching)
|
|
5
46
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
47
|
+
* ```ts
|
|
48
|
+
* import { Data } from "effect"
|
|
49
|
+
*
|
|
50
|
+
* type Shape = Data.TaggedEnum<{
|
|
51
|
+
* Circle: { readonly radius: number }
|
|
52
|
+
* Rect: { readonly width: number; readonly height: number }
|
|
53
|
+
* }>
|
|
54
|
+
* const { Circle, Rect, $match } = Data.taggedEnum<Shape>()
|
|
55
|
+
*
|
|
56
|
+
* const area = $match({
|
|
57
|
+
* Circle: ({ radius }) => Math.PI * radius ** 2,
|
|
58
|
+
* Rect: ({ width, height }) => width * height
|
|
59
|
+
* })
|
|
60
|
+
*
|
|
61
|
+
* console.log(area(Circle({ radius: 5 })))
|
|
62
|
+
* // 78.53981633974483
|
|
63
|
+
* console.log(area(Rect({ width: 3, height: 4 })))
|
|
64
|
+
* // 12
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* @see {@link Class} — plain immutable data class
|
|
68
|
+
* @see {@link TaggedEnum} — discriminated union type
|
|
69
|
+
* @see {@link taggedEnum} — discriminated union constructors
|
|
70
|
+
* @see {@link TaggedError} — yieldable tagged error class
|
|
11
71
|
*
|
|
12
72
|
* @since 2.0.0
|
|
13
73
|
*/
|
|
@@ -16,104 +76,115 @@ import * as Pipeable from "./Pipeable.ts";
|
|
|
16
76
|
import type * as Types from "./Types.ts";
|
|
17
77
|
import type { Unify } from "./Unify.ts";
|
|
18
78
|
/**
|
|
19
|
-
*
|
|
79
|
+
* Base class for immutable data types.
|
|
80
|
+
*
|
|
81
|
+
* Extend `Class` with a type parameter to declare fields. The constructor
|
|
82
|
+
* accepts those fields as a single object argument. When there are no fields
|
|
83
|
+
* the argument is optional.
|
|
84
|
+
*
|
|
85
|
+
* - Use when you need a lightweight immutable value type with `.pipe()` support.
|
|
86
|
+
* - Instances are `Readonly` and `Pipeable`.
|
|
87
|
+
* - If you also need a `_tag` discriminator, use {@link TaggedClass} instead.
|
|
88
|
+
* - If you need a yieldable error, use {@link Error} or {@link TaggedError}.
|
|
89
|
+
*
|
|
90
|
+
* **Example** (defining a value class)
|
|
20
91
|
*
|
|
21
|
-
* @example
|
|
22
92
|
* ```ts
|
|
23
93
|
* import { Data, Equal } from "effect"
|
|
24
|
-
* import * as assert from "node:assert"
|
|
25
94
|
*
|
|
26
95
|
* class Person extends Data.Class<{ readonly name: string }> {}
|
|
27
96
|
*
|
|
28
|
-
* // Creating instances of Person
|
|
29
97
|
* const mike1 = new Person({ name: "Mike" })
|
|
30
98
|
* const mike2 = new Person({ name: "Mike" })
|
|
31
|
-
* const john = new Person({ name: "John" })
|
|
32
99
|
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* assert.deepStrictEqual(Equal.equals(mike1, john), false)
|
|
100
|
+
* console.log(Equal.equals(mike1, mike2))
|
|
101
|
+
* // true
|
|
36
102
|
* ```
|
|
37
103
|
*
|
|
38
|
-
* @
|
|
104
|
+
* @see {@link TaggedClass} — adds a `_tag` field
|
|
105
|
+
* @see {@link Error} — yieldable error variant
|
|
106
|
+
*
|
|
39
107
|
* @category constructors
|
|
108
|
+
* @since 2.0.0
|
|
40
109
|
*/
|
|
41
|
-
export declare const Class: new <A extends Record<string, any> = {}>(args: Types.
|
|
110
|
+
export declare const Class: new <A extends Record<string, any> = {}>(args: Types.VoidIfEmpty<{
|
|
42
111
|
readonly [P in keyof A]: A[P];
|
|
43
|
-
}) => Readonly<A> & Pipeable.Pipeable;
|
|
112
|
+
}>) => Readonly<A> & Pipeable.Pipeable;
|
|
44
113
|
/**
|
|
45
|
-
*
|
|
114
|
+
* Base class for immutable data types with a `_tag` discriminator.
|
|
46
115
|
*
|
|
47
|
-
* @
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* import * as assert from "node:assert"
|
|
116
|
+
* Like {@link Class}, but the resulting instances also carry a
|
|
117
|
+
* `readonly _tag: Tag` property. The `_tag` is excluded from the constructor
|
|
118
|
+
* argument.
|
|
51
119
|
*
|
|
52
|
-
*
|
|
120
|
+
* - Use when you need a single-variant tagged type or an ad-hoc discriminator.
|
|
121
|
+
* - For multi-variant unions, prefer {@link TaggedEnum} + {@link taggedEnum}.
|
|
122
|
+
* - For yieldable errors, use {@link TaggedError}.
|
|
53
123
|
*
|
|
54
|
-
*
|
|
55
|
-
* const mike1 = new Person({ name: "Mike" })
|
|
56
|
-
* const mike2 = new Person({ name: "Mike" })
|
|
57
|
-
* const john = new Person({ name: "John" })
|
|
124
|
+
* **Example** (defining a tagged class)
|
|
58
125
|
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
* assert.deepStrictEqual(Equal.equals(mike1, john), false)
|
|
126
|
+
* ```ts
|
|
127
|
+
* import { Data } from "effect"
|
|
62
128
|
*
|
|
63
|
-
*
|
|
129
|
+
* class Person extends Data.TaggedClass("Person")<{
|
|
130
|
+
* readonly name: string
|
|
131
|
+
* }> {}
|
|
132
|
+
*
|
|
133
|
+
* const mike = new Person({ name: "Mike" })
|
|
134
|
+
* console.log(mike._tag)
|
|
135
|
+
* // "Person"
|
|
64
136
|
* ```
|
|
65
137
|
*
|
|
66
|
-
* @
|
|
138
|
+
* @see {@link Class} — without a `_tag`
|
|
139
|
+
* @see {@link TaggedError} — tagged error variant
|
|
140
|
+
* @see {@link TaggedEnum} — multi-variant unions
|
|
141
|
+
*
|
|
67
142
|
* @category constructors
|
|
143
|
+
* @since 2.0.0
|
|
68
144
|
*/
|
|
69
|
-
export declare const TaggedClass: <Tag extends string>(tag: Tag) => new <A extends Record<string, any> = {}>(args: Types.
|
|
145
|
+
export declare const TaggedClass: <Tag extends string>(tag: Tag) => new <A extends Record<string, any> = {}>(args: Types.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
|
|
70
146
|
readonly _tag: Tag;
|
|
71
147
|
} & Pipeable.Pipeable;
|
|
72
148
|
/**
|
|
73
|
-
*
|
|
149
|
+
* Transforms a record of variant definitions into a discriminated union type.
|
|
150
|
+
*
|
|
151
|
+
* Each key in the record becomes a variant with `readonly _tag` set to that
|
|
152
|
+
* key. Use with {@link taggedEnum} to get runtime constructors, type guards,
|
|
153
|
+
* and pattern matching.
|
|
154
|
+
*
|
|
155
|
+
* - Use when you have two or more variants that share a common `_tag`
|
|
156
|
+
* discriminator.
|
|
157
|
+
* - Variant records must **not** include a `_tag` property — it is added
|
|
158
|
+
* automatically.
|
|
159
|
+
* - For generic tagged enums, see {@link TaggedEnum.WithGenerics}.
|
|
74
160
|
*
|
|
75
|
-
*
|
|
76
|
-
* union type where each variant has a `_tag` field for type discrimination.
|
|
161
|
+
* **Example** (defining a tagged enum)
|
|
77
162
|
*
|
|
78
|
-
* @example
|
|
79
163
|
* ```ts
|
|
80
164
|
* import { Data } from "effect"
|
|
81
165
|
*
|
|
82
|
-
* // Define a tagged enum type
|
|
83
166
|
* type HttpError = Data.TaggedEnum<{
|
|
84
167
|
* BadRequest: { readonly status: 400; readonly message: string }
|
|
85
|
-
* NotFound: { readonly status: 404
|
|
86
|
-
* InternalError: { readonly status: 500; readonly details: string }
|
|
168
|
+
* NotFound: { readonly status: 404 }
|
|
87
169
|
* }>
|
|
88
170
|
*
|
|
89
|
-
* //
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
* readonly status: 404
|
|
99
|
-
* readonly message: string
|
|
100
|
-
* }
|
|
101
|
-
* | {
|
|
102
|
-
* readonly _tag: "InternalError"
|
|
103
|
-
* readonly status: 500
|
|
104
|
-
* readonly details: string
|
|
105
|
-
* }
|
|
106
|
-
*
|
|
107
|
-
* // Usage with constructors
|
|
108
|
-
* const { BadRequest, InternalError, NotFound } = Data.taggedEnum<HttpError>()
|
|
109
|
-
*
|
|
110
|
-
* const error: HttpError = BadRequest({ status: 400, message: "Invalid request" })
|
|
111
|
-
* console.log(error._tag) // "BadRequest"
|
|
112
|
-
* console.log(error.status) // 400
|
|
171
|
+
* // Equivalent to:
|
|
172
|
+
* // | { readonly _tag: "BadRequest"; readonly status: 400; readonly message: string }
|
|
173
|
+
* // | { readonly _tag: "NotFound"; readonly status: 404 }
|
|
174
|
+
*
|
|
175
|
+
* const { BadRequest, NotFound } = Data.taggedEnum<HttpError>()
|
|
176
|
+
*
|
|
177
|
+
* const err = BadRequest({ status: 400, message: "missing id" })
|
|
178
|
+
* console.log(err._tag)
|
|
179
|
+
* // "BadRequest"
|
|
113
180
|
* ```
|
|
114
181
|
*
|
|
115
|
-
* @
|
|
182
|
+
* @see {@link taggedEnum} — runtime constructors for a `TaggedEnum`
|
|
183
|
+
* @see {@link TaggedEnum.WithGenerics} — generic tagged enums
|
|
184
|
+
* @see {@link TaggedEnum.Constructor} — the constructor object type
|
|
185
|
+
*
|
|
116
186
|
* @category models
|
|
187
|
+
* @since 2.0.0
|
|
117
188
|
*/
|
|
118
189
|
export type TaggedEnum<A extends Record<string, Record<string, any>> & UntaggedChildren<A>> = keyof A extends infer Tag ? Tag extends keyof A ? Types.Simplify<{
|
|
119
190
|
readonly _tag: Tag;
|
|
@@ -123,52 +194,53 @@ export type TaggedEnum<A extends Record<string, Record<string, any>> & UntaggedC
|
|
|
123
194
|
type ChildrenAreTagged<A> = keyof A extends infer K ? K extends keyof A ? "_tag" extends keyof A[K] ? true : false : never : never;
|
|
124
195
|
type UntaggedChildren<A> = true extends ChildrenAreTagged<A> ? "It looks like you're trying to create a tagged enum, but one or more of its members already has a `_tag` property." : unknown;
|
|
125
196
|
/**
|
|
126
|
-
*
|
|
197
|
+
* Namespace for `TaggedEnum` utility types.
|
|
127
198
|
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
199
|
+
* Provides helper types for:
|
|
200
|
+
* - Generic tagged enums ({@link TaggedEnum.WithGenerics}, {@link TaggedEnum.Kind})
|
|
201
|
+
* - Extracting constructor arguments ({@link TaggedEnum.Args}) and variant
|
|
202
|
+
* values ({@link TaggedEnum.Value})
|
|
203
|
+
* - Full constructor objects ({@link TaggedEnum.Constructor})
|
|
130
204
|
*
|
|
131
|
-
* @example
|
|
132
|
-
* ```ts
|
|
133
|
-
* import { Data } from "effect"
|
|
134
|
-
*
|
|
135
|
-
* // Basic tagged enum usage
|
|
136
|
-
* const { Failure, Success } = Data.taggedEnum<
|
|
137
|
-
* | { readonly _tag: "Success"; readonly value: number }
|
|
138
|
-
* | { readonly _tag: "Failure"; readonly error: string }
|
|
139
|
-
* >()
|
|
140
|
-
*
|
|
141
|
-
* const result = Success({ value: 42 })
|
|
142
|
-
* console.log(result._tag) // "Success"
|
|
143
|
-
* console.log(result.value) // 42
|
|
144
|
-
* ```
|
|
145
|
-
*
|
|
146
|
-
* @since 2.0.0
|
|
147
205
|
* @category types
|
|
206
|
+
* @since 2.0.0
|
|
148
207
|
*/
|
|
149
208
|
export declare namespace TaggedEnum {
|
|
150
209
|
/**
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
*
|
|
210
|
+
* Defines a tagged enum shape that accepts generic type parameters.
|
|
211
|
+
*
|
|
212
|
+
* Extend this interface and set `taggedEnum` to your union type, using
|
|
213
|
+
* `this["A"]`, `this["B"]`, etc. as placeholders for the generics. The
|
|
214
|
+
* `Count` parameter declares how many generics are used (up to 4).
|
|
215
|
+
*
|
|
216
|
+
* - Use when variant payloads need to be parameterized (e.g., `Result<E, A>`).
|
|
217
|
+
* - Pass the interface (not the type alias) to {@link taggedEnum} to get
|
|
218
|
+
* generic-aware constructors.
|
|
219
|
+
*
|
|
220
|
+
* **Example** (generic tagged enum)
|
|
154
221
|
*
|
|
155
|
-
* @example
|
|
156
222
|
* ```ts
|
|
157
|
-
* import
|
|
223
|
+
* import { Data } from "effect"
|
|
158
224
|
*
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
* readonly
|
|
162
|
-
*
|
|
163
|
-
*
|
|
225
|
+
* type MyResult<E, A> = Data.TaggedEnum<{
|
|
226
|
+
* Failure: { readonly error: E }
|
|
227
|
+
* Success: { readonly value: A }
|
|
228
|
+
* }>
|
|
229
|
+
*
|
|
230
|
+
* interface MyResultDef extends Data.TaggedEnum.WithGenerics<2> {
|
|
231
|
+
* readonly taggedEnum: MyResult<this["A"], this["B"]>
|
|
164
232
|
* }
|
|
165
233
|
*
|
|
166
|
-
*
|
|
167
|
-
*
|
|
234
|
+
* const { Failure, Success } = Data.taggedEnum<MyResultDef>()
|
|
235
|
+
*
|
|
236
|
+
* const ok = Success({ value: 42 })
|
|
237
|
+
* // ok: { readonly _tag: "Success"; readonly value: number }
|
|
168
238
|
* ```
|
|
169
239
|
*
|
|
240
|
+
* @see {@link Kind} — apply concrete types to a `WithGenerics` definition
|
|
241
|
+
* @see {@link taggedEnum} — runtime constructors
|
|
242
|
+
*
|
|
170
243
|
* @since 2.0.0
|
|
171
|
-
* @category models
|
|
172
244
|
*/
|
|
173
245
|
interface WithGenerics<Count extends number> {
|
|
174
246
|
readonly taggedEnum: {
|
|
@@ -181,45 +253,33 @@ export declare namespace TaggedEnum {
|
|
|
181
253
|
readonly D: unknown;
|
|
182
254
|
}
|
|
183
255
|
/**
|
|
184
|
-
*
|
|
256
|
+
* Applies concrete type arguments to a `WithGenerics` definition, producing
|
|
257
|
+
* the resulting tagged union type.
|
|
185
258
|
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
259
|
+
* - Use to refer to a specific instantiation of a generic tagged enum in
|
|
260
|
+
* type signatures.
|
|
261
|
+
*
|
|
262
|
+
* **Example** (applying generics)
|
|
188
263
|
*
|
|
189
|
-
* @example
|
|
190
264
|
* ```ts
|
|
191
265
|
* import type { Data } from "effect"
|
|
192
266
|
*
|
|
193
|
-
* // Define a generic Option type
|
|
194
267
|
* type Option<A> = Data.TaggedEnum<{
|
|
195
268
|
* None: {}
|
|
196
269
|
* Some: { readonly value: A }
|
|
197
270
|
* }>
|
|
198
|
-
*
|
|
199
|
-
* interface OptionDefinition extends Data.TaggedEnum.WithGenerics<1> {
|
|
271
|
+
* interface OptionDef extends Data.TaggedEnum.WithGenerics<1> {
|
|
200
272
|
* readonly taggedEnum: Option<this["A"]>
|
|
201
273
|
* }
|
|
202
274
|
*
|
|
203
|
-
* //
|
|
204
|
-
* type StringOption = Data.TaggedEnum.Kind<
|
|
205
|
-
* //
|
|
206
|
-
*
|
|
207
|
-
* type NumberOption = Data.TaggedEnum.Kind<OptionDefinition, number>
|
|
208
|
-
* // Result: { readonly _tag: "None" } | { readonly _tag: "Some"; readonly value: number }
|
|
209
|
-
*
|
|
210
|
-
* // Usage in type-safe functions
|
|
211
|
-
* const processOption = (opt: StringOption): string => {
|
|
212
|
-
* switch (opt._tag) {
|
|
213
|
-
* case "None":
|
|
214
|
-
* return "No value"
|
|
215
|
-
* case "Some":
|
|
216
|
-
* return `Value: ${opt.value}`
|
|
217
|
-
* }
|
|
218
|
-
* }
|
|
275
|
+
* // Resolve to the concrete union for `string`
|
|
276
|
+
* type StringOption = Data.TaggedEnum.Kind<OptionDef, string>
|
|
277
|
+
* // { _tag: "None" } | { _tag: "Some"; value: string }
|
|
219
278
|
* ```
|
|
220
279
|
*
|
|
280
|
+
* @see {@link WithGenerics} — define the generic shape
|
|
281
|
+
*
|
|
221
282
|
* @since 2.0.0
|
|
222
|
-
* @category models
|
|
223
283
|
*/
|
|
224
284
|
type Kind<Z extends WithGenerics<number>, A = unknown, B = unknown, C = unknown, D = unknown> = (Z & {
|
|
225
285
|
readonly A: A;
|
|
@@ -228,30 +288,30 @@ export declare namespace TaggedEnum {
|
|
|
228
288
|
readonly D: D;
|
|
229
289
|
})["taggedEnum"];
|
|
230
290
|
/**
|
|
231
|
-
* Extracts the argument
|
|
291
|
+
* Extracts the constructor argument type for a specific variant of a tagged
|
|
292
|
+
* union.
|
|
293
|
+
*
|
|
294
|
+
* Returns `void` if the variant has no fields beyond `_tag`.
|
|
232
295
|
*
|
|
233
|
-
*
|
|
234
|
-
* a specific variant of a tagged enum, excluding the `_tag` field.
|
|
296
|
+
* **Example** (extracting variant args)
|
|
235
297
|
*
|
|
236
|
-
* @example
|
|
237
298
|
* ```ts
|
|
238
299
|
* import type { Data } from "effect"
|
|
239
300
|
*
|
|
240
301
|
* type Result =
|
|
241
|
-
* | { readonly _tag: "
|
|
242
|
-
* | { readonly _tag: "
|
|
302
|
+
* | { readonly _tag: "Ok"; readonly value: number }
|
|
303
|
+
* | { readonly _tag: "Err"; readonly error: string }
|
|
243
304
|
*
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
* // Result: { readonly value: number }
|
|
305
|
+
* type OkArgs = Data.TaggedEnum.Args<Result, "Ok">
|
|
306
|
+
* // { readonly value: number }
|
|
247
307
|
*
|
|
248
|
-
*
|
|
249
|
-
*
|
|
250
|
-
* // Result: { readonly error: string }
|
|
308
|
+
* type ErrArgs = Data.TaggedEnum.Args<Result, "Err">
|
|
309
|
+
* // { readonly error: string }
|
|
251
310
|
* ```
|
|
252
311
|
*
|
|
312
|
+
* @see {@link Value} — extracts the full variant type (including `_tag`)
|
|
313
|
+
*
|
|
253
314
|
* @since 2.0.0
|
|
254
|
-
* @category types
|
|
255
315
|
*/
|
|
256
316
|
type Args<A extends {
|
|
257
317
|
readonly _tag: string;
|
|
@@ -259,32 +319,26 @@ export declare namespace TaggedEnum {
|
|
|
259
319
|
readonly _tag: K;
|
|
260
320
|
}>> = {
|
|
261
321
|
readonly [K in keyof E as K extends "_tag" ? never : K]: E[K];
|
|
262
|
-
} extends infer T ?
|
|
322
|
+
} extends infer T ? Types.VoidIfEmpty<T> : never;
|
|
263
323
|
/**
|
|
264
|
-
* Extracts the
|
|
324
|
+
* Extracts the full variant type (including `_tag`) for a specific tag.
|
|
265
325
|
*
|
|
266
|
-
*
|
|
267
|
-
* for a specific variant of a tagged enum.
|
|
326
|
+
* **Example** (extracting a variant type)
|
|
268
327
|
*
|
|
269
|
-
* @example
|
|
270
328
|
* ```ts
|
|
271
329
|
* import type { Data } from "effect"
|
|
272
330
|
*
|
|
273
331
|
* type Result =
|
|
274
|
-
* | { readonly _tag: "
|
|
275
|
-
* | { readonly _tag: "
|
|
276
|
-
*
|
|
277
|
-
* // Extract complete Success type
|
|
278
|
-
* type SuccessValue = Data.TaggedEnum.Value<Result, "Success">
|
|
279
|
-
* // Result: { readonly _tag: "Success"; readonly value: number }
|
|
332
|
+
* | { readonly _tag: "Ok"; readonly value: number }
|
|
333
|
+
* | { readonly _tag: "Err"; readonly error: string }
|
|
280
334
|
*
|
|
281
|
-
*
|
|
282
|
-
*
|
|
283
|
-
* // Result: { readonly _tag: "Failure"; readonly error: string }
|
|
335
|
+
* type OkVariant = Data.TaggedEnum.Value<Result, "Ok">
|
|
336
|
+
* // { readonly _tag: "Ok"; readonly value: number }
|
|
284
337
|
* ```
|
|
285
338
|
*
|
|
339
|
+
* @see {@link Args} — extracts fields without `_tag`
|
|
340
|
+
*
|
|
286
341
|
* @since 2.0.0
|
|
287
|
-
* @category types
|
|
288
342
|
*/
|
|
289
343
|
type Value<A extends {
|
|
290
344
|
readonly _tag: string;
|
|
@@ -292,37 +346,40 @@ export declare namespace TaggedEnum {
|
|
|
292
346
|
readonly _tag: K;
|
|
293
347
|
}>;
|
|
294
348
|
/**
|
|
295
|
-
*
|
|
349
|
+
* The full constructor-object type returned by {@link taggedEnum}.
|
|
350
|
+
*
|
|
351
|
+
* Includes:
|
|
352
|
+
* - A constructor function for each variant (keyed by tag name)
|
|
353
|
+
* - `$is(tag)` — returns a type-guard for the given variant
|
|
354
|
+
* - `$match` — exhaustive pattern matching (data-last or data-first)
|
|
296
355
|
*
|
|
297
|
-
*
|
|
298
|
-
* - Individual constructors for each variant
|
|
299
|
-
* - `$is` for type predicates
|
|
300
|
-
* - `$match` for pattern matching
|
|
356
|
+
* **Example** (using the constructor object)
|
|
301
357
|
*
|
|
302
|
-
* @example
|
|
303
358
|
* ```ts
|
|
304
359
|
* import { Data } from "effect"
|
|
305
360
|
*
|
|
306
|
-
* type
|
|
307
|
-
* | { readonly _tag: "
|
|
308
|
-
* | { readonly _tag: "
|
|
361
|
+
* type Shape =
|
|
362
|
+
* | { readonly _tag: "Circle"; readonly radius: number }
|
|
363
|
+
* | { readonly _tag: "Rect"; readonly w: number; readonly h: number }
|
|
309
364
|
*
|
|
310
|
-
* const { $is, $match
|
|
365
|
+
* const { Circle, Rect, $is, $match } = Data.taggedEnum<Shape>()
|
|
311
366
|
*
|
|
312
|
-
* const
|
|
367
|
+
* const shape = Circle({ radius: 10 })
|
|
313
368
|
*
|
|
314
|
-
* // Type
|
|
315
|
-
* if ($is("
|
|
316
|
-
* console.log(
|
|
369
|
+
* // Type guard
|
|
370
|
+
* if ($is("Circle")(shape)) {
|
|
371
|
+
* console.log(shape.radius)
|
|
317
372
|
* }
|
|
318
373
|
*
|
|
319
374
|
* // Pattern matching
|
|
320
|
-
* const
|
|
321
|
-
*
|
|
322
|
-
*
|
|
375
|
+
* const label = $match(shape, {
|
|
376
|
+
* Circle: (s) => `circle r=${s.radius}`,
|
|
377
|
+
* Rect: (s) => `rect ${s.w}x${s.h}`
|
|
323
378
|
* })
|
|
324
379
|
* ```
|
|
325
380
|
*
|
|
381
|
+
* @see {@link taggedEnum} — creates a `Constructor`
|
|
382
|
+
*
|
|
326
383
|
* @since 3.1.0
|
|
327
384
|
* @category types
|
|
328
385
|
*/
|
|
@@ -350,50 +407,25 @@ export declare namespace TaggedEnum {
|
|
|
350
407
|
};
|
|
351
408
|
}>;
|
|
352
409
|
/**
|
|
410
|
+
* Function type that constructs a tagged-union variant from its fields,
|
|
411
|
+
* excluding the keys listed in `Tag`.
|
|
412
|
+
*
|
|
413
|
+
* Returns `void` when no fields remain after excluding `Tag` keys.
|
|
414
|
+
*
|
|
353
415
|
* @since 4.0.0
|
|
354
|
-
* @category types
|
|
355
416
|
*/
|
|
356
|
-
type ConstructorFrom<A, Tag extends keyof A = never> = (args: Types.
|
|
417
|
+
type ConstructorFrom<A, Tag extends keyof A = never> = (args: Types.VoidIfEmpty<{
|
|
357
418
|
readonly [P in keyof A as P extends Tag ? never : P]: A[P];
|
|
358
|
-
}) => A;
|
|
419
|
+
}>) => A;
|
|
359
420
|
/**
|
|
360
|
-
*
|
|
421
|
+
* Type-guard and pattern-matching interface for generic tagged enums.
|
|
361
422
|
*
|
|
362
|
-
* This
|
|
363
|
-
*
|
|
423
|
+
* This is the `$is` / `$match` portion of the object returned by
|
|
424
|
+
* {@link taggedEnum} when used with a {@link WithGenerics} definition.
|
|
364
425
|
*
|
|
365
|
-
* @
|
|
366
|
-
* ```ts
|
|
367
|
-
* import { Data } from "effect"
|
|
368
|
-
*
|
|
369
|
-
* type Result<E, A> = Data.TaggedEnum<{
|
|
370
|
-
* Failure: { readonly error: E }
|
|
371
|
-
* Success: { readonly value: A }
|
|
372
|
-
* }>
|
|
373
|
-
*
|
|
374
|
-
* interface ResultDefinition extends Data.TaggedEnum.WithGenerics<2> {
|
|
375
|
-
* readonly taggedEnum: Result<this["A"], this["B"]>
|
|
376
|
-
* }
|
|
377
|
-
*
|
|
378
|
-
* const { $is, $match, Failure, Success } = Data.taggedEnum<ResultDefinition>()
|
|
379
|
-
*
|
|
380
|
-
* const stringResult = Success({ value: "hello" })
|
|
381
|
-
* const numberResult = Failure({ error: 404 })
|
|
382
|
-
*
|
|
383
|
-
* // Generic type checking
|
|
384
|
-
* if ($is("Success")(stringResult)) {
|
|
385
|
-
* console.log(stringResult.value) // TypeScript knows this is string
|
|
386
|
-
* }
|
|
387
|
-
*
|
|
388
|
-
* // Generic pattern matching
|
|
389
|
-
* const message = $match(numberResult, {
|
|
390
|
-
* Success: ({ value }) => `Value: ${value}`,
|
|
391
|
-
* Failure: ({ error }) => `Error: ${error}`
|
|
392
|
-
* })
|
|
393
|
-
* ```
|
|
426
|
+
* @see {@link Constructor} — the non-generic equivalent
|
|
394
427
|
*
|
|
395
428
|
* @since 3.2.0
|
|
396
|
-
* @category types
|
|
397
429
|
*/
|
|
398
430
|
interface GenericMatchers<Z extends WithGenerics<number>> {
|
|
399
431
|
readonly $is: <Tag extends Z["taggedEnum"]["_tag"]>(tag: Tag) => {
|
|
@@ -419,88 +451,128 @@ export declare namespace TaggedEnum {
|
|
|
419
451
|
}
|
|
420
452
|
}
|
|
421
453
|
/**
|
|
422
|
-
*
|
|
454
|
+
* Creates runtime constructors, type guards, and pattern matching for a
|
|
455
|
+
* {@link TaggedEnum} type.
|
|
456
|
+
*
|
|
457
|
+
* Returns an object with:
|
|
458
|
+
* - One constructor per variant (keyed by tag name)
|
|
459
|
+
* - `$is(tag)` — returns a type-guard function
|
|
460
|
+
* - `$match` — exhaustive pattern matching (data-first or data-last)
|
|
423
461
|
*
|
|
424
|
-
*
|
|
425
|
-
*
|
|
462
|
+
* - Use when you have a `TaggedEnum` type and need to construct/inspect values.
|
|
463
|
+
* - Constructors produce **plain objects** (not class instances).
|
|
464
|
+
* - For generic enums, pass a {@link TaggedEnum.WithGenerics} interface.
|
|
465
|
+
*
|
|
466
|
+
* **Example** (basic usage)
|
|
426
467
|
*
|
|
427
|
-
* @example
|
|
428
468
|
* ```ts
|
|
429
469
|
* import { Data } from "effect"
|
|
430
470
|
*
|
|
431
|
-
*
|
|
432
|
-
*
|
|
433
|
-
*
|
|
434
|
-
*
|
|
435
|
-
*
|
|
436
|
-
*
|
|
437
|
-
*
|
|
438
|
-
*
|
|
439
|
-
*
|
|
440
|
-
*
|
|
441
|
-
*
|
|
442
|
-
*
|
|
443
|
-
*
|
|
444
|
-
* const
|
|
471
|
+
* type HttpError = Data.TaggedEnum<{
|
|
472
|
+
* BadRequest: { readonly message: string }
|
|
473
|
+
* NotFound: { readonly url: string }
|
|
474
|
+
* }>
|
|
475
|
+
*
|
|
476
|
+
* const { BadRequest, NotFound, $is, $match } = Data.taggedEnum<HttpError>()
|
|
477
|
+
*
|
|
478
|
+
* const err = NotFound({ url: "/missing" })
|
|
479
|
+
*
|
|
480
|
+
* // Type guard
|
|
481
|
+
* console.log($is("NotFound")(err)) // true
|
|
482
|
+
*
|
|
483
|
+
* // Pattern matching
|
|
484
|
+
* const msg = $match(err, {
|
|
485
|
+
* BadRequest: (e) => e.message,
|
|
486
|
+
* NotFound: (e) => `${e.url} not found`
|
|
487
|
+
* })
|
|
488
|
+
* console.log(msg) // "/missing not found"
|
|
445
489
|
* ```
|
|
446
490
|
*
|
|
447
|
-
*
|
|
491
|
+
* **Example** (generic tagged enum)
|
|
492
|
+
*
|
|
493
|
+
* ```ts
|
|
448
494
|
* import { Data } from "effect"
|
|
449
495
|
*
|
|
450
496
|
* type MyResult<E, A> = Data.TaggedEnum<{
|
|
451
497
|
* Failure: { readonly error: E }
|
|
452
498
|
* Success: { readonly value: A }
|
|
453
499
|
* }>
|
|
454
|
-
* interface
|
|
500
|
+
* interface MyResultDef extends Data.TaggedEnum.WithGenerics<2> {
|
|
455
501
|
* readonly taggedEnum: MyResult<this["A"], this["B"]>
|
|
456
502
|
* }
|
|
457
|
-
* const { Failure, Success } = Data.taggedEnum<
|
|
503
|
+
* const { Failure, Success } = Data.taggedEnum<MyResultDef>()
|
|
504
|
+
*
|
|
505
|
+
* const ok = Success({ value: 42 })
|
|
506
|
+
* // ok: { readonly _tag: "Success"; readonly value: number }
|
|
507
|
+
* ```
|
|
458
508
|
*
|
|
459
|
-
*
|
|
509
|
+
* @see {@link TaggedEnum} — the type-level companion
|
|
510
|
+
* @see {@link TaggedEnum.Constructor} — the returned object type
|
|
511
|
+
* @see {@link TaggedEnum.WithGenerics} — generic enum support
|
|
460
512
|
*
|
|
461
513
|
* @category constructors
|
|
462
514
|
* @since 2.0.0
|
|
463
515
|
*/
|
|
464
516
|
export declare const taggedEnum: {
|
|
465
517
|
/**
|
|
466
|
-
*
|
|
518
|
+
* Creates runtime constructors, type guards, and pattern matching for a
|
|
519
|
+
* {@link TaggedEnum} type.
|
|
520
|
+
*
|
|
521
|
+
* Returns an object with:
|
|
522
|
+
* - One constructor per variant (keyed by tag name)
|
|
523
|
+
* - `$is(tag)` — returns a type-guard function
|
|
524
|
+
* - `$match` — exhaustive pattern matching (data-first or data-last)
|
|
525
|
+
*
|
|
526
|
+
* - Use when you have a `TaggedEnum` type and need to construct/inspect values.
|
|
527
|
+
* - Constructors produce **plain objects** (not class instances).
|
|
528
|
+
* - For generic enums, pass a {@link TaggedEnum.WithGenerics} interface.
|
|
467
529
|
*
|
|
468
|
-
*
|
|
469
|
-
* the constructor.
|
|
530
|
+
* **Example** (basic usage)
|
|
470
531
|
*
|
|
471
|
-
* @example
|
|
472
532
|
* ```ts
|
|
473
533
|
* import { Data } from "effect"
|
|
474
534
|
*
|
|
475
|
-
*
|
|
476
|
-
*
|
|
477
|
-
*
|
|
478
|
-
*
|
|
479
|
-
*
|
|
480
|
-
*
|
|
481
|
-
*
|
|
482
|
-
*
|
|
483
|
-
*
|
|
484
|
-
*
|
|
485
|
-
*
|
|
486
|
-
*
|
|
487
|
-
*
|
|
488
|
-
* const
|
|
535
|
+
* type HttpError = Data.TaggedEnum<{
|
|
536
|
+
* BadRequest: { readonly message: string }
|
|
537
|
+
* NotFound: { readonly url: string }
|
|
538
|
+
* }>
|
|
539
|
+
*
|
|
540
|
+
* const { BadRequest, NotFound, $is, $match } = Data.taggedEnum<HttpError>()
|
|
541
|
+
*
|
|
542
|
+
* const err = NotFound({ url: "/missing" })
|
|
543
|
+
*
|
|
544
|
+
* // Type guard
|
|
545
|
+
* console.log($is("NotFound")(err)) // true
|
|
546
|
+
*
|
|
547
|
+
* // Pattern matching
|
|
548
|
+
* const msg = $match(err, {
|
|
549
|
+
* BadRequest: (e) => e.message,
|
|
550
|
+
* NotFound: (e) => `${e.url} not found`
|
|
551
|
+
* })
|
|
552
|
+
* console.log(msg) // "/missing not found"
|
|
489
553
|
* ```
|
|
490
554
|
*
|
|
491
|
-
*
|
|
555
|
+
* **Example** (generic tagged enum)
|
|
556
|
+
*
|
|
557
|
+
* ```ts
|
|
492
558
|
* import { Data } from "effect"
|
|
493
559
|
*
|
|
494
560
|
* type MyResult<E, A> = Data.TaggedEnum<{
|
|
495
561
|
* Failure: { readonly error: E }
|
|
496
562
|
* Success: { readonly value: A }
|
|
497
563
|
* }>
|
|
498
|
-
* interface
|
|
564
|
+
* interface MyResultDef extends Data.TaggedEnum.WithGenerics<2> {
|
|
499
565
|
* readonly taggedEnum: MyResult<this["A"], this["B"]>
|
|
500
566
|
* }
|
|
501
|
-
* const { Failure, Success } = Data.taggedEnum<
|
|
567
|
+
* const { Failure, Success } = Data.taggedEnum<MyResultDef>()
|
|
568
|
+
*
|
|
569
|
+
* const ok = Success({ value: 42 })
|
|
570
|
+
* // ok: { readonly _tag: "Success"; readonly value: number }
|
|
571
|
+
* ```
|
|
502
572
|
*
|
|
503
|
-
*
|
|
573
|
+
* @see {@link TaggedEnum} — the type-level companion
|
|
574
|
+
* @see {@link TaggedEnum.Constructor} — the returned object type
|
|
575
|
+
* @see {@link TaggedEnum.WithGenerics} — generic enum support
|
|
504
576
|
*
|
|
505
577
|
* @category constructors
|
|
506
578
|
* @since 2.0.0
|
|
@@ -511,44 +583,64 @@ export declare const taggedEnum: {
|
|
|
511
583
|
}>>) => TaggedEnum.Value<TaggedEnum.Kind<Z, A>, Tag>;
|
|
512
584
|
} & TaggedEnum.GenericMatchers<Z>>;
|
|
513
585
|
/**
|
|
514
|
-
*
|
|
586
|
+
* Creates runtime constructors, type guards, and pattern matching for a
|
|
587
|
+
* {@link TaggedEnum} type.
|
|
515
588
|
*
|
|
516
|
-
*
|
|
517
|
-
*
|
|
589
|
+
* Returns an object with:
|
|
590
|
+
* - One constructor per variant (keyed by tag name)
|
|
591
|
+
* - `$is(tag)` — returns a type-guard function
|
|
592
|
+
* - `$match` — exhaustive pattern matching (data-first or data-last)
|
|
593
|
+
*
|
|
594
|
+
* - Use when you have a `TaggedEnum` type and need to construct/inspect values.
|
|
595
|
+
* - Constructors produce **plain objects** (not class instances).
|
|
596
|
+
* - For generic enums, pass a {@link TaggedEnum.WithGenerics} interface.
|
|
597
|
+
*
|
|
598
|
+
* **Example** (basic usage)
|
|
518
599
|
*
|
|
519
|
-
* @example
|
|
520
600
|
* ```ts
|
|
521
601
|
* import { Data } from "effect"
|
|
522
602
|
*
|
|
523
|
-
*
|
|
524
|
-
*
|
|
525
|
-
*
|
|
526
|
-
*
|
|
527
|
-
*
|
|
528
|
-
*
|
|
529
|
-
*
|
|
530
|
-
*
|
|
531
|
-
*
|
|
532
|
-
*
|
|
533
|
-
*
|
|
534
|
-
*
|
|
535
|
-
*
|
|
536
|
-
* const
|
|
603
|
+
* type HttpError = Data.TaggedEnum<{
|
|
604
|
+
* BadRequest: { readonly message: string }
|
|
605
|
+
* NotFound: { readonly url: string }
|
|
606
|
+
* }>
|
|
607
|
+
*
|
|
608
|
+
* const { BadRequest, NotFound, $is, $match } = Data.taggedEnum<HttpError>()
|
|
609
|
+
*
|
|
610
|
+
* const err = NotFound({ url: "/missing" })
|
|
611
|
+
*
|
|
612
|
+
* // Type guard
|
|
613
|
+
* console.log($is("NotFound")(err)) // true
|
|
614
|
+
*
|
|
615
|
+
* // Pattern matching
|
|
616
|
+
* const msg = $match(err, {
|
|
617
|
+
* BadRequest: (e) => e.message,
|
|
618
|
+
* NotFound: (e) => `${e.url} not found`
|
|
619
|
+
* })
|
|
620
|
+
* console.log(msg) // "/missing not found"
|
|
537
621
|
* ```
|
|
538
622
|
*
|
|
539
|
-
*
|
|
623
|
+
* **Example** (generic tagged enum)
|
|
624
|
+
*
|
|
625
|
+
* ```ts
|
|
540
626
|
* import { Data } from "effect"
|
|
541
627
|
*
|
|
542
628
|
* type MyResult<E, A> = Data.TaggedEnum<{
|
|
543
629
|
* Failure: { readonly error: E }
|
|
544
630
|
* Success: { readonly value: A }
|
|
545
631
|
* }>
|
|
546
|
-
* interface
|
|
632
|
+
* interface MyResultDef extends Data.TaggedEnum.WithGenerics<2> {
|
|
547
633
|
* readonly taggedEnum: MyResult<this["A"], this["B"]>
|
|
548
634
|
* }
|
|
549
|
-
* const { Failure, Success } = Data.taggedEnum<
|
|
635
|
+
* const { Failure, Success } = Data.taggedEnum<MyResultDef>()
|
|
636
|
+
*
|
|
637
|
+
* const ok = Success({ value: 42 })
|
|
638
|
+
* // ok: { readonly _tag: "Success"; readonly value: number }
|
|
639
|
+
* ```
|
|
550
640
|
*
|
|
551
|
-
*
|
|
641
|
+
* @see {@link TaggedEnum} — the type-level companion
|
|
642
|
+
* @see {@link TaggedEnum.Constructor} — the returned object type
|
|
643
|
+
* @see {@link TaggedEnum.WithGenerics} — generic enum support
|
|
552
644
|
*
|
|
553
645
|
* @category constructors
|
|
554
646
|
* @since 2.0.0
|
|
@@ -559,44 +651,64 @@ export declare const taggedEnum: {
|
|
|
559
651
|
}>>) => TaggedEnum.Value<TaggedEnum.Kind<Z, A, B>, Tag>;
|
|
560
652
|
} & TaggedEnum.GenericMatchers<Z>>;
|
|
561
653
|
/**
|
|
562
|
-
*
|
|
654
|
+
* Creates runtime constructors, type guards, and pattern matching for a
|
|
655
|
+
* {@link TaggedEnum} type.
|
|
563
656
|
*
|
|
564
|
-
*
|
|
565
|
-
*
|
|
657
|
+
* Returns an object with:
|
|
658
|
+
* - One constructor per variant (keyed by tag name)
|
|
659
|
+
* - `$is(tag)` — returns a type-guard function
|
|
660
|
+
* - `$match` — exhaustive pattern matching (data-first or data-last)
|
|
661
|
+
*
|
|
662
|
+
* - Use when you have a `TaggedEnum` type and need to construct/inspect values.
|
|
663
|
+
* - Constructors produce **plain objects** (not class instances).
|
|
664
|
+
* - For generic enums, pass a {@link TaggedEnum.WithGenerics} interface.
|
|
665
|
+
*
|
|
666
|
+
* **Example** (basic usage)
|
|
566
667
|
*
|
|
567
|
-
* @example
|
|
568
668
|
* ```ts
|
|
569
669
|
* import { Data } from "effect"
|
|
570
670
|
*
|
|
571
|
-
*
|
|
572
|
-
*
|
|
573
|
-
*
|
|
574
|
-
*
|
|
575
|
-
*
|
|
576
|
-
*
|
|
577
|
-
*
|
|
578
|
-
*
|
|
579
|
-
*
|
|
580
|
-
*
|
|
581
|
-
*
|
|
582
|
-
*
|
|
583
|
-
*
|
|
584
|
-
* const
|
|
671
|
+
* type HttpError = Data.TaggedEnum<{
|
|
672
|
+
* BadRequest: { readonly message: string }
|
|
673
|
+
* NotFound: { readonly url: string }
|
|
674
|
+
* }>
|
|
675
|
+
*
|
|
676
|
+
* const { BadRequest, NotFound, $is, $match } = Data.taggedEnum<HttpError>()
|
|
677
|
+
*
|
|
678
|
+
* const err = NotFound({ url: "/missing" })
|
|
679
|
+
*
|
|
680
|
+
* // Type guard
|
|
681
|
+
* console.log($is("NotFound")(err)) // true
|
|
682
|
+
*
|
|
683
|
+
* // Pattern matching
|
|
684
|
+
* const msg = $match(err, {
|
|
685
|
+
* BadRequest: (e) => e.message,
|
|
686
|
+
* NotFound: (e) => `${e.url} not found`
|
|
687
|
+
* })
|
|
688
|
+
* console.log(msg) // "/missing not found"
|
|
585
689
|
* ```
|
|
586
690
|
*
|
|
587
|
-
*
|
|
691
|
+
* **Example** (generic tagged enum)
|
|
692
|
+
*
|
|
693
|
+
* ```ts
|
|
588
694
|
* import { Data } from "effect"
|
|
589
695
|
*
|
|
590
696
|
* type MyResult<E, A> = Data.TaggedEnum<{
|
|
591
697
|
* Failure: { readonly error: E }
|
|
592
698
|
* Success: { readonly value: A }
|
|
593
699
|
* }>
|
|
594
|
-
* interface
|
|
700
|
+
* interface MyResultDef extends Data.TaggedEnum.WithGenerics<2> {
|
|
595
701
|
* readonly taggedEnum: MyResult<this["A"], this["B"]>
|
|
596
702
|
* }
|
|
597
|
-
* const { Failure, Success } = Data.taggedEnum<
|
|
703
|
+
* const { Failure, Success } = Data.taggedEnum<MyResultDef>()
|
|
598
704
|
*
|
|
599
|
-
* const
|
|
705
|
+
* const ok = Success({ value: 42 })
|
|
706
|
+
* // ok: { readonly _tag: "Success"; readonly value: number }
|
|
707
|
+
* ```
|
|
708
|
+
*
|
|
709
|
+
* @see {@link TaggedEnum} — the type-level companion
|
|
710
|
+
* @see {@link TaggedEnum.Constructor} — the returned object type
|
|
711
|
+
* @see {@link TaggedEnum.WithGenerics} — generic enum support
|
|
600
712
|
*
|
|
601
713
|
* @category constructors
|
|
602
714
|
* @since 2.0.0
|
|
@@ -607,44 +719,64 @@ export declare const taggedEnum: {
|
|
|
607
719
|
}>>) => TaggedEnum.Value<TaggedEnum.Kind<Z, A, B, C>, Tag>;
|
|
608
720
|
} & TaggedEnum.GenericMatchers<Z>>;
|
|
609
721
|
/**
|
|
610
|
-
*
|
|
722
|
+
* Creates runtime constructors, type guards, and pattern matching for a
|
|
723
|
+
* {@link TaggedEnum} type.
|
|
724
|
+
*
|
|
725
|
+
* Returns an object with:
|
|
726
|
+
* - One constructor per variant (keyed by tag name)
|
|
727
|
+
* - `$is(tag)` — returns a type-guard function
|
|
728
|
+
* - `$match` — exhaustive pattern matching (data-first or data-last)
|
|
611
729
|
*
|
|
612
|
-
*
|
|
613
|
-
*
|
|
730
|
+
* - Use when you have a `TaggedEnum` type and need to construct/inspect values.
|
|
731
|
+
* - Constructors produce **plain objects** (not class instances).
|
|
732
|
+
* - For generic enums, pass a {@link TaggedEnum.WithGenerics} interface.
|
|
733
|
+
*
|
|
734
|
+
* **Example** (basic usage)
|
|
614
735
|
*
|
|
615
|
-
* @example
|
|
616
736
|
* ```ts
|
|
617
737
|
* import { Data } from "effect"
|
|
618
738
|
*
|
|
619
|
-
*
|
|
620
|
-
*
|
|
621
|
-
*
|
|
622
|
-
*
|
|
623
|
-
*
|
|
624
|
-
*
|
|
625
|
-
*
|
|
626
|
-
*
|
|
627
|
-
*
|
|
628
|
-
*
|
|
629
|
-
*
|
|
630
|
-
*
|
|
631
|
-
*
|
|
632
|
-
* const
|
|
739
|
+
* type HttpError = Data.TaggedEnum<{
|
|
740
|
+
* BadRequest: { readonly message: string }
|
|
741
|
+
* NotFound: { readonly url: string }
|
|
742
|
+
* }>
|
|
743
|
+
*
|
|
744
|
+
* const { BadRequest, NotFound, $is, $match } = Data.taggedEnum<HttpError>()
|
|
745
|
+
*
|
|
746
|
+
* const err = NotFound({ url: "/missing" })
|
|
747
|
+
*
|
|
748
|
+
* // Type guard
|
|
749
|
+
* console.log($is("NotFound")(err)) // true
|
|
750
|
+
*
|
|
751
|
+
* // Pattern matching
|
|
752
|
+
* const msg = $match(err, {
|
|
753
|
+
* BadRequest: (e) => e.message,
|
|
754
|
+
* NotFound: (e) => `${e.url} not found`
|
|
755
|
+
* })
|
|
756
|
+
* console.log(msg) // "/missing not found"
|
|
633
757
|
* ```
|
|
634
758
|
*
|
|
635
|
-
*
|
|
759
|
+
* **Example** (generic tagged enum)
|
|
760
|
+
*
|
|
761
|
+
* ```ts
|
|
636
762
|
* import { Data } from "effect"
|
|
637
763
|
*
|
|
638
764
|
* type MyResult<E, A> = Data.TaggedEnum<{
|
|
639
765
|
* Failure: { readonly error: E }
|
|
640
766
|
* Success: { readonly value: A }
|
|
641
767
|
* }>
|
|
642
|
-
* interface
|
|
768
|
+
* interface MyResultDef extends Data.TaggedEnum.WithGenerics<2> {
|
|
643
769
|
* readonly taggedEnum: MyResult<this["A"], this["B"]>
|
|
644
770
|
* }
|
|
645
|
-
* const { Failure, Success } = Data.taggedEnum<
|
|
771
|
+
* const { Failure, Success } = Data.taggedEnum<MyResultDef>()
|
|
772
|
+
*
|
|
773
|
+
* const ok = Success({ value: 42 })
|
|
774
|
+
* // ok: { readonly _tag: "Success"; readonly value: number }
|
|
775
|
+
* ```
|
|
646
776
|
*
|
|
647
|
-
*
|
|
777
|
+
* @see {@link TaggedEnum} — the type-level companion
|
|
778
|
+
* @see {@link TaggedEnum.Constructor} — the returned object type
|
|
779
|
+
* @see {@link TaggedEnum.WithGenerics} — generic enum support
|
|
648
780
|
*
|
|
649
781
|
* @category constructors
|
|
650
782
|
* @since 2.0.0
|
|
@@ -655,44 +787,64 @@ export declare const taggedEnum: {
|
|
|
655
787
|
}>>) => TaggedEnum.Value<TaggedEnum.Kind<Z, A, B, C, D>, Tag>;
|
|
656
788
|
} & TaggedEnum.GenericMatchers<Z>>;
|
|
657
789
|
/**
|
|
658
|
-
*
|
|
790
|
+
* Creates runtime constructors, type guards, and pattern matching for a
|
|
791
|
+
* {@link TaggedEnum} type.
|
|
659
792
|
*
|
|
660
|
-
*
|
|
661
|
-
*
|
|
793
|
+
* Returns an object with:
|
|
794
|
+
* - One constructor per variant (keyed by tag name)
|
|
795
|
+
* - `$is(tag)` — returns a type-guard function
|
|
796
|
+
* - `$match` — exhaustive pattern matching (data-first or data-last)
|
|
797
|
+
*
|
|
798
|
+
* - Use when you have a `TaggedEnum` type and need to construct/inspect values.
|
|
799
|
+
* - Constructors produce **plain objects** (not class instances).
|
|
800
|
+
* - For generic enums, pass a {@link TaggedEnum.WithGenerics} interface.
|
|
801
|
+
*
|
|
802
|
+
* **Example** (basic usage)
|
|
662
803
|
*
|
|
663
|
-
* @example
|
|
664
804
|
* ```ts
|
|
665
805
|
* import { Data } from "effect"
|
|
666
806
|
*
|
|
667
|
-
*
|
|
668
|
-
*
|
|
669
|
-
*
|
|
670
|
-
*
|
|
671
|
-
*
|
|
672
|
-
*
|
|
673
|
-
*
|
|
674
|
-
*
|
|
675
|
-
*
|
|
676
|
-
*
|
|
677
|
-
*
|
|
678
|
-
*
|
|
679
|
-
*
|
|
680
|
-
* const
|
|
807
|
+
* type HttpError = Data.TaggedEnum<{
|
|
808
|
+
* BadRequest: { readonly message: string }
|
|
809
|
+
* NotFound: { readonly url: string }
|
|
810
|
+
* }>
|
|
811
|
+
*
|
|
812
|
+
* const { BadRequest, NotFound, $is, $match } = Data.taggedEnum<HttpError>()
|
|
813
|
+
*
|
|
814
|
+
* const err = NotFound({ url: "/missing" })
|
|
815
|
+
*
|
|
816
|
+
* // Type guard
|
|
817
|
+
* console.log($is("NotFound")(err)) // true
|
|
818
|
+
*
|
|
819
|
+
* // Pattern matching
|
|
820
|
+
* const msg = $match(err, {
|
|
821
|
+
* BadRequest: (e) => e.message,
|
|
822
|
+
* NotFound: (e) => `${e.url} not found`
|
|
823
|
+
* })
|
|
824
|
+
* console.log(msg) // "/missing not found"
|
|
681
825
|
* ```
|
|
682
826
|
*
|
|
683
|
-
*
|
|
827
|
+
* **Example** (generic tagged enum)
|
|
828
|
+
*
|
|
829
|
+
* ```ts
|
|
684
830
|
* import { Data } from "effect"
|
|
685
831
|
*
|
|
686
832
|
* type MyResult<E, A> = Data.TaggedEnum<{
|
|
687
833
|
* Failure: { readonly error: E }
|
|
688
834
|
* Success: { readonly value: A }
|
|
689
835
|
* }>
|
|
690
|
-
* interface
|
|
836
|
+
* interface MyResultDef extends Data.TaggedEnum.WithGenerics<2> {
|
|
691
837
|
* readonly taggedEnum: MyResult<this["A"], this["B"]>
|
|
692
838
|
* }
|
|
693
|
-
* const { Failure, Success } = Data.taggedEnum<
|
|
839
|
+
* const { Failure, Success } = Data.taggedEnum<MyResultDef>()
|
|
694
840
|
*
|
|
695
|
-
* const
|
|
841
|
+
* const ok = Success({ value: 42 })
|
|
842
|
+
* // ok: { readonly _tag: "Success"; readonly value: number }
|
|
843
|
+
* ```
|
|
844
|
+
*
|
|
845
|
+
* @see {@link TaggedEnum} — the type-level companion
|
|
846
|
+
* @see {@link TaggedEnum.Constructor} — the returned object type
|
|
847
|
+
* @see {@link TaggedEnum.WithGenerics} — generic enum support
|
|
696
848
|
*
|
|
697
849
|
* @category constructors
|
|
698
850
|
* @since 2.0.0
|
|
@@ -702,70 +854,86 @@ export declare const taggedEnum: {
|
|
|
702
854
|
}>(): TaggedEnum.Constructor<A>;
|
|
703
855
|
};
|
|
704
856
|
/**
|
|
705
|
-
*
|
|
857
|
+
* Base class for yieldable errors.
|
|
858
|
+
*
|
|
859
|
+
* Extends `Cause.YieldableError`, so instances can be yielded inside
|
|
860
|
+
* `Effect.gen` to fail the enclosing effect. Fields are passed as a single
|
|
861
|
+
* object; when there are no fields the argument is optional.
|
|
706
862
|
*
|
|
707
|
-
*
|
|
708
|
-
*
|
|
863
|
+
* - Use for errors that do **not** need tag-based discrimination.
|
|
864
|
+
* - If you need `Effect.catchTag` support, use {@link TaggedError} instead.
|
|
865
|
+
* - If a `message` field is provided, it becomes the error's `.message`.
|
|
866
|
+
*
|
|
867
|
+
* **Example** (defining a yieldable error)
|
|
709
868
|
*
|
|
710
|
-
* @example
|
|
711
869
|
* ```ts
|
|
712
870
|
* import { Data, Effect } from "effect"
|
|
713
871
|
*
|
|
714
|
-
* class NetworkError extends Data.Error<{
|
|
872
|
+
* class NetworkError extends Data.Error<{
|
|
873
|
+
* readonly code: number
|
|
874
|
+
* readonly message: string
|
|
875
|
+
* }> {}
|
|
715
876
|
*
|
|
716
877
|
* const program = Effect.gen(function*() {
|
|
717
|
-
* yield* new NetworkError({ code: 500, message: "
|
|
878
|
+
* return yield* new NetworkError({ code: 500, message: "timeout" })
|
|
718
879
|
* })
|
|
719
880
|
*
|
|
881
|
+
* // The effect fails with a NetworkError
|
|
720
882
|
* Effect.runSync(Effect.exit(program))
|
|
721
|
-
* // Exit.fail(NetworkError({ code: 500, message: "Server error" }))
|
|
722
883
|
* ```
|
|
723
884
|
*
|
|
885
|
+
* @see {@link TaggedError} — adds a `_tag` for `Effect.catchTag`
|
|
886
|
+
* @see {@link Class} — non-error data class
|
|
887
|
+
*
|
|
724
888
|
* @category constructors
|
|
725
889
|
* @since 2.0.0
|
|
726
890
|
*/
|
|
727
|
-
export declare const Error: new <A extends Record<string, any> = {}>(args: Types.
|
|
891
|
+
export declare const Error: new <A extends Record<string, any> = {}>(args: Types.VoidIfEmpty<{
|
|
728
892
|
readonly [P in keyof A]: A[P];
|
|
729
|
-
}) => Cause.YieldableError & Readonly<A>;
|
|
893
|
+
}>) => Cause.YieldableError & Readonly<A>;
|
|
730
894
|
/**
|
|
731
|
-
*
|
|
895
|
+
* Creates a tagged error class with a `_tag` discriminator.
|
|
896
|
+
*
|
|
897
|
+
* Like {@link Error}, but instances also carry a `readonly _tag` property,
|
|
898
|
+
* enabling `Effect.catchTag` and `Effect.catchTags` for tag-based recovery.
|
|
899
|
+
* The `_tag` is excluded from the constructor argument.
|
|
900
|
+
*
|
|
901
|
+
* - Use for domain errors in Effect applications where you want
|
|
902
|
+
* discriminated-union error handling.
|
|
903
|
+
* - Yielding an instance inside `Effect.gen` fails the effect with this error.
|
|
732
904
|
*
|
|
733
|
-
*
|
|
734
|
-
* `Cause.YieldableError` and have structural equality semantics.
|
|
905
|
+
* **Example** (tag-based error recovery)
|
|
735
906
|
*
|
|
736
|
-
* @example
|
|
737
907
|
* ```ts
|
|
738
|
-
* import { Data, Effect
|
|
908
|
+
* import { Data, Effect } from "effect"
|
|
739
909
|
*
|
|
740
|
-
* class
|
|
741
|
-
*
|
|
742
|
-
* message: string
|
|
910
|
+
* class NotFound extends Data.TaggedError("NotFound")<{
|
|
911
|
+
* readonly resource: string
|
|
743
912
|
* }> {}
|
|
744
913
|
*
|
|
745
|
-
* class
|
|
746
|
-
*
|
|
747
|
-
* message: string
|
|
914
|
+
* class Forbidden extends Data.TaggedError("Forbidden")<{
|
|
915
|
+
* readonly reason: string
|
|
748
916
|
* }> {}
|
|
749
917
|
*
|
|
750
918
|
* const program = Effect.gen(function*() {
|
|
751
|
-
* yield* new
|
|
919
|
+
* return yield* new NotFound({ resource: "/users/42" })
|
|
752
920
|
* })
|
|
753
921
|
*
|
|
754
|
-
* const
|
|
755
|
-
*
|
|
756
|
-
*
|
|
757
|
-
* "NetworkError",
|
|
758
|
-
* (error) => Effect.succeed(`Network error: ${error.message}`)
|
|
759
|
-
* )
|
|
922
|
+
* const recovered = program.pipe(
|
|
923
|
+
* Effect.catchTag("NotFound", (e) =>
|
|
924
|
+
* Effect.succeed(`missing: ${e.resource}`))
|
|
760
925
|
* )
|
|
761
926
|
* ```
|
|
762
927
|
*
|
|
928
|
+
* @see {@link Error} — without a `_tag`
|
|
929
|
+
* @see {@link TaggedClass} — tagged class that is not an error
|
|
930
|
+
*
|
|
763
931
|
* @category constructors
|
|
764
932
|
* @since 2.0.0
|
|
765
933
|
*/
|
|
766
|
-
export declare const TaggedError: <Tag extends string>(tag: Tag) => new <A extends Record<string, any> = {}>(args: Types.
|
|
934
|
+
export declare const TaggedError: <Tag extends string>(tag: Tag) => new <A extends Record<string, any> = {}>(args: Types.VoidIfEmpty<{
|
|
767
935
|
readonly [P in keyof A as P extends "_tag" ? never : P]: A[P];
|
|
768
|
-
}) => Cause.YieldableError & {
|
|
936
|
+
}>) => Cause.YieldableError & {
|
|
769
937
|
readonly _tag: Tag;
|
|
770
938
|
} & Readonly<A>;
|
|
771
939
|
export {};
|