@northguild/gmt 1.16.0 → 1.18.0

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 (654) hide show
  1. package/README.md +742 -21
  2. package/dist/calendar/calculate/bucketRange.d.ts +3 -3
  3. package/dist/calendar/calculate/bucketRange.js +6 -6
  4. package/dist/calendar/calculate/floorToZone.d.ts +5 -3
  5. package/dist/calendar/calculate/floorToZone.js +6 -5
  6. package/dist/calendar/calculate/getFiscalPeriod.d.ts +21 -8
  7. package/dist/calendar/calculate/getFiscalPeriod.js +9 -8
  8. package/dist/calendar/calculate/getIsoWeekDate.d.ts +10 -5
  9. package/dist/calendar/calculate/getIsoWeekDate.js +1 -5
  10. package/dist/calendar/calculate/getOrdinalDate.d.ts +10 -3
  11. package/dist/calendar/calculate/getOrdinalDate.js +2 -3
  12. package/dist/calendar/calculate/getQuarter.d.ts +21 -9
  13. package/dist/calendar/calculate/getQuarter.js +8 -12
  14. package/dist/calendar/hours/addOperatingTime.d.ts +53 -0
  15. package/dist/calendar/hours/addOperatingTime.js +59 -0
  16. package/dist/calendar/hours/index.d.ts +7 -0
  17. package/dist/calendar/hours/index.js +7 -0
  18. package/dist/calendar/hours/isOpenAt.d.ts +39 -0
  19. package/dist/calendar/hours/isOpenAt.js +44 -0
  20. package/dist/calendar/hours/nextCloseAt.d.ts +49 -0
  21. package/dist/calendar/hours/nextCloseAt.js +51 -0
  22. package/dist/calendar/hours/nextOpenAt.d.ts +45 -0
  23. package/dist/calendar/hours/nextOpenAt.js +47 -0
  24. package/dist/calendar/hours/operatingIntervals.d.ts +43 -0
  25. package/dist/calendar/hours/operatingIntervals.js +52 -0
  26. package/dist/calendar/hours/operatingTimeBetween.d.ts +40 -0
  27. package/dist/calendar/hours/operatingTimeBetween.js +49 -0
  28. package/dist/calendar/hours/recurringWindows.d.ts +61 -0
  29. package/dist/calendar/hours/recurringWindows.js +80 -0
  30. package/dist/calendar/index.d.ts +1 -0
  31. package/dist/calendar/index.js +1 -0
  32. package/dist/duration/calculate/durationAs.d.ts +13 -8
  33. package/dist/duration/calculate/durationAs.js +4 -8
  34. package/dist/duration/compare/compareDurations.d.ts +12 -6
  35. package/dist/duration/compare/compareDurations.js +3 -6
  36. package/dist/duration/format/formatDuration.d.ts +16 -4
  37. package/dist/duration/format/formatDuration.js +4 -5
  38. package/dist/duration/normalize/normalizeDuration.d.ts +39 -14
  39. package/dist/duration/normalize/normalizeDuration.js +6 -15
  40. package/dist/duration/parse/parseDuration.d.ts +21 -3
  41. package/dist/duration/parse/parseDuration.js +1 -3
  42. package/dist/index.d.ts +2 -0
  43. package/dist/index.js +2 -0
  44. package/dist/instant/convert/classifyLocal.d.ts +1 -1
  45. package/dist/instant/convert/classifyLocal.js +1 -1
  46. package/dist/instant/convert/fromOffsetInstant.d.ts +3 -1
  47. package/dist/instant/convert/fromOffsetInstant.js +6 -12
  48. package/dist/instant/convert/resolveLocal.d.ts +12 -7
  49. package/dist/instant/convert/resolveLocal.js +6 -10
  50. package/dist/instant/convert/toOffsetInstant.d.ts +37 -1
  51. package/dist/instant/convert/toOffsetInstant.js +12 -28
  52. package/dist/intermodal/calculate/billingTimeline.d.ts +114 -0
  53. package/dist/intermodal/calculate/billingTimeline.js +168 -0
  54. package/dist/intermodal/calculate/chargeableDays.d.ts +100 -0
  55. package/dist/intermodal/calculate/chargeableDays.js +96 -0
  56. package/dist/intermodal/calculate/demurrageClock.d.ts +102 -0
  57. package/dist/intermodal/calculate/demurrageClock.js +140 -0
  58. package/dist/intermodal/calculate/freeTimeExpiry.d.ts +67 -0
  59. package/dist/intermodal/calculate/freeTimeExpiry.js +82 -0
  60. package/dist/intermodal/calculate/index.d.ts +4 -0
  61. package/dist/intermodal/calculate/index.js +4 -0
  62. package/dist/intermodal/index.d.ts +2 -0
  63. package/dist/intermodal/index.js +3 -0
  64. package/dist/internal/businessCalendar.d.ts +5 -0
  65. package/dist/internal/businessCalendar.js +5 -1
  66. package/dist/internal/cycleFieldValue.d.ts +6 -4
  67. package/dist/internal/cycleFieldValue.js +6 -4
  68. package/dist/internal/daylightTime.d.ts +33 -0
  69. package/dist/internal/daylightTime.js +164 -0
  70. package/dist/internal/durationUntilString.js +4 -3
  71. package/dist/internal/englishCalendarNames.js +1 -2
  72. package/dist/internal/epochNanoseconds.d.ts +2 -0
  73. package/dist/internal/epochNanoseconds.js +2 -0
  74. package/dist/internal/exactDuration.d.ts +37 -0
  75. package/dist/internal/exactDuration.js +64 -0
  76. package/dist/internal/exactMoment.d.ts +72 -0
  77. package/dist/internal/exactMoment.js +114 -0
  78. package/dist/internal/fiscalCalendar.d.ts +4 -3
  79. package/dist/internal/fiscalCalendar.js +4 -3
  80. package/dist/internal/formatCalendarDays.d.ts +2 -2
  81. package/dist/internal/formatRelativeDuration.d.ts +21 -1
  82. package/dist/internal/formatRelativeDuration.js +47 -7
  83. package/dist/internal/freeTimeLedger.d.ts +93 -0
  84. package/dist/internal/freeTimeLedger.js +262 -0
  85. package/dist/internal/index.d.ts +10 -3
  86. package/dist/internal/index.js +10 -3
  87. package/dist/internal/instantFormatOptions.js +2 -1
  88. package/dist/internal/instantNanoseconds.d.ts +75 -9
  89. package/dist/internal/instantNanoseconds.js +192 -11
  90. package/dist/internal/isoStringBody.d.ts +26 -0
  91. package/dist/internal/isoStringBody.js +22 -2
  92. package/dist/internal/joinDateTimeConnector.d.ts +1 -1
  93. package/dist/internal/monthGridWeekRow.d.ts +2 -1
  94. package/dist/internal/monthGridWeekRow.js +2 -1
  95. package/dist/internal/normalizeTimeZone.d.ts +2 -2
  96. package/dist/internal/normalizeTimeZone.js +2 -2
  97. package/dist/internal/operatingSchedule.d.ts +129 -0
  98. package/dist/internal/operatingSchedule.js +668 -0
  99. package/dist/internal/optionOrDefault.d.ts +18 -0
  100. package/dist/internal/optionOrDefault.js +20 -0
  101. package/dist/internal/patternToken.d.ts +2 -2
  102. package/dist/internal/patternToken.js +28 -13
  103. package/dist/internal/plainDateUntil.js +10 -6
  104. package/dist/internal/punctuality.d.ts +38 -0
  105. package/dist/internal/punctuality.js +59 -0
  106. package/dist/internal/readDateTimeFormatOptions.d.ts +30 -0
  107. package/dist/internal/readDateTimeFormatOptions.js +93 -0
  108. package/dist/internal/resolveDurationRelativeTo.d.ts +4 -0
  109. package/dist/internal/resolveDurationRelativeTo.js +11 -1
  110. package/dist/internal/resolveRelativeRounding.d.ts +17 -6
  111. package/dist/internal/resolveRelativeRounding.js +27 -7
  112. package/dist/internal/resolveRelativeUnit.d.ts +30 -0
  113. package/dist/internal/resolveRelativeUnit.js +40 -0
  114. package/dist/internal/splitStep.d.ts +24 -1
  115. package/dist/internal/splitStep.js +34 -2
  116. package/dist/internal/startOrEndOfZoned.js +2 -3
  117. package/dist/internal/temporalCompat/capabilities.d.ts +26 -0
  118. package/dist/internal/temporalCompat/capabilities.js +35 -3
  119. package/dist/internal/temporalCompat/fieldSearch.js +1 -1
  120. package/dist/internal/temporalCompat/index.d.ts +1 -1
  121. package/dist/internal/temporalCompat/index.js +1 -1
  122. package/dist/internal/temporalCompat/repros.d.ts +1 -1
  123. package/dist/internal/temporalCompat/repros.js +157 -0
  124. package/dist/internal/timestampEvents.d.ts +32 -0
  125. package/dist/internal/timestampEvents.js +76 -0
  126. package/dist/internal/utcZonedDateTime.d.ts +5 -2
  127. package/dist/internal/utcZonedDateTime.js +8 -5
  128. package/dist/internal/wallClockAtOffset.d.ts +22 -0
  129. package/dist/internal/wallClockAtOffset.js +26 -0
  130. package/dist/internal/zonedBucket.js +8 -6
  131. package/dist/internal/zonedLocalDates.js +1 -1
  132. package/dist/internal/zonedTransitionSearch.d.ts +27 -0
  133. package/dist/internal/zonedTransitionSearch.js +218 -0
  134. package/dist/internal/zonedWallClock.d.ts +21 -7
  135. package/dist/internal/zonedWallClock.js +87 -18
  136. package/dist/internal/zonedWallClockDifference.js +5 -4
  137. package/dist/internal/zonedWallClockOperations.d.ts +26 -13
  138. package/dist/internal/zonedWallClockOperations.js +87 -34
  139. package/dist/interval/validate/isValidInterval.d.ts +6 -3
  140. package/dist/interval/validate/isValidInterval.js +6 -3
  141. package/dist/plain/calculate/addDate.d.ts +11 -8
  142. package/dist/plain/calculate/addDate.js +5 -8
  143. package/dist/plain/calculate/addDateTime.d.ts +7 -4
  144. package/dist/plain/calculate/addDateTime.js +1 -4
  145. package/dist/plain/calculate/cycleDate.d.ts +16 -7
  146. package/dist/plain/calculate/cycleDate.js +3 -7
  147. package/dist/plain/calculate/cycleDateTime.d.ts +14 -4
  148. package/dist/plain/calculate/cycleDateTime.js +1 -4
  149. package/dist/plain/calculate/cycleTime.d.ts +10 -5
  150. package/dist/plain/calculate/cycleTime.js +3 -5
  151. package/dist/plain/calculate/diffDate.d.ts +1 -1
  152. package/dist/plain/calculate/diffDate.js +1 -1
  153. package/dist/plain/calculate/diffDateAsDuration.d.ts +1 -1
  154. package/dist/plain/calculate/diffDateAsDuration.js +1 -1
  155. package/dist/plain/calculate/diffDateTime.d.ts +1 -1
  156. package/dist/plain/calculate/diffDateTime.js +1 -1
  157. package/dist/plain/calculate/diffDateTimeAsDuration.d.ts +1 -1
  158. package/dist/plain/calculate/diffDateTimeAsDuration.js +1 -1
  159. package/dist/plain/calculate/diffTime.d.ts +1 -1
  160. package/dist/plain/calculate/diffTime.js +1 -1
  161. package/dist/plain/calculate/endOfDate.d.ts +8 -3
  162. package/dist/plain/calculate/endOfDate.js +1 -3
  163. package/dist/plain/calculate/endOfDateTime.d.ts +15 -5
  164. package/dist/plain/calculate/endOfDateTime.js +1 -5
  165. package/dist/plain/calculate/endOfTime.d.ts +8 -2
  166. package/dist/plain/calculate/endOfTime.js +1 -2
  167. package/dist/plain/calculate/getLocaleWeekYear.d.ts +16 -9
  168. package/dist/plain/calculate/getLocaleWeekYear.js +9 -9
  169. package/dist/plain/calculate/getWeekOfMonth.d.ts +7 -4
  170. package/dist/plain/calculate/getWeekOfMonth.js +7 -4
  171. package/dist/plain/calculate/getWeeksInLocaleWeekYear.d.ts +13 -6
  172. package/dist/plain/calculate/getWeeksInLocaleWeekYear.js +6 -6
  173. package/dist/plain/calculate/getWeeksInMonth.d.ts +5 -2
  174. package/dist/plain/calculate/getWeeksInMonth.js +5 -2
  175. package/dist/plain/calculate/nextWeekday.d.ts +7 -3
  176. package/dist/plain/calculate/nextWeekday.js +1 -3
  177. package/dist/plain/calculate/previousWeekday.d.ts +7 -3
  178. package/dist/plain/calculate/previousWeekday.js +1 -3
  179. package/dist/plain/calculate/roundDate.d.ts +20 -7
  180. package/dist/plain/calculate/roundDate.js +3 -10
  181. package/dist/plain/calculate/roundDateTime.d.ts +22 -8
  182. package/dist/plain/calculate/roundDateTime.js +3 -11
  183. package/dist/plain/calculate/roundTime.d.ts +20 -4
  184. package/dist/plain/calculate/roundTime.js +3 -7
  185. package/dist/plain/calculate/setDate.d.ts +7 -5
  186. package/dist/plain/calculate/setDate.js +1 -5
  187. package/dist/plain/calculate/setDateTime.d.ts +8 -5
  188. package/dist/plain/calculate/setDateTime.js +1 -5
  189. package/dist/plain/calculate/setTime.d.ts +10 -6
  190. package/dist/plain/calculate/setTime.js +4 -6
  191. package/dist/plain/calculate/startOfDate.d.ts +8 -2
  192. package/dist/plain/calculate/startOfDate.js +1 -2
  193. package/dist/plain/calculate/startOfDateTime.d.ts +15 -2
  194. package/dist/plain/calculate/startOfDateTime.js +1 -2
  195. package/dist/plain/calculate/startOfTime.d.ts +8 -1
  196. package/dist/plain/calculate/startOfTime.js +1 -1
  197. package/dist/plain/calculate/subtractDate.d.ts +7 -4
  198. package/dist/plain/calculate/subtractDate.js +1 -4
  199. package/dist/plain/calculate/subtractDateTime.d.ts +7 -4
  200. package/dist/plain/calculate/subtractDateTime.js +1 -4
  201. package/dist/plain/compare/areDateTimesEqualBy.d.ts +13 -5
  202. package/dist/plain/compare/areDateTimesEqualBy.js +6 -5
  203. package/dist/plain/compare/areDatesEqualBy.d.ts +15 -6
  204. package/dist/plain/compare/areDatesEqualBy.js +8 -6
  205. package/dist/plain/compare/isBetweenDate.d.ts +13 -2
  206. package/dist/plain/compare/isBetweenDate.js +4 -4
  207. package/dist/plain/compare/isBetweenDateTime.d.ts +13 -2
  208. package/dist/plain/compare/isBetweenDateTime.js +4 -4
  209. package/dist/plain/compare/isBetweenTime.d.ts +13 -2
  210. package/dist/plain/compare/isBetweenTime.js +4 -4
  211. package/dist/plain/compare/isRelativeDay.d.ts +1 -1
  212. package/dist/plain/compare/isRelativeDay.js +1 -1
  213. package/dist/plain/compare/isThisUnit.d.ts +1 -1
  214. package/dist/plain/compare/isThisUnit.js +1 -1
  215. package/dist/plain/format/formatCalendar.d.ts +21 -14
  216. package/dist/plain/format/formatCalendar.js +21 -16
  217. package/dist/plain/format/formatDate.js +5 -3
  218. package/dist/plain/format/formatDateRange.js +4 -2
  219. package/dist/plain/format/formatDateTime.js +4 -2
  220. package/dist/plain/format/formatDateTimeRange.js +4 -2
  221. package/dist/plain/format/formatDateTimeToParts.d.ts +15 -4
  222. package/dist/plain/format/formatDateTimeToParts.js +10 -6
  223. package/dist/plain/format/formatDateToParts.d.ts +13 -2
  224. package/dist/plain/format/formatDateToParts.js +8 -4
  225. package/dist/plain/format/formatRelativeDate.d.ts +16 -3
  226. package/dist/plain/format/formatRelativeDate.js +26 -15
  227. package/dist/plain/format/formatRelativeDateTime.d.ts +16 -3
  228. package/dist/plain/format/formatRelativeDateTime.js +8 -5
  229. package/dist/plain/format/formatRelativeTime.d.ts +16 -3
  230. package/dist/plain/format/formatRelativeTime.js +21 -13
  231. package/dist/plain/format/formatTime.js +4 -2
  232. package/dist/plain/interval/intervalDifferenceDate.d.ts +9 -0
  233. package/dist/plain/interval/intervalDifferenceDateTime.d.ts +9 -0
  234. package/dist/plain/interval/intervalDifferenceTime.d.ts +9 -0
  235. package/dist/plain/interval/intervalDivideEquallyDate.d.ts +19 -4
  236. package/dist/plain/interval/intervalDivideEquallyDate.js +3 -4
  237. package/dist/plain/interval/intervalDivideEquallyDateTime.d.ts +19 -4
  238. package/dist/plain/interval/intervalDivideEquallyDateTime.js +3 -4
  239. package/dist/plain/interval/intervalDivideEquallyTime.d.ts +19 -4
  240. package/dist/plain/interval/intervalDivideEquallyTime.js +3 -4
  241. package/dist/plain/interval/intervalFromDurationDate.d.ts +16 -3
  242. package/dist/plain/interval/intervalFromDurationDate.js +1 -3
  243. package/dist/plain/interval/intervalFromDurationDateTime.d.ts +16 -3
  244. package/dist/plain/interval/intervalFromDurationDateTime.js +1 -3
  245. package/dist/plain/interval/intervalFromDurationTime.d.ts +9 -0
  246. package/dist/plain/interval/intervalIntersectionDate.d.ts +9 -0
  247. package/dist/plain/interval/intervalIntersectionDateTime.d.ts +9 -0
  248. package/dist/plain/interval/intervalIntersectionTime.d.ts +9 -0
  249. package/dist/plain/interval/intervalSplitAtDate.d.ts +11 -0
  250. package/dist/plain/interval/intervalSplitAtDate.js +2 -0
  251. package/dist/plain/interval/intervalSplitAtDateTime.d.ts +11 -0
  252. package/dist/plain/interval/intervalSplitAtDateTime.js +2 -0
  253. package/dist/plain/interval/intervalSplitAtTime.d.ts +11 -0
  254. package/dist/plain/interval/intervalSplitAtTime.js +2 -0
  255. package/dist/plain/interval/intervalUnionDate.d.ts +9 -0
  256. package/dist/plain/interval/intervalUnionDateTime.d.ts +9 -0
  257. package/dist/plain/interval/intervalUnionTime.d.ts +9 -0
  258. package/dist/plain/interval/intervalXorAllDate.d.ts +9 -0
  259. package/dist/plain/interval/intervalXorAllDateTime.d.ts +9 -0
  260. package/dist/plain/interval/intervalXorAllTime.d.ts +9 -0
  261. package/dist/plain/interval/intervalXorDate.d.ts +9 -0
  262. package/dist/plain/interval/intervalXorDateTime.d.ts +9 -0
  263. package/dist/plain/interval/intervalXorTime.d.ts +9 -0
  264. package/dist/plain/interval/mergeIntervalsDate.d.ts +9 -0
  265. package/dist/plain/interval/mergeIntervalsDateTime.d.ts +9 -0
  266. package/dist/plain/interval/mergeIntervalsTime.d.ts +9 -0
  267. package/dist/plain/interval/splitIntervalByUnitDate.d.ts +23 -7
  268. package/dist/plain/interval/splitIntervalByUnitDate.js +7 -7
  269. package/dist/plain/interval/splitIntervalByUnitDateTime.d.ts +22 -6
  270. package/dist/plain/interval/splitIntervalByUnitDateTime.js +6 -6
  271. package/dist/plain/interval/splitIntervalByUnitTime.d.ts +17 -4
  272. package/dist/plain/interval/splitIntervalByUnitTime.js +1 -4
  273. package/dist/plain/map/mapDatesInRange.d.ts +8 -4
  274. package/dist/plain/map/mapDatesInRange.js +1 -4
  275. package/dist/plain/parse/parseDateTimeWithPattern.d.ts +10 -7
  276. package/dist/plain/parse/parseDateTimeWithPattern.js +10 -7
  277. package/dist/plain/parse/parseDateWithPattern.d.ts +10 -7
  278. package/dist/plain/parse/parseDateWithPattern.js +10 -7
  279. package/dist/plain/parse/parseTimeWithPattern.d.ts +10 -7
  280. package/dist/plain/parse/parseTimeWithPattern.js +10 -7
  281. package/dist/plain/parse/parseUnitFromDate.d.ts +11 -3
  282. package/dist/plain/parse/parseUnitFromDate.js +3 -3
  283. package/dist/plain/parse/parseUnitFromDateTime.d.ts +11 -3
  284. package/dist/plain/parse/parseUnitFromDateTime.js +3 -3
  285. package/dist/plain/parse/parseWeekFromDate.d.ts +10 -6
  286. package/dist/plain/parse/parseWeekFromDate.js +2 -6
  287. package/dist/plain/parse/parseWeekFromDateTime.d.ts +10 -6
  288. package/dist/plain/parse/parseWeekFromDateTime.js +2 -6
  289. package/dist/plain/validate/isValidDateRange.d.ts +19 -4
  290. package/dist/plain/validate/isValidDateRange.js +1 -4
  291. package/dist/plain/validate/isValidDateTimeRange.d.ts +20 -5
  292. package/dist/plain/validate/isValidDateTimeRange.js +2 -5
  293. package/dist/plain/validate/isValidTimeRange.d.ts +20 -5
  294. package/dist/plain/validate/isValidTimeRange.js +2 -5
  295. package/dist/precision/convert/fromExcelSerial.d.ts +10 -4
  296. package/dist/precision/convert/fromExcelSerial.js +4 -5
  297. package/dist/precision/convert/fromNanoseconds.d.ts +1 -1
  298. package/dist/precision/convert/fromNanoseconds.js +1 -1
  299. package/dist/precision/convert/toExcelSerial.d.ts +9 -3
  300. package/dist/precision/convert/toExcelSerial.js +3 -4
  301. package/dist/precision/convert/toNanoseconds.d.ts +11 -6
  302. package/dist/precision/convert/toNanoseconds.js +11 -6
  303. package/dist/precision/validate/isValidInstant.d.ts +12 -3
  304. package/dist/precision/validate/isValidInstant.js +12 -3
  305. package/dist/span/calculate/spanMs.d.ts +10 -4
  306. package/dist/span/calculate/spanMs.js +10 -4
  307. package/dist/span/calculate/spanNs.d.ts +10 -4
  308. package/dist/span/calculate/spanNs.js +10 -4
  309. package/dist/span/validate/isValidSpan.d.ts +8 -3
  310. package/dist/span/validate/isValidSpan.js +8 -3
  311. package/dist/transport/calculate/bestAvailable.d.ts +47 -0
  312. package/dist/transport/calculate/bestAvailable.js +76 -0
  313. package/dist/transport/calculate/crossingTime.d.ts +58 -0
  314. package/dist/transport/calculate/crossingTime.js +76 -0
  315. package/dist/transport/calculate/cutoffAt.d.ts +90 -0
  316. package/dist/transport/calculate/cutoffAt.js +209 -0
  317. package/dist/transport/calculate/cutoffSchedule.d.ts +70 -0
  318. package/dist/transport/calculate/cutoffSchedule.js +71 -0
  319. package/dist/transport/calculate/dwellTime.d.ts +81 -0
  320. package/dist/transport/calculate/dwellTime.js +130 -0
  321. package/dist/transport/calculate/estimateDrift.d.ts +65 -0
  322. package/dist/transport/calculate/estimateDrift.js +75 -0
  323. package/dist/transport/calculate/index.d.ts +10 -0
  324. package/dist/transport/calculate/index.js +10 -0
  325. package/dist/transport/calculate/nextDeparture.d.ts +78 -0
  326. package/dist/transport/calculate/nextDeparture.js +131 -0
  327. package/dist/transport/calculate/punctualityRate.d.ts +42 -0
  328. package/dist/transport/calculate/punctualityRate.js +59 -0
  329. package/dist/transport/calculate/scheduleDelivery.d.ts +150 -0
  330. package/dist/transport/calculate/scheduleDelivery.js +300 -0
  331. package/dist/transport/calculate/transitTime.d.ts +71 -0
  332. package/dist/transport/calculate/transitTime.js +101 -0
  333. package/dist/transport/compare/classifyPunctuality.d.ts +46 -0
  334. package/dist/transport/compare/classifyPunctuality.js +64 -0
  335. package/dist/transport/compare/index.d.ts +4 -0
  336. package/dist/transport/compare/index.js +4 -0
  337. package/dist/transport/compare/isPastCutoff.d.ts +33 -0
  338. package/dist/transport/compare/isPastCutoff.js +48 -0
  339. package/dist/transport/compare/scheduleDeviation.d.ts +37 -0
  340. package/dist/transport/compare/scheduleDeviation.js +53 -0
  341. package/dist/transport/compare/timeToCutoff.d.ts +31 -0
  342. package/dist/transport/compare/timeToCutoff.js +47 -0
  343. package/dist/transport/convert/etaAtZone.d.ts +43 -0
  344. package/dist/transport/convert/etaAtZone.js +58 -0
  345. package/dist/transport/convert/index.d.ts +1 -0
  346. package/dist/transport/convert/index.js +1 -0
  347. package/dist/transport/index.d.ts +4 -0
  348. package/dist/transport/index.js +5 -0
  349. package/dist/types/business-calendar.d.ts +19 -14
  350. package/dist/types/calendar-options.d.ts +15 -3
  351. package/dist/types/date-cycle-field.d.ts +5 -0
  352. package/dist/types/date-duration-unit.d.ts +4 -0
  353. package/dist/types/date-time-cycle-field.d.ts +4 -0
  354. package/dist/types/date-time-duration-units.d.ts +4 -0
  355. package/dist/types/date-time-unit.d.ts +4 -0
  356. package/dist/types/date-unit.d.ts +4 -0
  357. package/dist/types/disambiguation.d.ts +8 -0
  358. package/dist/types/duration-relative-to.d.ts +8 -0
  359. package/dist/types/duration-string-options.d.ts +28 -0
  360. package/dist/types/fiscal-calendar.d.ts +1 -1
  361. package/dist/types/fractional-digit.d.ts +5 -0
  362. package/dist/types/free-time-options.d.ts +44 -0
  363. package/dist/types/index.d.ts +3 -1
  364. package/dist/types/index.js +3 -1
  365. package/dist/types/interval.d.ts +8 -1
  366. package/dist/types/offset.d.ts +9 -0
  367. package/dist/types/operating-schedule.d.ts +71 -0
  368. package/dist/types/operating-schedule.js +0 -0
  369. package/dist/types/overflow.d.ts +6 -0
  370. package/dist/types/relative-rounding-method.d.ts +6 -0
  371. package/dist/types/relative-time-options.d.ts +33 -5
  372. package/dist/types/rounding-options.d.ts +27 -0
  373. package/dist/types/time-cycle-field.d.ts +4 -0
  374. package/dist/types/time-duration-unit.d.ts +4 -0
  375. package/dist/types/time-unit.d.ts +4 -0
  376. package/dist/types/transport-timestamps.d.ts +54 -0
  377. package/dist/types/transport-timestamps.js +0 -0
  378. package/dist/unix/calculate/addUnix.d.ts +19 -5
  379. package/dist/unix/calculate/addUnix.js +1 -5
  380. package/dist/unix/calculate/diffUnix.d.ts +13 -3
  381. package/dist/unix/calculate/diffUnix.js +1 -3
  382. package/dist/unix/calculate/diffUnixAsDuration.d.ts +13 -3
  383. package/dist/unix/calculate/diffUnixAsDuration.js +1 -3
  384. package/dist/unix/calculate/endOfQuarterForUnix.d.ts +13 -3
  385. package/dist/unix/calculate/endOfQuarterForUnix.js +1 -3
  386. package/dist/unix/calculate/endOfUnix.d.ts +20 -4
  387. package/dist/unix/calculate/endOfUnix.js +1 -4
  388. package/dist/unix/calculate/isBetweenUnix.d.ts +26 -4
  389. package/dist/unix/calculate/isBetweenUnix.js +4 -6
  390. package/dist/unix/calculate/roundUnix.d.ts +31 -3
  391. package/dist/unix/calculate/roundUnix.js +3 -6
  392. package/dist/unix/calculate/setUnix.d.ts +35 -9
  393. package/dist/unix/calculate/setUnix.js +4 -13
  394. package/dist/unix/calculate/startOfQuarterForUnix.d.ts +13 -3
  395. package/dist/unix/calculate/startOfQuarterForUnix.js +1 -3
  396. package/dist/unix/calculate/startOfUnix.d.ts +20 -4
  397. package/dist/unix/calculate/startOfUnix.js +1 -4
  398. package/dist/unix/calculate/subtractUnix.d.ts +19 -5
  399. package/dist/unix/calculate/subtractUnix.js +1 -5
  400. package/dist/unix/compare/areUnixEqual.d.ts +7 -1
  401. package/dist/unix/compare/areUnixEqual.js +1 -1
  402. package/dist/unix/compare/areUnixEqualBy.d.ts +24 -7
  403. package/dist/unix/compare/areUnixEqualBy.js +13 -9
  404. package/dist/unix/compare/isAfterUnix.d.ts +7 -1
  405. package/dist/unix/compare/isAfterUnix.js +1 -1
  406. package/dist/unix/compare/isBeforeUnix.d.ts +7 -1
  407. package/dist/unix/compare/isBeforeUnix.js +1 -1
  408. package/dist/unix/convert/convertUnixToPlainDate.d.ts +14 -4
  409. package/dist/unix/convert/convertUnixToPlainDate.js +2 -4
  410. package/dist/unix/convert/convertUnixToPlainDateTime.d.ts +14 -4
  411. package/dist/unix/convert/convertUnixToPlainDateTime.js +2 -4
  412. package/dist/unix/convert/convertUnixToPlainTime.d.ts +14 -4
  413. package/dist/unix/convert/convertUnixToPlainTime.js +2 -4
  414. package/dist/unix/convert/convertUnixToUtc.d.ts +9 -4
  415. package/dist/unix/convert/convertUnixToUtc.js +3 -4
  416. package/dist/unix/convert/convertUnixToZoned.d.ts +10 -5
  417. package/dist/unix/convert/convertUnixToZoned.js +4 -5
  418. package/dist/unix/format/formatCalendarUnix.d.ts +27 -19
  419. package/dist/unix/format/formatCalendarUnix.js +4 -5
  420. package/dist/unix/format/formatRelativeUnix.d.ts +54 -5
  421. package/dist/unix/format/formatRelativeUnix.js +3 -5
  422. package/dist/unix/format/formatUnix.d.ts +24 -6
  423. package/dist/unix/format/formatUnix.js +8 -7
  424. package/dist/unix/get/getUnixNow.d.ts +8 -3
  425. package/dist/unix/get/getUnixNow.js +1 -3
  426. package/dist/unix/interval/intervalCountUnix.d.ts +14 -5
  427. package/dist/unix/interval/intervalCountUnix.js +2 -5
  428. package/dist/unix/interval/intervalDifferenceUnix.d.ts +6 -0
  429. package/dist/unix/interval/intervalDivideEquallyUnix.d.ts +18 -4
  430. package/dist/unix/interval/intervalDivideEquallyUnix.js +5 -4
  431. package/dist/unix/interval/intervalFromDurationUnix.d.ts +33 -5
  432. package/dist/unix/interval/intervalFromDurationUnix.js +6 -5
  433. package/dist/unix/interval/intervalIntersectionUnix.d.ts +6 -0
  434. package/dist/unix/interval/intervalLengthUnix.d.ts +16 -6
  435. package/dist/unix/interval/intervalLengthUnix.js +4 -6
  436. package/dist/unix/interval/intervalOverlappingDaysUnix.d.ts +13 -3
  437. package/dist/unix/interval/intervalOverlappingDaysUnix.js +1 -3
  438. package/dist/unix/interval/intervalSplitAtUnix.d.ts +8 -0
  439. package/dist/unix/interval/intervalSplitAtUnix.js +2 -0
  440. package/dist/unix/interval/intervalUnionUnix.d.ts +6 -0
  441. package/dist/unix/interval/intervalXorAllUnix.d.ts +6 -0
  442. package/dist/unix/interval/intervalXorUnix.d.ts +6 -0
  443. package/dist/unix/interval/mergeIntervalsUnix.d.ts +6 -0
  444. package/dist/unix/interval/splitIntervalByUnitUnix.d.ts +42 -11
  445. package/dist/unix/interval/splitIntervalByUnitUnix.js +21 -16
  446. package/dist/unix/parse/parseDateFromUnix.d.ts +13 -2
  447. package/dist/unix/parse/parseDateFromUnix.js +1 -2
  448. package/dist/unix/parse/parseDayFromUnix.d.ts +14 -2
  449. package/dist/unix/parse/parseDayFromUnix.js +2 -2
  450. package/dist/unix/parse/parseDayOfWeekFromUnix.d.ts +13 -1
  451. package/dist/unix/parse/parseDayOfWeekFromUnix.js +1 -1
  452. package/dist/unix/parse/parseHourFromUnix.d.ts +14 -2
  453. package/dist/unix/parse/parseHourFromUnix.js +2 -2
  454. package/dist/unix/parse/parseMicrosecondFromUnix.d.ts +14 -2
  455. package/dist/unix/parse/parseMicrosecondFromUnix.js +2 -2
  456. package/dist/unix/parse/parseMillisecondFromUnix.d.ts +14 -2
  457. package/dist/unix/parse/parseMillisecondFromUnix.js +2 -2
  458. package/dist/unix/parse/parseMinuteFromUnix.d.ts +14 -2
  459. package/dist/unix/parse/parseMinuteFromUnix.js +2 -2
  460. package/dist/unix/parse/parseMonthFromUnix.d.ts +14 -2
  461. package/dist/unix/parse/parseMonthFromUnix.js +2 -2
  462. package/dist/unix/parse/parseNanosecondFromUnix.d.ts +14 -2
  463. package/dist/unix/parse/parseNanosecondFromUnix.js +2 -2
  464. package/dist/unix/parse/parseSecondFromUnix.d.ts +14 -2
  465. package/dist/unix/parse/parseSecondFromUnix.js +2 -2
  466. package/dist/unix/parse/parseTimeFromUnix.d.ts +13 -2
  467. package/dist/unix/parse/parseTimeFromUnix.js +1 -2
  468. package/dist/unix/parse/parseUnitFromUnix.d.ts +22 -3
  469. package/dist/unix/parse/parseUnitFromUnix.js +2 -3
  470. package/dist/unix/parse/parseWeekFromUnix.d.ts +23 -7
  471. package/dist/unix/parse/parseWeekFromUnix.js +3 -7
  472. package/dist/unix/parse/parseYearFromUnix.d.ts +14 -2
  473. package/dist/unix/parse/parseYearFromUnix.js +2 -2
  474. package/dist/unix/validate/isValidUnixRange.d.ts +20 -4
  475. package/dist/unix/validate/isValidUnixRange.js +1 -4
  476. package/dist/utc/calculate/addUtc.d.ts +7 -4
  477. package/dist/utc/calculate/addUtc.js +1 -4
  478. package/dist/utc/calculate/diffUtc.d.ts +1 -1
  479. package/dist/utc/calculate/diffUtc.js +1 -1
  480. package/dist/utc/calculate/diffUtcAsDuration.d.ts +1 -1
  481. package/dist/utc/calculate/diffUtcAsDuration.js +1 -1
  482. package/dist/utc/calculate/endOfUtc.d.ts +16 -3
  483. package/dist/utc/calculate/endOfUtc.js +2 -3
  484. package/dist/utc/calculate/isBetweenUtc.d.ts +13 -2
  485. package/dist/utc/calculate/isBetweenUtc.js +4 -4
  486. package/dist/utc/calculate/roundUtc.d.ts +26 -9
  487. package/dist/utc/calculate/roundUtc.js +3 -12
  488. package/dist/utc/calculate/setUtc.d.ts +7 -4
  489. package/dist/utc/calculate/setUtc.js +1 -4
  490. package/dist/utc/calculate/startOfUtc.d.ts +15 -2
  491. package/dist/utc/calculate/startOfUtc.js +1 -2
  492. package/dist/utc/calculate/subtractUtc.d.ts +7 -4
  493. package/dist/utc/calculate/subtractUtc.js +1 -4
  494. package/dist/utc/compare/areUtcEqualBy.d.ts +9 -3
  495. package/dist/utc/compare/areUtcEqualBy.js +2 -3
  496. package/dist/utc/convert/convertUtcToPlainDate.d.ts +8 -3
  497. package/dist/utc/convert/convertUtcToPlainDate.js +5 -6
  498. package/dist/utc/convert/convertUtcToPlainDateTime.d.ts +8 -3
  499. package/dist/utc/convert/convertUtcToPlainDateTime.js +5 -6
  500. package/dist/utc/convert/convertUtcToPlainTime.d.ts +8 -3
  501. package/dist/utc/convert/convertUtcToPlainTime.js +5 -6
  502. package/dist/utc/convert/convertUtcToUnix.d.ts +9 -4
  503. package/dist/utc/convert/convertUtcToUnix.js +3 -4
  504. package/dist/utc/convert/convertUtcToZoned.d.ts +1 -1
  505. package/dist/utc/convert/convertUtcToZoned.js +1 -1
  506. package/dist/utc/format/formatCalendarUtc.d.ts +19 -8
  507. package/dist/utc/format/formatCalendarUtc.js +8 -6
  508. package/dist/utc/format/formatHttp.d.ts +1 -1
  509. package/dist/utc/format/formatHttp.js +1 -1
  510. package/dist/utc/format/formatRelativeUtc.d.ts +30 -10
  511. package/dist/utc/format/formatRelativeUtc.js +9 -11
  512. package/dist/utc/format/formatUtc.d.ts +17 -15
  513. package/dist/utc/format/formatUtc.js +8 -8
  514. package/dist/utc/interval/intervalDifferenceUtc.d.ts +6 -0
  515. package/dist/utc/interval/intervalDivideEquallyUtc.d.ts +18 -4
  516. package/dist/utc/interval/intervalDivideEquallyUtc.js +5 -4
  517. package/dist/utc/interval/intervalFromDurationUtc.d.ts +13 -3
  518. package/dist/utc/interval/intervalFromDurationUtc.js +1 -3
  519. package/dist/utc/interval/intervalIntersectionUtc.d.ts +6 -0
  520. package/dist/utc/interval/intervalSplitAtUtc.d.ts +8 -0
  521. package/dist/utc/interval/intervalSplitAtUtc.js +2 -0
  522. package/dist/utc/interval/intervalUnionUtc.d.ts +6 -0
  523. package/dist/utc/interval/intervalXorAllUtc.d.ts +6 -0
  524. package/dist/utc/interval/intervalXorUtc.d.ts +6 -0
  525. package/dist/utc/interval/mergeIntervalsUtc.d.ts +6 -0
  526. package/dist/utc/interval/splitIntervalByUnitUtc.d.ts +19 -6
  527. package/dist/utc/interval/splitIntervalByUnitUtc.js +6 -6
  528. package/dist/utc/parse/parseDateFromUtc.d.ts +7 -3
  529. package/dist/utc/parse/parseDateFromUtc.js +1 -3
  530. package/dist/utc/parse/parseDayFromUtc.d.ts +7 -3
  531. package/dist/utc/parse/parseDayFromUtc.js +1 -3
  532. package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +7 -3
  533. package/dist/utc/parse/parseDayOfWeekFromUtc.js +4 -6
  534. package/dist/utc/parse/parseHourFromUtc.d.ts +7 -3
  535. package/dist/utc/parse/parseHourFromUtc.js +1 -3
  536. package/dist/utc/parse/parseHttp.d.ts +1 -1
  537. package/dist/utc/parse/parseHttp.js +1 -1
  538. package/dist/utc/parse/parseMicrosecondFromUtc.d.ts +7 -3
  539. package/dist/utc/parse/parseMicrosecondFromUtc.js +1 -3
  540. package/dist/utc/parse/parseMillisecondFromUtc.d.ts +7 -3
  541. package/dist/utc/parse/parseMillisecondFromUtc.js +1 -3
  542. package/dist/utc/parse/parseMinuteFromUtc.d.ts +7 -3
  543. package/dist/utc/parse/parseMinuteFromUtc.js +1 -3
  544. package/dist/utc/parse/parseMonthFromUtc.d.ts +7 -3
  545. package/dist/utc/parse/parseMonthFromUtc.js +1 -3
  546. package/dist/utc/parse/parseNanosecondFromUtc.d.ts +7 -3
  547. package/dist/utc/parse/parseNanosecondFromUtc.js +1 -3
  548. package/dist/utc/parse/parseSecondFromUtc.d.ts +7 -3
  549. package/dist/utc/parse/parseSecondFromUtc.js +1 -3
  550. package/dist/utc/parse/parseTimeFromUtc.d.ts +8 -3
  551. package/dist/utc/parse/parseTimeFromUtc.js +5 -6
  552. package/dist/utc/parse/parseUnitFromUtc.d.ts +17 -5
  553. package/dist/utc/parse/parseUnitFromUtc.js +6 -8
  554. package/dist/utc/parse/parseWeekFromUtc.d.ts +18 -10
  555. package/dist/utc/parse/parseWeekFromUtc.js +7 -13
  556. package/dist/utc/parse/parseYearFromUtc.d.ts +7 -3
  557. package/dist/utc/parse/parseYearFromUtc.js +1 -3
  558. package/dist/utc/validate/isValidUtcRange.d.ts +16 -5
  559. package/dist/utc/validate/isValidUtcRange.js +2 -5
  560. package/dist/zoned/calculate/addZoned.d.ts +20 -10
  561. package/dist/zoned/calculate/addZoned.js +6 -13
  562. package/dist/zoned/calculate/cycleZoned.d.ts +33 -8
  563. package/dist/zoned/calculate/cycleZoned.js +1 -8
  564. package/dist/zoned/calculate/diffZoned.d.ts +1 -1
  565. package/dist/zoned/calculate/diffZoned.js +1 -1
  566. package/dist/zoned/calculate/diffZonedAsDuration.d.ts +1 -1
  567. package/dist/zoned/calculate/diffZonedAsDuration.js +1 -1
  568. package/dist/zoned/calculate/endOfQuarterForZoned.d.ts +9 -2
  569. package/dist/zoned/calculate/endOfQuarterForZoned.js +4 -5
  570. package/dist/zoned/calculate/endOfZoned.d.ts +16 -3
  571. package/dist/zoned/calculate/endOfZoned.js +2 -3
  572. package/dist/zoned/calculate/getLocaleZonedEndOfWeek.d.ts +10 -3
  573. package/dist/zoned/calculate/getLocaleZonedEndOfWeek.js +5 -6
  574. package/dist/zoned/calculate/getLocaleZonedStartOfWeek.d.ts +7 -1
  575. package/dist/zoned/calculate/getLocaleZonedStartOfWeek.js +3 -4
  576. package/dist/zoned/calculate/roundZoned.d.ts +21 -4
  577. package/dist/zoned/calculate/roundZoned.js +3 -7
  578. package/dist/zoned/calculate/setZoned.d.ts +25 -8
  579. package/dist/zoned/calculate/setZoned.js +4 -12
  580. package/dist/zoned/calculate/startOfQuarterForZoned.d.ts +7 -2
  581. package/dist/zoned/calculate/startOfQuarterForZoned.js +3 -5
  582. package/dist/zoned/calculate/startOfZoned.d.ts +15 -3
  583. package/dist/zoned/calculate/startOfZoned.js +1 -3
  584. package/dist/zoned/calculate/subtractZoned.d.ts +20 -10
  585. package/dist/zoned/calculate/subtractZoned.js +6 -13
  586. package/dist/zoned/compare/areZonedEqualBy.d.ts +14 -5
  587. package/dist/zoned/compare/areZonedEqualBy.js +7 -5
  588. package/dist/zoned/compare/isBetweenZoned.d.ts +13 -1
  589. package/dist/zoned/compare/isBetweenZoned.js +4 -3
  590. package/dist/zoned/compare/isInDaylightSaving.d.ts +38 -11
  591. package/dist/zoned/compare/isInDaylightSaving.js +40 -44
  592. package/dist/zoned/convert/convertPlainDateTimeToZoned.d.ts +18 -5
  593. package/dist/zoned/convert/convertPlainDateTimeToZoned.js +6 -11
  594. package/dist/zoned/convert/convertZonedToUnix.d.ts +9 -4
  595. package/dist/zoned/convert/convertZonedToUnix.js +2 -4
  596. package/dist/zoned/convert/convertZonedToZoned.d.ts +1 -1
  597. package/dist/zoned/convert/convertZonedToZoned.js +1 -1
  598. package/dist/zoned/format/formatCalendarZoned.d.ts +18 -12
  599. package/dist/zoned/format/formatCalendarZoned.js +13 -9
  600. package/dist/zoned/format/formatRelativeZoned.d.ts +41 -12
  601. package/dist/zoned/format/formatRelativeZoned.js +7 -4
  602. package/dist/zoned/format/formatRfc2822.d.ts +2 -2
  603. package/dist/zoned/format/formatRfc2822.js +2 -2
  604. package/dist/zoned/format/formatRfc3339.d.ts +2 -3
  605. package/dist/zoned/format/formatRfc3339.js +2 -3
  606. package/dist/zoned/format/formatTimeZoneName.d.ts +12 -3
  607. package/dist/zoned/format/formatTimeZoneName.js +5 -4
  608. package/dist/zoned/format/formatZonedDateTime.js +2 -1
  609. package/dist/zoned/format/formatZonedRange.js +2 -1
  610. package/dist/zoned/format/formatZonedToParts.d.ts +15 -4
  611. package/dist/zoned/format/formatZonedToParts.js +8 -5
  612. package/dist/zoned/get/getDstTransitions.d.ts +9 -10
  613. package/dist/zoned/get/getDstTransitions.js +12 -3
  614. package/dist/zoned/get/getTimeZoneOffset.d.ts +4 -1
  615. package/dist/zoned/get/getTimeZoneOffset.js +6 -3
  616. package/dist/zoned/get/getZonedNow.d.ts +13 -1
  617. package/dist/zoned/get/getZonedNow.js +12 -3
  618. package/dist/zoned/interval/intervalDifferenceZoned.d.ts +9 -0
  619. package/dist/zoned/interval/intervalDivideEquallyZoned.d.ts +22 -4
  620. package/dist/zoned/interval/intervalDivideEquallyZoned.js +6 -4
  621. package/dist/zoned/interval/intervalFromDurationZoned.d.ts +29 -10
  622. package/dist/zoned/interval/intervalFromDurationZoned.js +6 -13
  623. package/dist/zoned/interval/intervalIntersectionZoned.d.ts +9 -0
  624. package/dist/zoned/interval/intervalSplitAtZoned.d.ts +11 -0
  625. package/dist/zoned/interval/intervalSplitAtZoned.js +2 -0
  626. package/dist/zoned/interval/intervalUnionZoned.d.ts +9 -0
  627. package/dist/zoned/interval/intervalXorAllZoned.d.ts +9 -0
  628. package/dist/zoned/interval/intervalXorZoned.d.ts +9 -0
  629. package/dist/zoned/interval/mergeIntervalsZoned.d.ts +9 -0
  630. package/dist/zoned/interval/splitIntervalByUnitZoned.d.ts +27 -6
  631. package/dist/zoned/interval/splitIntervalByUnitZoned.js +11 -6
  632. package/dist/zoned/map/mapZonedDatesInRange.d.ts +9 -4
  633. package/dist/zoned/map/mapZonedDatesInRange.js +2 -4
  634. package/dist/zoned/parse/parseRfc2822.d.ts +1 -1
  635. package/dist/zoned/parse/parseRfc2822.js +1 -1
  636. package/dist/zoned/parse/parseUnitFromZoned.d.ts +9 -3
  637. package/dist/zoned/parse/parseUnitFromZoned.js +1 -3
  638. package/dist/zoned/parse/parseWeekFromZoned.d.ts +10 -3
  639. package/dist/zoned/parse/parseWeekFromZoned.js +2 -3
  640. package/dist/zoned/validate/hasDaylightSaving.d.ts +42 -11
  641. package/dist/zoned/validate/hasDaylightSaving.js +47 -31
  642. package/dist/zoned/validate/isValidZonedDateTime.d.ts +13 -0
  643. package/dist/zoned/validate/isValidZonedDateTime.js +14 -1
  644. package/dist/zoned/validate/isValidZonedRange.d.ts +15 -4
  645. package/dist/zoned/validate/isValidZonedRange.js +1 -4
  646. package/package.json +53 -5
  647. package/skills/gmt-arithmetic/SKILL.md +1 -1
  648. package/skills/gmt-basics/SKILL.md +10 -1
  649. package/skills/gmt-integration/SKILL.md +10 -5
  650. package/skills/gmt-timezone/SKILL.md +210 -14
  651. package/dist/internal/resolveReadingTimeZone.d.ts +0 -11
  652. package/dist/internal/resolveReadingTimeZone.js +0 -18
  653. package/dist/types/duration-unit.d.ts +0 -5
  654. /package/dist/types/{duration-unit.js → free-time-options.js} +0 -0
