@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.
Files changed (260) hide show
  1. package/README.md +297 -24
  2. package/dist/addDays.d.ts +37 -0
  3. package/dist/addDays.d.ts.map +1 -0
  4. package/dist/addDays.js +8 -0
  5. package/dist/addDays.js.map +1 -0
  6. package/dist/addDays.test.d.ts +2 -0
  7. package/dist/addDays.test.d.ts.map +1 -0
  8. package/dist/addHours.d.ts +37 -0
  9. package/dist/addHours.d.ts.map +1 -0
  10. package/dist/addHours.js +8 -0
  11. package/dist/addHours.js.map +1 -0
  12. package/dist/addHours.test.d.ts +2 -0
  13. package/dist/addHours.test.d.ts.map +1 -0
  14. package/dist/addMicroseconds.d.ts +36 -0
  15. package/dist/addMicroseconds.d.ts.map +1 -0
  16. package/dist/addMicroseconds.js +8 -0
  17. package/dist/addMicroseconds.js.map +1 -0
  18. package/dist/addMicroseconds.test.d.ts +2 -0
  19. package/dist/addMicroseconds.test.d.ts.map +1 -0
  20. package/dist/addMilliseconds.d.ts +36 -0
  21. package/dist/addMilliseconds.d.ts.map +1 -0
  22. package/dist/addMilliseconds.js +8 -0
  23. package/dist/addMilliseconds.js.map +1 -0
  24. package/dist/addMilliseconds.test.d.ts +2 -0
  25. package/dist/addMilliseconds.test.d.ts.map +1 -0
  26. package/dist/addMinutes.d.ts +36 -0
  27. package/dist/addMinutes.d.ts.map +1 -0
  28. package/dist/addMinutes.js +8 -0
  29. package/dist/addMinutes.js.map +1 -0
  30. package/dist/addMinutes.test.d.ts +2 -0
  31. package/dist/addMinutes.test.d.ts.map +1 -0
  32. package/dist/addMonths.d.ts +37 -0
  33. package/dist/addMonths.d.ts.map +1 -0
  34. package/dist/addMonths.js +8 -0
  35. package/dist/addMonths.js.map +1 -0
  36. package/dist/addMonths.test.d.ts +2 -0
  37. package/dist/addMonths.test.d.ts.map +1 -0
  38. package/dist/addNanoseconds.d.ts +36 -0
  39. package/dist/addNanoseconds.d.ts.map +1 -0
  40. package/dist/addNanoseconds.js +8 -0
  41. package/dist/addNanoseconds.js.map +1 -0
  42. package/dist/addNanoseconds.test.d.ts +2 -0
  43. package/dist/addNanoseconds.test.d.ts.map +1 -0
  44. package/dist/addSeconds.d.ts +36 -0
  45. package/dist/addSeconds.d.ts.map +1 -0
  46. package/dist/addSeconds.js +8 -0
  47. package/dist/addSeconds.js.map +1 -0
  48. package/dist/addSeconds.test.d.ts +2 -0
  49. package/dist/addSeconds.test.d.ts.map +1 -0
  50. package/dist/addWeeks.d.ts +37 -0
  51. package/dist/addWeeks.d.ts.map +1 -0
  52. package/dist/addWeeks.js +8 -0
  53. package/dist/addWeeks.js.map +1 -0
  54. package/dist/addWeeks.test.d.ts +2 -0
  55. package/dist/addWeeks.test.d.ts.map +1 -0
  56. package/dist/addYears.d.ts +37 -0
  57. package/dist/addYears.d.ts.map +1 -0
  58. package/dist/addYears.js +8 -0
  59. package/dist/addYears.js.map +1 -0
  60. package/dist/addYears.test.d.ts +2 -0
  61. package/dist/addYears.test.d.ts.map +1 -0
  62. package/dist/{chunk-KD5GEHUA.js → chunk-2MP3ESL7.js} +4 -1
  63. package/dist/chunk-2MP3ESL7.js.map +1 -0
  64. package/dist/chunk-2XHAHSB6.js +14 -0
  65. package/dist/chunk-2XHAHSB6.js.map +1 -0
  66. package/dist/chunk-4NJMCCUM.js +14 -0
  67. package/dist/chunk-4NJMCCUM.js.map +1 -0
  68. package/dist/chunk-52NEOY34.js +13 -0
  69. package/dist/chunk-52NEOY34.js.map +1 -0
  70. package/dist/chunk-7ATM7AXL.js +14 -0
  71. package/dist/chunk-7ATM7AXL.js.map +1 -0
  72. package/dist/chunk-A5VVBYNT.js +14 -0
  73. package/dist/chunk-A5VVBYNT.js.map +1 -0
  74. package/dist/chunk-ADQTZVMH.js +15 -0
  75. package/dist/chunk-ADQTZVMH.js.map +1 -0
  76. package/dist/chunk-AHMKY474.js +13 -0
  77. package/dist/chunk-AHMKY474.js.map +1 -0
  78. package/dist/chunk-BH2YB4MV.js +13 -0
  79. package/dist/chunk-BH2YB4MV.js.map +1 -0
  80. package/dist/chunk-BQBLSXK2.js +13 -0
  81. package/dist/chunk-BQBLSXK2.js.map +1 -0
  82. package/dist/{chunk-GPAFAHKJ.js → chunk-BW5SFCKS.js} +4 -1
  83. package/dist/chunk-BW5SFCKS.js.map +1 -0
  84. package/dist/chunk-CY746ZUQ.js +15 -0
  85. package/dist/chunk-CY746ZUQ.js.map +1 -0
  86. package/dist/chunk-DT2EWLHU.js +14 -0
  87. package/dist/chunk-DT2EWLHU.js.map +1 -0
  88. package/dist/chunk-EEQ3REET.js +15 -0
  89. package/dist/chunk-EEQ3REET.js.map +1 -0
  90. package/dist/chunk-EYO2ZJLH.js +14 -0
  91. package/dist/chunk-EYO2ZJLH.js.map +1 -0
  92. package/dist/chunk-HDBH7RTY.js +13 -0
  93. package/dist/chunk-HDBH7RTY.js.map +1 -0
  94. package/dist/chunk-ISHZRFVN.js +15 -0
  95. package/dist/chunk-ISHZRFVN.js.map +1 -0
  96. package/dist/chunk-J6G2I2TU.js +13 -0
  97. package/dist/chunk-J6G2I2TU.js.map +1 -0
  98. package/dist/chunk-JOD4ATPE.js +15 -0
  99. package/dist/chunk-JOD4ATPE.js.map +1 -0
  100. package/dist/chunk-L4SVABDH.js +14 -0
  101. package/dist/chunk-L4SVABDH.js.map +1 -0
  102. package/dist/chunk-LDO6PRNJ.js +15 -0
  103. package/dist/chunk-LDO6PRNJ.js.map +1 -0
  104. package/dist/chunk-NRD5HRZV.js +14 -0
  105. package/dist/chunk-NRD5HRZV.js.map +1 -0
  106. package/dist/chunk-PPB62JYV.js +15 -0
  107. package/dist/chunk-PPB62JYV.js.map +1 -0
  108. package/dist/chunk-Q2F3HEXB.js +14 -0
  109. package/dist/chunk-Q2F3HEXB.js.map +1 -0
  110. package/dist/chunk-S63QUP4W.js +15 -0
  111. package/dist/chunk-S63QUP4W.js.map +1 -0
  112. package/dist/chunk-TGKWBQ7L.js +13 -0
  113. package/dist/chunk-TGKWBQ7L.js.map +1 -0
  114. package/dist/chunk-U4RNUZXO.js +13 -0
  115. package/dist/chunk-U4RNUZXO.js.map +1 -0
  116. package/dist/chunk-V27NUBXQ.js +14 -0
  117. package/dist/chunk-V27NUBXQ.js.map +1 -0
  118. package/dist/chunk-VLZ3HQQA.js +15 -0
  119. package/dist/chunk-VLZ3HQQA.js.map +1 -0
  120. package/dist/chunk-WVHAYLBW.js +13 -0
  121. package/dist/chunk-WVHAYLBW.js.map +1 -0
  122. package/dist/{chunk-NL5LWPJI.js → chunk-XEDXPI5G.js} +4 -4
  123. package/dist/chunk-XW5MLXX5.js +13 -0
  124. package/dist/chunk-XW5MLXX5.js.map +1 -0
  125. package/dist/chunk-YKBP3G7L.js +13 -0
  126. package/dist/chunk-YKBP3G7L.js.map +1 -0
  127. package/dist/index.d.ts +30 -0
  128. package/dist/index.d.ts.map +1 -1
  129. package/dist/index.js +139 -19
  130. package/dist/intlFormatDistance.js +2 -2
  131. package/dist/isSameHour.d.ts +58 -0
  132. package/dist/isSameHour.d.ts.map +1 -0
  133. package/dist/isSameHour.js +8 -0
  134. package/dist/isSameHour.js.map +1 -0
  135. package/dist/isSameHour.test.d.ts +2 -0
  136. package/dist/isSameHour.test.d.ts.map +1 -0
  137. package/dist/isSameMicrosecond.d.ts +59 -0
  138. package/dist/isSameMicrosecond.d.ts.map +1 -0
  139. package/dist/isSameMicrosecond.js +8 -0
  140. package/dist/isSameMicrosecond.js.map +1 -0
  141. package/dist/isSameMicrosecond.test.d.ts +2 -0
  142. package/dist/isSameMicrosecond.test.d.ts.map +1 -0
  143. package/dist/isSameMillisecond.d.ts +59 -0
  144. package/dist/isSameMillisecond.d.ts.map +1 -0
  145. package/dist/isSameMillisecond.js +8 -0
  146. package/dist/isSameMillisecond.js.map +1 -0
  147. package/dist/isSameMillisecond.test.d.ts +2 -0
  148. package/dist/isSameMillisecond.test.d.ts.map +1 -0
  149. package/dist/isSameMinute.d.ts +58 -0
  150. package/dist/isSameMinute.d.ts.map +1 -0
  151. package/dist/isSameMinute.js +8 -0
  152. package/dist/isSameMinute.js.map +1 -0
  153. package/dist/isSameMinute.test.d.ts +2 -0
  154. package/dist/isSameMinute.test.d.ts.map +1 -0
  155. package/dist/isSameMonth.d.ts +58 -0
  156. package/dist/isSameMonth.d.ts.map +1 -0
  157. package/dist/isSameMonth.js +8 -0
  158. package/dist/isSameMonth.js.map +1 -0
  159. package/dist/isSameMonth.test.d.ts +2 -0
  160. package/dist/isSameMonth.test.d.ts.map +1 -0
  161. package/dist/isSameNanosecond.d.ts +59 -0
  162. package/dist/isSameNanosecond.d.ts.map +1 -0
  163. package/dist/isSameNanosecond.js +8 -0
  164. package/dist/isSameNanosecond.js.map +1 -0
  165. package/dist/isSameNanosecond.test.d.ts +2 -0
  166. package/dist/isSameNanosecond.test.d.ts.map +1 -0
  167. package/dist/isSameSecond.d.ts +59 -0
  168. package/dist/isSameSecond.d.ts.map +1 -0
  169. package/dist/isSameSecond.js +8 -0
  170. package/dist/isSameSecond.js.map +1 -0
  171. package/dist/isSameSecond.test.d.ts +2 -0
  172. package/dist/isSameSecond.test.d.ts.map +1 -0
  173. package/dist/isSameWeek.d.ts +72 -0
  174. package/dist/isSameWeek.d.ts.map +1 -0
  175. package/dist/isSameWeek.js +8 -0
  176. package/dist/isSameWeek.js.map +1 -0
  177. package/dist/isSameWeek.test.d.ts +2 -0
  178. package/dist/isSameWeek.test.d.ts.map +1 -0
  179. package/dist/isSameYear.d.ts +58 -0
  180. package/dist/isSameYear.d.ts.map +1 -0
  181. package/dist/isSameYear.js +8 -0
  182. package/dist/isSameYear.js.map +1 -0
  183. package/dist/isSameYear.test.d.ts +2 -0
  184. package/dist/isSameYear.test.d.ts.map +1 -0
  185. package/dist/subDays.d.ts +20 -0
  186. package/dist/subDays.d.ts.map +1 -0
  187. package/dist/subDays.js +9 -0
  188. package/dist/subDays.js.map +1 -0
  189. package/dist/subDays.test.d.ts +2 -0
  190. package/dist/subDays.test.d.ts.map +1 -0
  191. package/dist/subHours.d.ts +20 -0
  192. package/dist/subHours.d.ts.map +1 -0
  193. package/dist/subHours.js +9 -0
  194. package/dist/subHours.js.map +1 -0
  195. package/dist/subHours.test.d.ts +2 -0
  196. package/dist/subHours.test.d.ts.map +1 -0
  197. package/dist/subMicroseconds.d.ts +19 -0
  198. package/dist/subMicroseconds.d.ts.map +1 -0
  199. package/dist/subMicroseconds.js +9 -0
  200. package/dist/subMicroseconds.js.map +1 -0
  201. package/dist/subMicroseconds.test.d.ts +2 -0
  202. package/dist/subMicroseconds.test.d.ts.map +1 -0
  203. package/dist/subMilliseconds.d.ts +19 -0
  204. package/dist/subMilliseconds.d.ts.map +1 -0
  205. package/dist/subMilliseconds.js +9 -0
  206. package/dist/subMilliseconds.js.map +1 -0
  207. package/dist/subMilliseconds.test.d.ts +2 -0
  208. package/dist/subMilliseconds.test.d.ts.map +1 -0
  209. package/dist/subMinutes.d.ts +19 -0
  210. package/dist/subMinutes.d.ts.map +1 -0
  211. package/dist/subMinutes.js +9 -0
  212. package/dist/subMinutes.js.map +1 -0
  213. package/dist/subMinutes.test.d.ts +2 -0
  214. package/dist/subMinutes.test.d.ts.map +1 -0
  215. package/dist/subMonths.d.ts +20 -0
  216. package/dist/subMonths.d.ts.map +1 -0
  217. package/dist/subMonths.js +9 -0
  218. package/dist/subMonths.js.map +1 -0
  219. package/dist/subMonths.test.d.ts +2 -0
  220. package/dist/subMonths.test.d.ts.map +1 -0
  221. package/dist/subNanoseconds.d.ts +19 -0
  222. package/dist/subNanoseconds.d.ts.map +1 -0
  223. package/dist/subNanoseconds.js +9 -0
  224. package/dist/subNanoseconds.js.map +1 -0
  225. package/dist/subNanoseconds.test.d.ts +2 -0
  226. package/dist/subNanoseconds.test.d.ts.map +1 -0
  227. package/dist/subSeconds.d.ts +19 -0
  228. package/dist/subSeconds.d.ts.map +1 -0
  229. package/dist/subSeconds.js +9 -0
  230. package/dist/subSeconds.js.map +1 -0
  231. package/dist/subSeconds.test.d.ts +2 -0
  232. package/dist/subSeconds.test.d.ts.map +1 -0
  233. package/dist/subWeeks.d.ts +20 -0
  234. package/dist/subWeeks.d.ts.map +1 -0
  235. package/dist/subWeeks.js +9 -0
  236. package/dist/subWeeks.js.map +1 -0
  237. package/dist/subWeeks.test.d.ts +2 -0
  238. package/dist/subWeeks.test.d.ts.map +1 -0
  239. package/dist/subYears.d.ts +20 -0
  240. package/dist/subYears.d.ts.map +1 -0
  241. package/dist/subYears.js +9 -0
  242. package/dist/subYears.js.map +1 -0
  243. package/dist/subYears.test.d.ts +2 -0
  244. package/dist/subYears.test.d.ts.map +1 -0
  245. package/dist/toDate.d.ts +27 -0
  246. package/dist/toDate.d.ts.map +1 -0
  247. package/dist/toDate.js +7 -0
  248. package/dist/toDate.js.map +1 -0
  249. package/dist/toDate.test.d.ts +2 -0
  250. package/dist/toDate.test.d.ts.map +1 -0
  251. package/dist/toUtc.d.ts +9 -5
  252. package/dist/toUtc.d.ts.map +1 -1
  253. package/dist/toUtc.js +1 -1
  254. package/dist/toZonedTime.d.ts +8 -4
  255. package/dist/toZonedTime.d.ts.map +1 -1
  256. package/dist/toZonedTime.js +1 -1
  257. package/package.json +1 -1
  258. package/dist/chunk-GPAFAHKJ.js.map +0 -1
  259. package/dist/chunk-KD5GEHUA.js.map +0 -1
  260. /package/dist/{chunk-NL5LWPJI.js.map → chunk-XEDXPI5G.js.map} +0 -0
