@northguild/gmt 1.17.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 (638) hide show
  1. package/README.md +462 -22
  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/instant/convert/classifyLocal.d.ts +1 -1
  43. package/dist/instant/convert/classifyLocal.js +1 -1
  44. package/dist/instant/convert/fromOffsetInstant.d.ts +3 -1
  45. package/dist/instant/convert/fromOffsetInstant.js +3 -1
  46. package/dist/instant/convert/resolveLocal.d.ts +12 -7
  47. package/dist/instant/convert/resolveLocal.js +6 -10
  48. package/dist/instant/convert/toOffsetInstant.d.ts +22 -9
  49. package/dist/instant/convert/toOffsetInstant.js +10 -3
  50. package/dist/intermodal/calculate/billingTimeline.d.ts +31 -11
  51. package/dist/intermodal/calculate/billingTimeline.js +2 -2
  52. package/dist/intermodal/calculate/chargeableDays.d.ts +13 -11
  53. package/dist/intermodal/calculate/chargeableDays.js +4 -9
  54. package/dist/intermodal/calculate/demurrageClock.d.ts +16 -7
  55. package/dist/intermodal/calculate/demurrageClock.js +7 -7
  56. package/dist/intermodal/calculate/freeTimeExpiry.d.ts +5 -4
  57. package/dist/intermodal/calculate/freeTimeExpiry.js +6 -6
  58. package/dist/internal/businessCalendar.d.ts +5 -0
  59. package/dist/internal/businessCalendar.js +5 -1
  60. package/dist/internal/cycleFieldValue.d.ts +6 -4
  61. package/dist/internal/cycleFieldValue.js +6 -4
  62. package/dist/internal/daylightTime.d.ts +33 -0
  63. package/dist/internal/daylightTime.js +164 -0
  64. package/dist/internal/durationUntilString.js +4 -3
  65. package/dist/internal/englishCalendarNames.js +1 -2
  66. package/dist/internal/epochNanoseconds.d.ts +2 -0
  67. package/dist/internal/epochNanoseconds.js +2 -0
  68. package/dist/internal/exactDuration.d.ts +37 -0
  69. package/dist/internal/exactDuration.js +64 -0
  70. package/dist/internal/exactMoment.d.ts +72 -0
  71. package/dist/internal/exactMoment.js +114 -0
  72. package/dist/internal/fiscalCalendar.d.ts +4 -3
  73. package/dist/internal/fiscalCalendar.js +4 -3
  74. package/dist/internal/formatCalendarDays.d.ts +2 -2
  75. package/dist/internal/formatRelativeDuration.d.ts +21 -1
  76. package/dist/internal/formatRelativeDuration.js +47 -7
  77. package/dist/internal/index.d.ts +9 -4
  78. package/dist/internal/index.js +9 -4
  79. package/dist/internal/instantFormatOptions.js +2 -1
  80. package/dist/internal/instantNanoseconds.d.ts +75 -9
  81. package/dist/internal/instantNanoseconds.js +192 -11
  82. package/dist/internal/joinDateTimeConnector.d.ts +1 -1
  83. package/dist/internal/monthGridWeekRow.d.ts +2 -1
  84. package/dist/internal/monthGridWeekRow.js +2 -1
  85. package/dist/internal/normalizeTimeZone.d.ts +2 -2
  86. package/dist/internal/normalizeTimeZone.js +2 -2
  87. package/dist/internal/operatingSchedule.d.ts +129 -0
  88. package/dist/internal/operatingSchedule.js +668 -0
  89. package/dist/internal/optionOrDefault.d.ts +18 -0
  90. package/dist/internal/optionOrDefault.js +20 -0
  91. package/dist/internal/patternToken.d.ts +2 -2
  92. package/dist/internal/patternToken.js +28 -13
  93. package/dist/internal/plainDateUntil.js +10 -6
  94. package/dist/internal/punctuality.d.ts +38 -0
  95. package/dist/internal/punctuality.js +59 -0
  96. package/dist/internal/readDateTimeFormatOptions.d.ts +30 -0
  97. package/dist/internal/readDateTimeFormatOptions.js +93 -0
  98. package/dist/internal/resolveDurationRelativeTo.d.ts +4 -0
  99. package/dist/internal/resolveDurationRelativeTo.js +11 -1
  100. package/dist/internal/resolveRelativeRounding.d.ts +17 -6
  101. package/dist/internal/resolveRelativeRounding.js +27 -7
  102. package/dist/internal/resolveRelativeUnit.d.ts +30 -0
  103. package/dist/internal/resolveRelativeUnit.js +40 -0
  104. package/dist/internal/splitStep.d.ts +24 -1
  105. package/dist/internal/splitStep.js +34 -2
  106. package/dist/internal/startOrEndOfZoned.js +2 -3
  107. package/dist/internal/temporalCompat/capabilities.d.ts +26 -0
  108. package/dist/internal/temporalCompat/capabilities.js +35 -3
  109. package/dist/internal/temporalCompat/fieldSearch.js +1 -1
  110. package/dist/internal/temporalCompat/index.d.ts +1 -1
  111. package/dist/internal/temporalCompat/index.js +1 -1
  112. package/dist/internal/temporalCompat/repros.d.ts +1 -1
  113. package/dist/internal/temporalCompat/repros.js +157 -0
  114. package/dist/internal/timestampEvents.d.ts +32 -0
  115. package/dist/internal/timestampEvents.js +76 -0
  116. package/dist/internal/utcZonedDateTime.d.ts +5 -2
  117. package/dist/internal/utcZonedDateTime.js +8 -5
  118. package/dist/internal/zonedBucket.js +8 -6
  119. package/dist/internal/zonedLocalDates.js +1 -1
  120. package/dist/internal/zonedTransitionSearch.d.ts +27 -0
  121. package/dist/internal/zonedTransitionSearch.js +218 -0
  122. package/dist/internal/zonedWallClock.d.ts +21 -7
  123. package/dist/internal/zonedWallClock.js +87 -18
  124. package/dist/internal/zonedWallClockOperations.d.ts +26 -13
  125. package/dist/internal/zonedWallClockOperations.js +87 -34
  126. package/dist/interval/validate/isValidInterval.d.ts +6 -3
  127. package/dist/interval/validate/isValidInterval.js +6 -3
  128. package/dist/plain/calculate/addDate.d.ts +11 -8
  129. package/dist/plain/calculate/addDate.js +5 -8
  130. package/dist/plain/calculate/addDateTime.d.ts +7 -4
  131. package/dist/plain/calculate/addDateTime.js +1 -4
  132. package/dist/plain/calculate/cycleDate.d.ts +16 -7
  133. package/dist/plain/calculate/cycleDate.js +3 -7
  134. package/dist/plain/calculate/cycleDateTime.d.ts +14 -4
  135. package/dist/plain/calculate/cycleDateTime.js +1 -4
  136. package/dist/plain/calculate/cycleTime.d.ts +10 -5
  137. package/dist/plain/calculate/cycleTime.js +3 -5
  138. package/dist/plain/calculate/diffDate.d.ts +1 -1
  139. package/dist/plain/calculate/diffDate.js +1 -1
  140. package/dist/plain/calculate/diffDateAsDuration.d.ts +1 -1
  141. package/dist/plain/calculate/diffDateAsDuration.js +1 -1
  142. package/dist/plain/calculate/diffDateTime.d.ts +1 -1
  143. package/dist/plain/calculate/diffDateTime.js +1 -1
  144. package/dist/plain/calculate/diffDateTimeAsDuration.d.ts +1 -1
  145. package/dist/plain/calculate/diffDateTimeAsDuration.js +1 -1
  146. package/dist/plain/calculate/diffTime.d.ts +1 -1
  147. package/dist/plain/calculate/diffTime.js +1 -1
  148. package/dist/plain/calculate/endOfDate.d.ts +8 -3
  149. package/dist/plain/calculate/endOfDate.js +1 -3
  150. package/dist/plain/calculate/endOfDateTime.d.ts +15 -5
  151. package/dist/plain/calculate/endOfDateTime.js +1 -5
  152. package/dist/plain/calculate/endOfTime.d.ts +8 -2
  153. package/dist/plain/calculate/endOfTime.js +1 -2
  154. package/dist/plain/calculate/getLocaleWeekYear.d.ts +16 -9
  155. package/dist/plain/calculate/getLocaleWeekYear.js +9 -9
  156. package/dist/plain/calculate/getWeekOfMonth.d.ts +7 -4
  157. package/dist/plain/calculate/getWeekOfMonth.js +7 -4
  158. package/dist/plain/calculate/getWeeksInLocaleWeekYear.d.ts +13 -6
  159. package/dist/plain/calculate/getWeeksInLocaleWeekYear.js +6 -6
  160. package/dist/plain/calculate/getWeeksInMonth.d.ts +5 -2
  161. package/dist/plain/calculate/getWeeksInMonth.js +5 -2
  162. package/dist/plain/calculate/nextWeekday.d.ts +7 -3
  163. package/dist/plain/calculate/nextWeekday.js +1 -3
  164. package/dist/plain/calculate/previousWeekday.d.ts +7 -3
  165. package/dist/plain/calculate/previousWeekday.js +1 -3
  166. package/dist/plain/calculate/roundDate.d.ts +20 -7
  167. package/dist/plain/calculate/roundDate.js +3 -10
  168. package/dist/plain/calculate/roundDateTime.d.ts +22 -8
  169. package/dist/plain/calculate/roundDateTime.js +3 -11
  170. package/dist/plain/calculate/roundTime.d.ts +20 -4
  171. package/dist/plain/calculate/roundTime.js +3 -7
  172. package/dist/plain/calculate/setDate.d.ts +7 -5
  173. package/dist/plain/calculate/setDate.js +1 -5
  174. package/dist/plain/calculate/setDateTime.d.ts +8 -5
  175. package/dist/plain/calculate/setDateTime.js +1 -5
  176. package/dist/plain/calculate/setTime.d.ts +10 -6
  177. package/dist/plain/calculate/setTime.js +4 -6
  178. package/dist/plain/calculate/startOfDate.d.ts +8 -2
  179. package/dist/plain/calculate/startOfDate.js +1 -2
  180. package/dist/plain/calculate/startOfDateTime.d.ts +15 -2
  181. package/dist/plain/calculate/startOfDateTime.js +1 -2
  182. package/dist/plain/calculate/startOfTime.d.ts +8 -1
  183. package/dist/plain/calculate/startOfTime.js +1 -1
  184. package/dist/plain/calculate/subtractDate.d.ts +7 -4
  185. package/dist/plain/calculate/subtractDate.js +1 -4
  186. package/dist/plain/calculate/subtractDateTime.d.ts +7 -4
  187. package/dist/plain/calculate/subtractDateTime.js +1 -4
  188. package/dist/plain/compare/areDateTimesEqualBy.d.ts +13 -5
  189. package/dist/plain/compare/areDateTimesEqualBy.js +6 -5
  190. package/dist/plain/compare/areDatesEqualBy.d.ts +15 -6
  191. package/dist/plain/compare/areDatesEqualBy.js +8 -6
  192. package/dist/plain/compare/isBetweenDate.d.ts +13 -2
  193. package/dist/plain/compare/isBetweenDate.js +4 -4
  194. package/dist/plain/compare/isBetweenDateTime.d.ts +13 -2
  195. package/dist/plain/compare/isBetweenDateTime.js +4 -4
  196. package/dist/plain/compare/isBetweenTime.d.ts +13 -2
  197. package/dist/plain/compare/isBetweenTime.js +4 -4
  198. package/dist/plain/compare/isRelativeDay.d.ts +1 -1
  199. package/dist/plain/compare/isRelativeDay.js +1 -1
  200. package/dist/plain/compare/isThisUnit.d.ts +1 -1
  201. package/dist/plain/compare/isThisUnit.js +1 -1
  202. package/dist/plain/format/formatCalendar.d.ts +21 -14
  203. package/dist/plain/format/formatCalendar.js +21 -16
  204. package/dist/plain/format/formatDate.js +5 -3
  205. package/dist/plain/format/formatDateRange.js +4 -2
  206. package/dist/plain/format/formatDateTime.js +4 -2
  207. package/dist/plain/format/formatDateTimeRange.js +4 -2
  208. package/dist/plain/format/formatDateTimeToParts.d.ts +15 -4
  209. package/dist/plain/format/formatDateTimeToParts.js +10 -6
  210. package/dist/plain/format/formatDateToParts.d.ts +13 -2
  211. package/dist/plain/format/formatDateToParts.js +8 -4
  212. package/dist/plain/format/formatRelativeDate.d.ts +16 -3
  213. package/dist/plain/format/formatRelativeDate.js +26 -15
  214. package/dist/plain/format/formatRelativeDateTime.d.ts +16 -3
  215. package/dist/plain/format/formatRelativeDateTime.js +8 -5
  216. package/dist/plain/format/formatRelativeTime.d.ts +16 -3
  217. package/dist/plain/format/formatRelativeTime.js +21 -13
  218. package/dist/plain/format/formatTime.js +4 -2
  219. package/dist/plain/interval/intervalDifferenceDate.d.ts +9 -0
  220. package/dist/plain/interval/intervalDifferenceDateTime.d.ts +9 -0
  221. package/dist/plain/interval/intervalDifferenceTime.d.ts +9 -0
  222. package/dist/plain/interval/intervalDivideEquallyDate.d.ts +19 -4
  223. package/dist/plain/interval/intervalDivideEquallyDate.js +3 -4
  224. package/dist/plain/interval/intervalDivideEquallyDateTime.d.ts +19 -4
  225. package/dist/plain/interval/intervalDivideEquallyDateTime.js +3 -4
  226. package/dist/plain/interval/intervalDivideEquallyTime.d.ts +19 -4
  227. package/dist/plain/interval/intervalDivideEquallyTime.js +3 -4
  228. package/dist/plain/interval/intervalFromDurationDate.d.ts +16 -3
  229. package/dist/plain/interval/intervalFromDurationDate.js +1 -3
  230. package/dist/plain/interval/intervalFromDurationDateTime.d.ts +16 -3
  231. package/dist/plain/interval/intervalFromDurationDateTime.js +1 -3
  232. package/dist/plain/interval/intervalFromDurationTime.d.ts +9 -0
  233. package/dist/plain/interval/intervalIntersectionDate.d.ts +9 -0
  234. package/dist/plain/interval/intervalIntersectionDateTime.d.ts +9 -0
  235. package/dist/plain/interval/intervalIntersectionTime.d.ts +9 -0
  236. package/dist/plain/interval/intervalSplitAtDate.d.ts +11 -0
  237. package/dist/plain/interval/intervalSplitAtDate.js +2 -0
  238. package/dist/plain/interval/intervalSplitAtDateTime.d.ts +11 -0
  239. package/dist/plain/interval/intervalSplitAtDateTime.js +2 -0
  240. package/dist/plain/interval/intervalSplitAtTime.d.ts +11 -0
  241. package/dist/plain/interval/intervalSplitAtTime.js +2 -0
  242. package/dist/plain/interval/intervalUnionDate.d.ts +9 -0
  243. package/dist/plain/interval/intervalUnionDateTime.d.ts +9 -0
  244. package/dist/plain/interval/intervalUnionTime.d.ts +9 -0
  245. package/dist/plain/interval/intervalXorAllDate.d.ts +9 -0
  246. package/dist/plain/interval/intervalXorAllDateTime.d.ts +9 -0
  247. package/dist/plain/interval/intervalXorAllTime.d.ts +9 -0
  248. package/dist/plain/interval/intervalXorDate.d.ts +9 -0
  249. package/dist/plain/interval/intervalXorDateTime.d.ts +9 -0
  250. package/dist/plain/interval/intervalXorTime.d.ts +9 -0
  251. package/dist/plain/interval/mergeIntervalsDate.d.ts +9 -0
  252. package/dist/plain/interval/mergeIntervalsDateTime.d.ts +9 -0
  253. package/dist/plain/interval/mergeIntervalsTime.d.ts +9 -0
  254. package/dist/plain/interval/splitIntervalByUnitDate.d.ts +23 -7
  255. package/dist/plain/interval/splitIntervalByUnitDate.js +7 -7
  256. package/dist/plain/interval/splitIntervalByUnitDateTime.d.ts +22 -6
  257. package/dist/plain/interval/splitIntervalByUnitDateTime.js +6 -6
  258. package/dist/plain/interval/splitIntervalByUnitTime.d.ts +17 -4
  259. package/dist/plain/interval/splitIntervalByUnitTime.js +1 -4
  260. package/dist/plain/map/mapDatesInRange.d.ts +8 -4
  261. package/dist/plain/map/mapDatesInRange.js +1 -4
  262. package/dist/plain/parse/parseDateTimeWithPattern.d.ts +10 -7
  263. package/dist/plain/parse/parseDateTimeWithPattern.js +10 -7
  264. package/dist/plain/parse/parseDateWithPattern.d.ts +10 -7
  265. package/dist/plain/parse/parseDateWithPattern.js +10 -7
  266. package/dist/plain/parse/parseTimeWithPattern.d.ts +10 -7
  267. package/dist/plain/parse/parseTimeWithPattern.js +10 -7
  268. package/dist/plain/parse/parseUnitFromDate.d.ts +11 -3
  269. package/dist/plain/parse/parseUnitFromDate.js +3 -3
  270. package/dist/plain/parse/parseUnitFromDateTime.d.ts +11 -3
  271. package/dist/plain/parse/parseUnitFromDateTime.js +3 -3
  272. package/dist/plain/parse/parseWeekFromDate.d.ts +10 -6
  273. package/dist/plain/parse/parseWeekFromDate.js +2 -6
  274. package/dist/plain/parse/parseWeekFromDateTime.d.ts +10 -6
  275. package/dist/plain/parse/parseWeekFromDateTime.js +2 -6
  276. package/dist/plain/validate/isValidDateRange.d.ts +19 -4
  277. package/dist/plain/validate/isValidDateRange.js +1 -4
  278. package/dist/plain/validate/isValidDateTimeRange.d.ts +20 -5
  279. package/dist/plain/validate/isValidDateTimeRange.js +2 -5
  280. package/dist/plain/validate/isValidTimeRange.d.ts +20 -5
  281. package/dist/plain/validate/isValidTimeRange.js +2 -5
  282. package/dist/precision/convert/fromExcelSerial.d.ts +10 -4
  283. package/dist/precision/convert/fromExcelSerial.js +4 -5
  284. package/dist/precision/convert/fromNanoseconds.d.ts +1 -1
  285. package/dist/precision/convert/fromNanoseconds.js +1 -1
  286. package/dist/precision/convert/toExcelSerial.d.ts +9 -3
  287. package/dist/precision/convert/toExcelSerial.js +3 -4
  288. package/dist/precision/convert/toNanoseconds.d.ts +11 -6
  289. package/dist/precision/convert/toNanoseconds.js +11 -6
  290. package/dist/precision/validate/isValidInstant.d.ts +12 -3
  291. package/dist/precision/validate/isValidInstant.js +12 -3
  292. package/dist/span/calculate/spanMs.d.ts +10 -4
  293. package/dist/span/calculate/spanMs.js +10 -4
  294. package/dist/span/calculate/spanNs.d.ts +10 -4
  295. package/dist/span/calculate/spanNs.js +10 -4
  296. package/dist/span/validate/isValidSpan.d.ts +8 -3
  297. package/dist/span/validate/isValidSpan.js +8 -3
  298. package/dist/transport/calculate/bestAvailable.d.ts +47 -0
  299. package/dist/transport/calculate/bestAvailable.js +76 -0
  300. package/dist/transport/calculate/crossingTime.d.ts +58 -0
  301. package/dist/transport/calculate/crossingTime.js +76 -0
  302. package/dist/transport/calculate/cutoffAt.d.ts +90 -0
  303. package/dist/transport/calculate/cutoffAt.js +209 -0
  304. package/dist/transport/calculate/cutoffSchedule.d.ts +70 -0
  305. package/dist/transport/calculate/cutoffSchedule.js +71 -0
  306. package/dist/transport/calculate/dwellTime.d.ts +16 -7
  307. package/dist/transport/calculate/dwellTime.js +12 -8
  308. package/dist/transport/calculate/estimateDrift.d.ts +65 -0
  309. package/dist/transport/calculate/estimateDrift.js +75 -0
  310. package/dist/transport/calculate/index.d.ts +8 -0
  311. package/dist/transport/calculate/index.js +8 -0
  312. package/dist/transport/calculate/nextDeparture.d.ts +78 -0
  313. package/dist/transport/calculate/nextDeparture.js +131 -0
  314. package/dist/transport/calculate/punctualityRate.d.ts +42 -0
  315. package/dist/transport/calculate/punctualityRate.js +59 -0
  316. package/dist/transport/calculate/scheduleDelivery.d.ts +150 -0
  317. package/dist/transport/calculate/scheduleDelivery.js +300 -0
  318. package/dist/transport/calculate/transitTime.d.ts +21 -3
  319. package/dist/transport/calculate/transitTime.js +29 -46
  320. package/dist/transport/compare/classifyPunctuality.d.ts +46 -0
  321. package/dist/transport/compare/classifyPunctuality.js +64 -0
  322. package/dist/transport/compare/index.d.ts +4 -0
  323. package/dist/transport/compare/index.js +4 -0
  324. package/dist/transport/compare/isPastCutoff.d.ts +33 -0
  325. package/dist/transport/compare/isPastCutoff.js +48 -0
  326. package/dist/transport/compare/scheduleDeviation.d.ts +37 -0
  327. package/dist/transport/compare/scheduleDeviation.js +53 -0
  328. package/dist/transport/compare/timeToCutoff.d.ts +31 -0
  329. package/dist/transport/compare/timeToCutoff.js +47 -0
  330. package/dist/transport/convert/etaAtZone.d.ts +7 -0
  331. package/dist/transport/convert/etaAtZone.js +9 -4
  332. package/dist/transport/index.d.ts +1 -0
  333. package/dist/transport/index.js +1 -0
  334. package/dist/types/business-calendar.d.ts +19 -14
  335. package/dist/types/calendar-options.d.ts +15 -3
  336. package/dist/types/date-cycle-field.d.ts +5 -0
  337. package/dist/types/date-duration-unit.d.ts +4 -0
  338. package/dist/types/date-time-cycle-field.d.ts +4 -0
  339. package/dist/types/date-time-duration-units.d.ts +4 -0
  340. package/dist/types/date-time-unit.d.ts +4 -0
  341. package/dist/types/date-unit.d.ts +4 -0
  342. package/dist/types/disambiguation.d.ts +8 -0
  343. package/dist/types/duration-relative-to.d.ts +8 -0
  344. package/dist/types/duration-string-options.d.ts +28 -0
  345. package/dist/types/fiscal-calendar.d.ts +1 -1
  346. package/dist/types/fractional-digit.d.ts +5 -0
  347. package/dist/types/free-time-options.d.ts +21 -11
  348. package/dist/types/index.d.ts +2 -1
  349. package/dist/types/index.js +2 -1
  350. package/dist/types/interval.d.ts +8 -1
  351. package/dist/types/offset.d.ts +9 -0
  352. package/dist/types/operating-schedule.d.ts +71 -0
  353. package/dist/types/overflow.d.ts +6 -0
  354. package/dist/types/relative-rounding-method.d.ts +6 -0
  355. package/dist/types/relative-time-options.d.ts +33 -5
  356. package/dist/types/rounding-options.d.ts +27 -0
  357. package/dist/types/time-cycle-field.d.ts +4 -0
  358. package/dist/types/time-duration-unit.d.ts +4 -0
  359. package/dist/types/time-unit.d.ts +4 -0
  360. package/dist/types/transport-timestamps.d.ts +54 -0
  361. package/dist/types/transport-timestamps.js +0 -0
  362. package/dist/unix/calculate/addUnix.d.ts +19 -5
  363. package/dist/unix/calculate/addUnix.js +1 -5
  364. package/dist/unix/calculate/diffUnix.d.ts +13 -3
  365. package/dist/unix/calculate/diffUnix.js +1 -3
  366. package/dist/unix/calculate/diffUnixAsDuration.d.ts +13 -3
  367. package/dist/unix/calculate/diffUnixAsDuration.js +1 -3
  368. package/dist/unix/calculate/endOfQuarterForUnix.d.ts +13 -3
  369. package/dist/unix/calculate/endOfQuarterForUnix.js +1 -3
  370. package/dist/unix/calculate/endOfUnix.d.ts +20 -4
  371. package/dist/unix/calculate/endOfUnix.js +1 -4
  372. package/dist/unix/calculate/isBetweenUnix.d.ts +26 -4
  373. package/dist/unix/calculate/isBetweenUnix.js +4 -6
  374. package/dist/unix/calculate/roundUnix.d.ts +31 -3
  375. package/dist/unix/calculate/roundUnix.js +3 -6
  376. package/dist/unix/calculate/setUnix.d.ts +35 -9
  377. package/dist/unix/calculate/setUnix.js +4 -13
  378. package/dist/unix/calculate/startOfQuarterForUnix.d.ts +13 -3
  379. package/dist/unix/calculate/startOfQuarterForUnix.js +1 -3
  380. package/dist/unix/calculate/startOfUnix.d.ts +20 -4
  381. package/dist/unix/calculate/startOfUnix.js +1 -4
  382. package/dist/unix/calculate/subtractUnix.d.ts +19 -5
  383. package/dist/unix/calculate/subtractUnix.js +1 -5
  384. package/dist/unix/compare/areUnixEqual.d.ts +7 -1
  385. package/dist/unix/compare/areUnixEqual.js +1 -1
  386. package/dist/unix/compare/areUnixEqualBy.d.ts +24 -7
  387. package/dist/unix/compare/areUnixEqualBy.js +13 -9
  388. package/dist/unix/compare/isAfterUnix.d.ts +7 -1
  389. package/dist/unix/compare/isAfterUnix.js +1 -1
  390. package/dist/unix/compare/isBeforeUnix.d.ts +7 -1
  391. package/dist/unix/compare/isBeforeUnix.js +1 -1
  392. package/dist/unix/convert/convertUnixToPlainDate.d.ts +14 -4
  393. package/dist/unix/convert/convertUnixToPlainDate.js +2 -4
  394. package/dist/unix/convert/convertUnixToPlainDateTime.d.ts +14 -4
  395. package/dist/unix/convert/convertUnixToPlainDateTime.js +2 -4
  396. package/dist/unix/convert/convertUnixToPlainTime.d.ts +14 -4
  397. package/dist/unix/convert/convertUnixToPlainTime.js +2 -4
  398. package/dist/unix/convert/convertUnixToUtc.d.ts +9 -4
  399. package/dist/unix/convert/convertUnixToUtc.js +3 -4
  400. package/dist/unix/convert/convertUnixToZoned.d.ts +10 -5
  401. package/dist/unix/convert/convertUnixToZoned.js +4 -5
  402. package/dist/unix/format/formatCalendarUnix.d.ts +27 -19
  403. package/dist/unix/format/formatCalendarUnix.js +4 -5
  404. package/dist/unix/format/formatRelativeUnix.d.ts +54 -5
  405. package/dist/unix/format/formatRelativeUnix.js +3 -5
  406. package/dist/unix/format/formatUnix.d.ts +24 -6
  407. package/dist/unix/format/formatUnix.js +8 -7
  408. package/dist/unix/get/getUnixNow.d.ts +8 -3
  409. package/dist/unix/get/getUnixNow.js +1 -3
  410. package/dist/unix/interval/intervalCountUnix.d.ts +14 -5
  411. package/dist/unix/interval/intervalCountUnix.js +2 -5
  412. package/dist/unix/interval/intervalDifferenceUnix.d.ts +6 -0
  413. package/dist/unix/interval/intervalDivideEquallyUnix.d.ts +18 -4
  414. package/dist/unix/interval/intervalDivideEquallyUnix.js +5 -4
  415. package/dist/unix/interval/intervalFromDurationUnix.d.ts +33 -5
  416. package/dist/unix/interval/intervalFromDurationUnix.js +6 -5
  417. package/dist/unix/interval/intervalIntersectionUnix.d.ts +6 -0
  418. package/dist/unix/interval/intervalLengthUnix.d.ts +16 -6
  419. package/dist/unix/interval/intervalLengthUnix.js +4 -6
  420. package/dist/unix/interval/intervalOverlappingDaysUnix.d.ts +13 -3
  421. package/dist/unix/interval/intervalOverlappingDaysUnix.js +1 -3
  422. package/dist/unix/interval/intervalSplitAtUnix.d.ts +8 -0
  423. package/dist/unix/interval/intervalSplitAtUnix.js +2 -0
  424. package/dist/unix/interval/intervalUnionUnix.d.ts +6 -0
  425. package/dist/unix/interval/intervalXorAllUnix.d.ts +6 -0
  426. package/dist/unix/interval/intervalXorUnix.d.ts +6 -0
  427. package/dist/unix/interval/mergeIntervalsUnix.d.ts +6 -0
  428. package/dist/unix/interval/splitIntervalByUnitUnix.d.ts +42 -11
  429. package/dist/unix/interval/splitIntervalByUnitUnix.js +21 -16
  430. package/dist/unix/parse/parseDateFromUnix.d.ts +13 -2
  431. package/dist/unix/parse/parseDateFromUnix.js +1 -2
  432. package/dist/unix/parse/parseDayFromUnix.d.ts +14 -2
  433. package/dist/unix/parse/parseDayFromUnix.js +2 -2
  434. package/dist/unix/parse/parseDayOfWeekFromUnix.d.ts +13 -1
  435. package/dist/unix/parse/parseDayOfWeekFromUnix.js +1 -1
  436. package/dist/unix/parse/parseHourFromUnix.d.ts +14 -2
  437. package/dist/unix/parse/parseHourFromUnix.js +2 -2
  438. package/dist/unix/parse/parseMicrosecondFromUnix.d.ts +14 -2
  439. package/dist/unix/parse/parseMicrosecondFromUnix.js +2 -2
  440. package/dist/unix/parse/parseMillisecondFromUnix.d.ts +14 -2
  441. package/dist/unix/parse/parseMillisecondFromUnix.js +2 -2
  442. package/dist/unix/parse/parseMinuteFromUnix.d.ts +14 -2
  443. package/dist/unix/parse/parseMinuteFromUnix.js +2 -2
  444. package/dist/unix/parse/parseMonthFromUnix.d.ts +14 -2
  445. package/dist/unix/parse/parseMonthFromUnix.js +2 -2
  446. package/dist/unix/parse/parseNanosecondFromUnix.d.ts +14 -2
  447. package/dist/unix/parse/parseNanosecondFromUnix.js +2 -2
  448. package/dist/unix/parse/parseSecondFromUnix.d.ts +14 -2
  449. package/dist/unix/parse/parseSecondFromUnix.js +2 -2
  450. package/dist/unix/parse/parseTimeFromUnix.d.ts +13 -2
  451. package/dist/unix/parse/parseTimeFromUnix.js +1 -2
  452. package/dist/unix/parse/parseUnitFromUnix.d.ts +22 -3
  453. package/dist/unix/parse/parseUnitFromUnix.js +2 -3
  454. package/dist/unix/parse/parseWeekFromUnix.d.ts +23 -7
  455. package/dist/unix/parse/parseWeekFromUnix.js +3 -7
  456. package/dist/unix/parse/parseYearFromUnix.d.ts +14 -2
  457. package/dist/unix/parse/parseYearFromUnix.js +2 -2
  458. package/dist/unix/validate/isValidUnixRange.d.ts +20 -4
  459. package/dist/unix/validate/isValidUnixRange.js +1 -4
  460. package/dist/utc/calculate/addUtc.d.ts +7 -4
  461. package/dist/utc/calculate/addUtc.js +1 -4
  462. package/dist/utc/calculate/diffUtc.d.ts +1 -1
  463. package/dist/utc/calculate/diffUtc.js +1 -1
  464. package/dist/utc/calculate/diffUtcAsDuration.d.ts +1 -1
  465. package/dist/utc/calculate/diffUtcAsDuration.js +1 -1
  466. package/dist/utc/calculate/endOfUtc.d.ts +16 -3
  467. package/dist/utc/calculate/endOfUtc.js +2 -3
  468. package/dist/utc/calculate/isBetweenUtc.d.ts +13 -2
  469. package/dist/utc/calculate/isBetweenUtc.js +4 -4
  470. package/dist/utc/calculate/roundUtc.d.ts +26 -9
  471. package/dist/utc/calculate/roundUtc.js +3 -12
  472. package/dist/utc/calculate/setUtc.d.ts +7 -4
  473. package/dist/utc/calculate/setUtc.js +1 -4
  474. package/dist/utc/calculate/startOfUtc.d.ts +15 -2
  475. package/dist/utc/calculate/startOfUtc.js +1 -2
  476. package/dist/utc/calculate/subtractUtc.d.ts +7 -4
  477. package/dist/utc/calculate/subtractUtc.js +1 -4
  478. package/dist/utc/compare/areUtcEqualBy.d.ts +9 -3
  479. package/dist/utc/compare/areUtcEqualBy.js +2 -3
  480. package/dist/utc/convert/convertUtcToPlainDate.d.ts +8 -3
  481. package/dist/utc/convert/convertUtcToPlainDate.js +5 -6
  482. package/dist/utc/convert/convertUtcToPlainDateTime.d.ts +8 -3
  483. package/dist/utc/convert/convertUtcToPlainDateTime.js +5 -6
  484. package/dist/utc/convert/convertUtcToPlainTime.d.ts +8 -3
  485. package/dist/utc/convert/convertUtcToPlainTime.js +5 -6
  486. package/dist/utc/convert/convertUtcToUnix.d.ts +9 -4
  487. package/dist/utc/convert/convertUtcToUnix.js +3 -4
  488. package/dist/utc/convert/convertUtcToZoned.d.ts +1 -1
  489. package/dist/utc/convert/convertUtcToZoned.js +1 -1
  490. package/dist/utc/format/formatCalendarUtc.d.ts +19 -8
  491. package/dist/utc/format/formatCalendarUtc.js +8 -6
  492. package/dist/utc/format/formatHttp.d.ts +1 -1
  493. package/dist/utc/format/formatHttp.js +1 -1
  494. package/dist/utc/format/formatRelativeUtc.d.ts +30 -10
  495. package/dist/utc/format/formatRelativeUtc.js +9 -11
  496. package/dist/utc/format/formatUtc.d.ts +17 -15
  497. package/dist/utc/format/formatUtc.js +8 -8
  498. package/dist/utc/interval/intervalDifferenceUtc.d.ts +6 -0
  499. package/dist/utc/interval/intervalDivideEquallyUtc.d.ts +18 -4
  500. package/dist/utc/interval/intervalDivideEquallyUtc.js +5 -4
  501. package/dist/utc/interval/intervalFromDurationUtc.d.ts +13 -3
  502. package/dist/utc/interval/intervalFromDurationUtc.js +1 -3
  503. package/dist/utc/interval/intervalIntersectionUtc.d.ts +6 -0
  504. package/dist/utc/interval/intervalSplitAtUtc.d.ts +8 -0
  505. package/dist/utc/interval/intervalSplitAtUtc.js +2 -0
  506. package/dist/utc/interval/intervalUnionUtc.d.ts +6 -0
  507. package/dist/utc/interval/intervalXorAllUtc.d.ts +6 -0
  508. package/dist/utc/interval/intervalXorUtc.d.ts +6 -0
  509. package/dist/utc/interval/mergeIntervalsUtc.d.ts +6 -0
  510. package/dist/utc/interval/splitIntervalByUnitUtc.d.ts +19 -6
  511. package/dist/utc/interval/splitIntervalByUnitUtc.js +6 -6
  512. package/dist/utc/parse/parseDateFromUtc.d.ts +7 -3
  513. package/dist/utc/parse/parseDateFromUtc.js +1 -3
  514. package/dist/utc/parse/parseDayFromUtc.d.ts +7 -3
  515. package/dist/utc/parse/parseDayFromUtc.js +1 -3
  516. package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +7 -3
  517. package/dist/utc/parse/parseDayOfWeekFromUtc.js +4 -6
  518. package/dist/utc/parse/parseHourFromUtc.d.ts +7 -3
  519. package/dist/utc/parse/parseHourFromUtc.js +1 -3
  520. package/dist/utc/parse/parseHttp.d.ts +1 -1
  521. package/dist/utc/parse/parseHttp.js +1 -1
  522. package/dist/utc/parse/parseMicrosecondFromUtc.d.ts +7 -3
  523. package/dist/utc/parse/parseMicrosecondFromUtc.js +1 -3
  524. package/dist/utc/parse/parseMillisecondFromUtc.d.ts +7 -3
  525. package/dist/utc/parse/parseMillisecondFromUtc.js +1 -3
  526. package/dist/utc/parse/parseMinuteFromUtc.d.ts +7 -3
  527. package/dist/utc/parse/parseMinuteFromUtc.js +1 -3
  528. package/dist/utc/parse/parseMonthFromUtc.d.ts +7 -3
  529. package/dist/utc/parse/parseMonthFromUtc.js +1 -3
  530. package/dist/utc/parse/parseNanosecondFromUtc.d.ts +7 -3
  531. package/dist/utc/parse/parseNanosecondFromUtc.js +1 -3
  532. package/dist/utc/parse/parseSecondFromUtc.d.ts +7 -3
  533. package/dist/utc/parse/parseSecondFromUtc.js +1 -3
  534. package/dist/utc/parse/parseTimeFromUtc.d.ts +8 -3
  535. package/dist/utc/parse/parseTimeFromUtc.js +5 -6
  536. package/dist/utc/parse/parseUnitFromUtc.d.ts +17 -5
  537. package/dist/utc/parse/parseUnitFromUtc.js +6 -8
  538. package/dist/utc/parse/parseWeekFromUtc.d.ts +18 -10
  539. package/dist/utc/parse/parseWeekFromUtc.js +7 -13
  540. package/dist/utc/parse/parseYearFromUtc.d.ts +7 -3
  541. package/dist/utc/parse/parseYearFromUtc.js +1 -3
  542. package/dist/utc/validate/isValidUtcRange.d.ts +16 -5
  543. package/dist/utc/validate/isValidUtcRange.js +2 -5
  544. package/dist/zoned/calculate/addZoned.d.ts +20 -10
  545. package/dist/zoned/calculate/addZoned.js +6 -13
  546. package/dist/zoned/calculate/cycleZoned.d.ts +33 -8
  547. package/dist/zoned/calculate/cycleZoned.js +1 -8
  548. package/dist/zoned/calculate/diffZoned.d.ts +1 -1
  549. package/dist/zoned/calculate/diffZoned.js +1 -1
  550. package/dist/zoned/calculate/diffZonedAsDuration.d.ts +1 -1
  551. package/dist/zoned/calculate/diffZonedAsDuration.js +1 -1
  552. package/dist/zoned/calculate/endOfQuarterForZoned.d.ts +9 -2
  553. package/dist/zoned/calculate/endOfQuarterForZoned.js +4 -5
  554. package/dist/zoned/calculate/endOfZoned.d.ts +16 -3
  555. package/dist/zoned/calculate/endOfZoned.js +2 -3
  556. package/dist/zoned/calculate/getLocaleZonedEndOfWeek.d.ts +10 -3
  557. package/dist/zoned/calculate/getLocaleZonedEndOfWeek.js +5 -6
  558. package/dist/zoned/calculate/getLocaleZonedStartOfWeek.d.ts +7 -1
  559. package/dist/zoned/calculate/getLocaleZonedStartOfWeek.js +3 -4
  560. package/dist/zoned/calculate/roundZoned.d.ts +21 -4
  561. package/dist/zoned/calculate/roundZoned.js +3 -7
  562. package/dist/zoned/calculate/setZoned.d.ts +25 -8
  563. package/dist/zoned/calculate/setZoned.js +4 -12
  564. package/dist/zoned/calculate/startOfQuarterForZoned.d.ts +7 -2
  565. package/dist/zoned/calculate/startOfQuarterForZoned.js +3 -5
  566. package/dist/zoned/calculate/startOfZoned.d.ts +15 -3
  567. package/dist/zoned/calculate/startOfZoned.js +1 -3
  568. package/dist/zoned/calculate/subtractZoned.d.ts +20 -10
  569. package/dist/zoned/calculate/subtractZoned.js +6 -13
  570. package/dist/zoned/compare/areZonedEqualBy.d.ts +14 -5
  571. package/dist/zoned/compare/areZonedEqualBy.js +7 -5
  572. package/dist/zoned/compare/isBetweenZoned.d.ts +13 -1
  573. package/dist/zoned/compare/isBetweenZoned.js +4 -3
  574. package/dist/zoned/compare/isInDaylightSaving.d.ts +38 -11
  575. package/dist/zoned/compare/isInDaylightSaving.js +40 -44
  576. package/dist/zoned/convert/convertPlainDateTimeToZoned.d.ts +18 -5
  577. package/dist/zoned/convert/convertPlainDateTimeToZoned.js +6 -11
  578. package/dist/zoned/convert/convertZonedToUnix.d.ts +9 -4
  579. package/dist/zoned/convert/convertZonedToUnix.js +2 -4
  580. package/dist/zoned/convert/convertZonedToZoned.d.ts +1 -1
  581. package/dist/zoned/convert/convertZonedToZoned.js +1 -1
  582. package/dist/zoned/format/formatCalendarZoned.d.ts +18 -12
  583. package/dist/zoned/format/formatCalendarZoned.js +13 -9
  584. package/dist/zoned/format/formatRelativeZoned.d.ts +41 -12
  585. package/dist/zoned/format/formatRelativeZoned.js +7 -4
  586. package/dist/zoned/format/formatRfc2822.d.ts +2 -2
  587. package/dist/zoned/format/formatRfc2822.js +2 -2
  588. package/dist/zoned/format/formatRfc3339.d.ts +2 -3
  589. package/dist/zoned/format/formatRfc3339.js +2 -3
  590. package/dist/zoned/format/formatTimeZoneName.d.ts +12 -3
  591. package/dist/zoned/format/formatTimeZoneName.js +5 -4
  592. package/dist/zoned/format/formatZonedDateTime.js +2 -1
  593. package/dist/zoned/format/formatZonedRange.js +2 -1
  594. package/dist/zoned/format/formatZonedToParts.d.ts +15 -4
  595. package/dist/zoned/format/formatZonedToParts.js +8 -5
  596. package/dist/zoned/get/getDstTransitions.d.ts +9 -10
  597. package/dist/zoned/get/getDstTransitions.js +12 -3
  598. package/dist/zoned/get/getTimeZoneOffset.d.ts +4 -1
  599. package/dist/zoned/get/getTimeZoneOffset.js +6 -3
  600. package/dist/zoned/get/getZonedNow.d.ts +13 -1
  601. package/dist/zoned/get/getZonedNow.js +12 -3
  602. package/dist/zoned/interval/intervalDifferenceZoned.d.ts +9 -0
  603. package/dist/zoned/interval/intervalDivideEquallyZoned.d.ts +22 -4
  604. package/dist/zoned/interval/intervalDivideEquallyZoned.js +6 -4
  605. package/dist/zoned/interval/intervalFromDurationZoned.d.ts +29 -10
  606. package/dist/zoned/interval/intervalFromDurationZoned.js +6 -13
  607. package/dist/zoned/interval/intervalIntersectionZoned.d.ts +9 -0
  608. package/dist/zoned/interval/intervalSplitAtZoned.d.ts +11 -0
  609. package/dist/zoned/interval/intervalSplitAtZoned.js +2 -0
  610. package/dist/zoned/interval/intervalUnionZoned.d.ts +9 -0
  611. package/dist/zoned/interval/intervalXorAllZoned.d.ts +9 -0
  612. package/dist/zoned/interval/intervalXorZoned.d.ts +9 -0
  613. package/dist/zoned/interval/mergeIntervalsZoned.d.ts +9 -0
  614. package/dist/zoned/interval/splitIntervalByUnitZoned.d.ts +27 -6
  615. package/dist/zoned/interval/splitIntervalByUnitZoned.js +11 -6
  616. package/dist/zoned/map/mapZonedDatesInRange.d.ts +9 -4
  617. package/dist/zoned/map/mapZonedDatesInRange.js +2 -4
  618. package/dist/zoned/parse/parseRfc2822.d.ts +1 -1
  619. package/dist/zoned/parse/parseRfc2822.js +1 -1
  620. package/dist/zoned/parse/parseUnitFromZoned.d.ts +9 -3
  621. package/dist/zoned/parse/parseUnitFromZoned.js +1 -3
  622. package/dist/zoned/parse/parseWeekFromZoned.d.ts +10 -3
  623. package/dist/zoned/parse/parseWeekFromZoned.js +2 -3
  624. package/dist/zoned/validate/hasDaylightSaving.d.ts +42 -11
  625. package/dist/zoned/validate/hasDaylightSaving.js +47 -31
  626. package/dist/zoned/validate/isValidZonedDateTime.d.ts +13 -0
  627. package/dist/zoned/validate/isValidZonedDateTime.js +14 -1
  628. package/dist/zoned/validate/isValidZonedRange.d.ts +15 -4
  629. package/dist/zoned/validate/isValidZonedRange.js +1 -4
  630. package/package.json +18 -5
  631. package/skills/gmt-arithmetic/SKILL.md +1 -1
  632. package/skills/gmt-basics/SKILL.md +10 -1
  633. package/skills/gmt-integration/SKILL.md +10 -5
  634. package/skills/gmt-timezone/SKILL.md +150 -21
  635. package/dist/internal/resolveReadingTimeZone.d.ts +0 -11
  636. package/dist/internal/resolveReadingTimeZone.js +0 -18
  637. package/dist/types/duration-unit.d.ts +0 -5
  638. /package/dist/types/{duration-unit.js → operating-schedule.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@northguild/gmt",
3
- "version": "1.17.0",
3
+ "version": "1.18.0",
4
4
  "description": "Temporal-based date and time utilities with timezone support and polyfill integration",
5
5
  "keywords": [
6
6
  "date",
@@ -35,10 +35,9 @@
35
35
  "dist",
36
36
  "LICENSE",
37
37
  "README.md",
38
- "skills/gmt-basics",
39
- "skills/gmt-arithmetic",
40
- "skills/gmt-timezone",
41
- "skills/gmt-integration"
38
+ "skills",
39
+ "!skills/_artifacts",
40
+ "!skills/contributor"
42
41
  ],
43
42
  "type": "module",
44
43
  "sideEffects": false,
@@ -55,6 +54,9 @@
55
54
  "calendar/calculate": [
56
55
  "./dist/calendar/calculate/index.d.ts"
57
56
  ],
57
+ "calendar/hours": [
58
+ "./dist/calendar/hours/index.d.ts"
59
+ ],
58
60
  "calendar/validate": [
59
61
  "./dist/calendar/validate/index.d.ts"
60
62
  ],
@@ -175,6 +177,9 @@
175
177
  "transport/calculate": [
176
178
  "./dist/transport/calculate/index.d.ts"
177
179
  ],
180
+ "transport/compare": [
181
+ "./dist/transport/compare/index.d.ts"
182
+ ],
178
183
  "transport/convert": [
179
184
  "./dist/transport/convert/index.d.ts"
180
185
  ],
@@ -290,6 +295,10 @@
290
295
  "types": "./dist/calendar/calculate/index.d.ts",
291
296
  "default": "./dist/calendar/calculate/index.js"
292
297
  },
