effect 3.10.18 → 3.10.19
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 +206 -0
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/BigDecimal.js +56 -0
- package/dist/cjs/BigDecimal.js.map +1 -1
- package/dist/cjs/BigInt.js +54 -0
- package/dist/cjs/BigInt.js.map +1 -1
- package/dist/cjs/Boolean.js +24 -0
- package/dist/cjs/Boolean.js.map +1 -1
- package/dist/cjs/Brand.js +4 -0
- package/dist/cjs/Brand.js.map +1 -1
- package/dist/cjs/Chunk.js +8 -0
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Config.js +2 -0
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/Context.js +24 -0
- package/dist/cjs/Context.js.map +1 -1
- package/dist/cjs/Cron.js +6 -0
- package/dist/cjs/Cron.js.map +1 -1
- package/dist/cjs/Data.js +14 -0
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/DateTime.js +64 -0
- package/dist/cjs/DateTime.js.map +1 -1
- package/dist/cjs/Duration.js +2 -0
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Effect.js +214 -0
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +38 -2
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/FiberHandle.js +6 -0
- package/dist/cjs/FiberHandle.js.map +1 -1
- package/dist/cjs/FiberMap.js +6 -0
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/FiberSet.js +6 -0
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/Function.js +34 -0
- package/dist/cjs/Function.js.map +1 -1
- package/dist/cjs/GlobalValue.js +2 -0
- package/dist/cjs/GlobalValue.js.map +1 -1
- package/dist/cjs/HashMap.js.map +1 -1
- package/dist/cjs/Iterable.js +18 -0
- package/dist/cjs/Iterable.js.map +1 -1
- package/dist/cjs/List.js +4 -0
- package/dist/cjs/List.js.map +1 -1
- package/dist/cjs/Logger.js +26 -0
- package/dist/cjs/Logger.js.map +1 -1
- package/dist/cjs/Mailbox.js +2 -0
- package/dist/cjs/Mailbox.js.map +1 -1
- package/dist/cjs/ManagedRuntime.js +2 -0
- package/dist/cjs/ManagedRuntime.js.map +1 -1
- package/dist/cjs/Metric.js +10 -0
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/Micro.js +8 -0
- package/dist/cjs/Micro.js.map +1 -1
- package/dist/cjs/Number.js +44 -0
- package/dist/cjs/Number.js.map +1 -1
- package/dist/cjs/Option.js +70 -0
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/Order.js +2 -0
- package/dist/cjs/Order.js.map +1 -1
- package/dist/cjs/Ordering.js +4 -0
- package/dist/cjs/Ordering.js.map +1 -1
- package/dist/cjs/Predicate.js +68 -0
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/Random.js +4 -0
- package/dist/cjs/Random.js.map +1 -1
- package/dist/cjs/RateLimiter.js +4 -0
- package/dist/cjs/RateLimiter.js.map +1 -1
- package/dist/cjs/RcMap.js +2 -0
- package/dist/cjs/RcMap.js.map +1 -1
- package/dist/cjs/RcRef.js +2 -0
- package/dist/cjs/RcRef.js.map +1 -1
- package/dist/cjs/Record.js +56 -0
- package/dist/cjs/Record.js.map +1 -1
- package/dist/cjs/Redacted.js +8 -0
- package/dist/cjs/Redacted.js.map +1 -1
- package/dist/cjs/RegExp.js +4 -0
- package/dist/cjs/RegExp.js.map +1 -1
- package/dist/cjs/Request.js +4 -0
- package/dist/cjs/Request.js.map +1 -1
- package/dist/cjs/RequestResolver.js +2 -0
- package/dist/cjs/RequestResolver.js.map +1 -1
- package/dist/cjs/Runtime.js +6 -0
- package/dist/cjs/Runtime.js.map +1 -1
- package/dist/cjs/Schema.js +34 -0
- package/dist/cjs/Schema.js.map +1 -1
- package/dist/cjs/Stream.js +154 -0
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/String.js +62 -0
- package/dist/cjs/String.js.map +1 -1
- package/dist/cjs/Struct.js +12 -0
- package/dist/cjs/Struct.js.map +1 -1
- package/dist/cjs/Symbol.js +2 -0
- package/dist/cjs/Symbol.js.map +1 -1
- package/dist/cjs/Trie.js +56 -0
- package/dist/cjs/Trie.js.map +1 -1
- package/dist/cjs/Tuple.js +18 -0
- package/dist/cjs/Tuple.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Array.d.ts +534 -0
- package/dist/dts/Array.d.ts.map +1 -1
- package/dist/dts/BigDecimal.d.ts +116 -0
- package/dist/dts/BigDecimal.d.ts.map +1 -1
- package/dist/dts/BigInt.d.ts +114 -0
- package/dist/dts/BigInt.d.ts.map +1 -1
- package/dist/dts/Boolean.d.ts +56 -0
- package/dist/dts/Boolean.d.ts.map +1 -1
- package/dist/dts/Brand.d.ts +6 -0
- package/dist/dts/Brand.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +30 -0
- package/dist/dts/Chunk.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +2 -0
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +44 -0
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/Cron.d.ts +6 -0
- package/dist/dts/Cron.d.ts.map +1 -1
- package/dist/dts/Data.d.ts +26 -0
- package/dist/dts/Data.d.ts.map +1 -1
- package/dist/dts/DateTime.d.ts +152 -0
- package/dist/dts/DateTime.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts +2 -0
- package/dist/dts/Duration.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +570 -0
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +84 -2
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/FiberHandle.d.ts +6 -0
- package/dist/dts/FiberHandle.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts +6 -0
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts +6 -0
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/Function.d.ts +50 -0
- package/dist/dts/Function.d.ts.map +1 -1
- package/dist/dts/GlobalValue.d.ts +2 -0
- package/dist/dts/GlobalValue.d.ts.map +1 -1
- package/dist/dts/HashMap.d.ts +6 -0
- package/dist/dts/HashMap.d.ts.map +1 -1
- package/dist/dts/Iterable.d.ts +26 -0
- package/dist/dts/Iterable.d.ts.map +1 -1
- package/dist/dts/List.d.ts +20 -0
- package/dist/dts/List.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +34 -0
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/Mailbox.d.ts +2 -0
- package/dist/dts/Mailbox.d.ts.map +1 -1
- package/dist/dts/ManagedRuntime.d.ts +2 -0
- package/dist/dts/ManagedRuntime.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts +18 -0
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/Micro.d.ts +14 -0
- package/dist/dts/Micro.d.ts.map +1 -1
- package/dist/dts/Number.d.ts +104 -0
- package/dist/dts/Number.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +142 -0
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/Order.d.ts +2 -0
- package/dist/dts/Order.d.ts.map +1 -1
- package/dist/dts/Ordering.d.ts +8 -0
- package/dist/dts/Ordering.d.ts.map +1 -1
- package/dist/dts/Predicate.d.ts +104 -0
- package/dist/dts/Predicate.d.ts.map +1 -1
- package/dist/dts/Random.d.ts +4 -0
- package/dist/dts/Random.d.ts.map +1 -1
- package/dist/dts/RateLimiter.d.ts +4 -0
- package/dist/dts/RateLimiter.d.ts.map +1 -1
- package/dist/dts/RcMap.d.ts +6 -0
- package/dist/dts/RcMap.d.ts.map +1 -1
- package/dist/dts/RcRef.d.ts +2 -0
- package/dist/dts/RcRef.d.ts.map +1 -1
- package/dist/dts/Record.d.ts +136 -0
- package/dist/dts/Record.d.ts.map +1 -1
- package/dist/dts/Redacted.d.ts +8 -0
- package/dist/dts/Redacted.d.ts.map +1 -1
- package/dist/dts/RegExp.d.ts +4 -0
- package/dist/dts/RegExp.d.ts.map +1 -1
- package/dist/dts/Request.d.ts +4 -0
- package/dist/dts/Request.d.ts.map +1 -1
- package/dist/dts/RequestResolver.d.ts +6 -0
- package/dist/dts/RequestResolver.d.ts.map +1 -1
- package/dist/dts/Runtime.d.ts +18 -0
- package/dist/dts/Runtime.d.ts.map +1 -1
- package/dist/dts/Schema.d.ts +58 -0
- package/dist/dts/Schema.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +344 -0
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/String.d.ts +94 -0
- package/dist/dts/String.d.ts.map +1 -1
- package/dist/dts/Struct.d.ts +24 -0
- package/dist/dts/Struct.d.ts.map +1 -1
- package/dist/dts/Symbol.d.ts +2 -0
- package/dist/dts/Symbol.d.ts.map +1 -1
- package/dist/dts/Trie.d.ts +132 -0
- package/dist/dts/Trie.d.ts.map +1 -1
- package/dist/dts/Tuple.d.ts +42 -0
- package/dist/dts/Tuple.d.ts.map +1 -1
- package/dist/dts/Types.d.ts +24 -0
- package/dist/dts/Types.d.ts.map +1 -1
- package/dist/esm/Array.js +208 -0
- package/dist/esm/Array.js.map +1 -1
- package/dist/esm/BigDecimal.js +56 -0
- package/dist/esm/BigDecimal.js.map +1 -1
- package/dist/esm/BigInt.js +54 -0
- package/dist/esm/BigInt.js.map +1 -1
- package/dist/esm/Boolean.js +24 -0
- package/dist/esm/Boolean.js.map +1 -1
- package/dist/esm/Brand.js +4 -0
- package/dist/esm/Brand.js.map +1 -1
- package/dist/esm/Chunk.js +8 -0
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/Config.js +2 -0
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/Context.js +24 -0
- package/dist/esm/Context.js.map +1 -1
- package/dist/esm/Cron.js +6 -0
- package/dist/esm/Cron.js.map +1 -1
- package/dist/esm/Data.js +16 -0
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/DateTime.js +64 -0
- package/dist/esm/DateTime.js.map +1 -1
- package/dist/esm/Duration.js +2 -0
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Effect.js +220 -0
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +40 -2
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/FiberHandle.js +6 -0
- package/dist/esm/FiberHandle.js.map +1 -1
- package/dist/esm/FiberMap.js +6 -0
- package/dist/esm/FiberMap.js.map +1 -1
- package/dist/esm/FiberSet.js +6 -0
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/Function.js +34 -0
- package/dist/esm/Function.js.map +1 -1
- package/dist/esm/GlobalValue.js +2 -0
- package/dist/esm/GlobalValue.js.map +1 -1
- package/dist/esm/HashMap.js.map +1 -1
- package/dist/esm/Iterable.js +18 -0
- package/dist/esm/Iterable.js.map +1 -1
- package/dist/esm/List.js +4 -0
- package/dist/esm/List.js.map +1 -1
- package/dist/esm/Logger.js +26 -0
- package/dist/esm/Logger.js.map +1 -1
- package/dist/esm/Mailbox.js +2 -0
- package/dist/esm/Mailbox.js.map +1 -1
- package/dist/esm/ManagedRuntime.js +2 -0
- package/dist/esm/ManagedRuntime.js.map +1 -1
- package/dist/esm/Metric.js +10 -0
- package/dist/esm/Metric.js.map +1 -1
- package/dist/esm/Micro.js +10 -0
- package/dist/esm/Micro.js.map +1 -1
- package/dist/esm/Number.js +44 -0
- package/dist/esm/Number.js.map +1 -1
- package/dist/esm/Option.js +72 -0
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/Order.js +2 -0
- package/dist/esm/Order.js.map +1 -1
- package/dist/esm/Ordering.js +4 -0
- package/dist/esm/Ordering.js.map +1 -1
- package/dist/esm/Predicate.js +68 -0
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/Random.js +4 -0
- package/dist/esm/Random.js.map +1 -1
- package/dist/esm/RateLimiter.js +4 -0
- package/dist/esm/RateLimiter.js.map +1 -1
- package/dist/esm/RcMap.js +2 -0
- package/dist/esm/RcMap.js.map +1 -1
- package/dist/esm/RcRef.js +2 -0
- package/dist/esm/RcRef.js.map +1 -1
- package/dist/esm/Record.js +56 -0
- package/dist/esm/Record.js.map +1 -1
- package/dist/esm/Redacted.js +8 -0
- package/dist/esm/Redacted.js.map +1 -1
- package/dist/esm/RegExp.js +4 -0
- package/dist/esm/RegExp.js.map +1 -1
- package/dist/esm/Request.js +4 -0
- package/dist/esm/Request.js.map +1 -1
- package/dist/esm/RequestResolver.js +2 -0
- package/dist/esm/RequestResolver.js.map +1 -1
- package/dist/esm/Runtime.js +6 -0
- package/dist/esm/Runtime.js.map +1 -1
- package/dist/esm/Schema.js +34 -0
- package/dist/esm/Schema.js.map +1 -1
- package/dist/esm/Stream.js +160 -0
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/String.js +62 -0
- package/dist/esm/String.js.map +1 -1
- package/dist/esm/Struct.js +12 -0
- package/dist/esm/Struct.js.map +1 -1
- package/dist/esm/Symbol.js +2 -0
- package/dist/esm/Symbol.js.map +1 -1
- package/dist/esm/Trie.js +56 -0
- package/dist/esm/Trie.js.map +1 -1
- package/dist/esm/Tuple.js +22 -0
- package/dist/esm/Tuple.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Array.ts +534 -0
- package/src/BigDecimal.ts +116 -0
- package/src/BigInt.ts +114 -0
- package/src/Boolean.ts +56 -0
- package/src/Brand.ts +6 -0
- package/src/Chunk.ts +32 -0
- package/src/Config.ts +2 -0
- package/src/Context.ts +44 -0
- package/src/Cron.ts +6 -0
- package/src/Data.ts +26 -0
- package/src/DateTime.ts +152 -0
- package/src/Duration.ts +2 -0
- package/src/Effect.ts +570 -0
- package/src/Either.ts +84 -2
- package/src/FiberHandle.ts +6 -0
- package/src/FiberMap.ts +6 -0
- package/src/FiberSet.ts +6 -0
- package/src/Function.ts +50 -0
- package/src/GlobalValue.ts +2 -0
- package/src/HashMap.ts +6 -0
- package/src/Iterable.ts +26 -0
- package/src/List.ts +24 -0
- package/src/Logger.ts +34 -0
- package/src/Mailbox.ts +2 -0
- package/src/ManagedRuntime.ts +2 -0
- package/src/Metric.ts +18 -0
- package/src/Micro.ts +14 -0
- package/src/Number.ts +104 -0
- package/src/Option.ts +142 -0
- package/src/Order.ts +2 -0
- package/src/Ordering.ts +8 -0
- package/src/Predicate.ts +104 -0
- package/src/Random.ts +4 -0
- package/src/RateLimiter.ts +4 -0
- package/src/RcMap.ts +6 -0
- package/src/RcRef.ts +2 -0
- package/src/Record.ts +136 -0
- package/src/Redacted.ts +8 -0
- package/src/RegExp.ts +4 -0
- package/src/Request.ts +4 -0
- package/src/RequestResolver.ts +6 -0
- package/src/Runtime.ts +18 -0
- package/src/Schema.ts +64 -0
- package/src/Stream.ts +344 -0
- package/src/String.ts +94 -0
- package/src/Struct.ts +24 -0
- package/src/Symbol.ts +2 -0
- package/src/Trie.ts +132 -0
- package/src/Tuple.ts +42 -0
- package/src/Types.ts +24 -0
- package/src/internal/version.ts +1 -1
package/src/DateTime.ts
CHANGED
|
@@ -442,6 +442,7 @@ export const unsafeFromDate = (date: Date): Utc => {
|
|
|
442
442
|
* @since 3.6.0
|
|
443
443
|
* @category constructors
|
|
444
444
|
* @example
|
|
445
|
+
* ```ts
|
|
445
446
|
* import { DateTime } from "effect"
|
|
446
447
|
*
|
|
447
448
|
* // from Date
|
|
@@ -452,6 +453,7 @@ export const unsafeFromDate = (date: Date): Utc => {
|
|
|
452
453
|
*
|
|
453
454
|
* // from string
|
|
454
455
|
* DateTime.unsafeMake("2024-01-01")
|
|
456
|
+
* ```
|
|
455
457
|
*/
|
|
456
458
|
export const unsafeMake = <A extends DateTime.Input>(input: A): DateTime.PreserveZone<A> => {
|
|
457
459
|
if (isDateTime(input)) {
|
|
@@ -476,9 +478,11 @@ export const unsafeMake = <A extends DateTime.Input>(input: A): DateTime.Preserv
|
|
|
476
478
|
* @since 3.6.0
|
|
477
479
|
* @category constructors
|
|
478
480
|
* @example
|
|
481
|
+
* ```ts
|
|
479
482
|
* import { DateTime } from "effect"
|
|
480
483
|
*
|
|
481
484
|
* DateTime.unsafeMakeZoned(new Date(), { timeZone: "Europe/London" })
|
|
485
|
+
* ```
|
|
482
486
|
*/
|
|
483
487
|
export const unsafeMakeZoned = (input: DateTime.Input, options?: {
|
|
484
488
|
readonly timeZone?: number | string | TimeZone | undefined
|
|
@@ -519,9 +523,11 @@ export const unsafeMakeZoned = (input: DateTime.Input, options?: {
|
|
|
519
523
|
* @since 3.6.0
|
|
520
524
|
* @category constructors
|
|
521
525
|
* @example
|
|
526
|
+
* ```ts
|
|
522
527
|
* import { DateTime } from "effect"
|
|
523
528
|
*
|
|
524
529
|
* DateTime.makeZoned(new Date(), { timeZone: "Europe/London" })
|
|
530
|
+
* ```
|
|
525
531
|
*/
|
|
526
532
|
export const makeZoned: (
|
|
527
533
|
input: DateTime.Input,
|
|
@@ -545,6 +551,7 @@ export const makeZoned: (
|
|
|
545
551
|
* @since 3.6.0
|
|
546
552
|
* @category constructors
|
|
547
553
|
* @example
|
|
554
|
+
* ```ts
|
|
548
555
|
* import { DateTime } from "effect"
|
|
549
556
|
*
|
|
550
557
|
* // from Date
|
|
@@ -555,6 +562,7 @@ export const makeZoned: (
|
|
|
555
562
|
*
|
|
556
563
|
* // from string
|
|
557
564
|
* DateTime.make("2024-01-01")
|
|
565
|
+
* ```
|
|
558
566
|
*/
|
|
559
567
|
export const make: <A extends DateTime.Input>(input: A) => Option.Option<DateTime.PreserveZone<A>> = Option
|
|
560
568
|
.liftThrowable(unsafeMake)
|
|
@@ -585,11 +593,13 @@ export const makeZonedFromString = (input: string): Option.Option<Zoned> => {
|
|
|
585
593
|
* @since 3.6.0
|
|
586
594
|
* @category constructors
|
|
587
595
|
* @example
|
|
596
|
+
* ```ts
|
|
588
597
|
* import { DateTime, Effect } from "effect"
|
|
589
598
|
*
|
|
590
599
|
* Effect.gen(function* () {
|
|
591
600
|
* const now = yield* DateTime.now
|
|
592
601
|
* })
|
|
602
|
+
* ```
|
|
593
603
|
*/
|
|
594
604
|
export const now: Effect.Effect<Utc> = Effect.map(Clock.currentTimeMillis, makeUtc)
|
|
595
605
|
|
|
@@ -611,6 +621,7 @@ export const unsafeNow: LazyArg<Utc> = () => makeUtc(Date.now())
|
|
|
611
621
|
* @since 3.6.0
|
|
612
622
|
* @category time zones
|
|
613
623
|
* @example
|
|
624
|
+
* ```ts
|
|
614
625
|
* import { DateTime, Effect } from "effect"
|
|
615
626
|
*
|
|
616
627
|
* Effect.gen(function* () {
|
|
@@ -620,6 +631,7 @@ export const unsafeNow: LazyArg<Utc> = () => makeUtc(Date.now())
|
|
|
620
631
|
* // set the time zone
|
|
621
632
|
* const zoned: DateTime.Zoned = DateTime.setZone(now, zone)
|
|
622
633
|
* })
|
|
634
|
+
* ```
|
|
623
635
|
*/
|
|
624
636
|
export const setZone: {
|
|
625
637
|
// =============================================================================
|
|
@@ -632,6 +644,7 @@ export const setZone: {
|
|
|
632
644
|
* @since 3.6.0
|
|
633
645
|
* @category time zones
|
|
634
646
|
* @example
|
|
647
|
+
* ```ts
|
|
635
648
|
* import { DateTime, Effect } from "effect"
|
|
636
649
|
*
|
|
637
650
|
* Effect.gen(function* () {
|
|
@@ -641,6 +654,7 @@ export const setZone: {
|
|
|
641
654
|
* // set the time zone
|
|
642
655
|
* const zoned: DateTime.Zoned = DateTime.setZone(now, zone)
|
|
643
656
|
* })
|
|
657
|
+
* ```
|
|
644
658
|
*/
|
|
645
659
|
(
|
|
646
660
|
zone: TimeZone,
|
|
@@ -658,6 +672,7 @@ export const setZone: {
|
|
|
658
672
|
* @since 3.6.0
|
|
659
673
|
* @category time zones
|
|
660
674
|
* @example
|
|
675
|
+
* ```ts
|
|
661
676
|
* import { DateTime, Effect } from "effect"
|
|
662
677
|
*
|
|
663
678
|
* Effect.gen(function* () {
|
|
@@ -667,6 +682,7 @@ export const setZone: {
|
|
|
667
682
|
* // set the time zone
|
|
668
683
|
* const zoned: DateTime.Zoned = DateTime.setZone(now, zone)
|
|
669
684
|
* })
|
|
685
|
+
* ```
|
|
670
686
|
*/
|
|
671
687
|
(
|
|
672
688
|
self: DateTime,
|
|
@@ -690,6 +706,7 @@ export const setZone: {
|
|
|
690
706
|
* @since 3.6.0
|
|
691
707
|
* @category time zones
|
|
692
708
|
* @example
|
|
709
|
+
* ```ts
|
|
693
710
|
* import { DateTime, Effect } from "effect"
|
|
694
711
|
*
|
|
695
712
|
* Effect.gen(function* () {
|
|
@@ -698,6 +715,7 @@ export const setZone: {
|
|
|
698
715
|
* // set the offset time zone in milliseconds
|
|
699
716
|
* const zoned: DateTime.Zoned = DateTime.setZoneOffset(now, 3 * 60 * 60 * 1000)
|
|
700
717
|
* })
|
|
718
|
+
* ```
|
|
701
719
|
*/
|
|
702
720
|
export const setZoneOffset: {
|
|
703
721
|
/**
|
|
@@ -708,6 +726,7 @@ export const setZoneOffset: {
|
|
|
708
726
|
* @since 3.6.0
|
|
709
727
|
* @category time zones
|
|
710
728
|
* @example
|
|
729
|
+
* ```ts
|
|
711
730
|
* import { DateTime, Effect } from "effect"
|
|
712
731
|
*
|
|
713
732
|
* Effect.gen(function* () {
|
|
@@ -716,6 +735,7 @@ export const setZoneOffset: {
|
|
|
716
735
|
* // set the offset time zone in milliseconds
|
|
717
736
|
* const zoned: DateTime.Zoned = DateTime.setZoneOffset(now, 3 * 60 * 60 * 1000)
|
|
718
737
|
* })
|
|
738
|
+
* ```
|
|
719
739
|
*/
|
|
720
740
|
(
|
|
721
741
|
offset: number,
|
|
@@ -731,6 +751,7 @@ export const setZoneOffset: {
|
|
|
731
751
|
* @since 3.6.0
|
|
732
752
|
* @category time zones
|
|
733
753
|
* @example
|
|
754
|
+
* ```ts
|
|
734
755
|
* import { DateTime, Effect } from "effect"
|
|
735
756
|
*
|
|
736
757
|
* Effect.gen(function* () {
|
|
@@ -739,6 +760,7 @@ export const setZoneOffset: {
|
|
|
739
760
|
* // set the offset time zone in milliseconds
|
|
740
761
|
* const zoned: DateTime.Zoned = DateTime.setZoneOffset(now, 3 * 60 * 60 * 1000)
|
|
741
762
|
* })
|
|
763
|
+
* ```
|
|
742
764
|
*/
|
|
743
765
|
(
|
|
744
766
|
self: DateTime,
|
|
@@ -867,6 +889,7 @@ export const zoneFromString = (zone: string): Option.Option<TimeZone> => {
|
|
|
867
889
|
* @since 3.6.0
|
|
868
890
|
* @category time zones
|
|
869
891
|
* @example
|
|
892
|
+
* ```ts
|
|
870
893
|
* import { DateTime, Effect } from "effect"
|
|
871
894
|
*
|
|
872
895
|
* // Outputs "+03:00"
|
|
@@ -874,6 +897,7 @@ export const zoneFromString = (zone: string): Option.Option<TimeZone> => {
|
|
|
874
897
|
*
|
|
875
898
|
* // Outputs "Europe/London"
|
|
876
899
|
* DateTime.zoneToString(DateTime.zoneUnsafeMakeNamed("Europe/London"))
|
|
900
|
+
* ```
|
|
877
901
|
*/
|
|
878
902
|
export const zoneToString = (self: TimeZone): string => {
|
|
879
903
|
if (self._tag === "Offset") {
|
|
@@ -889,6 +913,7 @@ export const zoneToString = (self: TimeZone): string => {
|
|
|
889
913
|
* @since 3.6.0
|
|
890
914
|
* @category time zones
|
|
891
915
|
* @example
|
|
916
|
+
* ```ts
|
|
892
917
|
* import { DateTime, Effect } from "effect"
|
|
893
918
|
*
|
|
894
919
|
* Effect.gen(function* () {
|
|
@@ -896,6 +921,7 @@ export const zoneToString = (self: TimeZone): string => {
|
|
|
896
921
|
* // set the time zone, returns an Option
|
|
897
922
|
* DateTime.setZoneNamed(now, "Europe/London")
|
|
898
923
|
* })
|
|
924
|
+
* ```
|
|
899
925
|
*/
|
|
900
926
|
export const setZoneNamed: {
|
|
901
927
|
/**
|
|
@@ -905,6 +931,7 @@ export const setZoneNamed: {
|
|
|
905
931
|
* @since 3.6.0
|
|
906
932
|
* @category time zones
|
|
907
933
|
* @example
|
|
934
|
+
* ```ts
|
|
908
935
|
* import { DateTime, Effect } from "effect"
|
|
909
936
|
*
|
|
910
937
|
* Effect.gen(function* () {
|
|
@@ -912,6 +939,7 @@ export const setZoneNamed: {
|
|
|
912
939
|
* // set the time zone, returns an Option
|
|
913
940
|
* DateTime.setZoneNamed(now, "Europe/London")
|
|
914
941
|
* })
|
|
942
|
+
* ```
|
|
915
943
|
*/
|
|
916
944
|
(
|
|
917
945
|
zoneId: string,
|
|
@@ -926,6 +954,7 @@ export const setZoneNamed: {
|
|
|
926
954
|
* @since 3.6.0
|
|
927
955
|
* @category time zones
|
|
928
956
|
* @example
|
|
957
|
+
* ```ts
|
|
929
958
|
* import { DateTime, Effect } from "effect"
|
|
930
959
|
*
|
|
931
960
|
* Effect.gen(function* () {
|
|
@@ -933,6 +962,7 @@ export const setZoneNamed: {
|
|
|
933
962
|
* // set the time zone, returns an Option
|
|
934
963
|
* DateTime.setZoneNamed(now, "Europe/London")
|
|
935
964
|
* })
|
|
965
|
+
* ```
|
|
936
966
|
*/
|
|
937
967
|
(
|
|
938
968
|
self: DateTime,
|
|
@@ -955,6 +985,7 @@ export const setZoneNamed: {
|
|
|
955
985
|
* @since 3.6.0
|
|
956
986
|
* @category time zones
|
|
957
987
|
* @example
|
|
988
|
+
* ```ts
|
|
958
989
|
* import { DateTime, Effect } from "effect"
|
|
959
990
|
*
|
|
960
991
|
* Effect.gen(function* () {
|
|
@@ -962,6 +993,7 @@ export const setZoneNamed: {
|
|
|
962
993
|
* // set the time zone
|
|
963
994
|
* DateTime.unsafeSetZoneNamed(now, "Europe/London")
|
|
964
995
|
* })
|
|
996
|
+
* ```
|
|
965
997
|
*/
|
|
966
998
|
export const unsafeSetZoneNamed: {
|
|
967
999
|
/**
|
|
@@ -971,6 +1003,7 @@ export const unsafeSetZoneNamed: {
|
|
|
971
1003
|
* @since 3.6.0
|
|
972
1004
|
* @category time zones
|
|
973
1005
|
* @example
|
|
1006
|
+
* ```ts
|
|
974
1007
|
* import { DateTime, Effect } from "effect"
|
|
975
1008
|
*
|
|
976
1009
|
* Effect.gen(function* () {
|
|
@@ -978,6 +1011,7 @@ export const unsafeSetZoneNamed: {
|
|
|
978
1011
|
* // set the time zone
|
|
979
1012
|
* DateTime.unsafeSetZoneNamed(now, "Europe/London")
|
|
980
1013
|
* })
|
|
1014
|
+
* ```
|
|
981
1015
|
*/
|
|
982
1016
|
(
|
|
983
1017
|
zoneId: string,
|
|
@@ -992,6 +1026,7 @@ export const unsafeSetZoneNamed: {
|
|
|
992
1026
|
* @since 3.6.0
|
|
993
1027
|
* @category time zones
|
|
994
1028
|
* @example
|
|
1029
|
+
* ```ts
|
|
995
1030
|
* import { DateTime, Effect } from "effect"
|
|
996
1031
|
*
|
|
997
1032
|
* Effect.gen(function* () {
|
|
@@ -999,6 +1034,7 @@ export const unsafeSetZoneNamed: {
|
|
|
999
1034
|
* // set the time zone
|
|
1000
1035
|
* DateTime.unsafeSetZoneNamed(now, "Europe/London")
|
|
1001
1036
|
* })
|
|
1037
|
+
* ```
|
|
1002
1038
|
*/
|
|
1003
1039
|
(
|
|
1004
1040
|
self: DateTime,
|
|
@@ -1024,6 +1060,7 @@ export const unsafeSetZoneNamed: {
|
|
|
1024
1060
|
* @since 3.6.0
|
|
1025
1061
|
* @category comparisons
|
|
1026
1062
|
* @example
|
|
1063
|
+
* ```ts
|
|
1027
1064
|
* import { DateTime, Effect } from "effect"
|
|
1028
1065
|
*
|
|
1029
1066
|
* Effect.gen(function* () {
|
|
@@ -1033,6 +1070,7 @@ export const unsafeSetZoneNamed: {
|
|
|
1033
1070
|
* // returns 60000
|
|
1034
1071
|
* DateTime.distance(now, other)
|
|
1035
1072
|
* })
|
|
1073
|
+
* ```
|
|
1036
1074
|
*/
|
|
1037
1075
|
export const distance: {
|
|
1038
1076
|
// =============================================================================
|
|
@@ -1048,6 +1086,7 @@ export const distance: {
|
|
|
1048
1086
|
* @since 3.6.0
|
|
1049
1087
|
* @category comparisons
|
|
1050
1088
|
* @example
|
|
1089
|
+
* ```ts
|
|
1051
1090
|
* import { DateTime, Effect } from "effect"
|
|
1052
1091
|
*
|
|
1053
1092
|
* Effect.gen(function* () {
|
|
@@ -1057,6 +1096,7 @@ export const distance: {
|
|
|
1057
1096
|
* // returns 60000
|
|
1058
1097
|
* DateTime.distance(now, other)
|
|
1059
1098
|
* })
|
|
1099
|
+
* ```
|
|
1060
1100
|
*/
|
|
1061
1101
|
(other: DateTime): (self: DateTime) => number
|
|
1062
1102
|
// =============================================================================
|
|
@@ -1072,6 +1112,7 @@ export const distance: {
|
|
|
1072
1112
|
* @since 3.6.0
|
|
1073
1113
|
* @category comparisons
|
|
1074
1114
|
* @example
|
|
1115
|
+
* ```ts
|
|
1075
1116
|
* import { DateTime, Effect } from "effect"
|
|
1076
1117
|
*
|
|
1077
1118
|
* Effect.gen(function* () {
|
|
@@ -1081,6 +1122,7 @@ export const distance: {
|
|
|
1081
1122
|
* // returns 60000
|
|
1082
1123
|
* DateTime.distance(now, other)
|
|
1083
1124
|
* })
|
|
1125
|
+
* ```
|
|
1084
1126
|
*/
|
|
1085
1127
|
(self: DateTime, other: DateTime): number
|
|
1086
1128
|
} = dual(2, (self: DateTime, other: DateTime): number => toEpochMillis(other) - toEpochMillis(self))
|
|
@@ -1097,6 +1139,7 @@ export const distance: {
|
|
|
1097
1139
|
* @since 3.6.0
|
|
1098
1140
|
* @category comparisons
|
|
1099
1141
|
* @example
|
|
1142
|
+
* ```ts
|
|
1100
1143
|
* import { DateTime, Effect } from "effect"
|
|
1101
1144
|
*
|
|
1102
1145
|
* Effect.gen(function* () {
|
|
@@ -1109,6 +1152,7 @@ export const distance: {
|
|
|
1109
1152
|
* // returns Either.left(Duration.minutes(1))
|
|
1110
1153
|
* DateTime.distanceDurationEither(other, now)
|
|
1111
1154
|
* })
|
|
1155
|
+
* ```
|
|
1112
1156
|
*/
|
|
1113
1157
|
export const distanceDurationEither: {
|
|
1114
1158
|
/**
|
|
@@ -1123,6 +1167,7 @@ export const distanceDurationEither: {
|
|
|
1123
1167
|
* @since 3.6.0
|
|
1124
1168
|
* @category comparisons
|
|
1125
1169
|
* @example
|
|
1170
|
+
* ```ts
|
|
1126
1171
|
* import { DateTime, Effect } from "effect"
|
|
1127
1172
|
*
|
|
1128
1173
|
* Effect.gen(function* () {
|
|
@@ -1135,6 +1180,7 @@ export const distanceDurationEither: {
|
|
|
1135
1180
|
* // returns Either.left(Duration.minutes(1))
|
|
1136
1181
|
* DateTime.distanceDurationEither(other, now)
|
|
1137
1182
|
* })
|
|
1183
|
+
* ```
|
|
1138
1184
|
*/
|
|
1139
1185
|
(other: DateTime): (self: DateTime) => Either.Either<Duration.Duration, Duration.Duration>
|
|
1140
1186
|
/**
|
|
@@ -1149,6 +1195,7 @@ export const distanceDurationEither: {
|
|
|
1149
1195
|
* @since 3.6.0
|
|
1150
1196
|
* @category comparisons
|
|
1151
1197
|
* @example
|
|
1198
|
+
* ```ts
|
|
1152
1199
|
* import { DateTime, Effect } from "effect"
|
|
1153
1200
|
*
|
|
1154
1201
|
* Effect.gen(function* () {
|
|
@@ -1161,6 +1208,7 @@ export const distanceDurationEither: {
|
|
|
1161
1208
|
* // returns Either.left(Duration.minutes(1))
|
|
1162
1209
|
* DateTime.distanceDurationEither(other, now)
|
|
1163
1210
|
* })
|
|
1211
|
+
* ```
|
|
1164
1212
|
*/
|
|
1165
1213
|
(self: DateTime, other: DateTime): Either.Either<Duration.Duration, Duration.Duration>
|
|
1166
1214
|
} = dual(2, (self: DateTime, other: DateTime): Either.Either<Duration.Duration, Duration.Duration> => {
|
|
@@ -1176,6 +1224,7 @@ export const distanceDurationEither: {
|
|
|
1176
1224
|
* @since 3.6.0
|
|
1177
1225
|
* @category comparisons
|
|
1178
1226
|
* @example
|
|
1227
|
+
* ```ts
|
|
1179
1228
|
* import { DateTime, Effect } from "effect"
|
|
1180
1229
|
*
|
|
1181
1230
|
* Effect.gen(function* () {
|
|
@@ -1185,6 +1234,7 @@ export const distanceDurationEither: {
|
|
|
1185
1234
|
* // returns Duration.minutes(1)
|
|
1186
1235
|
* DateTime.distanceDuration(now, other)
|
|
1187
1236
|
* })
|
|
1237
|
+
* ```
|
|
1188
1238
|
*/
|
|
1189
1239
|
export const distanceDuration: {
|
|
1190
1240
|
/**
|
|
@@ -1193,6 +1243,7 @@ export const distanceDuration: {
|
|
|
1193
1243
|
* @since 3.6.0
|
|
1194
1244
|
* @category comparisons
|
|
1195
1245
|
* @example
|
|
1246
|
+
* ```ts
|
|
1196
1247
|
* import { DateTime, Effect } from "effect"
|
|
1197
1248
|
*
|
|
1198
1249
|
* Effect.gen(function* () {
|
|
@@ -1202,6 +1253,7 @@ export const distanceDuration: {
|
|
|
1202
1253
|
* // returns Duration.minutes(1)
|
|
1203
1254
|
* DateTime.distanceDuration(now, other)
|
|
1204
1255
|
* })
|
|
1256
|
+
* ```
|
|
1205
1257
|
*/
|
|
1206
1258
|
(other: DateTime): (self: DateTime) => Duration.Duration
|
|
1207
1259
|
/**
|
|
@@ -1210,6 +1262,7 @@ export const distanceDuration: {
|
|
|
1210
1262
|
* @since 3.6.0
|
|
1211
1263
|
* @category comparisons
|
|
1212
1264
|
* @example
|
|
1265
|
+
* ```ts
|
|
1213
1266
|
* import { DateTime, Effect } from "effect"
|
|
1214
1267
|
*
|
|
1215
1268
|
* Effect.gen(function* () {
|
|
@@ -1219,6 +1272,7 @@ export const distanceDuration: {
|
|
|
1219
1272
|
* // returns Duration.minutes(1)
|
|
1220
1273
|
* DateTime.distanceDuration(now, other)
|
|
1221
1274
|
* })
|
|
1275
|
+
* ```
|
|
1222
1276
|
*/
|
|
1223
1277
|
(self: DateTime, other: DateTime): Duration.Duration
|
|
1224
1278
|
} = dual(
|
|
@@ -1455,6 +1509,7 @@ export const toEpochMillis = (self: DateTime): number => self.epochMillis
|
|
|
1455
1509
|
* @since 3.6.0
|
|
1456
1510
|
* @category conversions
|
|
1457
1511
|
* @example
|
|
1512
|
+
* ```ts
|
|
1458
1513
|
* import { DateTime } from "effect"
|
|
1459
1514
|
*
|
|
1460
1515
|
* // returns "2024-01-01T00:00:00Z"
|
|
@@ -1465,6 +1520,7 @@ export const toEpochMillis = (self: DateTime): number => self.epochMillis
|
|
|
1465
1520
|
* DateTime.removeTime,
|
|
1466
1521
|
* DateTime.formatIso
|
|
1467
1522
|
* )
|
|
1523
|
+
* ```
|
|
1468
1524
|
*/
|
|
1469
1525
|
export const removeTime = (self: DateTime): Utc =>
|
|
1470
1526
|
withDate(self, (date) => {
|
|
@@ -1529,11 +1585,13 @@ export const toPartsUtc = (self: DateTime): DateTime.PartsWithWeekday => {
|
|
|
1529
1585
|
* @since 3.6.0
|
|
1530
1586
|
* @category parts
|
|
1531
1587
|
* @example
|
|
1588
|
+
* ```ts
|
|
1532
1589
|
* import { DateTime } from "effect"
|
|
1533
1590
|
*
|
|
1534
1591
|
* const now = DateTime.unsafeMake({ year: 2024 })
|
|
1535
1592
|
* const year = DateTime.getPartUtc(now, "year")
|
|
1536
1593
|
* assert.strictEqual(year, 2024)
|
|
1594
|
+
* ```
|
|
1537
1595
|
*/
|
|
1538
1596
|
export const getPartUtc: {
|
|
1539
1597
|
/**
|
|
@@ -1544,11 +1602,13 @@ export const getPartUtc: {
|
|
|
1544
1602
|
* @since 3.6.0
|
|
1545
1603
|
* @category parts
|
|
1546
1604
|
* @example
|
|
1605
|
+
* ```ts
|
|
1547
1606
|
* import { DateTime } from "effect"
|
|
1548
1607
|
*
|
|
1549
1608
|
* const now = DateTime.unsafeMake({ year: 2024 })
|
|
1550
1609
|
* const year = DateTime.getPartUtc(now, "year")
|
|
1551
1610
|
* assert.strictEqual(year, 2024)
|
|
1611
|
+
* ```
|
|
1552
1612
|
*/
|
|
1553
1613
|
(part: keyof DateTime.PartsWithWeekday): (self: DateTime) => number
|
|
1554
1614
|
/**
|
|
@@ -1559,11 +1619,13 @@ export const getPartUtc: {
|
|
|
1559
1619
|
* @since 3.6.0
|
|
1560
1620
|
* @category parts
|
|
1561
1621
|
* @example
|
|
1622
|
+
* ```ts
|
|
1562
1623
|
* import { DateTime } from "effect"
|
|
1563
1624
|
*
|
|
1564
1625
|
* const now = DateTime.unsafeMake({ year: 2024 })
|
|
1565
1626
|
* const year = DateTime.getPartUtc(now, "year")
|
|
1566
1627
|
* assert.strictEqual(year, 2024)
|
|
1628
|
+
* ```
|
|
1567
1629
|
*/
|
|
1568
1630
|
(self: DateTime, part: keyof DateTime.PartsWithWeekday): number
|
|
1569
1631
|
} = dual(2, (self: DateTime, part: keyof DateTime.PartsWithWeekday): number => toPartsUtc(self)[part])
|
|
@@ -1576,11 +1638,13 @@ export const getPartUtc: {
|
|
|
1576
1638
|
* @since 3.6.0
|
|
1577
1639
|
* @category parts
|
|
1578
1640
|
* @example
|
|
1641
|
+
* ```ts
|
|
1579
1642
|
* import { DateTime } from "effect"
|
|
1580
1643
|
*
|
|
1581
1644
|
* const now = DateTime.unsafeMakeZoned({ year: 2024 }, { timeZone: "Europe/London" })
|
|
1582
1645
|
* const year = DateTime.getPart(now, "year")
|
|
1583
1646
|
* assert.strictEqual(year, 2024)
|
|
1647
|
+
* ```
|
|
1584
1648
|
*/
|
|
1585
1649
|
export const getPart: {
|
|
1586
1650
|
/**
|
|
@@ -1591,11 +1655,13 @@ export const getPart: {
|
|
|
1591
1655
|
* @since 3.6.0
|
|
1592
1656
|
* @category parts
|
|
1593
1657
|
* @example
|
|
1658
|
+
* ```ts
|
|
1594
1659
|
* import { DateTime } from "effect"
|
|
1595
1660
|
*
|
|
1596
1661
|
* const now = DateTime.unsafeMakeZoned({ year: 2024 }, { timeZone: "Europe/London" })
|
|
1597
1662
|
* const year = DateTime.getPart(now, "year")
|
|
1598
1663
|
* assert.strictEqual(year, 2024)
|
|
1664
|
+
* ```
|
|
1599
1665
|
*/
|
|
1600
1666
|
(part: keyof DateTime.PartsWithWeekday): (self: DateTime) => number
|
|
1601
1667
|
/**
|
|
@@ -1606,11 +1672,13 @@ export const getPart: {
|
|
|
1606
1672
|
* @since 3.6.0
|
|
1607
1673
|
* @category parts
|
|
1608
1674
|
* @example
|
|
1675
|
+
* ```ts
|
|
1609
1676
|
* import { DateTime } from "effect"
|
|
1610
1677
|
*
|
|
1611
1678
|
* const now = DateTime.unsafeMakeZoned({ year: 2024 }, { timeZone: "Europe/London" })
|
|
1612
1679
|
* const year = DateTime.getPart(now, "year")
|
|
1613
1680
|
* assert.strictEqual(year, 2024)
|
|
1681
|
+
* ```
|
|
1614
1682
|
*/
|
|
1615
1683
|
(self: DateTime, part: keyof DateTime.PartsWithWeekday): number
|
|
1616
1684
|
} = dual(2, (self: DateTime, part: keyof DateTime.PartsWithWeekday): number => toParts(self)[part])
|
|
@@ -1723,6 +1791,7 @@ export class CurrentTimeZone extends Context.Tag("effect/DateTime/CurrentTimeZon
|
|
|
1723
1791
|
* @since 3.6.0
|
|
1724
1792
|
* @category current time zone
|
|
1725
1793
|
* @example
|
|
1794
|
+
* ```ts
|
|
1726
1795
|
* import { DateTime, Effect } from "effect"
|
|
1727
1796
|
*
|
|
1728
1797
|
* Effect.gen(function* () {
|
|
@@ -1731,6 +1800,7 @@ export class CurrentTimeZone extends Context.Tag("effect/DateTime/CurrentTimeZon
|
|
|
1731
1800
|
* // set the time zone to "Europe/London"
|
|
1732
1801
|
* const zoned = yield* DateTime.setZoneCurrent(now)
|
|
1733
1802
|
* }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
|
|
1803
|
+
* ```
|
|
1734
1804
|
*/
|
|
1735
1805
|
export const setZoneCurrent = (self: DateTime): Effect.Effect<Zoned, never, CurrentTimeZone> =>
|
|
1736
1806
|
Effect.map(CurrentTimeZone, (zone) => setZone(self, zone))
|
|
@@ -1741,6 +1811,7 @@ export const setZoneCurrent = (self: DateTime): Effect.Effect<Zoned, never, Curr
|
|
|
1741
1811
|
* @since 3.6.0
|
|
1742
1812
|
* @category current time zone
|
|
1743
1813
|
* @example
|
|
1814
|
+
* ```ts
|
|
1744
1815
|
* import { DateTime, Effect } from "effect"
|
|
1745
1816
|
*
|
|
1746
1817
|
* const zone = DateTime.zoneUnsafeMakeNamed("Europe/London")
|
|
@@ -1748,6 +1819,7 @@ export const setZoneCurrent = (self: DateTime): Effect.Effect<Zoned, never, Curr
|
|
|
1748
1819
|
* Effect.gen(function* () {
|
|
1749
1820
|
* const now = yield* DateTime.nowInCurrentZone
|
|
1750
1821
|
* }).pipe(DateTime.withCurrentZone(zone))
|
|
1822
|
+
* ```
|
|
1751
1823
|
*/
|
|
1752
1824
|
export const withCurrentZone: {
|
|
1753
1825
|
/**
|
|
@@ -1756,6 +1828,7 @@ export const withCurrentZone: {
|
|
|
1756
1828
|
* @since 3.6.0
|
|
1757
1829
|
* @category current time zone
|
|
1758
1830
|
* @example
|
|
1831
|
+
* ```ts
|
|
1759
1832
|
* import { DateTime, Effect } from "effect"
|
|
1760
1833
|
*
|
|
1761
1834
|
* const zone = DateTime.zoneUnsafeMakeNamed("Europe/London")
|
|
@@ -1763,6 +1836,7 @@ export const withCurrentZone: {
|
|
|
1763
1836
|
* Effect.gen(function* () {
|
|
1764
1837
|
* const now = yield* DateTime.nowInCurrentZone
|
|
1765
1838
|
* }).pipe(DateTime.withCurrentZone(zone))
|
|
1839
|
+
* ```
|
|
1766
1840
|
*/
|
|
1767
1841
|
(zone: TimeZone): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
|
|
1768
1842
|
/**
|
|
@@ -1771,6 +1845,7 @@ export const withCurrentZone: {
|
|
|
1771
1845
|
* @since 3.6.0
|
|
1772
1846
|
* @category current time zone
|
|
1773
1847
|
* @example
|
|
1848
|
+
* ```ts
|
|
1774
1849
|
* import { DateTime, Effect } from "effect"
|
|
1775
1850
|
*
|
|
1776
1851
|
* const zone = DateTime.zoneUnsafeMakeNamed("Europe/London")
|
|
@@ -1778,6 +1853,7 @@ export const withCurrentZone: {
|
|
|
1778
1853
|
* Effect.gen(function* () {
|
|
1779
1854
|
* const now = yield* DateTime.nowInCurrentZone
|
|
1780
1855
|
* }).pipe(DateTime.withCurrentZone(zone))
|
|
1856
|
+
* ```
|
|
1781
1857
|
*/
|
|
1782
1858
|
<A, E, R>(effect: Effect.Effect<A, E, R>, zone: TimeZone): Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
|
|
1783
1859
|
} = dual(
|
|
@@ -1793,12 +1869,14 @@ export const withCurrentZone: {
|
|
|
1793
1869
|
* @since 3.6.0
|
|
1794
1870
|
* @category current time zone
|
|
1795
1871
|
* @example
|
|
1872
|
+
* ```ts
|
|
1796
1873
|
* import { DateTime, Effect } from "effect"
|
|
1797
1874
|
*
|
|
1798
1875
|
* Effect.gen(function* () {
|
|
1799
1876
|
* // will use the system's local time zone
|
|
1800
1877
|
* const now = yield* DateTime.nowInCurrentZone
|
|
1801
1878
|
* }).pipe(DateTime.withCurrentZoneLocal)
|
|
1879
|
+
* ```
|
|
1802
1880
|
*/
|
|
1803
1881
|
export const withCurrentZoneLocal = <A, E, R>(
|
|
1804
1882
|
effect: Effect.Effect<A, E, R>
|
|
@@ -1811,12 +1889,14 @@ export const withCurrentZoneLocal = <A, E, R>(
|
|
|
1811
1889
|
* @since 3.6.0
|
|
1812
1890
|
* @category current time zone
|
|
1813
1891
|
* @example
|
|
1892
|
+
* ```ts
|
|
1814
1893
|
* import { DateTime, Effect } from "effect"
|
|
1815
1894
|
*
|
|
1816
1895
|
* Effect.gen(function* () {
|
|
1817
1896
|
* // will use the system's local time zone
|
|
1818
1897
|
* const now = yield* DateTime.nowInCurrentZone
|
|
1819
1898
|
* }).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
|
|
1899
|
+
* ```
|
|
1820
1900
|
*/
|
|
1821
1901
|
export const withCurrentZoneOffset: {
|
|
1822
1902
|
/**
|
|
@@ -1825,12 +1905,14 @@ export const withCurrentZoneOffset: {
|
|
|
1825
1905
|
* @since 3.6.0
|
|
1826
1906
|
* @category current time zone
|
|
1827
1907
|
* @example
|
|
1908
|
+
* ```ts
|
|
1828
1909
|
* import { DateTime, Effect } from "effect"
|
|
1829
1910
|
*
|
|
1830
1911
|
* Effect.gen(function* () {
|
|
1831
1912
|
* // will use the system's local time zone
|
|
1832
1913
|
* const now = yield* DateTime.nowInCurrentZone
|
|
1833
1914
|
* }).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
|
|
1915
|
+
* ```
|
|
1834
1916
|
*/
|
|
1835
1917
|
(offset: number): <A, E, R>(
|
|
1836
1918
|
effect: Effect.Effect<A, E, R>
|
|
@@ -1841,12 +1923,14 @@ export const withCurrentZoneOffset: {
|
|
|
1841
1923
|
* @since 3.6.0
|
|
1842
1924
|
* @category current time zone
|
|
1843
1925
|
* @example
|
|
1926
|
+
* ```ts
|
|
1844
1927
|
* import { DateTime, Effect } from "effect"
|
|
1845
1928
|
*
|
|
1846
1929
|
* Effect.gen(function* () {
|
|
1847
1930
|
* // will use the system's local time zone
|
|
1848
1931
|
* const now = yield* DateTime.nowInCurrentZone
|
|
1849
1932
|
* }).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
|
|
1933
|
+
* ```
|
|
1850
1934
|
*/
|
|
1851
1935
|
<A, E, R>(effect: Effect.Effect<A, E, R>, offset: number): Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
|
|
1852
1936
|
} = dual(
|
|
@@ -1864,12 +1948,14 @@ export const withCurrentZoneOffset: {
|
|
|
1864
1948
|
* @since 3.6.0
|
|
1865
1949
|
* @category current time zone
|
|
1866
1950
|
* @example
|
|
1951
|
+
* ```ts
|
|
1867
1952
|
* import { DateTime, Effect } from "effect"
|
|
1868
1953
|
*
|
|
1869
1954
|
* Effect.gen(function* () {
|
|
1870
1955
|
* // will use the "Europe/London" time zone
|
|
1871
1956
|
* const now = yield* DateTime.nowInCurrentZone
|
|
1872
1957
|
* }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
|
|
1958
|
+
* ```
|
|
1873
1959
|
*/
|
|
1874
1960
|
export const withCurrentZoneNamed: {
|
|
1875
1961
|
/**
|
|
@@ -1881,12 +1967,14 @@ export const withCurrentZoneNamed: {
|
|
|
1881
1967
|
* @since 3.6.0
|
|
1882
1968
|
* @category current time zone
|
|
1883
1969
|
* @example
|
|
1970
|
+
* ```ts
|
|
1884
1971
|
* import { DateTime, Effect } from "effect"
|
|
1885
1972
|
*
|
|
1886
1973
|
* Effect.gen(function* () {
|
|
1887
1974
|
* // will use the "Europe/London" time zone
|
|
1888
1975
|
* const now = yield* DateTime.nowInCurrentZone
|
|
1889
1976
|
* }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
|
|
1977
|
+
* ```
|
|
1890
1978
|
*/
|
|
1891
1979
|
(zone: string): <A, E, R>(
|
|
1892
1980
|
effect: Effect.Effect<A, E, R>
|
|
@@ -1900,12 +1988,14 @@ export const withCurrentZoneNamed: {
|
|
|
1900
1988
|
* @since 3.6.0
|
|
1901
1989
|
* @category current time zone
|
|
1902
1990
|
* @example
|
|
1991
|
+
* ```ts
|
|
1903
1992
|
* import { DateTime, Effect } from "effect"
|
|
1904
1993
|
*
|
|
1905
1994
|
* Effect.gen(function* () {
|
|
1906
1995
|
* // will use the "Europe/London" time zone
|
|
1907
1996
|
* const now = yield* DateTime.nowInCurrentZone
|
|
1908
1997
|
* }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
|
|
1998
|
+
* ```
|
|
1909
1999
|
*/
|
|
1910
2000
|
<A, E, R>(
|
|
1911
2001
|
effect: Effect.Effect<A, E, R>,
|
|
@@ -1926,12 +2016,14 @@ export const withCurrentZoneNamed: {
|
|
|
1926
2016
|
* @since 3.6.0
|
|
1927
2017
|
* @category current time zone
|
|
1928
2018
|
* @example
|
|
2019
|
+
* ```ts
|
|
1929
2020
|
* import { DateTime, Effect } from "effect"
|
|
1930
2021
|
*
|
|
1931
2022
|
* Effect.gen(function* () {
|
|
1932
2023
|
* // will use the "Europe/London" time zone
|
|
1933
2024
|
* const now = yield* DateTime.nowInCurrentZone
|
|
1934
2025
|
* }).pipe(DateTime.withCurrentZoneNamed("Europe/London"))
|
|
2026
|
+
* ```
|
|
1935
2027
|
*/
|
|
1936
2028
|
export const nowInCurrentZone: Effect.Effect<Zoned, never, CurrentTimeZone> = Effect.flatMap(
|
|
1937
2029
|
now,
|
|
@@ -2084,12 +2176,14 @@ export const mutateUtc: {
|
|
|
2084
2176
|
* @since 3.6.0
|
|
2085
2177
|
* @category mapping
|
|
2086
2178
|
* @example
|
|
2179
|
+
* ```ts
|
|
2087
2180
|
* import { DateTime } from "effect"
|
|
2088
2181
|
*
|
|
2089
2182
|
* // add 10 milliseconds
|
|
2090
2183
|
* DateTime.unsafeMake(0).pipe(
|
|
2091
2184
|
* DateTime.mapEpochMillis((millis) => millis + 10)
|
|
2092
2185
|
* )
|
|
2186
|
+
* ```
|
|
2093
2187
|
*/
|
|
2094
2188
|
export const mapEpochMillis: {
|
|
2095
2189
|
/**
|
|
@@ -2099,12 +2193,14 @@ export const mapEpochMillis: {
|
|
|
2099
2193
|
* @since 3.6.0
|
|
2100
2194
|
* @category mapping
|
|
2101
2195
|
* @example
|
|
2196
|
+
* ```ts
|
|
2102
2197
|
* import { DateTime } from "effect"
|
|
2103
2198
|
*
|
|
2104
2199
|
* // add 10 milliseconds
|
|
2105
2200
|
* DateTime.unsafeMake(0).pipe(
|
|
2106
2201
|
* DateTime.mapEpochMillis((millis) => millis + 10)
|
|
2107
2202
|
* )
|
|
2203
|
+
* ```
|
|
2108
2204
|
*/
|
|
2109
2205
|
(f: (millis: number) => number): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
2110
2206
|
/**
|
|
@@ -2114,12 +2210,14 @@ export const mapEpochMillis: {
|
|
|
2114
2210
|
* @since 3.6.0
|
|
2115
2211
|
* @category mapping
|
|
2116
2212
|
* @example
|
|
2213
|
+
* ```ts
|
|
2117
2214
|
* import { DateTime } from "effect"
|
|
2118
2215
|
*
|
|
2119
2216
|
* // add 10 milliseconds
|
|
2120
2217
|
* DateTime.unsafeMake(0).pipe(
|
|
2121
2218
|
* DateTime.mapEpochMillis((millis) => millis + 10)
|
|
2122
2219
|
* )
|
|
2220
|
+
* ```
|
|
2123
2221
|
*/
|
|
2124
2222
|
<A extends DateTime>(self: A, f: (millis: number) => number): DateTime.PreserveZone<A>
|
|
2125
2223
|
} = dual(2, (self: DateTime, f: (millis: number) => number): DateTime => {
|
|
@@ -2134,12 +2232,14 @@ export const mapEpochMillis: {
|
|
|
2134
2232
|
* @since 3.6.0
|
|
2135
2233
|
* @category mapping
|
|
2136
2234
|
* @example
|
|
2235
|
+
* ```ts
|
|
2137
2236
|
* import { DateTime } from "effect"
|
|
2138
2237
|
*
|
|
2139
2238
|
* // get the time zone adjusted date in milliseconds
|
|
2140
2239
|
* DateTime.unsafeMakeZoned(0, { timeZone: "Europe/London" }).pipe(
|
|
2141
2240
|
* DateTime.withDate((date) => date.getTime())
|
|
2142
2241
|
* )
|
|
2242
|
+
* ```
|
|
2143
2243
|
*/
|
|
2144
2244
|
export const withDate: {
|
|
2145
2245
|
/**
|
|
@@ -2149,12 +2249,14 @@ export const withDate: {
|
|
|
2149
2249
|
* @since 3.6.0
|
|
2150
2250
|
* @category mapping
|
|
2151
2251
|
* @example
|
|
2252
|
+
* ```ts
|
|
2152
2253
|
* import { DateTime } from "effect"
|
|
2153
2254
|
*
|
|
2154
2255
|
* // get the time zone adjusted date in milliseconds
|
|
2155
2256
|
* DateTime.unsafeMakeZoned(0, { timeZone: "Europe/London" }).pipe(
|
|
2156
2257
|
* DateTime.withDate((date) => date.getTime())
|
|
2157
2258
|
* )
|
|
2259
|
+
* ```
|
|
2158
2260
|
*/
|
|
2159
2261
|
<A>(f: (date: Date) => A): (self: DateTime) => A
|
|
2160
2262
|
/**
|
|
@@ -2164,12 +2266,14 @@ export const withDate: {
|
|
|
2164
2266
|
* @since 3.6.0
|
|
2165
2267
|
* @category mapping
|
|
2166
2268
|
* @example
|
|
2269
|
+
* ```ts
|
|
2167
2270
|
* import { DateTime } from "effect"
|
|
2168
2271
|
*
|
|
2169
2272
|
* // get the time zone adjusted date in milliseconds
|
|
2170
2273
|
* DateTime.unsafeMakeZoned(0, { timeZone: "Europe/London" }).pipe(
|
|
2171
2274
|
* DateTime.withDate((date) => date.getTime())
|
|
2172
2275
|
* )
|
|
2276
|
+
* ```
|
|
2173
2277
|
*/
|
|
2174
2278
|
<A>(self: DateTime, f: (date: Date) => A): A
|
|
2175
2279
|
} = dual(2, <A>(self: DateTime, f: (date: Date) => A): A => f(toDate(self)))
|
|
@@ -2181,12 +2285,14 @@ export const withDate: {
|
|
|
2181
2285
|
* @since 3.6.0
|
|
2182
2286
|
* @category mapping
|
|
2183
2287
|
* @example
|
|
2288
|
+
* ```ts
|
|
2184
2289
|
* import { DateTime } from "effect"
|
|
2185
2290
|
*
|
|
2186
2291
|
* // get the date in milliseconds
|
|
2187
2292
|
* DateTime.unsafeMake(0).pipe(
|
|
2188
2293
|
* DateTime.withDateUtc((date) => date.getTime())
|
|
2189
2294
|
* )
|
|
2295
|
+
* ```
|
|
2190
2296
|
*/
|
|
2191
2297
|
export const withDateUtc: {
|
|
2192
2298
|
/**
|
|
@@ -2196,12 +2302,14 @@ export const withDateUtc: {
|
|
|
2196
2302
|
* @since 3.6.0
|
|
2197
2303
|
* @category mapping
|
|
2198
2304
|
* @example
|
|
2305
|
+
* ```ts
|
|
2199
2306
|
* import { DateTime } from "effect"
|
|
2200
2307
|
*
|
|
2201
2308
|
* // get the date in milliseconds
|
|
2202
2309
|
* DateTime.unsafeMake(0).pipe(
|
|
2203
2310
|
* DateTime.withDateUtc((date) => date.getTime())
|
|
2204
2311
|
* )
|
|
2312
|
+
* ```
|
|
2205
2313
|
*/
|
|
2206
2314
|
<A>(f: (date: Date) => A): (self: DateTime) => A
|
|
2207
2315
|
/**
|
|
@@ -2211,12 +2319,14 @@ export const withDateUtc: {
|
|
|
2211
2319
|
* @since 3.6.0
|
|
2212
2320
|
* @category mapping
|
|
2213
2321
|
* @example
|
|
2322
|
+
* ```ts
|
|
2214
2323
|
* import { DateTime } from "effect"
|
|
2215
2324
|
*
|
|
2216
2325
|
* // get the date in milliseconds
|
|
2217
2326
|
* DateTime.unsafeMake(0).pipe(
|
|
2218
2327
|
* DateTime.withDateUtc((date) => date.getTime())
|
|
2219
2328
|
* )
|
|
2329
|
+
* ```
|
|
2220
2330
|
*/
|
|
2221
2331
|
<A>(self: DateTime, f: (date: Date) => A): A
|
|
2222
2332
|
} = dual(2, <A>(self: DateTime, f: (date: Date) => A): A => f(toDateUtc(self)))
|
|
@@ -2262,12 +2372,14 @@ export const match: {
|
|
|
2262
2372
|
* @since 3.6.0
|
|
2263
2373
|
* @category math
|
|
2264
2374
|
* @example
|
|
2375
|
+
* ```ts
|
|
2265
2376
|
* import { DateTime } from "effect"
|
|
2266
2377
|
*
|
|
2267
2378
|
* // add 5 minutes
|
|
2268
2379
|
* DateTime.unsafeMake(0).pipe(
|
|
2269
2380
|
* DateTime.addDuration("5 minutes")
|
|
2270
2381
|
* )
|
|
2382
|
+
* ```
|
|
2271
2383
|
*/
|
|
2272
2384
|
export const addDuration: {
|
|
2273
2385
|
// =============================================================================
|
|
@@ -2280,12 +2392,14 @@ export const addDuration: {
|
|
|
2280
2392
|
* @since 3.6.0
|
|
2281
2393
|
* @category math
|
|
2282
2394
|
* @example
|
|
2395
|
+
* ```ts
|
|
2283
2396
|
* import { DateTime } from "effect"
|
|
2284
2397
|
*
|
|
2285
2398
|
* // add 5 minutes
|
|
2286
2399
|
* DateTime.unsafeMake(0).pipe(
|
|
2287
2400
|
* DateTime.addDuration("5 minutes")
|
|
2288
2401
|
* )
|
|
2402
|
+
* ```
|
|
2289
2403
|
*/
|
|
2290
2404
|
(duration: Duration.DurationInput): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
2291
2405
|
// =============================================================================
|
|
@@ -2298,12 +2412,14 @@ export const addDuration: {
|
|
|
2298
2412
|
* @since 3.6.0
|
|
2299
2413
|
* @category math
|
|
2300
2414
|
* @example
|
|
2415
|
+
* ```ts
|
|
2301
2416
|
* import { DateTime } from "effect"
|
|
2302
2417
|
*
|
|
2303
2418
|
* // add 5 minutes
|
|
2304
2419
|
* DateTime.unsafeMake(0).pipe(
|
|
2305
2420
|
* DateTime.addDuration("5 minutes")
|
|
2306
2421
|
* )
|
|
2422
|
+
* ```
|
|
2307
2423
|
*/
|
|
2308
2424
|
<A extends DateTime>(self: A, duration: Duration.DurationInput): DateTime.PreserveZone<A>
|
|
2309
2425
|
} = dual(
|
|
@@ -2318,12 +2434,14 @@ export const addDuration: {
|
|
|
2318
2434
|
* @since 3.6.0
|
|
2319
2435
|
* @category math
|
|
2320
2436
|
* @example
|
|
2437
|
+
* ```ts
|
|
2321
2438
|
* import { DateTime } from "effect"
|
|
2322
2439
|
*
|
|
2323
2440
|
* // subtract 5 minutes
|
|
2324
2441
|
* DateTime.unsafeMake(0).pipe(
|
|
2325
2442
|
* DateTime.subtractDuration("5 minutes")
|
|
2326
2443
|
* )
|
|
2444
|
+
* ```
|
|
2327
2445
|
*/
|
|
2328
2446
|
export const subtractDuration: {
|
|
2329
2447
|
/**
|
|
@@ -2332,12 +2450,14 @@ export const subtractDuration: {
|
|
|
2332
2450
|
* @since 3.6.0
|
|
2333
2451
|
* @category math
|
|
2334
2452
|
* @example
|
|
2453
|
+
* ```ts
|
|
2335
2454
|
* import { DateTime } from "effect"
|
|
2336
2455
|
*
|
|
2337
2456
|
* // subtract 5 minutes
|
|
2338
2457
|
* DateTime.unsafeMake(0).pipe(
|
|
2339
2458
|
* DateTime.subtractDuration("5 minutes")
|
|
2340
2459
|
* )
|
|
2460
|
+
* ```
|
|
2341
2461
|
*/
|
|
2342
2462
|
(duration: Duration.DurationInput): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
2343
2463
|
/**
|
|
@@ -2346,12 +2466,14 @@ export const subtractDuration: {
|
|
|
2346
2466
|
* @since 3.6.0
|
|
2347
2467
|
* @category math
|
|
2348
2468
|
* @example
|
|
2469
|
+
* ```ts
|
|
2349
2470
|
* import { DateTime } from "effect"
|
|
2350
2471
|
*
|
|
2351
2472
|
* // subtract 5 minutes
|
|
2352
2473
|
* DateTime.unsafeMake(0).pipe(
|
|
2353
2474
|
* DateTime.subtractDuration("5 minutes")
|
|
2354
2475
|
* )
|
|
2476
|
+
* ```
|
|
2355
2477
|
*/
|
|
2356
2478
|
<A extends DateTime>(self: A, duration: Duration.DurationInput): DateTime.PreserveZone<A>
|
|
2357
2479
|
} = dual(
|
|
@@ -2373,12 +2495,14 @@ const addMillis = (date: Date, amount: number): void => {
|
|
|
2373
2495
|
* @since 3.6.0
|
|
2374
2496
|
* @category math
|
|
2375
2497
|
* @example
|
|
2498
|
+
* ```ts
|
|
2376
2499
|
* import { DateTime } from "effect"
|
|
2377
2500
|
*
|
|
2378
2501
|
* // add 5 minutes
|
|
2379
2502
|
* DateTime.unsafeMake(0).pipe(
|
|
2380
2503
|
* DateTime.add({ minutes: 5 })
|
|
2381
2504
|
* )
|
|
2505
|
+
* ```
|
|
2382
2506
|
*/
|
|
2383
2507
|
export const add: {
|
|
2384
2508
|
/**
|
|
@@ -2390,12 +2514,14 @@ export const add: {
|
|
|
2390
2514
|
* @since 3.6.0
|
|
2391
2515
|
* @category math
|
|
2392
2516
|
* @example
|
|
2517
|
+
* ```ts
|
|
2393
2518
|
* import { DateTime } from "effect"
|
|
2394
2519
|
*
|
|
2395
2520
|
* // add 5 minutes
|
|
2396
2521
|
* DateTime.unsafeMake(0).pipe(
|
|
2397
2522
|
* DateTime.add({ minutes: 5 })
|
|
2398
2523
|
* )
|
|
2524
|
+
* ```
|
|
2399
2525
|
*/
|
|
2400
2526
|
(parts: Partial<DateTime.PartsForMath>): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
2401
2527
|
/**
|
|
@@ -2407,12 +2533,14 @@ export const add: {
|
|
|
2407
2533
|
* @since 3.6.0
|
|
2408
2534
|
* @category math
|
|
2409
2535
|
* @example
|
|
2536
|
+
* ```ts
|
|
2410
2537
|
* import { DateTime } from "effect"
|
|
2411
2538
|
*
|
|
2412
2539
|
* // add 5 minutes
|
|
2413
2540
|
* DateTime.unsafeMake(0).pipe(
|
|
2414
2541
|
* DateTime.add({ minutes: 5 })
|
|
2415
2542
|
* )
|
|
2543
|
+
* ```
|
|
2416
2544
|
*/
|
|
2417
2545
|
<A extends DateTime>(self: A, parts: Partial<DateTime.PartsForMath>): DateTime.PreserveZone<A>
|
|
2418
2546
|
} = dual(2, (self: DateTime, parts: Partial<DateTime.PartsForMath>): DateTime =>
|
|
@@ -2462,12 +2590,14 @@ export const add: {
|
|
|
2462
2590
|
* @since 3.6.0
|
|
2463
2591
|
* @category math
|
|
2464
2592
|
* @example
|
|
2593
|
+
* ```ts
|
|
2465
2594
|
* import { DateTime } from "effect"
|
|
2466
2595
|
*
|
|
2467
2596
|
* // subtract 5 minutes
|
|
2468
2597
|
* DateTime.unsafeMake(0).pipe(
|
|
2469
2598
|
* DateTime.subtract({ minutes: 5 })
|
|
2470
2599
|
* )
|
|
2600
|
+
* ```
|
|
2471
2601
|
*/
|
|
2472
2602
|
export const subtract: {
|
|
2473
2603
|
/**
|
|
@@ -2476,12 +2606,14 @@ export const subtract: {
|
|
|
2476
2606
|
* @since 3.6.0
|
|
2477
2607
|
* @category math
|
|
2478
2608
|
* @example
|
|
2609
|
+
* ```ts
|
|
2479
2610
|
* import { DateTime } from "effect"
|
|
2480
2611
|
*
|
|
2481
2612
|
* // subtract 5 minutes
|
|
2482
2613
|
* DateTime.unsafeMake(0).pipe(
|
|
2483
2614
|
* DateTime.subtract({ minutes: 5 })
|
|
2484
2615
|
* )
|
|
2616
|
+
* ```
|
|
2485
2617
|
*/
|
|
2486
2618
|
(parts: Partial<DateTime.PartsForMath>): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
|
|
2487
2619
|
/**
|
|
@@ -2490,12 +2622,14 @@ export const subtract: {
|
|
|
2490
2622
|
* @since 3.6.0
|
|
2491
2623
|
* @category math
|
|
2492
2624
|
* @example
|
|
2625
|
+
* ```ts
|
|
2493
2626
|
* import { DateTime } from "effect"
|
|
2494
2627
|
*
|
|
2495
2628
|
* // subtract 5 minutes
|
|
2496
2629
|
* DateTime.unsafeMake(0).pipe(
|
|
2497
2630
|
* DateTime.subtract({ minutes: 5 })
|
|
2498
2631
|
* )
|
|
2632
|
+
* ```
|
|
2499
2633
|
*/
|
|
2500
2634
|
<A extends DateTime>(self: A, parts: Partial<DateTime.PartsForMath>): DateTime.PreserveZone<A>
|
|
2501
2635
|
} = dual(2, (self: DateTime, parts: Partial<DateTime.PartsForMath>): DateTime => {
|
|
@@ -2556,6 +2690,7 @@ function startOfDate(date: Date, part: DateTime.UnitSingular, options?: {
|
|
|
2556
2690
|
* @since 3.6.0
|
|
2557
2691
|
* @category math
|
|
2558
2692
|
* @example
|
|
2693
|
+
* ```ts
|
|
2559
2694
|
* import { DateTime } from "effect"
|
|
2560
2695
|
*
|
|
2561
2696
|
* // returns "2024-01-01T00:00:00Z"
|
|
@@ -2563,6 +2698,7 @@ function startOfDate(date: Date, part: DateTime.UnitSingular, options?: {
|
|
|
2563
2698
|
* DateTime.startOf("day"),
|
|
2564
2699
|
* DateTime.formatIso
|
|
2565
2700
|
* )
|
|
2701
|
+
* ```
|
|
2566
2702
|
*/
|
|
2567
2703
|
export const startOf: {
|
|
2568
2704
|
/**
|
|
@@ -2574,6 +2710,7 @@ export const startOf: {
|
|
|
2574
2710
|
* @since 3.6.0
|
|
2575
2711
|
* @category math
|
|
2576
2712
|
* @example
|
|
2713
|
+
* ```ts
|
|
2577
2714
|
* import { DateTime } from "effect"
|
|
2578
2715
|
*
|
|
2579
2716
|
* // returns "2024-01-01T00:00:00Z"
|
|
@@ -2581,6 +2718,7 @@ export const startOf: {
|
|
|
2581
2718
|
* DateTime.startOf("day"),
|
|
2582
2719
|
* DateTime.formatIso
|
|
2583
2720
|
* )
|
|
2721
|
+
* ```
|
|
2584
2722
|
*/
|
|
2585
2723
|
(
|
|
2586
2724
|
part: DateTime.UnitSingular,
|
|
@@ -2597,6 +2735,7 @@ export const startOf: {
|
|
|
2597
2735
|
* @since 3.6.0
|
|
2598
2736
|
* @category math
|
|
2599
2737
|
* @example
|
|
2738
|
+
* ```ts
|
|
2600
2739
|
* import { DateTime } from "effect"
|
|
2601
2740
|
*
|
|
2602
2741
|
* // returns "2024-01-01T00:00:00Z"
|
|
@@ -2604,6 +2743,7 @@ export const startOf: {
|
|
|
2604
2743
|
* DateTime.startOf("day"),
|
|
2605
2744
|
* DateTime.formatIso
|
|
2606
2745
|
* )
|
|
2746
|
+
* ```
|
|
2607
2747
|
*/
|
|
2608
2748
|
<A extends DateTime>(
|
|
2609
2749
|
self: A,
|
|
@@ -2666,6 +2806,7 @@ function endOfDate(date: Date, part: DateTime.UnitSingular, options?: {
|
|
|
2666
2806
|
* @since 3.6.0
|
|
2667
2807
|
* @category math
|
|
2668
2808
|
* @example
|
|
2809
|
+
* ```ts
|
|
2669
2810
|
* import { DateTime } from "effect"
|
|
2670
2811
|
*
|
|
2671
2812
|
* // returns "2024-01-01T23:59:59.999Z"
|
|
@@ -2673,6 +2814,7 @@ function endOfDate(date: Date, part: DateTime.UnitSingular, options?: {
|
|
|
2673
2814
|
* DateTime.endOf("day"),
|
|
2674
2815
|
* DateTime.formatIso
|
|
2675
2816
|
* )
|
|
2817
|
+
* ```
|
|
2676
2818
|
*/
|
|
2677
2819
|
export const endOf: {
|
|
2678
2820
|
/**
|
|
@@ -2684,6 +2826,7 @@ export const endOf: {
|
|
|
2684
2826
|
* @since 3.6.0
|
|
2685
2827
|
* @category math
|
|
2686
2828
|
* @example
|
|
2829
|
+
* ```ts
|
|
2687
2830
|
* import { DateTime } from "effect"
|
|
2688
2831
|
*
|
|
2689
2832
|
* // returns "2024-01-01T23:59:59.999Z"
|
|
@@ -2691,6 +2834,7 @@ export const endOf: {
|
|
|
2691
2834
|
* DateTime.endOf("day"),
|
|
2692
2835
|
* DateTime.formatIso
|
|
2693
2836
|
* )
|
|
2837
|
+
* ```
|
|
2694
2838
|
*/
|
|
2695
2839
|
(
|
|
2696
2840
|
part: DateTime.UnitSingular,
|
|
@@ -2707,6 +2851,7 @@ export const endOf: {
|
|
|
2707
2851
|
* @since 3.6.0
|
|
2708
2852
|
* @category math
|
|
2709
2853
|
* @example
|
|
2854
|
+
* ```ts
|
|
2710
2855
|
* import { DateTime } from "effect"
|
|
2711
2856
|
*
|
|
2712
2857
|
* // returns "2024-01-01T23:59:59.999Z"
|
|
@@ -2714,6 +2859,7 @@ export const endOf: {
|
|
|
2714
2859
|
* DateTime.endOf("day"),
|
|
2715
2860
|
* DateTime.formatIso
|
|
2716
2861
|
* )
|
|
2862
|
+
* ```
|
|
2717
2863
|
*/
|
|
2718
2864
|
<A extends DateTime>(
|
|
2719
2865
|
self: A,
|
|
@@ -2735,6 +2881,7 @@ export const endOf: {
|
|
|
2735
2881
|
* @since 3.6.0
|
|
2736
2882
|
* @category math
|
|
2737
2883
|
* @example
|
|
2884
|
+
* ```ts
|
|
2738
2885
|
* import { DateTime } from "effect"
|
|
2739
2886
|
*
|
|
2740
2887
|
* // returns "2024-01-02T00:00:00Z"
|
|
@@ -2742,6 +2889,7 @@ export const endOf: {
|
|
|
2742
2889
|
* DateTime.nearest("day"),
|
|
2743
2890
|
* DateTime.formatIso
|
|
2744
2891
|
* )
|
|
2892
|
+
* ```
|
|
2745
2893
|
*/
|
|
2746
2894
|
export const nearest: {
|
|
2747
2895
|
/**
|
|
@@ -2753,6 +2901,7 @@ export const nearest: {
|
|
|
2753
2901
|
* @since 3.6.0
|
|
2754
2902
|
* @category math
|
|
2755
2903
|
* @example
|
|
2904
|
+
* ```ts
|
|
2756
2905
|
* import { DateTime } from "effect"
|
|
2757
2906
|
*
|
|
2758
2907
|
* // returns "2024-01-02T00:00:00Z"
|
|
@@ -2760,6 +2909,7 @@ export const nearest: {
|
|
|
2760
2909
|
* DateTime.nearest("day"),
|
|
2761
2910
|
* DateTime.formatIso
|
|
2762
2911
|
* )
|
|
2912
|
+
* ```
|
|
2763
2913
|
*/
|
|
2764
2914
|
(
|
|
2765
2915
|
part: DateTime.UnitSingular,
|
|
@@ -2776,6 +2926,7 @@ export const nearest: {
|
|
|
2776
2926
|
* @since 3.6.0
|
|
2777
2927
|
* @category math
|
|
2778
2928
|
* @example
|
|
2929
|
+
* ```ts
|
|
2779
2930
|
* import { DateTime } from "effect"
|
|
2780
2931
|
*
|
|
2781
2932
|
* // returns "2024-01-02T00:00:00Z"
|
|
@@ -2783,6 +2934,7 @@ export const nearest: {
|
|
|
2783
2934
|
* DateTime.nearest("day"),
|
|
2784
2935
|
* DateTime.formatIso
|
|
2785
2936
|
* )
|
|
2937
|
+
* ```
|
|
2786
2938
|
*/
|
|
2787
2939
|
<A extends DateTime>(
|
|
2788
2940
|
self: A,
|