@@ -0,0 +1,19 @@
1
+ import type { Temporal } from '@js-temporal/polyfill';
2
+ /**
3
+ * Subtracts the specified number of nanoseconds from a datetime.
4
+ *
5
+ * This is a convenience wrapper around addNanoseconds with negated value.
6
+ *
7
+ * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime
8
+ * @param nanoseconds - Number of nanoseconds to subtract
9
+ * @returns ZonedDateTime with nanoseconds subtracted, in the same timezone as input
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const instant = Temporal.Instant.from('2025-01-20T12:00:00.000001Z');
14
+ * const result = subNanoseconds(instant, 500);
15
+ * // 2025-01-20T12:00:00.000000500Z[UTC] (500 nanoseconds earlier)
16
+ * ```
17
+ */
18
+ export declare function subNanoseconds(input: Temporal.Instant | Temporal.ZonedDateTime, nanoseconds: number): Temporal.ZonedDateTime;
19
+ //# sourceMappingURL=subNanoseconds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subNanoseconds.d.ts","sourceRoot":"","sources":["../src/subNanoseconds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,EAChD,WAAW,EAAE,MAAM,GAClB,QAAQ,CAAC,aAAa,CAExB"}
@@ -0,0 +1,9 @@
1
+ import {
2
+ subNanoseconds
3
+ } from "./chunk-WVHAYLBW.js";
4
+ import "./chunk-EYO2ZJLH.js";
5
+ import "./chunk-MJSZNWCV.js";
6
+ export {
7
+ subNanoseconds
8
+ };
9
+ //# sourceMappingURL=subNanoseconds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=subNanoseconds.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subNanoseconds.test.d.ts","sourceRoot":"","sources":["../src/subNanoseconds.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import type { Temporal } from '@js-temporal/polyfill';
2
+ /**
3
+ * Subtracts the specified number of seconds from a datetime.
4
+ *
5
+ * This is a convenience wrapper around addSeconds with negated value.
6
+ *
7
+ * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime
8
+ * @param seconds - Number of seconds to subtract
9
+ * @returns ZonedDateTime with seconds subtracted, in the same timezone as input
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const instant = Temporal.Instant.from('2025-01-20T12:00:45Z');
14
+ * const result = subSeconds(instant, 30);
15
+ * // 2025-01-20T12:00:15Z[UTC] (30 seconds earlier)
16
+ * ```
17
+ */
18
+ export declare function subSeconds(input: Temporal.Instant | Temporal.ZonedDateTime, seconds: number): Temporal.ZonedDateTime;
19
+ //# sourceMappingURL=subSeconds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subSeconds.d.ts","sourceRoot":"","sources":["../src/subSeconds.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,9 @@
1
+ import {
2
+ subSeconds
3
+ } from "./chunk-BH2YB4MV.js";
4
+ import "./chunk-NRD5HRZV.js";
5
+ import "./chunk-MJSZNWCV.js";
6
+ export {
7
+ subSeconds
8
+ };
9
+ //# sourceMappingURL=subSeconds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=subSeconds.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subSeconds.test.d.ts","sourceRoot":"","sources":["../src/subSeconds.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import type { Temporal } from '@js-temporal/polyfill';
2
+ /**
3
+ * Subtracts the specified number of weeks from a datetime.
4
+ *
5
+ * This is a convenience wrapper around addWeeks 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 weeks - Number of weeks to subtract
10
+ * @returns ZonedDateTime with weeks subtracted, in the same timezone as input
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const instant = Temporal.Instant.from('2025-02-03T12:00:00Z');
15
+ * const result = subWeeks(instant, 2);
16
+ * // 2025-01-20T12:00:00Z[UTC] (2 weeks earlier)
17
+ * ```
18
+ */
19
+ export declare function subWeeks(input: Temporal.Instant | Temporal.ZonedDateTime, weeks: number): Temporal.ZonedDateTime;
20
+ //# sourceMappingURL=subWeeks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subWeeks.d.ts","sourceRoot":"","sources":["../src/subWeeks.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"}
@@ -0,0 +1,9 @@
1
+ import {
2
+ subWeeks
3
+ } from "./chunk-U4RNUZXO.js";
4
+ import "./chunk-DT2EWLHU.js";
5
+ import "./chunk-MJSZNWCV.js";
6
+ export {
7
+ subWeeks
8
+ };
9
+ //# sourceMappingURL=subWeeks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=subWeeks.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subWeeks.test.d.ts","sourceRoot":"","sources":["../src/subWeeks.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import type { Temporal } from '@js-temporal/polyfill';
2
+ /**
3
+ * Subtracts the specified number of years from a datetime.
4
+ *
5
+ * This is a convenience wrapper around addYears with negated value.
6
+ * Properly handles leap years and calendar edge cases through Temporal API.
7
+ *
8
+ * @param input - A Temporal.Instant (UTC) or Temporal.ZonedDateTime
9
+ * @param years - Number of years to subtract
10
+ * @returns ZonedDateTime with years subtracted, in the same timezone as input
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const instant = Temporal.Instant.from('2025-01-20T12:00:00Z');
15
+ * const result = subYears(instant, 2);
16
+ * // 2023-01-20T12:00:00Z[UTC] (2 years earlier)
17
+ * ```
18
+ */
19
+ export declare function subYears(input: Temporal.Instant | Temporal.ZonedDateTime, years: number): Temporal.ZonedDateTime;
20
+ //# sourceMappingURL=subYears.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subYears.d.ts","sourceRoot":"","sources":["../src/subYears.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"}
@@ -0,0 +1,9 @@
1
+ import {
2
+ subYears
3
+ } from "./chunk-AHMKY474.js";
4
+ import "./chunk-Q2F3HEXB.js";
5
+ import "./chunk-MJSZNWCV.js";
6
+ export {
7
+ subYears
8
+ };
9
+ //# sourceMappingURL=subYears.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=subYears.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subYears.test.d.ts","sourceRoot":"","sources":["../src/subYears.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { Temporal } from '@js-temporal/polyfill';
2
+ /**
3
+ * Convert a Temporal.Instant or ZonedDateTime to a Date object.
4
+ *
5
+ * @param input - A Temporal.Instant or Temporal.ZonedDateTime
6
+ * @returns A Date object representing the same moment in time
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * // From Instant
11
+ * const instant = Temporal.Instant.from("2025-01-20T20:00:00Z");
12
+ * const date = toDate(instant);
13
+ * // date.toISOString() === "2025-01-20T20:00:00.000Z"
14
+ *
15
+ * // From ZonedDateTime
16
+ * const zoned = Temporal.ZonedDateTime.from("2025-01-20T15:00:00-05:00[America/New_York]");
17
+ * const date2 = toDate(zoned);
18
+ * // date2.toISOString() === "2025-01-20T20:00:00.000Z"
19
+ *
20
+ * // Use with Drizzle ORM (for storing back to database)
21
+ * const instant = Temporal.Instant.from("2025-01-20T20:00:00Z");
22
+ * const date = toDate(instant);
23
+ * await db.update(posts).set({ publishedAt: date });
24
+ * ```
25
+ */
26
+ export declare function toDate(input: Temporal.Instant | Temporal.ZonedDateTime): Date;
27
+ //# sourceMappingURL=toDate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toDate.d.ts","sourceRoot":"","sources":["../src/toDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,GAC/C,IAAI,CAMN"}
package/dist/toDate.js ADDED
@@ -0,0 +1,7 @@
1
+ import {
2
+ toDate
3
+ } from "./chunk-TGKWBQ7L.js";
4
+ export {
5
+ toDate
6
+ };
7
+ //# sourceMappingURL=toDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=toDate.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toDate.test.d.ts","sourceRoot":"","sources":["../src/toDate.test.ts"],"names":[],"mappings":""}
package/dist/toUtc.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { Temporal } from '@js-temporal/polyfill';
2
2
  /**
3
- * Convert a UTC ISO string or ZonedDateTime to a Temporal.Instant (UTC).
3
+ * Convert a UTC ISO string, Date, or ZonedDateTime to a Temporal.Instant (UTC).
4
4
  *
5
- * @param input - A UTC ISO 8601 string or Temporal.ZonedDateTime
5
+ * @param input - A UTC ISO 8601 string, Date object, or Temporal.ZonedDateTime
6
6
  * @returns A Temporal.Instant representing the same moment in UTC
7
7
  *
8
8
  * @example
@@ -10,11 +10,15 @@ import { Temporal } from '@js-temporal/polyfill';
10
10
  * // From ISO string
11
11
  * const instant = toUtc("2025-01-20T20:00:00.000Z");
12
12
  *
13
+ * // From Date (e.g., from Drizzle ORM)
14
+ * const date = new Date("2025-01-20T20:00:00.000Z");
15
+ * const instant2 = toUtc(date);
16
+ *
13
17
  * // From ZonedDateTime
14
18
  * const zoned = Temporal.ZonedDateTime.from("2025-01-20T15:00:00-05:00[America/New_York]");
15
- * const instant2 = toUtc(zoned);
16
- * // Both represent the same UTC moment: 2025-01-20T20:00:00Z
19
+ * const instant3 = toUtc(zoned);
20
+ * // All represent the same UTC moment: 2025-01-20T20:00:00Z
17
21
  * ```
18
22
  */
