@gobrand/tiempo 2.2.3 → 2.3.1
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/README.md +297 -24
- package/dist/addDays.d.ts +37 -0
- package/dist/addDays.d.ts.map +1 -0
- package/dist/addDays.js +8 -0
- package/dist/addDays.js.map +1 -0
- package/dist/addDays.test.d.ts +2 -0
- package/dist/addDays.test.d.ts.map +1 -0
- package/dist/addHours.d.ts +37 -0
- package/dist/addHours.d.ts.map +1 -0
- package/dist/addHours.js +8 -0
- package/dist/addHours.js.map +1 -0
- package/dist/addHours.test.d.ts +2 -0
- package/dist/addHours.test.d.ts.map +1 -0
- package/dist/addMicroseconds.d.ts +36 -0
- package/dist/addMicroseconds.d.ts.map +1 -0
- package/dist/addMicroseconds.js +8 -0
- package/dist/addMicroseconds.js.map +1 -0
- package/dist/addMicroseconds.test.d.ts +2 -0
- package/dist/addMicroseconds.test.d.ts.map +1 -0
- package/dist/addMilliseconds.d.ts +36 -0
- package/dist/addMilliseconds.d.ts.map +1 -0
- package/dist/addMilliseconds.js +8 -0
- package/dist/addMilliseconds.js.map +1 -0
- package/dist/addMilliseconds.test.d.ts +2 -0
- package/dist/addMilliseconds.test.d.ts.map +1 -0
- package/dist/addMinutes.d.ts +36 -0
- package/dist/addMinutes.d.ts.map +1 -0
- package/dist/addMinutes.js +8 -0
- package/dist/addMinutes.js.map +1 -0
- package/dist/addMinutes.test.d.ts +2 -0
- package/dist/addMinutes.test.d.ts.map +1 -0
- package/dist/addMonths.d.ts +37 -0
- package/dist/addMonths.d.ts.map +1 -0
- package/dist/addMonths.js +8 -0
- package/dist/addMonths.js.map +1 -0
- package/dist/addMonths.test.d.ts +2 -0
- package/dist/addMonths.test.d.ts.map +1 -0
- package/dist/addNanoseconds.d.ts +36 -0
- package/dist/addNanoseconds.d.ts.map +1 -0
- package/dist/addNanoseconds.js +8 -0
- package/dist/addNanoseconds.js.map +1 -0
- package/dist/addNanoseconds.test.d.ts +2 -0
- package/dist/addNanoseconds.test.d.ts.map +1 -0
- package/dist/addSeconds.d.ts +36 -0
- package/dist/addSeconds.d.ts.map +1 -0
- package/dist/addSeconds.js +8 -0
- package/dist/addSeconds.js.map +1 -0
- package/dist/addSeconds.test.d.ts +2 -0
- package/dist/addSeconds.test.d.ts.map +1 -0
- package/dist/addWeeks.d.ts +37 -0
- package/dist/addWeeks.d.ts.map +1 -0
- package/dist/addWeeks.js +8 -0
- package/dist/addWeeks.js.map +1 -0
- package/dist/addWeeks.test.d.ts +2 -0
- package/dist/addWeeks.test.d.ts.map +1 -0
- package/dist/addYears.d.ts +37 -0
- package/dist/addYears.d.ts.map +1 -0
- package/dist/addYears.js +8 -0
- package/dist/addYears.js.map +1 -0
- package/dist/addYears.test.d.ts +2 -0
- package/dist/addYears.test.d.ts.map +1 -0
- package/dist/{chunk-KD5GEHUA.js → chunk-2MP3ESL7.js} +4 -1
- package/dist/chunk-2MP3ESL7.js.map +1 -0
- package/dist/chunk-2XHAHSB6.js +14 -0
- package/dist/chunk-2XHAHSB6.js.map +1 -0
- package/dist/chunk-4NJMCCUM.js +14 -0
- package/dist/chunk-4NJMCCUM.js.map +1 -0
- package/dist/chunk-52NEOY34.js +13 -0
- package/dist/chunk-52NEOY34.js.map +1 -0
- package/dist/chunk-7ATM7AXL.js +14 -0
- package/dist/chunk-7ATM7AXL.js.map +1 -0
- package/dist/chunk-A5VVBYNT.js +14 -0
- package/dist/chunk-A5VVBYNT.js.map +1 -0
- package/dist/chunk-ADQTZVMH.js +15 -0
- package/dist/chunk-ADQTZVMH.js.map +1 -0
- package/dist/chunk-AHMKY474.js +13 -0
- package/dist/chunk-AHMKY474.js.map +1 -0
- package/dist/chunk-BH2YB4MV.js +13 -0
- package/dist/chunk-BH2YB4MV.js.map +1 -0
- package/dist/chunk-BQBLSXK2.js +13 -0
- package/dist/chunk-BQBLSXK2.js.map +1 -0
- package/dist/{chunk-GPAFAHKJ.js → chunk-BW5SFCKS.js} +4 -1
- package/dist/chunk-BW5SFCKS.js.map +1 -0
- package/dist/chunk-CY746ZUQ.js +15 -0
- package/dist/chunk-CY746ZUQ.js.map +1 -0
- package/dist/chunk-DT2EWLHU.js +14 -0
- package/dist/chunk-DT2EWLHU.js.map +1 -0
- package/dist/chunk-EEQ3REET.js +15 -0
- package/dist/chunk-EEQ3REET.js.map +1 -0
- package/dist/chunk-EYO2ZJLH.js +14 -0
- package/dist/chunk-EYO2ZJLH.js.map +1 -0
- package/dist/chunk-HDBH7RTY.js +13 -0
- package/dist/chunk-HDBH7RTY.js.map +1 -0
- package/dist/chunk-ISHZRFVN.js +15 -0
- package/dist/chunk-ISHZRFVN.js.map +1 -0
- package/dist/chunk-J6G2I2TU.js +13 -0
- package/dist/chunk-J6G2I2TU.js.map +1 -0
- package/dist/chunk-JOD4ATPE.js +15 -0
- package/dist/chunk-JOD4ATPE.js.map +1 -0
- package/dist/chunk-L4SVABDH.js +14 -0
- package/dist/chunk-L4SVABDH.js.map +1 -0
- package/dist/chunk-LDO6PRNJ.js +15 -0
- package/dist/chunk-LDO6PRNJ.js.map +1 -0
- package/dist/chunk-NRD5HRZV.js +14 -0
- package/dist/chunk-NRD5HRZV.js.map +1 -0
- package/dist/chunk-PPB62JYV.js +15 -0
- package/dist/chunk-PPB62JYV.js.map +1 -0
- package/dist/chunk-Q2F3HEXB.js +14 -0
- package/dist/chunk-Q2F3HEXB.js.map +1 -0
- package/dist/chunk-S63QUP4W.js +15 -0
- package/dist/chunk-S63QUP4W.js.map +1 -0
- package/dist/chunk-TGKWBQ7L.js +13 -0
- package/dist/chunk-TGKWBQ7L.js.map +1 -0
- package/dist/chunk-U4RNUZXO.js +13 -0
- package/dist/chunk-U4RNUZXO.js.map +1 -0
- package/dist/chunk-V27NUBXQ.js +14 -0
- package/dist/chunk-V27NUBXQ.js.map +1 -0
- package/dist/chunk-VLZ3HQQA.js +15 -0
- package/dist/chunk-VLZ3HQQA.js.map +1 -0
- package/dist/chunk-WVHAYLBW.js +13 -0
- package/dist/chunk-WVHAYLBW.js.map +1 -0
- package/dist/{chunk-NL5LWPJI.js → chunk-XEDXPI5G.js} +4 -4
- package/dist/chunk-XW5MLXX5.js +13 -0
- package/dist/chunk-XW5MLXX5.js.map +1 -0
- package/dist/chunk-YKBP3G7L.js +13 -0
- package/dist/chunk-YKBP3G7L.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +139 -19
- package/dist/intlFormatDistance.js +2 -2
- package/dist/isSameHour.d.ts +58 -0
- package/dist/isSameHour.d.ts.map +1 -0
- package/dist/isSameHour.js +8 -0
- package/dist/isSameHour.js.map +1 -0
- package/dist/isSameHour.test.d.ts +2 -0
- package/dist/isSameHour.test.d.ts.map +1 -0
- package/dist/isSameMicrosecond.d.ts +59 -0
- package/dist/isSameMicrosecond.d.ts.map +1 -0
- package/dist/isSameMicrosecond.js +8 -0
- package/dist/isSameMicrosecond.js.map +1 -0
- package/dist/isSameMicrosecond.test.d.ts +2 -0
- package/dist/isSameMicrosecond.test.d.ts.map +1 -0
- package/dist/isSameMillisecond.d.ts +59 -0
- package/dist/isSameMillisecond.d.ts.map +1 -0
- package/dist/isSameMillisecond.js +8 -0
- package/dist/isSameMillisecond.js.map +1 -0
- package/dist/isSameMillisecond.test.d.ts +2 -0
- package/dist/isSameMillisecond.test.d.ts.map +1 -0
- package/dist/isSameMinute.d.ts +58 -0
- package/dist/isSameMinute.d.ts.map +1 -0
- package/dist/isSameMinute.js +8 -0
- package/dist/isSameMinute.js.map +1 -0
- package/dist/isSameMinute.test.d.ts +2 -0
- package/dist/isSameMinute.test.d.ts.map +1 -0
- package/dist/isSameMonth.d.ts +58 -0
- package/dist/isSameMonth.d.ts.map +1 -0
- package/dist/isSameMonth.js +8 -0
- package/dist/isSameMonth.js.map +1 -0
- package/dist/isSameMonth.test.d.ts +2 -0
- package/dist/isSameMonth.test.d.ts.map +1 -0
- package/dist/isSameNanosecond.d.ts +59 -0
- package/dist/isSameNanosecond.d.ts.map +1 -0
- package/dist/isSameNanosecond.js +8 -0
- package/dist/isSameNanosecond.js.map +1 -0
- package/dist/isSameNanosecond.test.d.ts +2 -0
- package/dist/isSameNanosecond.test.d.ts.map +1 -0
- package/dist/isSameSecond.d.ts +59 -0
- package/dist/isSameSecond.d.ts.map +1 -0
- package/dist/isSameSecond.js +8 -0
- package/dist/isSameSecond.js.map +1 -0
- package/dist/isSameSecond.test.d.ts +2 -0
- package/dist/isSameSecond.test.d.ts.map +1 -0
- package/dist/isSameWeek.d.ts +72 -0
- package/dist/isSameWeek.d.ts.map +1 -0
- package/dist/isSameWeek.js +8 -0
- package/dist/isSameWeek.js.map +1 -0
- package/dist/isSameWeek.test.d.ts +2 -0
- package/dist/isSameWeek.test.d.ts.map +1 -0
- package/dist/isSameYear.d.ts +58 -0
- package/dist/isSameYear.d.ts.map +1 -0
- package/dist/isSameYear.js +8 -0
- package/dist/isSameYear.js.map +1 -0
- package/dist/isSameYear.test.d.ts +2 -0
- package/dist/isSameYear.test.d.ts.map +1 -0
- package/dist/subDays.d.ts +20 -0
- package/dist/subDays.d.ts.map +1 -0
- package/dist/subDays.js +9 -0
- package/dist/subDays.js.map +1 -0
- package/dist/subDays.test.d.ts +2 -0
- package/dist/subDays.test.d.ts.map +1 -0
- package/dist/subHours.d.ts +20 -0
- package/dist/subHours.d.ts.map +1 -0
- package/dist/subHours.js +9 -0
- package/dist/subHours.js.map +1 -0
- package/dist/subHours.test.d.ts +2 -0
- package/dist/subHours.test.d.ts.map +1 -0
- package/dist/subMicroseconds.d.ts +19 -0
- package/dist/subMicroseconds.d.ts.map +1 -0
- package/dist/subMicroseconds.js +9 -0
- package/dist/subMicroseconds.js.map +1 -0
- package/dist/subMicroseconds.test.d.ts +2 -0
- package/dist/subMicroseconds.test.d.ts.map +1 -0
- package/dist/subMilliseconds.d.ts +19 -0
- package/dist/subMilliseconds.d.ts.map +1 -0
- package/dist/subMilliseconds.js +9 -0
- package/dist/subMilliseconds.js.map +1 -0
- package/dist/subMilliseconds.test.d.ts +2 -0
- package/dist/subMilliseconds.test.d.ts.map +1 -0
- package/dist/subMinutes.d.ts +19 -0
- package/dist/subMinutes.d.ts.map +1 -0
- package/dist/subMinutes.js +9 -0
- package/dist/subMinutes.js.map +1 -0
- package/dist/subMinutes.test.d.ts +2 -0
- package/dist/subMinutes.test.d.ts.map +1 -0
- package/dist/subMonths.d.ts +20 -0
- package/dist/subMonths.d.ts.map +1 -0
- package/dist/subMonths.js +9 -0
- package/dist/subMonths.js.map +1 -0
- package/dist/subMonths.test.d.ts +2 -0
- package/dist/subMonths.test.d.ts.map +1 -0
- package/dist/subNanoseconds.d.ts +19 -0
- package/dist/subNanoseconds.d.ts.map +1 -0
- package/dist/subNanoseconds.js +9 -0
- package/dist/subNanoseconds.js.map +1 -0
- package/dist/subNanoseconds.test.d.ts +2 -0
- package/dist/subNanoseconds.test.d.ts.map +1 -0
- package/dist/subSeconds.d.ts +19 -0
- package/dist/subSeconds.d.ts.map +1 -0
- package/dist/subSeconds.js +9 -0
- package/dist/subSeconds.js.map +1 -0
- package/dist/subSeconds.test.d.ts +2 -0
- package/dist/subSeconds.test.d.ts.map +1 -0
- package/dist/subWeeks.d.ts +20 -0
- package/dist/subWeeks.d.ts.map +1 -0
- package/dist/subWeeks.js +9 -0
- package/dist/subWeeks.js.map +1 -0
- package/dist/subWeeks.test.d.ts +2 -0
- package/dist/subWeeks.test.d.ts.map +1 -0
- package/dist/subYears.d.ts +20 -0
- package/dist/subYears.d.ts.map +1 -0
- package/dist/subYears.js +9 -0
- package/dist/subYears.js.map +1 -0
- package/dist/subYears.test.d.ts +2 -0
- package/dist/subYears.test.d.ts.map +1 -0
- package/dist/toDate.d.ts +27 -0
- package/dist/toDate.d.ts.map +1 -0
- package/dist/toDate.js +7 -0
- package/dist/toDate.js.map +1 -0
- package/dist/toDate.test.d.ts +2 -0
- package/dist/toDate.test.d.ts.map +1 -0
- package/dist/toUtc.d.ts +9 -5
- package/dist/toUtc.d.ts.map +1 -1
- package/dist/toUtc.js +1 -1
- package/dist/toZonedTime.d.ts +8 -4
- package/dist/toZonedTime.d.ts.map +1 -1
- package/dist/toZonedTime.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-GPAFAHKJ.js.map +0 -1
- package/dist/chunk-KD5GEHUA.js.map +0 -1
- /package/dist/{chunk-NL5LWPJI.js.map → chunk-XEDXPI5G.js.map} +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { Temporal } from '@js-temporal/polyfill';
|
|
2
|
+
/**
|
|
3
|
+
* Returns true if both datetimes represent the exact same nanosecond.
|
|
4
|
+
* Compares all time fields: year, month, day, hour, minute, second, millisecond, microsecond, and nanosecond.
|
|
5
|
+
* This is the most precise comparison possible, representing exact instant equality in their respective timezones.
|
|
6
|
+
*
|
|
7
|
+
* Instant inputs are converted to UTC. For ZonedDateTime inputs, their
|
|
8
|
+
* timezone is preserved. Convert to a common timezone before calling if
|
|
9
|
+
* you need to compare from a specific perspective.
|
|
10
|
+
*
|
|
11
|
+
* @param date1 - First datetime (Instant or ZonedDateTime)
|
|
12
|
+
* @param date2 - Second datetime (Instant or ZonedDateTime)
|
|
13
|
+
* @returns true if both dates are in the exact same nanosecond, false otherwise
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* // Same timezone, exact same nanosecond
|
|
18
|
+
* const time1 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.123456789Z[UTC]');
|
|
19
|
+
* const time2 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.123456789Z[UTC]');
|
|
20
|
+
*
|
|
21
|
+
* isSameNanosecond(time1, time2); // true
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* // Same timezone, different nanoseconds
|
|
27
|
+
* const ns789 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.123456789Z[UTC]');
|
|
28
|
+
* const ns790 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.123456790Z[UTC]');
|
|
29
|
+
*
|
|
30
|
+
* isSameNanosecond(ns789, ns790); // false
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* // Different timezones - compares their local nanoseconds
|
|
36
|
+
* const ny = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.123456789-05:00[America/New_York]');
|
|
37
|
+
* const tokyo = Temporal.ZonedDateTime.from('2025-01-21T04:30:45.987654321+09:00[Asia/Tokyo]');
|
|
38
|
+
*
|
|
39
|
+
* // Same instant, different local nanoseconds from each person's perspective
|
|
40
|
+
* isSameNanosecond(ny, tokyo); // false (14:30:45.123456789 in NY, 04:30:45.987654321 in Tokyo)
|
|
41
|
+
*
|
|
42
|
+
* // Convert to UTC to compare in UTC timezone
|
|
43
|
+
* isSameNanosecond(ny.withTimeZone('UTC'), tokyo.withTimeZone('UTC')); // true (both 19:30:45.123456789 in UTC)
|
|
44
|
+
*
|
|
45
|
+
* // Convert to NY timezone to compare from NY perspective
|
|
46
|
+
* isSameNanosecond(ny, tokyo.withTimeZone('America/New_York')); // true (both 14:30:45.123456789 in NY)
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* // Instant inputs are converted to UTC
|
|
52
|
+
* const instant1 = Temporal.Instant.from('2025-01-20T14:30:45.123456789Z');
|
|
53
|
+
* const instant2 = Temporal.Instant.from('2025-01-20T14:30:45.123456789Z');
|
|
54
|
+
*
|
|
55
|
+
* isSameNanosecond(instant1, instant2); // true
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare function isSameNanosecond(date1: Temporal.Instant | Temporal.ZonedDateTime, date2: Temporal.Instant | Temporal.ZonedDateTime): boolean;
|
|
59
|
+
//# sourceMappingURL=isSameNanosecond.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isSameNanosecond.d.ts","sourceRoot":"","sources":["../src/isSameNanosecond.ts"],"names":[],"mappings":"AAAA,OAAO,KAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,EAChD,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,GAC/C,OAAO,CAeT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isSameNanosecond.test.d.ts","sourceRoot":"","sources":["../src/isSameNanosecond.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { Temporal } from '@js-temporal/polyfill';
|
|
2
|
+
/**
|
|
3
|
+
* Returns true if both datetimes fall in the same second.
|
|
4
|
+
* Compares the year, month, day, hour, minute, and second fields directly.
|
|
5
|
+
* Ignores sub-second precision (milliseconds, microseconds, nanoseconds).
|
|
6
|
+
*
|
|
7
|
+
* Instant inputs are converted to UTC. For ZonedDateTime inputs, their
|
|
8
|
+
* timezone is preserved. Convert to a common timezone before calling if
|
|
9
|
+
* you need to compare from a specific perspective.
|
|
10
|
+
*
|
|
11
|
+
* @param date1 - First datetime (Instant or ZonedDateTime)
|
|
12
|
+
* @param date2 - Second datetime (Instant or ZonedDateTime)
|
|
13
|
+
* @returns true if both dates are in the same second, false otherwise
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* // Same timezone, same second
|
|
18
|
+
* const time1 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.000Z[UTC]');
|
|
19
|
+
* const time2 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.999Z[UTC]');
|
|
20
|
+
*
|
|
21
|
+
* isSameSecond(time1, time2); // true
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* // Same timezone, different seconds
|
|
27
|
+
* const sec45 = Temporal.ZonedDateTime.from('2025-01-20T14:30:45Z[UTC]');
|
|
28
|
+
* const sec46 = Temporal.ZonedDateTime.from('2025-01-20T14:30:46Z[UTC]');
|
|
29
|
+
*
|
|
30
|
+
* isSameSecond(sec45, sec46); // false
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* // Different timezones - compares their local seconds
|
|
36
|
+
* const ny = Temporal.ZonedDateTime.from('2025-01-20T14:30:45.123-05:00[America/New_York]');
|
|
37
|
+
* const tokyo = Temporal.ZonedDateTime.from('2025-01-21T04:30:45.987+09:00[Asia/Tokyo]');
|
|
38
|
+
*
|
|
39
|
+
* // Same instant, different local seconds from each person's perspective
|
|
40
|
+
* isSameSecond(ny, tokyo); // false (14:30:45 in NY, 04:30:45 in Tokyo)
|
|
41
|
+
*
|
|
42
|
+
* // Convert to UTC to compare in UTC timezone
|
|
43
|
+
* isSameSecond(ny.withTimeZone('UTC'), tokyo.withTimeZone('UTC')); // true (both 19:30:45 in UTC)
|
|
44
|
+
*
|
|
45
|
+
* // Convert to NY timezone to compare from NY perspective
|
|
46
|
+
* isSameSecond(ny, tokyo.withTimeZone('America/New_York')); // true (both 14:30:45 in NY)
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* // Instant inputs are converted to UTC
|
|
52
|
+
* const instant1 = Temporal.Instant.from('2025-01-20T14:30:45.123Z');
|
|
53
|
+
* const instant2 = Temporal.Instant.from('2025-01-20T14:30:45.999Z');
|
|
54
|
+
*
|
|
55
|
+
* isSameSecond(instant1, instant2); // true (both 14:30:45 in UTC)
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare function isSameSecond(date1: Temporal.Instant | Temporal.ZonedDateTime, date2: Temporal.Instant | Temporal.ZonedDateTime): boolean;
|
|
59
|
+
//# sourceMappingURL=isSameSecond.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isSameSecond.d.ts","sourceRoot":"","sources":["../src/isSameSecond.ts"],"names":[],"mappings":"AAAA,OAAO,KAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,EAChD,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,GAC/C,OAAO,CAYT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isSameSecond.test.d.ts","sourceRoot":"","sources":["../src/isSameSecond.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { Temporal } from '@js-temporal/polyfill';
|
|
2
|
+
/**
|
|
3
|
+
* Returns true if both datetimes fall in the same ISO 8601 week.
|
|
4
|
+
* Uses ISO week numbering where weeks start on Monday and the first week
|
|
5
|
+
* of the year is the week containing January 4th.
|
|
6
|
+
*
|
|
7
|
+
* Compares the yearOfWeek and weekOfYear fields directly.
|
|
8
|
+
*
|
|
9
|
+
* Instant inputs are converted to UTC. For ZonedDateTime inputs, their
|
|
10
|
+
* timezone is preserved. Convert to a common timezone before calling if
|
|
11
|
+
* you need to compare from a specific perspective.
|
|
12
|
+
*
|
|
13
|
+
* @param date1 - First datetime (Instant or ZonedDateTime)
|
|
14
|
+
* @param date2 - Second datetime (Instant or ZonedDateTime)
|
|
15
|
+
* @returns true if both dates are in the same ISO week, false otherwise
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* // Same timezone, same week (both in week 4 of 2025)
|
|
20
|
+
* const monday = Temporal.ZonedDateTime.from('2025-01-20T08:00:00Z[UTC]'); // Monday, Week 4
|
|
21
|
+
* const sunday = Temporal.ZonedDateTime.from('2025-01-26T23:59:59Z[UTC]'); // Sunday, Week 4
|
|
22
|
+
*
|
|
23
|
+
* isSameWeek(monday, sunday); // true
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* // Same timezone, different weeks
|
|
29
|
+
* const week3 = Temporal.ZonedDateTime.from('2025-01-19T23:59:59Z[UTC]'); // Sunday, Week 3
|
|
30
|
+
* const week4 = Temporal.ZonedDateTime.from('2025-01-20T00:00:00Z[UTC]'); // Monday, Week 4
|
|
31
|
+
*
|
|
32
|
+
* isSameWeek(week3, week4); // false
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* // Different timezones - compares their local calendar weeks
|
|
38
|
+
* const ny = Temporal.ZonedDateTime.from('2025-01-26T23:00:00-05:00[America/New_York]');
|
|
39
|
+
* const tokyo = Temporal.ZonedDateTime.from('2025-01-27T13:00:00+09:00[Asia/Tokyo]');
|
|
40
|
+
*
|
|
41
|
+
* // Same instant, different local weeks from each person's perspective
|
|
42
|
+
* isSameWeek(ny, tokyo); // false (Week 4 Sun in NY, Week 5 Mon in Tokyo)
|
|
43
|
+
*
|
|
44
|
+
* // Convert to UTC to compare in UTC timezone
|
|
45
|
+
* isSameWeek(ny.withTimeZone('UTC'), tokyo.withTimeZone('UTC')); // true (both Week 5 in UTC)
|
|
46
|
+
*
|
|
47
|
+
* // Convert to NY timezone to compare from NY perspective
|
|
48
|
+
* isSameWeek(ny, tokyo.withTimeZone('America/New_York')); // true (both Week 4 in NY)
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* // Instant inputs are converted to UTC
|
|
54
|
+
* const instant1 = Temporal.Instant.from('2025-01-20T00:00:00Z'); // Monday, Week 4
|
|
55
|
+
* const instant2 = Temporal.Instant.from('2025-01-26T23:59:59Z'); // Sunday, Week 4
|
|
56
|
+
*
|
|
57
|
+
* isSameWeek(instant1, instant2); // true (both Week 4 2025 in UTC)
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* // ISO week years can differ from calendar years
|
|
63
|
+
* // December 29, 2024 is in Week 52 of 2024
|
|
64
|
+
* const dec29 = Temporal.ZonedDateTime.from('2024-12-29T12:00:00Z[UTC]');
|
|
65
|
+
* // January 5, 2025 is in Week 1 of 2025
|
|
66
|
+
* const jan5 = Temporal.ZonedDateTime.from('2025-01-05T12:00:00Z[UTC]');
|
|
67
|
+
*
|
|
68
|
+
* isSameWeek(dec29, jan5); // false (different ISO weeks)
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export declare function isSameWeek(date1: Temporal.Instant | Temporal.ZonedDateTime, date2: Temporal.Instant | Temporal.ZonedDateTime): boolean;
|
|
72
|
+
//# sourceMappingURL=isSameWeek.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isSameWeek.d.ts","sourceRoot":"","sources":["../src/isSameWeek.ts"],"names":[],"mappings":"AAAA,OAAO,KAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,EAChD,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,GAC/C,OAAO,CAQT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isSameWeek.test.d.ts","sourceRoot":"","sources":["../src/isSameWeek.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { Temporal } from '@js-temporal/polyfill';
|
|
2
|
+
/**
|
|
3
|
+
* Returns true if both datetimes fall in the same calendar year.
|
|
4
|
+
* Compares the year field directly.
|
|
5
|
+
*
|
|
6
|
+
* Instant inputs are converted to UTC. For ZonedDateTime inputs, their
|
|
7
|
+
* timezone is preserved. Convert to a common timezone before calling if
|
|
8
|
+
* you need to compare from a specific perspective.
|
|
9
|
+
*
|
|
10
|
+
* @param date1 - First datetime (Instant or ZonedDateTime)
|
|
11
|
+
* @param date2 - Second datetime (Instant or ZonedDateTime)
|
|
12
|
+
* @returns true if both dates are in the same calendar year, false otherwise
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* // Same timezone, same year
|
|
17
|
+
* const jan = Temporal.ZonedDateTime.from('2025-01-20T08:00:00Z[UTC]');
|
|
18
|
+
* const dec = Temporal.ZonedDateTime.from('2025-12-31T23:59:59Z[UTC]');
|
|
19
|
+
*
|
|
20
|
+
* isSameYear(jan, dec); // true
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* // Same timezone, different years
|
|
26
|
+
* const endOf2024 = Temporal.ZonedDateTime.from('2024-12-31T23:59:59Z[UTC]');
|
|
27
|
+
* const startOf2025 = Temporal.ZonedDateTime.from('2025-01-01T00:00:00Z[UTC]');
|
|
28
|
+
*
|
|
29
|
+
* isSameYear(endOf2024, startOf2025); // false
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* // Different timezones - compares their local calendar years
|
|
35
|
+
* const ny = Temporal.ZonedDateTime.from('2024-12-31T23:00:00-05:00[America/New_York]');
|
|
36
|
+
* const tokyo = Temporal.ZonedDateTime.from('2025-01-01T13:00:00+09:00[Asia/Tokyo]');
|
|
37
|
+
*
|
|
38
|
+
* // Same instant, different calendar years from each person's perspective
|
|
39
|
+
* isSameYear(ny, tokyo); // false (2024 in NY, 2025 in Tokyo)
|
|
40
|
+
*
|
|
41
|
+
* // Convert to UTC to compare in UTC timezone
|
|
42
|
+
* isSameYear(ny.withTimeZone('UTC'), tokyo.withTimeZone('UTC')); // true (both 2025 in UTC)
|
|
43
|
+
*
|
|
44
|
+
* // Convert to NY timezone to compare from NY perspective
|
|
45
|
+
* isSameYear(ny, tokyo.withTimeZone('America/New_York')); // true (both 2024 in NY)
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```ts
|
|
50
|
+
* // Instant inputs are converted to UTC
|
|
51
|
+
* const instant1 = Temporal.Instant.from('2025-01-01T00:00:00Z');
|
|
52
|
+
* const instant2 = Temporal.Instant.from('2025-12-31T23:59:59Z');
|
|
53
|
+
*
|
|
54
|
+
* isSameYear(instant1, instant2); // true (both 2025 in UTC)
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare function isSameYear(date1: Temporal.Instant | Temporal.ZonedDateTime, date2: Temporal.Instant | Temporal.ZonedDateTime): boolean;
|
|
58
|
+
//# sourceMappingURL=isSameYear.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isSameYear.d.ts","sourceRoot":"","sources":["../src/isSameYear.ts"],"names":[],"mappings":"AAAA,OAAO,KAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,EAChD,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,GAC/C,OAAO,CAKT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isSameYear.test.d.ts","sourceRoot":"","sources":["../src/isSameYear.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Temporal } from '@js-temporal/polyfill';
|
|
2
|
+
/**
|
|
3
|
+
* Subtracts the specified number of days from a datetime.
|
|
4
|
+
*
|
|
5
|
+
* This is a convenience wrapper around addDays with negated value.
|
|
6
|
+
* Properly handles DST transitions and calendar edge cases through Temporal API.
|
|
7
|
+
*
|
|
8
|
+
* @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime
|
|
9
|
+
* @param days - Number of days to subtract
|
|
10
|
+
* @returns ZonedDateTime with days subtracted, in the same timezone as input
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* const instant = Temporal.Instant.from('2025-01-25T12:00:00Z');
|
|
15
|
+
* const result = subDays(instant, 5);
|
|
16
|
+
* // 2025-01-20T12:00:00Z[UTC] (5 days earlier)
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function subDays(input: Temporal.Instant | Temporal.ZonedDateTime, days: number): Temporal.ZonedDateTime;
|
|
20
|
+
//# sourceMappingURL=subDays.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subDays.d.ts","sourceRoot":"","sources":["../src/subDays.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,EAChD,IAAI,EAAE,MAAM,GACX,QAAQ,CAAC,aAAa,CAExB"}
|
package/dist/subDays.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subDays.test.d.ts","sourceRoot":"","sources":["../src/subDays.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Temporal } from '@js-temporal/polyfill';
|
|
2
|
+
/**
|
|
3
|
+
* Subtracts the specified number of hours from a datetime.
|
|
4
|
+
*
|
|
5
|
+
* This is a convenience wrapper around addHours with negated value.
|
|
6
|
+
* Properly handles DST transitions through Temporal API.
|
|
7
|
+
*
|
|
8
|
+
* @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime
|
|
9
|
+
* @param hours - Number of hours to subtract
|
|
10
|
+
* @returns ZonedDateTime with hours subtracted, in the same timezone as input
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* const instant = Temporal.Instant.from('2025-01-20T15:00:00Z');
|
|
15
|
+
* const result = subHours(instant, 3);
|
|
16
|
+
* // 2025-01-20T12:00:00Z[UTC] (3 hours earlier)
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function subHours(input: Temporal.Instant | Temporal.ZonedDateTime, hours: number): Temporal.ZonedDateTime;
|
|
20
|
+
//# sourceMappingURL=subHours.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subHours.d.ts","sourceRoot":"","sources":["../src/subHours.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,EAChD,KAAK,EAAE,MAAM,GACZ,QAAQ,CAAC,aAAa,CAExB"}
|
package/dist/subHours.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subHours.test.d.ts","sourceRoot":"","sources":["../src/subHours.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Temporal } from '@js-temporal/polyfill';
|
|
2
|
+
/**
|
|
3
|
+
* Subtracts the specified number of microseconds from a datetime.
|
|
4
|
+
*
|
|
5
|
+
* This is a convenience wrapper around addMicroseconds with negated value.
|
|
6
|
+
*
|
|
7
|
+
* @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime
|
|
8
|
+
* @param microseconds - Number of microseconds to subtract
|
|
9
|
+
* @returns ZonedDateTime with microseconds subtracted, in the same timezone as input
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* const instant = Temporal.Instant.from('2025-01-20T12:00:00.001Z');
|
|
14
|
+
* const result = subMicroseconds(instant, 500);
|
|
15
|
+
* // 2025-01-20T12:00:00.000500Z[UTC] (500 microseconds earlier)
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare function subMicroseconds(input: Temporal.Instant | Temporal.ZonedDateTime, microseconds: number): Temporal.ZonedDateTime;
|
|
19
|
+
//# sourceMappingURL=subMicroseconds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subMicroseconds.d.ts","sourceRoot":"","sources":["../src/subMicroseconds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,EAChD,YAAY,EAAE,MAAM,GACnB,QAAQ,CAAC,aAAa,CAExB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subMicroseconds.test.d.ts","sourceRoot":"","sources":["../src/subMicroseconds.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Temporal } from '@js-temporal/polyfill';
|
|
2
|
+
/**
|
|
3
|
+
* Subtracts the specified number of milliseconds from a datetime.
|
|
4
|
+
*
|
|
5
|
+
* This is a convenience wrapper around addMilliseconds with negated value.
|
|
6
|
+
*
|
|
7
|
+
* @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime
|
|
8
|
+
* @param milliseconds - Number of milliseconds to subtract
|
|
9
|
+
* @returns ZonedDateTime with milliseconds subtracted, in the same timezone as input
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* const instant = Temporal.Instant.from('2025-01-20T12:00:00.500Z');
|
|
14
|
+
* const result = subMilliseconds(instant, 250);
|
|
15
|
+
* // 2025-01-20T12:00:00.250Z[UTC] (250 milliseconds earlier)
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare function subMilliseconds(input: Temporal.Instant | Temporal.ZonedDateTime, milliseconds: number): Temporal.ZonedDateTime;
|
|
19
|
+
//# sourceMappingURL=subMilliseconds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subMilliseconds.d.ts","sourceRoot":"","sources":["../src/subMilliseconds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,EAChD,YAAY,EAAE,MAAM,GACnB,QAAQ,CAAC,aAAa,CAExB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subMilliseconds.test.d.ts","sourceRoot":"","sources":["../src/subMilliseconds.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Temporal } from '@js-temporal/polyfill';
|
|
2
|
+
/**
|
|
3
|
+
* Subtracts the specified number of minutes from a datetime.
|
|
4
|
+
*
|
|
5
|
+
* This is a convenience wrapper around addMinutes with negated value.
|
|
6
|
+
*
|
|
7
|
+
* @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime
|
|
8
|
+
* @param minutes - Number of minutes to subtract
|
|
9
|
+
* @returns ZonedDateTime with minutes subtracted, in the same timezone as input
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* const instant = Temporal.Instant.from('2025-01-20T12:30:00Z');
|
|
14
|
+
* const result = subMinutes(instant, 15);
|
|
15
|
+
* // 2025-01-20T12:15:00Z[UTC] (15 minutes earlier)
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare function subMinutes(input: Temporal.Instant | Temporal.ZonedDateTime, minutes: number): Temporal.ZonedDateTime;
|
|
19
|
+
//# sourceMappingURL=subMinutes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subMinutes.d.ts","sourceRoot":"","sources":["../src/subMinutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,EAChD,OAAO,EAAE,MAAM,GACd,QAAQ,CAAC,aAAa,CAExB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subMinutes.test.d.ts","sourceRoot":"","sources":["../src/subMinutes.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Temporal } from '@js-temporal/polyfill';
|
|
2
|
+
/**
|
|
3
|
+
* Subtracts the specified number of months from a datetime.
|
|
4
|
+
*
|
|
5
|
+
* This is a convenience wrapper around addMonths with negated value.
|
|
6
|
+
* Properly handles month-end dates and calendar edge cases through Temporal API.
|
|
7
|
+
*
|
|
8
|
+
* @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime
|
|
9
|
+
* @param months - Number of months to subtract
|
|
10
|
+
* @returns ZonedDateTime with months subtracted, in the same timezone as input
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* const instant = Temporal.Instant.from('2025-04-20T12:00:00Z');
|
|
15
|
+
* const result = subMonths(instant, 3);
|
|
16
|
+
* // 2025-01-20T12:00:00Z[UTC] (3 months earlier)
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function subMonths(input: Temporal.Instant | Temporal.ZonedDateTime, months: number): Temporal.ZonedDateTime;
|
|
20
|
+
//# sourceMappingURL=subMonths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subMonths.d.ts","sourceRoot":"","sources":["../src/subMonths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,EAChD,MAAM,EAAE,MAAM,GACb,QAAQ,CAAC,aAAa,CAExB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subMonths.test.d.ts","sourceRoot":"","sources":["../src/subMonths.test.ts"],"names":[],"mappings":""}
|