effect 3.8.4 → 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.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.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 +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 +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 +36 -0
- 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.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.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 +1212 -56
- 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 +36 -0
- 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/src/DateTime.ts
CHANGED
|
@@ -394,7 +394,13 @@ export const Order: order.Order<DateTime> = order.make((self, that) =>
|
|
|
394
394
|
* @since 3.6.0
|
|
395
395
|
*/
|
|
396
396
|
export const clamp: {
|
|
397
|
+
/**
|
|
398
|
+
* @since 3.6.0
|
|
399
|
+
*/
|
|
397
400
|
(options: { minimum: DateTime; maximum: DateTime }): (self: DateTime) => DateTime
|
|
401
|
+
/**
|
|
402
|
+
* @since 3.6.0
|
|
403
|
+
*/
|
|
398
404
|
(self: DateTime, options: { minimum: DateTime; maximum: DateTime }): DateTime
|
|
399
405
|
} = order.clamp(Order)
|
|
400
406
|
|
|
@@ -611,12 +617,59 @@ export const unsafeNow: LazyArg<Utc> = () => makeUtc(Date.now())
|
|
|
611
617
|
* })
|
|
612
618
|
*/
|
|
613
619
|
export const setZone: {
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
+
// =============================================================================
|
|
621
|
+
// time zones
|
|
622
|
+
// =============================================================================
|
|
623
|
+
|
|
624
|
+
/**
|
|
625
|
+
* Set the time zone of a `DateTime`, returning a new `DateTime.Zoned`.
|
|
626
|
+
*
|
|
627
|
+
* @since 3.6.0
|
|
628
|
+
* @category time zones
|
|
629
|
+
* @example
|
|
630
|
+
* import { DateTime, Effect } from "effect"
|
|
631
|
+
*
|
|
632
|
+
* Effect.gen(function* () {
|
|
633
|
+
* const now = yield* DateTime.now
|
|
634
|
+
* const zone = DateTime.zoneUnsafeMakeNamed("Europe/London")
|
|
635
|
+
*
|
|
636
|
+
* // set the time zone
|
|
637
|
+
* const zoned: DateTime.Zoned = DateTime.setZone(now, zone)
|
|
638
|
+
* })
|
|
639
|
+
*/
|
|
640
|
+
(
|
|
641
|
+
zone: TimeZone,
|
|
642
|
+
options?: {
|
|
643
|
+
readonly adjustForTimeZone?: boolean | undefined
|
|
644
|
+
}
|
|
645
|
+
): (self: DateTime) => Zoned
|
|
646
|
+
// =============================================================================
|
|
647
|
+
// time zones
|
|
648
|
+
// =============================================================================
|
|
649
|
+
|
|
650
|
+
/**
|
|
651
|
+
* Set the time zone of a `DateTime`, returning a new `DateTime.Zoned`.
|
|
652
|
+
*
|
|
653
|
+
* @since 3.6.0
|
|
654
|
+
* @category time zones
|
|
655
|
+
* @example
|
|
656
|
+
* import { DateTime, Effect } from "effect"
|
|
657
|
+
*
|
|
658
|
+
* Effect.gen(function* () {
|
|
659
|
+
* const now = yield* DateTime.now
|
|
660
|
+
* const zone = DateTime.zoneUnsafeMakeNamed("Europe/London")
|
|
661
|
+
*
|
|
662
|
+
* // set the time zone
|
|
663
|
+
* const zoned: DateTime.Zoned = DateTime.setZone(now, zone)
|
|
664
|
+
* })
|
|
665
|
+
*/
|
|
666
|
+
(
|
|
667
|
+
self: DateTime,
|
|
668
|
+
zone: TimeZone,
|
|
669
|
+
options?: {
|
|
670
|
+
readonly adjustForTimeZone?: boolean | undefined
|
|
671
|
+
}
|
|
672
|
+
): Zoned
|
|
620
673
|
} = dual(isDateTimeArgs, (self: DateTime, zone: TimeZone, options?: {
|
|
621
674
|
readonly adjustForTimeZone?: boolean | undefined
|
|
622
675
|
}): Zoned =>
|
|
@@ -642,12 +695,53 @@ export const setZone: {
|
|
|
642
695
|
* })
|
|
643
696
|
*/
|
|
644
697
|
export const setZoneOffset: {
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
698
|
+
/**
|
|
699
|
+
* Add a fixed offset time zone to a `DateTime`.
|
|
700
|
+
*
|
|
701
|
+
* The offset is in milliseconds.
|
|
702
|
+
*
|
|
703
|
+
* @since 3.6.0
|
|
704
|
+
* @category time zones
|
|
705
|
+
* @example
|
|
706
|
+
* import { DateTime, Effect } from "effect"
|
|
707
|
+
*
|
|
708
|
+
* Effect.gen(function* () {
|
|
709
|
+
* const now = yield* DateTime.now
|
|
710
|
+
*
|
|
711
|
+
* // set the offset time zone in milliseconds
|
|
712
|
+
* const zoned: DateTime.Zoned = DateTime.setZoneOffset(now, 3 * 60 * 60 * 1000)
|
|
713
|
+
* })
|
|
714
|
+
*/
|
|
715
|
+
(
|
|
716
|
+
offset: number,
|
|
717
|
+
options?: {
|
|
718
|
+
readonly adjustForTimeZone?: boolean | undefined
|
|
719
|
+
}
|
|
720
|
+
): (self: DateTime) => Zoned
|
|
721
|
+
/**
|
|
722
|
+
* Add a fixed offset time zone to a `DateTime`.
|
|
723
|
+
*
|
|
724
|
+
* The offset is in milliseconds.
|
|
725
|
+
*
|
|
726
|
+
* @since 3.6.0
|
|
727
|
+
* @category time zones
|
|
728
|
+
* @example
|
|
729
|
+
* import { DateTime, Effect } from "effect"
|
|
730
|
+
*
|
|
731
|
+
* Effect.gen(function* () {
|
|
732
|
+
* const now = yield* DateTime.now
|
|
733
|
+
*
|
|
734
|
+
* // set the offset time zone in milliseconds
|
|
735
|
+
* const zoned: DateTime.Zoned = DateTime.setZoneOffset(now, 3 * 60 * 60 * 1000)
|
|
736
|
+
* })
|
|
737
|
+
*/
|
|
738
|
+
(
|
|
739
|
+
self: DateTime,
|
|
740
|
+
offset: number,
|
|
741
|
+
options?: {
|
|
742
|
+
readonly adjustForTimeZone?: boolean | undefined
|
|
743
|
+
}
|
|
744
|
+
): Zoned
|
|
651
745
|
} = dual(isDateTimeArgs, (self: DateTime, offset: number, options?: {
|
|
652
746
|
readonly adjustForTimeZone?: boolean | undefined
|
|
653
747
|
}): Zoned => setZone(self, zoneMakeOffset(offset), options))
|
|
@@ -799,12 +893,49 @@ export const zoneToString = (self: TimeZone): string => {
|
|
|
799
893
|
* })
|
|
800
894
|
*/
|
|
801
895
|
export const setZoneNamed: {
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
896
|
+
/**
|
|
897
|
+
* Set the time zone of a `DateTime` from an IANA time zone identifier. If the
|
|
898
|
+
* time zone is invalid, `None` will be returned.
|
|
899
|
+
*
|
|
900
|
+
* @since 3.6.0
|
|
901
|
+
* @category time zones
|
|
902
|
+
* @example
|
|
903
|
+
* import { DateTime, Effect } from "effect"
|
|
904
|
+
*
|
|
905
|
+
* Effect.gen(function* () {
|
|
906
|
+
* const now = yield* DateTime.now
|
|
907
|
+
* // set the time zone, returns an Option
|
|
908
|
+
* DateTime.setZoneNamed(now, "Europe/London")
|
|
909
|
+
* })
|
|
910
|
+
*/
|
|
911
|
+
(
|
|
912
|
+
zoneId: string,
|
|
913
|
+
options?: {
|
|
914
|
+
readonly adjustForTimeZone?: boolean | undefined
|
|
915
|
+
}
|
|
916
|
+
): (self: DateTime) => Option.Option<Zoned>
|
|
917
|
+
/**
|
|
918
|
+
* Set the time zone of a `DateTime` from an IANA time zone identifier. If the
|
|
919
|
+
* time zone is invalid, `None` will be returned.
|
|
920
|
+
*
|
|
921
|
+
* @since 3.6.0
|
|
922
|
+
* @category time zones
|
|
923
|
+
* @example
|
|
924
|
+
* import { DateTime, Effect } from "effect"
|
|
925
|
+
*
|
|
926
|
+
* Effect.gen(function* () {
|
|
927
|
+
* const now = yield* DateTime.now
|
|
928
|
+
* // set the time zone, returns an Option
|
|
929
|
+
* DateTime.setZoneNamed(now, "Europe/London")
|
|
930
|
+
* })
|
|
931
|
+
*/
|
|
932
|
+
(
|
|
933
|
+
self: DateTime,
|
|
934
|
+
zoneId: string,
|
|
935
|
+
options?: {
|
|
936
|
+
readonly adjustForTimeZone?: boolean | undefined
|
|
937
|
+
}
|
|
938
|
+
): Option.Option<Zoned>
|
|
808
939
|
} = dual(
|
|
809
940
|
isDateTimeArgs,
|
|
810
941
|
(self: DateTime, zoneId: string, options?: {
|
|
@@ -828,12 +959,49 @@ export const setZoneNamed: {
|
|
|
828
959
|
* })
|
|
829
960
|
*/
|
|
830
961
|
export const unsafeSetZoneNamed: {
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
962
|
+
/**
|
|
963
|
+
* Set the time zone of a `DateTime` from an IANA time zone identifier. If the
|
|
964
|
+
* time zone is invalid, an `IllegalArgumentException` will be thrown.
|
|
965
|
+
*
|
|
966
|
+
* @since 3.6.0
|
|
967
|
+
* @category time zones
|
|
968
|
+
* @example
|
|
969
|
+
* import { DateTime, Effect } from "effect"
|
|
970
|
+
*
|
|
971
|
+
* Effect.gen(function* () {
|
|
972
|
+
* const now = yield* DateTime.now
|
|
973
|
+
* // set the time zone
|
|
974
|
+
* DateTime.unsafeSetZoneNamed(now, "Europe/London")
|
|
975
|
+
* })
|
|
976
|
+
*/
|
|
977
|
+
(
|
|
978
|
+
zoneId: string,
|
|
979
|
+
options?: {
|
|
980
|
+
readonly adjustForTimeZone?: boolean | undefined
|
|
981
|
+
}
|
|
982
|
+
): (self: DateTime) => Zoned
|
|
983
|
+
/**
|
|
984
|
+
* Set the time zone of a `DateTime` from an IANA time zone identifier. If the
|
|
985
|
+
* time zone is invalid, an `IllegalArgumentException` will be thrown.
|
|
986
|
+
*
|
|
987
|
+
* @since 3.6.0
|
|
988
|
+
* @category time zones
|
|
989
|
+
* @example
|
|
990
|
+
* import { DateTime, Effect } from "effect"
|
|
991
|
+
*
|
|
992
|
+
* Effect.gen(function* () {
|
|
993
|
+
* const now = yield* DateTime.now
|
|
994
|
+
* // set the time zone
|
|
995
|
+
* DateTime.unsafeSetZoneNamed(now, "Europe/London")
|
|
996
|
+
* })
|
|
997
|
+
*/
|
|
998
|
+
(
|
|
999
|
+
self: DateTime,
|
|
1000
|
+
zoneId: string,
|
|
1001
|
+
options?: {
|
|
1002
|
+
readonly adjustForTimeZone?: boolean | undefined
|
|
1003
|
+
}
|
|
1004
|
+
): Zoned
|
|
837
1005
|
} = dual(isDateTimeArgs, (self: DateTime, zoneId: string, options?: {
|
|
838
1006
|
readonly adjustForTimeZone?: boolean | undefined
|
|
839
1007
|
}): Zoned => setZone(self, zoneUnsafeMakeNamed(zoneId), options))
|
|
@@ -862,7 +1030,53 @@ export const unsafeSetZoneNamed: {
|
|
|
862
1030
|
* })
|
|
863
1031
|
*/
|
|
864
1032
|
export const distance: {
|
|
1033
|
+
// =============================================================================
|
|
1034
|
+
// comparisons
|
|
1035
|
+
// =============================================================================
|
|
1036
|
+
|
|
1037
|
+
/**
|
|
1038
|
+
* Calulate the difference between two `DateTime` values, returning the number
|
|
1039
|
+
* of milliseconds the `other` DateTime is from `self`.
|
|
1040
|
+
*
|
|
1041
|
+
* If `other` is *after* `self`, the result will be a positive number.
|
|
1042
|
+
*
|
|
1043
|
+
* @since 3.6.0
|
|
1044
|
+
* @category comparisons
|
|
1045
|
+
* @example
|
|
1046
|
+
* import { DateTime, Effect } from "effect"
|
|
1047
|
+
*
|
|
1048
|
+
* Effect.gen(function* () {
|
|
1049
|
+
* const now = yield* DateTime.now
|
|
1050
|
+
* const other = DateTime.add(now, { minutes: 1 })
|
|
1051
|
+
*
|
|
1052
|
+
* // returns 60000
|
|
1053
|
+
* DateTime.distance(now, other)
|
|
1054
|
+
* })
|
|
1055
|
+
*/
|
|
865
1056
|
(other: DateTime): (self: DateTime) => number
|
|
1057
|
+
// =============================================================================
|
|
1058
|
+
// comparisons
|
|
1059
|
+
// =============================================================================
|
|
1060
|
+
|
|
1061
|
+
/**
|
|
1062
|
+
* Calulate the difference between two `DateTime` values, returning the number
|
|
1063
|
+
* of milliseconds the `other` DateTime is from `self`.
|
|
1064
|
+
*
|
|
1065
|
+
* If `other` is *after* `self`, the result will be a positive number.
|
|
1066
|
+
*
|
|
1067
|
+
* @since 3.6.0
|
|
1068
|
+
* @category comparisons
|
|
1069
|
+
* @example
|
|
1070
|
+
* import { DateTime, Effect } from "effect"
|
|
1071
|
+
*
|
|
1072
|
+
* Effect.gen(function* () {
|
|
1073
|
+
* const now = yield* DateTime.now
|
|
1074
|
+
* const other = DateTime.add(now, { minutes: 1 })
|
|
1075
|
+
*
|
|
1076
|
+
* // returns 60000
|
|
1077
|
+
* DateTime.distance(now, other)
|
|
1078
|
+
* })
|
|
1079
|
+
*/
|
|
866
1080
|
(self: DateTime, other: DateTime): number
|
|
867
1081
|
} = dual(2, (self: DateTime, other: DateTime): number => toEpochMillis(other) - toEpochMillis(self))
|
|
868
1082
|
|
|
@@ -892,7 +1106,57 @@ export const distance: {
|
|
|
892
1106
|
* })
|
|
893
1107
|
*/
|
|
894
1108
|
export const distanceDurationEither: {
|
|
1109
|
+
/**
|
|
1110
|
+
* Calulate the difference between two `DateTime` values.
|
|
1111
|
+
*
|
|
1112
|
+
* If the `other` DateTime is before `self`, the result will be a negative
|
|
1113
|
+
* `Duration`, returned as a `Left`.
|
|
1114
|
+
*
|
|
1115
|
+
* If the `other` DateTime is after `self`, the result will be a positive
|
|
1116
|
+
* `Duration`, returned as a `Right`.
|
|
1117
|
+
*
|
|
1118
|
+
* @since 3.6.0
|
|
1119
|
+
* @category comparisons
|
|
1120
|
+
* @example
|
|
1121
|
+
* import { DateTime, Effect } from "effect"
|
|
1122
|
+
*
|
|
1123
|
+
* Effect.gen(function* () {
|
|
1124
|
+
* const now = yield* DateTime.now
|
|
1125
|
+
* const other = DateTime.add(now, { minutes: 1 })
|
|
1126
|
+
*
|
|
1127
|
+
* // returns Either.right(Duration.minutes(1))
|
|
1128
|
+
* DateTime.distanceDurationEither(now, other)
|
|
1129
|
+
*
|
|
1130
|
+
* // returns Either.left(Duration.minutes(1))
|
|
1131
|
+
* DateTime.distanceDurationEither(other, now)
|
|
1132
|
+
* })
|
|
1133
|
+
*/
|
|
895
1134
|
(other: DateTime): (self: DateTime) => Either.Either<Duration.Duration, Duration.Duration>
|
|
1135
|
+
/**
|
|
1136
|
+
* Calulate the difference between two `DateTime` values.
|
|
1137
|
+
*
|
|
1138
|
+
* If the `other` DateTime is before `self`, the result will be a negative
|
|
1139
|
+
* `Duration`, returned as a `Left`.
|
|
1140
|
+
*
|
|
1141
|
+
* If the `other` DateTime is after `self`, the result will be a positive
|
|
1142
|
+
* `Duration`, returned as a `Right`.
|
|
1143
|
+
*
|
|
1144
|
+
* @since 3.6.0
|
|
1145
|
+
* @category comparisons
|
|
1146
|
+
* @example
|
|
1147
|
+
* import { DateTime, Effect } from "effect"
|
|
1148
|
+
*
|
|
1149
|
+
* Effect.gen(function* () {
|
|
1150
|
+
* const now = yield* DateTime.now
|
|
1151
|
+
* const other = DateTime.add(now, { minutes: 1 })
|
|
1152
|
+
*
|
|
1153
|
+
* // returns Either.right(Duration.minutes(1))
|
|
1154
|
+
* DateTime.distanceDurationEither(now, other)
|
|
1155
|
+
*
|
|
1156
|
+
* // returns Either.left(Duration.minutes(1))
|
|
1157
|
+
* DateTime.distanceDurationEither(other, now)
|
|
1158
|
+
* })
|
|
1159
|
+
*/
|
|
896
1160
|
(self: DateTime, other: DateTime): Either.Either<Duration.Duration, Duration.Duration>
|
|
897
1161
|
} = dual(2, (self: DateTime, other: DateTime): Either.Either<Duration.Duration, Duration.Duration> => {
|
|
898
1162
|
const diffMillis = distance(self, other)
|
|
@@ -918,7 +1182,39 @@ export const distanceDurationEither: {
|
|
|
918
1182
|
* })
|
|
919
1183
|
*/
|
|
920
1184
|
export const distanceDuration: {
|
|
1185
|
+
/**
|
|
1186
|
+
* Calulate the distance between two `DateTime` values.
|
|
1187
|
+
*
|
|
1188
|
+
* @since 3.6.0
|
|
1189
|
+
* @category comparisons
|
|
1190
|
+
* @example
|
|
1191
|
+
* import { DateTime, Effect } from "effect"
|
|
1192
|
+
*
|
|
1193
|
+
* Effect.gen(function* () {
|
|
1194
|
+
* const now = yield* DateTime.now
|
|
1195
|
+
* const other = DateTime.add(now, { minutes: 1 })
|
|
1196
|
+
*
|
|
1197
|
+
* // returns Duration.minutes(1)
|
|
1198
|
+
* DateTime.distanceDuration(now, other)
|
|
1199
|
+
* })
|
|
1200
|
+
*/
|
|
921
1201
|
(other: DateTime): (self: DateTime) => Duration.Duration
|
|
1202
|
+
/**
|
|
1203
|
+
* Calulate the distance between two `DateTime` values.
|
|
1204
|
+
*
|
|
1205
|
+
* @since 3.6.0
|
|
1206
|
+
* @category comparisons
|
|
1207
|
+
* @example
|
|
1208
|
+
* import { DateTime, Effect } from "effect"
|
|
1209
|
+
*
|
|
1210
|
+
* Effect.gen(function* () {
|
|
1211
|
+
* const now = yield* DateTime.now
|
|
1212
|
+
* const other = DateTime.add(now, { minutes: 1 })
|
|
1213
|
+
*
|
|
1214
|
+
* // returns Duration.minutes(1)
|
|
1215
|
+
* DateTime.distanceDuration(now, other)
|
|
1216
|
+
* })
|
|
1217
|
+
*/
|
|
922
1218
|
(self: DateTime, other: DateTime): Duration.Duration
|
|
923
1219
|
} = dual(
|
|
924
1220
|
2,
|
|
@@ -930,7 +1226,15 @@ export const distanceDuration: {
|
|
|
930
1226
|
* @category comparisons
|
|
931
1227
|
*/
|
|
932
1228
|
export const min: {
|
|
1229
|
+
/**
|
|
1230
|
+
* @since 3.6.0
|
|
1231
|
+
* @category comparisons
|
|
1232
|
+
*/
|
|
933
1233
|
(that: DateTime): (self: DateTime) => DateTime
|
|
1234
|
+
/**
|
|
1235
|
+
* @since 3.6.0
|
|
1236
|
+
* @category comparisons
|
|
1237
|
+
*/
|
|
934
1238
|
(self: DateTime, that: DateTime): DateTime
|
|
935
1239
|
} = order.min(Order)
|
|
936
1240
|
|
|
@@ -939,7 +1243,15 @@ export const min: {
|
|
|
939
1243
|
* @category comparisons
|
|
940
1244
|
*/
|
|
941
1245
|
export const max: {
|
|
1246
|
+
/**
|
|
1247
|
+
* @since 3.6.0
|
|
1248
|
+
* @category comparisons
|
|
1249
|
+
*/
|
|
942
1250
|
(that: DateTime): (self: DateTime) => DateTime
|
|
1251
|
+
/**
|
|
1252
|
+
* @since 3.6.0
|
|
1253
|
+
* @category comparisons
|
|
1254
|
+
*/
|
|
943
1255
|
(self: DateTime, that: DateTime): DateTime
|
|
944
1256
|
} = order.max(Order)
|
|
945
1257
|
|
|
@@ -948,7 +1260,15 @@ export const max: {
|
|
|
948
1260
|
* @category comparisons
|
|
949
1261
|
*/
|
|
950
1262
|
export const greaterThan: {
|
|
1263
|
+
/**
|
|
1264
|
+
* @since 3.6.0
|
|
1265
|
+
* @category comparisons
|
|
1266
|
+
*/
|
|
951
1267
|
(that: DateTime): (self: DateTime) => boolean
|
|
1268
|
+
/**
|
|
1269
|
+
* @since 3.6.0
|
|
1270
|
+
* @category comparisons
|
|
1271
|
+
*/
|
|
952
1272
|
(self: DateTime, that: DateTime): boolean
|
|
953
1273
|
} = order.greaterThan(Order)
|
|
954
1274
|
|
|
@@ -957,7 +1277,15 @@ export const greaterThan: {
|
|
|
957
1277
|
* @category comparisons
|
|
958
1278
|
*/
|
|
959
1279
|
export const greaterThanOrEqualTo: {
|
|
1280
|
+
/**
|
|
1281
|
+
* @since 3.6.0
|
|
1282
|
+
* @category comparisons
|
|
1283
|
+
*/
|
|
960
1284
|
(that: DateTime): (self: DateTime) => boolean
|
|
1285
|
+
/**
|
|
1286
|
+
* @since 3.6.0
|
|
1287
|
+
* @category comparisons
|
|
1288
|
+
*/
|
|
961
1289
|
(self: DateTime, that: DateTime): boolean
|
|
962
1290
|
} = order.greaterThanOrEqualTo(Order)
|
|
963
1291
|
|
|
@@ -966,7 +1294,15 @@ export const greaterThanOrEqualTo: {
|
|
|
966
1294
|
* @category comparisons
|
|
967
1295
|
*/
|
|
968
1296
|
export const lessThan: {
|
|
1297
|
+
/**
|
|
1298
|
+
* @since 3.6.0
|
|
1299
|
+
* @category comparisons
|
|
1300
|
+
*/
|
|
969
1301
|
(that: DateTime): (self: DateTime) => boolean
|
|
1302
|
+
/**
|
|
1303
|
+
* @since 3.6.0
|
|
1304
|
+
* @category comparisons
|
|
1305
|
+
*/
|
|
970
1306
|
(self: DateTime, that: DateTime): boolean
|
|
971
1307
|
} = order.lessThan(Order)
|
|
972
1308
|
|
|
@@ -975,7 +1311,15 @@ export const lessThan: {
|
|
|
975
1311
|
* @category comparisons
|
|
976
1312
|
*/
|
|
977
1313
|
export const lessThanOrEqualTo: {
|
|
1314
|
+
/**
|
|
1315
|
+
* @since 3.6.0
|
|
1316
|
+
* @category comparisons
|
|
1317
|
+
*/
|
|
978
1318
|
(that: DateTime): (self: DateTime) => boolean
|
|
1319
|
+
/**
|
|
1320
|
+
* @since 3.6.0
|
|
1321
|
+
* @category comparisons
|
|
1322
|
+
*/
|
|
979
1323
|
(self: DateTime, that: DateTime): boolean
|
|
980
1324
|
} = order.lessThanOrEqualTo(Order)
|
|
981
1325
|
|
|
@@ -984,7 +1328,15 @@ export const lessThanOrEqualTo: {
|
|
|
984
1328
|
* @category comparisons
|
|
985
1329
|
*/
|
|
986
1330
|
export const between: {
|
|
1331
|
+
/**
|
|
1332
|
+
* @since 3.6.0
|
|
1333
|
+
* @category comparisons
|
|
1334
|
+
*/
|
|
987
1335
|
(options: { minimum: DateTime; maximum: DateTime }): (self: DateTime) => boolean
|
|
1336
|
+
/**
|
|
1337
|
+
* @since 3.6.0
|
|
1338
|
+
* @category comparisons
|
|
1339
|
+
*/
|
|
988
1340
|
(self: DateTime, options: { minimum: DateTime; maximum: DateTime }): boolean
|
|
989
1341
|
} = order.between(Order)
|
|
990
1342
|
|
|
@@ -1179,7 +1531,35 @@ export const toPartsUtc = (self: DateTime): DateTime.PartsWithWeekday => {
|
|
|
1179
1531
|
* assert.strictEqual(year, 2024)
|
|
1180
1532
|
*/
|
|
1181
1533
|
export const getPartUtc: {
|
|
1534
|
+
/**
|
|
1535
|
+
* Get a part of a `DateTime` as a number.
|
|
1536
|
+
*
|
|
1537
|
+
* The part will be in the UTC time zone.
|
|
1538
|
+
*
|
|
1539
|
+
* @since 3.6.0
|
|
1540
|
+
* @category parts
|
|
1541
|
+
* @example
|
|
1542
|
+
* import { DateTime } from "effect"
|
|
1543
|
+
*
|
|
1544
|
+
* const now = DateTime.unsafeMake({ year: 2024 })
|
|
1545
|
+
* const year = DateTime.getPartUtc(now, "year")
|
|
1546
|
+
* assert.strictEqual(year, 2024)
|
|
1547
|
+
*/
|
|
1182
1548
|
(part: keyof DateTime.PartsWithWeekday): (self: DateTime) => number
|
|
1549
|
+
/**
|
|
1550
|
+
* Get a part of a `DateTime` as a number.
|
|
1551
|
+
*
|
|
1552
|
+
* The part will be in the UTC time zone.
|
|
1553
|
+
*
|
|
1554
|
+
* @since 3.6.0
|
|
1555
|
+
* @category parts
|
|
1556
|
+
* @example
|
|
1557
|
+
* import { DateTime } from "effect"
|
|
1558
|
+
*
|
|
1559
|
+
* const now = DateTime.unsafeMake({ year: 2024 })
|
|
1560
|
+
* const year = DateTime.getPartUtc(now, "year")
|
|
1561
|
+
* assert.strictEqual(year, 2024)
|
|
1562
|
+
*/
|
|
1183
1563
|
(self: DateTime, part: keyof DateTime.PartsWithWeekday): number
|
|
1184
1564
|
} = dual(2, (self: DateTime, part: keyof DateTime.PartsWithWeekday): number => toPartsUtc(self)[part])
|
|
1185
1565
|
|
|
@@ -1198,7 +1578,35 @@ export const getPartUtc: {
|
|
|
1198
1578
|
* assert.strictEqual(year, 2024)
|
|
1199
1579
|
*/
|
|
1200
1580
|
export const getPart: {
|
|
1581
|
+
/**
|
|
1582
|
+
* Get a part of a `DateTime` as a number.
|
|
1583
|
+
*
|
|
1584
|
+
* The part will be time zone adjusted.
|
|
1585
|
+
*
|
|
1586
|
+
* @since 3.6.0
|
|
1587
|
+
* @category parts
|
|
1588
|
+
* @example
|
|
1589
|
+
* import { DateTime } from "effect"
|
|
1590
|
+
*
|
|
1591
|
+
* const now = DateTime.unsafeMakeZoned({ year: 2024 }, { timeZone: "Europe/London" })
|
|
1592
|
+
* const year = DateTime.getPart(now, "year")
|
|
1593
|
+
* assert.strictEqual(year, 2024)
|
|
1594
|
+
*/
|
|
1201
1595
|
(part: keyof DateTime.PartsWithWeekday): (self: DateTime) => number
|
|
1596
|
+
/**
|
|
1597
|
+
* Get a part of a `DateTime` as a number.
|
|
1598
|
+
*
|
|
1599
|
+
* The part will be time zone adjusted.
|
|
1600
|
+
*
|
|
1601
|
+
* @since 3.6.0
|
|
1602
|
+
* @category parts
|
|
1603
|
+
* @example
|
|
1604
|
+
* import { DateTime } from "effect"
|
|
1605
|
+
*
|
|
1606
|
+
* const now = DateTime.unsafeMakeZoned({ year: 2024 }, { timeZone: "Europe/London" })
|
|
1607
|
+
* const year = DateTime.getPart(now, "year")
|
|
1608
|
+
* assert.strictEqual(year, 2024)
|
|
1609
|
+
*/
|
|
1202
1610
|
(self: DateTime, part: keyof DateTime.PartsWithWeekday): number
|
|
1203
1611
|
} = dual(2, (self: DateTime, part: keyof DateTime.PartsWithWeekday): number => toParts(self)[part])
|
|
1204
1612
|
|
|
@@ -1239,7 +1647,23 @@ const setPartsDate = (date: Date, parts: Partial<DateTime.PartsWithWeekday>): vo
|
|
|
1239
1647
|
* @category parts
|
|
1240
1648
|
*/
|
|
1241
1649
|
export const setParts: {
|
|
1650
|
+
/**
|
|
1651
|
+
* Set the different parts of a `DateTime` as an object.
|
|
1652
|
+
*
|
|
1653
|
+
* The Date will be time zone adjusted.
|
|
1654
|
+
*
|
|
1655
|
+
* @since 3.6.0
|
|
1656
|
+
* @category parts
|
|
1657
|
+
*/
|
|
1242
1658
|
(parts: Partial<DateTime.PartsWithWeekday>): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
1659
|
+
/**
|
|
1660
|
+
* Set the different parts of a `DateTime` as an object.
|
|
1661
|
+
*
|
|
1662
|
+
* The Date will be time zone adjusted.
|
|
1663
|
+
*
|
|
1664
|
+
* @since 3.6.0
|
|
1665
|
+
* @category parts
|
|
1666
|
+
*/
|
|
1243
1667
|
<A extends DateTime>(self: A, parts: Partial<DateTime.PartsWithWeekday>): DateTime.PreserveZone<A>
|
|
1244
1668
|
} = dual(
|
|
1245
1669
|
2,
|
|
@@ -1254,7 +1678,19 @@ export const setParts: {
|
|
|
1254
1678
|
* @category parts
|
|
1255
1679
|
*/
|
|
1256
1680
|
export const setPartsUtc: {
|
|
1681
|
+
/**
|
|
1682
|
+
* Set the different parts of a `DateTime` as an object.
|
|
1683
|
+
*
|
|
1684
|
+
* @since 3.6.0
|
|
1685
|
+
* @category parts
|
|
1686
|
+
*/
|
|
1257
1687
|
(parts: Partial<DateTime.PartsWithWeekday>): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
1688
|
+
/**
|
|
1689
|
+
* Set the different parts of a `DateTime` as an object.
|
|
1690
|
+
*
|
|
1691
|
+
* @since 3.6.0
|
|
1692
|
+
* @category parts
|
|
1693
|
+
*/
|
|
1258
1694
|
<A extends DateTime>(self: A, parts: Partial<DateTime.PartsWithWeekday>): DateTime.PreserveZone<A>
|
|
1259
1695
|
} = dual(
|
|
1260
1696
|
2,
|
|
@@ -1309,7 +1745,35 @@ export const setZoneCurrent = (self: DateTime): Effect.Effect<Zoned, never, Curr
|
|
|
1309
1745
|
* }).pipe(DateTime.withCurrentZone(zone))
|
|
1310
1746
|
*/
|
|
1311
1747
|
export const withCurrentZone: {
|
|
1748
|
+
/**
|
|
1749
|
+
* Provide the `CurrentTimeZone` to an effect.
|
|
1750
|
+
*
|
|
1751
|
+
* @since 3.6.0
|
|
1752
|
+
* @category current time zone
|
|
1753
|
+
* @example
|
|
1754
|
+
* import { DateTime, Effect } from "effect"
|
|
1755
|
+
*
|
|
1756
|
+
* const zone = DateTime.zoneUnsafeMakeNamed("Europe/London")
|
|
1757
|
+
*
|
|
1758
|
+
* Effect.gen(function* () {
|
|
1759
|
+
* const now = yield* DateTime.nowInCurrentZone
|
|
1760
|
+
* }).pipe(DateTime.withCurrentZone(zone))
|
|
1761
|
+
*/
|
|
1312
1762
|
(zone: TimeZone): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
|
|
1763
|
+
/**
|
|
1764
|
+
* Provide the `CurrentTimeZone` to an effect.
|
|
1765
|
+
*
|
|
1766
|
+
* @since 3.6.0
|
|
1767
|
+
* @category current time zone
|
|
1768
|
+
* @example
|
|
1769
|
+
* import { DateTime, Effect } from "effect"
|
|
1770
|
+
*
|
|
1771
|
+
* const zone = DateTime.zoneUnsafeMakeNamed("Europe/London")
|
|
1772
|
+
*
|
|
1773
|
+
* Effect.gen(function* () {
|
|
1774
|
+
* const now = yield* DateTime.nowInCurrentZone
|
|
1775
|
+
* }).pipe(DateTime.withCurrentZone(zone))
|
|
1776
|
+
*/
|
|
1313
1777
|
<A, E, R>(effect: Effect.Effect<A, E, R>, zone: TimeZone): Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
|
|
1314
1778
|
} = dual(
|
|
1315
1779
|
2,
|
|
@@ -1350,9 +1814,35 @@ export const withCurrentZoneLocal = <A, E, R>(
|
|
|
1350
1814
|
* }).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
|
|
1351
1815
|
*/
|
|
1352
1816
|
export const withCurrentZoneOffset: {
|
|
1817
|
+
/**
|
|
1818
|
+
* Provide the `CurrentTimeZone` to an effect, using a offset.
|
|
1819
|
+
*
|
|
1820
|
+
* @since 3.6.0
|
|
1821
|
+
* @category current time zone
|
|
1822
|
+
* @example
|
|
1823
|
+
* import { DateTime, Effect } from "effect"
|
|
1824
|
+
*
|
|
1825
|
+
* Effect.gen(function* () {
|
|
1826
|
+
* // will use the system's local time zone
|
|
1827
|
+
* const now = yield* DateTime.nowInCurrentZone
|
|
1828
|
+
* }).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
|
|
1829
|
+
*/
|
|
1353
1830
|
(offset: number): <A, E, R>(
|
|
1354
1831
|
effect: Effect.Effect<A, E, R>
|
|
1355
1832
|
) => Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
|
|
1833
|
+
/**
|
|
1834
|
+
* Provide the `CurrentTimeZone` to an effect, using a offset.
|
|
1835
|
+
*
|
|
1836
|
+
* @since 3.6.0
|
|
1837
|
+
* @category current time zone
|
|
1838
|
+
* @example
|
|
1839
|
+
* import { DateTime, Effect } from "effect"
|
|
1840
|
+
*
|
|
1841
|
+
* Effect.gen(function* () {
|
|
1842
|
+
* // will use the system's local time zone
|
|
1843
|
+
* const now = yield* DateTime.nowInCurrentZone
|
|
1844
|
+
* }).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
|
|
1845
|
+
*/
|
|
1356
1846
|
<A, E, R>(effect: Effect.Effect<A, E, R>, offset: number): Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
|
|
1357
1847
|
} = dual(
|
|
1358
1848
|
2,
|
|
@@ -1377,9 +1867,41 @@ export const withCurrentZoneOffset: {
|
|
|
1377
1867
|
* }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
|
|
1378
1868
|
*/
|
|
1379
1869
|
export const withCurrentZoneNamed: {
|
|
1870
|
+
/**
|
|
1871
|
+
* Provide the `CurrentTimeZone` to an effect using an IANA time zone
|
|
1872
|
+
* identifier.
|
|
1873
|
+
*
|
|
1874
|
+
* If the time zone is invalid, it will fail with an `IllegalArgumentException`.
|
|
1875
|
+
*
|
|
1876
|
+
* @since 3.6.0
|
|
1877
|
+
* @category current time zone
|
|
1878
|
+
* @example
|
|
1879
|
+
* import { DateTime, Effect } from "effect"
|
|
1880
|
+
*
|
|
1881
|
+
* Effect.gen(function* () {
|
|
1882
|
+
* // will use the "Europe/London" time zone
|
|
1883
|
+
* const now = yield* DateTime.nowInCurrentZone
|
|
1884
|
+
* }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
|
|
1885
|
+
*/
|
|
1380
1886
|
(zone: string): <A, E, R>(
|
|
1381
1887
|
effect: Effect.Effect<A, E, R>
|
|
1382
1888
|
) => Effect.Effect<A, E | IllegalArgumentException, Exclude<R, CurrentTimeZone>>
|
|
1889
|
+
/**
|
|
1890
|
+
* Provide the `CurrentTimeZone` to an effect using an IANA time zone
|
|
1891
|
+
* identifier.
|
|
1892
|
+
*
|
|
1893
|
+
* If the time zone is invalid, it will fail with an `IllegalArgumentException`.
|
|
1894
|
+
*
|
|
1895
|
+
* @since 3.6.0
|
|
1896
|
+
* @category current time zone
|
|
1897
|
+
* @example
|
|
1898
|
+
* import { DateTime, Effect } from "effect"
|
|
1899
|
+
*
|
|
1900
|
+
* Effect.gen(function* () {
|
|
1901
|
+
* // will use the "Europe/London" time zone
|
|
1902
|
+
* const now = yield* DateTime.nowInCurrentZone
|
|
1903
|
+
* }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
|
|
1904
|
+
*/
|
|
1383
1905
|
<A, E, R>(
|
|
1384
1906
|
effect: Effect.Effect<A, E, R>,
|
|
1385
1907
|
zone: string
|
|
@@ -1490,7 +2012,25 @@ const calculateNamedOffset = (adjustedMillis: number, zone: TimeZone.Named): num
|
|
|
1490
2012
|
* @category mapping
|
|
1491
2013
|
*/
|
|
1492
2014
|
export const mutate: {
|
|
2015
|
+
/**
|
|
2016
|
+
* Modify a `DateTime` by applying a function to a cloned `Date` instance.
|
|
2017
|
+
*
|
|
2018
|
+
* The `Date` will first have the time zone applied if possible, and then be
|
|
2019
|
+
* converted back to a `DateTime` within the same time zone.
|
|
2020
|
+
*
|
|
2021
|
+
* @since 3.6.0
|
|
2022
|
+
* @category mapping
|
|
2023
|
+
*/
|
|
1493
2024
|
(f: (date: Date) => void): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
2025
|
+
/**
|
|
2026
|
+
* Modify a `DateTime` by applying a function to a cloned `Date` instance.
|
|
2027
|
+
*
|
|
2028
|
+
* The `Date` will first have the time zone applied if possible, and then be
|
|
2029
|
+
* converted back to a `DateTime` within the same time zone.
|
|
2030
|
+
*
|
|
2031
|
+
* @since 3.6.0
|
|
2032
|
+
* @category mapping
|
|
2033
|
+
*/
|
|
1494
2034
|
<A extends DateTime>(self: A, f: (date: Date) => void): DateTime.PreserveZone<A>
|
|
1495
2035
|
} = dual(2, (self: DateTime, f: (date: Date) => void): DateTime => {
|
|
1496
2036
|
if (self._tag === "Utc") {
|
|
@@ -1511,7 +2051,19 @@ export const mutate: {
|
|
|
1511
2051
|
* @category mapping
|
|
1512
2052
|
*/
|
|
1513
2053
|
export const mutateUtc: {
|
|
2054
|
+
/**
|
|
2055
|
+
* Modify a `DateTime` by applying a function to a cloned UTC `Date` instance.
|
|
2056
|
+
*
|
|
2057
|
+
* @since 3.6.0
|
|
2058
|
+
* @category mapping
|
|
2059
|
+
*/
|
|
1514
2060
|
(f: (date: Date) => void): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
2061
|
+
/**
|
|
2062
|
+
* Modify a `DateTime` by applying a function to a cloned UTC `Date` instance.
|
|
2063
|
+
*
|
|
2064
|
+
* @since 3.6.0
|
|
2065
|
+
* @category mapping
|
|
2066
|
+
*/
|
|
1515
2067
|
<A extends DateTime>(self: A, f: (date: Date) => void): DateTime.PreserveZone<A>
|
|
1516
2068
|
} = dual(2, (self: DateTime, f: (date: Date) => void): DateTime =>
|
|
1517
2069
|
mapEpochMillis(self, (millis) => {
|
|
@@ -1535,7 +2087,35 @@ export const mutateUtc: {
|
|
|
1535
2087
|
* )
|
|
1536
2088
|
*/
|
|
1537
2089
|
export const mapEpochMillis: {
|
|
2090
|
+
/**
|
|
2091
|
+
* Transform a `DateTime` by applying a function to the number of milliseconds
|
|
2092
|
+
* since the Unix epoch.
|
|
2093
|
+
*
|
|
2094
|
+
* @since 3.6.0
|
|
2095
|
+
* @category mapping
|
|
2096
|
+
* @example
|
|
2097
|
+
* import { DateTime } from "effect"
|
|
2098
|
+
*
|
|
2099
|
+
* // add 10 milliseconds
|
|
2100
|
+
* DateTime.unsafeMake(0).pipe(
|
|
2101
|
+
* DateTime.mapEpochMillis((millis) => millis + 10)
|
|
2102
|
+
* )
|
|
2103
|
+
*/
|
|
1538
2104
|
(f: (millis: number) => number): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
2105
|
+
/**
|
|
2106
|
+
* Transform a `DateTime` by applying a function to the number of milliseconds
|
|
2107
|
+
* since the Unix epoch.
|
|
2108
|
+
*
|
|
2109
|
+
* @since 3.6.0
|
|
2110
|
+
* @category mapping
|
|
2111
|
+
* @example
|
|
2112
|
+
* import { DateTime } from "effect"
|
|
2113
|
+
*
|
|
2114
|
+
* // add 10 milliseconds
|
|
2115
|
+
* DateTime.unsafeMake(0).pipe(
|
|
2116
|
+
* DateTime.mapEpochMillis((millis) => millis + 10)
|
|
2117
|
+
* )
|
|
2118
|
+
*/
|
|
1539
2119
|
<A extends DateTime>(self: A, f: (millis: number) => number): DateTime.PreserveZone<A>
|
|
1540
2120
|
} = dual(2, (self: DateTime, f: (millis: number) => number): DateTime => {
|
|
1541
2121
|
const millis = f(toEpochMillis(self))
|
|
@@ -1557,7 +2137,35 @@ export const mapEpochMillis: {
|
|
|
1557
2137
|
* )
|
|
1558
2138
|
*/
|
|
1559
2139
|
export const withDate: {
|
|
2140
|
+
/**
|
|
2141
|
+
* Using the time zone adjusted `Date`, apply a function to the `Date` and
|
|
2142
|
+
* return the result.
|
|
2143
|
+
*
|
|
2144
|
+
* @since 3.6.0
|
|
2145
|
+
* @category mapping
|
|
2146
|
+
* @example
|
|
2147
|
+
* import { DateTime } from "effect"
|
|
2148
|
+
*
|
|
2149
|
+
* // get the time zone adjusted date in milliseconds
|
|
2150
|
+
* DateTime.unsafeMakeZoned(0, { timeZone: "Europe/London" }).pipe(
|
|
2151
|
+
* DateTime.withDate((date) => date.getTime())
|
|
2152
|
+
* )
|
|
2153
|
+
*/
|
|
1560
2154
|
<A>(f: (date: Date) => A): (self: DateTime) => A
|
|
2155
|
+
/**
|
|
2156
|
+
* Using the time zone adjusted `Date`, apply a function to the `Date` and
|
|
2157
|
+
* return the result.
|
|
2158
|
+
*
|
|
2159
|
+
* @since 3.6.0
|
|
2160
|
+
* @category mapping
|
|
2161
|
+
* @example
|
|
2162
|
+
* import { DateTime } from "effect"
|
|
2163
|
+
*
|
|
2164
|
+
* // get the time zone adjusted date in milliseconds
|
|
2165
|
+
* DateTime.unsafeMakeZoned(0, { timeZone: "Europe/London" }).pipe(
|
|
2166
|
+
* DateTime.withDate((date) => date.getTime())
|
|
2167
|
+
* )
|
|
2168
|
+
*/
|
|
1561
2169
|
<A>(self: DateTime, f: (date: Date) => A): A
|
|
1562
2170
|
} = dual(2, <A>(self: DateTime, f: (date: Date) => A): A => f(toDate(self)))
|
|
1563
2171
|
|
|
@@ -1576,7 +2184,35 @@ export const withDate: {
|
|
|
1576
2184
|
* )
|
|
1577
2185
|
*/
|
|
1578
2186
|
export const withDateUtc: {
|
|
2187
|
+
/**
|
|
2188
|
+
* Using the time zone adjusted `Date`, apply a function to the `Date` and
|
|
2189
|
+
* return the result.
|
|
2190
|
+
*
|
|
2191
|
+
* @since 3.6.0
|
|
2192
|
+
* @category mapping
|
|
2193
|
+
* @example
|
|
2194
|
+
* import { DateTime } from "effect"
|
|
2195
|
+
*
|
|
2196
|
+
* // get the date in milliseconds
|
|
2197
|
+
* DateTime.unsafeMake(0).pipe(
|
|
2198
|
+
* DateTime.withDateUtc((date) => date.getTime())
|
|
2199
|
+
* )
|
|
2200
|
+
*/
|
|
1579
2201
|
<A>(f: (date: Date) => A): (self: DateTime) => A
|
|
2202
|
+
/**
|
|
2203
|
+
* Using the time zone adjusted `Date`, apply a function to the `Date` and
|
|
2204
|
+
* return the result.
|
|
2205
|
+
*
|
|
2206
|
+
* @since 3.6.0
|
|
2207
|
+
* @category mapping
|
|
2208
|
+
* @example
|
|
2209
|
+
* import { DateTime } from "effect"
|
|
2210
|
+
*
|
|
2211
|
+
* // get the date in milliseconds
|
|
2212
|
+
* DateTime.unsafeMake(0).pipe(
|
|
2213
|
+
* DateTime.withDateUtc((date) => date.getTime())
|
|
2214
|
+
* )
|
|
2215
|
+
*/
|
|
1580
2216
|
<A>(self: DateTime, f: (date: Date) => A): A
|
|
1581
2217
|
} = dual(2, <A>(self: DateTime, f: (date: Date) => A): A => f(toDateUtc(self)))
|
|
1582
2218
|
|
|
@@ -1585,14 +2221,27 @@ export const withDateUtc: {
|
|
|
1585
2221
|
* @category mapping
|
|
1586
2222
|
*/
|
|
1587
2223
|
export const match: {
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
<A, B>(
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
2224
|
+
/**
|
|
2225
|
+
* @since 3.6.0
|
|
2226
|
+
* @category mapping
|
|
2227
|
+
*/
|
|
2228
|
+
<A, B>(
|
|
2229
|
+
options: {
|
|
2230
|
+
readonly onUtc: (_: Utc) => A
|
|
2231
|
+
readonly onZoned: (_: Zoned) => B
|
|
2232
|
+
}
|
|
2233
|
+
): (self: DateTime) => A | B
|
|
2234
|
+
/**
|
|
2235
|
+
* @since 3.6.0
|
|
2236
|
+
* @category mapping
|
|
2237
|
+
*/
|
|
2238
|
+
<A, B>(
|
|
2239
|
+
self: DateTime,
|
|
2240
|
+
options: {
|
|
2241
|
+
readonly onUtc: (_: Utc) => A
|
|
2242
|
+
readonly onZoned: (_: Zoned) => B
|
|
2243
|
+
}
|
|
2244
|
+
): A | B
|
|
1596
2245
|
} = dual(2, <A, B>(self: DateTime, options: {
|
|
1597
2246
|
readonly onUtc: (_: Utc) => A
|
|
1598
2247
|
readonly onZoned: (_: Zoned) => B
|
|
@@ -1616,7 +2265,41 @@ export const match: {
|
|
|
1616
2265
|
* )
|
|
1617
2266
|
*/
|
|
1618
2267
|
export const addDuration: {
|
|
2268
|
+
// =============================================================================
|
|
2269
|
+
// math
|
|
2270
|
+
// =============================================================================
|
|
2271
|
+
|
|
2272
|
+
/**
|
|
2273
|
+
* Add the given `Duration` to a `DateTime`.
|
|
2274
|
+
*
|
|
2275
|
+
* @since 3.6.0
|
|
2276
|
+
* @category math
|
|
2277
|
+
* @example
|
|
2278
|
+
* import { DateTime } from "effect"
|
|
2279
|
+
*
|
|
2280
|
+
* // add 5 minutes
|
|
2281
|
+
* DateTime.unsafeMake(0).pipe(
|
|
2282
|
+
* DateTime.addDuration("5 minutes")
|
|
2283
|
+
* )
|
|
2284
|
+
*/
|
|
1619
2285
|
(duration: Duration.DurationInput): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
2286
|
+
// =============================================================================
|
|
2287
|
+
// math
|
|
2288
|
+
// =============================================================================
|
|
2289
|
+
|
|
2290
|
+
/**
|
|
2291
|
+
* Add the given `Duration` to a `DateTime`.
|
|
2292
|
+
*
|
|
2293
|
+
* @since 3.6.0
|
|
2294
|
+
* @category math
|
|
2295
|
+
* @example
|
|
2296
|
+
* import { DateTime } from "effect"
|
|
2297
|
+
*
|
|
2298
|
+
* // add 5 minutes
|
|
2299
|
+
* DateTime.unsafeMake(0).pipe(
|
|
2300
|
+
* DateTime.addDuration("5 minutes")
|
|
2301
|
+
* )
|
|
2302
|
+
*/
|
|
1620
2303
|
<A extends DateTime>(self: A, duration: Duration.DurationInput): DateTime.PreserveZone<A>
|
|
1621
2304
|
} = dual(
|
|
1622
2305
|
2,
|
|
@@ -1638,7 +2321,33 @@ export const addDuration: {
|
|
|
1638
2321
|
* )
|
|
1639
2322
|
*/
|
|
1640
2323
|
export const subtractDuration: {
|
|
2324
|
+
/**
|
|
2325
|
+
* Subtract the given `Duration` from a `DateTime`.
|
|
2326
|
+
*
|
|
2327
|
+
* @since 3.6.0
|
|
2328
|
+
* @category math
|
|
2329
|
+
* @example
|
|
2330
|
+
* import { DateTime } from "effect"
|
|
2331
|
+
*
|
|
2332
|
+
* // subtract 5 minutes
|
|
2333
|
+
* DateTime.unsafeMake(0).pipe(
|
|
2334
|
+
* DateTime.subtractDuration("5 minutes")
|
|
2335
|
+
* )
|
|
2336
|
+
*/
|
|
1641
2337
|
(duration: Duration.DurationInput): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
2338
|
+
/**
|
|
2339
|
+
* Subtract the given `Duration` from a `DateTime`.
|
|
2340
|
+
*
|
|
2341
|
+
* @since 3.6.0
|
|
2342
|
+
* @category math
|
|
2343
|
+
* @example
|
|
2344
|
+
* import { DateTime } from "effect"
|
|
2345
|
+
*
|
|
2346
|
+
* // subtract 5 minutes
|
|
2347
|
+
* DateTime.unsafeMake(0).pipe(
|
|
2348
|
+
* DateTime.subtractDuration("5 minutes")
|
|
2349
|
+
* )
|
|
2350
|
+
*/
|
|
1642
2351
|
<A extends DateTime>(self: A, duration: Duration.DurationInput): DateTime.PreserveZone<A>
|
|
1643
2352
|
} = dual(
|
|
1644
2353
|
2,
|
|
@@ -1667,7 +2376,39 @@ const addMillis = (date: Date, amount: number): void => {
|
|
|
1667
2376
|
* )
|
|
1668
2377
|
*/
|
|
1669
2378
|
export const add: {
|
|
2379
|
+
/**
|
|
2380
|
+
* Add the given `amount` of `unit`'s to a `DateTime`.
|
|
2381
|
+
*
|
|
2382
|
+
* The time zone is taken into account when adding days, weeks, months, and
|
|
2383
|
+
* years.
|
|
2384
|
+
*
|
|
2385
|
+
* @since 3.6.0
|
|
2386
|
+
* @category math
|
|
2387
|
+
* @example
|
|
2388
|
+
* import { DateTime } from "effect"
|
|
2389
|
+
*
|
|
2390
|
+
* // add 5 minutes
|
|
2391
|
+
* DateTime.unsafeMake(0).pipe(
|
|
2392
|
+
* DateTime.add({ minutes: 5 })
|
|
2393
|
+
* )
|
|
2394
|
+
*/
|
|
1670
2395
|
(parts: Partial<DateTime.PartsForMath>): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
2396
|
+
/**
|
|
2397
|
+
* Add the given `amount` of `unit`'s to a `DateTime`.
|
|
2398
|
+
*
|
|
2399
|
+
* The time zone is taken into account when adding days, weeks, months, and
|
|
2400
|
+
* years.
|
|
2401
|
+
*
|
|
2402
|
+
* @since 3.6.0
|
|
2403
|
+
* @category math
|
|
2404
|
+
* @example
|
|
2405
|
+
* import { DateTime } from "effect"
|
|
2406
|
+
*
|
|
2407
|
+
* // add 5 minutes
|
|
2408
|
+
* DateTime.unsafeMake(0).pipe(
|
|
2409
|
+
* DateTime.add({ minutes: 5 })
|
|
2410
|
+
* )
|
|
2411
|
+
*/
|
|
1671
2412
|
<A extends DateTime>(self: A, parts: Partial<DateTime.PartsForMath>): DateTime.PreserveZone<A>
|
|
1672
2413
|
} = dual(2, (self: DateTime, parts: Partial<DateTime.PartsForMath>): DateTime =>
|
|
1673
2414
|
mutate(self, (date) => {
|
|
@@ -1724,7 +2465,33 @@ export const add: {
|
|
|
1724
2465
|
* )
|
|
1725
2466
|
*/
|
|
1726
2467
|
export const subtract: {
|
|
2468
|
+
/**
|
|
2469
|
+
* Subtract the given `amount` of `unit`'s from a `DateTime`.
|
|
2470
|
+
*
|
|
2471
|
+
* @since 3.6.0
|
|
2472
|
+
* @category math
|
|
2473
|
+
* @example
|
|
2474
|
+
* import { DateTime } from "effect"
|
|
2475
|
+
*
|
|
2476
|
+
* // subtract 5 minutes
|
|
2477
|
+
* DateTime.unsafeMake(0).pipe(
|
|
2478
|
+
* DateTime.subtract({ minutes: 5 })
|
|
2479
|
+
* )
|
|
2480
|
+
*/
|
|
1727
2481
|
(parts: Partial<DateTime.PartsForMath>): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
2482
|
+
/**
|
|
2483
|
+
* Subtract the given `amount` of `unit`'s from a `DateTime`.
|
|
2484
|
+
*
|
|
2485
|
+
* @since 3.6.0
|
|
2486
|
+
* @category math
|
|
2487
|
+
* @example
|
|
2488
|
+
* import { DateTime } from "effect"
|
|
2489
|
+
*
|
|
2490
|
+
* // subtract 5 minutes
|
|
2491
|
+
* DateTime.unsafeMake(0).pipe(
|
|
2492
|
+
* DateTime.subtract({ minutes: 5 })
|
|
2493
|
+
* )
|
|
2494
|
+
*/
|
|
1728
2495
|
<A extends DateTime>(self: A, parts: Partial<DateTime.PartsForMath>): DateTime.PreserveZone<A>
|
|
1729
2496
|
} = dual(2, (self: DateTime, parts: Partial<DateTime.PartsForMath>): DateTime => {
|
|
1730
2497
|
const newParts = {} as Partial<Mutable<DateTime.PartsForMath>>
|
|
@@ -1793,12 +2560,53 @@ function startOfDate(date: Date, part: DateTime.UnitSingular, options?: {
|
|
|
1793
2560
|
* )
|
|
1794
2561
|
*/
|
|
1795
2562
|
export const startOf: {
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
2563
|
+
/**
|
|
2564
|
+
* Converts a `DateTime` to the start of the given `part`.
|
|
2565
|
+
*
|
|
2566
|
+
* If the part is `week`, the `weekStartsOn` option can be used to specify the
|
|
2567
|
+
* day of the week that the week starts on. The default is 0 (Sunday).
|
|
2568
|
+
*
|
|
2569
|
+
* @since 3.6.0
|
|
2570
|
+
* @category math
|
|
2571
|
+
* @example
|
|
2572
|
+
* import { DateTime } from "effect"
|
|
2573
|
+
*
|
|
2574
|
+
* // returns "2024-01-01T00:00:00Z"
|
|
2575
|
+
* DateTime.unsafeMake("2024-01-01T12:00:00Z").pipe(
|
|
2576
|
+
* DateTime.startOf("day"),
|
|
2577
|
+
* DateTime.formatIso
|
|
2578
|
+
* )
|
|
2579
|
+
*/
|
|
2580
|
+
(
|
|
2581
|
+
part: DateTime.UnitSingular,
|
|
2582
|
+
options?: {
|
|
2583
|
+
readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
|
|
2584
|
+
}
|
|
2585
|
+
): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
2586
|
+
/**
|
|
2587
|
+
* Converts a `DateTime` to the start of the given `part`.
|
|
2588
|
+
*
|
|
2589
|
+
* If the part is `week`, the `weekStartsOn` option can be used to specify the
|
|
2590
|
+
* day of the week that the week starts on. The default is 0 (Sunday).
|
|
2591
|
+
*
|
|
2592
|
+
* @since 3.6.0
|
|
2593
|
+
* @category math
|
|
2594
|
+
* @example
|
|
2595
|
+
* import { DateTime } from "effect"
|
|
2596
|
+
*
|
|
2597
|
+
* // returns "2024-01-01T00:00:00Z"
|
|
2598
|
+
* DateTime.unsafeMake("2024-01-01T12:00:00Z").pipe(
|
|
2599
|
+
* DateTime.startOf("day"),
|
|
2600
|
+
* DateTime.formatIso
|
|
2601
|
+
* )
|
|
2602
|
+
*/
|
|
2603
|
+
<A extends DateTime>(
|
|
2604
|
+
self: A,
|
|
2605
|
+
part: DateTime.UnitSingular,
|
|
2606
|
+
options?: {
|
|
2607
|
+
readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
|
|
2608
|
+
}
|
|
2609
|
+
): DateTime.PreserveZone<A>
|
|
1802
2610
|
} = dual(isDateTimeArgs, (self: DateTime, part: DateTime.UnitSingular, options?: {
|
|
1803
2611
|
readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
|
|
1804
2612
|
}): DateTime => mutate(self, (date) => startOfDate(date, part, options)))
|
|
@@ -1862,12 +2670,53 @@ function endOfDate(date: Date, part: DateTime.UnitSingular, options?: {
|
|
|
1862
2670
|
* )
|
|
1863
2671
|
*/
|
|
1864
2672
|
export const endOf: {
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
2673
|
+
/**
|
|
2674
|
+
* Converts a `DateTime` to the end of the given `part`.
|
|
2675
|
+
*
|
|
2676
|
+
* If the part is `week`, the `weekStartsOn` option can be used to specify the
|
|
2677
|
+
* day of the week that the week starts on. The default is 0 (Sunday).
|
|
2678
|
+
*
|
|
2679
|
+
* @since 3.6.0
|
|
2680
|
+
* @category math
|
|
2681
|
+
* @example
|
|
2682
|
+
* import { DateTime } from "effect"
|
|
2683
|
+
*
|
|
2684
|
+
* // returns "2024-01-01T23:59:59.999Z"
|
|
2685
|
+
* DateTime.unsafeMake("2024-01-01T12:00:00Z").pipe(
|
|
2686
|
+
* DateTime.endOf("day"),
|
|
2687
|
+
* DateTime.formatIso
|
|
2688
|
+
* )
|
|
2689
|
+
*/
|
|
2690
|
+
(
|
|
2691
|
+
part: DateTime.UnitSingular,
|
|
2692
|
+
options?: {
|
|
2693
|
+
readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
|
|
2694
|
+
}
|
|
2695
|
+
): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
2696
|
+
/**
|
|
2697
|
+
* Converts a `DateTime` to the end of the given `part`.
|
|
2698
|
+
*
|
|
2699
|
+
* If the part is `week`, the `weekStartsOn` option can be used to specify the
|
|
2700
|
+
* day of the week that the week starts on. The default is 0 (Sunday).
|
|
2701
|
+
*
|
|
2702
|
+
* @since 3.6.0
|
|
2703
|
+
* @category math
|
|
2704
|
+
* @example
|
|
2705
|
+
* import { DateTime } from "effect"
|
|
2706
|
+
*
|
|
2707
|
+
* // returns "2024-01-01T23:59:59.999Z"
|
|
2708
|
+
* DateTime.unsafeMake("2024-01-01T12:00:00Z").pipe(
|
|
2709
|
+
* DateTime.endOf("day"),
|
|
2710
|
+
* DateTime.formatIso
|
|
2711
|
+
* )
|
|
2712
|
+
*/
|
|
2713
|
+
<A extends DateTime>(
|
|
2714
|
+
self: A,
|
|
2715
|
+
part: DateTime.UnitSingular,
|
|
2716
|
+
options?: {
|
|
2717
|
+
readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
|
|
2718
|
+
}
|
|
2719
|
+
): DateTime.PreserveZone<A>
|
|
1871
2720
|
} = dual(isDateTimeArgs, (self: DateTime, part: DateTime.UnitSingular, options?: {
|
|
1872
2721
|
readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
|
|
1873
2722
|
}): DateTime => mutate(self, (date) => endOfDate(date, part, options)))
|
|
@@ -1890,12 +2739,53 @@ export const endOf: {
|
|
|
1890
2739
|
* )
|
|
1891
2740
|
*/
|
|
1892
2741
|
export const nearest: {
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
2742
|
+
/**
|
|
2743
|
+
* Converts a `DateTime` to the nearest given `part`.
|
|
2744
|
+
*
|
|
2745
|
+
* If the part is `week`, the `weekStartsOn` option can be used to specify the
|
|
2746
|
+
* day of the week that the week starts on. The default is 0 (Sunday).
|
|
2747
|
+
*
|
|
2748
|
+
* @since 3.6.0
|
|
2749
|
+
* @category math
|
|
2750
|
+
* @example
|
|
2751
|
+
* import { DateTime } from "effect"
|
|
2752
|
+
*
|
|
2753
|
+
* // returns "2024-01-02T00:00:00Z"
|
|
2754
|
+
* DateTime.unsafeMake("2024-01-01T12:01:00Z").pipe(
|
|
2755
|
+
* DateTime.nearest("day"),
|
|
2756
|
+
* DateTime.formatIso
|
|
2757
|
+
* )
|
|
2758
|
+
*/
|
|
2759
|
+
(
|
|
2760
|
+
part: DateTime.UnitSingular,
|
|
2761
|
+
options?: {
|
|
2762
|
+
readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
|
|
2763
|
+
}
|
|
2764
|
+
): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
2765
|
+
/**
|
|
2766
|
+
* Converts a `DateTime` to the nearest given `part`.
|
|
2767
|
+
*
|
|
2768
|
+
* If the part is `week`, the `weekStartsOn` option can be used to specify the
|
|
2769
|
+
* day of the week that the week starts on. The default is 0 (Sunday).
|
|
2770
|
+
*
|
|
2771
|
+
* @since 3.6.0
|
|
2772
|
+
* @category math
|
|
2773
|
+
* @example
|
|
2774
|
+
* import { DateTime } from "effect"
|
|
2775
|
+
*
|
|
2776
|
+
* // returns "2024-01-02T00:00:00Z"
|
|
2777
|
+
* DateTime.unsafeMake("2024-01-01T12:01:00Z").pipe(
|
|
2778
|
+
* DateTime.nearest("day"),
|
|
2779
|
+
* DateTime.formatIso
|
|
2780
|
+
* )
|
|
2781
|
+
*/
|
|
2782
|
+
<A extends DateTime>(
|
|
2783
|
+
self: A,
|
|
2784
|
+
part: DateTime.UnitSingular,
|
|
2785
|
+
options?: {
|
|
2786
|
+
readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
|
|
2787
|
+
}
|
|
2788
|
+
): DateTime.PreserveZone<A>
|
|
1899
2789
|
} = dual(isDateTimeArgs, (self: DateTime, part: DateTime.UnitSingular, options?: {
|
|
1900
2790
|
readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
|
|
1901
2791
|
}): DateTime =>
|
|
@@ -1940,6 +2830,17 @@ const intlTimeZone = (self: TimeZone): string => {
|
|
|
1940
2830
|
* @category formatting
|
|
1941
2831
|
*/
|
|
1942
2832
|
export const format: {
|
|
2833
|
+
/**
|
|
2834
|
+
* Format a `DateTime` as a string using the `DateTimeFormat` API.
|
|
2835
|
+
*
|
|
2836
|
+
* The `timeZone` option is set to the offset of the time zone.
|
|
2837
|
+
*
|
|
2838
|
+
* Note: On Node versions < 22, fixed "Offset" zones will set the time zone to
|
|
2839
|
+
* "UTC" and use the adjusted `Date`.
|
|
2840
|
+
*
|
|
2841
|
+
* @since 3.6.0
|
|
2842
|
+
* @category formatting
|
|
2843
|
+
*/
|
|
1943
2844
|
(
|
|
1944
2845
|
options?:
|
|
1945
2846
|
| Intl.DateTimeFormatOptions & {
|
|
@@ -1947,6 +2848,17 @@ export const format: {
|
|
|
1947
2848
|
}
|
|
1948
2849
|
| undefined
|
|
1949
2850
|
): (self: DateTime) => string
|
|
2851
|
+
/**
|
|
2852
|
+
* Format a `DateTime` as a string using the `DateTimeFormat` API.
|
|
2853
|
+
*
|
|
2854
|
+
* The `timeZone` option is set to the offset of the time zone.
|
|
2855
|
+
*
|
|
2856
|
+
* Note: On Node versions < 22, fixed "Offset" zones will set the time zone to
|
|
2857
|
+
* "UTC" and use the adjusted `Date`.
|
|
2858
|
+
*
|
|
2859
|
+
* @since 3.6.0
|
|
2860
|
+
* @category formatting
|
|
2861
|
+
*/
|
|
1950
2862
|
(
|
|
1951
2863
|
self: DateTime,
|
|
1952
2864
|
options?:
|
|
@@ -1985,6 +2897,14 @@ export const format: {
|
|
|
1985
2897
|
* @category formatting
|
|
1986
2898
|
*/
|
|
1987
2899
|
export const formatLocal: {
|
|
2900
|
+
/**
|
|
2901
|
+
* Format a `DateTime` as a string using the `DateTimeFormat` API.
|
|
2902
|
+
*
|
|
2903
|
+
* It will use the system's local time zone & locale.
|
|
2904
|
+
*
|
|
2905
|
+
* @since 3.6.0
|
|
2906
|
+
* @category formatting
|
|
2907
|
+
*/
|
|
1988
2908
|
(
|
|
1989
2909
|
options?:
|
|
1990
2910
|
| Intl.DateTimeFormatOptions & {
|
|
@@ -1992,6 +2912,14 @@ export const formatLocal: {
|
|
|
1992
2912
|
}
|
|
1993
2913
|
| undefined
|
|
1994
2914
|
): (self: DateTime) => string
|
|
2915
|
+
/**
|
|
2916
|
+
* Format a `DateTime` as a string using the `DateTimeFormat` API.
|
|
2917
|
+
*
|
|
2918
|
+
* It will use the system's local time zone & locale.
|
|
2919
|
+
*
|
|
2920
|
+
* @since 3.6.0
|
|
2921
|
+
* @category formatting
|
|
2922
|
+
*/
|
|
1995
2923
|
(
|
|
1996
2924
|
self: DateTime,
|
|
1997
2925
|
options?:
|
|
@@ -2018,6 +2946,14 @@ export const formatLocal: {
|
|
|
2018
2946
|
* @category formatting
|
|
2019
2947
|
*/
|
|
2020
2948
|
export const formatUtc: {
|
|
2949
|
+
/**
|
|
2950
|
+
* Format a `DateTime` as a string using the `DateTimeFormat` API.
|
|
2951
|
+
*
|
|
2952
|
+
* This forces the time zone to be UTC.
|
|
2953
|
+
*
|
|
2954
|
+
* @since 3.6.0
|
|
2955
|
+
* @category formatting
|
|
2956
|
+
*/
|
|
2021
2957
|
(
|
|
2022
2958
|
options?:
|
|
2023
2959
|
| Intl.DateTimeFormatOptions & {
|
|
@@ -2025,6 +2961,14 @@ export const formatUtc: {
|
|
|
2025
2961
|
}
|
|
2026
2962
|
| undefined
|
|
2027
2963
|
): (self: DateTime) => string
|
|
2964
|
+
/**
|
|
2965
|
+
* Format a `DateTime` as a string using the `DateTimeFormat` API.
|
|
2966
|
+
*
|
|
2967
|
+
* This forces the time zone to be UTC.
|
|
2968
|
+
*
|
|
2969
|
+
* @since 3.6.0
|
|
2970
|
+
* @category formatting
|
|
2971
|
+
*/
|
|
2028
2972
|
(
|
|
2029
2973
|
self: DateTime,
|
|
2030
2974
|
options?:
|
|
@@ -2053,7 +2997,19 @@ export const formatUtc: {
|
|
|
2053
2997
|
* @category formatting
|
|
2054
2998
|
*/
|
|
2055
2999
|
export const formatIntl: {
|
|
3000
|
+
/**
|
|
3001
|
+
* Format a `DateTime` as a string using the `DateTimeFormat` API.
|
|
3002
|
+
*
|
|
3003
|
+
* @since 3.6.0
|
|
3004
|
+
* @category formatting
|
|
3005
|
+
*/
|
|
2056
3006
|
(format: Intl.DateTimeFormat): (self: DateTime) => string
|
|
3007
|
+
/**
|
|
3008
|
+
* Format a `DateTime` as a string using the `DateTimeFormat` API.
|
|
3009
|
+
*
|
|
3010
|
+
* @since 3.6.0
|
|
3011
|
+
* @category formatting
|
|
3012
|
+
*/
|
|
2057
3013
|
(self: DateTime, format: Intl.DateTimeFormat): string
|
|
2058
3014
|
} = dual(2, (self: DateTime, format: Intl.DateTimeFormat): string => format.format(self.epochMillis))
|
|
2059
3015
|
|