effect 3.8.4 → 3.9.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/dist/cjs/Array.js +24 -3
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/BigDecimal.js +5 -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 +3 -0
- 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 +3 -0
- package/dist/cjs/Cron.js.map +1 -1
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/DateTime.js +6 -0
- 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 +3 -0
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Effect.js +122 -35
- 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 +3 -0
- package/dist/cjs/FiberHandle.js.map +1 -1
- package/dist/cjs/FiberId.js.map +1 -1
- package/dist/cjs/FiberMap.js +3 -0
- 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 +3 -0
- 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/Inspectable.js +15 -1
- package/dist/cjs/Inspectable.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 +6 -0
- 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/ManagedRuntime.js +16 -1
- package/dist/cjs/ManagedRuntime.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 +6 -0
- package/dist/cjs/Micro.js.map +1 -1
- package/dist/cjs/MutableHashMap.js +3 -0
- package/dist/cjs/MutableHashMap.js.map +1 -1
- package/dist/cjs/MutableHashSet.js +3 -0
- package/dist/cjs/MutableHashSet.js.map +1 -1
- package/dist/cjs/MutableList.js +3 -0
- package/dist/cjs/MutableList.js.map +1 -1
- package/dist/cjs/MutableQueue.js +3 -0
- package/dist/cjs/MutableQueue.js.map +1 -1
- package/dist/cjs/MutableRef.js +3 -0
- 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 +18 -2
- 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/RegExp.js +20 -1
- package/dist/cjs/RegExp.js.map +1 -1
- package/dist/cjs/Request.js.map +1 -1
- package/dist/cjs/RequestResolver.js.map +1 -1
- package/dist/cjs/Resource.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.map +1 -1
- package/dist/cjs/ScopedRef.js.map +1 -1
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/SortedMap.js +3 -0
- package/dist/cjs/SortedMap.js.map +1 -1
- package/dist/cjs/SortedSet.js +3 -0
- 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 +21 -2
- 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/cause.js +3 -0
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/context.js +6 -1
- package/dist/cjs/internal/context.js.map +1 -1
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core.js +16 -3
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +5 -1
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/fiberId.js +9 -0
- package/dist/cjs/internal/fiberId.js.map +1 -1
- package/dist/cjs/internal/hashMap.js +3 -0
- package/dist/cjs/internal/hashMap.js.map +1 -1
- package/dist/cjs/internal/hashSet.js +3 -0
- package/dist/cjs/internal/hashSet.js.map +1 -1
- package/dist/cjs/internal/layer.js +33 -19
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/mailbox.js +3 -0
- package/dist/cjs/internal/mailbox.js.map +1 -1
- package/dist/cjs/internal/managedRuntime/circular.js +10 -0
- package/dist/cjs/internal/managedRuntime/circular.js.map +1 -0
- package/dist/cjs/internal/managedRuntime.js +23 -9
- package/dist/cjs/internal/managedRuntime.js.map +1 -1
- package/dist/cjs/internal/option.js +3 -0
- package/dist/cjs/internal/option.js.map +1 -1
- package/dist/cjs/internal/pool.js +6 -1
- package/dist/cjs/internal/pool.js.map +1 -1
- package/dist/cjs/internal/redBlackTree.js +3 -0
- package/dist/cjs/internal/redBlackTree.js.map +1 -1
- package/dist/cjs/internal/resource.js +15 -5
- package/dist/cjs/internal/resource.js.map +1 -1
- package/dist/cjs/internal/runtime.js +4 -1
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/scopedRef.js +11 -8
- package/dist/cjs/internal/scopedRef.js.map +1 -1
- package/dist/cjs/internal/stm/core.js +1 -2
- package/dist/cjs/internal/stm/core.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/trie.js +3 -0
- package/dist/cjs/internal/trie.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Array.d.ts +2735 -2
- 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 +234 -3
- 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 +171 -1
- 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 +4350 -13
- 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 +315 -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/Inspectable.d.ts +15 -0
- package/dist/dts/Inspectable.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 +460 -5
- 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/ManagedRuntime.d.ts +41 -2
- package/dist/dts/ManagedRuntime.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 +1110 -0
- 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 +37 -1
- package/dist/dts/Pool.d.ts.map +1 -1
- package/dist/dts/Predicate.d.ts +513 -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 +106 -2
- 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/RegExp.d.ts +12 -2
- package/dist/dts/RegExp.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/Resource.d.ts +21 -1
- package/dist/dts/Resource.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 +36 -0
- package/dist/dts/Scope.d.ts.map +1 -1
- package/dist/dts/ScopedRef.d.ts +43 -1
- 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 +203 -0
- package/dist/dts/Tuple.d.ts.map +1 -1
- package/dist/dts/Types.d.ts +39 -0
- package/dist/dts/Types.d.ts.map +1 -1
- package/dist/dts/Unify.d.ts +26 -13
- 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/core.d.ts.map +1 -1
- package/dist/dts/internal/hashMap.d.ts.map +1 -1
- package/dist/dts/internal/layer.d.ts.map +1 -1
- package/dist/dts/internal/managedRuntime/circular.d.ts +2 -0
- package/dist/dts/internal/managedRuntime/circular.d.ts.map +1 -0
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Array.js +21 -0
- package/dist/esm/Array.js.map +1 -1
- package/dist/esm/BigDecimal.js +6 -3
- 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 +4 -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 +4 -1
- package/dist/esm/Cron.js.map +1 -1
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/DateTime.js +6 -0
- 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 +4 -1
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Effect.js +116 -30
- 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 +3 -0
- package/dist/esm/FiberHandle.js.map +1 -1
- package/dist/esm/FiberId.js.map +1 -1
- package/dist/esm/FiberMap.js +3 -0
- 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 +3 -0
- 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/Inspectable.js +14 -0
- package/dist/esm/Inspectable.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 +7 -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/ManagedRuntime.js +15 -0
- package/dist/esm/ManagedRuntime.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 +7 -1
- package/dist/esm/Micro.js.map +1 -1
- package/dist/esm/MutableHashMap.js +4 -1
- package/dist/esm/MutableHashMap.js.map +1 -1
- package/dist/esm/MutableHashSet.js +4 -1
- package/dist/esm/MutableHashSet.js.map +1 -1
- package/dist/esm/MutableList.js +4 -1
- package/dist/esm/MutableList.js.map +1 -1
- package/dist/esm/MutableQueue.js +4 -1
- package/dist/esm/MutableQueue.js.map +1 -1
- package/dist/esm/MutableRef.js +4 -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 +15 -0
- 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/RegExp.js +16 -0
- package/dist/esm/RegExp.js.map +1 -1
- package/dist/esm/Request.js.map +1 -1
- package/dist/esm/RequestResolver.js.map +1 -1
- package/dist/esm/Resource.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.map +1 -1
- package/dist/esm/ScopedRef.js.map +1 -1
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/SortedMap.js +4 -1
- package/dist/esm/SortedMap.js.map +1 -1
- package/dist/esm/SortedSet.js +4 -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 +19 -0
- 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/cause.js +4 -1
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/context.js +7 -2
- package/dist/esm/internal/context.js.map +1 -1
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core.js +14 -2
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +5 -1
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/fiberId.js +10 -1
- package/dist/esm/internal/fiberId.js.map +1 -1
- package/dist/esm/internal/hashMap.js +4 -1
- package/dist/esm/internal/hashMap.js.map +1 -1
- package/dist/esm/internal/hashSet.js +4 -1
- package/dist/esm/internal/hashSet.js.map +1 -1
- package/dist/esm/internal/layer.js +32 -18
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/mailbox.js +3 -0
- package/dist/esm/internal/mailbox.js.map +1 -1
- package/dist/esm/internal/managedRuntime/circular.js +4 -0
- package/dist/esm/internal/managedRuntime/circular.js.map +1 -0
- package/dist/esm/internal/managedRuntime.js +21 -8
- package/dist/esm/internal/managedRuntime.js.map +1 -1
- package/dist/esm/internal/option.js +4 -1
- package/dist/esm/internal/option.js.map +1 -1
- package/dist/esm/internal/pool.js +6 -1
- package/dist/esm/internal/pool.js.map +1 -1
- package/dist/esm/internal/redBlackTree.js +4 -1
- package/dist/esm/internal/redBlackTree.js.map +1 -1
- package/dist/esm/internal/resource.js +15 -5
- package/dist/esm/internal/resource.js.map +1 -1
- package/dist/esm/internal/runtime.js +4 -1
- package/dist/esm/internal/runtime.js.map +1 -1
- package/dist/esm/internal/scopedRef.js +11 -8
- package/dist/esm/internal/scopedRef.js.map +1 -1
- package/dist/esm/internal/stm/core.js +1 -2
- package/dist/esm/internal/stm/core.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/trie.js +4 -1
- package/dist/esm/internal/trie.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Array.ts +2791 -40
- package/src/BigDecimal.ts +589 -19
- 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 +822 -5
- 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 +234 -3
- package/src/Cron.ts +16 -1
- package/src/Data.ts +165 -0
- package/src/DateTime.ts +1012 -50
- package/src/Deferred.ts +171 -1
- package/src/Differ.ts +89 -27
- package/src/Duration.ts +160 -17
- package/src/Effect.ts +4717 -164
- 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 +45 -0
- package/src/FiberId.ts +24 -0
- package/src/FiberMap.ts +147 -21
- package/src/FiberRef.ts +80 -0
- package/src/FiberRefs.ts +84 -0
- package/src/FiberRefsPatch.ts +35 -1
- package/src/FiberSet.ts +41 -0
- package/src/Function.ts +416 -31
- package/src/GroupBy.ts +38 -0
- package/src/Hash.ts +8 -0
- package/src/HashMap.ts +316 -0
- package/src/HashSet.ts +284 -0
- package/src/Inspectable.ts +22 -0
- package/src/Iterable.ts +456 -6
- package/src/KeyedPool.ts +34 -0
- package/src/Layer.ts +475 -38
- package/src/List.ts +483 -4
- package/src/LogLevel.ts +46 -0
- package/src/Logger.ts +195 -4
- package/src/Mailbox.ts +16 -0
- package/src/ManagedRuntime.ts +46 -2
- 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 +1223 -61
- package/src/MutableHashMap.ts +109 -2
- package/src/MutableHashSet.ts +28 -1
- package/src/MutableList.ts +40 -1
- package/src/MutableQueue.ts +66 -1
- package/src/MutableRef.ts +60 -1
- 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 +42 -1
- package/src/Predicate.ts +514 -0
- package/src/PubSub.ts +28 -0
- package/src/Queue.ts +106 -2
- 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/RegExp.ts +17 -0
- package/src/Request.ts +76 -0
- package/src/RequestResolver.ts +145 -4
- package/src/Resource.ts +22 -1
- 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 +36 -0
- package/src/ScopedRef.ts +44 -1
- package/src/Sink.ts +464 -0
- package/src/SortedMap.ts +80 -1
- package/src/SortedSet.ts +147 -4
- 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 +223 -8
- package/src/Types.ts +41 -0
- package/src/Unify.ts +28 -17
- package/src/UpstreamPullRequest.ts +12 -0
- package/src/UpstreamPullStrategy.ts +12 -0
- package/src/Utils.ts +1 -15
- package/src/internal/cause.ts +4 -1
- package/src/internal/context.ts +7 -2
- package/src/internal/core-effect.ts +7 -7
- package/src/internal/core.ts +14 -2
- package/src/internal/effect/circular.ts +8 -2
- package/src/internal/fiberId.ts +10 -1
- package/src/internal/hashMap.ts +4 -1
- package/src/internal/hashSet.ts +4 -1
- package/src/internal/layer.ts +105 -38
- package/src/internal/mailbox.ts +3 -0
- package/src/internal/managedRuntime/circular.ts +6 -0
- package/src/internal/managedRuntime.ts +36 -22
- package/src/internal/option.ts +4 -1
- package/src/internal/pool.ts +7 -1
- package/src/internal/redBlackTree.ts +4 -1
- package/src/internal/resource.ts +16 -5
- package/src/internal/runtime.ts +4 -1
- package/src/internal/scopedRef.ts +12 -8
- package/src/internal/stm/core.ts +2 -3
- package/src/internal/stream.ts +27 -0
- package/src/internal/trie.ts +4 -1
- package/src/internal/version.ts +1 -1
package/src/Chunk.ts
CHANGED
|
@@ -9,7 +9,7 @@ import * as Equivalence from "./Equivalence.js"
|
|
|
9
9
|
import { dual, identity, pipe } from "./Function.js"
|
|
10
10
|
import * as Hash from "./Hash.js"
|
|
11
11
|
import type { TypeLambda } from "./HKT.js"
|
|
12
|
-
import { format, type Inspectable, NodeInspectSymbol, toJSON } from "./Inspectable.js"
|
|
12
|
+
import { DenoInspectSymbol, format, type Inspectable, NodeInspectSymbol, toJSON } from "./Inspectable.js"
|
|
13
13
|
import type { NonEmptyIterable } from "./NonEmptyIterable.js"
|
|
14
14
|
import type { Option } from "./Option.js"
|
|
15
15
|
import * as O from "./Option.js"
|
|
@@ -135,6 +135,9 @@ const ChunkProto: Omit<Chunk<unknown>, "backing" | "depth" | "left" | "length" |
|
|
|
135
135
|
values: toReadonlyArray(this).map(toJSON)
|
|
136
136
|
}
|
|
137
137
|
},
|
|
138
|
+
[DenoInspectSymbol]<A>(this: Chunk<A>) {
|
|
139
|
+
return this.toJSON()
|
|
140
|
+
},
|
|
138
141
|
[NodeInspectSymbol]<A>(this: Chunk<A>) {
|
|
139
142
|
return this.toJSON()
|
|
140
143
|
},
|
|
@@ -212,7 +215,19 @@ const makeChunk = <A>(backing: Backing<A>): Chunk<A> => {
|
|
|
212
215
|
* @since 2.0.0
|
|
213
216
|
*/
|
|
214
217
|
export const isChunk: {
|
|
218
|
+
/**
|
|
219
|
+
* Checks if `u` is a `Chunk<unknown>`
|
|
220
|
+
*
|
|
221
|
+
* @category constructors
|
|
222
|
+
* @since 2.0.0
|
|
223
|
+
*/
|
|
215
224
|
<A>(u: Iterable<A>): u is Chunk<A>
|
|
225
|
+
/**
|
|
226
|
+
* Checks if `u` is a `Chunk<unknown>`
|
|
227
|
+
*
|
|
228
|
+
* @category constructors
|
|
229
|
+
* @since 2.0.0
|
|
230
|
+
*/
|
|
216
231
|
(u: unknown): u is Chunk<unknown>
|
|
217
232
|
} = (u: unknown): u is Chunk<unknown> => hasProperty(u, TypeId)
|
|
218
233
|
|
|
@@ -368,7 +383,19 @@ export const reverse: <S extends Chunk<any>>(self: S) => Chunk.With<S, Chunk.Inf
|
|
|
368
383
|
* @since 2.0.0
|
|
369
384
|
*/
|
|
370
385
|
export const get: {
|
|
386
|
+
/**
|
|
387
|
+
* This function provides a safe way to read a value at a particular index from a `Chunk`.
|
|
388
|
+
*
|
|
389
|
+
* @category elements
|
|
390
|
+
* @since 2.0.0
|
|
391
|
+
*/
|
|
371
392
|
(index: number): <A>(self: Chunk<A>) => Option<A>
|
|
393
|
+
/**
|
|
394
|
+
* This function provides a safe way to read a value at a particular index from a `Chunk`.
|
|
395
|
+
*
|
|
396
|
+
* @category elements
|
|
397
|
+
* @since 2.0.0
|
|
398
|
+
*/
|
|
372
399
|
<A>(self: Chunk<A>, index: number): Option<A>
|
|
373
400
|
} = dual(
|
|
374
401
|
2,
|
|
@@ -400,7 +427,19 @@ export const unsafeFromNonEmptyArray = <A>(self: NonEmptyReadonlyArray<A>): NonE
|
|
|
400
427
|
* @category unsafe
|
|
401
428
|
*/
|
|
402
429
|
export const unsafeGet: {
|
|
430
|
+
/**
|
|
431
|
+
* Gets an element unsafely, will throw on out of bounds
|
|
432
|
+
*
|
|
433
|
+
* @since 2.0.0
|
|
434
|
+
* @category unsafe
|
|
435
|
+
*/
|
|
403
436
|
(index: number): <A>(self: Chunk<A>) => A
|
|
437
|
+
/**
|
|
438
|
+
* Gets an element unsafely, will throw on out of bounds
|
|
439
|
+
*
|
|
440
|
+
* @since 2.0.0
|
|
441
|
+
* @category unsafe
|
|
442
|
+
*/
|
|
404
443
|
<A>(self: Chunk<A>, index: number): A
|
|
405
444
|
} = dual(2, <A>(self: Chunk<A>, index: number): A => {
|
|
406
445
|
switch (self.backing._tag) {
|
|
@@ -437,7 +476,19 @@ export const unsafeGet: {
|
|
|
437
476
|
* @since 2.0.0
|
|
438
477
|
*/
|
|
439
478
|
export const append: {
|
|
479
|
+
/**
|
|
480
|
+
* Appends the specified element to the end of the `Chunk`.
|
|
481
|
+
*
|
|
482
|
+
* @category concatenating
|
|
483
|
+
* @since 2.0.0
|
|
484
|
+
*/
|
|
440
485
|
<A2>(a: A2): <A>(self: Chunk<A>) => NonEmptyChunk<A2 | A>
|
|
486
|
+
/**
|
|
487
|
+
* Appends the specified element to the end of the `Chunk`.
|
|
488
|
+
*
|
|
489
|
+
* @category concatenating
|
|
490
|
+
* @since 2.0.0
|
|
491
|
+
*/
|
|
441
492
|
<A, A2>(self: Chunk<A>, a: A2): NonEmptyChunk<A | A2>
|
|
442
493
|
} = dual(2, <A, A2>(self: Chunk<A>, a: A2): NonEmptyChunk<A | A2> => appendAll(self, of(a)))
|
|
443
494
|
|
|
@@ -448,7 +499,19 @@ export const append: {
|
|
|
448
499
|
* @since 2.0.0
|
|
449
500
|
*/
|
|
450
501
|
export const prepend: {
|
|
502
|
+
/**
|
|
503
|
+
* Prepend an element to the front of a `Chunk`, creating a new `NonEmptyChunk`.
|
|
504
|
+
*
|
|
505
|
+
* @category concatenating
|
|
506
|
+
* @since 2.0.0
|
|
507
|
+
*/
|
|
451
508
|
<B>(elem: B): <A>(self: Chunk<A>) => NonEmptyChunk<B | A>
|
|
509
|
+
/**
|
|
510
|
+
* Prepend an element to the front of a `Chunk`, creating a new `NonEmptyChunk`.
|
|
511
|
+
*
|
|
512
|
+
* @category concatenating
|
|
513
|
+
* @since 2.0.0
|
|
514
|
+
*/
|
|
452
515
|
<A, B>(self: Chunk<A>, elem: B): NonEmptyChunk<A | B>
|
|
453
516
|
} = dual(2, <A, B>(self: Chunk<A>, elem: B): NonEmptyChunk<A | B> => appendAll(of(elem), self))
|
|
454
517
|
|
|
@@ -458,7 +521,17 @@ export const prepend: {
|
|
|
458
521
|
* @since 2.0.0
|
|
459
522
|
*/
|
|
460
523
|
export const take: {
|
|
524
|
+
/**
|
|
525
|
+
* Takes the first up to `n` elements from the chunk
|
|
526
|
+
*
|
|
527
|
+
* @since 2.0.0
|
|
528
|
+
*/
|
|
461
529
|
(n: number): <A>(self: Chunk<A>) => Chunk<A>
|
|
530
|
+
/**
|
|
531
|
+
* Takes the first up to `n` elements from the chunk
|
|
532
|
+
*
|
|
533
|
+
* @since 2.0.0
|
|
534
|
+
*/
|
|
462
535
|
<A>(self: Chunk<A>, n: number): Chunk<A>
|
|
463
536
|
} = dual(2, <A>(self: Chunk<A>, n: number): Chunk<A> => {
|
|
464
537
|
if (n <= 0) {
|
|
@@ -504,7 +577,17 @@ export const take: {
|
|
|
504
577
|
* @since 2.0.0
|
|
505
578
|
*/
|
|
506
579
|
export const drop: {
|
|
580
|
+
/**
|
|
581
|
+
* Drops the first up to `n` elements from the chunk
|
|
582
|
+
*
|
|
583
|
+
* @since 2.0.0
|
|
584
|
+
*/
|
|
507
585
|
(n: number): <A>(self: Chunk<A>) => Chunk<A>
|
|
586
|
+
/**
|
|
587
|
+
* Drops the first up to `n` elements from the chunk
|
|
588
|
+
*
|
|
589
|
+
* @since 2.0.0
|
|
590
|
+
*/
|
|
508
591
|
<A>(self: Chunk<A>, n: number): Chunk<A>
|
|
509
592
|
} = dual(2, <A>(self: Chunk<A>, n: number): Chunk<A> => {
|
|
510
593
|
if (n <= 0) {
|
|
@@ -549,7 +632,17 @@ export const drop: {
|
|
|
549
632
|
* @since 2.0.0
|
|
550
633
|
*/
|
|
551
634
|
export const dropRight: {
|
|
635
|
+
/**
|
|
636
|
+
* Drops the last `n` elements.
|
|
637
|
+
*
|
|
638
|
+
* @since 2.0.0
|
|
639
|
+
*/
|
|
552
640
|
(n: number): <A>(self: Chunk<A>) => Chunk<A>
|
|
641
|
+
/**
|
|
642
|
+
* Drops the last `n` elements.
|
|
643
|
+
*
|
|
644
|
+
* @since 2.0.0
|
|
645
|
+
*/
|
|
553
646
|
<A>(self: Chunk<A>, n: number): Chunk<A>
|
|
554
647
|
} = dual(2, <A>(self: Chunk<A>, n: number): Chunk<A> => take(self, Math.max(0, self.length - n)))
|
|
555
648
|
|
|
@@ -559,7 +652,17 @@ export const dropRight: {
|
|
|
559
652
|
* @since 2.0.0
|
|
560
653
|
*/
|
|
561
654
|
export const dropWhile: {
|
|
655
|
+
/**
|
|
656
|
+
* Drops all elements so long as the predicate returns true.
|
|
657
|
+
*
|
|
658
|
+
* @since 2.0.0
|
|
659
|
+
*/
|
|
562
660
|
<A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => Chunk<A>
|
|
661
|
+
/**
|
|
662
|
+
* Drops all elements so long as the predicate returns true.
|
|
663
|
+
*
|
|
664
|
+
* @since 2.0.0
|
|
665
|
+
*/
|
|
563
666
|
<A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A>
|
|
564
667
|
} = dual(2, <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A> => {
|
|
565
668
|
const arr = toReadonlyArray(self)
|
|
@@ -587,11 +690,71 @@ export const dropWhile: {
|
|
|
587
690
|
* @since 2.0.0
|
|
588
691
|
*/
|
|
589
692
|
export const prependAll: {
|
|
693
|
+
/**
|
|
694
|
+
* Prepends the specified prefix chunk to the beginning of the specified chunk.
|
|
695
|
+
* If either chunk is non-empty, the result is also a non-empty chunk.
|
|
696
|
+
*
|
|
697
|
+
* @example
|
|
698
|
+
* import { Chunk } from "effect"
|
|
699
|
+
*
|
|
700
|
+
* assert.deepStrictEqual(
|
|
701
|
+
* Chunk.make(1, 2).pipe(Chunk.prependAll(Chunk.make("a", "b")), Chunk.toArray),
|
|
702
|
+
* ["a", "b", 1, 2]
|
|
703
|
+
* )
|
|
704
|
+
*
|
|
705
|
+
* @category concatenating
|
|
706
|
+
* @since 2.0.0
|
|
707
|
+
*/
|
|
590
708
|
<S extends Chunk<any>, T extends Chunk<any>>(
|
|
591
709
|
that: T
|
|
592
710
|
): (self: S) => Chunk.OrNonEmpty<S, T, Chunk.Infer<S> | Chunk.Infer<T>>
|
|
711
|
+
/**
|
|
712
|
+
* Prepends the specified prefix chunk to the beginning of the specified chunk.
|
|
713
|
+
* If either chunk is non-empty, the result is also a non-empty chunk.
|
|
714
|
+
*
|
|
715
|
+
* @example
|
|
716
|
+
* import { Chunk } from "effect"
|
|
717
|
+
*
|
|
718
|
+
* assert.deepStrictEqual(
|
|
719
|
+
* Chunk.make(1, 2).pipe(Chunk.prependAll(Chunk.make("a", "b")), Chunk.toArray),
|
|
720
|
+
* ["a", "b", 1, 2]
|
|
721
|
+
* )
|
|
722
|
+
*
|
|
723
|
+
* @category concatenating
|
|
724
|
+
* @since 2.0.0
|
|
725
|
+
*/
|
|
593
726
|
<A, B>(self: Chunk<A>, that: NonEmptyChunk<B>): NonEmptyChunk<A | B>
|
|
727
|
+
/**
|
|
728
|
+
* Prepends the specified prefix chunk to the beginning of the specified chunk.
|
|
729
|
+
* If either chunk is non-empty, the result is also a non-empty chunk.
|
|
730
|
+
*
|
|
731
|
+
* @example
|
|
732
|
+
* import { Chunk } from "effect"
|
|
733
|
+
*
|
|
734
|
+
* assert.deepStrictEqual(
|
|
735
|
+
* Chunk.make(1, 2).pipe(Chunk.prependAll(Chunk.make("a", "b")), Chunk.toArray),
|
|
736
|
+
* ["a", "b", 1, 2]
|
|
737
|
+
* )
|
|
738
|
+
*
|
|
739
|
+
* @category concatenating
|
|
740
|
+
* @since 2.0.0
|
|
741
|
+
*/
|
|
594
742
|
<A, B>(self: NonEmptyChunk<A>, that: Chunk<B>): NonEmptyChunk<A | B>
|
|
743
|
+
/**
|
|
744
|
+
* Prepends the specified prefix chunk to the beginning of the specified chunk.
|
|
745
|
+
* If either chunk is non-empty, the result is also a non-empty chunk.
|
|
746
|
+
*
|
|
747
|
+
* @example
|
|
748
|
+
* import { Chunk } from "effect"
|
|
749
|
+
*
|
|
750
|
+
* assert.deepStrictEqual(
|
|
751
|
+
* Chunk.make(1, 2).pipe(Chunk.prependAll(Chunk.make("a", "b")), Chunk.toArray),
|
|
752
|
+
* ["a", "b", 1, 2]
|
|
753
|
+
* )
|
|
754
|
+
*
|
|
755
|
+
* @category concatenating
|
|
756
|
+
* @since 2.0.0
|
|
757
|
+
*/
|
|
595
758
|
<A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<A | B>
|
|
596
759
|
} = dual(2, <A, B>(self: NonEmptyChunk<A>, that: Chunk<B>): Chunk<A | B> => appendAll(that, self))
|
|
597
760
|
|
|
@@ -611,11 +774,71 @@ export const prependAll: {
|
|
|
611
774
|
* @since 2.0.0
|
|
612
775
|
*/
|
|
613
776
|
export const appendAll: {
|
|
777
|
+
/**
|
|
778
|
+
* Concatenates two chunks, combining their elements.
|
|
779
|
+
* If either chunk is non-empty, the result is also a non-empty chunk.
|
|
780
|
+
*
|
|
781
|
+
* @example
|
|
782
|
+
* import { Chunk } from "effect"
|
|
783
|
+
*
|
|
784
|
+
* assert.deepStrictEqual(
|
|
785
|
+
* Chunk.make(1, 2).pipe(Chunk.appendAll(Chunk.make("a", "b")), Chunk.toArray),
|
|
786
|
+
* [1, 2, "a", "b"]
|
|
787
|
+
* )
|
|
788
|
+
*
|
|
789
|
+
* @category concatenating
|
|
790
|
+
* @since 2.0.0
|
|
791
|
+
*/
|
|
614
792
|
<S extends Chunk<any>, T extends Chunk<any>>(
|
|
615
793
|
that: T
|
|
616
794
|
): (self: S) => Chunk.OrNonEmpty<S, T, Chunk.Infer<S> | Chunk.Infer<T>>
|
|
795
|
+
/**
|
|
796
|
+
* Concatenates two chunks, combining their elements.
|
|
797
|
+
* If either chunk is non-empty, the result is also a non-empty chunk.
|
|
798
|
+
*
|
|
799
|
+
* @example
|
|
800
|
+
* import { Chunk } from "effect"
|
|
801
|
+
*
|
|
802
|
+
* assert.deepStrictEqual(
|
|
803
|
+
* Chunk.make(1, 2).pipe(Chunk.appendAll(Chunk.make("a", "b")), Chunk.toArray),
|
|
804
|
+
* [1, 2, "a", "b"]
|
|
805
|
+
* )
|
|
806
|
+
*
|
|
807
|
+
* @category concatenating
|
|
808
|
+
* @since 2.0.0
|
|
809
|
+
*/
|
|
617
810
|
<A, B>(self: Chunk<A>, that: NonEmptyChunk<B>): NonEmptyChunk<A | B>
|
|
811
|
+
/**
|
|
812
|
+
* Concatenates two chunks, combining their elements.
|
|
813
|
+
* If either chunk is non-empty, the result is also a non-empty chunk.
|
|
814
|
+
*
|
|
815
|
+
* @example
|
|
816
|
+
* import { Chunk } from "effect"
|
|
817
|
+
*
|
|
818
|
+
* assert.deepStrictEqual(
|
|
819
|
+
* Chunk.make(1, 2).pipe(Chunk.appendAll(Chunk.make("a", "b")), Chunk.toArray),
|
|
820
|
+
* [1, 2, "a", "b"]
|
|
821
|
+
* )
|
|
822
|
+
*
|
|
823
|
+
* @category concatenating
|
|
824
|
+
* @since 2.0.0
|
|
825
|
+
*/
|
|
618
826
|
<A, B>(self: NonEmptyChunk<A>, that: Chunk<B>): NonEmptyChunk<A | B>
|
|
827
|
+
/**
|
|
828
|
+
* Concatenates two chunks, combining their elements.
|
|
829
|
+
* If either chunk is non-empty, the result is also a non-empty chunk.
|
|
830
|
+
*
|
|
831
|
+
* @example
|
|
832
|
+
* import { Chunk } from "effect"
|
|
833
|
+
*
|
|
834
|
+
* assert.deepStrictEqual(
|
|
835
|
+
* Chunk.make(1, 2).pipe(Chunk.appendAll(Chunk.make("a", "b")), Chunk.toArray),
|
|
836
|
+
* [1, 2, "a", "b"]
|
|
837
|
+
* )
|
|
838
|
+
*
|
|
839
|
+
* @category concatenating
|
|
840
|
+
* @since 2.0.0
|
|
841
|
+
*/
|
|
619
842
|
<A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<A | B>
|
|
620
843
|
} = dual(2, <A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<A | B> => {
|
|
621
844
|
if (self.backing._tag === "IEmpty") {
|
|
@@ -626,7 +849,24 @@ export const appendAll: {
|
|
|
626
849
|
}
|
|
627
850
|
const diff = that.depth - self.depth
|
|
628
851
|
if (Math.abs(diff) <= 1) {
|
|
629
|
-
return makeChunk<
|
|
852
|
+
return makeChunk<
|
|
853
|
+
/**
|
|
854
|
+
* Concatenates two chunks, combining their elements.
|
|
855
|
+
* If either chunk is non-empty, the result is also a non-empty chunk.
|
|
856
|
+
*
|
|
857
|
+
* @example
|
|
858
|
+
* import { Chunk } from "effect"
|
|
859
|
+
*
|
|
860
|
+
* assert.deepStrictEqual(
|
|
861
|
+
* Chunk.make(1, 2).pipe(Chunk.appendAll(Chunk.make("a", "b")), Chunk.toArray),
|
|
862
|
+
* [1, 2, "a", "b"]
|
|
863
|
+
* )
|
|
864
|
+
*
|
|
865
|
+
* @category concatenating
|
|
866
|
+
* @since 2.0.0
|
|
867
|
+
*/
|
|
868
|
+
A | B
|
|
869
|
+
>({ _tag: "IConcat", left: self, right: that })
|
|
630
870
|
} else if (diff < -1) {
|
|
631
871
|
if (self.left.depth >= self.right.depth) {
|
|
632
872
|
const nr = appendAll(self.right, that)
|
|
@@ -665,7 +905,19 @@ export const appendAll: {
|
|
|
665
905
|
* @category filtering
|
|
666
906
|
*/
|
|
667
907
|
export const filterMap: {
|
|
908
|
+
/**
|
|
909
|
+
* Returns a filtered and mapped subset of the elements.
|
|
910
|
+
*
|
|
911
|
+
* @since 2.0.0
|
|
912
|
+
* @category filtering
|
|
913
|
+
*/
|
|
668
914
|
<A, B>(f: (a: A, i: number) => Option<B>): (self: Chunk<A>) => Chunk<B>
|
|
915
|
+
/**
|
|
916
|
+
* Returns a filtered and mapped subset of the elements.
|
|
917
|
+
*
|
|
918
|
+
* @since 2.0.0
|
|
919
|
+
* @category filtering
|
|
920
|
+
*/
|
|
669
921
|
<A, B>(self: Chunk<A>, f: (a: A, i: number) => Option<B>): Chunk<B>
|
|
670
922
|
} = dual(
|
|
671
923
|
2,
|
|
@@ -679,9 +931,33 @@ export const filterMap: {
|
|
|
679
931
|
* @category filtering
|
|
680
932
|
*/
|
|
681
933
|
export const filter: {
|
|
934
|
+
/**
|
|
935
|
+
* Returns a filtered and mapped subset of the elements.
|
|
936
|
+
*
|
|
937
|
+
* @since 2.0.0
|
|
938
|
+
* @category filtering
|
|
939
|
+
*/
|
|
682
940
|
<A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Chunk<A>) => Chunk<B>
|
|
941
|
+
/**
|
|
942
|
+
* Returns a filtered and mapped subset of the elements.
|
|
943
|
+
*
|
|
944
|
+
* @since 2.0.0
|
|
945
|
+
* @category filtering
|
|
946
|
+
*/
|
|
683
947
|
<A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => Chunk<A>
|
|
948
|
+
/**
|
|
949
|
+
* Returns a filtered and mapped subset of the elements.
|
|
950
|
+
*
|
|
951
|
+
* @since 2.0.0
|
|
952
|
+
* @category filtering
|
|
953
|
+
*/
|
|
684
954
|
<A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): Chunk<B>
|
|
955
|
+
/**
|
|
956
|
+
* Returns a filtered and mapped subset of the elements.
|
|
957
|
+
*
|
|
958
|
+
* @since 2.0.0
|
|
959
|
+
* @category filtering
|
|
960
|
+
*/
|
|
685
961
|
<A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A>
|
|
686
962
|
} = dual(
|
|
687
963
|
2,
|
|
@@ -695,7 +971,19 @@ export const filter: {
|
|
|
695
971
|
* @category filtering
|
|
696
972
|
*/
|
|
697
973
|
export const filterMapWhile: {
|
|
974
|
+
/**
|
|
975
|
+
* Transforms all elements of the chunk for as long as the specified function returns some value
|
|
976
|
+
*
|
|
977
|
+
* @since 2.0.0
|
|
978
|
+
* @category filtering
|
|
979
|
+
*/
|
|
698
980
|
<A, B>(f: (a: A) => Option<B>): (self: Chunk<A>) => Chunk<B>
|
|
981
|
+
/**
|
|
982
|
+
* Transforms all elements of the chunk for as long as the specified function returns some value
|
|
983
|
+
*
|
|
984
|
+
* @since 2.0.0
|
|
985
|
+
* @category filtering
|
|
986
|
+
*/
|
|
699
987
|
<A, B>(self: Chunk<A>, f: (a: A) => Option<B>): Chunk<B>
|
|
700
988
|
} = dual(2, <A, B>(self: Chunk<A>, f: (a: A) => Option<B>) => unsafeFromArray(RA.filterMapWhile(self, f)))
|
|
701
989
|
|
|
@@ -714,10 +1002,28 @@ export const compact = <A>(self: Chunk<Option<A>>): Chunk<A> => filterMap(self,
|
|
|
714
1002
|
* @category sequencing
|
|
715
1003
|
*/
|
|
716
1004
|
export const flatMap: {
|
|
1005
|
+
/**
|
|
1006
|
+
* Applies a function to each element in a chunk and returns a new chunk containing the concatenated mapped elements.
|
|
1007
|
+
*
|
|
1008
|
+
* @since 2.0.0
|
|
1009
|
+
* @category sequencing
|
|
1010
|
+
*/
|
|
717
1011
|
<S extends Chunk<any>, T extends Chunk<any>>(
|
|
718
1012
|
f: (a: Chunk.Infer<S>, i: number) => T
|
|
719
1013
|
): (self: S) => Chunk.AndNonEmpty<S, T, Chunk.Infer<T>>
|
|
1014
|
+
/**
|
|
1015
|
+
* Applies a function to each element in a chunk and returns a new chunk containing the concatenated mapped elements.
|
|
1016
|
+
*
|
|
1017
|
+
* @since 2.0.0
|
|
1018
|
+
* @category sequencing
|
|
1019
|
+
*/
|
|
720
1020
|
<A, B>(self: NonEmptyChunk<A>, f: (a: A, i: number) => NonEmptyChunk<B>): NonEmptyChunk<B>
|
|
1021
|
+
/**
|
|
1022
|
+
* Applies a function to each element in a chunk and returns a new chunk containing the concatenated mapped elements.
|
|
1023
|
+
*
|
|
1024
|
+
* @since 2.0.0
|
|
1025
|
+
* @category sequencing
|
|
1026
|
+
*/
|
|
721
1027
|
<A, B>(self: Chunk<A>, f: (a: A, i: number) => Chunk<B>): Chunk<B>
|
|
722
1028
|
} = dual(2, <A, B>(self: Chunk<A>, f: (a: A, i: number) => Chunk<B>) => {
|
|
723
1029
|
if (self.backing._tag === "ISingleton") {
|
|
@@ -738,7 +1044,19 @@ export const flatMap: {
|
|
|
738
1044
|
* @category combinators
|
|
739
1045
|
*/
|
|
740
1046
|
export const forEach: {
|
|
1047
|
+
/**
|
|
1048
|
+
* Applies the specified function to each element of the `List`.
|
|
1049
|
+
*
|
|
1050
|
+
* @since 2.0.0
|
|
1051
|
+
* @category combinators
|
|
1052
|
+
*/
|
|
741
1053
|
<A, B>(f: (a: A) => B): (self: Chunk<A>) => void
|
|
1054
|
+
/**
|
|
1055
|
+
* Applies the specified function to each element of the `List`.
|
|
1056
|
+
*
|
|
1057
|
+
* @since 2.0.0
|
|
1058
|
+
* @category combinators
|
|
1059
|
+
*/
|
|
742
1060
|
<A, B>(self: Chunk<A>, f: (a: A) => B): void
|
|
743
1061
|
} = dual(2, <A, B>(self: Chunk<A>, f: (a: A) => B): void => toReadonlyArray(self).forEach(f))
|
|
744
1062
|
|
|
@@ -757,7 +1075,19 @@ export const flatten: <S extends Chunk<Chunk<any>>>(self: S) => Chunk.Flatten<S>
|
|
|
757
1075
|
* @category elements
|
|
758
1076
|
*/
|
|
759
1077
|
export const chunksOf: {
|
|
1078
|
+
/**
|
|
1079
|
+
* Groups elements in chunks of up to `n` elements.
|
|
1080
|
+
*
|
|
1081
|
+
* @since 2.0.0
|
|
1082
|
+
* @category elements
|
|
1083
|
+
*/
|
|
760
1084
|
(n: number): <A>(self: Chunk<A>) => Chunk<Chunk<A>>
|
|
1085
|
+
/**
|
|
1086
|
+
* Groups elements in chunks of up to `n` elements.
|
|
1087
|
+
*
|
|
1088
|
+
* @since 2.0.0
|
|
1089
|
+
* @category elements
|
|
1090
|
+
*/
|
|
761
1091
|
<A>(self: Chunk<A>, n: number): Chunk<Chunk<A>>
|
|
762
1092
|
} = dual(2, <A>(self: Chunk<A>, n: number) => {
|
|
763
1093
|
const gr: Array<Chunk<A>> = []
|
|
@@ -784,7 +1114,23 @@ export const chunksOf: {
|
|
|
784
1114
|
* @category elements
|
|
785
1115
|
*/
|
|
786
1116
|
export const intersection: {
|
|
1117
|
+
/**
|
|
1118
|
+
* Creates a Chunk of unique values that are included in all given Chunks.
|
|
1119
|
+
*
|
|
1120
|
+
* The order and references of result values are determined by the Chunk.
|
|
1121
|
+
*
|
|
1122
|
+
* @since 2.0.0
|
|
1123
|
+
* @category elements
|
|
1124
|
+
*/
|
|
787
1125
|
<A>(that: Chunk<A>): <B>(self: Chunk<B>) => Chunk<A & B>
|
|
1126
|
+
/**
|
|
1127
|
+
* Creates a Chunk of unique values that are included in all given Chunks.
|
|
1128
|
+
*
|
|
1129
|
+
* The order and references of result values are determined by the Chunk.
|
|
1130
|
+
*
|
|
1131
|
+
* @since 2.0.0
|
|
1132
|
+
* @category elements
|
|
1133
|
+
*/
|
|
788
1134
|
<A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<A & B>
|
|
789
1135
|
} = dual(
|
|
790
1136
|
2,
|
|
@@ -914,8 +1260,53 @@ export declare namespace Chunk {
|
|
|
914
1260
|
* @category mapping
|
|
915
1261
|
*/
|
|
916
1262
|
export const map: {
|
|
1263
|
+
/**
|
|
1264
|
+
* Transforms the elements of a chunk using the specified mapping function.
|
|
1265
|
+
* If the input chunk is non-empty, the resulting chunk will also be non-empty.
|
|
1266
|
+
*
|
|
1267
|
+
* @example
|
|
1268
|
+
* import { Chunk } from "effect"
|
|
1269
|
+
*
|
|
1270
|
+
* assert.deepStrictEqual(
|
|
1271
|
+
* Chunk.map(Chunk.make(1, 2), (n) => n + 1),
|
|
1272
|
+
* Chunk.make(2, 3)
|
|
1273
|
+
* )
|
|
1274
|
+
*
|
|
1275
|
+
* @since 2.0.0
|
|
1276
|
+
* @category mapping
|
|
1277
|
+
*/
|
|
917
1278
|
<S extends Chunk<any>, B>(f: (a: Chunk.Infer<S>, i: number) => B): (self: S) => Chunk.With<S, B>
|
|
1279
|
+
/**
|
|
1280
|
+
* Transforms the elements of a chunk using the specified mapping function.
|
|
1281
|
+
* If the input chunk is non-empty, the resulting chunk will also be non-empty.
|
|
1282
|
+
*
|
|
1283
|
+
* @example
|
|
1284
|
+
* import { Chunk } from "effect"
|
|
1285
|
+
*
|
|
1286
|
+
* assert.deepStrictEqual(
|
|
1287
|
+
* Chunk.map(Chunk.make(1, 2), (n) => n + 1),
|
|
1288
|
+
* Chunk.make(2, 3)
|
|
1289
|
+
* )
|
|
1290
|
+
*
|
|
1291
|
+
* @since 2.0.0
|
|
1292
|
+
* @category mapping
|
|
1293
|
+
*/
|
|
918
1294
|
<A, B>(self: NonEmptyChunk<A>, f: (a: A, i: number) => B): NonEmptyChunk<B>
|
|
1295
|
+
/**
|
|
1296
|
+
* Transforms the elements of a chunk using the specified mapping function.
|
|
1297
|
+
* If the input chunk is non-empty, the resulting chunk will also be non-empty.
|
|
1298
|
+
*
|
|
1299
|
+
* @example
|
|
1300
|
+
* import { Chunk } from "effect"
|
|
1301
|
+
*
|
|
1302
|
+
* assert.deepStrictEqual(
|
|
1303
|
+
* Chunk.map(Chunk.make(1, 2), (n) => n + 1),
|
|
1304
|
+
* Chunk.make(2, 3)
|
|
1305
|
+
* )
|
|
1306
|
+
*
|
|
1307
|
+
* @since 2.0.0
|
|
1308
|
+
* @category mapping
|
|
1309
|
+
*/
|
|
919
1310
|
<A, B>(self: Chunk<A>, f: (a: A, i: number) => B): Chunk<B>
|
|
920
1311
|
} = dual(2, <A, B>(self: Chunk<A>, f: (a: A, i: number) => B): Chunk<B> =>
|
|
921
1312
|
self.backing._tag === "ISingleton" ?
|
|
@@ -929,7 +1320,19 @@ export const map: {
|
|
|
929
1320
|
* @category folding
|
|
930
1321
|
*/
|
|
931
1322
|
export const mapAccum: {
|
|
1323
|
+
/**
|
|
1324
|
+
* Statefully maps over the chunk, producing new elements of type `B`.
|
|
1325
|
+
*
|
|
1326
|
+
* @since 2.0.0
|
|
1327
|
+
* @category folding
|
|
1328
|
+
*/
|
|
932
1329
|
<S, A, B>(s: S, f: (s: S, a: A) => readonly [S, B]): (self: Chunk<A>) => [S, Chunk<B>]
|
|
1330
|
+
/**
|
|
1331
|
+
* Statefully maps over the chunk, producing new elements of type `B`.
|
|
1332
|
+
*
|
|
1333
|
+
* @since 2.0.0
|
|
1334
|
+
* @category folding
|
|
1335
|
+
*/
|
|
933
1336
|
<S, A, B>(self: Chunk<A>, s: S, f: (s: S, a: A) => readonly [S, B]): [S, Chunk<B>]
|
|
934
1337
|
} = dual(3, <S, A, B>(self: Chunk<A>, s: S, f: (s: S, a: A) => readonly [S, B]): [S, Chunk<B>] => {
|
|
935
1338
|
const [s1, as] = RA.mapAccum(self, s, f)
|
|
@@ -943,16 +1346,38 @@ export const mapAccum: {
|
|
|
943
1346
|
* @since 2.0.0
|
|
944
1347
|
*/
|
|
945
1348
|
export const partition: {
|
|
1349
|
+
/**
|
|
1350
|
+
* Separate elements based on a predicate that also exposes the index of the element.
|
|
1351
|
+
*
|
|
1352
|
+
* @category filtering
|
|
1353
|
+
* @since 2.0.0
|
|
1354
|
+
*/
|
|
946
1355
|
<A, B extends A>(
|
|
947
1356
|
refinement: (a: NoInfer<A>, i: number) => a is B
|
|
948
1357
|
): (self: Chunk<A>) => [excluded: Chunk<Exclude<A, B>>, satisfying: Chunk<B>]
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
1358
|
+
/**
|
|
1359
|
+
* Separate elements based on a predicate that also exposes the index of the element.
|
|
1360
|
+
*
|
|
1361
|
+
* @category filtering
|
|
1362
|
+
* @since 2.0.0
|
|
1363
|
+
*/
|
|
1364
|
+
<A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Chunk<A>) => [excluded: Chunk<A>, satisfying: Chunk<A>]
|
|
1365
|
+
/**
|
|
1366
|
+
* Separate elements based on a predicate that also exposes the index of the element.
|
|
1367
|
+
*
|
|
1368
|
+
* @category filtering
|
|
1369
|
+
* @since 2.0.0
|
|
1370
|
+
*/
|
|
952
1371
|
<A, B extends A>(
|
|
953
1372
|
self: Chunk<A>,
|
|
954
1373
|
refinement: (a: A, i: number) => a is B
|
|
955
1374
|
): [excluded: Chunk<Exclude<A, B>>, satisfying: Chunk<B>]
|
|
1375
|
+
/**
|
|
1376
|
+
* Separate elements based on a predicate that also exposes the index of the element.
|
|
1377
|
+
*
|
|
1378
|
+
* @category filtering
|
|
1379
|
+
* @since 2.0.0
|
|
1380
|
+
*/
|
|
956
1381
|
<A>(self: Chunk<A>, predicate: (a: A, i: number) => boolean): [excluded: Chunk<A>, satisfying: Chunk<A>]
|
|
957
1382
|
} = dual(
|
|
958
1383
|
2,
|
|
@@ -970,7 +1395,19 @@ export const partition: {
|
|
|
970
1395
|
* @since 2.0.0
|
|
971
1396
|
*/
|
|
972
1397
|
export const partitionMap: {
|
|
1398
|
+
/**
|
|
1399
|
+
* Partitions the elements of this chunk into two chunks using f.
|
|
1400
|
+
*
|
|
1401
|
+
* @category filtering
|
|
1402
|
+
* @since 2.0.0
|
|
1403
|
+
*/
|
|
973
1404
|
<A, B, C>(f: (a: A) => Either<C, B>): (self: Chunk<A>) => [left: Chunk<B>, right: Chunk<C>]
|
|
1405
|
+
/**
|
|
1406
|
+
* Partitions the elements of this chunk into two chunks using f.
|
|
1407
|
+
*
|
|
1408
|
+
* @category filtering
|
|
1409
|
+
* @since 2.0.0
|
|
1410
|
+
*/
|
|
974
1411
|
<A, B, C>(self: Chunk<A>, f: (a: A) => Either<C, B>): [left: Chunk<B>, right: Chunk<C>]
|
|
975
1412
|
} = dual(2, <A, B, C>(self: Chunk<A>, f: (a: A) => Either<C, B>): [left: Chunk<B>, right: Chunk<C>] =>
|
|
976
1413
|
pipe(
|
|
@@ -1005,7 +1442,19 @@ export const size = <A>(self: Chunk<A>): number => self.length
|
|
|
1005
1442
|
* @category sorting
|
|
1006
1443
|
*/
|
|
1007
1444
|
export const sort: {
|
|
1445
|
+
/**
|
|
1446
|
+
* Sort the elements of a Chunk in increasing order, creating a new Chunk.
|
|
1447
|
+
*
|
|
1448
|
+
* @since 2.0.0
|
|
1449
|
+
* @category sorting
|
|
1450
|
+
*/
|
|
1008
1451
|
<B>(O: Order.Order<B>): <A extends B>(self: Chunk<A>) => Chunk<A>
|
|
1452
|
+
/**
|
|
1453
|
+
* Sort the elements of a Chunk in increasing order, creating a new Chunk.
|
|
1454
|
+
*
|
|
1455
|
+
* @since 2.0.0
|
|
1456
|
+
* @category sorting
|
|
1457
|
+
*/
|
|
1009
1458
|
<A extends B, B>(self: Chunk<A>, O: Order.Order<B>): Chunk<A>
|
|
1010
1459
|
} = dual(
|
|
1011
1460
|
2,
|
|
@@ -1017,7 +1466,15 @@ export const sort: {
|
|
|
1017
1466
|
* @category sorting
|
|
1018
1467
|
*/
|
|
1019
1468
|
export const sortWith: {
|
|
1469
|
+
/**
|
|
1470
|
+
* @since 2.0.0
|
|
1471
|
+
* @category sorting
|
|
1472
|
+
*/
|
|
1020
1473
|
<A, B>(f: (a: A) => B, order: Order.Order<B>): (self: Chunk<A>) => Chunk<A>
|
|
1474
|
+
/**
|
|
1475
|
+
* @since 2.0.0
|
|
1476
|
+
* @category sorting
|
|
1477
|
+
*/
|
|
1021
1478
|
<A, B>(self: Chunk<A>, f: (a: A) => B, order: Order.Order<B>): Chunk<A>
|
|
1022
1479
|
} = dual(
|
|
1023
1480
|
3,
|
|
@@ -1031,7 +1488,19 @@ export const sortWith: {
|
|
|
1031
1488
|
* @category splitting
|
|
1032
1489
|
*/
|
|
1033
1490
|
export const splitAt: {
|
|
1491
|
+
/**
|
|
1492
|
+
* Returns two splits of this chunk at the specified index.
|
|
1493
|
+
*
|
|
1494
|
+
* @since 2.0.0
|
|
1495
|
+
* @category splitting
|
|
1496
|
+
*/
|
|
1034
1497
|
(n: number): <A>(self: Chunk<A>) => [beforeIndex: Chunk<A>, fromIndex: Chunk<A>]
|
|
1498
|
+
/**
|
|
1499
|
+
* Returns two splits of this chunk at the specified index.
|
|
1500
|
+
*
|
|
1501
|
+
* @since 2.0.0
|
|
1502
|
+
* @category splitting
|
|
1503
|
+
*/
|
|
1035
1504
|
<A>(self: Chunk<A>, n: number): [beforeIndex: Chunk<A>, fromIndex: Chunk<A>]
|
|
1036
1505
|
} = dual(2, <A>(self: Chunk<A>, n: number): [Chunk<A>, Chunk<A>] => [take(self, n), drop(self, n)])
|
|
1037
1506
|
|
|
@@ -1043,7 +1512,21 @@ export const splitAt: {
|
|
|
1043
1512
|
* @since 2.0.0
|
|
1044
1513
|
*/
|
|
1045
1514
|
export const splitNonEmptyAt: {
|
|
1515
|
+
/**
|
|
1516
|
+
* Splits a `NonEmptyChunk` into two segments, with the first segment containing a maximum of `n` elements.
|
|
1517
|
+
* The value of `n` must be `>= 1`.
|
|
1518
|
+
*
|
|
1519
|
+
* @category splitting
|
|
1520
|
+
* @since 2.0.0
|
|
1521
|
+
*/
|
|
1046
1522
|
(n: number): <A>(self: NonEmptyChunk<A>) => [beforeIndex: NonEmptyChunk<A>, fromIndex: Chunk<A>]
|
|
1523
|
+
/**
|
|
1524
|
+
* Splits a `NonEmptyChunk` into two segments, with the first segment containing a maximum of `n` elements.
|
|
1525
|
+
* The value of `n` must be `>= 1`.
|
|
1526
|
+
*
|
|
1527
|
+
* @category splitting
|
|
1528
|
+
* @since 2.0.0
|
|
1529
|
+
*/
|
|
1047
1530
|
<A>(self: NonEmptyChunk<A>, n: number): [beforeIndex: NonEmptyChunk<A>, fromIndex: Chunk<A>]
|
|
1048
1531
|
} = dual(2, <A>(self: NonEmptyChunk<A>, n: number): [Chunk<A>, Chunk<A>] => {
|
|
1049
1532
|
const _n = Math.max(1, Math.floor(n))
|
|
@@ -1059,7 +1542,19 @@ export const splitNonEmptyAt: {
|
|
|
1059
1542
|
* @category splitting
|
|
1060
1543
|
*/
|
|
1061
1544
|
export const split: {
|
|
1545
|
+
/**
|
|
1546
|
+
* Splits this chunk into `n` equally sized chunks.
|
|
1547
|
+
*
|
|
1548
|
+
* @since 2.0.0
|
|
1549
|
+
* @category splitting
|
|
1550
|
+
*/
|
|
1062
1551
|
(n: number): <A>(self: Chunk<A>) => Chunk<Chunk<A>>
|
|
1552
|
+
/**
|
|
1553
|
+
* Splits this chunk into `n` equally sized chunks.
|
|
1554
|
+
*
|
|
1555
|
+
* @since 2.0.0
|
|
1556
|
+
* @category splitting
|
|
1557
|
+
*/
|
|
1063
1558
|
<A>(self: Chunk<A>, n: number): Chunk<Chunk<A>>
|
|
1064
1559
|
} = dual(2, <A>(self: Chunk<A>, n: number) => chunksOf(self, Math.ceil(self.length / Math.floor(n))))
|
|
1065
1560
|
|
|
@@ -1071,7 +1566,21 @@ export const split: {
|
|
|
1071
1566
|
* @since 2.0.0
|
|
1072
1567
|
*/
|
|
1073
1568
|
export const splitWhere: {
|
|
1569
|
+
/**
|
|
1570
|
+
* Splits this chunk on the first element that matches this predicate.
|
|
1571
|
+
* Returns a tuple containing two chunks: the first one is before the match, and the second one is from the match onward.
|
|
1572
|
+
*
|
|
1573
|
+
* @category splitting
|
|
1574
|
+
* @since 2.0.0
|
|
1575
|
+
*/
|
|
1074
1576
|
<A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => [beforeMatch: Chunk<A>, fromMatch: Chunk<A>]
|
|
1577
|
+
/**
|
|
1578
|
+
* Splits this chunk on the first element that matches this predicate.
|
|
1579
|
+
* Returns a tuple containing two chunks: the first one is before the match, and the second one is from the match onward.
|
|
1580
|
+
*
|
|
1581
|
+
* @category splitting
|
|
1582
|
+
* @since 2.0.0
|
|
1583
|
+
*/
|
|
1075
1584
|
<A>(self: Chunk<A>, predicate: Predicate<A>): [beforeMatch: Chunk<A>, fromMatch: Chunk<A>]
|
|
1076
1585
|
} = dual(2, <A>(self: Chunk<A>, predicate: Predicate<A>): [beforeMatch: Chunk<A>, fromMatch: Chunk<A>] => {
|
|
1077
1586
|
let i = 0
|
|
@@ -1108,7 +1617,19 @@ export const tailNonEmpty = <A>(self: NonEmptyChunk<A>): Chunk<A> => drop(self,
|
|
|
1108
1617
|
* @category elements
|
|
1109
1618
|
*/
|
|
1110
1619
|
export const takeRight: {
|
|
1620
|
+
/**
|
|
1621
|
+
* Takes the last `n` elements.
|
|
1622
|
+
*
|
|
1623
|
+
* @since 2.0.0
|
|
1624
|
+
* @category elements
|
|
1625
|
+
*/
|
|
1111
1626
|
(n: number): <A>(self: Chunk<A>) => Chunk<A>
|
|
1627
|
+
/**
|
|
1628
|
+
* Takes the last `n` elements.
|
|
1629
|
+
*
|
|
1630
|
+
* @since 2.0.0
|
|
1631
|
+
* @category elements
|
|
1632
|
+
*/
|
|
1112
1633
|
<A>(self: Chunk<A>, n: number): Chunk<A>
|
|
1113
1634
|
} = dual(2, <A>(self: Chunk<A>, n: number): Chunk<A> => drop(self, self.length - n))
|
|
1114
1635
|
|
|
@@ -1119,9 +1640,33 @@ export const takeRight: {
|
|
|
1119
1640
|
* @category elements
|
|
1120
1641
|
*/
|
|
1121
1642
|
export const takeWhile: {
|
|
1643
|
+
/**
|
|
1644
|
+
* Takes all elements so long as the predicate returns true.
|
|
1645
|
+
*
|
|
1646
|
+
* @since 2.0.0
|
|
1647
|
+
* @category elements
|
|
1648
|
+
*/
|
|
1122
1649
|
<A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Chunk<A>) => Chunk<B>
|
|
1650
|
+
/**
|
|
1651
|
+
* Takes all elements so long as the predicate returns true.
|
|
1652
|
+
*
|
|
1653
|
+
* @since 2.0.0
|
|
1654
|
+
* @category elements
|
|
1655
|
+
*/
|
|
1123
1656
|
<A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => Chunk<A>
|
|
1657
|
+
/**
|
|
1658
|
+
* Takes all elements so long as the predicate returns true.
|
|
1659
|
+
*
|
|
1660
|
+
* @since 2.0.0
|
|
1661
|
+
* @category elements
|
|
1662
|
+
*/
|
|
1124
1663
|
<A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): Chunk<B>
|
|
1664
|
+
/**
|
|
1665
|
+
* Takes all elements so long as the predicate returns true.
|
|
1666
|
+
*
|
|
1667
|
+
* @since 2.0.0
|
|
1668
|
+
* @category elements
|
|
1669
|
+
*/
|
|
1125
1670
|
<A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A>
|
|
1126
1671
|
} = dual(2, <A>(self: Chunk<A>, predicate: Predicate<A>): Chunk<A> => {
|
|
1127
1672
|
const out: Array<A> = []
|
|
@@ -1142,7 +1687,19 @@ export const takeWhile: {
|
|
|
1142
1687
|
* @category elements
|
|
1143
1688
|
*/
|
|
1144
1689
|
export const union: {
|
|
1690
|
+
/**
|
|
1691
|
+
* Creates a Chunks of unique values, in order, from all given Chunks.
|
|
1692
|
+
*
|
|
1693
|
+
* @since 2.0.0
|
|
1694
|
+
* @category elements
|
|
1695
|
+
*/
|
|
1145
1696
|
<A>(that: Chunk<A>): <B>(self: Chunk<B>) => Chunk<A | B>
|
|
1697
|
+
/**
|
|
1698
|
+
* Creates a Chunks of unique values, in order, from all given Chunks.
|
|
1699
|
+
*
|
|
1700
|
+
* @since 2.0.0
|
|
1701
|
+
* @category elements
|
|
1702
|
+
*/
|
|
1146
1703
|
<A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<A | B>
|
|
1147
1704
|
} = dual(
|
|
1148
1705
|
2,
|
|
@@ -1185,7 +1742,19 @@ export const unzip = <A, B>(self: Chunk<readonly [A, B]>): [Chunk<A>, Chunk<B>]
|
|
|
1185
1742
|
* @category zipping
|
|
1186
1743
|
*/
|
|
1187
1744
|
export const zipWith: {
|
|
1745
|
+
/**
|
|
1746
|
+
* Zips this chunk pointwise with the specified chunk using the specified combiner.
|
|
1747
|
+
*
|
|
1748
|
+
* @since 2.0.0
|
|
1749
|
+
* @category zipping
|
|
1750
|
+
*/
|
|
1188
1751
|
<A, B, C>(that: Chunk<B>, f: (a: A, b: B) => C): (self: Chunk<A>) => Chunk<C>
|
|
1752
|
+
/**
|
|
1753
|
+
* Zips this chunk pointwise with the specified chunk using the specified combiner.
|
|
1754
|
+
*
|
|
1755
|
+
* @since 2.0.0
|
|
1756
|
+
* @category zipping
|
|
1757
|
+
*/
|
|
1189
1758
|
<A, B, C>(self: Chunk<A>, that: Chunk<B>, f: (a: A, b: B) => C): Chunk<C>
|
|
1190
1759
|
} = dual(
|
|
1191
1760
|
3,
|
|
@@ -1200,7 +1769,19 @@ export const zipWith: {
|
|
|
1200
1769
|
* @category zipping
|
|
1201
1770
|
*/
|
|
1202
1771
|
export const zip: {
|
|
1772
|
+
/**
|
|
1773
|
+
* Zips this chunk pointwise with the specified chunk.
|
|
1774
|
+
*
|
|
1775
|
+
* @since 2.0.0
|
|
1776
|
+
* @category zipping
|
|
1777
|
+
*/
|
|
1203
1778
|
<B>(that: Chunk<B>): <A>(self: Chunk<A>) => Chunk<[A, B]>
|
|
1779
|
+
/**
|
|
1780
|
+
* Zips this chunk pointwise with the specified chunk.
|
|
1781
|
+
*
|
|
1782
|
+
* @since 2.0.0
|
|
1783
|
+
* @category zipping
|
|
1784
|
+
*/
|
|
1204
1785
|
<A, B>(self: Chunk<A>, that: Chunk<B>): Chunk<[A, B]>
|
|
1205
1786
|
} = dual(
|
|
1206
1787
|
2,
|
|
@@ -1214,7 +1795,19 @@ export const zip: {
|
|
|
1214
1795
|
* @since 2.0.0
|
|
1215
1796
|
*/
|
|
1216
1797
|
export const remove: {
|
|
1798
|
+
/**
|
|
1799
|
+
* Delete the element at the specified index, creating a new `Chunk`,
|
|
1800
|
+
* or returning the input if the index is out of bounds.
|
|
1801
|
+
*
|
|
1802
|
+
* @since 2.0.0
|
|
1803
|
+
*/
|
|
1217
1804
|
(i: number): <A>(self: Chunk<A>) => Chunk<A>
|
|
1805
|
+
/**
|
|
1806
|
+
* Delete the element at the specified index, creating a new `Chunk`,
|
|
1807
|
+
* or returning the input if the index is out of bounds.
|
|
1808
|
+
*
|
|
1809
|
+
* @since 2.0.0
|
|
1810
|
+
*/
|
|
1218
1811
|
<A>(self: Chunk<A>, i: number): Chunk<A>
|
|
1219
1812
|
} = dual(
|
|
1220
1813
|
2,
|
|
@@ -1225,7 +1818,13 @@ export const remove: {
|
|
|
1225
1818
|
* @since 2.0.0
|
|
1226
1819
|
*/
|
|
1227
1820
|
export const modifyOption: {
|
|
1821
|
+
/**
|
|
1822
|
+
* @since 2.0.0
|
|
1823
|
+
*/
|
|
1228
1824
|
<A, B>(i: number, f: (a: A) => B): (self: Chunk<A>) => Option<Chunk<A | B>>
|
|
1825
|
+
/**
|
|
1826
|
+
* @since 2.0.0
|
|
1827
|
+
*/
|
|
1229
1828
|
<A, B>(self: Chunk<A>, i: number, f: (a: A) => B): Option<Chunk<A | B>>
|
|
1230
1829
|
} = dual(
|
|
1231
1830
|
3,
|
|
@@ -1240,7 +1839,19 @@ export const modifyOption: {
|
|
|
1240
1839
|
* @since 2.0.0
|
|
1241
1840
|
*/
|
|
1242
1841
|
export const modify: {
|
|
1842
|
+
/**
|
|
1843
|
+
* Apply a function to the element at the specified index, creating a new `Chunk`,
|
|
1844
|
+
* or returning the input if the index is out of bounds.
|
|
1845
|
+
*
|
|
1846
|
+
* @since 2.0.0
|
|
1847
|
+
*/
|
|
1243
1848
|
<A, B>(i: number, f: (a: A) => B): (self: Chunk<A>) => Chunk<A | B>
|
|
1849
|
+
/**
|
|
1850
|
+
* Apply a function to the element at the specified index, creating a new `Chunk`,
|
|
1851
|
+
* or returning the input if the index is out of bounds.
|
|
1852
|
+
*
|
|
1853
|
+
* @since 2.0.0
|
|
1854
|
+
*/
|
|
1244
1855
|
<A, B>(self: Chunk<A>, i: number, f: (a: A) => B): Chunk<A | B>
|
|
1245
1856
|
} = dual(
|
|
1246
1857
|
3,
|
|
@@ -1254,7 +1865,19 @@ export const modify: {
|
|
|
1254
1865
|
* @since 2.0.0
|
|
1255
1866
|
*/
|
|
1256
1867
|
export const replace: {
|
|
1868
|
+
/**
|
|
1869
|
+
* Change the element at the specified index, creating a new `Chunk`,
|
|
1870
|
+
* or returning the input if the index is out of bounds.
|
|
1871
|
+
*
|
|
1872
|
+
* @since 2.0.0
|
|
1873
|
+
*/
|
|
1257
1874
|
<B>(i: number, b: B): <A>(self: Chunk<A>) => Chunk<B | A>
|
|
1875
|
+
/**
|
|
1876
|
+
* Change the element at the specified index, creating a new `Chunk`,
|
|
1877
|
+
* or returning the input if the index is out of bounds.
|
|
1878
|
+
*
|
|
1879
|
+
* @since 2.0.0
|
|
1880
|
+
*/
|
|
1258
1881
|
<A, B>(self: Chunk<A>, i: number, b: B): Chunk<B | A>
|
|
1259
1882
|
} = dual(3, <A, B>(self: Chunk<A>, i: number, b: B): Chunk<B | A> => modify(self, i, () => b))
|
|
1260
1883
|
|
|
@@ -1262,7 +1885,13 @@ export const replace: {
|
|
|
1262
1885
|
* @since 2.0.0
|
|
1263
1886
|
*/
|
|
1264
1887
|
export const replaceOption: {
|
|
1888
|
+
/**
|
|
1889
|
+
* @since 2.0.0
|
|
1890
|
+
*/
|
|
1265
1891
|
<B>(i: number, b: B): <A>(self: Chunk<A>) => Option<Chunk<B | A>>
|
|
1892
|
+
/**
|
|
1893
|
+
* @since 2.0.0
|
|
1894
|
+
*/
|
|
1266
1895
|
<A, B>(self: Chunk<A>, i: number, b: B): Option<Chunk<B | A>>
|
|
1267
1896
|
} = dual(3, <A, B>(self: Chunk<A>, i: number, b: B): Option<Chunk<B | A>> => modifyOption(self, i, () => b))
|
|
1268
1897
|
|
|
@@ -1275,7 +1904,23 @@ export const replaceOption: {
|
|
|
1275
1904
|
* @since 2.0.0
|
|
1276
1905
|
*/
|
|
1277
1906
|
export const makeBy: {
|
|
1907
|
+
/**
|
|
1908
|
+
* Return a Chunk of length n with element i initialized with f(i).
|
|
1909
|
+
*
|
|
1910
|
+
* **Note**. `n` is normalized to an integer >= 1.
|
|
1911
|
+
*
|
|
1912
|
+
* @category constructors
|
|
1913
|
+
* @since 2.0.0
|
|
1914
|
+
*/
|
|
1278
1915
|
<A>(f: (i: number) => A): (n: number) => NonEmptyChunk<A>
|
|
1916
|
+
/**
|
|
1917
|
+
* Return a Chunk of length n with element i initialized with f(i).
|
|
1918
|
+
*
|
|
1919
|
+
* **Note**. `n` is normalized to an integer >= 1.
|
|
1920
|
+
*
|
|
1921
|
+
* @category constructors
|
|
1922
|
+
* @since 2.0.0
|
|
1923
|
+
*/
|
|
1279
1924
|
<A>(n: number, f: (i: number) => A): NonEmptyChunk<A>
|
|
1280
1925
|
} = dual(2, (n, f) => fromIterable(RA.makeBy(n, f)))
|
|
1281
1926
|
|
|
@@ -1299,7 +1944,27 @@ export const range = (start: number, end: number): NonEmptyChunk<number> =>
|
|
|
1299
1944
|
* @since 2.0.0
|
|
1300
1945
|
*/
|
|
1301
1946
|
export const contains: {
|
|
1947
|
+
// -------------------------------------------------------------------------------------
|
|
1948
|
+
// re-exports from ReadonlyArray
|
|
1949
|
+
// -------------------------------------------------------------------------------------
|
|
1950
|
+
|
|
1951
|
+
/**
|
|
1952
|
+
* Returns a function that checks if a `Chunk` contains a given value using the default `Equivalence`.
|
|
1953
|
+
*
|
|
1954
|
+
* @category elements
|
|
1955
|
+
* @since 2.0.0
|
|
1956
|
+
*/
|
|
1302
1957
|
<A>(a: A): (self: Chunk<A>) => boolean
|
|
1958
|
+
// -------------------------------------------------------------------------------------
|
|
1959
|
+
// re-exports from ReadonlyArray
|
|
1960
|
+
// -------------------------------------------------------------------------------------
|
|
1961
|
+
|
|
1962
|
+
/**
|
|
1963
|
+
* Returns a function that checks if a `Chunk` contains a given value using the default `Equivalence`.
|
|
1964
|
+
*
|
|
1965
|
+
* @category elements
|
|
1966
|
+
* @since 2.0.0
|
|
1967
|
+
*/
|
|
1303
1968
|
<A>(self: Chunk<A>, a: A): boolean
|
|
1304
1969
|
} = RA.contains
|
|
1305
1970
|
|
|
@@ -1324,9 +1989,37 @@ export const containsWith: <A>(
|
|
|
1324
1989
|
* @since 2.0.0
|
|
1325
1990
|
*/
|
|
1326
1991
|
export const findFirst: {
|
|
1992
|
+
/**
|
|
1993
|
+
* Returns the first element that satisfies the specified
|
|
1994
|
+
* predicate, or `None` if no such element exists.
|
|
1995
|
+
*
|
|
1996
|
+
* @category elements
|
|
1997
|
+
* @since 2.0.0
|
|
1998
|
+
*/
|
|
1327
1999
|
<A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Chunk<A>) => Option<B>
|
|
2000
|
+
/**
|
|
2001
|
+
* Returns the first element that satisfies the specified
|
|
2002
|
+
* predicate, or `None` if no such element exists.
|
|
2003
|
+
*
|
|
2004
|
+
* @category elements
|
|
2005
|
+
* @since 2.0.0
|
|
2006
|
+
*/
|
|
1328
2007
|
<A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => Option<A>
|
|
2008
|
+
/**
|
|
2009
|
+
* Returns the first element that satisfies the specified
|
|
2010
|
+
* predicate, or `None` if no such element exists.
|
|
2011
|
+
*
|
|
2012
|
+
* @category elements
|
|
2013
|
+
* @since 2.0.0
|
|
2014
|
+
*/
|
|
1329
2015
|
<A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): Option<B>
|
|
2016
|
+
/**
|
|
2017
|
+
* Returns the first element that satisfies the specified
|
|
2018
|
+
* predicate, or `None` if no such element exists.
|
|
2019
|
+
*
|
|
2020
|
+
* @category elements
|
|
2021
|
+
* @since 2.0.0
|
|
2022
|
+
*/
|
|
1330
2023
|
<A>(self: Chunk<A>, predicate: Predicate<A>): Option<A>
|
|
1331
2024
|
} = RA.findFirst
|
|
1332
2025
|
|
|
@@ -1337,7 +2030,19 @@ export const findFirst: {
|
|
|
1337
2030
|
* @since 2.0.0
|
|
1338
2031
|
*/
|
|
1339
2032
|
export const findFirstIndex: {
|
|
2033
|
+
/**
|
|
2034
|
+
* Return the first index for which a predicate holds.
|
|
2035
|
+
*
|
|
2036
|
+
* @category elements
|
|
2037
|
+
* @since 2.0.0
|
|
2038
|
+
*/
|
|
1340
2039
|
<A>(predicate: Predicate<A>): (self: Chunk<A>) => Option<number>
|
|
2040
|
+
/**
|
|
2041
|
+
* Return the first index for which a predicate holds.
|
|
2042
|
+
*
|
|
2043
|
+
* @category elements
|
|
2044
|
+
* @since 2.0.0
|
|
2045
|
+
*/
|
|
1341
2046
|
<A>(self: Chunk<A>, predicate: Predicate<A>): Option<number>
|
|
1342
2047
|
} = RA.findFirstIndex
|
|
1343
2048
|
|
|
@@ -1348,9 +2053,33 @@ export const findFirstIndex: {
|
|
|
1348
2053
|
* @since 2.0.0
|
|
1349
2054
|
*/
|
|
1350
2055
|
export const findLast: {
|
|
2056
|
+
/**
|
|
2057
|
+
* Find the last element for which a predicate holds.
|
|
2058
|
+
*
|
|
2059
|
+
* @category elements
|
|
2060
|
+
* @since 2.0.0
|
|
2061
|
+
*/
|
|
1351
2062
|
<A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Chunk<A>) => Option<B>
|
|
2063
|
+
/**
|
|
2064
|
+
* Find the last element for which a predicate holds.
|
|
2065
|
+
*
|
|
2066
|
+
* @category elements
|
|
2067
|
+
* @since 2.0.0
|
|
2068
|
+
*/
|
|
1352
2069
|
<A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => Option<A>
|
|
2070
|
+
/**
|
|
2071
|
+
* Find the last element for which a predicate holds.
|
|
2072
|
+
*
|
|
2073
|
+
* @category elements
|
|
2074
|
+
* @since 2.0.0
|
|
2075
|
+
*/
|
|
1353
2076
|
<A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): Option<B>
|
|
2077
|
+
/**
|
|
2078
|
+
* Find the last element for which a predicate holds.
|
|
2079
|
+
*
|
|
2080
|
+
* @category elements
|
|
2081
|
+
* @since 2.0.0
|
|
2082
|
+
*/
|
|
1354
2083
|
<A>(self: Chunk<A>, predicate: Predicate<A>): Option<A>
|
|
1355
2084
|
} = RA.findLast
|
|
1356
2085
|
|
|
@@ -1361,7 +2090,19 @@ export const findLast: {
|
|
|
1361
2090
|
* @since 2.0.0
|
|
1362
2091
|
*/
|
|
1363
2092
|
export const findLastIndex: {
|
|
2093
|
+
/**
|
|
2094
|
+
* Return the last index for which a predicate holds.
|
|
2095
|
+
*
|
|
2096
|
+
* @category elements
|
|
2097
|
+
* @since 2.0.0
|
|
2098
|
+
*/
|
|
1364
2099
|
<A>(predicate: Predicate<A>): (self: Chunk<A>) => Option<number>
|
|
2100
|
+
/**
|
|
2101
|
+
* Return the last index for which a predicate holds.
|
|
2102
|
+
*
|
|
2103
|
+
* @category elements
|
|
2104
|
+
* @since 2.0.0
|
|
2105
|
+
*/
|
|
1365
2106
|
<A>(self: Chunk<A>, predicate: Predicate<A>): Option<number>
|
|
1366
2107
|
} = RA.findLastIndex
|
|
1367
2108
|
|
|
@@ -1372,9 +2113,33 @@ export const findLastIndex: {
|
|
|
1372
2113
|
* @since 2.0.0
|
|
1373
2114
|
*/
|
|
1374
2115
|
export const every: {
|
|
2116
|
+
/**
|
|
2117
|
+
* Check if a predicate holds true for every `Chunk` element.
|
|
2118
|
+
*
|
|
2119
|
+
* @category elements
|
|
2120
|
+
* @since 2.0.0
|
|
2121
|
+
*/
|
|
1375
2122
|
<A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Chunk<A>) => self is Chunk<B>
|
|
2123
|
+
/**
|
|
2124
|
+
* Check if a predicate holds true for every `Chunk` element.
|
|
2125
|
+
*
|
|
2126
|
+
* @category elements
|
|
2127
|
+
* @since 2.0.0
|
|
2128
|
+
*/
|
|
1376
2129
|
<A>(predicate: Predicate<A>): (self: Chunk<A>) => boolean
|
|
2130
|
+
/**
|
|
2131
|
+
* Check if a predicate holds true for every `Chunk` element.
|
|
2132
|
+
*
|
|
2133
|
+
* @category elements
|
|
2134
|
+
* @since 2.0.0
|
|
2135
|
+
*/
|
|
1377
2136
|
<A, B extends A>(self: Chunk<A>, refinement: Refinement<A, B>): self is Chunk<B>
|
|
2137
|
+
/**
|
|
2138
|
+
* Check if a predicate holds true for every `Chunk` element.
|
|
2139
|
+
*
|
|
2140
|
+
* @category elements
|
|
2141
|
+
* @since 2.0.0
|
|
2142
|
+
*/
|
|
1378
2143
|
<A>(self: Chunk<A>, predicate: Predicate<A>): boolean
|
|
1379
2144
|
} = dual(
|
|
1380
2145
|
2,
|
|
@@ -1389,7 +2154,19 @@ export const every: {
|
|
|
1389
2154
|
* @since 2.0.0
|
|
1390
2155
|
*/
|
|
1391
2156
|
export const some: {
|
|
2157
|
+
/**
|
|
2158
|
+
* Check if a predicate holds true for some `Chunk` element.
|
|
2159
|
+
*
|
|
2160
|
+
* @category elements
|
|
2161
|
+
* @since 2.0.0
|
|
2162
|
+
*/
|
|
1392
2163
|
<A>(predicate: Predicate<NoInfer<A>>): (self: Chunk<A>) => self is NonEmptyChunk<A>
|
|
2164
|
+
/**
|
|
2165
|
+
* Check if a predicate holds true for some `Chunk` element.
|
|
2166
|
+
*
|
|
2167
|
+
* @category elements
|
|
2168
|
+
* @since 2.0.0
|
|
2169
|
+
*/
|
|
1393
2170
|
<A>(self: Chunk<A>, predicate: Predicate<A>): self is NonEmptyChunk<A>
|
|
1394
2171
|
} = dual(
|
|
1395
2172
|
2,
|
|
@@ -1403,7 +2180,19 @@ export const some: {
|
|
|
1403
2180
|
* @since 2.0.0
|
|
1404
2181
|
*/
|
|
1405
2182
|
export const join: {
|
|
2183
|
+
/**
|
|
2184
|
+
* Joins the elements together with "sep" in the middle.
|
|
2185
|
+
*
|
|
2186
|
+
* @category folding
|
|
2187
|
+
* @since 2.0.0
|
|
2188
|
+
*/
|
|
1406
2189
|
(sep: string): (self: Chunk<string>) => string
|
|
2190
|
+
/**
|
|
2191
|
+
* Joins the elements together with "sep" in the middle.
|
|
2192
|
+
*
|
|
2193
|
+
* @category folding
|
|
2194
|
+
* @since 2.0.0
|
|
2195
|
+
*/
|
|
1407
2196
|
(self: Chunk<string>, sep: string): string
|
|
1408
2197
|
} = RA.join
|
|
1409
2198
|
|
|
@@ -1412,7 +2201,15 @@ export const join: {
|
|
|
1412
2201
|
* @since 2.0.0
|
|
1413
2202
|
*/
|
|
1414
2203
|
export const reduce: {
|
|
2204
|
+
/**
|
|
2205
|
+
* @category folding
|
|
2206
|
+
* @since 2.0.0
|
|
2207
|
+
*/
|
|
1415
2208
|
<B, A>(b: B, f: (b: B, a: A, i: number) => B): (self: Chunk<A>) => B
|
|
2209
|
+
/**
|
|
2210
|
+
* @category folding
|
|
2211
|
+
* @since 2.0.0
|
|
2212
|
+
*/
|
|
1416
2213
|
<A, B>(self: Chunk<A>, b: B, f: (b: B, a: A, i: number) => B): B
|
|
1417
2214
|
} = RA.reduce
|
|
1418
2215
|
|
|
@@ -1421,7 +2218,15 @@ export const reduce: {
|
|
|
1421
2218
|
* @since 2.0.0
|
|
1422
2219
|
*/
|
|
1423
2220
|
export const reduceRight: {
|
|
2221
|
+
/**
|
|
2222
|
+
* @category folding
|
|
2223
|
+
* @since 2.0.0
|
|
2224
|
+
*/
|
|
1424
2225
|
<B, A>(b: B, f: (b: B, a: A, i: number) => B): (self: Chunk<A>) => B
|
|
2226
|
+
/**
|
|
2227
|
+
* @category folding
|
|
2228
|
+
* @since 2.0.0
|
|
2229
|
+
*/
|
|
1425
2230
|
<A, B>(self: Chunk<A>, b: B, f: (b: B, a: A, i: number) => B): B
|
|
1426
2231
|
} = RA.reduceRight
|
|
1427
2232
|
|
|
@@ -1448,7 +2253,19 @@ export const differenceWith = <A>(isEquivalent: (self: A, that: A) => boolean):
|
|
|
1448
2253
|
* @since 3.2.0
|
|
1449
2254
|
*/
|
|
1450
2255
|
export const difference: {
|
|
2256
|
+
/**
|
|
2257
|
+
* Creates a `Chunk` of values not included in the other given `Chunk`.
|
|
2258
|
+
* The order and references of result values are determined by the first `Chunk`.
|
|
2259
|
+
*
|
|
2260
|
+
* @since 3.2.0
|
|
2261
|
+
*/
|
|
1451
2262
|
<A>(that: Chunk<A>): (self: Chunk<A>) => Chunk<A>
|
|
2263
|
+
/**
|
|
2264
|
+
* Creates a `Chunk` of values not included in the other given `Chunk`.
|
|
2265
|
+
* The order and references of result values are determined by the first `Chunk`.
|
|
2266
|
+
*
|
|
2267
|
+
* @since 3.2.0
|
|
2268
|
+
*/
|
|
1452
2269
|
<A>(self: Chunk<A>, that: Chunk<A>): Chunk<A>
|
|
1453
2270
|
} = dual(
|
|
1454
2271
|
2,
|