effect 4.0.0-beta.6 → 4.0.0-beta.60
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 +1391 -927
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +472 -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 +488 -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 +4 -4
- package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +6 -6
- 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 +59 -40
- 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 +1581 -1050
- 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 +1168 -621
- 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 +7 -7
- 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 +134 -54
- 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/src/index.ts
CHANGED
|
@@ -10,7 +10,7 @@ export {
|
|
|
10
10
|
/**
|
|
11
11
|
* @since 2.0.0
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
cast,
|
|
14
14
|
/**
|
|
15
15
|
* @since 2.0.0
|
|
16
16
|
*/
|
|
@@ -444,6 +444,65 @@ export * as Chunk from "./Chunk.ts"
|
|
|
444
444
|
export * as Clock from "./Clock.ts"
|
|
445
445
|
|
|
446
446
|
/**
|
|
447
|
+
* A module for combining two values of the same type into one.
|
|
448
|
+
*
|
|
449
|
+
* A `Combiner<A>` wraps a single binary function `(self: A, that: A) => A`.
|
|
450
|
+
* It describes *how* two values merge but carries no initial/empty value
|
|
451
|
+
* (for that, see {@link Reducer} which extends `Combiner` with an
|
|
452
|
+
* `initialValue`).
|
|
453
|
+
*
|
|
454
|
+
* ## Mental model
|
|
455
|
+
*
|
|
456
|
+
* - **Combiner** – an object with a `combine(self, that)` method that returns
|
|
457
|
+
* a value of the same type.
|
|
458
|
+
* - **Argument order** – `self` is the "left" / accumulator side, `that` is
|
|
459
|
+
* the "right" / incoming side.
|
|
460
|
+
* - **No identity element** – unlike a monoid, a `Combiner` does not require
|
|
461
|
+
* a neutral element. Use {@link Reducer} when you need one.
|
|
462
|
+
* - **Purity** – all combiners produced by this module are pure; they never
|
|
463
|
+
* mutate their arguments.
|
|
464
|
+
* - **Composability** – combiners can be lifted into `Option`, `Struct`,
|
|
465
|
+
* `Tuple`, and other container types via helpers in those modules.
|
|
466
|
+
*
|
|
467
|
+
* ## Common tasks
|
|
468
|
+
*
|
|
469
|
+
* - Create a combiner from any binary function → {@link make}
|
|
470
|
+
* - Swap argument order → {@link flip}
|
|
471
|
+
* - Pick the smaller / larger of two values → {@link min} / {@link max}
|
|
472
|
+
* - Always keep the first or last value → {@link first} / {@link last}
|
|
473
|
+
* - Ignore both values and return a fixed result → {@link constant}
|
|
474
|
+
* - Insert a separator between combined values → {@link intercalate}
|
|
475
|
+
*
|
|
476
|
+
* ## Gotchas
|
|
477
|
+
*
|
|
478
|
+
* - `min` and `max` require an `Order<A>`, not a raw comparator. Import from
|
|
479
|
+
* e.g. `Number.Order` or `String.Order`.
|
|
480
|
+
* - `intercalate` is curried: call it with the separator first, then pass the
|
|
481
|
+
* base combiner.
|
|
482
|
+
* - A `Reducer` (which adds `initialValue`) is also a valid `Combiner` — you
|
|
483
|
+
* can pass a `Reducer` anywhere a `Combiner` is expected.
|
|
484
|
+
*
|
|
485
|
+
* ## Quickstart
|
|
486
|
+
*
|
|
487
|
+
* **Example** (combining strings with a separator)
|
|
488
|
+
*
|
|
489
|
+
* ```ts
|
|
490
|
+
* import { Combiner, String } from "effect"
|
|
491
|
+
*
|
|
492
|
+
* const csv = Combiner.intercalate(",")(String.ReducerConcat)
|
|
493
|
+
*
|
|
494
|
+
* console.log(csv.combine("a", "b"))
|
|
495
|
+
* // Output: "a,b"
|
|
496
|
+
*
|
|
497
|
+
* console.log(csv.combine(csv.combine("a", "b"), "c"))
|
|
498
|
+
* // Output: "a,b,c"
|
|
499
|
+
* ```
|
|
500
|
+
*
|
|
501
|
+
* ## See also
|
|
502
|
+
*
|
|
503
|
+
* - {@link make} – the primary constructor
|
|
504
|
+
* - {@link Combiner} – the core interface
|
|
505
|
+
*
|
|
447
506
|
* @since 4.0.0
|
|
448
507
|
*/
|
|
449
508
|
export * as Combiner from "./Combiner.ts"
|
|
@@ -464,7 +523,7 @@ export * as Combiner from "./Combiner.ts"
|
|
|
464
523
|
* - **parse** – instance method on every `Config` that takes a provider and
|
|
465
524
|
* returns `Effect<T, ConfigError>`.
|
|
466
525
|
* - **Yieldable** – every `Config` can be yielded inside `Effect.gen`. It
|
|
467
|
-
* automatically resolves the current `ConfigProvider` from the
|
|
526
|
+
* automatically resolves the current `ConfigProvider` from the context.
|
|
468
527
|
*
|
|
469
528
|
* ## Common tasks
|
|
470
529
|
*
|
|
@@ -537,7 +596,7 @@ export * as Config from "./Config.ts"
|
|
|
537
596
|
* (e.g. `["database", "host"]`).
|
|
538
597
|
* - **ConfigProvider** – an object with a `load(path)` method that resolves a
|
|
539
598
|
* path to a `Node | undefined`. Providers can be composed and transformed.
|
|
540
|
-
* - **
|
|
599
|
+
* - **Context.Reference** – `ConfigProvider` is registered as a reference
|
|
541
600
|
* service that defaults to `fromEnv()`, so it works without explicit
|
|
542
601
|
* provision.
|
|
543
602
|
* - **SourceError** – the typed error returned when a backing store is
|
|
@@ -678,21 +737,95 @@ export * as ConfigProvider from "./ConfigProvider.ts"
|
|
|
678
737
|
*/
|
|
679
738
|
export * as Console from "./Console.ts"
|
|
680
739
|
|
|
740
|
+
/**
|
|
741
|
+
* This module provides a data structure called `Context` that can be used
|
|
742
|
+
* for dependency injection in effectful programs. It is essentially a table
|
|
743
|
+
* mapping `Service`s identifiers to their implementations, and can be used to
|
|
744
|
+
* manage dependencies in a type-safe way. The `Context` data structure is
|
|
745
|
+
* essentially a way of providing access to a set of related services that can
|
|
746
|
+
* be passed around as a single unit. This module provides functions to create,
|
|
747
|
+
* modify, and query the contents of a `Context`, as well as a number of
|
|
748
|
+
* utility types for working with a `Context`.
|
|
749
|
+
*
|
|
750
|
+
* @since 4.0.0
|
|
751
|
+
*/
|
|
752
|
+
export * as Context from "./Context.ts"
|
|
753
|
+
|
|
681
754
|
/**
|
|
682
755
|
* @since 2.0.0
|
|
683
756
|
*/
|
|
684
757
|
export * as Cron from "./Cron.ts"
|
|
685
758
|
|
|
686
759
|
/**
|
|
687
|
-
*
|
|
688
|
-
*
|
|
689
|
-
*
|
|
760
|
+
* Immutable data constructors with discriminated-union support.
|
|
761
|
+
*
|
|
762
|
+
* The `Data` module provides base classes and factory functions for creating
|
|
763
|
+
* immutable value types with a `_tag` field for discriminated unions.
|
|
764
|
+
* It is the recommended way to define domain models, error types, and
|
|
765
|
+
* lightweight ADTs in Effect applications.
|
|
690
766
|
*
|
|
691
|
-
*
|
|
692
|
-
*
|
|
693
|
-
* -
|
|
694
|
-
*
|
|
695
|
-
* -
|
|
767
|
+
* ## Mental model
|
|
768
|
+
*
|
|
769
|
+
* - **`Class`** — base class for plain immutable data. Extend it with a type
|
|
770
|
+
* parameter to declare the fields. Instances are `Pipeable`.
|
|
771
|
+
* - **`TaggedClass`** — like `Class` but automatically adds a `readonly _tag`
|
|
772
|
+
* string literal field. Useful for single-variant types or ad-hoc tagged
|
|
773
|
+
* values.
|
|
774
|
+
* - **`TaggedEnum`** (type) + **`taggedEnum`** (value) — define a multi-variant
|
|
775
|
+
* discriminated union from a simple record. `taggedEnum()` returns per-variant
|
|
776
|
+
* constructors plus `$is` / `$match` helpers.
|
|
777
|
+
* - **`Error`** — like `Class` but extends `Cause.YieldableError`, so instances
|
|
778
|
+
* can be yielded inside `Effect.gen` to fail the effect.
|
|
779
|
+
* - **`TaggedError`** — like `TaggedClass` but extends `Cause.YieldableError`.
|
|
780
|
+
* Works with `Effect.catchTag` for tag-based error recovery.
|
|
781
|
+
*
|
|
782
|
+
* ## Common tasks
|
|
783
|
+
*
|
|
784
|
+
* - Define a simple value class → {@link Class}
|
|
785
|
+
* - Define a value class with a `_tag` → {@link TaggedClass}
|
|
786
|
+
* - Define a discriminated union with constructors → {@link TaggedEnum} + {@link taggedEnum}
|
|
787
|
+
* - Define a yieldable error → {@link Error}
|
|
788
|
+
* - Define a yieldable tagged error → {@link TaggedError}
|
|
789
|
+
* - Type-guard a tagged value → `$is` from {@link taggedEnum}
|
|
790
|
+
* - Pattern-match on a tagged union → `$match` from {@link taggedEnum}
|
|
791
|
+
*
|
|
792
|
+
* ## Gotchas
|
|
793
|
+
*
|
|
794
|
+
* - Variant records passed to `TaggedEnum` must **not** contain a `_tag` key;
|
|
795
|
+
* the `_tag` is added automatically from the record key.
|
|
796
|
+
* - When a class has no fields, the constructor argument is optional (`void`).
|
|
797
|
+
* - `taggedEnum()` creates **plain objects**, not class instances. If you need
|
|
798
|
+
* class-based variants, use `TaggedClass` or `TaggedError` instead.
|
|
799
|
+
* - `TaggedEnum.WithGenerics` supports up to 4 generic type parameters.
|
|
800
|
+
*
|
|
801
|
+
* ## Quickstart
|
|
802
|
+
*
|
|
803
|
+
* **Example** (tagged union with pattern matching)
|
|
804
|
+
*
|
|
805
|
+
* ```ts
|
|
806
|
+
* import { Data } from "effect"
|
|
807
|
+
*
|
|
808
|
+
* type Shape = Data.TaggedEnum<{
|
|
809
|
+
* Circle: { readonly radius: number }
|
|
810
|
+
* Rect: { readonly width: number; readonly height: number }
|
|
811
|
+
* }>
|
|
812
|
+
* const { Circle, Rect, $match } = Data.taggedEnum<Shape>()
|
|
813
|
+
*
|
|
814
|
+
* const area = $match({
|
|
815
|
+
* Circle: ({ radius }) => Math.PI * radius ** 2,
|
|
816
|
+
* Rect: ({ width, height }) => width * height
|
|
817
|
+
* })
|
|
818
|
+
*
|
|
819
|
+
* console.log(area(Circle({ radius: 5 })))
|
|
820
|
+
* // 78.53981633974483
|
|
821
|
+
* console.log(area(Rect({ width: 3, height: 4 })))
|
|
822
|
+
* // 12
|
|
823
|
+
* ```
|
|
824
|
+
*
|
|
825
|
+
* @see {@link Class} — plain immutable data class
|
|
826
|
+
* @see {@link TaggedEnum} — discriminated union type
|
|
827
|
+
* @see {@link taggedEnum} — discriminated union constructors
|
|
828
|
+
* @see {@link TaggedError} — yieldable tagged error class
|
|
696
829
|
*
|
|
697
830
|
* @since 2.0.0
|
|
698
831
|
*/
|
|
@@ -837,12 +970,14 @@ export * as Duration from "./Duration.ts"
|
|
|
837
970
|
*
|
|
838
971
|
* @example
|
|
839
972
|
* ```ts
|
|
840
|
-
* import { Effect } from "effect"
|
|
973
|
+
* import { Data, Effect } from "effect"
|
|
974
|
+
*
|
|
975
|
+
* class DiscountRateError extends Data.TaggedError("DiscountRateError")<{}> {}
|
|
841
976
|
*
|
|
842
977
|
* // Effect that may fail
|
|
843
978
|
* const divide = (a: number, b: number) =>
|
|
844
979
|
* b === 0
|
|
845
|
-
* ? Effect.fail(new
|
|
980
|
+
* ? Effect.fail(new DiscountRateError())
|
|
846
981
|
* : Effect.succeed(a / b)
|
|
847
982
|
*
|
|
848
983
|
* // Error handling
|
|
@@ -865,6 +1000,11 @@ export * as Duration from "./Duration.ts"
|
|
|
865
1000
|
*/
|
|
866
1001
|
export * as Effect from "./Effect.ts"
|
|
867
1002
|
|
|
1003
|
+
/**
|
|
1004
|
+
* @since 4.0.0
|
|
1005
|
+
*/
|
|
1006
|
+
export * as Effectable from "./Effectable.ts"
|
|
1007
|
+
|
|
868
1008
|
/**
|
|
869
1009
|
* Encoding & decoding for Base64 (RFC4648), Base64Url, and Hex.
|
|
870
1010
|
*
|
|
@@ -873,9 +1013,73 @@ export * as Effect from "./Effect.ts"
|
|
|
873
1013
|
export * as Encoding from "./Encoding.ts"
|
|
874
1014
|
|
|
875
1015
|
/**
|
|
876
|
-
*
|
|
877
|
-
*
|
|
878
|
-
*
|
|
1016
|
+
* Structural and custom equality for Effect values.
|
|
1017
|
+
*
|
|
1018
|
+
* The `Equal` module provides deep structural comparison for primitives, plain
|
|
1019
|
+
* objects, arrays, Maps, Sets, Dates, and RegExps. Types that implement the
|
|
1020
|
+
* {@link Equal} interface can supply their own comparison logic while staying
|
|
1021
|
+
* compatible with the rest of the ecosystem (HashMap, HashSet, etc.).
|
|
1022
|
+
*
|
|
1023
|
+
* ## Mental model
|
|
1024
|
+
*
|
|
1025
|
+
* - **Structural equality** — two values are equal when their contents match,
|
|
1026
|
+
* not when they share the same reference.
|
|
1027
|
+
* - **Hash-first shortcut** — before comparing fields, the module checks
|
|
1028
|
+
* {@link Hash.hash}. If the hashes differ the objects are unequal without
|
|
1029
|
+
* further traversal.
|
|
1030
|
+
* - **Equal interface** — any object that implements both {@link symbol} (the
|
|
1031
|
+
* equality method) and `Hash.symbol` (the hash method) can define custom
|
|
1032
|
+
* comparison logic.
|
|
1033
|
+
* - **Caching** — comparison results for object pairs are cached in a WeakMap.
|
|
1034
|
+
* This makes repeated checks fast but **requires immutability** after the
|
|
1035
|
+
* first comparison.
|
|
1036
|
+
* - **By-reference opt-out** — {@link byReference} and {@link byReferenceUnsafe}
|
|
1037
|
+
* let you switch individual objects back to reference equality when you need
|
|
1038
|
+
* mutable identity semantics.
|
|
1039
|
+
*
|
|
1040
|
+
* ## Common tasks
|
|
1041
|
+
*
|
|
1042
|
+
* - Compare two values → {@link equals}
|
|
1043
|
+
* - Check if a value implements `Equal` → {@link isEqual}
|
|
1044
|
+
* - Use `equals` where an `Equivalence` is expected → {@link asEquivalence}
|
|
1045
|
+
* - Implement custom equality on a class → implement {@link Equal} (see
|
|
1046
|
+
* example on the interface)
|
|
1047
|
+
* - Opt an object out of structural equality → {@link byReference} /
|
|
1048
|
+
* {@link byReferenceUnsafe}
|
|
1049
|
+
*
|
|
1050
|
+
* ## Gotchas
|
|
1051
|
+
*
|
|
1052
|
+
* - Objects **must be treated as immutable** after their first equality check.
|
|
1053
|
+
* Results are cached; mutating an object afterwards yields stale results.
|
|
1054
|
+
* - `NaN` is considered equal to `NaN` (unlike `===`).
|
|
1055
|
+
* - Functions without an `Equal` implementation are compared by reference.
|
|
1056
|
+
* - Map and Set comparisons are order-independent but O(n²) in size.
|
|
1057
|
+
* - If only one of two objects implements `Equal`, they are never equal.
|
|
1058
|
+
*
|
|
1059
|
+
* ## Quickstart
|
|
1060
|
+
*
|
|
1061
|
+
* **Example** (basic structural comparison)
|
|
1062
|
+
*
|
|
1063
|
+
* ```ts
|
|
1064
|
+
* import { Equal } from "effect"
|
|
1065
|
+
*
|
|
1066
|
+
* // Primitives
|
|
1067
|
+
* console.log(Equal.equals(1, 1)) // true
|
|
1068
|
+
* console.log(Equal.equals("a", "b")) // false
|
|
1069
|
+
*
|
|
1070
|
+
* // Objects and arrays
|
|
1071
|
+
* console.log(Equal.equals({ x: 1 }, { x: 1 })) // true
|
|
1072
|
+
* console.log(Equal.equals([1, 2], [1, 2])) // true
|
|
1073
|
+
*
|
|
1074
|
+
* // Curried form
|
|
1075
|
+
* const is42 = Equal.equals(42)
|
|
1076
|
+
* console.log(is42(42)) // true
|
|
1077
|
+
* console.log(is42(0)) // false
|
|
1078
|
+
* ```
|
|
1079
|
+
*
|
|
1080
|
+
* @see {@link equals} — the main comparison function
|
|
1081
|
+
* @see {@link Equal} — the interface for custom equality
|
|
1082
|
+
* @see {@link Hash} — the companion hashing module
|
|
879
1083
|
*
|
|
880
1084
|
* @since 2.0.0
|
|
881
1085
|
*/
|
|
@@ -901,7 +1105,7 @@ export * as Equal from "./Equal.ts"
|
|
|
901
1105
|
* - Using strict equality (`===`) → {@link strictEqual}
|
|
902
1106
|
* - Combining multiple equivalences (AND logic) → {@link combine}, {@link combineAll}
|
|
903
1107
|
* - Transforming input before comparison → {@link mapInput}
|
|
904
|
-
* - Creating equivalences for structured types → {@link Struct}, {@link Tuple}, {@link
|
|
1108
|
+
* - Creating equivalences for structured types → {@link Struct}, {@link Tuple}, {@link Array_}, {@link Record}
|
|
905
1109
|
*
|
|
906
1110
|
* ## Gotchas
|
|
907
1111
|
*
|
|
@@ -929,13 +1133,65 @@ export * as Equal from "./Equal.ts"
|
|
|
929
1133
|
* ## See also
|
|
930
1134
|
*
|
|
931
1135
|
* - {@link Equal} - For structural equality (can convert to Equivalence)
|
|
932
|
-
* - {@link
|
|
1136
|
+
* - {@link Array_.dedupeWith} - Remove duplicates using an equivalence
|
|
933
1137
|
* - {@link Chunk} - Collections that use equivalences for operations
|
|
934
1138
|
*
|
|
935
1139
|
* @since 2.0.0
|
|
936
1140
|
*/
|
|
937
1141
|
export * as Equivalence from "./Equivalence.ts"
|
|
938
1142
|
|
|
1143
|
+
/**
|
|
1144
|
+
* Pluggable error reporting for Effect programs.
|
|
1145
|
+
*
|
|
1146
|
+
* Reporting is triggered by `Effect.withErrorReporting`,
|
|
1147
|
+
* `ErrorReporter.report`, or built-in reporting boundaries in the HTTP and
|
|
1148
|
+
* RPC server modules.
|
|
1149
|
+
*
|
|
1150
|
+
* Each reporter receives a structured callback with the failing `Cause`, a
|
|
1151
|
+
* pretty-printed `Error`, severity, and any extra attributes attached to the
|
|
1152
|
+
* original error — making it straightforward to forward failures to Sentry,
|
|
1153
|
+
* Datadog, or a custom logging backend.
|
|
1154
|
+
*
|
|
1155
|
+
* Use the annotation symbols (`ignore`, `severity`, `attributes`) on your
|
|
1156
|
+
* error classes to control reporting behavior per-error.
|
|
1157
|
+
*
|
|
1158
|
+
* @example
|
|
1159
|
+
* ```ts
|
|
1160
|
+
* import { Data, Effect, ErrorReporter } from "effect"
|
|
1161
|
+
*
|
|
1162
|
+
* // A reporter that logs to the console
|
|
1163
|
+
* const consoleReporter = ErrorReporter.make(({ error, severity }) => {
|
|
1164
|
+
* console.error(`[${severity}]`, error.message)
|
|
1165
|
+
* })
|
|
1166
|
+
*
|
|
1167
|
+
* // An error that should be ignored by reporters
|
|
1168
|
+
* class NotFoundError extends Data.TaggedError("NotFoundError")<{}> {
|
|
1169
|
+
* readonly [ErrorReporter.ignore] = true
|
|
1170
|
+
* }
|
|
1171
|
+
*
|
|
1172
|
+
* // An error with custom severity and attributes
|
|
1173
|
+
* class RateLimitError extends Data.TaggedError("RateLimitError")<{
|
|
1174
|
+
* readonly retryAfter: number
|
|
1175
|
+
* }> {
|
|
1176
|
+
* readonly [ErrorReporter.severity] = "Warn" as const
|
|
1177
|
+
* readonly [ErrorReporter.attributes] = {
|
|
1178
|
+
* retryAfter: this.retryAfter
|
|
1179
|
+
* }
|
|
1180
|
+
* }
|
|
1181
|
+
*
|
|
1182
|
+
* // Opt in to error reporting with Effect.withErrorReporting
|
|
1183
|
+
* const program = Effect.gen(function*() {
|
|
1184
|
+
* return yield* new RateLimitError({ retryAfter: 60 })
|
|
1185
|
+
* }).pipe(
|
|
1186
|
+
* Effect.withErrorReporting,
|
|
1187
|
+
* Effect.provide(ErrorReporter.layer([consoleReporter]))
|
|
1188
|
+
* )
|
|
1189
|
+
* ```
|
|
1190
|
+
*
|
|
1191
|
+
* @since 4.0.0
|
|
1192
|
+
*/
|
|
1193
|
+
export * as ErrorReporter from "./ErrorReporter.ts"
|
|
1194
|
+
|
|
939
1195
|
/**
|
|
940
1196
|
* @since 3.16.0
|
|
941
1197
|
*/
|
|
@@ -1137,6 +1393,57 @@ export * as FileSystem from "./FileSystem.ts"
|
|
|
1137
1393
|
export * as Filter from "./Filter.ts"
|
|
1138
1394
|
|
|
1139
1395
|
/**
|
|
1396
|
+
* Utilities for converting arbitrary JavaScript values into human-readable
|
|
1397
|
+
* strings, with support for circular references, redaction, and common JS
|
|
1398
|
+
* types that `JSON.stringify` handles poorly.
|
|
1399
|
+
*
|
|
1400
|
+
* Mental model:
|
|
1401
|
+
* - A `Formatter<Value, Format>` is a callable `(value: Value) => Format`.
|
|
1402
|
+
* - {@link format} is the general-purpose pretty-printer: it handles
|
|
1403
|
+
* primitives, arrays, objects, `BigInt`, `Symbol`, `Date`, `RegExp`,
|
|
1404
|
+
* `Set`, `Map`, class instances, and circular references.
|
|
1405
|
+
* - {@link formatJson} is a safe `JSON.stringify` wrapper that silently
|
|
1406
|
+
* drops circular references and applies redaction.
|
|
1407
|
+
* - Both functions accept a `space` option for indentation control.
|
|
1408
|
+
*
|
|
1409
|
+
* Common tasks:
|
|
1410
|
+
* - Pretty-print any value for debugging / logging -> {@link format}
|
|
1411
|
+
* - Serialize to JSON safely (no circular throws) -> {@link formatJson}
|
|
1412
|
+
* - Format a single object property key -> {@link formatPropertyKey}
|
|
1413
|
+
* - Format a property path like `["a"]["b"]` -> {@link formatPath}
|
|
1414
|
+
* - Format a `Date` to ISO string safely -> {@link formatDate}
|
|
1415
|
+
*
|
|
1416
|
+
* Gotchas:
|
|
1417
|
+
* - {@link format} output is **not** valid JSON; use {@link formatJson} when
|
|
1418
|
+
* you need parseable JSON.
|
|
1419
|
+
* - {@link format} calls `toString()` on objects by default; pass
|
|
1420
|
+
* `ignoreToString: true` to disable.
|
|
1421
|
+
* - {@link formatJson} silently omits circular references (the key is
|
|
1422
|
+
* dropped from the output).
|
|
1423
|
+
* - Values implementing the `Redactable` protocol are automatically
|
|
1424
|
+
* redacted by both {@link format} and {@link formatJson}.
|
|
1425
|
+
*
|
|
1426
|
+
* **Example** (Pretty-print a value)
|
|
1427
|
+
*
|
|
1428
|
+
* ```ts
|
|
1429
|
+
* import { Formatter } from "effect"
|
|
1430
|
+
*
|
|
1431
|
+
* const obj = { name: "Alice", scores: [100, 97] }
|
|
1432
|
+
* console.log(Formatter.format(obj))
|
|
1433
|
+
* // {"name":"Alice","scores":[100,97]}
|
|
1434
|
+
*
|
|
1435
|
+
* console.log(Formatter.format(obj, { space: 2 }))
|
|
1436
|
+
* // {
|
|
1437
|
+
* // "name": "Alice",
|
|
1438
|
+
* // "scores": [
|
|
1439
|
+
* // 100,
|
|
1440
|
+
* // 97
|
|
1441
|
+
* // ]
|
|
1442
|
+
* // }
|
|
1443
|
+
* ```
|
|
1444
|
+
*
|
|
1445
|
+
* See also: {@link Formatter}, {@link format}, {@link formatJson}
|
|
1446
|
+
*
|
|
1140
1447
|
* @since 4.0.0
|
|
1141
1448
|
*/
|
|
1142
1449
|
export * as Formatter from "./Formatter.ts"
|
|
@@ -1270,7 +1577,7 @@ export * as Inspectable from "./Inspectable.ts"
|
|
|
1270
1577
|
*
|
|
1271
1578
|
* @example
|
|
1272
1579
|
* ```ts
|
|
1273
|
-
* import { Iterable } from "effect"
|
|
1580
|
+
* import { Iterable, Option } from "effect"
|
|
1274
1581
|
*
|
|
1275
1582
|
* // Create iterables
|
|
1276
1583
|
* const numbers = Iterable.range(1, 5)
|
|
@@ -1280,7 +1587,7 @@ export * as Inspectable from "./Inspectable.ts"
|
|
|
1280
1587
|
* console.log(Array.from(filtered)) // [6, 8, 10]
|
|
1281
1588
|
*
|
|
1282
1589
|
* // Infinite iterables
|
|
1283
|
-
* const fibonacci = Iterable.unfold([0, 1], ([a, b]) => [a, [b, a + b]])
|
|
1590
|
+
* const fibonacci = Iterable.unfold([0, 1], ([a, b]) => Option.some([a, [b, a + b]]))
|
|
1284
1591
|
* const first10 = Iterable.take(fibonacci, 10)
|
|
1285
1592
|
* console.log(Array.from(first10)) // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
|
|
1286
1593
|
* ```
|
|
@@ -1401,6 +1708,89 @@ export * as JsonPatch from "./JsonPatch.ts"
|
|
|
1401
1708
|
export * as JsonPointer from "./JsonPointer.ts"
|
|
1402
1709
|
|
|
1403
1710
|
/**
|
|
1711
|
+
* Convert JSON Schema documents between dialects (Draft-07, Draft-2020-12,
|
|
1712
|
+
* OpenAPI 3.0, OpenAPI 3.1). All dialects are normalized to an internal
|
|
1713
|
+
* `Document<"draft-2020-12">` representation before optional conversion to
|
|
1714
|
+
* an output dialect.
|
|
1715
|
+
*
|
|
1716
|
+
* ## Mental model
|
|
1717
|
+
*
|
|
1718
|
+
* - **JsonSchema** — a plain object with string keys; represents any single
|
|
1719
|
+
* JSON Schema node.
|
|
1720
|
+
* - **Dialect** — one of `"draft-07"`, `"draft-2020-12"`, `"openapi-3.1"`,
|
|
1721
|
+
* or `"openapi-3.0"`.
|
|
1722
|
+
* - **Document** — a structured container holding a root `schema`, its
|
|
1723
|
+
* companion `definitions`, and the target `dialect`. Definitions are
|
|
1724
|
+
* stored separately from the root schema so they can be relocated when
|
|
1725
|
+
* converting between dialects.
|
|
1726
|
+
* - **MultiDocument** — same as `Document` but carries multiple root
|
|
1727
|
+
* schemas (at least one). Useful when generating several schemas that
|
|
1728
|
+
* share a single definitions pool.
|
|
1729
|
+
* - **Definitions** — a `Record<string, JsonSchema>` keyed by definition
|
|
1730
|
+
* name. The ref pointer prefix depends on the dialect.
|
|
1731
|
+
* - **`from*` functions** — parse a raw JSON Schema object into the
|
|
1732
|
+
* canonical `Document<"draft-2020-12">`.
|
|
1733
|
+
* - **`to*` functions** — convert from the canonical representation to a
|
|
1734
|
+
* specific output dialect.
|
|
1735
|
+
*
|
|
1736
|
+
* ## Common tasks
|
|
1737
|
+
*
|
|
1738
|
+
* - Parse a Draft-07 schema → {@link fromSchemaDraft07}
|
|
1739
|
+
* - Parse a Draft-2020-12 schema → {@link fromSchemaDraft2020_12}
|
|
1740
|
+
* - Parse an OpenAPI 3.1 schema → {@link fromSchemaOpenApi3_1}
|
|
1741
|
+
* - Parse an OpenAPI 3.0 schema → {@link fromSchemaOpenApi3_0}
|
|
1742
|
+
* - Convert to Draft-07 output → {@link toDocumentDraft07}
|
|
1743
|
+
* - Convert to OpenAPI 3.1 output → {@link toMultiDocumentOpenApi3_1}
|
|
1744
|
+
* - Resolve a `$ref` against definitions → {@link resolve$ref}
|
|
1745
|
+
* - Inline the root `$ref` of a document → {@link resolveTopLevel$ref}
|
|
1746
|
+
*
|
|
1747
|
+
* ## Gotchas
|
|
1748
|
+
*
|
|
1749
|
+
* - All `from*` functions normalize to `Document<"draft-2020-12">`
|
|
1750
|
+
* regardless of the input dialect.
|
|
1751
|
+
* - Unsupported or unrecognized JSON Schema keywords are silently dropped
|
|
1752
|
+
* during conversion.
|
|
1753
|
+
* - Draft-07 tuple syntax (`items` as array + `additionalItems`) is
|
|
1754
|
+
* converted to 2020-12 form (`prefixItems` + `items`), and vice-versa.
|
|
1755
|
+
* - OpenAPI 3.0 `nullable: true` is expanded into `type` arrays or
|
|
1756
|
+
* `anyOf` unions. The `nullable` keyword is removed.
|
|
1757
|
+
* - OpenAPI 3.0 singular `example` is converted to `examples` (array).
|
|
1758
|
+
* - {@link resolve$ref} only looks up the last segment of the ref path in
|
|
1759
|
+
* the definitions map; it does not follow arbitrary JSON Pointer paths.
|
|
1760
|
+
*
|
|
1761
|
+
* ## Quickstart
|
|
1762
|
+
*
|
|
1763
|
+
* **Example** (Parse a Draft-07 schema and convert to Draft-07 output)
|
|
1764
|
+
*
|
|
1765
|
+
* ```ts
|
|
1766
|
+
* import { JsonSchema } from "effect"
|
|
1767
|
+
*
|
|
1768
|
+
* const raw: JsonSchema.JsonSchema = {
|
|
1769
|
+
* type: "object",
|
|
1770
|
+
* properties: {
|
|
1771
|
+
* name: { type: "string" }
|
|
1772
|
+
* },
|
|
1773
|
+
* required: ["name"]
|
|
1774
|
+
* }
|
|
1775
|
+
*
|
|
1776
|
+
* // Parse into canonical form
|
|
1777
|
+
* const doc = JsonSchema.fromSchemaDraft07(raw)
|
|
1778
|
+
*
|
|
1779
|
+
* // Convert back to Draft-07
|
|
1780
|
+
* const draft07 = JsonSchema.toDocumentDraft07(doc)
|
|
1781
|
+
*
|
|
1782
|
+
* console.log(draft07.dialect) // "draft-07"
|
|
1783
|
+
* console.log(draft07.schema) // { type: "object", properties: { name: { type: "string" } }, required: ["name"] }
|
|
1784
|
+
* ```
|
|
1785
|
+
*
|
|
1786
|
+
* ## See also
|
|
1787
|
+
*
|
|
1788
|
+
* - {@link Document}
|
|
1789
|
+
* - {@link MultiDocument}
|
|
1790
|
+
* - {@link fromSchemaDraft07}
|
|
1791
|
+
* - {@link toDocumentDraft07}
|
|
1792
|
+
* - {@link resolve$ref}
|
|
1793
|
+
*
|
|
1404
1794
|
* @since 4.0.0
|
|
1405
1795
|
*/
|
|
1406
1796
|
export * as JsonSchema from "./JsonSchema.ts"
|
|
@@ -1943,6 +2333,73 @@ export * as MutableList from "./MutableList.ts"
|
|
|
1943
2333
|
*/
|
|
1944
2334
|
export * as MutableRef from "./MutableRef.ts"
|
|
1945
2335
|
|
|
2336
|
+
/**
|
|
2337
|
+
* Lightweight wrapper types that prevent accidental mixing of structurally
|
|
2338
|
+
* identical values (e.g. `UserId` vs `OrderId`, both `string` at runtime).
|
|
2339
|
+
*
|
|
2340
|
+
* **Mental model**
|
|
2341
|
+
*
|
|
2342
|
+
* - **Newtype** — a compile-time wrapper around a **carrier** type (the
|
|
2343
|
+
* underlying primitive or object). At runtime the value is unchanged; the
|
|
2344
|
+
* tag exists only in the type system.
|
|
2345
|
+
* - **Key** — a unique string literal that distinguishes one newtype from
|
|
2346
|
+
* another (e.g. `"Label"`, `"UserId"`).
|
|
2347
|
+
* - **Carrier** — the underlying type the newtype wraps (e.g. `string`,
|
|
2348
|
+
* `number`).
|
|
2349
|
+
* - **Iso** — a lossless two-way conversion between a newtype and its carrier,
|
|
2350
|
+
* created with {@link makeIso}. Use `iso.set(carrier)` to wrap and
|
|
2351
|
+
* `iso.get(newtype)` to unwrap.
|
|
2352
|
+
*
|
|
2353
|
+
* **Common tasks**
|
|
2354
|
+
*
|
|
2355
|
+
* - Define a newtype → declare an `interface` extending
|
|
2356
|
+
* `Newtype.Newtype<Key, Carrier>`
|
|
2357
|
+
* - Wrap / unwrap values → {@link makeIso} (returns an `Optic.Iso`)
|
|
2358
|
+
* - Unwrap only → {@link value}
|
|
2359
|
+
* - Lift an `Equivalence` → {@link makeEquivalence}
|
|
2360
|
+
* - Lift an `Order` → {@link makeOrder}
|
|
2361
|
+
* - Lift a `Combiner` → {@link makeCombiner}
|
|
2362
|
+
* - Lift a `Reducer` → {@link makeReducer}
|
|
2363
|
+
*
|
|
2364
|
+
* **Gotchas**
|
|
2365
|
+
*
|
|
2366
|
+
* - Newtypes are **purely compile-time**. There is zero runtime overhead;
|
|
2367
|
+
* `value` and `makeIso` use identity casts.
|
|
2368
|
+
* - Two newtypes sharing the same key string will be assignable to each other.
|
|
2369
|
+
* Choose unique key strings.
|
|
2370
|
+
* - A newtype value is **not** assignable to its carrier type without
|
|
2371
|
+
* explicitly unwrapping via {@link value} or an iso.
|
|
2372
|
+
*
|
|
2373
|
+
* **Quickstart**
|
|
2374
|
+
*
|
|
2375
|
+
* **Example** (defining and using a newtype)
|
|
2376
|
+
*
|
|
2377
|
+
* ```ts
|
|
2378
|
+
* import { Newtype } from "effect"
|
|
2379
|
+
*
|
|
2380
|
+
* // 1. Define a newtype
|
|
2381
|
+
* interface Label extends Newtype.Newtype<"Label", string> {}
|
|
2382
|
+
*
|
|
2383
|
+
* // 2. Create an iso for wrapping/unwrapping
|
|
2384
|
+
* const labelIso = Newtype.makeIso<Label>()
|
|
2385
|
+
*
|
|
2386
|
+
* // 3. Wrap a raw string
|
|
2387
|
+
* const myLabel: Label = labelIso.set("hello")
|
|
2388
|
+
*
|
|
2389
|
+
* // 4. Unwrap back to string
|
|
2390
|
+
* const raw: string = labelIso.get(myLabel) // "hello"
|
|
2391
|
+
* ```
|
|
2392
|
+
*
|
|
2393
|
+
* **See also**
|
|
2394
|
+
*
|
|
2395
|
+
* - {@link Newtype} (the tagged interface)
|
|
2396
|
+
* - {@link makeIso} (wrap and unwrap)
|
|
2397
|
+
* - {@link value} (unwrap only)
|
|
2398
|
+
*
|
|
2399
|
+
* @since 4.0.0
|
|
2400
|
+
*/
|
|
2401
|
+
export * as Newtype from "./Newtype.ts"
|
|
2402
|
+
|
|
1946
2403
|
/**
|
|
1947
2404
|
* @since 2.0.0
|
|
1948
2405
|
*
|
|
@@ -2075,37 +2532,6 @@ export * as MutableRef from "./MutableRef.ts"
|
|
|
2075
2532
|
*/
|
|
2076
2533
|
export * as NonEmptyIterable from "./NonEmptyIterable.ts"
|
|
2077
2534
|
|
|
2078
|
-
/**
|
|
2079
|
-
* This module provides small, allocation-free utilities for working with values of type
|
|
2080
|
-
* `A | null`, where `null` means "no value".
|
|
2081
|
-
*
|
|
2082
|
-
* Why not `Option<A>`?
|
|
2083
|
-
* In TypeScript, `Option<A>` is often unnecessary. If `null` already models absence
|
|
2084
|
-
* in your domain, using `A | null` keeps types simple, avoids extra wrappers, and
|
|
2085
|
-
* reduces overhead. The key is that `A` itself must not include `null`; in this
|
|
2086
|
-
* module `null` is reserved to mean "no value".
|
|
2087
|
-
*
|
|
2088
|
-
* When to use `A | null`:
|
|
2089
|
-
* - Absence can be represented by `null` in your domain model.
|
|
2090
|
-
* - You do not need to distinguish between "no value" and "value is null".
|
|
2091
|
-
* - You want straightforward ergonomics and zero extra allocations.
|
|
2092
|
-
*
|
|
2093
|
-
* When to prefer `Option<A>`:
|
|
2094
|
-
* - You must distinguish `None` from `Some(null)` (that is, `null` is a valid
|
|
2095
|
-
* payload and carries meaning on its own).
|
|
2096
|
-
* - You need a tagged representation for serialization or pattern matching across
|
|
2097
|
-
* boundaries where `null` would be ambiguous.
|
|
2098
|
-
* - You want the richer `Option` API and are comfortable with the extra wrapper.
|
|
2099
|
-
*
|
|
2100
|
-
* Lawfulness note:
|
|
2101
|
-
* All helpers treat `null` as absence. Do not use these utilities with payloads
|
|
2102
|
-
* where `A` can itself be `null`, or you will lose information. If you need to
|
|
2103
|
-
* carry `null` as a valid payload, use `Option<A>` instead.
|
|
2104
|
-
*
|
|
2105
|
-
* @since 4.0.0
|
|
2106
|
-
*/
|
|
2107
|
-
export * as NullOr from "./NullOr.ts"
|
|
2108
|
-
|
|
2109
2535
|
/**
|
|
2110
2536
|
* This module provides utility functions and type class instances for working with the `number` type in TypeScript.
|
|
2111
2537
|
* It includes functions for basic arithmetic operations.
|
|
@@ -2115,11 +2541,100 @@ export * as NullOr from "./NullOr.ts"
|
|
|
2115
2541
|
export * as Number from "./Number.ts"
|
|
2116
2542
|
|
|
2117
2543
|
/**
|
|
2118
|
-
*
|
|
2119
|
-
*
|
|
2120
|
-
*
|
|
2544
|
+
* Composable, immutable accessors for reading and updating nested data
|
|
2545
|
+
* structures without mutation.
|
|
2546
|
+
*
|
|
2547
|
+
* **Mental model**
|
|
2548
|
+
*
|
|
2549
|
+
* - **Optic** — a first-class reference to a piece inside a larger structure.
|
|
2550
|
+
* Compose optics to reach deeply nested values.
|
|
2551
|
+
* - **Iso** — lossless two-way conversion (`get`/`set`) between `S` and `A`.
|
|
2552
|
+
* Extends both {@link Lens} and {@link Prism}.
|
|
2553
|
+
* - **Lens** — focuses on exactly one part of `S`. `get` always succeeds;
|
|
2554
|
+
* `replace` needs the original `S` to produce the updated whole.
|
|
2555
|
+
* - **Prism** — focuses on a part that may not be present (e.g. a union
|
|
2556
|
+
* variant). `getResult` can fail; `set` builds a new `S` from `A` alone.
|
|
2557
|
+
* - **Optional** — the most general optic: both reading and writing can fail.
|
|
2558
|
+
* - **Traversal** — focuses on zero or more elements of an array-like
|
|
2559
|
+
* structure. Technically `Optional<S, ReadonlyArray<A>>`.
|
|
2560
|
+
* - **Hierarchy** (strongest → weakest):
|
|
2561
|
+
* `Iso > Lens | Prism > Optional`. Composing a weaker optic with any other
|
|
2562
|
+
* produces the weaker kind.
|
|
2563
|
+
*
|
|
2564
|
+
* **Common tasks**
|
|
2565
|
+
*
|
|
2566
|
+
* - Start a chain → {@link id} (identity iso)
|
|
2567
|
+
* - Drill into a struct key → `.key("name")` / `.optionalKey("name")`
|
|
2568
|
+
* - Drill into a key that may not exist → `.at("name")`
|
|
2569
|
+
* - Narrow a tagged union → `.tag("MyVariant")`
|
|
2570
|
+
* - Narrow by type guard → `.refine(guard)`
|
|
2571
|
+
* - Add validation → `.check(Schema.isGreaterThan(0))`
|
|
2572
|
+
* - Filter out `undefined` → `.notUndefined()`
|
|
2573
|
+
* - Pick/omit struct keys → `.pick(["a","b"])` / `.omit(["c"])`
|
|
2574
|
+
* - Traverse array elements → `.forEach(el => el.key("field"))`
|
|
2575
|
+
* - Build an iso → {@link makeIso}
|
|
2576
|
+
* - Build a lens → {@link makeLens}
|
|
2577
|
+
* - Build a prism → {@link makePrism}, {@link fromChecks}
|
|
2578
|
+
* - Build an optional → {@link makeOptional}
|
|
2579
|
+
* - Focus into `Option.Some` → {@link some}
|
|
2580
|
+
* - Focus into `Result.Success`/`Failure` → {@link success}, {@link failure}
|
|
2581
|
+
* - Convert record ↔ entries → {@link entries}
|
|
2582
|
+
* - Extract all traversal elements → {@link getAll}
|
|
2583
|
+
*
|
|
2584
|
+
* **Gotchas**
|
|
2585
|
+
*
|
|
2586
|
+
* - Updates are structurally persistent: only nodes on the path are cloned.
|
|
2587
|
+
* Unrelated branches keep referential identity. However, **no-op updates
|
|
2588
|
+
* may still allocate** a new root — do not rely on reference identity to
|
|
2589
|
+
* detect no-ops.
|
|
2590
|
+
* - `replace` silently returns the original `S` when the optic cannot focus
|
|
2591
|
+
* (e.g. wrong tag). Use `replaceResult` for explicit failure.
|
|
2592
|
+
* - `modify` also returns the original `S` on focus failure — it never throws.
|
|
2593
|
+
* - `.key()` and `.optionalKey()` do not work on union types (compile error).
|
|
2594
|
+
* - Only plain objects (`Object.prototype` or `null` prototype) and arrays can
|
|
2595
|
+
* be cloned. Class instances cause a runtime error on `replace`/`modify`.
|
|
2596
|
+
*
|
|
2597
|
+
* **Quickstart**
|
|
2598
|
+
*
|
|
2599
|
+
* **Example** (reading and updating nested state)
|
|
2600
|
+
*
|
|
2601
|
+
* ```ts
|
|
2602
|
+
* import { Optic } from "effect"
|
|
2603
|
+
*
|
|
2604
|
+
* type State = { user: { name: string; age: number } }
|
|
2605
|
+
*
|
|
2606
|
+
* const _age = Optic.id<State>().key("user").key("age")
|
|
2607
|
+
*
|
|
2608
|
+
* const s1: State = { user: { name: "Alice", age: 30 } }
|
|
2609
|
+
*
|
|
2610
|
+
* // Read
|
|
2611
|
+
* console.log(_age.get(s1))
|
|
2612
|
+
* // Output: 30
|
|
2613
|
+
*
|
|
2614
|
+
* // Update immutably
|
|
2615
|
+
* const s2 = _age.replace(31, s1)
|
|
2616
|
+
* console.log(s2)
|
|
2617
|
+
* // Output: { user: { name: "Alice", age: 31 } }
|
|
2618
|
+
*
|
|
2619
|
+
* // Modify with a function
|
|
2620
|
+
* const s3 = _age.modify((n) => n + 1)(s1)
|
|
2621
|
+
* console.log(s3)
|
|
2622
|
+
* // Output: { user: { name: "Alice", age: 31 } }
|
|
2623
|
+
*
|
|
2624
|
+
* // Referential identity is preserved for unrelated branches
|
|
2625
|
+
* console.log(s2.user !== s1.user)
|
|
2626
|
+
* // Output: true (on the path)
|
|
2627
|
+
* ```
|
|
2628
|
+
*
|
|
2629
|
+
* **See also**
|
|
2630
|
+
*
|
|
2631
|
+
* - {@link id} — entry point for optic chains
|
|
2632
|
+
* - {@link Lens} / {@link Prism} / {@link Optional} — core optic types
|
|
2633
|
+
* - {@link Traversal} / {@link getAll} — multi-focus optics
|
|
2634
|
+
* - {@link some} / {@link success} / {@link failure} — built-in prisms
|
|
2121
2635
|
*
|
|
2122
2636
|
* @since 4.0.0
|
|
2637
|
+
* @module
|
|
2123
2638
|
*/
|
|
2124
2639
|
export * as Optic from "./Optic.ts"
|
|
2125
2640
|
|
|
@@ -2156,7 +2671,7 @@ export * as Optic from "./Optic.ts"
|
|
|
2156
2671
|
* **Gotchas**
|
|
2157
2672
|
*
|
|
2158
2673
|
* - `Option.some(null)` is a valid `Some`; use {@link fromNullishOr} to treat `null`/`undefined` as `None`
|
|
2159
|
-
* - {@link filterMap}
|
|
2674
|
+
* - {@link filterMap} uses a `Filter` callback that returns `Result`
|
|
2160
2675
|
* - {@link getOrThrow} throws a generic `Error`; prefer {@link getOrThrowWith} for custom errors
|
|
2161
2676
|
* - `None` is a singleton; compare with {@link isNone}, not `===`
|
|
2162
2677
|
* - When yielded in `Effect.gen`, a `None` becomes a `NoSuchElementError` defect
|
|
@@ -2281,6 +2796,11 @@ export * as Order from "./Order.ts"
|
|
|
2281
2796
|
*/
|
|
2282
2797
|
export * as Ordering from "./Ordering.ts"
|
|
2283
2798
|
|
|
2799
|
+
/**
|
|
2800
|
+
* @since 4.0.0
|
|
2801
|
+
*/
|
|
2802
|
+
export * as PartitionedSemaphore from "./PartitionedSemaphore.ts"
|
|
2803
|
+
|
|
2284
2804
|
/**
|
|
2285
2805
|
* @since 4.0.0
|
|
2286
2806
|
*/
|
|
@@ -2442,6 +2962,71 @@ export * as RcRef from "./RcRef.ts"
|
|
|
2442
2962
|
export * as Record from "./Record.ts"
|
|
2443
2963
|
|
|
2444
2964
|
/**
|
|
2965
|
+
* Context-aware redaction for sensitive values.
|
|
2966
|
+
*
|
|
2967
|
+
* The `Redactable` module provides a protocol for objects that need to present
|
|
2968
|
+
* alternative representations of themselves depending on the runtime context.
|
|
2969
|
+
* Typical use cases include masking secrets, tokens, or personal data in logs, traces,
|
|
2970
|
+
* and serialized output.
|
|
2971
|
+
*
|
|
2972
|
+
* ## Mental model
|
|
2973
|
+
*
|
|
2974
|
+
* - **Redactable** - an object that implements `[symbolRedactable]`, a method
|
|
2975
|
+
* that receives the current `Context` and returns a replacement value.
|
|
2976
|
+
* - **symbolRedactable** - the well-known `Symbol` key that marks an object as
|
|
2977
|
+
* redactable.
|
|
2978
|
+
* - **redact** - the primary entry point: pass any value and get back either its
|
|
2979
|
+
* redacted form (if it is `Redactable`) or the original value unchanged.
|
|
2980
|
+
* - **getRedacted** - lower-level helper that calls `[symbolRedactable]` directly
|
|
2981
|
+
* on a value already known to be `Redactable`.
|
|
2982
|
+
* - The `Context` passed to `[symbolRedactable]` comes from the current fiber.
|
|
2983
|
+
* If no fiber is active, an empty `Context` is used.
|
|
2984
|
+
*
|
|
2985
|
+
* ## Common tasks
|
|
2986
|
+
*
|
|
2987
|
+
* - **Make a value redactable**: implement the {@link Redactable} interface by
|
|
2988
|
+
* adding a `[symbolRedactable]` method.
|
|
2989
|
+
* - **Redact an unknown value**: call {@link redact} - it returns the original
|
|
2990
|
+
* value when it is not redactable.
|
|
2991
|
+
* - **Check if a value is redactable**: use {@link isRedactable}.
|
|
2992
|
+
* - **Get the redacted form of a known `Redactable`**: use {@link getRedacted}.
|
|
2993
|
+
*
|
|
2994
|
+
* ## Gotchas
|
|
2995
|
+
*
|
|
2996
|
+
* - `[symbolRedactable]` receives the fiber's `Context` as its argument.
|
|
2997
|
+
* - Outside of an Effect runtime (no current fiber), `getRedacted` still works
|
|
2998
|
+
* but passes an empty `Context`, so service lookups will not find anything.
|
|
2999
|
+
* - `redact` is not recursive: if a redactable object contains nested
|
|
3000
|
+
* redactable values, only the outermost redaction is applied.
|
|
3001
|
+
*
|
|
3002
|
+
* ## Quickstart
|
|
3003
|
+
*
|
|
3004
|
+
* **Example** (Masking an API key)
|
|
3005
|
+
*
|
|
3006
|
+
* ```ts
|
|
3007
|
+
* import { Context, Redactable } from "effect"
|
|
3008
|
+
*
|
|
3009
|
+
* class ApiKey {
|
|
3010
|
+
* constructor(readonly raw: string) {}
|
|
3011
|
+
*
|
|
3012
|
+
* [Redactable.symbolRedactable](_ctx: Context.Context<never>) {
|
|
3013
|
+
* return this.raw.slice(0, 4) + "..."
|
|
3014
|
+
* }
|
|
3015
|
+
* }
|
|
3016
|
+
*
|
|
3017
|
+
* const key = new ApiKey("sk-1234567890abcdef")
|
|
3018
|
+
*
|
|
3019
|
+
* console.log(Redactable.isRedactable(key)) // true
|
|
3020
|
+
* console.log(Redactable.redact(key)) // "sk-1..."
|
|
3021
|
+
* console.log(Redactable.redact("plain")) // "plain"
|
|
3022
|
+
* ```
|
|
3023
|
+
*
|
|
3024
|
+
* ## See also
|
|
3025
|
+
*
|
|
3026
|
+
* - {@link Redactable} - the interface to implement
|
|
3027
|
+
* - {@link symbolRedactable} - the symbol key
|
|
3028
|
+
* - {@link redact} - the main redaction entry point
|
|
3029
|
+
*
|
|
2445
3030
|
* @since 4.0.0
|
|
2446
3031
|
*/
|
|
2447
3032
|
export * as Redactable from "./Redactable.ts"
|
|
@@ -2457,6 +3042,71 @@ export * as Redactable from "./Redactable.ts"
|
|
|
2457
3042
|
export * as Redacted from "./Redacted.ts"
|
|
2458
3043
|
|
|
2459
3044
|
/**
|
|
3045
|
+
* A module for reducing collections of values into a single result.
|
|
3046
|
+
*
|
|
3047
|
+
* A `Reducer<A>` extends {@link Combiner.Combiner} by adding an
|
|
3048
|
+
* `initialValue` (identity element) and a `combineAll` method that folds an
|
|
3049
|
+
* entire collection. Think `Array.prototype.reduce`, but packaged as a
|
|
3050
|
+
* reusable, composable value.
|
|
3051
|
+
*
|
|
3052
|
+
* ## Mental model
|
|
3053
|
+
*
|
|
3054
|
+
* - **Reducer** – a {@link Combiner.Combiner} plus an `initialValue` and a
|
|
3055
|
+
* `combineAll` method.
|
|
3056
|
+
* - **initialValue** – the neutral/identity element. Combining any value with
|
|
3057
|
+
* `initialValue` should return the original value unchanged (e.g. `0` for
|
|
3058
|
+
* addition, `""` for string concatenation).
|
|
3059
|
+
* - **combineAll** – folds an `Iterable<A>` starting from `initialValue`.
|
|
3060
|
+
* When omitted from {@link make}, a default left-to-right fold is used.
|
|
3061
|
+
* - **Purity** – all reducers produced by this module are pure; they never
|
|
3062
|
+
* mutate their arguments.
|
|
3063
|
+
* - **Composability** – reducers can be lifted into `Option`, `Struct`,
|
|
3064
|
+
* `Tuple`, `Record`, and other container types via helpers in those modules.
|
|
3065
|
+
* - **Subtype of Combiner** – every `Reducer` is also a valid
|
|
3066
|
+
* `Combiner`, so you can pass a `Reducer` anywhere a `Combiner` is
|
|
3067
|
+
* expected.
|
|
3068
|
+
*
|
|
3069
|
+
* ## Common tasks
|
|
3070
|
+
*
|
|
3071
|
+
* - Create a reducer from a combine function and initial value → {@link make}
|
|
3072
|
+
* - Swap argument order → {@link flip}
|
|
3073
|
+
* - Combine two values without an initial value → use {@link Combiner.Combiner}
|
|
3074
|
+
* instead
|
|
3075
|
+
*
|
|
3076
|
+
* ## Gotchas
|
|
3077
|
+
*
|
|
3078
|
+
* - `combineAll` on an empty iterable returns `initialValue`, not an error.
|
|
3079
|
+
* - The default `combineAll` folds left-to-right. If your `combine` is not
|
|
3080
|
+
* associative, order matters. Pass a custom `combineAll` to {@link make} if
|
|
3081
|
+
* you need different traversal or short-circuiting.
|
|
3082
|
+
* - A `Reducer` is also a valid `Combiner` — but a `Combiner` is *not* a
|
|
3083
|
+
* `Reducer` (it lacks `initialValue`).
|
|
3084
|
+
*
|
|
3085
|
+
* ## Quickstart
|
|
3086
|
+
*
|
|
3087
|
+
* **Example** (summing a list of numbers)
|
|
3088
|
+
*
|
|
3089
|
+
* ```ts
|
|
3090
|
+
* import { Reducer } from "effect"
|
|
3091
|
+
*
|
|
3092
|
+
* const Sum = Reducer.make<number>((a, b) => a + b, 0)
|
|
3093
|
+
*
|
|
3094
|
+
* console.log(Sum.combine(3, 4))
|
|
3095
|
+
* // Output: 7
|
|
3096
|
+
*
|
|
3097
|
+
* console.log(Sum.combineAll([1, 2, 3, 4]))
|
|
3098
|
+
* // Output: 10
|
|
3099
|
+
*
|
|
3100
|
+
* console.log(Sum.combineAll([]))
|
|
3101
|
+
* // Output: 0
|
|
3102
|
+
* ```
|
|
3103
|
+
*
|
|
3104
|
+
* ## See also
|
|
3105
|
+
*
|
|
3106
|
+
* - {@link make} – the primary constructor
|
|
3107
|
+
* - {@link Reducer} – the core interface
|
|
3108
|
+
* - {@link Combiner.Combiner} – the parent interface (no `initialValue`)
|
|
3109
|
+
*
|
|
2460
3110
|
* @since 4.0.0
|
|
2461
3111
|
*/
|
|
2462
3112
|
export * as Reducer from "./Reducer.ts"
|
|
@@ -2656,7 +3306,7 @@ export * as Runtime from "./Runtime.ts"
|
|
|
2656
3306
|
*
|
|
2657
3307
|
* // Retry with exponential backoff
|
|
2658
3308
|
* const retryPolicy = Schedule.exponential("100 millis", 2.0)
|
|
2659
|
-
* .pipe(Schedule.
|
|
3309
|
+
* .pipe(Schedule.both(Schedule.recurs(3)))
|
|
2660
3310
|
*
|
|
2661
3311
|
* const program = Effect.gen(function*() {
|
|
2662
3312
|
* // This will retry up to 3 times with exponential backoff
|
|
@@ -2681,6 +3331,88 @@ export * as Schedule from "./Schedule.ts"
|
|
|
2681
3331
|
export * as Scheduler from "./Scheduler.ts"
|
|
2682
3332
|
|
|
2683
3333
|
/**
|
|
3334
|
+
* Define data shapes, validate unknown input, and transform values between formats.
|
|
3335
|
+
*
|
|
3336
|
+
* ## Mental model
|
|
3337
|
+
*
|
|
3338
|
+
* - **Schema** — a description of a data shape. Every schema carries a decoded
|
|
3339
|
+
* *Type* (the value you work with) and an *Encoded* representation (the
|
|
3340
|
+
* serialized form, e.g. JSON).
|
|
3341
|
+
* - **Decoding** — turning unknown external data (API responses, form
|
|
3342
|
+
* submissions, config files) into typed, validated values.
|
|
3343
|
+
* - **Encoding** — turning typed values back into a serializable format.
|
|
3344
|
+
* - **Codec** — a schema that tracks both Type and Encoded, so it can decode
|
|
3345
|
+
* *and* encode. Most concrete schemas are Codecs.
|
|
3346
|
+
* - **Check / Filter** — a constraint attached to a schema (e.g. `isMinLength`,
|
|
3347
|
+
* `isGreaterThan`). Attach them with `.check(...)`.
|
|
3348
|
+
* - **Transformation** — a pair of functions (decode + encode) that convert
|
|
3349
|
+
* values between two schemas. Created with {@link decodeTo} / {@link encodeTo}.
|
|
3350
|
+
* - **Annotation** — metadata attached to a schema (title, description, custom
|
|
3351
|
+
* keys). Attach with `.annotate(...)`.
|
|
3352
|
+
*
|
|
3353
|
+
* ## Common tasks
|
|
3354
|
+
*
|
|
3355
|
+
* - Define a struct: {@link Struct}
|
|
3356
|
+
* - Define a union: {@link Union}, {@link TaggedUnion}, {@link Literals}
|
|
3357
|
+
* - Define an array: {@link ArraySchema}, {@link NonEmptyArray}
|
|
3358
|
+
* - Define a record: {@link Record}
|
|
3359
|
+
* - Define a tuple: {@link Tuple}, {@link TupleWithRest}
|
|
3360
|
+
* - Validate unknown data synchronously: {@link decodeUnknownSync}
|
|
3361
|
+
* - Validate unknown data (Effect): {@link decodeUnknownEffect}
|
|
3362
|
+
* - Encode a value: {@link encodeUnknownSync}, {@link encodeUnknownEffect}
|
|
3363
|
+
* - Type guard: {@link is}
|
|
3364
|
+
* - Assertion: {@link asserts}
|
|
3365
|
+
* - Add constraints: `.check(...)` with filters like {@link isMinLength},
|
|
3366
|
+
* {@link isGreaterThan}, {@link isPattern}, {@link isUUID}
|
|
3367
|
+
* - Transform between schemas: {@link decodeTo}, {@link encodeTo}
|
|
3368
|
+
* - Add a default for missing keys: {@link withDecodingDefault}, {@link withDecodingDefaultKey}
|
|
3369
|
+
* - Create branded types: {@link brand}
|
|
3370
|
+
* - Define classes with validation: {@link Class}, {@link TaggedClass}
|
|
3371
|
+
* - Define error classes: {@link ErrorClass}, {@link TaggedErrorClass}
|
|
3372
|
+
* - Generate JSON Schema: {@link toJsonSchemaDocument}
|
|
3373
|
+
* - Generate test data: {@link toArbitrary}
|
|
3374
|
+
* - Derive equivalence: {@link toEquivalence}
|
|
3375
|
+
*
|
|
3376
|
+
* ## Gotchas
|
|
3377
|
+
*
|
|
3378
|
+
* - `Schema.optional` creates `T | undefined` (key can be missing *or*
|
|
3379
|
+
* `undefined`). Use `Schema.optionalKey` for exact optional properties.
|
|
3380
|
+
* - `decodeTo` is curried: use `from.pipe(Schema.decodeTo(to, ...))`.
|
|
3381
|
+
* - `decodeUnknownSync` throws on failure. Use `decodeUnknownExit` or
|
|
3382
|
+
* `decodeUnknownOption` for non-throwing alternatives.
|
|
3383
|
+
* - Filters do not change the TypeScript type. Use {@link refine} or
|
|
3384
|
+
* {@link brand} to narrow the type.
|
|
3385
|
+
* - Recursive schemas require {@link suspend} to avoid infinite loops.
|
|
3386
|
+
*
|
|
3387
|
+
* ## Quickstart
|
|
3388
|
+
*
|
|
3389
|
+
* **Example** (Validate a user object)
|
|
3390
|
+
*
|
|
3391
|
+
* ```ts
|
|
3392
|
+
* import { Schema } from "effect"
|
|
3393
|
+
*
|
|
3394
|
+
* const User = Schema.Struct({
|
|
3395
|
+
* name: Schema.String.check(Schema.isMinLength(1)),
|
|
3396
|
+
* age: Schema.Number.check(Schema.isGreaterThanOrEqualTo(0)),
|
|
3397
|
+
* email: Schema.optionalKey(Schema.String)
|
|
3398
|
+
* })
|
|
3399
|
+
*
|
|
3400
|
+
* // Decode unknown input — throws on failure
|
|
3401
|
+
* const user = Schema.decodeUnknownSync(User)({
|
|
3402
|
+
* name: "Alice",
|
|
3403
|
+
* age: 30
|
|
3404
|
+
* })
|
|
3405
|
+
*
|
|
3406
|
+
* console.log(user)
|
|
3407
|
+
* // { name: "Alice", age: 30 }
|
|
3408
|
+
* ```
|
|
3409
|
+
*
|
|
3410
|
+
* @see {@link Schema} — type-level view tracking only the decoded Type
|
|
3411
|
+
* @see {@link Codec} — type-level view tracking both Type and Encoded
|
|
3412
|
+
* @see {@link Struct} — define object shapes
|
|
3413
|
+
* @see {@link decodeUnknownSync} — synchronous validation
|
|
3414
|
+
* @see {@link decodeTo} — schema transformations
|
|
3415
|
+
*
|
|
2684
3416
|
* @since 4.0.0
|
|
2685
3417
|
*/
|
|
2686
3418
|
export * as Schema from "./Schema.ts"
|
|
@@ -2801,6 +3533,7 @@ export * as SchemaAST from "./SchemaAST.ts"
|
|
|
2801
3533
|
* - Parse/stringify JSON → {@link parseJson}, {@link stringifyJson}
|
|
2802
3534
|
* - Encode/decode Base64 → {@link encodeBase64}, {@link decodeBase64}, {@link decodeBase64String}
|
|
2803
3535
|
* - Encode/decode Hex → {@link encodeHex}, {@link decodeHex}, {@link decodeHexString}
|
|
3536
|
+
* - Encode/decode URI components → {@link encodeUriComponent}, {@link decodeUriComponent}
|
|
2804
3537
|
* - Parse DateTime → {@link dateTimeUtcFromInput}
|
|
2805
3538
|
* - Decode/encode FormData → {@link decodeFormData}, {@link encodeFormData}
|
|
2806
3539
|
* - Decode/encode URLSearchParams → {@link decodeURLSearchParams}, {@link encodeURLSearchParams}
|
|
@@ -3063,10 +3796,13 @@ export * as SchemaRepresentation from "./SchemaRepresentation.ts"
|
|
|
3063
3796
|
* - Trim/case strings → {@link trim}, {@link toLowerCase}, {@link toUpperCase}, {@link capitalize}, {@link uncapitalize}, {@link snakeToCamel}
|
|
3064
3797
|
* - Parse key-value strings → {@link splitKeyValue}
|
|
3065
3798
|
* - Coerce string ↔ number/bigint → {@link numberFromString}, {@link bigintFromString}
|
|
3799
|
+
* - Coerce string ↔ Date → {@link dateFromString}
|
|
3066
3800
|
* - Decode durations → {@link durationFromNanos}, {@link durationFromMillis}
|
|
3067
3801
|
* - Wrap nullable/optional as Option → {@link optionFromNullOr}, {@link optionFromOptionalKey}, {@link optionFromOptional}
|
|
3068
3802
|
* - Parse URLs → {@link urlFromString}
|
|
3069
3803
|
* - Base64 ↔ Uint8Array → {@link uint8ArrayFromBase64String}
|
|
3804
|
+
* - Base64 ↔ string → {@link stringFromBase64String}
|
|
3805
|
+
* - URI component ↔ string → {@link stringFromUriComponent}
|
|
3070
3806
|
* - JSON string ↔ unknown → {@link fromJsonString}
|
|
3071
3807
|
* - FormData/URLSearchParams ↔ unknown → {@link fromFormData}, {@link fromURLSearchParams}
|
|
3072
3808
|
* - Check if a value is a Transformation → {@link isTransformation}
|
|
@@ -3148,20 +3884,6 @@ export * as ScopedRef from "./ScopedRef.ts"
|
|
|
3148
3884
|
*/
|
|
3149
3885
|
export * as Semaphore from "./Semaphore.ts"
|
|
3150
3886
|
|
|
3151
|
-
/**
|
|
3152
|
-
* This module provides a data structure called `ServiceMap` that can be used
|
|
3153
|
-
* for dependency injection in effectful programs. It is essentially a table
|
|
3154
|
-
* mapping `Service`s identifiers to their implementations, and can be used to
|
|
3155
|
-
* manage dependencies in a type-safe way. The `ServiceMap` data structure is
|
|
3156
|
-
* essentially a way of providing access to a set of related services that can
|
|
3157
|
-
* be passed around as a single unit. This module provides functions to create,
|
|
3158
|
-
* modify, and query the contents of a `ServiceMap`, as well as a number of
|
|
3159
|
-
* utility types for working with a `ServiceMap`.
|
|
3160
|
-
*
|
|
3161
|
-
* @since 4.0.0
|
|
3162
|
-
*/
|
|
3163
|
-
export * as ServiceMap from "./ServiceMap.ts"
|
|
3164
|
-
|
|
3165
3887
|
/**
|
|
3166
3888
|
* @since 2.0.0
|
|
3167
3889
|
*/
|
|
@@ -3391,12 +4113,20 @@ export * as Tuple from "./Tuple.ts"
|
|
|
3391
4113
|
*
|
|
3392
4114
|
* Accessed values are tracked by the transaction in order to detect conflicts and to track changes.
|
|
3393
4115
|
* A transaction will retry whenever a conflict is detected or whenever the transaction explicitly
|
|
3394
|
-
* calls `Effect.
|
|
4116
|
+
* calls `Effect.txRetry` and any of the accessed TxChunk values change.
|
|
3395
4117
|
*
|
|
3396
4118
|
* @since 4.0.0
|
|
3397
4119
|
*/
|
|
3398
4120
|
export * as TxChunk from "./TxChunk.ts"
|
|
3399
4121
|
|
|
4122
|
+
/**
|
|
4123
|
+
* A transactional deferred value — a write-once cell that can be read within transactions.
|
|
4124
|
+
* Readers retry until a value is set; once set, the value is immutable.
|
|
4125
|
+
*
|
|
4126
|
+
* @since 4.0.0
|
|
4127
|
+
*/
|
|
4128
|
+
export * as TxDeferred from "./TxDeferred.ts"
|
|
4129
|
+
|
|
3400
4130
|
/**
|
|
3401
4131
|
* @since 2.0.0
|
|
3402
4132
|
*/
|
|
@@ -3407,6 +4137,25 @@ export * as TxHashMap from "./TxHashMap.ts"
|
|
|
3407
4137
|
*/
|
|
3408
4138
|
export * as TxHashSet from "./TxHashSet.ts"
|
|
3409
4139
|
|
|
4140
|
+
/**
|
|
4141
|
+
* A transactional priority queue. Elements are dequeued in order determined by the
|
|
4142
|
+
* provided `Order` instance. All operations participate in the STM transaction system.
|
|
4143
|
+
*
|
|
4144
|
+
* @since 4.0.0
|
|
4145
|
+
*/
|
|
4146
|
+
export * as TxPriorityQueue from "./TxPriorityQueue.ts"
|
|
4147
|
+
|
|
4148
|
+
/**
|
|
4149
|
+
* TxPubSub is a transactional publish/subscribe hub that provides Software Transactional Memory
|
|
4150
|
+
* (STM) semantics for message broadcasting. Publishers broadcast messages to all current
|
|
4151
|
+
* subscribers, with each subscriber receiving its own copy of every published message.
|
|
4152
|
+
*
|
|
4153
|
+
* Supports multiple queue strategies: bounded, unbounded, dropping, and sliding.
|
|
4154
|
+
*
|
|
4155
|
+
* @since 4.0.0
|
|
4156
|
+
*/
|
|
4157
|
+
export * as TxPubSub from "./TxPubSub.ts"
|
|
4158
|
+
|
|
3410
4159
|
/**
|
|
3411
4160
|
* TxQueue is a transactional queue data structure that provides Software Transactional Memory (STM)
|
|
3412
4161
|
* semantics for queue operations. It uses TxRef for transactional state management and supports
|
|
@@ -3414,18 +4163,28 @@ export * as TxHashSet from "./TxHashSet.ts"
|
|
|
3414
4163
|
*
|
|
3415
4164
|
* Accessed values are tracked by the transaction in order to detect conflicts and to track changes.
|
|
3416
4165
|
* A transaction will retry whenever a conflict is detected or whenever the transaction explicitly
|
|
3417
|
-
* calls `Effect.
|
|
4166
|
+
* calls `Effect.txRetry` and any of the accessed TxQueue values change.
|
|
3418
4167
|
*
|
|
3419
4168
|
* @since 4.0.0
|
|
3420
4169
|
*/
|
|
3421
4170
|
export * as TxQueue from "./TxQueue.ts"
|
|
3422
4171
|
|
|
4172
|
+
/**
|
|
4173
|
+
* TxReentrantLock is a transactional read/write lock with reentrant semantics using Software
|
|
4174
|
+
* Transactional Memory (STM). Multiple readers can hold the lock concurrently, OR a single
|
|
4175
|
+
* writer can hold exclusive access. A fiber holding a write lock may acquire additional
|
|
4176
|
+
* read or write locks (reentrancy).
|
|
4177
|
+
*
|
|
4178
|
+
* @since 4.0.0
|
|
4179
|
+
*/
|
|
4180
|
+
export * as TxReentrantLock from "./TxReentrantLock.ts"
|
|
4181
|
+
|
|
3423
4182
|
/**
|
|
3424
4183
|
* TxRef is a transactional value, it can be read and modified within the body of a transaction.
|
|
3425
4184
|
*
|
|
3426
4185
|
* Accessed values are tracked by the transaction in order to detect conflicts and in order to
|
|
3427
4186
|
* track changes, a transaction will retry whenever a conflict is detected or whenever the
|
|
3428
|
-
* transaction explicitely calls to `Effect.
|
|
4187
|
+
* transaction explicitely calls to `Effect.txRetry` and any of the accessed TxRef values
|
|
3429
4188
|
* change.
|
|
3430
4189
|
*
|
|
3431
4190
|
* @since 4.0.0
|
|
@@ -3437,6 +4196,14 @@ export * as TxRef from "./TxRef.ts"
|
|
|
3437
4196
|
*/
|
|
3438
4197
|
export * as TxSemaphore from "./TxSemaphore.ts"
|
|
3439
4198
|
|
|
4199
|
+
/**
|
|
4200
|
+
* TxSubscriptionRef is a TxRef that allows subscribing to all committed changes. Subscribers
|
|
4201
|
+
* receive the current value followed by every subsequent update via a transactional queue.
|
|
4202
|
+
*
|
|
4203
|
+
* @since 4.0.0
|
|
4204
|
+
*/
|
|
4205
|
+
export * as TxSubscriptionRef from "./TxSubscriptionRef.ts"
|
|
4206
|
+
|
|
3440
4207
|
/**
|
|
3441
4208
|
* Type-level utility types for TypeScript.
|
|
3442
4209
|
*
|
|
@@ -3530,6 +4297,62 @@ export * as UndefinedOr from "./UndefinedOr.ts"
|
|
|
3530
4297
|
export * as Unify from "./Unify.ts"
|
|
3531
4298
|
|
|
3532
4299
|
/**
|
|
4300
|
+
* Internal utilities for the Effect ecosystem's generator-based syntax and
|
|
4301
|
+
* higher-kinded type machinery.
|
|
4302
|
+
*
|
|
4303
|
+
* ## Mental model
|
|
4304
|
+
*
|
|
4305
|
+
* - **SingleShotGen** — an `IterableIterator` wrapper that yields its value
|
|
4306
|
+
* exactly once. Used internally by `[Symbol.iterator]()` on Effect, Option,
|
|
4307
|
+
* Result, and other yieldable types so they work inside generator functions.
|
|
4308
|
+
* - **Gen** — a type-level signature for generator-based monadic composition
|
|
4309
|
+
* (`gen` functions). Parametric over any `TypeLambda` so each module
|
|
4310
|
+
* (Effect, Option, Result, ...) can expose its own `gen` with correct types.
|
|
4311
|
+
* - **Variance** — a type-level marker that encodes the variance (covariant,
|
|
4312
|
+
* contravariant, invariant) of a `TypeLambda`'s type parameters.
|
|
4313
|
+
* Used by {@link Gen} for type inference.
|
|
4314
|
+
*
|
|
4315
|
+
* ## Common tasks
|
|
4316
|
+
*
|
|
4317
|
+
* - Make a type yieldable in generators -> implement `[Symbol.iterator]()` returning a {@link SingleShotGen}
|
|
4318
|
+
* - Define a generator-based API for a new TypeLambda -> type it as {@link Gen}`<MyTypeLambda>`
|
|
4319
|
+
* - Encode variance for a higher-kinded type -> use {@link Variance}
|
|
4320
|
+
*
|
|
4321
|
+
* ## Gotchas
|
|
4322
|
+
*
|
|
4323
|
+
* - {@link SingleShotGen} yields its value only on the first `.next()` call.
|
|
4324
|
+
* Calling `.next()` again returns `{ done: true }`. Iterating the same
|
|
4325
|
+
* instance twice will skip the value on the second pass; call
|
|
4326
|
+
* `[Symbol.iterator]()` to get a fresh iterator.
|
|
4327
|
+
* - {@link Gen} and {@link Variance} are pure type-level constructs — they
|
|
4328
|
+
* have no runtime representation.
|
|
4329
|
+
*
|
|
4330
|
+
* ## Quickstart
|
|
4331
|
+
*
|
|
4332
|
+
* **Example** (Using SingleShotGen to make a type yieldable)
|
|
4333
|
+
*
|
|
4334
|
+
* ```ts
|
|
4335
|
+
* import { Utils } from "effect"
|
|
4336
|
+
*
|
|
4337
|
+
* class MyWrapper<A> {
|
|
4338
|
+
* constructor(readonly value: A) {}
|
|
4339
|
+
* [Symbol.iterator]() {
|
|
4340
|
+
* return new Utils.SingleShotGen<MyWrapper<A>, A>(this)
|
|
4341
|
+
* }
|
|
4342
|
+
* }
|
|
4343
|
+
*
|
|
4344
|
+
* const w = new MyWrapper(42)
|
|
4345
|
+
* const iter = w[Symbol.iterator]()
|
|
4346
|
+
* console.log(iter.next(undefined as any))
|
|
4347
|
+
* // { value: MyWrapper { value: 42 }, done: false }
|
|
4348
|
+
* console.log(iter.next(42))
|
|
4349
|
+
* // { value: 42, done: true }
|
|
4350
|
+
* ```
|
|
4351
|
+
*
|
|
4352
|
+
* @see {@link SingleShotGen}
|
|
4353
|
+
* @see {@link Gen}
|
|
4354
|
+
* @see {@link Variance}
|
|
4355
|
+
*
|
|
3533
4356
|
* @since 2.0.0
|
|
3534
4357
|
*/
|
|
3535
4358
|
export * as Utils from "./Utils.ts"
|