@@ -3,7 +3,7 @@ import { Temporal } from "@js-temporal/polyfill";
3
3
  import { resolveDurationUnit, tileByUnit } from "../../internal/index.js";
4
4
  import { exceedsPieceLimit, resolveMaxPieces } from "../../internal/maxPieces.js";
5
5
  import { resolveUnixIntervalPair } from "../../internal/resolveUnixIntervalPair.js";
6
- import { minSlicesForSpan } from "../../internal/splitStep.js";
6
+ import { minSlicesForSpan, stepNoFinerThan } from "../../internal/splitStep.js";
7
7
  import { toUnixEpoch } from "../../internal/unixEpochValue.js";
8
8
  /**
9
9
  * Split a Unix epoch interval into sub-intervals of `amount × unit`.
@@ -13,34 +13,36 @@ import { toUnixEpoch } from "../../internal/unixEpochValue.js";
13
13
  * no value and together cover `[start, end)` exactly once.
14
14
  * - The final sub-interval is trimmed so its `end` never exceeds the original `end`.
15
15
  * - Calendar-unit boundaries (years, months, weeks, days) are computed from `start`
16
- * (`start + k × amount`, as Temporal and Luxon's `Interval.splitBy` do), so month-end starts
17
- * don't drift: a monthly split from January 31 lands on February 29, March 31, April 30.
16
+ * (`start + k × amount`), so month-end starts don't drift: a monthly split from January 31
17
+ * lands on February 29, March 31, April 30. Temporal's `add` constrains a day the month lacks
18
+ * to the month's last day, and stepping from that boundary would keep the shortened day
19
+ * (February 29, then March 29).
20
+ * - Comparison: Luxon's `Interval.splitBy` computes each boundary from the start the same way.
18
21
  * - Exact-unit boundaries (hours and smaller) step from the previous boundary. Exact units never
19
22
  * clamp, and stepping keeps nanosecond precision where `k × amount` would pass
20
23
  * `Number.MAX_SAFE_INTEGER` (boundaries are then floored to milliseconds).
21
24
  * - A calendar step that resolves to the same instant as the previous boundary (a deleted local
22
25
  * day, such as 30 December 2011 in `Pacific/Apia`) is skipped, so no empty slice is produced.
23
26
  * A step that goes backwards returns `[]`.
27
+ * - A step finer than `epochUnit` (500 milliseconds when the epochs are seconds, any microsecond
28
+ * or nanosecond step shorter than a millisecond) cannot be written in that unit: its boundaries
29
+ * floor to every whole unit from `start` to `end`, so the pieces are one `epochUnit` long and
30
+ * none is empty. `maxPieces` counts those pieces.
24
31
  * - Returns `[{ start, end }]` when `start === end` (zero-length interval).
25
32
  * - Returns `[]` on invalid input (`start`/`end` that is not a safe integer or numeric string of
26
33
  * one — fractions, empty strings and values beyond ±(2^53 − 1) are invalid — unsupported unit,
27
34
  * non-positive amount, an invalid `epochUnit` or an unknown `timeZone`).
28
35
  *
29
- * - Reads `start` and `end`, and returns every boundary, in `options.epochUnit` (`"milliseconds"`
30
- * by default, `"seconds"`; singular accepted). Each input is a safe integer or a string of
31
- * optionally negative ASCII digits.
32
- * - Calendar-unit arithmetic runs in `options.timeZone`: omitted is `"UTC"`, `"local"` is the
33
- * system zone, and an unknown zone returns `[]`.
36
+ * - `start` and `end` are each a safe integer or a string of optionally negative ASCII digits.
34
37
  * - Accepts singular or plural units (`"day"` and `"days"` behave identically).
35
- * - `options.maxPieces` (positive safe integer, default `1_000_000`) bounds the output: a split
36
- * into more slices returns `[]`, decided from the span before stepping where it can be, and
37
- * otherwise as soon as slice `maxPieces + 1` is due. An invalid `maxPieces` also returns `[]`.
38
+ * - A split into more than `options.maxPieces` slices returns `[]`, decided from the span before
39
+ * stepping where it can be, and otherwise as soon as slice `maxPieces + 1` is due.
38
40
  *
39
41
  * @param start Unix epoch in `epochUnit` — interval start
40
42
  * @param end Unix epoch in `epochUnit` — interval end
41
43
  * @param unit duration unit string — any `DateTimeDurationUnit`, singular or plural
42
44
  * @param amount positive number of units per step
43
- * @param options optional: `maxPieces` (positive safe integer, default `1_000_000`), `epochUnit` ("seconds" | "milliseconds", singular accepted; default "milliseconds"), `timeZone` (IANA, or "local" for the system zone; default "UTC")
45
+ * @param options optional: the limit on the number of slices, how the epochs are read and the zone calendar steps run in
44
46
  * @returns array of `{ start, end }` records, or [] on invalid input
45
47
  *
46
48
  * @example splitIntervalByUnitUnix(0, 86400000, "hour", 6) // [{ start: 0, end: 21600000 }, { start: 21600000, end: 43200000 }, { start: 43200000, end: 64800000 }, { start: 64800000, end: 86400000 }]
@@ -52,6 +54,7 @@ import { toUnixEpoch } from "../../internal/unixEpochValue.js";
52
54
  * @example splitIntervalByUnitUnix(0, 86400000, "hour", 6, { maxPieces: 4 }) // [{ start: 0, end: 21600000 }, { start: 21600000, end: 43200000 }, { start: 43200000, end: 64800000 }, { start: 64800000, end: 86400000 }]
53
55
  * @example splitIntervalByUnitUnix(1710046800000, 1710216000000, "day", 1, { timeZone: "America/New_York" }) // [{ start: 1710046800000, end: 1710129600000 }, { start: 1710129600000, end: 1710216000000 }] (the first local day is 23 hours)
54
56
  * @example splitIntervalByUnitUnix("0", "86400", "hours", 12, { epochUnit: "second" }) // [{ start: 0, end: 43200 }, { start: 43200, end: 86400 }]
57
+ * @example splitIntervalByUnitUnix(0, 2, "millisecond", 500, { epochUnit: "seconds" }) // [{ start: 0, end: 1 }, { start: 1, end: 2 }] (a step finer than the epoch unit gives one-second pieces)
55
58
  */
