effect 3.4.8 → 3.5.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/RcMap/package.json +6 -0
- package/RcRef/package.json +6 -0
- package/dist/cjs/Array.js +14 -37
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/BigDecimal.js +11 -34
- package/dist/cjs/BigDecimal.js.map +1 -1
- package/dist/cjs/BigInt.js +7 -30
- package/dist/cjs/BigInt.js.map +1 -1
- package/dist/cjs/Boolean.js +6 -29
- package/dist/cjs/Boolean.js.map +1 -1
- package/dist/cjs/Brand.js +6 -29
- package/dist/cjs/Brand.js.map +1 -1
- package/dist/cjs/Cache.js +3 -26
- package/dist/cjs/Cache.js.map +1 -1
- package/dist/cjs/Cause.js +26 -28
- package/dist/cjs/Cause.js.map +1 -1
- package/dist/cjs/Channel.js +6 -29
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/ChildExecutorDecision.js +3 -26
- package/dist/cjs/ChildExecutorDecision.js.map +1 -1
- package/dist/cjs/Chunk.js +12 -35
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Clock.js +4 -27
- package/dist/cjs/Clock.js.map +1 -1
- package/dist/cjs/Config.js +3 -26
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/ConfigError.js +3 -26
- package/dist/cjs/ConfigError.js.map +1 -1
- package/dist/cjs/ConfigProvider.js +3 -26
- package/dist/cjs/ConfigProvider.js.map +1 -1
- package/dist/cjs/ConfigProviderPathPatch.js +3 -26
- package/dist/cjs/ConfigProviderPathPatch.js.map +1 -1
- package/dist/cjs/Console.js +4 -27
- package/dist/cjs/Console.js.map +1 -1
- package/dist/cjs/Context.js +3 -26
- package/dist/cjs/Context.js.map +1 -1
- package/dist/cjs/Cron.js +13 -36
- package/dist/cjs/Cron.js.map +1 -1
- package/dist/cjs/Data.js +9 -30
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/DefaultServices.js +3 -26
- package/dist/cjs/DefaultServices.js.map +1 -1
- package/dist/cjs/Deferred.js +4 -27
- package/dist/cjs/Deferred.js.map +1 -1
- package/dist/cjs/Differ.js +10 -33
- package/dist/cjs/Differ.js.map +1 -1
- package/dist/cjs/Duration.js +33 -35
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Effect.js +16 -39
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Effectable.js +3 -26
- package/dist/cjs/Effectable.js.map +1 -1
- package/dist/cjs/Either.js +8 -31
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Encoding.js +7 -30
- package/dist/cjs/Encoding.js.map +1 -1
- package/dist/cjs/Equal.js +5 -28
- package/dist/cjs/Equal.js.map +1 -1
- package/dist/cjs/Equivalence.js +1 -1
- package/dist/cjs/Equivalence.js.map +1 -1
- package/dist/cjs/ExecutionStrategy.js +3 -26
- package/dist/cjs/ExecutionStrategy.js.map +1 -1
- package/dist/cjs/Exit.js +3 -26
- package/dist/cjs/Exit.js.map +1 -1
- package/dist/cjs/Fiber.js +6 -29
- package/dist/cjs/Fiber.js.map +1 -1
- package/dist/cjs/FiberHandle.js +15 -38
- package/dist/cjs/FiberHandle.js.map +1 -1
- package/dist/cjs/FiberId.js +3 -26
- package/dist/cjs/FiberId.js.map +1 -1
- package/dist/cjs/FiberMap.js +17 -40
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/FiberRef.js +6 -29
- package/dist/cjs/FiberRef.js.map +1 -1
- package/dist/cjs/FiberRefs.js +3 -26
- package/dist/cjs/FiberRefs.js.map +1 -1
- package/dist/cjs/FiberRefsPatch.js +3 -26
- package/dist/cjs/FiberRefsPatch.js.map +1 -1
- package/dist/cjs/FiberSet.js +16 -39
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/FiberStatus.js +3 -26
- package/dist/cjs/FiberStatus.js.map +1 -1
- package/dist/cjs/GlobalValue.js +3 -26
- package/dist/cjs/GlobalValue.js.map +1 -1
- package/dist/cjs/GroupBy.js +3 -26
- package/dist/cjs/GroupBy.js.map +1 -1
- package/dist/cjs/Hash.js +4 -4
- package/dist/cjs/Hash.js.map +1 -1
- package/dist/cjs/HashMap.js +4 -27
- package/dist/cjs/HashMap.js.map +1 -1
- package/dist/cjs/HashSet.js +3 -26
- package/dist/cjs/HashSet.js.map +1 -1
- package/dist/cjs/Inspectable.js +1 -1
- package/dist/cjs/Inspectable.js.map +1 -1
- package/dist/cjs/Iterable.js +8 -31
- package/dist/cjs/Iterable.js.map +1 -1
- package/dist/cjs/KeyedPool.js +3 -26
- package/dist/cjs/KeyedPool.js.map +1 -1
- package/dist/cjs/Layer.js +11 -34
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/List.js +13 -36
- package/dist/cjs/List.js.map +1 -1
- package/dist/cjs/LogLevel.js +6 -29
- package/dist/cjs/LogLevel.js.map +1 -1
- package/dist/cjs/LogSpan.js +3 -26
- package/dist/cjs/LogSpan.js.map +1 -1
- package/dist/cjs/Logger.js +17 -30
- package/dist/cjs/Logger.js.map +1 -1
- package/dist/cjs/ManagedRuntime.js +3 -26
- package/dist/cjs/ManagedRuntime.js.map +1 -1
- package/dist/cjs/Match.js +4 -27
- package/dist/cjs/Match.js.map +1 -1
- package/dist/cjs/MergeDecision.js +3 -26
- package/dist/cjs/MergeDecision.js.map +1 -1
- package/dist/cjs/MergeState.js +3 -26
- package/dist/cjs/MergeState.js.map +1 -1
- package/dist/cjs/MergeStrategy.js +3 -26
- package/dist/cjs/MergeStrategy.js.map +1 -1
- package/dist/cjs/Metric.js +4 -27
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/MetricBoundaries.js +3 -26
- package/dist/cjs/MetricBoundaries.js.map +1 -1
- package/dist/cjs/MetricHook.js +3 -26
- package/dist/cjs/MetricHook.js.map +1 -1
- package/dist/cjs/MetricKey.js +3 -26
- package/dist/cjs/MetricKey.js.map +1 -1
- package/dist/cjs/MetricKeyType.js +3 -26
- package/dist/cjs/MetricKeyType.js.map +1 -1
- package/dist/cjs/MetricLabel.js +3 -26
- package/dist/cjs/MetricLabel.js.map +1 -1
- package/dist/cjs/MetricPair.js +3 -26
- package/dist/cjs/MetricPair.js.map +1 -1
- package/dist/cjs/MetricPolling.js +3 -26
- package/dist/cjs/MetricPolling.js.map +1 -1
- package/dist/cjs/MetricRegistry.js +3 -26
- package/dist/cjs/MetricRegistry.js.map +1 -1
- package/dist/cjs/MetricState.js +3 -26
- package/dist/cjs/MetricState.js.map +1 -1
- package/dist/cjs/Micro.js +15 -38
- package/dist/cjs/Micro.js.map +1 -1
- package/dist/cjs/ModuleVersion.js +3 -26
- package/dist/cjs/ModuleVersion.js.map +1 -1
- package/dist/cjs/MutableHashMap.js +8 -31
- package/dist/cjs/MutableHashMap.js.map +1 -1
- package/dist/cjs/MutableHashSet.js +6 -29
- package/dist/cjs/MutableHashSet.js.map +1 -1
- package/dist/cjs/MutableList.js +5 -28
- package/dist/cjs/MutableList.js.map +1 -1
- package/dist/cjs/MutableQueue.js +7 -30
- package/dist/cjs/MutableQueue.js.map +1 -1
- package/dist/cjs/MutableRef.js +6 -29
- package/dist/cjs/MutableRef.js.map +1 -1
- package/dist/cjs/Number.js +7 -30
- package/dist/cjs/Number.js.map +1 -1
- package/dist/cjs/Option.js +10 -33
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/Order.js +1 -1
- package/dist/cjs/Order.js.map +1 -1
- package/dist/cjs/Ordering.js +1 -1
- package/dist/cjs/Ordering.js.map +1 -1
- package/dist/cjs/Pool.js +3 -26
- package/dist/cjs/Pool.js.map +1 -1
- package/dist/cjs/Predicate.js +1 -1
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/PubSub.js +3 -26
- package/dist/cjs/PubSub.js.map +1 -1
- package/dist/cjs/Queue.js +3 -26
- package/dist/cjs/Queue.js.map +1 -1
- package/dist/cjs/Random.js +13 -28
- package/dist/cjs/Random.js.map +1 -1
- package/dist/cjs/RateLimiter.js +3 -26
- package/dist/cjs/RateLimiter.js.map +1 -1
- package/dist/cjs/RcMap.js +52 -0
- package/dist/cjs/RcMap.js.map +1 -0
- package/dist/cjs/RcRef.js +51 -0
- package/dist/cjs/RcRef.js.map +1 -0
- package/dist/cjs/Readable.js +6 -29
- package/dist/cjs/Readable.js.map +1 -1
- package/dist/cjs/Record.js +6 -29
- package/dist/cjs/Record.js.map +1 -1
- package/dist/cjs/RedBlackTree.js +4 -27
- package/dist/cjs/RedBlackTree.js.map +1 -1
- package/dist/cjs/Redacted.js +4 -27
- package/dist/cjs/Redacted.js.map +1 -1
- package/dist/cjs/Ref.js +3 -26
- package/dist/cjs/Ref.js.map +1 -1
- package/dist/cjs/Reloadable.js +3 -26
- package/dist/cjs/Reloadable.js.map +1 -1
- package/dist/cjs/Request.js +7 -30
- package/dist/cjs/Request.js.map +1 -1
- package/dist/cjs/RequestBlock.js +3 -26
- package/dist/cjs/RequestBlock.js.map +1 -1
- package/dist/cjs/RequestResolver.js +6 -29
- package/dist/cjs/RequestResolver.js.map +1 -1
- package/dist/cjs/Resource.js +3 -26
- package/dist/cjs/Resource.js.map +1 -1
- package/dist/cjs/Runtime.js +3 -26
- package/dist/cjs/Runtime.js.map +1 -1
- package/dist/cjs/RuntimeFlags.js +4 -27
- package/dist/cjs/RuntimeFlags.js.map +1 -1
- package/dist/cjs/RuntimeFlagsPatch.js +4 -27
- package/dist/cjs/RuntimeFlagsPatch.js.map +1 -1
- package/dist/cjs/STM.js +6 -29
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js +3 -26
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/ScheduleDecision.js +3 -26
- package/dist/cjs/ScheduleDecision.js.map +1 -1
- package/dist/cjs/ScheduleInterval.js +3 -26
- package/dist/cjs/ScheduleInterval.js.map +1 -1
- package/dist/cjs/ScheduleIntervals.js +3 -26
- package/dist/cjs/ScheduleIntervals.js.map +1 -1
- package/dist/cjs/Scheduler.js +5 -28
- package/dist/cjs/Scheduler.js.map +1 -1
- package/dist/cjs/Scope.js +4 -27
- package/dist/cjs/Scope.js.map +1 -1
- package/dist/cjs/ScopedCache.js +3 -26
- package/dist/cjs/ScopedCache.js.map +1 -1
- package/dist/cjs/ScopedRef.js +3 -26
- package/dist/cjs/ScopedRef.js.map +1 -1
- package/dist/cjs/Secret.js +3 -26
- package/dist/cjs/Secret.js.map +1 -1
- package/dist/cjs/SingleProducerAsyncInput.js +3 -26
- package/dist/cjs/SingleProducerAsyncInput.js.map +1 -1
- package/dist/cjs/Sink.js +3 -26
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/SortedMap.js +10 -33
- package/dist/cjs/SortedMap.js.map +1 -1
- package/dist/cjs/SortedSet.js +9 -32
- package/dist/cjs/SortedSet.js.map +1 -1
- package/dist/cjs/Stream.js +1077 -32
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/StreamHaltStrategy.js +3 -26
- package/dist/cjs/StreamHaltStrategy.js.map +1 -1
- package/dist/cjs/Streamable.js +4 -27
- package/dist/cjs/Streamable.js.map +1 -1
- package/dist/cjs/String.js +9 -32
- package/dist/cjs/String.js.map +1 -1
- package/dist/cjs/Struct.js +6 -29
- package/dist/cjs/Struct.js.map +1 -1
- package/dist/cjs/Subscribable.js +8 -31
- package/dist/cjs/Subscribable.js.map +1 -1
- package/dist/cjs/SubscriptionRef.js +5 -28
- package/dist/cjs/SubscriptionRef.js.map +1 -1
- package/dist/cjs/Supervisor.js +5 -28
- package/dist/cjs/Supervisor.js.map +1 -1
- package/dist/cjs/Symbol.js +4 -27
- package/dist/cjs/Symbol.js.map +1 -1
- package/dist/cjs/SynchronizedRef.js +5 -28
- package/dist/cjs/SynchronizedRef.js.map +1 -1
- package/dist/cjs/TArray.js +3 -26
- package/dist/cjs/TArray.js.map +1 -1
- package/dist/cjs/TDeferred.js +3 -26
- package/dist/cjs/TDeferred.js.map +1 -1
- package/dist/cjs/TMap.js +3 -26
- package/dist/cjs/TMap.js.map +1 -1
- package/dist/cjs/TPriorityQueue.js +3 -26
- package/dist/cjs/TPriorityQueue.js.map +1 -1
- package/dist/cjs/TPubSub.js +3 -26
- package/dist/cjs/TPubSub.js.map +1 -1
- package/dist/cjs/TQueue.js +3 -26
- package/dist/cjs/TQueue.js.map +1 -1
- package/dist/cjs/TRandom.js +3 -26
- package/dist/cjs/TRandom.js.map +1 -1
- package/dist/cjs/TReentrantLock.js +3 -26
- package/dist/cjs/TReentrantLock.js.map +1 -1
- package/dist/cjs/TRef.js +3 -26
- package/dist/cjs/TRef.js.map +1 -1
- package/dist/cjs/TSemaphore.js +3 -26
- package/dist/cjs/TSemaphore.js.map +1 -1
- package/dist/cjs/TSet.js +3 -26
- package/dist/cjs/TSet.js.map +1 -1
- package/dist/cjs/Take.js +3 -26
- package/dist/cjs/Take.js.map +1 -1
- package/dist/cjs/TestAnnotation.js +10 -33
- package/dist/cjs/TestAnnotation.js.map +1 -1
- package/dist/cjs/TestAnnotationMap.js +5 -28
- package/dist/cjs/TestAnnotationMap.js.map +1 -1
- package/dist/cjs/TestAnnotations.js +15 -38
- package/dist/cjs/TestAnnotations.js.map +1 -1
- package/dist/cjs/TestClock.js +25 -48
- package/dist/cjs/TestClock.js.map +1 -1
- package/dist/cjs/TestConfig.js +3 -26
- package/dist/cjs/TestConfig.js.map +1 -1
- package/dist/cjs/TestContext.js +7 -30
- package/dist/cjs/TestContext.js.map +1 -1
- package/dist/cjs/TestLive.js +5 -28
- package/dist/cjs/TestLive.js.map +1 -1
- package/dist/cjs/TestServices.js +15 -38
- package/dist/cjs/TestServices.js.map +1 -1
- package/dist/cjs/TestSized.js +4 -27
- package/dist/cjs/TestSized.js.map +1 -1
- package/dist/cjs/Tracer.js +4 -27
- package/dist/cjs/Tracer.js.map +1 -1
- package/dist/cjs/Trie.js +3 -26
- package/dist/cjs/Trie.js.map +1 -1
- package/dist/cjs/Tuple.js +6 -29
- package/dist/cjs/Tuple.js.map +1 -1
- package/dist/cjs/Unify.js +1 -1
- package/dist/cjs/Unify.js.map +1 -1
- package/dist/cjs/UpstreamPullRequest.js +3 -26
- package/dist/cjs/UpstreamPullRequest.js.map +1 -1
- package/dist/cjs/UpstreamPullStrategy.js +3 -26
- package/dist/cjs/UpstreamPullStrategy.js.map +1 -1
- package/dist/cjs/Utils.js +4 -4
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/index.js +166 -185
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/blockedRequests.js +9 -32
- package/dist/cjs/internal/blockedRequests.js.map +1 -1
- package/dist/cjs/internal/cache.js +20 -43
- package/dist/cjs/internal/cache.js.map +1 -1
- package/dist/cjs/internal/cause.js +37 -44
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/channel/channelExecutor.js +21 -44
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
- package/dist/cjs/internal/channel/channelState.js +5 -28
- package/dist/cjs/internal/channel/channelState.js.map +1 -1
- package/dist/cjs/internal/channel/childExecutorDecision.js +5 -28
- package/dist/cjs/internal/channel/childExecutorDecision.js.map +1 -1
- package/dist/cjs/internal/channel/continuation.js +4 -27
- package/dist/cjs/internal/channel/continuation.js.map +1 -1
- package/dist/cjs/internal/channel/mergeDecision.js +5 -28
- package/dist/cjs/internal/channel/mergeDecision.js.map +1 -1
- package/dist/cjs/internal/channel/mergeState.js +5 -28
- package/dist/cjs/internal/channel/mergeState.js.map +1 -1
- package/dist/cjs/internal/channel/mergeStrategy.js +5 -28
- package/dist/cjs/internal/channel/mergeStrategy.js.map +1 -1
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js +9 -32
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
- package/dist/cjs/internal/channel/subexecutor.js +5 -28
- package/dist/cjs/internal/channel/subexecutor.js.map +1 -1
- package/dist/cjs/internal/channel/upstreamPullRequest.js +5 -28
- package/dist/cjs/internal/channel/upstreamPullRequest.js.map +1 -1
- package/dist/cjs/internal/channel/upstreamPullStrategy.js +5 -28
- package/dist/cjs/internal/channel/upstreamPullStrategy.js.map +1 -1
- package/dist/cjs/internal/channel.js +31 -54
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/clock.js +6 -29
- package/dist/cjs/internal/clock.js.map +1 -1
- package/dist/cjs/internal/completedRequestMap.js +2 -2
- package/dist/cjs/internal/completedRequestMap.js.map +1 -1
- package/dist/cjs/internal/concurrency.js +3 -26
- package/dist/cjs/internal/concurrency.js.map +1 -1
- package/dist/cjs/internal/config.js +17 -40
- package/dist/cjs/internal/config.js.map +1 -1
- package/dist/cjs/internal/configError.js +7 -30
- package/dist/cjs/internal/configError.js.map +1 -1
- package/dist/cjs/internal/configProvider/pathPatch.js +8 -31
- package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -1
- package/dist/cjs/internal/configProvider.js +17 -40
- package/dist/cjs/internal/configProvider.js.map +1 -1
- package/dist/cjs/internal/console.js +9 -32
- package/dist/cjs/internal/console.js.map +1 -1
- package/dist/cjs/internal/context.js +10 -33
- package/dist/cjs/internal/context.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +29 -57
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core-stream.js +14 -37
- package/dist/cjs/internal/core-stream.js.map +1 -1
- package/dist/cjs/internal/core.js +47 -65
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/data.js +5 -28
- package/dist/cjs/internal/data.js.map +1 -1
- package/dist/cjs/internal/dataSource.js +10 -33
- package/dist/cjs/internal/dataSource.js.map +1 -1
- package/dist/cjs/internal/defaultServices/console.js +4 -27
- package/dist/cjs/internal/defaultServices/console.js.map +1 -1
- package/dist/cjs/internal/defaultServices.js +14 -37
- package/dist/cjs/internal/defaultServices.js.map +1 -1
- package/dist/cjs/internal/deferred.js +3 -26
- package/dist/cjs/internal/deferred.js.map +1 -1
- package/dist/cjs/internal/differ/chunkPatch.js +6 -29
- package/dist/cjs/internal/differ/chunkPatch.js.map +1 -1
- package/dist/cjs/internal/differ/contextPatch.js +7 -30
- package/dist/cjs/internal/differ/contextPatch.js.map +1 -1
- package/dist/cjs/internal/differ/hashMapPatch.js +7 -30
- package/dist/cjs/internal/differ/hashMapPatch.js.map +1 -1
- package/dist/cjs/internal/differ/hashSetPatch.js +6 -29
- package/dist/cjs/internal/differ/hashSetPatch.js.map +1 -1
- package/dist/cjs/internal/differ/orPatch.js +7 -30
- package/dist/cjs/internal/differ/orPatch.js.map +1 -1
- package/dist/cjs/internal/differ/readonlyArrayPatch.js +6 -29
- package/dist/cjs/internal/differ/readonlyArrayPatch.js.map +1 -1
- package/dist/cjs/internal/differ.js +10 -33
- package/dist/cjs/internal/differ.js.map +1 -1
- package/dist/cjs/internal/doNotation.js +1 -1
- package/dist/cjs/internal/doNotation.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +24 -47
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/effectable.js +8 -31
- package/dist/cjs/internal/effectable.js.map +1 -1
- package/dist/cjs/internal/either.js +9 -32
- package/dist/cjs/internal/either.js.map +1 -1
- package/dist/cjs/internal/encoding/base64.js +4 -27
- package/dist/cjs/internal/encoding/base64.js.map +1 -1
- package/dist/cjs/internal/encoding/base64Url.js +5 -28
- package/dist/cjs/internal/encoding/base64Url.js.map +1 -1
- package/dist/cjs/internal/encoding/common.js +1 -1
- package/dist/cjs/internal/encoding/common.js.map +1 -1
- package/dist/cjs/internal/encoding/hex.js +4 -27
- package/dist/cjs/internal/encoding/hex.js.map +1 -1
- package/dist/cjs/internal/executionStrategy.js +1 -1
- package/dist/cjs/internal/executionStrategy.js.map +1 -1
- package/dist/cjs/internal/fiber.js +17 -40
- package/dist/cjs/internal/fiber.js.map +1 -1
- package/dist/cjs/internal/fiberId.js +11 -34
- package/dist/cjs/internal/fiberId.js.map +1 -1
- package/dist/cjs/internal/fiberRefs/patch.js +6 -29
- package/dist/cjs/internal/fiberRefs/patch.js.map +1 -1
- package/dist/cjs/internal/fiberRefs.js +9 -32
- package/dist/cjs/internal/fiberRefs.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +58 -79
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/fiberScope.js +5 -28
- package/dist/cjs/internal/fiberScope.js.map +1 -1
- package/dist/cjs/internal/fiberStatus.js +6 -29
- package/dist/cjs/internal/fiberStatus.js.map +1 -1
- package/dist/cjs/internal/groupBy.js +18 -41
- package/dist/cjs/internal/groupBy.js.map +1 -1
- package/dist/cjs/internal/hashMap/bitwise.js +1 -1
- package/dist/cjs/internal/hashMap/bitwise.js.map +1 -1
- package/dist/cjs/internal/hashMap/keySet.js +1 -1
- package/dist/cjs/internal/hashMap/keySet.js.map +1 -1
- package/dist/cjs/internal/hashMap/node.js +9 -32
- package/dist/cjs/internal/hashMap/node.js.map +1 -1
- package/dist/cjs/internal/hashMap.js +12 -35
- package/dist/cjs/internal/hashMap.js.map +1 -1
- package/dist/cjs/internal/hashSet.js +9 -32
- package/dist/cjs/internal/hashSet.js.map +1 -1
- package/dist/cjs/internal/keyedPool.js +14 -37
- package/dist/cjs/internal/keyedPool.js.map +1 -1
- package/dist/cjs/internal/layer/circular.js +12 -35
- package/dist/cjs/internal/layer/circular.js.map +1 -1
- package/dist/cjs/internal/layer.js +25 -48
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/logger-circular.js +9 -32
- package/dist/cjs/internal/logger-circular.js.map +1 -1
- package/dist/cjs/internal/logger.js +139 -61
- package/dist/cjs/internal/logger.js.map +1 -1
- package/dist/cjs/internal/managedRuntime.js +9 -32
- package/dist/cjs/internal/managedRuntime.js.map +1 -1
- package/dist/cjs/internal/matcher.js +6 -29
- package/dist/cjs/internal/matcher.js.map +1 -1
- package/dist/cjs/internal/metric/boundaries.js +9 -32
- package/dist/cjs/internal/metric/boundaries.js.map +1 -1
- package/dist/cjs/internal/metric/hook.js +9 -32
- package/dist/cjs/internal/metric/hook.js.map +1 -1
- package/dist/cjs/internal/metric/key.js +11 -34
- package/dist/cjs/internal/metric/key.js.map +1 -1
- package/dist/cjs/internal/metric/keyType.js +8 -31
- package/dist/cjs/internal/metric/keyType.js.map +1 -1
- package/dist/cjs/internal/metric/label.js +6 -29
- package/dist/cjs/internal/metric/label.js.map +1 -1
- package/dist/cjs/internal/metric/pair.js +1 -1
- package/dist/cjs/internal/metric/pair.js.map +1 -1
- package/dist/cjs/internal/metric/polling.js +8 -31
- package/dist/cjs/internal/metric/polling.js.map +1 -1
- package/dist/cjs/internal/metric/registry.js +8 -31
- package/dist/cjs/internal/metric/registry.js.map +1 -1
- package/dist/cjs/internal/metric/state.js +8 -31
- package/dist/cjs/internal/metric/state.js.map +1 -1
- package/dist/cjs/internal/metric.js +15 -38
- package/dist/cjs/internal/metric.js.map +1 -1
- package/dist/cjs/internal/option.js +7 -30
- package/dist/cjs/internal/option.js.map +1 -1
- package/dist/cjs/internal/pool.js +43 -42
- package/dist/cjs/internal/pool.js.map +1 -1
- package/dist/cjs/internal/pubsub.js +229 -72
- package/dist/cjs/internal/pubsub.js.map +1 -1
- package/dist/cjs/internal/query.js +10 -33
- package/dist/cjs/internal/query.js.map +1 -1
- package/dist/cjs/internal/queue.js +12 -35
- package/dist/cjs/internal/queue.js.map +1 -1
- package/dist/cjs/internal/random.js +9 -31
- package/dist/cjs/internal/random.js.map +1 -1
- package/dist/cjs/internal/rateLimiter.js +6 -29
- package/dist/cjs/internal/rateLimiter.js.map +1 -1
- package/dist/cjs/internal/rcMap.js +129 -0
- package/dist/cjs/internal/rcMap.js.map +1 -0
- package/dist/cjs/internal/rcRef.js +122 -0
- package/dist/cjs/internal/rcRef.js.map +1 -0
- package/dist/cjs/internal/redBlackTree/iterator.js +4 -27
- package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
- package/dist/cjs/internal/redBlackTree.js +13 -36
- package/dist/cjs/internal/redBlackTree.js.map +1 -1
- package/dist/cjs/internal/redacted.js +8 -31
- package/dist/cjs/internal/redacted.js.map +1 -1
- package/dist/cjs/internal/ref.js +8 -31
- package/dist/cjs/internal/ref.js.map +1 -1
- package/dist/cjs/internal/reloadable.js +10 -33
- package/dist/cjs/internal/reloadable.js.map +1 -1
- package/dist/cjs/internal/request.js +7 -30
- package/dist/cjs/internal/request.js.map +1 -1
- package/dist/cjs/internal/resource.js +7 -30
- package/dist/cjs/internal/resource.js.map +1 -1
- package/dist/cjs/internal/ringBuffer.js +5 -28
- package/dist/cjs/internal/ringBuffer.js.map +1 -1
- package/dist/cjs/internal/runtime.js +23 -46
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/runtimeFlags.js +5 -28
- package/dist/cjs/internal/runtimeFlags.js.map +1 -1
- package/dist/cjs/internal/runtimeFlagsPatch.js +1 -1
- package/dist/cjs/internal/runtimeFlagsPatch.js.map +1 -1
- package/dist/cjs/internal/schedule/decision.js +4 -27
- package/dist/cjs/internal/schedule/decision.js.map +1 -1
- package/dist/cjs/internal/schedule/interval.js +5 -28
- package/dist/cjs/internal/schedule/interval.js.map +1 -1
- package/dist/cjs/internal/schedule/intervals.js +7 -30
- package/dist/cjs/internal/schedule/intervals.js.map +1 -1
- package/dist/cjs/internal/schedule.js +21 -44
- package/dist/cjs/internal/schedule.js.map +1 -1
- package/dist/cjs/internal/scopedCache.js +19 -42
- package/dist/cjs/internal/scopedCache.js.map +1 -1
- package/dist/cjs/internal/scopedRef.js +10 -33
- package/dist/cjs/internal/scopedRef.js.map +1 -1
- package/dist/cjs/internal/secret.js +5 -28
- package/dist/cjs/internal/secret.js.map +1 -1
- package/dist/cjs/internal/singleShotGen.js.map +1 -1
- package/dist/cjs/internal/sink.js +22 -45
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stm/core.js +30 -53
- package/dist/cjs/internal/stm/core.js.map +1 -1
- package/dist/cjs/internal/stm/stm/entry.js +3 -26
- package/dist/cjs/internal/stm/stm/entry.js.map +1 -1
- package/dist/cjs/internal/stm/stm/journal.js +3 -26
- package/dist/cjs/internal/stm/stm/journal.js.map +1 -1
- package/dist/cjs/internal/stm/stm/stmState.js +9 -32
- package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tExit.js +7 -30
- package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tryCommit.js +3 -26
- package/dist/cjs/internal/stm/stm/tryCommit.js.map +1 -1
- package/dist/cjs/internal/stm/stm/versioned.js.map +1 -1
- package/dist/cjs/internal/stm/stm.js +17 -40
- package/dist/cjs/internal/stm/stm.js.map +1 -1
- package/dist/cjs/internal/stm/tArray.js +9 -32
- package/dist/cjs/internal/stm/tArray.js.map +1 -1
- package/dist/cjs/internal/stm/tDeferred.js +8 -31
- package/dist/cjs/internal/stm/tDeferred.js.map +1 -1
- package/dist/cjs/internal/stm/tMap.js +15 -38
- package/dist/cjs/internal/stm/tMap.js.map +1 -1
- package/dist/cjs/internal/stm/tPriorityQueue.js +9 -32
- package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tPubSub.js +12 -35
- package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
- package/dist/cjs/internal/stm/tQueue.js +12 -35
- package/dist/cjs/internal/stm/tQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tRandom.js +10 -33
- package/dist/cjs/internal/stm/tRandom.js.map +1 -1
- package/dist/cjs/internal/stm/tReentrantLock.js +10 -33
- package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -1
- package/dist/cjs/internal/stm/tRef.js +7 -30
- package/dist/cjs/internal/stm/tRef.js.map +1 -1
- package/dist/cjs/internal/stm/tSemaphore.js +8 -31
- package/dist/cjs/internal/stm/tSemaphore.js.map +1 -1
- package/dist/cjs/internal/stm/tSet.js +10 -33
- package/dist/cjs/internal/stm/tSet.js.map +1 -1
- package/dist/cjs/internal/stream/emit.js +8 -31
- package/dist/cjs/internal/stream/emit.js.map +1 -1
- package/dist/cjs/internal/stream/haltStrategy.js +4 -27
- package/dist/cjs/internal/stream/haltStrategy.js.map +1 -1
- package/dist/cjs/internal/stream/handoff.js +7 -30
- package/dist/cjs/internal/stream/handoff.js.map +1 -1
- package/dist/cjs/internal/stream/pull.js +7 -30
- package/dist/cjs/internal/stream/pull.js.map +1 -1
- package/dist/cjs/internal/stream.js +103 -80
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/subscriptionRef.js +13 -36
- package/dist/cjs/internal/subscriptionRef.js.map +1 -1
- package/dist/cjs/internal/supervisor/patch.js +8 -31
- package/dist/cjs/internal/supervisor/patch.js.map +1 -1
- package/dist/cjs/internal/supervisor.js +8 -31
- package/dist/cjs/internal/supervisor.js.map +1 -1
- package/dist/cjs/internal/synchronizedRef.js +5 -28
- package/dist/cjs/internal/synchronizedRef.js.map +1 -1
- package/dist/cjs/internal/take.js +9 -32
- package/dist/cjs/internal/take.js.map +1 -1
- package/dist/cjs/internal/tracer.js +3 -26
- package/dist/cjs/internal/tracer.js.map +1 -1
- package/dist/cjs/internal/trie.js +9 -32
- package/dist/cjs/internal/trie.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Cause.d.ts +40 -1
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +3 -3
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +5 -0
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Console.d.ts +2 -4
- package/dist/dts/Console.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts +5 -0
- package/dist/dts/Duration.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +15 -0
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/PubSub.d.ts +15 -4
- package/dist/dts/PubSub.d.ts.map +1 -1
- package/dist/dts/Random.d.ts +8 -0
- package/dist/dts/Random.d.ts.map +1 -1
- package/dist/dts/RcMap.d.ts +93 -0
- package/dist/dts/RcMap.d.ts.map +1 -0
- package/dist/dts/RcRef.d.ts +83 -0
- package/dist/dts/RcRef.d.ts.map +1 -0
- package/dist/dts/Stream.d.ts +1139 -29
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/index.d.ts +8 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/core-effect.d.ts.map +1 -1
- package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
- package/dist/dts/internal/logger.d.ts.map +1 -1
- package/dist/dts/internal/random.d.ts +1 -1
- package/dist/dts/internal/random.d.ts.map +1 -1
- 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/stream.d.ts +1 -0
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Cause.js +21 -0
- package/dist/esm/Cause.js.map +1 -1
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/Console.js.map +1 -1
- package/dist/esm/Data.js +3 -1
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/Duration.js +20 -0
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Logger.js +10 -0
- package/dist/esm/Logger.js.map +1 -1
- package/dist/esm/PubSub.js.map +1 -1
- package/dist/esm/Random.js +8 -0
- package/dist/esm/Random.js.map +1 -1
- package/dist/esm/RcMap.js +44 -0
- package/dist/esm/RcMap.js.map +1 -0
- package/dist/esm/RcRef.js +43 -0
- package/dist/esm/RcRef.js.map +1 -0
- package/dist/esm/Stream.js +1102 -3
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/cause.js +21 -5
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/core-effect.js +0 -5
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core.js +11 -7
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/defaultServices.js +1 -1
- package/dist/esm/internal/defaultServices.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +2 -0
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/logger.js +126 -26
- package/dist/esm/internal/logger.js.map +1 -1
- package/dist/esm/internal/pool.js +29 -5
- package/dist/esm/internal/pool.js.map +1 -1
- package/dist/esm/internal/pubsub.js +216 -36
- package/dist/esm/internal/pubsub.js.map +1 -1
- package/dist/esm/internal/random.js +2 -1
- package/dist/esm/internal/random.js.map +1 -1
- package/dist/esm/internal/rcMap.js +120 -0
- package/dist/esm/internal/rcMap.js.map +1 -0
- package/dist/esm/internal/rcRef.js +112 -0
- package/dist/esm/internal/rcRef.js.map +1 -0
- package/dist/esm/internal/stream.js +53 -8
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +17 -1
- package/src/Cause.ts +47 -1
- package/src/Channel.ts +3 -3
- package/src/Config.ts +6 -0
- package/src/Console.ts +2 -4
- package/src/Data.ts +1 -1
- package/src/Duration.ts +18 -0
- package/src/Logger.ts +19 -0
- package/src/PubSub.ts +11 -4
- package/src/Random.ts +9 -0
- package/src/RcMap.ts +103 -0
- package/src/RcRef.ts +91 -0
- package/src/Stream.ts +1158 -29
- package/src/index.ts +10 -0
- package/src/internal/cause.ts +26 -5
- package/src/internal/channel/channelExecutor.ts +1 -1
- package/src/internal/channel.ts +4 -3
- package/src/internal/core-effect.ts +0 -5
- package/src/internal/core.ts +19 -9
- package/src/internal/defaultServices.ts +1 -1
- package/src/internal/fiberRuntime.ts +6 -0
- package/src/internal/logger.ts +133 -27
- package/src/internal/pool.ts +36 -5
- package/src/internal/pubsub.ts +249 -58
- package/src/internal/random.ts +2 -1
- package/src/internal/rcMap.ts +213 -0
- package/src/internal/rcRef.ts +172 -0
- package/src/internal/stream.ts +325 -111
- package/src/internal/version.ts +1 -1
|
@@ -4,42 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.unsafeMakeSubscription = exports.unsafeMakePubSub = exports.unbounded = exports.subscribe = exports.sliding = exports.size = exports.shutdown = exports.publishAll = exports.publish = exports.makePubSub = exports.isShutdown = exports.isFull = exports.isEmpty = exports.dropping = exports.capacity = exports.bounded = exports.awaitShutdown = exports.SlidingStrategy = exports.DroppingStrategy = void 0;
|
|
7
|
-
var Chunk =
|
|
8
|
-
var _Function =
|
|
9
|
-
var MutableQueue =
|
|
10
|
-
var MutableRef =
|
|
11
|
-
var _Number =
|
|
12
|
-
var Option =
|
|
13
|
-
var _Pipeable =
|
|
14
|
-
var core =
|
|
15
|
-
var executionStrategy =
|
|
16
|
-
var fiberRuntime =
|
|
17
|
-
var queue =
|
|
18
|
-
function _getRequireWildcardCache(e) {
|
|
19
|
-
|
|
20
|
-
var r = new WeakMap(),
|
|
21
|
-
t = new WeakMap();
|
|
22
|
-
return (_getRequireWildcardCache = function (e) {
|
|
23
|
-
return e ? t : r;
|
|
24
|
-
})(e);
|
|
25
|
-
}
|
|
26
|
-
function _interopRequireWildcard(e, r) {
|
|
27
|
-
if (!r && e && e.__esModule) return e;
|
|
28
|
-
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
|
29
|
-
default: e
|
|
30
|
-
};
|
|
31
|
-
var t = _getRequireWildcardCache(r);
|
|
32
|
-
if (t && t.has(e)) return t.get(e);
|
|
33
|
-
var n = {
|
|
34
|
-
__proto__: null
|
|
35
|
-
},
|
|
36
|
-
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
37
|
-
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
38
|
-
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
39
|
-
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
40
|
-
}
|
|
41
|
-
return n.default = e, t && t.set(e, n), n;
|
|
42
|
-
}
|
|
7
|
+
var Chunk = _interopRequireWildcard(require("../Chunk.js"));
|
|
8
|
+
var _Function = require("../Function.js");
|
|
9
|
+
var MutableQueue = _interopRequireWildcard(require("../MutableQueue.js"));
|
|
10
|
+
var MutableRef = _interopRequireWildcard(require("../MutableRef.js"));
|
|
11
|
+
var _Number = require("../Number.js");
|
|
12
|
+
var Option = _interopRequireWildcard(require("../Option.js"));
|
|
13
|
+
var _Pipeable = require("../Pipeable.js");
|
|
14
|
+
var core = _interopRequireWildcard(require("./core.js"));
|
|
15
|
+
var executionStrategy = _interopRequireWildcard(require("./executionStrategy.js"));
|
|
16
|
+
var fiberRuntime = _interopRequireWildcard(require("./fiberRuntime.js"));
|
|
17
|
+
var queue = _interopRequireWildcard(require("./queue.js"));
|
|
18
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
43
20
|
const AbsentValue = /*#__PURE__*/Symbol.for("effect/PubSub/AbsentValue");
|
|
44
21
|
const addSubscribers = (subscription, pollers) => subscribers => {
|
|
45
22
|
if (!subscribers.has(subscription)) {
|
|
@@ -59,16 +36,28 @@ const removeSubscribers = (subscription, pollers) => subscribers => {
|
|
|
59
36
|
}
|
|
60
37
|
};
|
|
61
38
|
/** @internal */
|
|
62
|
-
const bounded =
|
|
39
|
+
const bounded = capacity => core.suspend(() => {
|
|
40
|
+
const pubsub = makeBoundedPubSub(capacity);
|
|
41
|
+
return makePubSub(pubsub, new BackPressureStrategy());
|
|
42
|
+
});
|
|
63
43
|
/** @internal */
|
|
64
44
|
exports.bounded = bounded;
|
|
65
|
-
const dropping =
|
|
45
|
+
const dropping = capacity => core.suspend(() => {
|
|
46
|
+
const pubsub = makeBoundedPubSub(capacity);
|
|
47
|
+
return makePubSub(pubsub, new DroppingStrategy());
|
|
48
|
+
});
|
|
66
49
|
/** @internal */
|
|
67
50
|
exports.dropping = dropping;
|
|
68
|
-
const sliding =
|
|
51
|
+
const sliding = capacity => core.suspend(() => {
|
|
52
|
+
const pubsub = makeBoundedPubSub(capacity);
|
|
53
|
+
return makePubSub(pubsub, new SlidingStrategy());
|
|
54
|
+
});
|
|
69
55
|
/** @internal */
|
|
70
56
|
exports.sliding = sliding;
|
|
71
|
-
const unbounded =
|
|
57
|
+
const unbounded = options => core.suspend(() => {
|
|
58
|
+
const pubsub = makeUnboundedPubSub(options);
|
|
59
|
+
return makePubSub(pubsub, new DroppingStrategy());
|
|
60
|
+
});
|
|
72
61
|
/** @internal */
|
|
73
62
|
exports.unbounded = unbounded;
|
|
74
63
|
const capacity = self => self.capacity();
|
|
@@ -99,43 +88,48 @@ const publishAll = exports.publishAll = /*#__PURE__*/(0, _Function.dual)(2, (sel
|
|
|
99
88
|
const subscribe = self => self.subscribe;
|
|
100
89
|
/** @internal */
|
|
101
90
|
exports.subscribe = subscribe;
|
|
102
|
-
const makeBoundedPubSub =
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
91
|
+
const makeBoundedPubSub = capacity => {
|
|
92
|
+
const options = typeof capacity === "number" ? {
|
|
93
|
+
capacity
|
|
94
|
+
} : capacity;
|
|
95
|
+
ensureCapacity(options.capacity);
|
|
96
|
+
const replayBuffer = options.replay && options.replay > 0 ? new ReplayBuffer(Math.ceil(options.replay)) : undefined;
|
|
97
|
+
if (options.capacity === 1) {
|
|
98
|
+
return new BoundedPubSubSingle(replayBuffer);
|
|
99
|
+
} else if ((0, _Number.nextPow2)(options.capacity) === options.capacity) {
|
|
100
|
+
return new BoundedPubSubPow2(options.capacity, replayBuffer);
|
|
108
101
|
} else {
|
|
109
|
-
return new BoundedPubSubArb(
|
|
102
|
+
return new BoundedPubSubArb(options.capacity, replayBuffer);
|
|
110
103
|
}
|
|
111
104
|
};
|
|
112
105
|
/** @internal */
|
|
113
|
-
const makeUnboundedPubSub = ()
|
|
114
|
-
return new UnboundedPubSub();
|
|
115
|
-
};
|
|
106
|
+
const makeUnboundedPubSub = options => new UnboundedPubSub(options?.replay ? new ReplayBuffer(options.replay) : undefined);
|
|
116
107
|
/** @internal */
|
|
117
108
|
const makeSubscription = (pubsub, subscribers, strategy) => core.map(core.deferredMake(), deferred => unsafeMakeSubscription(pubsub, subscribers, pubsub.subscribe(), MutableQueue.unbounded(), deferred, MutableRef.make(false), strategy));
|
|
118
109
|
/** @internal */
|
|
119
|
-
const unsafeMakeSubscription = (pubsub, subscribers, subscription, pollers, shutdownHook, shutdownFlag, strategy) =>
|
|
120
|
-
return new SubscriptionImpl(pubsub, subscribers, subscription, pollers, shutdownHook, shutdownFlag, strategy);
|
|
121
|
-
};
|
|
110
|
+
const unsafeMakeSubscription = (pubsub, subscribers, subscription, pollers, shutdownHook, shutdownFlag, strategy) => new SubscriptionImpl(pubsub, subscribers, subscription, pollers, shutdownHook, shutdownFlag, strategy, pubsub.replayWindow());
|
|
122
111
|
/** @internal */
|
|
123
112
|
exports.unsafeMakeSubscription = unsafeMakeSubscription;
|
|
124
113
|
class BoundedPubSubArb {
|
|
114
|
+
capacity;
|
|
115
|
+
replayBuffer;
|
|
125
116
|
array;
|
|
126
117
|
publisherIndex = 0;
|
|
127
118
|
subscribers;
|
|
128
119
|
subscriberCount = 0;
|
|
129
120
|
subscribersIndex = 0;
|
|
130
|
-
capacity
|
|
131
|
-
|
|
121
|
+
constructor(capacity, replayBuffer) {
|
|
122
|
+
this.capacity = capacity;
|
|
123
|
+
this.replayBuffer = replayBuffer;
|
|
132
124
|
this.array = Array.from({
|
|
133
|
-
length:
|
|
125
|
+
length: capacity
|
|
134
126
|
});
|
|
135
127
|
this.subscribers = Array.from({
|
|
136
|
-
length:
|
|
128
|
+
length: capacity
|
|
137
129
|
});
|
|
138
|
-
|
|
130
|
+
}
|
|
131
|
+
replayWindow() {
|
|
132
|
+
return this.replayBuffer ? new ReplayWindowImpl(this.replayBuffer) : emptyReplayWindow;
|
|
139
133
|
}
|
|
140
134
|
isEmpty() {
|
|
141
135
|
return this.publisherIndex === this.subscribersIndex;
|
|
@@ -156,10 +150,16 @@ class BoundedPubSubArb {
|
|
|
156
150
|
this.subscribers[index] = this.subscriberCount;
|
|
157
151
|
this.publisherIndex += 1;
|
|
158
152
|
}
|
|
153
|
+
if (this.replayBuffer) {
|
|
154
|
+
this.replayBuffer.offer(value);
|
|
155
|
+
}
|
|
159
156
|
return true;
|
|
160
157
|
}
|
|
161
158
|
publishAll(elements) {
|
|
162
159
|
if (this.subscriberCount === 0) {
|
|
160
|
+
if (this.replayBuffer) {
|
|
161
|
+
this.replayBuffer.offerAll(elements);
|
|
162
|
+
}
|
|
163
163
|
return Chunk.empty();
|
|
164
164
|
}
|
|
165
165
|
const chunk = Chunk.fromIterable(elements);
|
|
@@ -178,6 +178,9 @@ class BoundedPubSubArb {
|
|
|
178
178
|
this.array[index] = a;
|
|
179
179
|
this.subscribers[index] = this.subscriberCount;
|
|
180
180
|
this.publisherIndex += 1;
|
|
181
|
+
if (this.replayBuffer) {
|
|
182
|
+
this.replayBuffer.offer(a);
|
|
183
|
+
}
|
|
181
184
|
}
|
|
182
185
|
return Chunk.drop(chunk, iteratorIndex);
|
|
183
186
|
}
|
|
@@ -188,6 +191,9 @@ class BoundedPubSubArb {
|
|
|
188
191
|
this.subscribers[index] = 0;
|
|
189
192
|
this.subscribersIndex += 1;
|
|
190
193
|
}
|
|
194
|
+
if (this.replayBuffer) {
|
|
195
|
+
this.replayBuffer.slide();
|
|
196
|
+
}
|
|
191
197
|
}
|
|
192
198
|
subscribe() {
|
|
193
199
|
this.subscriberCount += 1;
|
|
@@ -274,22 +280,27 @@ class BoundedPubSubArbSubscription {
|
|
|
274
280
|
}
|
|
275
281
|
/** @internal */
|
|
276
282
|
class BoundedPubSubPow2 {
|
|
283
|
+
capacity;
|
|
284
|
+
replayBuffer;
|
|
277
285
|
array;
|
|
278
286
|
mask;
|
|
279
287
|
publisherIndex = 0;
|
|
280
288
|
subscribers;
|
|
281
289
|
subscriberCount = 0;
|
|
282
290
|
subscribersIndex = 0;
|
|
283
|
-
capacity
|
|
284
|
-
|
|
291
|
+
constructor(capacity, replayBuffer) {
|
|
292
|
+
this.capacity = capacity;
|
|
293
|
+
this.replayBuffer = replayBuffer;
|
|
285
294
|
this.array = Array.from({
|
|
286
|
-
length:
|
|
295
|
+
length: capacity
|
|
287
296
|
});
|
|
288
|
-
this.mask =
|
|
297
|
+
this.mask = capacity - 1;
|
|
289
298
|
this.subscribers = Array.from({
|
|
290
|
-
length:
|
|
299
|
+
length: capacity
|
|
291
300
|
});
|
|
292
|
-
|
|
301
|
+
}
|
|
302
|
+
replayWindow() {
|
|
303
|
+
return this.replayBuffer ? new ReplayWindowImpl(this.replayBuffer) : emptyReplayWindow;
|
|
293
304
|
}
|
|
294
305
|
isEmpty() {
|
|
295
306
|
return this.publisherIndex === this.subscribersIndex;
|
|
@@ -310,10 +321,16 @@ class BoundedPubSubPow2 {
|
|
|
310
321
|
this.subscribers[index] = this.subscriberCount;
|
|
311
322
|
this.publisherIndex += 1;
|
|
312
323
|
}
|
|
324
|
+
if (this.replayBuffer) {
|
|
325
|
+
this.replayBuffer.offer(value);
|
|
326
|
+
}
|
|
313
327
|
return true;
|
|
314
328
|
}
|
|
315
329
|
publishAll(elements) {
|
|
316
330
|
if (this.subscriberCount === 0) {
|
|
331
|
+
if (this.replayBuffer) {
|
|
332
|
+
this.replayBuffer.offerAll(elements);
|
|
333
|
+
}
|
|
317
334
|
return Chunk.empty();
|
|
318
335
|
}
|
|
319
336
|
const chunk = Chunk.fromIterable(elements);
|
|
@@ -332,6 +349,9 @@ class BoundedPubSubPow2 {
|
|
|
332
349
|
this.array[index] = elem;
|
|
333
350
|
this.subscribers[index] = this.subscriberCount;
|
|
334
351
|
this.publisherIndex += 1;
|
|
352
|
+
if (this.replayBuffer) {
|
|
353
|
+
this.replayBuffer.offer(elem);
|
|
354
|
+
}
|
|
335
355
|
}
|
|
336
356
|
return Chunk.drop(chunk, iteratorIndex);
|
|
337
357
|
}
|
|
@@ -342,6 +362,9 @@ class BoundedPubSubPow2 {
|
|
|
342
362
|
this.subscribers[index] = 0;
|
|
343
363
|
this.subscribersIndex += 1;
|
|
344
364
|
}
|
|
365
|
+
if (this.replayBuffer) {
|
|
366
|
+
this.replayBuffer.slide();
|
|
367
|
+
}
|
|
345
368
|
}
|
|
346
369
|
subscribe() {
|
|
347
370
|
this.subscriberCount += 1;
|
|
@@ -429,11 +452,18 @@ class BoundedPubSubPow2Subscription {
|
|
|
429
452
|
}
|
|
430
453
|
/** @internal */
|
|
431
454
|
class BoundedPubSubSingle {
|
|
455
|
+
replayBuffer;
|
|
432
456
|
publisherIndex = 0;
|
|
433
457
|
subscriberCount = 0;
|
|
434
458
|
subscribers = 0;
|
|
435
459
|
value = AbsentValue;
|
|
436
460
|
capacity = 1;
|
|
461
|
+
constructor(replayBuffer) {
|
|
462
|
+
this.replayBuffer = replayBuffer;
|
|
463
|
+
}
|
|
464
|
+
replayWindow() {
|
|
465
|
+
return this.replayBuffer ? new ReplayWindowImpl(this.replayBuffer) : emptyReplayWindow;
|
|
466
|
+
}
|
|
437
467
|
pipe() {
|
|
438
468
|
return (0, _Pipeable.pipeArguments)(this, arguments);
|
|
439
469
|
}
|
|
@@ -455,10 +485,16 @@ class BoundedPubSubSingle {
|
|
|
455
485
|
this.subscribers = this.subscriberCount;
|
|
456
486
|
this.publisherIndex += 1;
|
|
457
487
|
}
|
|
488
|
+
if (this.replayBuffer) {
|
|
489
|
+
this.replayBuffer.offer(value);
|
|
490
|
+
}
|
|
458
491
|
return true;
|
|
459
492
|
}
|
|
460
493
|
publishAll(elements) {
|
|
461
494
|
if (this.subscriberCount === 0) {
|
|
495
|
+
if (this.replayBuffer) {
|
|
496
|
+
this.replayBuffer.offerAll(elements);
|
|
497
|
+
}
|
|
462
498
|
return Chunk.empty();
|
|
463
499
|
}
|
|
464
500
|
const chunk = Chunk.fromIterable(elements);
|
|
@@ -476,6 +512,9 @@ class BoundedPubSubSingle {
|
|
|
476
512
|
this.subscribers = 0;
|
|
477
513
|
this.value = AbsentValue;
|
|
478
514
|
}
|
|
515
|
+
if (this.replayBuffer) {
|
|
516
|
+
this.replayBuffer.slide();
|
|
517
|
+
}
|
|
479
518
|
}
|
|
480
519
|
subscribe() {
|
|
481
520
|
this.subscriberCount += 1;
|
|
@@ -537,6 +576,7 @@ class BoundedPubSubSingleSubscription {
|
|
|
537
576
|
}
|
|
538
577
|
/** @internal */
|
|
539
578
|
class UnboundedPubSub {
|
|
579
|
+
replayBuffer;
|
|
540
580
|
publisherHead = {
|
|
541
581
|
value: AbsentValue,
|
|
542
582
|
subscribers: 0,
|
|
@@ -546,6 +586,12 @@ class UnboundedPubSub {
|
|
|
546
586
|
publisherIndex = 0;
|
|
547
587
|
subscribersIndex = 0;
|
|
548
588
|
capacity = Number.MAX_SAFE_INTEGER;
|
|
589
|
+
constructor(replayBuffer) {
|
|
590
|
+
this.replayBuffer = replayBuffer;
|
|
591
|
+
}
|
|
592
|
+
replayWindow() {
|
|
593
|
+
return this.replayBuffer ? new ReplayWindowImpl(this.replayBuffer) : emptyReplayWindow;
|
|
594
|
+
}
|
|
549
595
|
isEmpty() {
|
|
550
596
|
return this.publisherHead === this.publisherTail;
|
|
551
597
|
}
|
|
@@ -566,6 +612,9 @@ class UnboundedPubSub {
|
|
|
566
612
|
this.publisherTail = this.publisherTail.next;
|
|
567
613
|
this.publisherIndex += 1;
|
|
568
614
|
}
|
|
615
|
+
if (this.replayBuffer) {
|
|
616
|
+
this.replayBuffer.offer(value);
|
|
617
|
+
}
|
|
569
618
|
return true;
|
|
570
619
|
}
|
|
571
620
|
publishAll(elements) {
|
|
@@ -573,6 +622,8 @@ class UnboundedPubSub {
|
|
|
573
622
|
for (const a of elements) {
|
|
574
623
|
this.publish(a);
|
|
575
624
|
}
|
|
625
|
+
} else if (this.replayBuffer) {
|
|
626
|
+
this.replayBuffer.offerAll(elements);
|
|
576
627
|
}
|
|
577
628
|
return Chunk.empty();
|
|
578
629
|
}
|
|
@@ -582,6 +633,9 @@ class UnboundedPubSub {
|
|
|
582
633
|
this.publisherHead.value = AbsentValue;
|
|
583
634
|
this.subscribersIndex += 1;
|
|
584
635
|
}
|
|
636
|
+
if (this.replayBuffer) {
|
|
637
|
+
this.replayBuffer.slide();
|
|
638
|
+
}
|
|
585
639
|
}
|
|
586
640
|
subscribe() {
|
|
587
641
|
this.publisherTail.subscribers += 1;
|
|
@@ -696,8 +750,9 @@ class SubscriptionImpl {
|
|
|
696
750
|
shutdownHook;
|
|
697
751
|
shutdownFlag;
|
|
698
752
|
strategy;
|
|
753
|
+
replayWindow;
|
|
699
754
|
[queue.DequeueTypeId] = queue.dequeueVariance;
|
|
700
|
-
constructor(pubsub, subscribers, subscription, pollers, shutdownHook, shutdownFlag, strategy) {
|
|
755
|
+
constructor(pubsub, subscribers, subscription, pollers, shutdownHook, shutdownFlag, strategy, replayWindow) {
|
|
701
756
|
this.pubsub = pubsub;
|
|
702
757
|
this.subscribers = subscribers;
|
|
703
758
|
this.subscription = subscription;
|
|
@@ -705,6 +760,7 @@ class SubscriptionImpl {
|
|
|
705
760
|
this.shutdownHook = shutdownHook;
|
|
706
761
|
this.shutdownFlag = shutdownFlag;
|
|
707
762
|
this.strategy = strategy;
|
|
763
|
+
this.replayWindow = replayWindow;
|
|
708
764
|
}
|
|
709
765
|
pipe() {
|
|
710
766
|
return (0, _Pipeable.pipeArguments)(this, arguments);
|
|
@@ -716,16 +772,16 @@ class SubscriptionImpl {
|
|
|
716
772
|
return !MutableRef.get(this.shutdownFlag);
|
|
717
773
|
}
|
|
718
774
|
get size() {
|
|
719
|
-
return core.suspend(() => MutableRef.get(this.shutdownFlag) ? core.interrupt : core.succeed(this.subscription.size()));
|
|
775
|
+
return core.suspend(() => MutableRef.get(this.shutdownFlag) ? core.interrupt : core.succeed(this.subscription.size() + this.replayWindow.remaining));
|
|
720
776
|
}
|
|
721
777
|
unsafeSize() {
|
|
722
778
|
if (MutableRef.get(this.shutdownFlag)) {
|
|
723
779
|
return Option.none();
|
|
724
780
|
}
|
|
725
|
-
return Option.some(this.subscription.size());
|
|
781
|
+
return Option.some(this.subscription.size() + this.replayWindow.remaining);
|
|
726
782
|
}
|
|
727
783
|
get isFull() {
|
|
728
|
-
return core.
|
|
784
|
+
return core.suspend(() => MutableRef.get(this.shutdownFlag) ? core.interrupt : core.succeed(this.subscription.size() === this.capacity()));
|
|
729
785
|
}
|
|
730
786
|
get isEmpty() {
|
|
731
787
|
return core.map(this.size, size => size === 0);
|
|
@@ -751,6 +807,10 @@ class SubscriptionImpl {
|
|
|
751
807
|
if (MutableRef.get(this.shutdownFlag)) {
|
|
752
808
|
return core.interrupt;
|
|
753
809
|
}
|
|
810
|
+
if (this.replayWindow.remaining > 0) {
|
|
811
|
+
const message = this.replayWindow.take();
|
|
812
|
+
return core.succeed(message);
|
|
813
|
+
}
|
|
754
814
|
const message = MutableQueue.isEmpty(this.pollers) ? this.subscription.poll(MutableQueue.EmptyMutableQueue) : MutableQueue.EmptyMutableQueue;
|
|
755
815
|
if (message === MutableQueue.EmptyMutableQueue) {
|
|
756
816
|
const deferred = core.deferredUnsafeMake(state.id());
|
|
@@ -773,6 +833,9 @@ class SubscriptionImpl {
|
|
|
773
833
|
}
|
|
774
834
|
const as = MutableQueue.isEmpty(this.pollers) ? unsafePollAllSubscription(this.subscription) : Chunk.empty();
|
|
775
835
|
this.strategy.unsafeOnPubSubEmptySpace(this.pubsub, this.subscribers);
|
|
836
|
+
if (this.replayWindow.remaining > 0) {
|
|
837
|
+
return core.succeed(Chunk.appendAll(this.replayWindow.takeAll(), as));
|
|
838
|
+
}
|
|
776
839
|
return core.succeed(as);
|
|
777
840
|
});
|
|
778
841
|
}
|
|
@@ -781,9 +844,17 @@ class SubscriptionImpl {
|
|
|
781
844
|
if (MutableRef.get(this.shutdownFlag)) {
|
|
782
845
|
return core.interrupt;
|
|
783
846
|
}
|
|
847
|
+
let replay = undefined;
|
|
848
|
+
if (this.replayWindow.remaining >= max) {
|
|
849
|
+
const as = this.replayWindow.takeN(max);
|
|
850
|
+
return core.succeed(as);
|
|
851
|
+
} else if (this.replayWindow.remaining > 0) {
|
|
852
|
+
replay = this.replayWindow.takeAll();
|
|
853
|
+
max = max - replay.length;
|
|
854
|
+
}
|
|
784
855
|
const as = MutableQueue.isEmpty(this.pollers) ? unsafePollN(this.subscription, max) : Chunk.empty();
|
|
785
856
|
this.strategy.unsafeOnPubSubEmptySpace(this.pubsub, this.subscribers);
|
|
786
|
-
return core.succeed(as);
|
|
857
|
+
return replay ? core.succeed(Chunk.appendAll(replay, as)) : core.succeed(as);
|
|
787
858
|
});
|
|
788
859
|
}
|
|
789
860
|
takeBetween(min, max) {
|
|
@@ -910,9 +981,7 @@ class PubSubImpl {
|
|
|
910
981
|
const makePubSub = (pubsub, strategy) => core.flatMap(fiberRuntime.scopeMake(), scope => core.map(core.deferredMake(), deferred => unsafeMakePubSub(pubsub, new Map(), scope, deferred, MutableRef.make(false), strategy)));
|
|
911
982
|
/** @internal */
|
|
912
983
|
exports.makePubSub = makePubSub;
|
|
913
|
-
const unsafeMakePubSub = (pubsub, subscribers, scope, shutdownHook, shutdownFlag, strategy) =>
|
|
914
|
-
return new PubSubImpl(pubsub, subscribers, scope, shutdownHook, shutdownFlag, strategy);
|
|
915
|
-
};
|
|
984
|
+
const unsafeMakePubSub = (pubsub, subscribers, scope, shutdownHook, shutdownFlag, strategy) => new PubSubImpl(pubsub, subscribers, scope, shutdownHook, shutdownFlag, strategy);
|
|
916
985
|
/** @internal */
|
|
917
986
|
exports.unsafeMakePubSub = unsafeMakePubSub;
|
|
918
987
|
const ensureCapacity = capacity => {
|
|
@@ -1123,4 +1192,92 @@ const unsafeStrategyCompleteSubscribers = (strategy, pubsub, subscribers) => {
|
|
|
1123
1192
|
}
|
|
1124
1193
|
}
|
|
1125
1194
|
};
|
|
1195
|
+
class ReplayBuffer {
|
|
1196
|
+
capacity;
|
|
1197
|
+
constructor(capacity) {
|
|
1198
|
+
this.capacity = capacity;
|
|
1199
|
+
}
|
|
1200
|
+
head = {
|
|
1201
|
+
value: AbsentValue,
|
|
1202
|
+
next: null
|
|
1203
|
+
};
|
|
1204
|
+
tail = this.head;
|
|
1205
|
+
size = 0;
|
|
1206
|
+
index = 0;
|
|
1207
|
+
slide() {
|
|
1208
|
+
this.index++;
|
|
1209
|
+
}
|
|
1210
|
+
offer(a) {
|
|
1211
|
+
this.tail.value = a;
|
|
1212
|
+
this.tail.next = {
|
|
1213
|
+
value: AbsentValue,
|
|
1214
|
+
next: null
|
|
1215
|
+
};
|
|
1216
|
+
this.tail = this.tail.next;
|
|
1217
|
+
if (this.size === this.capacity) {
|
|
1218
|
+
this.head = this.head.next;
|
|
1219
|
+
} else {
|
|
1220
|
+
this.size += 1;
|
|
1221
|
+
}
|
|
1222
|
+
}
|
|
1223
|
+
offerAll(as) {
|
|
1224
|
+
for (const a of as) {
|
|
1225
|
+
this.offer(a);
|
|
1226
|
+
}
|
|
1227
|
+
}
|
|
1228
|
+
}
|
|
1229
|
+
class ReplayWindowImpl {
|
|
1230
|
+
buffer;
|
|
1231
|
+
head;
|
|
1232
|
+
index;
|
|
1233
|
+
remaining;
|
|
1234
|
+
constructor(buffer) {
|
|
1235
|
+
this.buffer = buffer;
|
|
1236
|
+
this.index = buffer.index;
|
|
1237
|
+
this.remaining = buffer.size;
|
|
1238
|
+
this.head = buffer.head;
|
|
1239
|
+
}
|
|
1240
|
+
fastForward() {
|
|
1241
|
+
while (this.index < this.buffer.index) {
|
|
1242
|
+
this.head = this.head.next;
|
|
1243
|
+
this.index++;
|
|
1244
|
+
}
|
|
1245
|
+
}
|
|
1246
|
+
take() {
|
|
1247
|
+
if (this.remaining === 0) {
|
|
1248
|
+
return undefined;
|
|
1249
|
+
} else if (this.index < this.buffer.index) {
|
|
1250
|
+
this.fastForward();
|
|
1251
|
+
}
|
|
1252
|
+
this.remaining--;
|
|
1253
|
+
const value = this.head.value;
|
|
1254
|
+
this.head = this.head.next;
|
|
1255
|
+
return value;
|
|
1256
|
+
}
|
|
1257
|
+
takeN(n) {
|
|
1258
|
+
if (this.remaining === 0) {
|
|
1259
|
+
return Chunk.empty();
|
|
1260
|
+
} else if (this.index < this.buffer.index) {
|
|
1261
|
+
this.fastForward();
|
|
1262
|
+
}
|
|
1263
|
+
const len = Math.min(n, this.remaining);
|
|
1264
|
+
const items = new Array(len);
|
|
1265
|
+
for (let i = 0; i < len; i++) {
|
|
1266
|
+
const value = this.head.value;
|
|
1267
|
+
this.head = this.head.next;
|
|
1268
|
+
items[i] = value;
|
|
1269
|
+
}
|
|
1270
|
+
this.remaining -= len;
|
|
1271
|
+
return Chunk.unsafeFromArray(items);
|
|
1272
|
+
}
|
|
1273
|
+
takeAll() {
|
|
1274
|
+
return this.takeN(this.remaining);
|
|
1275
|
+
}
|
|
1276
|
+
}
|
|
1277
|
+
const emptyReplayWindow = {
|
|
1278
|
+
remaining: 0,
|
|
1279
|
+
take: () => undefined,
|
|
1280
|
+
takeN: () => Chunk.empty(),
|
|
1281
|
+
takeAll: () => Chunk.empty()
|
|
1282
|
+
};
|
|
1126
1283
|
//# sourceMappingURL=pubsub.js.map
|