@depup/effect 3.20.0-depup.0
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/.index/package.json +6 -0
- package/Arbitrary/package.json +6 -0
- package/Array/package.json +6 -0
- package/BigDecimal/package.json +6 -0
- package/BigInt/package.json +6 -0
- package/Boolean/package.json +6 -0
- package/Brand/package.json +6 -0
- package/Cache/package.json +6 -0
- package/Cause/package.json +6 -0
- package/Channel/package.json +6 -0
- package/ChildExecutorDecision/package.json +6 -0
- package/Chunk/package.json +6 -0
- package/Clock/package.json +6 -0
- package/Config/package.json +6 -0
- package/ConfigError/package.json +6 -0
- package/ConfigProvider/package.json +6 -0
- package/ConfigProviderPathPatch/package.json +6 -0
- package/Console/package.json +6 -0
- package/Context/package.json +6 -0
- package/Cron/package.json +6 -0
- package/Data/package.json +6 -0
- package/DateTime/package.json +6 -0
- package/DefaultServices/package.json +6 -0
- package/Deferred/package.json +6 -0
- package/Differ/package.json +6 -0
- package/Duration/package.json +6 -0
- package/Effect/package.json +6 -0
- package/Effectable/package.json +6 -0
- package/Either/package.json +6 -0
- package/Encoding/package.json +6 -0
- package/Equal/package.json +6 -0
- package/Equivalence/package.json +6 -0
- package/ExecutionPlan/package.json +6 -0
- package/ExecutionStrategy/package.json +6 -0
- package/Exit/package.json +6 -0
- package/FastCheck/package.json +6 -0
- package/Fiber/package.json +6 -0
- package/FiberHandle/package.json +6 -0
- package/FiberId/package.json +6 -0
- package/FiberMap/package.json +6 -0
- package/FiberRef/package.json +6 -0
- package/FiberRefs/package.json +6 -0
- package/FiberRefsPatch/package.json +6 -0
- package/FiberSet/package.json +6 -0
- package/FiberStatus/package.json +6 -0
- package/Function/package.json +6 -0
- package/GlobalValue/package.json +6 -0
- package/Graph/package.json +6 -0
- package/GroupBy/package.json +6 -0
- package/HKT/package.json +6 -0
- package/Hash/package.json +6 -0
- package/HashMap/package.json +6 -0
- package/HashRing/package.json +6 -0
- package/HashSet/package.json +6 -0
- package/Inspectable/package.json +6 -0
- package/Iterable/package.json +6 -0
- package/JSONSchema/package.json +6 -0
- package/KeyedPool/package.json +6 -0
- package/LICENSE +21 -0
- package/Layer/package.json +6 -0
- package/LayerMap/package.json +6 -0
- package/List/package.json +6 -0
- package/LogLevel/package.json +6 -0
- package/LogSpan/package.json +6 -0
- package/Logger/package.json +6 -0
- package/Mailbox/package.json +6 -0
- package/ManagedRuntime/package.json +6 -0
- package/Match/package.json +6 -0
- package/MergeDecision/package.json +6 -0
- package/MergeState/package.json +6 -0
- package/MergeStrategy/package.json +6 -0
- package/Metric/package.json +6 -0
- package/MetricBoundaries/package.json +6 -0
- package/MetricHook/package.json +6 -0
- package/MetricKey/package.json +6 -0
- package/MetricKeyType/package.json +6 -0
- package/MetricLabel/package.json +6 -0
- package/MetricPair/package.json +6 -0
- package/MetricPolling/package.json +6 -0
- package/MetricRegistry/package.json +6 -0
- package/MetricState/package.json +6 -0
- package/Micro/package.json +6 -0
- package/ModuleVersion/package.json +6 -0
- package/MutableHashMap/package.json +6 -0
- package/MutableHashSet/package.json +6 -0
- package/MutableList/package.json +6 -0
- package/MutableQueue/package.json +6 -0
- package/MutableRef/package.json +6 -0
- package/NonEmptyIterable/package.json +6 -0
- package/Number/package.json +6 -0
- package/Option/package.json +6 -0
- package/Order/package.json +6 -0
- package/Ordering/package.json +6 -0
- package/ParseResult/package.json +6 -0
- package/PartitionedSemaphore/package.json +6 -0
- package/Pipeable/package.json +6 -0
- package/Pool/package.json +6 -0
- package/Predicate/package.json +6 -0
- package/Pretty/package.json +6 -0
- package/PrimaryKey/package.json +6 -0
- package/PubSub/package.json +6 -0
- package/Queue/package.json +6 -0
- package/README.md +32 -0
- package/Random/package.json +6 -0
- package/RateLimiter/package.json +6 -0
- package/RcMap/package.json +6 -0
- package/RcRef/package.json +6 -0
- package/Readable/package.json +6 -0
- package/Record/package.json +6 -0
- package/RedBlackTree/package.json +6 -0
- package/Redacted/package.json +6 -0
- package/Ref/package.json +6 -0
- package/RegExp/package.json +6 -0
- package/Reloadable/package.json +6 -0
- package/Request/package.json +6 -0
- package/RequestBlock/package.json +6 -0
- package/RequestResolver/package.json +6 -0
- package/Resource/package.json +6 -0
- package/Runtime/package.json +6 -0
- package/RuntimeFlags/package.json +6 -0
- package/RuntimeFlagsPatch/package.json +6 -0
- package/STM/package.json +6 -0
- package/Schedule/package.json +6 -0
- package/ScheduleDecision/package.json +6 -0
- package/ScheduleInterval/package.json +6 -0
- package/ScheduleIntervals/package.json +6 -0
- package/Scheduler/package.json +6 -0
- package/Schema/package.json +6 -0
- package/SchemaAST/package.json +6 -0
- package/Scope/package.json +6 -0
- package/ScopedCache/package.json +6 -0
- package/ScopedRef/package.json +6 -0
- package/Secret/package.json +6 -0
- package/SingleProducerAsyncInput/package.json +6 -0
- package/Sink/package.json +6 -0
- package/SortedMap/package.json +6 -0
- package/SortedSet/package.json +6 -0
- package/Stream/package.json +6 -0
- package/StreamEmit/package.json +6 -0
- package/StreamHaltStrategy/package.json +6 -0
- package/Streamable/package.json +6 -0
- package/String/package.json +6 -0
- package/Struct/package.json +6 -0
- package/Subscribable/package.json +6 -0
- package/SubscriptionRef/package.json +6 -0
- package/Supervisor/package.json +6 -0
- package/Symbol/package.json +6 -0
- package/SynchronizedRef/package.json +6 -0
- package/TArray/package.json +6 -0
- package/TDeferred/package.json +6 -0
- package/TMap/package.json +6 -0
- package/TPriorityQueue/package.json +6 -0
- package/TPubSub/package.json +6 -0
- package/TQueue/package.json +6 -0
- package/TRandom/package.json +6 -0
- package/TReentrantLock/package.json +6 -0
- package/TRef/package.json +6 -0
- package/TSemaphore/package.json +6 -0
- package/TSet/package.json +6 -0
- package/TSubscriptionRef/package.json +6 -0
- package/Take/package.json +6 -0
- package/TestAnnotation/package.json +6 -0
- package/TestAnnotationMap/package.json +6 -0
- package/TestAnnotations/package.json +6 -0
- package/TestClock/package.json +6 -0
- package/TestConfig/package.json +6 -0
- package/TestContext/package.json +6 -0
- package/TestLive/package.json +6 -0
- package/TestServices/package.json +6 -0
- package/TestSized/package.json +6 -0
- package/Tracer/package.json +6 -0
- package/Trie/package.json +6 -0
- package/Tuple/package.json +6 -0
- package/Types/package.json +6 -0
- package/Unify/package.json +6 -0
- package/UpstreamPullRequest/package.json +6 -0
- package/UpstreamPullStrategy/package.json +6 -0
- package/Utils/package.json +6 -0
- package/changes.json +14 -0
- package/dist/cjs/Arbitrary.js +813 -0
- package/dist/cjs/Arbitrary.js.map +1 -0
- package/dist/cjs/Array.js +2695 -0
- package/dist/cjs/Array.js.map +1 -0
- package/dist/cjs/BigDecimal.js +1116 -0
- package/dist/cjs/BigDecimal.js.map +1 -0
- package/dist/cjs/BigInt.js +567 -0
- package/dist/cjs/BigInt.js.map +1 -0
- package/dist/cjs/Boolean.js +251 -0
- package/dist/cjs/Boolean.js.map +1 -0
- package/dist/cjs/Brand.js +175 -0
- package/dist/cjs/Brand.js.map +1 -0
- package/dist/cjs/Cache.js +50 -0
- package/dist/cjs/Cache.js.map +1 -0
- package/dist/cjs/Cause.js +1011 -0
- package/dist/cjs/Cause.js.map +1 -0
- package/dist/cjs/Channel.js +889 -0
- package/dist/cjs/Channel.js.map +1 -0
- package/dist/cjs/ChildExecutorDecision.js +72 -0
- package/dist/cjs/ChildExecutorDecision.js.map +1 -0
- package/dist/cjs/Chunk.js +1114 -0
- package/dist/cjs/Chunk.js.map +1 -0
- package/dist/cjs/Clock.js +45 -0
- package/dist/cjs/Clock.js.map +1 -0
- package/dist/cjs/Config.js +328 -0
- package/dist/cjs/Config.js.map +1 -0
- package/dist/cjs/ConfigError.js +114 -0
- package/dist/cjs/ConfigError.js.map +1 -0
- package/dist/cjs/ConfigProvider.js +173 -0
- package/dist/cjs/ConfigProvider.js.map +1 -0
- package/dist/cjs/ConfigProviderPathPatch.js +38 -0
- package/dist/cjs/ConfigProviderPathPatch.js.map +1 -0
- package/dist/cjs/Console.js +125 -0
- package/dist/cjs/Console.js.map +1 -0
- package/dist/cjs/Context.js +367 -0
- package/dist/cjs/Context.js.map +1 -0
- package/dist/cjs/Cron.js +583 -0
- package/dist/cjs/Cron.js.map +1 -0
- package/dist/cjs/Data.js +291 -0
- package/dist/cjs/Data.js.map +1 -0
- package/dist/cjs/DateTime.js +1084 -0
- package/dist/cjs/DateTime.js.map +1 -0
- package/dist/cjs/DefaultServices.js +19 -0
- package/dist/cjs/DefaultServices.js.map +1 -0
- package/dist/cjs/Deferred.js +167 -0
- package/dist/cjs/Deferred.js.map +1 -0
- package/dist/cjs/Differ.js +140 -0
- package/dist/cjs/Differ.js.map +1 -0
- package/dist/cjs/Duration.js +737 -0
- package/dist/cjs/Duration.js.map +1 -0
- package/dist/cjs/Effect.js +10717 -0
- package/dist/cjs/Effect.js.map +1 -0
- package/dist/cjs/Effectable.js +58 -0
- package/dist/cjs/Effectable.js.map +1 -0
- package/dist/cjs/Either.js +654 -0
- package/dist/cjs/Either.js.map +1 -0
- package/dist/cjs/Encoding.js +155 -0
- package/dist/cjs/Encoding.js.map +1 -0
- package/dist/cjs/Equal.js +81 -0
- package/dist/cjs/Equal.js.map +1 -0
- package/dist/cjs/Equivalence.js +181 -0
- package/dist/cjs/Equivalence.js.map +1 -0
- package/dist/cjs/ExecutionPlan.js +108 -0
- package/dist/cjs/ExecutionPlan.js.map +1 -0
- package/dist/cjs/ExecutionStrategy.js +62 -0
- package/dist/cjs/ExecutionStrategy.js.map +1 -0
- package/dist/cjs/Exit.js +256 -0
- package/dist/cjs/Exit.js.map +1 -0
- package/dist/cjs/FastCheck.js +17 -0
- package/dist/cjs/FastCheck.js.map +1 -0
- package/dist/cjs/Fiber.js +340 -0
- package/dist/cjs/Fiber.js.map +1 -0
- package/dist/cjs/FiberHandle.js +335 -0
- package/dist/cjs/FiberHandle.js.map +1 -0
- package/dist/cjs/FiberId.js +122 -0
- package/dist/cjs/FiberId.js.map +1 -0
- package/dist/cjs/FiberMap.js +374 -0
- package/dist/cjs/FiberMap.js.map +1 -0
- package/dist/cjs/FiberRef.js +243 -0
- package/dist/cjs/FiberRef.js.map +1 -0
- package/dist/cjs/FiberRefs.js +91 -0
- package/dist/cjs/FiberRefs.js.map +1 -0
- package/dist/cjs/FiberRefsPatch.js +39 -0
- package/dist/cjs/FiberRefsPatch.js.map +1 -0
- package/dist/cjs/FiberSet.js +308 -0
- package/dist/cjs/FiberSet.js.map +1 -0
- package/dist/cjs/FiberStatus.js +59 -0
- package/dist/cjs/FiberStatus.js.map +1 -0
- package/dist/cjs/Function.js +488 -0
- package/dist/cjs/Function.js.map +1 -0
- package/dist/cjs/GlobalValue.js +59 -0
- package/dist/cjs/GlobalValue.js.map +1 -0
- package/dist/cjs/Graph.js +3080 -0
- package/dist/cjs/Graph.js.map +1 -0
- package/dist/cjs/GroupBy.js +47 -0
- package/dist/cjs/GroupBy.js.map +1 -0
- package/dist/cjs/HKT.js +6 -0
- package/dist/cjs/HKT.js.map +1 -0
- package/dist/cjs/Hash.js +184 -0
- package/dist/cjs/Hash.js.map +1 -0
- package/dist/cjs/HashMap.js +322 -0
- package/dist/cjs/HashMap.js.map +1 -0
- package/dist/cjs/HashRing.js +257 -0
- package/dist/cjs/HashRing.js.map +1 -0
- package/dist/cjs/HashSet.js +1262 -0
- package/dist/cjs/HashSet.js.map +1 -0
- package/dist/cjs/Inspectable.js +213 -0
- package/dist/cjs/Inspectable.js.map +1 -0
- package/dist/cjs/Iterable.js +1009 -0
- package/dist/cjs/Iterable.js.map +1 -0
- package/dist/cjs/JSONSchema.js +727 -0
- package/dist/cjs/JSONSchema.js.map +1 -0
- package/dist/cjs/KeyedPool.js +83 -0
- package/dist/cjs/KeyedPool.js.map +1 -0
- package/dist/cjs/Layer.js +651 -0
- package/dist/cjs/Layer.js.map +1 -0
- package/dist/cjs/LayerMap.js +212 -0
- package/dist/cjs/LayerMap.js.map +1 -0
- package/dist/cjs/List.js +784 -0
- package/dist/cjs/List.js.map +1 -0
- package/dist/cjs/LogLevel.js +143 -0
- package/dist/cjs/LogLevel.js.map +1 -0
- package/dist/cjs/LogSpan.js +23 -0
- package/dist/cjs/LogSpan.js.map +1 -0
- package/dist/cjs/Logger.js +497 -0
- package/dist/cjs/Logger.js.map +1 -0
- package/dist/cjs/Mailbox.js +105 -0
- package/dist/cjs/Mailbox.js.map +1 -0
- package/dist/cjs/ManagedRuntime.js +49 -0
- package/dist/cjs/ManagedRuntime.js.map +1 -0
- package/dist/cjs/Match.js +819 -0
- package/dist/cjs/Match.js.map +1 -0
- package/dist/cjs/MergeDecision.js +42 -0
- package/dist/cjs/MergeDecision.js.map +1 -0
- package/dist/cjs/MergeState.js +65 -0
- package/dist/cjs/MergeState.js.map +1 -0
- package/dist/cjs/MergeStrategy.js +59 -0
- package/dist/cjs/MergeStrategy.js.map +1 -0
- package/dist/cjs/Metric.js +415 -0
- package/dist/cjs/Metric.js.map +1 -0
- package/dist/cjs/MetricBoundaries.js +40 -0
- package/dist/cjs/MetricBoundaries.js.map +1 -0
- package/dist/cjs/MetricHook.js +54 -0
- package/dist/cjs/MetricHook.js.map +1 -0
- package/dist/cjs/MetricKey.js +70 -0
- package/dist/cjs/MetricKey.js.map +1 -0
- package/dist/cjs/MetricKeyType.js +94 -0
- package/dist/cjs/MetricKeyType.js.map +1 -0
- package/dist/cjs/MetricLabel.js +24 -0
- package/dist/cjs/MetricLabel.js.map +1 -0
- package/dist/cjs/MetricPair.js +28 -0
- package/dist/cjs/MetricPair.js.map +1 -0
- package/dist/cjs/MetricPolling.js +66 -0
- package/dist/cjs/MetricPolling.js.map +1 -0
- package/dist/cjs/MetricRegistry.js +23 -0
- package/dist/cjs/MetricRegistry.js.map +1 -0
- package/dist/cjs/MetricState.js +94 -0
- package/dist/cjs/MetricState.js.map +1 -0
- package/dist/cjs/Micro.js +2582 -0
- package/dist/cjs/Micro.js.map +1 -0
- package/dist/cjs/ModuleVersion.js +25 -0
- package/dist/cjs/ModuleVersion.js.map +1 -0
- package/dist/cjs/MutableHashMap.js +314 -0
- package/dist/cjs/MutableHashMap.js.map +1 -0
- package/dist/cjs/MutableHashSet.js +524 -0
- package/dist/cjs/MutableHashSet.js.map +1 -0
- package/dist/cjs/MutableList.js +258 -0
- package/dist/cjs/MutableList.js.map +1 -0
- package/dist/cjs/MutableQueue.js +173 -0
- package/dist/cjs/MutableQueue.js.map +1 -0
- package/dist/cjs/MutableRef.js +144 -0
- package/dist/cjs/MutableRef.js.map +1 -0
- package/dist/cjs/NonEmptyIterable.js +23 -0
- package/dist/cjs/NonEmptyIterable.js.map +1 -0
- package/dist/cjs/Number.js +903 -0
- package/dist/cjs/Number.js.map +1 -0
- package/dist/cjs/Option.js +1769 -0
- package/dist/cjs/Option.js.map +1 -0
- package/dist/cjs/Order.js +275 -0
- package/dist/cjs/Order.js.map +1 -0
- package/dist/cjs/Ordering.js +80 -0
- package/dist/cjs/Ordering.js.map +1 -0
- package/dist/cjs/ParseResult.js +1594 -0
- package/dist/cjs/ParseResult.js.map +1 -0
- package/dist/cjs/PartitionedSemaphore.js +147 -0
- package/dist/cjs/PartitionedSemaphore.js.map +1 -0
- package/dist/cjs/Pipeable.js +70 -0
- package/dist/cjs/Pipeable.js.map +1 -0
- package/dist/cjs/Pool.js +107 -0
- package/dist/cjs/Pool.js.map +1 -0
- package/dist/cjs/Predicate.js +1159 -0
- package/dist/cjs/Predicate.js.map +1 -0
- package/dist/cjs/Pretty.js +183 -0
- package/dist/cjs/Pretty.js.map +1 -0
- package/dist/cjs/PrimaryKey.js +21 -0
- package/dist/cjs/PrimaryKey.js.map +1 -0
- package/dist/cjs/PubSub.js +127 -0
- package/dist/cjs/PubSub.js.map +1 -0
- package/dist/cjs/Queue.js +255 -0
- package/dist/cjs/Queue.js.map +1 -0
- package/dist/cjs/Random.js +145 -0
- package/dist/cjs/Random.js.map +1 -0
- package/dist/cjs/RateLimiter.js +84 -0
- package/dist/cjs/RateLimiter.js.map +1 -0
- package/dist/cjs/RcMap.js +76 -0
- package/dist/cjs/RcMap.js.map +1 -0
- package/dist/cjs/RcRef.js +58 -0
- package/dist/cjs/RcRef.js.map +1 -0
- package/dist/cjs/Readable.js +55 -0
- package/dist/cjs/Readable.js.map +1 -0
- package/dist/cjs/Record.js +865 -0
- package/dist/cjs/Record.js.map +1 -0
- package/dist/cjs/RedBlackTree.js +266 -0
- package/dist/cjs/RedBlackTree.js.map +1 -0
- package/dist/cjs/Redacted.js +101 -0
- package/dist/cjs/Redacted.js.map +1 -0
- package/dist/cjs/Ref.js +84 -0
- package/dist/cjs/Ref.js.map +1 -0
- package/dist/cjs/RegExp.js +46 -0
- package/dist/cjs/RegExp.js.map +1 -0
- package/dist/cjs/Reloadable.js +66 -0
- package/dist/cjs/Reloadable.js.map +1 -0
- package/dist/cjs/Request.js +148 -0
- package/dist/cjs/Request.js.map +1 -0
- package/dist/cjs/RequestBlock.js +43 -0
- package/dist/cjs/RequestBlock.js.map +1 -0
- package/dist/cjs/RequestResolver.js +185 -0
- package/dist/cjs/RequestResolver.js.map +1 -0
- package/dist/cjs/Resource.js +51 -0
- package/dist/cjs/Resource.js.map +1 -0
- package/dist/cjs/Runtime.js +188 -0
- package/dist/cjs/Runtime.js.map +1 -0
- package/dist/cjs/RuntimeFlags.js +259 -0
- package/dist/cjs/RuntimeFlags.js.map +1 -0
- package/dist/cjs/RuntimeFlagsPatch.js +142 -0
- package/dist/cjs/RuntimeFlagsPatch.js.map +1 -0
- package/dist/cjs/STM.js +981 -0
- package/dist/cjs/STM.js.map +1 -0
- package/dist/cjs/Schedule.js +1603 -0
- package/dist/cjs/Schedule.js.map +1 -0
- package/dist/cjs/ScheduleDecision.js +34 -0
- package/dist/cjs/ScheduleDecision.js.map +1 -0
- package/dist/cjs/ScheduleInterval.js +107 -0
- package/dist/cjs/ScheduleInterval.js.map +1 -0
- package/dist/cjs/ScheduleIntervals.js +85 -0
- package/dist/cjs/ScheduleIntervals.js.map +1 -0
- package/dist/cjs/Scheduler.js +308 -0
- package/dist/cjs/Scheduler.js.map +1 -0
- package/dist/cjs/Schema.js +6254 -0
- package/dist/cjs/Schema.js.map +1 -0
- package/dist/cjs/SchemaAST.js +2552 -0
- package/dist/cjs/SchemaAST.js.map +1 -0
- package/dist/cjs/Scope.js +102 -0
- package/dist/cjs/Scope.js.map +1 -0
- package/dist/cjs/ScopedCache.js +31 -0
- package/dist/cjs/ScopedCache.js.map +1 -0
- package/dist/cjs/ScopedRef.js +49 -0
- package/dist/cjs/ScopedRef.js.map +1 -0
- package/dist/cjs/Secret.js +51 -0
- package/dist/cjs/Secret.js.map +1 -0
- package/dist/cjs/SingleProducerAsyncInput.js +14 -0
- package/dist/cjs/SingleProducerAsyncInput.js.map +1 -0
- package/dist/cjs/Sink.js +872 -0
- package/dist/cjs/Sink.js.map +1 -0
- package/dist/cjs/SortedMap.js +189 -0
- package/dist/cjs/SortedMap.js.map +1 -0
- package/dist/cjs/SortedSet.js +251 -0
- package/dist/cjs/SortedSet.js.map +1 -0
- package/dist/cjs/Stream.js +4112 -0
- package/dist/cjs/Stream.js.map +1 -0
- package/dist/cjs/StreamEmit.js +6 -0
- package/dist/cjs/StreamEmit.js.map +1 -0
- package/dist/cjs/StreamHaltStrategy.js +65 -0
- package/dist/cjs/StreamHaltStrategy.js.map +1 -0
- package/dist/cjs/Streamable.js +45 -0
- package/dist/cjs/Streamable.js.map +1 -0
- package/dist/cjs/String.js +680 -0
- package/dist/cjs/String.js.map +1 -0
- package/dist/cjs/Struct.js +202 -0
- package/dist/cjs/Struct.js.map +1 -0
- package/dist/cjs/Subscribable.js +67 -0
- package/dist/cjs/Subscribable.js.map +1 -0
- package/dist/cjs/SubscriptionRef.js +123 -0
- package/dist/cjs/SubscriptionRef.js.map +1 -0
- package/dist/cjs/Supervisor.js +115 -0
- package/dist/cjs/Supervisor.js.map +1 -0
- package/dist/cjs/Symbol.js +35 -0
- package/dist/cjs/Symbol.js.map +1 -0
- package/dist/cjs/SynchronizedRef.js +126 -0
- package/dist/cjs/SynchronizedRef.js.map +1 -0
- package/dist/cjs/TArray.js +314 -0
- package/dist/cjs/TArray.js.map +1 -0
- package/dist/cjs/TDeferred.js +40 -0
- package/dist/cjs/TDeferred.js.map +1 -0
- package/dist/cjs/TMap.js +286 -0
- package/dist/cjs/TMap.js.map +1 -0
- package/dist/cjs/TPriorityQueue.js +143 -0
- package/dist/cjs/TPriorityQueue.js.map +1 -0
- package/dist/cjs/TPubSub.js +138 -0
- package/dist/cjs/TPubSub.js.map +1 -0
- package/dist/cjs/TQueue.js +237 -0
- package/dist/cjs/TQueue.js.map +1 -0
- package/dist/cjs/TRandom.js +72 -0
- package/dist/cjs/TRandom.js.map +1 -0
- package/dist/cjs/TReentrantLock.js +149 -0
- package/dist/cjs/TReentrantLock.js.map +1 -0
- package/dist/cjs/TRef.js +83 -0
- package/dist/cjs/TRef.js.map +1 -0
- package/dist/cjs/TSemaphore.js +73 -0
- package/dist/cjs/TSemaphore.js.map +1 -0
- package/dist/cjs/TSet.js +208 -0
- package/dist/cjs/TSet.js.map +1 -0
- package/dist/cjs/TSubscriptionRef.js +95 -0
- package/dist/cjs/TSubscriptionRef.js.map +1 -0
- package/dist/cjs/Take.js +155 -0
- package/dist/cjs/Take.js.map +1 -0
- package/dist/cjs/TestAnnotation.js +105 -0
- package/dist/cjs/TestAnnotation.js.map +1 -0
- package/dist/cjs/TestAnnotationMap.js +91 -0
- package/dist/cjs/TestAnnotationMap.js.map +1 -0
- package/dist/cjs/TestAnnotations.js +71 -0
- package/dist/cjs/TestAnnotations.js.map +1 -0
- package/dist/cjs/TestClock.js +372 -0
- package/dist/cjs/TestClock.js.map +1 -0
- package/dist/cjs/TestConfig.js +22 -0
- package/dist/cjs/TestConfig.js.map +1 -0
- package/dist/cjs/TestContext.js +28 -0
- package/dist/cjs/TestContext.js.map +1 -0
- package/dist/cjs/TestLive.js +39 -0
- package/dist/cjs/TestLive.js.map +1 -0
- package/dist/cjs/TestServices.js +255 -0
- package/dist/cjs/TestServices.js.map +1 -0
- package/dist/cjs/TestSized.js +46 -0
- package/dist/cjs/TestSized.js.map +1 -0
- package/dist/cjs/Tracer.js +44 -0
- package/dist/cjs/Tracer.js.map +1 -0
- package/dist/cjs/Trie.js +724 -0
- package/dist/cjs/Trie.js.map +1 -0
- package/dist/cjs/Tuple.js +210 -0
- package/dist/cjs/Tuple.js.map +1 -0
- package/dist/cjs/Types.js +6 -0
- package/dist/cjs/Types.js.map +1 -0
- package/dist/cjs/Unify.js +16 -0
- package/dist/cjs/Unify.js.map +1 -0
- package/dist/cjs/UpstreamPullRequest.js +59 -0
- package/dist/cjs/UpstreamPullRequest.js.map +1 -0
- package/dist/cjs/UpstreamPullStrategy.js +59 -0
- package/dist/cjs/UpstreamPullStrategy.js.map +1 -0
- package/dist/cjs/Utils.js +374 -0
- package/dist/cjs/Utils.js.map +1 -0
- package/dist/cjs/index.js +395 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal/array.js +13 -0
- package/dist/cjs/internal/array.js.map +1 -0
- package/dist/cjs/internal/blockedRequests.js +369 -0
- package/dist/cjs/internal/blockedRequests.js.map +1 -0
- package/dist/cjs/internal/cache.js +500 -0
- package/dist/cjs/internal/cache.js.map +1 -0
- package/dist/cjs/internal/cause.js +867 -0
- package/dist/cjs/internal/cause.js.map +1 -0
- package/dist/cjs/internal/channel/channelExecutor.js +697 -0
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -0
- package/dist/cjs/internal/channel/channelState.js +77 -0
- package/dist/cjs/internal/channel/channelState.js.map +1 -0
- package/dist/cjs/internal/channel/childExecutorDecision.js +74 -0
- package/dist/cjs/internal/channel/childExecutorDecision.js.map +1 -0
- package/dist/cjs/internal/channel/continuation.js +57 -0
- package/dist/cjs/internal/channel/continuation.js.map +1 -0
- package/dist/cjs/internal/channel/mergeDecision.js +60 -0
- package/dist/cjs/internal/channel/mergeDecision.js.map +1 -0
- package/dist/cjs/internal/channel/mergeState.js +83 -0
- package/dist/cjs/internal/channel/mergeState.js.map +1 -0
- package/dist/cjs/internal/channel/mergeStrategy.js +58 -0
- package/dist/cjs/internal/channel/mergeStrategy.js.map +1 -0
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js +171 -0
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -0
- package/dist/cjs/internal/channel/subexecutor.js +163 -0
- package/dist/cjs/internal/channel/subexecutor.js.map +1 -0
- package/dist/cjs/internal/channel/upstreamPullRequest.js +64 -0
- package/dist/cjs/internal/channel/upstreamPullRequest.js.map +1 -0
- package/dist/cjs/internal/channel/upstreamPullStrategy.js +64 -0
- package/dist/cjs/internal/channel/upstreamPullStrategy.js.map +1 -0
- package/dist/cjs/internal/channel.js +738 -0
- package/dist/cjs/internal/channel.js.map +1 -0
- package/dist/cjs/internal/clock.js +85 -0
- package/dist/cjs/internal/clock.js.map +1 -0
- package/dist/cjs/internal/completedRequestMap.js +11 -0
- package/dist/cjs/internal/completedRequestMap.js.map +1 -0
- package/dist/cjs/internal/concurrency.js +37 -0
- package/dist/cjs/internal/concurrency.js.map +1 -0
- package/dist/cjs/internal/config.js +397 -0
- package/dist/cjs/internal/config.js.map +1 -0
- package/dist/cjs/internal/configError.js +284 -0
- package/dist/cjs/internal/configError.js.map +1 -0
- package/dist/cjs/internal/configProvider/pathPatch.js +83 -0
- package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -0
- package/dist/cjs/internal/configProvider.js +443 -0
- package/dist/cjs/internal/configProvider.js.map +1 -0
- package/dist/cjs/internal/console.js +79 -0
- package/dist/cjs/internal/console.js.map +1 -0
- package/dist/cjs/internal/context.js +273 -0
- package/dist/cjs/internal/context.js.map +1 -0
- package/dist/cjs/internal/core-effect.js +872 -0
- package/dist/cjs/internal/core-effect.js.map +1 -0
- package/dist/cjs/internal/core-stream.js +258 -0
- package/dist/cjs/internal/core-stream.js.map +1 -0
- package/dist/cjs/internal/core.js +1713 -0
- package/dist/cjs/internal/core.js.map +1 -0
- package/dist/cjs/internal/data.js +37 -0
- package/dist/cjs/internal/data.js.map +1 -0
- package/dist/cjs/internal/dataSource.js +107 -0
- package/dist/cjs/internal/dataSource.js.map +1 -0
- package/dist/cjs/internal/dateTime.js +839 -0
- package/dist/cjs/internal/dateTime.js.map +1 -0
- package/dist/cjs/internal/defaultServices/console.js +99 -0
- package/dist/cjs/internal/defaultServices/console.js.map +1 -0
- package/dist/cjs/internal/defaultServices.js +92 -0
- package/dist/cjs/internal/defaultServices.js.map +1 -0
- package/dist/cjs/internal/deferred.js +36 -0
- package/dist/cjs/internal/deferred.js.map +1 -0
- package/dist/cjs/internal/differ/chunkPatch.js +139 -0
- package/dist/cjs/internal/differ/chunkPatch.js.map +1 -0
- package/dist/cjs/internal/differ/contextPatch.js +152 -0
- package/dist/cjs/internal/differ/contextPatch.js.map +1 -0
- package/dist/cjs/internal/differ/hashMapPatch.js +139 -0
- package/dist/cjs/internal/differ/hashMapPatch.js.map +1 -0
- package/dist/cjs/internal/differ/hashSetPatch.js +113 -0
- package/dist/cjs/internal/differ/hashSetPatch.js.map +1 -0
- package/dist/cjs/internal/differ/orPatch.js +184 -0
- package/dist/cjs/internal/differ/orPatch.js.map +1 -0
- package/dist/cjs/internal/differ/readonlyArrayPatch.js +138 -0
- package/dist/cjs/internal/differ/readonlyArrayPatch.js.map +1 -0
- package/dist/cjs/internal/differ.js +149 -0
- package/dist/cjs/internal/differ.js.map +1 -0
- package/dist/cjs/internal/doNotation.js +25 -0
- package/dist/cjs/internal/doNotation.js.map +1 -0
- package/dist/cjs/internal/effect/circular.js +420 -0
- package/dist/cjs/internal/effect/circular.js.map +1 -0
- package/dist/cjs/internal/effectable.js +120 -0
- package/dist/cjs/internal/effectable.js.map +1 -0
- package/dist/cjs/internal/either.js +100 -0
- package/dist/cjs/internal/either.js.map +1 -0
- package/dist/cjs/internal/encoding/base64.js +81 -0
- package/dist/cjs/internal/encoding/base64.js.map +1 -0
- package/dist/cjs/internal/encoding/base64Url.js +30 -0
- package/dist/cjs/internal/encoding/base64Url.js.map +1 -0
- package/dist/cjs/internal/encoding/common.js +48 -0
- package/dist/cjs/internal/encoding/common.js.map +1 -0
- package/dist/cjs/internal/encoding/hex.js +57 -0
- package/dist/cjs/internal/encoding/hex.js.map +1 -0
- package/dist/cjs/internal/errors.js +13 -0
- package/dist/cjs/internal/errors.js.map +1 -0
- package/dist/cjs/internal/executionPlan.js +68 -0
- package/dist/cjs/internal/executionPlan.js.map +1 -0
- package/dist/cjs/internal/executionStrategy.js +54 -0
- package/dist/cjs/internal/executionStrategy.js.map +1 -0
- package/dist/cjs/internal/fiber.js +279 -0
- package/dist/cjs/internal/fiber.js.map +1 -0
- package/dist/cjs/internal/fiberId.js +239 -0
- package/dist/cjs/internal/fiberId.js.map +1 -0
- package/dist/cjs/internal/fiberMessage.js +38 -0
- package/dist/cjs/internal/fiberMessage.js.map +1 -0
- package/dist/cjs/internal/fiberRefs/patch.js +115 -0
- package/dist/cjs/internal/fiberRefs/patch.js.map +1 -0
- package/dist/cjs/internal/fiberRefs.js +203 -0
- package/dist/cjs/internal/fiberRefs.js.map +1 -0
- package/dist/cjs/internal/fiberRuntime.js +2207 -0
- package/dist/cjs/internal/fiberRuntime.js.map +1 -0
- package/dist/cjs/internal/fiberScope.js +52 -0
- package/dist/cjs/internal/fiberScope.js.map +1 -0
- package/dist/cjs/internal/fiberStatus.js +85 -0
- package/dist/cjs/internal/fiberStatus.js.map +1 -0
- package/dist/cjs/internal/groupBy.js +222 -0
- package/dist/cjs/internal/groupBy.js.map +1 -0
- package/dist/cjs/internal/hashMap/array.js +56 -0
- package/dist/cjs/internal/hashMap/array.js.map +1 -0
- package/dist/cjs/internal/hashMap/bitwise.js +38 -0
- package/dist/cjs/internal/hashMap/bitwise.js.map +1 -0
- package/dist/cjs/internal/hashMap/config.js +17 -0
- package/dist/cjs/internal/hashMap/config.js.map +1 -0
- package/dist/cjs/internal/hashMap/keySet.js +12 -0
- package/dist/cjs/internal/hashMap/keySet.js.map +1 -0
- package/dist/cjs/internal/hashMap/node.js +268 -0
- package/dist/cjs/internal/hashMap/node.js.map +1 -0
- package/dist/cjs/internal/hashMap.js +379 -0
- package/dist/cjs/internal/hashMap.js.map +1 -0
- package/dist/cjs/internal/hashSet.js +198 -0
- package/dist/cjs/internal/hashSet.js.map +1 -0
- package/dist/cjs/internal/keyedPool.js +170 -0
- package/dist/cjs/internal/keyedPool.js.map +1 -0
- package/dist/cjs/internal/layer/circular.js +80 -0
- package/dist/cjs/internal/layer/circular.js.map +1 -0
- package/dist/cjs/internal/layer.js +595 -0
- package/dist/cjs/internal/layer.js.map +1 -0
- package/dist/cjs/internal/logSpan.js +26 -0
- package/dist/cjs/internal/logSpan.js.map +1 -0
- package/dist/cjs/internal/logger-circular.js +26 -0
- package/dist/cjs/internal/logger-circular.js.map +1 -0
- package/dist/cjs/internal/logger.js +381 -0
- package/dist/cjs/internal/logger.js.map +1 -0
- package/dist/cjs/internal/mailbox.js +462 -0
- package/dist/cjs/internal/mailbox.js.map +1 -0
- package/dist/cjs/internal/managedRuntime/circular.js +10 -0
- package/dist/cjs/internal/managedRuntime/circular.js.map +1 -0
- package/dist/cjs/internal/managedRuntime.js +95 -0
- package/dist/cjs/internal/managedRuntime.js.map +1 -0
- package/dist/cjs/internal/matcher.js +320 -0
- package/dist/cjs/internal/matcher.js.map +1 -0
- package/dist/cjs/internal/metric/boundaries.js +53 -0
- package/dist/cjs/internal/metric/boundaries.js.map +1 -0
- package/dist/cjs/internal/metric/hook.js +388 -0
- package/dist/cjs/internal/metric/hook.js.map +1 -0
- package/dist/cjs/internal/metric/key.js +73 -0
- package/dist/cjs/internal/metric/key.js.map +1 -0
- package/dist/cjs/internal/metric/keyType.js +188 -0
- package/dist/cjs/internal/metric/keyType.js.map +1 -0
- package/dist/cjs/internal/metric/label.js +45 -0
- package/dist/cjs/internal/metric/label.js.map +1 -0
- package/dist/cjs/internal/metric/pair.js +40 -0
- package/dist/cjs/internal/metric/pair.js.map +1 -0
- package/dist/cjs/internal/metric/polling.js +80 -0
- package/dist/cjs/internal/metric/polling.js.map +1 -0
- package/dist/cjs/internal/metric/registry.js +113 -0
- package/dist/cjs/internal/metric/registry.js.map +1 -0
- package/dist/cjs/internal/metric/state.js +201 -0
- package/dist/cjs/internal/metric/state.js.map +1 -0
- package/dist/cjs/internal/metric.js +204 -0
- package/dist/cjs/internal/metric.js.map +1 -0
- package/dist/cjs/internal/opCodes/cause.js +19 -0
- package/dist/cjs/internal/opCodes/cause.js.map +1 -0
- package/dist/cjs/internal/opCodes/channel.js +35 -0
- package/dist/cjs/internal/opCodes/channel.js.map +1 -0
- package/dist/cjs/internal/opCodes/channelChildExecutorDecision.js +13 -0
- package/dist/cjs/internal/opCodes/channelChildExecutorDecision.js.map +1 -0
- package/dist/cjs/internal/opCodes/channelMergeDecision.js +11 -0
- package/dist/cjs/internal/opCodes/channelMergeDecision.js.map +1 -0
- package/dist/cjs/internal/opCodes/channelMergeState.js +13 -0
- package/dist/cjs/internal/opCodes/channelMergeState.js.map +1 -0
- package/dist/cjs/internal/opCodes/channelMergeStrategy.js +11 -0
- package/dist/cjs/internal/opCodes/channelMergeStrategy.js.map +1 -0
- package/dist/cjs/internal/opCodes/channelState.js +15 -0
- package/dist/cjs/internal/opCodes/channelState.js.map +1 -0
- package/dist/cjs/internal/opCodes/channelUpstreamPullRequest.js +11 -0
- package/dist/cjs/internal/opCodes/channelUpstreamPullRequest.js.map +1 -0
- package/dist/cjs/internal/opCodes/channelUpstreamPullStrategy.js +11 -0
- package/dist/cjs/internal/opCodes/channelUpstreamPullStrategy.js.map +1 -0
- package/dist/cjs/internal/opCodes/config.js +29 -0
- package/dist/cjs/internal/opCodes/config.js.map +1 -0
- package/dist/cjs/internal/opCodes/configError.js +19 -0
- package/dist/cjs/internal/opCodes/configError.js.map +1 -0
- package/dist/cjs/internal/opCodes/continuation.js +11 -0
- package/dist/cjs/internal/opCodes/continuation.js.map +1 -0
- package/dist/cjs/internal/opCodes/deferred.js +11 -0
- package/dist/cjs/internal/opCodes/deferred.js.map +1 -0
- package/dist/cjs/internal/opCodes/effect.js +37 -0
- package/dist/cjs/internal/opCodes/effect.js.map +1 -0
- package/dist/cjs/internal/opCodes/layer.js +27 -0
- package/dist/cjs/internal/opCodes/layer.js.map +1 -0
- package/dist/cjs/internal/opCodes/streamHaltStrategy.js +15 -0
- package/dist/cjs/internal/opCodes/streamHaltStrategy.js.map +1 -0
- package/dist/cjs/internal/option.js +82 -0
- package/dist/cjs/internal/option.js.map +1 -0
- package/dist/cjs/internal/pool.js +288 -0
- package/dist/cjs/internal/pool.js.map +1 -0
- package/dist/cjs/internal/pubsub.js +1287 -0
- package/dist/cjs/internal/pubsub.js.map +1 -0
- package/dist/cjs/internal/query.js +102 -0
- package/dist/cjs/internal/query.js.map +1 -0
- package/dist/cjs/internal/queue.js +518 -0
- package/dist/cjs/internal/queue.js.map +1 -0
- package/dist/cjs/internal/random.js +128 -0
- package/dist/cjs/internal/random.js.map +1 -0
- package/dist/cjs/internal/rateLimiter.js +52 -0
- package/dist/cjs/internal/rateLimiter.js.map +1 -0
- package/dist/cjs/internal/rcMap.js +182 -0
- package/dist/cjs/internal/rcMap.js.map +1 -0
- package/dist/cjs/internal/rcRef.js +139 -0
- package/dist/cjs/internal/rcRef.js.map +1 -0
- package/dist/cjs/internal/redBlackTree/iterator.js +199 -0
- package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -0
- package/dist/cjs/internal/redBlackTree/node.js +60 -0
- package/dist/cjs/internal/redBlackTree/node.js.map +1 -0
- package/dist/cjs/internal/redBlackTree.js +1088 -0
- package/dist/cjs/internal/redBlackTree.js.map +1 -0
- package/dist/cjs/internal/redacted.js +67 -0
- package/dist/cjs/internal/redacted.js.map +1 -0
- package/dist/cjs/internal/ref.js +121 -0
- package/dist/cjs/internal/ref.js.map +1 -0
- package/dist/cjs/internal/reloadable.js +56 -0
- package/dist/cjs/internal/reloadable.js.map +1 -0
- package/dist/cjs/internal/request.js +104 -0
- package/dist/cjs/internal/request.js.map +1 -0
- package/dist/cjs/internal/resource.js +49 -0
- package/dist/cjs/internal/resource.js.map +1 -0
- package/dist/cjs/internal/ringBuffer.js +64 -0
- package/dist/cjs/internal/ringBuffer.js.map +1 -0
- package/dist/cjs/internal/runtime.js +321 -0
- package/dist/cjs/internal/runtime.js.map +1 -0
- package/dist/cjs/internal/runtimeFlags.js +126 -0
- package/dist/cjs/internal/runtimeFlags.js.map +1 -0
- package/dist/cjs/internal/runtimeFlagsPatch.js +52 -0
- package/dist/cjs/internal/runtimeFlagsPatch.js.map +1 -0
- package/dist/cjs/internal/schedule/decision.js +44 -0
- package/dist/cjs/internal/schedule/decision.js.map +1 -0
- package/dist/cjs/internal/schedule/interval.js +83 -0
- package/dist/cjs/internal/schedule/interval.js.map +1 -0
- package/dist/cjs/internal/schedule/intervals.js +134 -0
- package/dist/cjs/internal/schedule/intervals.js.map +1 -0
- package/dist/cjs/internal/schedule.js +900 -0
- package/dist/cjs/internal/schedule.js.map +1 -0
- package/dist/cjs/internal/schema/errors.js +113 -0
- package/dist/cjs/internal/schema/errors.js.map +1 -0
- package/dist/cjs/internal/schema/schemaId.js +49 -0
- package/dist/cjs/internal/schema/schemaId.js.map +1 -0
- package/dist/cjs/internal/schema/util.js +48 -0
- package/dist/cjs/internal/schema/util.js.map +1 -0
- package/dist/cjs/internal/scopedCache.js +398 -0
- package/dist/cjs/internal/scopedCache.js.map +1 -0
- package/dist/cjs/internal/scopedRef.js +53 -0
- package/dist/cjs/internal/scopedRef.js.map +1 -0
- package/dist/cjs/internal/secret.js +90 -0
- package/dist/cjs/internal/secret.js.map +1 -0
- package/dist/cjs/internal/singleShotGen.js +37 -0
- package/dist/cjs/internal/singleShotGen.js.map +1 -0
- package/dist/cjs/internal/sink.js +883 -0
- package/dist/cjs/internal/sink.js.map +1 -0
- package/dist/cjs/internal/stack.js +12 -0
- package/dist/cjs/internal/stack.js.map +1 -0
- package/dist/cjs/internal/stm/core.js +525 -0
- package/dist/cjs/internal/stm/core.js.map +1 -0
- package/dist/cjs/internal/stm/entry.js +57 -0
- package/dist/cjs/internal/stm/entry.js.map +1 -0
- package/dist/cjs/internal/stm/journal.js +104 -0
- package/dist/cjs/internal/stm/journal.js.map +1 -0
- package/dist/cjs/internal/stm/opCodes/stm.js +31 -0
- package/dist/cjs/internal/stm/opCodes/stm.js.map +1 -0
- package/dist/cjs/internal/stm/opCodes/stmState.js +13 -0
- package/dist/cjs/internal/stm/opCodes/stmState.js.map +1 -0
- package/dist/cjs/internal/stm/opCodes/strategy.js +13 -0
- package/dist/cjs/internal/stm/opCodes/strategy.js.map +1 -0
- package/dist/cjs/internal/stm/opCodes/tExit.js +17 -0
- package/dist/cjs/internal/stm/opCodes/tExit.js.map +1 -0
- package/dist/cjs/internal/stm/opCodes/tryCommit.js +11 -0
- package/dist/cjs/internal/stm/opCodes/tryCommit.js.map +1 -0
- package/dist/cjs/internal/stm/stm.js +514 -0
- package/dist/cjs/internal/stm/stm.js.map +1 -0
- package/dist/cjs/internal/stm/stmState.js +102 -0
- package/dist/cjs/internal/stm/stmState.js.map +1 -0
- package/dist/cjs/internal/stm/tArray.js +258 -0
- package/dist/cjs/internal/stm/tArray.js.map +1 -0
- package/dist/cjs/internal/stm/tDeferred.js +51 -0
- package/dist/cjs/internal/stm/tDeferred.js.map +1 -0
- package/dist/cjs/internal/stm/tExit.js +116 -0
- package/dist/cjs/internal/stm/tExit.js.map +1 -0
- package/dist/cjs/internal/stm/tMap.js +448 -0
- package/dist/cjs/internal/stm/tMap.js.map +1 -0
- package/dist/cjs/internal/stm/tPriorityQueue.js +164 -0
- package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -0
- package/dist/cjs/internal/stm/tPubSub.js +397 -0
- package/dist/cjs/internal/stm/tPubSub.js.map +1 -0
- package/dist/cjs/internal/stm/tQueue.js +284 -0
- package/dist/cjs/internal/stm/tQueue.js.map +1 -0
- package/dist/cjs/internal/stm/tRandom.js +92 -0
- package/dist/cjs/internal/stm/tRandom.js.map +1 -0
- package/dist/cjs/internal/stm/tReentrantLock.js +215 -0
- package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -0
- package/dist/cjs/internal/stm/tRef.js +110 -0
- package/dist/cjs/internal/stm/tRef.js.map +1 -0
- package/dist/cjs/internal/stm/tSemaphore.js +72 -0
- package/dist/cjs/internal/stm/tSemaphore.js.map +1 -0
- package/dist/cjs/internal/stm/tSet.js +104 -0
- package/dist/cjs/internal/stm/tSet.js.map +1 -0
- package/dist/cjs/internal/stm/tSubscriptionRef.js +177 -0
- package/dist/cjs/internal/stm/tSubscriptionRef.js.map +1 -0
- package/dist/cjs/internal/stm/tryCommit.js +25 -0
- package/dist/cjs/internal/stm/tryCommit.js.map +1 -0
- package/dist/cjs/internal/stm/txnId.js +18 -0
- package/dist/cjs/internal/stm/txnId.js.map +1 -0
- package/dist/cjs/internal/stm/versioned.js +15 -0
- package/dist/cjs/internal/stm/versioned.js.map +1 -0
- package/dist/cjs/internal/stream/debounceState.js +29 -0
- package/dist/cjs/internal/stream/debounceState.js.map +1 -0
- package/dist/cjs/internal/stream/emit.js +129 -0
- package/dist/cjs/internal/stream/emit.js.map +1 -0
- package/dist/cjs/internal/stream/haltStrategy.js +75 -0
- package/dist/cjs/internal/stream/haltStrategy.js.map +1 -0
- package/dist/cjs/internal/stream/handoff.js +65 -0
- package/dist/cjs/internal/stream/handoff.js.map +1 -0
- package/dist/cjs/internal/stream/handoffSignal.js +31 -0
- package/dist/cjs/internal/stream/handoffSignal.js.map +1 -0
- package/dist/cjs/internal/stream/pull.js +34 -0
- package/dist/cjs/internal/stream/pull.js.map +1 -0
- package/dist/cjs/internal/stream/sinkEndReason.js +19 -0
- package/dist/cjs/internal/stream/sinkEndReason.js.map +1 -0
- package/dist/cjs/internal/stream/zipAllState.js +41 -0
- package/dist/cjs/internal/stream/zipAllState.js.map +1 -0
- package/dist/cjs/internal/stream/zipChunksState.js +29 -0
- package/dist/cjs/internal/stream/zipChunksState.js.map +1 -0
- package/dist/cjs/internal/stream.js +2979 -0
- package/dist/cjs/internal/stream.js.map +1 -0
- package/dist/cjs/internal/string-utils.js +90 -0
- package/dist/cjs/internal/string-utils.js.map +1 -0
- package/dist/cjs/internal/subscriptionRef.js +72 -0
- package/dist/cjs/internal/subscriptionRef.js.map +1 -0
- package/dist/cjs/internal/supervisor/patch.js +135 -0
- package/dist/cjs/internal/supervisor/patch.js.map +1 -0
- package/dist/cjs/internal/supervisor.js +222 -0
- package/dist/cjs/internal/supervisor.js.map +1 -0
- package/dist/cjs/internal/synchronizedRef.js +51 -0
- package/dist/cjs/internal/synchronizedRef.js.map +1 -0
- package/dist/cjs/internal/take.js +130 -0
- package/dist/cjs/internal/take.js.map +1 -0
- package/dist/cjs/internal/testing/sleep.js +14 -0
- package/dist/cjs/internal/testing/sleep.js.map +1 -0
- package/dist/cjs/internal/testing/suspendedWarningData.js +58 -0
- package/dist/cjs/internal/testing/suspendedWarningData.js.map +1 -0
- package/dist/cjs/internal/testing/warningData.js +59 -0
- package/dist/cjs/internal/testing/warningData.js.map +1 -0
- package/dist/cjs/internal/tracer.js +134 -0
- package/dist/cjs/internal/tracer.js.map +1 -0
- package/dist/cjs/internal/trie.js +564 -0
- package/dist/cjs/internal/trie.js.map +1 -0
- package/dist/cjs/internal/version.js +14 -0
- package/dist/cjs/internal/version.js.map +1 -0
- package/dist/dts/Arbitrary.d.ts +69 -0
- package/dist/dts/Arbitrary.d.ts.map +1 -0
- package/dist/dts/Array.d.ts +5922 -0
- package/dist/dts/Array.d.ts.map +1 -0
- package/dist/dts/BigDecimal.d.ts +1483 -0
- package/dist/dts/BigDecimal.d.ts.map +1 -0
- package/dist/dts/BigInt.d.ts +1033 -0
- package/dist/dts/BigInt.d.ts.map +1 -0
- package/dist/dts/Boolean.d.ts +523 -0
- package/dist/dts/Boolean.d.ts.map +1 -0
- package/dist/dts/Brand.d.ts +234 -0
- package/dist/dts/Brand.d.ts.map +1 -0
- package/dist/dts/Cache.d.ts +241 -0
- package/dist/dts/Cache.d.ts.map +1 -0
- package/dist/dts/Cause.d.ts +1928 -0
- package/dist/dts/Cause.d.ts.map +1 -0
- package/dist/dts/Channel.d.ts +1989 -0
- package/dist/dts/Channel.d.ts.map +1 -0
- package/dist/dts/ChildExecutorDecision.d.ts +135 -0
- package/dist/dts/ChildExecutorDecision.d.ts.map +1 -0
- package/dist/dts/Chunk.d.ts +1709 -0
- package/dist/dts/Chunk.d.ts.map +1 -0
- package/dist/dts/Clock.d.ts +97 -0
- package/dist/dts/Clock.d.ts.map +1 -0
- package/dist/dts/Config.d.ts +667 -0
- package/dist/dts/Config.d.ts.map +1 -0
- package/dist/dts/ConfigError.d.ts +238 -0
- package/dist/dts/ConfigError.d.ts.map +1 -0
- package/dist/dts/ConfigProvider.d.ts +372 -0
- package/dist/dts/ConfigProvider.d.ts.map +1 -0
- package/dist/dts/ConfigProviderPathPatch.d.ts +118 -0
- package/dist/dts/ConfigProviderPathPatch.d.ts.map +1 -0
- package/dist/dts/Console.d.ts +224 -0
- package/dist/dts/Console.d.ts.map +1 -0
- package/dist/dts/Context.d.ts +823 -0
- package/dist/dts/Context.d.ts.map +1 -0
- package/dist/dts/Cron.d.ts +226 -0
- package/dist/dts/Cron.d.ts.map +1 -0
- package/dist/dts/Data.d.ts +613 -0
- package/dist/dts/Data.d.ts.map +1 -0
- package/dist/dts/DateTime.d.ts +2417 -0
- package/dist/dts/DateTime.d.ts.map +1 -0
- package/dist/dts/DefaultServices.d.ts +26 -0
- package/dist/dts/DefaultServices.d.ts.map +1 -0
- package/dist/dts/Deferred.d.ts +437 -0
- package/dist/dts/Deferred.d.ts.map +1 -0
- package/dist/dts/Differ.d.ts +420 -0
- package/dist/dts/Differ.d.ts.map +1 -0
- package/dist/dts/Duration.d.ts +557 -0
- package/dist/dts/Duration.d.ts.map +1 -0
- package/dist/dts/Effect.d.ts +26986 -0
- package/dist/dts/Effect.d.ts.map +1 -0
- package/dist/dts/Effectable.d.ts +93 -0
- package/dist/dts/Effectable.d.ts.map +1 -0
- package/dist/dts/Either.d.ts +1431 -0
- package/dist/dts/Either.d.ts.map +1 -0
- package/dist/dts/Encoding.d.ts +160 -0
- package/dist/dts/Encoding.d.ts.map +1 -0
- package/dist/dts/Equal.d.ts +34 -0
- package/dist/dts/Equal.d.ts.map +1 -0
- package/dist/dts/Equivalence.d.ts +158 -0
- package/dist/dts/Equivalence.d.ts.map +1 -0
- package/dist/dts/ExecutionPlan.d.ts +210 -0
- package/dist/dts/ExecutionPlan.d.ts.map +1 -0
- package/dist/dts/ExecutionStrategy.d.ts +122 -0
- package/dist/dts/ExecutionStrategy.d.ts.map +1 -0
- package/dist/dts/Exit.d.ts +663 -0
- package/dist/dts/Exit.d.ts.map +1 -0
- package/dist/dts/FastCheck.d.ts +9 -0
- package/dist/dts/FastCheck.d.ts.map +1 -0
- package/dist/dts/Fiber.d.ts +831 -0
- package/dist/dts/Fiber.d.ts.map +1 -0
- package/dist/dts/FiberHandle.d.ts +270 -0
- package/dist/dts/FiberHandle.d.ts.map +1 -0
- package/dist/dts/FiberId.d.ts +196 -0
- package/dist/dts/FiberId.d.ts.map +1 -0
- package/dist/dts/FiberMap.d.ts +368 -0
- package/dist/dts/FiberMap.d.ts.map +1 -0
- package/dist/dts/FiberRef.d.ts +422 -0
- package/dist/dts/FiberRef.d.ts.map +1 -0
- package/dist/dts/FiberRefs.d.ts +256 -0
- package/dist/dts/FiberRefs.d.ts.map +1 -0
- package/dist/dts/FiberRefsPatch.d.ts +125 -0
- package/dist/dts/FiberRefsPatch.d.ts.map +1 -0
- package/dist/dts/FiberSet.d.ts +236 -0
- package/dist/dts/FiberSet.d.ts.map +1 -0
- package/dist/dts/FiberStatus.d.ts +94 -0
- package/dist/dts/FiberStatus.d.ts.map +1 -0
- package/dist/dts/Function.d.ts +660 -0
- package/dist/dts/Function.d.ts.map +1 -0
- package/dist/dts/GlobalValue.d.ts +25 -0
- package/dist/dts/GlobalValue.d.ts.map +1 -0
- package/dist/dts/Graph.d.ts +1753 -0
- package/dist/dts/Graph.d.ts.map +1 -0
- package/dist/dts/GroupBy.d.ts +125 -0
- package/dist/dts/GroupBy.d.ts.map +1 -0
- package/dist/dts/HKT.d.ts +41 -0
- package/dist/dts/HKT.d.ts.map +1 -0
- package/dist/dts/Hash.d.ts +79 -0
- package/dist/dts/Hash.d.ts.map +1 -0
- package/dist/dts/HashMap.d.ts +863 -0
- package/dist/dts/HashMap.d.ts.map +1 -0
- package/dist/dts/HashRing.d.ts +158 -0
- package/dist/dts/HashRing.d.ts.map +1 -0
- package/dist/dts/HashSet.d.ts +2271 -0
- package/dist/dts/HashSet.d.ts.map +1 -0
- package/dist/dts/Inspectable.d.ts +88 -0
- package/dist/dts/Inspectable.d.ts.map +1 -0
- package/dist/dts/Iterable.d.ts +1047 -0
- package/dist/dts/Iterable.d.ts.map +1 -0
- package/dist/dts/JSONSchema.d.ts +268 -0
- package/dist/dts/JSONSchema.d.ts.map +1 -0
- package/dist/dts/KeyedPool.d.ts +182 -0
- package/dist/dts/KeyedPool.d.ts.map +1 -0
- package/dist/dts/Layer.d.ts +1374 -0
- package/dist/dts/Layer.d.ts.map +1 -0
- package/dist/dts/LayerMap.d.ts +265 -0
- package/dist/dts/LayerMap.d.ts.map +1 -0
- package/dist/dts/List.d.ts +937 -0
- package/dist/dts/List.d.ts.map +1 -0
- package/dist/dts/LogLevel.d.ts +333 -0
- package/dist/dts/LogLevel.d.ts.map +1 -0
- package/dist/dts/LogSpan.d.ts +19 -0
- package/dist/dts/LogSpan.d.ts.map +1 -0
- package/dist/dts/Logger.d.ts +795 -0
- package/dist/dts/Logger.d.ts.map +1 -0
- package/dist/dts/Mailbox.d.ts +274 -0
- package/dist/dts/Mailbox.d.ts.map +1 -0
- package/dist/dts/ManagedRuntime.d.ts +154 -0
- package/dist/dts/ManagedRuntime.d.ts.map +1 -0
- package/dist/dts/Match.d.ts +1140 -0
- package/dist/dts/Match.d.ts.map +1 -0
- package/dist/dts/MergeDecision.d.ts +86 -0
- package/dist/dts/MergeDecision.d.ts.map +1 -0
- package/dist/dts/MergeState.d.ts +130 -0
- package/dist/dts/MergeState.d.ts.map +1 -0
- package/dist/dts/MergeStrategy.d.ts +104 -0
- package/dist/dts/MergeStrategy.d.ts.map +1 -0
- package/dist/dts/Metric.d.ts +1042 -0
- package/dist/dts/Metric.d.ts.map +1 -0
- package/dist/dts/MetricBoundaries.d.ts +58 -0
- package/dist/dts/MetricBoundaries.d.ts.map +1 -0
- package/dist/dts/MetricHook.d.ts +155 -0
- package/dist/dts/MetricHook.d.ts.map +1 -0
- package/dist/dts/MetricKey.d.ts +222 -0
- package/dist/dts/MetricKey.d.ts.map +1 -0
- package/dist/dts/MetricKeyType.d.ts +224 -0
- package/dist/dts/MetricKeyType.d.ts.map +1 -0
- package/dist/dts/MetricLabel.d.ts +42 -0
- package/dist/dts/MetricLabel.d.ts.map +1 -0
- package/dist/dts/MetricPair.d.ts +54 -0
- package/dist/dts/MetricPair.d.ts.map +1 -0
- package/dist/dts/MetricPolling.d.ts +151 -0
- package/dist/dts/MetricPolling.d.ts.map +1 -0
- package/dist/dts/MetricRegistry.d.ts +34 -0
- package/dist/dts/MetricRegistry.d.ts.map +1 -0
- package/dist/dts/MetricState.d.ts +238 -0
- package/dist/dts/MetricState.d.ts.map +1 -0
- package/dist/dts/Micro.d.ts +3440 -0
- package/dist/dts/Micro.d.ts.map +1 -0
- package/dist/dts/ModuleVersion.d.ts +11 -0
- package/dist/dts/ModuleVersion.d.ts.map +1 -0
- package/dist/dts/MutableHashMap.d.ts +170 -0
- package/dist/dts/MutableHashMap.d.ts.map +1 -0
- package/dist/dts/MutableHashSet.d.ts +547 -0
- package/dist/dts/MutableHashSet.d.ts.map +1 -0
- package/dist/dts/MutableList.d.ts +150 -0
- package/dist/dts/MutableList.d.ts.map +1 -0
- package/dist/dts/MutableQueue.d.ts +189 -0
- package/dist/dts/MutableQueue.d.ts.map +1 -0
- package/dist/dts/MutableRef.d.ts +175 -0
- package/dist/dts/MutableRef.d.ts.map +1 -0
- package/dist/dts/NonEmptyIterable.d.ts +21 -0
- package/dist/dts/NonEmptyIterable.d.ts.map +1 -0
- package/dist/dts/Number.d.ts +1361 -0
- package/dist/dts/Number.d.ts.map +1 -0
- package/dist/dts/Option.d.ts +3757 -0
- package/dist/dts/Option.d.ts.map +1 -0
- package/dist/dts/Order.d.ts +260 -0
- package/dist/dts/Order.d.ts.map +1 -0
- package/dist/dts/Ordering.d.ts +144 -0
- package/dist/dts/Ordering.d.ts.map +1 -0
- package/dist/dts/ParseResult.d.ts +560 -0
- package/dist/dts/ParseResult.d.ts.map +1 -0
- package/dist/dts/PartitionedSemaphore.d.ts +76 -0
- package/dist/dts/PartitionedSemaphore.d.ts.map +1 -0
- package/dist/dts/Pipeable.d.ts +65 -0
- package/dist/dts/Pipeable.d.ts.map +1 -0
- package/dist/dts/Pool.d.ts +201 -0
- package/dist/dts/Pool.d.ts.map +1 -0
- package/dist/dts/Predicate.d.ts +2197 -0
- package/dist/dts/Predicate.d.ts.map +1 -0
- package/dist/dts/Pretty.d.ts +26 -0
- package/dist/dts/Pretty.d.ts.map +1 -0
- package/dist/dts/PrimaryKey.d.ts +21 -0
- package/dist/dts/PrimaryKey.d.ts.map +1 -0
- package/dist/dts/PubSub.d.ts +197 -0
- package/dist/dts/PubSub.d.ts.map +1 -0
- package/dist/dts/Queue.d.ts +664 -0
- package/dist/dts/Queue.d.ts.map +1 -0
- package/dist/dts/Random.d.ts +183 -0
- package/dist/dts/Random.d.ts.map +1 -0
- package/dist/dts/RateLimiter.d.ts +134 -0
- package/dist/dts/RateLimiter.d.ts.map +1 -0
- package/dist/dts/RcMap.d.ts +231 -0
- package/dist/dts/RcMap.d.ts.map +1 -0
- package/dist/dts/RcRef.d.ts +111 -0
- package/dist/dts/RcRef.d.ts.map +1 -0
- package/dist/dts/Readable.d.ts +72 -0
- package/dist/dts/Readable.d.ts.map +1 -0
- package/dist/dts/Record.d.ts +1547 -0
- package/dist/dts/Record.d.ts.map +1 -0
- package/dist/dts/RedBlackTree.d.ts +676 -0
- package/dist/dts/RedBlackTree.d.ts.map +1 -0
- package/dist/dts/Redacted.d.ts +133 -0
- package/dist/dts/Redacted.d.ts.map +1 -0
- package/dist/dts/Ref.d.ts +250 -0
- package/dist/dts/Ref.d.ts.map +1 -0
- package/dist/dts/RegExp.d.ts +31 -0
- package/dist/dts/RegExp.d.ts.map +1 -0
- package/dist/dts/Reloadable.d.ts +102 -0
- package/dist/dts/Reloadable.d.ts.map +1 -0
- package/dist/dts/Request.d.ts +383 -0
- package/dist/dts/Request.d.ts.map +1 -0
- package/dist/dts/RequestBlock.d.ts +94 -0
- package/dist/dts/RequestBlock.d.ts.map +1 -0
- package/dist/dts/RequestResolver.d.ts +413 -0
- package/dist/dts/RequestResolver.d.ts.map +1 -0
- package/dist/dts/Resource.d.ts +99 -0
- package/dist/dts/Resource.d.ts.map +1 -0
- package/dist/dts/Runtime.d.ts +578 -0
- package/dist/dts/Runtime.d.ts.map +1 -0
- package/dist/dts/RuntimeFlags.d.ts +397 -0
- package/dist/dts/RuntimeFlags.d.ts.map +1 -0
- package/dist/dts/RuntimeFlagsPatch.d.ts +273 -0
- package/dist/dts/RuntimeFlagsPatch.d.ts.map +1 -0
- package/dist/dts/STM.d.ts +2645 -0
- package/dist/dts/STM.d.ts.map +1 -0
- package/dist/dts/Schedule.d.ts +3509 -0
- package/dist/dts/Schedule.d.ts.map +1 -0
- package/dist/dts/ScheduleDecision.d.ts +50 -0
- package/dist/dts/ScheduleDecision.d.ts.map +1 -0
- package/dist/dts/ScheduleInterval.d.ts +204 -0
- package/dist/dts/ScheduleInterval.d.ts.map +1 -0
- package/dist/dts/ScheduleIntervals.d.ts +159 -0
- package/dist/dts/ScheduleIntervals.d.ts.map +1 -0
- package/dist/dts/Scheduler.d.ts +161 -0
- package/dist/dts/Scheduler.d.ts.map +1 -0
- package/dist/dts/Schema.d.ts +5094 -0
- package/dist/dts/Schema.d.ts.map +1 -0
- package/dist/dts/SchemaAST.d.ts +1360 -0
- package/dist/dts/SchemaAST.d.ts.map +1 -0
- package/dist/dts/Scope.d.ts +194 -0
- package/dist/dts/Scope.d.ts.map +1 -0
- package/dist/dts/ScopedCache.d.ts +127 -0
- package/dist/dts/ScopedCache.d.ts.map +1 -0
- package/dist/dts/ScopedRef.d.ts +125 -0
- package/dist/dts/ScopedRef.d.ts.map +1 -0
- package/dist/dts/Secret.d.ts +76 -0
- package/dist/dts/Secret.d.ts.map +1 -0
- package/dist/dts/SingleProducerAsyncInput.d.ts +57 -0
- package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -0
- package/dist/dts/Sink.d.ts +1616 -0
- package/dist/dts/Sink.d.ts.map +1 -0
- package/dist/dts/SortedMap.d.ts +234 -0
- package/dist/dts/SortedMap.d.ts.map +1 -0
- package/dist/dts/SortedSet.d.ts +333 -0
- package/dist/dts/SortedSet.d.ts.map +1 -0
- package/dist/dts/Stream.d.ts +10803 -0
- package/dist/dts/Stream.d.ts.map +1 -0
- package/dist/dts/StreamEmit.d.ts +117 -0
- package/dist/dts/StreamEmit.d.ts.map +1 -0
- package/dist/dts/StreamHaltStrategy.d.ts +116 -0
- package/dist/dts/StreamHaltStrategy.d.ts.map +1 -0
- package/dist/dts/Streamable.d.ts +27 -0
- package/dist/dts/Streamable.d.ts.map +1 -0
- package/dist/dts/String.d.ts +848 -0
- package/dist/dts/String.d.ts.map +1 -0
- package/dist/dts/Struct.d.ts +295 -0
- package/dist/dts/Struct.d.ts.map +1 -0
- package/dist/dts/Subscribable.d.ts +76 -0
- package/dist/dts/Subscribable.d.ts.map +1 -0
- package/dist/dts/SubscriptionRef.d.ts +384 -0
- package/dist/dts/SubscriptionRef.d.ts.map +1 -0
- package/dist/dts/Supervisor.d.ts +171 -0
- package/dist/dts/Supervisor.d.ts.map +1 -0
- package/dist/dts/Symbol.d.ts +26 -0
- package/dist/dts/Symbol.d.ts.map +1 -0
- package/dist/dts/SynchronizedRef.d.ts +378 -0
- package/dist/dts/SynchronizedRef.d.ts.map +1 -0
- package/dist/dts/TArray.d.ts +857 -0
- package/dist/dts/TArray.d.ts.map +1 -0
- package/dist/dts/TDeferred.d.ts +104 -0
- package/dist/dts/TDeferred.d.ts.map +1 -0
- package/dist/dts/TMap.d.ts +780 -0
- package/dist/dts/TMap.d.ts.map +1 -0
- package/dist/dts/TPriorityQueue.d.ts +250 -0
- package/dist/dts/TPriorityQueue.d.ts.map +1 -0
- package/dist/dts/TPubSub.d.ts +186 -0
- package/dist/dts/TPubSub.d.ts.map +1 -0
- package/dist/dts/TQueue.d.ts +492 -0
- package/dist/dts/TQueue.d.ts.map +1 -0
- package/dist/dts/TRandom.d.ts +108 -0
- package/dist/dts/TRandom.d.ts.map +1 -0
- package/dist/dts/TReentrantLock.d.ts +230 -0
- package/dist/dts/TReentrantLock.d.ts.map +1 -0
- package/dist/dts/TRef.d.ts +235 -0
- package/dist/dts/TRef.d.ts.map +1 -0
- package/dist/dts/TSemaphore.d.ts +145 -0
- package/dist/dts/TSemaphore.d.ts.map +1 -0
- package/dist/dts/TSet.d.ts +564 -0
- package/dist/dts/TSet.d.ts.map +1 -0
- package/dist/dts/TSubscriptionRef.d.ts +251 -0
- package/dist/dts/TSubscriptionRef.d.ts.map +1 -0
- package/dist/dts/Take.d.ts +271 -0
- package/dist/dts/Take.d.ts.map +1 -0
- package/dist/dts/TestAnnotation.d.ts +71 -0
- package/dist/dts/TestAnnotation.d.ts.map +1 -0
- package/dist/dts/TestAnnotationMap.d.ts +56 -0
- package/dist/dts/TestAnnotationMap.d.ts.map +1 -0
- package/dist/dts/TestAnnotations.d.ts +59 -0
- package/dist/dts/TestAnnotations.d.ts.map +1 -0
- package/dist/dts/TestClock.d.ts +147 -0
- package/dist/dts/TestClock.d.ts.map +1 -0
- package/dist/dts/TestConfig.d.ts +45 -0
- package/dist/dts/TestConfig.d.ts.map +1 -0
- package/dist/dts/TestContext.d.ts +15 -0
- package/dist/dts/TestContext.d.ts.map +1 -0
- package/dist/dts/TestLive.d.ts +35 -0
- package/dist/dts/TestLive.d.ts.map +1 -0
- package/dist/dts/TestServices.d.ts +231 -0
- package/dist/dts/TestServices.d.ts.map +1 -0
- package/dist/dts/TestSized.d.ts +36 -0
- package/dist/dts/TestSized.d.ts.map +1 -0
- package/dist/dts/Tracer.d.ts +152 -0
- package/dist/dts/Tracer.d.ts.map +1 -0
- package/dist/dts/Trie.d.ts +1828 -0
- package/dist/dts/Trie.d.ts.map +1 -0
- package/dist/dts/Tuple.d.ts +446 -0
- package/dist/dts/Tuple.d.ts.map +1 -0
- package/dist/dts/Types.d.ts +330 -0
- package/dist/dts/Types.d.ts.map +1 -0
- package/dist/dts/Unify.d.ts +75 -0
- package/dist/dts/Unify.d.ts.map +1 -0
- package/dist/dts/UpstreamPullRequest.d.ts +109 -0
- package/dist/dts/UpstreamPullRequest.d.ts.map +1 -0
- package/dist/dts/UpstreamPullStrategy.d.ts +110 -0
- package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -0
- package/dist/dts/Utils.d.ts +283 -0
- package/dist/dts/Utils.d.ts.map +1 -0
- package/dist/dts/index.d.ts +1385 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/dts/internal/array.d.ts +5 -0
- package/dist/dts/internal/array.d.ts.map +1 -0
- package/dist/dts/internal/blockedRequests.d.ts +2 -0
- package/dist/dts/internal/blockedRequests.d.ts.map +1 -0
- package/dist/dts/internal/cache.d.ts +2 -0
- package/dist/dts/internal/cache.d.ts.map +1 -0
- package/dist/dts/internal/cause.d.ts +2 -0
- package/dist/dts/internal/cause.d.ts.map +1 -0
- package/dist/dts/internal/channel/channelExecutor.d.ts +3 -0
- package/dist/dts/internal/channel/channelExecutor.d.ts.map +1 -0
- package/dist/dts/internal/channel/channelState.d.ts +2 -0
- package/dist/dts/internal/channel/channelState.d.ts.map +1 -0
- package/dist/dts/internal/channel/childExecutorDecision.d.ts +2 -0
- package/dist/dts/internal/channel/childExecutorDecision.d.ts.map +1 -0
- package/dist/dts/internal/channel/continuation.d.ts +2 -0
- package/dist/dts/internal/channel/continuation.d.ts.map +1 -0
- package/dist/dts/internal/channel/mergeDecision.d.ts +2 -0
- package/dist/dts/internal/channel/mergeDecision.d.ts.map +1 -0
- package/dist/dts/internal/channel/mergeState.d.ts +2 -0
- package/dist/dts/internal/channel/mergeState.d.ts.map +1 -0
- package/dist/dts/internal/channel/mergeStrategy.d.ts +2 -0
- package/dist/dts/internal/channel/mergeStrategy.d.ts.map +1 -0
- package/dist/dts/internal/channel/singleProducerAsyncInput.d.ts +2 -0
- package/dist/dts/internal/channel/singleProducerAsyncInput.d.ts.map +1 -0
- package/dist/dts/internal/channel/subexecutor.d.ts +2 -0
- package/dist/dts/internal/channel/subexecutor.d.ts.map +1 -0
- package/dist/dts/internal/channel/upstreamPullRequest.d.ts +2 -0
- package/dist/dts/internal/channel/upstreamPullRequest.d.ts.map +1 -0
- package/dist/dts/internal/channel/upstreamPullStrategy.d.ts +2 -0
- package/dist/dts/internal/channel/upstreamPullStrategy.d.ts.map +1 -0
- package/dist/dts/internal/channel.d.ts +2 -0
- package/dist/dts/internal/channel.d.ts.map +1 -0
- package/dist/dts/internal/clock.d.ts +2 -0
- package/dist/dts/internal/clock.d.ts.map +1 -0
- package/dist/dts/internal/completedRequestMap.d.ts +2 -0
- package/dist/dts/internal/completedRequestMap.d.ts.map +1 -0
- package/dist/dts/internal/concurrency.d.ts +2 -0
- package/dist/dts/internal/concurrency.d.ts.map +1 -0
- package/dist/dts/internal/config.d.ts +2 -0
- package/dist/dts/internal/config.d.ts.map +1 -0
- package/dist/dts/internal/configError.d.ts +2 -0
- package/dist/dts/internal/configError.d.ts.map +1 -0
- package/dist/dts/internal/configProvider/pathPatch.d.ts +2 -0
- package/dist/dts/internal/configProvider/pathPatch.d.ts.map +1 -0
- package/dist/dts/internal/configProvider.d.ts +2 -0
- package/dist/dts/internal/configProvider.d.ts.map +1 -0
- package/dist/dts/internal/console.d.ts +2 -0
- package/dist/dts/internal/console.d.ts.map +1 -0
- package/dist/dts/internal/context.d.ts +2 -0
- package/dist/dts/internal/context.d.ts.map +1 -0
- package/dist/dts/internal/core-effect.d.ts +8 -0
- package/dist/dts/internal/core-effect.d.ts.map +1 -0
- package/dist/dts/internal/core-stream.d.ts +9 -0
- package/dist/dts/internal/core-stream.d.ts.map +1 -0
- package/dist/dts/internal/core.d.ts +9 -0
- package/dist/dts/internal/core.d.ts.map +1 -0
- package/dist/dts/internal/data.d.ts +2 -0
- package/dist/dts/internal/data.d.ts.map +1 -0
- package/dist/dts/internal/dataSource.d.ts +2 -0
- package/dist/dts/internal/dataSource.d.ts.map +1 -0
- package/dist/dts/internal/dateTime.d.ts +2 -0
- package/dist/dts/internal/dateTime.d.ts.map +1 -0
- package/dist/dts/internal/defaultServices/console.d.ts +2 -0
- package/dist/dts/internal/defaultServices/console.d.ts.map +1 -0
- package/dist/dts/internal/defaultServices.d.ts +10 -0
- package/dist/dts/internal/defaultServices.d.ts.map +1 -0
- package/dist/dts/internal/deferred.d.ts +2 -0
- package/dist/dts/internal/deferred.d.ts.map +1 -0
- package/dist/dts/internal/differ/chunkPatch.d.ts +2 -0
- package/dist/dts/internal/differ/chunkPatch.d.ts.map +1 -0
- package/dist/dts/internal/differ/contextPatch.d.ts +2 -0
- package/dist/dts/internal/differ/contextPatch.d.ts.map +1 -0
- package/dist/dts/internal/differ/hashMapPatch.d.ts +2 -0
- package/dist/dts/internal/differ/hashMapPatch.d.ts.map +1 -0
- package/dist/dts/internal/differ/hashSetPatch.d.ts +2 -0
- package/dist/dts/internal/differ/hashSetPatch.d.ts.map +1 -0
- package/dist/dts/internal/differ/orPatch.d.ts +2 -0
- package/dist/dts/internal/differ/orPatch.d.ts.map +1 -0
- package/dist/dts/internal/differ/readonlyArrayPatch.d.ts +2 -0
- package/dist/dts/internal/differ/readonlyArrayPatch.d.ts.map +1 -0
- package/dist/dts/internal/differ.d.ts +2 -0
- package/dist/dts/internal/differ.d.ts.map +1 -0
- package/dist/dts/internal/doNotation.d.ts +2 -0
- package/dist/dts/internal/doNotation.d.ts.map +1 -0
- package/dist/dts/internal/effect/circular.d.ts +2 -0
- package/dist/dts/internal/effect/circular.d.ts.map +1 -0
- package/dist/dts/internal/effectable.d.ts +2 -0
- package/dist/dts/internal/effectable.d.ts.map +1 -0
- package/dist/dts/internal/either.d.ts +5 -0
- package/dist/dts/internal/either.d.ts.map +1 -0
- package/dist/dts/internal/encoding/base64.d.ts +2 -0
- package/dist/dts/internal/encoding/base64.d.ts.map +1 -0
- package/dist/dts/internal/encoding/base64Url.d.ts +2 -0
- package/dist/dts/internal/encoding/base64Url.d.ts.map +1 -0
- package/dist/dts/internal/encoding/common.d.ts +5 -0
- package/dist/dts/internal/encoding/common.d.ts.map +1 -0
- package/dist/dts/internal/encoding/hex.d.ts +2 -0
- package/dist/dts/internal/encoding/hex.d.ts.map +1 -0
- package/dist/dts/internal/errors.d.ts +5 -0
- package/dist/dts/internal/errors.d.ts.map +1 -0
- package/dist/dts/internal/executionPlan.d.ts +2 -0
- package/dist/dts/internal/executionPlan.d.ts.map +1 -0
- package/dist/dts/internal/executionStrategy.d.ts +2 -0
- package/dist/dts/internal/executionStrategy.d.ts.map +1 -0
- package/dist/dts/internal/fiber.d.ts +6 -0
- package/dist/dts/internal/fiber.d.ts.map +1 -0
- package/dist/dts/internal/fiberId.d.ts +2 -0
- package/dist/dts/internal/fiberId.d.ts.map +1 -0
- package/dist/dts/internal/fiberMessage.d.ts +2 -0
- package/dist/dts/internal/fiberMessage.d.ts.map +1 -0
- package/dist/dts/internal/fiberRefs/patch.d.ts +2 -0
- package/dist/dts/internal/fiberRefs/patch.d.ts.map +1 -0
- package/dist/dts/internal/fiberRefs.d.ts +2 -0
- package/dist/dts/internal/fiberRefs.d.ts.map +1 -0
- package/dist/dts/internal/fiberRuntime.d.ts +7 -0
- package/dist/dts/internal/fiberRuntime.d.ts.map +1 -0
- package/dist/dts/internal/fiberScope.d.ts +18 -0
- package/dist/dts/internal/fiberScope.d.ts.map +1 -0
- package/dist/dts/internal/fiberStatus.d.ts +2 -0
- package/dist/dts/internal/fiberStatus.d.ts.map +1 -0
- package/dist/dts/internal/groupBy.d.ts +2 -0
- package/dist/dts/internal/groupBy.d.ts.map +1 -0
- package/dist/dts/internal/hashMap/array.d.ts +2 -0
- package/dist/dts/internal/hashMap/array.d.ts.map +1 -0
- package/dist/dts/internal/hashMap/bitwise.d.ts +2 -0
- package/dist/dts/internal/hashMap/bitwise.d.ts.map +1 -0
- package/dist/dts/internal/hashMap/config.d.ts +2 -0
- package/dist/dts/internal/hashMap/config.d.ts.map +1 -0
- package/dist/dts/internal/hashMap/keySet.d.ts +2 -0
- package/dist/dts/internal/hashMap/keySet.d.ts.map +1 -0
- package/dist/dts/internal/hashMap/node.d.ts +2 -0
- package/dist/dts/internal/hashMap/node.d.ts.map +1 -0
- package/dist/dts/internal/hashMap.d.ts +9 -0
- package/dist/dts/internal/hashMap.d.ts.map +1 -0
- package/dist/dts/internal/hashSet.d.ts +2 -0
- package/dist/dts/internal/hashSet.d.ts.map +1 -0
- package/dist/dts/internal/keyedPool.d.ts +2 -0
- package/dist/dts/internal/keyedPool.d.ts.map +1 -0
- package/dist/dts/internal/layer/circular.d.ts +2 -0
- package/dist/dts/internal/layer/circular.d.ts.map +1 -0
- package/dist/dts/internal/layer.d.ts +16 -0
- package/dist/dts/internal/layer.d.ts.map +1 -0
- package/dist/dts/internal/logSpan.d.ts +2 -0
- package/dist/dts/internal/logSpan.d.ts.map +1 -0
- package/dist/dts/internal/logger-circular.d.ts +2 -0
- package/dist/dts/internal/logger-circular.d.ts.map +1 -0
- package/dist/dts/internal/logger.d.ts +2 -0
- package/dist/dts/internal/logger.d.ts.map +1 -0
- package/dist/dts/internal/mailbox.d.ts +2 -0
- package/dist/dts/internal/mailbox.d.ts.map +1 -0
- package/dist/dts/internal/managedRuntime/circular.d.ts +2 -0
- package/dist/dts/internal/managedRuntime/circular.d.ts.map +1 -0
- package/dist/dts/internal/managedRuntime.d.ts +2 -0
- package/dist/dts/internal/managedRuntime.d.ts.map +1 -0
- package/dist/dts/internal/matcher.d.ts +2 -0
- package/dist/dts/internal/matcher.d.ts.map +1 -0
- package/dist/dts/internal/metric/boundaries.d.ts +2 -0
- package/dist/dts/internal/metric/boundaries.d.ts.map +1 -0
- package/dist/dts/internal/metric/hook.d.ts +2 -0
- package/dist/dts/internal/metric/hook.d.ts.map +1 -0
- package/dist/dts/internal/metric/key.d.ts +2 -0
- package/dist/dts/internal/metric/key.d.ts.map +1 -0
- package/dist/dts/internal/metric/keyType.d.ts +2 -0
- package/dist/dts/internal/metric/keyType.d.ts.map +1 -0
- package/dist/dts/internal/metric/label.d.ts +2 -0
- package/dist/dts/internal/metric/label.d.ts.map +1 -0
- package/dist/dts/internal/metric/pair.d.ts +2 -0
- package/dist/dts/internal/metric/pair.d.ts.map +1 -0
- package/dist/dts/internal/metric/polling.d.ts +2 -0
- package/dist/dts/internal/metric/polling.d.ts.map +1 -0
- package/dist/dts/internal/metric/registry.d.ts +2 -0
- package/dist/dts/internal/metric/registry.d.ts.map +1 -0
- package/dist/dts/internal/metric/state.d.ts +22 -0
- package/dist/dts/internal/metric/state.d.ts.map +1 -0
- package/dist/dts/internal/metric.d.ts +2 -0
- package/dist/dts/internal/metric.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/cause.d.ts +2 -0
- package/dist/dts/internal/opCodes/cause.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/channel.d.ts +2 -0
- package/dist/dts/internal/opCodes/channel.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/channelChildExecutorDecision.d.ts +2 -0
- package/dist/dts/internal/opCodes/channelChildExecutorDecision.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/channelMergeDecision.d.ts +2 -0
- package/dist/dts/internal/opCodes/channelMergeDecision.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/channelMergeState.d.ts +2 -0
- package/dist/dts/internal/opCodes/channelMergeState.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/channelMergeStrategy.d.ts +2 -0
- package/dist/dts/internal/opCodes/channelMergeStrategy.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/channelState.d.ts +2 -0
- package/dist/dts/internal/opCodes/channelState.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/channelUpstreamPullRequest.d.ts +2 -0
- package/dist/dts/internal/opCodes/channelUpstreamPullRequest.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/channelUpstreamPullStrategy.d.ts +2 -0
- package/dist/dts/internal/opCodes/channelUpstreamPullStrategy.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/config.d.ts +2 -0
- package/dist/dts/internal/opCodes/config.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/configError.d.ts +2 -0
- package/dist/dts/internal/opCodes/configError.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/continuation.d.ts +2 -0
- package/dist/dts/internal/opCodes/continuation.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/deferred.d.ts +2 -0
- package/dist/dts/internal/opCodes/deferred.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/effect.d.ts +2 -0
- package/dist/dts/internal/opCodes/effect.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/layer.d.ts +2 -0
- package/dist/dts/internal/opCodes/layer.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/streamHaltStrategy.d.ts +2 -0
- package/dist/dts/internal/opCodes/streamHaltStrategy.d.ts.map +1 -0
- package/dist/dts/internal/option.d.ts +5 -0
- package/dist/dts/internal/option.d.ts.map +1 -0
- package/dist/dts/internal/pool.d.ts +2 -0
- package/dist/dts/internal/pool.d.ts.map +1 -0
- package/dist/dts/internal/pubsub.d.ts +2 -0
- package/dist/dts/internal/pubsub.d.ts.map +1 -0
- package/dist/dts/internal/query.d.ts +2 -0
- package/dist/dts/internal/query.d.ts.map +1 -0
- package/dist/dts/internal/queue.d.ts +2 -0
- package/dist/dts/internal/queue.d.ts.map +1 -0
- package/dist/dts/internal/random.d.ts +3 -0
- package/dist/dts/internal/random.d.ts.map +1 -0
- package/dist/dts/internal/rateLimiter.d.ts +2 -0
- package/dist/dts/internal/rateLimiter.d.ts.map +1 -0
- package/dist/dts/internal/rcMap.d.ts +2 -0
- package/dist/dts/internal/rcMap.d.ts.map +1 -0
- package/dist/dts/internal/rcRef.d.ts +2 -0
- package/dist/dts/internal/rcRef.d.ts.map +1 -0
- package/dist/dts/internal/redBlackTree/iterator.d.ts +2 -0
- package/dist/dts/internal/redBlackTree/iterator.d.ts.map +1 -0
- package/dist/dts/internal/redBlackTree/node.d.ts +14 -0
- package/dist/dts/internal/redBlackTree/node.d.ts.map +1 -0
- package/dist/dts/internal/redBlackTree.d.ts +2 -0
- package/dist/dts/internal/redBlackTree.d.ts.map +1 -0
- package/dist/dts/internal/redacted.d.ts +2 -0
- package/dist/dts/internal/redacted.d.ts.map +1 -0
- package/dist/dts/internal/ref.d.ts +2 -0
- package/dist/dts/internal/ref.d.ts.map +1 -0
- package/dist/dts/internal/reloadable.d.ts +2 -0
- package/dist/dts/internal/reloadable.d.ts.map +1 -0
- package/dist/dts/internal/request.d.ts +2 -0
- package/dist/dts/internal/request.d.ts.map +1 -0
- package/dist/dts/internal/resource.d.ts +2 -0
- package/dist/dts/internal/resource.d.ts.map +1 -0
- package/dist/dts/internal/ringBuffer.d.ts +2 -0
- package/dist/dts/internal/ringBuffer.d.ts.map +1 -0
- package/dist/dts/internal/runtime.d.ts +2 -0
- package/dist/dts/internal/runtime.d.ts.map +1 -0
- package/dist/dts/internal/runtimeFlags.d.ts +3 -0
- package/dist/dts/internal/runtimeFlags.d.ts.map +1 -0
- package/dist/dts/internal/runtimeFlagsPatch.d.ts +2 -0
- package/dist/dts/internal/runtimeFlagsPatch.d.ts.map +1 -0
- package/dist/dts/internal/schedule/decision.d.ts +2 -0
- package/dist/dts/internal/schedule/decision.d.ts.map +1 -0
- package/dist/dts/internal/schedule/interval.d.ts +2 -0
- package/dist/dts/internal/schedule/interval.d.ts.map +1 -0
- package/dist/dts/internal/schedule/intervals.d.ts +2 -0
- package/dist/dts/internal/schedule/intervals.d.ts.map +1 -0
- package/dist/dts/internal/schedule.d.ts +2 -0
- package/dist/dts/internal/schedule.d.ts.map +1 -0
- package/dist/dts/internal/schema/errors.d.ts +2 -0
- package/dist/dts/internal/schema/errors.d.ts.map +1 -0
- package/dist/dts/internal/schema/schemaId.d.ts +2 -0
- package/dist/dts/internal/schema/schemaId.d.ts.map +1 -0
- package/dist/dts/internal/schema/util.d.ts +2 -0
- package/dist/dts/internal/schema/util.d.ts.map +1 -0
- package/dist/dts/internal/scopedCache.d.ts +2 -0
- package/dist/dts/internal/scopedCache.d.ts.map +1 -0
- package/dist/dts/internal/scopedRef.d.ts +2 -0
- package/dist/dts/internal/scopedRef.d.ts.map +1 -0
- package/dist/dts/internal/secret.d.ts +2 -0
- package/dist/dts/internal/secret.d.ts.map +1 -0
- package/dist/dts/internal/singleShotGen.d.ts +2 -0
- package/dist/dts/internal/singleShotGen.d.ts.map +1 -0
- package/dist/dts/internal/sink.d.ts +2 -0
- package/dist/dts/internal/sink.d.ts.map +1 -0
- package/dist/dts/internal/stack.d.ts +2 -0
- package/dist/dts/internal/stack.d.ts.map +1 -0
- package/dist/dts/internal/stm/core.d.ts +2 -0
- package/dist/dts/internal/stm/core.d.ts.map +1 -0
- package/dist/dts/internal/stm/entry.d.ts +2 -0
- package/dist/dts/internal/stm/entry.d.ts.map +1 -0
- package/dist/dts/internal/stm/journal.d.ts +2 -0
- package/dist/dts/internal/stm/journal.d.ts.map +1 -0
- package/dist/dts/internal/stm/opCodes/stm.d.ts +2 -0
- package/dist/dts/internal/stm/opCodes/stm.d.ts.map +1 -0
- package/dist/dts/internal/stm/opCodes/stmState.d.ts +2 -0
- package/dist/dts/internal/stm/opCodes/stmState.d.ts.map +1 -0
- package/dist/dts/internal/stm/opCodes/strategy.d.ts +2 -0
- package/dist/dts/internal/stm/opCodes/strategy.d.ts.map +1 -0
- package/dist/dts/internal/stm/opCodes/tExit.d.ts +2 -0
- package/dist/dts/internal/stm/opCodes/tExit.d.ts.map +1 -0
- package/dist/dts/internal/stm/opCodes/tryCommit.d.ts +2 -0
- package/dist/dts/internal/stm/opCodes/tryCommit.d.ts.map +1 -0
- package/dist/dts/internal/stm/stm.d.ts +7 -0
- package/dist/dts/internal/stm/stm.d.ts.map +1 -0
- package/dist/dts/internal/stm/stmState.d.ts +2 -0
- package/dist/dts/internal/stm/stmState.d.ts.map +1 -0
- package/dist/dts/internal/stm/tArray.d.ts +2 -0
- package/dist/dts/internal/stm/tArray.d.ts.map +1 -0
- package/dist/dts/internal/stm/tDeferred.d.ts +2 -0
- package/dist/dts/internal/stm/tDeferred.d.ts.map +1 -0
- package/dist/dts/internal/stm/tExit.d.ts +5 -0
- package/dist/dts/internal/stm/tExit.d.ts.map +1 -0
- package/dist/dts/internal/stm/tMap.d.ts +2 -0
- package/dist/dts/internal/stm/tMap.d.ts.map +1 -0
- package/dist/dts/internal/stm/tPriorityQueue.d.ts +2 -0
- package/dist/dts/internal/stm/tPriorityQueue.d.ts.map +1 -0
- package/dist/dts/internal/stm/tPubSub.d.ts +2 -0
- package/dist/dts/internal/stm/tPubSub.d.ts.map +1 -0
- package/dist/dts/internal/stm/tQueue.d.ts +2 -0
- package/dist/dts/internal/stm/tQueue.d.ts.map +1 -0
- package/dist/dts/internal/stm/tRandom.d.ts +2 -0
- package/dist/dts/internal/stm/tRandom.d.ts.map +1 -0
- package/dist/dts/internal/stm/tReentrantLock.d.ts +2 -0
- package/dist/dts/internal/stm/tReentrantLock.d.ts.map +1 -0
- package/dist/dts/internal/stm/tRef.d.ts +4 -0
- package/dist/dts/internal/stm/tRef.d.ts.map +1 -0
- package/dist/dts/internal/stm/tSemaphore.d.ts +2 -0
- package/dist/dts/internal/stm/tSemaphore.d.ts.map +1 -0
- package/dist/dts/internal/stm/tSet.d.ts +2 -0
- package/dist/dts/internal/stm/tSet.d.ts.map +1 -0
- package/dist/dts/internal/stm/tSubscriptionRef.d.ts +2 -0
- package/dist/dts/internal/stm/tSubscriptionRef.d.ts.map +1 -0
- package/dist/dts/internal/stm/tryCommit.d.ts +2 -0
- package/dist/dts/internal/stm/tryCommit.d.ts.map +1 -0
- package/dist/dts/internal/stm/txnId.d.ts +2 -0
- package/dist/dts/internal/stm/txnId.d.ts.map +1 -0
- package/dist/dts/internal/stm/versioned.d.ts +2 -0
- package/dist/dts/internal/stm/versioned.d.ts.map +1 -0
- package/dist/dts/internal/stream/debounceState.d.ts +4 -0
- package/dist/dts/internal/stream/debounceState.d.ts.map +1 -0
- package/dist/dts/internal/stream/emit.d.ts +2 -0
- package/dist/dts/internal/stream/emit.d.ts.map +1 -0
- package/dist/dts/internal/stream/haltStrategy.d.ts +2 -0
- package/dist/dts/internal/stream/haltStrategy.d.ts.map +1 -0
- package/dist/dts/internal/stream/handoff.d.ts +2 -0
- package/dist/dts/internal/stream/handoff.d.ts.map +1 -0
- package/dist/dts/internal/stream/handoffSignal.d.ts +6 -0
- package/dist/dts/internal/stream/handoffSignal.d.ts.map +1 -0
- package/dist/dts/internal/stream/pull.d.ts +2 -0
- package/dist/dts/internal/stream/pull.d.ts.map +1 -0
- package/dist/dts/internal/stream/sinkEndReason.d.ts +2 -0
- package/dist/dts/internal/stream/sinkEndReason.d.ts.map +1 -0
- package/dist/dts/internal/stream/zipAllState.d.ts +2 -0
- package/dist/dts/internal/stream/zipAllState.d.ts.map +1 -0
- package/dist/dts/internal/stream/zipChunksState.d.ts +2 -0
- package/dist/dts/internal/stream/zipChunksState.d.ts.map +1 -0
- package/dist/dts/internal/stream.d.ts +29 -0
- package/dist/dts/internal/stream.d.ts.map +1 -0
- package/dist/dts/internal/string-utils.d.ts +7 -0
- package/dist/dts/internal/string-utils.d.ts.map +1 -0
- package/dist/dts/internal/subscriptionRef.d.ts +2 -0
- package/dist/dts/internal/subscriptionRef.d.ts.map +1 -0
- package/dist/dts/internal/supervisor/patch.d.ts +2 -0
- package/dist/dts/internal/supervisor/patch.d.ts.map +1 -0
- package/dist/dts/internal/supervisor.d.ts +2 -0
- package/dist/dts/internal/supervisor.d.ts.map +1 -0
- package/dist/dts/internal/synchronizedRef.d.ts +2 -0
- package/dist/dts/internal/synchronizedRef.d.ts.map +1 -0
- package/dist/dts/internal/take.d.ts +2 -0
- package/dist/dts/internal/take.d.ts.map +1 -0
- package/dist/dts/internal/testing/sleep.d.ts +2 -0
- package/dist/dts/internal/testing/sleep.d.ts.map +1 -0
- package/dist/dts/internal/testing/suspendedWarningData.d.ts +2 -0
- package/dist/dts/internal/testing/suspendedWarningData.d.ts.map +1 -0
- package/dist/dts/internal/testing/warningData.d.ts +2 -0
- package/dist/dts/internal/testing/warningData.d.ts.map +1 -0
- package/dist/dts/internal/tracer.d.ts +2 -0
- package/dist/dts/internal/tracer.d.ts.map +1 -0
- package/dist/dts/internal/trie.d.ts +2 -0
- package/dist/dts/internal/trie.d.ts.map +1 -0
- package/dist/dts/internal/version.d.ts +3 -0
- package/dist/dts/internal/version.d.ts.map +1 -0
- package/dist/esm/Arbitrary.js +798 -0
- package/dist/esm/Arbitrary.js.map +1 -0
- package/dist/esm/Array.js +2703 -0
- package/dist/esm/Array.js.map +1 -0
- package/dist/esm/BigDecimal.js +1087 -0
- package/dist/esm/BigDecimal.js.map +1 -0
- package/dist/esm/BigInt.js +548 -0
- package/dist/esm/BigInt.js.map +1 -0
- package/dist/esm/Boolean.js +240 -0
- package/dist/esm/Boolean.js.map +1 -0
- package/dist/esm/Brand.js +161 -0
- package/dist/esm/Brand.js.map +1 -0
- package/dist/esm/Cache.js +43 -0
- package/dist/esm/Cache.js.map +1 -0
- package/dist/esm/Cause.js +1004 -0
- package/dist/esm/Cause.js.map +1 -0
- package/dist/esm/Channel.js +887 -0
- package/dist/esm/Channel.js.map +1 -0
- package/dist/esm/ChildExecutorDecision.js +64 -0
- package/dist/esm/ChildExecutorDecision.js.map +1 -0
- package/dist/esm/Chunk.js +1083 -0
- package/dist/esm/Chunk.js.map +1 -0
- package/dist/esm/Clock.js +38 -0
- package/dist/esm/Clock.js.map +1 -0
- package/dist/esm/Config.js +321 -0
- package/dist/esm/Config.js.map +1 -0
- package/dist/esm/ConfigError.js +107 -0
- package/dist/esm/ConfigError.js.map +1 -0
- package/dist/esm/ConfigProvider.js +166 -0
- package/dist/esm/ConfigProvider.js.map +1 -0
- package/dist/esm/ConfigProviderPathPatch.js +30 -0
- package/dist/esm/ConfigProviderPathPatch.js.map +1 -0
- package/dist/esm/Console.js +118 -0
- package/dist/esm/Console.js.map +1 -0
- package/dist/esm/Context.js +360 -0
- package/dist/esm/Context.js.map +1 -0
- package/dist/esm/Cron.js +566 -0
- package/dist/esm/Cron.js.map +1 -0
- package/dist/esm/Data.js +305 -0
- package/dist/esm/Data.js.map +1 -0
- package/dist/esm/DateTime.js +1071 -0
- package/dist/esm/DateTime.js.map +1 -0
- package/dist/esm/DefaultServices.js +12 -0
- package/dist/esm/DefaultServices.js.map +1 -0
- package/dist/esm/Deferred.js +169 -0
- package/dist/esm/Deferred.js.map +1 -0
- package/dist/esm/Differ.js +132 -0
- package/dist/esm/Differ.js.map +1 -0
- package/dist/esm/Duration.js +702 -0
- package/dist/esm/Duration.js.map +1 -0
- package/dist/esm/Effect.js +10883 -0
- package/dist/esm/Effect.js.map +1 -0
- package/dist/esm/Effectable.js +49 -0
- package/dist/esm/Effectable.js.map +1 -0
- package/dist/esm/Either.js +688 -0
- package/dist/esm/Either.js.map +1 -0
- package/dist/esm/Encoding.js +136 -0
- package/dist/esm/Encoding.js.map +1 -0
- package/dist/esm/Equal.js +71 -0
- package/dist/esm/Equal.js.map +1 -0
- package/dist/esm/Equivalence.js +166 -0
- package/dist/esm/Equivalence.js.map +1 -0
- package/dist/esm/ExecutionPlan.js +99 -0
- package/dist/esm/ExecutionPlan.js.map +1 -0
- package/dist/esm/ExecutionStrategy.js +55 -0
- package/dist/esm/ExecutionStrategy.js.map +1 -0
- package/dist/esm/Exit.js +257 -0
- package/dist/esm/Exit.js.map +1 -0
- package/dist/esm/FastCheck.js +9 -0
- package/dist/esm/FastCheck.js.map +1 -0
- package/dist/esm/Fiber.js +350 -0
- package/dist/esm/Fiber.js.map +1 -0
- package/dist/esm/FiberHandle.js +316 -0
- package/dist/esm/FiberHandle.js.map +1 -0
- package/dist/esm/FiberId.js +115 -0
- package/dist/esm/FiberId.js.map +1 -0
- package/dist/esm/FiberMap.js +356 -0
- package/dist/esm/FiberMap.js.map +1 -0
- package/dist/esm/FiberRef.js +242 -0
- package/dist/esm/FiberRef.js.map +1 -0
- package/dist/esm/FiberRefs.js +92 -0
- package/dist/esm/FiberRefs.js.map +1 -0
- package/dist/esm/FiberRefsPatch.js +32 -0
- package/dist/esm/FiberRefsPatch.js.map +1 -0
- package/dist/esm/FiberSet.js +289 -0
- package/dist/esm/FiberSet.js.map +1 -0
- package/dist/esm/FiberStatus.js +52 -0
- package/dist/esm/FiberStatus.js.map +1 -0
- package/dist/esm/Function.js +467 -0
- package/dist/esm/Function.js.map +1 -0
- package/dist/esm/GlobalValue.js +52 -0
- package/dist/esm/GlobalValue.js.map +1 -0
- package/dist/esm/Graph.js +3019 -0
- package/dist/esm/Graph.js.map +1 -0
- package/dist/esm/GroupBy.js +39 -0
- package/dist/esm/GroupBy.js.map +1 -0
- package/dist/esm/HKT.js +2 -0
- package/dist/esm/HKT.js.map +1 -0
- package/dist/esm/Hash.js +166 -0
- package/dist/esm/Hash.js.map +1 -0
- package/dist/esm/HashMap.js +312 -0
- package/dist/esm/HashMap.js.map +1 -0
- package/dist/esm/HashRing.js +245 -0
- package/dist/esm/HashRing.js.map +1 -0
- package/dist/esm/HashSet.js +1253 -0
- package/dist/esm/HashSet.js.map +1 -0
- package/dist/esm/Inspectable.js +194 -0
- package/dist/esm/Inspectable.js.map +1 -0
- package/dist/esm/Iterable.js +987 -0
- package/dist/esm/Iterable.js.map +1 -0
- package/dist/esm/JSONSchema.js +715 -0
- package/dist/esm/JSONSchema.js.map +1 -0
- package/dist/esm/KeyedPool.js +76 -0
- package/dist/esm/KeyedPool.js.map +1 -0
- package/dist/esm/Layer.js +642 -0
- package/dist/esm/Layer.js.map +1 -0
- package/dist/esm/LayerMap.js +202 -0
- package/dist/esm/LayerMap.js.map +1 -0
- package/dist/esm/List.js +756 -0
- package/dist/esm/List.js.map +1 -0
- package/dist/esm/LogLevel.js +135 -0
- package/dist/esm/LogLevel.js.map +1 -0
- package/dist/esm/LogSpan.js +15 -0
- package/dist/esm/LogSpan.js.map +1 -0
- package/dist/esm/Logger.js +490 -0
- package/dist/esm/Logger.js.map +1 -0
- package/dist/esm/Mailbox.js +96 -0
- package/dist/esm/Mailbox.js.map +1 -0
- package/dist/esm/ManagedRuntime.js +42 -0
- package/dist/esm/ManagedRuntime.js.map +1 -0
- package/dist/esm/Match.js +828 -0
- package/dist/esm/Match.js.map +1 -0
- package/dist/esm/MergeDecision.js +35 -0
- package/dist/esm/MergeDecision.js.map +1 -0
- package/dist/esm/MergeState.js +58 -0
- package/dist/esm/MergeState.js.map +1 -0
- package/dist/esm/MergeStrategy.js +51 -0
- package/dist/esm/MergeStrategy.js.map +1 -0
- package/dist/esm/Metric.js +408 -0
- package/dist/esm/Metric.js.map +1 -0
- package/dist/esm/MetricBoundaries.js +33 -0
- package/dist/esm/MetricBoundaries.js.map +1 -0
- package/dist/esm/MetricHook.js +47 -0
- package/dist/esm/MetricHook.js.map +1 -0
- package/dist/esm/MetricKey.js +63 -0
- package/dist/esm/MetricKey.js.map +1 -0
- package/dist/esm/MetricKeyType.js +87 -0
- package/dist/esm/MetricKeyType.js.map +1 -0
- package/dist/esm/MetricLabel.js +17 -0
- package/dist/esm/MetricLabel.js.map +1 -0
- package/dist/esm/MetricPair.js +20 -0
- package/dist/esm/MetricPair.js.map +1 -0
- package/dist/esm/MetricPolling.js +59 -0
- package/dist/esm/MetricPolling.js.map +1 -0
- package/dist/esm/MetricRegistry.js +15 -0
- package/dist/esm/MetricRegistry.js.map +1 -0
- package/dist/esm/MetricState.js +87 -0
- package/dist/esm/MetricState.js.map +1 -0
- package/dist/esm/Micro.js +2528 -0
- package/dist/esm/Micro.js.map +1 -0
- package/dist/esm/ModuleVersion.js +17 -0
- package/dist/esm/ModuleVersion.js.map +1 -0
- package/dist/esm/MutableHashMap.js +299 -0
- package/dist/esm/MutableHashMap.js.map +1 -0
- package/dist/esm/MutableHashSet.js +511 -0
- package/dist/esm/MutableHashSet.js.map +1 -0
- package/dist/esm/MutableList.js +240 -0
- package/dist/esm/MutableList.js.map +1 -0
- package/dist/esm/MutableQueue.js +159 -0
- package/dist/esm/MutableQueue.js.map +1 -0
- package/dist/esm/MutableRef.js +127 -0
- package/dist/esm/MutableRef.js.map +1 -0
- package/dist/esm/NonEmptyIterable.js +16 -0
- package/dist/esm/NonEmptyIterable.js.map +1 -0
- package/dist/esm/Number.js +887 -0
- package/dist/esm/Number.js.map +1 -0
- package/dist/esm/Option.js +1785 -0
- package/dist/esm/Option.js.map +1 -0
- package/dist/esm/Order.js +252 -0
- package/dist/esm/Order.js.map +1 -0
- package/dist/esm/Ordering.js +72 -0
- package/dist/esm/Ordering.js.map +1 -0
- package/dist/esm/ParseResult.js +1556 -0
- package/dist/esm/ParseResult.js.map +1 -0
- package/dist/esm/PartitionedSemaphore.js +137 -0
- package/dist/esm/PartitionedSemaphore.js.map +1 -0
- package/dist/esm/Pipeable.js +62 -0
- package/dist/esm/Pipeable.js.map +1 -0
- package/dist/esm/Pool.js +100 -0
- package/dist/esm/Pool.js.map +1 -0
- package/dist/esm/Predicate.js +1117 -0
- package/dist/esm/Predicate.js.map +1 -0
- package/dist/esm/Pretty.js +174 -0
- package/dist/esm/Pretty.js.map +1 -0
- package/dist/esm/PrimaryKey.js +14 -0
- package/dist/esm/PrimaryKey.js.map +1 -0
- package/dist/esm/PubSub.js +120 -0
- package/dist/esm/PubSub.js.map +1 -0
- package/dist/esm/Queue.js +248 -0
- package/dist/esm/Queue.js.map +1 -0
- package/dist/esm/Random.js +138 -0
- package/dist/esm/Random.js.map +1 -0
- package/dist/esm/RateLimiter.js +77 -0
- package/dist/esm/RateLimiter.js.map +1 -0
- package/dist/esm/RcMap.js +69 -0
- package/dist/esm/RcMap.js.map +1 -0
- package/dist/esm/RcRef.js +51 -0
- package/dist/esm/RcRef.js.map +1 -0
- package/dist/esm/Readable.js +45 -0
- package/dist/esm/Readable.js.map +1 -0
- package/dist/esm/Record.js +846 -0
- package/dist/esm/Record.js.map +1 -0
- package/dist/esm/RedBlackTree.js +259 -0
- package/dist/esm/RedBlackTree.js.map +1 -0
- package/dist/esm/Redacted.js +93 -0
- package/dist/esm/Redacted.js.map +1 -0
- package/dist/esm/Ref.js +77 -0
- package/dist/esm/Ref.js.map +1 -0
- package/dist/esm/RegExp.js +37 -0
- package/dist/esm/RegExp.js.map +1 -0
- package/dist/esm/Reloadable.js +59 -0
- package/dist/esm/Reloadable.js.map +1 -0
- package/dist/esm/Request.js +140 -0
- package/dist/esm/Request.js.map +1 -0
- package/dist/esm/RequestBlock.js +35 -0
- package/dist/esm/RequestBlock.js.map +1 -0
- package/dist/esm/RequestResolver.js +175 -0
- package/dist/esm/RequestResolver.js.map +1 -0
- package/dist/esm/Resource.js +44 -0
- package/dist/esm/Resource.js.map +1 -0
- package/dist/esm/Runtime.js +181 -0
- package/dist/esm/Runtime.js.map +1 -0
- package/dist/esm/RuntimeFlags.js +251 -0
- package/dist/esm/RuntimeFlags.js.map +1 -0
- package/dist/esm/RuntimeFlagsPatch.js +134 -0
- package/dist/esm/RuntimeFlagsPatch.js.map +1 -0
- package/dist/esm/STM.js +1002 -0
- package/dist/esm/STM.js.map +1 -0
- package/dist/esm/Schedule.js +1595 -0
- package/dist/esm/Schedule.js.map +1 -0
- package/dist/esm/ScheduleDecision.js +32 -0
- package/dist/esm/ScheduleDecision.js.map +1 -0
- package/dist/esm/ScheduleInterval.js +100 -0
- package/dist/esm/ScheduleInterval.js.map +1 -0
- package/dist/esm/ScheduleIntervals.js +78 -0
- package/dist/esm/ScheduleIntervals.js.map +1 -0
- package/dist/esm/Scheduler.js +289 -0
- package/dist/esm/Scheduler.js.map +1 -0
- package/dist/esm/Schema.js +6035 -0
- package/dist/esm/Schema.js.map +1 -0
- package/dist/esm/SchemaAST.js +2485 -0
- package/dist/esm/SchemaAST.js.map +1 -0
- package/dist/esm/Scope.js +94 -0
- package/dist/esm/Scope.js.map +1 -0
- package/dist/esm/ScopedCache.js +24 -0
- package/dist/esm/ScopedCache.js.map +1 -0
- package/dist/esm/ScopedRef.js +42 -0
- package/dist/esm/ScopedRef.js.map +1 -0
- package/dist/esm/Secret.js +44 -0
- package/dist/esm/Secret.js.map +1 -0
- package/dist/esm/SingleProducerAsyncInput.js +7 -0
- package/dist/esm/SingleProducerAsyncInput.js.map +1 -0
- package/dist/esm/Sink.js +864 -0
- package/dist/esm/Sink.js.map +1 -0
- package/dist/esm/SortedMap.js +169 -0
- package/dist/esm/SortedMap.js.map +1 -0
- package/dist/esm/SortedSet.js +237 -0
- package/dist/esm/SortedSet.js.map +1 -0
- package/dist/esm/Stream.js +4192 -0
- package/dist/esm/Stream.js.map +1 -0
- package/dist/esm/StreamEmit.js +2 -0
- package/dist/esm/StreamEmit.js.map +1 -0
- package/dist/esm/StreamHaltStrategy.js +57 -0
- package/dist/esm/StreamHaltStrategy.js.map +1 -0
- package/dist/esm/Streamable.js +36 -0
- package/dist/esm/Streamable.js.map +1 -0
- package/dist/esm/String.js +635 -0
- package/dist/esm/String.js.map +1 -0
- package/dist/esm/Struct.js +191 -0
- package/dist/esm/Struct.js.map +1 -0
- package/dist/esm/Subscribable.js +56 -0
- package/dist/esm/Subscribable.js.map +1 -0
- package/dist/esm/SubscriptionRef.js +116 -0
- package/dist/esm/SubscriptionRef.js.map +1 -0
- package/dist/esm/Supervisor.js +107 -0
- package/dist/esm/Supervisor.js.map +1 -0
- package/dist/esm/Symbol.js +27 -0
- package/dist/esm/Symbol.js.map +1 -0
- package/dist/esm/SynchronizedRef.js +119 -0
- package/dist/esm/SynchronizedRef.js.map +1 -0
- package/dist/esm/TArray.js +306 -0
- package/dist/esm/TArray.js.map +1 -0
- package/dist/esm/TDeferred.js +39 -0
- package/dist/esm/TDeferred.js.map +1 -0
- package/dist/esm/TMap.js +279 -0
- package/dist/esm/TMap.js.map +1 -0
- package/dist/esm/TPriorityQueue.js +136 -0
- package/dist/esm/TPriorityQueue.js.map +1 -0
- package/dist/esm/TPubSub.js +131 -0
- package/dist/esm/TPubSub.js.map +1 -0
- package/dist/esm/TQueue.js +229 -0
- package/dist/esm/TQueue.js.map +1 -0
- package/dist/esm/TRandom.js +65 -0
- package/dist/esm/TRandom.js.map +1 -0
- package/dist/esm/TReentrantLock.js +142 -0
- package/dist/esm/TReentrantLock.js.map +1 -0
- package/dist/esm/TRef.js +75 -0
- package/dist/esm/TRef.js.map +1 -0
- package/dist/esm/TSemaphore.js +65 -0
- package/dist/esm/TSemaphore.js.map +1 -0
- package/dist/esm/TSet.js +201 -0
- package/dist/esm/TSet.js.map +1 -0
- package/dist/esm/TSubscriptionRef.js +87 -0
- package/dist/esm/TSubscriptionRef.js.map +1 -0
- package/dist/esm/Take.js +148 -0
- package/dist/esm/Take.js.map +1 -0
- package/dist/esm/TestAnnotation.js +94 -0
- package/dist/esm/TestAnnotation.js.map +1 -0
- package/dist/esm/TestAnnotationMap.js +80 -0
- package/dist/esm/TestAnnotationMap.js.map +1 -0
- package/dist/esm/TestAnnotations.js +61 -0
- package/dist/esm/TestAnnotations.js.map +1 -0
- package/dist/esm/TestClock.js +354 -0
- package/dist/esm/TestClock.js.map +1 -0
- package/dist/esm/TestConfig.js +13 -0
- package/dist/esm/TestConfig.js.map +1 -0
- package/dist/esm/TestContext.js +21 -0
- package/dist/esm/TestContext.js.map +1 -0
- package/dist/esm/TestLive.js +30 -0
- package/dist/esm/TestLive.js.map +1 -0
- package/dist/esm/TestServices.js +230 -0
- package/dist/esm/TestServices.js.map +1 -0
- package/dist/esm/TestSized.js +36 -0
- package/dist/esm/TestSized.js.map +1 -0
- package/dist/esm/Tracer.js +37 -0
- package/dist/esm/Tracer.js.map +1 -0
- package/dist/esm/Trie.js +716 -0
- package/dist/esm/Trie.js.map +1 -0
- package/dist/esm/Tuple.js +235 -0
- package/dist/esm/Tuple.js.map +1 -0
- package/dist/esm/Types.js +7 -0
- package/dist/esm/Types.js.map +1 -0
- package/dist/esm/Unify.js +9 -0
- package/dist/esm/Unify.js.map +1 -0
- package/dist/esm/UpstreamPullRequest.js +51 -0
- package/dist/esm/UpstreamPullRequest.js.map +1 -0
- package/dist/esm/UpstreamPullStrategy.js +51 -0
- package/dist/esm/UpstreamPullStrategy.js.map +1 -0
- package/dist/esm/Utils.js +357 -0
- package/dist/esm/Utils.js.map +1 -0
- package/dist/esm/index.js +1385 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/array.js +6 -0
- package/dist/esm/internal/array.js.map +1 -0
- package/dist/esm/internal/blockedRequests.js +341 -0
- package/dist/esm/internal/blockedRequests.js.map +1 -0
- package/dist/esm/internal/cache.js +480 -0
- package/dist/esm/internal/cache.js.map +1 -0
- package/dist/esm/internal/cause.js +824 -0
- package/dist/esm/internal/cause.js.map +1 -0
- package/dist/esm/internal/channel/channelExecutor.js +688 -0
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -0
- package/dist/esm/internal/channel/channelState.js +59 -0
- package/dist/esm/internal/channel/channelState.js.map +1 -0
- package/dist/esm/internal/channel/childExecutorDecision.js +60 -0
- package/dist/esm/internal/channel/childExecutorDecision.js.map +1 -0
- package/dist/esm/internal/channel/continuation.js +48 -0
- package/dist/esm/internal/channel/continuation.js.map +1 -0
- package/dist/esm/internal/channel/mergeDecision.js +49 -0
- package/dist/esm/internal/channel/mergeDecision.js.map +1 -0
- package/dist/esm/internal/channel/mergeState.js +69 -0
- package/dist/esm/internal/channel/mergeState.js.map +1 -0
- package/dist/esm/internal/channel/mergeStrategy.js +46 -0
- package/dist/esm/internal/channel/mergeStrategy.js.map +1 -0
- package/dist/esm/internal/channel/singleProducerAsyncInput.js +163 -0
- package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -0
- package/dist/esm/internal/channel/subexecutor.js +152 -0
- package/dist/esm/internal/channel/subexecutor.js.map +1 -0
- package/dist/esm/internal/channel/upstreamPullRequest.js +52 -0
- package/dist/esm/internal/channel/upstreamPullRequest.js.map +1 -0
- package/dist/esm/internal/channel/upstreamPullStrategy.js +52 -0
- package/dist/esm/internal/channel/upstreamPullStrategy.js.map +1 -0
- package/dist/esm/internal/channel.js +683 -0
- package/dist/esm/internal/channel.js.map +1 -0
- package/dist/esm/internal/clock.js +77 -0
- package/dist/esm/internal/clock.js.map +1 -0
- package/dist/esm/internal/completedRequestMap.js +5 -0
- package/dist/esm/internal/completedRequestMap.js.map +1 -0
- package/dist/esm/internal/concurrency.js +28 -0
- package/dist/esm/internal/concurrency.js.map +1 -0
- package/dist/esm/internal/config.js +363 -0
- package/dist/esm/internal/config.js.map +1 -0
- package/dist/esm/internal/configError.js +263 -0
- package/dist/esm/internal/configError.js.map +1 -0
- package/dist/esm/internal/configProvider/pathPatch.js +76 -0
- package/dist/esm/internal/configProvider/pathPatch.js.map +1 -0
- package/dist/esm/internal/configProvider.js +425 -0
- package/dist/esm/internal/configProvider.js.map +1 -0
- package/dist/esm/internal/console.js +54 -0
- package/dist/esm/internal/console.js.map +1 -0
- package/dist/esm/internal/context.js +253 -0
- package/dist/esm/internal/context.js.map +1 -0
- package/dist/esm/internal/core-effect.js +811 -0
- package/dist/esm/internal/core-effect.js.map +1 -0
- package/dist/esm/internal/core-stream.js +236 -0
- package/dist/esm/internal/core-stream.js.map +1 -0
- package/dist/esm/internal/core.js +1610 -0
- package/dist/esm/internal/core.js.map +1 -0
- package/dist/esm/internal/data.js +29 -0
- package/dist/esm/internal/data.js.map +1 -0
- package/dist/esm/internal/dataSource.js +93 -0
- package/dist/esm/internal/dataSource.js.map +1 -0
- package/dist/esm/internal/dateTime.js +796 -0
- package/dist/esm/internal/dateTime.js.map +1 -0
- package/dist/esm/internal/defaultServices/console.js +92 -0
- package/dist/esm/internal/defaultServices/console.js.map +1 -0
- package/dist/esm/internal/defaultServices.js +73 -0
- package/dist/esm/internal/defaultServices.js.map +1 -0
- package/dist/esm/internal/deferred.js +27 -0
- package/dist/esm/internal/deferred.js.map +1 -0
- package/dist/esm/internal/differ/chunkPatch.js +130 -0
- package/dist/esm/internal/differ/chunkPatch.js.map +1 -0
- package/dist/esm/internal/differ/contextPatch.js +143 -0
- package/dist/esm/internal/differ/contextPatch.js.map +1 -0
- package/dist/esm/internal/differ/hashMapPatch.js +130 -0
- package/dist/esm/internal/differ/hashMapPatch.js.map +1 -0
- package/dist/esm/internal/differ/hashSetPatch.js +101 -0
- package/dist/esm/internal/differ/hashSetPatch.js.map +1 -0
- package/dist/esm/internal/differ/orPatch.js +170 -0
- package/dist/esm/internal/differ/orPatch.js.map +1 -0
- package/dist/esm/internal/differ/readonlyArrayPatch.js +129 -0
- package/dist/esm/internal/differ/readonlyArrayPatch.js.map +1 -0
- package/dist/esm/internal/differ.js +134 -0
- package/dist/esm/internal/differ.js.map +1 -0
- package/dist/esm/internal/doNotation.js +16 -0
- package/dist/esm/internal/doNotation.js.map +1 -0
- package/dist/esm/internal/effect/circular.js +402 -0
- package/dist/esm/internal/effect/circular.js.map +1 -0
- package/dist/esm/internal/effectable.js +113 -0
- package/dist/esm/internal/effectable.js.map +1 -0
- package/dist/esm/internal/either.js +85 -0
- package/dist/esm/internal/either.js.map +1 -0
- package/dist/esm/internal/encoding/base64.js +71 -0
- package/dist/esm/internal/encoding/base64.js.map +1 -0
- package/dist/esm/internal/encoding/base64Url.js +21 -0
- package/dist/esm/internal/encoding/base64Url.js.map +1 -0
- package/dist/esm/internal/encoding/common.js +38 -0
- package/dist/esm/internal/encoding/common.js.map +1 -0
- package/dist/esm/internal/encoding/hex.js +48 -0
- package/dist/esm/internal/encoding/hex.js.map +1 -0
- package/dist/esm/internal/errors.js +6 -0
- package/dist/esm/internal/errors.js.map +1 -0
- package/dist/esm/internal/executionPlan.js +59 -0
- package/dist/esm/internal/executionPlan.js.map +1 -0
- package/dist/esm/internal/executionStrategy.js +44 -0
- package/dist/esm/internal/executionStrategy.js.map +1 -0
- package/dist/esm/internal/fiber.js +253 -0
- package/dist/esm/internal/fiber.js.map +1 -0
- package/dist/esm/internal/fiberId.js +219 -0
- package/dist/esm/internal/fiberId.js.map +1 -0
- package/dist/esm/internal/fiberMessage.js +28 -0
- package/dist/esm/internal/fiberMessage.js.map +1 -0
- package/dist/esm/internal/fiberRefs/patch.js +107 -0
- package/dist/esm/internal/fiberRefs/patch.js.map +1 -0
- package/dist/esm/internal/fiberRefs.js +189 -0
- package/dist/esm/internal/fiberRefs.js.map +1 -0
- package/dist/esm/internal/fiberRuntime.js +2148 -0
- package/dist/esm/internal/fiberRuntime.js.map +1 -0
- package/dist/esm/internal/fiberScope.js +44 -0
- package/dist/esm/internal/fiberScope.js.map +1 -0
- package/dist/esm/internal/fiberStatus.js +72 -0
- package/dist/esm/internal/fiberStatus.js.map +1 -0
- package/dist/esm/internal/groupBy.js +213 -0
- package/dist/esm/internal/groupBy.js.map +1 -0
- package/dist/esm/internal/hashMap/array.js +48 -0
- package/dist/esm/internal/hashMap/array.js.map +1 -0
- package/dist/esm/internal/hashMap/bitwise.js +29 -0
- package/dist/esm/internal/hashMap/bitwise.js.map +1 -0
- package/dist/esm/internal/hashMap/config.js +11 -0
- package/dist/esm/internal/hashMap/config.js.map +1 -0
- package/dist/esm/internal/hashMap/keySet.js +6 -0
- package/dist/esm/internal/hashMap/keySet.js.map +1 -0
- package/dist/esm/internal/hashMap/node.js +253 -0
- package/dist/esm/internal/hashMap/node.js.map +1 -0
- package/dist/esm/internal/hashMap.js +360 -0
- package/dist/esm/internal/hashMap.js.map +1 -0
- package/dist/esm/internal/hashSet.js +182 -0
- package/dist/esm/internal/hashSet.js.map +1 -0
- package/dist/esm/internal/keyedPool.js +159 -0
- package/dist/esm/internal/keyedPool.js.map +1 -0
- package/dist/esm/internal/layer/circular.js +63 -0
- package/dist/esm/internal/layer/circular.js.map +1 -0
- package/dist/esm/internal/layer.js +552 -0
- package/dist/esm/internal/layer.js.map +1 -0
- package/dist/esm/internal/logSpan.js +17 -0
- package/dist/esm/internal/logSpan.js.map +1 -0
- package/dist/esm/internal/logger-circular.js +19 -0
- package/dist/esm/internal/logger-circular.js.map +1 -0
- package/dist/esm/internal/logger.js +367 -0
- package/dist/esm/internal/logger.js.map +1 -0
- package/dist/esm/internal/mailbox.js +450 -0
- package/dist/esm/internal/mailbox.js.map +1 -0
- package/dist/esm/internal/managedRuntime/circular.js +4 -0
- package/dist/esm/internal/managedRuntime/circular.js.map +1 -0
- package/dist/esm/internal/managedRuntime.js +86 -0
- package/dist/esm/internal/managedRuntime.js.map +1 -0
- package/dist/esm/internal/matcher.js +291 -0
- package/dist/esm/internal/matcher.js.map +1 -0
- package/dist/esm/internal/metric/boundaries.js +42 -0
- package/dist/esm/internal/metric/boundaries.js.map +1 -0
- package/dist/esm/internal/metric/hook.js +375 -0
- package/dist/esm/internal/metric/hook.js.map +1 -0
- package/dist/esm/internal/metric/key.js +60 -0
- package/dist/esm/internal/metric/key.js.map +1 -0
- package/dist/esm/internal/metric/keyType.js +169 -0
- package/dist/esm/internal/metric/keyType.js.map +1 -0
- package/dist/esm/internal/metric/label.js +36 -0
- package/dist/esm/internal/metric/label.js.map +1 -0
- package/dist/esm/internal/metric/pair.js +32 -0
- package/dist/esm/internal/metric/pair.js.map +1 -0
- package/dist/esm/internal/metric/polling.js +69 -0
- package/dist/esm/internal/metric/polling.js.map +1 -0
- package/dist/esm/internal/metric/registry.js +105 -0
- package/dist/esm/internal/metric/registry.js.map +1 -0
- package/dist/esm/internal/metric/state.js +181 -0
- package/dist/esm/internal/metric/state.js.map +1 -0
- package/dist/esm/internal/metric.js +181 -0
- package/dist/esm/internal/metric.js.map +1 -0
- package/dist/esm/internal/opCodes/cause.js +13 -0
- package/dist/esm/internal/opCodes/cause.js.map +1 -0
- package/dist/esm/internal/opCodes/channel.js +29 -0
- package/dist/esm/internal/opCodes/channel.js.map +1 -0
- package/dist/esm/internal/opCodes/channelChildExecutorDecision.js +7 -0
- package/dist/esm/internal/opCodes/channelChildExecutorDecision.js.map +1 -0
- package/dist/esm/internal/opCodes/channelMergeDecision.js +5 -0
- package/dist/esm/internal/opCodes/channelMergeDecision.js.map +1 -0
- package/dist/esm/internal/opCodes/channelMergeState.js +7 -0
- package/dist/esm/internal/opCodes/channelMergeState.js.map +1 -0
- package/dist/esm/internal/opCodes/channelMergeStrategy.js +5 -0
- package/dist/esm/internal/opCodes/channelMergeStrategy.js.map +1 -0
- package/dist/esm/internal/opCodes/channelState.js +9 -0
- package/dist/esm/internal/opCodes/channelState.js.map +1 -0
- package/dist/esm/internal/opCodes/channelUpstreamPullRequest.js +5 -0
- package/dist/esm/internal/opCodes/channelUpstreamPullRequest.js.map +1 -0
- package/dist/esm/internal/opCodes/channelUpstreamPullStrategy.js +5 -0
- package/dist/esm/internal/opCodes/channelUpstreamPullStrategy.js.map +1 -0
- package/dist/esm/internal/opCodes/config.js +23 -0
- package/dist/esm/internal/opCodes/config.js.map +1 -0
- package/dist/esm/internal/opCodes/configError.js +13 -0
- package/dist/esm/internal/opCodes/configError.js.map +1 -0
- package/dist/esm/internal/opCodes/continuation.js +5 -0
- package/dist/esm/internal/opCodes/continuation.js.map +1 -0
- package/dist/esm/internal/opCodes/deferred.js +5 -0
- package/dist/esm/internal/opCodes/deferred.js.map +1 -0
- package/dist/esm/internal/opCodes/effect.js +31 -0
- package/dist/esm/internal/opCodes/effect.js.map +1 -0
- package/dist/esm/internal/opCodes/layer.js +21 -0
- package/dist/esm/internal/opCodes/layer.js.map +1 -0
- package/dist/esm/internal/opCodes/streamHaltStrategy.js +9 -0
- package/dist/esm/internal/opCodes/streamHaltStrategy.js.map +1 -0
- package/dist/esm/internal/option.js +70 -0
- package/dist/esm/internal/option.js.map +1 -0
- package/dist/esm/internal/pool.js +276 -0
- package/dist/esm/internal/pool.js.map +1 -0
- package/dist/esm/internal/pubsub.js +1263 -0
- package/dist/esm/internal/pubsub.js.map +1 -0
- package/dist/esm/internal/query.js +93 -0
- package/dist/esm/internal/query.js.map +1 -0
- package/dist/esm/internal/queue.js +486 -0
- package/dist/esm/internal/queue.js.map +1 -0
- package/dist/esm/internal/random.js +119 -0
- package/dist/esm/internal/random.js.map +1 -0
- package/dist/esm/internal/rateLimiter.js +43 -0
- package/dist/esm/internal/rateLimiter.js.map +1 -0
- package/dist/esm/internal/rcMap.js +173 -0
- package/dist/esm/internal/rcMap.js.map +1 -0
- package/dist/esm/internal/rcRef.js +129 -0
- package/dist/esm/internal/rcRef.js.map +1 -0
- package/dist/esm/internal/redBlackTree/iterator.js +191 -0
- package/dist/esm/internal/redBlackTree/iterator.js.map +1 -0
- package/dist/esm/internal/redBlackTree/node.js +50 -0
- package/dist/esm/internal/redBlackTree/node.js.map +1 -0
- package/dist/esm/internal/redBlackTree.js +1069 -0
- package/dist/esm/internal/redBlackTree.js.map +1 -0
- package/dist/esm/internal/redacted.js +56 -0
- package/dist/esm/internal/redacted.js.map +1 -0
- package/dist/esm/internal/ref.js +110 -0
- package/dist/esm/internal/ref.js.map +1 -0
- package/dist/esm/internal/reloadable.js +42 -0
- package/dist/esm/internal/reloadable.js.map +1 -0
- package/dist/esm/internal/request.js +91 -0
- package/dist/esm/internal/request.js.map +1 -0
- package/dist/esm/internal/resource.js +38 -0
- package/dist/esm/internal/resource.js.map +1 -0
- package/dist/esm/internal/ringBuffer.js +56 -0
- package/dist/esm/internal/ringBuffer.js.map +1 -0
- package/dist/esm/internal/runtime.js +307 -0
- package/dist/esm/internal/runtime.js.map +1 -0
- package/dist/esm/internal/runtimeFlags.js +107 -0
- package/dist/esm/internal/runtimeFlags.js.map +1 -0
- package/dist/esm/internal/runtimeFlagsPatch.js +38 -0
- package/dist/esm/internal/runtimeFlagsPatch.js.map +1 -0
- package/dist/esm/internal/schedule/decision.js +33 -0
- package/dist/esm/internal/schedule/decision.js.map +1 -0
- package/dist/esm/internal/schedule/interval.js +70 -0
- package/dist/esm/internal/schedule/interval.js.map +1 -0
- package/dist/esm/internal/schedule/intervals.js +122 -0
- package/dist/esm/internal/schedule/intervals.js.map +1 -0
- package/dist/esm/internal/schedule.js +832 -0
- package/dist/esm/internal/schedule.js.map +1 -0
- package/dist/esm/internal/schema/errors.js +86 -0
- package/dist/esm/internal/schema/errors.js.map +1 -0
- package/dist/esm/internal/schema/schemaId.js +43 -0
- package/dist/esm/internal/schema/schemaId.js.map +1 -0
- package/dist/esm/internal/schema/util.js +35 -0
- package/dist/esm/internal/schema/util.js.map +1 -0
- package/dist/esm/internal/scopedCache.js +382 -0
- package/dist/esm/internal/scopedCache.js.map +1 -0
- package/dist/esm/internal/scopedRef.js +43 -0
- package/dist/esm/internal/scopedRef.js.map +1 -0
- package/dist/esm/internal/secret.js +77 -0
- package/dist/esm/internal/secret.js.map +1 -0
- package/dist/esm/internal/singleShotGen.js +30 -0
- package/dist/esm/internal/singleShotGen.js.map +1 -0
- package/dist/esm/internal/sink.js +801 -0
- package/dist/esm/internal/sink.js.map +1 -0
- package/dist/esm/internal/stack.js +5 -0
- package/dist/esm/internal/stack.js.map +1 -0
- package/dist/esm/internal/stm/core.js +501 -0
- package/dist/esm/internal/stm/core.js.map +1 -0
- package/dist/esm/internal/stm/entry.js +42 -0
- package/dist/esm/internal/stm/entry.js.map +1 -0
- package/dist/esm/internal/stm/journal.js +89 -0
- package/dist/esm/internal/stm/journal.js.map +1 -0
- package/dist/esm/internal/stm/opCodes/stm.js +25 -0
- package/dist/esm/internal/stm/opCodes/stm.js.map +1 -0
- package/dist/esm/internal/stm/opCodes/stmState.js +7 -0
- package/dist/esm/internal/stm/opCodes/stmState.js.map +1 -0
- package/dist/esm/internal/stm/opCodes/strategy.js +7 -0
- package/dist/esm/internal/stm/opCodes/strategy.js.map +1 -0
- package/dist/esm/internal/stm/opCodes/tExit.js +11 -0
- package/dist/esm/internal/stm/opCodes/tExit.js.map +1 -0
- package/dist/esm/internal/stm/opCodes/tryCommit.js +5 -0
- package/dist/esm/internal/stm/opCodes/tryCommit.js.map +1 -0
- package/dist/esm/internal/stm/stm.js +478 -0
- package/dist/esm/internal/stm/stm.js.map +1 -0
- package/dist/esm/internal/stm/stmState.js +89 -0
- package/dist/esm/internal/stm/stmState.js.map +1 -0
- package/dist/esm/internal/stm/tArray.js +243 -0
- package/dist/esm/internal/stm/tArray.js.map +1 -0
- package/dist/esm/internal/stm/tDeferred.js +41 -0
- package/dist/esm/internal/stm/tDeferred.js.map +1 -0
- package/dist/esm/internal/stm/tExit.js +101 -0
- package/dist/esm/internal/stm/tExit.js.map +1 -0
- package/dist/esm/internal/stm/tMap.js +430 -0
- package/dist/esm/internal/stm/tMap.js.map +1 -0
- package/dist/esm/internal/stm/tPriorityQueue.js +143 -0
- package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -0
- package/dist/esm/internal/stm/tPubSub.js +376 -0
- package/dist/esm/internal/stm/tPubSub.js.map +1 -0
- package/dist/esm/internal/stm/tQueue.js +258 -0
- package/dist/esm/internal/stm/tQueue.js.map +1 -0
- package/dist/esm/internal/stm/tRandom.js +82 -0
- package/dist/esm/internal/stm/tRandom.js.map +1 -0
- package/dist/esm/internal/stm/tReentrantLock.js +192 -0
- package/dist/esm/internal/stm/tReentrantLock.js.map +1 -0
- package/dist/esm/internal/stm/tRef.js +100 -0
- package/dist/esm/internal/stm/tRef.js.map +1 -0
- package/dist/esm/internal/stm/tSemaphore.js +59 -0
- package/dist/esm/internal/stm/tSemaphore.js.map +1 -0
- package/dist/esm/internal/stm/tSet.js +88 -0
- package/dist/esm/internal/stm/tSet.js.map +1 -0
- package/dist/esm/internal/stm/tSubscriptionRef.js +166 -0
- package/dist/esm/internal/stm/tSubscriptionRef.js.map +1 -0
- package/dist/esm/internal/stm/tryCommit.js +16 -0
- package/dist/esm/internal/stm/tryCommit.js.map +1 -0
- package/dist/esm/internal/stm/txnId.js +11 -0
- package/dist/esm/internal/stm/txnId.js.map +1 -0
- package/dist/esm/internal/stm/versioned.js +8 -0
- package/dist/esm/internal/stm/versioned.js.map +1 -0
- package/dist/esm/internal/stream/debounceState.js +21 -0
- package/dist/esm/internal/stream/debounceState.js.map +1 -0
- package/dist/esm/internal/stream/emit.js +120 -0
- package/dist/esm/internal/stream/emit.js.map +1 -0
- package/dist/esm/internal/stream/haltStrategy.js +63 -0
- package/dist/esm/internal/stream/haltStrategy.js.map +1 -0
- package/dist/esm/internal/stream/handoff.js +55 -0
- package/dist/esm/internal/stream/handoff.js.map +1 -0
- package/dist/esm/internal/stream/handoffSignal.js +22 -0
- package/dist/esm/internal/stream/handoffSignal.js.map +1 -0
- package/dist/esm/internal/stream/pull.js +20 -0
- package/dist/esm/internal/stream/pull.js.map +1 -0
- package/dist/esm/internal/stream/sinkEndReason.js +13 -0
- package/dist/esm/internal/stream/sinkEndReason.js.map +1 -0
- package/dist/esm/internal/stream/zipAllState.js +33 -0
- package/dist/esm/internal/stream/zipAllState.js.map +1 -0
- package/dist/esm/internal/stream/zipChunksState.js +21 -0
- package/dist/esm/internal/stream/zipChunksState.js.map +1 -0
- package/dist/esm/internal/stream.js +2867 -0
- package/dist/esm/internal/stream.js.map +1 -0
- package/dist/esm/internal/string-utils.js +77 -0
- package/dist/esm/internal/string-utils.js.map +1 -0
- package/dist/esm/internal/subscriptionRef.js +63 -0
- package/dist/esm/internal/subscriptionRef.js.map +1 -0
- package/dist/esm/internal/supervisor/patch.js +125 -0
- package/dist/esm/internal/supervisor/patch.js.map +1 -0
- package/dist/esm/internal/supervisor.js +207 -0
- package/dist/esm/internal/supervisor.js.map +1 -0
- package/dist/esm/internal/synchronizedRef.js +44 -0
- package/dist/esm/internal/synchronizedRef.js.map +1 -0
- package/dist/esm/internal/take.js +108 -0
- package/dist/esm/internal/take.js.map +1 -0
- package/dist/esm/internal/testing/sleep.js +7 -0
- package/dist/esm/internal/testing/sleep.js.map +1 -0
- package/dist/esm/internal/testing/suspendedWarningData.js +48 -0
- package/dist/esm/internal/testing/suspendedWarningData.js.map +1 -0
- package/dist/esm/internal/testing/warningData.js +49 -0
- package/dist/esm/internal/testing/warningData.js.map +1 -0
- package/dist/esm/internal/tracer.js +122 -0
- package/dist/esm/internal/tracer.js.map +1 -0
- package/dist/esm/internal/trie.js +547 -0
- package/dist/esm/internal/trie.js.map +1 -0
- package/dist/esm/internal/version.js +6 -0
- package/dist/esm/internal/version.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/index/package.json +6 -0
- package/package.json +1471 -0
- package/src/Arbitrary.ts +1101 -0
- package/src/Array.ts +6854 -0
- package/src/BigDecimal.ts +2037 -0
- package/src/BigInt.ts +1139 -0
- package/src/Boolean.ts +560 -0
- package/src/Brand.ts +360 -0
- package/src/Cache.ts +281 -0
- package/src/Cause.ts +2049 -0
- package/src/Channel.ts +3051 -0
- package/src/ChildExecutorDecision.ts +158 -0
- package/src/Chunk.ts +2350 -0
- package/src/Clock.ts +111 -0
- package/src/Config.ts +743 -0
- package/src/ConfigError.ts +286 -0
- package/src/ConfigProvider.ts +421 -0
- package/src/ConfigProviderPathPatch.ts +132 -0
- package/src/Console.ts +255 -0
- package/src/Context.ts +867 -0
- package/src/Cron.ts +718 -0
- package/src/Data.ts +765 -0
- package/src/DateTime.ts +2715 -0
- package/src/DefaultServices.ts +34 -0
- package/src/Deferred.ts +471 -0
- package/src/Differ.ts +512 -0
- package/src/Duration.ts +1140 -0
- package/src/Effect.ts +29096 -0
- package/src/Effectable.ts +107 -0
- package/src/Either.ts +1723 -0
- package/src/Encoding.ts +195 -0
- package/src/Equal.ts +98 -0
- package/src/Equivalence.ts +259 -0
- package/src/ExecutionPlan.ts +308 -0
- package/src/ExecutionStrategy.ts +138 -0
- package/src/Exit.ts +717 -0
- package/src/FastCheck.ts +9 -0
- package/src/Fiber.ts +926 -0
- package/src/FiberHandle.ts +582 -0
- package/src/FiberId.ts +219 -0
- package/src/FiberMap.ts +779 -0
- package/src/FiberRef.ts +511 -0
- package/src/FiberRefs.ts +288 -0
- package/src/FiberRefsPatch.ts +139 -0
- package/src/FiberSet.ts +529 -0
- package/src/FiberStatus.ts +108 -0
- package/src/Function.ts +1378 -0
- package/src/GlobalValue.ts +53 -0
- package/src/Graph.ts +3764 -0
- package/src/GroupBy.ts +141 -0
- package/src/HKT.ts +45 -0
- package/src/Hash.ts +203 -0
- package/src/HashMap.ts +919 -0
- package/src/HashRing.ts +387 -0
- package/src/HashSet.ts +2346 -0
- package/src/Inspectable.ts +287 -0
- package/src/Iterable.ts +1606 -0
- package/src/JSONSchema.ts +1044 -0
- package/src/KeyedPool.ts +201 -0
- package/src/Layer.ts +1671 -0
- package/src/LayerMap.ts +436 -0
- package/src/List.ts +1469 -0
- package/src/LogLevel.ts +387 -0
- package/src/LogSpan.ts +25 -0
- package/src/Logger.ts +863 -0
- package/src/Mailbox.ts +298 -0
- package/src/ManagedRuntime.ts +180 -0
- package/src/Match.ts +1493 -0
- package/src/MergeDecision.ts +103 -0
- package/src/MergeState.ts +180 -0
- package/src/MergeStrategy.ts +124 -0
- package/src/Metric.ts +1165 -0
- package/src/MetricBoundaries.ts +69 -0
- package/src/MetricHook.ts +175 -0
- package/src/MetricKey.ts +266 -0
- package/src/MetricKeyType.ts +262 -0
- package/src/MetricLabel.ts +47 -0
- package/src/MetricPair.ts +71 -0
- package/src/MetricPolling.ts +182 -0
- package/src/MetricRegistry.ts +48 -0
- package/src/MetricState.ts +273 -0
- package/src/Micro.ts +5556 -0
- package/src/ModuleVersion.ts +18 -0
- package/src/MutableHashMap.ts +518 -0
- package/src/MutableHashSet.ts +706 -0
- package/src/MutableList.ts +333 -0
- package/src/MutableQueue.ts +289 -0
- package/src/MutableRef.ts +258 -0
- package/src/NonEmptyIterable.ts +32 -0
- package/src/Number.ts +1440 -0
- package/src/Option.ts +4028 -0
- package/src/Order.ts +397 -0
- package/src/Ordering.ts +173 -0
- package/src/ParseResult.ts +2068 -0
- package/src/PartitionedSemaphore.ts +200 -0
- package/src/Pipeable.ts +574 -0
- package/src/Pool.ts +220 -0
- package/src/Predicate.ts +2344 -0
- package/src/Pretty.ts +205 -0
- package/src/PrimaryKey.ts +23 -0
- package/src/PubSub.ts +210 -0
- package/src/Queue.ts +748 -0
- package/src/Random.ts +204 -0
- package/src/RateLimiter.ts +138 -0
- package/src/RcMap.ts +245 -0
- package/src/RcRef.ts +122 -0
- package/src/Readable.ts +104 -0
- package/src/Record.ts +1990 -0
- package/src/RedBlackTree.ts +725 -0
- package/src/Redacted.ts +144 -0
- package/src/Ref.ts +268 -0
- package/src/RegExp.ts +38 -0
- package/src/Reloadable.ts +127 -0
- package/src/Request.ts +418 -0
- package/src/RequestBlock.ts +118 -0
- package/src/RequestResolver.ts +495 -0
- package/src/Resource.ts +119 -0
- package/src/Runtime.ts +631 -0
- package/src/RuntimeFlags.ts +436 -0
- package/src/RuntimeFlagsPatch.ts +295 -0
- package/src/STM.ts +3091 -0
- package/src/Schedule.ts +3740 -0
- package/src/ScheduleDecision.ts +62 -0
- package/src/ScheduleInterval.ts +219 -0
- package/src/ScheduleIntervals.ts +172 -0
- package/src/Scheduler.ts +364 -0
- package/src/Schema.ts +11443 -0
- package/src/SchemaAST.ts +3055 -0
- package/src/Scope.ts +240 -0
- package/src/ScopedCache.ts +151 -0
- package/src/ScopedRef.ts +139 -0
- package/src/Secret.ts +88 -0
- package/src/SingleProducerAsyncInput.ts +67 -0
- package/src/Sink.ts +1877 -0
- package/src/SortedMap.ts +361 -0
- package/src/SortedSet.ts +530 -0
- package/src/Stream.ts +11561 -0
- package/src/StreamEmit.ts +136 -0
- package/src/StreamHaltStrategy.ts +140 -0
- package/src/Streamable.ts +45 -0
- package/src/String.ts +1026 -0
- package/src/Struct.ts +335 -0
- package/src/Subscribable.ts +114 -0
- package/src/SubscriptionRef.ts +444 -0
- package/src/Supervisor.ts +240 -0
- package/src/Symbol.ts +29 -0
- package/src/SynchronizedRef.ts +429 -0
- package/src/TArray.ts +922 -0
- package/src/TDeferred.ts +124 -0
- package/src/TMap.ts +875 -0
- package/src/TPriorityQueue.ts +283 -0
- package/src/TPubSub.ts +228 -0
- package/src/TQueue.ts +540 -0
- package/src/TRandom.ts +129 -0
- package/src/TReentrantLock.ts +260 -0
- package/src/TRef.ts +266 -0
- package/src/TSemaphore.ts +169 -0
- package/src/TSet.ts +633 -0
- package/src/TSubscriptionRef.ts +284 -0
- package/src/Take.ts +309 -0
- package/src/TestAnnotation.ts +158 -0
- package/src/TestAnnotationMap.ts +163 -0
- package/src/TestAnnotations.ts +117 -0
- package/src/TestClock.ts +562 -0
- package/src/TestConfig.ts +47 -0
- package/src/TestContext.ts +36 -0
- package/src/TestLive.ts +53 -0
- package/src/TestServices.ts +454 -0
- package/src/TestSized.ts +55 -0
- package/src/Tracer.ts +182 -0
- package/src/Trie.ts +1860 -0
- package/src/Tuple.ts +483 -0
- package/src/Types.ts +361 -0
- package/src/Unify.ts +127 -0
- package/src/UpstreamPullRequest.ts +129 -0
- package/src/UpstreamPullStrategy.ts +133 -0
- package/src/Utils.ts +809 -0
- package/src/index.ts +1561 -0
- package/src/internal/array.ts +8 -0
- package/src/internal/blockedRequests.ts +520 -0
- package/src/internal/cache.ts +733 -0
- package/src/internal/cause.ts +1050 -0
- package/src/internal/channel/channelExecutor.ts +1200 -0
- package/src/internal/channel/channelState.ts +134 -0
- package/src/internal/channel/childExecutorDecision.ts +96 -0
- package/src/internal/channel/continuation.ts +200 -0
- package/src/internal/channel/mergeDecision.ts +113 -0
- package/src/internal/channel/mergeState.ts +120 -0
- package/src/internal/channel/mergeStrategy.ts +72 -0
- package/src/internal/channel/singleProducerAsyncInput.ts +259 -0
- package/src/internal/channel/subexecutor.ts +229 -0
- package/src/internal/channel/upstreamPullRequest.ts +84 -0
- package/src/internal/channel/upstreamPullStrategy.ts +87 -0
- package/src/internal/channel.ts +2603 -0
- package/src/internal/clock.ts +95 -0
- package/src/internal/completedRequestMap.ts +9 -0
- package/src/internal/concurrency.ts +54 -0
- package/src/internal/config.ts +716 -0
- package/src/internal/configError.ts +304 -0
- package/src/internal/configProvider/pathPatch.ts +97 -0
- package/src/internal/configProvider.ts +799 -0
- package/src/internal/console.ts +153 -0
- package/src/internal/context.ts +337 -0
- package/src/internal/core-effect.ts +2293 -0
- package/src/internal/core-stream.ts +998 -0
- package/src/internal/core.ts +3166 -0
- package/src/internal/data.ts +36 -0
- package/src/internal/dataSource.ts +327 -0
- package/src/internal/dateTime.ts +1277 -0
- package/src/internal/defaultServices/console.ts +100 -0
- package/src/internal/defaultServices.ts +163 -0
- package/src/internal/deferred.ts +46 -0
- package/src/internal/differ/chunkPatch.ts +211 -0
- package/src/internal/differ/contextPatch.ts +232 -0
- package/src/internal/differ/hashMapPatch.ts +220 -0
- package/src/internal/differ/hashSetPatch.ts +176 -0
- package/src/internal/differ/orPatch.ts +311 -0
- package/src/internal/differ/readonlyArrayPatch.ts +210 -0
- package/src/internal/differ.ts +200 -0
- package/src/internal/doNotation.ts +80 -0
- package/src/internal/effect/circular.ts +903 -0
- package/src/internal/effectable.ts +131 -0
- package/src/internal/either.ts +110 -0
- package/src/internal/encoding/base64.ts +286 -0
- package/src/internal/encoding/base64Url.ts +29 -0
- package/src/internal/encoding/common.ts +51 -0
- package/src/internal/encoding/hex.ts +315 -0
- package/src/internal/errors.ts +7 -0
- package/src/internal/executionPlan.ts +114 -0
- package/src/internal/executionStrategy.ts +74 -0
- package/src/internal/fiber.ts +388 -0
- package/src/internal/fiberId.ts +267 -0
- package/src/internal/fiberMessage.ts +82 -0
- package/src/internal/fiberRefs/patch.ts +144 -0
- package/src/internal/fiberRefs.ts +297 -0
- package/src/internal/fiberRuntime.ts +3859 -0
- package/src/internal/fiberScope.ts +71 -0
- package/src/internal/fiberStatus.ts +119 -0
- package/src/internal/groupBy.ts +530 -0
- package/src/internal/hashMap/array.ts +49 -0
- package/src/internal/hashMap/bitwise.ts +32 -0
- package/src/internal/hashMap/config.ts +14 -0
- package/src/internal/hashMap/keySet.ts +8 -0
- package/src/internal/hashMap/node.ts +391 -0
- package/src/internal/hashMap.ts +586 -0
- package/src/internal/hashSet.ts +323 -0
- package/src/internal/keyedPool.ts +244 -0
- package/src/internal/layer/circular.ts +214 -0
- package/src/internal/layer.ts +1483 -0
- package/src/internal/logSpan.ts +20 -0
- package/src/internal/logger-circular.ts +24 -0
- package/src/internal/logger.ts +485 -0
- package/src/internal/mailbox.ts +561 -0
- package/src/internal/managedRuntime/circular.ts +6 -0
- package/src/internal/managedRuntime.ts +137 -0
- package/src/internal/matcher.ts +652 -0
- package/src/internal/metric/boundaries.ts +75 -0
- package/src/internal/metric/hook.ts +483 -0
- package/src/internal/metric/key.ts +167 -0
- package/src/internal/metric/keyType.ts +238 -0
- package/src/internal/metric/label.ts +41 -0
- package/src/internal/metric/pair.ts +48 -0
- package/src/internal/metric/polling.ts +149 -0
- package/src/internal/metric/registry.ts +187 -0
- package/src/internal/metric/state.ts +290 -0
- package/src/internal/metric.ts +577 -0
- package/src/internal/opCodes/cause.ts +35 -0
- package/src/internal/opCodes/channel.ts +83 -0
- package/src/internal/opCodes/channelChildExecutorDecision.ts +17 -0
- package/src/internal/opCodes/channelMergeDecision.ts +11 -0
- package/src/internal/opCodes/channelMergeState.ts +17 -0
- package/src/internal/opCodes/channelMergeStrategy.ts +11 -0
- package/src/internal/opCodes/channelState.ts +23 -0
- package/src/internal/opCodes/channelUpstreamPullRequest.ts +11 -0
- package/src/internal/opCodes/channelUpstreamPullStrategy.ts +11 -0
- package/src/internal/opCodes/config.ts +65 -0
- package/src/internal/opCodes/configError.ts +35 -0
- package/src/internal/opCodes/continuation.ts +11 -0
- package/src/internal/opCodes/deferred.ts +11 -0
- package/src/internal/opCodes/effect.ts +89 -0
- package/src/internal/opCodes/layer.ts +59 -0
- package/src/internal/opCodes/streamHaltStrategy.ts +23 -0
- package/src/internal/option.ts +80 -0
- package/src/internal/pool.ts +432 -0
- package/src/internal/pubsub.ts +1762 -0
- package/src/internal/query.ts +204 -0
- package/src/internal/queue.ts +766 -0
- package/src/internal/random.ts +161 -0
- package/src/internal/rateLimiter.ts +93 -0
- package/src/internal/rcMap.ts +285 -0
- package/src/internal/rcRef.ts +192 -0
- package/src/internal/redBlackTree/iterator.ts +200 -0
- package/src/internal/redBlackTree/node.ts +68 -0
- package/src/internal/redBlackTree.ts +1245 -0
- package/src/internal/redacted.ts +73 -0
- package/src/internal/ref.ts +171 -0
- package/src/internal/reloadable.ts +140 -0
- package/src/internal/request.ts +177 -0
- package/src/internal/resource.ts +76 -0
- package/src/internal/ringBuffer.ts +68 -0
- package/src/internal/runtime.ts +558 -0
- package/src/internal/runtimeFlags.ts +178 -0
- package/src/internal/runtimeFlagsPatch.ts +103 -0
- package/src/internal/schedule/decision.ts +47 -0
- package/src/internal/schedule/interval.ts +101 -0
- package/src/internal/schedule/intervals.ts +180 -0
- package/src/internal/schedule.ts +2199 -0
- package/src/internal/schema/errors.ts +191 -0
- package/src/internal/schema/schemaId.ts +106 -0
- package/src/internal/schema/util.ts +50 -0
- package/src/internal/scopedCache.ts +644 -0
- package/src/internal/scopedRef.ts +118 -0
- package/src/internal/secret.ts +89 -0
- package/src/internal/singleShotGen.ts +35 -0
- package/src/internal/sink.ts +2120 -0
- package/src/internal/stack.ts +10 -0
- package/src/internal/stm/core.ts +817 -0
- package/src/internal/stm/entry.ts +59 -0
- package/src/internal/stm/journal.ts +123 -0
- package/src/internal/stm/opCodes/stm.ts +71 -0
- package/src/internal/stm/opCodes/stmState.ts +17 -0
- package/src/internal/stm/opCodes/strategy.ts +17 -0
- package/src/internal/stm/opCodes/tExit.ts +29 -0
- package/src/internal/stm/opCodes/tryCommit.ts +11 -0
- package/src/internal/stm/stm.ts +1453 -0
- package/src/internal/stm/stmState.ts +136 -0
- package/src/internal/stm/tArray.ts +550 -0
- package/src/internal/stm/tDeferred.ts +81 -0
- package/src/internal/stm/tExit.ts +190 -0
- package/src/internal/stm/tMap.ts +824 -0
- package/src/internal/stm/tPriorityQueue.ts +267 -0
- package/src/internal/stm/tPubSub.ts +551 -0
- package/src/internal/stm/tQueue.ts +393 -0
- package/src/internal/stm/tRandom.ts +140 -0
- package/src/internal/stm/tReentrantLock.ts +352 -0
- package/src/internal/stm/tRef.ts +195 -0
- package/src/internal/stm/tSemaphore.ts +113 -0
- package/src/internal/stm/tSet.ts +259 -0
- package/src/internal/stm/tSubscriptionRef.ts +286 -0
- package/src/internal/stm/tryCommit.ts +34 -0
- package/src/internal/stm/txnId.ts +14 -0
- package/src/internal/stm/versioned.ts +4 -0
- package/src/internal/stream/debounceState.ts +57 -0
- package/src/internal/stream/emit.ts +123 -0
- package/src/internal/stream/haltStrategy.ts +94 -0
- package/src/internal/stream/handoff.ts +187 -0
- package/src/internal/stream/handoffSignal.ts +59 -0
- package/src/internal/stream/pull.ts +34 -0
- package/src/internal/stream/sinkEndReason.ts +30 -0
- package/src/internal/stream/zipAllState.ts +88 -0
- package/src/internal/stream/zipChunksState.ts +56 -0
- package/src/internal/stream.ts +8802 -0
- package/src/internal/string-utils.ts +107 -0
- package/src/internal/subscriptionRef.ts +138 -0
- package/src/internal/supervisor/patch.ts +190 -0
- package/src/internal/supervisor.ts +303 -0
- package/src/internal/synchronizedRef.ts +114 -0
- package/src/internal/take.ts +199 -0
- package/src/internal/testing/sleep.ts +27 -0
- package/src/internal/testing/suspendedWarningData.ts +85 -0
- package/src/internal/testing/warningData.ts +94 -0
- package/src/internal/tracer.ts +150 -0
- package/src/internal/trie.ts +722 -0
- package/src/internal/version.ts +7 -0
|
@@ -0,0 +1,4192 @@
|
|
|
1
|
+
import * as groupBy_ from "./internal/groupBy.js";
|
|
2
|
+
import * as internal from "./internal/stream.js";
|
|
3
|
+
/**
|
|
4
|
+
* @since 2.0.0
|
|
5
|
+
* @category symbols
|
|
6
|
+
*/
|
|
7
|
+
export const StreamTypeId = internal.StreamTypeId;
|
|
8
|
+
/**
|
|
9
|
+
* The default chunk size used by the various combinators and constructors of
|
|
10
|
+
* `Stream`.
|
|
11
|
+
*
|
|
12
|
+
* @since 2.0.0
|
|
13
|
+
* @category constants
|
|
14
|
+
*/
|
|
15
|
+
export const DefaultChunkSize = internal.DefaultChunkSize;
|
|
16
|
+
/**
|
|
17
|
+
* Collects each underlying Chunk of the stream into a new chunk, and emits it
|
|
18
|
+
* on each pull.
|
|
19
|
+
*
|
|
20
|
+
* @since 2.0.0
|
|
21
|
+
* @category utils
|
|
22
|
+
*/
|
|
23
|
+
export const accumulate = internal.accumulate;
|
|
24
|
+
/**
|
|
25
|
+
* Re-chunks the elements of the stream by accumulating each underlying chunk.
|
|
26
|
+
*
|
|
27
|
+
* @since 2.0.0
|
|
28
|
+
* @category utils
|
|
29
|
+
*/
|
|
30
|
+
export const accumulateChunks = internal.accumulateChunks;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a stream from a single value that will get cleaned up after the
|
|
33
|
+
* stream is consumed.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* import { Console, Effect, Stream } from "effect"
|
|
38
|
+
*
|
|
39
|
+
* // Simulating File operations
|
|
40
|
+
* const open = (filename: string) =>
|
|
41
|
+
* Effect.gen(function*() {
|
|
42
|
+
* yield* Console.log(`Opening ${filename}`)
|
|
43
|
+
* return {
|
|
44
|
+
* getLines: Effect.succeed(["Line 1", "Line 2", "Line 3"]),
|
|
45
|
+
* close: Console.log(`Closing ${filename}`)
|
|
46
|
+
* }
|
|
47
|
+
* })
|
|
48
|
+
*
|
|
49
|
+
* const stream = Stream.acquireRelease(
|
|
50
|
+
* open("file.txt"),
|
|
51
|
+
* (file) => file.close
|
|
52
|
+
* ).pipe(Stream.flatMap((file) => file.getLines))
|
|
53
|
+
*
|
|
54
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
55
|
+
* // Opening file.txt
|
|
56
|
+
* // Closing file.txt
|
|
57
|
+
* // { _id: 'Chunk', values: [ [ 'Line 1', 'Line 2', 'Line 3' ] ] }
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* @since 2.0.0
|
|
61
|
+
* @category constructors
|
|
62
|
+
*/
|
|
63
|
+
export const acquireRelease = internal.acquireRelease;
|
|
64
|
+
/**
|
|
65
|
+
* Aggregates elements of this stream using the provided sink for as long as
|
|
66
|
+
* the downstream operators on the stream are busy.
|
|
67
|
+
*
|
|
68
|
+
* This operator divides the stream into two asynchronous "islands". Operators
|
|
69
|
+
* upstream of this operator run on one fiber, while downstream operators run
|
|
70
|
+
* on another. Whenever the downstream fiber is busy processing elements, the
|
|
71
|
+
* upstream fiber will feed elements into the sink until it signals
|
|
72
|
+
* completion.
|
|
73
|
+
*
|
|
74
|
+
* Any sink can be used here, but see `Sink.foldWeightedEffect` and
|
|
75
|
+
* `Sink.foldUntilEffect` for sinks that cover the common usecases.
|
|
76
|
+
*
|
|
77
|
+
* @since 2.0.0
|
|
78
|
+
* @category utils
|
|
79
|
+
*/
|
|
80
|
+
export const aggregate = internal.aggregate;
|
|
81
|
+
/**
|
|
82
|
+
* Like {@link aggregateWithinEither}, but only returns the `Right` results.
|
|
83
|
+
*
|
|
84
|
+
* @since 2.0.0
|
|
85
|
+
* @category utils
|
|
86
|
+
*/
|
|
87
|
+
export const aggregateWithin = internal.aggregateWithin;
|
|
88
|
+
/**
|
|
89
|
+
* Aggregates elements using the provided sink until it completes, or until
|
|
90
|
+
* the delay signalled by the schedule has passed.
|
|
91
|
+
*
|
|
92
|
+
* This operator divides the stream into two asynchronous islands. Operators
|
|
93
|
+
* upstream of this operator run on one fiber, while downstream operators run
|
|
94
|
+
* on another. Elements will be aggregated by the sink until the downstream
|
|
95
|
+
* fiber pulls the aggregated value, or until the schedule's delay has passed.
|
|
96
|
+
*
|
|
97
|
+
* Aggregated elements will be fed into the schedule to determine the delays
|
|
98
|
+
* between pulls.
|
|
99
|
+
*
|
|
100
|
+
* @since 2.0.0
|
|
101
|
+
* @category utils
|
|
102
|
+
*/
|
|
103
|
+
export const aggregateWithinEither = internal.aggregateWithinEither;
|
|
104
|
+
/**
|
|
105
|
+
* Maps the success values of this stream to the specified constant value.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```ts
|
|
109
|
+
* import { Effect, Stream } from "effect"
|
|
110
|
+
*
|
|
111
|
+
* const stream = Stream.range(1, 5).pipe(Stream.as(null))
|
|
112
|
+
*
|
|
113
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
114
|
+
* // { _id: 'Chunk', values: [ null, null, null, null, null ] }
|
|
115
|
+
* ```
|
|
116
|
+
*
|
|
117
|
+
* @since 2.0.0
|
|
118
|
+
* @category mapping
|
|
119
|
+
*/
|
|
120
|
+
export const as = internal.as;
|
|
121
|
+
const _async = internal._async;
|
|
122
|
+
export {
|
|
123
|
+
/**
|
|
124
|
+
* Creates a stream from an asynchronous callback that can be called multiple
|
|
125
|
+
* times. The optionality of the error type `E` in `Emit` can be used to
|
|
126
|
+
* signal the end of the stream by setting it to `None`.
|
|
127
|
+
*
|
|
128
|
+
* The registration function can optionally return an `Effect`, which will be
|
|
129
|
+
* executed if the `Fiber` executing this Effect is interrupted.
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```ts
|
|
133
|
+
* import type { StreamEmit } from "effect"
|
|
134
|
+
* import { Chunk, Effect, Option, Stream } from "effect"
|
|
135
|
+
*
|
|
136
|
+
* const events = [1, 2, 3, 4]
|
|
137
|
+
*
|
|
138
|
+
* const stream = Stream.async(
|
|
139
|
+
* (emit: StreamEmit.Emit<never, never, number, void>) => {
|
|
140
|
+
* events.forEach((n) => {
|
|
141
|
+
* setTimeout(() => {
|
|
142
|
+
* if (n === 3) {
|
|
143
|
+
* emit(Effect.fail(Option.none())) // Terminate the stream
|
|
144
|
+
* } else {
|
|
145
|
+
* emit(Effect.succeed(Chunk.of(n))) // Add the current item to the stream
|
|
146
|
+
* }
|
|
147
|
+
* }, 100 * n)
|
|
148
|
+
* })
|
|
149
|
+
* }
|
|
150
|
+
* )
|
|
151
|
+
*
|
|
152
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
153
|
+
* // { _id: 'Chunk', values: [ 1, 2 ] }
|
|
154
|
+
*
|
|
155
|
+
* ```
|
|
156
|
+
* @since 2.0.0
|
|
157
|
+
* @category constructors
|
|
158
|
+
*/
|
|
159
|
+
_async as async };
|
|
160
|
+
/**
|
|
161
|
+
* Creates a stream from an asynchronous callback that can be called multiple
|
|
162
|
+
* times The registration of the callback itself returns an effect. The
|
|
163
|
+
* optionality of the error type `E` can be used to signal the end of the
|
|
164
|
+
* stream, by setting it to `None`.
|
|
165
|
+
*
|
|
166
|
+
* @since 2.0.0
|
|
167
|
+
* @category constructors
|
|
168
|
+
*/
|
|
169
|
+
export const asyncEffect = internal.asyncEffect;
|
|
170
|
+
/**
|
|
171
|
+
* Creates a stream from an external push-based resource.
|
|
172
|
+
*
|
|
173
|
+
* You can use the `emit` helper to emit values to the stream. The `emit` helper
|
|
174
|
+
* returns a boolean indicating whether the value was emitted or not.
|
|
175
|
+
*
|
|
176
|
+
* You can also use the `emit` helper to signal the end of the stream by
|
|
177
|
+
* using apis such as `emit.end` or `emit.fail`.
|
|
178
|
+
*
|
|
179
|
+
* By default it uses an "unbounded" buffer size.
|
|
180
|
+
* You can customize the buffer size and strategy by passing an object as the
|
|
181
|
+
* second argument with the `bufferSize` and `strategy` fields.
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```ts
|
|
185
|
+
* import { Effect, Stream } from "effect"
|
|
186
|
+
*
|
|
187
|
+
* Stream.asyncPush<string>((emit) =>
|
|
188
|
+
* Effect.acquireRelease(
|
|
189
|
+
* Effect.gen(function*() {
|
|
190
|
+
* yield* Effect.log("subscribing")
|
|
191
|
+
* return setInterval(() => emit.single("tick"), 1000)
|
|
192
|
+
* }),
|
|
193
|
+
* (handle) =>
|
|
194
|
+
* Effect.gen(function*() {
|
|
195
|
+
* yield* Effect.log("unsubscribing")
|
|
196
|
+
* clearInterval(handle)
|
|
197
|
+
* })
|
|
198
|
+
* ), { bufferSize: 16, strategy: "dropping" })
|
|
199
|
+
* ```
|
|
200
|
+
*
|
|
201
|
+
* @since 3.6.0
|
|
202
|
+
* @category constructors
|
|
203
|
+
*/
|
|
204
|
+
export const asyncPush = internal.asyncPush;
|
|
205
|
+
/**
|
|
206
|
+
* Creates a stream from an asynchronous callback that can be called multiple
|
|
207
|
+
* times. The registration of the callback itself returns an a scoped
|
|
208
|
+
* resource. The optionality of the error type `E` can be used to signal the
|
|
209
|
+
* end of the stream, by setting it to `None`.
|
|
210
|
+
*
|
|
211
|
+
* @since 2.0.0
|
|
212
|
+
* @category constructors
|
|
213
|
+
*/
|
|
214
|
+
export const asyncScoped = internal.asyncScoped;
|
|
215
|
+
/**
|
|
216
|
+
* Returns a `Stream` that first collects `n` elements from the input `Stream`,
|
|
217
|
+
* and then creates a new `Stream` using the specified function, and sends all
|
|
218
|
+
* the following elements through that.
|
|
219
|
+
*
|
|
220
|
+
* @since 2.0.0
|
|
221
|
+
* @category sequencing
|
|
222
|
+
*/
|
|
223
|
+
export const branchAfter = internal.branchAfter;
|
|
224
|
+
/**
|
|
225
|
+
* Fan out the stream, producing a list of streams that have the same elements
|
|
226
|
+
* as this stream. The driver stream will only ever advance the `maximumLag`
|
|
227
|
+
* chunks before the slowest downstream stream.
|
|
228
|
+
*
|
|
229
|
+
* @example
|
|
230
|
+
* ```ts
|
|
231
|
+
* import { Console, Effect, Fiber, Schedule, Stream } from "effect"
|
|
232
|
+
*
|
|
233
|
+
* const numbers = Effect.scoped(
|
|
234
|
+
* Stream.range(1, 20).pipe(
|
|
235
|
+
* Stream.tap((n) => Console.log(`Emit ${n} element before broadcasting`)),
|
|
236
|
+
* Stream.broadcast(2, 5),
|
|
237
|
+
* Stream.flatMap(([first, second]) =>
|
|
238
|
+
* Effect.gen(function*() {
|
|
239
|
+
* const fiber1 = yield* Stream.runFold(first, 0, (acc, e) => Math.max(acc, e)).pipe(
|
|
240
|
+
* Effect.andThen((max) => Console.log(`Maximum: ${max}`)),
|
|
241
|
+
* Effect.fork
|
|
242
|
+
* )
|
|
243
|
+
* const fiber2 = yield* second.pipe(
|
|
244
|
+
* Stream.schedule(Schedule.spaced("1 second")),
|
|
245
|
+
* Stream.runForEach((n) => Console.log(`Logging to the Console: ${n}`)),
|
|
246
|
+
* Effect.fork
|
|
247
|
+
* )
|
|
248
|
+
* yield* Fiber.join(fiber1).pipe(
|
|
249
|
+
* Effect.zip(Fiber.join(fiber2), { concurrent: true })
|
|
250
|
+
* )
|
|
251
|
+
* })
|
|
252
|
+
* ),
|
|
253
|
+
* Stream.runCollect
|
|
254
|
+
* )
|
|
255
|
+
* )
|
|
256
|
+
*
|
|
257
|
+
* Effect.runPromise(numbers).then(console.log)
|
|
258
|
+
* // Emit 1 element before broadcasting
|
|
259
|
+
* // Emit 2 element before broadcasting
|
|
260
|
+
* // Emit 3 element before broadcasting
|
|
261
|
+
* // Emit 4 element before broadcasting
|
|
262
|
+
* // Emit 5 element before broadcasting
|
|
263
|
+
* // Emit 6 element before broadcasting
|
|
264
|
+
* // Emit 7 element before broadcasting
|
|
265
|
+
* // Emit 8 element before broadcasting
|
|
266
|
+
* // Emit 9 element before broadcasting
|
|
267
|
+
* // Emit 10 element before broadcasting
|
|
268
|
+
* // Emit 11 element before broadcasting
|
|
269
|
+
* // Logging to the Console: 1
|
|
270
|
+
* // Logging to the Console: 2
|
|
271
|
+
* // Logging to the Console: 3
|
|
272
|
+
* // Logging to the Console: 4
|
|
273
|
+
* // Logging to the Console: 5
|
|
274
|
+
* // Emit 12 element before broadcasting
|
|
275
|
+
* // Emit 13 element before broadcasting
|
|
276
|
+
* // Emit 14 element before broadcasting
|
|
277
|
+
* // Emit 15 element before broadcasting
|
|
278
|
+
* // Emit 16 element before broadcasting
|
|
279
|
+
* // Logging to the Console: 6
|
|
280
|
+
* // Logging to the Console: 7
|
|
281
|
+
* // Logging to the Console: 8
|
|
282
|
+
* // Logging to the Console: 9
|
|
283
|
+
* // Logging to the Console: 10
|
|
284
|
+
* // Emit 17 element before broadcasting
|
|
285
|
+
* // Emit 18 element before broadcasting
|
|
286
|
+
* // Emit 19 element before broadcasting
|
|
287
|
+
* // Emit 20 element before broadcasting
|
|
288
|
+
* // Logging to the Console: 11
|
|
289
|
+
* // Logging to the Console: 12
|
|
290
|
+
* // Logging to the Console: 13
|
|
291
|
+
* // Logging to the Console: 14
|
|
292
|
+
* // Logging to the Console: 15
|
|
293
|
+
* // Maximum: 20
|
|
294
|
+
* // Logging to the Console: 16
|
|
295
|
+
* // Logging to the Console: 17
|
|
296
|
+
* // Logging to the Console: 18
|
|
297
|
+
* // Logging to the Console: 19
|
|
298
|
+
* // Logging to the Console: 20
|
|
299
|
+
* // { _id: 'Chunk', values: [ undefined ] }
|
|
300
|
+
* ```
|
|
301
|
+
*
|
|
302
|
+
* @since 2.0.0
|
|
303
|
+
* @category utils
|
|
304
|
+
*/
|
|
305
|
+
export const broadcast = internal.broadcast;
|
|
306
|
+
/**
|
|
307
|
+
* Returns a new Stream that multicasts the original Stream, subscribing to it as soon as the first consumer subscribes.
|
|
308
|
+
* As long as there is at least one consumer, the upstream will continue running and emitting data.
|
|
309
|
+
* When all consumers have exited, the upstream will be finalized.
|
|
310
|
+
*
|
|
311
|
+
* @since 3.8.0
|
|
312
|
+
* @category utils
|
|
313
|
+
*/
|
|
314
|
+
export const share = internal.share;
|
|
315
|
+
/**
|
|
316
|
+
* Fan out the stream, producing a dynamic number of streams that have the
|
|
317
|
+
* same elements as this stream. The driver stream will only ever advance the
|
|
318
|
+
* `maximumLag` chunks before the slowest downstream stream.
|
|
319
|
+
*
|
|
320
|
+
* @since 2.0.0
|
|
321
|
+
* @category utils
|
|
322
|
+
*/
|
|
323
|
+
export const broadcastDynamic = internal.broadcastDynamic;
|
|
324
|
+
/**
|
|
325
|
+
* Converts the stream to a scoped list of queues. Every value will be
|
|
326
|
+
* replicated to every queue with the slowest queue being allowed to buffer
|
|
327
|
+
* `maximumLag` chunks before the driver is back pressured.
|
|
328
|
+
*
|
|
329
|
+
* Queues can unsubscribe from upstream by shutting down.
|
|
330
|
+
*
|
|
331
|
+
* @since 2.0.0
|
|
332
|
+
* @category utils
|
|
333
|
+
*/
|
|
334
|
+
export const broadcastedQueues = internal.broadcastedQueues;
|
|
335
|
+
/**
|
|
336
|
+
* Converts the stream to a scoped dynamic amount of queues. Every chunk will
|
|
337
|
+
* be replicated to every queue with the slowest queue being allowed to buffer
|
|
338
|
+
* `maximumLag` chunks before the driver is back pressured.
|
|
339
|
+
*
|
|
340
|
+
* Queues can unsubscribe from upstream by shutting down.
|
|
341
|
+
*
|
|
342
|
+
* @since 2.0.0
|
|
343
|
+
* @category utils
|
|
344
|
+
*/
|
|
345
|
+
export const broadcastedQueuesDynamic = internal.broadcastedQueuesDynamic;
|
|
346
|
+
/**
|
|
347
|
+
* Allows a faster producer to progress independently of a slower consumer by
|
|
348
|
+
* buffering up to `capacity` elements in a queue.
|
|
349
|
+
*
|
|
350
|
+
* Note: This combinator destroys the chunking structure. It's recommended to
|
|
351
|
+
* use rechunk afterwards. Additionally, prefer capacities that are powers
|
|
352
|
+
* of 2 for better performance.
|
|
353
|
+
*
|
|
354
|
+
* @example
|
|
355
|
+
* ```ts
|
|
356
|
+
* import { Console, Effect, Schedule, Stream } from "effect"
|
|
357
|
+
*
|
|
358
|
+
* const stream = Stream.range(1, 10).pipe(
|
|
359
|
+
* Stream.tap((n) => Console.log(`before buffering: ${n}`)),
|
|
360
|
+
* Stream.buffer({ capacity: 4 }),
|
|
361
|
+
* Stream.tap((n) => Console.log(`after buffering: ${n}`)),
|
|
362
|
+
* Stream.schedule(Schedule.spaced("5 seconds"))
|
|
363
|
+
* )
|
|
364
|
+
*
|
|
365
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
366
|
+
* // before buffering: 1
|
|
367
|
+
* // before buffering: 2
|
|
368
|
+
* // before buffering: 3
|
|
369
|
+
* // before buffering: 4
|
|
370
|
+
* // before buffering: 5
|
|
371
|
+
* // before buffering: 6
|
|
372
|
+
* // after buffering: 1
|
|
373
|
+
* // after buffering: 2
|
|
374
|
+
* // before buffering: 7
|
|
375
|
+
* // after buffering: 3
|
|
376
|
+
* // before buffering: 8
|
|
377
|
+
* // after buffering: 4
|
|
378
|
+
* // before buffering: 9
|
|
379
|
+
* // after buffering: 5
|
|
380
|
+
* // before buffering: 10
|
|
381
|
+
* // ...
|
|
382
|
+
* ```
|
|
383
|
+
*
|
|
384
|
+
* @since 2.0.0
|
|
385
|
+
* @category utils
|
|
386
|
+
*/
|
|
387
|
+
export const buffer = internal.buffer;
|
|
388
|
+
/**
|
|
389
|
+
* Allows a faster producer to progress independently of a slower consumer by
|
|
390
|
+
* buffering up to `capacity` chunks in a queue.
|
|
391
|
+
*
|
|
392
|
+
* @note Prefer capacities that are powers of 2 for better performance.
|
|
393
|
+
* @since 2.0.0
|
|
394
|
+
* @category utils
|
|
395
|
+
*/
|
|
396
|
+
export const bufferChunks = internal.bufferChunks;
|
|
397
|
+
/**
|
|
398
|
+
* Switches over to the stream produced by the provided function in case this
|
|
399
|
+
* one fails with a typed error.
|
|
400
|
+
*
|
|
401
|
+
* @since 2.0.0
|
|
402
|
+
* @category error handling
|
|
403
|
+
*/
|
|
404
|
+
export const catchAll = internal.catchAll;
|
|
405
|
+
/**
|
|
406
|
+
* Switches over to the stream produced by the provided function in case this
|
|
407
|
+
* one fails. Allows recovery from all causes of failure, including
|
|
408
|
+
* interruption if the stream is uninterruptible.
|
|
409
|
+
*
|
|
410
|
+
* @since 2.0.0
|
|
411
|
+
* @category error handling
|
|
412
|
+
*/
|
|
413
|
+
export const catchAllCause = internal.catchAllCause;
|
|
414
|
+
/**
|
|
415
|
+
* Switches over to the stream produced by the provided function in case this
|
|
416
|
+
* one fails with some typed error.
|
|
417
|
+
*
|
|
418
|
+
* @since 2.0.0
|
|
419
|
+
* @category error handling
|
|
420
|
+
*/
|
|
421
|
+
export const catchSome = internal.catchSome;
|
|
422
|
+
/**
|
|
423
|
+
* Switches over to the stream produced by the provided function in case this
|
|
424
|
+
* one fails with an error matching the given `_tag`.
|
|
425
|
+
*
|
|
426
|
+
* @since 2.0.0
|
|
427
|
+
* @category error handling
|
|
428
|
+
*/
|
|
429
|
+
export const catchTag = internal.catchTag;
|
|
430
|
+
/**
|
|
431
|
+
* Switches over to the stream produced by one of the provided functions, in
|
|
432
|
+
* case this one fails with an error matching one of the given `_tag`'s.
|
|
433
|
+
*
|
|
434
|
+
* @since 2.0.0
|
|
435
|
+
* @category error handling
|
|
436
|
+
*/
|
|
437
|
+
export const catchTags = internal.catchTags;
|
|
438
|
+
/**
|
|
439
|
+
* Switches over to the stream produced by the provided function in case this
|
|
440
|
+
* one fails with some errors. Allows recovery from all causes of failure,
|
|
441
|
+
* including interruption if the stream is uninterruptible.
|
|
442
|
+
*
|
|
443
|
+
* @since 2.0.0
|
|
444
|
+
* @category error handling
|
|
445
|
+
*/
|
|
446
|
+
export const catchSomeCause = internal.catchSomeCause;
|
|
447
|
+
/**
|
|
448
|
+
* Returns a new stream that only emits elements that are not equal to the
|
|
449
|
+
* previous element emitted, using natural equality to determine whether two
|
|
450
|
+
* elements are equal.
|
|
451
|
+
*
|
|
452
|
+
* @example
|
|
453
|
+
* ```ts
|
|
454
|
+
* import { Effect, Stream } from "effect"
|
|
455
|
+
*
|
|
456
|
+
* const stream = Stream.make(1, 1, 1, 2, 2, 3, 4).pipe(Stream.changes)
|
|
457
|
+
*
|
|
458
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
459
|
+
* // { _id: 'Chunk', values: [ 1, 2, 3, 4 ] }
|
|
460
|
+
* ```
|
|
461
|
+
*
|
|
462
|
+
* @since 2.0.0
|
|
463
|
+
* @category utils
|
|
464
|
+
*/
|
|
465
|
+
export const changes = internal.changes;
|
|
466
|
+
/**
|
|
467
|
+
* Returns a new stream that only emits elements that are not equal to the
|
|
468
|
+
* previous element emitted, using the specified function to determine whether
|
|
469
|
+
* two elements are equal.
|
|
470
|
+
*
|
|
471
|
+
* @since 2.0.0
|
|
472
|
+
* @category utils
|
|
473
|
+
*/
|
|
474
|
+
export const changesWith = internal.changesWith;
|
|
475
|
+
/**
|
|
476
|
+
* Returns a new stream that only emits elements that are not equal to the
|
|
477
|
+
* previous element emitted, using the specified effectual function to
|
|
478
|
+
* determine whether two elements are equal.
|
|
479
|
+
*
|
|
480
|
+
* @since 2.0.0
|
|
481
|
+
* @category utils
|
|
482
|
+
*/
|
|
483
|
+
export const changesWithEffect = internal.changesWithEffect;
|
|
484
|
+
/**
|
|
485
|
+
* Exposes the underlying chunks of the stream as a stream of chunks of
|
|
486
|
+
* elements.
|
|
487
|
+
*
|
|
488
|
+
* @since 2.0.0
|
|
489
|
+
* @category utils
|
|
490
|
+
*/
|
|
491
|
+
export const chunks = internal.chunks;
|
|
492
|
+
/**
|
|
493
|
+
* Performs the specified stream transformation with the chunk structure of
|
|
494
|
+
* the stream exposed.
|
|
495
|
+
*
|
|
496
|
+
* @since 2.0.0
|
|
497
|
+
* @category utils
|
|
498
|
+
*/
|
|
499
|
+
export const chunksWith = internal.chunksWith;
|
|
500
|
+
/**
|
|
501
|
+
* Combines the elements from this stream and the specified stream by
|
|
502
|
+
* repeatedly applying the function `f` to extract an element using both sides
|
|
503
|
+
* and conceptually "offer" it to the destination stream. `f` can maintain
|
|
504
|
+
* some internal state to control the combining process, with the initial
|
|
505
|
+
* state being specified by `s`.
|
|
506
|
+
*
|
|
507
|
+
* Where possible, prefer `Stream.combineChunks` for a more efficient
|
|
508
|
+
* implementation.
|
|
509
|
+
*
|
|
510
|
+
* @since 2.0.0
|
|
511
|
+
* @category utils
|
|
512
|
+
*/
|
|
513
|
+
export const combine = internal.combine;
|
|
514
|
+
/**
|
|
515
|
+
* Combines the chunks from this stream and the specified stream by repeatedly
|
|
516
|
+
* applying the function `f` to extract a chunk using both sides and
|
|
517
|
+
* conceptually "offer" it to the destination stream. `f` can maintain some
|
|
518
|
+
* internal state to control the combining process, with the initial state
|
|
519
|
+
* being specified by `s`.
|
|
520
|
+
*
|
|
521
|
+
* @since 2.0.0
|
|
522
|
+
* @category utils
|
|
523
|
+
*/
|
|
524
|
+
export const combineChunks = internal.combineChunks;
|
|
525
|
+
/**
|
|
526
|
+
* Concatenates the specified stream with this stream, resulting in a stream
|
|
527
|
+
* that emits the elements from this stream and then the elements from the
|
|
528
|
+
* specified stream.
|
|
529
|
+
*
|
|
530
|
+
* @example
|
|
531
|
+
* ```ts
|
|
532
|
+
* import { Effect, Stream } from "effect"
|
|
533
|
+
*
|
|
534
|
+
* const s1 = Stream.make(1, 2, 3)
|
|
535
|
+
* const s2 = Stream.make(4, 5)
|
|
536
|
+
*
|
|
537
|
+
* const stream = Stream.concat(s1, s2)
|
|
538
|
+
*
|
|
539
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
540
|
+
* // { _id: 'Chunk', values: [ 1, 2, 3, 4, 5 ] }
|
|
541
|
+
* ```
|
|
542
|
+
*
|
|
543
|
+
* @since 2.0.0
|
|
544
|
+
* @category utils
|
|
545
|
+
*/
|
|
546
|
+
export const concat = internal.concat;
|
|
547
|
+
/**
|
|
548
|
+
* Concatenates all of the streams in the chunk to one stream.
|
|
549
|
+
*
|
|
550
|
+
* @example
|
|
551
|
+
* ```ts
|
|
552
|
+
* import { Chunk, Effect, Stream } from "effect"
|
|
553
|
+
*
|
|
554
|
+
* const s1 = Stream.make(1, 2, 3)
|
|
555
|
+
* const s2 = Stream.make(4, 5)
|
|
556
|
+
* const s3 = Stream.make(6, 7, 8)
|
|
557
|
+
*
|
|
558
|
+
* const stream = Stream.concatAll(Chunk.make(s1, s2, s3))
|
|
559
|
+
*
|
|
560
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
561
|
+
* // {
|
|
562
|
+
* // _id: 'Chunk',
|
|
563
|
+
* // values: [
|
|
564
|
+
* // 1, 2, 3, 4,
|
|
565
|
+
* // 5, 6, 7, 8
|
|
566
|
+
* // ]
|
|
567
|
+
* // }
|
|
568
|
+
* ```
|
|
569
|
+
*
|
|
570
|
+
* @since 2.0.0
|
|
571
|
+
* @category constructors
|
|
572
|
+
*/
|
|
573
|
+
export const concatAll = internal.concatAll;
|
|
574
|
+
/**
|
|
575
|
+
* Composes this stream with the specified stream to create a cartesian
|
|
576
|
+
* product of elements. The `right` stream would be run multiple times, for
|
|
577
|
+
* every element in the `left` stream.
|
|
578
|
+
*
|
|
579
|
+
* See also `Stream.zip` for the more common point-wise variant.
|
|
580
|
+
*
|
|
581
|
+
* @example
|
|
582
|
+
* ```ts
|
|
583
|
+
* import { Effect, Stream } from "effect"
|
|
584
|
+
*
|
|
585
|
+
* const s1 = Stream.make(1, 2, 3)
|
|
586
|
+
* const s2 = Stream.make("a", "b")
|
|
587
|
+
*
|
|
588
|
+
* const product = Stream.cross(s1, s2)
|
|
589
|
+
*
|
|
590
|
+
* Effect.runPromise(Stream.runCollect(product)).then(console.log)
|
|
591
|
+
* // {
|
|
592
|
+
* // _id: "Chunk",
|
|
593
|
+
* // values: [
|
|
594
|
+
* // [ 1, "a" ], [ 1, "b" ], [ 2, "a" ], [ 2, "b" ], [ 3, "a" ], [ 3, "b" ]
|
|
595
|
+
* // ]
|
|
596
|
+
* // }
|
|
597
|
+
* ```
|
|
598
|
+
*
|
|
599
|
+
* @since 2.0.0
|
|
600
|
+
* @category utils
|
|
601
|
+
*/
|
|
602
|
+
export const cross = internal.cross;
|
|
603
|
+
/**
|
|
604
|
+
* Composes this stream with the specified stream to create a cartesian
|
|
605
|
+
* product of elements, but keeps only elements from `left` stream. The `right`
|
|
606
|
+
* stream would be run multiple times, for every element in the `left` stream.
|
|
607
|
+
*
|
|
608
|
+
* See also `Stream.zipLeft` for the more common point-wise variant.
|
|
609
|
+
*
|
|
610
|
+
* @since 2.0.0
|
|
611
|
+
* @category utils
|
|
612
|
+
*/
|
|
613
|
+
export const crossLeft = internal.crossLeft;
|
|
614
|
+
/**
|
|
615
|
+
* Composes this stream with the specified stream to create a cartesian
|
|
616
|
+
* product of elements, but keeps only elements from the `right` stream. The
|
|
617
|
+
* `left` stream would be run multiple times, for every element in the `right`
|
|
618
|
+
* stream.
|
|
619
|
+
*
|
|
620
|
+
* See also `Stream.zipRight` for the more common point-wise variant.
|
|
621
|
+
*
|
|
622
|
+
* @since 2.0.0
|
|
623
|
+
* @category utils
|
|
624
|
+
*/
|
|
625
|
+
export const crossRight = internal.crossRight;
|
|
626
|
+
/**
|
|
627
|
+
* Composes this stream with the specified stream to create a cartesian
|
|
628
|
+
* product of elements with a specified function. The `right` stream would be
|
|
629
|
+
* run multiple times, for every element in the `left` stream.
|
|
630
|
+
*
|
|
631
|
+
* See also `Stream.zipWith` for the more common point-wise variant.
|
|
632
|
+
*
|
|
633
|
+
* @since 2.0.0
|
|
634
|
+
* @category utils
|
|
635
|
+
*/
|
|
636
|
+
export const crossWith = internal.crossWith;
|
|
637
|
+
/**
|
|
638
|
+
* Delays the emission of values by holding new values for a set duration. If
|
|
639
|
+
* no new values arrive during that time the value is emitted, however if a
|
|
640
|
+
* new value is received during the holding period the previous value is
|
|
641
|
+
* discarded and the process is repeated with the new value.
|
|
642
|
+
*
|
|
643
|
+
* This operator is useful if you have a stream of "bursty" events which
|
|
644
|
+
* eventually settle down and you only need the final event of the burst. For
|
|
645
|
+
* example, a search engine may only want to initiate a search after a user
|
|
646
|
+
* has paused typing so as to not prematurely recommend results.
|
|
647
|
+
*
|
|
648
|
+
* @example
|
|
649
|
+
* ```ts
|
|
650
|
+
* import { Effect, Stream } from "effect"
|
|
651
|
+
*
|
|
652
|
+
* let last = Date.now()
|
|
653
|
+
* const log = (message: string) =>
|
|
654
|
+
* Effect.sync(() => {
|
|
655
|
+
* const end = Date.now()
|
|
656
|
+
* console.log(`${message} after ${end - last}ms`)
|
|
657
|
+
* last = end
|
|
658
|
+
* })
|
|
659
|
+
*
|
|
660
|
+
* const stream = Stream.make(1, 2, 3).pipe(
|
|
661
|
+
* Stream.concat(
|
|
662
|
+
* Stream.fromEffect(Effect.sleep("200 millis").pipe(Effect.as(4))) // Emit 4 after 200 ms
|
|
663
|
+
* ),
|
|
664
|
+
* Stream.concat(Stream.make(5, 6)), // Continue with more rapid values
|
|
665
|
+
* Stream.concat(
|
|
666
|
+
* Stream.fromEffect(Effect.sleep("150 millis").pipe(Effect.as(7))) // Emit 7 after 150 ms
|
|
667
|
+
* ),
|
|
668
|
+
* Stream.concat(Stream.make(8)),
|
|
669
|
+
* Stream.tap((n) => log(`Received ${n}`)),
|
|
670
|
+
* Stream.debounce("100 millis"), // Only emit values after a pause of at least 100 milliseconds,
|
|
671
|
+
* Stream.tap((n) => log(`> Emitted ${n}`))
|
|
672
|
+
* )
|
|
673
|
+
*
|
|
674
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
675
|
+
* // Received 1 after 5ms
|
|
676
|
+
* // Received 2 after 2ms
|
|
677
|
+
* // Received 3 after 0ms
|
|
678
|
+
* // > Emitted 3 after 104ms
|
|
679
|
+
* // Received 4 after 99ms
|
|
680
|
+
* // Received 5 after 1ms
|
|
681
|
+
* // Received 6 after 0ms
|
|
682
|
+
* // > Emitted 6 after 101ms
|
|
683
|
+
* // Received 7 after 50ms
|
|
684
|
+
* // Received 8 after 1ms
|
|
685
|
+
* // > Emitted 8 after 101ms
|
|
686
|
+
* // { _id: 'Chunk', values: [ 3, 6, 8 ] }
|
|
687
|
+
* ```
|
|
688
|
+
*
|
|
689
|
+
* @since 2.0.0
|
|
690
|
+
* @category utils
|
|
691
|
+
*/
|
|
692
|
+
export const debounce = internal.debounce;
|
|
693
|
+
/**
|
|
694
|
+
* The stream that dies with the specified defect.
|
|
695
|
+
*
|
|
696
|
+
* @since 2.0.0
|
|
697
|
+
* @category constructors
|
|
698
|
+
*/
|
|
699
|
+
export const die = internal.die;
|
|
700
|
+
/**
|
|
701
|
+
* The stream that dies with the specified lazily evaluated defect.
|
|
702
|
+
*
|
|
703
|
+
* @since 2.0.0
|
|
704
|
+
* @category constructors
|
|
705
|
+
*/
|
|
706
|
+
export const dieSync = internal.dieSync;
|
|
707
|
+
/**
|
|
708
|
+
* The stream that dies with an exception described by `message`.
|
|
709
|
+
*
|
|
710
|
+
* @since 2.0.0
|
|
711
|
+
* @category constructors
|
|
712
|
+
*/
|
|
713
|
+
export const dieMessage = internal.dieMessage;
|
|
714
|
+
/**
|
|
715
|
+
* More powerful version of `Stream.broadcast`. Allows to provide a function
|
|
716
|
+
* that determines what queues should receive which elements. The decide
|
|
717
|
+
* function will receive the indices of the queues in the resulting list.
|
|
718
|
+
*
|
|
719
|
+
* @since 2.0.0
|
|
720
|
+
* @category utils
|
|
721
|
+
*/
|
|
722
|
+
export const distributedWith = internal.distributedWith;
|
|
723
|
+
/**
|
|
724
|
+
* More powerful version of `Stream.distributedWith`. This returns a function
|
|
725
|
+
* that will produce new queues and corresponding indices. You can also
|
|
726
|
+
* provide a function that will be executed after the final events are
|
|
727
|
+
* enqueued in all queues. Shutdown of the queues is handled by the driver.
|
|
728
|
+
* Downstream users can also shutdown queues manually. In this case the driver
|
|
729
|
+
* will continue but no longer backpressure on them.
|
|
730
|
+
*
|
|
731
|
+
* @since 2.0.0
|
|
732
|
+
* @category utils
|
|
733
|
+
*/
|
|
734
|
+
export const distributedWithDynamic = internal.distributedWithDynamic;
|
|
735
|
+
/**
|
|
736
|
+
* Converts this stream to a stream that executes its effects but emits no
|
|
737
|
+
* elements. Useful for sequencing effects using streams:
|
|
738
|
+
*
|
|
739
|
+
* @example
|
|
740
|
+
* ```ts
|
|
741
|
+
* import { Effect, Stream } from "effect"
|
|
742
|
+
*
|
|
743
|
+
* // We create a stream and immediately drain it.
|
|
744
|
+
* const stream = Stream.range(1, 6).pipe(Stream.drain)
|
|
745
|
+
*
|
|
746
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
747
|
+
* // { _id: 'Chunk', values: [] }
|
|
748
|
+
* ```
|
|
749
|
+
*
|
|
750
|
+
* @since 2.0.0
|
|
751
|
+
* @category utils
|
|
752
|
+
*/
|
|
753
|
+
export const drain = internal.drain;
|
|
754
|
+
/**
|
|
755
|
+
* Drains the provided stream in the background for as long as this stream is
|
|
756
|
+
* running. If this stream ends before `other`, `other` will be interrupted.
|
|
757
|
+
* If `other` fails, this stream will fail with that error.
|
|
758
|
+
*
|
|
759
|
+
* @since 2.0.0
|
|
760
|
+
* @category utils
|
|
761
|
+
*/
|
|
762
|
+
export const drainFork = internal.drainFork;
|
|
763
|
+
/**
|
|
764
|
+
* Drops the specified number of elements from this stream.
|
|
765
|
+
*
|
|
766
|
+
* @since 2.0.0
|
|
767
|
+
* @category utils
|
|
768
|
+
*/
|
|
769
|
+
export const drop = internal.drop;
|
|
770
|
+
/**
|
|
771
|
+
* Drops the last specified number of elements from this stream.
|
|
772
|
+
*
|
|
773
|
+
* @note This combinator keeps `n` elements in memory. Be careful with big
|
|
774
|
+
* numbers.
|
|
775
|
+
* @since 2.0.0
|
|
776
|
+
* @category utils
|
|
777
|
+
*/
|
|
778
|
+
export const dropRight = internal.dropRight;
|
|
779
|
+
/**
|
|
780
|
+
* Drops all elements of the stream until the specified predicate evaluates to
|
|
781
|
+
* `true`.
|
|
782
|
+
*
|
|
783
|
+
* @since 2.0.0
|
|
784
|
+
* @category utils
|
|
785
|
+
*/
|
|
786
|
+
export const dropUntil = internal.dropUntil;
|
|
787
|
+
/**
|
|
788
|
+
* Drops all elements of the stream until the specified effectful predicate
|
|
789
|
+
* evaluates to `true`.
|
|
790
|
+
*
|
|
791
|
+
* @since 2.0.0
|
|
792
|
+
* @category utils
|
|
793
|
+
*/
|
|
794
|
+
export const dropUntilEffect = internal.dropUntilEffect;
|
|
795
|
+
/**
|
|
796
|
+
* Drops all elements of the stream for as long as the specified predicate
|
|
797
|
+
* evaluates to `true`.
|
|
798
|
+
*
|
|
799
|
+
* @since 2.0.0
|
|
800
|
+
* @category utils
|
|
801
|
+
*/
|
|
802
|
+
export const dropWhile = internal.dropWhile;
|
|
803
|
+
/**
|
|
804
|
+
* Drops all elements of the stream for as long as the specified predicate
|
|
805
|
+
* produces an effect that evalutates to `true`
|
|
806
|
+
*
|
|
807
|
+
* @since 2.0.0
|
|
808
|
+
* @category utils
|
|
809
|
+
*/
|
|
810
|
+
export const dropWhileEffect = internal.dropWhileEffect;
|
|
811
|
+
/**
|
|
812
|
+
* Returns a stream whose failures and successes have been lifted into an
|
|
813
|
+
* `Either`. The resulting stream cannot fail, because the failures have been
|
|
814
|
+
* exposed as part of the `Either` success case.
|
|
815
|
+
*
|
|
816
|
+
* @note The stream will end as soon as the first error occurs.
|
|
817
|
+
*
|
|
818
|
+
* @since 2.0.0
|
|
819
|
+
* @category utils
|
|
820
|
+
*/
|
|
821
|
+
export const either = internal.either;
|
|
822
|
+
/**
|
|
823
|
+
* The empty stream.
|
|
824
|
+
*
|
|
825
|
+
* @example
|
|
826
|
+
* ```ts
|
|
827
|
+
* import { Effect, Stream } from "effect"
|
|
828
|
+
*
|
|
829
|
+
* const stream = Stream.empty
|
|
830
|
+
*
|
|
831
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
832
|
+
* // { _id: 'Chunk', values: [] }
|
|
833
|
+
* ```
|
|
834
|
+
*
|
|
835
|
+
* @since 2.0.0
|
|
836
|
+
* @category constructors
|
|
837
|
+
*/
|
|
838
|
+
export const empty = internal.empty;
|
|
839
|
+
/**
|
|
840
|
+
* Executes the provided finalizer after this stream's finalizers run.
|
|
841
|
+
*
|
|
842
|
+
* @example
|
|
843
|
+
* ```ts
|
|
844
|
+
* import { Console, Effect, Stream } from "effect"
|
|
845
|
+
*
|
|
846
|
+
* const program = Stream.fromEffect(Console.log("Application Logic.")).pipe(
|
|
847
|
+
* Stream.concat(Stream.finalizer(Console.log("Finalizing the stream"))),
|
|
848
|
+
* Stream.ensuring(
|
|
849
|
+
* Console.log("Doing some other works after stream's finalization")
|
|
850
|
+
* )
|
|
851
|
+
* )
|
|
852
|
+
*
|
|
853
|
+
* Effect.runPromise(Stream.runCollect(program)).then(console.log)
|
|
854
|
+
* // Application Logic.
|
|
855
|
+
* // Finalizing the stream
|
|
856
|
+
* // Doing some other works after stream's finalization
|
|
857
|
+
* // { _id: 'Chunk', values: [ undefined, undefined ] }
|
|
858
|
+
* ```
|
|
859
|
+
*
|
|
860
|
+
* @since 2.0.0
|
|
861
|
+
* @category utils
|
|
862
|
+
*/
|
|
863
|
+
export const ensuring = internal.ensuring;
|
|
864
|
+
/**
|
|
865
|
+
* Executes the provided finalizer after this stream's finalizers run.
|
|
866
|
+
*
|
|
867
|
+
* @since 2.0.0
|
|
868
|
+
* @category utils
|
|
869
|
+
*/
|
|
870
|
+
export const ensuringWith = internal.ensuringWith;
|
|
871
|
+
/**
|
|
872
|
+
* Accesses the whole context of the stream.
|
|
873
|
+
*
|
|
874
|
+
* @since 2.0.0
|
|
875
|
+
* @category context
|
|
876
|
+
*/
|
|
877
|
+
export const context = internal.context;
|
|
878
|
+
/**
|
|
879
|
+
* Accesses the context of the stream.
|
|
880
|
+
*
|
|
881
|
+
* @since 2.0.0
|
|
882
|
+
* @category context
|
|
883
|
+
*/
|
|
884
|
+
export const contextWith = internal.contextWith;
|
|
885
|
+
/**
|
|
886
|
+
* Accesses the context of the stream in the context of an effect.
|
|
887
|
+
*
|
|
888
|
+
* @since 2.0.0
|
|
889
|
+
* @category context
|
|
890
|
+
*/
|
|
891
|
+
export const contextWithEffect = internal.contextWithEffect;
|
|
892
|
+
/**
|
|
893
|
+
* Accesses the context of the stream in the context of a stream.
|
|
894
|
+
*
|
|
895
|
+
* @since 2.0.0
|
|
896
|
+
* @category context
|
|
897
|
+
*/
|
|
898
|
+
export const contextWithStream = internal.contextWithStream;
|
|
899
|
+
/**
|
|
900
|
+
* Creates a stream that executes the specified effect but emits no elements.
|
|
901
|
+
*
|
|
902
|
+
* @since 2.0.0
|
|
903
|
+
* @category constructors
|
|
904
|
+
*/
|
|
905
|
+
export const execute = internal.execute;
|
|
906
|
+
/**
|
|
907
|
+
* Terminates with the specified error.
|
|
908
|
+
*
|
|
909
|
+
* @example
|
|
910
|
+
* ```ts
|
|
911
|
+
* import { Effect, Stream } from "effect"
|
|
912
|
+
*
|
|
913
|
+
* const stream = Stream.fail("Uh oh!")
|
|
914
|
+
*
|
|
915
|
+
* Effect.runPromiseExit(Stream.runCollect(stream)).then(console.log)
|
|
916
|
+
* // {
|
|
917
|
+
* // _id: 'Exit',
|
|
918
|
+
* // _tag: 'Failure',
|
|
919
|
+
* // cause: { _id: 'Cause', _tag: 'Fail', failure: 'Uh oh!' }
|
|
920
|
+
* // }
|
|
921
|
+
* ```
|
|
922
|
+
*
|
|
923
|
+
* @since 2.0.0
|
|
924
|
+
* @category constructors
|
|
925
|
+
*/
|
|
926
|
+
export const fail = internal.fail;
|
|
927
|
+
/**
|
|
928
|
+
* Terminates with the specified lazily evaluated error.
|
|
929
|
+
*
|
|
930
|
+
* @since 2.0.0
|
|
931
|
+
* @category constructors
|
|
932
|
+
*/
|
|
933
|
+
export const failSync = internal.failSync;
|
|
934
|
+
/**
|
|
935
|
+
* The stream that always fails with the specified `Cause`.
|
|
936
|
+
*
|
|
937
|
+
* @since 2.0.0
|
|
938
|
+
* @category constructors
|
|
939
|
+
*/
|
|
940
|
+
export const failCause = internal.failCause;
|
|
941
|
+
/**
|
|
942
|
+
* The stream that always fails with the specified lazily evaluated `Cause`.
|
|
943
|
+
*
|
|
944
|
+
* @since 2.0.0
|
|
945
|
+
* @category constructors
|
|
946
|
+
*/
|
|
947
|
+
export const failCauseSync = internal.failCauseSync;
|
|
948
|
+
/**
|
|
949
|
+
* Filters the elements emitted by this stream using the provided function.
|
|
950
|
+
*
|
|
951
|
+
* @example
|
|
952
|
+
* ```ts
|
|
953
|
+
* import { Effect, Stream } from "effect"
|
|
954
|
+
*
|
|
955
|
+
* const stream = Stream.range(1, 11).pipe(Stream.filter((n) => n % 2 === 0))
|
|
956
|
+
*
|
|
957
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
958
|
+
* // { _id: 'Chunk', values: [ 2, 4, 6, 8, 10 ] }
|
|
959
|
+
* ```
|
|
960
|
+
*
|
|
961
|
+
* @since 2.0.0
|
|
962
|
+
* @category filtering
|
|
963
|
+
*/
|
|
964
|
+
export const filter = internal.filter;
|
|
965
|
+
/**
|
|
966
|
+
* Effectfully filters the elements emitted by this stream.
|
|
967
|
+
*
|
|
968
|
+
* @since 2.0.0
|
|
969
|
+
* @category filtering
|
|
970
|
+
*/
|
|
971
|
+
export const filterEffect = internal.filterEffect;
|
|
972
|
+
/**
|
|
973
|
+
* Performs a filter and map in a single step.
|
|
974
|
+
*
|
|
975
|
+
* @since 2.0.0
|
|
976
|
+
* @category utils
|
|
977
|
+
*/
|
|
978
|
+
export const filterMap = internal.filterMap;
|
|
979
|
+
/**
|
|
980
|
+
* Performs an effectful filter and map in a single step.
|
|
981
|
+
*
|
|
982
|
+
* @since 2.0.0
|
|
983
|
+
* @category utils
|
|
984
|
+
*/
|
|
985
|
+
export const filterMapEffect = internal.filterMapEffect;
|
|
986
|
+
/**
|
|
987
|
+
* Transforms all elements of the stream for as long as the specified partial
|
|
988
|
+
* function is defined.
|
|
989
|
+
*
|
|
990
|
+
* @since 2.0.0
|
|
991
|
+
* @category utils
|
|
992
|
+
*/
|
|
993
|
+
export const filterMapWhile = internal.filterMapWhile;
|
|
994
|
+
/**
|
|
995
|
+
* Effectfully transforms all elements of the stream for as long as the
|
|
996
|
+
* specified partial function is defined.
|
|
997
|
+
*
|
|
998
|
+
* @since 2.0.0
|
|
999
|
+
* @category utils
|
|
1000
|
+
*/
|
|
1001
|
+
export const filterMapWhileEffect = internal.filterMapWhileEffect;
|
|
1002
|
+
/**
|
|
1003
|
+
* Creates a one-element stream that never fails and executes the finalizer
|
|
1004
|
+
* when it ends.
|
|
1005
|
+
*
|
|
1006
|
+
* @example
|
|
1007
|
+
* ```ts
|
|
1008
|
+
* import { Console, Effect, Stream } from "effect"
|
|
1009
|
+
*
|
|
1010
|
+
* const application = Stream.fromEffect(Console.log("Application Logic."))
|
|
1011
|
+
*
|
|
1012
|
+
* const deleteDir = (dir: string) => Console.log(`Deleting dir: ${dir}`)
|
|
1013
|
+
*
|
|
1014
|
+
* const program = application.pipe(
|
|
1015
|
+
* Stream.concat(
|
|
1016
|
+
* Stream.finalizer(
|
|
1017
|
+
* deleteDir("tmp").pipe(
|
|
1018
|
+
* Effect.andThen(Console.log("Temporary directory was deleted."))
|
|
1019
|
+
* )
|
|
1020
|
+
* )
|
|
1021
|
+
* )
|
|
1022
|
+
* )
|
|
1023
|
+
*
|
|
1024
|
+
* Effect.runPromise(Stream.runCollect(program)).then(console.log)
|
|
1025
|
+
* // Application Logic.
|
|
1026
|
+
* // Deleting dir: tmp
|
|
1027
|
+
* // Temporary directory was deleted.
|
|
1028
|
+
* // { _id: 'Chunk', values: [ undefined, undefined ] }
|
|
1029
|
+
* ```
|
|
1030
|
+
*
|
|
1031
|
+
* @since 2.0.0
|
|
1032
|
+
* @category constructors
|
|
1033
|
+
*/
|
|
1034
|
+
export const finalizer = internal.finalizer;
|
|
1035
|
+
/**
|
|
1036
|
+
* Finds the first element emitted by this stream that satisfies the provided
|
|
1037
|
+
* predicate.
|
|
1038
|
+
*
|
|
1039
|
+
* @since 2.0.0
|
|
1040
|
+
* @category elements
|
|
1041
|
+
*/
|
|
1042
|
+
export const find = internal.find;
|
|
1043
|
+
/**
|
|
1044
|
+
* Finds the first element emitted by this stream that satisfies the provided
|
|
1045
|
+
* effectful predicate.
|
|
1046
|
+
*
|
|
1047
|
+
* @since 2.0.0
|
|
1048
|
+
* @category elements
|
|
1049
|
+
*/
|
|
1050
|
+
export const findEffect = internal.findEffect;
|
|
1051
|
+
/**
|
|
1052
|
+
* Returns a stream made of the concatenation in strict order of all the
|
|
1053
|
+
* streams produced by passing each element of this stream to `f0`
|
|
1054
|
+
*
|
|
1055
|
+
* @since 2.0.0
|
|
1056
|
+
* @category sequencing
|
|
1057
|
+
*/
|
|
1058
|
+
export const flatMap = internal.flatMap;
|
|
1059
|
+
/**
|
|
1060
|
+
* Flattens this stream-of-streams into a stream made of the concatenation in
|
|
1061
|
+
* strict order of all the streams.
|
|
1062
|
+
*
|
|
1063
|
+
* @since 2.0.0
|
|
1064
|
+
* @category sequencing
|
|
1065
|
+
*/
|
|
1066
|
+
export const flatten = internal.flatten;
|
|
1067
|
+
/**
|
|
1068
|
+
* Submerges the chunks carried by this stream into the stream's structure,
|
|
1069
|
+
* while still preserving them.
|
|
1070
|
+
*
|
|
1071
|
+
* @since 2.0.0
|
|
1072
|
+
* @category sequencing
|
|
1073
|
+
*/
|
|
1074
|
+
export const flattenChunks = internal.flattenChunks;
|
|
1075
|
+
/**
|
|
1076
|
+
* Flattens `Effect` values into the stream's structure, preserving all
|
|
1077
|
+
* information about the effect.
|
|
1078
|
+
*
|
|
1079
|
+
* @since 2.0.0
|
|
1080
|
+
* @category sequencing
|
|
1081
|
+
*/
|
|
1082
|
+
export const flattenEffect = internal.flattenEffect;
|
|
1083
|
+
/**
|
|
1084
|
+
* Unwraps `Exit` values that also signify end-of-stream by failing with `None`.
|
|
1085
|
+
*
|
|
1086
|
+
* @since 2.0.0
|
|
1087
|
+
* @category sequencing
|
|
1088
|
+
*/
|
|
1089
|
+
export const flattenExitOption = internal.flattenExitOption;
|
|
1090
|
+
/**
|
|
1091
|
+
* Submerges the iterables carried by this stream into the stream's structure,
|
|
1092
|
+
* while still preserving them.
|
|
1093
|
+
*
|
|
1094
|
+
* @since 2.0.0
|
|
1095
|
+
* @category sequencing
|
|
1096
|
+
*/
|
|
1097
|
+
export const flattenIterables = internal.flattenIterables;
|
|
1098
|
+
/**
|
|
1099
|
+
* Unwraps `Exit` values and flatten chunks that also signify end-of-stream
|
|
1100
|
+
* by failing with `None`.
|
|
1101
|
+
*
|
|
1102
|
+
* @since 2.0.0
|
|
1103
|
+
* @category sequencing
|
|
1104
|
+
*/
|
|
1105
|
+
export const flattenTake = internal.flattenTake;
|
|
1106
|
+
/**
|
|
1107
|
+
* Repeats this stream forever.
|
|
1108
|
+
*
|
|
1109
|
+
* @since 2.0.0
|
|
1110
|
+
* @category utils
|
|
1111
|
+
*/
|
|
1112
|
+
export const forever = internal.forever;
|
|
1113
|
+
/**
|
|
1114
|
+
* Creates a stream from an `AsyncIterable`.
|
|
1115
|
+
*
|
|
1116
|
+
* @example
|
|
1117
|
+
* ```ts
|
|
1118
|
+
* import { Effect, Stream } from "effect"
|
|
1119
|
+
*
|
|
1120
|
+
* const myAsyncIterable = async function*() {
|
|
1121
|
+
* yield 1
|
|
1122
|
+
* yield 2
|
|
1123
|
+
* }
|
|
1124
|
+
*
|
|
1125
|
+
* const stream = Stream.fromAsyncIterable(
|
|
1126
|
+
* myAsyncIterable(),
|
|
1127
|
+
* (e) => new Error(String(e)) // Error Handling
|
|
1128
|
+
* )
|
|
1129
|
+
*
|
|
1130
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
1131
|
+
* // { _id: 'Chunk', values: [ 1, 2 ] }
|
|
1132
|
+
* ```
|
|
1133
|
+
*
|
|
1134
|
+
* @since 2.0.0
|
|
1135
|
+
* @category constructors
|
|
1136
|
+
*/
|
|
1137
|
+
export const fromAsyncIterable = internal.fromAsyncIterable;
|
|
1138
|
+
/**
|
|
1139
|
+
* Creates a stream from a `Channel`.
|
|
1140
|
+
*
|
|
1141
|
+
* @since 2.0.0
|
|
1142
|
+
* @category constructors
|
|
1143
|
+
*/
|
|
1144
|
+
export const fromChannel = internal.fromChannel;
|
|
1145
|
+
/**
|
|
1146
|
+
* Creates a channel from a `Stream`.
|
|
1147
|
+
*
|
|
1148
|
+
* @since 2.0.0
|
|
1149
|
+
* @category constructors
|
|
1150
|
+
*/
|
|
1151
|
+
export const toChannel = internal.toChannel;
|
|
1152
|
+
/**
|
|
1153
|
+
* Creates a stream from a `Chunk` of values.
|
|
1154
|
+
*
|
|
1155
|
+
* @example
|
|
1156
|
+
* ```ts
|
|
1157
|
+
* import { Chunk, Effect, Stream } from "effect"
|
|
1158
|
+
*
|
|
1159
|
+
* // Creating a stream with values from a single Chunk
|
|
1160
|
+
* const stream = Stream.fromChunk(Chunk.make(1, 2, 3))
|
|
1161
|
+
*
|
|
1162
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
1163
|
+
* // { _id: 'Chunk', values: [ 1, 2, 3 ] }
|
|
1164
|
+
* ```
|
|
1165
|
+
*
|
|
1166
|
+
* @since 2.0.0
|
|
1167
|
+
* @category constructors
|
|
1168
|
+
*/
|
|
1169
|
+
export const fromChunk = internal.fromChunk;
|
|
1170
|
+
/**
|
|
1171
|
+
* Creates a stream from a subscription to a `PubSub`.
|
|
1172
|
+
*
|
|
1173
|
+
* **Options**
|
|
1174
|
+
*
|
|
1175
|
+
* - `shutdown`: If `true`, the `PubSub` will be shutdown after the stream is evaluated (defaults to `false`)
|
|
1176
|
+
*
|
|
1177
|
+
* @since 2.0.0
|
|
1178
|
+
* @category constructors
|
|
1179
|
+
*/
|
|
1180
|
+
export const fromChunkPubSub = internal.fromChunkPubSub;
|
|
1181
|
+
/**
|
|
1182
|
+
* Creates a stream from a `Queue` of values.
|
|
1183
|
+
*
|
|
1184
|
+
* **Options**
|
|
1185
|
+
*
|
|
1186
|
+
* - `shutdown`: If `true`, the queue will be shutdown after the stream is evaluated (defaults to `false`)
|
|
1187
|
+
*
|
|
1188
|
+
* @since 2.0.0
|
|
1189
|
+
* @category constructors
|
|
1190
|
+
*/
|
|
1191
|
+
export const fromChunkQueue = internal.fromChunkQueue;
|
|
1192
|
+
/**
|
|
1193
|
+
* Creates a stream from an arbitrary number of chunks.
|
|
1194
|
+
*
|
|
1195
|
+
* @example
|
|
1196
|
+
* ```ts
|
|
1197
|
+
* import { Chunk, Effect, Stream } from "effect"
|
|
1198
|
+
*
|
|
1199
|
+
* // Creating a stream with values from multiple Chunks
|
|
1200
|
+
* const stream = Stream.fromChunks(Chunk.make(1, 2, 3), Chunk.make(4, 5, 6))
|
|
1201
|
+
*
|
|
1202
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
1203
|
+
* // { _id: 'Chunk', values: [ 1, 2, 3, 4, 5, 6 ] }
|
|
1204
|
+
* ```
|
|
1205
|
+
*
|
|
1206
|
+
* @since 2.0.0
|
|
1207
|
+
* @category constructors
|
|
1208
|
+
*/
|
|
1209
|
+
export const fromChunks = internal.fromChunks;
|
|
1210
|
+
/**
|
|
1211
|
+
* Either emits the success value of this effect or terminates the stream
|
|
1212
|
+
* with the failure value of this effect.
|
|
1213
|
+
*
|
|
1214
|
+
* @example
|
|
1215
|
+
* ```ts
|
|
1216
|
+
* import { Effect, Random, Stream } from "effect"
|
|
1217
|
+
*
|
|
1218
|
+
* const stream = Stream.fromEffect(Random.nextInt)
|
|
1219
|
+
*
|
|
1220
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
1221
|
+
* // Example Output: { _id: 'Chunk', values: [ 922694024 ] }
|
|
1222
|
+
* ```
|
|
1223
|
+
*
|
|
1224
|
+
* @since 2.0.0
|
|
1225
|
+
* @category constructors
|
|
1226
|
+
*/
|
|
1227
|
+
export const fromEffect = internal.fromEffect;
|
|
1228
|
+
/**
|
|
1229
|
+
* Creates a stream from an effect producing a value of type `A` or an empty
|
|
1230
|
+
* `Stream`.
|
|
1231
|
+
*
|
|
1232
|
+
* @since 2.0.0
|
|
1233
|
+
* @category constructors
|
|
1234
|
+
*/
|
|
1235
|
+
export const fromEffectOption = internal.fromEffectOption;
|
|
1236
|
+
/**
|
|
1237
|
+
* Creates a stream from a subscription to a `PubSub`.
|
|
1238
|
+
*
|
|
1239
|
+
* **Options**
|
|
1240
|
+
*
|
|
1241
|
+
* - `shutdown`: If `true`, the `PubSub` will be shutdown after the stream is evaluated (defaults to `false`)
|
|
1242
|
+
*
|
|
1243
|
+
* @since 2.0.0
|
|
1244
|
+
* @category constructors
|
|
1245
|
+
*/
|
|
1246
|
+
export const fromPubSub = internal.fromPubSub;
|
|
1247
|
+
/**
|
|
1248
|
+
* Creates a stream from a subscription to a `TPubSub`.
|
|
1249
|
+
*
|
|
1250
|
+
* @since 3.10.0
|
|
1251
|
+
* @category constructors
|
|
1252
|
+
*/
|
|
1253
|
+
export const fromTPubSub = internal.fromTPubSub;
|
|
1254
|
+
/**
|
|
1255
|
+
* Creates a new `Stream` from an iterable collection of values.
|
|
1256
|
+
*
|
|
1257
|
+
* @example
|
|
1258
|
+
* ```ts
|
|
1259
|
+
* import { Effect, Stream } from "effect"
|
|
1260
|
+
*
|
|
1261
|
+
* const numbers = [1, 2, 3]
|
|
1262
|
+
*
|
|
1263
|
+
* const stream = Stream.fromIterable(numbers)
|
|
1264
|
+
*
|
|
1265
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
1266
|
+
* // { _id: 'Chunk', values: [ 1, 2, 3 ] }
|
|
1267
|
+
* ```
|
|
1268
|
+
*
|
|
1269
|
+
* @since 2.0.0
|
|
1270
|
+
* @category constructors
|
|
1271
|
+
*/
|
|
1272
|
+
export const fromIterable = internal.fromIterable;
|
|
1273
|
+
/**
|
|
1274
|
+
* Creates a stream from an effect producing a value of type `Iterable<A>`.
|
|
1275
|
+
*
|
|
1276
|
+
* @example
|
|
1277
|
+
* ```ts
|
|
1278
|
+
* import { Context, Effect, Stream } from "effect"
|
|
1279
|
+
*
|
|
1280
|
+
* class Database extends Context.Tag("Database")<
|
|
1281
|
+
* Database,
|
|
1282
|
+
* { readonly getUsers: Effect.Effect<Array<string>> }
|
|
1283
|
+
* >() {}
|
|
1284
|
+
*
|
|
1285
|
+
* const getUsers = Database.pipe(Effect.andThen((_) => _.getUsers))
|
|
1286
|
+
*
|
|
1287
|
+
* const stream = Stream.fromIterableEffect(getUsers)
|
|
1288
|
+
*
|
|
1289
|
+
* Effect.runPromise(
|
|
1290
|
+
* Stream.runCollect(stream.pipe(Stream.provideService(Database, { getUsers: Effect.succeed(["user1", "user2"]) })))
|
|
1291
|
+
* ).then(console.log)
|
|
1292
|
+
* // { _id: 'Chunk', values: [ 'user1', 'user2' ] }
|
|
1293
|
+
* ```
|
|
1294
|
+
*
|
|
1295
|
+
* @since 2.0.0
|
|
1296
|
+
* @category constructors
|
|
1297
|
+
*/
|
|
1298
|
+
export const fromIterableEffect = internal.fromIterableEffect;
|
|
1299
|
+
/**
|
|
1300
|
+
* Creates a stream from an iterator
|
|
1301
|
+
*
|
|
1302
|
+
* @since 2.0.0
|
|
1303
|
+
* @category constructors
|
|
1304
|
+
*/
|
|
1305
|
+
export const fromIteratorSucceed = internal.fromIteratorSucceed;
|
|
1306
|
+
/**
|
|
1307
|
+
* Creates a stream from an effect that pulls elements from another stream.
|
|
1308
|
+
*
|
|
1309
|
+
* See `Stream.toPull` for reference.
|
|
1310
|
+
*
|
|
1311
|
+
* @since 2.0.0
|
|
1312
|
+
* @category constructors
|
|
1313
|
+
*/
|
|
1314
|
+
export const fromPull = internal.fromPull;
|
|
1315
|
+
/**
|
|
1316
|
+
* Creates a stream from a queue of values
|
|
1317
|
+
*
|
|
1318
|
+
* **Options**
|
|
1319
|
+
*
|
|
1320
|
+
* - `maxChunkSize`: The maximum number of queued elements to put in one chunk in the stream
|
|
1321
|
+
* - `shutdown`: If `true`, the queue will be shutdown after the stream is evaluated (defaults to `false`)
|
|
1322
|
+
*
|
|
1323
|
+
* @since 2.0.0
|
|
1324
|
+
* @category constructors
|
|
1325
|
+
*/
|
|
1326
|
+
export const fromQueue = internal.fromQueue;
|
|
1327
|
+
/**
|
|
1328
|
+
* Creates a stream from a TQueue of values
|
|
1329
|
+
*
|
|
1330
|
+
* @since 3.10.0
|
|
1331
|
+
* @category constructors
|
|
1332
|
+
*/
|
|
1333
|
+
export const fromTQueue = internal.fromTQueue;
|
|
1334
|
+
/**
|
|
1335
|
+
* Creates a stream from a `ReadableStream`.
|
|
1336
|
+
*
|
|
1337
|
+
* See https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream.
|
|
1338
|
+
*
|
|
1339
|
+
* @since 2.0.0
|
|
1340
|
+
* @category constructors
|
|
1341
|
+
*/
|
|
1342
|
+
export const fromReadableStream = internal.fromReadableStream;
|
|
1343
|
+
/**
|
|
1344
|
+
* Creates a stream from a `ReadableStreamBYOBReader`.
|
|
1345
|
+
*
|
|
1346
|
+
* See https://developer.mozilla.org/en-US/docs/Web/API/ReadableStreamBYOBReader.
|
|
1347
|
+
*
|
|
1348
|
+
* @since 2.0.0
|
|
1349
|
+
* @category constructors
|
|
1350
|
+
*/
|
|
1351
|
+
export const fromReadableStreamByob = internal.fromReadableStreamByob;
|
|
1352
|
+
/**
|
|
1353
|
+
* Creates a stream from a `Schedule` that does not require any further
|
|
1354
|
+
* input. The stream will emit an element for each value output from the
|
|
1355
|
+
* schedule, continuing for as long as the schedule continues.
|
|
1356
|
+
*
|
|
1357
|
+
* @example
|
|
1358
|
+
* ```ts
|
|
1359
|
+
* import { Effect, Schedule, Stream } from "effect"
|
|
1360
|
+
*
|
|
1361
|
+
* // Emits values every 1 second for a total of 5 emissions
|
|
1362
|
+
* const schedule = Schedule.spaced("1 second").pipe(
|
|
1363
|
+
* Schedule.compose(Schedule.recurs(5))
|
|
1364
|
+
* )
|
|
1365
|
+
*
|
|
1366
|
+
* const stream = Stream.fromSchedule(schedule)
|
|
1367
|
+
*
|
|
1368
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
1369
|
+
* // { _id: 'Chunk', values: [ 0, 1, 2, 3, 4 ] }
|
|
1370
|
+
* ```
|
|
1371
|
+
*
|
|
1372
|
+
* @since 2.0.0
|
|
1373
|
+
* @category constructors
|
|
1374
|
+
*/
|
|
1375
|
+
export const fromSchedule = internal.fromSchedule;
|
|
1376
|
+
/**
|
|
1377
|
+
* Creates a pipeline that groups on adjacent keys, calculated by the
|
|
1378
|
+
* specified function.
|
|
1379
|
+
*
|
|
1380
|
+
* @since 2.0.0
|
|
1381
|
+
* @category grouping
|
|
1382
|
+
*/
|
|
1383
|
+
export const groupAdjacentBy = internal.groupAdjacentBy;
|
|
1384
|
+
/**
|
|
1385
|
+
* More powerful version of `Stream.groupByKey`.
|
|
1386
|
+
*
|
|
1387
|
+
* @example
|
|
1388
|
+
* ```ts
|
|
1389
|
+
* import { Chunk, Effect, GroupBy, Stream } from "effect"
|
|
1390
|
+
*
|
|
1391
|
+
* const groupByKeyResult = Stream.fromIterable([
|
|
1392
|
+
* "Mary",
|
|
1393
|
+
* "James",
|
|
1394
|
+
* "Robert",
|
|
1395
|
+
* "Patricia",
|
|
1396
|
+
* "John",
|
|
1397
|
+
* "Jennifer",
|
|
1398
|
+
* "Rebecca",
|
|
1399
|
+
* "Peter"
|
|
1400
|
+
* ]).pipe(
|
|
1401
|
+
* Stream.groupBy((name) => Effect.succeed([name.substring(0, 1), name]))
|
|
1402
|
+
* )
|
|
1403
|
+
*
|
|
1404
|
+
* const stream = GroupBy.evaluate(groupByKeyResult, (key, stream) =>
|
|
1405
|
+
* Stream.fromEffect(
|
|
1406
|
+
* Stream.runCollect(stream).pipe(
|
|
1407
|
+
* Effect.andThen((chunk) => [key, Chunk.size(chunk)] as const)
|
|
1408
|
+
* )
|
|
1409
|
+
* ))
|
|
1410
|
+
*
|
|
1411
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
1412
|
+
* // {
|
|
1413
|
+
* // _id: 'Chunk',
|
|
1414
|
+
* // values: [ [ 'M', 1 ], [ 'J', 3 ], [ 'R', 2 ], [ 'P', 2 ] ]
|
|
1415
|
+
* // }
|
|
1416
|
+
* ```
|
|
1417
|
+
*
|
|
1418
|
+
* @since 2.0.0
|
|
1419
|
+
* @category grouping
|
|
1420
|
+
*/
|
|
1421
|
+
export const groupBy = groupBy_.groupBy;
|
|
1422
|
+
/**
|
|
1423
|
+
* Partition a stream using a function and process each stream individually.
|
|
1424
|
+
* This returns a data structure that can be used to further filter down which
|
|
1425
|
+
* groups shall be processed.
|
|
1426
|
+
*
|
|
1427
|
+
* After calling apply on the GroupBy object, the remaining groups will be
|
|
1428
|
+
* processed in parallel and the resulting streams merged in a
|
|
1429
|
+
* nondeterministic fashion.
|
|
1430
|
+
*
|
|
1431
|
+
* Up to `buffer` elements may be buffered in any group stream before the
|
|
1432
|
+
* producer is backpressured. Take care to consume from all streams in order
|
|
1433
|
+
* to prevent deadlocks.
|
|
1434
|
+
*
|
|
1435
|
+
* For example, to collect the first 2 words for every starting letter from a
|
|
1436
|
+
* stream of words:
|
|
1437
|
+
*
|
|
1438
|
+
* ```ts
|
|
1439
|
+
* import { pipe, GroupBy, Stream } from "effect"
|
|
1440
|
+
*
|
|
1441
|
+
* pipe(
|
|
1442
|
+
* Stream.fromIterable(["hello", "world", "hi", "holla"]),
|
|
1443
|
+
* Stream.groupByKey((word) => word[0]),
|
|
1444
|
+
* GroupBy.evaluate((key, stream) =>
|
|
1445
|
+
* pipe(
|
|
1446
|
+
* stream,
|
|
1447
|
+
* Stream.take(2),
|
|
1448
|
+
* Stream.map((words) => [key, words] as const)
|
|
1449
|
+
* )
|
|
1450
|
+
* )
|
|
1451
|
+
* )
|
|
1452
|
+
* ```
|
|
1453
|
+
*
|
|
1454
|
+
* @since 2.0.0
|
|
1455
|
+
* @category grouping
|
|
1456
|
+
*/
|
|
1457
|
+
export const groupByKey = groupBy_.groupByKey;
|
|
1458
|
+
/**
|
|
1459
|
+
* Partitions the stream with specified `chunkSize`.
|
|
1460
|
+
*
|
|
1461
|
+
* @example
|
|
1462
|
+
* ```ts
|
|
1463
|
+
* import { Effect, Stream } from "effect"
|
|
1464
|
+
*
|
|
1465
|
+
* const stream = Stream.range(0, 8).pipe(Stream.grouped(3))
|
|
1466
|
+
*
|
|
1467
|
+
* Effect.runPromise(Stream.runCollect(stream)).then((chunks) => console.log("%o", chunks))
|
|
1468
|
+
* // {
|
|
1469
|
+
* // _id: 'Chunk',
|
|
1470
|
+
* // values: [
|
|
1471
|
+
* // { _id: 'Chunk', values: [ 0, 1, 2, [length]: 3 ] },
|
|
1472
|
+
* // { _id: 'Chunk', values: [ 3, 4, 5, [length]: 3 ] },
|
|
1473
|
+
* // { _id: 'Chunk', values: [ 6, 7, 8, [length]: 3 ] },
|
|
1474
|
+
* // [length]: 3
|
|
1475
|
+
* // ]
|
|
1476
|
+
* // }
|
|
1477
|
+
* ```
|
|
1478
|
+
*
|
|
1479
|
+
* @since 2.0.0
|
|
1480
|
+
* @category grouping
|
|
1481
|
+
*/
|
|
1482
|
+
export const grouped = internal.grouped;
|
|
1483
|
+
/**
|
|
1484
|
+
* Partitions the stream with the specified `chunkSize` or until the specified
|
|
1485
|
+
* `duration` has passed, whichever is satisfied first.
|
|
1486
|
+
*
|
|
1487
|
+
* @example
|
|
1488
|
+
* ```ts
|
|
1489
|
+
* import { Chunk, Effect, Schedule, Stream } from "effect"
|
|
1490
|
+
*
|
|
1491
|
+
* const stream = Stream.range(0, 9).pipe(
|
|
1492
|
+
* Stream.repeat(Schedule.spaced("1 second")),
|
|
1493
|
+
* Stream.groupedWithin(18, "1.5 seconds"),
|
|
1494
|
+
* Stream.take(3)
|
|
1495
|
+
* )
|
|
1496
|
+
*
|
|
1497
|
+
* Effect.runPromise(Stream.runCollect(stream)).then((chunks) => console.log(Chunk.toArray(chunks)))
|
|
1498
|
+
* // [
|
|
1499
|
+
* // {
|
|
1500
|
+
* // _id: 'Chunk',
|
|
1501
|
+
* // values: [
|
|
1502
|
+
* // 0, 1, 2, 3, 4, 5, 6,
|
|
1503
|
+
* // 7, 8, 9, 0, 1, 2, 3,
|
|
1504
|
+
* // 4, 5, 6, 7
|
|
1505
|
+
* // ]
|
|
1506
|
+
* // },
|
|
1507
|
+
* // {
|
|
1508
|
+
* // _id: 'Chunk',
|
|
1509
|
+
* // values: [
|
|
1510
|
+
* // 8, 9, 0, 1, 2,
|
|
1511
|
+
* // 3, 4, 5, 6, 7,
|
|
1512
|
+
* // 8, 9
|
|
1513
|
+
* // ]
|
|
1514
|
+
* // },
|
|
1515
|
+
* // {
|
|
1516
|
+
* // _id: 'Chunk',
|
|
1517
|
+
* // values: [
|
|
1518
|
+
* // 0, 1, 2, 3, 4, 5, 6,
|
|
1519
|
+
* // 7, 8, 9, 0, 1, 2, 3,
|
|
1520
|
+
* // 4, 5, 6, 7
|
|
1521
|
+
* // ]
|
|
1522
|
+
* // }
|
|
1523
|
+
* // ]
|
|
1524
|
+
* ```
|
|
1525
|
+
*
|
|
1526
|
+
* @since 2.0.0
|
|
1527
|
+
* @category grouping
|
|
1528
|
+
*/
|
|
1529
|
+
export const groupedWithin = internal.groupedWithin;
|
|
1530
|
+
/**
|
|
1531
|
+
* Specialized version of haltWhen which halts the evaluation of this stream
|
|
1532
|
+
* after the given duration.
|
|
1533
|
+
*
|
|
1534
|
+
* An element in the process of being pulled will not be interrupted when the
|
|
1535
|
+
* given duration completes. See `interruptAfter` for this behavior.
|
|
1536
|
+
*
|
|
1537
|
+
* @since 2.0.0
|
|
1538
|
+
* @category utils
|
|
1539
|
+
*/
|
|
1540
|
+
export const haltAfter = internal.haltAfter;
|
|
1541
|
+
/**
|
|
1542
|
+
* Halts the evaluation of this stream when the provided effect completes. The
|
|
1543
|
+
* given effect will be forked as part of the returned stream, and its success
|
|
1544
|
+
* will be discarded.
|
|
1545
|
+
*
|
|
1546
|
+
* An element in the process of being pulled will not be interrupted when the
|
|
1547
|
+
* effect completes. See `interruptWhen` for this behavior.
|
|
1548
|
+
*
|
|
1549
|
+
* If the effect completes with a failure, the stream will emit that failure.
|
|
1550
|
+
*
|
|
1551
|
+
* @since 2.0.0
|
|
1552
|
+
* @category utils
|
|
1553
|
+
*/
|
|
1554
|
+
export const haltWhen = internal.haltWhen;
|
|
1555
|
+
/**
|
|
1556
|
+
* Halts the evaluation of this stream when the provided promise resolves.
|
|
1557
|
+
*
|
|
1558
|
+
* If the promise completes with a failure, the stream will emit that failure.
|
|
1559
|
+
*
|
|
1560
|
+
* @since 2.0.0
|
|
1561
|
+
* @category utils
|
|
1562
|
+
*/
|
|
1563
|
+
export const haltWhenDeferred = internal.haltWhenDeferred;
|
|
1564
|
+
/**
|
|
1565
|
+
* The identity pipeline, which does not modify streams in any way.
|
|
1566
|
+
*
|
|
1567
|
+
* @since 2.0.0
|
|
1568
|
+
* @category utils
|
|
1569
|
+
*/
|
|
1570
|
+
export const identity = internal.identityStream;
|
|
1571
|
+
/**
|
|
1572
|
+
* Interleaves this stream and the specified stream deterministically by
|
|
1573
|
+
* alternating pulling values from this stream and the specified stream. When
|
|
1574
|
+
* one stream is exhausted all remaining values in the other stream will be
|
|
1575
|
+
* pulled.
|
|
1576
|
+
*
|
|
1577
|
+
* @example
|
|
1578
|
+
* ```ts
|
|
1579
|
+
* import { Effect, Stream } from "effect"
|
|
1580
|
+
*
|
|
1581
|
+
* const s1 = Stream.make(1, 2, 3)
|
|
1582
|
+
* const s2 = Stream.make(4, 5, 6)
|
|
1583
|
+
*
|
|
1584
|
+
* const stream = Stream.interleave(s1, s2)
|
|
1585
|
+
*
|
|
1586
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
1587
|
+
* // { _id: 'Chunk', values: [ 1, 4, 2, 5, 3, 6 ] }
|
|
1588
|
+
* ```
|
|
1589
|
+
* @since 2.0.0
|
|
1590
|
+
* @category utils
|
|
1591
|
+
*/
|
|
1592
|
+
export const interleave = internal.interleave;
|
|
1593
|
+
/**
|
|
1594
|
+
* Combines this stream and the specified stream deterministically using the
|
|
1595
|
+
* stream of boolean values `pull` to control which stream to pull from next.
|
|
1596
|
+
* A value of `true` indicates to pull from this stream and a value of `false`
|
|
1597
|
+
* indicates to pull from the specified stream. Only consumes as many elements
|
|
1598
|
+
* as requested by the `pull` stream. If either this stream or the specified
|
|
1599
|
+
* stream are exhausted further requests for values from that stream will be
|
|
1600
|
+
* ignored.
|
|
1601
|
+
*
|
|
1602
|
+
* @example
|
|
1603
|
+
* ```ts
|
|
1604
|
+
* import { Effect, Stream } from "effect"
|
|
1605
|
+
*
|
|
1606
|
+
* const s1 = Stream.make(1, 3, 5, 7, 9)
|
|
1607
|
+
* const s2 = Stream.make(2, 4, 6, 8, 10)
|
|
1608
|
+
*
|
|
1609
|
+
* const booleanStream = Stream.make(true, false, false).pipe(Stream.forever)
|
|
1610
|
+
*
|
|
1611
|
+
* const stream = Stream.interleaveWith(s1, s2, booleanStream)
|
|
1612
|
+
*
|
|
1613
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
1614
|
+
* // {
|
|
1615
|
+
* // _id: 'Chunk',
|
|
1616
|
+
* // values: [
|
|
1617
|
+
* // 1, 2, 4, 3, 6,
|
|
1618
|
+
* // 8, 5, 10, 7, 9
|
|
1619
|
+
* // ]
|
|
1620
|
+
* // }
|
|
1621
|
+
* ```
|
|
1622
|
+
*
|
|
1623
|
+
* @since 2.0.0
|
|
1624
|
+
* @category utils
|
|
1625
|
+
*/
|
|
1626
|
+
export const interleaveWith = internal.interleaveWith;
|
|
1627
|
+
/**
|
|
1628
|
+
* Intersperse stream with provided `element`.
|
|
1629
|
+
*
|
|
1630
|
+
* @example
|
|
1631
|
+
* ```ts
|
|
1632
|
+
* import { Effect, Stream } from "effect"
|
|
1633
|
+
*
|
|
1634
|
+
* const stream = Stream.make(1, 2, 3, 4, 5).pipe(Stream.intersperse(0))
|
|
1635
|
+
*
|
|
1636
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
1637
|
+
* // {
|
|
1638
|
+
* // _id: 'Chunk',
|
|
1639
|
+
* // values: [
|
|
1640
|
+
* // 1, 0, 2, 0, 3,
|
|
1641
|
+
* // 0, 4, 0, 5
|
|
1642
|
+
* // ]
|
|
1643
|
+
* // }
|
|
1644
|
+
* ```
|
|
1645
|
+
*
|
|
1646
|
+
* @since 2.0.0
|
|
1647
|
+
* @category utils
|
|
1648
|
+
*/
|
|
1649
|
+
export const intersperse = internal.intersperse;
|
|
1650
|
+
/**
|
|
1651
|
+
* Intersperse the specified element, also adding a prefix and a suffix.
|
|
1652
|
+
*
|
|
1653
|
+
* @example
|
|
1654
|
+
* ```ts
|
|
1655
|
+
* import { Effect, Stream } from "effect"
|
|
1656
|
+
*
|
|
1657
|
+
* const stream = Stream.make(1, 2, 3, 4, 5).pipe(
|
|
1658
|
+
* Stream.intersperseAffixes({
|
|
1659
|
+
* start: "[",
|
|
1660
|
+
* middle: "-",
|
|
1661
|
+
* end: "]"
|
|
1662
|
+
* })
|
|
1663
|
+
* )
|
|
1664
|
+
*
|
|
1665
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
1666
|
+
* // {
|
|
1667
|
+
* // _id: 'Chunk',
|
|
1668
|
+
* // values: [
|
|
1669
|
+
* // '[', 1, '-', 2, '-',
|
|
1670
|
+
* // 3, '-', 4, '-', 5,
|
|
1671
|
+
* // ']'
|
|
1672
|
+
* // ]
|
|
1673
|
+
* // }
|
|
1674
|
+
* ```
|
|
1675
|
+
*
|
|
1676
|
+
* @since 2.0.0
|
|
1677
|
+
* @category utils
|
|
1678
|
+
*/
|
|
1679
|
+
export const intersperseAffixes = internal.intersperseAffixes;
|
|
1680
|
+
/**
|
|
1681
|
+
* Specialized version of `Stream.interruptWhen` which interrupts the
|
|
1682
|
+
* evaluation of this stream after the given `Duration`.
|
|
1683
|
+
*
|
|
1684
|
+
* @since 2.0.0
|
|
1685
|
+
* @category utils
|
|
1686
|
+
*/
|
|
1687
|
+
export const interruptAfter = internal.interruptAfter;
|
|
1688
|
+
/**
|
|
1689
|
+
* Interrupts the evaluation of this stream when the provided effect
|
|
1690
|
+
* completes. The given effect will be forked as part of this stream, and its
|
|
1691
|
+
* success will be discarded. This combinator will also interrupt any
|
|
1692
|
+
* in-progress element being pulled from upstream.
|
|
1693
|
+
*
|
|
1694
|
+
* If the effect completes with a failure before the stream completes, the
|
|
1695
|
+
* returned stream will emit that failure.
|
|
1696
|
+
*
|
|
1697
|
+
* @since 2.0.0
|
|
1698
|
+
* @category utils
|
|
1699
|
+
*/
|
|
1700
|
+
export const interruptWhen = internal.interruptWhen;
|
|
1701
|
+
/**
|
|
1702
|
+
* Interrupts the evaluation of this stream when the provided promise
|
|
1703
|
+
* resolves. This combinator will also interrupt any in-progress element being
|
|
1704
|
+
* pulled from upstream.
|
|
1705
|
+
*
|
|
1706
|
+
* If the promise completes with a failure, the stream will emit that failure.
|
|
1707
|
+
*
|
|
1708
|
+
* @since 2.0.0
|
|
1709
|
+
* @category utils
|
|
1710
|
+
*/
|
|
1711
|
+
export const interruptWhenDeferred = internal.interruptWhenDeferred;
|
|
1712
|
+
/**
|
|
1713
|
+
* The infinite stream of iterative function application: a, f(a), f(f(a)),
|
|
1714
|
+
* f(f(f(a))), ...
|
|
1715
|
+
*
|
|
1716
|
+
* @example
|
|
1717
|
+
* ```ts
|
|
1718
|
+
* import { Effect, Stream } from "effect"
|
|
1719
|
+
*
|
|
1720
|
+
* // An infinite Stream of numbers starting from 1 and incrementing
|
|
1721
|
+
* const stream = Stream.iterate(1, (n) => n + 1)
|
|
1722
|
+
*
|
|
1723
|
+
* Effect.runPromise(Stream.runCollect(stream.pipe(Stream.take(10)))).then(console.log)
|
|
1724
|
+
* // { _id: 'Chunk', values: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] }
|
|
1725
|
+
* ```
|
|
1726
|
+
*
|
|
1727
|
+
* @since 2.0.0
|
|
1728
|
+
* @category constructors
|
|
1729
|
+
*/
|
|
1730
|
+
export const iterate = internal.iterate;
|
|
1731
|
+
/**
|
|
1732
|
+
* Creates a stream from an sequence of values.
|
|
1733
|
+
*
|
|
1734
|
+
* @example
|
|
1735
|
+
* ```ts
|
|
1736
|
+
* import { Effect, Stream } from "effect"
|
|
1737
|
+
*
|
|
1738
|
+
* const stream = Stream.make(1, 2, 3)
|
|
1739
|
+
*
|
|
1740
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
1741
|
+
* // { _id: 'Chunk', values: [ 1, 2, 3 ] }
|
|
1742
|
+
* ```
|
|
1743
|
+
*
|
|
1744
|
+
* @since 2.0.0
|
|
1745
|
+
* @category constructors
|
|
1746
|
+
*/
|
|
1747
|
+
export const make = internal.make;
|
|
1748
|
+
/**
|
|
1749
|
+
* Transforms the elements of this stream using the supplied function.
|
|
1750
|
+
*
|
|
1751
|
+
* @example
|
|
1752
|
+
* ```ts
|
|
1753
|
+
* import { Effect, Stream } from "effect"
|
|
1754
|
+
*
|
|
1755
|
+
* const stream = Stream.make(1, 2, 3).pipe(Stream.map((n) => n + 1))
|
|
1756
|
+
*
|
|
1757
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
1758
|
+
* // { _id: 'Chunk', values: [ 2, 3, 4 ] }
|
|
1759
|
+
* ```
|
|
1760
|
+
*
|
|
1761
|
+
* @since 2.0.0
|
|
1762
|
+
* @category mapping
|
|
1763
|
+
*/
|
|
1764
|
+
export const map = internal.map;
|
|
1765
|
+
/**
|
|
1766
|
+
* Statefully maps over the elements of this stream to produce new elements.
|
|
1767
|
+
*
|
|
1768
|
+
* @example
|
|
1769
|
+
* ```ts
|
|
1770
|
+
* import { Effect, Stream } from "effect"
|
|
1771
|
+
*
|
|
1772
|
+
* const runningTotal = (stream: Stream.Stream<number>): Stream.Stream<number> =>
|
|
1773
|
+
* stream.pipe(Stream.mapAccum(0, (s, a) => [s + a, s + a]))
|
|
1774
|
+
*
|
|
1775
|
+
* // input: 0, 1, 2, 3, 4, 5, 6
|
|
1776
|
+
* Effect.runPromise(Stream.runCollect(runningTotal(Stream.range(0, 6)))).then(
|
|
1777
|
+
* console.log
|
|
1778
|
+
* )
|
|
1779
|
+
* // { _id: "Chunk", values: [ 0, 1, 3, 6, 10, 15, 21 ] }
|
|
1780
|
+
* ```
|
|
1781
|
+
*
|
|
1782
|
+
* @since 2.0.0
|
|
1783
|
+
* @category mapping
|
|
1784
|
+
*/
|
|
1785
|
+
export const mapAccum = internal.mapAccum;
|
|
1786
|
+
/**
|
|
1787
|
+
* Statefully and effectfully maps over the elements of this stream to produce
|
|
1788
|
+
* new elements.
|
|
1789
|
+
*
|
|
1790
|
+
* @since 2.0.0
|
|
1791
|
+
* @category mapping
|
|
1792
|
+
*/
|
|
1793
|
+
export const mapAccumEffect = internal.mapAccumEffect;
|
|
1794
|
+
/**
|
|
1795
|
+
* Returns a stream whose failure and success channels have been mapped by the
|
|
1796
|
+
* specified `onFailure` and `onSuccess` functions.
|
|
1797
|
+
*
|
|
1798
|
+
* @since 2.0.0
|
|
1799
|
+
* @category utils
|
|
1800
|
+
*/
|
|
1801
|
+
export const mapBoth = internal.mapBoth;
|
|
1802
|
+
/**
|
|
1803
|
+
* Transforms the chunks emitted by this stream.
|
|
1804
|
+
*
|
|
1805
|
+
* @since 2.0.0
|
|
1806
|
+
* @category mapping
|
|
1807
|
+
*/
|
|
1808
|
+
export const mapChunks = internal.mapChunks;
|
|
1809
|
+
/**
|
|
1810
|
+
* Effectfully transforms the chunks emitted by this stream.
|
|
1811
|
+
*
|
|
1812
|
+
* @since 2.0.0
|
|
1813
|
+
* @category mapping
|
|
1814
|
+
*/
|
|
1815
|
+
export const mapChunksEffect = internal.mapChunksEffect;
|
|
1816
|
+
/**
|
|
1817
|
+
* Maps each element to an iterable, and flattens the iterables into the
|
|
1818
|
+
* output of this stream.
|
|
1819
|
+
*
|
|
1820
|
+
* @example
|
|
1821
|
+
* ```ts
|
|
1822
|
+
* import { Effect, Stream } from "effect"
|
|
1823
|
+
*
|
|
1824
|
+
* const numbers = Stream.make("1-2-3", "4-5", "6").pipe(
|
|
1825
|
+
* Stream.mapConcat((s) => s.split("-")),
|
|
1826
|
+
* Stream.map((s) => parseInt(s))
|
|
1827
|
+
* )
|
|
1828
|
+
*
|
|
1829
|
+
* Effect.runPromise(Stream.runCollect(numbers)).then(console.log)
|
|
1830
|
+
* // { _id: 'Chunk', values: [ 1, 2, 3, 4, 5, 6 ] }
|
|
1831
|
+
* ```
|
|
1832
|
+
*
|
|
1833
|
+
* @since 2.0.0
|
|
1834
|
+
* @category mapping
|
|
1835
|
+
*/
|
|
1836
|
+
export const mapConcat = internal.mapConcat;
|
|
1837
|
+
/**
|
|
1838
|
+
* Maps each element to a chunk, and flattens the chunks into the output of
|
|
1839
|
+
* this stream.
|
|
1840
|
+
*
|
|
1841
|
+
* @since 2.0.0
|
|
1842
|
+
* @category mapping
|
|
1843
|
+
*/
|
|
1844
|
+
export const mapConcatChunk = internal.mapConcatChunk;
|
|
1845
|
+
/**
|
|
1846
|
+
* Effectfully maps each element to a chunk, and flattens the chunks into the
|
|
1847
|
+
* output of this stream.
|
|
1848
|
+
*
|
|
1849
|
+
* @since 2.0.0
|
|
1850
|
+
* @category mapping
|
|
1851
|
+
*/
|
|
1852
|
+
export const mapConcatChunkEffect = internal.mapConcatChunkEffect;
|
|
1853
|
+
/**
|
|
1854
|
+
* Effectfully maps each element to an iterable, and flattens the iterables
|
|
1855
|
+
* into the output of this stream.
|
|
1856
|
+
*
|
|
1857
|
+
* @since 2.0.0
|
|
1858
|
+
* @category mapping
|
|
1859
|
+
*/
|
|
1860
|
+
export const mapConcatEffect = internal.mapConcatEffect;
|
|
1861
|
+
/**
|
|
1862
|
+
* Maps over elements of the stream with the specified effectful function.
|
|
1863
|
+
*
|
|
1864
|
+
* @example
|
|
1865
|
+
* ```ts
|
|
1866
|
+
* import { Effect, Random, Stream } from "effect"
|
|
1867
|
+
*
|
|
1868
|
+
* const stream = Stream.make(10, 20, 30).pipe(
|
|
1869
|
+
* Stream.mapEffect((n) => Random.nextIntBetween(0, n))
|
|
1870
|
+
* )
|
|
1871
|
+
*
|
|
1872
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
1873
|
+
* // Example Output: { _id: 'Chunk', values: [ 7, 19, 8 ] }
|
|
1874
|
+
* ```
|
|
1875
|
+
*
|
|
1876
|
+
* @since 2.0.0
|
|
1877
|
+
* @category mapping
|
|
1878
|
+
*/
|
|
1879
|
+
export const mapEffect = groupBy_.mapEffectOptions;
|
|
1880
|
+
/**
|
|
1881
|
+
* Transforms the errors emitted by this stream using `f`.
|
|
1882
|
+
*
|
|
1883
|
+
* @since 2.0.0
|
|
1884
|
+
* @category mapping
|
|
1885
|
+
*/
|
|
1886
|
+
export const mapError = internal.mapError;
|
|
1887
|
+
/**
|
|
1888
|
+
* Transforms the full causes of failures emitted by this stream.
|
|
1889
|
+
*
|
|
1890
|
+
* @since 2.0.0
|
|
1891
|
+
* @category mapping
|
|
1892
|
+
*/
|
|
1893
|
+
export const mapErrorCause = internal.mapErrorCause;
|
|
1894
|
+
/**
|
|
1895
|
+
* Merges this stream and the specified stream together.
|
|
1896
|
+
*
|
|
1897
|
+
* New produced stream will terminate when both specified stream terminate if
|
|
1898
|
+
* no termination strategy is specified.
|
|
1899
|
+
*
|
|
1900
|
+
* @example
|
|
1901
|
+
* ```ts
|
|
1902
|
+
* import { Effect, Schedule, Stream } from "effect"
|
|
1903
|
+
*
|
|
1904
|
+
* const s1 = Stream.make(1, 2, 3).pipe(
|
|
1905
|
+
* Stream.schedule(Schedule.spaced("100 millis"))
|
|
1906
|
+
* )
|
|
1907
|
+
* const s2 = Stream.make(4, 5, 6).pipe(
|
|
1908
|
+
* Stream.schedule(Schedule.spaced("200 millis"))
|
|
1909
|
+
* )
|
|
1910
|
+
*
|
|
1911
|
+
* const stream = Stream.merge(s1, s2)
|
|
1912
|
+
*
|
|
1913
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
1914
|
+
* // { _id: 'Chunk', values: [ 1, 4, 2, 3, 5, 6 ] }
|
|
1915
|
+
* ```
|
|
1916
|
+
*
|
|
1917
|
+
* @since 2.0.0
|
|
1918
|
+
* @category utils
|
|
1919
|
+
*/
|
|
1920
|
+
export const merge = internal.merge;
|
|
1921
|
+
/**
|
|
1922
|
+
* Merges a variable list of streams in a non-deterministic fashion. Up to `n`
|
|
1923
|
+
* streams may be consumed in parallel and up to `outputBuffer` chunks may be
|
|
1924
|
+
* buffered by this operator.
|
|
1925
|
+
*
|
|
1926
|
+
* @since 2.0.0
|
|
1927
|
+
* @category utils
|
|
1928
|
+
*/
|
|
1929
|
+
export const mergeAll = internal.mergeAll;
|
|
1930
|
+
/**
|
|
1931
|
+
* Merges a struct of streams into a single stream of tagged values.
|
|
1932
|
+
* @category combinators
|
|
1933
|
+
* @since 3.8.5
|
|
1934
|
+
*
|
|
1935
|
+
* @example
|
|
1936
|
+
* ```ts
|
|
1937
|
+
* import { Stream } from "effect"
|
|
1938
|
+
* // Stream.Stream<{ _tag: "a"; value: number; } | { _tag: "b"; value: string; }>
|
|
1939
|
+
* const res = Stream.mergeWithTag({
|
|
1940
|
+
* a: Stream.make(0),
|
|
1941
|
+
* b: Stream.make("")
|
|
1942
|
+
* }, { concurrency: "unbounded" })
|
|
1943
|
+
* ```
|
|
1944
|
+
*/
|
|
1945
|
+
export const mergeWithTag = internal.mergeWithTag;
|
|
1946
|
+
/**
|
|
1947
|
+
* Merges this stream and the specified stream together to a common element
|
|
1948
|
+
* type with the specified mapping functions.
|
|
1949
|
+
*
|
|
1950
|
+
* New produced stream will terminate when both specified stream terminate if
|
|
1951
|
+
* no termination strategy is specified.
|
|
1952
|
+
*
|
|
1953
|
+
* @example
|
|
1954
|
+
* ```ts
|
|
1955
|
+
* import { Effect, Schedule, Stream } from "effect"
|
|
1956
|
+
*
|
|
1957
|
+
* const s1 = Stream.make("1", "2", "3").pipe(
|
|
1958
|
+
* Stream.schedule(Schedule.spaced("100 millis"))
|
|
1959
|
+
* )
|
|
1960
|
+
* const s2 = Stream.make(4.1, 5.3, 6.2).pipe(
|
|
1961
|
+
* Stream.schedule(Schedule.spaced("200 millis"))
|
|
1962
|
+
* )
|
|
1963
|
+
*
|
|
1964
|
+
* const stream = Stream.mergeWith(s1, s2, {
|
|
1965
|
+
* onSelf: (s) => parseInt(s),
|
|
1966
|
+
* onOther: (n) => Math.floor(n)
|
|
1967
|
+
* })
|
|
1968
|
+
*
|
|
1969
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
1970
|
+
* // { _id: 'Chunk', values: [ 1, 4, 2, 3, 5, 6 ] }
|
|
1971
|
+
* ```
|
|
1972
|
+
*
|
|
1973
|
+
* @since 2.0.0
|
|
1974
|
+
* @category utils
|
|
1975
|
+
*/
|
|
1976
|
+
export const mergeWith = internal.mergeWith;
|
|
1977
|
+
/**
|
|
1978
|
+
* Merges this stream and the specified stream together to produce a stream of
|
|
1979
|
+
* eithers.
|
|
1980
|
+
*
|
|
1981
|
+
* @since 2.0.0
|
|
1982
|
+
* @category utils
|
|
1983
|
+
*/
|
|
1984
|
+
export const mergeEither = internal.mergeEither;
|
|
1985
|
+
/**
|
|
1986
|
+
* Merges this stream and the specified stream together, discarding the values
|
|
1987
|
+
* from the right stream.
|
|
1988
|
+
*
|
|
1989
|
+
* @since 2.0.0
|
|
1990
|
+
* @category utils
|
|
1991
|
+
*/
|
|
1992
|
+
export const mergeLeft = internal.mergeLeft;
|
|
1993
|
+
/**
|
|
1994
|
+
* Merges this stream and the specified stream together, discarding the values
|
|
1995
|
+
* from the left stream.
|
|
1996
|
+
*
|
|
1997
|
+
* @since 2.0.0
|
|
1998
|
+
* @category utils
|
|
1999
|
+
*/
|
|
2000
|
+
export const mergeRight = internal.mergeRight;
|
|
2001
|
+
/**
|
|
2002
|
+
* Returns a combined string resulting from concatenating each of the values
|
|
2003
|
+
* from the stream.
|
|
2004
|
+
*
|
|
2005
|
+
* @since 2.0.0
|
|
2006
|
+
* @category utils
|
|
2007
|
+
*/
|
|
2008
|
+
export const mkString = internal.mkString;
|
|
2009
|
+
/**
|
|
2010
|
+
* The stream that never produces any value or fails with any error.
|
|
2011
|
+
*
|
|
2012
|
+
* @since 2.0.0
|
|
2013
|
+
* @category constructors
|
|
2014
|
+
*/
|
|
2015
|
+
export const never = internal.never;
|
|
2016
|
+
/**
|
|
2017
|
+
* Adds an effect to be executed at the end of the stream.
|
|
2018
|
+
*
|
|
2019
|
+
* @example
|
|
2020
|
+
* ```ts
|
|
2021
|
+
* import { Console, Effect, Stream } from "effect"
|
|
2022
|
+
*
|
|
2023
|
+
* const stream = Stream.make(1, 2, 3).pipe(
|
|
2024
|
+
* Stream.map((n) => n * 2),
|
|
2025
|
+
* Stream.tap((n) => Console.log(`after mapping: ${n}`)),
|
|
2026
|
+
* Stream.onEnd(Console.log("Stream ended"))
|
|
2027
|
+
* )
|
|
2028
|
+
*
|
|
2029
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
2030
|
+
* // after mapping: 2
|
|
2031
|
+
* // after mapping: 4
|
|
2032
|
+
* // after mapping: 6
|
|
2033
|
+
* // Stream ended
|
|
2034
|
+
* // { _id: 'Chunk', values: [ 2, 4, 6 ] }
|
|
2035
|
+
* ```
|
|
2036
|
+
*
|
|
2037
|
+
* @since 3.6.0
|
|
2038
|
+
* @category sequencing
|
|
2039
|
+
*/
|
|
2040
|
+
export const onEnd = internal.onEnd;
|
|
2041
|
+
/**
|
|
2042
|
+
* Runs the specified effect if this stream fails, providing the error to the
|
|
2043
|
+
* effect if it exists.
|
|
2044
|
+
*
|
|
2045
|
+
* Note: Unlike `Effect.onError` there is no guarantee that the provided
|
|
2046
|
+
* effect will not be interrupted.
|
|
2047
|
+
*
|
|
2048
|
+
* @since 2.0.0
|
|
2049
|
+
* @category utils
|
|
2050
|
+
*/
|
|
2051
|
+
export const onError = internal.onError;
|
|
2052
|
+
/**
|
|
2053
|
+
* Runs the specified effect if this stream ends.
|
|
2054
|
+
*
|
|
2055
|
+
* @since 2.0.0
|
|
2056
|
+
* @category utils
|
|
2057
|
+
*/
|
|
2058
|
+
export const onDone = internal.onDone;
|
|
2059
|
+
/**
|
|
2060
|
+
* Adds an effect to be executed at the start of the stream.
|
|
2061
|
+
*
|
|
2062
|
+
* @example
|
|
2063
|
+
* ```ts
|
|
2064
|
+
* import { Console, Effect, Stream } from "effect"
|
|
2065
|
+
*
|
|
2066
|
+
* const stream = Stream.make(1, 2, 3).pipe(
|
|
2067
|
+
* Stream.onStart(Console.log("Stream started")),
|
|
2068
|
+
* Stream.map((n) => n * 2),
|
|
2069
|
+
* Stream.tap((n) => Console.log(`after mapping: ${n}`))
|
|
2070
|
+
* )
|
|
2071
|
+
*
|
|
2072
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
2073
|
+
* // Stream started
|
|
2074
|
+
* // after mapping: 2
|
|
2075
|
+
* // after mapping: 4
|
|
2076
|
+
* // after mapping: 6
|
|
2077
|
+
* // { _id: 'Chunk', values: [ 2, 4, 6 ] }
|
|
2078
|
+
* ```
|
|
2079
|
+
*
|
|
2080
|
+
* @since 3.6.0
|
|
2081
|
+
* @category sequencing
|
|
2082
|
+
*/
|
|
2083
|
+
export const onStart = internal.onStart;
|
|
2084
|
+
/**
|
|
2085
|
+
* Translates any failure into a stream termination, making the stream
|
|
2086
|
+
* infallible and all failures unchecked.
|
|
2087
|
+
*
|
|
2088
|
+
* @since 2.0.0
|
|
2089
|
+
* @category error handling
|
|
2090
|
+
*/
|
|
2091
|
+
export const orDie = internal.orDie;
|
|
2092
|
+
/**
|
|
2093
|
+
* Keeps none of the errors, and terminates the stream with them, using the
|
|
2094
|
+
* specified function to convert the `E` into a defect.
|
|
2095
|
+
*
|
|
2096
|
+
* @since 2.0.0
|
|
2097
|
+
* @category error handling
|
|
2098
|
+
*/
|
|
2099
|
+
export const orDieWith = internal.orDieWith;
|
|
2100
|
+
/**
|
|
2101
|
+
* Switches to the provided stream in case this one fails with a typed error.
|
|
2102
|
+
*
|
|
2103
|
+
* See also `Stream.catchAll`.
|
|
2104
|
+
*
|
|
2105
|
+
* @since 2.0.0
|
|
2106
|
+
* @category error handling
|
|
2107
|
+
*/
|
|
2108
|
+
export const orElse = internal.orElse;
|
|
2109
|
+
/**
|
|
2110
|
+
* Switches to the provided stream in case this one fails with a typed error.
|
|
2111
|
+
*
|
|
2112
|
+
* See also `Stream.catchAll`.
|
|
2113
|
+
*
|
|
2114
|
+
* @since 2.0.0
|
|
2115
|
+
* @category error handling
|
|
2116
|
+
*/
|
|
2117
|
+
export const orElseEither = internal.orElseEither;
|
|
2118
|
+
/**
|
|
2119
|
+
* Fails with given error in case this one fails with a typed error.
|
|
2120
|
+
*
|
|
2121
|
+
* See also `Stream.catchAll`.
|
|
2122
|
+
*
|
|
2123
|
+
* @since 2.0.0
|
|
2124
|
+
* @category error handling
|
|
2125
|
+
*/
|
|
2126
|
+
export const orElseFail = internal.orElseFail;
|
|
2127
|
+
/**
|
|
2128
|
+
* Produces the specified element if this stream is empty.
|
|
2129
|
+
*
|
|
2130
|
+
* @since 2.0.0
|
|
2131
|
+
* @category error handling
|
|
2132
|
+
*/
|
|
2133
|
+
export const orElseIfEmpty = internal.orElseIfEmpty;
|
|
2134
|
+
/**
|
|
2135
|
+
* Produces the specified chunk if this stream is empty.
|
|
2136
|
+
*
|
|
2137
|
+
* @since 2.0.0
|
|
2138
|
+
* @category error handling
|
|
2139
|
+
*/
|
|
2140
|
+
export const orElseIfEmptyChunk = internal.orElseIfEmptyChunk;
|
|
2141
|
+
/**
|
|
2142
|
+
* Switches to the provided stream in case this one is empty.
|
|
2143
|
+
*
|
|
2144
|
+
* @since 2.0.0
|
|
2145
|
+
* @category error handling
|
|
2146
|
+
*/
|
|
2147
|
+
export const orElseIfEmptyStream = internal.orElseIfEmptyStream;
|
|
2148
|
+
/**
|
|
2149
|
+
* Succeeds with the specified value if this one fails with a typed error.
|
|
2150
|
+
*
|
|
2151
|
+
* @since 2.0.0
|
|
2152
|
+
* @category error handling
|
|
2153
|
+
*/
|
|
2154
|
+
export const orElseSucceed = internal.orElseSucceed;
|
|
2155
|
+
/**
|
|
2156
|
+
* Like `Stream.unfold`, but allows the emission of values to end one step further
|
|
2157
|
+
* than the unfolding of the state. This is useful for embedding paginated
|
|
2158
|
+
* APIs, hence the name.
|
|
2159
|
+
*
|
|
2160
|
+
* @example
|
|
2161
|
+
* ```ts
|
|
2162
|
+
* import { Effect, Option, Stream } from "effect"
|
|
2163
|
+
*
|
|
2164
|
+
* const stream = Stream.paginate(0, (n) => [
|
|
2165
|
+
* n,
|
|
2166
|
+
* n < 3 ? Option.some(n + 1) : Option.none()
|
|
2167
|
+
* ])
|
|
2168
|
+
*
|
|
2169
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
2170
|
+
* // { _id: 'Chunk', values: [ 0, 1, 2, 3 ] }
|
|
2171
|
+
* ```
|
|
2172
|
+
*
|
|
2173
|
+
* @since 2.0.0
|
|
2174
|
+
* @category constructors
|
|
2175
|
+
*/
|
|
2176
|
+
export const paginate = internal.paginate;
|
|
2177
|
+
/**
|
|
2178
|
+
* Like `Stream.unfoldChunk`, but allows the emission of values to end one step
|
|
2179
|
+
* further than the unfolding of the state. This is useful for embedding
|
|
2180
|
+
* paginated APIs, hence the name.
|
|
2181
|
+
*
|
|
2182
|
+
* @since 2.0.0
|
|
2183
|
+
* @category constructors
|
|
2184
|
+
*/
|
|
2185
|
+
export const paginateChunk = internal.paginateChunk;
|
|
2186
|
+
/**
|
|
2187
|
+
* Like `Stream.unfoldChunkEffect`, but allows the emission of values to end one step
|
|
2188
|
+
* further than the unfolding of the state. This is useful for embedding
|
|
2189
|
+
* paginated APIs, hence the name.
|
|
2190
|
+
*
|
|
2191
|
+
* @since 2.0.0
|
|
2192
|
+
* @category constructors
|
|
2193
|
+
*/
|
|
2194
|
+
export const paginateChunkEffect = internal.paginateChunkEffect;
|
|
2195
|
+
/**
|
|
2196
|
+
* Like `Stream.unfoldEffect` but allows the emission of values to end one step
|
|
2197
|
+
* further than the unfolding of the state. This is useful for embedding
|
|
2198
|
+
* paginated APIs, hence the name.
|
|
2199
|
+
*
|
|
2200
|
+
* @since 2.0.0
|
|
2201
|
+
* @category constructors
|
|
2202
|
+
*/
|
|
2203
|
+
export const paginateEffect = internal.paginateEffect;
|
|
2204
|
+
/**
|
|
2205
|
+
* Splits a stream into two substreams based on a predicate.
|
|
2206
|
+
*
|
|
2207
|
+
* **Details**
|
|
2208
|
+
*
|
|
2209
|
+
* The `Stream.partition` function splits a stream into two parts: one for
|
|
2210
|
+
* elements that satisfy the predicate (evaluated to `true`) and another for
|
|
2211
|
+
* those that do not (evaluated to `false`).
|
|
2212
|
+
*
|
|
2213
|
+
* The faster stream may advance up to `bufferSize` elements ahead of the slower
|
|
2214
|
+
* one.
|
|
2215
|
+
*
|
|
2216
|
+
* **Example** (Partitioning a Stream into Even and Odd Numbers)
|
|
2217
|
+
*
|
|
2218
|
+
* ```ts
|
|
2219
|
+
* import { Effect, Stream } from "effect"
|
|
2220
|
+
*
|
|
2221
|
+
* const partition = Stream.range(1, 9).pipe(
|
|
2222
|
+
* Stream.partition((n) => n % 2 === 0, { bufferSize: 5 })
|
|
2223
|
+
* )
|
|
2224
|
+
*
|
|
2225
|
+
* const program = Effect.scoped(
|
|
2226
|
+
* Effect.gen(function*() {
|
|
2227
|
+
* const [odds, evens] = yield* partition
|
|
2228
|
+
* console.log(yield* Stream.runCollect(odds))
|
|
2229
|
+
* console.log(yield* Stream.runCollect(evens))
|
|
2230
|
+
* })
|
|
2231
|
+
* )
|
|
2232
|
+
*
|
|
2233
|
+
* Effect.runPromise(program)
|
|
2234
|
+
* // { _id: 'Chunk', values: [ 1, 3, 5, 7, 9 ] }
|
|
2235
|
+
* // { _id: 'Chunk', values: [ 2, 4, 6, 8 ] }
|
|
2236
|
+
* ```
|
|
2237
|
+
*
|
|
2238
|
+
* @see {@link partitionEither} for partitioning a stream based on effectful
|
|
2239
|
+
* conditions.
|
|
2240
|
+
*
|
|
2241
|
+
* @since 2.0.0
|
|
2242
|
+
* @category utils
|
|
2243
|
+
*/
|
|
2244
|
+
export const partition = internal.partition;
|
|
2245
|
+
/**
|
|
2246
|
+
* Splits a stream into two substreams based on an effectful condition.
|
|
2247
|
+
*
|
|
2248
|
+
* **Details**
|
|
2249
|
+
*
|
|
2250
|
+
* The `Stream.partitionEither` function is used to divide a stream into two
|
|
2251
|
+
* parts: one for elements that satisfy a condition producing `Either.left`
|
|
2252
|
+
* values, and another for those that produce `Either.right` values. This
|
|
2253
|
+
* function applies an effectful predicate to each element in the stream to
|
|
2254
|
+
* determine which substream it belongs to.
|
|
2255
|
+
*
|
|
2256
|
+
* The faster stream may advance up to `bufferSize` elements ahead of the slower
|
|
2257
|
+
* one.
|
|
2258
|
+
*
|
|
2259
|
+
* **Example** (Partitioning a Stream with an Effectful Predicate)
|
|
2260
|
+
*
|
|
2261
|
+
* ```ts
|
|
2262
|
+
* import { Effect, Either, Stream } from "effect"
|
|
2263
|
+
*
|
|
2264
|
+
* const partition = Stream.range(1, 9).pipe(
|
|
2265
|
+
* Stream.partitionEither(
|
|
2266
|
+
* (n) => Effect.succeed(n % 2 === 0 ? Either.right(n) : Either.left(n)),
|
|
2267
|
+
* { bufferSize: 5 }
|
|
2268
|
+
* )
|
|
2269
|
+
* )
|
|
2270
|
+
*
|
|
2271
|
+
* const program = Effect.scoped(
|
|
2272
|
+
* Effect.gen(function*() {
|
|
2273
|
+
* const [evens, odds] = yield* partition
|
|
2274
|
+
* console.log(yield* Stream.runCollect(evens))
|
|
2275
|
+
* console.log(yield* Stream.runCollect(odds))
|
|
2276
|
+
* })
|
|
2277
|
+
* )
|
|
2278
|
+
*
|
|
2279
|
+
* Effect.runPromise(program)
|
|
2280
|
+
* // { _id: 'Chunk', values: [ 1, 3, 5, 7, 9 ] }
|
|
2281
|
+
* // { _id: 'Chunk', values: [ 2, 4, 6, 8 ] }
|
|
2282
|
+
* ```
|
|
2283
|
+
*
|
|
2284
|
+
* @see {@link partition} for partitioning a stream based on simple conditions.
|
|
2285
|
+
*
|
|
2286
|
+
* @since 2.0.0
|
|
2287
|
+
* @category utils
|
|
2288
|
+
*/
|
|
2289
|
+
export const partitionEither = internal.partitionEither;
|
|
2290
|
+
/**
|
|
2291
|
+
* Peels off enough material from the stream to construct a `Z` using the
|
|
2292
|
+
* provided `Sink` and then returns both the `Z` and the rest of the
|
|
2293
|
+
* `Stream` in a scope. Like all scoped values, the provided stream is
|
|
2294
|
+
* valid only within the scope.
|
|
2295
|
+
*
|
|
2296
|
+
* @since 2.0.0
|
|
2297
|
+
* @category utils
|
|
2298
|
+
*/
|
|
2299
|
+
export const peel = internal.peel;
|
|
2300
|
+
/**
|
|
2301
|
+
* Pipes all of the values from this stream through the provided sink.
|
|
2302
|
+
*
|
|
2303
|
+
* See also `Stream.transduce`.
|
|
2304
|
+
*
|
|
2305
|
+
* @since 2.0.0
|
|
2306
|
+
* @category utils
|
|
2307
|
+
*/
|
|
2308
|
+
export const pipeThrough = internal.pipeThrough;
|
|
2309
|
+
/**
|
|
2310
|
+
* Pipes all the values from this stream through the provided channel.
|
|
2311
|
+
*
|
|
2312
|
+
* @since 2.0.0
|
|
2313
|
+
* @category utils
|
|
2314
|
+
*/
|
|
2315
|
+
export const pipeThroughChannel = internal.pipeThroughChannel;
|
|
2316
|
+
/**
|
|
2317
|
+
* Pipes all values from this stream through the provided channel, passing
|
|
2318
|
+
* through any error emitted by this stream unchanged.
|
|
2319
|
+
*
|
|
2320
|
+
* @since 2.0.0
|
|
2321
|
+
* @category utils
|
|
2322
|
+
*/
|
|
2323
|
+
export const pipeThroughChannelOrFail = internal.pipeThroughChannelOrFail;
|
|
2324
|
+
/**
|
|
2325
|
+
* Emits the provided chunk before emitting any other value.
|
|
2326
|
+
*
|
|
2327
|
+
* @since 2.0.0
|
|
2328
|
+
* @category utils
|
|
2329
|
+
*/
|
|
2330
|
+
export const prepend = internal.prepend;
|
|
2331
|
+
/**
|
|
2332
|
+
* Provides the stream with its required context, which eliminates its
|
|
2333
|
+
* dependency on `R`.
|
|
2334
|
+
*
|
|
2335
|
+
* @since 2.0.0
|
|
2336
|
+
* @category context
|
|
2337
|
+
*/
|
|
2338
|
+
export const provideContext = internal.provideContext;
|
|
2339
|
+
/**
|
|
2340
|
+
* Provides the stream with some of its required context, which eliminates its
|
|
2341
|
+
* dependency on `R`.
|
|
2342
|
+
*
|
|
2343
|
+
* @since 3.16.9
|
|
2344
|
+
* @category context
|
|
2345
|
+
*/
|
|
2346
|
+
export const provideSomeContext = internal.provideSomeContext;
|
|
2347
|
+
/**
|
|
2348
|
+
* Provides a `Layer` to the stream, which translates it to another level.
|
|
2349
|
+
*
|
|
2350
|
+
* @since 2.0.0
|
|
2351
|
+
* @category context
|
|
2352
|
+
*/
|
|
2353
|
+
export const provideLayer = internal.provideLayer;
|
|
2354
|
+
/**
|
|
2355
|
+
* Provides the stream with the single service it requires. If the stream
|
|
2356
|
+
* requires more than one service use `Stream.provideContext` instead.
|
|
2357
|
+
*
|
|
2358
|
+
* @since 2.0.0
|
|
2359
|
+
* @category context
|
|
2360
|
+
*/
|
|
2361
|
+
export const provideService = internal.provideService;
|
|
2362
|
+
/**
|
|
2363
|
+
* Provides the stream with the single service it requires. If the stream
|
|
2364
|
+
* requires more than one service use `Stream.provideContext` instead.
|
|
2365
|
+
*
|
|
2366
|
+
* @since 2.0.0
|
|
2367
|
+
* @category context
|
|
2368
|
+
*/
|
|
2369
|
+
export const provideServiceEffect = internal.provideServiceEffect;
|
|
2370
|
+
/**
|
|
2371
|
+
* Provides the stream with the single service it requires. If the stream
|
|
2372
|
+
* requires more than one service use `Stream.provideContext` instead.
|
|
2373
|
+
*
|
|
2374
|
+
* @since 2.0.0
|
|
2375
|
+
* @category context
|
|
2376
|
+
*/
|
|
2377
|
+
export const provideServiceStream = internal.provideServiceStream;
|
|
2378
|
+
/**
|
|
2379
|
+
* Transforms the context being provided to the stream with the specified
|
|
2380
|
+
* function.
|
|
2381
|
+
*
|
|
2382
|
+
* @since 2.0.0
|
|
2383
|
+
* @category context
|
|
2384
|
+
*/
|
|
2385
|
+
export const mapInputContext = internal.mapInputContext;
|
|
2386
|
+
/**
|
|
2387
|
+
* Splits the context into two parts, providing one part using the
|
|
2388
|
+
* specified layer and leaving the remainder `R0`.
|
|
2389
|
+
*
|
|
2390
|
+
* @since 2.0.0
|
|
2391
|
+
* @category context
|
|
2392
|
+
*/
|
|
2393
|
+
export const provideSomeLayer = internal.provideSomeLayer;
|
|
2394
|
+
/**
|
|
2395
|
+
* Returns a stream that mirrors the first upstream to emit an item.
|
|
2396
|
+
* As soon as one of the upstream emits a first value, the other is interrupted.
|
|
2397
|
+
* The resulting stream will forward all items from the "winning" source stream.
|
|
2398
|
+
* Any upstream failures will cause the returned stream to fail.
|
|
2399
|
+
*
|
|
2400
|
+
* @example
|
|
2401
|
+
* ```ts
|
|
2402
|
+
* import { Stream, Schedule, Console, Effect } from "effect"
|
|
2403
|
+
*
|
|
2404
|
+
* const stream = Stream.fromSchedule(Schedule.spaced('2 millis')).pipe(
|
|
2405
|
+
* Stream.race(Stream.fromSchedule(Schedule.spaced('1 millis'))),
|
|
2406
|
+
* Stream.take(6),
|
|
2407
|
+
* Stream.tap(Console.log)
|
|
2408
|
+
* )
|
|
2409
|
+
*
|
|
2410
|
+
* Effect.runPromise(Stream.runDrain(stream))
|
|
2411
|
+
* // Output each millisecond from the first stream, the rest streams are interrupted
|
|
2412
|
+
* // 0
|
|
2413
|
+
* // 1
|
|
2414
|
+
* // 2
|
|
2415
|
+
* // 3
|
|
2416
|
+
* // 4
|
|
2417
|
+
* // 5
|
|
2418
|
+
* ```
|
|
2419
|
+
* @since 3.7.0
|
|
2420
|
+
* @category racing
|
|
2421
|
+
*/
|
|
2422
|
+
export const race = internal.race;
|
|
2423
|
+
/**
|
|
2424
|
+
* Returns a stream that mirrors the first upstream to emit an item.
|
|
2425
|
+
* As soon as one of the upstream emits a first value, all the others are interrupted.
|
|
2426
|
+
* The resulting stream will forward all items from the "winning" source stream.
|
|
2427
|
+
* Any upstream failures will cause the returned stream to fail.
|
|
2428
|
+
*
|
|
2429
|
+
* @example
|
|
2430
|
+
* ```ts
|
|
2431
|
+
* import { Stream, Schedule, Console, Effect } from "effect"
|
|
2432
|
+
*
|
|
2433
|
+
* const stream = Stream.raceAll(
|
|
2434
|
+
* Stream.fromSchedule(Schedule.spaced('1 millis')),
|
|
2435
|
+
* Stream.fromSchedule(Schedule.spaced('2 millis')),
|
|
2436
|
+
* Stream.fromSchedule(Schedule.spaced('4 millis')),
|
|
2437
|
+
* ).pipe(Stream.take(6), Stream.tap(Console.log))
|
|
2438
|
+
*
|
|
2439
|
+
* Effect.runPromise(Stream.runDrain(stream))
|
|
2440
|
+
* // Output each millisecond from the first stream, the rest streams are interrupted
|
|
2441
|
+
* // 0
|
|
2442
|
+
* // 1
|
|
2443
|
+
* // 2
|
|
2444
|
+
* // 3
|
|
2445
|
+
* // 4
|
|
2446
|
+
* // 5
|
|
2447
|
+
* ```
|
|
2448
|
+
* @since 3.5.0
|
|
2449
|
+
* @category racing
|
|
2450
|
+
*/
|
|
2451
|
+
export const raceAll = internal.raceAll;
|
|
2452
|
+
/**
|
|
2453
|
+
* Constructs a stream from a range of integers, including both endpoints.
|
|
2454
|
+
*
|
|
2455
|
+
* @example
|
|
2456
|
+
* ```ts
|
|
2457
|
+
* import { Effect, Stream } from "effect"
|
|
2458
|
+
*
|
|
2459
|
+
* // A Stream with a range of numbers from 1 to 5
|
|
2460
|
+
* const stream = Stream.range(1, 5)
|
|
2461
|
+
*
|
|
2462
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
2463
|
+
* // { _id: 'Chunk', values: [ 1, 2, 3, 4, 5 ] }
|
|
2464
|
+
* ```
|
|
2465
|
+
*
|
|
2466
|
+
* @since 2.0.0
|
|
2467
|
+
* @category constructors
|
|
2468
|
+
*/
|
|
2469
|
+
export const range = internal.range;
|
|
2470
|
+
/**
|
|
2471
|
+
* Re-chunks the elements of the stream into chunks of `n` elements each. The
|
|
2472
|
+
* last chunk might contain less than `n` elements.
|
|
2473
|
+
*
|
|
2474
|
+
* @since 2.0.0
|
|
2475
|
+
* @category utils
|
|
2476
|
+
*/
|
|
2477
|
+
export const rechunk = internal.rechunk;
|
|
2478
|
+
/**
|
|
2479
|
+
* Keeps some of the errors, and terminates the fiber with the rest
|
|
2480
|
+
*
|
|
2481
|
+
* @since 2.0.0
|
|
2482
|
+
* @category error handling
|
|
2483
|
+
*/
|
|
2484
|
+
export const refineOrDie = internal.refineOrDie;
|
|
2485
|
+
/**
|
|
2486
|
+
* Keeps some of the errors, and terminates the fiber with the rest, using the
|
|
2487
|
+
* specified function to convert the `E` into a defect.
|
|
2488
|
+
*
|
|
2489
|
+
* @since 2.0.0
|
|
2490
|
+
* @category error handling
|
|
2491
|
+
*/
|
|
2492
|
+
export const refineOrDieWith = internal.refineOrDieWith;
|
|
2493
|
+
/**
|
|
2494
|
+
* Repeats the entire stream using the specified schedule. The stream will
|
|
2495
|
+
* execute normally, and then repeat again according to the provided schedule.
|
|
2496
|
+
*
|
|
2497
|
+
* @example
|
|
2498
|
+
* ```ts
|
|
2499
|
+
* import { Effect, Schedule, Stream } from "effect"
|
|
2500
|
+
*
|
|
2501
|
+
* const stream = Stream.repeat(Stream.succeed(1), Schedule.forever)
|
|
2502
|
+
*
|
|
2503
|
+
* Effect.runPromise(Stream.runCollect(stream.pipe(Stream.take(5)))).then(console.log)
|
|
2504
|
+
* // { _id: 'Chunk', values: [ 1, 1, 1, 1, 1 ] }
|
|
2505
|
+
* ```
|
|
2506
|
+
*
|
|
2507
|
+
* @since 2.0.0
|
|
2508
|
+
* @category utils
|
|
2509
|
+
*/
|
|
2510
|
+
export const repeat = internal.repeat;
|
|
2511
|
+
/**
|
|
2512
|
+
* Creates a stream from an effect producing a value of type `A` which repeats
|
|
2513
|
+
* forever.
|
|
2514
|
+
*
|
|
2515
|
+
* @example
|
|
2516
|
+
* ```ts
|
|
2517
|
+
* import { Effect, Random, Stream } from "effect"
|
|
2518
|
+
*
|
|
2519
|
+
* const stream = Stream.repeatEffect(Random.nextInt)
|
|
2520
|
+
*
|
|
2521
|
+
* Effect.runPromise(Stream.runCollect(stream.pipe(Stream.take(5)))).then(console.log)
|
|
2522
|
+
* // Example Output: { _id: 'Chunk', values: [ 3891571149, 4239494205, 2352981603, 2339111046, 1488052210 ] }
|
|
2523
|
+
* ```
|
|
2524
|
+
*
|
|
2525
|
+
* @since 2.0.0
|
|
2526
|
+
* @category constructors
|
|
2527
|
+
*/
|
|
2528
|
+
export const repeatEffect = internal.repeatEffect;
|
|
2529
|
+
/**
|
|
2530
|
+
* Creates a stream from an effect producing chunks of `A` values which
|
|
2531
|
+
* repeats forever.
|
|
2532
|
+
*
|
|
2533
|
+
* @since 2.0.0
|
|
2534
|
+
* @category constructors
|
|
2535
|
+
*/
|
|
2536
|
+
export const repeatEffectChunk = internal.repeatEffectChunk;
|
|
2537
|
+
/**
|
|
2538
|
+
* Creates a stream from an effect producing chunks of `A` values until it
|
|
2539
|
+
* fails with `None`.
|
|
2540
|
+
*
|
|
2541
|
+
* @since 2.0.0
|
|
2542
|
+
* @category constructors
|
|
2543
|
+
*/
|
|
2544
|
+
export const repeatEffectChunkOption = internal.repeatEffectChunkOption;
|
|
2545
|
+
/**
|
|
2546
|
+
* Creates a stream from an effect producing values of type `A` until it fails
|
|
2547
|
+
* with `None`.
|
|
2548
|
+
*
|
|
2549
|
+
* @example
|
|
2550
|
+
* ```ts
|
|
2551
|
+
* // In this example, we're draining an Iterator to create a stream from it
|
|
2552
|
+
* import { Stream, Effect, Option } from "effect"
|
|
2553
|
+
*
|
|
2554
|
+
* const drainIterator = <A>(it: Iterator<A>): Stream.Stream<A> =>
|
|
2555
|
+
* Stream.repeatEffectOption(
|
|
2556
|
+
* Effect.sync(() => it.next()).pipe(
|
|
2557
|
+
* Effect.andThen((res) => {
|
|
2558
|
+
* if (res.done) {
|
|
2559
|
+
* return Effect.fail(Option.none())
|
|
2560
|
+
* }
|
|
2561
|
+
* return Effect.succeed(res.value)
|
|
2562
|
+
* })
|
|
2563
|
+
* )
|
|
2564
|
+
* )
|
|
2565
|
+
* ```
|
|
2566
|
+
*
|
|
2567
|
+
* @since 2.0.0
|
|
2568
|
+
* @category constructors
|
|
2569
|
+
*/
|
|
2570
|
+
export const repeatEffectOption = internal.repeatEffectOption;
|
|
2571
|
+
/**
|
|
2572
|
+
* Creates a stream from an effect producing a value of type `A`, which is
|
|
2573
|
+
* repeated using the specified schedule.
|
|
2574
|
+
*
|
|
2575
|
+
* @since 2.0.0
|
|
2576
|
+
* @category constructors
|
|
2577
|
+
*/
|
|
2578
|
+
export const repeatEffectWithSchedule = internal.repeatEffectWithSchedule;
|
|
2579
|
+
/**
|
|
2580
|
+
* Repeats the entire stream using the specified schedule. The stream will
|
|
2581
|
+
* execute normally, and then repeat again according to the provided schedule.
|
|
2582
|
+
* The schedule output will be emitted at the end of each repetition.
|
|
2583
|
+
*
|
|
2584
|
+
* @since 2.0.0
|
|
2585
|
+
* @category utils
|
|
2586
|
+
*/
|
|
2587
|
+
export const repeatEither = internal.repeatEither;
|
|
2588
|
+
/**
|
|
2589
|
+
* Repeats each element of the stream using the provided schedule. Repetitions
|
|
2590
|
+
* are done in addition to the first execution, which means using
|
|
2591
|
+
* `Schedule.recurs(1)` actually results in the original effect, plus an
|
|
2592
|
+
* additional recurrence, for a total of two repetitions of each value in the
|
|
2593
|
+
* stream.
|
|
2594
|
+
*
|
|
2595
|
+
* @since 2.0.0
|
|
2596
|
+
* @category utils
|
|
2597
|
+
*/
|
|
2598
|
+
export const repeatElements = internal.repeatElements;
|
|
2599
|
+
/**
|
|
2600
|
+
* Repeats each element of the stream using the provided schedule. When the
|
|
2601
|
+
* schedule is finished, then the output of the schedule will be emitted into
|
|
2602
|
+
* the stream. Repetitions are done in addition to the first execution, which
|
|
2603
|
+
* means using `Schedule.recurs(1)` actually results in the original effect,
|
|
2604
|
+
* plus an additional recurrence, for a total of two repetitions of each value
|
|
2605
|
+
* in the stream.
|
|
2606
|
+
*
|
|
2607
|
+
* This function accepts two conversion functions, which allow the output of
|
|
2608
|
+
* this stream and the output of the provided schedule to be unified into a
|
|
2609
|
+
* single type. For example, `Either` or similar data type.
|
|
2610
|
+
*
|
|
2611
|
+
* @since 2.0.0
|
|
2612
|
+
* @category utils
|
|
2613
|
+
*/
|
|
2614
|
+
export const repeatElementsWith = internal.repeatElementsWith;
|
|
2615
|
+
/**
|
|
2616
|
+
* Repeats the provided value infinitely.
|
|
2617
|
+
*
|
|
2618
|
+
* @example
|
|
2619
|
+
* ```ts
|
|
2620
|
+
* import { Effect, Stream } from "effect"
|
|
2621
|
+
*
|
|
2622
|
+
* const stream = Stream.repeatValue(0)
|
|
2623
|
+
*
|
|
2624
|
+
* Effect.runPromise(Stream.runCollect(stream.pipe(Stream.take(5)))).then(console.log)
|
|
2625
|
+
* // { _id: 'Chunk', values: [ 0, 0, 0, 0, 0 ] }
|
|
2626
|
+
* ```
|
|
2627
|
+
*
|
|
2628
|
+
* @since 2.0.0
|
|
2629
|
+
* @category constructors
|
|
2630
|
+
*/
|
|
2631
|
+
export const repeatValue = internal.repeatValue;
|
|
2632
|
+
/**
|
|
2633
|
+
* Repeats the entire stream using the specified schedule. The stream will
|
|
2634
|
+
* execute normally, and then repeat again according to the provided schedule.
|
|
2635
|
+
* The schedule output will be emitted at the end of each repetition and can
|
|
2636
|
+
* be unified with the stream elements using the provided functions.
|
|
2637
|
+
*
|
|
2638
|
+
* @since 2.0.0
|
|
2639
|
+
* @category utils
|
|
2640
|
+
*/
|
|
2641
|
+
export const repeatWith = internal.repeatWith;
|
|
2642
|
+
/**
|
|
2643
|
+
* When the stream fails, retry it according to the given schedule
|
|
2644
|
+
*
|
|
2645
|
+
* This retries the entire stream, so will re-execute all of the stream's
|
|
2646
|
+
* acquire operations.
|
|
2647
|
+
*
|
|
2648
|
+
* The schedule is reset as soon as the first element passes through the
|
|
2649
|
+
* stream again.
|
|
2650
|
+
*
|
|
2651
|
+
* @since 2.0.0
|
|
2652
|
+
* @category utils
|
|
2653
|
+
*/
|
|
2654
|
+
export const retry = internal.retry;
|
|
2655
|
+
/**
|
|
2656
|
+
* Apply an `ExecutionPlan` to the stream, which allows you to fallback to
|
|
2657
|
+
* different resources in case of failure.
|
|
2658
|
+
*
|
|
2659
|
+
* If you have a stream that could fail with partial results, you can use
|
|
2660
|
+
* the `preventFallbackOnPartialStream` option to prevent contamination of
|
|
2661
|
+
* the final stream with partial results.
|
|
2662
|
+
*
|
|
2663
|
+
* @since 3.16.0
|
|
2664
|
+
* @category Error handling
|
|
2665
|
+
* @experimental
|
|
2666
|
+
*/
|
|
2667
|
+
export const withExecutionPlan = internal.withExecutionPlan;
|
|
2668
|
+
/**
|
|
2669
|
+
* Runs the sink on the stream to produce either the sink's result or an error.
|
|
2670
|
+
*
|
|
2671
|
+
* @since 2.0.0
|
|
2672
|
+
* @category destructors
|
|
2673
|
+
*/
|
|
2674
|
+
export const run = internal.run;
|
|
2675
|
+
/**
|
|
2676
|
+
* Runs the stream and collects all of its elements to a chunk.
|
|
2677
|
+
*
|
|
2678
|
+
* @since 2.0.0
|
|
2679
|
+
* @category destructors
|
|
2680
|
+
*/
|
|
2681
|
+
export const runCollect = internal.runCollect;
|
|
2682
|
+
/**
|
|
2683
|
+
* Runs the stream and emits the number of elements processed
|
|
2684
|
+
*
|
|
2685
|
+
* @since 2.0.0
|
|
2686
|
+
* @category destructors
|
|
2687
|
+
*/
|
|
2688
|
+
export const runCount = internal.runCount;
|
|
2689
|
+
/**
|
|
2690
|
+
* Runs the stream only for its effects. The emitted elements are discarded.
|
|
2691
|
+
*
|
|
2692
|
+
* @since 2.0.0
|
|
2693
|
+
* @category destructors
|
|
2694
|
+
*/
|
|
2695
|
+
export const runDrain = internal.runDrain;
|
|
2696
|
+
/**
|
|
2697
|
+
* Executes a pure fold over the stream of values - reduces all elements in
|
|
2698
|
+
* the stream to a value of type `S`.
|
|
2699
|
+
*
|
|
2700
|
+
* @since 2.0.0
|
|
2701
|
+
* @category destructors
|
|
2702
|
+
*/
|
|
2703
|
+
export const runFold = internal.runFold;
|
|
2704
|
+
/**
|
|
2705
|
+
* Executes an effectful fold over the stream of values.
|
|
2706
|
+
*
|
|
2707
|
+
* @since 2.0.0
|
|
2708
|
+
* @category destructors
|
|
2709
|
+
*/
|
|
2710
|
+
export const runFoldEffect = internal.runFoldEffect;
|
|
2711
|
+
/**
|
|
2712
|
+
* Executes a pure fold over the stream of values. Returns a scoped value that
|
|
2713
|
+
* represents the scope of the stream.
|
|
2714
|
+
*
|
|
2715
|
+
* @since 2.0.0
|
|
2716
|
+
* @category destructors
|
|
2717
|
+
*/
|
|
2718
|
+
export const runFoldScoped = internal.runFoldScoped;
|
|
2719
|
+
/**
|
|
2720
|
+
* Executes an effectful fold over the stream of values. Returns a scoped
|
|
2721
|
+
* value that represents the scope of the stream.
|
|
2722
|
+
*
|
|
2723
|
+
* @since 2.0.0
|
|
2724
|
+
* @category destructors
|
|
2725
|
+
*/
|
|
2726
|
+
export const runFoldScopedEffect = internal.runFoldScopedEffect;
|
|
2727
|
+
/**
|
|
2728
|
+
* Reduces the elements in the stream to a value of type `S`. Stops the fold
|
|
2729
|
+
* early when the condition is not fulfilled. Example:
|
|
2730
|
+
*
|
|
2731
|
+
* @since 2.0.0
|
|
2732
|
+
* @category destructors
|
|
2733
|
+
*/
|
|
2734
|
+
export const runFoldWhile = internal.runFoldWhile;
|
|
2735
|
+
/**
|
|
2736
|
+
* Executes an effectful fold over the stream of values. Stops the fold early
|
|
2737
|
+
* when the condition is not fulfilled.
|
|
2738
|
+
*
|
|
2739
|
+
* @since 2.0.0
|
|
2740
|
+
* @category destructors
|
|
2741
|
+
*/
|
|
2742
|
+
export const runFoldWhileEffect = internal.runFoldWhileEffect;
|
|
2743
|
+
/**
|
|
2744
|
+
* Executes a pure fold over the stream of values. Returns a scoped value that
|
|
2745
|
+
* represents the scope of the stream. Stops the fold early when the condition
|
|
2746
|
+
* is not fulfilled.
|
|
2747
|
+
*
|
|
2748
|
+
* @since 2.0.0
|
|
2749
|
+
* @category destructors
|
|
2750
|
+
*/
|
|
2751
|
+
export const runFoldWhileScoped = internal.runFoldWhileScoped;
|
|
2752
|
+
/**
|
|
2753
|
+
* Executes an effectful fold over the stream of values. Returns a scoped
|
|
2754
|
+
* value that represents the scope of the stream. Stops the fold early when
|
|
2755
|
+
* the condition is not fulfilled.
|
|
2756
|
+
*
|
|
2757
|
+
* @since 2.0.0
|
|
2758
|
+
* @category destructors
|
|
2759
|
+
*/
|
|
2760
|
+
export const runFoldWhileScopedEffect = internal.runFoldWhileScopedEffect;
|
|
2761
|
+
/**
|
|
2762
|
+
* Consumes all elements of the stream, passing them to the specified
|
|
2763
|
+
* callback.
|
|
2764
|
+
*
|
|
2765
|
+
* @since 2.0.0
|
|
2766
|
+
* @category destructors
|
|
2767
|
+
*/
|
|
2768
|
+
export const runForEach = internal.runForEach;
|
|
2769
|
+
/**
|
|
2770
|
+
* Consumes all elements of the stream, passing them to the specified
|
|
2771
|
+
* callback.
|
|
2772
|
+
*
|
|
2773
|
+
* @since 2.0.0
|
|
2774
|
+
* @category destructors
|
|
2775
|
+
*/
|
|
2776
|
+
export const runForEachChunk = internal.runForEachChunk;
|
|
2777
|
+
/**
|
|
2778
|
+
* Like `Stream.runForEachChunk`, but returns a scoped effect so the
|
|
2779
|
+
* finalization order can be controlled.
|
|
2780
|
+
*
|
|
2781
|
+
* @since 2.0.0
|
|
2782
|
+
* @category destructors
|
|
2783
|
+
*/
|
|
2784
|
+
export const runForEachChunkScoped = internal.runForEachChunkScoped;
|
|
2785
|
+
/**
|
|
2786
|
+
* Like `Stream.forEach`, but returns a scoped effect so the finalization
|
|
2787
|
+
* order can be controlled.
|
|
2788
|
+
*
|
|
2789
|
+
* @since 2.0.0
|
|
2790
|
+
* @category destructors
|
|
2791
|
+
*/
|
|
2792
|
+
export const runForEachScoped = internal.runForEachScoped;
|
|
2793
|
+
/**
|
|
2794
|
+
* Consumes elements of the stream, passing them to the specified callback,
|
|
2795
|
+
* and terminating consumption when the callback returns `false`.
|
|
2796
|
+
*
|
|
2797
|
+
* @since 2.0.0
|
|
2798
|
+
* @category destructors
|
|
2799
|
+
*/
|
|
2800
|
+
export const runForEachWhile = internal.runForEachWhile;
|
|
2801
|
+
/**
|
|
2802
|
+
* Like `Stream.runForEachWhile`, but returns a scoped effect so the
|
|
2803
|
+
* finalization order can be controlled.
|
|
2804
|
+
*
|
|
2805
|
+
* @since 2.0.0
|
|
2806
|
+
* @category destructors
|
|
2807
|
+
*/
|
|
2808
|
+
export const runForEachWhileScoped = internal.runForEachWhileScoped;
|
|
2809
|
+
/**
|
|
2810
|
+
* Runs the stream to completion and yields the first value emitted by it,
|
|
2811
|
+
* discarding the rest of the elements.
|
|
2812
|
+
*
|
|
2813
|
+
* @since 2.0.0
|
|
2814
|
+
* @category destructors
|
|
2815
|
+
*/
|
|
2816
|
+
export const runHead = internal.runHead;
|
|
2817
|
+
/**
|
|
2818
|
+
* Publishes elements of this stream to a `PubSub`. Stream failure and ending will
|
|
2819
|
+
* also be signalled.
|
|
2820
|
+
*
|
|
2821
|
+
* @since 2.0.0
|
|
2822
|
+
* @category destructors
|
|
2823
|
+
*/
|
|
2824
|
+
export const runIntoPubSub = internal.runIntoPubSub;
|
|
2825
|
+
/**
|
|
2826
|
+
* Like `Stream.runIntoPubSub`, but provides the result as a scoped effect to
|
|
2827
|
+
* allow for scope composition.
|
|
2828
|
+
*
|
|
2829
|
+
* @since 2.0.0
|
|
2830
|
+
* @category destructors
|
|
2831
|
+
*/
|
|
2832
|
+
export const runIntoPubSubScoped = internal.runIntoPubSubScoped;
|
|
2833
|
+
/**
|
|
2834
|
+
* Enqueues elements of this stream into a queue. Stream failure and ending
|
|
2835
|
+
* will also be signalled.
|
|
2836
|
+
*
|
|
2837
|
+
* @since 2.0.0
|
|
2838
|
+
* @category destructors
|
|
2839
|
+
*/
|
|
2840
|
+
export const runIntoQueue = internal.runIntoQueue;
|
|
2841
|
+
/**
|
|
2842
|
+
* Like `Stream.runIntoQueue`, but provides the result as a scoped Effect
|
|
2843
|
+
* to allow for scope composition.
|
|
2844
|
+
*
|
|
2845
|
+
* @since 2.0.0
|
|
2846
|
+
* @category destructors
|
|
2847
|
+
*/
|
|
2848
|
+
export const runIntoQueueElementsScoped = internal.runIntoQueueElementsScoped;
|
|
2849
|
+
/**
|
|
2850
|
+
* Like `Stream.runIntoQueue`, but provides the result as a scoped effect
|
|
2851
|
+
* to allow for scope composition.
|
|
2852
|
+
*
|
|
2853
|
+
* @since 2.0.0
|
|
2854
|
+
* @category destructors
|
|
2855
|
+
*/
|
|
2856
|
+
export const runIntoQueueScoped = internal.runIntoQueueScoped;
|
|
2857
|
+
/**
|
|
2858
|
+
* Runs the stream to completion and yields the last value emitted by it,
|
|
2859
|
+
* discarding the rest of the elements.
|
|
2860
|
+
*
|
|
2861
|
+
* @since 2.0.0
|
|
2862
|
+
* @category destructors
|
|
2863
|
+
*/
|
|
2864
|
+
export const runLast = internal.runLast;
|
|
2865
|
+
/**
|
|
2866
|
+
* @since 2.0.0
|
|
2867
|
+
* @category destructors
|
|
2868
|
+
*/
|
|
2869
|
+
export const runScoped = internal.runScoped;
|
|
2870
|
+
/**
|
|
2871
|
+
* Runs the stream to a sink which sums elements, provided they are Numeric.
|
|
2872
|
+
*
|
|
2873
|
+
* @since 2.0.0
|
|
2874
|
+
* @category destructors
|
|
2875
|
+
*/
|
|
2876
|
+
export const runSum = internal.runSum;
|
|
2877
|
+
/**
|
|
2878
|
+
* Statefully maps over the elements of this stream to produce all
|
|
2879
|
+
* intermediate results of type `S` given an initial S.
|
|
2880
|
+
*
|
|
2881
|
+
* @example
|
|
2882
|
+
* ```ts
|
|
2883
|
+
* import { Effect, Stream } from "effect"
|
|
2884
|
+
*
|
|
2885
|
+
* const stream = Stream.range(1, 6).pipe(Stream.scan(0, (a, b) => a + b))
|
|
2886
|
+
*
|
|
2887
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
2888
|
+
* // { _id: 'Chunk', values: [ 0, 1, 3, 6, 10, 15, 21 ] }
|
|
2889
|
+
* ```
|
|
2890
|
+
*
|
|
2891
|
+
* @since 2.0.0
|
|
2892
|
+
* @category utils
|
|
2893
|
+
*/
|
|
2894
|
+
export const scan = internal.scan;
|
|
2895
|
+
/**
|
|
2896
|
+
* Statefully and effectfully maps over the elements of this stream to produce
|
|
2897
|
+
* all intermediate results of type `S` given an initial S.
|
|
2898
|
+
*
|
|
2899
|
+
* @since 2.0.0
|
|
2900
|
+
* @category utils
|
|
2901
|
+
*/
|
|
2902
|
+
export const scanEffect = internal.scanEffect;
|
|
2903
|
+
/**
|
|
2904
|
+
* Statefully maps over the elements of this stream to produce all
|
|
2905
|
+
* intermediate results.
|
|
2906
|
+
*
|
|
2907
|
+
* See also `Stream.scan`.
|
|
2908
|
+
*
|
|
2909
|
+
* @since 2.0.0
|
|
2910
|
+
* @category utils
|
|
2911
|
+
*/
|
|
2912
|
+
export const scanReduce = internal.scanReduce;
|
|
2913
|
+
/**
|
|
2914
|
+
* Statefully and effectfully maps over the elements of this stream to produce
|
|
2915
|
+
* all intermediate results.
|
|
2916
|
+
*
|
|
2917
|
+
* See also `Stream.scanEffect`.
|
|
2918
|
+
*
|
|
2919
|
+
* @since 2.0.0
|
|
2920
|
+
* @category utils
|
|
2921
|
+
*/
|
|
2922
|
+
export const scanReduceEffect = internal.scanReduceEffect;
|
|
2923
|
+
/**
|
|
2924
|
+
* Schedules the output of the stream using the provided `schedule`.
|
|
2925
|
+
*
|
|
2926
|
+
* @since 2.0.0
|
|
2927
|
+
* @category utils
|
|
2928
|
+
*/
|
|
2929
|
+
export const schedule = internal.schedule;
|
|
2930
|
+
/**
|
|
2931
|
+
* Schedules the output of the stream using the provided `schedule` and emits
|
|
2932
|
+
* its output at the end (if `schedule` is finite). Uses the provided function
|
|
2933
|
+
* to align the stream and schedule outputs on the same type.
|
|
2934
|
+
*
|
|
2935
|
+
* @since 2.0.0
|
|
2936
|
+
* @category utils
|
|
2937
|
+
*/
|
|
2938
|
+
export const scheduleWith = internal.scheduleWith;
|
|
2939
|
+
/**
|
|
2940
|
+
* Creates a single-valued stream from a scoped resource.
|
|
2941
|
+
*
|
|
2942
|
+
* @example
|
|
2943
|
+
* ```ts
|
|
2944
|
+
* import { Console, Effect, Stream } from "effect"
|
|
2945
|
+
*
|
|
2946
|
+
* // Creating a single-valued stream from a scoped resource
|
|
2947
|
+
* const stream = Stream.scoped(
|
|
2948
|
+
* Effect.acquireRelease(
|
|
2949
|
+
* Console.log("acquire"),
|
|
2950
|
+
* () => Console.log("release")
|
|
2951
|
+
* )
|
|
2952
|
+
* ).pipe(
|
|
2953
|
+
* Stream.flatMap(() => Console.log("use"))
|
|
2954
|
+
* )
|
|
2955
|
+
*
|
|
2956
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
2957
|
+
* // acquire
|
|
2958
|
+
* // use
|
|
2959
|
+
* // release
|
|
2960
|
+
* // { _id: 'Chunk', values: [ undefined ] }
|
|
2961
|
+
* ```
|
|
2962
|
+
*
|
|
2963
|
+
* @since 2.0.0
|
|
2964
|
+
* @category constructors
|
|
2965
|
+
*/
|
|
2966
|
+
export const scoped = internal.scoped;
|
|
2967
|
+
/**
|
|
2968
|
+
* Use a function that receives a scope and returns an effect to emit an output
|
|
2969
|
+
* element. The output element will be the result of the returned effect, if
|
|
2970
|
+
* successful.
|
|
2971
|
+
*
|
|
2972
|
+
* @since 3.11.0
|
|
2973
|
+
* @category constructors
|
|
2974
|
+
*/
|
|
2975
|
+
export const scopedWith = internal.scopedWith;
|
|
2976
|
+
/**
|
|
2977
|
+
* Emits a sliding window of `n` elements.
|
|
2978
|
+
*
|
|
2979
|
+
* ```ts
|
|
2980
|
+
* import { pipe, Stream } from "effect"
|
|
2981
|
+
*
|
|
2982
|
+
* pipe(
|
|
2983
|
+
* Stream.make(1, 2, 3, 4),
|
|
2984
|
+
* Stream.sliding(2),
|
|
2985
|
+
* Stream.runCollect
|
|
2986
|
+
* )
|
|
2987
|
+
* // => Chunk(Chunk(1, 2), Chunk(2, 3), Chunk(3, 4))
|
|
2988
|
+
* ```
|
|
2989
|
+
*
|
|
2990
|
+
* @since 2.0.0
|
|
2991
|
+
* @category utils
|
|
2992
|
+
*/
|
|
2993
|
+
export const sliding = internal.sliding;
|
|
2994
|
+
/**
|
|
2995
|
+
* Like `sliding`, but with a configurable `stepSize` parameter.
|
|
2996
|
+
*
|
|
2997
|
+
* @since 2.0.0
|
|
2998
|
+
* @category utils
|
|
2999
|
+
*/
|
|
3000
|
+
export const slidingSize = internal.slidingSize;
|
|
3001
|
+
/**
|
|
3002
|
+
* Converts an option on values into an option on errors.
|
|
3003
|
+
*
|
|
3004
|
+
* @since 2.0.0
|
|
3005
|
+
* @category utils
|
|
3006
|
+
*/
|
|
3007
|
+
export const some = internal.some;
|
|
3008
|
+
/**
|
|
3009
|
+
* Extracts the optional value, or returns the given 'default'.
|
|
3010
|
+
*
|
|
3011
|
+
* @since 2.0.0
|
|
3012
|
+
* @category utils
|
|
3013
|
+
*/
|
|
3014
|
+
export const someOrElse = internal.someOrElse;
|
|
3015
|
+
/**
|
|
3016
|
+
* Extracts the optional value, or fails with the given error 'e'.
|
|
3017
|
+
*
|
|
3018
|
+
* @since 2.0.0
|
|
3019
|
+
* @category utils
|
|
3020
|
+
*/
|
|
3021
|
+
export const someOrFail = internal.someOrFail;
|
|
3022
|
+
/**
|
|
3023
|
+
* Splits elements based on a predicate or refinement.
|
|
3024
|
+
*
|
|
3025
|
+
* ```ts
|
|
3026
|
+
* import { pipe, Stream } from "effect"
|
|
3027
|
+
*
|
|
3028
|
+
* pipe(
|
|
3029
|
+
* Stream.range(1, 10),
|
|
3030
|
+
* Stream.split((n) => n % 4 === 0),
|
|
3031
|
+
* Stream.runCollect
|
|
3032
|
+
* )
|
|
3033
|
+
* // => Chunk(Chunk(1, 2, 3), Chunk(5, 6, 7), Chunk(9))
|
|
3034
|
+
* ```
|
|
3035
|
+
*
|
|
3036
|
+
* @since 2.0.0
|
|
3037
|
+
* @category utils
|
|
3038
|
+
*/
|
|
3039
|
+
export const split = internal.split;
|
|
3040
|
+
/**
|
|
3041
|
+
* Splits elements on a delimiter and transforms the splits into desired output.
|
|
3042
|
+
*
|
|
3043
|
+
* @since 2.0.0
|
|
3044
|
+
* @category utils
|
|
3045
|
+
*/
|
|
3046
|
+
export const splitOnChunk = internal.splitOnChunk;
|
|
3047
|
+
/**
|
|
3048
|
+
* Splits strings on newlines. Handles both Windows newlines (`\r\n`) and UNIX
|
|
3049
|
+
* newlines (`\n`).
|
|
3050
|
+
*
|
|
3051
|
+
* @since 2.0.0
|
|
3052
|
+
* @category combinators
|
|
3053
|
+
*/
|
|
3054
|
+
export const splitLines = internal.splitLines;
|
|
3055
|
+
/**
|
|
3056
|
+
* Creates a single-valued pure stream.
|
|
3057
|
+
*
|
|
3058
|
+
* @example
|
|
3059
|
+
* ```ts
|
|
3060
|
+
* import { Effect, Stream } from "effect"
|
|
3061
|
+
*
|
|
3062
|
+
* // A Stream with a single number
|
|
3063
|
+
* const stream = Stream.succeed(3)
|
|
3064
|
+
*
|
|
3065
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
3066
|
+
* // { _id: 'Chunk', values: [ 3 ] }
|
|
3067
|
+
* ```
|
|
3068
|
+
*
|
|
3069
|
+
* @since 2.0.0
|
|
3070
|
+
* @category constructors
|
|
3071
|
+
*/
|
|
3072
|
+
export const succeed = internal.succeed;
|
|
3073
|
+
/**
|
|
3074
|
+
* Creates a single-valued pure stream.
|
|
3075
|
+
*
|
|
3076
|
+
* @since 2.0.0
|
|
3077
|
+
* @category constructors
|
|
3078
|
+
*/
|
|
3079
|
+
export const sync = internal.sync;
|
|
3080
|
+
/**
|
|
3081
|
+
* Returns a lazily constructed stream.
|
|
3082
|
+
*
|
|
3083
|
+
* @since 2.0.0
|
|
3084
|
+
* @category constructors
|
|
3085
|
+
*/
|
|
3086
|
+
export const suspend = internal.suspend;
|
|
3087
|
+
/**
|
|
3088
|
+
* Takes the specified number of elements from this stream.
|
|
3089
|
+
*
|
|
3090
|
+
* @example
|
|
3091
|
+
* ```ts
|
|
3092
|
+
* import { Effect, Stream } from "effect"
|
|
3093
|
+
*
|
|
3094
|
+
* const stream = Stream.take(Stream.iterate(0, (n) => n + 1), 5)
|
|
3095
|
+
*
|
|
3096
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
3097
|
+
* // { _id: 'Chunk', values: [ 0, 1, 2, 3, 4 ] }
|
|
3098
|
+
* ```
|
|
3099
|
+
*
|
|
3100
|
+
* @since 2.0.0
|
|
3101
|
+
* @category utils
|
|
3102
|
+
*/
|
|
3103
|
+
export const take = internal.take;
|
|
3104
|
+
/**
|
|
3105
|
+
* Takes the last specified number of elements from this stream.
|
|
3106
|
+
*
|
|
3107
|
+
* @example
|
|
3108
|
+
* ```ts
|
|
3109
|
+
* import { Effect, Stream } from "effect"
|
|
3110
|
+
*
|
|
3111
|
+
* const stream = Stream.takeRight(Stream.make(1, 2, 3, 4, 5, 6), 3)
|
|
3112
|
+
*
|
|
3113
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
3114
|
+
* // { _id: 'Chunk', values: [ 4, 5, 6 ] }
|
|
3115
|
+
* ```
|
|
3116
|
+
*
|
|
3117
|
+
* @since 2.0.0
|
|
3118
|
+
* @category utils
|
|
3119
|
+
*/
|
|
3120
|
+
export const takeRight = internal.takeRight;
|
|
3121
|
+
/**
|
|
3122
|
+
* Takes all elements of the stream until the specified predicate evaluates to
|
|
3123
|
+
* `true`.
|
|
3124
|
+
*
|
|
3125
|
+
* @example
|
|
3126
|
+
* ```ts
|
|
3127
|
+
* import { Effect, Stream } from "effect"
|
|
3128
|
+
*
|
|
3129
|
+
* const stream = Stream.takeUntil(Stream.iterate(0, (n) => n + 1), (n) => n === 4)
|
|
3130
|
+
*
|
|
3131
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
3132
|
+
* // { _id: 'Chunk', values: [ 0, 1, 2, 3, 4 ] }
|
|
3133
|
+
* ```
|
|
3134
|
+
*
|
|
3135
|
+
* @since 2.0.0
|
|
3136
|
+
* @category utils
|
|
3137
|
+
*/
|
|
3138
|
+
export const takeUntil = internal.takeUntil;
|
|
3139
|
+
/**
|
|
3140
|
+
* Takes all elements of the stream until the specified effectual predicate
|
|
3141
|
+
* evaluates to `true`.
|
|
3142
|
+
*
|
|
3143
|
+
* @since 2.0.0
|
|
3144
|
+
* @category utils
|
|
3145
|
+
*/
|
|
3146
|
+
export const takeUntilEffect = internal.takeUntilEffect;
|
|
3147
|
+
/**
|
|
3148
|
+
* Takes all elements of the stream for as long as the specified predicate
|
|
3149
|
+
* evaluates to `true`.
|
|
3150
|
+
*
|
|
3151
|
+
* @example
|
|
3152
|
+
* ```ts
|
|
3153
|
+
* import { Effect, Stream } from "effect"
|
|
3154
|
+
*
|
|
3155
|
+
* const stream = Stream.takeWhile(Stream.iterate(0, (n) => n + 1), (n) => n < 5)
|
|
3156
|
+
*
|
|
3157
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
3158
|
+
* // { _id: 'Chunk', values: [ 0, 1, 2, 3, 4 ] }
|
|
3159
|
+
* ```
|
|
3160
|
+
*
|
|
3161
|
+
* @since 2.0.0
|
|
3162
|
+
* @category utils
|
|
3163
|
+
*/
|
|
3164
|
+
export const takeWhile = internal.takeWhile;
|
|
3165
|
+
/**
|
|
3166
|
+
* Adds an effect to consumption of every element of the stream.
|
|
3167
|
+
*
|
|
3168
|
+
* @example
|
|
3169
|
+
* ```ts
|
|
3170
|
+
* import { Console, Effect, Stream } from "effect"
|
|
3171
|
+
*
|
|
3172
|
+
* const stream = Stream.make(1, 2, 3).pipe(
|
|
3173
|
+
* Stream.tap((n) => Console.log(`before mapping: ${n}`)),
|
|
3174
|
+
* Stream.map((n) => n * 2),
|
|
3175
|
+
* Stream.tap((n) => Console.log(`after mapping: ${n}`))
|
|
3176
|
+
* )
|
|
3177
|
+
*
|
|
3178
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
3179
|
+
* // before mapping: 1
|
|
3180
|
+
* // after mapping: 2
|
|
3181
|
+
* // before mapping: 2
|
|
3182
|
+
* // after mapping: 4
|
|
3183
|
+
* // before mapping: 3
|
|
3184
|
+
* // after mapping: 6
|
|
3185
|
+
* // { _id: 'Chunk', values: [ 2, 4, 6 ] }
|
|
3186
|
+
* ```
|
|
3187
|
+
*
|
|
3188
|
+
* @since 2.0.0
|
|
3189
|
+
* @category sequencing
|
|
3190
|
+
*/
|
|
3191
|
+
export const tap = internal.tap;
|
|
3192
|
+
/**
|
|
3193
|
+
* Returns a stream that effectfully "peeks" at the failure or success of
|
|
3194
|
+
* the stream.
|
|
3195
|
+
*
|
|
3196
|
+
* @since 2.0.0
|
|
3197
|
+
* @category sequencing
|
|
3198
|
+
*/
|
|
3199
|
+
export const tapBoth = internal.tapBoth;
|
|
3200
|
+
/**
|
|
3201
|
+
* Returns a stream that effectfully "peeks" at the failure of the stream.
|
|
3202
|
+
*
|
|
3203
|
+
* @since 2.0.0
|
|
3204
|
+
* @category sequencing
|
|
3205
|
+
*/
|
|
3206
|
+
export const tapError = internal.tapError;
|
|
3207
|
+
/**
|
|
3208
|
+
* Returns a stream that effectfully "peeks" at the cause of failure of the
|
|
3209
|
+
* stream.
|
|
3210
|
+
*
|
|
3211
|
+
* @since 2.0.0
|
|
3212
|
+
* @category utils
|
|
3213
|
+
*/
|
|
3214
|
+
export const tapErrorCause = internal.tapErrorCause;
|
|
3215
|
+
/**
|
|
3216
|
+
* Sends all elements emitted by this stream to the specified sink in addition
|
|
3217
|
+
* to emitting them.
|
|
3218
|
+
*
|
|
3219
|
+
* @since 2.0.0
|
|
3220
|
+
* @category sequencing
|
|
3221
|
+
*/
|
|
3222
|
+
export const tapSink = internal.tapSink;
|
|
3223
|
+
/**
|
|
3224
|
+
* Delays the chunks of this stream according to the given bandwidth
|
|
3225
|
+
* parameters using the token bucket algorithm. Allows for burst in the
|
|
3226
|
+
* processing of elements by allowing the token bucket to accumulate tokens up
|
|
3227
|
+
* to a `units + burst` threshold. The weight of each chunk is determined by
|
|
3228
|
+
* the `cost` function.
|
|
3229
|
+
*
|
|
3230
|
+
* If using the "enforce" strategy, chunks that do not meet the bandwidth
|
|
3231
|
+
* constraints are dropped. If using the "shape" strategy, chunks are delayed
|
|
3232
|
+
* until they can be emitted without exceeding the bandwidth constraints.
|
|
3233
|
+
*
|
|
3234
|
+
* Defaults to the "shape" strategy.
|
|
3235
|
+
*
|
|
3236
|
+
* @example
|
|
3237
|
+
* ```ts
|
|
3238
|
+
* import { Chunk, Effect, Schedule, Stream } from "effect"
|
|
3239
|
+
*
|
|
3240
|
+
* let last = Date.now()
|
|
3241
|
+
* const log = (message: string) =>
|
|
3242
|
+
* Effect.sync(() => {
|
|
3243
|
+
* const end = Date.now()
|
|
3244
|
+
* console.log(`${message} after ${end - last}ms`)
|
|
3245
|
+
* last = end
|
|
3246
|
+
* })
|
|
3247
|
+
*
|
|
3248
|
+
* const stream = Stream.fromSchedule(Schedule.spaced("50 millis")).pipe(
|
|
3249
|
+
* Stream.take(6),
|
|
3250
|
+
* Stream.tap((n) => log(`Received ${n}`)),
|
|
3251
|
+
* Stream.throttle({
|
|
3252
|
+
* cost: Chunk.size,
|
|
3253
|
+
* duration: "100 millis",
|
|
3254
|
+
* units: 1
|
|
3255
|
+
* }),
|
|
3256
|
+
* Stream.tap((n) => log(`> Emitted ${n}`))
|
|
3257
|
+
* )
|
|
3258
|
+
*
|
|
3259
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
3260
|
+
* // Received 0 after 56ms
|
|
3261
|
+
* // > Emitted 0 after 0ms
|
|
3262
|
+
* // Received 1 after 52ms
|
|
3263
|
+
* // > Emitted 1 after 48ms
|
|
3264
|
+
* // Received 2 after 52ms
|
|
3265
|
+
* // > Emitted 2 after 49ms
|
|
3266
|
+
* // Received 3 after 52ms
|
|
3267
|
+
* // > Emitted 3 after 48ms
|
|
3268
|
+
* // Received 4 after 52ms
|
|
3269
|
+
* // > Emitted 4 after 47ms
|
|
3270
|
+
* // Received 5 after 52ms
|
|
3271
|
+
* // > Emitted 5 after 49ms
|
|
3272
|
+
* // { _id: 'Chunk', values: [ 0, 1, 2, 3, 4, 5 ] }
|
|
3273
|
+
* ```
|
|
3274
|
+
*
|
|
3275
|
+
* @since 2.0.0
|
|
3276
|
+
* @category utils
|
|
3277
|
+
*/
|
|
3278
|
+
export const throttle = internal.throttle;
|
|
3279
|
+
/**
|
|
3280
|
+
* Delays the chunks of this stream according to the given bandwidth
|
|
3281
|
+
* parameters using the token bucket algorithm. Allows for burst in the
|
|
3282
|
+
* processing of elements by allowing the token bucket to accumulate tokens up
|
|
3283
|
+
* to a `units + burst` threshold. The weight of each chunk is determined by
|
|
3284
|
+
* the effectful `costFn` function.
|
|
3285
|
+
*
|
|
3286
|
+
* If using the "enforce" strategy, chunks that do not meet the bandwidth
|
|
3287
|
+
* constraints are dropped. If using the "shape" strategy, chunks are delayed
|
|
3288
|
+
* until they can be emitted without exceeding the bandwidth constraints.
|
|
3289
|
+
*
|
|
3290
|
+
* Defaults to the "shape" strategy.
|
|
3291
|
+
*
|
|
3292
|
+
* @since 2.0.0
|
|
3293
|
+
* @category utils
|
|
3294
|
+
*/
|
|
3295
|
+
export const throttleEffect = internal.throttleEffect;
|
|
3296
|
+
/**
|
|
3297
|
+
* A stream that emits void values spaced by the specified duration.
|
|
3298
|
+
*
|
|
3299
|
+
* @example
|
|
3300
|
+
* ```ts
|
|
3301
|
+
* import { Effect, Stream } from "effect"
|
|
3302
|
+
*
|
|
3303
|
+
* let last = Date.now()
|
|
3304
|
+
* const log = (message: string) =>
|
|
3305
|
+
* Effect.sync(() => {
|
|
3306
|
+
* const end = Date.now()
|
|
3307
|
+
* console.log(`${message} after ${end - last}ms`)
|
|
3308
|
+
* last = end
|
|
3309
|
+
* })
|
|
3310
|
+
*
|
|
3311
|
+
* const stream = Stream.tick("1 seconds").pipe(Stream.tap(() => log("tick")))
|
|
3312
|
+
*
|
|
3313
|
+
* Effect.runPromise(Stream.runCollect(stream.pipe(Stream.take(5)))).then(console.log)
|
|
3314
|
+
* // tick after 4ms
|
|
3315
|
+
* // tick after 1003ms
|
|
3316
|
+
* // tick after 1001ms
|
|
3317
|
+
* // tick after 1002ms
|
|
3318
|
+
* // tick after 1002ms
|
|
3319
|
+
* // { _id: 'Chunk', values: [ undefined, undefined, undefined, undefined, undefined ] }
|
|
3320
|
+
* ```
|
|
3321
|
+
*
|
|
3322
|
+
* @since 2.0.0
|
|
3323
|
+
* @category constructors
|
|
3324
|
+
*/
|
|
3325
|
+
export const tick = internal.tick;
|
|
3326
|
+
/**
|
|
3327
|
+
* Ends the stream if it does not produce a value after the specified duration.
|
|
3328
|
+
*
|
|
3329
|
+
* @since 2.0.0
|
|
3330
|
+
* @category utils
|
|
3331
|
+
*/
|
|
3332
|
+
export const timeout = internal.timeout;
|
|
3333
|
+
/**
|
|
3334
|
+
* Fails the stream with given error if it does not produce a value after d
|
|
3335
|
+
* duration.
|
|
3336
|
+
*
|
|
3337
|
+
* @since 2.0.0
|
|
3338
|
+
* @category utils
|
|
3339
|
+
*/
|
|
3340
|
+
export const timeoutFail = internal.timeoutFail;
|
|
3341
|
+
/**
|
|
3342
|
+
* Fails the stream with given cause if it does not produce a value after d
|
|
3343
|
+
* duration.
|
|
3344
|
+
*
|
|
3345
|
+
* @since 2.0.0
|
|
3346
|
+
* @category utils
|
|
3347
|
+
*/
|
|
3348
|
+
export const timeoutFailCause = internal.timeoutFailCause;
|
|
3349
|
+
/**
|
|
3350
|
+
* Switches the stream if it does not produce a value after the specified
|
|
3351
|
+
* duration.
|
|
3352
|
+
*
|
|
3353
|
+
* @since 2.0.0
|
|
3354
|
+
* @category utils
|
|
3355
|
+
*/
|
|
3356
|
+
export const timeoutTo = internal.timeoutTo;
|
|
3357
|
+
/**
|
|
3358
|
+
* Converts the stream to a scoped `PubSub` of chunks. After the scope is closed,
|
|
3359
|
+
* the `PubSub` will never again produce values and should be discarded.
|
|
3360
|
+
*
|
|
3361
|
+
* @since 2.0.0
|
|
3362
|
+
* @category destructors
|
|
3363
|
+
*/
|
|
3364
|
+
export const toPubSub = internal.toPubSub;
|
|
3365
|
+
/**
|
|
3366
|
+
* Returns in a scope an Effect that can be used to repeatedly pull chunks
|
|
3367
|
+
* from the stream. The pull effect fails with None when the stream is
|
|
3368
|
+
* finished, or with Some error if it fails, otherwise it returns a chunk of
|
|
3369
|
+
* the stream's output.
|
|
3370
|
+
*
|
|
3371
|
+
* @example
|
|
3372
|
+
* ```ts
|
|
3373
|
+
* import { Effect, Stream } from "effect"
|
|
3374
|
+
*
|
|
3375
|
+
* // Simulate a chunked stream
|
|
3376
|
+
* const stream = Stream.fromIterable([1, 2, 3, 4, 5]).pipe(Stream.rechunk(2))
|
|
3377
|
+
*
|
|
3378
|
+
* const program = Effect.gen(function*() {
|
|
3379
|
+
* // Create an effect to get data chunks from the stream
|
|
3380
|
+
* const getChunk = yield* Stream.toPull(stream)
|
|
3381
|
+
*
|
|
3382
|
+
* // Continuously fetch and process chunks
|
|
3383
|
+
* while (true) {
|
|
3384
|
+
* const chunk = yield* getChunk
|
|
3385
|
+
* console.log(chunk)
|
|
3386
|
+
* }
|
|
3387
|
+
* })
|
|
3388
|
+
*
|
|
3389
|
+
* Effect.runPromise(Effect.scoped(program)).then(console.log, console.error)
|
|
3390
|
+
* // { _id: 'Chunk', values: [ 1, 2 ] }
|
|
3391
|
+
* // { _id: 'Chunk', values: [ 3, 4 ] }
|
|
3392
|
+
* // { _id: 'Chunk', values: [ 5 ] }
|
|
3393
|
+
* // (FiberFailure) Error: {
|
|
3394
|
+
* // "_id": "Option",
|
|
3395
|
+
* // "_tag": "None"
|
|
3396
|
+
* // }
|
|
3397
|
+
* ```
|
|
3398
|
+
*
|
|
3399
|
+
* @since 2.0.0
|
|
3400
|
+
* @category destructors
|
|
3401
|
+
*/
|
|
3402
|
+
export const toPull = internal.toPull;
|
|
3403
|
+
/**
|
|
3404
|
+
* Converts the stream to a scoped queue of chunks. After the scope is closed,
|
|
3405
|
+
* the queue will never again produce values and should be discarded.
|
|
3406
|
+
*
|
|
3407
|
+
* Defaults to the "suspend" back pressure strategy with a capacity of 2.
|
|
3408
|
+
*
|
|
3409
|
+
* @since 2.0.0
|
|
3410
|
+
* @category destructors
|
|
3411
|
+
*/
|
|
3412
|
+
export const toQueue = internal.toQueue;
|
|
3413
|
+
/**
|
|
3414
|
+
* Converts the stream to a scoped queue of elements. After the scope is
|
|
3415
|
+
* closed, the queue will never again produce values and should be discarded.
|
|
3416
|
+
*
|
|
3417
|
+
* Defaults to a capacity of 2.
|
|
3418
|
+
*
|
|
3419
|
+
* @since 2.0.0
|
|
3420
|
+
* @category destructors
|
|
3421
|
+
*/
|
|
3422
|
+
export const toQueueOfElements = internal.toQueueOfElements;
|
|
3423
|
+
/**
|
|
3424
|
+
* Converts the stream to a `ReadableStream`.
|
|
3425
|
+
*
|
|
3426
|
+
* See https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream.
|
|
3427
|
+
*
|
|
3428
|
+
* @since 2.0.0
|
|
3429
|
+
* @category destructors
|
|
3430
|
+
*/
|
|
3431
|
+
export const toReadableStream = internal.toReadableStream;
|
|
3432
|
+
/**
|
|
3433
|
+
* Converts the stream to a `Effect<ReadableStream>`.
|
|
3434
|
+
*
|
|
3435
|
+
* See https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream.
|
|
3436
|
+
*
|
|
3437
|
+
* @since 2.0.0
|
|
3438
|
+
* @category destructors
|
|
3439
|
+
*/
|
|
3440
|
+
export const toReadableStreamEffect = internal.toReadableStreamEffect;
|
|
3441
|
+
/**
|
|
3442
|
+
* Converts the stream to a `ReadableStream` using the provided runtime.
|
|
3443
|
+
*
|
|
3444
|
+
* See https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream.
|
|
3445
|
+
*
|
|
3446
|
+
* @since 2.0.0
|
|
3447
|
+
* @category destructors
|
|
3448
|
+
*/
|
|
3449
|
+
export const toReadableStreamRuntime = internal.toReadableStreamRuntime;
|
|
3450
|
+
/**
|
|
3451
|
+
* Converts the stream to a `AsyncIterable` using the provided runtime.
|
|
3452
|
+
*
|
|
3453
|
+
* @since 3.15.0
|
|
3454
|
+
* @category destructors
|
|
3455
|
+
*/
|
|
3456
|
+
export const toAsyncIterableRuntime = internal.toAsyncIterableRuntime;
|
|
3457
|
+
/**
|
|
3458
|
+
* Converts the stream to a `AsyncIterable` capturing the required dependencies.
|
|
3459
|
+
*
|
|
3460
|
+
* @since 3.15.0
|
|
3461
|
+
* @category destructors
|
|
3462
|
+
*/
|
|
3463
|
+
export const toAsyncIterableEffect = internal.toAsyncIterableEffect;
|
|
3464
|
+
/**
|
|
3465
|
+
* Converts the stream to a `AsyncIterable`.
|
|
3466
|
+
*
|
|
3467
|
+
* @since 3.15.0
|
|
3468
|
+
* @category destructors
|
|
3469
|
+
*/
|
|
3470
|
+
export const toAsyncIterable = internal.toAsyncIterable;
|
|
3471
|
+
/**
|
|
3472
|
+
* Applies the transducer to the stream and emits its outputs.
|
|
3473
|
+
*
|
|
3474
|
+
* @since 2.0.0
|
|
3475
|
+
* @category utils
|
|
3476
|
+
*/
|
|
3477
|
+
export const transduce = internal.transduce;
|
|
3478
|
+
/**
|
|
3479
|
+
* Creates a stream by peeling off the "layers" of a value of type `S`.
|
|
3480
|
+
*
|
|
3481
|
+
* @example
|
|
3482
|
+
* ```ts
|
|
3483
|
+
* import { Effect, Option, Stream } from "effect"
|
|
3484
|
+
*
|
|
3485
|
+
* const stream = Stream.unfold(1, (n) => Option.some([n, n + 1]))
|
|
3486
|
+
*
|
|
3487
|
+
* Effect.runPromise(Stream.runCollect(stream.pipe(Stream.take(5)))).then(console.log)
|
|
3488
|
+
* // { _id: 'Chunk', values: [ 1, 2, 3, 4, 5 ] }
|
|
3489
|
+
* ```
|
|
3490
|
+
*
|
|
3491
|
+
* @since 2.0.0
|
|
3492
|
+
* @category constructors
|
|
3493
|
+
*/
|
|
3494
|
+
export const unfold = internal.unfold;
|
|
3495
|
+
/**
|
|
3496
|
+
* Creates a stream by peeling off the "layers" of a value of type `S`.
|
|
3497
|
+
*
|
|
3498
|
+
* @since 2.0.0
|
|
3499
|
+
* @category constructors
|
|
3500
|
+
*/
|
|
3501
|
+
export const unfoldChunk = internal.unfoldChunk;
|
|
3502
|
+
/**
|
|
3503
|
+
* Creates a stream by effectfully peeling off the "layers" of a value of type
|
|
3504
|
+
* `S`.
|
|
3505
|
+
*
|
|
3506
|
+
* @since 2.0.0
|
|
3507
|
+
* @category constructors
|
|
3508
|
+
*/
|
|
3509
|
+
export const unfoldChunkEffect = internal.unfoldChunkEffect;
|
|
3510
|
+
/**
|
|
3511
|
+
* Creates a stream by effectfully peeling off the "layers" of a value of type
|
|
3512
|
+
* `S`.
|
|
3513
|
+
*
|
|
3514
|
+
* @example
|
|
3515
|
+
* ```ts
|
|
3516
|
+
* import { Effect, Option, Random, Stream } from "effect"
|
|
3517
|
+
*
|
|
3518
|
+
* const stream = Stream.unfoldEffect(1, (n) =>
|
|
3519
|
+
* Random.nextBoolean.pipe(
|
|
3520
|
+
* Effect.map((b) => (b ? Option.some([n, -n]) : Option.some([n, n])))
|
|
3521
|
+
* ))
|
|
3522
|
+
*
|
|
3523
|
+
* Effect.runPromise(Stream.runCollect(stream.pipe(Stream.take(5)))).then(console.log)
|
|
3524
|
+
* // { _id: 'Chunk', values: [ 1, -1, -1, -1, -1 ] }
|
|
3525
|
+
* ```
|
|
3526
|
+
*
|
|
3527
|
+
* @since 2.0.0
|
|
3528
|
+
* @category constructors
|
|
3529
|
+
*/
|
|
3530
|
+
export const unfoldEffect = internal.unfoldEffect;
|
|
3531
|
+
const void_ = internal.void;
|
|
3532
|
+
export {
|
|
3533
|
+
/**
|
|
3534
|
+
* A stream that contains a single `void` value.
|
|
3535
|
+
*
|
|
3536
|
+
* @example
|
|
3537
|
+
* ```ts
|
|
3538
|
+
* import { Effect, Stream } from "effect"
|
|
3539
|
+
*
|
|
3540
|
+
* const stream = Stream.void
|
|
3541
|
+
*
|
|
3542
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
3543
|
+
* // { _id: 'Chunk', values: [ undefined ] }
|
|
3544
|
+
*
|
|
3545
|
+
* ```
|
|
3546
|
+
* @since 2.0.0
|
|
3547
|
+
* @category constructors
|
|
3548
|
+
*/
|
|
3549
|
+
void_ as void };
|
|
3550
|
+
/**
|
|
3551
|
+
* Creates a stream produced from an `Effect`.
|
|
3552
|
+
*
|
|
3553
|
+
* @since 2.0.0
|
|
3554
|
+
* @category constructors
|
|
3555
|
+
*/
|
|
3556
|
+
export const unwrap = internal.unwrap;
|
|
3557
|
+
/**
|
|
3558
|
+
* Creates a stream produced from a scoped `Effect`.
|
|
3559
|
+
*
|
|
3560
|
+
* @since 2.0.0
|
|
3561
|
+
* @category constructors
|
|
3562
|
+
*/
|
|
3563
|
+
export const unwrapScoped = internal.unwrapScoped;
|
|
3564
|
+
/**
|
|
3565
|
+
* Creates a stream produced from a function which receives a `Scope` and
|
|
3566
|
+
* returns an `Effect`. The resulting stream will emit a single element, which
|
|
3567
|
+
* will be the result of the returned effect, if successful.
|
|
3568
|
+
*
|
|
3569
|
+
* @since 3.11.0
|
|
3570
|
+
* @category constructors
|
|
3571
|
+
*/
|
|
3572
|
+
export const unwrapScopedWith = internal.unwrapScopedWith;
|
|
3573
|
+
/**
|
|
3574
|
+
* Updates the specified service within the context of the `Stream`.
|
|
3575
|
+
*
|
|
3576
|
+
* @since 2.0.0
|
|
3577
|
+
* @category context
|
|
3578
|
+
*/
|
|
3579
|
+
export const updateService = internal.updateService;
|
|
3580
|
+
/**
|
|
3581
|
+
* Returns the specified stream if the given condition is satisfied, otherwise
|
|
3582
|
+
* returns an empty stream.
|
|
3583
|
+
*
|
|
3584
|
+
* @since 2.0.0
|
|
3585
|
+
* @category utils
|
|
3586
|
+
*/
|
|
3587
|
+
export const when = internal.when;
|
|
3588
|
+
/**
|
|
3589
|
+
* Returns the resulting stream when the given `PartialFunction` is defined
|
|
3590
|
+
* for the given value, otherwise returns an empty stream.
|
|
3591
|
+
*
|
|
3592
|
+
* @since 2.0.0
|
|
3593
|
+
* @category constructors
|
|
3594
|
+
*/
|
|
3595
|
+
export const whenCase = internal.whenCase;
|
|
3596
|
+
/**
|
|
3597
|
+
* Returns the stream when the given partial function is defined for the given
|
|
3598
|
+
* effectful value, otherwise returns an empty stream.
|
|
3599
|
+
*
|
|
3600
|
+
* @since 2.0.0
|
|
3601
|
+
* @category utils
|
|
3602
|
+
*/
|
|
3603
|
+
export const whenCaseEffect = internal.whenCaseEffect;
|
|
3604
|
+
/**
|
|
3605
|
+
* Returns the stream if the given effectful condition is satisfied, otherwise
|
|
3606
|
+
* returns an empty stream.
|
|
3607
|
+
*
|
|
3608
|
+
* @since 2.0.0
|
|
3609
|
+
* @category utils
|
|
3610
|
+
*/
|
|
3611
|
+
export const whenEffect = internal.whenEffect;
|
|
3612
|
+
/**
|
|
3613
|
+
* Wraps the stream with a new span for tracing.
|
|
3614
|
+
*
|
|
3615
|
+
* @since 2.0.0
|
|
3616
|
+
* @category tracing
|
|
3617
|
+
*/
|
|
3618
|
+
export const withSpan = internal.withSpan;
|
|
3619
|
+
/**
|
|
3620
|
+
* Zips this stream with another point-wise and emits tuples of elements from
|
|
3621
|
+
* both streams.
|
|
3622
|
+
*
|
|
3623
|
+
* The new stream will end when one of the sides ends.
|
|
3624
|
+
*
|
|
3625
|
+
* @example
|
|
3626
|
+
* ```ts
|
|
3627
|
+
* import { Effect, Stream } from "effect"
|
|
3628
|
+
*
|
|
3629
|
+
* // We create two streams and zip them together.
|
|
3630
|
+
* const stream = Stream.zip(
|
|
3631
|
+
* Stream.make(1, 2, 3, 4, 5, 6),
|
|
3632
|
+
* Stream.make("a", "b", "c")
|
|
3633
|
+
* )
|
|
3634
|
+
*
|
|
3635
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
3636
|
+
* // { _id: 'Chunk', values: [ [ 1, 'a' ], [ 2, 'b' ], [ 3, 'c' ] ] }
|
|
3637
|
+
* ```
|
|
3638
|
+
*
|
|
3639
|
+
* @since 2.0.0
|
|
3640
|
+
* @category zipping
|
|
3641
|
+
*/
|
|
3642
|
+
export const zip = internal.zip;
|
|
3643
|
+
/**
|
|
3644
|
+
* Zips this stream with another point-wise and emits tuples of elements from
|
|
3645
|
+
* both streams.
|
|
3646
|
+
*
|
|
3647
|
+
* The new stream will end when one of the sides ends.
|
|
3648
|
+
*
|
|
3649
|
+
* @since 2.0.0
|
|
3650
|
+
* @category zipping
|
|
3651
|
+
*/
|
|
3652
|
+
export const zipFlatten = internal.zipFlatten;
|
|
3653
|
+
/**
|
|
3654
|
+
* Zips this stream with another point-wise, creating a new stream of pairs of
|
|
3655
|
+
* elements from both sides.
|
|
3656
|
+
*
|
|
3657
|
+
* The defaults `defaultLeft` and `defaultRight` will be used if the streams
|
|
3658
|
+
* have different lengths and one of the streams has ended before the other.
|
|
3659
|
+
*
|
|
3660
|
+
* @example
|
|
3661
|
+
* ```ts
|
|
3662
|
+
* import { Effect, Stream } from "effect"
|
|
3663
|
+
*
|
|
3664
|
+
* const stream = Stream.zipAll(Stream.make(1, 2, 3, 4, 5, 6), {
|
|
3665
|
+
* other: Stream.make("a", "b", "c"),
|
|
3666
|
+
* defaultSelf: 0,
|
|
3667
|
+
* defaultOther: "x"
|
|
3668
|
+
* })
|
|
3669
|
+
*
|
|
3670
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
3671
|
+
* // { _id: "Chunk", values: [ [ 1, "a" ], [ 2, "b" ], [ 3, "c" ], [ 4, "x" ], [ 5, "x" ], [ 6, "x" ] ] }
|
|
3672
|
+
* ```
|
|
3673
|
+
*
|
|
3674
|
+
* @since 2.0.0
|
|
3675
|
+
* @category zipping
|
|
3676
|
+
*/
|
|
3677
|
+
export const zipAll = internal.zipAll;
|
|
3678
|
+
/**
|
|
3679
|
+
* Zips this stream with another point-wise, and keeps only elements from this
|
|
3680
|
+
* stream.
|
|
3681
|
+
*
|
|
3682
|
+
* The provided default value will be used if the other stream ends before
|
|
3683
|
+
* this one.
|
|
3684
|
+
*
|
|
3685
|
+
* @since 2.0.0
|
|
3686
|
+
* @category zipping
|
|
3687
|
+
*/
|
|
3688
|
+
export const zipAllLeft = internal.zipAllLeft;
|
|
3689
|
+
/**
|
|
3690
|
+
* Zips this stream with another point-wise, and keeps only elements from the
|
|
3691
|
+
* other stream.
|
|
3692
|
+
*
|
|
3693
|
+
* The provided default value will be used if this stream ends before the
|
|
3694
|
+
* other one.
|
|
3695
|
+
*
|
|
3696
|
+
* @since 2.0.0
|
|
3697
|
+
* @category zipping
|
|
3698
|
+
*/
|
|
3699
|
+
export const zipAllRight = internal.zipAllRight;
|
|
3700
|
+
/**
|
|
3701
|
+
* Zips this stream that is sorted by distinct keys and the specified stream
|
|
3702
|
+
* that is sorted by distinct keys to produce a new stream that is sorted by
|
|
3703
|
+
* distinct keys. Combines values associated with each key into a tuple,
|
|
3704
|
+
* using the specified values `defaultLeft` and `defaultRight` to fill in
|
|
3705
|
+
* missing values.
|
|
3706
|
+
*
|
|
3707
|
+
* This allows zipping potentially unbounded streams of data by key in
|
|
3708
|
+
* constant space but the caller is responsible for ensuring that the
|
|
3709
|
+
* streams are sorted by distinct keys.
|
|
3710
|
+
*
|
|
3711
|
+
* @since 2.0.0
|
|
3712
|
+
* @category zipping
|
|
3713
|
+
*/
|
|
3714
|
+
export const zipAllSortedByKey = internal.zipAllSortedByKey;
|
|
3715
|
+
/**
|
|
3716
|
+
* Zips this stream that is sorted by distinct keys and the specified stream
|
|
3717
|
+
* that is sorted by distinct keys to produce a new stream that is sorted by
|
|
3718
|
+
* distinct keys. Keeps only values from this stream, using the specified
|
|
3719
|
+
* value `default` to fill in missing values.
|
|
3720
|
+
*
|
|
3721
|
+
* This allows zipping potentially unbounded streams of data by key in
|
|
3722
|
+
* constant space but the caller is responsible for ensuring that the
|
|
3723
|
+
* streams are sorted by distinct keys.
|
|
3724
|
+
*
|
|
3725
|
+
* @since 2.0.0
|
|
3726
|
+
* @category zipping
|
|
3727
|
+
*/
|
|
3728
|
+
export const zipAllSortedByKeyLeft = internal.zipAllSortedByKeyLeft;
|
|
3729
|
+
/**
|
|
3730
|
+
* Zips this stream that is sorted by distinct keys and the specified stream
|
|
3731
|
+
* that is sorted by distinct keys to produce a new stream that is sorted by
|
|
3732
|
+
* distinct keys. Keeps only values from that stream, using the specified
|
|
3733
|
+
* value `default` to fill in missing values.
|
|
3734
|
+
*
|
|
3735
|
+
* This allows zipping potentially unbounded streams of data by key in
|
|
3736
|
+
* constant space but the caller is responsible for ensuring that the
|
|
3737
|
+
* streams are sorted by distinct keys.
|
|
3738
|
+
*
|
|
3739
|
+
* @since 2.0.0
|
|
3740
|
+
* @category zipping
|
|
3741
|
+
*/
|
|
3742
|
+
export const zipAllSortedByKeyRight = internal.zipAllSortedByKeyRight;
|
|
3743
|
+
/**
|
|
3744
|
+
* Zips this stream that is sorted by distinct keys and the specified stream
|
|
3745
|
+
* that is sorted by distinct keys to produce a new stream that is sorted by
|
|
3746
|
+
* distinct keys. Uses the functions `left`, `right`, and `both` to handle
|
|
3747
|
+
* the cases where a key and value exist in this stream, that stream, or
|
|
3748
|
+
* both streams.
|
|
3749
|
+
*
|
|
3750
|
+
* This allows zipping potentially unbounded streams of data by key in
|
|
3751
|
+
* constant space but the caller is responsible for ensuring that the
|
|
3752
|
+
* streams are sorted by distinct keys.
|
|
3753
|
+
*
|
|
3754
|
+
* @since 2.0.0
|
|
3755
|
+
* @category zipping
|
|
3756
|
+
*/
|
|
3757
|
+
export const zipAllSortedByKeyWith = internal.zipAllSortedByKeyWith;
|
|
3758
|
+
/**
|
|
3759
|
+
* Zips this stream with another point-wise. The provided functions will be
|
|
3760
|
+
* used to create elements for the composed stream.
|
|
3761
|
+
*
|
|
3762
|
+
* The functions `left` and `right` will be used if the streams have different
|
|
3763
|
+
* lengths and one of the streams has ended before the other.
|
|
3764
|
+
*
|
|
3765
|
+
* @example
|
|
3766
|
+
* ```ts
|
|
3767
|
+
* import { Effect, Stream } from "effect"
|
|
3768
|
+
*
|
|
3769
|
+
* const stream = Stream.zipAllWith(Stream.make(1, 2, 3, 4, 5, 6), {
|
|
3770
|
+
* other: Stream.make("a", "b", "c"),
|
|
3771
|
+
* onSelf: (n) => [n, "x"],
|
|
3772
|
+
* onOther: (s) => [0, s],
|
|
3773
|
+
* onBoth: (n, s) => [n - s.length, s]
|
|
3774
|
+
* })
|
|
3775
|
+
*
|
|
3776
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
3777
|
+
* // { _id: "Chunk", values: [ [ 0, "a" ], [ 1, "b" ], [ 2, "c" ], [ 4, "x" ], [ 5, "x" ], [ 6, "x" ] ] }
|
|
3778
|
+
* ```
|
|
3779
|
+
*
|
|
3780
|
+
* @since 2.0.0
|
|
3781
|
+
* @category zipping
|
|
3782
|
+
*/
|
|
3783
|
+
export const zipAllWith = internal.zipAllWith;
|
|
3784
|
+
/**
|
|
3785
|
+
* Zips the two streams so that when a value is emitted by either of the two
|
|
3786
|
+
* streams, it is combined with the latest value from the other stream to
|
|
3787
|
+
* produce a result.
|
|
3788
|
+
*
|
|
3789
|
+
* Note: tracking the latest value is done on a per-chunk basis. That means
|
|
3790
|
+
* that emitted elements that are not the last value in chunks will never be
|
|
3791
|
+
* used for zipping.
|
|
3792
|
+
*
|
|
3793
|
+
* @example
|
|
3794
|
+
* ```ts
|
|
3795
|
+
* import { Effect, Schedule, Stream } from "effect"
|
|
3796
|
+
*
|
|
3797
|
+
* const s1 = Stream.make(1, 2, 3).pipe(
|
|
3798
|
+
* Stream.schedule(Schedule.spaced("1 second"))
|
|
3799
|
+
* )
|
|
3800
|
+
*
|
|
3801
|
+
* const s2 = Stream.make("a", "b", "c", "d").pipe(
|
|
3802
|
+
* Stream.schedule(Schedule.spaced("500 millis"))
|
|
3803
|
+
* )
|
|
3804
|
+
*
|
|
3805
|
+
* const stream = Stream.zipLatest(s1, s2)
|
|
3806
|
+
*
|
|
3807
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
3808
|
+
* // { _id: "Chunk", values: [ [ 1, "a" ], [ 1, "b" ], [ 2, "b" ], [ 2, "c" ], [ 2, "d" ], [ 3, "d" ] ] }
|
|
3809
|
+
* ```
|
|
3810
|
+
*
|
|
3811
|
+
* @since 2.0.0
|
|
3812
|
+
* @category zipping
|
|
3813
|
+
*/
|
|
3814
|
+
export const zipLatest = internal.zipLatest;
|
|
3815
|
+
/**
|
|
3816
|
+
* Zips multiple streams so that when a value is emitted by any of the streams,
|
|
3817
|
+
* it is combined with the latest values from the other streams to produce a result.
|
|
3818
|
+
*
|
|
3819
|
+
* Note: tracking the latest value is done on a per-chunk basis. That means
|
|
3820
|
+
* that emitted elements that are not the last value in chunks will never be
|
|
3821
|
+
* used for zipping.
|
|
3822
|
+
*
|
|
3823
|
+
* @example
|
|
3824
|
+
* ```ts
|
|
3825
|
+
* import { Stream, Schedule, Console, Effect } from "effect"
|
|
3826
|
+
*
|
|
3827
|
+
* const stream = Stream.zipLatestAll(
|
|
3828
|
+
* Stream.fromSchedule(Schedule.spaced('1 millis')),
|
|
3829
|
+
* Stream.fromSchedule(Schedule.spaced('2 millis')),
|
|
3830
|
+
* Stream.fromSchedule(Schedule.spaced('4 millis')),
|
|
3831
|
+
* ).pipe(Stream.take(6), Stream.tap(Console.log))
|
|
3832
|
+
*
|
|
3833
|
+
* Effect.runPromise(Stream.runDrain(stream))
|
|
3834
|
+
* // Output:
|
|
3835
|
+
* // [ 0, 0, 0 ]
|
|
3836
|
+
* // [ 1, 0, 0 ]
|
|
3837
|
+
* // [ 1, 1, 0 ]
|
|
3838
|
+
* // [ 2, 1, 0 ]
|
|
3839
|
+
* // [ 3, 1, 0 ]
|
|
3840
|
+
* // [ 3, 1, 1 ]
|
|
3841
|
+
* // .....
|
|
3842
|
+
* ```
|
|
3843
|
+
*
|
|
3844
|
+
* @since 3.3.0
|
|
3845
|
+
* @category zipping
|
|
3846
|
+
*/
|
|
3847
|
+
export const zipLatestAll = internal.zipLatestAll;
|
|
3848
|
+
/**
|
|
3849
|
+
* Zips the two streams so that when a value is emitted by either of the two
|
|
3850
|
+
* streams, it is combined with the latest value from the other stream to
|
|
3851
|
+
* produce a result.
|
|
3852
|
+
*
|
|
3853
|
+
* Note: tracking the latest value is done on a per-chunk basis. That means
|
|
3854
|
+
* that emitted elements that are not the last value in chunks will never be
|
|
3855
|
+
* used for zipping.
|
|
3856
|
+
*
|
|
3857
|
+
* @since 2.0.0
|
|
3858
|
+
* @category zipping
|
|
3859
|
+
*/
|
|
3860
|
+
export const zipLatestWith = internal.zipLatestWith;
|
|
3861
|
+
/**
|
|
3862
|
+
* Zips this stream with another point-wise, but keeps only the outputs of
|
|
3863
|
+
* `left` stream.
|
|
3864
|
+
*
|
|
3865
|
+
* The new stream will end when one of the sides ends.
|
|
3866
|
+
*
|
|
3867
|
+
* @since 2.0.0
|
|
3868
|
+
* @category zipping
|
|
3869
|
+
*/
|
|
3870
|
+
export const zipLeft = internal.zipLeft;
|
|
3871
|
+
/**
|
|
3872
|
+
* Zips this stream with another point-wise, but keeps only the outputs of the
|
|
3873
|
+
* `right` stream.
|
|
3874
|
+
*
|
|
3875
|
+
* The new stream will end when one of the sides ends.
|
|
3876
|
+
*
|
|
3877
|
+
* @since 2.0.0
|
|
3878
|
+
* @category zipping
|
|
3879
|
+
*/
|
|
3880
|
+
export const zipRight = internal.zipRight;
|
|
3881
|
+
/**
|
|
3882
|
+
* Zips this stream with another point-wise and applies the function to the
|
|
3883
|
+
* paired elements.
|
|
3884
|
+
*
|
|
3885
|
+
* The new stream will end when one of the sides ends.
|
|
3886
|
+
*
|
|
3887
|
+
* @example
|
|
3888
|
+
* ```ts
|
|
3889
|
+
* import { Effect, Stream } from "effect"
|
|
3890
|
+
*
|
|
3891
|
+
* // We create two streams and zip them with custom logic.
|
|
3892
|
+
* const stream = Stream.zipWith(
|
|
3893
|
+
* Stream.make(1, 2, 3, 4, 5, 6),
|
|
3894
|
+
* Stream.make("a", "b", "c"),
|
|
3895
|
+
* (n, s) => [n - s.length, s]
|
|
3896
|
+
* )
|
|
3897
|
+
*
|
|
3898
|
+
* Effect.runPromise(Stream.runCollect(stream)).then(console.log)
|
|
3899
|
+
* // { _id: 'Chunk', values: [ [ 0, 'a' ], [ 1, 'b' ], [ 2, 'c' ] ] }
|
|
3900
|
+
* ```
|
|
3901
|
+
*
|
|
3902
|
+
* @since 2.0.0
|
|
3903
|
+
* @category zipping
|
|
3904
|
+
*/
|
|
3905
|
+
export const zipWith = internal.zipWith;
|
|
3906
|
+
/**
|
|
3907
|
+
* Zips this stream with another point-wise and applies the function to the
|
|
3908
|
+
* paired elements.
|
|
3909
|
+
*
|
|
3910
|
+
* The new stream will end when one of the sides ends.
|
|
3911
|
+
*
|
|
3912
|
+
* @since 2.0.0
|
|
3913
|
+
* @category zipping
|
|
3914
|
+
*/
|
|
3915
|
+
export const zipWithChunks = internal.zipWithChunks;
|
|
3916
|
+
/**
|
|
3917
|
+
* Zips each element with the next element if present.
|
|
3918
|
+
*
|
|
3919
|
+
* @example
|
|
3920
|
+
* ```ts
|
|
3921
|
+
* import { Chunk, Effect, Stream } from "effect"
|
|
3922
|
+
*
|
|
3923
|
+
* const stream = Stream.zipWithNext(Stream.make(1, 2, 3, 4))
|
|
3924
|
+
*
|
|
3925
|
+
* Effect.runPromise(Stream.runCollect(stream)).then((chunk) => console.log(Chunk.toArray(chunk)))
|
|
3926
|
+
* // [
|
|
3927
|
+
* // [ 1, { _id: 'Option', _tag: 'Some', value: 2 } ],
|
|
3928
|
+
* // [ 2, { _id: 'Option', _tag: 'Some', value: 3 } ],
|
|
3929
|
+
* // [ 3, { _id: 'Option', _tag: 'Some', value: 4 } ],
|
|
3930
|
+
* // [ 4, { _id: 'Option', _tag: 'None' } ]
|
|
3931
|
+
* // ]
|
|
3932
|
+
* ```
|
|
3933
|
+
*
|
|
3934
|
+
* @since 2.0.0
|
|
3935
|
+
* @category zipping
|
|
3936
|
+
*/
|
|
3937
|
+
export const zipWithNext = internal.zipWithNext;
|
|
3938
|
+
/**
|
|
3939
|
+
* Zips each element with the previous element. Initially accompanied by
|
|
3940
|
+
* `None`.
|
|
3941
|
+
*
|
|
3942
|
+
* @example
|
|
3943
|
+
* ```ts
|
|
3944
|
+
* import { Chunk, Effect, Stream } from "effect"
|
|
3945
|
+
*
|
|
3946
|
+
* const stream = Stream.zipWithPrevious(Stream.make(1, 2, 3, 4))
|
|
3947
|
+
*
|
|
3948
|
+
* Effect.runPromise(Stream.runCollect(stream)).then((chunk) => console.log(Chunk.toArray(chunk)))
|
|
3949
|
+
* // [
|
|
3950
|
+
* // [ { _id: 'Option', _tag: 'None' }, 1 ],
|
|
3951
|
+
* // [ { _id: 'Option', _tag: 'Some', value: 1 }, 2 ],
|
|
3952
|
+
* // [ { _id: 'Option', _tag: 'Some', value: 2 }, 3 ],
|
|
3953
|
+
* // [ { _id: 'Option', _tag: 'Some', value: 3 }, 4 ]
|
|
3954
|
+
* // ]
|
|
3955
|
+
* ```
|
|
3956
|
+
*
|
|
3957
|
+
* @since 2.0.0
|
|
3958
|
+
* @category zipping
|
|
3959
|
+
*/
|
|
3960
|
+
export const zipWithPrevious = internal.zipWithPrevious;
|
|
3961
|
+
/**
|
|
3962
|
+
* Zips each element with both the previous and next element.
|
|
3963
|
+
*
|
|
3964
|
+
* @example
|
|
3965
|
+
* ```ts
|
|
3966
|
+
* import { Chunk, Effect, Stream } from "effect"
|
|
3967
|
+
*
|
|
3968
|
+
* const stream = Stream.zipWithPreviousAndNext(Stream.make(1, 2, 3, 4))
|
|
3969
|
+
*
|
|
3970
|
+
* Effect.runPromise(Stream.runCollect(stream)).then((chunk) => console.log(Chunk.toArray(chunk)))
|
|
3971
|
+
* // [
|
|
3972
|
+
* // [
|
|
3973
|
+
* // { _id: 'Option', _tag: 'None' },
|
|
3974
|
+
* // 1,
|
|
3975
|
+
* // { _id: 'Option', _tag: 'Some', value: 2 }
|
|
3976
|
+
* // ],
|
|
3977
|
+
* // [
|
|
3978
|
+
* // { _id: 'Option', _tag: 'Some', value: 1 },
|
|
3979
|
+
* // 2,
|
|
3980
|
+
* // { _id: 'Option', _tag: 'Some', value: 3 }
|
|
3981
|
+
* // ],
|
|
3982
|
+
* // [
|
|
3983
|
+
* // { _id: 'Option', _tag: 'Some', value: 2 },
|
|
3984
|
+
* // 3,
|
|
3985
|
+
* // { _id: 'Option', _tag: 'Some', value: 4 }
|
|
3986
|
+
* // ],
|
|
3987
|
+
* // [
|
|
3988
|
+
* // { _id: 'Option', _tag: 'Some', value: 3 },
|
|
3989
|
+
* // 4,
|
|
3990
|
+
* // { _id: 'Option', _tag: 'None' }
|
|
3991
|
+
* // ]
|
|
3992
|
+
* // ]
|
|
3993
|
+
* ```
|
|
3994
|
+
*
|
|
3995
|
+
* @since 2.0.0
|
|
3996
|
+
* @category zipping
|
|
3997
|
+
*/
|
|
3998
|
+
export const zipWithPreviousAndNext = internal.zipWithPreviousAndNext;
|
|
3999
|
+
/**
|
|
4000
|
+
* Zips this stream together with the index of elements.
|
|
4001
|
+
*
|
|
4002
|
+
* @example
|
|
4003
|
+
* ```ts
|
|
4004
|
+
* import { Effect, Stream } from "effect"
|
|
4005
|
+
*
|
|
4006
|
+
* const stream = Stream.make("Mary", "James", "Robert", "Patricia")
|
|
4007
|
+
*
|
|
4008
|
+
* const indexedStream = Stream.zipWithIndex(stream)
|
|
4009
|
+
*
|
|
4010
|
+
* Effect.runPromise(Stream.runCollect(indexedStream)).then(console.log)
|
|
4011
|
+
* // {
|
|
4012
|
+
* // _id: 'Chunk',
|
|
4013
|
+
* // values: [ [ 'Mary', 0 ], [ 'James', 1 ], [ 'Robert', 2 ], [ 'Patricia', 3 ] ]
|
|
4014
|
+
* // }
|
|
4015
|
+
* ```
|
|
4016
|
+
*
|
|
4017
|
+
* @since 2.0.0
|
|
4018
|
+
* @category zipping
|
|
4019
|
+
*/
|
|
4020
|
+
export const zipWithIndex = internal.zipWithIndex;
|
|
4021
|
+
// -------------------------------------------------------------------------------------
|
|
4022
|
+
// do notation
|
|
4023
|
+
// -------------------------------------------------------------------------------------
|
|
4024
|
+
/**
|
|
4025
|
+
* The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
|
|
4026
|
+
*
|
|
4027
|
+
* Here's how the do simulation works:
|
|
4028
|
+
*
|
|
4029
|
+
* 1. Start the do simulation using the `Do` value
|
|
4030
|
+
* 2. Within the do simulation scope, you can use the `bind` function to define variables and bind them to `Stream` values
|
|
4031
|
+
* 3. You can accumulate multiple `bind` statements to define multiple variables within the scope
|
|
4032
|
+
* 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
|
|
4033
|
+
*
|
|
4034
|
+
* @example
|
|
4035
|
+
* ```ts
|
|
4036
|
+
* import * as assert from "node:assert"
|
|
4037
|
+
* import { Chunk, Effect, pipe, Stream } from "effect"
|
|
4038
|
+
*
|
|
4039
|
+
* const result = pipe(
|
|
4040
|
+
* Stream.Do,
|
|
4041
|
+
* Stream.bind("x", () => Stream.succeed(2)),
|
|
4042
|
+
* Stream.bind("y", () => Stream.succeed(3)),
|
|
4043
|
+
* Stream.let("sum", ({ x, y }) => x + y)
|
|
4044
|
+
* )
|
|
4045
|
+
* assert.deepStrictEqual(Effect.runSync(Stream.runCollect(result)), Chunk.of({ x: 2, y: 3, sum: 5 }))
|
|
4046
|
+
* ```
|
|
4047
|
+
*
|
|
4048
|
+
* @see {@link bindTo}
|
|
4049
|
+
* @see {@link bind}
|
|
4050
|
+
* @see {@link bindEffect}
|
|
4051
|
+
* @see {@link let_ let}
|
|
4052
|
+
*
|
|
4053
|
+
* @category do notation
|
|
4054
|
+
* @since 2.0.0
|
|
4055
|
+
*/
|
|
4056
|
+
export const Do = internal.Do;
|
|
4057
|
+
/**
|
|
4058
|
+
* The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
|
|
4059
|
+
*
|
|
4060
|
+
* Here's how the do simulation works:
|
|
4061
|
+
*
|
|
4062
|
+
* 1. Start the do simulation using the `Do` value
|
|
4063
|
+
* 2. Within the do simulation scope, you can use the `bind` function to define variables and bind them to `Stream` values
|
|
4064
|
+
* 3. You can accumulate multiple `bind` statements to define multiple variables within the scope
|
|
4065
|
+
* 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
|
|
4066
|
+
*
|
|
4067
|
+
* @example
|
|
4068
|
+
* ```ts
|
|
4069
|
+
* import * as assert from "node:assert"
|
|
4070
|
+
* import { Chunk, Effect, pipe, Stream } from "effect"
|
|
4071
|
+
*
|
|
4072
|
+
* const result = pipe(
|
|
4073
|
+
* Stream.Do,
|
|
4074
|
+
* Stream.bind("x", () => Stream.succeed(2)),
|
|
4075
|
+
* Stream.bind("y", () => Stream.succeed(3)),
|
|
4076
|
+
* Stream.let("sum", ({ x, y }) => x + y)
|
|
4077
|
+
* )
|
|
4078
|
+
* assert.deepStrictEqual(Effect.runSync(Stream.runCollect(result)), Chunk.of({ x: 2, y: 3, sum: 5 }))
|
|
4079
|
+
* ```
|
|
4080
|
+
*
|
|
4081
|
+
* @see {@link Do}
|
|
4082
|
+
* @see {@link bindTo}
|
|
4083
|
+
* @see {@link bindEffect}
|
|
4084
|
+
* @see {@link let_ let}
|
|
4085
|
+
*
|
|
4086
|
+
* @category do notation
|
|
4087
|
+
* @since 2.0.0
|
|
4088
|
+
*/
|
|
4089
|
+
export const bind = internal.bind;
|
|
4090
|
+
/**
|
|
4091
|
+
* Binds an effectful value in a `do` scope
|
|
4092
|
+
*
|
|
4093
|
+
* @see {@link Do}
|
|
4094
|
+
* @see {@link bindTo}
|
|
4095
|
+
* @see {@link bind}
|
|
4096
|
+
* @see {@link let_ let}
|
|
4097
|
+
*
|
|
4098
|
+
* @since 2.0.0
|
|
4099
|
+
* @category do notation
|
|
4100
|
+
*/
|
|
4101
|
+
export const bindEffect = groupBy_.bindEffect;
|
|
4102
|
+
/**
|
|
4103
|
+
* The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
|
|
4104
|
+
*
|
|
4105
|
+
* Here's how the do simulation works:
|
|
4106
|
+
*
|
|
4107
|
+
* 1. Start the do simulation using the `Do` value
|
|
4108
|
+
* 2. Within the do simulation scope, you can use the `bind` function to define variables and bind them to `Stream` values
|
|
4109
|
+
* 3. You can accumulate multiple `bind` statements to define multiple variables within the scope
|
|
4110
|
+
* 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
|
|
4111
|
+
*
|
|
4112
|
+
* @example
|
|
4113
|
+
* ```ts
|
|
4114
|
+
* import * as assert from "node:assert"
|
|
4115
|
+
* import { Chunk, Effect, pipe, Stream } from "effect"
|
|
4116
|
+
*
|
|
4117
|
+
* const result = pipe(
|
|
4118
|
+
* Stream.Do,
|
|
4119
|
+
* Stream.bind("x", () => Stream.succeed(2)),
|
|
4120
|
+
* Stream.bind("y", () => Stream.succeed(3)),
|
|
4121
|
+
* Stream.let("sum", ({ x, y }) => x + y)
|
|
4122
|
+
* )
|
|
4123
|
+
* assert.deepStrictEqual(Effect.runSync(Stream.runCollect(result)), Chunk.of({ x: 2, y: 3, sum: 5 }))
|
|
4124
|
+
* ```
|
|
4125
|
+
*
|
|
4126
|
+
* @see {@link Do}
|
|
4127
|
+
* @see {@link bind}
|
|
4128
|
+
* @see {@link bindEffect}
|
|
4129
|
+
* @see {@link let_ let}
|
|
4130
|
+
*
|
|
4131
|
+
* @category do notation
|
|
4132
|
+
* @since 2.0.0
|
|
4133
|
+
*/
|
|
4134
|
+
export const bindTo = internal.bindTo;
|
|
4135
|
+
const let_ = internal.let_;
|
|
4136
|
+
export {
|
|
4137
|
+
/**
|
|
4138
|
+
* The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
|
|
4139
|
+
*
|
|
4140
|
+
* Here's how the do simulation works:
|
|
4141
|
+
*
|
|
4142
|
+
* 1. Start the do simulation using the `Do` value
|
|
4143
|
+
* 2. Within the do simulation scope, you can use the `bind` function to define variables and bind them to `Stream` values
|
|
4144
|
+
* 3. You can accumulate multiple `bind` statements to define multiple variables within the scope
|
|
4145
|
+
* 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
|
|
4146
|
+
*
|
|
4147
|
+
* @example
|
|
4148
|
+
* ```ts
|
|
4149
|
+
* import * as assert from "node:assert"
|
|
4150
|
+
* import { Chunk, Effect, pipe, Stream } from "effect"
|
|
4151
|
+
*
|
|
4152
|
+
* const result = pipe(
|
|
4153
|
+
* Stream.Do,
|
|
4154
|
+
* Stream.bind("x", () => Stream.succeed(2)),
|
|
4155
|
+
* Stream.bind("y", () => Stream.succeed(3)),
|
|
4156
|
+
* Stream.let("sum", ({ x, y }) => x + y)
|
|
4157
|
+
* )
|
|
4158
|
+
* assert.deepStrictEqual(Effect.runSync(Stream.runCollect(result)), Chunk.of({ x: 2, y: 3, sum: 5 }))
|
|
4159
|
+
* ```
|
|
4160
|
+
*
|
|
4161
|
+
* @see {@link Do}
|
|
4162
|
+
* @see {@link bindTo}
|
|
4163
|
+
* @see {@link bind}
|
|
4164
|
+
* @see {@link bindEffect}
|
|
4165
|
+
*
|
|
4166
|
+
* @category do notation
|
|
4167
|
+
* @since 2.0.0
|
|
4168
|
+
*/
|
|
4169
|
+
let_ as let };
|
|
4170
|
+
// -------------------------------------------------------------------------------------
|
|
4171
|
+
// encoding
|
|
4172
|
+
// -------------------------------------------------------------------------------------
|
|
4173
|
+
/**
|
|
4174
|
+
* Decode Uint8Array chunks into a stream of strings using the specified encoding.
|
|
4175
|
+
*
|
|
4176
|
+
* @since 2.0.0
|
|
4177
|
+
* @category encoding
|
|
4178
|
+
*/
|
|
4179
|
+
export const decodeText = internal.decodeText;
|
|
4180
|
+
/**
|
|
4181
|
+
* Encode a stream of strings into a stream of Uint8Array chunks using the specified encoding.
|
|
4182
|
+
*
|
|
4183
|
+
* @since 2.0.0
|
|
4184
|
+
* @category encoding
|
|
4185
|
+
*/
|
|
4186
|
+
export const encodeText = internal.encodeText;
|
|
4187
|
+
/**
|
|
4188
|
+
* Creates a `Stream` using addEventListener.
|
|
4189
|
+
* @since 3.1.0
|
|
4190
|
+
*/
|
|
4191
|
+
export const fromEventListener = internal.fromEventListener;
|
|
4192
|
+
//# sourceMappingURL=Stream.js.map
|