19
- export declare function toUtc(input: string | Temporal.ZonedDateTime): Temporal.Instant;
23
+ export declare function toUtc(input: string | Date | Temporal.ZonedDateTime): Temporal.Instant;
20
24
  //# sourceMappingURL=toUtc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toUtc.d.ts","sourceRoot":"","sources":["../src/toUtc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,KAAK,CACnB,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,aAAa,GACrC,QAAQ,CAAC,OAAO,CAMlB"}
1
+ {"version":3,"file":"toUtc.d.ts","sourceRoot":"","sources":["../src/toUtc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,KAAK,CACnB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,aAAa,GAC5C,QAAQ,CAAC,OAAO,CAUlB"}
package/dist/toUtc.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  toUtc
3
- } from "./chunk-GPAFAHKJ.js";
3
+ } from "./chunk-BW5SFCKS.js";
4
4
  export {
5
5
  toUtc
6
6
  };
@@ -1,8 +1,8 @@
1
1
  import { Temporal } from '@js-temporal/polyfill';
2
2
  /**
3
- * Convert a UTC ISO string, Instant, or ZonedDateTime to a ZonedDateTime in the specified timezone.
3
+ * Convert a UTC ISO string, Date, Instant, or ZonedDateTime to a ZonedDateTime in the specified timezone.
4
4
  *
5
- * @param input - A UTC ISO 8601 string, Temporal.Instant, or Temporal.ZonedDateTime
5
+ * @param input - A UTC ISO 8601 string, Date object, Temporal.Instant, or Temporal.ZonedDateTime
6
6
  * @param timezone - IANA timezone identifier (e.g., "America/New_York", "Europe/London")
7
7
  * @returns A Temporal.ZonedDateTime in the specified timezone
8
8
  *
@@ -12,14 +12,18 @@ import { Temporal } from '@js-temporal/polyfill';
12
12
  * const zoned = toZonedTime("2025-01-20T20:00:00.000Z", "America/New_York");
13
13
  * // zoned.hour === 15 (3 PM in New York)
14
14
  *
15
+ * // From Date (e.g., from Drizzle ORM)
16
+ * const date = new Date("2025-01-20T20:00:00.000Z");
17
+ * const zoned2 = toZonedTime(date, "America/New_York");
18
+ *
15
19
  * // From Instant
16
20
  * const instant = Temporal.Instant.from("2025-01-20T20:00:00Z");
17
- * const zoned2 = toZonedTime(instant, "Asia/Tokyo");
21
+ * const zoned3 = toZonedTime(instant, "Asia/Tokyo");
18
22
  *
19
23
  * // From ZonedDateTime (convert to different timezone)
20
24
  * const nyTime = Temporal.ZonedDateTime.from("2025-01-20T15:00:00-05:00[America/New_York]");
21
25
  * const tokyoTime = toZonedTime(nyTime, "Asia/Tokyo");
22
26
  * ```
23
27
  */