298
+ "./calendar/hours": {
299
+ "types": "./dist/calendar/hours/index.d.ts",
300
+ "default": "./dist/calendar/hours/index.js"
301
+ },
293
302
  "./calendar/validate": {
294
303
  "types": "./dist/calendar/validate/index.d.ts",
295
304
  "default": "./dist/calendar/validate/index.js"
@@ -450,6 +459,10 @@
450
459
  "types": "./dist/transport/calculate/index.d.ts",
451
460
  "default": "./dist/transport/calculate/index.js"
452
461
  },
462
+ "./transport/compare": {
463
+ "types": "./dist/transport/compare/index.d.ts",
464
+ "default": "./dist/transport/compare/index.js"
465
+ },
453
466
  "./transport/convert": {
454
467
  "types": "./dist/transport/convert/index.d.ts",
455
468
  "default": "./dist/transport/convert/index.js"
@@ -32,7 +32,7 @@ sources:
32
32
  metadata:
33
33
  type: core
34
34
  library: '@northguild/gmt'
35
- library_version: '1.17.0'
35
+ library_version: '1.18.0'
36
36
  ---
37
37
 
38
38
  # GMT Arithmetic
@@ -24,7 +24,7 @@ sources:
24
24
  metadata:
25
25
  type: core
26
26
  library: '@northguild/gmt'
27
- library_version: '1.17.0'
27
+ library_version: '1.18.0'
28
28
  ---
29
29
 
30
30
  # GMT Basics
@@ -77,6 +77,15 @@ input before you act on it.
77
77
 
78
78
  - `formatRelative*` measure from now when `reference` is omitted, so the output
79
79
  changes from day to day. Pass `reference` whenever the result must be deterministic.
80
+ `largestUnit` takes a singular or plural unit name (`"hour"` or `"hours"`) from the
81
+ units the function's values have: `formatRelativeDate` day to year, `formatRelativeTime`
82
+ second to hour, the others second to year. Any other unit returns `""`.
83
+ `roundingMethod` is `"floor"`, `"ceil"` or `"round"`: any other value returns `""`.
84
+ - In a `parse*WithPattern` pattern, `''` is one literal quote, inside or outside
85
+ quoted text (UTS #35): `"MMM d, ''yy"` reads `"Mar 15, '24"`. It is not an empty
86
+ separator. Write adjacent fields with nothing between them, as in `"yyyyMMdd"`.
87
+ - `getZonedNow` reads `smallestUnit` only, and writes milliseconds when it is
88
+ omitted or `undefined`. The string always carries the offset and the zone.
80
89
  - `parseDateWithPattern`, `parseRfc2822` and `parseHttp` return `""` on
81
90
  shape-valid-but-unreal dates such as 31 February (regex only proves shape;
82
91
  Temporal validates the real value). Parsers reject; only arithmetic clamps.
@@ -17,7 +17,7 @@ sources:
17
17
  metadata:
18
18
  type: composition
19
19
  library: '@northguild/gmt'
20
- library_version: '1.17.0'
20
+ library_version: '1.18.0'
21
21
  ---
22
22
 
23
23
  # GMT Integration
@@ -48,8 +48,11 @@ which lint package to install for Date-ban enforcement.
48
48
  `convertUtcToUnix(value, { epochUnit: "seconds" })` rather than
49
49
  dividing/multiplying by hand. An `epochUnit` option must be `"seconds"` or
50
50
  `"milliseconds"` (singular accepted): any other value returns the sentinel
51
- instead of being read as milliseconds. `unix/` reads zone-dependent fields in
52
- UTC unless you pass `timeZone` (`"local"` for the system zone). A
51
+ instead of being read as milliseconds. `unix/` and `utc/` read zone-dependent
52
+ fields in UTC unless you pass `timeZone` (`"local"` for the system zone); that
53
+ holds for the `utc/` readers and converters too, such as `parseHourFromUtc` and
54
+ `convertUtcToPlainDate`. `convertUtcToZoned` and `convertUnixToZoned` take a
55
+ required zone and do not accept `"local"`. A
53
56
  blank epoch string is invalid, not `1970`, and `sortUnix`/`minUnix`/`maxUnix`
54
57
  skip values that are not integer epochs in Temporal's range.
55
58
  4. **Nanoseconds are `bigint`, never `number`.** A `number` is exact only to
@@ -75,8 +78,10 @@ which lint package to install for Date-ban enforcement.
75
78
  unsynchronized" marker. Check for `0n` yourself before trusting it as 1900.
76
79
  - .NET ticks name an instant only when `DateTimeKind` is `Utc`. `Local` and
77
80
  `Unspecified` ticks count wall-clock time.
78
- - `toNanoseconds` and `isValidInstant` read the offset and ignore a bracketed
79
- zone annotation, which is not checked.
81
+ - `toNanoseconds` and `isValidInstant` read the offset and do not validate a
82
+ bracketed zone annotation. One thing is read from it: an offset written to the
83
+ minute that is the zone's sub-minute offset rounded (`-00:45[Africa/Monrovia]`)
84
+ names the instant the zone gives.
80
85
  6. **Lint packages are toolchain-specific, not mutually exclusive.** Recommend
81
86
  only the one matching the project's existing linter; do not force all three.
82
87
  7. **Read the READMEs.** This skill is a routing pointer. For full integration
@@ -1,21 +1,20 @@
1
1
  ---
2
2
  name: gmt-timezone
3
3
  description: >
4
- Timezone-aware operations — get zoned now, format zoned datetimes/ranges,
5
- convert between plain↔zoned↔UTC↔Unix, DST disambiguation on construction and
6
- arithmetic, the instant-plus-offset pair, classifying a zoneless wall time
7
- before resolving it, real zone unit boundaries
8
- (startOfZoned/endOfZoned/startOfUnix/endOfUnix), hours in a local day,
9
- flooring or bucketing on local boundaries (floorToZone/bucketRange),
10
- calendar-annotated zoned strings, zoned values at the range limits, the
11
- transport legs transitTime, etaAtZone and dwellTime (local calendar days
12
- crossed), intermodal free time — freeTimeExpiry (the free window and its
13
- half-open expiry), chargeableDays (the dates charged, with tier bands),
14
- demurrageClock (which events a demurrage, detention, storage or combined clock
15
- runs between) — and billingTimeline (invoice, dispute and resolution
16
- deadlines, windows as caller parameters). Reads the installed package
17
- README.md and source JSDoc for API details; this skill is a routing pointer,
18
- not an API dump.
4
+ Timezone-aware operations — zoned now, formatting zoned values/ranges,
5
+ plain↔zoned↔UTC↔Unix conversion, DST disambiguation on construction and
6
+ arithmetic, the instant-plus-offset pair, classifyLocal/resolveLocal, real
7
+ unit boundaries (startOfZoned/endOfZoned/startOfUnix/endOfUnix), hours in a
8
+ local day, floorToZone/bucketRange, calendar-annotated zoned strings, range
9
+ limits, transport legs (transitTime, etaAtZone, dwellTime, crossingTime,
10
+ scheduleDelivery), cut-offs (cutoffAt, cutoffSchedule, isPastCutoff,
11
+ timeToCutoff), planned versus actual (scheduleDeviation, classifyPunctuality,
12
+ punctualityRate, bestAvailable and estimateDrift over PLN/EST/REQ/ACT,
13
+ nextDeparture), intermodal free time (freeTimeExpiry, chargeableDays,
14
+ demurrageClock), billingTimeline, and operating hours (OperatingSchedule,
15
+ recurringWindows, operatingIntervals, isOpenAt, nextOpenAt, nextCloseAt,
16
+ operatingTimeBetween, addOperatingTime), and daylight time
17
+ (isInDaylightSaving, hasDaylightSaving). Points to the README and JSDoc.
19
18
  sources:
20
19
  - 'northguild/gmt:README.md'
21
20
  - 'northguild/gmt:packages/gmt/src/zoned/get/index.ts'
@@ -34,13 +33,17 @@ sources:
34
33
  - 'northguild/gmt:packages/gmt/src/instant/convert/index.ts'
35
34
  - 'northguild/gmt:packages/gmt/src/calendar/calculate/index.ts'
36
35
  - 'northguild/gmt:packages/gmt/src/calendar/validate/index.ts'
36
+ - 'northguild/gmt:packages/gmt/src/calendar/hours/index.ts'
37
+ - 'northguild/gmt:packages/gmt/src/types/operating-schedule.ts'
38
+ - 'northguild/gmt:packages/gmt/src/types/transport-timestamps.ts'
37
39
  - 'northguild/gmt:packages/gmt/src/transport/calculate/index.ts'
40
+ - 'northguild/gmt:packages/gmt/src/transport/compare/index.ts'
38
41
  - 'northguild/gmt:packages/gmt/src/transport/convert/index.ts'
39
42
  - 'northguild/gmt:packages/gmt/src/intermodal/calculate/index.ts'
40
43
  metadata:
41
44
  type: core
42
45
  library: '@northguild/gmt'
43
- library_version: '1.17.0'
46
+ library_version: '1.18.0'
44
47
  ---
45
48
 
46
49
  # GMT Timezone
@@ -66,6 +69,10 @@ converting between time zones, or doing arithmetic that must respect DST.
66
69
  - The user is working out when a container's free time ends, how many days of
67
70
  demurrage or detention are chargeable and for which dates, or which events a
68
71
  charge's clock runs between.
72
+ - The user is asking whether a gate, desk, office or venue is open at an
73
+ instant, when it next opens or closes, how many working hours passed between
74
+ two instants, or when an SLA measured in open hours falls due — or is
75
+ expanding a recurring local window such as a night curfew.
69
76
 
70
77
  ## Core rules
71
78
 
@@ -192,7 +199,64 @@ converting between time zones, or doing arithmetic that must respect DST.
192
199
  (a skipped date is not counted, a re-entered one only once), and is the
193
200
  library's one "local days crossed" count.
194
201
  Bare instants with no `targetZone` return `null`: an offset is not a place.
195
- 16. **Free time is counted in the terminal's local days; the start day and the
202
+ `crossingTime(entry, exit, targetZone)` returns `{ duration, enter, exit }`
203
+ with no day count (a crossing that needs one is a dwell); `targetZone` is
204
+ required and always the rendering zone — a bracket on the input never
205
+ supplies it.
206
+ `scheduleDelivery(legs, { startTimeZone? })` chains legs into `{ eta,
207
+ legTimes }`: each leg leaves at its explicit `departure` or at the previous
208
+ arrival plus that leg's `dwellAfter`, the minimum connect time. A scheduled
209
+ departure earlier than that is a missed connection and returns `null`
210
+ (equal passes). A departure is exact (instant or zoned string) or a
211
+ zoneless wall time: on the first leg it is read in `startTimeZone`, on a
212
+ later leg in the previous leg's `timeZone` (where that leg leaves from),
213
+ both with `"compatible"` resolution (ambiguous → earlier, skipped →
214
+ later). On a later leg, a repeated hour instead takes the earliest pass
215
+ at or after the previous arrival plus its dwell. A
216
+ negative leg `duration` is `null`; the last leg's `dwellAfter` is echoed,
217
+ never added. `mode`, `origin` and `destination` are opaque tags echoed on
218
+ each `LegTime`. An empty array returns `{ eta: "", legTimes: [] }`.
219
+ 16. **Cut-offs count back from the caller's event.**
220
+ `cutoffAt(anchor, offset, { timeZone, atLocalTime?, calendar?, roll? })`
221
+ takes an offset off the anchor (loading, departure or arrival are
222
+ different instants; it never guesses which). With `atLocalTime` the
223
+ offset's exact part comes off the anchor's instant first, its calendar
224
+ part off the local date, and the cut-off is that time of day: `P2D` at
225
+ `"17:00"` is 17:00 two days before, not 48 hours. Without it the offset
226
+ is `ZonedDateTime#subtract` (`P2D` keeps the wall clock, `PT96H` is 96
227
+ exact hours). `calendar` and `roll` go together or not at all — there is
228
+ no default roll, as in `rollDate`; either alone is `""`. A repeated hour
229
+ takes the first pass (RFC 5545 §3.3.5); a skipped hour is `""`. It does
230
+ not check that the cut-off is before the anchor.
231
+ `cutoffSchedule(anchor, [{ name, offset, atLocalTime? }], options)`
232
+ sorts the stack by instant and returns `[]` if any entry fails.
233
+ `isPastCutoff(now, cutoff)` is `true` from the cut-off instant on;
234
+ `timeToCutoff(now, cutoff)` is exact hours, `PT0S` at it, negative after.
235
+ 17. **Planned versus actual is exact time under the caller's tolerance.**
236
+ `scheduleDeviation(planned, actual)` is `actual − planned` in exact hours
237
+ (`"PT14M"` late, `"-PT5M"` early; a fall-back delay is `PT1H`, never
238
+ `PT0S`). `classifyPunctuality(planned, actual, { late, early? })` returns
239
+ `"early" | "onTime" | "late"`, or `null` on invalid input: both edges are
240
+ outside (exactly `late` is late), and without `early` every early arrival
241
+ is on time. There is no default tolerance; tolerances are exact durations
242
+ (a day is 24 hours; years, months, weeks or negative return `null`).
243
+ `punctualityRate(pairs, tolerance)` returns `{ onTime, total, rate }`,
244
+ judging every pair under a tolerance read once; an empty list or any
245
+ invalid pair is `null`. A `TimestampEvent` is `{ classifier: "PLN" |
246
+ "EST" | "REQ" | "ACT", at, recordedAt }` (DCSA vocabulary).
247
+ `bestAvailable(events)` returns `{ at, classifier }`: `ACT` whenever one
248
+ exists, else `PLN`, else `REQ`, else `EST`, newest `recordedAt` within the
249
+ class — never an `EST` shown as an actual. `estimateDrift(events, {
250
+ tolerance? })` reports first-to-last `EST` drift, `revisions` and
251
+ `exceedsTolerance` (strictly greater, either direction; `null` without a
252
+ tolerance), and is `null` with fewer than two `EST`s.
253
+ `nextDeparture(after, timetable, { minimumConnection? })` returns the
254
+ first departure at or after `after + minimumConnection`: a list entry
255
+ echoed as written (ready for `scheduleDelivery`'s `departure`), or for
256
+ `{ headway, from, to }` (a GTFS `frequencies.txt` row) `from + k × headway`
257
+ in the half-open `[from, to)`, written the way `from` was. Every moment
258
+ must carry its offset; a wall time without one is `""`.
259
+ 18. **Free time is counted in the terminal's local days; the start day and the
196
260
  basis are tariff terms, never defaults.**
197
261
  `freeTimeExpiry(clockStart, freeDays, { basis, timeZone, firstDay, calendar? })`
198
262
  returns `{ freeTimeStart, lastFreeDay, expiresAt }`: local dates in
@@ -212,7 +276,7 @@ converting between time zones, or doing arithmetic that must respect DST.
212
276
  demurrage gate-in to loaded, detention empty release to gate-in; `combined`
213
277
  runs both as one period. No standard fixes how these days are counted;
214
278
  every term is the tariff's.
215
- 17. **Billing deadlines are dates counted from an anchor, and every window is
279
+ 19. **Billing deadlines are dates counted from an anchor, and every window is
216
280
  the caller's.** `billingTimeline({ anchorOn, invoiceIssuedOn?,
217
281
  requestReceivedOn? }, { issueDays, disputeDays, resolutionDays,
218
282
  agreedResolutionOn? })` returns `{ invoiceDeadline, issuedByDeadline,
@@ -227,7 +291,64 @@ converting between time zones, or doing arithmetic that must respect DST.
227
291
  `convertUtcToPlainDate(instant, { timeZone })`. A request before its
228
292
  invoice, or an agreed date before the request, returns `null`. GMT
229
293
  computes dates, not liability.
230
- 18. **Read the README.** This skill is a routing pointer. For the full DST
294
+ 20. **Operating hours are local windows resolved in the schedule's zone.** An
295
+ `OperatingSchedule` is `{ timeZone, weekly, holidays?, overrides? }`:
296
+ `weekly` maps ISO weekdays `1`–`7` to half-open `LocalWindow`s
297
+ (`{ from: "09:00", to: "17:00" }`); a `to` at or before `from` wraps past
298
+ midnight and the window belongs to the date it starts on. Holidays are local
299
+ dates (a `BusinessCalendar` is accepted; only its `holidays` are read); an
300
+ override replaces one date's windows, holiday or not. Every edge goes
301
+ through `resolveLocal` with `disambiguation` (default `"compatible"`), so a
302
+ 23:00–06:00 window is 8 real hours across New York's fall-back night.
303
+ `recurringWindows(weekly, range, zone)` and `operatingIntervals(schedule,
304
+ range)` return merged open intervals; `isOpenAt`, `nextOpenAt` and
305
+ `nextCloseAt` answer point questions; `operatingTimeBetween(start, end,
306
+ schedule)` is open time elapsed (hours as the largest unit), and
307
+ `addOperatingTime(start, "PT8H", schedule)` is the SLA deadline. Searches
308
+ stop at `within` (default `"P1Y"`) and return `""` past it; `P1D` is not
309
+ open time and returns `""`.
310
+ 21. **A zoned string names one instant in every reader.** Temporal writes a
311
+ zone's offset rounded to the minute, so a zone with a sub-minute offset
312
+ (`Africa/Monrovia` stood at −00:44:30 until 1972) is written `-00:45`.
313
+ Every function that reads a moment (`toNanoseconds`, `spanNs`, `Interval`
314
+ endpoints, `floorToZone`, `getTimeZoneOffset`, `scheduleDeviation`,
315
+ `timeToCutoff`, `dwellTime`) reads an offset written to the minute as the
316
+ bracketed zone's real offset when it is that offset rounded (TC39
317
+ `ToTemporalZonedDateTime`, match-minutes):
318
+ `1960-01-01T00:20:00-00:45[Africa/Monrovia]` is `01:04:30Z`. So a zoned
319
+ string GMT wrote reads back as the instant it was written for. Otherwise
320
+ the written offset fixes the instant. A function that reads only the
321
+ instant does not validate the bracket, and the bracket never supplies its
322
+ rendering zone. A function that keeps the zone (`isValidZonedDateTime`,
323
+ `transitTime`, `toOffsetInstant`, every `zoned/` function, a zoned
324
+ `relativeTo`) rejects a bracket that contradicts the offset, and an offset
325
+ written with seconds must be the zone's offset exactly:
326
+ `-00:45:00[Africa/Monrovia]` is invalid, `-00:44:30[Africa/Monrovia]` is
327
+ valid. Two limits are Temporal's own. A wall time repeated inside a
328
+ sub-minute offset change, written to the minute, reads as its first pass
329
+ (`1952-10-15T23:59:59-11:20[Pacific/Niue]`); write the offset with seconds
330
+ to name the second. A zoned read refuses a local date of −271821-04-19,
331
+ which an instant reader accepts; pass that instant in `Z` form.
332
+ 22. **Daylight time is read from the zone's clock changes.**
333
+ `isInDaylightSaving(zoned)` and `hasDaylightSaving(timeZone, { at })`
334
+ apply one rule, GMT's own definition and not the tz database's daylight
335
+ flag (no JavaScript API exposes it): daylight time runs from a forward
336
+ change of the zone's clocks to the backward change of the same size that
337
+ undoes it, less than 365 days later. A forward change never undone is a
338
+ change of standard time, so
339
+ `isInDaylightSaving("2016-12-01T12:00:00+03:00[Europe/Istanbul]")` is
340
+ `false`. The higher of two alternating offsets is the daylight one:
341
+ `Europe/Dublin` in summer, `Africa/Casablanca` at `+01:00`.
342
+ `hasDaylightSaving` is `true` when the zone is in daylight time at `at`
343
+ or a daylight period begins less than 365 days after it. Pass `at` (an
344
+ ISO 8601 instant string) for an answer that does not depend on the day
345
+ the code runs: `hasDaylightSaving("Europe/Istanbul", { at:
346
+ "2015-06-15T12:00:00Z" })` is `true`, and with `"2016-06-15T12:00:00Z"`
347
+ it is `false`. Without `at` the reference is the current instant. Both
348
+ read the runtime's time zone data, so an answer can change when that data
349
+ does. The JSDoc of `isInDaylightSaving` lists what the rule reads as
350
+ standard time.
351
+ 23. **Read the README.** This skill is a routing pointer. For the full DST
231
352
  disambiguation walkthrough, code examples, and locale ICU notes, read the
232
353
  installed package's `README.md` and the source JSDoc.
233
354
 
@@ -237,7 +358,7 @@ converting between time zones, or doing arithmetic that must respect DST.
237
358
  - **Formatting**: `formatZonedDateTime`, `formatZonedRange`,
238
359
  `formatRelativeZoned`, `formatTimeZoneName`
239
360
  - **Validation**: `isValidTimeZone`, `isValidZonedDateTime`,
240
- `hasDaylightSaving`, `getDstTransitions`, `isInDaylightSaving`
361
+ `hasDaylightSaving` (`{ at }`), `getDstTransitions`, `isInDaylightSaving`
241
362
  - **Conversion**: `convertPlainDateTimeToZoned`, `convertZonedToPlainDateTime`,
242
363
  `convertUtcToZoned`, `convertZonedToUtc`, `convertZonedToCalendar`,
243
364
  `convertUtcToUnix`, `convertUnixToUtc`
@@ -253,10 +374,18 @@ converting between time zones, or doing arithmetic that must respect DST.
253
374
  - **Local-time resolution**: `classifyLocal`, `resolveLocal`
254
375
  - **Zone-aware buckets**: `floorToZone`, `bucketRange`,
255
376
  `isValidZoneBucketUnit`
256
- - **Transport legs and dwell**: `transitTime`, `etaAtZone`, `dwellTime`
377
+ - **Transport legs and dwell**: `transitTime`, `etaAtZone`, `dwellTime`,
378
+ `crossingTime`, `scheduleDelivery`
379
+ - **Cut-offs and deadlines**: `cutoffAt`, `cutoffSchedule`, `isPastCutoff`,
380
+ `timeToCutoff`
381
+ - **Punctuality and timestamp classes**: `scheduleDeviation`,
382
+ `classifyPunctuality`, `punctualityRate`, `bestAvailable`, `estimateDrift`,
383
+ `nextDeparture`
257
384
  - **Free time and demurrage**: `freeTimeExpiry`, `chargeableDays`,
258
385
  `demurrageClock`
259
386
  - **Billing deadlines**: `billingTimeline`
387
+ - **Operating hours**: `recurringWindows`, `operatingIntervals`, `isOpenAt`,
388
+ `nextOpenAt`, `nextCloseAt`, `operatingTimeBetween`, `addOperatingTime`
260
389
 
261
390
  ## References
262
391
 
@@ -1,11 +0,0 @@
1
- /**
2
- * Resolve the `timeZone` option a UTC reader uses to read a value's wall-clock fields.
3
- *
4
- * - `undefined` (the option omitted) resolves to `"UTC"`.
5
- * - A valid IANA zone (or `"UTC"`) resolves to itself.
6
- * - Any other value is invalid and resolves to `null`, which callers map to their sentinel.
7
- *
8
- * @param timeZone raw option value from caller input
9
- * @returns the zone to read in, or `null` when the value is invalid
10
- */
11
- export declare function resolveReadingTimeZone(timeZone: unknown): string | null;
@@ -1,18 +0,0 @@
1
- import { isValidTimeZone } from "../zoned/validate/isValidTimeZone.js";
2
- /**
3
- * Resolve the `timeZone` option a UTC reader uses to read a value's wall-clock fields.
4
- *
5
- * - `undefined` (the option omitted) resolves to `"UTC"`.
6
- * - A valid IANA zone (or `"UTC"`) resolves to itself.
7
- * - Any other value is invalid and resolves to `null`, which callers map to their sentinel.
8
- *
9
- * @param timeZone raw option value from caller input
10
- * @returns the zone to read in, or `null` when the value is invalid
11
- */
12
- export function resolveReadingTimeZone(timeZone) {
13
- if (timeZone === undefined || timeZone === "UTC")
14
- return "UTC";
15
- return typeof timeZone === "string" && isValidTimeZone(timeZone)
16
- ? timeZone
17
- : null;
18
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * Plural unit keys accepted by `formatDuration` for `UNIT_TO_INTL` lookup. Maps to
3
- * singular `Intl.NumberFormat` unit labels (e.g. `"years"` → `"year"`).
4
- */
5
- export type DurationUnit = "years" | "months" | "weeks" | "days" | "hours" | "minutes" | "seconds";