effect 3.12.3 → 3.12.4

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/src/DateTime.ts CHANGED
@@ -43,8 +43,7 @@ export type DateTime = Utc | Zoned
43
43
  export interface Utc extends DateTime.Proto {
44
44
  readonly _tag: "Utc"
45
45
  readonly epochMillis: number
46
- /** @internal */
47
- partsUtc: DateTime.PartsWithWeekday
46
+ partsUtc: DateTime.PartsWithWeekday | undefined
48
47
  }
49
48
 
50
49
  /**
@@ -55,12 +54,9 @@ export interface Zoned extends DateTime.Proto {
55
54
  readonly _tag: "Zoned"
56
55
  readonly epochMillis: number
57
56
  readonly zone: TimeZone
58
- /** @internal */
59
- adjustedEpochMillis?: number
60
- /** @internal */
61
- partsAdjusted?: DateTime.PartsWithWeekday
62
- /** @internal */
63
- partsUtc?: DateTime.PartsWithWeekday
57
+ adjustedEpochMillis: number | undefined
58
+ partsAdjusted: DateTime.PartsWithWeekday | undefined
59
+ partsUtc: DateTime.PartsWithWeekday | undefined
64
60
  }
65
61
 
66
62
  /**
@@ -282,11 +278,16 @@ export const clamp: {
282
278
  /**
283
279
  * @since 3.6.0
284
280
  */
285
- (options: { minimum: DateTime; maximum: DateTime }): (self: DateTime) => DateTime
281
+ <Min extends DateTime, Max extends DateTime>(
282
+ options: { readonly minimum: Min; readonly maximum: Max }
283
+ ): <A extends DateTime>(self: A) => A | Min | Max
286
284
  /**
287
285
  * @since 3.6.0
288
286
  */
289
- (self: DateTime, options: { minimum: DateTime; maximum: DateTime }): DateTime
287
+ <A extends DateTime, Min extends DateTime, Max extends DateTime>(
288
+ self: A,
289
+ options: { readonly minimum: Min; readonly maximum: Max }
290
+ ): A | Min | Max
290
291
  } = Internal.clamp
291
292
 
292
293
  // =============================================================================
@@ -1032,12 +1033,12 @@ export const min: {
1032
1033
  * @since 3.6.0
1033
1034
  * @category comparisons
1034
1035
  */
1035
- (that: DateTime): (self: DateTime) => DateTime
1036
+ <That extends DateTime>(that: That): <Self extends DateTime>(self: Self) => Self | That
1036
1037
  /**
1037
1038
  * @since 3.6.0
1038
1039
  * @category comparisons
1039
1040
  */
1040
- (self: DateTime, that: DateTime): DateTime
1041
+ <Self extends DateTime, That extends DateTime>(self: Self, that: That): Self | That
1041
1042
  } = Internal.min
1042
1043
 
1043
1044
  /**
@@ -1049,12 +1050,12 @@ export const max: {
1049
1050
  * @since 3.6.0
1050
1051
  * @category comparisons
1051
1052
  */
1052
- (that: DateTime): (self: DateTime) => DateTime
1053
+ <That extends DateTime>(that: That): <Self extends DateTime>(self: Self) => Self | That
1053
1054
  /**
1054
1055
  * @since 3.6.0
1055
1056
  * @category comparisons
1056
1057
  */
1057
- (self: DateTime, that: DateTime): DateTime
1058
+ <Self extends DateTime, That extends DateTime>(self: Self, that: That): Self | That
1058
1059
  } = Internal.max
1059
1060
 
1060
1061
  /**
@@ -1381,7 +1382,7 @@ export const setParts: {
1381
1382
  * @since 3.6.0
1382
1383
  * @category parts
1383
1384
  */
1384
- (parts: Partial<DateTime.PartsWithWeekday>): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
1385
+ (parts: Partial<DateTime.PartsWithWeekday>): <A extends DateTime>(self: A) => A
1385
1386
  /**
1386
1387
  * Set the different parts of a `DateTime` as an object.
1387
1388
  *
@@ -1390,7 +1391,7 @@ export const setParts: {
1390
1391
  * @since 3.6.0
1391
1392
  * @category parts
1392
1393
  */