56
59
  export function splitIntervalByUnitUnix(start, end, unit, amount, options) {
57
60
  try {
@@ -67,8 +70,10 @@ export function splitIntervalByUnitUnix(start, end, unit, amount, options) {
67
70
  return [];
68
71
  }
69
72
  const { startVal, endVal, epochUnit } = pair;
70
- // Temporal's plural duration field name, as the tiling steps add `{ [unit]: amount }`.
71
- const resolvedUnit = resolveDurationUnit(pair.resolvedUnit);
73
+ // Temporal's plural duration field name, as the tiling steps add `{ [unit]: amount }`. A step
74
+ // finer than the epoch unit would floor neighbouring boundaries to one value (an empty slice),
75
+ // so it steps by one epoch unit instead.
76
+ const [resolvedUnit, stepAmount] = stepNoFinerThan(resolveDurationUnit(pair.resolvedUnit), amount, epochUnit);
72
77
  if (startVal.epochNanoseconds === endVal.epochNanoseconds) {
73
78
  return [
74
79
  {
@@ -79,11 +84,11 @@ export function splitIntervalByUnitUnix(start, end, unit, amount, options) {
79
84
  }
80
85
  try {
81
86
  const spanNs = Number(endVal.epochNanoseconds - startVal.epochNanoseconds);
82
- if (exceedsPieceLimit(minSlicesForSpan(spanNs, resolvedUnit, amount, true), maxPieces)) {
87
+ if (exceedsPieceLimit(minSlicesForSpan(spanNs, resolvedUnit, stepAmount, true), maxPieces)) {
83
88
  return [];
84
89
  }
85
90
  // Boundaries stay ZonedDateTime (nanosecond) values; only the output is floored to epochUnit.
86
- const slices = tileByUnit(startVal, endVal, Temporal.ZonedDateTime.compare, resolvedUnit, amount, maxPieces);
91
+ const slices = tileByUnit(startVal, endVal, Temporal.ZonedDateTime.compare, resolvedUnit, stepAmount, maxPieces);
87
92
  return (slices ?? []).map(([sliceStart, sliceEnd]) => ({
88
93
  start: toUnixEpoch(sliceStart, epochUnit),
89
94
  end: toUnixEpoch(sliceEnd, epochUnit),
@@ -3,11 +3,10 @@ import type { UnixUnit } from "../validate/index.js";
3
3
  * Extract the date portion from a unix epoch value.
4
4
  *
5
5
  * - Converts to ZonedDateTime then extracts the PlainDate.
6
- * - Uses UTC if `timeZone` is not specified; `"local"` is the system time zone.
7
6
  * - Returns "" for invalid input.
8
7
  *
9
8
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
10
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
9
+ * @param options optional: how `value` is read and the zone its wall clock is read in
11
10
  * @returns ISO date string (e.g., "2024-03-17") or "" on invalid input
12
11
  *
13
12
  * @example parseDateFromUnix(1700000000000, { timeZone: "UTC" }) // "2023-11-14"
@@ -17,6 +16,18 @@ import type { UnixUnit } from "../validate/index.js";
17
16
  * @example parseDateFromUnix(1.5) // "" (not an integer epoch)
18
17
  */
19
18
  export declare function parseDateFromUnix(value: number | string, options?: {
19
+ /**
20
+ * The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
21
+ * plural. Any other value returns `""`.
22
+ *
23
+ * @defaultValue `"milliseconds"`
24
+ */
20
25
  epochUnit?: UnixUnit;
26
+ /**
27
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
28
+ * the system time zone. An unknown zone returns `""`.
29
+ *
30
+ * @defaultValue `"UTC"`
31
+ */
21
32
  timeZone?: string;
22
33
  }): string;
@@ -4,11 +4,10 @@ import { isOptionsArgument } from "../../internal/isObject.js";
4
4
  * Extract the date portion from a unix epoch value.
5
5
  *
6
6
  * - Converts to ZonedDateTime then extracts the PlainDate.
7
- * - Uses UTC if `timeZone` is not specified; `"local"` is the system time zone.
8
7
  * - Returns "" for invalid input.
9
8
  *
10
9
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
11
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
10
+ * @param options optional: how `value` is read and the zone its wall clock is read in
12
11
  * @returns ISO date string (e.g., "2024-03-17") or "" on invalid input
13
12
  *
14
13
  * @example parseDateFromUnix(1700000000000, { timeZone: "UTC" }) // "2023-11-14"
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
3
3
  * Return the day of month (1-31) from a unix epoch value.
4
4
  *
5
5
  * - Delegates to {@link parseUnitFromUnix} with unit "day".
6
- * - `value` is a safe integer or a digit string; an omitted `timeZone` is UTC.
6
+ * - `value` is a safe integer or a digit string.
7
7
  * - Returns "" for invalid input.
8
8
  *
9
9
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
10
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
10
+ * @param options optional: how `value` is read and the zone its wall clock is read in
11
11
  * @returns Day (01-31) or "" on invalid input
12
12
  *
13
13
  * @example parseDayFromUnix(1700000000000, { timeZone: "UTC" }) // "14"
@@ -15,6 +15,18 @@ import type { UnixUnit } from "../validate/index.js";
15
15
  * @example parseDayFromUnix("") // "" (a blank string is not epoch 0)
16
16
  */
17
17
  export declare function parseDayFromUnix(value: number | string, options?: {
18
+ /**
19
+ * The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
20
+ * plural. Any other value returns `""`.
21
+ *
22
+ * @defaultValue `"milliseconds"`
23
+ */
18
24
  epochUnit?: UnixUnit;
25
+ /**
26
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
27
+ * the system time zone. An unknown zone returns `""`.
28
+ *
29
+ * @defaultValue `"UTC"`
30
+ */
19
31
  timeZone?: string;
20
32
  }): string;
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
4
4
  * Return the day of month (1-31) from a unix epoch value.
5
5
  *
6
6
  * - Delegates to {@link parseUnitFromUnix} with unit "day".
7
- * - `value` is a safe integer or a digit string; an omitted `timeZone` is UTC.
7
+ * - `value` is a safe integer or a digit string.
8
8
  * - Returns "" for invalid input.
9
9
  *
10
10
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
11
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
11
+ * @param options optional: how `value` is read and the zone its wall clock is read in
12
12
  * @returns Day (01-31) or "" on invalid input
13
13
  *
14
14
  * @example parseDayFromUnix(1700000000000, { timeZone: "UTC" }) // "14"
@@ -6,7 +6,7 @@ import type { UnixUnit } from "../validate/index.js";
6
6
  * - Returns null for invalid input.
7
7
  *
8
8
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
9
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
9
+ * @param options optional: how `value` is read and the zone its wall clock is read in
10
10
  * @returns Day of week (1-7) or null on invalid input
11
11
  *
12
12
  * @example parseDayOfWeekFromUnix(1704067200000, { timeZone: "UTC" }) // 1
@@ -16,6 +16,18 @@ import type { UnixUnit } from "../validate/index.js";
16
16
  * @example parseDayOfWeekFromUnix("") // null (a blank string is not epoch 0)
17
17
  */
18
18
  export declare function parseDayOfWeekFromUnix(value: number | string, options?: {
19
+ /**
20
+ * The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
21
+ * plural. Any other value returns `null`.
22
+ *
23
+ * @defaultValue `"milliseconds"`
24
+ */
19
25
  epochUnit?: UnixUnit;
26
+ /**
27
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
28
+ * the system time zone. An unknown zone returns `null`.
29
+ *
30
+ * @defaultValue `"UTC"`
31
+ */
20
32
  timeZone?: string;
21
33
  }): number | null;
@@ -7,7 +7,7 @@ import { isOptionsArgument } from "../../internal/isObject.js";
7
7
  * - Returns null for invalid input.
8
8
  *
9
9
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
10
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
10
+ * @param options optional: how `value` is read and the zone its wall clock is read in
11
11
  * @returns Day of week (1-7) or null on invalid input
12
12
  *
13
13
  * @example parseDayOfWeekFromUnix(1704067200000, { timeZone: "UTC" }) // 1
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
3
3
  * Return the hour (0-23) from a unix epoch value.
4
4
  *
5
5
  * - Delegates to {@link parseUnitFromUnix} with unit "hour".
6
- * - `value` is a safe integer or a digit string; an omitted `timeZone` is UTC.
6
+ * - `value` is a safe integer or a digit string.
7
7
  * - Returns "" for invalid input.
8
8
  *
9
9
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
10
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
10
+ * @param options optional: how `value` is read and the zone its wall clock is read in
11
11
  * @returns Hour (00-23) or "" on invalid input
12
12
  *
13
13
  * @example parseHourFromUnix(1700000000000, { timeZone: "UTC" }) // "22"
@@ -15,6 +15,18 @@ import type { UnixUnit } from "../validate/index.js";
15
15
  * @example parseHourFromUnix("") // "" (a blank string is not epoch 0)
16
16
  */
17
17
  export declare function parseHourFromUnix(value: number | string, options?: {
18
+ /**
19
+ * The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
20
+ * plural. Any other value returns `""`.
21
+ *
22
+ * @defaultValue `"milliseconds"`
23
+ */
18
24
  epochUnit?: UnixUnit;
25
+ /**
26
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
27
+ * the system time zone. An unknown zone returns `""`.
28
+ *
29
+ * @defaultValue `"UTC"`
30
+ */
19
31
  timeZone?: string;
20
32
  }): string;
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
4
4
  * Return the hour (0-23) from a unix epoch value.
5
5
  *
6
6
  * - Delegates to {@link parseUnitFromUnix} with unit "hour".
7
- * - `value` is a safe integer or a digit string; an omitted `timeZone` is UTC.
7
+ * - `value` is a safe integer or a digit string.
8
8
  * - Returns "" for invalid input.
9
9
  *
10
10
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
11
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
11
+ * @param options optional: how `value` is read and the zone its wall clock is read in
12
12
  * @returns Hour (00-23) or "" on invalid input
13
13
  *
14
14
  * @example parseHourFromUnix(1700000000000, { timeZone: "UTC" }) // "22"
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
3
3
  * Return the microsecond (0-999) from a unix epoch value.
4
4
  *
5
5
  * - Delegates to {@link parseUnitFromUnix} with unit "microsecond".
6
- * - `value` is a safe integer or a digit string; an omitted `timeZone` is UTC.
6
+ * - `value` is a safe integer or a digit string.
7
7
  * - Returns "" for invalid input.
8
8
  *
9
9
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
10
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
10
+ * @param options optional: how `value` is read and the zone its wall clock is read in
11
11
  * @returns Microsecond (000-999) or "" on invalid input
12
12
  *
13
13
  * @example parseMicrosecondFromUnix(1700000000000) // "000"
@@ -15,6 +15,18 @@ import type { UnixUnit } from "../validate/index.js";
15
15
  * @example parseMicrosecondFromUnix("") // "" (a blank string is not epoch 0)
16
16
  */
17
17
  export declare function parseMicrosecondFromUnix(value: number | string, options?: {
18
+ /**
19
+ * The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
20
+ * plural. Any other value returns `""`.
21
+ *
22
+ * @defaultValue `"milliseconds"`
23
+ */
18
24
  epochUnit?: UnixUnit;
25
+ /**
26
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
27
+ * the system time zone. An unknown zone returns `""`.
28
+ *
29
+ * @defaultValue `"UTC"`
30
+ */
19
31
  timeZone?: string;
20
32
  }): string;
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
4
4
  * Return the microsecond (0-999) from a unix epoch value.
5
5
  *
6
6
  * - Delegates to {@link parseUnitFromUnix} with unit "microsecond".
7
- * - `value` is a safe integer or a digit string; an omitted `timeZone` is UTC.
7
+ * - `value` is a safe integer or a digit string.
8
8
  * - Returns "" for invalid input.
9
9
  *
10
10
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
11
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
11
+ * @param options optional: how `value` is read and the zone its wall clock is read in
12
12
  * @returns Microsecond (000-999) or "" on invalid input
13
13
  *
14
14
  * @example parseMicrosecondFromUnix(1700000000000) // "000"
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
3
3
  * Return the millisecond (0-999) from a unix epoch value.
4
4
  *
5
5
  * - Delegates to {@link parseUnitFromUnix} with unit "millisecond".
6
- * - `value` is a safe integer or a digit string; an omitted `timeZone` is UTC.
6
+ * - `value` is a safe integer or a digit string.
7
7
  * - Returns "" for invalid input.
8
8
  *
9
9
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
10
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
10
+ * @param options optional: how `value` is read and the zone its wall clock is read in
11
11
  * @returns Millisecond (000-999) or "" on invalid input
12
12
  *
13
13
  * @example parseMillisecondFromUnix(1700000000000) // "000"
@@ -15,6 +15,18 @@ import type { UnixUnit } from "../validate/index.js";
15
15
  * @example parseMillisecondFromUnix("") // "" (a blank string is not epoch 0)
16
16
  */
17
17
  export declare function parseMillisecondFromUnix(value: number | string, options?: {
18
+ /**
19
+ * The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
20
+ * plural. Any other value returns `""`.
21
+ *
22
+ * @defaultValue `"milliseconds"`
23
+ */
18
24
  epochUnit?: UnixUnit;
25
+ /**
26
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
27
+ * the system time zone. An unknown zone returns `""`.
28
+ *
29
+ * @defaultValue `"UTC"`
30
+ */
19
31
  timeZone?: string;
20
32
  }): string;
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
4
4
  * Return the millisecond (0-999) from a unix epoch value.
5
5
  *
6
6
  * - Delegates to {@link parseUnitFromUnix} with unit "millisecond".
7
- * - `value` is a safe integer or a digit string; an omitted `timeZone` is UTC.
7
+ * - `value` is a safe integer or a digit string.
8
8
  * - Returns "" for invalid input.
9
9
  *
10
10
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
11
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
11
+ * @param options optional: how `value` is read and the zone its wall clock is read in
12
12
  * @returns Millisecond (000-999) or "" on invalid input
13
13
  *
14
14
  * @example parseMillisecondFromUnix(1700000000000) // "000"
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
3
3
  * Return the minute (0-59) from a unix epoch value.
4
4
  *
5
5
  * - Delegates to {@link parseUnitFromUnix} with unit "minute".
6
- * - `value` is a safe integer or a digit string; an omitted `timeZone` is UTC.
6
+ * - `value` is a safe integer or a digit string.
7
7
  * - Returns "" for invalid input.
8
8
  *
9
9
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
10
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
10
+ * @param options optional: how `value` is read and the zone its wall clock is read in
11
11
  * @returns Minute (00-59) or "" on invalid input
12
12
  *
13
13
  * @example parseMinuteFromUnix(1700000000000, { timeZone: "UTC" }) // "13"
@@ -15,6 +15,18 @@ import type { UnixUnit } from "../validate/index.js";
15
15
  * @example parseMinuteFromUnix("") // "" (a blank string is not epoch 0)
16
16
  */
17
17
  export declare function parseMinuteFromUnix(value: number | string, options?: {
18
+ /**
19
+ * The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
20
+ * plural. Any other value returns `""`.
21
+ *
22
+ * @defaultValue `"milliseconds"`
23
+ */
18
24
  epochUnit?: UnixUnit;
25
+ /**
26
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
27
+ * the system time zone. An unknown zone returns `""`.
28
+ *
29
+ * @defaultValue `"UTC"`
30
+ */
19
31
  timeZone?: string;
20
32
  }): string;
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
4
4
  * Return the minute (0-59) from a unix epoch value.
5
5
  *
6
6
  * - Delegates to {@link parseUnitFromUnix} with unit "minute".
7
- * - `value` is a safe integer or a digit string; an omitted `timeZone` is UTC.
7
+ * - `value` is a safe integer or a digit string.
8
8
  * - Returns "" for invalid input.
9
9
  *
10
10
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
11
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
11
+ * @param options optional: how `value` is read and the zone its wall clock is read in
12
12
  * @returns Minute (00-59) or "" on invalid input
13
13
  *
14
14
  * @example parseMinuteFromUnix(1700000000000, { timeZone: "UTC" }) // "13"
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
3
3
  * Return the month (1-12) from a unix epoch value.
4
4
  *
5
5
  * - Delegates to {@link parseUnitFromUnix} with unit "month".
6
- * - `value` is a safe integer or a digit string; an omitted `timeZone` is UTC.
6
+ * - `value` is a safe integer or a digit string.
7
7
  * - Returns "" for invalid input.
8
8
  *
9
9
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
10
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
10
+ * @param options optional: how `value` is read and the zone its wall clock is read in
11
11
  * @returns Month (01-12) or "" on invalid input
12
12
  *
13
13
  * @example parseMonthFromUnix(1700000000000, { timeZone: "UTC" }) // "11"
@@ -16,6 +16,18 @@ import type { UnixUnit } from "../validate/index.js";
16
16
  * @example parseMonthFromUnix("") // "" (a blank string is not epoch 0)
17
17
  */
18
18
  export declare function parseMonthFromUnix(value: number | string, options?: {
19
+ /**
20
+ * The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
21
+ * plural. Any other value returns `""`.
22
+ *
23
+ * @defaultValue `"milliseconds"`
24
+ */
19
25
  epochUnit?: UnixUnit;
26
+ /**
27
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
28
+ * the system time zone. An unknown zone returns `""`.
29
+ *
30
+ * @defaultValue `"UTC"`
31
+ */
20
32
  timeZone?: string;
21
33
  }): string;
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
4
4
  * Return the month (1-12) from a unix epoch value.
5
5
  *
6
6
  * - Delegates to {@link parseUnitFromUnix} with unit "month".
7
- * - `value` is a safe integer or a digit string; an omitted `timeZone` is UTC.
7
+ * - `value` is a safe integer or a digit string.
8
8
  * - Returns "" for invalid input.
9
9
  *
10
10
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
11
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
11
+ * @param options optional: how `value` is read and the zone its wall clock is read in
12
12
  * @returns Month (01-12) or "" on invalid input
13
13
  *
14
14
  * @example parseMonthFromUnix(1700000000000, { timeZone: "UTC" }) // "11"
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
3
3
  * Return the nanosecond (0-999) from a unix epoch value.
4
4
  *
5
5
  * - Delegates to {@link parseUnitFromUnix} with unit "nanosecond".
6
- * - `value` is a safe integer or a digit string; an omitted `timeZone` is UTC.
6
+ * - `value` is a safe integer or a digit string.
7
7
  * - Returns "" for invalid input.
8
8
  *
9
9
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
10
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
10
+ * @param options optional: how `value` is read and the zone its wall clock is read in
11
11
  * @returns Nanosecond field (0-999), zero-padded to 3 digits ("000") as Temporal's `nanosecond` field, or "" on invalid input
12
12
  *
13
13
  * @example parseNanosecondFromUnix(1700000000000) // "000"
@@ -16,6 +16,18 @@ import type { UnixUnit } from "../validate/index.js";
16
16
  * @example parseNanosecondFromUnix("") // "" (a blank string is not epoch 0)
17
17
  */
18
18
  export declare function parseNanosecondFromUnix(value: number | string, options?: {
19
+ /**
20
+ * The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
21
+ * plural. Any other value returns `""`.
22
+ *
23
+ * @defaultValue `"milliseconds"`
24
+ */
19
25
  epochUnit?: UnixUnit;
26
+ /**
27
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
28
+ * the system time zone. An unknown zone returns `""`.
29
+ *
30
+ * @defaultValue `"UTC"`
31
+ */
20
32
  timeZone?: string;
21
33
  }): string;
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
4
4
  * Return the nanosecond (0-999) from a unix epoch value.
5
5
  *
6
6
  * - Delegates to {@link parseUnitFromUnix} with unit "nanosecond".
7
- * - `value` is a safe integer or a digit string; an omitted `timeZone` is UTC.
7
+ * - `value` is a safe integer or a digit string.
8
8
  * - Returns "" for invalid input.
9
9
  *
10
10
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
11
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
11
+ * @param options optional: how `value` is read and the zone its wall clock is read in
12
12
  * @returns Nanosecond field (0-999), zero-padded to 3 digits ("000") as Temporal's `nanosecond` field, or "" on invalid input
13
13
  *
14
14
  * @example parseNanosecondFromUnix(1700000000000) // "000"
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
3
3
  * Return the second (0-59) from a unix epoch value.
4
4
  *
5
5
  * - Delegates to {@link parseUnitFromUnix} with unit "second".
6
- * - `value` is a safe integer or a digit string; an omitted `timeZone` is UTC.
6
+ * - `value` is a safe integer or a digit string.
7
7
  * - Returns "" for invalid input.
8
8
  *
9
9
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
10
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
10
+ * @param options optional: how `value` is read and the zone its wall clock is read in
11
11
  * @returns Second (00-59) or "" on invalid input
12
12
  *
13
13
  * @example parseSecondFromUnix(1700000000000, { timeZone: "UTC" }) // "20"
@@ -15,6 +15,18 @@ import type { UnixUnit } from "../validate/index.js";
15
15
  * @example parseSecondFromUnix("") // "" (a blank string is not epoch 0)
16
16
  */
17
17
  export declare function parseSecondFromUnix(value: number | string, options?: {
18
+ /**
19
+ * The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
20
+ * plural. Any other value returns `""`.
21
+ *
22
+ * @defaultValue `"milliseconds"`
23
+ */
18
24
  epochUnit?: UnixUnit;
25
+ /**
26
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
27
+ * the system time zone. An unknown zone returns `""`.
28
+ *
29
+ * @defaultValue `"UTC"`
30
+ */
19
31
  timeZone?: string;
20
32
  }): string;
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
4
4
  * Return the second (0-59) from a unix epoch value.
5
5
  *
6
6
  * - Delegates to {@link parseUnitFromUnix} with unit "second".
7
- * - `value` is a safe integer or a digit string; an omitted `timeZone` is UTC.
7
+ * - `value` is a safe integer or a digit string.
8
8
  * - Returns "" for invalid input.
9
9
  *
10
10
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
11
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
11
+ * @param options optional: how `value` is read and the zone its wall clock is read in
12
12
  * @returns Second (00-59) or "" on invalid input
13
13
  *
14
14
  * @example parseSecondFromUnix(1700000000000, { timeZone: "UTC" }) // "20"
@@ -3,11 +3,10 @@ import type { UnixUnit } from "../validate/index.js";
3
3
  * Extract the time portion from a unix epoch value.
4
4
  *
5
5
  * - Converts to ZonedDateTime then extracts the PlainTime.
6
- * - Uses UTC if `timeZone` is not specified; `"local"` is the system time zone.
7
6
  * - Returns "" for invalid input.
8
7
  *
9
8
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
10
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
9
+ * @param options optional: how `value` is read and the zone its wall clock is read in
11
10
  * @returns ISO time string (e.g., "14:30:45") or "" on invalid input
12
11
  *
13
12
  * @example parseTimeFromUnix(1700000000000, { timeZone: "UTC" }) // "22:13:20"
@@ -17,6 +16,18 @@ import type { UnixUnit } from "../validate/index.js";
17
16
  * @example parseTimeFromUnix(1.5) // "" (not an integer epoch)
18
17
  */
19
18
  export declare function parseTimeFromUnix(value: number | string, options?: {
19
+ /**
20
+ * The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
21
+ * plural. Any other value returns `""`.
22
+ *
23
+ * @defaultValue `"milliseconds"`
24
+ */
20
25
  epochUnit?: UnixUnit;
26
+ /**
27
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
28
+ * the system time zone. An unknown zone returns `""`.
29
+ *
30
+ * @defaultValue `"UTC"`
31
+ */
21
32
  timeZone?: string;
22
33
  }): string;
@@ -4,11 +4,10 @@ import { isOptionsArgument } from "../../internal/isObject.js";
4
4
  * Extract the time portion from a unix epoch value.
5
5
  *
6
6
  * - Converts to ZonedDateTime then extracts the PlainTime.
7
- * - Uses UTC if `timeZone` is not specified; `"local"` is the system time zone.
8
7
  * - Returns "" for invalid input.
9
8
  *
10
9
  * @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
11
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone is invalid)
10
+ * @param options optional: how `value` is read and the zone its wall clock is read in
12
11
  * @returns ISO time string (e.g., "14:30:45") or "" on invalid input
13
12
  *
14
13
  * @example parseTimeFromUnix(1700000000000, { timeZone: "UTC" }) // "22:13:20"