effect 3.8.3 → 3.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/BigDecimal.js +2 -3
- package/dist/cjs/BigDecimal.js.map +1 -1
- package/dist/cjs/BigInt.js.map +1 -1
- package/dist/cjs/Boolean.js.map +1 -1
- package/dist/cjs/Cause.js.map +1 -1
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/ChildExecutorDecision.js.map +1 -1
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/ConfigError.js.map +1 -1
- package/dist/cjs/ConfigProvider.js.map +1 -1
- package/dist/cjs/ConfigProviderPathPatch.js.map +1 -1
- package/dist/cjs/Console.js.map +1 -1
- package/dist/cjs/Context.js.map +1 -1
- package/dist/cjs/Cron.js.map +1 -1
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/DateTime.js.map +1 -1
- package/dist/cjs/Deferred.js.map +1 -1
- package/dist/cjs/Differ.js.map +1 -1
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Equivalence.js.map +1 -1
- package/dist/cjs/ExecutionStrategy.js.map +1 -1
- package/dist/cjs/Exit.js.map +1 -1
- package/dist/cjs/Fiber.js.map +1 -1
- package/dist/cjs/FiberHandle.js.map +1 -1
- package/dist/cjs/FiberId.js.map +1 -1
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/FiberRef.js.map +1 -1
- package/dist/cjs/FiberRefs.js.map +1 -1
- package/dist/cjs/FiberRefsPatch.js.map +1 -1
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/Function.js.map +1 -1
- package/dist/cjs/GroupBy.js.map +1 -1
- package/dist/cjs/Hash.js.map +1 -1
- package/dist/cjs/HashMap.js.map +1 -1
- package/dist/cjs/HashSet.js.map +1 -1
- package/dist/cjs/Iterable.js.map +1 -1
- package/dist/cjs/KeyedPool.js.map +1 -1
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/List.js.map +1 -1
- package/dist/cjs/LogLevel.js.map +1 -1
- package/dist/cjs/Logger.js.map +1 -1
- package/dist/cjs/Mailbox.js.map +1 -1
- package/dist/cjs/MergeDecision.js.map +1 -1
- package/dist/cjs/MergeState.js.map +1 -1
- package/dist/cjs/MergeStrategy.js.map +1 -1
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/MetricHook.js.map +1 -1
- package/dist/cjs/MetricKey.js.map +1 -1
- package/dist/cjs/MetricPolling.js.map +1 -1
- package/dist/cjs/MetricState.js.map +1 -1
- package/dist/cjs/Micro.js +54 -23
- package/dist/cjs/Micro.js.map +1 -1
- package/dist/cjs/MutableHashMap.js.map +1 -1
- package/dist/cjs/MutableHashSet.js.map +1 -1
- package/dist/cjs/MutableList.js.map +1 -1
- package/dist/cjs/MutableQueue.js.map +1 -1
- package/dist/cjs/MutableRef.js.map +1 -1
- package/dist/cjs/Number.js.map +1 -1
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/Order.js.map +1 -1
- package/dist/cjs/Ordering.js.map +1 -1
- package/dist/cjs/Pipeable.js.map +1 -1
- package/dist/cjs/Pool.js.map +1 -1
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/PubSub.js.map +1 -1
- package/dist/cjs/Queue.js.map +1 -1
- package/dist/cjs/RcMap.js.map +1 -1
- package/dist/cjs/Readable.js.map +1 -1
- package/dist/cjs/Record.js.map +1 -1
- package/dist/cjs/RedBlackTree.js.map +1 -1
- package/dist/cjs/Ref.js.map +1 -1
- package/dist/cjs/Request.js.map +1 -1
- package/dist/cjs/RequestResolver.js.map +1 -1
- package/dist/cjs/Runtime.js.map +1 -1
- package/dist/cjs/RuntimeFlags.js.map +1 -1
- package/dist/cjs/RuntimeFlagsPatch.js.map +1 -1
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/ScheduleInterval.js.map +1 -1
- package/dist/cjs/ScheduleIntervals.js.map +1 -1
- package/dist/cjs/Scheduler.js.map +1 -1
- package/dist/cjs/Scope.js +25 -15
- package/dist/cjs/Scope.js.map +1 -1
- package/dist/cjs/ScopedRef.js.map +1 -1
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/SortedMap.js.map +1 -1
- package/dist/cjs/SortedSet.js.map +1 -1
- package/dist/cjs/Stream.js +17 -3
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/StreamHaltStrategy.js.map +1 -1
- package/dist/cjs/String.js.map +1 -1
- package/dist/cjs/Struct.js.map +1 -1
- package/dist/cjs/Subscribable.js.map +1 -1
- package/dist/cjs/SubscriptionRef.js.map +1 -1
- package/dist/cjs/SynchronizedRef.js.map +1 -1
- package/dist/cjs/TArray.js.map +1 -1
- package/dist/cjs/TDeferred.js.map +1 -1
- package/dist/cjs/TMap.js.map +1 -1
- package/dist/cjs/TPriorityQueue.js.map +1 -1
- package/dist/cjs/TPubSub.js.map +1 -1
- package/dist/cjs/TQueue.js.map +1 -1
- package/dist/cjs/TReentrantLock.js.map +1 -1
- package/dist/cjs/TRef.js.map +1 -1
- package/dist/cjs/TSemaphore.js.map +1 -1
- package/dist/cjs/TSet.js.map +1 -1
- package/dist/cjs/Take.js.map +1 -1
- package/dist/cjs/TestAnnotationMap.js.map +1 -1
- package/dist/cjs/TestClock.js.map +1 -1
- package/dist/cjs/TestServices.js.map +1 -1
- package/dist/cjs/Trie.js.map +1 -1
- package/dist/cjs/Tuple.js.map +1 -1
- package/dist/cjs/Unify.js.map +1 -1
- package/dist/cjs/UpstreamPullRequest.js.map +1 -1
- package/dist/cjs/UpstreamPullStrategy.js.map +1 -1
- package/dist/cjs/Utils.js +1 -14
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/internal/core.js +4 -3
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/runtime.js +1 -1
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/stream.js +12 -3
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Array.d.ts +2684 -0
- package/dist/dts/Array.d.ts.map +1 -1
- package/dist/dts/BigDecimal.d.ts +558 -1
- package/dist/dts/BigDecimal.d.ts.map +1 -1
- package/dist/dts/BigInt.d.ts +490 -0
- package/dist/dts/BigInt.d.ts.map +1 -1
- package/dist/dts/Boolean.d.ts +228 -0
- package/dist/dts/Boolean.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts +172 -0
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +750 -0
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/ChildExecutorDecision.d.ts +12 -0
- package/dist/dts/ChildExecutorDecision.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +791 -0
- package/dist/dts/Chunk.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +174 -0
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/ConfigError.d.ts +16 -0
- package/dist/dts/ConfigError.d.ts.map +1 -1
- package/dist/dts/ConfigProvider.d.ts +84 -0
- package/dist/dts/ConfigProvider.d.ts.map +1 -1
- package/dist/dts/ConfigProviderPathPatch.d.ts +32 -0
- package/dist/dts/ConfigProviderPathPatch.d.ts.map +1 -1
- package/dist/dts/Console.d.ts +24 -0
- package/dist/dts/Console.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +232 -0
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/Cron.d.ts +12 -0
- package/dist/dts/Cron.d.ts.map +1 -1
- package/dist/dts/Data.d.ts +165 -0
- package/dist/dts/Data.d.ts.map +1 -1
- package/dist/dts/DateTime.d.ts +878 -0
- package/dist/dts/DateTime.d.ts.map +1 -1
- package/dist/dts/Deferred.d.ts +170 -0
- package/dist/dts/Deferred.d.ts.map +1 -1
- package/dist/dts/Differ.d.ts +78 -0
- package/dist/dts/Differ.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts +130 -0
- package/dist/dts/Duration.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +4117 -3
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +620 -0
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/Equivalence.d.ts +24 -0
- package/dist/dts/Equivalence.d.ts.map +1 -1
- package/dist/dts/ExecutionStrategy.d.ts +14 -0
- package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
- package/dist/dts/Exit.d.ts +252 -0
- package/dist/dts/Exit.d.ts.map +1 -1
- package/dist/dts/Fiber.d.ts +182 -0
- package/dist/dts/Fiber.d.ts.map +1 -1
- package/dist/dts/FiberHandle.d.ts +42 -0
- package/dist/dts/FiberHandle.d.ts.map +1 -1
- package/dist/dts/FiberId.d.ts +24 -0
- package/dist/dts/FiberId.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts +102 -0
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberRef.d.ts +80 -0
- package/dist/dts/FiberRef.d.ts.map +1 -1
- package/dist/dts/FiberRefs.d.ts +84 -0
- package/dist/dts/FiberRefs.d.ts.map +1 -1
- package/dist/dts/FiberRefsPatch.d.ts +30 -0
- package/dist/dts/FiberRefsPatch.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts +38 -0
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/Function.d.ts +144 -28
- package/dist/dts/Function.d.ts.map +1 -1
- package/dist/dts/GroupBy.d.ts +38 -0
- package/dist/dts/GroupBy.d.ts.map +1 -1
- package/dist/dts/Hash.d.ts +8 -0
- package/dist/dts/Hash.d.ts.map +1 -1
- package/dist/dts/HashMap.d.ts +300 -0
- package/dist/dts/HashMap.d.ts.map +1 -1
- package/dist/dts/HashSet.d.ts +284 -0
- package/dist/dts/HashSet.d.ts.map +1 -1
- package/dist/dts/Iterable.d.ts +454 -0
- package/dist/dts/Iterable.d.ts.map +1 -1
- package/dist/dts/KeyedPool.d.ts +34 -0
- package/dist/dts/KeyedPool.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +414 -0
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/List.d.ts +430 -0
- package/dist/dts/List.d.ts.map +1 -1
- package/dist/dts/LogLevel.d.ts +46 -0
- package/dist/dts/LogLevel.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +194 -0
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/Mailbox.d.ts +16 -0
- package/dist/dts/Mailbox.d.ts.map +1 -1
- package/dist/dts/MergeDecision.d.ts +8 -0
- package/dist/dts/MergeDecision.d.ts.map +1 -1
- package/dist/dts/MergeState.d.ts +8 -0
- package/dist/dts/MergeState.d.ts.map +1 -1
- package/dist/dts/MergeStrategy.d.ts +12 -0
- package/dist/dts/MergeStrategy.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts +410 -0
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/MetricHook.d.ts +24 -0
- package/dist/dts/MetricHook.d.ts.map +1 -1
- package/dist/dts/MetricKey.d.ts +48 -0
- package/dist/dts/MetricKey.d.ts.map +1 -1
- package/dist/dts/MetricPolling.d.ts +40 -0
- package/dist/dts/MetricPolling.d.ts.map +1 -1
- package/dist/dts/MetricState.d.ts +16 -0
- package/dist/dts/MetricState.d.ts.map +1 -1
- package/dist/dts/Micro.d.ts +1203 -25
- package/dist/dts/Micro.d.ts.map +1 -1
- package/dist/dts/MutableHashMap.d.ts +50 -0
- package/dist/dts/MutableHashMap.d.ts.map +1 -1
- package/dist/dts/MutableHashSet.d.ts +24 -0
- package/dist/dts/MutableHashSet.d.ts.map +1 -1
- package/dist/dts/MutableList.d.ts +36 -0
- package/dist/dts/MutableList.d.ts.map +1 -1
- package/dist/dts/MutableQueue.d.ts +62 -0
- package/dist/dts/MutableQueue.d.ts.map +1 -1
- package/dist/dts/MutableRef.d.ts +56 -0
- package/dist/dts/MutableRef.d.ts.map +1 -1
- package/dist/dts/Number.d.ts +474 -0
- package/dist/dts/Number.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +1019 -0
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/Order.d.ts +24 -0
- package/dist/dts/Order.d.ts.map +1 -1
- package/dist/dts/Ordering.d.ts +66 -0
- package/dist/dts/Ordering.d.ts.map +1 -1
- package/dist/dts/Pipeable.d.ts +21 -21
- package/dist/dts/Pipeable.d.ts.map +1 -1
- package/dist/dts/Pool.d.ts +16 -0
- package/dist/dts/Pool.d.ts.map +1 -1
- package/dist/dts/Predicate.d.ts +498 -0
- package/dist/dts/Predicate.d.ts.map +1 -1
- package/dist/dts/PubSub.d.ts +28 -0
- package/dist/dts/PubSub.d.ts.map +1 -1
- package/dist/dts/Queue.d.ts +104 -0
- package/dist/dts/Queue.d.ts.map +1 -1
- package/dist/dts/RcMap.d.ts +70 -0
- package/dist/dts/RcMap.d.ts.map +1 -1
- package/dist/dts/Readable.d.ts +16 -0
- package/dist/dts/Readable.d.ts.map +1 -1
- package/dist/dts/Record.d.ts +800 -0
- package/dist/dts/Record.d.ts.map +1 -1
- package/dist/dts/RedBlackTree.d.ts +300 -0
- package/dist/dts/RedBlackTree.d.ts.map +1 -1
- package/dist/dts/Ref.d.ts +88 -0
- package/dist/dts/Ref.d.ts.map +1 -1
- package/dist/dts/Request.d.ts +76 -0
- package/dist/dts/Request.d.ts.map +1 -1
- package/dist/dts/RequestResolver.d.ts +144 -0
- package/dist/dts/RequestResolver.d.ts.map +1 -1
- package/dist/dts/Runtime.d.ts +126 -0
- package/dist/dts/Runtime.d.ts.map +1 -1
- package/dist/dts/RuntimeFlags.d.ts +100 -0
- package/dist/dts/RuntimeFlags.d.ts.map +1 -1
- package/dist/dts/RuntimeFlagsPatch.d.ts +112 -0
- package/dist/dts/RuntimeFlagsPatch.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +1090 -0
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schedule.d.ts +704 -0
- package/dist/dts/Schedule.d.ts.map +1 -1
- package/dist/dts/ScheduleInterval.d.ts +68 -0
- package/dist/dts/ScheduleInterval.d.ts.map +1 -1
- package/dist/dts/ScheduleIntervals.d.ts +50 -0
- package/dist/dts/ScheduleIntervals.d.ts.map +1 -1
- package/dist/dts/Scope.d.ts +76 -15
- package/dist/dts/Scope.d.ts.map +1 -1
- package/dist/dts/ScopedRef.d.ts +22 -0
- package/dist/dts/ScopedRef.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts +464 -0
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/SortedMap.d.ts +76 -0
- package/dist/dts/SortedMap.d.ts.map +1 -1
- package/dist/dts/SortedSet.d.ts +142 -0
- package/dist/dts/SortedSet.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +4998 -1
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/StreamHaltStrategy.d.ts +12 -0
- package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
- package/dist/dts/String.d.ts +200 -0
- package/dist/dts/String.d.ts.map +1 -1
- package/dist/dts/Struct.d.ts +84 -0
- package/dist/dts/Struct.d.ts.map +1 -1
- package/dist/dts/Subscribable.d.ts +16 -0
- package/dist/dts/Subscribable.d.ts.map +1 -1
- package/dist/dts/SubscriptionRef.d.ts +152 -0
- package/dist/dts/SubscriptionRef.d.ts.map +1 -1
- package/dist/dts/SynchronizedRef.d.ts +152 -0
- package/dist/dts/SynchronizedRef.d.ts.map +1 -1
- package/dist/dts/TArray.d.ts +426 -0
- package/dist/dts/TArray.d.ts.map +1 -1
- package/dist/dts/TDeferred.d.ts +24 -0
- package/dist/dts/TDeferred.d.ts.map +1 -1
- package/dist/dts/TMap.d.ts +366 -0
- package/dist/dts/TMap.d.ts.map +1 -1
- package/dist/dts/TPriorityQueue.d.ts +60 -0
- package/dist/dts/TPriorityQueue.d.ts.map +1 -1
- package/dist/dts/TPubSub.d.ts +28 -0
- package/dist/dts/TPubSub.d.ts.map +1 -1
- package/dist/dts/TQueue.d.ts +108 -0
- package/dist/dts/TQueue.d.ts.map +1 -1
- package/dist/dts/TReentrantLock.d.ts +36 -0
- package/dist/dts/TReentrantLock.d.ts.map +1 -1
- package/dist/dts/TRef.d.ts +88 -0
- package/dist/dts/TRef.d.ts.map +1 -1
- package/dist/dts/TSemaphore.d.ts +40 -0
- package/dist/dts/TSemaphore.d.ts.map +1 -1
- package/dist/dts/TSet.d.ts +254 -0
- package/dist/dts/TSet.d.ts.map +1 -1
- package/dist/dts/Take.d.ts +56 -0
- package/dist/dts/Take.d.ts.map +1 -1
- package/dist/dts/TestAnnotationMap.d.ts.map +1 -1
- package/dist/dts/TestClock.d.ts.map +1 -1
- package/dist/dts/TestServices.d.ts.map +1 -1
- package/dist/dts/Trie.d.ts +906 -0
- package/dist/dts/Trie.d.ts.map +1 -1
- package/dist/dts/Tuple.d.ts +144 -0
- package/dist/dts/Tuple.d.ts.map +1 -1
- package/dist/dts/Unify.d.ts +18 -0
- package/dist/dts/Unify.d.ts.map +1 -1
- package/dist/dts/UpstreamPullRequest.d.ts +12 -0
- package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
- package/dist/dts/UpstreamPullStrategy.d.ts +12 -0
- package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
- package/dist/dts/Utils.d.ts.map +1 -1
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Array.js.map +1 -1
- package/dist/esm/BigDecimal.js +2 -2
- package/dist/esm/BigDecimal.js.map +1 -1
- package/dist/esm/BigInt.js.map +1 -1
- package/dist/esm/Boolean.js.map +1 -1
- package/dist/esm/Cause.js.map +1 -1
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/ChildExecutorDecision.js.map +1 -1
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/ConfigError.js.map +1 -1
- package/dist/esm/ConfigProvider.js.map +1 -1
- package/dist/esm/ConfigProviderPathPatch.js.map +1 -1
- package/dist/esm/Console.js.map +1 -1
- package/dist/esm/Context.js.map +1 -1
- package/dist/esm/Cron.js.map +1 -1
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/DateTime.js.map +1 -1
- package/dist/esm/Deferred.js.map +1 -1
- package/dist/esm/Differ.js.map +1 -1
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/Equivalence.js.map +1 -1
- package/dist/esm/ExecutionStrategy.js.map +1 -1
- package/dist/esm/Exit.js.map +1 -1
- package/dist/esm/Fiber.js.map +1 -1
- package/dist/esm/FiberHandle.js.map +1 -1
- package/dist/esm/FiberId.js.map +1 -1
- package/dist/esm/FiberMap.js.map +1 -1
- package/dist/esm/FiberRef.js.map +1 -1
- package/dist/esm/FiberRefs.js.map +1 -1
- package/dist/esm/FiberRefsPatch.js.map +1 -1
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/Function.js.map +1 -1
- package/dist/esm/GroupBy.js.map +1 -1
- package/dist/esm/Hash.js.map +1 -1
- package/dist/esm/HashMap.js.map +1 -1
- package/dist/esm/HashSet.js.map +1 -1
- package/dist/esm/Iterable.js.map +1 -1
- package/dist/esm/KeyedPool.js.map +1 -1
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/List.js.map +1 -1
- package/dist/esm/LogLevel.js.map +1 -1
- package/dist/esm/Logger.js.map +1 -1
- package/dist/esm/Mailbox.js.map +1 -1
- package/dist/esm/MergeDecision.js.map +1 -1
- package/dist/esm/MergeState.js.map +1 -1
- package/dist/esm/MergeStrategy.js.map +1 -1
- package/dist/esm/Metric.js.map +1 -1
- package/dist/esm/MetricHook.js.map +1 -1
- package/dist/esm/MetricKey.js.map +1 -1
- package/dist/esm/MetricPolling.js.map +1 -1
- package/dist/esm/MetricState.js.map +1 -1
- package/dist/esm/Micro.js +50 -20
- package/dist/esm/Micro.js.map +1 -1
- package/dist/esm/MutableHashMap.js.map +1 -1
- package/dist/esm/MutableHashSet.js.map +1 -1
- package/dist/esm/MutableList.js.map +1 -1
- package/dist/esm/MutableQueue.js.map +1 -1
- package/dist/esm/MutableRef.js.map +1 -1
- package/dist/esm/Number.js.map +1 -1
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/Order.js.map +1 -1
- package/dist/esm/Ordering.js.map +1 -1
- package/dist/esm/Pipeable.js.map +1 -1
- package/dist/esm/Pool.js.map +1 -1
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/PubSub.js.map +1 -1
- package/dist/esm/Queue.js.map +1 -1
- package/dist/esm/RcMap.js.map +1 -1
- package/dist/esm/Readable.js.map +1 -1
- package/dist/esm/Record.js.map +1 -1
- package/dist/esm/RedBlackTree.js.map +1 -1
- package/dist/esm/Ref.js.map +1 -1
- package/dist/esm/Request.js.map +1 -1
- package/dist/esm/RequestResolver.js.map +1 -1
- package/dist/esm/Runtime.js.map +1 -1
- package/dist/esm/RuntimeFlags.js.map +1 -1
- package/dist/esm/RuntimeFlagsPatch.js.map +1 -1
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schedule.js.map +1 -1
- package/dist/esm/ScheduleInterval.js.map +1 -1
- package/dist/esm/ScheduleIntervals.js.map +1 -1
- package/dist/esm/Scheduler.js.map +1 -1
- package/dist/esm/Scope.js +25 -15
- package/dist/esm/Scope.js.map +1 -1
- package/dist/esm/ScopedRef.js.map +1 -1
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/SortedMap.js.map +1 -1
- package/dist/esm/SortedSet.js.map +1 -1
- package/dist/esm/Stream.js +14 -0
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/StreamHaltStrategy.js.map +1 -1
- package/dist/esm/String.js.map +1 -1
- package/dist/esm/Struct.js.map +1 -1
- package/dist/esm/Subscribable.js.map +1 -1
- package/dist/esm/SubscriptionRef.js.map +1 -1
- package/dist/esm/SynchronizedRef.js.map +1 -1
- package/dist/esm/TArray.js.map +1 -1
- package/dist/esm/TDeferred.js.map +1 -1
- package/dist/esm/TMap.js.map +1 -1
- package/dist/esm/TPriorityQueue.js.map +1 -1
- package/dist/esm/TPubSub.js.map +1 -1
- package/dist/esm/TQueue.js.map +1 -1
- package/dist/esm/TReentrantLock.js.map +1 -1
- package/dist/esm/TRef.js.map +1 -1
- package/dist/esm/TSemaphore.js.map +1 -1
- package/dist/esm/TSet.js.map +1 -1
- package/dist/esm/Take.js.map +1 -1
- package/dist/esm/TestAnnotationMap.js.map +1 -1
- package/dist/esm/TestClock.js.map +1 -1
- package/dist/esm/TestServices.js.map +1 -1
- package/dist/esm/Trie.js.map +1 -1
- package/dist/esm/Tuple.js.map +1 -1
- package/dist/esm/Unify.js.map +1 -1
- package/dist/esm/UpstreamPullRequest.js.map +1 -1
- package/dist/esm/UpstreamPullStrategy.js.map +1 -1
- package/dist/esm/Utils.js +1 -14
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/internal/core.js +1 -1
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/runtime.js +1 -1
- package/dist/esm/internal/runtime.js.map +1 -1
- package/dist/esm/internal/stream.js +9 -0
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Array.ts +2723 -36
- package/src/BigDecimal.ts +585 -18
- package/src/BigInt.ts +516 -16
- package/src/Boolean.ts +241 -8
- package/src/Cause.ts +177 -1
- package/src/Channel.ts +766 -49
- package/src/ChildExecutorDecision.ts +12 -0
- package/src/Chunk.ts +818 -4
- package/src/Config.ts +187 -8
- package/src/ConfigError.ts +16 -0
- package/src/ConfigProvider.ts +89 -1
- package/src/ConfigProviderPathPatch.ts +32 -0
- package/src/Console.ts +37 -8
- package/src/Context.ts +232 -0
- package/src/Cron.ts +12 -0
- package/src/Data.ts +165 -0
- package/src/DateTime.ts +1006 -50
- package/src/Deferred.ts +170 -0
- package/src/Differ.ts +89 -27
- package/src/Duration.ts +156 -16
- package/src/Effect.ts +4297 -123
- package/src/Either.ts +650 -34
- package/src/Equivalence.ts +24 -0
- package/src/ExecutionStrategy.ts +29 -10
- package/src/Exit.ts +252 -0
- package/src/Fiber.ts +182 -0
- package/src/FiberHandle.ts +42 -0
- package/src/FiberId.ts +24 -0
- package/src/FiberMap.ts +144 -21
- package/src/FiberRef.ts +80 -0
- package/src/FiberRefs.ts +84 -0
- package/src/FiberRefsPatch.ts +35 -1
- package/src/FiberSet.ts +38 -0
- package/src/Function.ts +416 -31
- package/src/GroupBy.ts +38 -0
- package/src/Hash.ts +8 -0
- package/src/HashMap.ts +300 -0
- package/src/HashSet.ts +284 -0
- package/src/Iterable.ts +456 -6
- package/src/KeyedPool.ts +34 -0
- package/src/Layer.ts +426 -30
- package/src/List.ts +476 -3
- package/src/LogLevel.ts +46 -0
- package/src/Logger.ts +195 -4
- package/src/Mailbox.ts +16 -0
- package/src/MergeDecision.ts +8 -0
- package/src/MergeState.ts +8 -0
- package/src/MergeStrategy.ts +25 -8
- package/src/Metric.ts +426 -15
- package/src/MetricHook.ts +24 -0
- package/src/MetricKey.ts +62 -8
- package/src/MetricPolling.ts +42 -6
- package/src/MetricState.ts +16 -0
- package/src/Micro.ts +1350 -102
- package/src/MutableHashMap.ts +105 -1
- package/src/MutableHashSet.ts +24 -0
- package/src/MutableList.ts +36 -0
- package/src/MutableQueue.ts +62 -0
- package/src/MutableRef.ts +56 -0
- package/src/Number.ts +500 -16
- package/src/Option.ts +1042 -16
- package/src/Order.ts +24 -0
- package/src/Ordering.ts +66 -0
- package/src/Pipeable.ts +224 -21
- package/src/Pool.ts +16 -0
- package/src/Predicate.ts +498 -0
- package/src/PubSub.ts +28 -0
- package/src/Queue.ts +104 -0
- package/src/RcMap.ts +70 -0
- package/src/Readable.ts +18 -7
- package/src/Record.ts +814 -40
- package/src/RedBlackTree.ts +305 -1
- package/src/Ref.ts +88 -0
- package/src/Request.ts +76 -0
- package/src/RequestResolver.ts +145 -4
- package/src/Runtime.ts +134 -2
- package/src/RuntimeFlags.ts +100 -0
- package/src/RuntimeFlagsPatch.ts +112 -0
- package/src/STM.ts +1107 -11
- package/src/Schedule.ts +704 -0
- package/src/ScheduleInterval.ts +68 -0
- package/src/ScheduleIntervals.ts +50 -0
- package/src/Scheduler.ts +2 -0
- package/src/Scope.ts +83 -15
- package/src/ScopedRef.ts +22 -0
- package/src/Sink.ts +464 -0
- package/src/SortedMap.ts +76 -0
- package/src/SortedSet.ts +143 -3
- package/src/Stream.ts +5041 -54
- package/src/StreamHaltStrategy.ts +29 -12
- package/src/String.ts +200 -0
- package/src/Struct.ts +86 -7
- package/src/Subscribable.ts +16 -0
- package/src/SubscriptionRef.ts +159 -11
- package/src/SynchronizedRef.ts +169 -8
- package/src/TArray.ts +431 -1
- package/src/TDeferred.ts +24 -0
- package/src/TMap.ts +381 -12
- package/src/TPriorityQueue.ts +60 -0
- package/src/TPubSub.ts +28 -0
- package/src/TQueue.ts +108 -0
- package/src/TReentrantLock.ts +36 -0
- package/src/TRef.ts +88 -0
- package/src/TSemaphore.ts +40 -0
- package/src/TSet.ts +280 -12
- package/src/Take.ts +56 -0
- package/src/TestAnnotationMap.ts +45 -1
- package/src/TestClock.ts +6 -0
- package/src/TestServices.ts +66 -0
- package/src/Trie.ts +906 -0
- package/src/Tuple.ts +157 -8
- package/src/Unify.ts +19 -3
- package/src/UpstreamPullRequest.ts +12 -0
- package/src/UpstreamPullStrategy.ts +12 -0
- package/src/Utils.ts +1 -15
- package/src/internal/core.ts +1 -1
- package/src/internal/runtime.ts +1 -1
- package/src/internal/stream.ts +27 -0
- package/src/internal/version.ts +1 -1
package/dist/dts/Trie.d.ts
CHANGED
|
@@ -104,7 +104,49 @@ export declare const make: <Entries extends Array<readonly [string, any]>>(...en
|
|
|
104
104
|
* @category mutations
|
|
105
105
|
*/
|
|
106
106
|
export declare const insert: {
|
|
107
|
+
/**
|
|
108
|
+
* Insert a new entry in the `Trie`.
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* import { Trie } from "effect"
|
|
112
|
+
*
|
|
113
|
+
* const trie1 = Trie.empty<number>().pipe(
|
|
114
|
+
* Trie.insert("call", 0)
|
|
115
|
+
* )
|
|
116
|
+
* const trie2 = trie1.pipe(Trie.insert("me", 1))
|
|
117
|
+
* const trie3 = trie2.pipe(Trie.insert("mind", 2))
|
|
118
|
+
* const trie4 = trie3.pipe(Trie.insert("mid", 3))
|
|
119
|
+
*
|
|
120
|
+
* assert.deepStrictEqual(Array.from(trie1), [["call", 0]])
|
|
121
|
+
* assert.deepStrictEqual(Array.from(trie2), [["call", 0], ["me", 1]])
|
|
122
|
+
* assert.deepStrictEqual(Array.from(trie3), [["call", 0], ["me", 1], ["mind", 2]])
|
|
123
|
+
* assert.deepStrictEqual(Array.from(trie4), [["call", 0], ["me", 1], ["mid", 3], ["mind", 2]])
|
|
124
|
+
*
|
|
125
|
+
* @since 2.0.0
|
|
126
|
+
* @category mutations
|
|
127
|
+
*/
|
|
107
128
|
<V>(key: string, value: V): (self: Trie<V>) => Trie<V>;
|
|
129
|
+
/**
|
|
130
|
+
* Insert a new entry in the `Trie`.
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* import { Trie } from "effect"
|
|
134
|
+
*
|
|
135
|
+
* const trie1 = Trie.empty<number>().pipe(
|
|
136
|
+
* Trie.insert("call", 0)
|
|
137
|
+
* )
|
|
138
|
+
* const trie2 = trie1.pipe(Trie.insert("me", 1))
|
|
139
|
+
* const trie3 = trie2.pipe(Trie.insert("mind", 2))
|
|
140
|
+
* const trie4 = trie3.pipe(Trie.insert("mid", 3))
|
|
141
|
+
*
|
|
142
|
+
* assert.deepStrictEqual(Array.from(trie1), [["call", 0]])
|
|
143
|
+
* assert.deepStrictEqual(Array.from(trie2), [["call", 0], ["me", 1]])
|
|
144
|
+
* assert.deepStrictEqual(Array.from(trie3), [["call", 0], ["me", 1], ["mind", 2]])
|
|
145
|
+
* assert.deepStrictEqual(Array.from(trie4), [["call", 0], ["me", 1], ["mid", 3], ["mind", 2]])
|
|
146
|
+
*
|
|
147
|
+
* @since 2.0.0
|
|
148
|
+
* @category mutations
|
|
149
|
+
*/
|
|
108
150
|
<V>(self: Trie<V>, key: string, value: V): Trie<V>;
|
|
109
151
|
};
|
|
110
152
|
/**
|
|
@@ -210,7 +252,47 @@ export declare const toEntries: <V>(self: Trie<V>) => Array<[string, V]>;
|
|
|
210
252
|
* @category getters
|
|
211
253
|
*/
|
|
212
254
|
export declare const keysWithPrefix: {
|
|
255
|
+
/**
|
|
256
|
+
* Returns an `IterableIterator` of the keys within the `Trie`
|
|
257
|
+
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* import { Trie } from "effect"
|
|
261
|
+
*
|
|
262
|
+
* const trie = Trie.empty<number>().pipe(
|
|
263
|
+
* Trie.insert("she", 0),
|
|
264
|
+
* Trie.insert("shells", 1),
|
|
265
|
+
* Trie.insert("sea", 2),
|
|
266
|
+
* Trie.insert("shore", 3)
|
|
267
|
+
* )
|
|
268
|
+
*
|
|
269
|
+
* const result = Array.from(Trie.keysWithPrefix(trie, "she"))
|
|
270
|
+
* assert.deepStrictEqual(result, ["she", "shells"])
|
|
271
|
+
*
|
|
272
|
+
* @since 2.0.0
|
|
273
|
+
* @category getters
|
|
274
|
+
*/
|
|
213
275
|
(prefix: string): <V>(self: Trie<V>) => IterableIterator<string>;
|
|
276
|
+
/**
|
|
277
|
+
* Returns an `IterableIterator` of the keys within the `Trie`
|
|
278
|
+
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
279
|
+
*
|
|
280
|
+
* @example
|
|
281
|
+
* import { Trie } from "effect"
|
|
282
|
+
*
|
|
283
|
+
* const trie = Trie.empty<number>().pipe(
|
|
284
|
+
* Trie.insert("she", 0),
|
|
285
|
+
* Trie.insert("shells", 1),
|
|
286
|
+
* Trie.insert("sea", 2),
|
|
287
|
+
* Trie.insert("shore", 3)
|
|
288
|
+
* )
|
|
289
|
+
*
|
|
290
|
+
* const result = Array.from(Trie.keysWithPrefix(trie, "she"))
|
|
291
|
+
* assert.deepStrictEqual(result, ["she", "shells"])
|
|
292
|
+
*
|
|
293
|
+
* @since 2.0.0
|
|
294
|
+
* @category getters
|
|
295
|
+
*/
|
|
214
296
|
<V>(self: Trie<V>, prefix: string): IterableIterator<string>;
|
|
215
297
|
};
|
|
216
298
|
/**
|
|
@@ -236,7 +318,51 @@ export declare const keysWithPrefix: {
|
|
|
236
318
|
* @category getters
|
|
237
319
|
*/
|
|
238
320
|
export declare const valuesWithPrefix: {
|
|
321
|
+
/**
|
|
322
|
+
* Returns an `IterableIterator` of the values within the `Trie`
|
|
323
|
+
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
324
|
+
*
|
|
325
|
+
* @example
|
|
326
|
+
* import { Trie } from "effect"
|
|
327
|
+
*
|
|
328
|
+
* const trie = Trie.empty<number>().pipe(
|
|
329
|
+
* Trie.insert("she", 0),
|
|
330
|
+
* Trie.insert("shells", 1),
|
|
331
|
+
* Trie.insert("sea", 2),
|
|
332
|
+
* Trie.insert("shore", 3)
|
|
333
|
+
* )
|
|
334
|
+
*
|
|
335
|
+
* const result = Array.from(Trie.valuesWithPrefix(trie, "she"))
|
|
336
|
+
*
|
|
337
|
+
* // 0: "she", 1: "shells"
|
|
338
|
+
* assert.deepStrictEqual(result, [0, 1])
|
|
339
|
+
*
|
|
340
|
+
* @since 2.0.0
|
|
341
|
+
* @category getters
|
|
342
|
+
*/
|
|
239
343
|
(prefix: string): <V>(self: Trie<V>) => IterableIterator<V>;
|
|
344
|
+
/**
|
|
345
|
+
* Returns an `IterableIterator` of the values within the `Trie`
|
|
346
|
+
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
347
|
+
*
|
|
348
|
+
* @example
|
|
349
|
+
* import { Trie } from "effect"
|
|
350
|
+
*
|
|
351
|
+
* const trie = Trie.empty<number>().pipe(
|
|
352
|
+
* Trie.insert("she", 0),
|
|
353
|
+
* Trie.insert("shells", 1),
|
|
354
|
+
* Trie.insert("sea", 2),
|
|
355
|
+
* Trie.insert("shore", 3)
|
|
356
|
+
* )
|
|
357
|
+
*
|
|
358
|
+
* const result = Array.from(Trie.valuesWithPrefix(trie, "she"))
|
|
359
|
+
*
|
|
360
|
+
* // 0: "she", 1: "shells"
|
|
361
|
+
* assert.deepStrictEqual(result, [0, 1])
|
|
362
|
+
*
|
|
363
|
+
* @since 2.0.0
|
|
364
|
+
* @category getters
|
|
365
|
+
*/
|
|
240
366
|
<V>(self: Trie<V>, prefix: string): IterableIterator<V>;
|
|
241
367
|
};
|
|
242
368
|
/**
|
|
@@ -260,7 +386,47 @@ export declare const valuesWithPrefix: {
|
|
|
260
386
|
* @category getters
|
|
261
387
|
*/
|
|
262
388
|
export declare const entriesWithPrefix: {
|
|
389
|
+
/**
|
|
390
|
+
* Returns an `IterableIterator` of the entries within the `Trie`
|
|
391
|
+
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
392
|
+
*
|
|
393
|
+
* @example
|
|
394
|
+
* import { Trie } from "effect"
|
|
395
|
+
*
|
|
396
|
+
* const trie = Trie.empty<number>().pipe(
|
|
397
|
+
* Trie.insert("she", 0),
|
|
398
|
+
* Trie.insert("shells", 1),
|
|
399
|
+
* Trie.insert("sea", 2),
|
|
400
|
+
* Trie.insert("shore", 3)
|
|
401
|
+
* )
|
|
402
|
+
*
|
|
403
|
+
* const result = Array.from(Trie.entriesWithPrefix(trie, "she"))
|
|
404
|
+
* assert.deepStrictEqual(result, [["she", 0], ["shells", 1]])
|
|
405
|
+
*
|
|
406
|
+
* @since 2.0.0
|
|
407
|
+
* @category getters
|
|
408
|
+
*/
|
|
263
409
|
(prefix: string): <V>(self: Trie<V>) => IterableIterator<[string, V]>;
|
|
410
|
+
/**
|
|
411
|
+
* Returns an `IterableIterator` of the entries within the `Trie`
|
|
412
|
+
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
413
|
+
*
|
|
414
|
+
* @example
|
|
415
|
+
* import { Trie } from "effect"
|
|
416
|
+
*
|
|
417
|
+
* const trie = Trie.empty<number>().pipe(
|
|
418
|
+
* Trie.insert("she", 0),
|
|
419
|
+
* Trie.insert("shells", 1),
|
|
420
|
+
* Trie.insert("sea", 2),
|
|
421
|
+
* Trie.insert("shore", 3)
|
|
422
|
+
* )
|
|
423
|
+
*
|
|
424
|
+
* const result = Array.from(Trie.entriesWithPrefix(trie, "she"))
|
|
425
|
+
* assert.deepStrictEqual(result, [["she", 0], ["shells", 1]])
|
|
426
|
+
*
|
|
427
|
+
* @since 2.0.0
|
|
428
|
+
* @category getters
|
|
429
|
+
*/
|
|
264
430
|
<V>(self: Trie<V>, prefix: string): IterableIterator<[string, V]>;
|
|
265
431
|
};
|
|
266
432
|
/**
|
|
@@ -284,7 +450,47 @@ export declare const entriesWithPrefix: {
|
|
|
284
450
|
* @category getters
|
|
285
451
|
*/
|
|
286
452
|
export declare const toEntriesWithPrefix: {
|
|
453
|
+
/**
|
|
454
|
+
* Returns `Array<[K, V]>` of the entries within the `Trie`
|
|
455
|
+
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
456
|
+
*
|
|
457
|
+
* @example
|
|
458
|
+
* import { Trie } from "effect"
|
|
459
|
+
*
|
|
460
|
+
* const trie = Trie.empty<number>().pipe(
|
|
461
|
+
* Trie.insert("shells", 0),
|
|
462
|
+
* Trie.insert("sells", 1),
|
|
463
|
+
* Trie.insert("sea", 2),
|
|
464
|
+
* Trie.insert("she", 3)
|
|
465
|
+
* )
|
|
466
|
+
*
|
|
467
|
+
* const result = Trie.toEntriesWithPrefix(trie, "she")
|
|
468
|
+
* assert.deepStrictEqual(result, [["she", 3], ["shells", 0]])
|
|
469
|
+
*
|
|
470
|
+
* @since 2.0.0
|
|
471
|
+
* @category getters
|
|
472
|
+
*/
|
|
287
473
|
(prefix: string): <V>(self: Trie<V>) => Array<[string, V]>;
|
|
474
|
+
/**
|
|
475
|
+
* Returns `Array<[K, V]>` of the entries within the `Trie`
|
|
476
|
+
* that have `prefix` as prefix (`prefix` included if it exists).
|
|
477
|
+
*
|
|
478
|
+
* @example
|
|
479
|
+
* import { Trie } from "effect"
|
|
480
|
+
*
|
|
481
|
+
* const trie = Trie.empty<number>().pipe(
|
|
482
|
+
* Trie.insert("shells", 0),
|
|
483
|
+
* Trie.insert("sells", 1),
|
|
484
|
+
* Trie.insert("sea", 2),
|
|
485
|
+
* Trie.insert("she", 3)
|
|
486
|
+
* )
|
|
487
|
+
*
|
|
488
|
+
* const result = Trie.toEntriesWithPrefix(trie, "she")
|
|
489
|
+
* assert.deepStrictEqual(result, [["she", 3], ["shells", 0]])
|
|
490
|
+
*
|
|
491
|
+
* @since 2.0.0
|
|
492
|
+
* @category getters
|
|
493
|
+
*/
|
|
288
494
|
<V>(self: Trie<V>, prefix: string): Array<[string, V]>;
|
|
289
495
|
};
|
|
290
496
|
/**
|
|
@@ -309,7 +515,49 @@ export declare const toEntriesWithPrefix: {
|
|
|
309
515
|
* @category getters
|
|
310
516
|
*/
|
|
311
517
|
export declare const longestPrefixOf: {
|
|
518
|
+
/**
|
|
519
|
+
* Returns the longest key/value in the `Trie`
|
|
520
|
+
* that is a prefix of that `key` if it exists, `None` otherwise.
|
|
521
|
+
*
|
|
522
|
+
* @example
|
|
523
|
+
* import { Trie, Option } from "effect"
|
|
524
|
+
*
|
|
525
|
+
* const trie = Trie.empty<number>().pipe(
|
|
526
|
+
* Trie.insert("shells", 0),
|
|
527
|
+
* Trie.insert("sells", 1),
|
|
528
|
+
* Trie.insert("she", 2)
|
|
529
|
+
* )
|
|
530
|
+
*
|
|
531
|
+
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "sell"), Option.none())
|
|
532
|
+
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "sells"), Option.some(["sells", 1]))
|
|
533
|
+
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "shell"), Option.some(["she", 2]))
|
|
534
|
+
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "shellsort"), Option.some(["shells", 0]))
|
|
535
|
+
*
|
|
536
|
+
* @since 2.0.0
|
|
537
|
+
* @category getters
|
|
538
|
+
*/
|
|
312
539
|
(key: string): <V>(self: Trie<V>) => Option<[string, V]>;
|
|
540
|
+
/**
|
|
541
|
+
* Returns the longest key/value in the `Trie`
|
|
542
|
+
* that is a prefix of that `key` if it exists, `None` otherwise.
|
|
543
|
+
*
|
|
544
|
+
* @example
|
|
545
|
+
* import { Trie, Option } from "effect"
|
|
546
|
+
*
|
|
547
|
+
* const trie = Trie.empty<number>().pipe(
|
|
548
|
+
* Trie.insert("shells", 0),
|
|
549
|
+
* Trie.insert("sells", 1),
|
|
550
|
+
* Trie.insert("she", 2)
|
|
551
|
+
* )
|
|
552
|
+
*
|
|
553
|
+
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "sell"), Option.none())
|
|
554
|
+
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "sells"), Option.some(["sells", 1]))
|
|
555
|
+
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "shell"), Option.some(["she", 2]))
|
|
556
|
+
* assert.deepStrictEqual(Trie.longestPrefixOf(trie, "shellsort"), Option.some(["shells", 0]))
|
|
557
|
+
*
|
|
558
|
+
* @since 2.0.0
|
|
559
|
+
* @category getters
|
|
560
|
+
*/
|
|
313
561
|
<V>(self: Trie<V>, key: string): Option<[string, V]>;
|
|
314
562
|
};
|
|
315
563
|
/**
|
|
@@ -355,7 +603,57 @@ export declare const size: <V>(self: Trie<V>) => number;
|
|
|
355
603
|
* @category elements
|
|
356
604
|
*/
|
|
357
605
|
export declare const get: {
|
|
606
|
+
/**
|
|
607
|
+
* Safely lookup the value for the specified key in the `Trie`.
|
|
608
|
+
*
|
|
609
|
+
* @example
|
|
610
|
+
* import { Trie, Option } from "effect"
|
|
611
|
+
*
|
|
612
|
+
* const trie = Trie.empty<number>().pipe(
|
|
613
|
+
* Trie.insert("call", 0),
|
|
614
|
+
* Trie.insert("me", 1),
|
|
615
|
+
* Trie.insert("mind", 2),
|
|
616
|
+
* Trie.insert("mid", 3)
|
|
617
|
+
* )
|
|
618
|
+
*
|
|
619
|
+
* assert.deepStrictEqual(Trie.get(trie, "call"), Option.some(0))
|
|
620
|
+
* assert.deepStrictEqual(Trie.get(trie, "me"), Option.some(1))
|
|
621
|
+
* assert.deepStrictEqual(Trie.get(trie, "mind"), Option.some(2))
|
|
622
|
+
* assert.deepStrictEqual(Trie.get(trie, "mid"), Option.some(3))
|
|
623
|
+
* assert.deepStrictEqual(Trie.get(trie, "cale"), Option.none())
|
|
624
|
+
* assert.deepStrictEqual(Trie.get(trie, "ma"), Option.none())
|
|
625
|
+
* assert.deepStrictEqual(Trie.get(trie, "midn"), Option.none())
|
|
626
|
+
* assert.deepStrictEqual(Trie.get(trie, "mea"), Option.none())
|
|
627
|
+
*
|
|
628
|
+
* @since 2.0.0
|
|
629
|
+
* @category elements
|
|
630
|
+
*/
|
|
358
631
|
(key: string): <V>(self: Trie<V>) => Option<V>;
|
|
632
|
+
/**
|
|
633
|
+
* Safely lookup the value for the specified key in the `Trie`.
|
|
634
|
+
*
|
|
635
|
+
* @example
|
|
636
|
+
* import { Trie, Option } from "effect"
|
|
637
|
+
*
|
|
638
|
+
* const trie = Trie.empty<number>().pipe(
|
|
639
|
+
* Trie.insert("call", 0),
|
|
640
|
+
* Trie.insert("me", 1),
|
|
641
|
+
* Trie.insert("mind", 2),
|
|
642
|
+
* Trie.insert("mid", 3)
|
|
643
|
+
* )
|
|
644
|
+
*
|
|
645
|
+
* assert.deepStrictEqual(Trie.get(trie, "call"), Option.some(0))
|
|
646
|
+
* assert.deepStrictEqual(Trie.get(trie, "me"), Option.some(1))
|
|
647
|
+
* assert.deepStrictEqual(Trie.get(trie, "mind"), Option.some(2))
|
|
648
|
+
* assert.deepStrictEqual(Trie.get(trie, "mid"), Option.some(3))
|
|
649
|
+
* assert.deepStrictEqual(Trie.get(trie, "cale"), Option.none())
|
|
650
|
+
* assert.deepStrictEqual(Trie.get(trie, "ma"), Option.none())
|
|
651
|
+
* assert.deepStrictEqual(Trie.get(trie, "midn"), Option.none())
|
|
652
|
+
* assert.deepStrictEqual(Trie.get(trie, "mea"), Option.none())
|
|
653
|
+
*
|
|
654
|
+
* @since 2.0.0
|
|
655
|
+
* @category elements
|
|
656
|
+
*/
|
|
359
657
|
<V>(self: Trie<V>, key: string): Option<V>;
|
|
360
658
|
};
|
|
361
659
|
/**
|
|
@@ -384,7 +682,57 @@ export declare const get: {
|
|
|
384
682
|
* @category elements
|
|
385
683
|
*/
|
|
386
684
|
export declare const has: {
|
|
685
|
+
/**
|
|
686
|
+
* Check if the given key exists in the `Trie`.
|
|
687
|
+
*
|
|
688
|
+
* @example
|
|
689
|
+
* import { Trie } from "effect"
|
|
690
|
+
*
|
|
691
|
+
* const trie = Trie.empty<number>().pipe(
|
|
692
|
+
* Trie.insert("call", 0),
|
|
693
|
+
* Trie.insert("me", 1),
|
|
694
|
+
* Trie.insert("mind", 2),
|
|
695
|
+
* Trie.insert("mid", 3)
|
|
696
|
+
* )
|
|
697
|
+
*
|
|
698
|
+
* assert.equal(Trie.has(trie, "call"), true)
|
|
699
|
+
* assert.equal(Trie.has(trie, "me"), true)
|
|
700
|
+
* assert.equal(Trie.has(trie, "mind"), true)
|
|
701
|
+
* assert.equal(Trie.has(trie, "mid"), true)
|
|
702
|
+
* assert.equal(Trie.has(trie, "cale"), false)
|
|
703
|
+
* assert.equal(Trie.has(trie, "ma"), false)
|
|
704
|
+
* assert.equal(Trie.has(trie, "midn"), false)
|
|
705
|
+
* assert.equal(Trie.has(trie, "mea"), false)
|
|
706
|
+
*
|
|
707
|
+
* @since 2.0.0
|
|
708
|
+
* @category elements
|
|
709
|
+
*/
|
|
387
710
|
(key: string): <V>(self: Trie<V>) => boolean;
|
|
711
|
+
/**
|
|
712
|
+
* Check if the given key exists in the `Trie`.
|
|
713
|
+
*
|
|
714
|
+
* @example
|
|
715
|
+
* import { Trie } from "effect"
|
|
716
|
+
*
|
|
717
|
+
* const trie = Trie.empty<number>().pipe(
|
|
718
|
+
* Trie.insert("call", 0),
|
|
719
|
+
* Trie.insert("me", 1),
|
|
720
|
+
* Trie.insert("mind", 2),
|
|
721
|
+
* Trie.insert("mid", 3)
|
|
722
|
+
* )
|
|
723
|
+
*
|
|
724
|
+
* assert.equal(Trie.has(trie, "call"), true)
|
|
725
|
+
* assert.equal(Trie.has(trie, "me"), true)
|
|
726
|
+
* assert.equal(Trie.has(trie, "mind"), true)
|
|
727
|
+
* assert.equal(Trie.has(trie, "mid"), true)
|
|
728
|
+
* assert.equal(Trie.has(trie, "cale"), false)
|
|
729
|
+
* assert.equal(Trie.has(trie, "ma"), false)
|
|
730
|
+
* assert.equal(Trie.has(trie, "midn"), false)
|
|
731
|
+
* assert.equal(Trie.has(trie, "mea"), false)
|
|
732
|
+
*
|
|
733
|
+
* @since 2.0.0
|
|
734
|
+
* @category elements
|
|
735
|
+
*/
|
|
388
736
|
<V>(self: Trie<V>, key: string): boolean;
|
|
389
737
|
};
|
|
390
738
|
/**
|
|
@@ -423,7 +771,45 @@ export declare const isEmpty: <V>(self: Trie<V>) => boolean;
|
|
|
423
771
|
* @category unsafe
|
|
424
772
|
*/
|
|
425
773
|
export declare const unsafeGet: {
|
|
774
|
+
/**
|
|
775
|
+
* Unsafely lookup the value for the specified key in the `Trie`.
|
|
776
|
+
*
|
|
777
|
+
* `unsafeGet` will throw if the key is not found. Use `get` instead to safely
|
|
778
|
+
* get a value from the `Trie`.
|
|
779
|
+
*
|
|
780
|
+
* @example
|
|
781
|
+
* import { Trie } from "effect"
|
|
782
|
+
*
|
|
783
|
+
* const trie = Trie.empty<number>().pipe(
|
|
784
|
+
* Trie.insert("call", 0),
|
|
785
|
+
* Trie.insert("me", 1)
|
|
786
|
+
* )
|
|
787
|
+
*
|
|
788
|
+
* assert.throws(() => Trie.unsafeGet(trie, "mae"))
|
|
789
|
+
*
|
|
790
|
+
* @since 2.0.0
|
|
791
|
+
* @category unsafe
|
|
792
|
+
*/
|
|
426
793
|
(key: string): <V>(self: Trie<V>) => V;
|
|
794
|
+
/**
|
|
795
|
+
* Unsafely lookup the value for the specified key in the `Trie`.
|
|
796
|
+
*
|
|
797
|
+
* `unsafeGet` will throw if the key is not found. Use `get` instead to safely
|
|
798
|
+
* get a value from the `Trie`.
|
|
799
|
+
*
|
|
800
|
+
* @example
|
|
801
|
+
* import { Trie } from "effect"
|
|
802
|
+
*
|
|
803
|
+
* const trie = Trie.empty<number>().pipe(
|
|
804
|
+
* Trie.insert("call", 0),
|
|
805
|
+
* Trie.insert("me", 1)
|
|
806
|
+
* )
|
|
807
|
+
*
|
|
808
|
+
* assert.throws(() => Trie.unsafeGet(trie, "mae"))
|
|
809
|
+
*
|
|
810
|
+
* @since 2.0.0
|
|
811
|
+
* @category unsafe
|
|
812
|
+
*/
|
|
427
813
|
<V>(self: Trie<V>, key: string): V;
|
|
428
814
|
};
|
|
429
815
|
/**
|
|
@@ -450,7 +836,53 @@ export declare const unsafeGet: {
|
|
|
450
836
|
* @category mutations
|
|
451
837
|
*/
|
|
452
838
|
export declare const remove: {
|
|
839
|
+
/**
|
|
840
|
+
* Remove the entry for the specified key in the `Trie`.
|
|
841
|
+
*
|
|
842
|
+
* @example
|
|
843
|
+
* import { Trie, Option } from "effect"
|
|
844
|
+
*
|
|
845
|
+
* const trie = Trie.empty<number>().pipe(
|
|
846
|
+
* Trie.insert("call", 0),
|
|
847
|
+
* Trie.insert("me", 1),
|
|
848
|
+
* Trie.insert("mind", 2),
|
|
849
|
+
* Trie.insert("mid", 3)
|
|
850
|
+
* )
|
|
851
|
+
*
|
|
852
|
+
* const trie1 = trie.pipe(Trie.remove("call"))
|
|
853
|
+
* const trie2 = trie1.pipe(Trie.remove("mea"))
|
|
854
|
+
*
|
|
855
|
+
* assert.deepStrictEqual(Trie.get(trie, "call"), Option.some(0))
|
|
856
|
+
* assert.deepStrictEqual(Trie.get(trie1, "call"), Option.none())
|
|
857
|
+
* assert.deepStrictEqual(Trie.get(trie2, "call"), Option.none())
|
|
858
|
+
*
|
|
859
|
+
* @since 2.0.0
|
|
860
|
+
* @category mutations
|
|
861
|
+
*/
|
|
453
862
|
(key: string): <V>(self: Trie<V>) => Trie<V>;
|
|
863
|
+
/**
|
|
864
|
+
* Remove the entry for the specified key in the `Trie`.
|
|
865
|
+
*
|
|
866
|
+
* @example
|
|
867
|
+
* import { Trie, Option } from "effect"
|
|
868
|
+
*
|
|
869
|
+
* const trie = Trie.empty<number>().pipe(
|
|
870
|
+
* Trie.insert("call", 0),
|
|
871
|
+
* Trie.insert("me", 1),
|
|
872
|
+
* Trie.insert("mind", 2),
|
|
873
|
+
* Trie.insert("mid", 3)
|
|
874
|
+
* )
|
|
875
|
+
*
|
|
876
|
+
* const trie1 = trie.pipe(Trie.remove("call"))
|
|
877
|
+
* const trie2 = trie1.pipe(Trie.remove("mea"))
|
|
878
|
+
*
|
|
879
|
+
* assert.deepStrictEqual(Trie.get(trie, "call"), Option.some(0))
|
|
880
|
+
* assert.deepStrictEqual(Trie.get(trie1, "call"), Option.none())
|
|
881
|
+
* assert.deepStrictEqual(Trie.get(trie2, "call"), Option.none())
|
|
882
|
+
*
|
|
883
|
+
* @since 2.0.0
|
|
884
|
+
* @category mutations
|
|
885
|
+
*/
|
|
454
886
|
<V>(self: Trie<V>, key: string): Trie<V>;
|
|
455
887
|
};
|
|
456
888
|
/**
|
|
@@ -488,7 +920,75 @@ export declare const remove: {
|
|
|
488
920
|
* @category folding
|
|
489
921
|
*/
|
|
490
922
|
export declare const reduce: {
|
|
923
|
+
/**
|
|
924
|
+
* Reduce a state over the entries of the `Trie`.
|
|
925
|
+
*
|
|
926
|
+
* @example
|
|
927
|
+
* import { Trie } from "effect"
|
|
928
|
+
*
|
|
929
|
+
* const trie = Trie.empty<number>().pipe(
|
|
930
|
+
* Trie.insert("shells", 0),
|
|
931
|
+
* Trie.insert("sells", 1),
|
|
932
|
+
* Trie.insert("she", 2)
|
|
933
|
+
* )
|
|
934
|
+
*
|
|
935
|
+
* assert.equal(
|
|
936
|
+
* trie.pipe(
|
|
937
|
+
* Trie.reduce(0, (acc, n) => acc + n)
|
|
938
|
+
* ),
|
|
939
|
+
* 3
|
|
940
|
+
* )
|
|
941
|
+
* assert.equal(
|
|
942
|
+
* trie.pipe(
|
|
943
|
+
* Trie.reduce(10, (acc, n) => acc + n)
|
|
944
|
+
* ),
|
|
945
|
+
* 13
|
|
946
|
+
* )
|
|
947
|
+
* assert.equal(
|
|
948
|
+
* trie.pipe(
|
|
949
|
+
* Trie.reduce("", (acc, _, key) => acc + key)
|
|
950
|
+
* ),
|
|
951
|
+
* "sellssheshells"
|
|
952
|
+
* )
|
|
953
|
+
*
|
|
954
|
+
* @since 2.0.0
|
|
955
|
+
* @category folding
|
|
956
|
+
*/
|
|
491
957
|
<Z, V>(zero: Z, f: (accumulator: Z, value: V, key: string) => Z): (self: Trie<V>) => Z;
|
|
958
|
+
/**
|
|
959
|
+
* Reduce a state over the entries of the `Trie`.
|
|
960
|
+
*
|
|
961
|
+
* @example
|
|
962
|
+
* import { Trie } from "effect"
|
|
963
|
+
*
|
|
964
|
+
* const trie = Trie.empty<number>().pipe(
|
|
965
|
+
* Trie.insert("shells", 0),
|
|
966
|
+
* Trie.insert("sells", 1),
|
|
967
|
+
* Trie.insert("she", 2)
|
|
968
|
+
* )
|
|
969
|
+
*
|
|
970
|
+
* assert.equal(
|
|
971
|
+
* trie.pipe(
|
|
972
|
+
* Trie.reduce(0, (acc, n) => acc + n)
|
|
973
|
+
* ),
|
|
974
|
+
* 3
|
|
975
|
+
* )
|
|
976
|
+
* assert.equal(
|
|
977
|
+
* trie.pipe(
|
|
978
|
+
* Trie.reduce(10, (acc, n) => acc + n)
|
|
979
|
+
* ),
|
|
980
|
+
* 13
|
|
981
|
+
* )
|
|
982
|
+
* assert.equal(
|
|
983
|
+
* trie.pipe(
|
|
984
|
+
* Trie.reduce("", (acc, _, key) => acc + key)
|
|
985
|
+
* ),
|
|
986
|
+
* "sellssheshells"
|
|
987
|
+
* )
|
|
988
|
+
*
|
|
989
|
+
* @since 2.0.0
|
|
990
|
+
* @category folding
|
|
991
|
+
*/
|
|
492
992
|
<Z, V>(self: Trie<V>, zero: Z, f: (accumulator: Z, value: V, key: string) => Z): Z;
|
|
493
993
|
};
|
|
494
994
|
/**
|
|
@@ -522,7 +1022,67 @@ export declare const reduce: {
|
|
|
522
1022
|
* @category folding
|
|
523
1023
|
*/
|
|
524
1024
|
export declare const map: {
|
|
1025
|
+
/**
|
|
1026
|
+
* Maps over the entries of the `Trie` using the specified function.
|
|
1027
|
+
*
|
|
1028
|
+
* @example
|
|
1029
|
+
* import { Trie, Equal } from "effect"
|
|
1030
|
+
*
|
|
1031
|
+
* const trie = Trie.empty<number>().pipe(
|
|
1032
|
+
* Trie.insert("shells", 0),
|
|
1033
|
+
* Trie.insert("sells", 1),
|
|
1034
|
+
* Trie.insert("she", 2)
|
|
1035
|
+
* )
|
|
1036
|
+
*
|
|
1037
|
+
* const trieMapV = Trie.empty<number>().pipe(
|
|
1038
|
+
* Trie.insert("shells", 1),
|
|
1039
|
+
* Trie.insert("sells", 2),
|
|
1040
|
+
* Trie.insert("she", 3)
|
|
1041
|
+
* )
|
|
1042
|
+
*
|
|
1043
|
+
* const trieMapK = Trie.empty<number>().pipe(
|
|
1044
|
+
* Trie.insert("shells", 6),
|
|
1045
|
+
* Trie.insert("sells", 5),
|
|
1046
|
+
* Trie.insert("she", 3)
|
|
1047
|
+
* )
|
|
1048
|
+
*
|
|
1049
|
+
* assert.equal(Equal.equals(Trie.map(trie, (v) => v + 1), trieMapV), true)
|
|
1050
|
+
* assert.equal(Equal.equals(Trie.map(trie, (_, k) => k.length), trieMapK), true)
|
|
1051
|
+
*
|
|
1052
|
+
* @since 2.0.0
|
|
1053
|
+
* @category folding
|
|
1054
|
+
*/
|
|
525
1055
|
<A, V>(f: (value: V, key: string) => A): (self: Trie<V>) => Trie<A>;
|
|
1056
|
+
/**
|
|
1057
|
+
* Maps over the entries of the `Trie` using the specified function.
|
|
1058
|
+
*
|
|
1059
|
+
* @example
|
|
1060
|
+
* import { Trie, Equal } from "effect"
|
|
1061
|
+
*
|
|
1062
|
+
* const trie = Trie.empty<number>().pipe(
|
|
1063
|
+
* Trie.insert("shells", 0),
|
|
1064
|
+
* Trie.insert("sells", 1),
|
|
1065
|
+
* Trie.insert("she", 2)
|
|
1066
|
+
* )
|
|
1067
|
+
*
|
|
1068
|
+
* const trieMapV = Trie.empty<number>().pipe(
|
|
1069
|
+
* Trie.insert("shells", 1),
|
|
1070
|
+
* Trie.insert("sells", 2),
|
|
1071
|
+
* Trie.insert("she", 3)
|
|
1072
|
+
* )
|
|
1073
|
+
*
|
|
1074
|
+
* const trieMapK = Trie.empty<number>().pipe(
|
|
1075
|
+
* Trie.insert("shells", 6),
|
|
1076
|
+
* Trie.insert("sells", 5),
|
|
1077
|
+
* Trie.insert("she", 3)
|
|
1078
|
+
* )
|
|
1079
|
+
*
|
|
1080
|
+
* assert.equal(Equal.equals(Trie.map(trie, (v) => v + 1), trieMapV), true)
|
|
1081
|
+
* assert.equal(Equal.equals(Trie.map(trie, (_, k) => k.length), trieMapK), true)
|
|
1082
|
+
*
|
|
1083
|
+
* @since 2.0.0
|
|
1084
|
+
* @category folding
|
|
1085
|
+
*/
|
|
526
1086
|
<V, A>(self: Trie<V>, f: (value: V, key: string) => A): Trie<A>;
|
|
527
1087
|
};
|
|
528
1088
|
/**
|
|
@@ -553,9 +1113,117 @@ export declare const map: {
|
|
|
553
1113
|
* @category filtering
|
|
554
1114
|
*/
|
|
555
1115
|
export declare const filter: {
|
|
1116
|
+
/**
|
|
1117
|
+
* Filters entries out of a `Trie` using the specified predicate.
|
|
1118
|
+
*
|
|
1119
|
+
* @example
|
|
1120
|
+
* import { Trie, Equal } from "effect"
|
|
1121
|
+
*
|
|
1122
|
+
* const trie = Trie.empty<number>().pipe(
|
|
1123
|
+
* Trie.insert("shells", 0),
|
|
1124
|
+
* Trie.insert("sells", 1),
|
|
1125
|
+
* Trie.insert("she", 2)
|
|
1126
|
+
* )
|
|
1127
|
+
*
|
|
1128
|
+
* const trieMapV = Trie.empty<number>().pipe(
|
|
1129
|
+
* Trie.insert("she", 2)
|
|
1130
|
+
* )
|
|
1131
|
+
*
|
|
1132
|
+
* const trieMapK = Trie.empty<number>().pipe(
|
|
1133
|
+
* Trie.insert("shells", 0),
|
|
1134
|
+
* Trie.insert("sells", 1)
|
|
1135
|
+
* )
|
|
1136
|
+
*
|
|
1137
|
+
* assert.equal(Equal.equals(Trie.filter(trie, (v) => v > 1), trieMapV), true)
|
|
1138
|
+
* assert.equal(Equal.equals(Trie.filter(trie, (_, k) => k.length > 3), trieMapK), true)
|
|
1139
|
+
*
|
|
1140
|
+
* @since 2.0.0
|
|
1141
|
+
* @category filtering
|
|
1142
|
+
*/
|
|
556
1143
|
<A, B extends A>(f: (a: NoInfer<A>, k: string) => a is B): (self: Trie<A>) => Trie<B>;
|
|
1144
|
+
/**
|
|
1145
|
+
* Filters entries out of a `Trie` using the specified predicate.
|
|
1146
|
+
*
|
|
1147
|
+
* @example
|
|
1148
|
+
* import { Trie, Equal } from "effect"
|
|
1149
|
+
*
|
|
1150
|
+
* const trie = Trie.empty<number>().pipe(
|
|
1151
|
+
* Trie.insert("shells", 0),
|
|
1152
|
+
* Trie.insert("sells", 1),
|
|
1153
|
+
* Trie.insert("she", 2)
|
|
1154
|
+
* )
|
|
1155
|
+
*
|
|
1156
|
+
* const trieMapV = Trie.empty<number>().pipe(
|
|
1157
|
+
* Trie.insert("she", 2)
|
|
1158
|
+
* )
|
|
1159
|
+
*
|
|
1160
|
+
* const trieMapK = Trie.empty<number>().pipe(
|
|
1161
|
+
* Trie.insert("shells", 0),
|
|
1162
|
+
* Trie.insert("sells", 1)
|
|
1163
|
+
* )
|
|
1164
|
+
*
|
|
1165
|
+
* assert.equal(Equal.equals(Trie.filter(trie, (v) => v > 1), trieMapV), true)
|
|
1166
|
+
* assert.equal(Equal.equals(Trie.filter(trie, (_, k) => k.length > 3), trieMapK), true)
|
|
1167
|
+
*
|
|
1168
|
+
* @since 2.0.0
|
|
1169
|
+
* @category filtering
|
|
1170
|
+
*/
|
|
557
1171
|
<A>(f: (a: NoInfer<A>, k: string) => boolean): (self: Trie<A>) => Trie<A>;
|
|
1172
|
+
/**
|
|
1173
|
+
* Filters entries out of a `Trie` using the specified predicate.
|
|
1174
|
+
*
|
|
1175
|
+
* @example
|
|
1176
|
+
* import { Trie, Equal } from "effect"
|
|
1177
|
+
*
|
|
1178
|
+
* const trie = Trie.empty<number>().pipe(
|
|
1179
|
+
* Trie.insert("shells", 0),
|
|
1180
|
+
* Trie.insert("sells", 1),
|
|
1181
|
+
* Trie.insert("she", 2)
|
|
1182
|
+
* )
|
|
1183
|
+
*
|
|
1184
|
+
* const trieMapV = Trie.empty<number>().pipe(
|
|
1185
|
+
* Trie.insert("she", 2)
|
|
1186
|
+
* )
|
|
1187
|
+
*
|
|
1188
|
+
* const trieMapK = Trie.empty<number>().pipe(
|
|
1189
|
+
* Trie.insert("shells", 0),
|
|
1190
|
+
* Trie.insert("sells", 1)
|
|
1191
|
+
* )
|
|
1192
|
+
*
|
|
1193
|
+
* assert.equal(Equal.equals(Trie.filter(trie, (v) => v > 1), trieMapV), true)
|
|
1194
|
+
* assert.equal(Equal.equals(Trie.filter(trie, (_, k) => k.length > 3), trieMapK), true)
|
|
1195
|
+
*
|
|
1196
|
+
* @since 2.0.0
|
|
1197
|
+
* @category filtering
|
|
1198
|
+
*/
|
|
558
1199
|
<A, B extends A>(self: Trie<A>, f: (a: A, k: string) => a is B): Trie<B>;
|
|
1200
|
+
/**
|
|
1201
|
+
* Filters entries out of a `Trie` using the specified predicate.
|
|
1202
|
+
*
|
|
1203
|
+
* @example
|
|
1204
|
+
* import { Trie, Equal } from "effect"
|
|
1205
|
+
*
|
|
1206
|
+
* const trie = Trie.empty<number>().pipe(
|
|
1207
|
+
* Trie.insert("shells", 0),
|
|
1208
|
+
* Trie.insert("sells", 1),
|
|
1209
|
+
* Trie.insert("she", 2)
|
|
1210
|
+
* )
|
|
1211
|
+
*
|
|
1212
|
+
* const trieMapV = Trie.empty<number>().pipe(
|
|
1213
|
+
* Trie.insert("she", 2)
|
|
1214
|
+
* )
|
|
1215
|
+
*
|
|
1216
|
+
* const trieMapK = Trie.empty<number>().pipe(
|
|
1217
|
+
* Trie.insert("shells", 0),
|
|
1218
|
+
* Trie.insert("sells", 1)
|
|
1219
|
+
* )
|
|
1220
|
+
*
|
|
1221
|
+
* assert.equal(Equal.equals(Trie.filter(trie, (v) => v > 1), trieMapV), true)
|
|
1222
|
+
* assert.equal(Equal.equals(Trie.filter(trie, (_, k) => k.length > 3), trieMapK), true)
|
|
1223
|
+
*
|
|
1224
|
+
* @since 2.0.0
|
|
1225
|
+
* @category filtering
|
|
1226
|
+
*/
|
|
559
1227
|
<A>(self: Trie<A>, f: (a: A, k: string) => boolean): Trie<A>;
|
|
560
1228
|
};
|
|
561
1229
|
/**
|
|
@@ -590,7 +1258,69 @@ export declare const filter: {
|
|
|
590
1258
|
* @category filtering
|
|
591
1259
|
*/
|
|
592
1260
|
export declare const filterMap: {
|
|
1261
|
+
/**
|
|
1262
|
+
* Maps over the entries of the `Trie` using the specified partial function
|
|
1263
|
+
* and filters out `None` values.
|
|
1264
|
+
*
|
|
1265
|
+
* @example
|
|
1266
|
+
* import { Trie, Equal, Option } from "effect"
|
|
1267
|
+
*
|
|
1268
|
+
* const trie = Trie.empty<number>().pipe(
|
|
1269
|
+
* Trie.insert("shells", 0),
|
|
1270
|
+
* Trie.insert("sells", 1),
|
|
1271
|
+
* Trie.insert("she", 2)
|
|
1272
|
+
* )
|
|
1273
|
+
*
|
|
1274
|
+
* const trieMapV = Trie.empty<number>().pipe(
|
|
1275
|
+
* Trie.insert("she", 2)
|
|
1276
|
+
* )
|
|
1277
|
+
*
|
|
1278
|
+
* const trieMapK = Trie.empty<number>().pipe(
|
|
1279
|
+
* Trie.insert("shells", 0),
|
|
1280
|
+
* Trie.insert("sells", 1)
|
|
1281
|
+
* )
|
|
1282
|
+
*
|
|
1283
|
+
* assert.equal(Equal.equals(Trie.filterMap(trie, (v) => v > 1 ? Option.some(v) : Option.none()), trieMapV), true)
|
|
1284
|
+
* assert.equal(
|
|
1285
|
+
* Equal.equals(Trie.filterMap(trie, (v, k) => k.length > 3 ? Option.some(v) : Option.none()), trieMapK),
|
|
1286
|
+
* true
|
|
1287
|
+
* )
|
|
1288
|
+
*
|
|
1289
|
+
* @since 2.0.0
|
|
1290
|
+
* @category filtering
|
|
1291
|
+
*/
|
|
593
1292
|
<A, B>(f: (value: A, key: string) => Option<B>): (self: Trie<A>) => Trie<B>;
|
|
1293
|
+
/**
|
|
1294
|
+
* Maps over the entries of the `Trie` using the specified partial function
|
|
1295
|
+
* and filters out `None` values.
|
|
1296
|
+
*
|
|
1297
|
+
* @example
|
|
1298
|
+
* import { Trie, Equal, Option } from "effect"
|
|
1299
|
+
*
|
|
1300
|
+
* const trie = Trie.empty<number>().pipe(
|
|
1301
|
+
* Trie.insert("shells", 0),
|
|
1302
|
+
* Trie.insert("sells", 1),
|
|
1303
|
+
* Trie.insert("she", 2)
|
|
1304
|
+
* )
|
|
1305
|
+
*
|
|
1306
|
+
* const trieMapV = Trie.empty<number>().pipe(
|
|
1307
|
+
* Trie.insert("she", 2)
|
|
1308
|
+
* )
|
|
1309
|
+
*
|
|
1310
|
+
* const trieMapK = Trie.empty<number>().pipe(
|
|
1311
|
+
* Trie.insert("shells", 0),
|
|
1312
|
+
* Trie.insert("sells", 1)
|
|
1313
|
+
* )
|
|
1314
|
+
*
|
|
1315
|
+
* assert.equal(Equal.equals(Trie.filterMap(trie, (v) => v > 1 ? Option.some(v) : Option.none()), trieMapV), true)
|
|
1316
|
+
* assert.equal(
|
|
1317
|
+
* Equal.equals(Trie.filterMap(trie, (v, k) => k.length > 3 ? Option.some(v) : Option.none()), trieMapK),
|
|
1318
|
+
* true
|
|
1319
|
+
* )
|
|
1320
|
+
*
|
|
1321
|
+
* @since 2.0.0
|
|
1322
|
+
* @category filtering
|
|
1323
|
+
*/
|
|
594
1324
|
<A, B>(self: Trie<A>, f: (value: A, key: string) => Option<B>): Trie<B>;
|
|
595
1325
|
};
|
|
596
1326
|
/**
|
|
@@ -639,7 +1369,51 @@ export declare const compact: <A>(self: Trie<Option<A>>) => Trie<A>;
|
|
|
639
1369
|
* @category traversing
|
|
640
1370
|
*/
|
|
641
1371
|
export declare const forEach: {
|
|
1372
|
+
/**
|
|
1373
|
+
* Applies the specified function to the entries of the `Trie`.
|
|
1374
|
+
*
|
|
1375
|
+
* @example
|
|
1376
|
+
* import { Trie } from "effect"
|
|
1377
|
+
*
|
|
1378
|
+
* let value = 0
|
|
1379
|
+
*
|
|
1380
|
+
* Trie.empty<number>().pipe(
|
|
1381
|
+
* Trie.insert("shells", 0),
|
|
1382
|
+
* Trie.insert("sells", 1),
|
|
1383
|
+
* Trie.insert("she", 2),
|
|
1384
|
+
* Trie.forEach((n, key) => {
|
|
1385
|
+
* value += n + key.length
|
|
1386
|
+
* })
|
|
1387
|
+
* )
|
|
1388
|
+
*
|
|
1389
|
+
* assert.equal(value, 17)
|
|
1390
|
+
*
|
|
1391
|
+
* @since 2.0.0
|
|
1392
|
+
* @category traversing
|
|
1393
|
+
*/
|
|
642
1394
|
<V>(f: (value: V, key: string) => void): (self: Trie<V>) => void;
|
|
1395
|
+
/**
|
|
1396
|
+
* Applies the specified function to the entries of the `Trie`.
|
|
1397
|
+
*
|
|
1398
|
+
* @example
|
|
1399
|
+
* import { Trie } from "effect"
|
|
1400
|
+
*
|
|
1401
|
+
* let value = 0
|
|
1402
|
+
*
|
|
1403
|
+
* Trie.empty<number>().pipe(
|
|
1404
|
+
* Trie.insert("shells", 0),
|
|
1405
|
+
* Trie.insert("sells", 1),
|
|
1406
|
+
* Trie.insert("she", 2),
|
|
1407
|
+
* Trie.forEach((n, key) => {
|
|
1408
|
+
* value += n + key.length
|
|
1409
|
+
* })
|
|
1410
|
+
* )
|
|
1411
|
+
*
|
|
1412
|
+
* assert.equal(value, 17)
|
|
1413
|
+
*
|
|
1414
|
+
* @since 2.0.0
|
|
1415
|
+
* @category traversing
|
|
1416
|
+
*/
|
|
643
1417
|
<V>(self: Trie<V>, f: (value: V, key: string) => void): void;
|
|
644
1418
|
};
|
|
645
1419
|
/**
|
|
@@ -662,7 +1436,45 @@ export declare const forEach: {
|
|
|
662
1436
|
* @category mutations
|
|
663
1437
|
*/
|
|
664
1438
|
export declare const modify: {
|
|
1439
|
+
/**
|
|
1440
|
+
* Updates the value of the specified key within the `Trie` if it exists.
|
|
1441
|
+
*
|
|
1442
|
+
* @example
|
|
1443
|
+
* import { Trie, Equal, Option } from "effect"
|
|
1444
|
+
*
|
|
1445
|
+
* const trie = Trie.empty<number>().pipe(
|
|
1446
|
+
* Trie.insert("shells", 0),
|
|
1447
|
+
* Trie.insert("sells", 1),
|
|
1448
|
+
* Trie.insert("she", 2)
|
|
1449
|
+
* )
|
|
1450
|
+
*
|
|
1451
|
+
* assert.deepStrictEqual(trie.pipe(Trie.modify("she", (v) => v + 10), Trie.get("she")), Option.some(12))
|
|
1452
|
+
*
|
|
1453
|
+
* assert.equal(Equal.equals(trie.pipe(Trie.modify("me", (v) => v)), trie), true)
|
|
1454
|
+
*
|
|
1455
|
+
* @since 2.0.0
|
|
1456
|
+
* @category mutations
|
|
1457
|
+
*/
|
|
665
1458
|
<V>(key: string, f: (v: V) => V): (self: Trie<V>) => Trie<V>;
|
|
1459
|
+
/**
|
|
1460
|
+
* Updates the value of the specified key within the `Trie` if it exists.
|
|
1461
|
+
*
|
|
1462
|
+
* @example
|
|
1463
|
+
* import { Trie, Equal, Option } from "effect"
|
|
1464
|
+
*
|
|
1465
|
+
* const trie = Trie.empty<number>().pipe(
|
|
1466
|
+
* Trie.insert("shells", 0),
|
|
1467
|
+
* Trie.insert("sells", 1),
|
|
1468
|
+
* Trie.insert("she", 2)
|
|
1469
|
+
* )
|
|
1470
|
+
*
|
|
1471
|
+
* assert.deepStrictEqual(trie.pipe(Trie.modify("she", (v) => v + 10), Trie.get("she")), Option.some(12))
|
|
1472
|
+
*
|
|
1473
|
+
* assert.equal(Equal.equals(trie.pipe(Trie.modify("me", (v) => v)), trie), true)
|
|
1474
|
+
*
|
|
1475
|
+
* @since 2.0.0
|
|
1476
|
+
* @category mutations
|
|
1477
|
+
*/
|
|
666
1478
|
<V>(self: Trie<V>, key: string, f: (v: V) => V): Trie<V>;
|
|
667
1479
|
};
|
|
668
1480
|
/**
|
|
@@ -686,7 +1498,47 @@ export declare const modify: {
|
|
|
686
1498
|
* @category mutations
|
|
687
1499
|
*/
|
|
688
1500
|
export declare const removeMany: {
|
|
1501
|
+
/**
|
|
1502
|
+
* Removes all entries in the `Trie` which have the specified keys.
|
|
1503
|
+
*
|
|
1504
|
+
* @example
|
|
1505
|
+
* import { Trie, Equal } from "effect"
|
|
1506
|
+
*
|
|
1507
|
+
* const trie = Trie.empty<number>().pipe(
|
|
1508
|
+
* Trie.insert("shells", 0),
|
|
1509
|
+
* Trie.insert("sells", 1),
|
|
1510
|
+
* Trie.insert("she", 2)
|
|
1511
|
+
* )
|
|
1512
|
+
*
|
|
1513
|
+
* assert.equal(
|
|
1514
|
+
* Equal.equals(trie.pipe(Trie.removeMany(["she", "sells"])), Trie.empty<number>().pipe(Trie.insert("shells", 0))),
|
|
1515
|
+
* true
|
|
1516
|
+
* )
|
|
1517
|
+
*
|
|
1518
|
+
* @since 2.0.0
|
|
1519
|
+
* @category mutations
|
|
1520
|
+
*/
|
|
689
1521
|
(keys: Iterable<string>): <V>(self: Trie<V>) => Trie<V>;
|
|
1522
|
+
/**
|
|
1523
|
+
* Removes all entries in the `Trie` which have the specified keys.
|
|
1524
|
+
*
|
|
1525
|
+
* @example
|
|
1526
|
+
* import { Trie, Equal } from "effect"
|
|
1527
|
+
*
|
|
1528
|
+
* const trie = Trie.empty<number>().pipe(
|
|
1529
|
+
* Trie.insert("shells", 0),
|
|
1530
|
+
* Trie.insert("sells", 1),
|
|
1531
|
+
* Trie.insert("she", 2)
|
|
1532
|
+
* )
|
|
1533
|
+
*
|
|
1534
|
+
* assert.equal(
|
|
1535
|
+
* Equal.equals(trie.pipe(Trie.removeMany(["she", "sells"])), Trie.empty<number>().pipe(Trie.insert("shells", 0))),
|
|
1536
|
+
* true
|
|
1537
|
+
* )
|
|
1538
|
+
*
|
|
1539
|
+
* @since 2.0.0
|
|
1540
|
+
* @category mutations
|
|
1541
|
+
*/
|
|
690
1542
|
<V>(self: Trie<V>, keys: Iterable<string>): Trie<V>;
|
|
691
1543
|
};
|
|
692
1544
|
/**
|
|
@@ -717,7 +1569,61 @@ export declare const removeMany: {
|
|
|
717
1569
|
* @category mutations
|
|
718
1570
|
*/
|
|
719
1571
|
export declare const insertMany: {
|
|
1572
|
+
/**
|
|
1573
|
+
* Insert multiple entries in the `Trie` at once.
|
|
1574
|
+
*
|
|
1575
|
+
* @example
|
|
1576
|
+
* import { Trie, Equal } from "effect"
|
|
1577
|
+
*
|
|
1578
|
+
* const trie = Trie.empty<number>().pipe(
|
|
1579
|
+
* Trie.insert("shells", 0),
|
|
1580
|
+
* Trie.insert("sells", 1),
|
|
1581
|
+
* Trie.insert("she", 2)
|
|
1582
|
+
* )
|
|
1583
|
+
*
|
|
1584
|
+
* const trieInsert = Trie.empty<number>().pipe(
|
|
1585
|
+
* Trie.insert("shells", 0),
|
|
1586
|
+
* Trie.insertMany(
|
|
1587
|
+
* [["sells", 1], ["she", 2]]
|
|
1588
|
+
* )
|
|
1589
|
+
* )
|
|
1590
|
+
*
|
|
1591
|
+
* assert.equal(
|
|
1592
|
+
* Equal.equals(trie, trieInsert),
|
|
1593
|
+
* true
|
|
1594
|
+
* )
|
|
1595
|
+
*
|
|
1596
|
+
* @since 2.0.0
|
|
1597
|
+
* @category mutations
|
|
1598
|
+
*/
|
|
720
1599
|
<V>(iter: Iterable<[string, V]>): (self: Trie<V>) => Trie<V>;
|
|
1600
|
+
/**
|
|
1601
|
+
* Insert multiple entries in the `Trie` at once.
|
|
1602
|
+
*
|
|
1603
|
+
* @example
|
|
1604
|
+
* import { Trie, Equal } from "effect"
|
|
1605
|
+
*
|
|
1606
|
+
* const trie = Trie.empty<number>().pipe(
|
|
1607
|
+
* Trie.insert("shells", 0),
|
|
1608
|
+
* Trie.insert("sells", 1),
|
|
1609
|
+
* Trie.insert("she", 2)
|
|
1610
|
+
* )
|
|
1611
|
+
*
|
|
1612
|
+
* const trieInsert = Trie.empty<number>().pipe(
|
|
1613
|
+
* Trie.insert("shells", 0),
|
|
1614
|
+
* Trie.insertMany(
|
|
1615
|
+
* [["sells", 1], ["she", 2]]
|
|
1616
|
+
* )
|
|
1617
|
+
* )
|
|
1618
|
+
*
|
|
1619
|
+
* assert.equal(
|
|
1620
|
+
* Equal.equals(trie, trieInsert),
|
|
1621
|
+
* true
|
|
1622
|
+
* )
|
|
1623
|
+
*
|
|
1624
|
+
* @since 2.0.0
|
|
1625
|
+
* @category mutations
|
|
1626
|
+
*/
|
|
721
1627
|
<V>(self: Trie<V>, iter: Iterable<[string, V]>): Trie<V>;
|
|
722
1628
|
};
|
|
723
1629
|
export {};
|