1393
- <A extends DateTime>(self: A, parts: Partial<DateTime.PartsWithWeekday>): DateTime.PreserveZone<A>
1394
+ <A extends DateTime>(self: A, parts: Partial<DateTime.PartsWithWeekday>): A
1394
1395
  } = Internal.setParts
1395
1396
 
1396
1397
  /**
@@ -1406,14 +1407,14 @@ export const setPartsUtc: {
1406
1407
  * @since 3.6.0
1407
1408
  * @category parts
1408
1409
  */
1409
- (parts: Partial<DateTime.PartsWithWeekday>): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
1410
+ (parts: Partial<DateTime.PartsWithWeekday>): <A extends DateTime>(self: A) => A
1410
1411
  /**
1411
1412
  * Set the different parts of a `DateTime` as an object.
1412
1413
  *
1413
1414
  * @since 3.6.0
1414
1415
  * @category parts
1415
1416
  */
1416
- <A extends DateTime>(self: A, parts: Partial<DateTime.PartsWithWeekday>): DateTime.PreserveZone<A>
1417
+ <A extends DateTime>(self: A, parts: Partial<DateTime.PartsWithWeekday>): A
1417
1418
  } = Internal.setPartsUtc
1418
1419
 
1419
1420
  // =============================================================================
@@ -1698,7 +1699,7 @@ export const mutate: {
1698
1699
  * @since 3.6.0
1699
1700
  * @category mapping
1700
1701
  */
1701
- (f: (date: Date) => void): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
1702
+ (f: (date: Date) => void): <A extends DateTime>(self: A) => A
1702
1703
  // =============================================================================
1703
1704
  // mapping
1704
1705
  // =============================================================================
@@ -1712,7 +1713,7 @@ export const mutate: {
1712
1713
  * @since 3.6.0
1713
1714
  * @category mapping
1714
1715
  */
1715
- <A extends DateTime>(self: A, f: (date: Date) => void): DateTime.PreserveZone<A>
1716
+ <A extends DateTime>(self: A, f: (date: Date) => void): A
1716
1717
  } = Internal.mutate
1717
1718
 
1718
1719
  /**
@@ -1728,14 +1729,14 @@ export const mutateUtc: {
1728
1729
  * @since 3.6.0
1729
1730
  * @category mapping
1730
1731
  */
1731
- (f: (date: Date) => void): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
1732
+ (f: (date: Date) => void): <A extends DateTime>(self: A) => A
1732
1733
  /**
1733
1734
  * Modify a `DateTime` by applying a function to a cloned UTC `Date` instance.
1734
1735
  *
1735
1736
  * @since 3.6.0
1736
1737
  * @category mapping
1737
1738
  */
1738
- <A extends DateTime>(self: A, f: (date: Date) => void): DateTime.PreserveZone<A>
1739
+ <A extends DateTime>(self: A, f: (date: Date) => void): A
1739
1740
  } = Internal.mutateUtc
1740
1741
 
1741
1742
  /**
@@ -1771,7 +1772,7 @@ export const mapEpochMillis: {
1771
1772
  * )
1772
1773
  * ```
1773
1774
  */
1774
- (f: (millis: number) => number): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
1775
+ (f: (millis: number) => number): <A extends DateTime>(self: A) => A
1775
1776
  /**
1776
1777
  * Transform a `DateTime` by applying a function to the number of milliseconds
1777
1778
  * since the Unix epoch.
@@ -1788,7 +1789,7 @@ export const mapEpochMillis: {
1788
1789
  * )
1789
1790
  * ```
1790
1791
  */
1791
- <A extends DateTime>(self: A, f: (millis: number) => number): DateTime.PreserveZone<A>
1792
+ <A extends DateTime>(self: A, f: (millis: number) => number): A
1792
1793
  } = Internal.mapEpochMillis
1793
1794
 
1794
1795
  /**
@@ -1964,7 +1965,7 @@ export const addDuration: {
1964
1965
  * )
1965
1966
  * ```
1966
1967
  */
1967
- (duration: Duration.DurationInput): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
1968
+ (duration: Duration.DurationInput): <A extends DateTime>(self: A) => A
1968
1969
  // =============================================================================
1969
1970
  // math
