effect 4.0.0-beta.66 → 4.0.0-beta.68
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 +151 -106
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +50 -40
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +620 -553
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +298 -254
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +342 -274
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +168 -126
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +189 -156
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Boolean.js +85 -68
- package/dist/Boolean.js.map +1 -1
- package/dist/Brand.d.ts +30 -5
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +19 -2
- package/dist/Brand.js.map +1 -1
- package/dist/Cache.d.ts +239 -135
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +135 -59
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +84 -73
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +51 -44
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +1568 -632
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +685 -315
- 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 +574 -428
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +250 -191
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +16 -9
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js +9 -5
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +11 -5
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +10 -4
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +80 -68
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +53 -49
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +33 -32
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +19 -18
- package/dist/ConfigProvider.js.map +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 +400 -189
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +143 -77
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +67 -48
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +94 -36
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +208 -0
- package/dist/Crypto.d.ts.map +1 -0
- package/dist/Crypto.js +157 -0
- package/dist/Crypto.js.map +1 -0
- package/dist/Data.d.ts +9 -3
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +893 -464
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +387 -228
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +367 -175
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +146 -72
- package/dist/Deferred.js.map +1 -1
- package/dist/Differ.d.ts +44 -2
- package/dist/Differ.d.ts.map +1 -1
- package/dist/Differ.js +36 -0
- package/dist/Duration.d.ts +333 -186
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +178 -107
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +2181 -2275
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +935 -850
- 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/Equal.d.ts +4 -3
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +4 -3
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +18 -24
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +16 -21
- 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 +106 -12
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +23 -6
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +6 -5
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +71 -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 +118 -57
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +121 -39
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +287 -159
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +175 -73
- 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 +102 -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/Formatter.d.ts +4 -2
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +3 -69
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +218 -151
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +94 -78
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +714 -415
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +325 -182
- 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 +35 -24
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +27 -17
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +540 -388
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +262 -156
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts +53 -34
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +83 -16
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +239 -153
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js +110 -56
- package/dist/HashSet.js.map +1 -1
- package/dist/Inspectable.d.ts +26 -13
- package/dist/Inspectable.d.ts.map +1 -1
- package/dist/Inspectable.js +22 -10
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +336 -222
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +146 -100
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +12 -9
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +9 -6
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +13 -11
- package/dist/JsonPointer.d.ts.map +1 -1
- package/dist/JsonPointer.js +13 -11
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +16 -0
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +10 -0
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +97 -26
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +39 -20
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +472 -410
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +290 -226
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +99 -26
- 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 +159 -104
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +215 -189
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +78 -19
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +24 -17
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +135 -161
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +86 -78
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +330 -291
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +219 -214
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +146 -87
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +67 -43
- 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 +92 -38
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +110 -68
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +135 -85
- 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 +78 -60
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +15 -2
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +8 -2
- package/dist/Newtype.js.map +1 -1
- package/dist/NonEmptyIterable.d.ts +38 -48
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/NonEmptyIterable.js +34 -25
- package/dist/NonEmptyIterable.js.map +1 -1
- package/dist/Number.d.ts +261 -205
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +119 -91
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +6 -7
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +5 -6
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +133 -156
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +64 -64
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +6 -6
- package/dist/Order.js +6 -6
- package/dist/Ordering.d.ts +56 -45
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/Ordering.js +10 -8
- 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 +49 -4
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +77 -18
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +63 -14
- 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 -23
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +12 -17
- package/dist/Predicate.js.map +1 -1
- package/dist/PrimaryKey.d.ts +11 -3
- package/dist/PrimaryKey.d.ts.map +1 -1
- package/dist/PrimaryKey.js +9 -2
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +385 -309
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +260 -207
- 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 +303 -184
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +231 -134
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +65 -57
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +41 -66
- 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 +68 -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 +282 -137
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +124 -62
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +7 -5
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +5 -3
- package/dist/Redactable.js.map +1 -1
- package/dist/Redacted.d.ts +63 -34
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +31 -15
- package/dist/Redacted.js.map +1 -1
- package/dist/Reducer.d.ts +3 -1
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +2 -0
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +85 -66
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +57 -45
- 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 +12 -6
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/RegExp.js +12 -6
- package/dist/RegExp.js.map +1 -1
- package/dist/Request.d.ts +159 -34
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +68 -12
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +262 -118
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +78 -42
- 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 +135 -151
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +56 -68
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +40 -20
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +34 -17
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +556 -590
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +265 -253
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +44 -7
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +34 -5
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +1293 -602
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +501 -361
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +122 -92
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +102 -77
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +49 -36
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +42 -29
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +19 -24
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +16 -14
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +231 -63
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +266 -75
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +89 -77
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +47 -37
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +97 -46
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +89 -38
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/SchemaUtils.d.ts +8 -1
- package/dist/SchemaUtils.d.ts.map +1 -1
- package/dist/SchemaUtils.js +24 -1
- package/dist/SchemaUtils.js.map +1 -1
- package/dist/Scope.d.ts +107 -65
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +61 -32
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +141 -49
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +82 -21
- 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 +61 -37
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +18 -21
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +461 -206
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +241 -90
- 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 +2117 -1541
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +951 -682
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +174 -97
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +128 -69
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +20 -18
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +10 -8
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +309 -204
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +126 -77
- 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 +233 -59
- 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 +280 -245
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +116 -102
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +34 -32
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +16 -14
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +200 -155
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +83 -61
- 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 -223
- 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 +181 -111
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +87 -49
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +94 -63
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +55 -37
- 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 +277 -242
- 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 +34 -19
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +101 -115
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +76 -77
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +74 -50
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +34 -23
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +31 -34
- package/dist/Types.d.ts.map +1 -1
- package/dist/UndefinedOr.d.ts +62 -25
- package/dist/UndefinedOr.d.ts.map +1 -1
- package/dist/UndefinedOr.js +36 -25
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +72 -117
- 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 +5 -2
- 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 +1973 -418
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1973 -418
- package/dist/index.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 +9 -6
- package/dist/testing/FastCheck.d.ts.map +1 -1
- package/dist/testing/FastCheck.js +9 -6
- package/dist/testing/FastCheck.js.map +1 -1
- package/dist/testing/TestClock.d.ts +39 -35
- 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 +44 -36
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +30 -15
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +2 -0
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +9 -7
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.d.ts +34 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +34 -0
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +205 -147
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +164 -109
- 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 +64 -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 +31 -25
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +20 -14
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +342 -119
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +266 -98
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +56 -20
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +64 -16
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +10 -12
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +9 -7
- 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 +200 -176
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +77 -68
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +173 -160
- 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 +43 -33
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +15 -11
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +14 -9
- 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 +167 -96
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +107 -53
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +32 -39
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +7 -5
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +121 -29
- package/dist/unstable/ai/index.d.ts.map +1 -1
- package/dist/unstable/ai/index.js +121 -29
- 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 +48 -19
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +32 -9
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +196 -115
- 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 +41 -13
- 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 +39 -14
- 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 +110 -32
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +196 -135
- 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 +183 -59
- package/dist/unstable/cli/Prompt.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.js +105 -23
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.d.ts +182 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +205 -6
- package/dist/unstable/cli/index.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 +5 -1
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +5 -1
- 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/cli/internal/parser.js +0 -1
- package/dist/unstable/cli/internal/parser.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 +35 -2
- 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 +74 -16
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +75 -10
- 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 +42 -14
- package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxy.js +30 -14
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.d.ts +18 -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 +126 -21
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +70 -10
- 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 +76 -13
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +73 -12
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.d.ts +53 -5
- package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardId.js +49 -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 +66 -9
- 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 +90 -19
- package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
- package/dist/unstable/cluster/Snowflake.js +49 -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/index.d.ts +790 -0
- package/dist/unstable/cluster/index.d.ts.map +1 -1
- package/dist/unstable/cluster/index.js +790 -0
- package/dist/unstable/cluster/index.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/devtools/index.d.ts +58 -0
- package/dist/unstable/devtools/index.d.ts.map +1 -1
- package/dist/unstable/devtools/index.js +58 -0
- package/dist/unstable/devtools/index.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/encoding/index.d.ts +49 -0
- package/dist/unstable/encoding/index.d.ts.map +1 -1
- package/dist/unstable/encoding/index.js +49 -0
- package/dist/unstable/encoding/index.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 +150 -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 +92 -18
- 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/eventlog/index.d.ts +240 -0
- package/dist/unstable/eventlog/index.d.ts.map +1 -1
- package/dist/unstable/eventlog/index.js +240 -0
- package/dist/unstable/eventlog/index.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 +98 -20
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +204 -96
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +85 -38
- 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 +151 -45
- 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 +48 -7
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js +45 -6
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +38 -6
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +27 -2
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +38 -11
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +52 -10
- 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 +34 -3
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +209 -62
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +136 -41
- 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 +76 -11
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +93 -10
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +85 -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 +101 -20
- 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 +391 -67
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +205 -33
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +24 -8
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpStaticServer.js +24 -8
- 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 +179 -28
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +131 -19
- 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 -1
- 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 +70 -56
- package/dist/unstable/http/Url.d.ts.map +1 -1
- package/dist/unstable/http/Url.js +35 -21
- package/dist/unstable/http/Url.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +237 -51
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +120 -25
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.d.ts +452 -0
- package/dist/unstable/http/index.d.ts.map +1 -1
- package/dist/unstable/http/index.js +452 -0
- package/dist/unstable/http/index.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 +54 -16
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +44 -6
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +57 -15
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +42 -6
- 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 -5
- 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 +86 -38
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +59 -35
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +73 -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 +4 -3
- package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.js +23 -3
- package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.d.ts +6 -1
- package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.js +26 -1
- 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/httpapi/index.d.ts +310 -25
- package/dist/unstable/httpapi/index.d.ts.map +1 -1
- package/dist/unstable/httpapi/index.js +310 -25
- package/dist/unstable/httpapi/index.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 +15 -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 +17 -5
- 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 +19 -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 +36 -16
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +9 -7
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/observability/index.d.ts +160 -3
- package/dist/unstable/observability/index.d.ts.map +1 -1
- package/dist/unstable/observability/index.js +160 -3
- 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 +98 -16
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +91 -14
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +101 -21
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +85 -16
- 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/persistence/index.d.ts +147 -0
- package/dist/unstable/persistence/index.d.ts.map +1 -1
- package/dist/unstable/persistence/index.js +147 -0
- package/dist/unstable/persistence/index.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +87 -64
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +25 -18
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +23 -12
- 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 +198 -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 +544 -130
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +252 -58
- 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 +94 -13
- package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js +60 -7
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/reactivity/index.d.ts +167 -0
- package/dist/unstable/reactivity/index.d.ts.map +1 -1
- package/dist/unstable/reactivity/index.js +167 -0
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +254 -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 +80 -19
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +52 -12
- 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 +69 -22
- 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 +39 -6
- package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcWorker.js +16 -4
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts +10 -0
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +10 -0
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/rpc/index.d.ts +272 -0
- package/dist/unstable/rpc/index.d.ts.map +1 -1
- package/dist/unstable/rpc/index.js +272 -0
- package/dist/unstable/rpc/index.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +192 -59
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +122 -38
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +101 -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/schema/index.d.ts +37 -0
- package/dist/unstable/schema/index.d.ts.map +1 -1
- package/dist/unstable/schema/index.js +37 -0
- package/dist/unstable/schema/index.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +168 -34
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +124 -28
- 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/socket/index.d.ts +44 -0
- package/dist/unstable/socket/index.d.ts.map +1 -1
- package/dist/unstable/socket/index.js +44 -0
- package/dist/unstable/socket/index.js.map +1 -1
- package/dist/unstable/sql/Migrator.d.ts +40 -9
- 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 +38 -2
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +40 -1
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.d.ts +34 -3
- 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 +117 -0
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js +131 -0
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +25 -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 +4 -0
- package/dist/unstable/sql/SqlStream.d.ts.map +1 -1
- package/dist/unstable/sql/SqlStream.js +24 -0
- package/dist/unstable/sql/SqlStream.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +151 -24
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +91 -6
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/sql/index.d.ts +179 -1
- package/dist/unstable/sql/index.d.ts.map +1 -1
- package/dist/unstable/sql/index.js +179 -1
- package/dist/unstable/sql/index.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +72 -20
- package/dist/unstable/workers/Transferable.d.ts.map +1 -1
- package/dist/unstable/workers/Transferable.js +57 -14
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +61 -8
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +44 -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 +81 -1
- package/dist/unstable/workers/index.d.ts.map +1 -1
- package/dist/unstable/workers/index.js +81 -1
- package/dist/unstable/workers/index.js.map +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 +20 -5
- 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 +128 -31
- package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +77 -13
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +33 -8
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +26 -6
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +102 -31
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +75 -19
- 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 +40 -12
- package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.js +8 -12
- package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.d.ts +37 -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 +160 -0
- package/dist/unstable/workflow/index.d.ts.map +1 -1
- package/dist/unstable/workflow/index.js +160 -0
- package/dist/unstable/workflow/index.js.map +1 -1
- package/package.json +11 -11
- package/src/Array.ts +151 -106
- package/src/BigDecimal.ts +620 -553
- package/src/BigInt.ts +342 -274
- package/src/Boolean.ts +189 -156
- package/src/Brand.ts +30 -5
- package/src/Cache.ts +334 -167
- package/src/Cause.ts +84 -73
- package/src/Channel.ts +1639 -667
- package/src/ChannelSchema.ts +137 -12
- package/src/Chunk.ts +575 -429
- package/src/Clock.ts +16 -9
- package/src/Combiner.ts +11 -5
- package/src/Config.ts +80 -68
- package/src/ConfigProvider.ts +33 -32
- package/src/Console.ts +88 -58
- package/src/Context.ts +401 -190
- package/src/Cron.ts +109 -48
- package/src/Crypto.ts +327 -0
- package/src/Data.ts +9 -3
- package/src/DateTime.ts +893 -464
- package/src/Deferred.ts +367 -175
- package/src/Differ.ts +44 -2
- package/src/Duration.ts +333 -186
- package/src/Effect.ts +2201 -2289
- package/src/Effectable.ts +38 -3
- package/src/Encoding.ts +78 -28
- package/src/Equal.ts +4 -3
- package/src/Equivalence.ts +18 -24
- package/src/ErrorReporter.ts +66 -82
- package/src/ExecutionPlan.ts +106 -12
- package/src/Exit.ts +6 -5
- package/src/Fiber.ts +71 -40
- package/src/FiberHandle.ts +157 -57
- package/src/FiberMap.ts +328 -163
- package/src/FiberSet.ts +130 -52
- package/src/FileSystem.ts +104 -74
- package/src/Filter.ts +166 -88
- package/src/Formatter.ts +4 -70
- package/src/Function.ts +218 -151
- package/src/Graph.ts +714 -415
- package/src/HKT.ts +29 -13
- package/src/Hash.ts +35 -24
- package/src/HashMap.ts +540 -388
- package/src/HashRing.ts +111 -34
- package/src/HashSet.ts +239 -153
- package/src/Inspectable.ts +30 -17
- package/src/Iterable.ts +336 -222
- package/src/JsonPatch.ts +13 -10
- package/src/JsonPointer.ts +13 -11
- package/src/JsonSchema.ts +16 -0
- package/src/Latch.ts +97 -26
- package/src/Layer.ts +547 -445
- package/src/LayerMap.ts +99 -26
- package/src/LogLevel.ts +92 -131
- package/src/Logger.ts +365 -297
- package/src/ManagedRuntime.ts +78 -19
- package/src/Match.ts +135 -161
- package/src/Metric.ts +362 -313
- package/src/MutableHashMap.ts +202 -127
- package/src/MutableHashSet.ts +120 -52
- package/src/MutableList.ts +157 -100
- package/src/MutableRef.ts +129 -90
- package/src/Newtype.ts +15 -2
- package/src/NonEmptyIterable.ts +38 -48
- package/src/Number.ts +261 -205
- package/src/Optic.ts +6 -7
- package/src/Option.ts +133 -156
- package/src/Order.ts +6 -6
- package/src/Ordering.ts +56 -45
- package/src/PartitionedSemaphore.ts +225 -40
- package/src/Path.ts +77 -13
- package/src/Pipeable.ts +82 -24
- package/src/PlatformError.ts +74 -6
- package/src/Pool.ts +94 -31
- package/src/Predicate.ts +17 -24
- package/src/PrimaryKey.ts +11 -3
- package/src/PubSub.ts +385 -309
- package/src/Pull.ts +94 -25
- package/src/Queue.ts +303 -184
- package/src/Random.ts +69 -93
- package/src/RcMap.ts +151 -141
- package/src/RcRef.ts +68 -32
- package/src/Record.ts +282 -137
- package/src/Redactable.ts +7 -5
- package/src/Redacted.ts +63 -34
- package/src/Reducer.ts +3 -1
- package/src/Ref.ts +173 -134
- package/src/References.ts +73 -31
- package/src/RegExp.ts +12 -6
- package/src/Request.ts +159 -34
- package/src/RequestResolver.ts +278 -121
- package/src/Resource.ts +45 -7
- package/src/Result.ts +137 -153
- package/src/Runtime.ts +42 -21
- package/src/Schedule.ts +585 -613
- package/src/Scheduler.ts +44 -7
- package/src/Schema.ts +1309 -615
- package/src/SchemaAST.ts +123 -93
- package/src/SchemaGetter.ts +52 -37
- package/src/SchemaIssue.ts +19 -24
- package/src/SchemaParser.ts +306 -85
- package/src/SchemaRepresentation.ts +89 -77
- package/src/SchemaTransformation.ts +97 -46
- package/src/SchemaUtils.ts +24 -1
- package/src/Scope.ts +107 -65
- package/src/ScopedCache.ts +195 -59
- package/src/ScopedRef.ts +28 -8
- package/src/Semaphore.ts +61 -37
- package/src/Sink.ts +461 -206
- package/src/Stdio.ts +43 -6
- package/src/Stream.ts +2361 -1613
- package/src/String.ts +174 -97
- package/src/Struct.ts +20 -18
- package/src/SubscriptionRef.ts +309 -204
- 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 +233 -59
- package/src/Trie.ts +280 -245
- package/src/Tuple.ts +34 -32
- package/src/TxChunk.ts +200 -155
- package/src/TxDeferred.ts +43 -29
- package/src/TxHashMap.ts +370 -231
- package/src/TxHashSet.ts +253 -159
- package/src/TxPriorityQueue.ts +97 -65
- package/src/TxPubSub.ts +77 -49
- package/src/TxQueue.ts +277 -242
- package/src/TxReentrantLock.ts +70 -47
- package/src/TxRef.ts +69 -40
- package/src/TxSemaphore.ts +101 -115
- package/src/TxSubscriptionRef.ts +74 -50
- package/src/Types.ts +31 -34
- package/src/UndefinedOr.ts +62 -25
- package/src/Unify.ts +72 -117
- package/src/Utils.ts +5 -2
- package/src/index.ts +1976 -420
- package/src/internal/schema/schema.ts +1 -1
- package/src/testing/FastCheck.ts +9 -6
- package/src/testing/TestClock.ts +63 -35
- package/src/testing/TestConsole.ts +54 -36
- package/src/testing/TestSchema.ts +10 -8
- package/src/testing/index.ts +34 -0
- package/src/unstable/ai/AiError.ts +195 -137
- package/src/unstable/ai/AnthropicStructuredOutput.ts +2 -2
- package/src/unstable/ai/Chat.ts +68 -43
- package/src/unstable/ai/EmbeddingModel.ts +12 -11
- package/src/unstable/ai/IdGenerator.ts +28 -18
- package/src/unstable/ai/LanguageModel.ts +35 -27
- package/src/unstable/ai/McpSchema.ts +342 -119
- package/src/unstable/ai/McpServer.ts +79 -20
- package/src/unstable/ai/Model.ts +10 -12
- package/src/unstable/ai/OpenAiStructuredOutput.ts +2 -2
- package/src/unstable/ai/Prompt.ts +216 -192
- package/src/unstable/ai/Response.ts +179 -167
- package/src/unstable/ai/ResponseIdTracker.ts +43 -4
- package/src/unstable/ai/Telemetry.ts +43 -33
- package/src/unstable/ai/Tokenizer.ts +14 -9
- package/src/unstable/ai/Tool.ts +168 -97
- package/src/unstable/ai/Toolkit.ts +51 -46
- package/src/unstable/ai/index.ts +121 -29
- package/src/unstable/cli/Argument.ts +226 -134
- package/src/unstable/cli/CliError.ts +96 -26
- package/src/unstable/cli/CliOutput.ts +48 -19
- package/src/unstable/cli/Command.ts +196 -115
- package/src/unstable/cli/Completions.ts +7 -7
- package/src/unstable/cli/Flag.ts +235 -142
- package/src/unstable/cli/GlobalFlag.ts +41 -13
- package/src/unstable/cli/HelpDoc.ts +39 -14
- package/src/unstable/cli/Param.ts +395 -260
- package/src/unstable/cli/Primitive.ts +79 -42
- package/src/unstable/cli/Prompt.ts +207 -59
- package/src/unstable/cli/index.ts +205 -6
- package/src/unstable/cli/internal/ansi.ts +13 -0
- package/src/unstable/cli/internal/command.ts +5 -1
- package/src/unstable/cli/internal/config.ts +3 -0
- package/src/unstable/cli/internal/lexer.ts +11 -0
- package/src/unstable/cli/internal/parser.ts +0 -1
- 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 +35 -2
- package/src/unstable/cluster/DeliverAt.ts +39 -4
- package/src/unstable/cluster/Entity.ts +106 -16
- package/src/unstable/cluster/EntityAddress.ts +30 -2
- package/src/unstable/cluster/EntityId.ts +18 -3
- package/src/unstable/cluster/EntityProxy.ts +42 -14
- package/src/unstable/cluster/EntityProxyServer.ts +45 -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 +126 -21
- 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 +76 -13
- package/src/unstable/cluster/ShardId.ts +53 -5
- package/src/unstable/cluster/Sharding.ts +35 -4
- package/src/unstable/cluster/ShardingConfig.ts +75 -10
- 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 +90 -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/index.ts +790 -0
- 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/devtools/index.ts +58 -0
- 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/encoding/index.ts +49 -0
- 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 +150 -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/eventlog/index.ts +240 -0
- 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 +128 -26
- package/src/unstable/http/HttpClient.ts +204 -96
- package/src/unstable/http/HttpClientError.ts +80 -12
- package/src/unstable/http/HttpClientRequest.ts +318 -100
- package/src/unstable/http/HttpClientResponse.ts +59 -16
- package/src/unstable/http/HttpEffect.ts +66 -18
- package/src/unstable/http/HttpIncomingMessage.ts +48 -7
- package/src/unstable/http/HttpMethod.ts +38 -6
- package/src/unstable/http/HttpMiddleware.ts +60 -11
- package/src/unstable/http/HttpPlatform.ts +34 -3
- package/src/unstable/http/HttpRouter.ts +232 -69
- package/src/unstable/http/HttpServer.ts +151 -22
- package/src/unstable/http/HttpServerError.ts +93 -10
- package/src/unstable/http/HttpServerRequest.ts +125 -21
- package/src/unstable/http/HttpServerRespondable.ts +49 -6
- package/src/unstable/http/HttpServerResponse.ts +391 -67
- package/src/unstable/http/HttpStaticServer.ts +24 -8
- package/src/unstable/http/HttpTraceContext.ts +53 -6
- package/src/unstable/http/Multipart.ts +179 -28
- 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 -1
- package/src/unstable/http/Url.ts +70 -56
- package/src/unstable/http/UrlParams.ts +237 -51
- package/src/unstable/http/index.ts +452 -0
- package/src/unstable/httpapi/HttpApi.ts +49 -14
- package/src/unstable/httpapi/HttpApiBuilder.ts +81 -16
- package/src/unstable/httpapi/HttpApiClient.ts +78 -15
- 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 -22
- package/src/unstable/httpapi/HttpApiScalar.ts +38 -4
- package/src/unstable/httpapi/HttpApiSchema.ts +86 -38
- package/src/unstable/httpapi/HttpApiSecurity.ts +73 -17
- package/src/unstable/httpapi/HttpApiSwagger.ts +23 -3
- package/src/unstable/httpapi/HttpApiTest.ts +26 -1
- package/src/unstable/httpapi/OpenApi.ts +115 -15
- package/src/unstable/httpapi/index.ts +310 -25
- package/src/unstable/observability/Otlp.ts +33 -3
- package/src/unstable/observability/OtlpExporter.ts +32 -1
- package/src/unstable/observability/OtlpLogger.ts +32 -2
- package/src/unstable/observability/OtlpMetrics.ts +39 -5
- package/src/unstable/observability/OtlpResource.ts +68 -12
- package/src/unstable/observability/OtlpSerialization.ts +28 -3
- package/src/unstable/observability/OtlpTracer.ts +41 -2
- package/src/unstable/observability/PrometheusMetrics.ts +36 -16
- package/src/unstable/observability/index.ts +160 -3
- 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 +98 -16
- package/src/unstable/persistence/RateLimiter.ts +101 -21
- package/src/unstable/persistence/Redis.ts +42 -5
- package/src/unstable/persistence/index.ts +147 -0
- package/src/unstable/process/ChildProcess.ts +90 -66
- package/src/unstable/process/ChildProcessSpawner.ts +23 -12
- package/src/unstable/process/index.ts +2 -1
- package/src/unstable/reactivity/AsyncResult.ts +204 -61
- package/src/unstable/reactivity/Atom.ts +598 -139
- 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 +94 -13
- package/src/unstable/reactivity/index.ts +167 -0
- package/src/unstable/rpc/Rpc.ts +254 -56
- package/src/unstable/rpc/RpcClient.ts +106 -19
- 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 +107 -23
- package/src/unstable/rpc/RpcTest.ts +20 -1
- package/src/unstable/rpc/RpcWorker.ts +39 -6
- package/src/unstable/rpc/Utils.ts +33 -0
- package/src/unstable/rpc/index.ts +272 -0
- package/src/unstable/schema/Model.ts +245 -61
- package/src/unstable/schema/VariantSchema.ts +101 -24
- package/src/unstable/schema/index.ts +37 -0
- package/src/unstable/socket/Socket.ts +168 -34
- package/src/unstable/socket/SocketServer.ts +58 -10
- package/src/unstable/socket/index.ts +44 -0
- package/src/unstable/sql/Migrator.ts +61 -9
- package/src/unstable/sql/SqlClient.ts +59 -2
- package/src/unstable/sql/SqlConnection.ts +34 -3
- package/src/unstable/sql/SqlError.ts +135 -0
- package/src/unstable/sql/SqlModel.ts +25 -5
- package/src/unstable/sql/SqlResolver.ts +56 -13
- package/src/unstable/sql/SqlSchema.ts +29 -8
- package/src/unstable/sql/SqlStream.ts +24 -0
- package/src/unstable/sql/Statement.ts +168 -24
- package/src/unstable/sql/index.ts +179 -1
- package/src/unstable/workers/Transferable.ts +72 -20
- package/src/unstable/workers/Worker.ts +61 -8
- package/src/unstable/workers/WorkerError.ts +50 -9
- package/src/unstable/workers/WorkerRunner.ts +32 -3
- package/src/unstable/workers/index.ts +81 -1
- package/src/unstable/workflow/Activity.ts +61 -10
- package/src/unstable/workflow/DurableClock.ts +26 -3
- package/src/unstable/workflow/DurableDeferred.ts +148 -31
- package/src/unstable/workflow/DurableQueue.ts +33 -8
- package/src/unstable/workflow/Workflow.ts +123 -31
- package/src/unstable/workflow/WorkflowEngine.ts +40 -5
- package/src/unstable/workflow/WorkflowProxy.ts +40 -12
- package/src/unstable/workflow/WorkflowProxyServer.ts +41 -6
- package/src/unstable/workflow/index.ts +160 -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,22 +53,23 @@ 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
|
-
* import { Effect } from "effect"
|
|
57
|
-
* import * as PubSub from "effect/PubSub"
|
|
59
|
+
* import { Effect, PubSub } from "effect"
|
|
58
60
|
*
|
|
59
61
|
* const program = Effect.gen(function*() {
|
|
60
62
|
* // Create a bounded PubSub with capacity 10
|
|
61
63
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
62
64
|
*
|
|
63
|
-
* // Publish messages
|
|
64
|
-
* yield* PubSub.publish(pubsub, "Hello")
|
|
65
|
-
* yield* PubSub.publish(pubsub, "World")
|
|
66
|
-
*
|
|
67
65
|
* // Subscribe and consume messages
|
|
68
66
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
69
67
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
68
|
+
*
|
|
69
|
+
* // Publish messages
|
|
70
|
+
* yield* PubSub.publish(pubsub, "Hello")
|
|
71
|
+
* yield* PubSub.publish(pubsub, "World")
|
|
72
|
+
*
|
|
70
73
|
* const message1 = yield* PubSub.take(subscription)
|
|
71
74
|
* const message2 = yield* PubSub.take(subscription)
|
|
72
75
|
* console.log(message1, message2) // "Hello", "World"
|
|
@@ -74,8 +77,8 @@ const TypeId = "~effect/PubSub"
|
|
|
74
77
|
* })
|
|
75
78
|
* ```
|
|
76
79
|
*
|
|
77
|
-
* @since 2.0.0
|
|
78
80
|
* @category models
|
|
81
|
+
* @since 2.0.0
|
|
79
82
|
*/
|
|
80
83
|
export interface PubSub<in out A> extends Pipeable {
|
|
81
84
|
readonly [TypeId]: {
|
|
@@ -90,15 +93,18 @@ export interface PubSub<in out A> extends Pipeable {
|
|
|
90
93
|
}
|
|
91
94
|
|
|
92
95
|
/**
|
|
96
|
+
* Companion namespace containing the low-level building blocks used by
|
|
97
|
+
* `PubSub`, including atomic implementations, backing subscriptions, replay
|
|
98
|
+
* windows, and delivery strategies.
|
|
99
|
+
*
|
|
93
100
|
* @since 2.0.0
|
|
94
|
-
* @category models
|
|
95
101
|
*/
|
|
96
102
|
export namespace PubSub {
|
|
97
103
|
/**
|
|
98
104
|
* Low-level atomic PubSub interface that handles the core message storage and retrieval.
|
|
99
105
|
*
|
|
100
|
-
* @since 4.0.0
|
|
101
106
|
* @category models
|
|
107
|
+
* @since 4.0.0
|
|
102
108
|
*/
|
|
103
109
|
export interface Atomic<in out A> {
|
|
104
110
|
readonly capacity: number
|
|
@@ -115,8 +121,8 @@ export namespace PubSub {
|
|
|
115
121
|
/**
|
|
116
122
|
* Low-level subscription interface that handles message polling for individual subscribers.
|
|
117
123
|
*
|
|
118
|
-
* @since 4.0.0
|
|
119
124
|
* @category models
|
|
125
|
+
* @since 4.0.0
|
|
120
126
|
*/
|
|
121
127
|
export interface BackingSubscription<out A> {
|
|
122
128
|
isEmpty(): boolean
|
|
@@ -127,10 +133,16 @@ export namespace PubSub {
|
|
|
127
133
|
}
|
|
128
134
|
|
|
129
135
|
/**
|
|
130
|
-
*
|
|
136
|
+
* Tracks the pollers currently waiting on each backing subscription.
|
|
137
|
+
*
|
|
138
|
+
* **Notes**
|
|
139
|
+
*
|
|
140
|
+
* This type is part of the low-level `PubSub.Strategy` contract. Most
|
|
141
|
+
* application code should use `subscribe`, `take`, and the other `PubSub`
|
|
142
|
+
* operations instead of manipulating subscriber maps directly.
|
|
131
143
|
*
|
|
132
|
-
* @since 4.0.0
|
|
133
144
|
* @category models
|
|
145
|
+
* @since 4.0.0
|
|
134
146
|
*/
|
|
135
147
|
export type Subscribers<A> = Map<
|
|
136
148
|
BackingSubscription<A>,
|
|
@@ -140,8 +152,8 @@ export namespace PubSub {
|
|
|
140
152
|
/**
|
|
141
153
|
* Interface for accessing replay buffer contents for late subscribers.
|
|
142
154
|
*
|
|
143
|
-
* @since 4.0.0
|
|
144
155
|
* @category models
|
|
156
|
+
* @since 4.0.0
|
|
145
157
|
*/
|
|
146
158
|
export interface ReplayWindow<A> {
|
|
147
159
|
take(): A | undefined
|
|
@@ -153,8 +165,8 @@ export namespace PubSub {
|
|
|
153
165
|
/**
|
|
154
166
|
* Strategy interface defining how PubSub handles backpressure and message distribution.
|
|
155
167
|
*
|
|
156
|
-
* @since 4.0.0
|
|
157
168
|
* @category models
|
|
169
|
+
* @since 4.0.0
|
|
158
170
|
*/
|
|
159
171
|
export interface Strategy<in out A> {
|
|
160
172
|
/**
|
|
@@ -210,10 +222,10 @@ const SubscriptionTypeId = "~effect/PubSub/Subscription"
|
|
|
210
222
|
/**
|
|
211
223
|
* A subscription represents a consumer's connection to a PubSub, allowing them to take messages.
|
|
212
224
|
*
|
|
213
|
-
*
|
|
225
|
+
* **Example** (Taking messages from a subscription)
|
|
226
|
+
*
|
|
214
227
|
* ```ts
|
|
215
|
-
* import { Effect } from "effect"
|
|
216
|
-
* import * as PubSub from "effect/PubSub"
|
|
228
|
+
* import { Effect, PubSub } from "effect"
|
|
217
229
|
*
|
|
218
230
|
* const program = Effect.gen(function*() {
|
|
219
231
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
@@ -224,18 +236,23 @@ const SubscriptionTypeId = "~effect/PubSub/Subscription"
|
|
|
224
236
|
* pubsub
|
|
225
237
|
* )
|
|
226
238
|
*
|
|
239
|
+
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
|
|
240
|
+
*
|
|
227
241
|
* // Take individual messages
|
|
228
242
|
* const message = yield* PubSub.take(subscription)
|
|
243
|
+
* console.log(message) // "msg1"
|
|
229
244
|
*
|
|
230
245
|
* // Take multiple messages
|
|
231
|
-
* const messages = yield* PubSub.takeUpTo(subscription,
|
|
246
|
+
* const messages = yield* PubSub.takeUpTo(subscription, 1)
|
|
247
|
+
* console.log(messages) // ["msg2"]
|
|
232
248
|
* const allMessages = yield* PubSub.takeAll(subscription)
|
|
249
|
+
* console.log(allMessages) // ["msg3"]
|
|
233
250
|
* }))
|
|
234
251
|
* })
|
|
235
252
|
* ```
|
|
236
253
|
*
|
|
237
|
-
* @since 4.0.0
|
|
238
254
|
* @category models
|
|
255
|
+
* @since 4.0.0
|
|
239
256
|
*/
|
|
240
257
|
export interface Subscription<out A> extends Pipeable {
|
|
241
258
|
readonly [SubscriptionTypeId]: {
|
|
@@ -254,10 +271,10 @@ export interface Subscription<out A> extends Pipeable {
|
|
|
254
271
|
/**
|
|
255
272
|
* Creates a PubSub with a custom atomic implementation and strategy.
|
|
256
273
|
*
|
|
257
|
-
*
|
|
274
|
+
* **Example** (Creating a PubSub with a custom strategy)
|
|
275
|
+
*
|
|
258
276
|
* ```ts
|
|
259
|
-
* import { Effect } from "effect"
|
|
260
|
-
* import * as PubSub from "effect/PubSub"
|
|
277
|
+
* import { Effect, PubSub } from "effect"
|
|
261
278
|
*
|
|
262
279
|
* const program = Effect.gen(function*() {
|
|
263
280
|
* // Create custom PubSub with specific atomic implementation and strategy
|
|
@@ -271,8 +288,8 @@ export interface Subscription<out A> extends Pipeable {
|
|
|
271
288
|
* })
|
|
272
289
|
* ```
|
|
273
290
|
*
|
|
274
|
-
* @since 4.0.0
|
|
275
291
|
* @category constructors
|
|
292
|
+
* @since 4.0.0
|
|
276
293
|
*/
|
|
277
294
|
export const make = <A>(
|
|
278
295
|
options: {
|
|
@@ -292,20 +309,20 @@ export const make = <A>(
|
|
|
292
309
|
)
|
|
293
310
|
|
|
294
311
|
/**
|
|
295
|
-
* Creates a bounded PubSub
|
|
312
|
+
* Creates a bounded `PubSub` that applies backpressure when it reaches
|
|
313
|
+
* capacity.
|
|
296
314
|
*
|
|
297
|
-
*
|
|
298
|
-
* When the
|
|
299
|
-
*
|
|
315
|
+
* Published messages are retained until all current subscribers have taken
|
|
316
|
+
* them. When the capacity is full, publishers suspend until space is available.
|
|
317
|
+
* Pass an options object to configure both `capacity` and an optional replay
|
|
318
|
+
* buffer for late subscribers.
|
|
300
319
|
*
|
|
301
|
-
* @param capacity - The maximum number of messages the PubSub can hold, or an options object
|
|
302
320
|
* with capacity and optional replay buffer size
|
|
303
|
-
* @returns An Effect that creates a bounded PubSub
|
|
304
321
|
*
|
|
305
|
-
*
|
|
322
|
+
* **Example** (Creating a bounded PubSub)
|
|
323
|
+
*
|
|
306
324
|
* ```ts
|
|
307
|
-
* import { Effect } from "effect"
|
|
308
|
-
* import * as PubSub from "effect/PubSub"
|
|
325
|
+
* import { Effect, PubSub } from "effect"
|
|
309
326
|
*
|
|
310
327
|
* const program = Effect.gen(function*() {
|
|
311
328
|
* // Create bounded PubSub with capacity 100
|
|
@@ -319,8 +336,8 @@ export const make = <A>(
|
|
|
319
336
|
* })
|
|
320
337
|
* ```
|
|
321
338
|
*
|
|
322
|
-
* @since 2.0.0
|
|
323
339
|
* @category constructors
|
|
340
|
+
* @since 2.0.0
|
|
324
341
|
*/
|
|
325
342
|
export const bounded = <A>(
|
|
326
343
|
capacity: number | {
|
|
@@ -339,10 +356,10 @@ export const bounded = <A>(
|
|
|
339
356
|
*
|
|
340
357
|
* For best performance use capacities that are powers of two.
|
|
341
358
|
*
|
|
342
|
-
*
|
|
359
|
+
* **Example** (Dropping messages when full)
|
|
360
|
+
*
|
|
343
361
|
* ```ts
|
|
344
|
-
* import { Effect } from "effect"
|
|
345
|
-
* import * as PubSub from "effect/PubSub"
|
|
362
|
+
* import { Effect, PubSub } from "effect"
|
|
346
363
|
*
|
|
347
364
|
* const program = Effect.gen(function*() {
|
|
348
365
|
* // Create dropping PubSub that drops new messages when full
|
|
@@ -354,17 +371,24 @@ export const bounded = <A>(
|
|
|
354
371
|
* replay: 5
|
|
355
372
|
* })
|
|
356
373
|
*
|
|
357
|
-
*
|
|
358
|
-
*
|
|
359
|
-
*
|
|
360
|
-
*
|
|
361
|
-
*
|
|
362
|
-
*
|
|
374
|
+
* yield* Effect.scoped(Effect.gen(function*() {
|
|
375
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
376
|
+
*
|
|
377
|
+
* // Fill the PubSub and see dropping behavior
|
|
378
|
+
* yield* PubSub.publish(pubsub, "msg1") // succeeds
|
|
379
|
+
* yield* PubSub.publish(pubsub, "msg2") // succeeds
|
|
380
|
+
* yield* PubSub.publish(pubsub, "msg3") // succeeds
|
|
381
|
+
* const dropped = yield* PubSub.publish(pubsub, "msg4") // returns false (dropped)
|
|
382
|
+
* console.log("Message dropped:", !dropped) // true
|
|
383
|
+
*
|
|
384
|
+
* const messages = yield* PubSub.takeAll(subscription)
|
|
385
|
+
* console.log(messages) // ["msg1", "msg2", "msg3"]
|
|
386
|
+
* }))
|
|
363
387
|
* })
|
|
364
388
|
* ```
|
|
365
389
|
*
|
|
366
|
-
* @since 2.0.0
|
|
367
390
|
* @category constructors
|
|
391
|
+
* @since 2.0.0
|
|
368
392
|
*/
|
|
369
393
|
export const dropping = <A>(
|
|
370
394
|
capacity: number | {
|
|
@@ -383,10 +407,10 @@ export const dropping = <A>(
|
|
|
383
407
|
*
|
|
384
408
|
* For best performance use capacities that are powers of two.
|
|
385
409
|
*
|
|
386
|
-
*
|
|
410
|
+
* **Example** (Sliding old messages when full)
|
|
411
|
+
*
|
|
387
412
|
* ```ts
|
|
388
|
-
* import { Effect } from "effect"
|
|
389
|
-
* import * as PubSub from "effect/PubSub"
|
|
413
|
+
* import { Effect, PubSub } from "effect"
|
|
390
414
|
*
|
|
391
415
|
* const program = Effect.gen(function*() {
|
|
392
416
|
* // Create sliding PubSub that evicts old messages when full
|
|
@@ -398,22 +422,23 @@ export const dropping = <A>(
|
|
|
398
422
|
* replay: 2
|
|
399
423
|
* })
|
|
400
424
|
*
|
|
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
425
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
408
426
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
427
|
+
*
|
|
428
|
+
* // Fill and overflow the PubSub
|
|
429
|
+
* yield* PubSub.publish(pubsub, "msg1")
|
|
430
|
+
* yield* PubSub.publish(pubsub, "msg2")
|
|
431
|
+
* yield* PubSub.publish(pubsub, "msg3")
|
|
432
|
+
* yield* PubSub.publish(pubsub, "msg4") // "msg1" is evicted
|
|
433
|
+
*
|
|
409
434
|
* const messages = yield* PubSub.takeAll(subscription)
|
|
410
435
|
* console.log(messages) // ["msg2", "msg3", "msg4"]
|
|
411
436
|
* }))
|
|
412
437
|
* })
|
|
413
438
|
* ```
|
|
414
439
|
*
|
|
415
|
-
* @since 2.0.0
|
|
416
440
|
* @category constructors
|
|
441
|
+
* @since 2.0.0
|
|
417
442
|
*/
|
|
418
443
|
export const sliding = <A>(
|
|
419
444
|
capacity: number | {
|
|
@@ -429,10 +454,10 @@ export const sliding = <A>(
|
|
|
429
454
|
/**
|
|
430
455
|
* Creates an unbounded `PubSub`.
|
|
431
456
|
*
|
|
432
|
-
*
|
|
457
|
+
* **Example** (Creating an unbounded PubSub)
|
|
458
|
+
*
|
|
433
459
|
* ```ts
|
|
434
|
-
* import { Effect } from "effect"
|
|
435
|
-
* import * as PubSub from "effect/PubSub"
|
|
460
|
+
* import { Effect, PubSub } from "effect"
|
|
436
461
|
*
|
|
437
462
|
* const program = Effect.gen(function*() {
|
|
438
463
|
* // Create unbounded PubSub
|
|
@@ -443,21 +468,22 @@ export const sliding = <A>(
|
|
|
443
468
|
* replay: 10
|
|
444
469
|
* })
|
|
445
470
|
*
|
|
446
|
-
* // Can publish unlimited messages
|
|
447
|
-
* for (let i = 0; i < 1000; i++) {
|
|
448
|
-
* yield* PubSub.publish(pubsub, `message-${i}`)
|
|
449
|
-
* }
|
|
450
|
-
*
|
|
451
471
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
452
472
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
473
|
+
*
|
|
474
|
+
* // Can publish unlimited messages
|
|
475
|
+
* for (let i = 0; i < 3; i++) {
|
|
476
|
+
* yield* PubSub.publish(pubsub, `message-${i}`)
|
|
477
|
+
* }
|
|
478
|
+
*
|
|
453
479
|
* const message = yield* PubSub.take(subscription)
|
|
454
|
-
* console.log("First message:", message)
|
|
480
|
+
* console.log("First message:", message) // "message-0"
|
|
455
481
|
* }))
|
|
456
482
|
* })
|
|
457
483
|
* ```
|
|
458
484
|
*
|
|
459
|
-
* @since 2.0.0
|
|
460
485
|
* @category constructors
|
|
486
|
+
* @since 2.0.0
|
|
461
487
|
*/
|
|
462
488
|
export const unbounded = <A>(options?: {
|
|
463
489
|
readonly replay?: number | undefined
|
|
@@ -470,8 +496,8 @@ export const unbounded = <A>(options?: {
|
|
|
470
496
|
/**
|
|
471
497
|
* Creates a bounded atomic PubSub implementation with optional replay buffer.
|
|
472
498
|
*
|
|
473
|
-
* @since 4.0.0
|
|
474
499
|
* @category constructors
|
|
500
|
+
* @since 4.0.0
|
|
475
501
|
*/
|
|
476
502
|
export const makeAtomicBounded = <A>(
|
|
477
503
|
capacity: number | {
|
|
@@ -494,8 +520,8 @@ export const makeAtomicBounded = <A>(
|
|
|
494
520
|
/**
|
|
495
521
|
* Creates an unbounded atomic PubSub implementation with optional replay buffer.
|
|
496
522
|
*
|
|
497
|
-
* @since 4.0.0
|
|
498
523
|
* @category constructors
|
|
524
|
+
* @since 4.0.0
|
|
499
525
|
*/
|
|
500
526
|
export const makeAtomicUnbounded = <A>(options?: {
|
|
501
527
|
readonly replay?: number | undefined
|
|
@@ -504,10 +530,10 @@ export const makeAtomicUnbounded = <A>(options?: {
|
|
|
504
530
|
/**
|
|
505
531
|
* Returns the number of elements the queue can hold.
|
|
506
532
|
*
|
|
507
|
-
*
|
|
533
|
+
* **Example** (Getting PubSub capacity)
|
|
534
|
+
*
|
|
508
535
|
* ```ts
|
|
509
|
-
* import { Effect } from "effect"
|
|
510
|
-
* import * as PubSub from "effect/PubSub"
|
|
536
|
+
* import { Effect, PubSub } from "effect"
|
|
511
537
|
*
|
|
512
538
|
* const program = Effect.gen(function*() {
|
|
513
539
|
* const pubsub = yield* PubSub.bounded<string>(100)
|
|
@@ -520,20 +546,22 @@ export const makeAtomicUnbounded = <A>(options?: {
|
|
|
520
546
|
* })
|
|
521
547
|
* ```
|
|
522
548
|
*
|
|
523
|
-
* @since 2.0.0
|
|
524
549
|
* @category getters
|
|
550
|
+
* @since 2.0.0
|
|
525
551
|
*/
|
|
526
552
|
export const capacity = <A>(self: PubSub<A>): number => self.pubsub.capacity
|
|
527
553
|
|
|
528
554
|
/**
|
|
529
|
-
*
|
|
530
|
-
*
|
|
531
|
-
*
|
|
555
|
+
* Returns the current number of messages retained by the `PubSub` for active
|
|
556
|
+
* subscribers.
|
|
557
|
+
*
|
|
558
|
+
* If the `PubSub` has been shut down, the returned effect succeeds with `0`.
|
|
559
|
+
* The size is not a count of waiting subscribers or suspended publishers.
|
|
560
|
+
*
|
|
561
|
+
* **Example** (Getting PubSub size)
|
|
532
562
|
*
|
|
533
|
-
* @example
|
|
534
563
|
* ```ts
|
|
535
|
-
* import { Effect } from "effect"
|
|
536
|
-
* import * as PubSub from "effect/PubSub"
|
|
564
|
+
* import { Effect, PubSub } from "effect"
|
|
537
565
|
*
|
|
538
566
|
* const program = Effect.gen(function*() {
|
|
539
567
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
@@ -542,25 +570,36 @@ export const capacity = <A>(self: PubSub<A>): number => self.pubsub.capacity
|
|
|
542
570
|
* const initialSize = yield* PubSub.size(pubsub)
|
|
543
571
|
* console.log("Initial size:", initialSize) // 0
|
|
544
572
|
*
|
|
545
|
-
*
|
|
546
|
-
*
|
|
547
|
-
*
|
|
573
|
+
* yield* Effect.scoped(Effect.gen(function*() {
|
|
574
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
575
|
+
*
|
|
576
|
+
* // Publish some messages for the active subscription
|
|
577
|
+
* yield* PubSub.publish(pubsub, "msg1")
|
|
578
|
+
* yield* PubSub.publish(pubsub, "msg2")
|
|
579
|
+
*
|
|
580
|
+
* const afterPublish = yield* PubSub.size(pubsub)
|
|
581
|
+
* console.log("After publishing:", afterPublish) // 2
|
|
548
582
|
*
|
|
549
|
-
*
|
|
550
|
-
*
|
|
583
|
+
* yield* PubSub.takeAll(subscription)
|
|
584
|
+
* }))
|
|
551
585
|
* })
|
|
552
586
|
* ```
|
|
553
587
|
*
|
|
554
|
-
* @since 2.0.0
|
|
555
588
|
* @category getters
|
|
589
|
+
* @since 2.0.0
|
|
556
590
|
*/
|
|
557
591
|
export const size = <A>(self: PubSub<A>): Effect.Effect<number> => Effect.sync(() => sizeUnsafe(self))
|
|
558
592
|
/**
|
|
559
|
-
*
|
|
560
|
-
*
|
|
561
|
-
*
|
|
593
|
+
* Synchronously returns the current number of messages retained by the `PubSub`
|
|
594
|
+
* for active subscribers.
|
|
595
|
+
*
|
|
596
|
+
* **Notes**
|
|
597
|
+
*
|
|
598
|
+
* Returns `0` after shutdown. Because this is an unsafe synchronous snapshot,
|
|
599
|
+
* prefer `size` in effectful code.
|
|
600
|
+
*
|
|
601
|
+
* **Example** (Reading size synchronously)
|
|
562
602
|
*
|
|
563
|
-
* @example
|
|
564
603
|
* ```ts
|
|
565
604
|
* import { PubSub } from "effect"
|
|
566
605
|
*
|
|
@@ -571,8 +610,8 @@ export const size = <A>(self: PubSub<A>): Effect.Effect<number> => Effect.sync((
|
|
|
571
610
|
* console.log("Current size:", size)
|
|
572
611
|
* ```
|
|
573
612
|
*
|
|
574
|
-
* @since 2.0.0
|
|
575
613
|
* @category getters
|
|
614
|
+
* @since 4.0.0
|
|
576
615
|
*/
|
|
577
616
|
export const sizeUnsafe = <A>(self: PubSub<A>): number => {
|
|
578
617
|
if (MutableRef.get(self.shutdownFlag)) {
|
|
@@ -582,13 +621,14 @@ export const sizeUnsafe = <A>(self: PubSub<A>): number => {
|
|
|
582
621
|
}
|
|
583
622
|
|
|
584
623
|
/**
|
|
585
|
-
* Returns `true`
|
|
586
|
-
*
|
|
624
|
+
* Returns `true` when the `PubSub` has reached its configured capacity.
|
|
625
|
+
*
|
|
626
|
+
* For unbounded PubSubs this is normally `false`.
|
|
627
|
+
*
|
|
628
|
+
* **Example** (Checking whether a PubSub is full)
|
|
587
629
|
*
|
|
588
|
-
* @example
|
|
589
630
|
* ```ts
|
|
590
|
-
* import { Effect } from "effect"
|
|
591
|
-
* import * as PubSub from "effect/PubSub"
|
|
631
|
+
* import { Effect, PubSub } from "effect"
|
|
592
632
|
*
|
|
593
633
|
* const program = Effect.gen(function*() {
|
|
594
634
|
* const pubsub = yield* PubSub.bounded<string>(2)
|
|
@@ -597,17 +637,23 @@ export const sizeUnsafe = <A>(self: PubSub<A>): number => {
|
|
|
597
637
|
* const initiallyFull = yield* PubSub.isFull(pubsub)
|
|
598
638
|
* console.log("Initially full:", initiallyFull) // false
|
|
599
639
|
*
|
|
600
|
-
*
|
|
601
|
-
*
|
|
602
|
-
*
|
|
640
|
+
* yield* Effect.scoped(Effect.gen(function*() {
|
|
641
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
642
|
+
*
|
|
643
|
+
* // Fill the PubSub for the active subscription
|
|
644
|
+
* yield* PubSub.publish(pubsub, "msg1")
|
|
645
|
+
* yield* PubSub.publish(pubsub, "msg2")
|
|
646
|
+
*
|
|
647
|
+
* const nowFull = yield* PubSub.isFull(pubsub)
|
|
648
|
+
* console.log("Now full:", nowFull) // true
|
|
603
649
|
*
|
|
604
|
-
*
|
|
605
|
-
*
|
|
650
|
+
* yield* PubSub.takeAll(subscription)
|
|
651
|
+
* }))
|
|
606
652
|
* })
|
|
607
653
|
* ```
|
|
608
654
|
*
|
|
609
|
-
* @since 2.0.0
|
|
610
655
|
* @category predicates
|
|
656
|
+
* @since 2.0.0
|
|
611
657
|
*/
|
|
612
658
|
export const isFull = <A>(self: PubSub<A>): Effect.Effect<boolean> =>
|
|
613
659
|
Effect.map(size(self), (size) => size === self.pubsub.capacity)
|
|
@@ -615,10 +661,10 @@ export const isFull = <A>(self: PubSub<A>): Effect.Effect<boolean> =>
|
|
|
615
661
|
/**
|
|
616
662
|
* Returns `true` if the `Pubsub` contains zero elements, `false` otherwise.
|
|
617
663
|
*
|
|
618
|
-
*
|
|
664
|
+
* **Example** (Checking whether a PubSub is empty)
|
|
665
|
+
*
|
|
619
666
|
* ```ts
|
|
620
|
-
* import { Effect } from "effect"
|
|
621
|
-
* import * as PubSub from "effect/PubSub"
|
|
667
|
+
* import { Effect, PubSub } from "effect"
|
|
622
668
|
*
|
|
623
669
|
* const program = Effect.gen(function*() {
|
|
624
670
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
@@ -627,49 +673,55 @@ export const isFull = <A>(self: PubSub<A>): Effect.Effect<boolean> =>
|
|
|
627
673
|
* const initiallyEmpty = yield* PubSub.isEmpty(pubsub)
|
|
628
674
|
* console.log("Initially empty:", initiallyEmpty) // true
|
|
629
675
|
*
|
|
630
|
-
*
|
|
631
|
-
*
|
|
676
|
+
* yield* Effect.scoped(Effect.gen(function*() {
|
|
677
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
678
|
+
*
|
|
679
|
+
* // Publish a message for the active subscription
|
|
680
|
+
* yield* PubSub.publish(pubsub, "Hello")
|
|
632
681
|
*
|
|
633
|
-
*
|
|
634
|
-
*
|
|
682
|
+
* const nowEmpty = yield* PubSub.isEmpty(pubsub)
|
|
683
|
+
* console.log("Now empty:", nowEmpty) // false
|
|
684
|
+
*
|
|
685
|
+
* yield* PubSub.take(subscription)
|
|
686
|
+
* }))
|
|
635
687
|
* })
|
|
636
688
|
* ```
|
|
637
689
|
*
|
|
638
|
-
* @since 2.0.0
|
|
639
690
|
* @category predicates
|
|
691
|
+
* @since 2.0.0
|
|
640
692
|
*/
|
|
641
693
|
export const isEmpty = <A>(self: PubSub<A>): Effect.Effect<boolean> => Effect.map(size(self), (size) => size === 0)
|
|
642
694
|
|
|
643
695
|
/**
|
|
644
|
-
*
|
|
645
|
-
*
|
|
696
|
+
* Shuts down the `PubSub`, interrupting suspended publishers and subscribers
|
|
697
|
+
* and finalizing active subscriptions.
|
|
698
|
+
*
|
|
699
|
+
* After shutdown, `publish` and `publishAll` succeed with `false`,
|
|
700
|
+
* `publishUnsafe` returns `false`, and subscription operations such as `take`
|
|
701
|
+
* interrupt.
|
|
702
|
+
*
|
|
703
|
+
* **Example** (Shutting down a PubSub)
|
|
646
704
|
*
|
|
647
|
-
* @example
|
|
648
705
|
* ```ts
|
|
649
|
-
* import { Effect,
|
|
706
|
+
* import { Effect, PubSub } from "effect"
|
|
650
707
|
*
|
|
651
708
|
* const program = Effect.gen(function*() {
|
|
652
709
|
* const pubsub = yield* PubSub.bounded<string>(1)
|
|
653
710
|
*
|
|
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
711
|
* // Shutdown the PubSub
|
|
663
712
|
* yield* PubSub.shutdown(pubsub)
|
|
664
713
|
*
|
|
665
|
-
*
|
|
666
|
-
*
|
|
667
|
-
*
|
|
714
|
+
* const isShutdown = yield* PubSub.isShutdown(pubsub)
|
|
715
|
+
* console.log("Is shutdown:", isShutdown) // true
|
|
716
|
+
*
|
|
717
|
+
* // Publishing after shutdown returns false
|
|
718
|
+
* const published = yield* PubSub.publish(pubsub, "msg1")
|
|
719
|
+
* console.log("Published after shutdown:", published) // false
|
|
668
720
|
* })
|
|
669
721
|
* ```
|
|
670
722
|
*
|
|
671
|
-
* @since 2.0.0
|
|
672
723
|
* @category lifecycle
|
|
724
|
+
* @since 2.0.0
|
|
673
725
|
*/
|
|
674
726
|
export const shutdown = <A>(self: PubSub<A>): Effect.Effect<void> =>
|
|
675
727
|
Effect.uninterruptible(Effect.withFiber((fiber) => {
|
|
@@ -684,10 +736,10 @@ export const shutdown = <A>(self: PubSub<A>): Effect.Effect<void> =>
|
|
|
684
736
|
/**
|
|
685
737
|
* Returns `true` if `shutdown` has been called, otherwise returns `false`.
|
|
686
738
|
*
|
|
687
|
-
*
|
|
739
|
+
* **Example** (Checking whether a PubSub is shutdown)
|
|
740
|
+
*
|
|
688
741
|
* ```ts
|
|
689
|
-
* import { Effect } from "effect"
|
|
690
|
-
* import * as PubSub from "effect/PubSub"
|
|
742
|
+
* import { Effect, PubSub } from "effect"
|
|
691
743
|
*
|
|
692
744
|
* const program = Effect.gen(function*() {
|
|
693
745
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
@@ -704,15 +756,16 @@ export const shutdown = <A>(self: PubSub<A>): Effect.Effect<void> =>
|
|
|
704
756
|
* })
|
|
705
757
|
* ```
|
|
706
758
|
*
|
|
707
|
-
* @since 2.0.0
|
|
708
759
|
* @category predicates
|
|
760
|
+
* @since 2.0.0
|
|
709
761
|
*/
|
|
710
762
|
export const isShutdown = <A>(self: PubSub<A>): Effect.Effect<boolean> => Effect.sync(() => isShutdownUnsafe(self))
|
|
711
763
|
|
|
712
764
|
/**
|
|
713
765
|
* Returns `true` if `shutdown` has been called, otherwise returns `false`.
|
|
714
766
|
*
|
|
715
|
-
*
|
|
767
|
+
* **Example** (Checking shutdown synchronously)
|
|
768
|
+
*
|
|
716
769
|
* ```ts
|
|
717
770
|
* import { PubSub } from "effect"
|
|
718
771
|
*
|
|
@@ -727,8 +780,8 @@ export const isShutdown = <A>(self: PubSub<A>): Effect.Effect<boolean> => Effect
|
|
|
727
780
|
* }
|
|
728
781
|
* ```
|
|
729
782
|
*
|
|
730
|
-
* @since 4.0.0
|
|
731
783
|
* @category predicates
|
|
784
|
+
* @since 4.0.0
|
|
732
785
|
*/
|
|
733
786
|
export const isShutdownUnsafe = <A>(self: PubSub<A>): boolean => self.shutdownFlag.current
|
|
734
787
|
|
|
@@ -737,7 +790,8 @@ export const isShutdownUnsafe = <A>(self: PubSub<A>): boolean => self.shutdownFl
|
|
|
737
790
|
* not resume until the queue has been shutdown. If the queue is already
|
|
738
791
|
* shutdown, the `Effect` will resume right away.
|
|
739
792
|
*
|
|
740
|
-
*
|
|
793
|
+
* **Example** (Waiting for shutdown)
|
|
794
|
+
*
|
|
741
795
|
* ```ts
|
|
742
796
|
* import { Effect, Fiber, PubSub } from "effect"
|
|
743
797
|
*
|
|
@@ -763,19 +817,23 @@ export const isShutdownUnsafe = <A>(self: PubSub<A>): boolean => self.shutdownFl
|
|
|
763
817
|
* })
|
|
764
818
|
* ```
|
|
765
819
|
*
|
|
766
|
-
* @since 2.0.0
|
|
767
820
|
* @category lifecycle
|
|
821
|
+
* @since 2.0.0
|
|
768
822
|
*/
|
|
769
823
|
export const awaitShutdown = <A>(self: PubSub<A>): Effect.Effect<void> => self.shutdownHook.await
|
|
770
824
|
|
|
771
825
|
/**
|
|
772
|
-
*
|
|
773
|
-
*
|
|
826
|
+
* Attempts to publish a message synchronously without applying the PubSub
|
|
827
|
+
* strategy's effectful surplus handling.
|
|
828
|
+
*
|
|
829
|
+
* Returns `false` if the `PubSub` is shut down or the message cannot be
|
|
830
|
+
* accepted immediately, for example when a bounded PubSub is full. Prefer
|
|
831
|
+
* `publish` when backpressure or sliding behavior should be honored.
|
|
832
|
+
*
|
|
833
|
+
* **Example** (Publishing a message)
|
|
774
834
|
*
|
|
775
|
-
* @example
|
|
776
835
|
* ```ts
|
|
777
|
-
* import { Effect } from "effect"
|
|
778
|
-
* import * as PubSub from "effect/PubSub"
|
|
836
|
+
* import { Effect, PubSub } from "effect"
|
|
779
837
|
*
|
|
780
838
|
* const program = Effect.gen(function*() {
|
|
781
839
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
@@ -784,35 +842,32 @@ export const awaitShutdown = <A>(self: PubSub<A>): Effect.Effect<void> => self.s
|
|
|
784
842
|
* const published = yield* PubSub.publish(pubsub, "Hello World")
|
|
785
843
|
* console.log("Message published:", published) // true
|
|
786
844
|
*
|
|
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
845
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
796
|
-
* const subscription = yield* PubSub.subscribe(
|
|
797
|
-
*
|
|
798
|
-
*
|
|
799
|
-
*
|
|
846
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
847
|
+
*
|
|
848
|
+
* yield* PubSub.publish(pubsub, "Hello")
|
|
849
|
+
* const message = yield* PubSub.take(subscription)
|
|
850
|
+
* console.log("Received:", message) // "Hello"
|
|
800
851
|
* }))
|
|
801
852
|
* })
|
|
802
853
|
* ```
|
|
803
854
|
*
|
|
804
|
-
* @since 2.0.0
|
|
805
855
|
* @category publishing
|
|
856
|
+
* @since 2.0.0
|
|
806
857
|
*/
|
|
807
858
|
export const publish: {
|
|
808
859
|
/**
|
|
809
|
-
*
|
|
810
|
-
*
|
|
860
|
+
* Attempts to publish a message synchronously without applying the PubSub
|
|
861
|
+
* strategy's effectful surplus handling.
|
|
862
|
+
*
|
|
863
|
+
* Returns `false` if the `PubSub` is shut down or the message cannot be
|
|
864
|
+
* accepted immediately, for example when a bounded PubSub is full. Prefer
|
|
865
|
+
* `publish` when backpressure or sliding behavior should be honored.
|
|
866
|
+
*
|
|
867
|
+
* **Example** (Publishing a message)
|
|
811
868
|
*
|
|
812
|
-
* @example
|
|
813
869
|
* ```ts
|
|
814
|
-
* import { Effect } from "effect"
|
|
815
|
-
* import * as PubSub from "effect/PubSub"
|
|
870
|
+
* import { Effect, PubSub } from "effect"
|
|
816
871
|
*
|
|
817
872
|
* const program = Effect.gen(function*() {
|
|
818
873
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
@@ -821,35 +876,32 @@ export const publish: {
|
|
|
821
876
|
* const published = yield* PubSub.publish(pubsub, "Hello World")
|
|
822
877
|
* console.log("Message published:", published) // true
|
|
823
878
|
*
|
|
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
879
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
833
|
-
* const subscription = yield* PubSub.subscribe(
|
|
834
|
-
*
|
|
835
|
-
*
|
|
836
|
-
*
|
|
880
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
881
|
+
*
|
|
882
|
+
* yield* PubSub.publish(pubsub, "Hello")
|
|
883
|
+
* const message = yield* PubSub.take(subscription)
|
|
884
|
+
* console.log("Received:", message) // "Hello"
|
|
837
885
|
* }))
|
|
838
886
|
* })
|
|
839
887
|
* ```
|
|
840
888
|
*
|
|
841
|
-
* @since 2.0.0
|
|
842
889
|
* @category publishing
|
|
890
|
+
* @since 2.0.0
|
|
843
891
|
*/
|
|
844
892
|
<A>(value: A): (self: PubSub<A>) => Effect.Effect<boolean>
|
|
845
893
|
/**
|
|
846
|
-
*
|
|
847
|
-
*
|
|
894
|
+
* Attempts to publish a message synchronously without applying the PubSub
|
|
895
|
+
* strategy's effectful surplus handling.
|
|
896
|
+
*
|
|
897
|
+
* Returns `false` if the `PubSub` is shut down or the message cannot be
|
|
898
|
+
* accepted immediately, for example when a bounded PubSub is full. Prefer
|
|
899
|
+
* `publish` when backpressure or sliding behavior should be honored.
|
|
900
|
+
*
|
|
901
|
+
* **Example** (Publishing a message)
|
|
848
902
|
*
|
|
849
|
-
* @example
|
|
850
903
|
* ```ts
|
|
851
|
-
* import { Effect } from "effect"
|
|
852
|
-
* import * as PubSub from "effect/PubSub"
|
|
904
|
+
* import { Effect, PubSub } from "effect"
|
|
853
905
|
*
|
|
854
906
|
* const program = Effect.gen(function*() {
|
|
855
907
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
@@ -858,25 +910,18 @@ export const publish: {
|
|
|
858
910
|
* const published = yield* PubSub.publish(pubsub, "Hello World")
|
|
859
911
|
* console.log("Message published:", published) // true
|
|
860
912
|
*
|
|
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
913
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
870
|
-
* const subscription = yield* PubSub.subscribe(
|
|
871
|
-
*
|
|
872
|
-
*
|
|
873
|
-
*
|
|
914
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
915
|
+
*
|
|
916
|
+
* yield* PubSub.publish(pubsub, "Hello")
|
|
917
|
+
* const message = yield* PubSub.take(subscription)
|
|
918
|
+
* console.log("Received:", message) // "Hello"
|
|
874
919
|
* }))
|
|
875
920
|
* })
|
|
876
921
|
* ```
|
|
877
922
|
*
|
|
878
|
-
* @since 2.0.0
|
|
879
923
|
* @category publishing
|
|
924
|
+
* @since 2.0.0
|
|
880
925
|
*/
|
|
881
926
|
<A>(self: PubSub<A>, value: A): Effect.Effect<boolean>
|
|
882
927
|
} = dual(2, <A>(self: PubSub<A>, value: A): Effect.Effect<boolean> =>
|
|
@@ -902,7 +947,8 @@ export const publish: {
|
|
|
902
947
|
* Publishes a message to the `PubSub`, returning whether the message was published
|
|
903
948
|
* to the `PubSub`.
|
|
904
949
|
*
|
|
905
|
-
*
|
|
950
|
+
* **Example** (Publishing without suspending)
|
|
951
|
+
*
|
|
906
952
|
* ```ts
|
|
907
953
|
* import { PubSub } from "effect"
|
|
908
954
|
*
|
|
@@ -923,15 +969,16 @@ export const publish: {
|
|
|
923
969
|
* console.log(`Published ${publishedCount} out of ${messages.length} messages`)
|
|
924
970
|
* ```
|
|
925
971
|
*
|
|
926
|
-
* @since 4.0.0
|
|
927
972
|
* @category publishing
|
|
973
|
+
* @since 4.0.0
|
|
928
974
|
*/
|
|
929
975
|
export const publishUnsafe: {
|
|
930
976
|
/**
|
|
931
977
|
* Publishes a message to the `PubSub`, returning whether the message was published
|
|
932
978
|
* to the `PubSub`.
|
|
933
979
|
*
|
|
934
|
-
*
|
|
980
|
+
* **Example** (Publishing without suspending)
|
|
981
|
+
*
|
|
935
982
|
* ```ts
|
|
936
983
|
* import { PubSub } from "effect"
|
|
937
984
|
*
|
|
@@ -952,15 +999,16 @@ export const publishUnsafe: {
|
|
|
952
999
|
* console.log(`Published ${publishedCount} out of ${messages.length} messages`)
|
|
953
1000
|
* ```
|
|
954
1001
|
*
|
|
955
|
-
* @since 4.0.0
|
|
956
1002
|
* @category publishing
|
|
1003
|
+
* @since 4.0.0
|
|
957
1004
|
*/
|
|
958
1005
|
<A>(value: A): (self: PubSub<A>) => boolean
|
|
959
1006
|
/**
|
|
960
1007
|
* Publishes a message to the `PubSub`, returning whether the message was published
|
|
961
1008
|
* to the `PubSub`.
|
|
962
1009
|
*
|
|
963
|
-
*
|
|
1010
|
+
* **Example** (Publishing without suspending)
|
|
1011
|
+
*
|
|
964
1012
|
* ```ts
|
|
965
1013
|
* import { PubSub } from "effect"
|
|
966
1014
|
*
|
|
@@ -981,8 +1029,8 @@ export const publishUnsafe: {
|
|
|
981
1029
|
* console.log(`Published ${publishedCount} out of ${messages.length} messages`)
|
|
982
1030
|
* ```
|
|
983
1031
|
*
|
|
984
|
-
* @since 4.0.0
|
|
985
1032
|
* @category publishing
|
|
1033
|
+
* @since 4.0.0
|
|
986
1034
|
*/
|
|
987
1035
|
<A>(self: PubSub<A>, value: A): boolean
|
|
988
1036
|
} = dual(2, <A>(self: PubSub<A>, value: A): boolean => {
|
|
@@ -998,10 +1046,10 @@ export const publishUnsafe: {
|
|
|
998
1046
|
* Publishes all of the specified messages to the `PubSub`, returning whether they
|
|
999
1047
|
* were published to the `PubSub`.
|
|
1000
1048
|
*
|
|
1001
|
-
*
|
|
1049
|
+
* **Example** (Publishing multiple messages)
|
|
1050
|
+
*
|
|
1002
1051
|
* ```ts
|
|
1003
|
-
* import { Effect } from "effect"
|
|
1004
|
-
* import * as PubSub from "effect/PubSub"
|
|
1052
|
+
* import { Effect, Fiber, PubSub } from "effect"
|
|
1005
1053
|
*
|
|
1006
1054
|
* const program = Effect.gen(function*() {
|
|
1007
1055
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
@@ -1011,35 +1059,40 @@ export const publishUnsafe: {
|
|
|
1011
1059
|
* const allPublished = yield* PubSub.publishAll(pubsub, messages)
|
|
1012
1060
|
* console.log("All messages published:", allPublished) // true
|
|
1013
1061
|
*
|
|
1014
|
-
* // With a smaller capacity
|
|
1062
|
+
* // With a smaller capacity and an active subscription
|
|
1015
1063
|
* const smallPubsub = yield* PubSub.bounded<string>(2)
|
|
1016
1064
|
* const manyMessages = ["msg1", "msg2", "msg3", "msg4"]
|
|
1017
1065
|
*
|
|
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
1066
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1023
1067
|
* const subscription = yield* PubSub.subscribe(smallPubsub)
|
|
1024
|
-
*
|
|
1025
|
-
*
|
|
1026
|
-
*
|
|
1068
|
+
*
|
|
1069
|
+
* // Will suspend until space becomes available for all messages
|
|
1070
|
+
* const fiber = yield* Effect.forkChild(PubSub.publishAll(smallPubsub, manyMessages))
|
|
1071
|
+
*
|
|
1072
|
+
* const firstBatch = yield* PubSub.takeBetween(subscription, 2, 2)
|
|
1073
|
+
* console.log("First batch:", firstBatch) // ["msg1", "msg2"]
|
|
1074
|
+
*
|
|
1075
|
+
* const result = yield* Fiber.join(fiber)
|
|
1076
|
+
* console.log("All messages eventually published:", result) // true
|
|
1077
|
+
*
|
|
1078
|
+
* const secondBatch = yield* PubSub.takeAll(subscription)
|
|
1079
|
+
* console.log("Second batch:", secondBatch) // ["msg3", "msg4"]
|
|
1027
1080
|
* }))
|
|
1028
1081
|
* })
|
|
1029
1082
|
* ```
|
|
1030
1083
|
*
|
|
1031
|
-
* @since 2.0.0
|
|
1032
1084
|
* @category publishing
|
|
1085
|
+
* @since 2.0.0
|
|
1033
1086
|
*/
|
|
1034
1087
|
export const publishAll: {
|
|
1035
1088
|
/**
|
|
1036
1089
|
* Publishes all of the specified messages to the `PubSub`, returning whether they
|
|
1037
1090
|
* were published to the `PubSub`.
|
|
1038
1091
|
*
|
|
1039
|
-
*
|
|
1092
|
+
* **Example** (Publishing multiple messages)
|
|
1093
|
+
*
|
|
1040
1094
|
* ```ts
|
|
1041
|
-
* import { Effect } from "effect"
|
|
1042
|
-
* import * as PubSub from "effect/PubSub"
|
|
1095
|
+
* import { Effect, Fiber, PubSub } from "effect"
|
|
1043
1096
|
*
|
|
1044
1097
|
* const program = Effect.gen(function*() {
|
|
1045
1098
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
@@ -1049,35 +1102,40 @@ export const publishAll: {
|
|
|
1049
1102
|
* const allPublished = yield* PubSub.publishAll(pubsub, messages)
|
|
1050
1103
|
* console.log("All messages published:", allPublished) // true
|
|
1051
1104
|
*
|
|
1052
|
-
* // With a smaller capacity
|
|
1105
|
+
* // With a smaller capacity and an active subscription
|
|
1053
1106
|
* const smallPubsub = yield* PubSub.bounded<string>(2)
|
|
1054
1107
|
* const manyMessages = ["msg1", "msg2", "msg3", "msg4"]
|
|
1055
1108
|
*
|
|
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
1109
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1061
1110
|
* const subscription = yield* PubSub.subscribe(smallPubsub)
|
|
1062
|
-
*
|
|
1063
|
-
*
|
|
1064
|
-
*
|
|
1111
|
+
*
|
|
1112
|
+
* // Will suspend until space becomes available for all messages
|
|
1113
|
+
* const fiber = yield* Effect.forkChild(PubSub.publishAll(smallPubsub, manyMessages))
|
|
1114
|
+
*
|
|
1115
|
+
* const firstBatch = yield* PubSub.takeBetween(subscription, 2, 2)
|
|
1116
|
+
* console.log("First batch:", firstBatch) // ["msg1", "msg2"]
|
|
1117
|
+
*
|
|
1118
|
+
* const result = yield* Fiber.join(fiber)
|
|
1119
|
+
* console.log("All messages eventually published:", result) // true
|
|
1120
|
+
*
|
|
1121
|
+
* const secondBatch = yield* PubSub.takeAll(subscription)
|
|
1122
|
+
* console.log("Second batch:", secondBatch) // ["msg3", "msg4"]
|
|
1065
1123
|
* }))
|
|
1066
1124
|
* })
|
|
1067
1125
|
* ```
|
|
1068
1126
|
*
|
|
1069
|
-
* @since 2.0.0
|
|
1070
1127
|
* @category publishing
|
|
1128
|
+
* @since 2.0.0
|
|
1071
1129
|
*/
|
|
1072
1130
|
<A>(elements: Iterable<A>): (self: PubSub<A>) => Effect.Effect<boolean>
|
|
1073
1131
|
/**
|
|
1074
1132
|
* Publishes all of the specified messages to the `PubSub`, returning whether they
|
|
1075
1133
|
* were published to the `PubSub`.
|
|
1076
1134
|
*
|
|
1077
|
-
*
|
|
1135
|
+
* **Example** (Publishing multiple messages)
|
|
1136
|
+
*
|
|
1078
1137
|
* ```ts
|
|
1079
|
-
* import { Effect } from "effect"
|
|
1080
|
-
* import * as PubSub from "effect/PubSub"
|
|
1138
|
+
* import { Effect, Fiber, PubSub } from "effect"
|
|
1081
1139
|
*
|
|
1082
1140
|
* const program = Effect.gen(function*() {
|
|
1083
1141
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
@@ -1087,25 +1145,30 @@ export const publishAll: {
|
|
|
1087
1145
|
* const allPublished = yield* PubSub.publishAll(pubsub, messages)
|
|
1088
1146
|
* console.log("All messages published:", allPublished) // true
|
|
1089
1147
|
*
|
|
1090
|
-
* // With a smaller capacity
|
|
1148
|
+
* // With a smaller capacity and an active subscription
|
|
1091
1149
|
* const smallPubsub = yield* PubSub.bounded<string>(2)
|
|
1092
1150
|
* const manyMessages = ["msg1", "msg2", "msg3", "msg4"]
|
|
1093
1151
|
*
|
|
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
1152
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1099
1153
|
* const subscription = yield* PubSub.subscribe(smallPubsub)
|
|
1100
|
-
*
|
|
1101
|
-
*
|
|
1102
|
-
*
|
|
1154
|
+
*
|
|
1155
|
+
* // Will suspend until space becomes available for all messages
|
|
1156
|
+
* const fiber = yield* Effect.forkChild(PubSub.publishAll(smallPubsub, manyMessages))
|
|
1157
|
+
*
|
|
1158
|
+
* const firstBatch = yield* PubSub.takeBetween(subscription, 2, 2)
|
|
1159
|
+
* console.log("First batch:", firstBatch) // ["msg1", "msg2"]
|
|
1160
|
+
*
|
|
1161
|
+
* const result = yield* Fiber.join(fiber)
|
|
1162
|
+
* console.log("All messages eventually published:", result) // true
|
|
1163
|
+
*
|
|
1164
|
+
* const secondBatch = yield* PubSub.takeAll(subscription)
|
|
1165
|
+
* console.log("Second batch:", secondBatch) // ["msg3", "msg4"]
|
|
1103
1166
|
* }))
|
|
1104
1167
|
* })
|
|
1105
1168
|
* ```
|
|
1106
1169
|
*
|
|
1107
|
-
* @since 2.0.0
|
|
1108
1170
|
* @category publishing
|
|
1171
|
+
* @since 2.0.0
|
|
1109
1172
|
*/
|
|
1110
1173
|
<A>(self: PubSub<A>, elements: Iterable<A>): Effect.Effect<boolean>
|
|
1111
1174
|
} = dual(2, <A>(self: PubSub<A>, elements: Iterable<A>): Effect.Effect<boolean> =>
|
|
@@ -1131,21 +1194,22 @@ export const publishAll: {
|
|
|
1131
1194
|
* be evaluated multiple times within the scope to take a message from the `PubSub`
|
|
1132
1195
|
* each time.
|
|
1133
1196
|
*
|
|
1134
|
-
*
|
|
1197
|
+
* **Example** (Subscribing to messages)
|
|
1198
|
+
*
|
|
1135
1199
|
* ```ts
|
|
1136
1200
|
* import { Effect, PubSub } from "effect"
|
|
1137
1201
|
*
|
|
1138
1202
|
* const program = Effect.gen(function*() {
|
|
1139
1203
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
1140
1204
|
*
|
|
1141
|
-
* // Publish some messages
|
|
1142
|
-
* yield* PubSub.publish(pubsub, "Hello")
|
|
1143
|
-
* yield* PubSub.publish(pubsub, "World")
|
|
1144
|
-
*
|
|
1145
1205
|
* // Subscribe within a scope for automatic cleanup
|
|
1146
1206
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1147
1207
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1148
1208
|
*
|
|
1209
|
+
* // Publish some messages
|
|
1210
|
+
* yield* PubSub.publish(pubsub, "Hello")
|
|
1211
|
+
* yield* PubSub.publish(pubsub, "World")
|
|
1212
|
+
*
|
|
1149
1213
|
* // Take messages one by one
|
|
1150
1214
|
* const msg1 = yield* PubSub.take(subscription)
|
|
1151
1215
|
* const msg2 = yield* PubSub.take(subscription)
|
|
@@ -1154,13 +1218,13 @@ export const publishAll: {
|
|
|
1154
1218
|
* // Subscription is automatically cleaned up when scope exits
|
|
1155
1219
|
* }))
|
|
1156
1220
|
*
|
|
1157
|
-
* // Multiple subscribers can receive the same messages
|
|
1158
|
-
* yield* PubSub.publish(pubsub, "Broadcast")
|
|
1159
|
-
*
|
|
1160
1221
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1161
1222
|
* const sub1 = yield* PubSub.subscribe(pubsub)
|
|
1162
1223
|
* const sub2 = yield* PubSub.subscribe(pubsub)
|
|
1163
1224
|
*
|
|
1225
|
+
* // Multiple subscribers can receive the same messages
|
|
1226
|
+
* yield* PubSub.publish(pubsub, "Broadcast")
|
|
1227
|
+
*
|
|
1164
1228
|
* const [msg1, msg2] = yield* Effect.all([
|
|
1165
1229
|
* PubSub.take(sub1),
|
|
1166
1230
|
* PubSub.take(sub2)
|
|
@@ -1170,8 +1234,8 @@ export const publishAll: {
|
|
|
1170
1234
|
* })
|
|
1171
1235
|
* ```
|
|
1172
1236
|
*
|
|
1173
|
-
* @since 2.0.0
|
|
1174
1237
|
* @category subscription
|
|
1238
|
+
* @since 2.0.0
|
|
1175
1239
|
*/
|
|
1176
1240
|
export const subscribe = <A>(self: PubSub<A>): Effect.Effect<Subscription<A>, never, Scope.Scope> =>
|
|
1177
1241
|
Effect.uninterruptible(
|
|
@@ -1212,7 +1276,8 @@ const unsubscribe = <A>(self: Subscription<A>): Effect.Effect<void> =>
|
|
|
1212
1276
|
* Takes a single message from the subscription. If no messages are available,
|
|
1213
1277
|
* this will suspend until a message becomes available.
|
|
1214
1278
|
*
|
|
1215
|
-
*
|
|
1279
|
+
* **Example** (Taking a message)
|
|
1280
|
+
*
|
|
1216
1281
|
* ```ts
|
|
1217
1282
|
* import { Effect, Fiber, PubSub } from "effect"
|
|
1218
1283
|
*
|
|
@@ -1237,8 +1302,8 @@ const unsubscribe = <A>(self: Subscription<A>): Effect.Effect<void> =>
|
|
|
1237
1302
|
* })
|
|
1238
1303
|
* ```
|
|
1239
1304
|
*
|
|
1240
|
-
* @since 4.0.0
|
|
1241
1305
|
* @category subscription
|
|
1306
|
+
* @since 4.0.0
|
|
1242
1307
|
*/
|
|
1243
1308
|
export const take = <A>(self: Subscription<A>): Effect.Effect<A> =>
|
|
1244
1309
|
Effect.suspend(() => {
|
|
@@ -1264,19 +1329,20 @@ export const take = <A>(self: Subscription<A>): Effect.Effect<A> =>
|
|
|
1264
1329
|
* Takes all available messages from the subscription, suspending if no items
|
|
1265
1330
|
* are available.
|
|
1266
1331
|
*
|
|
1267
|
-
*
|
|
1332
|
+
* **Example** (Taking all available messages)
|
|
1333
|
+
*
|
|
1268
1334
|
* ```ts
|
|
1269
1335
|
* import { Effect, PubSub } from "effect"
|
|
1270
1336
|
*
|
|
1271
1337
|
* const program = Effect.gen(function*() {
|
|
1272
1338
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
1273
1339
|
*
|
|
1274
|
-
* // Publish multiple messages
|
|
1275
|
-
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
|
|
1276
|
-
*
|
|
1277
1340
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1278
1341
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1279
1342
|
*
|
|
1343
|
+
* // Publish multiple messages
|
|
1344
|
+
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
|
|
1345
|
+
*
|
|
1280
1346
|
* // Take all available messages at once
|
|
1281
1347
|
* const allMessages = yield* PubSub.takeAll(subscription)
|
|
1282
1348
|
* console.log("All messages:", allMessages) // ["msg1", "msg2", "msg3"]
|
|
@@ -1284,8 +1350,8 @@ export const take = <A>(self: Subscription<A>): Effect.Effect<A> =>
|
|
|
1284
1350
|
* })
|
|
1285
1351
|
* ```
|
|
1286
1352
|
*
|
|
1287
|
-
* @since 4.0.0
|
|
1288
1353
|
* @category subscription
|
|
1354
|
+
* @since 4.0.0
|
|
1289
1355
|
*/
|
|
1290
1356
|
export const takeAll = <A>(self: Subscription<A>): Effect.Effect<Arr.NonEmptyArray<A>> =>
|
|
1291
1357
|
Effect.suspend(function loop(value?: [A]): Effect.Effect<Arr.NonEmptyArray<A>> {
|
|
@@ -1334,20 +1400,20 @@ const pollForItem = <A>(self: Subscription<A>) => {
|
|
|
1334
1400
|
/**
|
|
1335
1401
|
* Takes up to the specified number of messages from the subscription without suspending.
|
|
1336
1402
|
*
|
|
1337
|
-
*
|
|
1403
|
+
* **Example** (Taking up to a maximum number of messages)
|
|
1404
|
+
*
|
|
1338
1405
|
* ```ts
|
|
1339
|
-
* import { Effect } from "effect"
|
|
1340
|
-
* import * as PubSub from "effect/PubSub"
|
|
1406
|
+
* import { Effect, PubSub } from "effect"
|
|
1341
1407
|
*
|
|
1342
1408
|
* const program = Effect.gen(function*() {
|
|
1343
1409
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
1344
1410
|
*
|
|
1345
|
-
* // Publish multiple messages
|
|
1346
|
-
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
|
|
1347
|
-
*
|
|
1348
1411
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1349
1412
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1350
1413
|
*
|
|
1414
|
+
* // Publish multiple messages
|
|
1415
|
+
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
|
|
1416
|
+
*
|
|
1351
1417
|
* // Take up to 3 messages
|
|
1352
1418
|
* const upTo3 = yield* PubSub.takeUpTo(subscription, 3)
|
|
1353
1419
|
* console.log("Up to 3:", upTo3) // ["msg1", "msg2", "msg3"]
|
|
@@ -1363,27 +1429,27 @@ const pollForItem = <A>(self: Subscription<A>) => {
|
|
|
1363
1429
|
* })
|
|
1364
1430
|
* ```
|
|
1365
1431
|
*
|
|
1366
|
-
* @since 4.0.0
|
|
1367
1432
|
* @category subscription
|
|
1433
|
+
* @since 4.0.0
|
|
1368
1434
|
*/
|
|
1369
1435
|
export const takeUpTo: {
|
|
1370
1436
|
/**
|
|
1371
1437
|
* Takes up to the specified number of messages from the subscription without suspending.
|
|
1372
1438
|
*
|
|
1373
|
-
*
|
|
1439
|
+
* **Example** (Taking up to a maximum number of messages)
|
|
1440
|
+
*
|
|
1374
1441
|
* ```ts
|
|
1375
|
-
* import { Effect } from "effect"
|
|
1376
|
-
* import * as PubSub from "effect/PubSub"
|
|
1442
|
+
* import { Effect, PubSub } from "effect"
|
|
1377
1443
|
*
|
|
1378
1444
|
* const program = Effect.gen(function*() {
|
|
1379
1445
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
1380
1446
|
*
|
|
1381
|
-
* // Publish multiple messages
|
|
1382
|
-
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
|
|
1383
|
-
*
|
|
1384
1447
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1385
1448
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1386
1449
|
*
|
|
1450
|
+
* // Publish multiple messages
|
|
1451
|
+
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
|
|
1452
|
+
*
|
|
1387
1453
|
* // Take up to 3 messages
|
|
1388
1454
|
* const upTo3 = yield* PubSub.takeUpTo(subscription, 3)
|
|
1389
1455
|
* console.log("Up to 3:", upTo3) // ["msg1", "msg2", "msg3"]
|
|
@@ -1399,27 +1465,27 @@ export const takeUpTo: {
|
|
|
1399
1465
|
* })
|
|
1400
1466
|
* ```
|
|
1401
1467
|
*
|
|
1402
|
-
* @since 4.0.0
|
|
1403
1468
|
* @category subscription
|
|
1469
|
+
* @since 4.0.0
|
|
1404
1470
|
*/
|
|
1405
1471
|
(max: number): <A>(self: Subscription<A>) => Effect.Effect<Array<A>>
|
|
1406
1472
|
/**
|
|
1407
1473
|
* Takes up to the specified number of messages from the subscription without suspending.
|
|
1408
1474
|
*
|
|
1409
|
-
*
|
|
1475
|
+
* **Example** (Taking up to a maximum number of messages)
|
|
1476
|
+
*
|
|
1410
1477
|
* ```ts
|
|
1411
|
-
* import { Effect } from "effect"
|
|
1412
|
-
* import * as PubSub from "effect/PubSub"
|
|
1478
|
+
* import { Effect, PubSub } from "effect"
|
|
1413
1479
|
*
|
|
1414
1480
|
* const program = Effect.gen(function*() {
|
|
1415
1481
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
1416
1482
|
*
|
|
1417
|
-
* // Publish multiple messages
|
|
1418
|
-
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
|
|
1419
|
-
*
|
|
1420
1483
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1421
1484
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1422
1485
|
*
|
|
1486
|
+
* // Publish multiple messages
|
|
1487
|
+
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
|
|
1488
|
+
*
|
|
1423
1489
|
* // Take up to 3 messages
|
|
1424
1490
|
* const upTo3 = yield* PubSub.takeUpTo(subscription, 3)
|
|
1425
1491
|
* console.log("Up to 3:", upTo3) // ["msg1", "msg2", "msg3"]
|
|
@@ -1435,8 +1501,8 @@ export const takeUpTo: {
|
|
|
1435
1501
|
* })
|
|
1436
1502
|
* ```
|
|
1437
1503
|
*
|
|
1438
|
-
* @since 4.0.0
|
|
1439
1504
|
* @category subscription
|
|
1505
|
+
* @since 4.0.0
|
|
1440
1506
|
*/
|
|
1441
1507
|
<A>(self: Subscription<A>, max: number): Effect.Effect<Array<A>>
|
|
1442
1508
|
} = dual(2, <A>(self: Subscription<A>, max: number): Effect.Effect<Array<A>> =>
|
|
@@ -1460,7 +1526,8 @@ export const takeUpTo: {
|
|
|
1460
1526
|
* Takes between the specified minimum and maximum number of messages from the subscription.
|
|
1461
1527
|
* Will suspend if the minimum number is not immediately available.
|
|
1462
1528
|
*
|
|
1463
|
-
*
|
|
1529
|
+
* **Example** (Taking between a minimum and maximum)
|
|
1530
|
+
*
|
|
1464
1531
|
* ```ts
|
|
1465
1532
|
* import { Effect, Fiber, PubSub } from "effect"
|
|
1466
1533
|
*
|
|
@@ -1485,15 +1552,16 @@ export const takeUpTo: {
|
|
|
1485
1552
|
* })
|
|
1486
1553
|
* ```
|
|
1487
1554
|
*
|
|
1488
|
-
* @since 4.0.0
|
|
1489
1555
|
* @category subscription
|
|
1556
|
+
* @since 4.0.0
|
|
1490
1557
|
*/
|
|
1491
1558
|
export const takeBetween: {
|
|
1492
1559
|
/**
|
|
1493
1560
|
* Takes between the specified minimum and maximum number of messages from the subscription.
|
|
1494
1561
|
* Will suspend if the minimum number is not immediately available.
|
|
1495
1562
|
*
|
|
1496
|
-
*
|
|
1563
|
+
* **Example** (Taking between a minimum and maximum)
|
|
1564
|
+
*
|
|
1497
1565
|
* ```ts
|
|
1498
1566
|
* import { Effect, Fiber, PubSub } from "effect"
|
|
1499
1567
|
*
|
|
@@ -1518,15 +1586,16 @@ export const takeBetween: {
|
|
|
1518
1586
|
* })
|
|
1519
1587
|
* ```
|
|
1520
1588
|
*
|
|
1521
|
-
* @since 4.0.0
|
|
1522
1589
|
* @category subscription
|
|
1590
|
+
* @since 4.0.0
|
|
1523
1591
|
*/
|
|
1524
1592
|
(min: number, max: number): <A>(self: Subscription<A>) => Effect.Effect<Array<A>>
|
|
1525
1593
|
/**
|
|
1526
1594
|
* Takes between the specified minimum and maximum number of messages from the subscription.
|
|
1527
1595
|
* Will suspend if the minimum number is not immediately available.
|
|
1528
1596
|
*
|
|
1529
|
-
*
|
|
1597
|
+
* **Example** (Taking between a minimum and maximum)
|
|
1598
|
+
*
|
|
1530
1599
|
* ```ts
|
|
1531
1600
|
* import { Effect, Fiber, PubSub } from "effect"
|
|
1532
1601
|
*
|
|
@@ -1551,8 +1620,8 @@ export const takeBetween: {
|
|
|
1551
1620
|
* })
|
|
1552
1621
|
* ```
|
|
1553
1622
|
*
|
|
1554
|
-
* @since 4.0.0
|
|
1555
1623
|
* @category subscription
|
|
1624
|
+
* @since 4.0.0
|
|
1556
1625
|
*/
|
|
1557
1626
|
<A>(self: Subscription<A>, min: number, max: number): Effect.Effect<Array<A>>
|
|
1558
1627
|
} = dual(
|
|
@@ -1595,22 +1664,26 @@ const takeRemainderLoop = <A>(
|
|
|
1595
1664
|
}
|
|
1596
1665
|
|
|
1597
1666
|
/**
|
|
1598
|
-
*
|
|
1667
|
+
* Synchronously checks how many messages can be taken from a subscription.
|
|
1668
|
+
*
|
|
1669
|
+
* Returns `Option.some(count)` while the subscription is active, including
|
|
1670
|
+
* replay-buffered messages, and `Option.none()` after the subscription has
|
|
1671
|
+
* been shut down. Prefer `remaining` in effectful code.
|
|
1672
|
+
*
|
|
1673
|
+
* **Example** (Checking remaining messages)
|
|
1599
1674
|
*
|
|
1600
|
-
* @example
|
|
1601
1675
|
* ```ts
|
|
1602
|
-
* import { Effect } from "effect"
|
|
1603
|
-
* import * as PubSub from "effect/PubSub"
|
|
1676
|
+
* import { Effect, PubSub } from "effect"
|
|
1604
1677
|
*
|
|
1605
1678
|
* const program = Effect.gen(function*() {
|
|
1606
1679
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
1607
1680
|
*
|
|
1608
|
-
* // Publish some messages
|
|
1609
|
-
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
|
|
1610
|
-
*
|
|
1611
1681
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
1612
1682
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1613
1683
|
*
|
|
1684
|
+
* // Publish some messages
|
|
1685
|
+
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
|
|
1686
|
+
*
|
|
1614
1687
|
* // Check how many messages are available
|
|
1615
1688
|
* const count = yield* PubSub.remaining(subscription)
|
|
1616
1689
|
* console.log("Messages available:", count) // 3
|
|
@@ -1624,8 +1697,8 @@ const takeRemainderLoop = <A>(
|
|
|
1624
1697
|
* })
|
|
1625
1698
|
* ```
|
|
1626
1699
|
*
|
|
1627
|
-
* @since 4.0.0
|
|
1628
1700
|
* @category getters
|
|
1701
|
+
* @since 4.0.0
|
|
1629
1702
|
*/
|
|
1630
1703
|
export const remaining = <A>(self: Subscription<A>): Effect.Effect<number> =>
|
|
1631
1704
|
Effect.suspend(() =>
|
|
@@ -1637,7 +1710,8 @@ export const remaining = <A>(self: Subscription<A>): Effect.Effect<number> =>
|
|
|
1637
1710
|
/**
|
|
1638
1711
|
* Returns the number of messages currently available in the subscription.
|
|
1639
1712
|
*
|
|
1640
|
-
*
|
|
1713
|
+
* **Example** (Checking remaining messages synchronously)
|
|
1714
|
+
*
|
|
1641
1715
|
* ```ts
|
|
1642
1716
|
* import { PubSub } from "effect"
|
|
1643
1717
|
*
|
|
@@ -1657,8 +1731,8 @@ export const remaining = <A>(self: Subscription<A>): Effect.Effect<number> =>
|
|
|
1657
1731
|
* }
|
|
1658
1732
|
* ```
|
|
1659
1733
|
*
|
|
1660
|
-
* @since 4.0.0
|
|
1661
1734
|
* @category getters
|
|
1735
|
+
* @since 4.0.0
|
|
1662
1736
|
*/
|
|
1663
1737
|
export const remainingUnsafe = <A>(self: Subscription<A>): Option.Option<number> => {
|
|
1664
1738
|
if (self.shutdownFlag.current) {
|
|
@@ -2545,8 +2619,8 @@ const ensureCapacity = (capacity: number): void => {
|
|
|
2545
2619
|
* risk that a slow subscriber will slow down the rate at which messages
|
|
2546
2620
|
* are published and received by other subscribers.
|
|
2547
2621
|
*
|
|
2548
|
-
* @since 4.0.0
|
|
2549
2622
|
* @category models
|
|
2623
|
+
* @since 4.0.0
|
|
2550
2624
|
*/
|
|
2551
2625
|
export class BackPressureStrategy<in out A> implements PubSub.Strategy<A> {
|
|
2552
2626
|
publishers: MutableList.MutableList<
|
|
@@ -2648,10 +2722,10 @@ export class BackPressureStrategy<in out A> implements PubSub.Strategy<A> {
|
|
|
2648
2722
|
* other subscribers and that subscribers may not receive all messages
|
|
2649
2723
|
* published to the `PubSub` while they are subscribed.
|
|
2650
2724
|
*
|
|
2651
|
-
*
|
|
2725
|
+
* **Example** (Using a dropping strategy)
|
|
2726
|
+
*
|
|
2652
2727
|
* ```ts
|
|
2653
|
-
* import { Effect } from "effect"
|
|
2654
|
-
* import * as PubSub from "effect/PubSub"
|
|
2728
|
+
* import { Effect, PubSub } from "effect"
|
|
2655
2729
|
*
|
|
2656
2730
|
* const program = Effect.gen(function*() {
|
|
2657
2731
|
* // Create PubSub with dropping strategy
|
|
@@ -2663,24 +2737,25 @@ export class BackPressureStrategy<in out A> implements PubSub.Strategy<A> {
|
|
|
2663
2737
|
* strategy: () => new PubSub.DroppingStrategy()
|
|
2664
2738
|
* })
|
|
2665
2739
|
*
|
|
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
2740
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
2675
2741
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
2742
|
+
*
|
|
2743
|
+
* // Fill the PubSub
|
|
2744
|
+
* const pub1 = yield* PubSub.publish(pubsub, "msg1") // true
|
|
2745
|
+
* const pub2 = yield* PubSub.publish(pubsub, "msg2") // true
|
|
2746
|
+
* const pub3 = yield* PubSub.publish(pubsub, "msg3") // false (dropped)
|
|
2747
|
+
*
|
|
2748
|
+
* console.log("Publication results:", [pub1, pub2, pub3]) // [true, true, false]
|
|
2749
|
+
*
|
|
2750
|
+
* // Subscribers will only see the first two messages
|
|
2676
2751
|
* const messages = yield* PubSub.takeAll(subscription)
|
|
2677
2752
|
* console.log("Received messages:", messages) // ["msg1", "msg2"]
|
|
2678
2753
|
* }))
|
|
2679
2754
|
* })
|
|
2680
2755
|
* ```
|
|
2681
2756
|
*
|
|
2682
|
-
* @since 4.0.0
|
|
2683
2757
|
* @category models
|
|
2758
|
+
* @since 4.0.0
|
|
2684
2759
|
*/
|
|
2685
2760
|
export class DroppingStrategy<in out A> implements PubSub.Strategy<A> {
|
|
2686
2761
|
get shutdown(): Effect.Effect<void> {
|
|
@@ -2724,10 +2799,10 @@ export class DroppingStrategy<in out A> implements PubSub.Strategy<A> {
|
|
|
2724
2799
|
* subscribers. However, it creates the risk that a slow subscriber will
|
|
2725
2800
|
* not receive some messages published to the `PubSub` while it is subscribed.
|
|
2726
2801
|
*
|
|
2727
|
-
*
|
|
2802
|
+
* **Example** (Using a sliding strategy)
|
|
2803
|
+
*
|
|
2728
2804
|
* ```ts
|
|
2729
|
-
* import { Effect } from "effect"
|
|
2730
|
-
* import * as PubSub from "effect/PubSub"
|
|
2805
|
+
* import { Effect, PubSub } from "effect"
|
|
2731
2806
|
*
|
|
2732
2807
|
* const program = Effect.gen(function*() {
|
|
2733
2808
|
* // Create PubSub with sliding strategy
|
|
@@ -2739,23 +2814,24 @@ export class DroppingStrategy<in out A> implements PubSub.Strategy<A> {
|
|
|
2739
2814
|
* strategy: () => new PubSub.SlidingStrategy()
|
|
2740
2815
|
* })
|
|
2741
2816
|
*
|
|
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
2817
|
* yield* Effect.scoped(Effect.gen(function*() {
|
|
2750
2818
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
2819
|
+
*
|
|
2820
|
+
* // Publish messages that exceed capacity
|
|
2821
|
+
* yield* PubSub.publish(pubsub, "msg1") // stored
|
|
2822
|
+
* yield* PubSub.publish(pubsub, "msg2") // stored
|
|
2823
|
+
* yield* PubSub.publish(pubsub, "msg3") // "msg1" evicted, "msg3" stored
|
|
2824
|
+
* yield* PubSub.publish(pubsub, "msg4") // "msg2" evicted, "msg4" stored
|
|
2825
|
+
*
|
|
2826
|
+
* // Subscribers will see the most recent messages
|
|
2751
2827
|
* const messages = yield* PubSub.takeAll(subscription)
|
|
2752
2828
|
* console.log("Recent messages:", messages) // ["msg3", "msg4"]
|
|
2753
2829
|
* }))
|
|
2754
2830
|
* })
|
|
2755
2831
|
* ```
|
|
2756
2832
|
*
|
|
2757
|
-
* @since 4.0.0
|
|
2758
2833
|
* @category models
|
|
2834
|
+
* @since 4.0.0
|
|
2759
2835
|
*/
|
|
2760
2836
|
export class SlidingStrategy<in out A> implements PubSub.Strategy<A> {
|
|
2761
2837
|
get shutdown(): Effect.Effect<void> {
|