24
- export declare function toZonedTime(input: string | Temporal.Instant | Temporal.ZonedDateTime, timezone: string): Temporal.ZonedDateTime;
28
+ export declare function toZonedTime(input: string | Date | Temporal.Instant | Temporal.ZonedDateTime, timezone: string): Temporal.ZonedDateTime;
25
29
  //# sourceMappingURL=toZonedTime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toZonedTime.d.ts","sourceRoot":"","sources":["../src/toZonedTime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,EACzD,QAAQ,EAAE,MAAM,GACf,QAAQ,CAAC,aAAa,CAUxB"}
1
+ {"version":3,"file":"toZonedTime.d.ts","sourceRoot":"","sources":["../src/toZonedTime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,EAChE,QAAQ,EAAE,MAAM,GACf,QAAQ,CAAC,aAAa,CAcxB"}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  toZonedTime
3
- } from "./chunk-KD5GEHUA.js";
3
+ } from "./chunk-2MP3ESL7.js";
4
4
  export {
5
5
  toZonedTime
6
6
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gobrand/tiempo",
3
- "version": "2.2.3",
3
+ "version": "2.3.1",
4
4
  "description": "Lightweight utility functions for converting between UTC and timezone-aware datetimes using the Temporal API",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/toUtc.ts"],"sourcesContent":["import { Temporal } from '@js-temporal/polyfill';\n\n/**\n * Convert a UTC ISO string or ZonedDateTime to a Temporal.Instant (UTC).\n *\n * @param input - A UTC ISO 8601 string or Temporal.ZonedDateTime\n * @returns A Temporal.Instant representing the same moment in UTC\n *\n * @example\n * ```typescript\n * // From ISO string\n * const instant = toUtc(\"2025-01-20T20:00:00.000Z\");\n *\n * // From ZonedDateTime\n * const zoned = Temporal.ZonedDateTime.from(\"2025-01-20T15:00:00-05:00[America/New_York]\");\n * const instant2 = toUtc(zoned);\n * // Both represent the same UTC moment: 2025-01-20T20:00:00Z\n * ```\n */\nexport function toUtc(\n input: string | Temporal.ZonedDateTime\n): Temporal.Instant {\n if (typeof input === 'string') {\n return Temporal.Instant.from(input);\n }\n\n return input.toInstant();\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AAmBlB,SAAS,MACd,OACkB;AAClB,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,SAAS,QAAQ,KAAK,KAAK;AAAA,EACpC;AAEA,SAAO,MAAM,UAAU;AACzB;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/toZonedTime.ts"],"sourcesContent":["import { Temporal } from '@js-temporal/polyfill';\n\n/**\n * Convert a UTC ISO string, Instant, or ZonedDateTime to a ZonedDateTime in the specified timezone.\n *\n * @param input - A UTC ISO 8601 string, Temporal.Instant, or Temporal.ZonedDateTime\n * @param timezone - IANA timezone identifier (e.g., \"America/New_York\", \"Europe/London\")\n * @returns A Temporal.ZonedDateTime in the specified timezone\n *\n * @example\n * ```typescript\n * // From ISO string\n * const zoned = toZonedTime(\"2025-01-20T20:00:00.000Z\", \"America/New_York\");\n * // zoned.hour === 15 (3 PM in New York)\n *\n * // From Instant\n * const instant = Temporal.Instant.from(\"2025-01-20T20:00:00Z\");\n * const zoned2 = toZonedTime(instant, \"Asia/Tokyo\");\n *\n * // From ZonedDateTime (convert to different timezone)\n * const nyTime = Temporal.ZonedDateTime.from(\"2025-01-20T15:00:00-05:00[America/New_York]\");\n * const tokyoTime = toZonedTime(nyTime, \"Asia/Tokyo\");\n * ```\n */\nexport function toZonedTime(\n input: string | Temporal.Instant | Temporal.ZonedDateTime,\n timezone: string\n): Temporal.ZonedDateTime {\n if (typeof input === 'string') {\n return Temporal.Instant.from(input).toZonedDateTimeISO(timezone);\n }\n\n if (input instanceof Temporal.Instant) {\n return input.toZonedDateTimeISO(timezone);\n }\n\n return input.toInstant().toZonedDateTimeISO(timezone);\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AAwBlB,SAAS,YACd,OACA,UACwB;AACxB,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,SAAS,QAAQ,KAAK,KAAK,EAAE,mBAAmB,QAAQ;AAAA,EACjE;AAEA,MAAI,iBAAiB,SAAS,SAAS;AACrC,WAAO,MAAM,mBAAmB,QAAQ;AAAA,EAC1C;AAEA,SAAO,MAAM,UAAU,EAAE,mBAAmB,QAAQ;AACtD;","names":[]}