1970
1971
  // =============================================================================
@@ -1984,7 +1985,7 @@ export const addDuration: {
1984
1985
  * )
1985
1986
  * ```
1986
1987
  */
1987
- <A extends DateTime>(self: A, duration: Duration.DurationInput): DateTime.PreserveZone<A>
1988
+ <A extends DateTime>(self: A, duration: Duration.DurationInput): A
1988
1989
  } = Internal.addDuration
1989
1990
 
1990
1991
  /**
@@ -2018,7 +2019,7 @@ export const subtractDuration: {
2018
2019
  * )
2019
2020
  * ```
2020
2021
  */
2021
- (duration: Duration.DurationInput): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
2022
+ (duration: Duration.DurationInput): <A extends DateTime>(self: A) => A
2022
2023
  /**
2023
2024
  * Subtract the given `Duration` from a `DateTime`.
2024
2025
  *
@@ -2034,7 +2035,7 @@ export const subtractDuration: {
2034
2035
  * )
2035
2036
  * ```
2036
2037
  */
2037
- <A extends DateTime>(self: A, duration: Duration.DurationInput): DateTime.PreserveZone<A>
2038
+ <A extends DateTime>(self: A, duration: Duration.DurationInput): A
2038
2039
  } = Internal.subtractDuration
2039
2040
 
2040
2041
  /**
@@ -2074,7 +2075,7 @@ export const add: {
2074
2075
  * )
2075
2076
  * ```
2076
2077
  */
2077
- (parts: Partial<DateTime.PartsForMath>): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
2078
+ (parts: Partial<DateTime.PartsForMath>): <A extends DateTime>(self: A) => A
2078
2079
  /**
2079
2080
  * Add the given `amount` of `unit`'s to a `DateTime`.
2080
2081
  *
@@ -2093,7 +2094,7 @@ export const add: {
2093
2094
  * )
2094
2095
  * ```
2095
2096
  */
2096
- <A extends DateTime>(self: A, parts: Partial<DateTime.PartsForMath>): DateTime.PreserveZone<A>
2097
+ <A extends DateTime>(self: A, parts: Partial<DateTime.PartsForMath>): A
2097
2098
  } = Internal.add
2098
2099
 
2099
2100
  /**
@@ -2127,7 +2128,7 @@ export const subtract: {
2127
2128
  * )
2128
2129
  * ```
2129
2130
  */
2130
- (parts: Partial<DateTime.PartsForMath>): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
2131
+ (parts: Partial<DateTime.PartsForMath>): <A extends DateTime>(self: A) => A
2131
2132
  /**
2132
2133
  * Subtract the given `amount` of `unit`'s from a `DateTime`.
2133
2134
  *
@@ -2143,7 +2144,7 @@ export const subtract: {
2143
2144
  * )
2144
2145
  * ```
2145
2146
  */
2146
- <A extends DateTime>(self: A, parts: Partial<DateTime.PartsForMath>): DateTime.PreserveZone<A>
2147
+ <A extends DateTime>(self: A, parts: Partial<DateTime.PartsForMath>): A
2147
2148
  } = Internal.subtract
2148
2149
 
2149
2150
  /**
@@ -2187,10 +2188,8 @@ export const startOf: {
2187
2188
  */
2188
2189
  (
2189
2190
  part: DateTime.UnitSingular,
2190
- options?: {
2191
- readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
2192
- }
2193
- ): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
2191
+ options?: { readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined }
2192
+ ): <A extends DateTime>(self: A) => A
2194
2193
  /**
2195
2194
  * Converts a `DateTime` to the start of the given `part`.
2196
2195
  *
@@ -2213,10 +2212,8 @@ export const startOf: {
2213
2212
  <A extends DateTime>(
2214
2213
  self: A,
2215
2214
  part: DateTime.UnitSingular,
2216
- options?: {
2217
- readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
2218
- }
2219
- ): DateTime.PreserveZone<A>
2215
+ options?: { readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined }
2216
+ ): A
2220
2217
  } = Internal.startOf
2221
2218
 
2222
2219
  /**
@@ -2260,10 +2257,8 @@ export const endOf: {
2260
2257
  */
