effect 4.0.1 → 4.0.2
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/ai-docs/package.json +2 -2
- package/ai-docs/tsconfig.json +2 -1
- package/dist/Array.d.ts +339 -0
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +143 -3
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +88 -0
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +44 -0
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +68 -0
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +36 -0
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +34 -0
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Boolean.js +18 -0
- package/dist/Boolean.js.map +1 -1
- package/dist/Brand.d.ts +9 -0
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +6 -0
- package/dist/Brand.js.map +1 -1
- package/dist/ByteSize.d.ts +86 -0
- package/dist/ByteSize.d.ts.map +1 -1
- package/dist/ByteSize.js +51 -0
- package/dist/ByteSize.js.map +1 -1
- package/dist/Cache.d.ts +38 -1
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +27 -7
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +82 -0
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +60 -0
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +327 -4
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +168 -8
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +11 -0
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js +6 -0
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +192 -0
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +78 -0
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +7 -0
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js +5 -0
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +10 -0
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +8 -0
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +52 -12
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +55 -5
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +28 -0
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +19 -0
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +22 -0
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js +20 -0
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +50 -0
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +21 -0
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +16 -0
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +26 -1
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +5 -0
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +3 -0
- package/dist/Crypto.js.map +1 -1
- package/dist/Data.d.ts +13 -0
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +5 -0
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +171 -0
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +89 -0
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +51 -0
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +22 -0
- package/dist/Deferred.js.map +1 -1
- package/dist/Differ.d.ts +2 -0
- package/dist/Differ.d.ts.map +1 -1
- package/dist/Differ.js +1 -0
- package/dist/Duration.d.ts +90 -0
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +53 -0
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +527 -0
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +240 -5
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.d.ts +4 -0
- package/dist/Effectable.d.ts.map +1 -1
- package/dist/Effectable.js +3 -0
- package/dist/Effectable.js.map +1 -1
- package/dist/Equal.d.ts +8 -0
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +9 -1
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +21 -0
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +16 -0
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +36 -0
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +11 -0
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +49 -8
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +7 -0
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +40 -0
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +27 -0
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +20 -0
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +11 -0
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +21 -0
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +21 -4
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +35 -0
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +19 -0
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +20 -0
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +14 -0
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +15 -0
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +8 -0
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +55 -0
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +28 -0
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +3 -0
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +39 -1
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +30 -0
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +20 -0
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +247 -12
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +149 -28
- package/dist/Graph.js.map +1 -1
- package/dist/HKT.d.ts +5 -0
- package/dist/HKT.d.ts.map +1 -1
- package/dist/Hash.d.ts +14 -0
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +12 -0
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +91 -0
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +39 -0
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts +17 -0
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +9 -0
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +49 -0
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js +19 -0
- package/dist/HashSet.js.map +1 -1
- package/dist/Inspectable.d.ts +7 -0
- package/dist/Inspectable.d.ts.map +1 -1
- package/dist/Inspectable.js +6 -0
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +127 -0
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +51 -0
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +4 -0
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +3 -0
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +5 -0
- package/dist/JsonPointer.d.ts.map +1 -1
- package/dist/JsonPointer.js +5 -0
- 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 +11 -0
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +14 -0
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +10 -0
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +100 -0
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +45 -1
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +7 -0
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +4 -0
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts +5 -0
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +3 -0
- package/dist/LayerRef.js.map +1 -1
- package/dist/LogLevel.d.ts +20 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +9 -0
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +25 -0
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +30 -4
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +5 -0
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +9 -1
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +51 -0
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +39 -0
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +59 -0
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +31 -0
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +32 -0
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +16 -0
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +16 -0
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +10 -0
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +20 -0
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +18 -0
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +31 -0
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +17 -0
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +9 -0
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +6 -0
- package/dist/Newtype.js.map +1 -1
- package/dist/NonEmptyIterable.d.ts +4 -0
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/NonEmptyIterable.js +2 -0
- package/dist/NonEmptyIterable.js.map +1 -1
- package/dist/Number.d.ts +61 -0
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +31 -0
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +41 -0
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +20 -0
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +134 -0
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +61 -0
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +29 -0
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +24 -0
- package/dist/Order.js.map +1 -1
- package/dist/Ordering.d.ts +7 -0
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/Ordering.js +3 -0
- package/dist/Ordering.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +24 -0
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +47 -21
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +6 -0
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +4 -0
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +7 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +5 -0
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +8 -0
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +7 -0
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +19 -0
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +8 -1
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +84 -0
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +48 -0
- package/dist/Predicate.js.map +1 -1
- package/dist/PrimaryKey.d.ts +5 -0
- package/dist/PrimaryKey.d.ts.map +1 -1
- package/dist/PrimaryKey.js +4 -0
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +67 -5
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +60 -8
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +20 -0
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +10 -0
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +60 -0
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +58 -8
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +13 -0
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +9 -0
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +23 -0
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +8 -0
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +6 -0
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js +3 -0
- package/dist/RcRef.js.map +1 -1
- package/dist/Record.d.ts +100 -0
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +43 -0
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +6 -0
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +4 -0
- package/dist/Redactable.js.map +1 -1
- package/dist/Redacted.d.ts +8 -0
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +6 -0
- package/dist/Redacted.js.map +1 -1
- package/dist/Reducer.d.ts +4 -0
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +3 -0
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +20 -0
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +16 -0
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +21 -0
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +19 -0
- package/dist/References.js.map +1 -1
- package/dist/RegExp.d.ts +3 -0
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/RegExp.js +4 -0
- package/dist/RegExp.js.map +1 -1
- package/dist/Request.d.ts +32 -0
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +12 -0
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +42 -0
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +27 -6
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.d.ts +6 -0
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +6 -0
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +91 -0
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +41 -0
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +9 -0
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +7 -0
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +57 -0
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +32 -0
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +7 -0
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +5 -0
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +496 -1
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +280 -1
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +107 -0
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +81 -1
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +69 -2
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +63 -4
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +33 -0
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +18 -0
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +25 -0
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +26 -0
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +147 -0
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +99 -0
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +53 -0
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +46 -0
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +19 -0
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +12 -0
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +34 -0
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +26 -3
- package/dist/ScopedCache.js.map +1 -1
- package/dist/ScopedRef.d.ts +9 -0
- package/dist/ScopedRef.d.ts.map +1 -1
- package/dist/ScopedRef.js +6 -0
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +26 -0
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +10 -0
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +125 -1
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +75 -1
- package/dist/Sink.js.map +1 -1
- package/dist/StandardSchema.d.ts +1 -0
- package/dist/StandardSchema.d.ts.map +1 -1
- package/dist/StandardSchema.js +1 -0
- package/dist/Stdio.d.ts +7 -0
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +5 -0
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +558 -0
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +261 -13
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +87 -0
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +61 -0
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +46 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +19 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +65 -0
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +25 -0
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Symbol.d.ts +2 -0
- package/dist/Symbol.d.ts.map +1 -1
- package/dist/Symbol.js +2 -0
- package/dist/Symbol.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +63 -0
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +24 -0
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Take.d.ts +3 -0
- package/dist/Take.d.ts.map +1 -1
- package/dist/Take.js +1 -0
- package/dist/Take.js.map +1 -1
- package/dist/Terminal.d.ts +8 -0
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +4 -0
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +23 -0
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +12 -0
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +68 -0
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +28 -0
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +38 -0
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +18 -0
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +52 -0
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +23 -0
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +15 -0
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +8 -0
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +83 -0
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +52 -7
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +51 -0
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +29 -4
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +30 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +22 -1
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +25 -0
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +19 -0
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +51 -0
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +30 -0
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +24 -0
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +32 -18
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +14 -0
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +7 -0
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +25 -0
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +29 -13
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +25 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +12 -0
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +36 -0
- package/dist/Types.d.ts.map +1 -1
- package/dist/Types.js +1 -0
- package/dist/UndefinedOr.d.ts +15 -0
- package/dist/UndefinedOr.d.ts.map +1 -1
- package/dist/UndefinedOr.js +9 -0
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +15 -0
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js +2 -0
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +4 -0
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +1 -0
- package/dist/Utils.js.map +1 -1
- package/dist/Version.d.ts +26 -0
- package/dist/Version.d.ts.map +1 -0
- package/dist/Version.js +36 -0
- package/dist/Version.js.map +1 -0
- package/dist/ai/Chat.js +1 -1
- package/dist/ai/Chat.js.map +1 -1
- package/dist/ai/DecisionModel.d.ts +22 -0
- package/dist/ai/DecisionModel.d.ts.map +1 -1
- package/dist/ai/DecisionModel.js +22 -4
- package/dist/ai/DecisionModel.js.map +1 -1
- package/dist/ai/LanguageModel.d.ts.map +1 -1
- package/dist/ai/LanguageModel.js +14 -13
- package/dist/ai/LanguageModel.js.map +1 -1
- package/dist/ai/McpServer.d.ts +32 -11
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +213 -169
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/Telemetry.d.ts +49 -41
- package/dist/ai/Telemetry.d.ts.map +1 -1
- package/dist/ai/Telemetry.js +6 -8
- package/dist/ai/Telemetry.js.map +1 -1
- package/dist/ai/internal/mcpRuntime.js +79 -46
- package/dist/ai/internal/mcpRuntime.js.map +1 -1
- package/dist/ai/internal/mcpStatefulRuntime.js +1 -0
- package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
- package/dist/cluster/K8sHttpClient.d.ts.map +1 -1
- package/dist/cluster/K8sHttpClient.js +5 -2
- package/dist/cluster/K8sHttpClient.js.map +1 -1
- package/dist/encoding/Base64.d.ts +4 -0
- package/dist/encoding/Base64.d.ts.map +1 -1
- package/dist/encoding/Base64.js +4 -0
- package/dist/encoding/Base64.js.map +1 -1
- package/dist/encoding/Base64Url.d.ts +4 -0
- package/dist/encoding/Base64Url.d.ts.map +1 -1
- package/dist/encoding/Base64Url.js +4 -0
- package/dist/encoding/Base64Url.js.map +1 -1
- package/dist/encoding/EncodingError.d.ts +4 -0
- package/dist/encoding/EncodingError.d.ts.map +1 -1
- package/dist/encoding/EncodingError.js +4 -0
- package/dist/encoding/EncodingError.js.map +1 -1
- package/dist/encoding/Hex.d.ts +5 -0
- package/dist/encoding/Hex.d.ts.map +1 -1
- package/dist/encoding/Hex.js +5 -0
- package/dist/encoding/Hex.js.map +1 -1
- package/dist/encoding/Toml.js +2 -2
- package/dist/encoding/Toml.js.map +1 -1
- package/dist/encoding/Yaml.d.ts.map +1 -1
- package/dist/encoding/Yaml.js +6 -4
- package/dist/encoding/Yaml.js.map +1 -1
- package/dist/encoding/index.d.ts +4 -0
- package/dist/encoding/index.d.ts.map +1 -1
- package/dist/encoding/index.js +4 -0
- package/dist/encoding/index.js.map +1 -1
- package/dist/eventlog/SqlEventJournal.js +8 -4
- package/dist/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +27 -10
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.js +49 -7
- package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/http/Headers.d.ts +3 -1
- package/dist/http/Headers.d.ts.map +1 -1
- package/dist/http/Headers.js +4 -2
- package/dist/http/Headers.js.map +1 -1
- package/dist/http/HttpClient.d.ts +9 -0
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +40 -21
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpClientResponse.js +3 -1
- package/dist/http/HttpClientResponse.js.map +1 -1
- package/dist/http/HttpEffect.d.ts +3 -0
- package/dist/http/HttpEffect.d.ts.map +1 -1
- package/dist/http/HttpEffect.js +5 -2
- package/dist/http/HttpEffect.js.map +1 -1
- package/dist/http/HttpMiddleware.d.ts +17 -0
- package/dist/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/http/HttpMiddleware.js +56 -39
- package/dist/http/HttpMiddleware.js.map +1 -1
- package/dist/http/HttpServer.d.ts +1 -1
- package/dist/http/HttpServer.d.ts.map +1 -1
- package/dist/http/internal/tracing.d.ts +2 -0
- package/dist/http/internal/tracing.d.ts.map +1 -0
- package/dist/http/internal/tracing.js +37 -0
- package/dist/http/internal/tracing.js.map +1 -0
- package/dist/http-api/HttpApiBuilder.js +2 -1
- package/dist/http-api/HttpApiBuilder.js.map +1 -1
- package/dist/http-api/HttpApiClient.d.ts +12 -3
- package/dist/http-api/HttpApiClient.d.ts.map +1 -1
- package/dist/http-api/HttpApiClient.js.map +1 -1
- package/dist/http-api/HttpApiError.d.ts +4 -3
- package/dist/http-api/HttpApiError.d.ts.map +1 -1
- package/dist/http-api/HttpApiError.js +7 -4
- package/dist/http-api/HttpApiError.js.map +1 -1
- package/dist/http-api/HttpApiSecurity.d.ts +8 -8
- package/dist/http-api/HttpApiSecurity.js +8 -8
- package/dist/index.d.ts +155 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +155 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/arbitrary/array.js +3 -3
- package/dist/internal/arbitrary/array.js.map +1 -1
- package/dist/internal/arbitrary/model.js +26 -11
- package/dist/internal/arbitrary/model.js.map +1 -1
- package/dist/internal/arbitrary/runner.js +8 -8
- package/dist/internal/arbitrary/runner.js.map +1 -1
- package/dist/internal/arbitrary/schema.js +4 -5
- package/dist/internal/arbitrary/schema.js.map +1 -1
- package/dist/internal/effect.js +41 -39
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/schedule.js +7 -5
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/standardSchema.js +2 -2
- package/dist/internal/schema/standardSchema.js.map +1 -1
- package/dist/internal/version.d.ts +2 -0
- package/dist/internal/version.d.ts.map +1 -0
- package/dist/internal/version.js +3 -0
- package/dist/internal/version.js.map +1 -0
- package/dist/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/observability/OtlpExporter.js +5 -6
- package/dist/observability/OtlpExporter.js.map +1 -1
- package/dist/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/observability/OtlpLogger.js +23 -27
- package/dist/observability/OtlpLogger.js.map +1 -1
- package/dist/observability/OtlpMetrics.d.ts +5 -3
- package/dist/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/observability/OtlpMetrics.js +21 -94
- package/dist/observability/OtlpMetrics.js.map +1 -1
- package/dist/observability/OtlpResource.d.ts +4 -3
- package/dist/observability/OtlpResource.d.ts.map +1 -1
- package/dist/observability/OtlpResource.js +20 -23
- package/dist/observability/OtlpResource.js.map +1 -1
- package/dist/observability/OtlpTracer.d.ts +1 -0
- package/dist/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/observability/OtlpTracer.js +32 -36
- package/dist/observability/OtlpTracer.js.map +1 -1
- package/dist/observability/internal/otlpProtobuf.js +32 -1
- package/dist/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/reactivity/AsyncResult.d.ts +1 -1
- package/dist/reactivity/Atom.d.ts +5 -5
- package/dist/reactivity/Atom.d.ts.map +1 -1
- package/dist/reactivity/Atom.js +9 -5
- package/dist/reactivity/Atom.js.map +1 -1
- package/dist/reactivity/AtomHttpApi.d.ts +2 -2
- package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/reactivity/AtomRegistry.d.ts +8 -0
- package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/reactivity/AtomRegistry.js.map +1 -1
- package/dist/rpc/RpcClient.d.ts +21 -3
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +38 -20
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +18 -21
- package/dist/rpc/RpcServer.js.map +1 -1
- package/dist/rpc/internal/tracing.d.ts +2 -0
- package/dist/rpc/internal/tracing.d.ts.map +1 -0
- package/dist/rpc/internal/tracing.js +18 -0
- package/dist/rpc/internal/tracing.js.map +1 -0
- package/dist/schema/SchemaCompiler/runtime.js +9 -1
- package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
- package/dist/sql/SqlClient.js +4 -4
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/Statement.d.ts +21 -1
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +55 -7
- package/dist/sql/Statement.js.map +1 -1
- package/dist/testing/TestClock.d.ts +8 -0
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +7 -0
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestConsole.d.ts +7 -0
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +6 -0
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +3 -0
- package/dist/testing/index.js.map +1 -1
- package/package.json +3 -3
- package/src/Array.ts +351 -3
- package/src/BigDecimal.ts +88 -0
- package/src/BigInt.ts +68 -0
- package/src/Boolean.ts +34 -0
- package/src/Brand.ts +10 -0
- package/src/ByteSize.ts +87 -0
- package/src/Cache.ts +50 -8
- package/src/Cause.ts +82 -0
- package/src/Channel.ts +368 -18
- package/src/ChannelSchema.ts +13 -0
- package/src/Chunk.ts +193 -0
- package/src/Clock.ts +7 -0
- package/src/Combiner.ts +10 -0
- package/src/Config.ts +82 -8
- package/src/ConfigProvider.ts +28 -0
- package/src/Console.ts +26 -0
- package/src/Context.ts +50 -0
- package/src/Cron.ts +32 -1
- package/src/Crypto.ts +5 -0
- package/src/Data.ts +13 -0
- package/src/DateTime.ts +171 -0
- package/src/Deferred.ts +51 -0
- package/src/Differ.ts +2 -0
- package/src/Duration.ts +90 -0
- package/src/Effect.ts +539 -5
- package/src/Effectable.ts +4 -0
- package/src/Equal.ts +12 -1
- package/src/Equivalence.ts +22 -0
- package/src/ErrorReporter.ts +36 -0
- package/src/ExecutionPlan.ts +58 -14
- package/src/Exit.ts +40 -0
- package/src/Fiber.ts +20 -0
- package/src/FiberHandle.ts +29 -4
- package/src/FiberMap.ts +38 -0
- package/src/FiberSet.ts +21 -0
- package/src/FileSystem.ts +16 -0
- package/src/Filter.ts +55 -0
- package/src/Formatter.ts +42 -1
- package/src/Function.ts +30 -0
- package/src/Graph.ts +317 -36
- package/src/HKT.ts +5 -0
- package/src/Hash.ts +15 -0
- package/src/HashMap.ts +91 -0
- package/src/HashRing.ts +18 -0
- package/src/HashSet.ts +53 -0
- package/src/Inspectable.ts +8 -0
- package/src/Iterable.ts +127 -0
- package/src/JsonPatch.ts +5 -0
- package/src/JsonPointer.ts +5 -0
- package/src/JsonSchema.ts +17 -0
- package/src/Latch.ts +14 -0
- package/src/Layer.ts +101 -1
- package/src/LayerMap.ts +7 -0
- package/src/LayerRef.ts +5 -0
- package/src/LogLevel.ts +20 -0
- package/src/Logger.ts +41 -5
- package/src/ManagedRuntime.ts +12 -1
- package/src/Match.ts +52 -0
- package/src/Metric.ts +69 -0
- package/src/MutableHashMap.ts +44 -0
- package/src/MutableHashSet.ts +17 -0
- package/src/MutableList.ts +21 -0
- package/src/MutableRef.ts +32 -0
- package/src/Newtype.ts +9 -0
- package/src/NonEmptyIterable.ts +4 -0
- package/src/Number.ts +61 -0
- package/src/Optic.ts +57 -0
- package/src/Option.ts +134 -0
- package/src/Order.ts +30 -0
- package/src/Ordering.ts +7 -0
- package/src/PartitionedSemaphore.ts +61 -22
- package/src/Path.ts +6 -0
- package/src/Pipeable.ts +7 -0
- package/src/PlatformError.ts +8 -0
- package/src/Pool.ts +20 -1
- package/src/Predicate.ts +85 -0
- package/src/PrimaryKey.ts +5 -0
- package/src/PubSub.ts +90 -9
- package/src/Pull.ts +20 -0
- package/src/Queue.ts +80 -10
- package/src/Random.ts +13 -0
- package/src/RcMap.ts +23 -0
- package/src/RcRef.ts +6 -0
- package/src/Record.ts +100 -0
- package/src/Redactable.ts +6 -0
- package/src/Redacted.ts +8 -0
- package/src/Reducer.ts +4 -0
- package/src/Ref.ts +42 -0
- package/src/References.ts +21 -0
- package/src/RegExp.ts +4 -0
- package/src/Request.ts +32 -0
- package/src/RequestResolver.ts +59 -10
- package/src/Resource.ts +7 -0
- package/src/Result.ts +93 -0
- package/src/Runtime.ts +10 -0
- package/src/Schedule.ts +61 -0
- package/src/Scheduler.ts +7 -0
- package/src/Schema.ts +499 -4
- package/src/SchemaAST.ts +115 -1
- package/src/SchemaGetter.ts +80 -4
- package/src/SchemaIssue.ts +34 -0
- package/src/SchemaParser.ts +26 -0
- package/src/SchemaRepresentation.ts +148 -0
- package/src/SchemaTransformation.ts +53 -0
- package/src/Scope.ts +19 -0
- package/src/ScopedCache.ts +55 -3
- package/src/ScopedRef.ts +9 -0
- package/src/Semaphore.ts +26 -0
- package/src/Sink.ts +126 -2
- package/src/StandardSchema.ts +1 -0
- package/src/Stdio.ts +7 -0
- package/src/Stream.ts +622 -15
- package/src/String.ts +87 -0
- package/src/Struct.ts +46 -0
- package/src/SubscriptionRef.ts +65 -0
- package/src/Symbol.ts +2 -0
- package/src/SynchronizedRef.ts +63 -0
- package/src/Take.ts +3 -0
- package/src/Terminal.ts +8 -0
- package/src/Tracer.ts +23 -0
- package/src/Trie.ts +68 -0
- package/src/Tuple.ts +38 -0
- package/src/TxChunk.ts +52 -0
- package/src/TxDeferred.ts +15 -0
- package/src/TxHashMap.ts +97 -6
- package/src/TxHashSet.ts +83 -3
- package/src/TxPriorityQueue.ts +34 -2
- package/src/TxPubSub.ts +26 -0
- package/src/TxQueue.ts +51 -0
- package/src/TxReentrantLock.ts +53 -36
- package/src/TxRef.ts +14 -0
- package/src/TxSemaphore.ts +47 -31
- package/src/TxSubscriptionRef.ts +25 -0
- package/src/Types.ts +36 -0
- package/src/UndefinedOr.ts +15 -0
- package/src/Unify.ts +15 -0
- package/src/Utils.ts +4 -0
- package/src/Version.ts +38 -0
- package/src/ai/Chat.ts +1 -1
- package/src/ai/DecisionModel.ts +42 -1
- package/src/ai/LanguageModel.ts +16 -19
- package/src/ai/McpServer.ts +107 -36
- package/src/ai/Telemetry.ts +62 -58
- package/src/ai/internal/mcpRuntime.ts +84 -43
- package/src/ai/internal/mcpStatefulRuntime.ts +2 -0
- package/src/cluster/K8sHttpClient.ts +12 -2
- package/src/encoding/Base64.ts +4 -0
- package/src/encoding/Base64Url.ts +4 -0
- package/src/encoding/EncodingError.ts +5 -0
- package/src/encoding/Hex.ts +5 -0
- package/src/encoding/Toml.ts +2 -2
- package/src/encoding/Yaml.ts +8 -4
- package/src/encoding/index.ts +4 -0
- package/src/eventlog/SqlEventJournal.ts +18 -4
- package/src/eventlog/SqlEventLogServerUnencrypted.ts +282 -235
- package/src/http/Headers.ts +8 -2
- package/src/http/HttpClient.ts +44 -27
- package/src/http/HttpClientResponse.ts +3 -1
- package/src/http/HttpEffect.ts +11 -2
- package/src/http/HttpMiddleware.ts +60 -45
- package/src/http/HttpServer.ts +1 -1
- package/src/http/internal/tracing.ts +52 -0
- package/src/http-api/HttpApiBuilder.ts +5 -1
- package/src/http-api/HttpApiClient.ts +13 -4
- package/src/http-api/HttpApiError.ts +8 -4
- package/src/http-api/HttpApiSecurity.ts +8 -8
- package/src/index.ts +156 -0
- package/src/internal/arbitrary/array.ts +3 -3
- package/src/internal/arbitrary/model.ts +37 -14
- package/src/internal/arbitrary/runner.ts +7 -7
- package/src/internal/arbitrary/schema.ts +4 -3
- package/src/internal/effect.ts +47 -45
- package/src/internal/schedule.ts +23 -17
- package/src/internal/schema/standardSchema.ts +2 -2
- package/src/internal/version.ts +2 -0
- package/src/observability/OtlpExporter.ts +9 -6
- package/src/observability/OtlpLogger.ts +20 -21
- package/src/observability/OtlpMetrics.ts +34 -93
- package/src/observability/OtlpResource.ts +18 -27
- package/src/observability/OtlpTracer.ts +34 -40
- package/src/observability/internal/otlpProtobuf.ts +60 -0
- package/src/reactivity/AsyncResult.ts +1 -1
- package/src/reactivity/Atom.ts +10 -6
- package/src/reactivity/AtomHttpApi.ts +2 -4
- package/src/reactivity/AtomRegistry.ts +7 -0
- package/src/rpc/RpcClient.ts +48 -24
- package/src/rpc/RpcServer.ts +26 -24
- package/src/rpc/internal/tracing.ts +22 -0
- package/src/schema/SchemaCompiler/runtime.ts +4 -1
- package/src/sql/SqlClient.ts +4 -4
- package/src/sql/Statement.ts +59 -7
- package/src/testing/TestClock.ts +9 -0
- package/src/testing/TestConsole.ts +8 -0
- package/src/testing/index.ts +3 -0
package/src/PubSub.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* subscribers, message-taking helpers, capacity and shutdown operations, a
|
|
9
9
|
* type guard, and low-level types for custom hub strategies.
|
|
10
10
|
*
|
|
11
|
+
* @stability stable
|
|
11
12
|
* @since 2.0.0
|
|
12
13
|
*/
|
|
13
14
|
import * as Arr from "./Array.ts"
|
|
@@ -60,6 +61,7 @@ const TypeId = "~effect/PubSub"
|
|
|
60
61
|
* actual // => ["Hello", "World"]
|
|
61
62
|
* ```
|
|
62
63
|
*
|
|
64
|
+
* @stability stable
|
|
63
65
|
* @category models
|
|
64
66
|
* @since 2.0.0
|
|
65
67
|
*/
|
|
@@ -81,6 +83,7 @@ export interface PubSub<in out A> extends Pipeable {
|
|
|
81
83
|
* `PubSub`, including atomic implementations, backing subscriptions, replay
|
|
82
84
|
* windows, and delivery strategies.
|
|
83
85
|
*
|
|
86
|
+
* @stability stable
|
|
84
87
|
* @since 2.0.0
|
|
85
88
|
*/
|
|
86
89
|
export declare namespace PubSub {
|
|
@@ -162,12 +165,18 @@ export declare namespace PubSub {
|
|
|
162
165
|
/**
|
|
163
166
|
* Describes how publishers should signal to subscribers that they are
|
|
164
167
|
* waiting for space to become available in the `PubSub`.
|
|
168
|
+
*
|
|
169
|
+
* **Details**
|
|
170
|
+
*
|
|
171
|
+
* The publisher may have yielded since `publish` checked `ended`, so it
|
|
172
|
+
* must be checked again before registering or publishing the surplus.
|
|
165
173
|
*/
|
|
166
174
|
handleSurplus(
|
|
167
175
|
pubsub: Atomic<A>,
|
|
168
176
|
subscribers: Subscribers<A>,
|
|
169
177
|
elements: Iterable<A>,
|
|
170
|
-
isShutdown: MutableRef.MutableRef<boolean
|
|
178
|
+
isShutdown: MutableRef.MutableRef<boolean>,
|
|
179
|
+
ended: MutableRef.MutableRef<Option.Option<A>>
|
|
171
180
|
): Effect.Effect<boolean>
|
|
172
181
|
|
|
173
182
|
/**
|
|
@@ -223,6 +232,7 @@ export declare namespace PubSub {
|
|
|
223
232
|
* actual // => [true, false, false]
|
|
224
233
|
* ```
|
|
225
234
|
*
|
|
235
|
+
* @stability stable
|
|
226
236
|
* @category guards
|
|
227
237
|
* @since 4.0.0
|
|
228
238
|
*/
|
|
@@ -259,6 +269,7 @@ const SubscriptionTypeId = "~effect/PubSub/Subscription"
|
|
|
259
269
|
* actual // => { message: "msg1", messages: ["msg2"], allMessages: ["msg3"] }
|
|
260
270
|
* ```
|
|
261
271
|
*
|
|
272
|
+
* @stability stable
|
|
262
273
|
* @category models
|
|
263
274
|
* @since 4.0.0
|
|
264
275
|
*/
|
|
@@ -302,6 +313,7 @@ export interface Subscription<out A> extends Pipeable {
|
|
|
302
313
|
* actual // => true
|
|
303
314
|
* ```
|
|
304
315
|
*
|
|
316
|
+
* @stability stable
|
|
305
317
|
* @category constructors
|
|
306
318
|
* @since 4.0.0
|
|
307
319
|
*/
|
|
@@ -333,6 +345,8 @@ export const make = <A>(
|
|
|
333
345
|
* them. When the capacity is full, publishers suspend until space is available.
|
|
334
346
|
* Pass an options object to configure both `capacity` and an optional replay
|
|
335
347
|
* buffer for late subscribers.
|
|
348
|
+
* The capacity must be a positive integer or `Infinity` for unbounded storage.
|
|
349
|
+
* Invalid capacities cause the effect to die.
|
|
336
350
|
*
|
|
337
351
|
* **Example** (Creating a bounded PubSub)
|
|
338
352
|
*
|
|
@@ -359,6 +373,7 @@ export const make = <A>(
|
|
|
359
373
|
* actual // => [100, 100]
|
|
360
374
|
* ```
|
|
361
375
|
*
|
|
376
|
+
* @stability stable
|
|
362
377
|
* @category constructors
|
|
363
378
|
* @since 2.0.0
|
|
364
379
|
*/
|
|
@@ -379,6 +394,8 @@ export const bounded = <A>(
|
|
|
379
394
|
*
|
|
380
395
|
* **Details**
|
|
381
396
|
*
|
|
397
|
+
* The capacity must be a positive integer or `Infinity` for unbounded storage.
|
|
398
|
+
* Invalid capacities cause the effect to die.
|
|
382
399
|
* For best performance use capacities that are powers of two.
|
|
383
400
|
*
|
|
384
401
|
* **Example** (Dropping messages when full)
|
|
@@ -406,6 +423,7 @@ export const bounded = <A>(
|
|
|
406
423
|
* actual // => { dropped: true, messages: ["msg1", "msg2", "msg3"] }
|
|
407
424
|
* ```
|
|
408
425
|
*
|
|
426
|
+
* @stability stable
|
|
409
427
|
* @category constructors
|
|
410
428
|
* @since 2.0.0
|
|
411
429
|
*/
|
|
@@ -426,6 +444,8 @@ export const dropping = <A>(
|
|
|
426
444
|
*
|
|
427
445
|
* **Details**
|
|
428
446
|
*
|
|
447
|
+
* The capacity must be a positive integer or `Infinity` for unbounded storage.
|
|
448
|
+
* Invalid capacities cause the effect to die.
|
|
429
449
|
* For best performance use capacities that are powers of two.
|
|
430
450
|
*
|
|
431
451
|
* **Example** (Sliding old messages when full)
|
|
@@ -452,6 +472,7 @@ export const dropping = <A>(
|
|
|
452
472
|
* actual // => ["msg2", "msg3", "msg4"]
|
|
453
473
|
* ```
|
|
454
474
|
*
|
|
475
|
+
* @stability stable
|
|
455
476
|
* @category constructors
|
|
456
477
|
* @since 2.0.0
|
|
457
478
|
*/
|
|
@@ -492,6 +513,7 @@ export const sliding = <A>(
|
|
|
492
513
|
* actual // => ["message-0", "message-1", "message-2"]
|
|
493
514
|
* ```
|
|
494
515
|
*
|
|
516
|
+
* @stability stable
|
|
495
517
|
* @category constructors
|
|
496
518
|
* @since 2.0.0
|
|
497
519
|
*/
|
|
@@ -519,8 +541,9 @@ export const unbounded = <A>(options?: {
|
|
|
519
541
|
*
|
|
520
542
|
* **Gotchas**
|
|
521
543
|
*
|
|
522
|
-
* The capacity must be
|
|
523
|
-
* synchronously before an atomic implementation is
|
|
544
|
+
* The capacity must be a positive integer or `Infinity` for unbounded storage;
|
|
545
|
+
* invalid capacities throw synchronously before an atomic implementation is
|
|
546
|
+
* created.
|
|
524
547
|
*
|
|
525
548
|
* @see {@link make} for constructing a `PubSub` from an atomic implementation and delivery strategy
|
|
526
549
|
* @see {@link makeAtomicUnbounded} for an atomic implementation without a bounded capacity
|
|
@@ -528,6 +551,7 @@ export const unbounded = <A>(options?: {
|
|
|
528
551
|
* @see {@link dropping} for the higher-level dropping constructor
|
|
529
552
|
* @see {@link sliding} for the higher-level sliding constructor
|
|
530
553
|
*
|
|
554
|
+
* @stability stable
|
|
531
555
|
* @category constructors
|
|
532
556
|
* @since 4.0.0
|
|
533
557
|
*/
|
|
@@ -569,6 +593,7 @@ export const makeAtomicBounded = <A>(
|
|
|
569
593
|
* @see {@link make} for wrapping an atomic implementation with a delivery strategy
|
|
570
594
|
* @see {@link unbounded} for the high-level effectful constructor for unbounded `PubSub` values
|
|
571
595
|
*
|
|
596
|
+
* @stability stable
|
|
572
597
|
* @category constructors
|
|
573
598
|
* @since 4.0.0
|
|
574
599
|
*/
|
|
@@ -599,6 +624,7 @@ export const makeAtomicUnbounded = <A>(options?: {
|
|
|
599
624
|
* actual // => [100, Number.MAX_SAFE_INTEGER]
|
|
600
625
|
* ```
|
|
601
626
|
*
|
|
627
|
+
* @stability stable
|
|
602
628
|
* @category getters
|
|
603
629
|
* @since 2.0.0
|
|
604
630
|
*/
|
|
@@ -639,6 +665,7 @@ export const capacity = <A>(self: PubSub<A>): number => self.pubsub.capacity
|
|
|
639
665
|
* actual // => { initialSize: 0, afterPublish: 2, messages: ["msg1", "msg2"] }
|
|
640
666
|
* ```
|
|
641
667
|
*
|
|
668
|
+
* @stability stable
|
|
642
669
|
* @category getters
|
|
643
670
|
* @since 2.0.0
|
|
644
671
|
*/
|
|
@@ -671,6 +698,7 @@ export const size = <A>(self: PubSub<A>): Effect.Effect<number> => Effect.sync((
|
|
|
671
698
|
* actual // => 0
|
|
672
699
|
* ```
|
|
673
700
|
*
|
|
701
|
+
* @stability stable
|
|
674
702
|
* @category getters
|
|
675
703
|
* @since 4.0.0
|
|
676
704
|
*/
|
|
@@ -714,6 +742,7 @@ export const sizeUnsafe = <A>(self: PubSub<A>): number => {
|
|
|
714
742
|
* actual // => { initiallyFull: false, nowFull: true, messages: ["msg1", "msg2"] }
|
|
715
743
|
* ```
|
|
716
744
|
*
|
|
745
|
+
* @stability stable
|
|
717
746
|
* @category predicates
|
|
718
747
|
* @since 2.0.0
|
|
719
748
|
*/
|
|
@@ -748,6 +777,7 @@ export const isFull = <A>(self: PubSub<A>): Effect.Effect<boolean> =>
|
|
|
748
777
|
* actual // => { initiallyEmpty: true, nowEmpty: false, message: "Hello" }
|
|
749
778
|
* ```
|
|
750
779
|
*
|
|
780
|
+
* @stability stable
|
|
751
781
|
* @category predicates
|
|
752
782
|
* @since 2.0.0
|
|
753
783
|
*/
|
|
@@ -785,6 +815,7 @@ export const isEmpty = <A>(self: PubSub<A>): Effect.Effect<boolean> => Effect.ma
|
|
|
785
815
|
* actual // => { isShutdown: true, published: false }
|
|
786
816
|
* ```
|
|
787
817
|
*
|
|
818
|
+
* @stability stable
|
|
788
819
|
* @category lifecycle
|
|
789
820
|
* @since 2.0.0
|
|
790
821
|
*/
|
|
@@ -855,6 +886,7 @@ export const shutdown = <A>(self: PubSub<A>): Effect.Effect<void> =>
|
|
|
855
886
|
*
|
|
856
887
|
* @see {@link shutdown} for interrupting subscribers instead of delivering a final message
|
|
857
888
|
*
|
|
889
|
+
* @stability stable
|
|
858
890
|
* @category lifecycle
|
|
859
891
|
* @since 4.0.0
|
|
860
892
|
*/
|
|
@@ -916,6 +948,7 @@ export const end: {
|
|
|
916
948
|
*
|
|
917
949
|
* @see {@link shutdown} for interrupting subscribers instead of delivering a final message
|
|
918
950
|
*
|
|
951
|
+
* @stability stable
|
|
919
952
|
* @category lifecycle
|
|
920
953
|
* @since 4.0.0
|
|
921
954
|
*/
|
|
@@ -977,6 +1010,7 @@ export const end: {
|
|
|
977
1010
|
*
|
|
978
1011
|
* @see {@link shutdown} for interrupting subscribers instead of delivering a final message
|
|
979
1012
|
*
|
|
1013
|
+
* @stability stable
|
|
980
1014
|
* @category lifecycle
|
|
981
1015
|
* @since 4.0.0
|
|
982
1016
|
*/
|
|
@@ -990,6 +1024,7 @@ export const end: {
|
|
|
990
1024
|
*
|
|
991
1025
|
* See {@link end} for the semantics.
|
|
992
1026
|
*
|
|
1027
|
+
* @stability stable
|
|
993
1028
|
* @category lifecycle
|
|
994
1029
|
* @since 4.0.0
|
|
995
1030
|
*/
|
|
@@ -1001,6 +1036,7 @@ export const endUnsafe: {
|
|
|
1001
1036
|
*
|
|
1002
1037
|
* See {@link end} for the semantics.
|
|
1003
1038
|
*
|
|
1039
|
+
* @stability stable
|
|
1004
1040
|
* @category lifecycle
|
|
1005
1041
|
* @since 4.0.0
|
|
1006
1042
|
*/
|
|
@@ -1012,6 +1048,7 @@ export const endUnsafe: {
|
|
|
1012
1048
|
*
|
|
1013
1049
|
* See {@link end} for the semantics.
|
|
1014
1050
|
*
|
|
1051
|
+
* @stability stable
|
|
1015
1052
|
* @category lifecycle
|
|
1016
1053
|
* @since 4.0.0
|
|
1017
1054
|
*/
|
|
@@ -1065,6 +1102,7 @@ export const endUnsafe: {
|
|
|
1065
1102
|
* actual // => [false, true]
|
|
1066
1103
|
* ```
|
|
1067
1104
|
*
|
|
1105
|
+
* @stability stable
|
|
1068
1106
|
* @category predicates
|
|
1069
1107
|
* @since 2.0.0
|
|
1070
1108
|
*/
|
|
@@ -1095,6 +1133,7 @@ export const isShutdown = <A>(self: PubSub<A>): Effect.Effect<boolean> => Effect
|
|
|
1095
1133
|
* actual // => [false, true]
|
|
1096
1134
|
* ```
|
|
1097
1135
|
*
|
|
1136
|
+
* @stability stable
|
|
1098
1137
|
* @category predicates
|
|
1099
1138
|
* @since 4.0.0
|
|
1100
1139
|
*/
|
|
@@ -1132,6 +1171,7 @@ export const isShutdownUnsafe = <A>(self: PubSub<A>): boolean => self.shutdownFl
|
|
|
1132
1171
|
* actual // => "PubSub has been shutdown!"
|
|
1133
1172
|
* ```
|
|
1134
1173
|
*
|
|
1174
|
+
* @stability stable
|
|
1135
1175
|
* @category lifecycle
|
|
1136
1176
|
* @since 2.0.0
|
|
1137
1177
|
*/
|
|
@@ -1176,6 +1216,7 @@ export const awaitShutdown = <A>(self: PubSub<A>): Effect.Effect<void> => self.s
|
|
|
1176
1216
|
*
|
|
1177
1217
|
* @see {@link publishUnsafe} for a synchronous non-blocking attempt that does not run effectful surplus handling
|
|
1178
1218
|
*
|
|
1219
|
+
* @stability stable
|
|
1179
1220
|
* @category publishing
|
|
1180
1221
|
* @since 2.0.0
|
|
1181
1222
|
*/
|
|
@@ -1219,6 +1260,7 @@ export const publish: {
|
|
|
1219
1260
|
*
|
|
1220
1261
|
* @see {@link publishUnsafe} for a synchronous non-blocking attempt that does not run effectful surplus handling
|
|
1221
1262
|
*
|
|
1263
|
+
* @stability stable
|
|
1222
1264
|
* @category publishing
|
|
1223
1265
|
* @since 2.0.0
|
|
1224
1266
|
*/
|
|
@@ -1262,6 +1304,7 @@ export const publish: {
|
|
|
1262
1304
|
*
|
|
1263
1305
|
* @see {@link publishUnsafe} for a synchronous non-blocking attempt that does not run effectful surplus handling
|
|
1264
1306
|
*
|
|
1307
|
+
* @stability stable
|
|
1265
1308
|
* @category publishing
|
|
1266
1309
|
* @since 2.0.0
|
|
1267
1310
|
*/
|
|
@@ -1281,7 +1324,8 @@ export const publish: {
|
|
|
1281
1324
|
self.pubsub,
|
|
1282
1325
|
self.subscribers,
|
|
1283
1326
|
[value],
|
|
1284
|
-
self.shutdownFlag
|
|
1327
|
+
self.shutdownFlag,
|
|
1328
|
+
self.ended
|
|
1285
1329
|
)
|
|
1286
1330
|
}))
|
|
1287
1331
|
|
|
@@ -1316,6 +1360,7 @@ export const publish: {
|
|
|
1316
1360
|
*
|
|
1317
1361
|
* @see {@link publish} for effectful publishing that honors the configured surplus strategy
|
|
1318
1362
|
*
|
|
1363
|
+
* @stability stable
|
|
1319
1364
|
* @category publishing
|
|
1320
1365
|
* @since 4.0.0
|
|
1321
1366
|
*/
|
|
@@ -1351,6 +1396,7 @@ export const publishUnsafe: {
|
|
|
1351
1396
|
*
|
|
1352
1397
|
* @see {@link publish} for effectful publishing that honors the configured surplus strategy
|
|
1353
1398
|
*
|
|
1399
|
+
* @stability stable
|
|
1354
1400
|
* @category publishing
|
|
1355
1401
|
* @since 4.0.0
|
|
1356
1402
|
*/
|
|
@@ -1386,6 +1432,7 @@ export const publishUnsafe: {
|
|
|
1386
1432
|
*
|
|
1387
1433
|
* @see {@link publish} for effectful publishing that honors the configured surplus strategy
|
|
1388
1434
|
*
|
|
1435
|
+
* @stability stable
|
|
1389
1436
|
* @category publishing
|
|
1390
1437
|
* @since 4.0.0
|
|
1391
1438
|
*/
|
|
@@ -1431,6 +1478,7 @@ export const publishUnsafe: {
|
|
|
1431
1478
|
* actual // => { allPublished: true, firstBatch: ["msg1", "msg2"], result: true, secondBatch: ["msg3", "msg4"] }
|
|
1432
1479
|
* ```
|
|
1433
1480
|
*
|
|
1481
|
+
* @stability stable
|
|
1434
1482
|
* @category publishing
|
|
1435
1483
|
* @since 2.0.0
|
|
1436
1484
|
*/
|
|
@@ -1467,6 +1515,7 @@ export const publishAll: {
|
|
|
1467
1515
|
* actual // => { allPublished: true, firstBatch: ["msg1", "msg2"], result: true, secondBatch: ["msg3", "msg4"] }
|
|
1468
1516
|
* ```
|
|
1469
1517
|
*
|
|
1518
|
+
* @stability stable
|
|
1470
1519
|
* @category publishing
|
|
1471
1520
|
* @since 2.0.0
|
|
1472
1521
|
*/
|
|
@@ -1503,6 +1552,7 @@ export const publishAll: {
|
|
|
1503
1552
|
* actual // => { allPublished: true, firstBatch: ["msg1", "msg2"], result: true, secondBatch: ["msg3", "msg4"] }
|
|
1504
1553
|
* ```
|
|
1505
1554
|
*
|
|
1555
|
+
* @stability stable
|
|
1506
1556
|
* @category publishing
|
|
1507
1557
|
* @since 2.0.0
|
|
1508
1558
|
*/
|
|
@@ -1521,7 +1571,8 @@ export const publishAll: {
|
|
|
1521
1571
|
self.pubsub,
|
|
1522
1572
|
self.subscribers,
|
|
1523
1573
|
surplus,
|
|
1524
|
-
self.shutdownFlag
|
|
1574
|
+
self.shutdownFlag,
|
|
1575
|
+
self.ended
|
|
1525
1576
|
)
|
|
1526
1577
|
}))
|
|
1527
1578
|
|
|
@@ -1573,6 +1624,7 @@ export const publishAll: {
|
|
|
1573
1624
|
* actual // => [["Hello", "World"], ["Broadcast", "Broadcast"]]
|
|
1574
1625
|
* ```
|
|
1575
1626
|
*
|
|
1627
|
+
* @stability stable
|
|
1576
1628
|
* @category subscriptions
|
|
1577
1629
|
* @since 2.0.0
|
|
1578
1630
|
*/
|
|
@@ -1640,6 +1692,7 @@ const unsubscribe = <A>(self: Subscription<A>): Effect.Effect<void> =>
|
|
|
1640
1692
|
* actual // => "Hello"
|
|
1641
1693
|
* ```
|
|
1642
1694
|
*
|
|
1695
|
+
* @stability stable
|
|
1643
1696
|
* @category subscriptions
|
|
1644
1697
|
* @since 4.0.0
|
|
1645
1698
|
*/
|
|
@@ -1688,6 +1741,7 @@ export const take = <A>(self: Subscription<A>): Effect.Effect<A> =>
|
|
|
1688
1741
|
* actual // => ["msg1", "msg2", "msg3"]
|
|
1689
1742
|
* ```
|
|
1690
1743
|
*
|
|
1744
|
+
* @stability stable
|
|
1691
1745
|
* @category subscriptions
|
|
1692
1746
|
* @since 4.0.0
|
|
1693
1747
|
*/
|
|
@@ -1714,7 +1768,17 @@ export const takeAll = <A>(self: Subscription<A>): Effect.Effect<Arr.NonEmptyArr
|
|
|
1714
1768
|
const pollForItem = <A>(self: Subscription<A>) =>
|
|
1715
1769
|
Effect.callback<A>((resume) => {
|
|
1716
1770
|
if (self.shutdownFlag.current) return resume(Effect.interrupt)
|
|
1717
|
-
if (Option.isSome(self.ended.current))
|
|
1771
|
+
if (Option.isSome(self.ended.current)) {
|
|
1772
|
+
// Messages may have been published after the empty check, before this callback ran.
|
|
1773
|
+
const message = self.pollers.length === 0
|
|
1774
|
+
? self.subscription.poll()
|
|
1775
|
+
: MutableList.Empty
|
|
1776
|
+
if (message !== MutableList.Empty) {
|
|
1777
|
+
self.strategy.onPubSubEmptySpaceUnsafe(self.pubsub, self.subscribers)
|
|
1778
|
+
return resume(Effect.succeed(message))
|
|
1779
|
+
}
|
|
1780
|
+
return resume(Effect.succeed(self.ended.current.value))
|
|
1781
|
+
}
|
|
1718
1782
|
const deferred = Deferred.makeUnsafe<A>()
|
|
1719
1783
|
let set = self.subscribers.get(self.subscription)
|
|
1720
1784
|
if (!set) {
|
|
@@ -1767,6 +1831,7 @@ const pollForItem = <A>(self: Subscription<A>) =>
|
|
|
1767
1831
|
* actual // => [["msg1", "msg2", "msg3"], ["msg4", "msg5"], []]
|
|
1768
1832
|
* ```
|
|
1769
1833
|
*
|
|
1834
|
+
* @stability stable
|
|
1770
1835
|
* @category subscriptions
|
|
1771
1836
|
* @since 4.0.0
|
|
1772
1837
|
*/
|
|
@@ -1804,6 +1869,7 @@ export const takeUpTo: {
|
|
|
1804
1869
|
* actual // => [["msg1", "msg2", "msg3"], ["msg4", "msg5"], []]
|
|
1805
1870
|
* ```
|
|
1806
1871
|
*
|
|
1872
|
+
* @stability stable
|
|
1807
1873
|
* @category subscriptions
|
|
1808
1874
|
* @since 4.0.0
|
|
1809
1875
|
*/
|
|
@@ -1841,6 +1907,7 @@ export const takeUpTo: {
|
|
|
1841
1907
|
* actual // => [["msg1", "msg2", "msg3"], ["msg4", "msg5"], []]
|
|
1842
1908
|
* ```
|
|
1843
1909
|
*
|
|
1910
|
+
* @stability stable
|
|
1844
1911
|
* @category subscriptions
|
|
1845
1912
|
* @since 4.0.0
|
|
1846
1913
|
*/
|
|
@@ -1893,6 +1960,7 @@ export const takeUpTo: {
|
|
|
1893
1960
|
* actual // => ["msg1", "msg2", "msg3"]
|
|
1894
1961
|
* ```
|
|
1895
1962
|
*
|
|
1963
|
+
* @stability stable
|
|
1896
1964
|
* @category subscriptions
|
|
1897
1965
|
* @since 4.0.0
|
|
1898
1966
|
*/
|
|
@@ -1927,6 +1995,7 @@ export const takeBetween: {
|
|
|
1927
1995
|
* actual // => ["msg1", "msg2", "msg3"]
|
|
1928
1996
|
* ```
|
|
1929
1997
|
*
|
|
1998
|
+
* @stability stable
|
|
1930
1999
|
* @category subscriptions
|
|
1931
2000
|
* @since 4.0.0
|
|
1932
2001
|
*/
|
|
@@ -1961,6 +2030,7 @@ export const takeBetween: {
|
|
|
1961
2030
|
* actual // => ["msg1", "msg2", "msg3"]
|
|
1962
2031
|
* ```
|
|
1963
2032
|
*
|
|
2033
|
+
* @stability stable
|
|
1964
2034
|
* @category subscriptions
|
|
1965
2035
|
* @since 4.0.0
|
|
1966
2036
|
*/
|
|
@@ -2047,6 +2117,7 @@ const takeRemainderLoop = <A>(
|
|
|
2047
2117
|
*
|
|
2048
2118
|
* @see {@link remainingUnsafe} for a synchronous check that reports shutdown as `Option.none()`
|
|
2049
2119
|
*
|
|
2120
|
+
* @stability stable
|
|
2050
2121
|
* @category getters
|
|
2051
2122
|
* @since 4.0.0
|
|
2052
2123
|
*/
|
|
@@ -2083,6 +2154,7 @@ export const remaining = <A>(self: Subscription<A>): Effect.Effect<number> =>
|
|
|
2083
2154
|
*
|
|
2084
2155
|
* @see {@link remaining} for the effectful variant that interrupts on shutdown
|
|
2085
2156
|
*
|
|
2157
|
+
* @stability stable
|
|
2086
2158
|
* @category getters
|
|
2087
2159
|
* @since 4.0.0
|
|
2088
2160
|
*/
|
|
@@ -2970,7 +3042,7 @@ const makePubSubUnsafe = <A>(
|
|
|
2970
3042
|
): PubSub<A> => new PubSubImpl(pubsub, subscribers, scope, shutdownHook, shutdownFlag, strategy, ended)
|
|
2971
3043
|
|
|
2972
3044
|
const ensureCapacity = (capacity: number): void => {
|
|
2973
|
-
if (capacity <= 0) {
|
|
3045
|
+
if (capacity <= 0 || (capacity !== Infinity && !Number.isInteger(capacity))) {
|
|
2974
3046
|
throw new Error(`Cannot construct PubSub with capacity of ${capacity}`)
|
|
2975
3047
|
}
|
|
2976
3048
|
}
|
|
@@ -3001,6 +3073,7 @@ const ensureCapacity = (capacity: number): void => {
|
|
|
3001
3073
|
* @see {@link DroppingStrategy} for dropping new messages when capacity is full
|
|
3002
3074
|
* @see {@link SlidingStrategy} for evicting old messages when capacity is full
|
|
3003
3075
|
*
|
|
3076
|
+
* @stability stable
|
|
3004
3077
|
* @category models
|
|
3005
3078
|
* @since 4.0.0
|
|
3006
3079
|
*/
|
|
@@ -3023,9 +3096,13 @@ export class BackPressureStrategy<in out A> implements PubSub.Strategy<A> {
|
|
|
3023
3096
|
pubsub: PubSub.Atomic<A>,
|
|
3024
3097
|
subscribers: PubSub.Subscribers<A>,
|
|
3025
3098
|
elements: Iterable<A>,
|
|
3026
|
-
isShutdown: MutableRef.MutableRef<boolean
|
|
3099
|
+
isShutdown: MutableRef.MutableRef<boolean>,
|
|
3100
|
+
ended: MutableRef.MutableRef<Option.Option<A>>
|
|
3027
3101
|
): Effect.Effect<boolean> {
|
|
3028
3102
|
return Effect.callback<boolean>((resume) => {
|
|
3103
|
+
// The publisher may have yielded since `publish` checked `ended`, and
|
|
3104
|
+
// `end` only rejects publishers that are already registered.
|
|
3105
|
+
if (Option.isSome(ended.current)) return resume(Effect.succeed(false))
|
|
3029
3106
|
const deferred = Deferred.makeUnsafe<boolean>()
|
|
3030
3107
|
this.offerUnsafe(elements, deferred)
|
|
3031
3108
|
this.onPubSubEmptySpaceUnsafe(pubsub, subscribers)
|
|
@@ -3142,6 +3219,7 @@ export class BackPressureStrategy<in out A> implements PubSub.Strategy<A> {
|
|
|
3142
3219
|
* actual // => { published: [true, true, false], messages: ["msg1", "msg2"] }
|
|
3143
3220
|
* ```
|
|
3144
3221
|
*
|
|
3222
|
+
* @stability stable
|
|
3145
3223
|
* @category models
|
|
3146
3224
|
* @since 4.0.0
|
|
3147
3225
|
*/
|
|
@@ -3225,6 +3303,7 @@ export class DroppingStrategy<in out A> implements PubSub.Strategy<A> {
|
|
|
3225
3303
|
* actual // => ["msg3", "msg4"]
|
|
3226
3304
|
* ```
|
|
3227
3305
|
*
|
|
3306
|
+
* @stability stable
|
|
3228
3307
|
* @category models
|
|
3229
3308
|
* @since 4.0.0
|
|
3230
3309
|
*/
|
|
@@ -3237,9 +3316,11 @@ export class SlidingStrategy<in out A> implements PubSub.Strategy<A> {
|
|
|
3237
3316
|
pubsub: PubSub.Atomic<A>,
|
|
3238
3317
|
subscribers: PubSub.Subscribers<A>,
|
|
3239
3318
|
elements: Iterable<A>,
|
|
3240
|
-
_isShutdown: MutableRef.MutableRef<boolean
|
|
3319
|
+
_isShutdown: MutableRef.MutableRef<boolean>,
|
|
3320
|
+
ended: MutableRef.MutableRef<Option.Option<A>>
|
|
3241
3321
|
): Effect.Effect<boolean> {
|
|
3242
3322
|
return Effect.sync(() => {
|
|
3323
|
+
if (Option.isSome(ended.current)) return false
|
|
3243
3324
|
this.slidingPublishUnsafe(pubsub, elements)
|
|
3244
3325
|
this.completeSubscribersUnsafe(pubsub, subscribers)
|
|
3245
3326
|
return true
|
package/src/Pull.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* filtering, catching, converting, and matching done signals separately from
|
|
9
9
|
* ordinary failures.
|
|
10
10
|
*
|
|
11
|
+
* @stability stable
|
|
11
12
|
* @since 4.0.0
|
|
12
13
|
*/
|
|
13
14
|
import * as Cause from "./Cause.ts"
|
|
@@ -34,6 +35,7 @@ import * as Result from "./Result.ts"
|
|
|
34
35
|
* consumers can distinguish ordinary failures from end-of-input and carry a
|
|
35
36
|
* leftover value when needed.
|
|
36
37
|
*
|
|
38
|
+
* @stability stable
|
|
37
39
|
* @category models
|
|
38
40
|
* @since 4.0.0
|
|
39
41
|
*/
|
|
@@ -53,6 +55,7 @@ export interface Pull<out A, out E = never, out Done = void, out R = never>
|
|
|
53
55
|
* @see {@link Leftover} for extracting the completion leftover type
|
|
54
56
|
* @see {@link Services} for extracting the required services type instead
|
|
55
57
|
*
|
|
58
|
+
* @stability stable
|
|
56
59
|
* @category utility types
|
|
57
60
|
* @since 4.0.0
|
|
58
61
|
*/
|
|
@@ -71,6 +74,7 @@ export type Success<P> = P extends Effect<infer _A, infer _E, infer _R> ? _A : n
|
|
|
71
74
|
* @see {@link Services} for extracting the required services type instead
|
|
72
75
|
* @see {@link ExcludeDone} for excluding `Cause.Done` from an error union
|
|
73
76
|
*
|
|
77
|
+
* @stability stable
|
|
74
78
|
* @category utility types
|
|
75
79
|
* @since 4.0.0
|
|
76
80
|
*/
|
|
@@ -90,6 +94,7 @@ export type Error<P> = P extends Effect<infer _A, infer _E, infer _R> ? _E exten
|
|
|
90
94
|
* @see {@link Error} for extracting the ordinary failure type, excluding `Cause.Done`
|
|
91
95
|
* @see {@link Services} for extracting the required services type instead
|
|
92
96
|
*
|
|
97
|
+
* @stability stable
|
|
93
98
|
* @category utility types
|
|
94
99
|
* @since 4.0.0
|
|
95
100
|
*/
|
|
@@ -108,6 +113,7 @@ export type Leftover<P> = P extends Effect<infer _A, infer _E, infer _R> ? _E ex
|
|
|
108
113
|
* @see {@link Error} for extracting the ordinary failure type
|
|
109
114
|
* @see {@link Leftover} for extracting the completion leftover type
|
|
110
115
|
*
|
|
116
|
+
* @stability stable
|
|
111
117
|
* @category utility types
|
|
112
118
|
* @since 4.0.0
|
|
113
119
|
*/
|
|
@@ -124,6 +130,7 @@ export type Services<P> = P extends Effect<infer _A, infer _E, infer _R> ? _R :
|
|
|
124
130
|
* @see {@link Error} for extracting ordinary failures from a `Pull`
|
|
125
131
|
* @see {@link Leftover} for extracting the completion leftover type
|
|
126
132
|
*
|
|
133
|
+
* @stability stable
|
|
127
134
|
* @category utility types
|
|
128
135
|
* @since 4.0.0
|
|
129
136
|
*/
|
|
@@ -151,6 +158,7 @@ export type ExcludeDone<E> = Exclude<E, Cause.Done<any>>
|
|
|
151
158
|
* @see {@link matchEffect} for handling success, ordinary failure, and done outcomes explicitly
|
|
152
159
|
* @see {@link filterDoneLeftover} for extracting a done leftover from an existing `Cause`
|
|
153
160
|
*
|
|
161
|
+
* @stability stable
|
|
154
162
|
* @category error handling
|
|
155
163
|
* @since 4.0.0
|
|
156
164
|
*/
|
|
@@ -177,6 +185,7 @@ export const catchDone: {
|
|
|
177
185
|
* @see {@link matchEffect} for handling success, ordinary failure, and done outcomes explicitly
|
|
178
186
|
* @see {@link filterDoneLeftover} for extracting a done leftover from an existing `Cause`
|
|
179
187
|
*
|
|
188
|
+
* @stability stable
|
|
180
189
|
* @category error handling
|
|
181
190
|
* @since 4.0.0
|
|
182
191
|
*/
|
|
@@ -205,6 +214,7 @@ export const catchDone: {
|
|
|
205
214
|
* @see {@link matchEffect} for handling success, ordinary failure, and done outcomes explicitly
|
|
206
215
|
* @see {@link filterDoneLeftover} for extracting a done leftover from an existing `Cause`
|
|
207
216
|
*
|
|
217
|
+
* @stability stable
|
|
208
218
|
* @category error handling
|
|
209
219
|
* @since 4.0.0
|
|
210
220
|
*/
|
|
@@ -230,6 +240,7 @@ export const catchDone: {
|
|
|
230
240
|
* @see {@link filterDone} for extracting the `Cause.Done` value from a `Cause`
|
|
231
241
|
* @see {@link filterNoDone} for selecting causes with no done failures
|
|
232
242
|
*
|
|
243
|
+
* @stability stable
|
|
233
244
|
* @category predicates
|
|
234
245
|
* @since 4.0.0
|
|
235
246
|
*/
|
|
@@ -247,6 +258,7 @@ export const isDoneCause = <E>(cause: Cause.Cause<E>): boolean => cause.reasons.
|
|
|
247
258
|
* @see {@link isDoneCause} for checking an entire `Cause` for any done reason
|
|
248
259
|
* @see {@link filterDone} for extracting the `Cause.Done` value from a `Cause`
|
|
249
260
|
*
|
|
261
|
+
* @stability stable
|
|
250
262
|
* @category guards
|
|
251
263
|
* @since 4.0.0
|
|
252
264
|
*/
|
|
@@ -271,6 +283,7 @@ export const isDoneFailure = <E>(
|
|
|
271
283
|
* done signal. Without a done signal the `Result` fails with the original
|
|
272
284
|
* cause.
|
|
273
285
|
*
|
|
286
|
+
* @stability stable
|
|
274
287
|
* @category filtering
|
|
275
288
|
* @since 4.0.0
|
|
276
289
|
*/
|
|
@@ -311,6 +324,7 @@ export const filterDone: <E>(
|
|
|
311
324
|
* @see {@link filterDoneLeftover} for extracting only the done leftover value
|
|
312
325
|
* @see {@link filterNoDone} for the inverse filter that succeeds only when no done failure is present
|
|
313
326
|
*
|
|
327
|
+
* @stability stable
|
|
314
328
|
* @category filtering
|
|
315
329
|
* @since 4.0.0
|
|
316
330
|
*/
|
|
@@ -334,6 +348,7 @@ export const filterDoneVoid: <E extends Cause.Done>(
|
|
|
334
348
|
* @see {@link filterDone} for the inverse typed done filter
|
|
335
349
|
* @see {@link filterDoneVoid} for done detection when the payload is not needed
|
|
336
350
|
*
|
|
351
|
+
* @stability stable
|
|
337
352
|
* @category filtering
|
|
338
353
|
* @since 4.0.0
|
|
339
354
|
*/
|
|
@@ -354,6 +369,7 @@ export const filterNoDone: <E>(
|
|
|
354
369
|
* Use to extract only the leftover value carried by a `Cause.Done` completion
|
|
355
370
|
* signal.
|
|
356
371
|
*
|
|
372
|
+
* @stability stable
|
|
357
373
|
* @category filtering
|
|
358
374
|
* @since 4.0.0
|
|
359
375
|
*/
|
|
@@ -383,6 +399,7 @@ export const filterDoneLeftover: <E>(
|
|
|
383
399
|
* @see {@link filterDone} for extracting the done signal without converting the cause to an `Exit`
|
|
384
400
|
* @see {@link matchEffect} for handling `Pull` success, failure, and done outcomes directly
|
|
385
401
|
*
|
|
402
|
+
* @stability stable
|
|
386
403
|
* @category converting
|
|
387
404
|
* @since 4.0.0
|
|
388
405
|
*/
|
|
@@ -414,6 +431,7 @@ export const doneExitFromCause = <E>(cause: Cause.Cause<E>): Exit.Exit<Cause.Don
|
|
|
414
431
|
* await Effect.runPromise(result) // => "Stream halted with: stream ended"
|
|
415
432
|
* ```
|
|
416
433
|
*
|
|
434
|
+
* @stability stable
|
|
417
435
|
* @category pattern matching
|
|
418
436
|
* @since 4.0.0
|
|
419
437
|
*/
|
|
@@ -441,6 +459,7 @@ export const matchEffect: {
|
|
|
441
459
|
* await Effect.runPromise(result) // => "Stream halted with: stream ended"
|
|
442
460
|
* ```
|
|
443
461
|
*
|
|
462
|
+
* @stability stable
|
|
444
463
|
* @category pattern matching
|
|
445
464
|
* @since 4.0.0
|
|
446
465
|
*/
|
|
@@ -474,6 +493,7 @@ export const matchEffect: {
|
|
|
474
493
|
* await Effect.runPromise(result) // => "Stream halted with: stream ended"
|
|
475
494
|
* ```
|
|
476
495
|
*
|
|
496
|
+
* @stability stable
|
|
477
497
|
* @category pattern matching
|
|
478
498
|
* @since 4.0.0
|
|
479
499
|
*/
|