effect 4.0.0-beta.65 → 4.0.0-beta.67
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 +113 -67
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +28 -18
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +404 -337
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +190 -146
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +167 -97
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +87 -47
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +62 -31
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Boolean.js +30 -15
- package/dist/Boolean.js.map +1 -1
- package/dist/Brand.d.ts +20 -1
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +16 -0
- package/dist/Brand.js.map +1 -1
- package/dist/Cache.d.ts +236 -132
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +133 -57
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +77 -65
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +43 -36
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +1518 -575
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +661 -287
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +119 -10
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js +45 -6
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +548 -379
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +238 -170
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +15 -8
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js +8 -4
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +2 -4
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +2 -4
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +5 -4
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +9 -8
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +1 -1
- package/dist/ConfigProvider.js +1 -1
- package/dist/Console.d.ts +76 -50
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js +69 -46
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +386 -138
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +144 -62
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +69 -48
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +96 -36
- package/dist/Cron.js.map +1 -1
- package/dist/Data.d.ts +3 -2
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +875 -444
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +376 -217
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +367 -174
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +145 -71
- package/dist/Deferred.js.map +1 -1
- package/dist/Differ.d.ts +42 -0
- package/dist/Differ.d.ts.map +1 -1
- package/dist/Differ.js +36 -0
- package/dist/Duration.d.ts +329 -185
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +174 -106
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +2445 -2356
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +906 -758
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.d.ts +38 -3
- package/dist/Effectable.d.ts.map +1 -1
- package/dist/Effectable.js +3 -3
- package/dist/Effectable.js.map +1 -1
- package/dist/Encoding.d.ts +78 -28
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +75 -27
- package/dist/Encoding.js.map +1 -1
- package/dist/Equivalence.d.ts +14 -19
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +14 -19
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +66 -82
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +38 -29
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +96 -12
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +21 -6
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +7 -5
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +72 -40
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +39 -21
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +119 -58
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +122 -40
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +288 -160
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +176 -74
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +93 -52
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +97 -34
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +104 -73
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +53 -39
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +166 -88
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +68 -42
- package/dist/Filter.js.map +1 -1
- package/dist/Function.d.ts +154 -86
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +53 -37
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +682 -365
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +308 -157
- package/dist/Graph.js.map +1 -1
- package/dist/HKT.d.ts +29 -13
- package/dist/HKT.d.ts.map +1 -1
- package/dist/Hash.d.ts +31 -18
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +25 -15
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +444 -256
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +223 -105
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts +36 -17
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +75 -8
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +194 -104
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js +93 -38
- package/dist/HashSet.js.map +1 -1
- package/dist/Inspectable.d.ts +20 -9
- package/dist/Inspectable.d.ts.map +1 -1
- package/dist/Inspectable.js +16 -6
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +309 -149
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +129 -65
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +4 -3
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +4 -3
- package/dist/JsonPatch.js.map +1 -1
- package/dist/Latch.d.ts +98 -15
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +41 -10
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +412 -309
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +262 -181
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +95 -21
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +58 -14
- package/dist/LayerMap.js.map +1 -1
- package/dist/LogLevel.d.ts +92 -131
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +25 -15
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +155 -99
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +211 -184
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +75 -17
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +22 -16
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +133 -157
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +85 -76
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +325 -284
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +217 -212
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +117 -58
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +52 -29
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +52 -30
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +94 -38
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +92 -49
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +123 -71
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +99 -62
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +79 -60
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +3 -0
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js.map +1 -1
- package/dist/NonEmptyIterable.d.ts +36 -39
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/NonEmptyIterable.js +34 -20
- package/dist/NonEmptyIterable.js.map +1 -1
- package/dist/Number.d.ts +116 -64
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +54 -30
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +1 -2
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +0 -1
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +38 -53
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +87 -11
- package/dist/Option.js.map +1 -1
- package/dist/Ordering.d.ts +43 -28
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/Ordering.js +4 -2
- package/dist/Ordering.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +225 -40
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +113 -17
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +77 -13
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +48 -4
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +71 -15
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +59 -12
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +74 -6
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +68 -5
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +66 -31
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +26 -24
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +16 -21
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +9 -14
- package/dist/Predicate.js.map +1 -1
- package/dist/PrimaryKey.d.ts +9 -2
- package/dist/PrimaryKey.d.ts.map +1 -1
- package/dist/PrimaryKey.js +7 -1
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +364 -262
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +245 -174
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +94 -25
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +61 -13
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +284 -150
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +216 -113
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +54 -35
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +36 -24
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +151 -141
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +66 -20
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +69 -32
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js +33 -16
- package/dist/RcRef.js.map +1 -1
- package/dist/Record.d.ts +273 -129
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +117 -57
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +3 -3
- package/dist/Redactable.js +2 -2
- package/dist/Redacted.d.ts +63 -33
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +30 -14
- package/dist/Redacted.js.map +1 -1
- package/dist/Ref.d.ts +81 -52
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +54 -35
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +73 -31
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +66 -30
- package/dist/References.js.map +1 -1
- package/dist/RegExp.d.ts +11 -5
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/RegExp.js +11 -5
- package/dist/RegExp.js.map +1 -1
- package/dist/Request.d.ts +158 -34
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +67 -12
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +261 -116
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +77 -41
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.d.ts +13 -7
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +44 -6
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +26 -16
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +6 -6
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +43 -18
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +35 -16
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +545 -576
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +261 -247
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +43 -6
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +33 -4
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +815 -294
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +287 -193
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +24 -15
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +13 -9
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +26 -13
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +24 -11
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +1 -8
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +194 -25
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +220 -26
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +2 -2
- package/dist/SchemaTransformation.d.ts +61 -41
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +56 -33
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/SchemaUtils.d.ts +7 -0
- package/dist/SchemaUtils.d.ts.map +1 -1
- package/dist/SchemaUtils.js +23 -0
- package/dist/SchemaUtils.js.map +1 -1
- package/dist/Scope.d.ts +102 -43
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +57 -23
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +138 -46
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +80 -19
- package/dist/ScopedCache.js.map +1 -1
- package/dist/ScopedRef.d.ts +28 -8
- package/dist/ScopedRef.d.ts.map +1 -1
- package/dist/ScopedRef.js +25 -5
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +64 -28
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +22 -13
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +458 -200
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +240 -89
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +43 -6
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +33 -4
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +1899 -1186
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +868 -525
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +171 -95
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +125 -67
- package/dist/String.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +308 -203
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +125 -76
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Symbol.d.ts +13 -5
- package/dist/Symbol.d.ts.map +1 -1
- package/dist/Symbol.js +13 -5
- package/dist/Symbol.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +278 -62
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +116 -23
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Take.d.ts +26 -2
- package/dist/Take.d.ts.map +1 -1
- package/dist/Take.js +4 -1
- package/dist/Take.js.map +1 -1
- package/dist/Terminal.d.ts +39 -7
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +10 -4
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +229 -55
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +94 -18
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +213 -142
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +88 -60
- package/dist/Trie.js.map +1 -1
- package/dist/TxChunk.d.ts +182 -146
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +73 -56
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +43 -29
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +22 -15
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +362 -222
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +171 -98
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +178 -104
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +84 -43
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +93 -62
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +54 -36
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +77 -49
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +60 -37
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +279 -241
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +147 -101
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +69 -46
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +48 -32
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +69 -40
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +35 -20
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +101 -54
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +76 -34
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +72 -48
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +33 -22
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +34 -34
- package/dist/UndefinedOr.d.ts +48 -25
- package/dist/UndefinedOr.d.ts.map +1 -1
- package/dist/UndefinedOr.js +28 -25
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +71 -116
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js +20 -6
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +4 -0
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +4 -0
- package/dist/Utils.js.map +1 -1
- package/dist/index.d.ts +81 -32
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +81 -32
- package/dist/index.js.map +1 -1
- package/dist/internal/concurrency.js +2 -2
- package/dist/internal/concurrency.js.map +1 -1
- package/dist/internal/core.js +8 -20
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/effect.js +20 -19
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/executionPlan.js +2 -2
- package/dist/internal/executionPlan.js.map +1 -1
- package/dist/internal/option.js +5 -8
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/result.js +5 -8
- package/dist/internal/result.js.map +1 -1
- package/dist/internal/schema/schema.js +1 -1
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/testing/FastCheck.d.ts +6 -3
- package/dist/testing/FastCheck.d.ts.map +1 -1
- package/dist/testing/FastCheck.js +6 -3
- package/dist/testing/FastCheck.js.map +1 -1
- package/dist/testing/TestClock.d.ts +39 -34
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +42 -12
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestConsole.d.ts +39 -30
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +25 -10
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/TestSchema.js +7 -7
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +197 -130
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +166 -102
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +2 -2
- package/dist/unstable/ai/Chat.d.ts +65 -41
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +51 -33
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +12 -11
- package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.js +9 -8
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/IdGenerator.d.ts +28 -18
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +18 -11
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +36 -30
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +21 -15
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +339 -119
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +264 -98
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +53 -19
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +65 -17
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +13 -7
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +11 -9
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +2 -2
- package/dist/unstable/ai/Prompt.d.ts +194 -168
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +75 -66
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +153 -140
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +43 -48
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.d.ts +43 -4
- package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.js +27 -2
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts +42 -32
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +14 -10
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +13 -8
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +10 -6
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +153 -84
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +97 -44
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +33 -42
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +35 -36
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +42 -24
- package/dist/unstable/ai/index.d.ts.map +1 -1
- package/dist/unstable/ai/index.js +42 -24
- package/dist/unstable/ai/index.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +226 -134
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +101 -65
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +72 -26
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +86 -23
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +43 -13
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +30 -6
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +218 -117
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +45 -31
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.d.ts +7 -7
- package/dist/unstable/cli/Completions.js +1 -1
- package/dist/unstable/cli/Flag.d.ts +235 -142
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +111 -71
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +42 -14
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/unstable/cli/GlobalFlag.js +30 -7
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +35 -10
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/HelpDoc.js +21 -0
- package/dist/unstable/cli/Param.d.ts +79 -31
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +161 -99
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +79 -42
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +66 -35
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.d.ts +178 -47
- package/dist/unstable/cli/Prompt.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.js +111 -31
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/internal/ansi.d.ts.map +1 -1
- package/dist/unstable/cli/internal/ansi.js +13 -0
- package/dist/unstable/cli/internal/ansi.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +7 -7
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +12 -10
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/config.d.ts +3 -0
- package/dist/unstable/cli/internal/config.d.ts.map +1 -1
- package/dist/unstable/cli/internal/config.js.map +1 -1
- package/dist/unstable/cli/internal/lexer.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +35 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +35 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.d.ts +56 -7
- package/dist/unstable/cluster/ClusterError.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterError.js +56 -7
- package/dist/unstable/cluster/ClusterError.js.map +1 -1
- package/dist/unstable/cluster/ClusterMetrics.d.ts +39 -5
- package/dist/unstable/cluster/ClusterMetrics.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterMetrics.js +39 -5
- package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +61 -8
- package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.js +61 -8
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +14 -2
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +36 -3
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.d.ts +39 -4
- package/dist/unstable/cluster/DeliverAt.d.ts.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js +11 -3
- package/dist/unstable/cluster/DeliverAt.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +75 -16
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +78 -13
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.d.ts +30 -2
- package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityAddress.js +30 -2
- package/dist/unstable/cluster/EntityAddress.js.map +1 -1
- package/dist/unstable/cluster/EntityId.d.ts +18 -3
- package/dist/unstable/cluster/EntityId.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityId.js +15 -2
- package/dist/unstable/cluster/EntityId.js.map +1 -1
- package/dist/unstable/cluster/EntityProxy.d.ts +34 -2
- package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxy.js +24 -2
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.d.ts +17 -2
- package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js +40 -8
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +43 -6
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityResource.js +11 -4
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/EntityType.d.ts +27 -3
- package/dist/unstable/cluster/EntityType.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityType.js +24 -2
- package/dist/unstable/cluster/EntityType.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +105 -23
- package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.js +88 -14
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/HttpRunner.d.ts +88 -13
- package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/HttpRunner.js +88 -13
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +49 -6
- package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +31 -6
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/MachineId.d.ts +24 -3
- package/dist/unstable/cluster/MachineId.d.ts.map +1 -1
- package/dist/unstable/cluster/MachineId.js +21 -2
- package/dist/unstable/cluster/MachineId.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +102 -13
- package/dist/unstable/cluster/Message.d.ts.map +1 -1
- package/dist/unstable/cluster/Message.js +86 -10
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +127 -21
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +71 -11
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +101 -12
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +64 -8
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.d.ts +47 -17
- package/dist/unstable/cluster/Runner.d.ts.map +1 -1
- package/dist/unstable/cluster/Runner.js +47 -17
- package/dist/unstable/cluster/Runner.js.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts +34 -2
- package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.js +34 -2
- package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +40 -12
- package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +40 -12
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts +7 -4
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +31 -4
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +42 -5
- package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.js +38 -4
- package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +73 -10
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +70 -9
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.d.ts +51 -5
- package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardId.js +47 -4
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +10 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +35 -4
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +65 -9
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +67 -10
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts +27 -6
- package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingRegistrationEvent.js +28 -4
- package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
- package/dist/unstable/cluster/SingleRunner.d.ts +23 -1
- package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/SingleRunner.js +23 -1
- package/dist/unstable/cluster/SingleRunner.js.map +1 -1
- package/dist/unstable/cluster/Singleton.d.ts +15 -1
- package/dist/unstable/cluster/Singleton.d.ts.map +1 -1
- package/dist/unstable/cluster/Singleton.js +15 -1
- package/dist/unstable/cluster/Singleton.js.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts +21 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.js +21 -1
- package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
- package/dist/unstable/cluster/Snowflake.d.ts +89 -19
- package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
- package/dist/unstable/cluster/Snowflake.js +48 -13
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SocketRunner.d.ts +8 -2
- package/dist/unstable/cluster/SocketRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/SocketRunner.js +29 -2
- package/dist/unstable/cluster/SocketRunner.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.d.ts +11 -3
- package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +27 -3
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts +11 -3
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +46 -7
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/TestRunner.d.ts +18 -1
- package/dist/unstable/cluster/TestRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/TestRunner.js +18 -1
- package/dist/unstable/cluster/TestRunner.js.map +1 -1
- package/dist/unstable/cluster/internal/hash.js +12 -0
- package/dist/unstable/cluster/internal/hash.js.map +1 -1
- package/dist/unstable/devtools/DevTools.d.ts +26 -3
- package/dist/unstable/devtools/DevTools.d.ts.map +1 -1
- package/dist/unstable/devtools/DevTools.js +26 -3
- package/dist/unstable/devtools/DevTools.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts +20 -5
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +32 -5
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +184 -44
- package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js +102 -20
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/devtools/DevToolsServer.d.ts +27 -2
- package/dist/unstable/devtools/DevToolsServer.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsServer.js +21 -1
- package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
- package/dist/unstable/encoding/Msgpack.d.ts +81 -12
- package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
- package/dist/unstable/encoding/Msgpack.js +75 -9
- package/dist/unstable/encoding/Msgpack.js.map +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +149 -21
- package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
- package/dist/unstable/encoding/Ndjson.js +97 -13
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +109 -18
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +69 -13
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts +115 -30
- package/dist/unstable/eventlog/Event.d.ts.map +1 -1
- package/dist/unstable/eventlog/Event.js +22 -2
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts +50 -17
- package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventGroup.js +24 -6
- package/dist/unstable/eventlog/EventGroup.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +104 -20
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +108 -16
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +151 -31
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +111 -20
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +42 -6
- package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +38 -5
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +96 -22
- package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.js +72 -16
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +35 -8
- package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js +54 -8
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +17 -3
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +17 -3
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +32 -6
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +52 -6
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +74 -16
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +90 -16
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +59 -15
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js +73 -14
- package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.d.ts +10 -2
- package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.js +28 -2
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts +32 -3
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +32 -3
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +10 -2
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +28 -2
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +156 -77
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +93 -39
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +40 -7
- package/dist/unstable/http/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Etag.js +27 -4
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts +29 -3
- package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js +33 -4
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/FindMyWay.d.ts +1 -1
- package/dist/unstable/http/FindMyWay.js +1 -1
- package/dist/unstable/http/Headers.d.ts +182 -36
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +86 -16
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +114 -26
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +100 -22
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +205 -96
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +85 -39
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +68 -12
- package/dist/unstable/http/HttpClientError.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientError.js +71 -9
- package/dist/unstable/http/HttpClientError.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +318 -100
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +153 -47
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +59 -16
- package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientResponse.js +44 -11
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +42 -16
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +33 -13
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts +47 -7
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js +44 -6
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +35 -5
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +23 -1
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +37 -11
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +70 -31
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +34 -3
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +35 -4
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +194 -45
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +122 -28
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +151 -22
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.js +77 -12
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +90 -10
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +82 -8
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +125 -21
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +112 -31
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.d.ts +32 -6
- package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +43 -5
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +390 -67
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +209 -38
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +22 -4
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpStaticServer.js +22 -4
- package/dist/unstable/http/HttpStaticServer.js.map +1 -1
- package/dist/unstable/http/HttpTraceContext.d.ts +53 -6
- package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
- package/dist/unstable/http/HttpTraceContext.js +47 -5
- package/dist/unstable/http/HttpTraceContext.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +178 -28
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +130 -20
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/Multipasta/HeadersParser.d.ts +1 -1
- package/dist/unstable/http/Multipasta/HeadersParser.js +1 -1
- package/dist/unstable/http/Multipasta/Node.d.ts +1 -1
- package/dist/unstable/http/Multipasta/Node.js +1 -1
- package/dist/unstable/http/Multipasta/Search.d.ts +1 -1
- package/dist/unstable/http/Multipasta/Search.js +1 -1
- package/dist/unstable/http/Multipasta/Web.d.ts +1 -1
- package/dist/unstable/http/Multipasta/Web.js +1 -1
- package/dist/unstable/http/Multipasta.d.ts +1 -1
- package/dist/unstable/http/Multipasta.js +1 -1
- package/dist/unstable/http/Template.d.ts +53 -0
- package/dist/unstable/http/Template.d.ts.map +1 -1
- package/dist/unstable/http/Template.js +26 -0
- package/dist/unstable/http/Template.js.map +1 -1
- package/dist/unstable/http/Url.d.ts +56 -42
- package/dist/unstable/http/Url.d.ts.map +1 -1
- package/dist/unstable/http/Url.js +29 -15
- package/dist/unstable/http/Url.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +233 -49
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +116 -23
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.d.ts +49 -14
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +14 -8
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +55 -16
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +47 -9
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +58 -15
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +43 -7
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +214 -59
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +53 -9
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +81 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +98 -1
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +87 -20
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js +5 -2
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +113 -22
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +49 -6
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +19 -4
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js +32 -2
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +67 -30
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +48 -27
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +74 -17
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js +38 -5
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.d.ts +5 -2
- package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.js +24 -2
- package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.d.ts +9 -2
- package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.js +28 -3
- package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +86 -15
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +73 -15
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +33 -3
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/Otlp.js +14 -3
- package/dist/unstable/observability/Otlp.js.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +8 -1
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +32 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +14 -2
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +29 -2
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +15 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +32 -2
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts +49 -12
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.js +47 -5
- package/dist/unstable/observability/OtlpResource.js.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.d.ts +28 -3
- package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.js +28 -3
- package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +16 -2
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js +32 -2
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +32 -12
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +7 -5
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/observability/index.d.ts +2 -1
- package/dist/unstable/observability/index.d.ts.map +1 -1
- package/dist/unstable/observability/index.js +2 -1
- package/dist/unstable/observability/index.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +93 -18
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +81 -21
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +76 -15
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistable.js +22 -5
- package/dist/unstable/persistence/Persistable.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +27 -2
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +24 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +73 -16
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +60 -13
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +97 -16
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +90 -14
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +97 -21
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +82 -17
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +26 -5
- package/dist/unstable/persistence/Redis.d.ts.map +1 -1
- package/dist/unstable/persistence/Redis.js +36 -4
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +89 -109
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +74 -23
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +22 -11
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +11 -6
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/process/index.d.ts +2 -1
- package/dist/unstable/process/index.d.ts.map +1 -1
- package/dist/unstable/process/index.js +2 -1
- package/dist/unstable/process/index.js.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.d.ts +196 -59
- package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.js +121 -36
- package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +539 -130
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +256 -62
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +41 -2
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +35 -1
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRef.d.ts +51 -7
- package/dist/unstable/reactivity/AtomRef.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRef.js +29 -3
- package/dist/unstable/reactivity/AtomRef.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +135 -21
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +69 -10
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +36 -2
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +29 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +28 -5
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
- package/dist/unstable/reactivity/Hydration.js +35 -3
- package/dist/unstable/reactivity/Hydration.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.d.ts +95 -13
- package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js +61 -7
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +255 -56
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +44 -11
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +81 -19
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +53 -13
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.d.ts +26 -2
- package/dist/unstable/rpc/RpcClientError.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClientError.js +26 -2
- package/dist/unstable/rpc/RpcClientError.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +51 -8
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js +3 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMessage.d.ts +128 -32
- package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMessage.js +23 -7
- package/dist/unstable/rpc/RpcMessage.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +100 -20
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js +39 -3
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +38 -4
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +34 -3
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +60 -13
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +56 -12
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +73 -23
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +70 -23
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcTest.d.ts +20 -1
- package/dist/unstable/rpc/RpcTest.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcTest.js +20 -1
- package/dist/unstable/rpc/RpcTest.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts +40 -6
- package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcWorker.js +17 -5
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts +8 -0
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +8 -0
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +130 -52
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +79 -34
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +104 -24
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +22 -6
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +167 -34
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +124 -29
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +58 -10
- package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
- package/dist/unstable/socket/SocketServer.js +43 -5
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/sql/Migrator.d.ts +35 -4
- package/dist/unstable/sql/Migrator.d.ts.map +1 -1
- package/dist/unstable/sql/Migrator.js +45 -5
- package/dist/unstable/sql/Migrator.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +34 -2
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +38 -1
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.d.ts +31 -0
- package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
- package/dist/unstable/sql/SqlConnection.js +22 -0
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +99 -0
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js +114 -0
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +26 -5
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +8 -4
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.d.ts +56 -13
- package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
- package/dist/unstable/sql/SqlResolver.js +44 -10
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +29 -8
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +29 -8
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/SqlStream.d.ts +3 -0
- package/dist/unstable/sql/SqlStream.d.ts.map +1 -1
- package/dist/unstable/sql/SqlStream.js +23 -0
- package/dist/unstable/sql/SqlStream.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +124 -0
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +82 -0
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/sql/index.d.ts +1 -1
- package/dist/unstable/sql/index.js +1 -1
- package/dist/unstable/workers/Transferable.d.ts +65 -13
- package/dist/unstable/workers/Transferable.d.ts.map +1 -1
- package/dist/unstable/workers/Transferable.js +53 -10
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +60 -8
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +43 -4
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +31 -9
- package/dist/unstable/workers/WorkerError.d.ts.map +1 -1
- package/dist/unstable/workers/WorkerError.js +44 -7
- package/dist/unstable/workers/WorkerError.js.map +1 -1
- package/dist/unstable/workers/WorkerRunner.d.ts +32 -3
- package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
- package/dist/unstable/workers/WorkerRunner.js +24 -1
- package/dist/unstable/workers/WorkerRunner.js.map +1 -1
- package/dist/unstable/workers/index.d.ts +1 -1
- package/dist/unstable/workers/index.js +1 -1
- package/dist/unstable/workflow/Activity.d.ts +61 -10
- package/dist/unstable/workflow/Activity.d.ts.map +1 -1
- package/dist/unstable/workflow/Activity.js +21 -6
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +12 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +22 -2
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +126 -31
- package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +76 -13
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +145 -0
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -0
- package/dist/unstable/workflow/DurableQueue.js +200 -0
- package/dist/unstable/workflow/DurableQueue.js.map +1 -0
- package/dist/unstable/workflow/Workflow.d.ts +100 -31
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +76 -20
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +40 -5
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +16 -4
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.d.ts +32 -2
- package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.js +2 -2
- package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.d.ts +36 -2
- package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js +12 -6
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/dist/unstable/workflow/index.d.ts +4 -0
- package/dist/unstable/workflow/index.d.ts.map +1 -1
- package/dist/unstable/workflow/index.js +4 -0
- package/dist/unstable/workflow/index.js.map +1 -1
- package/package.json +11 -11
- package/src/Array.ts +113 -67
- package/src/BigDecimal.ts +404 -337
- package/src/BigInt.ts +167 -97
- package/src/Boolean.ts +62 -31
- package/src/Brand.ts +20 -1
- package/src/Cache.ts +331 -164
- package/src/Cause.ts +77 -65
- package/src/Channel.ts +1585 -607
- package/src/ChannelSchema.ts +137 -12
- package/src/Chunk.ts +549 -380
- package/src/Clock.ts +15 -8
- package/src/Combiner.ts +2 -4
- package/src/Config.ts +12 -10
- package/src/ConfigProvider.ts +1 -1
- package/src/Console.ts +88 -58
- package/src/Context.ts +397 -149
- package/src/Cron.ts +111 -48
- package/src/Data.ts +3 -2
- package/src/DateTime.ts +876 -445
- package/src/Deferred.ts +367 -174
- package/src/Differ.ts +42 -0
- package/src/Duration.ts +329 -185
- package/src/Effect.ts +2474 -2395
- package/src/Effectable.ts +39 -4
- package/src/Encoding.ts +78 -28
- package/src/Equivalence.ts +14 -19
- package/src/ErrorReporter.ts +66 -82
- package/src/ExecutionPlan.ts +97 -13
- package/src/Exit.ts +7 -5
- package/src/Fiber.ts +72 -40
- package/src/FiberHandle.ts +158 -58
- package/src/FiberMap.ts +329 -164
- package/src/FiberSet.ts +130 -52
- package/src/FileSystem.ts +106 -74
- package/src/Filter.ts +166 -88
- package/src/Function.ts +154 -86
- package/src/Graph.ts +682 -365
- package/src/HKT.ts +29 -13
- package/src/Hash.ts +31 -18
- package/src/HashMap.ts +444 -256
- package/src/HashRing.ts +94 -17
- package/src/HashSet.ts +194 -104
- package/src/Inspectable.ts +22 -10
- package/src/Iterable.ts +309 -149
- package/src/JsonPatch.ts +4 -3
- package/src/Latch.ts +98 -15
- package/src/Layer.ts +488 -345
- package/src/LayerMap.ts +98 -25
- package/src/LogLevel.ts +92 -131
- package/src/Logger.ts +357 -288
- package/src/ManagedRuntime.ts +75 -17
- package/src/Match.ts +133 -157
- package/src/Metric.ts +355 -304
- package/src/MutableHashMap.ts +161 -84
- package/src/MutableHashSet.ts +122 -52
- package/src/MutableList.ts +141 -81
- package/src/MutableRef.ts +130 -90
- package/src/Newtype.ts +3 -0
- package/src/NonEmptyIterable.ts +36 -39
- package/src/Number.ts +116 -64
- package/src/Optic.ts +1 -2
- package/src/Option.ts +41 -53
- package/src/Ordering.ts +43 -28
- package/src/PartitionedSemaphore.ts +225 -40
- package/src/Path.ts +77 -13
- package/src/Pipeable.ts +76 -21
- package/src/PlatformError.ts +74 -6
- package/src/Pool.ts +94 -31
- package/src/Predicate.ts +16 -21
- package/src/PrimaryKey.ts +9 -2
- package/src/PubSub.ts +364 -262
- package/src/Pull.ts +94 -25
- package/src/Queue.ts +284 -150
- package/src/Random.ts +54 -35
- package/src/RcMap.ts +151 -141
- package/src/RcRef.ts +69 -32
- package/src/Record.ts +273 -129
- package/src/Redactable.ts +3 -3
- package/src/Redacted.ts +63 -33
- package/src/Ref.ts +161 -104
- package/src/References.ts +73 -31
- package/src/RegExp.ts +11 -5
- package/src/Request.ts +158 -34
- package/src/RequestResolver.ts +277 -119
- package/src/Resource.ts +45 -7
- package/src/Result.ts +31 -18
- package/src/Runtime.ts +45 -19
- package/src/Schedule.ts +575 -600
- package/src/Scheduler.ts +43 -6
- package/src/Schema.ts +845 -319
- package/src/SchemaAST.ts +25 -16
- package/src/SchemaGetter.ts +32 -17
- package/src/SchemaIssue.ts +1 -8
- package/src/SchemaParser.ts +262 -38
- package/src/SchemaTransformation.ts +61 -41
- package/src/SchemaUtils.ts +23 -0
- package/src/Scope.ts +102 -43
- package/src/ScopedCache.ts +192 -56
- package/src/ScopedRef.ts +28 -8
- package/src/Semaphore.ts +64 -28
- package/src/Sink.ts +458 -200
- package/src/Stdio.ts +43 -6
- package/src/Stream.ts +2043 -1256
- package/src/String.ts +171 -95
- package/src/SubscriptionRef.ts +308 -203
- package/src/Symbol.ts +13 -5
- package/src/SynchronizedRef.ts +278 -62
- package/src/Take.ts +26 -2
- package/src/Terminal.ts +40 -7
- package/src/Tracer.ts +229 -55
- package/src/Trie.ts +213 -142
- package/src/TxChunk.ts +182 -146
- package/src/TxDeferred.ts +43 -29
- package/src/TxHashMap.ts +370 -230
- package/src/TxHashSet.ts +250 -152
- package/src/TxPriorityQueue.ts +96 -64
- package/src/TxPubSub.ts +77 -49
- package/src/TxQueue.ts +279 -241
- package/src/TxReentrantLock.ts +70 -47
- package/src/TxRef.ts +70 -41
- package/src/TxSemaphore.ts +101 -54
- package/src/TxSubscriptionRef.ts +72 -48
- package/src/Types.ts +34 -34
- package/src/UndefinedOr.ts +48 -25
- package/src/Unify.ts +71 -116
- package/src/Utils.ts +4 -0
- package/src/index.ts +81 -32
- package/src/internal/concurrency.ts +2 -2
- package/src/internal/core.ts +12 -23
- package/src/internal/effect.ts +25 -29
- package/src/internal/executionPlan.ts +2 -2
- package/src/internal/option.ts +5 -8
- package/src/internal/result.ts +5 -8
- package/src/internal/schema/schema.ts +1 -1
- package/src/testing/FastCheck.ts +6 -3
- package/src/testing/TestClock.ts +63 -34
- package/src/testing/TestConsole.ts +49 -30
- package/src/testing/TestSchema.ts +8 -8
- package/src/unstable/ai/AiError.ts +187 -120
- package/src/unstable/ai/AnthropicStructuredOutput.ts +2 -2
- package/src/unstable/ai/Chat.ts +69 -43
- package/src/unstable/ai/EmbeddingModel.ts +12 -11
- package/src/unstable/ai/IdGenerator.ts +28 -18
- package/src/unstable/ai/LanguageModel.ts +47 -46
- package/src/unstable/ai/McpSchema.ts +339 -119
- package/src/unstable/ai/McpServer.ts +78 -21
- package/src/unstable/ai/Model.ts +23 -18
- package/src/unstable/ai/OpenAiStructuredOutput.ts +2 -2
- package/src/unstable/ai/Prompt.ts +210 -184
- package/src/unstable/ai/Response.ts +159 -147
- package/src/unstable/ai/ResponseIdTracker.ts +43 -4
- package/src/unstable/ai/Telemetry.ts +42 -32
- package/src/unstable/ai/Tokenizer.ts +13 -8
- package/src/unstable/ai/Tool.ts +154 -85
- package/src/unstable/ai/Toolkit.ts +81 -84
- package/src/unstable/ai/index.ts +42 -24
- package/src/unstable/cli/Argument.ts +226 -134
- package/src/unstable/cli/CliError.ts +96 -26
- package/src/unstable/cli/CliOutput.ts +43 -13
- package/src/unstable/cli/Command.ts +225 -125
- package/src/unstable/cli/Completions.ts +7 -7
- package/src/unstable/cli/Flag.ts +235 -142
- package/src/unstable/cli/GlobalFlag.ts +42 -14
- package/src/unstable/cli/HelpDoc.ts +35 -10
- package/src/unstable/cli/Param.ts +328 -190
- package/src/unstable/cli/Primitive.ts +79 -42
- package/src/unstable/cli/Prompt.ts +210 -58
- package/src/unstable/cli/internal/ansi.ts +13 -0
- package/src/unstable/cli/internal/command.ts +17 -15
- package/src/unstable/cli/internal/config.ts +3 -0
- package/src/unstable/cli/internal/lexer.ts +11 -0
- package/src/unstable/cluster/ClusterCron.ts +35 -1
- package/src/unstable/cluster/ClusterError.ts +56 -7
- package/src/unstable/cluster/ClusterMetrics.ts +39 -5
- package/src/unstable/cluster/ClusterSchema.ts +61 -8
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +36 -3
- package/src/unstable/cluster/DeliverAt.ts +39 -4
- package/src/unstable/cluster/Entity.ts +110 -19
- package/src/unstable/cluster/EntityAddress.ts +30 -2
- package/src/unstable/cluster/EntityId.ts +18 -3
- package/src/unstable/cluster/EntityProxy.ts +34 -2
- package/src/unstable/cluster/EntityProxyServer.ts +44 -8
- package/src/unstable/cluster/EntityResource.ts +43 -6
- package/src/unstable/cluster/EntityType.ts +27 -3
- package/src/unstable/cluster/Envelope.ts +128 -23
- package/src/unstable/cluster/HttpRunner.ts +88 -13
- package/src/unstable/cluster/K8sHttpClient.ts +49 -6
- package/src/unstable/cluster/MachineId.ts +24 -3
- package/src/unstable/cluster/Message.ts +102 -13
- package/src/unstable/cluster/MessageStorage.ts +128 -22
- package/src/unstable/cluster/Reply.ts +101 -12
- package/src/unstable/cluster/Runner.ts +47 -17
- package/src/unstable/cluster/RunnerAddress.ts +34 -2
- package/src/unstable/cluster/RunnerHealth.ts +40 -12
- package/src/unstable/cluster/RunnerServer.ts +31 -4
- package/src/unstable/cluster/RunnerStorage.ts +42 -5
- package/src/unstable/cluster/Runners.ts +73 -10
- package/src/unstable/cluster/ShardId.ts +51 -5
- package/src/unstable/cluster/Sharding.ts +35 -4
- package/src/unstable/cluster/ShardingConfig.ts +76 -11
- package/src/unstable/cluster/ShardingRegistrationEvent.ts +31 -7
- package/src/unstable/cluster/SingleRunner.ts +23 -1
- package/src/unstable/cluster/Singleton.ts +15 -1
- package/src/unstable/cluster/SingletonAddress.ts +21 -1
- package/src/unstable/cluster/Snowflake.ts +89 -19
- package/src/unstable/cluster/SocketRunner.ts +29 -2
- package/src/unstable/cluster/SqlMessageStorage.ts +27 -3
- package/src/unstable/cluster/SqlRunnerStorage.ts +46 -7
- package/src/unstable/cluster/TestRunner.ts +18 -1
- package/src/unstable/cluster/internal/hash.ts +12 -0
- package/src/unstable/devtools/DevTools.ts +26 -3
- package/src/unstable/devtools/DevToolsClient.ts +32 -5
- package/src/unstable/devtools/DevToolsSchema.ts +201 -44
- package/src/unstable/devtools/DevToolsServer.ts +27 -2
- package/src/unstable/encoding/Msgpack.ts +97 -12
- package/src/unstable/encoding/Ndjson.ts +149 -21
- package/src/unstable/encoding/Sse.ts +109 -18
- package/src/unstable/eventlog/Event.ts +131 -30
- package/src/unstable/eventlog/EventGroup.ts +50 -17
- package/src/unstable/eventlog/EventJournal.ts +120 -20
- package/src/unstable/eventlog/EventLog.ts +151 -31
- package/src/unstable/eventlog/EventLogEncryption.ts +42 -6
- package/src/unstable/eventlog/EventLogMessage.ts +92 -18
- package/src/unstable/eventlog/EventLogRemote.ts +54 -8
- package/src/unstable/eventlog/EventLogServer.ts +33 -3
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +52 -6
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +90 -16
- package/src/unstable/eventlog/EventLogSessionAuth.ts +77 -15
- package/src/unstable/eventlog/SqlEventJournal.ts +28 -2
- package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +32 -3
- package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +28 -2
- package/src/unstable/http/Cookies.ts +156 -77
- package/src/unstable/http/Etag.ts +40 -7
- package/src/unstable/http/FetchHttpClient.ts +33 -4
- package/src/unstable/http/FindMyWay.ts +1 -1
- package/src/unstable/http/Headers.ts +252 -50
- package/src/unstable/http/HttpBody.ts +130 -28
- package/src/unstable/http/HttpClient.ts +206 -97
- package/src/unstable/http/HttpClientError.ts +80 -12
- package/src/unstable/http/HttpClientRequest.ts +320 -102
- package/src/unstable/http/HttpClientResponse.ts +59 -16
- package/src/unstable/http/HttpEffect.ts +66 -18
- package/src/unstable/http/HttpIncomingMessage.ts +47 -7
- package/src/unstable/http/HttpMethod.ts +35 -5
- package/src/unstable/http/HttpMiddleware.ts +63 -16
- package/src/unstable/http/HttpPlatform.ts +35 -4
- package/src/unstable/http/HttpRouter.ts +221 -57
- package/src/unstable/http/HttpServer.ts +152 -23
- package/src/unstable/http/HttpServerError.ts +90 -10
- package/src/unstable/http/HttpServerRequest.ts +136 -32
- package/src/unstable/http/HttpServerRespondable.ts +49 -6
- package/src/unstable/http/HttpServerResponse.ts +395 -72
- package/src/unstable/http/HttpStaticServer.ts +22 -4
- package/src/unstable/http/HttpTraceContext.ts +53 -6
- package/src/unstable/http/Multipart.ts +179 -29
- package/src/unstable/http/Multipasta/HeadersParser.ts +1 -1
- package/src/unstable/http/Multipasta/Node.ts +1 -1
- package/src/unstable/http/Multipasta/Search.ts +1 -1
- package/src/unstable/http/Multipasta/Web.ts +1 -1
- package/src/unstable/http/Multipasta.ts +1 -1
- package/src/unstable/http/Template.ts +53 -0
- package/src/unstable/http/Url.ts +56 -42
- package/src/unstable/http/UrlParams.ts +233 -49
- package/src/unstable/httpapi/HttpApi.ts +49 -14
- package/src/unstable/httpapi/HttpApiBuilder.ts +86 -20
- package/src/unstable/httpapi/HttpApiClient.ts +80 -16
- package/src/unstable/httpapi/HttpApiEndpoint.ts +238 -59
- package/src/unstable/httpapi/HttpApiError.ts +100 -1
- package/src/unstable/httpapi/HttpApiGroup.ts +87 -20
- package/src/unstable/httpapi/HttpApiMiddleware.ts +113 -23
- package/src/unstable/httpapi/HttpApiScalar.ts +38 -4
- package/src/unstable/httpapi/HttpApiSchema.ts +67 -30
- package/src/unstable/httpapi/HttpApiSecurity.ts +74 -17
- package/src/unstable/httpapi/HttpApiSwagger.ts +24 -2
- package/src/unstable/httpapi/HttpApiTest.ts +31 -3
- package/src/unstable/httpapi/OpenApi.ts +115 -15
- package/src/unstable/observability/Otlp.ts +33 -3
- package/src/unstable/observability/OtlpExporter.ts +32 -1
- package/src/unstable/observability/OtlpLogger.ts +31 -2
- package/src/unstable/observability/OtlpMetrics.ts +37 -4
- package/src/unstable/observability/OtlpResource.ts +68 -12
- package/src/unstable/observability/OtlpSerialization.ts +28 -3
- package/src/unstable/observability/OtlpTracer.ts +38 -2
- package/src/unstable/observability/PrometheusMetrics.ts +32 -12
- package/src/unstable/observability/index.ts +2 -1
- package/src/unstable/persistence/KeyValueStore.ts +108 -28
- package/src/unstable/persistence/Persistable.ts +76 -15
- package/src/unstable/persistence/PersistedCache.ts +27 -2
- package/src/unstable/persistence/PersistedQueue.ts +98 -16
- package/src/unstable/persistence/Persistence.ts +97 -16
- package/src/unstable/persistence/RateLimiter.ts +98 -22
- package/src/unstable/persistence/Redis.ts +42 -5
- package/src/unstable/process/ChildProcess.ts +100 -79
- package/src/unstable/process/ChildProcessSpawner.ts +22 -11
- package/src/unstable/process/index.ts +2 -1
- package/src/unstable/reactivity/AsyncResult.ts +202 -61
- package/src/unstable/reactivity/Atom.ts +597 -143
- package/src/unstable/reactivity/AtomHttpApi.ts +41 -2
- package/src/unstable/reactivity/AtomRef.ts +51 -7
- package/src/unstable/reactivity/AtomRegistry.ts +141 -22
- package/src/unstable/reactivity/AtomRpc.ts +36 -2
- package/src/unstable/reactivity/Hydration.ts +45 -5
- package/src/unstable/reactivity/Reactivity.ts +95 -13
- package/src/unstable/rpc/Rpc.ts +255 -56
- package/src/unstable/rpc/RpcClient.ts +108 -20
- package/src/unstable/rpc/RpcClientError.ts +26 -2
- package/src/unstable/rpc/RpcGroup.ts +51 -8
- package/src/unstable/rpc/RpcMessage.ts +128 -32
- package/src/unstable/rpc/RpcMiddleware.ts +100 -20
- package/src/unstable/rpc/RpcSchema.ts +38 -4
- package/src/unstable/rpc/RpcSerialization.ts +60 -13
- package/src/unstable/rpc/RpcServer.ts +108 -25
- package/src/unstable/rpc/RpcTest.ts +20 -1
- package/src/unstable/rpc/RpcWorker.ts +42 -8
- package/src/unstable/rpc/Utils.ts +31 -0
- package/src/unstable/schema/Model.ts +148 -52
- package/src/unstable/schema/VariantSchema.ts +104 -24
- package/src/unstable/socket/Socket.ts +168 -35
- package/src/unstable/socket/SocketServer.ts +58 -10
- package/src/unstable/sql/Migrator.ts +57 -5
- package/src/unstable/sql/SqlClient.ts +55 -2
- package/src/unstable/sql/SqlConnection.ts +31 -0
- package/src/unstable/sql/SqlError.ts +117 -0
- package/src/unstable/sql/SqlModel.ts +26 -5
- package/src/unstable/sql/SqlResolver.ts +56 -13
- package/src/unstable/sql/SqlSchema.ts +29 -8
- package/src/unstable/sql/SqlStream.ts +23 -0
- package/src/unstable/sql/Statement.ts +141 -0
- package/src/unstable/sql/index.ts +1 -1
- package/src/unstable/workers/Transferable.ts +65 -13
- package/src/unstable/workers/Worker.ts +60 -8
- package/src/unstable/workers/WorkerError.ts +50 -9
- package/src/unstable/workers/WorkerRunner.ts +32 -3
- package/src/unstable/workers/index.ts +1 -1
- package/src/unstable/workflow/Activity.ts +62 -11
- package/src/unstable/workflow/DurableClock.ts +26 -3
- package/src/unstable/workflow/DurableDeferred.ts +146 -31
- package/src/unstable/workflow/DurableQueue.ts +366 -0
- package/src/unstable/workflow/Workflow.ts +122 -32
- package/src/unstable/workflow/WorkflowEngine.ts +40 -5
- package/src/unstable/workflow/WorkflowProxy.ts +32 -2
- package/src/unstable/workflow/WorkflowProxyServer.ts +40 -6
- package/src/unstable/workflow/index.ts +5 -0
package/src/PubSub.ts
CHANGED
|
@@ -5,20 +5,22 @@
|
|
|
5
5
|
* can subscribe to receive those messages. PubSub supports various backpressure strategies,
|
|
6
6
|
* message replay, and concurrent access from multiple producers and consumers.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* **Example** (Creating and using a PubSub)
|
|
9
|
+
*
|
|
9
10
|
* ```ts
|
|
10
11
|
* import { Effect, PubSub } from "effect"
|
|
11
12
|
*
|
|
12
13
|
* const program = Effect.gen(function*() {
|
|
13
14
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
14
15
|
*
|
|
15
|
-
* // Publisher
|
|
16
|
-
* yield* PubSub.publish(pubsub, "Hello")
|
|
17
|
-
* yield* PubSub.publish(pubsub, "World")
|
|
18
|
-
*
|
|
19
|
-
* // Subscriber
|
|
20
16
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
21
17
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
18
|
+
*
|
|
19
|
+
* // Publisher
|
|
20
|
+
* yield* PubSub.publish(pubsub, "Hello")
|
|
21
|
+
* yield* PubSub.publish(pubsub, "World")
|
|
22
|
+
*
|
|
23
|
+
* // Subscriber
|
|
22
24
|
* const message1 = yield* PubSub.take(subscription)
|
|
23
25
|
* const message2 = yield* PubSub.take(subscription)
|
|
24
26
|
* console.log(message1, message2) // "Hello", "World"
|
|
@@ -51,7 +53,8 @@ const TypeId = "~effect/PubSub"
|
|
|
51
53
|
* messages of type `A` and subscribers can subscribe to take messages of type
|
|
52
54
|
* `A`.
|
|
53
55
|
*
|
|
54
|
-
*
|
|
56
|
+
* **Example** (Publishing and subscribing to messages)
|
|
57
|
+
*
|
|
55
58
|
* ```ts
|
|
56
59
|
* import { Effect } from "effect"
|
|
57
60
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -60,13 +63,14 @@ const TypeId = "~effect/PubSub"
|
|
|
60
63
|
* // Create a bounded PubSub with capacity 10
|
|
61
64
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
62
65
|
*
|
|
63
|
-
* // Publish messages
|
|
64
|
-
* yield* PubSub.publish(pubsub, "Hello")
|
|
65
|
-
* yield* PubSub.publish(pubsub, "World")
|
|
66
|
-
*
|
|
67
66
|
* // Subscribe and consume messages
|
|
68
67
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
69
68
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
69
|
+
*
|
|
70
|
+
* // Publish messages
|
|
71
|
+
* yield* PubSub.publish(pubsub, "Hello")
|
|
72
|
+
* yield* PubSub.publish(pubsub, "World")
|
|
73
|
+
*
|
|
70
74
|
* const message1 = yield* PubSub.take(subscription)
|
|
71
75
|
* const message2 = yield* PubSub.take(subscription)
|
|
72
76
|
* console.log(message1, message2) // "Hello", "World"
|
|
@@ -74,8 +78,8 @@ const TypeId = "~effect/PubSub"
|
|
|
74
78
|
* })
|
|
75
79
|
* ```
|
|
76
80
|
*
|
|
77
|
-
* @since 2.0.0
|
|
78
81
|
* @category models
|
|
82
|
+
* @since 2.0.0
|
|
79
83
|
*/
|
|
80
84
|
export interface PubSub<in out A> extends Pipeable {
|
|
81
85
|
readonly [TypeId]: {
|
|
@@ -90,15 +94,18 @@ export interface PubSub<in out A> extends Pipeable {
|
|
|
90
94
|
}
|
|
91
95
|
|
|
92
96
|
/**
|
|
97
|
+
* Companion namespace containing the low-level building blocks used by
|
|
98
|
+
* `PubSub`, including atomic implementations, backing subscriptions, replay
|
|
99
|
+
* windows, and delivery strategies.
|
|
100
|
+
*
|
|
93
101
|
* @since 2.0.0
|
|
94
|
-
* @category models
|
|
95
102
|
*/
|
|
96
103
|
export namespace PubSub {
|
|
97
104
|
/**
|
|
98
105
|
* Low-level atomic PubSub interface that handles the core message storage and retrieval.
|
|
99
106
|
*
|
|
100
|
-
* @since 4.0.0
|
|
101
107
|
* @category models
|
|
108
|
+
* @since 4.0.0
|
|
102
109
|
*/
|
|
103
110
|
export interface Atomic<in out A> {
|
|
104
111
|
readonly capacity: number
|
|
@@ -115,8 +122,8 @@ export namespace PubSub {
|
|
|
115
122
|
/**
|
|
116
123
|
* Low-level subscription interface that handles message polling for individual subscribers.
|
|
117
124
|
*
|
|
118
|
-
* @since 4.0.0
|
|
119
125
|
* @category models
|
|
126
|
+
* @since 4.0.0
|
|
120
127
|
*/
|
|
121
128
|
export interface BackingSubscription<out A> {
|
|
122
129
|
isEmpty(): boolean
|
|
@@ -127,10 +134,16 @@ export namespace PubSub {
|
|
|
127
134
|
}
|
|
128
135
|
|
|
129
136
|
/**
|
|
130
|
-
*
|
|
137
|
+
* Tracks the pollers currently waiting on each backing subscription.
|
|
138
|
+
*
|
|
139
|
+
* **Notes**
|
|
140
|
+
*
|
|
141
|
+
* This type is part of the low-level `PubSub.Strategy` contract. Most
|
|
142
|
+
* application code should use `subscribe`, `take`, and the other `PubSub`
|
|
143
|
+
* operations instead of manipulating subscriber maps directly.
|
|
131
144
|
*
|
|
132
|
-
* @since 4.0.0
|
|
133
145
|
* @category models
|
|
146
|
+
* @since 4.0.0
|
|
134
147
|
*/
|
|
135
148
|
export type Subscribers<A> = Map<
|
|
136
149
|
BackingSubscription<A>,
|
|
@@ -140,8 +153,8 @@ export namespace PubSub {
|
|
|
140
153
|
/**
|
|
141
154
|
* Interface for accessing replay buffer contents for late subscribers.
|
|
142
155
|
*
|
|
143
|
-
* @since 4.0.0
|
|
144
156
|
* @category models
|
|
157
|
+
* @since 4.0.0
|
|
145
158
|
*/
|
|
146
159
|
export interface ReplayWindow<A> {
|
|
147
160
|
take(): A | undefined
|
|
@@ -153,8 +166,8 @@ export namespace PubSub {
|
|
|
153
166
|
/**
|
|
154
167
|
* Strategy interface defining how PubSub handles backpressure and message distribution.
|
|
155
168
|
*
|
|
156
|
-
* @since 4.0.0
|
|
157
169
|
* @category models
|
|
170
|
+
* @since 4.0.0
|
|
158
171
|
*/
|
|
159
172
|
export interface Strategy<in out A> {
|
|
160
173
|
/**
|
|
@@ -210,7 +223,8 @@ const SubscriptionTypeId = "~effect/PubSub/Subscription"
|
|
|
210
223
|
/**
|
|
211
224
|
* A subscription represents a consumer's connection to a PubSub, allowing them to take messages.
|
|
212
225
|
*
|
|
213
|
-
*
|
|
226
|
+
* **Example** (Taking messages from a subscription)
|
|
227
|
+
*
|
|
214
228
|
* ```ts
|
|
215
229
|
* import { Effect } from "effect"
|
|
216
230
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -224,18 +238,23 @@ const SubscriptionTypeId = "~effect/PubSub/Subscription"
|
|
|
224
238
|
* pubsub
|
|
225
239
|
* )
|
|
226
240
|
*
|
|
241
|
+
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
|
|
242
|
+
*
|
|
227
243
|
* // Take individual messages
|
|
228
244
|
* const message = yield* PubSub.take(subscription)
|
|
245
|
+
* console.log(message) // "msg1"
|
|
229
246
|
*
|
|
230
247
|
* // Take multiple messages
|
|
231
|
-
* const messages = yield* PubSub.takeUpTo(subscription,
|
|
248
|
+
* const messages = yield* PubSub.takeUpTo(subscription, 1)
|
|
249
|
+
* console.log(messages) // ["msg2"]
|
|
232
250
|
* const allMessages = yield* PubSub.takeAll(subscription)
|
|
251
|
+
* console.log(allMessages) // ["msg3"]
|
|
233
252
|
* }))
|
|
234
253
|
* })
|
|
235
254
|
* ```
|
|
236
255
|
*
|
|
237
|
-
* @since 4.0.0
|
|
238
256
|
* @category models
|
|
257
|
+
* @since 4.0.0
|
|
239
258
|
*/
|
|
240
259
|
export interface Subscription<out A> extends Pipeable {
|
|
241
260
|
readonly [SubscriptionTypeId]: {
|
|
@@ -254,7 +273,8 @@ export interface Subscription<out A> extends Pipeable {
|
|
|
254
273
|
/**
|
|
255
274
|
* Creates a PubSub with a custom atomic implementation and strategy.
|
|
256
275
|
*
|
|
257
|
-
*
|
|
276
|
+
* **Example** (Creating a PubSub with a custom strategy)
|
|
277
|
+
*
|
|
258
278
|
* ```ts
|
|
259
279
|
* import { Effect } from "effect"
|
|
260
280
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -271,8 +291,8 @@ export interface Subscription<out A> extends Pipeable {
|
|
|
271
291
|
* })
|
|
272
292
|
* ```
|
|
273
293
|
*
|
|
274
|
-
* @since 4.0.0
|
|
275
294
|
* @category constructors
|
|
295
|
+
* @since 4.0.0
|
|
276
296
|
*/
|
|
277
297
|
export const make = <A>(
|
|
278
298
|
options: {
|
|
@@ -292,17 +312,20 @@ export const make = <A>(
|
|
|
292
312
|
)
|
|
293
313
|
|
|
294
314
|
/**
|
|
295
|
-
* Creates a bounded PubSub
|
|
315
|
+
* Creates a bounded `PubSub` that applies backpressure when it reaches
|
|
316
|
+
* capacity.
|
|
296
317
|
*
|
|
297
|
-
*
|
|
298
|
-
* When the
|
|
299
|
-
*
|
|
318
|
+
* Published messages are retained until all current subscribers have taken
|
|
319
|
+
* them. When the capacity is full, publishers suspend until space is available.
|
|
320
|
+
* Pass an options object to configure both `capacity` and an optional replay
|
|
321
|
+
* buffer for late subscribers.
|
|
300
322
|
*
|
|
301
323
|
* @param capacity - The maximum number of messages the PubSub can hold, or an options object
|
|
302
324
|
* with capacity and optional replay buffer size
|
|
303
325
|
* @returns An Effect that creates a bounded PubSub
|
|
304
326
|
*
|
|
305
|
-
*
|
|
327
|
+
* **Example** (Creating a bounded PubSub)
|
|
328
|
+
*
|
|
306
329
|
* ```ts
|
|
307
330
|
* import { Effect } from "effect"
|
|
308
331
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -319,8 +342,8 @@ export const make = <A>(
|
|
|
319
342
|
* })
|
|
320
343
|
* ```
|
|
321
344
|
*
|
|
322
|
-
* @since 2.0.0
|
|
323
345
|
* @category constructors
|
|
346
|
+
* @since 2.0.0
|
|
324
347
|
*/
|
|
325
348
|
export const bounded = <A>(
|
|
326
349
|
capacity: number | {
|
|
@@ -339,7 +362,8 @@ export const bounded = <A>(
|
|
|
339
362
|
*
|
|
340
363
|
* For best performance use capacities that are powers of two.
|
|
341
364
|
*
|
|
342
|
-
*
|
|
365
|
+
* **Example** (Dropping messages when full)
|
|
366
|
+
*
|
|
343
367
|
* ```ts
|
|
344
368
|
* import { Effect } from "effect"
|
|
345
369
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -354,17 +378,24 @@ export const bounded = <A>(
|
|
|
354
378
|
* replay: 5
|
|
355
379
|
* })
|
|
356
380
|
*
|
|
357
|
-
*
|
|
358
|
-
*
|
|
359
|
-
*
|
|
360
|
-
*
|
|
361
|
-
*
|
|
362
|
-
*
|
|
381
|
+
* yield* Effect.scoped(Effect.gen(function*() {
|
|
382
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
383
|
+
*
|
|
384
|
+
* // Fill the PubSub and see dropping behavior
|
|
385
|
+
* yield* PubSub.publish(pubsub, "msg1") // succeeds
|
|
386
|
+
* yield* PubSub.publish(pubsub, "msg2") // succeeds
|
|
387
|
+
* yield* PubSub.publish(pubsub, "msg3") // succeeds
|
|
388
|
+
* const dropped = yield* PubSub.publish(pubsub, "msg4") // returns false (dropped)
|
|
389
|
+
* console.log("Message dropped:", !dropped) // true
|
|
390
|
+
*
|
|
391
|
+
* const messages = yield* PubSub.takeAll(subscription)
|
|
392
|
+
* console.log(messages) // ["msg1", "msg2", "msg3"]
|
|
393
|
+
* }))
|
|
363
394
|
* })
|
|
364
395
|
* ```
|
|
365
396
|
*
|
|
366
|
-
* @since 2.0.0
|
|
367
397
|
* @category constructors
|
|
398
|
+
* @since 2.0.0
|
|
368
399
|
*/
|
|
369
400
|
export const dropping = <A>(
|
|
370
401
|
capacity: number | {
|
|
@@ -383,7 +414,8 @@ export const dropping = <A>(
|
|
|
383
414
|
*
|
|
384
415
|
* For best performance use capacities that are powers of two.
|
|
385
416
|
*
|
|
386
|
-
*
|
|
417
|
+
* **Example** (Sliding old messages when full)
|
|
418
|
+
*
|
|
387
419
|
* ```ts
|
|
388
420
|
* import { Effect } from "effect"
|
|
389
421
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -398,22 +430,23 @@ export const dropping = <A>(
|
|
|
398
430
|
* replay: 2
|
|
399
431
|
* })
|
|
400
432
|
*
|
|
401
|
-
* // Fill and overflow the PubSub
|
|
402
|
-
* yield* PubSub.publish(pubsub, "msg1")
|
|
403
|
-
* yield* PubSub.publish(pubsub, "msg2")
|
|
404
|
-
* yield* PubSub.publish(pubsub, "msg3")
|
|
405
|
-
* yield* PubSub.publish(pubsub, "msg4") // "msg1" is evicted
|
|
406
|
-
*
|
|
407
433
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
408
434
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
435
|
+
*
|
|
436
|
+
* // Fill and overflow the PubSub
|
|
437
|
+
* yield* PubSub.publish(pubsub, "msg1")
|
|
438
|
+
* yield* PubSub.publish(pubsub, "msg2")
|
|
439
|
+
* yield* PubSub.publish(pubsub, "msg3")
|
|
440
|
+
* yield* PubSub.publish(pubsub, "msg4") // "msg1" is evicted
|
|
441
|
+
*
|
|
409
442
|
* const messages = yield* PubSub.takeAll(subscription)
|
|
410
443
|
* console.log(messages) // ["msg2", "msg3", "msg4"]
|
|
411
444
|
* }))
|
|
412
445
|
* })
|
|
413
446
|
* ```
|
|
414
447
|
*
|
|
415
|
-
* @since 2.0.0
|
|
416
448
|
* @category constructors
|
|
449
|
+
* @since 2.0.0
|
|
417
450
|
*/
|
|
418
451
|
export const sliding = <A>(
|
|
419
452
|
capacity: number | {
|
|
@@ -429,7 +462,8 @@ export const sliding = <A>(
|
|
|
429
462
|
/**
|
|
430
463
|
* Creates an unbounded `PubSub`.
|
|
431
464
|
*
|
|
432
|
-
*
|
|
465
|
+
* **Example** (Creating an unbounded PubSub)
|
|
466
|
+
*
|
|
433
467
|
* ```ts
|
|
434
468
|
* import { Effect } from "effect"
|
|
435
469
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -443,21 +477,22 @@ export const sliding = <A>(
|
|
|
443
477
|
* replay: 10
|
|
444
478
|
* })
|
|
445
479
|
*
|
|
446
|
-
* // Can publish unlimited messages
|
|
447
|
-
* for (let i = 0; i < 1000; i++) {
|
|
448
|
-
* yield* PubSub.publish(pubsub, `message-${i}`)
|
|
449
|
-
* }
|
|
450
|
-
*
|
|
451
480
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
452
481
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
482
|
+
*
|
|
483
|
+
* // Can publish unlimited messages
|
|
484
|
+
* for (let i = 0; i < 3; i++) {
|
|
485
|
+
* yield* PubSub.publish(pubsub, `message-${i}`)
|
|
486
|
+
* }
|
|
487
|
+
*
|
|
453
488
|
* const message = yield* PubSub.take(subscription)
|
|
454
|
-
* console.log("First message:", message)
|
|
489
|
+
* console.log("First message:", message) // "message-0"
|
|
455
490
|
* }))
|
|
456
491
|
* })
|
|
457
492
|
* ```
|
|
458
493
|
*
|
|
459
|
-
* @since 2.0.0
|
|
460
494
|
* @category constructors
|
|
495
|
+
* @since 2.0.0
|
|
461
496
|
*/
|
|
462
497
|
export const unbounded = <A>(options?: {
|
|
463
498
|
readonly replay?: number | undefined
|
|
@@ -470,8 +505,8 @@ export const unbounded = <A>(options?: {
|
|
|
470
505
|
/**
|
|
471
506
|
* Creates a bounded atomic PubSub implementation with optional replay buffer.
|
|
472
507
|
*
|
|
473
|
-
* @since 4.0.0
|
|
474
508
|
* @category constructors
|
|
509
|
+
* @since 4.0.0
|
|
475
510
|
*/
|
|
476
511
|
export const makeAtomicBounded = <A>(
|
|
477
512
|
capacity: number | {
|
|
@@ -494,8 +529,8 @@ export const makeAtomicBounded = <A>(
|
|
|
494
529
|
/**
|
|
495
530
|
* Creates an unbounded atomic PubSub implementation with optional replay buffer.
|
|
496
531
|
*
|
|
497
|
-
* @since 4.0.0
|
|
498
532
|
* @category constructors
|
|
533
|
+
* @since 4.0.0
|
|
499
534
|
*/
|
|
500
535
|
export const makeAtomicUnbounded = <A>(options?: {
|
|
501
536
|
readonly replay?: number | undefined
|
|
@@ -504,7 +539,8 @@ export const makeAtomicUnbounded = <A>(options?: {
|
|
|
504
539
|
/**
|
|
505
540
|
* Returns the number of elements the queue can hold.
|
|
506
541
|
*
|
|
507
|
-
*
|
|
542
|
+
* **Example** (Getting PubSub capacity)
|
|
543
|
+
*
|
|
508
544
|
* ```ts
|
|
509
545
|
* import { Effect } from "effect"
|
|
510
546
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -520,17 +556,20 @@ export const makeAtomicUnbounded = <A>(options?: {
|
|
|
520
556
|
* })
|
|
521
557
|
* ```
|
|
522
558
|
*
|
|
523
|
-
* @since 2.0.0
|
|
524
559
|
* @category getters
|
|
560
|
+
* @since 2.0.0
|
|
525
561
|
*/
|
|
526
562
|
export const capacity = <A>(self: PubSub<A>): number => self.pubsub.capacity
|
|
527
563
|
|
|
528
564
|
/**
|
|
529
|
-
*
|
|
530
|
-
*
|
|
531
|
-
*
|
|
565
|
+
* Returns the current number of messages retained by the `PubSub` for active
|
|
566
|
+
* subscribers.
|
|
567
|
+
*
|
|
568
|
+
* If the `PubSub` has been shut down, the returned effect succeeds with `0`.
|
|
569
|
+
* The size is not a count of waiting subscribers or suspended publishers.
|
|
570
|
+
*
|
|
571
|
+
* **Example** (Getting PubSub size)
|
|
532
572
|
*
|
|
533
|
-
* @example
|
|
534
573
|
* ```ts
|
|
535
574
|
* import { Effect } from "effect"
|
|
536
575
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -542,25 +581,36 @@ export const capacity = <A>(self: PubSub<A>): number => self.pubsub.capacity
|
|
|
542
581
|
* const initialSize = yield* PubSub.size(pubsub)
|
|
543
582
|
* console.log("Initial size:", initialSize) // 0
|
|
544
583
|
*
|
|
545
|
-
*
|
|
546
|
-
*
|
|
547
|
-
* yield* PubSub.publish(pubsub, "msg2")
|
|
584
|
+
* yield* Effect.scoped(Effect.gen(function*() {
|
|
585
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
548
586
|
*
|
|
549
|
-
*
|
|
550
|
-
*
|
|
587
|
+
* // Publish some messages for the active subscription
|
|
588
|
+
* yield* PubSub.publish(pubsub, "msg1")
|
|
589
|
+
* yield* PubSub.publish(pubsub, "msg2")
|
|
590
|
+
*
|
|
591
|
+
* const afterPublish = yield* PubSub.size(pubsub)
|
|
592
|
+
* console.log("After publishing:", afterPublish) // 2
|
|
593
|
+
*
|
|
594
|
+
* yield* PubSub.takeAll(subscription)
|
|
595
|
+
* }))
|
|
551
596
|
* })
|
|
552
597
|
* ```
|
|
553
598
|
*
|
|
554
|
-
* @since 2.0.0
|
|
555
599
|
* @category getters
|
|
600
|
+
* @since 2.0.0
|
|
556
601
|
*/
|
|
557
602
|
export const size = <A>(self: PubSub<A>): Effect.Effect<number> => Effect.sync(() => sizeUnsafe(self))
|
|
558
603
|
/**
|
|
559
|
-
*
|
|
560
|
-
*
|
|
561
|
-
*
|
|
604
|
+
* Synchronously returns the current number of messages retained by the `PubSub`
|
|
605
|
+
* for active subscribers.
|
|
606
|
+
*
|
|
607
|
+
* **Notes**
|
|
608
|
+
*
|
|
609
|
+
* Returns `0` after shutdown. Because this is an unsafe synchronous snapshot,
|
|
610
|
+
* prefer `size` in effectful code.
|
|
611
|
+
*
|
|
612
|
+
* **Example** (Reading size synchronously)
|
|
562
613
|
*
|
|
563
|
-
* @example
|
|
564
614
|
* ```ts
|
|
565
615
|
* import { PubSub } from "effect"
|
|
566
616
|
*
|
|
@@ -571,8 +621,8 @@ export const size = <A>(self: PubSub<A>): Effect.Effect<number> => Effect.sync((
|
|
|
571
621
|
* console.log("Current size:", size)
|
|
572
622
|
* ```
|
|
573
623
|
*
|
|
574
|
-
* @since 2.0.0
|
|
575
624
|
* @category getters
|
|
625
|
+
* @since 2.0.0
|
|
576
626
|
*/
|
|
577
627
|
export const sizeUnsafe = <A>(self: PubSub<A>): number => {
|
|
578
628
|
if (MutableRef.get(self.shutdownFlag)) {
|
|
@@ -582,10 +632,12 @@ export const sizeUnsafe = <A>(self: PubSub<A>): number => {
|
|
|
582
632
|
}
|
|
583
633
|
|
|
584
634
|
/**
|
|
585
|
-
* Returns `true`
|
|
586
|
-
*
|
|
635
|
+
* Returns `true` when the `PubSub` has reached its configured capacity.
|
|
636
|
+
*
|
|
637
|
+
* For unbounded PubSubs this is normally `false`.
|
|
638
|
+
*
|
|
639
|
+
* **Example** (Checking whether a PubSub is full)
|
|
587
640
|
*
|
|
588
|
-
* @example
|
|
589
641
|
* ```ts
|
|
590
642
|
* import { Effect } from "effect"
|
|
591
643
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -597,17 +649,23 @@ export const sizeUnsafe = <A>(self: PubSub<A>): number => {
|
|
|
597
649
|
* const initiallyFull = yield* PubSub.isFull(pubsub)
|
|
598
650
|
* console.log("Initially full:", initiallyFull) // false
|
|
599
651
|
*
|
|
600
|
-
*
|
|
601
|
-
*
|
|
602
|
-
*
|
|
652
|
+
* yield* Effect.scoped(Effect.gen(function*() {
|
|
653
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
654
|
+
*
|
|
655
|
+
* // Fill the PubSub for the active subscription
|
|
656
|
+
* yield* PubSub.publish(pubsub, "msg1")
|
|
657
|
+
* yield* PubSub.publish(pubsub, "msg2")
|
|
658
|
+
*
|
|
659
|
+
* const nowFull = yield* PubSub.isFull(pubsub)
|
|
660
|
+
* console.log("Now full:", nowFull) // true
|
|
603
661
|
*
|
|
604
|
-
*
|
|
605
|
-
*
|
|
662
|
+
* yield* PubSub.takeAll(subscription)
|
|
663
|
+
* }))
|
|
606
664
|
* })
|
|
607
665
|
* ```
|
|
608
666
|
*
|
|
609
|
-
* @since 2.0.0
|
|
610
667
|
* @category predicates
|
|
668
|
+
* @since 2.0.0
|
|
611
669
|
*/
|
|
612
670
|
export const isFull = <A>(self: PubSub<A>): Effect.Effect<boolean> =>
|
|
613
671
|
Effect.map(size(self), (size) => size === self.pubsub.capacity)
|
|
@@ -615,7 +673,8 @@ export const isFull = <A>(self: PubSub<A>): Effect.Effect<boolean> =>
|
|
|
615
673
|
/**
|
|
616
674
|
* Returns `true` if the `Pubsub` contains zero elements, `false` otherwise.
|
|
617
675
|
*
|
|
618
|
-
*
|
|
676
|
+
* **Example** (Checking whether a PubSub is empty)
|
|
677
|
+
*
|
|
619
678
|
* ```ts
|
|
620
679
|
* import { Effect } from "effect"
|
|
621
680
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -627,49 +686,55 @@ export const isFull = <A>(self: PubSub<A>): Effect.Effect<boolean> =>
|
|
|
627
686
|
* const initiallyEmpty = yield* PubSub.isEmpty(pubsub)
|
|
628
687
|
* console.log("Initially empty:", initiallyEmpty) // true
|
|
629
688
|
*
|
|
630
|
-
*
|
|
631
|
-
*
|
|
689
|
+
* yield* Effect.scoped(Effect.gen(function*() {
|
|
690
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
632
691
|
*
|
|
633
|
-
*
|
|
634
|
-
*
|
|
692
|
+
* // Publish a message for the active subscription
|
|
693
|
+
* yield* PubSub.publish(pubsub, "Hello")
|
|
694
|
+
*
|
|
695
|
+
* const nowEmpty = yield* PubSub.isEmpty(pubsub)
|
|
696
|
+
* console.log("Now empty:", nowEmpty) // false
|
|
697
|
+
*
|
|
698
|
+
* yield* PubSub.take(subscription)
|
|
699
|
+
* }))
|
|
635
700
|
* })
|
|
636
701
|
* ```
|
|
637
702
|
*
|
|
638
|
-
* @since 2.0.0
|
|
639
703
|
* @category predicates
|
|
704
|
+
* @since 2.0.0
|
|
640
705
|
*/
|
|
641
706
|
export const isEmpty = <A>(self: PubSub<A>): Effect.Effect<boolean> => Effect.map(size(self), (size) => size === 0)
|
|
642
707
|
|
|
643
708
|
/**
|
|
644
|
-
*
|
|
645
|
-
*
|
|
709
|
+
* Shuts down the `PubSub`, interrupting suspended publishers and subscribers
|
|
710
|
+
* and finalizing active subscriptions.
|
|
711
|
+
*
|
|
712
|
+
* After shutdown, `publish` and `publishAll` succeed with `false`,
|
|
713
|
+
* `publishUnsafe` returns `false`, and subscription operations such as `take`
|
|
714
|
+
* interrupt.
|
|
715
|
+
*
|
|
716
|
+
* **Example** (Shutting down a PubSub)
|
|
646
717
|
*
|
|
647
|
-
* @example
|
|
648
718
|
* ```ts
|
|
649
|
-
* import { Effect,
|
|
719
|
+
* import { Effect, PubSub } from "effect"
|
|
650
720
|
*
|
|
651
721
|
* const program = Effect.gen(function*() {
|
|
652
722
|
* const pubsub = yield* PubSub.bounded<string>(1)
|
|
653
723
|
*
|
|
654
|
-
* // Start a fiber that will be suspended waiting to publish
|
|
655
|
-
* const publisherFiber = yield* Effect.forkChild(
|
|
656
|
-
* Effect.gen(function*() {
|
|
657
|
-
* yield* PubSub.publish(pubsub, "msg1") // fills the buffer
|
|
658
|
-
* yield* PubSub.publish(pubsub, "msg2") // will suspend here
|
|
659
|
-
* })
|
|
660
|
-
* )
|
|
661
|
-
*
|
|
662
724
|
* // Shutdown the PubSub
|
|
663
725
|
* yield* PubSub.shutdown(pubsub)
|
|
664
726
|
*
|
|
665
|
-
*
|
|
666
|
-
*
|
|
667
|
-
*
|
|
727
|
+
* const isShutdown = yield* PubSub.isShutdown(pubsub)
|
|
728
|
+
* console.log("Is shutdown:", isShutdown) // true
|
|
729
|
+
*
|
|
730
|
+
* // Publishing after shutdown returns false
|
|
731
|
+
* const published = yield* PubSub.publish(pubsub, "msg1")
|
|
732
|
+
* console.log("Published after shutdown:", published) // false
|
|
668
733
|
* })
|
|
669
734
|
* ```
|
|
670
735
|
*
|
|
671
|
-
* @since 2.0.0
|
|
672
736
|
* @category lifecycle
|
|
737
|
+
* @since 2.0.0
|
|
673
738
|
*/
|
|
674
739
|
export const shutdown = <A>(self: PubSub<A>): Effect.Effect<void> =>
|
|
675
740
|
Effect.uninterruptible(Effect.withFiber((fiber) => {
|
|
@@ -684,7 +749,8 @@ export const shutdown = <A>(self: PubSub<A>): Effect.Effect<void> =>
|
|
|
684
749
|
/**
|
|
685
750
|
* Returns `true` if `shutdown` has been called, otherwise returns `false`.
|
|
686
751
|
*
|
|
687
|
-
*
|
|
752
|
+
* **Example** (Checking whether a PubSub is shutdown)
|
|
753
|
+
*
|
|
688
754
|
* ```ts
|
|
689
755
|
* import { Effect } from "effect"
|
|
690
756
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -704,15 +770,16 @@ export const shutdown = <A>(self: PubSub<A>): Effect.Effect<void> =>
|
|
|
704
770
|
* })
|
|
705
771
|
* ```
|
|
706
772
|
*
|
|
707
|
-
* @since 2.0.0
|
|
708
773
|
* @category predicates
|
|
774
|
+
* @since 2.0.0
|
|
709
775
|
*/
|
|
710
776
|
export const isShutdown = <A>(self: PubSub<A>): Effect.Effect<boolean> => Effect.sync(() => isShutdownUnsafe(self))
|
|
711
777
|
|
|
712
778
|
/**
|
|
713
779
|
* Returns `true` if `shutdown` has been called, otherwise returns `false`.
|
|
714
780
|
*
|
|
715
|
-
*
|
|
781
|
+
* **Example** (Checking shutdown synchronously)
|
|
782
|
+
*
|
|
716
783
|
* ```ts
|
|
717
784
|
* import { PubSub } from "effect"
|
|
718
785
|
*
|
|
@@ -727,8 +794,8 @@ export const isShutdown = <A>(self: PubSub<A>): Effect.Effect<boolean> => Effect
|
|
|
727
794
|
* }
|
|
728
795
|
* ```
|
|
729
796
|
*
|
|
730
|
-
* @since 4.0.0
|
|
731
797
|
* @category predicates
|
|
798
|
+
* @since 4.0.0
|
|
732
799
|
*/
|
|
733
800
|
export const isShutdownUnsafe = <A>(self: PubSub<A>): boolean => self.shutdownFlag.current
|
|
734
801
|
|
|
@@ -737,7 +804,8 @@ export const isShutdownUnsafe = <A>(self: PubSub<A>): boolean => self.shutdownFl
|
|
|
737
804
|
* not resume until the queue has been shutdown. If the queue is already
|
|
738
805
|
* shutdown, the `Effect` will resume right away.
|
|
739
806
|
*
|
|
740
|
-
*
|
|
807
|
+
* **Example** (Waiting for shutdown)
|
|
808
|
+
*
|
|
741
809
|
* ```ts
|
|
742
810
|
* import { Effect, Fiber, PubSub } from "effect"
|
|
743
811
|
*
|
|
@@ -763,16 +831,21 @@ export const isShutdownUnsafe = <A>(self: PubSub<A>): boolean => self.shutdownFl
|
|
|
763
831
|
* })
|
|
764
832
|
* ```
|
|
765
833
|
*
|
|
766
|
-
* @since 2.0.0
|
|
767
834
|
* @category lifecycle
|
|
835
|
+
* @since 2.0.0
|
|
768
836
|
*/
|
|
769
837
|
export const awaitShutdown = <A>(self: PubSub<A>): Effect.Effect<void> => self.shutdownHook.await
|
|
770
838
|
|
|
771
839
|
/**
|
|
772
|
-
*
|
|
773
|
-
*
|
|
840
|
+
* Attempts to publish a message synchronously without applying the PubSub
|
|
841
|
+
* strategy's effectful surplus handling.
|
|
842
|
+
*
|
|
843
|
+
* Returns `false` if the `PubSub` is shut down or the message cannot be
|
|
844
|
+
* accepted immediately, for example when a bounded PubSub is full. Prefer
|
|
845
|
+
* `publish` when backpressure or sliding behavior should be honored.
|
|
846
|
+
*
|
|
847
|
+
* **Example** (Publishing a message)
|
|
774
848
|
*
|
|
775
|
-
* @example
|
|
776
849
|
* ```ts
|
|
777
850
|
* import { Effect } from "effect"
|
|
778
851
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -784,32 +857,30 @@ export const awaitShutdown = <A>(self: PubSub<A>): Effect.Effect<void> => self.s
|
|
|
784
857
|
* const published = yield* PubSub.publish(pubsub, "Hello World")
|
|
785
858
|
* console.log("Message published:", published) // true
|
|
786
859
|
*
|
|
787
|
-
* // With a full bounded PubSub using backpressure strategy
|
|
788
|
-
* const smallPubsub = yield* PubSub.bounded<string>(1)
|
|
789
|
-
* yield* PubSub.publish(smallPubsub, "msg1") // succeeds
|
|
790
|
-
*
|
|
791
|
-
* // This will suspend until space becomes available
|
|
792
|
-
* const publishEffect = PubSub.publish(smallPubsub, "msg2")
|
|
793
|
-
*
|
|
794
|
-
* // Create a subscriber to free up space
|
|
795
860
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
796
|
-
* const subscription = yield* PubSub.subscribe(
|
|
797
|
-
*
|
|
798
|
-
*
|
|
799
|
-
*
|
|
861
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
862
|
+
*
|
|
863
|
+
* yield* PubSub.publish(pubsub, "Hello")
|
|
864
|
+
* const message = yield* PubSub.take(subscription)
|
|
865
|
+
* console.log("Received:", message) // "Hello"
|
|
800
866
|
* }))
|
|
801
867
|
* })
|
|
802
868
|
* ```
|
|
803
869
|
*
|
|
804
|
-
* @since 2.0.0
|
|
805
870
|
* @category publishing
|
|
871
|
+
* @since 2.0.0
|
|
806
872
|
*/
|
|
807
873
|
export const publish: {
|
|
808
874
|
/**
|
|
809
|
-
*
|
|
810
|
-
*
|
|
875
|
+
* Attempts to publish a message synchronously without applying the PubSub
|
|
876
|
+
* strategy's effectful surplus handling.
|
|
877
|
+
*
|
|
878
|
+
* Returns `false` if the `PubSub` is shut down or the message cannot be
|
|
879
|
+
* accepted immediately, for example when a bounded PubSub is full. Prefer
|
|
880
|
+
* `publish` when backpressure or sliding behavior should be honored.
|
|
881
|
+
*
|
|
882
|
+
* **Example** (Publishing a message)
|
|
811
883
|
*
|
|
812
|
-
* @example
|
|
813
884
|
* ```ts
|
|
814
885
|
* import { Effect } from "effect"
|
|
815
886
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -821,32 +892,30 @@ export const publish: {
|
|
|
821
892
|
* const published = yield* PubSub.publish(pubsub, "Hello World")
|
|
822
893
|
* console.log("Message published:", published) // true
|
|
823
894
|
*
|
|
824
|
-
* // With a full bounded PubSub using backpressure strategy
|
|
825
|
-
* const smallPubsub = yield* PubSub.bounded<string>(1)
|
|
826
|
-
* yield* PubSub.publish(smallPubsub, "msg1") // succeeds
|
|
827
|
-
*
|
|
828
|
-
* // This will suspend until space becomes available
|
|
829
|
-
* const publishEffect = PubSub.publish(smallPubsub, "msg2")
|
|
830
|
-
*
|
|
831
|
-
* // Create a subscriber to free up space
|
|
832
895
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
833
|
-
* const subscription = yield* PubSub.subscribe(
|
|
834
|
-
*
|
|
835
|
-
*
|
|
836
|
-
*
|
|
896
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
897
|
+
*
|
|
898
|
+
* yield* PubSub.publish(pubsub, "Hello")
|
|
899
|
+
* const message = yield* PubSub.take(subscription)
|
|
900
|
+
* console.log("Received:", message) // "Hello"
|
|
837
901
|
* }))
|
|
838
902
|
* })
|
|
839
903
|
* ```
|
|
840
904
|
*
|
|
841
|
-
* @since 2.0.0
|
|
842
905
|
* @category publishing
|
|
906
|
+
* @since 2.0.0
|
|
843
907
|
*/
|
|
844
908
|
<A>(value: A): (self: PubSub<A>) => Effect.Effect<boolean>
|
|
845
909
|
/**
|
|
846
|
-
*
|
|
847
|
-
*
|
|
910
|
+
* Attempts to publish a message synchronously without applying the PubSub
|
|
911
|
+
* strategy's effectful surplus handling.
|
|
912
|
+
*
|
|
913
|
+
* Returns `false` if the `PubSub` is shut down or the message cannot be
|
|
914
|
+
* accepted immediately, for example when a bounded PubSub is full. Prefer
|
|
915
|
+
* `publish` when backpressure or sliding behavior should be honored.
|
|
916
|
+
*
|
|
917
|
+
* **Example** (Publishing a message)
|
|
848
918
|
*
|
|
849
|
-
* @example
|
|
850
919
|
* ```ts
|
|
851
920
|
* import { Effect } from "effect"
|
|
852
921
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -858,25 +927,18 @@ export const publish: {
|
|
|
858
927
|
* const published = yield* PubSub.publish(pubsub, "Hello World")
|
|
859
928
|
* console.log("Message published:", published) // true
|
|
860
929
|
*
|
|
861
|
-
* // With a full bounded PubSub using backpressure strategy
|
|
862
|
-
* const smallPubsub = yield* PubSub.bounded<string>(1)
|
|
863
|
-
* yield* PubSub.publish(smallPubsub, "msg1") // succeeds
|
|
864
|
-
*
|
|
865
|
-
* // This will suspend until space becomes available
|
|
866
|
-
* const publishEffect = PubSub.publish(smallPubsub, "msg2")
|
|
867
|
-
*
|
|
868
|
-
* // Create a subscriber to free up space
|
|
869
930
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
870
|
-
* const subscription = yield* PubSub.subscribe(
|
|
871
|
-
*
|
|
872
|
-
*
|
|
873
|
-
*
|
|
931
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
932
|
+
*
|
|
933
|
+
* yield* PubSub.publish(pubsub, "Hello")
|
|
934
|
+
* const message = yield* PubSub.take(subscription)
|
|
935
|
+
* console.log("Received:", message) // "Hello"
|
|
874
936
|
* }))
|
|
875
937
|
* })
|
|
876
938
|
* ```
|
|
877
939
|
*
|
|
878
|
-
* @since 2.0.0
|
|
879
940
|
* @category publishing
|
|
941
|
+
* @since 2.0.0
|
|
880
942
|
*/
|
|
881
943
|
<A>(self: PubSub<A>, value: A): Effect.Effect<boolean>
|
|
882
944
|
} = dual(2, <A>(self: PubSub<A>, value: A): Effect.Effect<boolean> =>
|
|
@@ -902,7 +964,8 @@ export const publish: {
|
|
|
902
964
|
* Publishes a message to the `PubSub`, returning whether the message was published
|
|
903
965
|
* to the `PubSub`.
|
|
904
966
|
*
|
|
905
|
-
*
|
|
967
|
+
* **Example** (Publishing without suspending)
|
|
968
|
+
*
|
|
906
969
|
* ```ts
|
|
907
970
|
* import { PubSub } from "effect"
|
|
908
971
|
*
|
|
@@ -923,15 +986,16 @@ export const publish: {
|
|
|
923
986
|
* console.log(`Published ${publishedCount} out of ${messages.length} messages`)
|
|
924
987
|
* ```
|
|
925
988
|
*
|
|
926
|
-
* @since 4.0.0
|
|
927
989
|
* @category publishing
|
|
990
|
+
* @since 4.0.0
|
|
928
991
|
*/
|
|
929
992
|
export const publishUnsafe: {
|
|
930
993
|
/**
|
|
931
994
|
* Publishes a message to the `PubSub`, returning whether the message was published
|
|
932
995
|
* to the `PubSub`.
|
|
933
996
|
*
|
|
934
|
-
*
|
|
997
|
+
* **Example** (Publishing without suspending)
|
|
998
|
+
*
|
|
935
999
|
* ```ts
|
|
936
1000
|
* import { PubSub } from "effect"
|
|
937
1001
|
*
|
|
@@ -952,15 +1016,16 @@ export const publishUnsafe: {
|
|
|
952
1016
|
* console.log(`Published ${publishedCount} out of ${messages.length} messages`)
|
|
953
1017
|
* ```
|
|
954
1018
|
*
|
|
955
|
-
* @since 4.0.0
|
|
956
1019
|
* @category publishing
|
|
1020
|
+
* @since 4.0.0
|
|
957
1021
|
*/
|
|
958
1022
|
<A>(value: A): (self: PubSub<A>) => boolean
|
|
959
1023
|
/**
|
|
960
1024
|
* Publishes a message to the `PubSub`, returning whether the message was published
|
|
961
1025
|
* to the `PubSub`.
|
|
962
1026
|
*
|
|
963
|
-
*
|
|
1027
|
+
* **Example** (Publishing without suspending)
|
|
1028
|
+
*
|
|
964
1029
|
* ```ts
|
|
965
1030
|
* import { PubSub } from "effect"
|
|
966
1031
|
*
|
|
@@ -981,8 +1046,8 @@ export const publishUnsafe: {
|
|
|
981
1046
|
* console.log(`Published ${publishedCount} out of ${messages.length} messages`)
|
|
982
1047
|
* ```
|
|
983
1048
|
*
|
|
984
|
-
* @since 4.0.0
|
|
985
1049
|
* @category publishing
|
|
1050
|
+
* @since 4.0.0
|
|
986
1051
|
*/
|
|
987
1052
|
<A>(self: PubSub<A>, value: A): boolean
|
|
988
1053
|
} = dual(2, <A>(self: PubSub<A>, value: A): boolean => {
|
|
@@ -998,9 +1063,10 @@ export const publishUnsafe: {
|
|
|
998
1063
|
* Publishes all of the specified messages to the `PubSub`, returning whether they
|
|
999
1064
|
* were published to the `PubSub`.
|
|
1000
1065
|
*
|
|
1001
|
-
*
|
|
1066
|
+
* **Example** (Publishing multiple messages)
|
|
1067
|
+
*
|
|
1002
1068
|
* ```ts
|
|
1003
|
-
* import { Effect } from "effect"
|
|
1069
|
+
* import { Effect, Fiber } from "effect"
|
|
1004
1070
|
* import * as PubSub from "effect/PubSub"
|
|
1005
1071
|
*
|
|
1006
1072
|
* const program = Effect.gen(function*() {
|
|
@@ -1011,34 +1077,40 @@ export const publishUnsafe: {
|
|
|
1011
1077
|
* const allPublished = yield* PubSub.publishAll(pubsub, messages)
|
|
1012
1078
|
* console.log("All messages published:", allPublished) // true
|
|
1013
1079
|
*
|
|
1014
|
-
* // With a smaller capacity
|
|
1080
|
+
* // With a smaller capacity and an active subscription
|
|
1015
1081
|
* const smallPubsub = yield* PubSub.bounded<string>(2)
|
|
1016
1082
|
* const manyMessages = ["msg1", "msg2", "msg3", "msg4"]
|
|
1017
1083
|
*
|
|
1018
|
-
* // Will suspend until space becomes available for all messages
|
|
1019
|
-
* const publishAllEffect = PubSub.publishAll(smallPubsub, manyMessages)
|
|
1020
|
-
*
|
|
1021
|
-
* // Subscribe to consume messages and free space
|
|
1022
1084
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1023
1085
|
* const subscription = yield* PubSub.subscribe(smallPubsub)
|
|
1024
|
-
*
|
|
1025
|
-
*
|
|
1026
|
-
*
|
|
1086
|
+
*
|
|
1087
|
+
* // Will suspend until space becomes available for all messages
|
|
1088
|
+
* const fiber = yield* Effect.forkChild(PubSub.publishAll(smallPubsub, manyMessages))
|
|
1089
|
+
*
|
|
1090
|
+
* const firstBatch = yield* PubSub.takeBetween(subscription, 2, 2)
|
|
1091
|
+
* console.log("First batch:", firstBatch) // ["msg1", "msg2"]
|
|
1092
|
+
*
|
|
1093
|
+
* const result = yield* Fiber.join(fiber)
|
|
1094
|
+
* console.log("All messages eventually published:", result) // true
|
|
1095
|
+
*
|
|
1096
|
+
* const secondBatch = yield* PubSub.takeAll(subscription)
|
|
1097
|
+
* console.log("Second batch:", secondBatch) // ["msg3", "msg4"]
|
|
1027
1098
|
* }))
|
|
1028
1099
|
* })
|
|
1029
1100
|
* ```
|
|
1030
1101
|
*
|
|
1031
|
-
* @since 2.0.0
|
|
1032
1102
|
* @category publishing
|
|
1103
|
+
* @since 2.0.0
|
|
1033
1104
|
*/
|
|
1034
1105
|
export const publishAll: {
|
|
1035
1106
|
/**
|
|
1036
1107
|
* Publishes all of the specified messages to the `PubSub`, returning whether they
|
|
1037
1108
|
* were published to the `PubSub`.
|
|
1038
1109
|
*
|
|
1039
|
-
*
|
|
1110
|
+
* **Example** (Publishing multiple messages)
|
|
1111
|
+
*
|
|
1040
1112
|
* ```ts
|
|
1041
|
-
* import { Effect } from "effect"
|
|
1113
|
+
* import { Effect, Fiber } from "effect"
|
|
1042
1114
|
* import * as PubSub from "effect/PubSub"
|
|
1043
1115
|
*
|
|
1044
1116
|
* const program = Effect.gen(function*() {
|
|
@@ -1049,34 +1121,40 @@ export const publishAll: {
|
|
|
1049
1121
|
* const allPublished = yield* PubSub.publishAll(pubsub, messages)
|
|
1050
1122
|
* console.log("All messages published:", allPublished) // true
|
|
1051
1123
|
*
|
|
1052
|
-
* // With a smaller capacity
|
|
1124
|
+
* // With a smaller capacity and an active subscription
|
|
1053
1125
|
* const smallPubsub = yield* PubSub.bounded<string>(2)
|
|
1054
1126
|
* const manyMessages = ["msg1", "msg2", "msg3", "msg4"]
|
|
1055
1127
|
*
|
|
1056
|
-
* // Will suspend until space becomes available for all messages
|
|
1057
|
-
* const publishAllEffect = PubSub.publishAll(smallPubsub, manyMessages)
|
|
1058
|
-
*
|
|
1059
|
-
* // Subscribe to consume messages and free space
|
|
1060
1128
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1061
1129
|
* const subscription = yield* PubSub.subscribe(smallPubsub)
|
|
1062
|
-
*
|
|
1063
|
-
*
|
|
1064
|
-
*
|
|
1130
|
+
*
|
|
1131
|
+
* // Will suspend until space becomes available for all messages
|
|
1132
|
+
* const fiber = yield* Effect.forkChild(PubSub.publishAll(smallPubsub, manyMessages))
|
|
1133
|
+
*
|
|
1134
|
+
* const firstBatch = yield* PubSub.takeBetween(subscription, 2, 2)
|
|
1135
|
+
* console.log("First batch:", firstBatch) // ["msg1", "msg2"]
|
|
1136
|
+
*
|
|
1137
|
+
* const result = yield* Fiber.join(fiber)
|
|
1138
|
+
* console.log("All messages eventually published:", result) // true
|
|
1139
|
+
*
|
|
1140
|
+
* const secondBatch = yield* PubSub.takeAll(subscription)
|
|
1141
|
+
* console.log("Second batch:", secondBatch) // ["msg3", "msg4"]
|
|
1065
1142
|
* }))
|
|
1066
1143
|
* })
|
|
1067
1144
|
* ```
|
|
1068
1145
|
*
|
|
1069
|
-
* @since 2.0.0
|
|
1070
1146
|
* @category publishing
|
|
1147
|
+
* @since 2.0.0
|
|
1071
1148
|
*/
|
|
1072
1149
|
<A>(elements: Iterable<A>): (self: PubSub<A>) => Effect.Effect<boolean>
|
|
1073
1150
|
/**
|
|
1074
1151
|
* Publishes all of the specified messages to the `PubSub`, returning whether they
|
|
1075
1152
|
* were published to the `PubSub`.
|
|
1076
1153
|
*
|
|
1077
|
-
*
|
|
1154
|
+
* **Example** (Publishing multiple messages)
|
|
1155
|
+
*
|
|
1078
1156
|
* ```ts
|
|
1079
|
-
* import { Effect } from "effect"
|
|
1157
|
+
* import { Effect, Fiber } from "effect"
|
|
1080
1158
|
* import * as PubSub from "effect/PubSub"
|
|
1081
1159
|
*
|
|
1082
1160
|
* const program = Effect.gen(function*() {
|
|
@@ -1087,25 +1165,30 @@ export const publishAll: {
|
|
|
1087
1165
|
* const allPublished = yield* PubSub.publishAll(pubsub, messages)
|
|
1088
1166
|
* console.log("All messages published:", allPublished) // true
|
|
1089
1167
|
*
|
|
1090
|
-
* // With a smaller capacity
|
|
1168
|
+
* // With a smaller capacity and an active subscription
|
|
1091
1169
|
* const smallPubsub = yield* PubSub.bounded<string>(2)
|
|
1092
1170
|
* const manyMessages = ["msg1", "msg2", "msg3", "msg4"]
|
|
1093
1171
|
*
|
|
1094
|
-
* // Will suspend until space becomes available for all messages
|
|
1095
|
-
* const publishAllEffect = PubSub.publishAll(smallPubsub, manyMessages)
|
|
1096
|
-
*
|
|
1097
|
-
* // Subscribe to consume messages and free space
|
|
1098
1172
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1099
1173
|
* const subscription = yield* PubSub.subscribe(smallPubsub)
|
|
1100
|
-
*
|
|
1101
|
-
*
|
|
1102
|
-
*
|
|
1174
|
+
*
|
|
1175
|
+
* // Will suspend until space becomes available for all messages
|
|
1176
|
+
* const fiber = yield* Effect.forkChild(PubSub.publishAll(smallPubsub, manyMessages))
|
|
1177
|
+
*
|
|
1178
|
+
* const firstBatch = yield* PubSub.takeBetween(subscription, 2, 2)
|
|
1179
|
+
* console.log("First batch:", firstBatch) // ["msg1", "msg2"]
|
|
1180
|
+
*
|
|
1181
|
+
* const result = yield* Fiber.join(fiber)
|
|
1182
|
+
* console.log("All messages eventually published:", result) // true
|
|
1183
|
+
*
|
|
1184
|
+
* const secondBatch = yield* PubSub.takeAll(subscription)
|
|
1185
|
+
* console.log("Second batch:", secondBatch) // ["msg3", "msg4"]
|
|
1103
1186
|
* }))
|
|
1104
1187
|
* })
|
|
1105
1188
|
* ```
|
|
1106
1189
|
*
|
|
1107
|
-
* @since 2.0.0
|
|
1108
1190
|
* @category publishing
|
|
1191
|
+
* @since 2.0.0
|
|
1109
1192
|
*/
|
|
1110
1193
|
<A>(self: PubSub<A>, elements: Iterable<A>): Effect.Effect<boolean>
|
|
1111
1194
|
} = dual(2, <A>(self: PubSub<A>, elements: Iterable<A>): Effect.Effect<boolean> =>
|
|
@@ -1131,21 +1214,22 @@ export const publishAll: {
|
|
|
1131
1214
|
* be evaluated multiple times within the scope to take a message from the `PubSub`
|
|
1132
1215
|
* each time.
|
|
1133
1216
|
*
|
|
1134
|
-
*
|
|
1217
|
+
* **Example** (Subscribing to messages)
|
|
1218
|
+
*
|
|
1135
1219
|
* ```ts
|
|
1136
1220
|
* import { Effect, PubSub } from "effect"
|
|
1137
1221
|
*
|
|
1138
1222
|
* const program = Effect.gen(function*() {
|
|
1139
1223
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
1140
1224
|
*
|
|
1141
|
-
* // Publish some messages
|
|
1142
|
-
* yield* PubSub.publish(pubsub, "Hello")
|
|
1143
|
-
* yield* PubSub.publish(pubsub, "World")
|
|
1144
|
-
*
|
|
1145
1225
|
* // Subscribe within a scope for automatic cleanup
|
|
1146
1226
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1147
1227
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1148
1228
|
*
|
|
1229
|
+
* // Publish some messages
|
|
1230
|
+
* yield* PubSub.publish(pubsub, "Hello")
|
|
1231
|
+
* yield* PubSub.publish(pubsub, "World")
|
|
1232
|
+
*
|
|
1149
1233
|
* // Take messages one by one
|
|
1150
1234
|
* const msg1 = yield* PubSub.take(subscription)
|
|
1151
1235
|
* const msg2 = yield* PubSub.take(subscription)
|
|
@@ -1154,13 +1238,13 @@ export const publishAll: {
|
|
|
1154
1238
|
* // Subscription is automatically cleaned up when scope exits
|
|
1155
1239
|
* }))
|
|
1156
1240
|
*
|
|
1157
|
-
* // Multiple subscribers can receive the same messages
|
|
1158
|
-
* yield* PubSub.publish(pubsub, "Broadcast")
|
|
1159
|
-
*
|
|
1160
1241
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1161
1242
|
* const sub1 = yield* PubSub.subscribe(pubsub)
|
|
1162
1243
|
* const sub2 = yield* PubSub.subscribe(pubsub)
|
|
1163
1244
|
*
|
|
1245
|
+
* // Multiple subscribers can receive the same messages
|
|
1246
|
+
* yield* PubSub.publish(pubsub, "Broadcast")
|
|
1247
|
+
*
|
|
1164
1248
|
* const [msg1, msg2] = yield* Effect.all([
|
|
1165
1249
|
* PubSub.take(sub1),
|
|
1166
1250
|
* PubSub.take(sub2)
|
|
@@ -1170,8 +1254,8 @@ export const publishAll: {
|
|
|
1170
1254
|
* })
|
|
1171
1255
|
* ```
|
|
1172
1256
|
*
|
|
1173
|
-
* @since 2.0.0
|
|
1174
1257
|
* @category subscription
|
|
1258
|
+
* @since 2.0.0
|
|
1175
1259
|
*/
|
|
1176
1260
|
export const subscribe = <A>(self: PubSub<A>): Effect.Effect<Subscription<A>, never, Scope.Scope> =>
|
|
1177
1261
|
Effect.uninterruptible(
|
|
@@ -1212,7 +1296,8 @@ const unsubscribe = <A>(self: Subscription<A>): Effect.Effect<void> =>
|
|
|
1212
1296
|
* Takes a single message from the subscription. If no messages are available,
|
|
1213
1297
|
* this will suspend until a message becomes available.
|
|
1214
1298
|
*
|
|
1215
|
-
*
|
|
1299
|
+
* **Example** (Taking a message)
|
|
1300
|
+
*
|
|
1216
1301
|
* ```ts
|
|
1217
1302
|
* import { Effect, Fiber, PubSub } from "effect"
|
|
1218
1303
|
*
|
|
@@ -1237,8 +1322,8 @@ const unsubscribe = <A>(self: Subscription<A>): Effect.Effect<void> =>
|
|
|
1237
1322
|
* })
|
|
1238
1323
|
* ```
|
|
1239
1324
|
*
|
|
1240
|
-
* @since 4.0.0
|
|
1241
1325
|
* @category subscription
|
|
1326
|
+
* @since 4.0.0
|
|
1242
1327
|
*/
|
|
1243
1328
|
export const take = <A>(self: Subscription<A>): Effect.Effect<A> =>
|
|
1244
1329
|
Effect.suspend(() => {
|
|
@@ -1264,19 +1349,20 @@ export const take = <A>(self: Subscription<A>): Effect.Effect<A> =>
|
|
|
1264
1349
|
* Takes all available messages from the subscription, suspending if no items
|
|
1265
1350
|
* are available.
|
|
1266
1351
|
*
|
|
1267
|
-
*
|
|
1352
|
+
* **Example** (Taking all available messages)
|
|
1353
|
+
*
|
|
1268
1354
|
* ```ts
|
|
1269
1355
|
* import { Effect, PubSub } from "effect"
|
|
1270
1356
|
*
|
|
1271
1357
|
* const program = Effect.gen(function*() {
|
|
1272
1358
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
1273
1359
|
*
|
|
1274
|
-
* // Publish multiple messages
|
|
1275
|
-
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
|
|
1276
|
-
*
|
|
1277
1360
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1278
1361
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1279
1362
|
*
|
|
1363
|
+
* // Publish multiple messages
|
|
1364
|
+
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
|
|
1365
|
+
*
|
|
1280
1366
|
* // Take all available messages at once
|
|
1281
1367
|
* const allMessages = yield* PubSub.takeAll(subscription)
|
|
1282
1368
|
* console.log("All messages:", allMessages) // ["msg1", "msg2", "msg3"]
|
|
@@ -1284,8 +1370,8 @@ export const take = <A>(self: Subscription<A>): Effect.Effect<A> =>
|
|
|
1284
1370
|
* })
|
|
1285
1371
|
* ```
|
|
1286
1372
|
*
|
|
1287
|
-
* @since 4.0.0
|
|
1288
1373
|
* @category subscription
|
|
1374
|
+
* @since 4.0.0
|
|
1289
1375
|
*/
|
|
1290
1376
|
export const takeAll = <A>(self: Subscription<A>): Effect.Effect<Arr.NonEmptyArray<A>> =>
|
|
1291
1377
|
Effect.suspend(function loop(value?: [A]): Effect.Effect<Arr.NonEmptyArray<A>> {
|
|
@@ -1334,7 +1420,8 @@ const pollForItem = <A>(self: Subscription<A>) => {
|
|
|
1334
1420
|
/**
|
|
1335
1421
|
* Takes up to the specified number of messages from the subscription without suspending.
|
|
1336
1422
|
*
|
|
1337
|
-
*
|
|
1423
|
+
* **Example** (Taking up to a maximum number of messages)
|
|
1424
|
+
*
|
|
1338
1425
|
* ```ts
|
|
1339
1426
|
* import { Effect } from "effect"
|
|
1340
1427
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -1342,12 +1429,12 @@ const pollForItem = <A>(self: Subscription<A>) => {
|
|
|
1342
1429
|
* const program = Effect.gen(function*() {
|
|
1343
1430
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
1344
1431
|
*
|
|
1345
|
-
* // Publish multiple messages
|
|
1346
|
-
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
|
|
1347
|
-
*
|
|
1348
1432
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1349
1433
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1350
1434
|
*
|
|
1435
|
+
* // Publish multiple messages
|
|
1436
|
+
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
|
|
1437
|
+
*
|
|
1351
1438
|
* // Take up to 3 messages
|
|
1352
1439
|
* const upTo3 = yield* PubSub.takeUpTo(subscription, 3)
|
|
1353
1440
|
* console.log("Up to 3:", upTo3) // ["msg1", "msg2", "msg3"]
|
|
@@ -1363,14 +1450,15 @@ const pollForItem = <A>(self: Subscription<A>) => {
|
|
|
1363
1450
|
* })
|
|
1364
1451
|
* ```
|
|
1365
1452
|
*
|
|
1366
|
-
* @since 4.0.0
|
|
1367
1453
|
* @category subscription
|
|
1454
|
+
* @since 4.0.0
|
|
1368
1455
|
*/
|
|
1369
1456
|
export const takeUpTo: {
|
|
1370
1457
|
/**
|
|
1371
1458
|
* Takes up to the specified number of messages from the subscription without suspending.
|
|
1372
1459
|
*
|
|
1373
|
-
*
|
|
1460
|
+
* **Example** (Taking up to a maximum number of messages)
|
|
1461
|
+
*
|
|
1374
1462
|
* ```ts
|
|
1375
1463
|
* import { Effect } from "effect"
|
|
1376
1464
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -1378,12 +1466,12 @@ export const takeUpTo: {
|
|
|
1378
1466
|
* const program = Effect.gen(function*() {
|
|
1379
1467
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
1380
1468
|
*
|
|
1381
|
-
* // Publish multiple messages
|
|
1382
|
-
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
|
|
1383
|
-
*
|
|
1384
1469
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1385
1470
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1386
1471
|
*
|
|
1472
|
+
* // Publish multiple messages
|
|
1473
|
+
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
|
|
1474
|
+
*
|
|
1387
1475
|
* // Take up to 3 messages
|
|
1388
1476
|
* const upTo3 = yield* PubSub.takeUpTo(subscription, 3)
|
|
1389
1477
|
* console.log("Up to 3:", upTo3) // ["msg1", "msg2", "msg3"]
|
|
@@ -1399,14 +1487,15 @@ export const takeUpTo: {
|
|
|
1399
1487
|
* })
|
|
1400
1488
|
* ```
|
|
1401
1489
|
*
|
|
1402
|
-
* @since 4.0.0
|
|
1403
1490
|
* @category subscription
|
|
1491
|
+
* @since 4.0.0
|
|
1404
1492
|
*/
|
|
1405
1493
|
(max: number): <A>(self: Subscription<A>) => Effect.Effect<Array<A>>
|
|
1406
1494
|
/**
|
|
1407
1495
|
* Takes up to the specified number of messages from the subscription without suspending.
|
|
1408
1496
|
*
|
|
1409
|
-
*
|
|
1497
|
+
* **Example** (Taking up to a maximum number of messages)
|
|
1498
|
+
*
|
|
1410
1499
|
* ```ts
|
|
1411
1500
|
* import { Effect } from "effect"
|
|
1412
1501
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -1414,12 +1503,12 @@ export const takeUpTo: {
|
|
|
1414
1503
|
* const program = Effect.gen(function*() {
|
|
1415
1504
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
1416
1505
|
*
|
|
1417
|
-
* // Publish multiple messages
|
|
1418
|
-
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
|
|
1419
|
-
*
|
|
1420
1506
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1421
1507
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1422
1508
|
*
|
|
1509
|
+
* // Publish multiple messages
|
|
1510
|
+
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
|
|
1511
|
+
*
|
|
1423
1512
|
* // Take up to 3 messages
|
|
1424
1513
|
* const upTo3 = yield* PubSub.takeUpTo(subscription, 3)
|
|
1425
1514
|
* console.log("Up to 3:", upTo3) // ["msg1", "msg2", "msg3"]
|
|
@@ -1435,8 +1524,8 @@ export const takeUpTo: {
|
|
|
1435
1524
|
* })
|
|
1436
1525
|
* ```
|
|
1437
1526
|
*
|
|
1438
|
-
* @since 4.0.0
|
|
1439
1527
|
* @category subscription
|
|
1528
|
+
* @since 4.0.0
|
|
1440
1529
|
*/
|
|
1441
1530
|
<A>(self: Subscription<A>, max: number): Effect.Effect<Array<A>>
|
|
1442
1531
|
} = dual(2, <A>(self: Subscription<A>, max: number): Effect.Effect<Array<A>> =>
|
|
@@ -1460,7 +1549,8 @@ export const takeUpTo: {
|
|
|
1460
1549
|
* Takes between the specified minimum and maximum number of messages from the subscription.
|
|
1461
1550
|
* Will suspend if the minimum number is not immediately available.
|
|
1462
1551
|
*
|
|
1463
|
-
*
|
|
1552
|
+
* **Example** (Taking between a minimum and maximum)
|
|
1553
|
+
*
|
|
1464
1554
|
* ```ts
|
|
1465
1555
|
* import { Effect, Fiber, PubSub } from "effect"
|
|
1466
1556
|
*
|
|
@@ -1485,15 +1575,16 @@ export const takeUpTo: {
|
|
|
1485
1575
|
* })
|
|
1486
1576
|
* ```
|
|
1487
1577
|
*
|
|
1488
|
-
* @since 4.0.0
|
|
1489
1578
|
* @category subscription
|
|
1579
|
+
* @since 4.0.0
|
|
1490
1580
|
*/
|
|
1491
1581
|
export const takeBetween: {
|
|
1492
1582
|
/**
|
|
1493
1583
|
* Takes between the specified minimum and maximum number of messages from the subscription.
|
|
1494
1584
|
* Will suspend if the minimum number is not immediately available.
|
|
1495
1585
|
*
|
|
1496
|
-
*
|
|
1586
|
+
* **Example** (Taking between a minimum and maximum)
|
|
1587
|
+
*
|
|
1497
1588
|
* ```ts
|
|
1498
1589
|
* import { Effect, Fiber, PubSub } from "effect"
|
|
1499
1590
|
*
|
|
@@ -1518,15 +1609,16 @@ export const takeBetween: {
|
|
|
1518
1609
|
* })
|
|
1519
1610
|
* ```
|
|
1520
1611
|
*
|
|
1521
|
-
* @since 4.0.0
|
|
1522
1612
|
* @category subscription
|
|
1613
|
+
* @since 4.0.0
|
|
1523
1614
|
*/
|
|
1524
1615
|
(min: number, max: number): <A>(self: Subscription<A>) => Effect.Effect<Array<A>>
|
|
1525
1616
|
/**
|
|
1526
1617
|
* Takes between the specified minimum and maximum number of messages from the subscription.
|
|
1527
1618
|
* Will suspend if the minimum number is not immediately available.
|
|
1528
1619
|
*
|
|
1529
|
-
*
|
|
1620
|
+
* **Example** (Taking between a minimum and maximum)
|
|
1621
|
+
*
|
|
1530
1622
|
* ```ts
|
|
1531
1623
|
* import { Effect, Fiber, PubSub } from "effect"
|
|
1532
1624
|
*
|
|
@@ -1551,8 +1643,8 @@ export const takeBetween: {
|
|
|
1551
1643
|
* })
|
|
1552
1644
|
* ```
|
|
1553
1645
|
*
|
|
1554
|
-
* @since 4.0.0
|
|
1555
1646
|
* @category subscription
|
|
1647
|
+
* @since 4.0.0
|
|
1556
1648
|
*/
|
|
1557
1649
|
<A>(self: Subscription<A>, min: number, max: number): Effect.Effect<Array<A>>
|
|
1558
1650
|
} = dual(
|
|
@@ -1595,9 +1687,14 @@ const takeRemainderLoop = <A>(
|
|
|
1595
1687
|
}
|
|
1596
1688
|
|
|
1597
1689
|
/**
|
|
1598
|
-
*
|
|
1690
|
+
* Synchronously checks how many messages can be taken from a subscription.
|
|
1691
|
+
*
|
|
1692
|
+
* Returns `Option.some(count)` while the subscription is active, including
|
|
1693
|
+
* replay-buffered messages, and `Option.none()` after the subscription has
|
|
1694
|
+
* been shut down. Prefer `remaining` in effectful code.
|
|
1695
|
+
*
|
|
1696
|
+
* **Example** (Checking remaining messages)
|
|
1599
1697
|
*
|
|
1600
|
-
* @example
|
|
1601
1698
|
* ```ts
|
|
1602
1699
|
* import { Effect } from "effect"
|
|
1603
1700
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -1605,12 +1702,12 @@ const takeRemainderLoop = <A>(
|
|
|
1605
1702
|
* const program = Effect.gen(function*() {
|
|
1606
1703
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
1607
1704
|
*
|
|
1608
|
-
* // Publish some messages
|
|
1609
|
-
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
|
|
1610
|
-
*
|
|
1611
1705
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1612
1706
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1613
1707
|
*
|
|
1708
|
+
* // Publish some messages
|
|
1709
|
+
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
|
|
1710
|
+
*
|
|
1614
1711
|
* // Check how many messages are available
|
|
1615
1712
|
* const count = yield* PubSub.remaining(subscription)
|
|
1616
1713
|
* console.log("Messages available:", count) // 3
|
|
@@ -1624,8 +1721,8 @@ const takeRemainderLoop = <A>(
|
|
|
1624
1721
|
* })
|
|
1625
1722
|
* ```
|
|
1626
1723
|
*
|
|
1627
|
-
* @since 4.0.0
|
|
1628
1724
|
* @category getters
|
|
1725
|
+
* @since 4.0.0
|
|
1629
1726
|
*/
|
|
1630
1727
|
export const remaining = <A>(self: Subscription<A>): Effect.Effect<number> =>
|
|
1631
1728
|
Effect.suspend(() =>
|
|
@@ -1637,7 +1734,8 @@ export const remaining = <A>(self: Subscription<A>): Effect.Effect<number> =>
|
|
|
1637
1734
|
/**
|
|
1638
1735
|
* Returns the number of messages currently available in the subscription.
|
|
1639
1736
|
*
|
|
1640
|
-
*
|
|
1737
|
+
* **Example** (Checking remaining messages synchronously)
|
|
1738
|
+
*
|
|
1641
1739
|
* ```ts
|
|
1642
1740
|
* import { PubSub } from "effect"
|
|
1643
1741
|
*
|
|
@@ -1657,8 +1755,8 @@ export const remaining = <A>(self: Subscription<A>): Effect.Effect<number> =>
|
|
|
1657
1755
|
* }
|
|
1658
1756
|
* ```
|
|
1659
1757
|
*
|
|
1660
|
-
* @since 4.0.0
|
|
1661
1758
|
* @category getters
|
|
1759
|
+
* @since 4.0.0
|
|
1662
1760
|
*/
|
|
1663
1761
|
export const remainingUnsafe = <A>(self: Subscription<A>): Option.Option<number> => {
|
|
1664
1762
|
if (self.shutdownFlag.current) {
|
|
@@ -2545,8 +2643,8 @@ const ensureCapacity = (capacity: number): void => {
|
|
|
2545
2643
|
* risk that a slow subscriber will slow down the rate at which messages
|
|
2546
2644
|
* are published and received by other subscribers.
|
|
2547
2645
|
*
|
|
2548
|
-
* @since 4.0.0
|
|
2549
2646
|
* @category models
|
|
2647
|
+
* @since 4.0.0
|
|
2550
2648
|
*/
|
|
2551
2649
|
export class BackPressureStrategy<in out A> implements PubSub.Strategy<A> {
|
|
2552
2650
|
publishers: MutableList.MutableList<
|
|
@@ -2648,7 +2746,8 @@ export class BackPressureStrategy<in out A> implements PubSub.Strategy<A> {
|
|
|
2648
2746
|
* other subscribers and that subscribers may not receive all messages
|
|
2649
2747
|
* published to the `PubSub` while they are subscribed.
|
|
2650
2748
|
*
|
|
2651
|
-
*
|
|
2749
|
+
* **Example** (Using a dropping strategy)
|
|
2750
|
+
*
|
|
2652
2751
|
* ```ts
|
|
2653
2752
|
* import { Effect } from "effect"
|
|
2654
2753
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -2663,24 +2762,25 @@ export class BackPressureStrategy<in out A> implements PubSub.Strategy<A> {
|
|
|
2663
2762
|
* strategy: () => new PubSub.DroppingStrategy()
|
|
2664
2763
|
* })
|
|
2665
2764
|
*
|
|
2666
|
-
* // Fill the PubSub
|
|
2667
|
-
* const pub1 = yield* PubSub.publish(pubsub, "msg1") // true
|
|
2668
|
-
* const pub2 = yield* PubSub.publish(pubsub, "msg2") // true
|
|
2669
|
-
* const pub3 = yield* PubSub.publish(pubsub, "msg3") // false (dropped)
|
|
2670
|
-
*
|
|
2671
|
-
* console.log("Publication results:", [pub1, pub2, pub3]) // [true, true, false]
|
|
2672
|
-
*
|
|
2673
|
-
* // Subscribers will only see the first two messages
|
|
2674
2765
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
2675
2766
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
2767
|
+
*
|
|
2768
|
+
* // Fill the PubSub
|
|
2769
|
+
* const pub1 = yield* PubSub.publish(pubsub, "msg1") // true
|
|
2770
|
+
* const pub2 = yield* PubSub.publish(pubsub, "msg2") // true
|
|
2771
|
+
* const pub3 = yield* PubSub.publish(pubsub, "msg3") // false (dropped)
|
|
2772
|
+
*
|
|
2773
|
+
* console.log("Publication results:", [pub1, pub2, pub3]) // [true, true, false]
|
|
2774
|
+
*
|
|
2775
|
+
* // Subscribers will only see the first two messages
|
|
2676
2776
|
* const messages = yield* PubSub.takeAll(subscription)
|
|
2677
2777
|
* console.log("Received messages:", messages) // ["msg1", "msg2"]
|
|
2678
2778
|
* }))
|
|
2679
2779
|
* })
|
|
2680
2780
|
* ```
|
|
2681
2781
|
*
|
|
2682
|
-
* @since 4.0.0
|
|
2683
2782
|
* @category models
|
|
2783
|
+
* @since 4.0.0
|
|
2684
2784
|
*/
|
|
2685
2785
|
export class DroppingStrategy<in out A> implements PubSub.Strategy<A> {
|
|
2686
2786
|
get shutdown(): Effect.Effect<void> {
|
|
@@ -2724,7 +2824,8 @@ export class DroppingStrategy<in out A> implements PubSub.Strategy<A> {
|
|
|
2724
2824
|
* subscribers. However, it creates the risk that a slow subscriber will
|
|
2725
2825
|
* not receive some messages published to the `PubSub` while it is subscribed.
|
|
2726
2826
|
*
|
|
2727
|
-
*
|
|
2827
|
+
* **Example** (Using a sliding strategy)
|
|
2828
|
+
*
|
|
2728
2829
|
* ```ts
|
|
2729
2830
|
* import { Effect } from "effect"
|
|
2730
2831
|
* import * as PubSub from "effect/PubSub"
|
|
@@ -2739,23 +2840,24 @@ export class DroppingStrategy<in out A> implements PubSub.Strategy<A> {
|
|
|
2739
2840
|
* strategy: () => new PubSub.SlidingStrategy()
|
|
2740
2841
|
* })
|
|
2741
2842
|
*
|
|
2742
|
-
* // Publish messages that exceed capacity
|
|
2743
|
-
* yield* PubSub.publish(pubsub, "msg1") // stored
|
|
2744
|
-
* yield* PubSub.publish(pubsub, "msg2") // stored
|
|
2745
|
-
* yield* PubSub.publish(pubsub, "msg3") // "msg1" evicted, "msg3" stored
|
|
2746
|
-
* yield* PubSub.publish(pubsub, "msg4") // "msg2" evicted, "msg4" stored
|
|
2747
|
-
*
|
|
2748
|
-
* // Subscribers will see the most recent messages
|
|
2749
2843
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
2750
2844
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
2845
|
+
*
|
|
2846
|
+
* // Publish messages that exceed capacity
|
|
2847
|
+
* yield* PubSub.publish(pubsub, "msg1") // stored
|
|
2848
|
+
* yield* PubSub.publish(pubsub, "msg2") // stored
|
|
2849
|
+
* yield* PubSub.publish(pubsub, "msg3") // "msg1" evicted, "msg3" stored
|
|
2850
|
+
* yield* PubSub.publish(pubsub, "msg4") // "msg2" evicted, "msg4" stored
|
|
2851
|
+
*
|
|
2852
|
+
* // Subscribers will see the most recent messages
|
|
2751
2853
|
* const messages = yield* PubSub.takeAll(subscription)
|
|
2752
2854
|
* console.log("Recent messages:", messages) // ["msg3", "msg4"]
|
|
2753
2855
|
* }))
|
|
2754
2856
|
* })
|
|
2755
2857
|
* ```
|
|
2756
2858
|
*
|
|
2757
|
-
* @since 4.0.0
|
|
2758
2859
|
* @category models
|
|
2860
|
+
* @since 4.0.0
|
|
2759
2861
|
*/
|
|
2760
2862
|
export class SlidingStrategy<in out A> implements PubSub.Strategy<A> {
|
|
2761
2863
|
get shutdown(): Effect.Effect<void> {
|