2261
2258
  (
2262
2259
  part: DateTime.UnitSingular,
2263
- options?: {
2264
- readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
2265
- }
2266
- ): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
2260
+ options?: { readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined }
2261
+ ): <A extends DateTime>(self: A) => A
2267
2262
  /**
2268
2263
  * Converts a `DateTime` to the end of the given `part`.
2269
2264
  *
@@ -2286,10 +2281,8 @@ export const endOf: {
2286
2281
  <A extends DateTime>(
2287
2282
  self: A,
2288
2283
  part: DateTime.UnitSingular,
2289
- options?: {
2290
- readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
2291
- }
2292
- ): DateTime.PreserveZone<A>
2284
+ options?: { readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined }
2285
+ ): A
2293
2286
  } = Internal.endOf
2294
2287
 
2295
2288
  /**
@@ -2333,10 +2326,8 @@ export const nearest: {
2333
2326
  */
2334
2327
  (
2335
2328
  part: DateTime.UnitSingular,
2336
- options?: {
2337
- readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
2338
- }
2339
- ): <A extends DateTime>(self: A) => DateTime.PreserveZone<A>
2329
+ options?: { readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined }
2330
+ ): <A extends DateTime>(self: A) => A
2340
2331
  /**
2341
2332
  * Converts a `DateTime` to the nearest given `part`.
2342
2333
  *
@@ -2359,10 +2350,8 @@ export const nearest: {
2359
2350
  <A extends DateTime>(
2360
2351
  self: A,
2361
2352
  part: DateTime.UnitSingular,
2362
- options?: {
2363
- readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
2364
- }
2365
- ): DateTime.PreserveZone<A>
2353
+ options?: { readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined }
2354
+ ): A
2366
2355
  } = Internal.nearest
2367
2356
 
2368
2357
  // =============================================================================
package/src/Layer.ts CHANGED
@@ -865,7 +865,7 @@ export const retry: {
865
865
  * @category retrying
866
866
  */
867
867
  <X, E, RIn2>(
868
- schedule: Schedule.Schedule<X, E, RIn2>
868
+ schedule: Schedule.Schedule<X, NoInfer<E>, RIn2>
869
869
  ): <ROut, RIn>(self: Layer<ROut, E, RIn>) => Layer<ROut, E, RIn2 | RIn>
870
870
  /**
871
871
  * Retries constructing this layer according to the specified schedule.
@@ -128,7 +128,7 @@ export const retry: {
128
128
  * @category constructors
129
129
  */
130
130
  <X, E, R2>(
131
- policy: Schedule.Schedule<X, E, R2>
131
+ policy: Schedule.Schedule<X, NoInfer<E>, R2>
132
132
  ): <Type, In, R, Out>(self: MetricPolling<Type, In, R, E, Out>) => MetricPolling<Type, In, R2 | R, E, Out>
133
133
  /**
134
134
  * Returns a new polling metric whose poll function will be retried with the
@@ -129,7 +129,21 @@ export const makeZonedProto = (
129
129
  const self = Object.create(ProtoZoned)
130
130
  self.epochMillis = epochMillis
131
131
  self.zone = zone
132
- self.partsUtc = partsUtc
132
+ Object.defineProperty(self, "partsUtc", {
133
+ value: partsUtc,
134
+ enumerable: false,
135
+ writable: true
136
+ })
137
+ Object.defineProperty(self, "adjustedEpochMillis", {
138
+ value: undefined,
139
+ enumerable: false,
140
+ writable: true
141
+ })
142
+ Object.defineProperty(self, "partsAdjusted", {
143
+ value: undefined,
144
+ enumerable: false,
145
+ writable: true
146
+ })
133
147
  return self
134
148
  }
135
149
 
@@ -173,8 +187,13 @@ export const Order: order.Order<DateTime.DateTime> = order.make((self, that) =>
173
187
 
174
188
  /** @internal */
175
189
  export const clamp: {
176
- (options: { minimum: DateTime.DateTime; maximum: DateTime.DateTime }): (self: DateTime.DateTime) => DateTime.DateTime
177
- (self: DateTime.DateTime, options: { minimum: DateTime.DateTime; maximum: DateTime.DateTime }): DateTime.DateTime
190
+ <Min extends DateTime.DateTime, Max extends DateTime.DateTime>(
191
+ options: { readonly minimum: Min; readonly maximum: Max }
192
+ ): <A extends DateTime.DateTime>(self: A) => A | Min | Max
193
+ <A extends DateTime.DateTime, Min extends DateTime.DateTime, Max extends DateTime.DateTime>(
194
+ self: A,
195
+ options: { readonly minimum: Min; readonly maximum: Max }
196
+ ): A | Min | Max
178
197
  } = order.clamp(Order)
179
198
 
180
199
  // =============================================================================
@@ -184,6 +203,11 @@ export const clamp: {
184
203
  const makeUtc = (epochMillis: number): DateTime.Utc => {
185
204
  const self = Object.create(ProtoUtc)
186
205
  self.epochMillis = epochMillis
206
+ Object.defineProperty(self, "partsUtc", {
207
+ value: undefined,
208
+ enumerable: false,
209
+ writable: true
210
+ })
187
211
  return self
188
212
  }
189
213
 
@@ -451,14 +475,14 @@ export const distanceDuration: {
451
475
 
452
476
  /** @internal */
453
477
  export const min: {
454
- (that: DateTime.DateTime): (self: DateTime.DateTime) => DateTime.DateTime
455
- (self: DateTime.DateTime, that: DateTime.DateTime): DateTime.DateTime
478
+ <That extends DateTime.DateTime>(that: That): <Self extends DateTime.DateTime>(self: Self) => Self | That
479
+ <Self extends DateTime.DateTime, That extends DateTime.DateTime>(self: Self, that: That): Self | That
456
480
  } = order.min(Order)
457
481
 
458
482
  /** @internal */
459
483
  export const max: {
460
- (that: DateTime.DateTime): (self: DateTime.DateTime) => DateTime.DateTime
461
- (self: DateTime.DateTime, that: DateTime.DateTime): DateTime.DateTime
484
+ <That extends DateTime.DateTime>(that: That): <Self extends DateTime.DateTime>(self: Self) => Self | That
485
+ <Self extends DateTime.DateTime, That extends DateTime.DateTime>(self: Self, that: That): Self | That
462
486
  } = order.max(Order)
463
487
 
464
488
  /** @internal */
@@ -641,11 +665,11 @@ const setPartsDate = (date: Date, parts: Partial<DateTime.DateTime.PartsWithWeek
641
665
  export const setParts: {
642
666
  (
643
667
  parts: Partial<DateTime.DateTime.PartsWithWeekday>
644
- ): <A extends DateTime.DateTime>(self: A) => DateTime.DateTime.PreserveZone<A>
668
+ ): <A extends DateTime.DateTime>(self: A) => A
645
669
  <A extends DateTime.DateTime>(
646
670
  self: A,
647
671
  parts: Partial<DateTime.DateTime.PartsWithWeekday>
648
- ): DateTime.DateTime.PreserveZone<A>
672
+ ): A
649
673
  } = dual(
650
674
  2,
651
675
  (self: DateTime.DateTime, parts: Partial<DateTime.DateTime.PartsWithWeekday>): DateTime.DateTime =>
@@ -656,11 +680,11 @@ export const setParts: {
656
680
  export const setPartsUtc: {
657
681
  (
658
682
  parts: Partial<DateTime.DateTime.PartsWithWeekday>
659
- ): <A extends DateTime.DateTime>(self: A) => DateTime.DateTime.PreserveZone<A>
683
+ ): <A extends DateTime.DateTime>(self: A) => A
660
684
  <A extends DateTime.DateTime>(
661
685
  self: A,
662
686
  parts: Partial<DateTime.DateTime.PartsWithWeekday>
663
- ): DateTime.DateTime.PreserveZone<A>
687
+ ): A
664
688
  } = dual(
665
689
  2,
666
690
  (self: DateTime.DateTime, parts: Partial<DateTime.DateTime.PartsWithWeekday>): DateTime.DateTime =>
@@ -701,8 +725,8 @@ const calculateNamedOffset = (adjustedMillis: number, zone: DateTime.TimeZone.Na
701
725
 
702
726
  /** @internal */
703
727
  export const mutate: {
704
- (f: (date: Date) => void): <A extends DateTime.DateTime>(self: A) => DateTime.DateTime.PreserveZone<A>
705
- <A extends DateTime.DateTime>(self: A, f: (date: Date) => void): DateTime.DateTime.PreserveZone<A>
728
+ (f: (date: Date) => void): <A extends DateTime.DateTime>(self: A) => A
729
+ <A extends DateTime.DateTime>(self: A, f: (date: Date) => void): A
706
730
  } = dual(2, (self: DateTime.DateTime, f: (date: Date) => void): DateTime.DateTime => {
707
731
  if (self._tag === "Utc") {
708
732
  const date = toDateUtc(self)
@@ -717,8 +741,8 @@ export const mutate: {
717
741
 
718
742
  /** @internal */
719
743
  export const mutateUtc: {
720
- (f: (date: Date) => void): <A extends DateTime.DateTime>(self: A) => DateTime.DateTime.PreserveZone<A>
721
- <A extends DateTime.DateTime>(self: A, f: (date: Date) => void): DateTime.DateTime.PreserveZone<A>
744
+ (f: (date: Date) => void): <A extends DateTime.DateTime>(self: A) => A
745
+ <A extends DateTime.DateTime>(self: A, f: (date: Date) => void): A
722
746
  } = dual(2, (self: DateTime.DateTime, f: (date: Date) => void): DateTime.DateTime =>
723
747
  mapEpochMillis(self, (millis) => {
724
748
  const date = new Date(millis)
@@ -728,8 +752,8 @@ export const mutateUtc: {
728
752
 
729
753
  /** @internal */
730
754
  export const mapEpochMillis: {
731
- (f: (millis: number) => number): <A extends DateTime.DateTime>(self: A) => DateTime.DateTime.PreserveZone<A>
732
- <A extends DateTime.DateTime>(self: A, f: (millis: number) => number): DateTime.DateTime.PreserveZone<A>
755
+ (f: (millis: number) => number): <A extends DateTime.DateTime>(self: A) => A
756
+ <A extends DateTime.DateTime>(self: A, f: (millis: number) => number): A
733
757
  } = dual(2, (self: DateTime.DateTime, f: (millis: number) => number): DateTime.DateTime => {
734
758
  const millis = f(toEpochMillis(self))
735
759
  return self._tag === "Utc" ? makeUtc(millis) : makeZonedProto(millis, self.zone)
@@ -768,8 +792,8 @@ export const match: {
768
792
 
769
793
  /** @internal */
770
794
  export const addDuration: {
771
- (duration: Duration.DurationInput): <A extends DateTime.DateTime>(self: A) => DateTime.DateTime.PreserveZone<A>
772
- <A extends DateTime.DateTime>(self: A, duration: Duration.DurationInput): DateTime.DateTime.PreserveZone<A>
795
+ (duration: Duration.DurationInput): <A extends DateTime.DateTime>(self: A) => A
796
+ <A extends DateTime.DateTime>(self: A, duration: Duration.DurationInput): A
773
797
  } = dual(
774
798
  2,
775
799
  (self: DateTime.DateTime, duration: Duration.DurationInput): DateTime.DateTime =>
@@ -778,8 +802,8 @@ export const addDuration: {
778
802
 
779
803
  /** @internal */
780
804
  export const subtractDuration: {
781
- (duration: Duration.DurationInput): <A extends DateTime.DateTime>(self: A) => DateTime.DateTime.PreserveZone<A>
782
- <A extends DateTime.DateTime>(self: A, duration: Duration.DurationInput): DateTime.DateTime.PreserveZone<A>
805
+ (duration: Duration.DurationInput): <A extends DateTime.DateTime>(self: A) => A
806
+ <A extends DateTime.DateTime>(self: A, duration: Duration.DurationInput): A
783
807
  } = dual(
784
808
  2,
785
809
  (self: DateTime.DateTime, duration: Duration.DurationInput): DateTime.DateTime =>
@@ -794,11 +818,11 @@ const addMillis = (date: Date, amount: number): void => {
794
818
  export const add: {
795
819
  (
796
820
  parts: Partial<DateTime.DateTime.PartsForMath>
797
- ): <A extends DateTime.DateTime>(self: A) => DateTime.DateTime.PreserveZone<A>
821
+ ): <A extends DateTime.DateTime>(self: A) => A
798
822
  <A extends DateTime.DateTime>(
799
823
  self: A,
800
824
  parts: Partial<DateTime.DateTime.PartsForMath>
801
- ): DateTime.DateTime.PreserveZone<A>
825
+ ): A
802
826
  } = dual(
803
827
  2,
804
828
  (self: DateTime.DateTime, parts: Partial<DateTime.DateTime.PartsForMath>): DateTime.DateTime =>
@@ -847,11 +871,11 @@ export const add: {
847
871
  export const subtract: {
848
872
  (
849
873
  parts: Partial<DateTime.DateTime.PartsForMath>
850
- ): <A extends DateTime.DateTime>(self: A) => DateTime.DateTime.PreserveZone<A>
874
+ ): <A extends DateTime.DateTime>(self: A) => A
851
875
  <A extends DateTime.DateTime>(
852
876
  self: A,
853
877
  parts: Partial<DateTime.DateTime.PartsForMath>
854
- ): DateTime.DateTime.PreserveZone<A>
878
+ ): A
855
879
  } = dual(2, (self: DateTime.DateTime, parts: Partial<DateTime.DateTime.PartsForMath>): DateTime.DateTime => {
856
880
  const newParts = {} as Partial<Mutable<DateTime.DateTime.PartsForMath>>
857
881
  for (const key in parts) {
@@ -905,10 +929,10 @@ const startOfDate = (date: Date, part: DateTime.DateTime.UnitSingular, options?:
905
929
  export const startOf: {
906
930
  (part: DateTime.DateTime.UnitSingular, options?: {
907
931
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
908
- }): <A extends DateTime.DateTime>(self: A) => DateTime.DateTime.PreserveZone<A>
932
+ }): <A extends DateTime.DateTime>(self: A) => A
909
933
  <A extends DateTime.DateTime>(self: A, part: DateTime.DateTime.UnitSingular, options?: {
910
934
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
911
- }): DateTime.DateTime.PreserveZone<A>
935
+ }): A
912
936
  } = dual(isDateTimeArgs, (self: DateTime.DateTime, part: DateTime.DateTime.UnitSingular, options?: {
913
937
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
914
938
  }): DateTime.DateTime => mutate(self, (date) => startOfDate(date, part, options)))
@@ -958,10 +982,10 @@ const endOfDate = (date: Date, part: DateTime.DateTime.UnitSingular, options?: {
958
982
  export const endOf: {
959
983
  (part: DateTime.DateTime.UnitSingular, options?: {
960
984
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
961
- }): <A extends DateTime.DateTime>(self: A) => DateTime.DateTime.PreserveZone<A>
985
+ }): <A extends DateTime.DateTime>(self: A) => A
962
986
  <A extends DateTime.DateTime>(self: A, part: DateTime.DateTime.UnitSingular, options?: {
963
987
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
964
- }): DateTime.DateTime.PreserveZone<A>
988
+ }): A
965
989
  } = dual(isDateTimeArgs, (self: DateTime.DateTime, part: DateTime.DateTime.UnitSingular, options?: {
966
990
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
967
991
  }): DateTime.DateTime => mutate(self, (date) => endOfDate(date, part, options)))
@@ -970,10 +994,10 @@ export const endOf: {
970
994
  export const nearest: {
971
995
  (part: DateTime.DateTime.UnitSingular, options?: {
972
996
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
973
- }): <A extends DateTime.DateTime>(self: A) => DateTime.DateTime.PreserveZone<A>
997
+ }): <A extends DateTime.DateTime>(self: A) => A
974
998
  <A extends DateTime.DateTime>(self: A, part: DateTime.DateTime.UnitSingular, options?: {
975
999
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
976
- }): DateTime.DateTime.PreserveZone<A>
1000
+ }): A
977
1001
  } = dual(isDateTimeArgs, (self: DateTime.DateTime, part: DateTime.DateTime.UnitSingular, options?: {
978
1002
  readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
979
1003
  }): DateTime.DateTime =>
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.12.3"
1
+ let moduleVersion = "3.12.4"
2
2
 
3
3
  export const getCurrentVersion = () => moduleVersion
4
4