@northguild/gmt 1.17.0 → 1.19.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 (992) hide show
  1. package/README.md +55 -2480
  2. package/dist/calendar/calculate/bucketRange.d.ts +12 -4
  3. package/dist/calendar/calculate/bucketRange.js +20 -63
  4. package/dist/calendar/calculate/floorToZone.d.ts +14 -4
  5. package/dist/calendar/calculate/floorToZone.js +18 -9
  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 +59 -0
  15. package/dist/calendar/hours/addOperatingTime.js +65 -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 +45 -0
  19. package/dist/calendar/hours/isOpenAt.js +50 -0
  20. package/dist/calendar/hours/nextCloseAt.d.ts +55 -0
  21. package/dist/calendar/hours/nextCloseAt.js +57 -0
  22. package/dist/calendar/hours/nextOpenAt.d.ts +51 -0
  23. package/dist/calendar/hours/nextOpenAt.js +53 -0
  24. package/dist/calendar/hours/operatingIntervals.d.ts +48 -0
  25. package/dist/calendar/hours/operatingIntervals.js +57 -0
  26. package/dist/calendar/hours/operatingTimeBetween.d.ts +45 -0
  27. package/dist/calendar/hours/operatingTimeBetween.js +54 -0
  28. package/dist/calendar/hours/recurringWindows.d.ts +68 -0
  29. package/dist/calendar/hours/recurringWindows.js +88 -0
  30. package/dist/calendar/index.d.ts +1 -0
  31. package/dist/calendar/index.js +1 -0
  32. package/dist/duration/calculate/durationFromUnits.d.ts +47 -0
  33. package/dist/duration/calculate/durationFromUnits.js +67 -0
  34. package/dist/duration/calculate/getDurationUnit.d.ts +2 -2
  35. package/dist/duration/calculate/getDurationUnit.js +2 -2
  36. package/dist/duration/calculate/index.d.ts +3 -1
  37. package/dist/duration/calculate/index.js +3 -1
  38. package/dist/duration/calculate/negateDuration.d.ts +1 -1
  39. package/dist/duration/calculate/negateDuration.js +1 -1
  40. package/dist/duration/calculate/totalDuration.d.ts +73 -0
  41. package/dist/duration/calculate/{durationAs.js → totalDuration.js} +29 -27
  42. package/dist/duration/calculate/totalUnits.d.ts +49 -0
  43. package/dist/duration/calculate/totalUnits.js +73 -0
  44. package/dist/duration/compare/compareDurations.d.ts +13 -7
  45. package/dist/duration/compare/compareDurations.js +4 -7
  46. package/dist/duration/format/formatDuration.d.ts +16 -4
  47. package/dist/duration/format/formatDuration.js +4 -5
  48. package/dist/duration/normalize/normalizeDuration.d.ts +39 -14
  49. package/dist/duration/normalize/normalizeDuration.js +6 -15
  50. package/dist/duration/parse/parseDuration.d.ts +21 -3
  51. package/dist/duration/parse/parseDuration.js +1 -3
  52. package/dist/duty/calculate/dutyDayFor.d.ts +38 -0
  53. package/dist/duty/calculate/dutyDayFor.js +71 -0
  54. package/dist/duty/calculate/dutyTotals.d.ts +24 -0
  55. package/dist/duty/calculate/dutyTotals.js +41 -0
  56. package/dist/duty/calculate/dutyViolations.d.ts +74 -0
  57. package/dist/duty/calculate/dutyViolations.js +65 -0
  58. package/dist/duty/calculate/evaluateDutyLog.d.ts +77 -0
  59. package/dist/duty/calculate/evaluateDutyLog.js +75 -0
  60. package/dist/duty/calculate/index.d.ts +7 -0
  61. package/dist/duty/calculate/index.js +7 -0
  62. package/dist/duty/calculate/longestRun.d.ts +28 -0
  63. package/dist/duty/calculate/longestRun.js +54 -0
  64. package/dist/duty/calculate/qualifyingRestPairs.d.ts +37 -0
  65. package/dist/duty/calculate/qualifyingRestPairs.js +58 -0
  66. package/dist/duty/calculate/qualifyingRests.d.ts +27 -0
  67. package/dist/duty/calculate/qualifyingRests.js +49 -0
  68. package/dist/duty/index.d.ts +3 -0
  69. package/dist/duty/index.js +4 -0
  70. package/dist/duty/validate/index.d.ts +1 -0
  71. package/dist/duty/validate/index.js +1 -0
  72. package/dist/duty/validate/isValidDutyLog.d.ts +24 -0
  73. package/dist/duty/validate/isValidDutyLog.js +34 -0
  74. package/dist/index.d.ts +1 -0
  75. package/dist/index.js +1 -0
  76. package/dist/instant/convert/classifyLocal.d.ts +5 -1
  77. package/dist/instant/convert/classifyLocal.js +16 -6
  78. package/dist/instant/convert/fromOffsetInstant.d.ts +7 -1
  79. package/dist/instant/convert/fromOffsetInstant.js +9 -2
  80. package/dist/instant/convert/resolveLocal.d.ts +18 -8
  81. package/dist/instant/convert/resolveLocal.js +21 -17
  82. package/dist/instant/convert/toOffsetInstant.d.ts +33 -16
  83. package/dist/instant/convert/toOffsetInstant.js +28 -13
  84. package/dist/instant/index.d.ts +1 -0
  85. package/dist/instant/index.js +1 -0
  86. package/dist/instant/validate/index.d.ts +1 -0
  87. package/dist/instant/validate/index.js +1 -0
  88. package/dist/instant/validate/isValidUtcOffset.d.ts +32 -0
  89. package/dist/instant/validate/isValidUtcOffset.js +35 -0
  90. package/dist/intermodal/calculate/billingTimeline.d.ts +31 -11
  91. package/dist/intermodal/calculate/billingTimeline.js +2 -2
  92. package/dist/intermodal/calculate/chargeableDays.d.ts +19 -11
  93. package/dist/intermodal/calculate/chargeableDays.js +13 -10
  94. package/dist/intermodal/calculate/demurrageClock.d.ts +16 -7
  95. package/dist/intermodal/calculate/demurrageClock.js +7 -7
  96. package/dist/intermodal/calculate/freeTimeExpiry.d.ts +12 -4
  97. package/dist/intermodal/calculate/freeTimeExpiry.js +19 -8
  98. package/dist/intermodal/calculate/index.d.ts +1 -0
  99. package/dist/intermodal/calculate/index.js +1 -0
  100. package/dist/intermodal/calculate/multimodalETA.d.ts +76 -0
  101. package/dist/intermodal/calculate/multimodalETA.js +145 -0
  102. package/dist/intermodal/format/bolTimestamp.d.ts +76 -0
  103. package/dist/intermodal/format/bolTimestamp.js +78 -0
  104. package/dist/intermodal/format/formatEdifactDate.d.ts +34 -0
  105. package/dist/intermodal/format/formatEdifactDate.js +42 -0
  106. package/dist/intermodal/format/formatEdifactDatePeriod.d.ts +35 -0
  107. package/dist/intermodal/format/formatEdifactDatePeriod.js +43 -0
  108. package/dist/intermodal/format/formatEdifactDateTime.d.ts +37 -0
  109. package/dist/intermodal/format/formatEdifactDateTime.js +45 -0
  110. package/dist/intermodal/format/formatEdifactDateTimePeriod.d.ts +40 -0
  111. package/dist/intermodal/format/formatEdifactDateTimePeriod.js +48 -0
  112. package/dist/intermodal/format/formatEdifactOffsetDateTime.d.ts +62 -0
  113. package/dist/intermodal/format/formatEdifactOffsetDateTime.js +70 -0
  114. package/dist/intermodal/format/formatEdifactTime.d.ts +35 -0
  115. package/dist/intermodal/format/formatEdifactTime.js +43 -0
  116. package/dist/intermodal/format/formatEpcisEvent.d.ts +47 -0
  117. package/dist/intermodal/format/formatEpcisEvent.js +79 -0
  118. package/dist/intermodal/format/formatX12Date.d.ts +35 -0
  119. package/dist/intermodal/format/formatX12Date.js +43 -0
  120. package/dist/intermodal/format/formatX12DateRange.d.ts +37 -0
  121. package/dist/intermodal/format/formatX12DateRange.js +45 -0
  122. package/dist/intermodal/format/formatX12DateTime.d.ts +39 -0
  123. package/dist/intermodal/format/formatX12DateTime.js +47 -0
  124. package/dist/intermodal/format/formatX12DateTimeRange.d.ts +40 -0
  125. package/dist/intermodal/format/formatX12DateTimeRange.js +48 -0
  126. package/dist/intermodal/format/formatX12Time.d.ts +42 -0
  127. package/dist/intermodal/format/formatX12Time.js +50 -0
  128. package/dist/intermodal/format/formatX12TimeElement.d.ts +46 -0
  129. package/dist/intermodal/format/formatX12TimeElement.js +54 -0
  130. package/dist/intermodal/format/index.d.ts +14 -0
  131. package/dist/intermodal/format/index.js +14 -0
  132. package/dist/intermodal/index.d.ts +3 -0
  133. package/dist/intermodal/index.js +3 -0
  134. package/dist/intermodal/parse/classifyEdifactDtmFormat.d.ts +48 -0
  135. package/dist/intermodal/parse/classifyEdifactDtmFormat.js +55 -0
  136. package/dist/intermodal/parse/classifyX12DateTimePeriodFormat.d.ts +50 -0
  137. package/dist/intermodal/parse/classifyX12DateTimePeriodFormat.js +57 -0
  138. package/dist/intermodal/parse/classifyX12TimeCode.d.ts +46 -0
  139. package/dist/intermodal/parse/classifyX12TimeCode.js +57 -0
  140. package/dist/intermodal/parse/index.d.ts +18 -0
  141. package/dist/intermodal/parse/index.js +18 -0
  142. package/dist/intermodal/parse/parseEdifactDate.d.ts +37 -0
  143. package/dist/intermodal/parse/parseEdifactDate.js +45 -0
  144. package/dist/intermodal/parse/parseEdifactDatePeriod.d.ts +43 -0
  145. package/dist/intermodal/parse/parseEdifactDatePeriod.js +51 -0
  146. package/dist/intermodal/parse/parseEdifactDateTime.d.ts +43 -0
  147. package/dist/intermodal/parse/parseEdifactDateTime.js +51 -0
  148. package/dist/intermodal/parse/parseEdifactDateTimePeriod.d.ts +45 -0
  149. package/dist/intermodal/parse/parseEdifactDateTimePeriod.js +53 -0
  150. package/dist/intermodal/parse/parseEdifactOffsetDateTime.d.ts +60 -0
  151. package/dist/intermodal/parse/parseEdifactOffsetDateTime.js +68 -0
  152. package/dist/intermodal/parse/parseEdifactTime.d.ts +37 -0
  153. package/dist/intermodal/parse/parseEdifactTime.js +45 -0
  154. package/dist/intermodal/parse/parseEpcisEvent.d.ts +95 -0
  155. package/dist/intermodal/parse/parseEpcisEvent.js +102 -0
  156. package/dist/intermodal/parse/parseX12Date.d.ts +39 -0
  157. package/dist/intermodal/parse/parseX12Date.js +47 -0
  158. package/dist/intermodal/parse/parseX12DateAndTime.d.ts +52 -0
  159. package/dist/intermodal/parse/parseX12DateAndTime.js +61 -0
  160. package/dist/intermodal/parse/parseX12DateRange.d.ts +44 -0
  161. package/dist/intermodal/parse/parseX12DateRange.js +52 -0
  162. package/dist/intermodal/parse/parseX12DateTime.d.ts +45 -0
  163. package/dist/intermodal/parse/parseX12DateTime.js +53 -0
  164. package/dist/intermodal/parse/parseX12DateTimeRange.d.ts +46 -0
  165. package/dist/intermodal/parse/parseX12DateTimeRange.js +54 -0
  166. package/dist/intermodal/parse/parseX12Time.d.ts +65 -0
  167. package/dist/intermodal/parse/parseX12Time.js +77 -0
  168. package/dist/intermodal/parse/x12TimeCodeOffset.d.ts +57 -0
  169. package/dist/intermodal/parse/x12TimeCodeOffset.js +110 -0
  170. package/dist/intermodal/parse/x12TimeCodeZone.d.ts +57 -0
  171. package/dist/intermodal/parse/x12TimeCodeZone.js +105 -0
  172. package/dist/intermodal/validate/index.d.ts +18 -0
  173. package/dist/intermodal/validate/index.js +18 -0
  174. package/dist/intermodal/validate/isValidEdifactDate.d.ts +26 -0
  175. package/dist/intermodal/validate/isValidEdifactDate.js +28 -0
  176. package/dist/intermodal/validate/isValidEdifactDatePeriod.d.ts +28 -0
  177. package/dist/intermodal/validate/isValidEdifactDatePeriod.js +30 -0
  178. package/dist/intermodal/validate/isValidEdifactDateTime.d.ts +30 -0
  179. package/dist/intermodal/validate/isValidEdifactDateTime.js +32 -0
  180. package/dist/intermodal/validate/isValidEdifactDateTimePeriod.d.ts +28 -0
  181. package/dist/intermodal/validate/isValidEdifactDateTimePeriod.js +30 -0
  182. package/dist/intermodal/validate/isValidEdifactDtmFormat.d.ts +39 -0
  183. package/dist/intermodal/validate/isValidEdifactDtmFormat.js +42 -0
  184. package/dist/intermodal/validate/isValidEdifactOffsetDateTime.d.ts +36 -0
  185. package/dist/intermodal/validate/isValidEdifactOffsetDateTime.js +38 -0
  186. package/dist/intermodal/validate/isValidEdifactTime.d.ts +28 -0
  187. package/dist/intermodal/validate/isValidEdifactTime.js +30 -0
  188. package/dist/intermodal/validate/isValidEpcisEvent.d.ts +41 -0
  189. package/dist/intermodal/validate/isValidEpcisEvent.js +58 -0
  190. package/dist/intermodal/validate/isValidEpcisEventTime.d.ts +33 -0
  191. package/dist/intermodal/validate/isValidEpcisEventTime.js +48 -0
  192. package/dist/intermodal/validate/isValidEpcisTimeZoneOffset.d.ts +30 -0
  193. package/dist/intermodal/validate/isValidEpcisTimeZoneOffset.js +38 -0
  194. package/dist/intermodal/validate/isValidX12Date.d.ts +28 -0
  195. package/dist/intermodal/validate/isValidX12Date.js +30 -0
  196. package/dist/intermodal/validate/isValidX12DateAndTime.d.ts +32 -0
  197. package/dist/intermodal/validate/isValidX12DateAndTime.js +35 -0
  198. package/dist/intermodal/validate/isValidX12DateRange.d.ts +29 -0
  199. package/dist/intermodal/validate/isValidX12DateRange.js +31 -0
  200. package/dist/intermodal/validate/isValidX12DateTime.d.ts +30 -0
  201. package/dist/intermodal/validate/isValidX12DateTime.js +32 -0
  202. package/dist/intermodal/validate/isValidX12DateTimePeriodFormat.d.ts +43 -0
  203. package/dist/intermodal/validate/isValidX12DateTimePeriodFormat.js +46 -0
  204. package/dist/intermodal/validate/isValidX12DateTimeRange.d.ts +31 -0
  205. package/dist/intermodal/validate/isValidX12DateTimeRange.js +33 -0
  206. package/dist/intermodal/validate/isValidX12Time.d.ts +38 -0
  207. package/dist/intermodal/validate/isValidX12Time.js +40 -0
  208. package/dist/intermodal/validate/isValidX12TimeCode.d.ts +38 -0
  209. package/dist/intermodal/validate/isValidX12TimeCode.js +41 -0
  210. package/dist/internal/businessCalendar.d.ts +5 -0
  211. package/dist/internal/businessCalendar.js +9 -10
  212. package/dist/internal/cycleFieldValue.d.ts +6 -4
  213. package/dist/internal/cycleFieldValue.js +6 -4
  214. package/dist/internal/daylightTime.d.ts +33 -0
  215. package/dist/internal/daylightTime.js +164 -0
  216. package/dist/internal/durationUntilString.js +4 -3
  217. package/dist/internal/dutyEngine.d.ts +125 -0
  218. package/dist/internal/dutyEngine.js +1746 -0
  219. package/dist/internal/dutyLog.d.ts +27 -0
  220. package/dist/internal/dutyLog.js +47 -0
  221. package/dist/internal/dutyPeriods.d.ts +135 -0
  222. package/dist/internal/dutyPeriods.js +369 -0
  223. package/dist/internal/dutyRules.d.ts +197 -0
  224. package/dist/internal/dutyRules.js +484 -0
  225. package/dist/internal/ediDateTimeFields.d.ts +97 -0
  226. package/dist/internal/ediDateTimeFields.js +288 -0
  227. package/dist/internal/ediDateTimeWriter.d.ts +92 -0
  228. package/dist/internal/ediDateTimeWriter.js +298 -0
  229. package/dist/internal/ediGrammar.d.ts +158 -0
  230. package/dist/internal/ediGrammar.js +384 -0
  231. package/dist/internal/englishCalendarNames.d.ts +3 -1
  232. package/dist/internal/englishCalendarNames.js +4 -3
  233. package/dist/internal/epochNanoseconds.d.ts +2 -0
  234. package/dist/internal/epochNanoseconds.js +2 -0
  235. package/dist/internal/exactDuration.d.ts +37 -0
  236. package/dist/internal/exactDuration.js +64 -0
  237. package/dist/internal/exactMoment.d.ts +72 -0
  238. package/dist/internal/exactMoment.js +114 -0
  239. package/dist/internal/fiscalCalendar.d.ts +4 -3
  240. package/dist/internal/fiscalCalendar.js +4 -3
  241. package/dist/internal/formatCalendarDays.d.ts +2 -2
  242. package/dist/internal/formatRelativeDuration.d.ts +21 -1
  243. package/dist/internal/formatRelativeDuration.js +47 -7
  244. package/dist/internal/freeTimeLedger.d.ts +5 -0
  245. package/dist/internal/freeTimeLedger.js +11 -2
  246. package/dist/internal/index.d.ts +12 -4
  247. package/dist/internal/index.js +16 -4
  248. package/dist/internal/instantFormatOptions.js +2 -1
  249. package/dist/internal/instantNanoseconds.d.ts +75 -9
  250. package/dist/internal/instantNanoseconds.js +192 -11
  251. package/dist/internal/intervalNanoseconds.js +2 -1
  252. package/dist/internal/isObject.d.ts +13 -6
  253. package/dist/internal/isObject.js +14 -7
  254. package/dist/internal/isoYearString.d.ts +21 -0
  255. package/dist/internal/isoYearString.js +27 -0
  256. package/dist/internal/joinDateTimeConnector.d.ts +1 -1
  257. package/dist/internal/maxPieces.js +2 -1
  258. package/dist/internal/monthGridWeekRow.d.ts +2 -1
  259. package/dist/internal/monthGridWeekRow.js +2 -1
  260. package/dist/internal/normalizeTimeZone.d.ts +5 -2
  261. package/dist/internal/normalizeTimeZone.js +5 -2
  262. package/dist/internal/operatingSchedule.d.ts +138 -0
  263. package/dist/internal/operatingSchedule.js +756 -0
  264. package/dist/internal/optionOrDefault.d.ts +18 -0
  265. package/dist/internal/optionOrDefault.js +20 -0
  266. package/dist/internal/patternToken.d.ts +12 -5
  267. package/dist/internal/patternToken.js +59 -25
  268. package/dist/internal/plainDateUntil.js +10 -6
  269. package/dist/internal/punctuality.d.ts +38 -0
  270. package/dist/internal/punctuality.js +59 -0
  271. package/dist/internal/readDateTimeFormatOptions.d.ts +30 -0
  272. package/dist/internal/readDateTimeFormatOptions.js +93 -0
  273. package/dist/internal/readDurationUnits.d.ts +34 -0
  274. package/dist/internal/readDurationUnits.js +78 -0
  275. package/dist/internal/readSetFields.d.ts +50 -0
  276. package/dist/internal/readSetFields.js +179 -0
  277. package/dist/internal/resolveDurationRelativeTo.d.ts +4 -0
  278. package/dist/internal/resolveDurationRelativeTo.js +11 -1
  279. package/dist/internal/resolveRelativeRounding.d.ts +17 -6
  280. package/dist/internal/resolveRelativeRounding.js +27 -7
  281. package/dist/internal/resolveRelativeUnit.d.ts +30 -0
  282. package/dist/internal/resolveRelativeUnit.js +40 -0
  283. package/dist/internal/resolveUnixIntervalPair.d.ts +8 -2
  284. package/dist/internal/resolveUnixIntervalPair.js +11 -7
  285. package/dist/internal/splitStep.d.ts +24 -1
  286. package/dist/internal/splitStep.js +34 -2
  287. package/dist/internal/startOrEndOfUnix.d.ts +2 -1
  288. package/dist/internal/startOrEndOfUnix.js +9 -6
  289. package/dist/internal/startOrEndOfZoned.js +2 -3
  290. package/dist/internal/temporalCompat/capabilities.d.ts +26 -0
  291. package/dist/internal/temporalCompat/capabilities.js +35 -3
  292. package/dist/internal/temporalCompat/fieldSearch.js +1 -1
  293. package/dist/internal/temporalCompat/index.d.ts +1 -1
  294. package/dist/internal/temporalCompat/index.js +1 -1
  295. package/dist/internal/temporalCompat/repros.d.ts +1 -1
  296. package/dist/internal/temporalCompat/repros.js +157 -0
  297. package/dist/internal/timestampEvents.d.ts +32 -0
  298. package/dist/internal/timestampEvents.js +76 -0
  299. package/dist/internal/twoDigitYear.d.ts +19 -0
  300. package/dist/internal/twoDigitYear.js +22 -0
  301. package/dist/internal/unixEpochValue.js +3 -2
  302. package/dist/internal/unixWallClock.d.ts +24 -0
  303. package/dist/internal/unixWallClock.js +35 -0
  304. package/dist/internal/utcWallClock.d.ts +20 -0
  305. package/dist/internal/utcWallClock.js +32 -0
  306. package/dist/internal/yearWindowStart.d.ts +28 -0
  307. package/dist/internal/yearWindowStart.js +52 -0
  308. package/dist/internal/zoneBucketCap.d.ts +18 -0
  309. package/dist/internal/zoneBucketCap.js +64 -0
  310. package/dist/internal/zoneFrame.d.ts +180 -0
  311. package/dist/internal/zoneFrame.js +221 -0
  312. package/dist/internal/zonedBucket.js +8 -6
  313. package/dist/internal/zonedLocalDates.js +1 -1
  314. package/dist/internal/zonedNowUnitValue.d.ts +7 -4
  315. package/dist/internal/zonedNowUnitValue.js +8 -4
  316. package/dist/internal/zonedTransitionSearch.d.ts +27 -0
  317. package/dist/internal/zonedTransitionSearch.js +218 -0
  318. package/dist/internal/zonedWallClock.d.ts +21 -7
  319. package/dist/internal/zonedWallClock.js +87 -18
  320. package/dist/internal/zonedWallClockDifference.js +4 -4
  321. package/dist/internal/zonedWallClockOperations.d.ts +31 -15
  322. package/dist/internal/zonedWallClockOperations.js +93 -43
  323. package/dist/interval/validate/isValidInterval.d.ts +6 -3
  324. package/dist/interval/validate/isValidInterval.js +6 -3
  325. package/dist/plain/calculate/addDate.d.ts +11 -8
  326. package/dist/plain/calculate/addDate.js +9 -15
  327. package/dist/plain/calculate/addDateTime.d.ts +7 -4
  328. package/dist/plain/calculate/addDateTime.js +5 -11
  329. package/dist/plain/calculate/addTime.js +4 -7
  330. package/dist/plain/calculate/cycleDate.d.ts +16 -7
  331. package/dist/plain/calculate/cycleDate.js +3 -7
  332. package/dist/plain/calculate/cycleDateTime.d.ts +14 -4
  333. package/dist/plain/calculate/cycleDateTime.js +1 -4
  334. package/dist/plain/calculate/cycleTime.d.ts +10 -5
  335. package/dist/plain/calculate/cycleTime.js +3 -5
  336. package/dist/plain/calculate/diffDate.d.ts +1 -1
  337. package/dist/plain/calculate/diffDate.js +1 -1
  338. package/dist/plain/calculate/diffDateAsDuration.d.ts +1 -1
  339. package/dist/plain/calculate/diffDateAsDuration.js +1 -1
  340. package/dist/plain/calculate/diffDateTime.d.ts +1 -1
  341. package/dist/plain/calculate/diffDateTime.js +1 -1
  342. package/dist/plain/calculate/diffDateTimeAsDuration.d.ts +1 -1
  343. package/dist/plain/calculate/diffDateTimeAsDuration.js +1 -1
  344. package/dist/plain/calculate/diffTime.d.ts +1 -1
  345. package/dist/plain/calculate/diffTime.js +1 -1
  346. package/dist/plain/calculate/endOfDate.d.ts +8 -3
  347. package/dist/plain/calculate/endOfDate.js +1 -3
  348. package/dist/plain/calculate/endOfDateTime.d.ts +15 -5
  349. package/dist/plain/calculate/endOfDateTime.js +1 -5
  350. package/dist/plain/calculate/endOfTime.d.ts +9 -3
  351. package/dist/plain/calculate/endOfTime.js +1 -2
  352. package/dist/plain/calculate/getLocaleWeekYear.d.ts +16 -9
  353. package/dist/plain/calculate/getLocaleWeekYear.js +9 -9
  354. package/dist/plain/calculate/getWeekOfMonth.d.ts +7 -4
  355. package/dist/plain/calculate/getWeekOfMonth.js +7 -4
  356. package/dist/plain/calculate/getWeeksInLocaleWeekYear.d.ts +13 -6
  357. package/dist/plain/calculate/getWeeksInLocaleWeekYear.js +6 -6
  358. package/dist/plain/calculate/getWeeksInMonth.d.ts +5 -2
  359. package/dist/plain/calculate/getWeeksInMonth.js +5 -2
  360. package/dist/plain/calculate/nextWeekday.d.ts +7 -3
  361. package/dist/plain/calculate/nextWeekday.js +1 -3
  362. package/dist/plain/calculate/previousWeekday.d.ts +7 -3
  363. package/dist/plain/calculate/previousWeekday.js +1 -3
  364. package/dist/plain/calculate/roundDate.d.ts +20 -7
  365. package/dist/plain/calculate/roundDate.js +3 -10
  366. package/dist/plain/calculate/roundDateTime.d.ts +22 -8
  367. package/dist/plain/calculate/roundDateTime.js +3 -11
  368. package/dist/plain/calculate/roundTime.d.ts +20 -4
  369. package/dist/plain/calculate/roundTime.js +3 -7
  370. package/dist/plain/calculate/setDate.d.ts +27 -8
  371. package/dist/plain/calculate/setDate.js +28 -12
  372. package/dist/plain/calculate/setDateTime.d.ts +23 -8
  373. package/dist/plain/calculate/setDateTime.js +23 -12
  374. package/dist/plain/calculate/setTime.d.ts +23 -7
  375. package/dist/plain/calculate/setTime.js +25 -12
  376. package/dist/plain/calculate/startOfDate.d.ts +8 -2
  377. package/dist/plain/calculate/startOfDate.js +1 -2
  378. package/dist/plain/calculate/startOfDateTime.d.ts +15 -2
  379. package/dist/plain/calculate/startOfDateTime.js +1 -2
  380. package/dist/plain/calculate/startOfTime.d.ts +9 -2
  381. package/dist/plain/calculate/startOfTime.js +1 -1
  382. package/dist/plain/calculate/subtractDate.d.ts +7 -4
  383. package/dist/plain/calculate/subtractDate.js +5 -11
  384. package/dist/plain/calculate/subtractDateTime.d.ts +7 -4
  385. package/dist/plain/calculate/subtractDateTime.js +5 -11
  386. package/dist/plain/calculate/subtractTime.js +4 -7
  387. package/dist/plain/compare/areDateTimesEqualBy.d.ts +13 -5
  388. package/dist/plain/compare/areDateTimesEqualBy.js +6 -5
  389. package/dist/plain/compare/areDatesEqualBy.d.ts +15 -6
  390. package/dist/plain/compare/areDatesEqualBy.js +8 -6
  391. package/dist/plain/compare/isBetweenDate.d.ts +13 -2
  392. package/dist/plain/compare/isBetweenDate.js +4 -4
  393. package/dist/plain/compare/isBetweenDateTime.d.ts +13 -2
  394. package/dist/plain/compare/isBetweenDateTime.js +4 -4
  395. package/dist/plain/compare/isBetweenTime.d.ts +13 -2
  396. package/dist/plain/compare/isBetweenTime.js +4 -4
  397. package/dist/plain/compare/isRelativeDay.d.ts +1 -1
  398. package/dist/plain/compare/isRelativeDay.js +1 -1
  399. package/dist/plain/compare/isThisUnit.d.ts +1 -1
  400. package/dist/plain/compare/isThisUnit.js +1 -1
  401. package/dist/plain/format/formatCalendar.d.ts +21 -14
  402. package/dist/plain/format/formatCalendar.js +23 -17
  403. package/dist/plain/format/formatDate.js +5 -3
  404. package/dist/plain/format/formatDateRange.js +4 -2
  405. package/dist/plain/format/formatDateTime.js +4 -2
  406. package/dist/plain/format/formatDateTimeRange.js +4 -2
  407. package/dist/plain/format/formatDateTimeToParts.d.ts +15 -4
  408. package/dist/plain/format/formatDateTimeToParts.js +10 -6
  409. package/dist/plain/format/formatDateToParts.d.ts +13 -2
  410. package/dist/plain/format/formatDateToParts.js +8 -4
  411. package/dist/plain/format/formatRelativeDate.d.ts +16 -3
  412. package/dist/plain/format/formatRelativeDate.js +28 -16
  413. package/dist/plain/format/formatRelativeDateTime.d.ts +16 -3
  414. package/dist/plain/format/formatRelativeDateTime.js +10 -6
  415. package/dist/plain/format/formatRelativeTime.d.ts +16 -3
  416. package/dist/plain/format/formatRelativeTime.js +23 -14
  417. package/dist/plain/format/{formatSql.d.ts → formatSqlDateTime.d.ts} +7 -7
  418. package/dist/plain/format/{formatSql.js → formatSqlDateTime.js} +7 -7
  419. package/dist/plain/format/formatTime.js +4 -2
  420. package/dist/plain/format/index.d.ts +1 -1
  421. package/dist/plain/format/index.js +1 -1
  422. package/dist/plain/get/getNowUnit.d.ts +2 -0
  423. package/dist/plain/get/getNowUnit.js +2 -0
  424. package/dist/plain/get/getYear.d.ts +2 -0
  425. package/dist/plain/get/getYear.js +4 -3
  426. package/dist/plain/interval/intervalDifferenceDate.d.ts +9 -0
  427. package/dist/plain/interval/intervalDifferenceDateTime.d.ts +9 -0
  428. package/dist/plain/interval/intervalDifferenceTime.d.ts +9 -0
  429. package/dist/plain/interval/intervalDivideEquallyDate.d.ts +19 -4
  430. package/dist/plain/interval/intervalDivideEquallyDate.js +3 -4
  431. package/dist/plain/interval/intervalDivideEquallyDateTime.d.ts +19 -4
  432. package/dist/plain/interval/intervalDivideEquallyDateTime.js +3 -4
  433. package/dist/plain/interval/intervalDivideEquallyTime.d.ts +19 -4
  434. package/dist/plain/interval/intervalDivideEquallyTime.js +3 -4
  435. package/dist/plain/interval/intervalFromDurationDate.d.ts +16 -3
  436. package/dist/plain/interval/intervalFromDurationDate.js +1 -3
  437. package/dist/plain/interval/intervalFromDurationDateTime.d.ts +16 -3
  438. package/dist/plain/interval/intervalFromDurationDateTime.js +1 -3
  439. package/dist/plain/interval/intervalFromDurationTime.d.ts +9 -0
  440. package/dist/plain/interval/intervalIntersectionDate.d.ts +9 -0
  441. package/dist/plain/interval/intervalIntersectionDateTime.d.ts +9 -0
  442. package/dist/plain/interval/intervalIntersectionTime.d.ts +9 -0
  443. package/dist/plain/interval/intervalSplitAtDate.d.ts +11 -0
  444. package/dist/plain/interval/intervalSplitAtDate.js +2 -0
  445. package/dist/plain/interval/intervalSplitAtDateTime.d.ts +11 -0
  446. package/dist/plain/interval/intervalSplitAtDateTime.js +2 -0
  447. package/dist/plain/interval/intervalSplitAtTime.d.ts +11 -0
  448. package/dist/plain/interval/intervalSplitAtTime.js +2 -0
  449. package/dist/plain/interval/intervalUnionDate.d.ts +9 -0
  450. package/dist/plain/interval/intervalUnionDateTime.d.ts +9 -0
  451. package/dist/plain/interval/intervalUnionTime.d.ts +9 -0
  452. package/dist/plain/interval/intervalXorAllDate.d.ts +9 -0
  453. package/dist/plain/interval/intervalXorAllDate.js +2 -2
  454. package/dist/plain/interval/intervalXorAllDateTime.d.ts +9 -0
  455. package/dist/plain/interval/intervalXorAllDateTime.js +2 -2
  456. package/dist/plain/interval/intervalXorAllTime.d.ts +9 -0
  457. package/dist/plain/interval/intervalXorAllTime.js +2 -2
  458. package/dist/plain/interval/intervalXorDate.d.ts +9 -0
  459. package/dist/plain/interval/intervalXorDateTime.d.ts +9 -0
  460. package/dist/plain/interval/intervalXorTime.d.ts +9 -0
  461. package/dist/plain/interval/mergeIntervalsDate.d.ts +9 -0
  462. package/dist/plain/interval/mergeIntervalsDate.js +2 -2
  463. package/dist/plain/interval/mergeIntervalsDateTime.d.ts +9 -0
  464. package/dist/plain/interval/mergeIntervalsDateTime.js +2 -2
  465. package/dist/plain/interval/mergeIntervalsTime.d.ts +9 -0
  466. package/dist/plain/interval/mergeIntervalsTime.js +2 -2
  467. package/dist/plain/interval/splitIntervalByUnitDate.d.ts +23 -7
  468. package/dist/plain/interval/splitIntervalByUnitDate.js +7 -7
  469. package/dist/plain/interval/splitIntervalByUnitDateTime.d.ts +22 -6
  470. package/dist/plain/interval/splitIntervalByUnitDateTime.js +6 -6
  471. package/dist/plain/interval/splitIntervalByUnitTime.d.ts +17 -4
  472. package/dist/plain/interval/splitIntervalByUnitTime.js +1 -4
  473. package/dist/plain/map/mapDatesInRange.d.ts +8 -4
  474. package/dist/plain/map/mapDatesInRange.js +1 -4
  475. package/dist/plain/parse/index.d.ts +1 -1
  476. package/dist/plain/parse/index.js +1 -1
  477. package/dist/plain/parse/parseDateTimeWithPattern.d.ts +25 -9
  478. package/dist/plain/parse/parseDateTimeWithPattern.js +29 -11
  479. package/dist/plain/parse/parseDateWithPattern.d.ts +26 -9
  480. package/dist/plain/parse/parseDateWithPattern.js +30 -11
  481. package/dist/plain/parse/{parseSql.d.ts → parseSqlDateTime.d.ts} +8 -8
  482. package/dist/plain/parse/{parseSql.js → parseSqlDateTime.js} +8 -8
  483. package/dist/plain/parse/parseTimeWithPattern.d.ts +10 -7
  484. package/dist/plain/parse/parseTimeWithPattern.js +11 -7
  485. package/dist/plain/parse/parseUnitFromDate.d.ts +14 -3
  486. package/dist/plain/parse/parseUnitFromDate.js +8 -4
  487. package/dist/plain/parse/parseUnitFromDateTime.d.ts +14 -3
  488. package/dist/plain/parse/parseUnitFromDateTime.js +8 -4
  489. package/dist/plain/parse/parseWeekFromDate.d.ts +10 -6
  490. package/dist/plain/parse/parseWeekFromDate.js +2 -6
  491. package/dist/plain/parse/parseWeekFromDateTime.d.ts +10 -6
  492. package/dist/plain/parse/parseWeekFromDateTime.js +2 -6
  493. package/dist/plain/parse/parseYearFromDate.d.ts +5 -2
  494. package/dist/plain/parse/parseYearFromDate.js +7 -3
  495. package/dist/plain/parse/parseYearFromDateTime.d.ts +4 -2
  496. package/dist/plain/parse/parseYearFromDateTime.js +6 -3
  497. package/dist/plain/validate/index.d.ts +1 -0
  498. package/dist/plain/validate/index.js +1 -0
  499. package/dist/plain/validate/isValidDateRange.d.ts +19 -4
  500. package/dist/plain/validate/isValidDateRange.js +1 -4
  501. package/dist/plain/validate/isValidDateTimeRange.d.ts +20 -5
  502. package/dist/plain/validate/isValidDateTimeRange.js +2 -5
  503. package/dist/plain/validate/isValidSqlDateTime.d.ts +33 -0
  504. package/dist/plain/validate/isValidSqlDateTime.js +36 -0
  505. package/dist/plain/validate/isValidTimeRange.d.ts +20 -5
  506. package/dist/plain/validate/isValidTimeRange.js +2 -5
  507. package/dist/precision/convert/fromExcelSerial.d.ts +10 -4
  508. package/dist/precision/convert/fromExcelSerial.js +4 -5
  509. package/dist/precision/convert/fromNanoseconds.d.ts +9 -3
  510. package/dist/precision/convert/fromNanoseconds.js +9 -3
  511. package/dist/precision/convert/toExcelSerial.d.ts +9 -3
  512. package/dist/precision/convert/toExcelSerial.js +3 -4
  513. package/dist/precision/convert/toNanoseconds.d.ts +11 -6
  514. package/dist/precision/convert/toNanoseconds.js +11 -6
  515. package/dist/precision/validate/isValidInstant.d.ts +12 -3
  516. package/dist/precision/validate/isValidInstant.js +12 -3
  517. package/dist/regex/epcis.d.ts +60 -0
  518. package/dist/regex/epcis.js +60 -0
  519. package/dist/regex/http-date.d.ts +6 -4
  520. package/dist/regex/http-date.js +6 -4
  521. package/dist/regex/index.d.ts +1 -0
  522. package/dist/regex/index.js +1 -0
  523. package/dist/regex/rfc-2822.d.ts +2 -0
  524. package/dist/regex/rfc-2822.js +2 -0
  525. package/dist/regex/rfc-3339.d.ts +3 -1
  526. package/dist/regex/rfc-3339.js +3 -1
  527. package/dist/regex/sql-date-time.d.ts +2 -1
  528. package/dist/regex/sql-date-time.js +2 -1
  529. package/dist/regex/time-zone-like.d.ts +3 -2
  530. package/dist/regex/time-zone-like.js +3 -2
  531. package/dist/regex/utc-offset.d.ts +2 -1
  532. package/dist/regex/utc-offset.js +2 -1
  533. package/dist/span/calculate/spanMs.d.ts +10 -4
  534. package/dist/span/calculate/spanMs.js +10 -4
  535. package/dist/span/calculate/spanNs.d.ts +10 -4
  536. package/dist/span/calculate/spanNs.js +10 -4
  537. package/dist/span/validate/isValidSpan.d.ts +8 -3
  538. package/dist/span/validate/isValidSpan.js +8 -3
  539. package/dist/transport/calculate/bestAvailable.d.ts +47 -0
  540. package/dist/transport/calculate/bestAvailable.js +76 -0
  541. package/dist/transport/calculate/crossingTime.d.ts +63 -0
  542. package/dist/transport/calculate/crossingTime.js +81 -0
  543. package/dist/transport/calculate/cutoffAt.d.ts +95 -0
  544. package/dist/transport/calculate/cutoffAt.js +211 -0
  545. package/dist/transport/calculate/cutoffSchedule.d.ts +75 -0
  546. package/dist/transport/calculate/cutoffSchedule.js +73 -0
  547. package/dist/transport/calculate/dwellTime.d.ts +22 -8
  548. package/dist/transport/calculate/dwellTime.js +18 -9
  549. package/dist/transport/calculate/estimateDrift.d.ts +65 -0
  550. package/dist/transport/calculate/estimateDrift.js +75 -0
  551. package/dist/transport/calculate/index.d.ts +8 -0
  552. package/dist/transport/calculate/index.js +8 -0
  553. package/dist/transport/calculate/nextDeparture.d.ts +78 -0
  554. package/dist/transport/calculate/nextDeparture.js +131 -0
  555. package/dist/transport/calculate/punctualityRate.d.ts +42 -0
  556. package/dist/transport/calculate/punctualityRate.js +59 -0
  557. package/dist/transport/calculate/scheduleDelivery.d.ts +158 -0
  558. package/dist/transport/calculate/scheduleDelivery.js +305 -0
  559. package/dist/transport/calculate/transitTime.d.ts +21 -3
  560. package/dist/transport/calculate/transitTime.js +29 -46
  561. package/dist/transport/compare/classifyPunctuality.d.ts +46 -0
  562. package/dist/transport/compare/classifyPunctuality.js +64 -0
  563. package/dist/transport/compare/index.d.ts +4 -0
  564. package/dist/transport/compare/index.js +4 -0
  565. package/dist/transport/compare/isPastCutoff.d.ts +33 -0
  566. package/dist/transport/compare/isPastCutoff.js +48 -0
  567. package/dist/transport/compare/scheduleDeviation.d.ts +37 -0
  568. package/dist/transport/compare/scheduleDeviation.js +53 -0
  569. package/dist/transport/compare/timeToCutoff.d.ts +31 -0
  570. package/dist/transport/compare/timeToCutoff.js +47 -0
  571. package/dist/transport/convert/etaAtZone.d.ts +13 -1
  572. package/dist/transport/convert/etaAtZone.js +15 -5
  573. package/dist/transport/index.d.ts +1 -0
  574. package/dist/transport/index.js +1 -0
  575. package/dist/types/business-calendar.d.ts +20 -14
  576. package/dist/types/calendar-options.d.ts +15 -3
  577. package/dist/types/date-cycle-field.d.ts +5 -0
  578. package/dist/types/date-duration-unit.d.ts +4 -0
  579. package/dist/types/date-time-cycle-field.d.ts +4 -0
  580. package/dist/types/date-time-duration-units.d.ts +4 -0
  581. package/dist/types/date-time-unit.d.ts +4 -0
  582. package/dist/types/date-unit.d.ts +4 -0
  583. package/dist/types/disambiguation.d.ts +8 -0
  584. package/dist/types/duration-relative-to.d.ts +8 -0
  585. package/dist/types/duration-string-options.d.ts +28 -0
  586. package/dist/types/duty.d.ts +777 -0
  587. package/dist/types/edi.d.ts +407 -0
  588. package/dist/types/edi.js +0 -0
  589. package/dist/types/epcis.d.ts +25 -0
  590. package/dist/types/epcis.js +0 -0
  591. package/dist/types/exact-duration-unit.d.ts +8 -0
  592. package/dist/types/exact-duration-unit.js +0 -0
  593. package/dist/types/fiscal-calendar.d.ts +1 -1
  594. package/dist/types/fractional-digit.d.ts +5 -0
  595. package/dist/types/free-time-options.d.ts +22 -11
  596. package/dist/types/index.d.ts +7 -1
  597. package/dist/types/index.js +7 -1
  598. package/dist/types/interval.d.ts +8 -1
  599. package/dist/types/offset.d.ts +9 -0
  600. package/dist/types/operating-schedule.d.ts +72 -0
  601. package/dist/types/operating-schedule.js +0 -0
  602. package/dist/types/overflow.d.ts +6 -0
  603. package/dist/types/relative-rounding-method.d.ts +6 -0
  604. package/dist/types/relative-time-options.d.ts +33 -5
  605. package/dist/types/rounding-options.d.ts +27 -0
  606. package/dist/types/time-cycle-field.d.ts +4 -0
  607. package/dist/types/time-duration-unit.d.ts +4 -0
  608. package/dist/types/time-unit.d.ts +4 -0
  609. package/dist/types/transport-timestamps.d.ts +54 -0
  610. package/dist/types/transport-timestamps.js +0 -0
  611. package/dist/types/two-digit-year.d.ts +23 -0
  612. package/dist/types/two-digit-year.js +0 -0
  613. package/dist/types/zone-bucket-unit.d.ts +1 -1
  614. package/dist/unix/calculate/addUnix.d.ts +28 -5
  615. package/dist/unix/calculate/addUnix.js +15 -16
  616. package/dist/unix/calculate/diffUnix.d.ts +21 -3
  617. package/dist/unix/calculate/diffUnix.js +12 -9
  618. package/dist/unix/calculate/diffUnixAsDuration.d.ts +21 -3
  619. package/dist/unix/calculate/diffUnixAsDuration.js +11 -8
  620. package/dist/unix/calculate/endOfQuarterForUnix.d.ts +21 -3
  621. package/dist/unix/calculate/endOfQuarterForUnix.js +7 -3
  622. package/dist/unix/calculate/endOfUnix.d.ts +29 -4
  623. package/dist/unix/calculate/endOfUnix.js +8 -4
  624. package/dist/unix/calculate/isBetweenUnix.d.ts +27 -4
  625. package/dist/unix/calculate/isBetweenUnix.js +7 -9
  626. package/dist/unix/calculate/roundUnix.d.ts +39 -3
  627. package/dist/unix/calculate/roundUnix.js +16 -12
  628. package/dist/unix/calculate/setUnix.d.ts +58 -12
  629. package/dist/unix/calculate/setUnix.js +37 -25
  630. package/dist/unix/calculate/startOfQuarterForUnix.d.ts +21 -3
  631. package/dist/unix/calculate/startOfQuarterForUnix.js +7 -3
  632. package/dist/unix/calculate/startOfUnix.d.ts +29 -4
  633. package/dist/unix/calculate/startOfUnix.js +8 -4
  634. package/dist/unix/calculate/subtractUnix.d.ts +27 -5
  635. package/dist/unix/calculate/subtractUnix.js +14 -16
  636. package/dist/unix/compare/areUnixEqual.d.ts +7 -1
  637. package/dist/unix/compare/areUnixEqual.js +1 -1
  638. package/dist/unix/compare/areUnixEqualBy.d.ts +33 -7
  639. package/dist/unix/compare/areUnixEqualBy.js +20 -9
  640. package/dist/unix/compare/isAfterUnix.d.ts +7 -1
  641. package/dist/unix/compare/isAfterUnix.js +1 -1
  642. package/dist/unix/compare/isBeforeUnix.d.ts +7 -1
  643. package/dist/unix/compare/isBeforeUnix.js +1 -1
  644. package/dist/unix/convert/convertUnixToPlainDate.d.ts +17 -4
  645. package/dist/unix/convert/convertUnixToPlainDate.js +7 -8
  646. package/dist/unix/convert/convertUnixToPlainDateTime.d.ts +17 -4
  647. package/dist/unix/convert/convertUnixToPlainDateTime.js +7 -8
  648. package/dist/unix/convert/convertUnixToPlainTime.d.ts +17 -4
  649. package/dist/unix/convert/convertUnixToPlainTime.js +7 -8
  650. package/dist/unix/convert/convertUnixToUtc.d.ts +9 -4
  651. package/dist/unix/convert/convertUnixToUtc.js +3 -4
  652. package/dist/unix/convert/convertUnixToZoned.d.ts +14 -5
  653. package/dist/unix/convert/convertUnixToZoned.js +8 -5
  654. package/dist/unix/format/formatCalendarUnix.d.ts +31 -19
  655. package/dist/unix/format/formatCalendarUnix.js +10 -6
  656. package/dist/unix/format/formatRelativeUnix.d.ts +62 -5
  657. package/dist/unix/format/formatRelativeUnix.js +16 -10
  658. package/dist/unix/format/formatUnix.d.ts +29 -6
  659. package/dist/unix/format/formatUnix.js +12 -7
  660. package/dist/unix/get/getUnixDay.d.ts +1 -3
  661. package/dist/unix/get/getUnixDay.js +5 -12
  662. package/dist/unix/get/getUnixHour.d.ts +1 -3
  663. package/dist/unix/get/getUnixHour.js +5 -12
  664. package/dist/unix/get/getUnixMicrosecond.d.ts +1 -3
  665. package/dist/unix/get/getUnixMicrosecond.js +4 -11
  666. package/dist/unix/get/getUnixMillisecond.d.ts +1 -3
  667. package/dist/unix/get/getUnixMillisecond.js +5 -12
  668. package/dist/unix/get/getUnixMinute.d.ts +1 -3
  669. package/dist/unix/get/getUnixMinute.js +5 -12
  670. package/dist/unix/get/getUnixMonth.d.ts +1 -3
  671. package/dist/unix/get/getUnixMonth.js +5 -12
  672. package/dist/unix/get/getUnixNanosecond.d.ts +1 -3
  673. package/dist/unix/get/getUnixNanosecond.js +4 -11
  674. package/dist/unix/get/getUnixNow.d.ts +8 -3
  675. package/dist/unix/get/getUnixNow.js +1 -3
  676. package/dist/unix/get/getUnixNowUnit.d.ts +2 -0
  677. package/dist/unix/get/getUnixNowUnit.js +2 -0
  678. package/dist/unix/get/getUnixSecond.d.ts +1 -3
  679. package/dist/unix/get/getUnixSecond.js +5 -12
  680. package/dist/unix/get/getUnixYear.d.ts +3 -3
  681. package/dist/unix/get/getUnixYear.js +5 -12
  682. package/dist/unix/interval/intervalCountUnix.d.ts +23 -5
  683. package/dist/unix/interval/intervalCountUnix.js +9 -5
  684. package/dist/unix/interval/intervalDifferenceUnix.d.ts +6 -0
  685. package/dist/unix/interval/intervalDivideEquallyUnix.d.ts +18 -4
  686. package/dist/unix/interval/intervalDivideEquallyUnix.js +5 -4
  687. package/dist/unix/interval/intervalFromDurationUnix.d.ts +41 -5
  688. package/dist/unix/interval/intervalFromDurationUnix.js +18 -12
  689. package/dist/unix/interval/intervalIntersectionUnix.d.ts +6 -0
  690. package/dist/unix/interval/intervalLengthUnix.d.ts +24 -6
  691. package/dist/unix/interval/intervalLengthUnix.js +10 -6
  692. package/dist/unix/interval/intervalOverlappingDaysUnix.d.ts +21 -3
  693. package/dist/unix/interval/intervalOverlappingDaysUnix.js +11 -8
  694. package/dist/unix/interval/intervalSplitAtUnix.d.ts +8 -0
  695. package/dist/unix/interval/intervalSplitAtUnix.js +2 -0
  696. package/dist/unix/interval/intervalUnionUnix.d.ts +6 -0
  697. package/dist/unix/interval/intervalXorAllUnix.d.ts +6 -0
  698. package/dist/unix/interval/intervalXorUnix.d.ts +6 -0
  699. package/dist/unix/interval/mergeIntervalsUnix.d.ts +6 -0
  700. package/dist/unix/interval/splitIntervalByUnitUnix.d.ts +50 -11
  701. package/dist/unix/interval/splitIntervalByUnitUnix.js +33 -22
  702. package/dist/unix/parse/parseDateFromUnix.d.ts +15 -2
  703. package/dist/unix/parse/parseDateFromUnix.js +4 -5
  704. package/dist/unix/parse/parseDayFromUnix.d.ts +16 -2
  705. package/dist/unix/parse/parseDayFromUnix.js +2 -2
  706. package/dist/unix/parse/parseDayOfWeekFromUnix.d.ts +15 -1
  707. package/dist/unix/parse/parseDayOfWeekFromUnix.js +3 -3
  708. package/dist/unix/parse/parseHourFromUnix.d.ts +16 -2
  709. package/dist/unix/parse/parseHourFromUnix.js +2 -2
  710. package/dist/unix/parse/parseMicrosecondFromUnix.d.ts +16 -2
  711. package/dist/unix/parse/parseMicrosecondFromUnix.js +2 -2
  712. package/dist/unix/parse/parseMillisecondFromUnix.d.ts +16 -2
  713. package/dist/unix/parse/parseMillisecondFromUnix.js +2 -2
  714. package/dist/unix/parse/parseMinuteFromUnix.d.ts +16 -2
  715. package/dist/unix/parse/parseMinuteFromUnix.js +2 -2
  716. package/dist/unix/parse/parseMonthFromUnix.d.ts +16 -2
  717. package/dist/unix/parse/parseMonthFromUnix.js +2 -2
  718. package/dist/unix/parse/parseNanosecondFromUnix.d.ts +16 -2
  719. package/dist/unix/parse/parseNanosecondFromUnix.js +2 -2
  720. package/dist/unix/parse/parseSecondFromUnix.d.ts +16 -2
  721. package/dist/unix/parse/parseSecondFromUnix.js +2 -2
  722. package/dist/unix/parse/parseTimeFromUnix.d.ts +16 -2
  723. package/dist/unix/parse/parseTimeFromUnix.js +5 -5
  724. package/dist/unix/parse/parseUnitFromUnix.d.ts +29 -4
  725. package/dist/unix/parse/parseUnitFromUnix.js +23 -17
  726. package/dist/unix/parse/parseWeekFromUnix.d.ts +24 -7
  727. package/dist/unix/parse/parseWeekFromUnix.js +7 -11
  728. package/dist/unix/parse/parseYearFromUnix.d.ts +20 -3
  729. package/dist/unix/parse/parseYearFromUnix.js +6 -3
  730. package/dist/unix/validate/isValidUnixRange.d.ts +20 -4
  731. package/dist/unix/validate/isValidUnixRange.js +1 -4
  732. package/dist/unix/validate/isValidUnixUnit.d.ts +1 -1
  733. package/dist/utc/calculate/addUtc.d.ts +7 -4
  734. package/dist/utc/calculate/addUtc.js +5 -11
  735. package/dist/utc/calculate/diffUtc.d.ts +1 -1
  736. package/dist/utc/calculate/diffUtc.js +1 -1
  737. package/dist/utc/calculate/diffUtcAsDuration.d.ts +1 -1
  738. package/dist/utc/calculate/diffUtcAsDuration.js +1 -1
  739. package/dist/utc/calculate/endOfUtc.d.ts +16 -3
  740. package/dist/utc/calculate/endOfUtc.js +2 -3
  741. package/dist/utc/calculate/isBetweenUtc.d.ts +13 -2
  742. package/dist/utc/calculate/isBetweenUtc.js +4 -4
  743. package/dist/utc/calculate/roundUtc.d.ts +26 -9
  744. package/dist/utc/calculate/roundUtc.js +3 -12
  745. package/dist/utc/calculate/setUtc.d.ts +23 -7
  746. package/dist/utc/calculate/setUtc.js +23 -12
  747. package/dist/utc/calculate/startOfUtc.d.ts +15 -2
  748. package/dist/utc/calculate/startOfUtc.js +1 -2
  749. package/dist/utc/calculate/subtractUtc.d.ts +7 -4
  750. package/dist/utc/calculate/subtractUtc.js +5 -11
  751. package/dist/utc/compare/areUtcEqualBy.d.ts +9 -3
  752. package/dist/utc/compare/areUtcEqualBy.js +2 -3
  753. package/dist/utc/convert/convertUtcToPlainDate.d.ts +14 -3
  754. package/dist/utc/convert/convertUtcToPlainDate.js +12 -10
  755. package/dist/utc/convert/convertUtcToPlainDateTime.d.ts +15 -3
  756. package/dist/utc/convert/convertUtcToPlainDateTime.js +14 -16
  757. package/dist/utc/convert/convertUtcToPlainTime.d.ts +11 -3
  758. package/dist/utc/convert/convertUtcToPlainTime.js +9 -9
  759. package/dist/utc/convert/convertUtcToUnix.d.ts +9 -4
  760. package/dist/utc/convert/convertUtcToUnix.js +3 -4
  761. package/dist/utc/convert/convertUtcToZoned.d.ts +5 -1
  762. package/dist/utc/convert/convertUtcToZoned.js +5 -1
  763. package/dist/utc/format/formatCalendarUtc.d.ts +23 -8
  764. package/dist/utc/format/formatCalendarUtc.js +14 -7
  765. package/dist/utc/format/{formatHttp.d.ts → formatHttpDate.d.ts} +8 -8
  766. package/dist/utc/format/{formatHttp.js → formatHttpDate.js} +8 -8
  767. package/dist/utc/format/formatRelativeUtc.d.ts +38 -10
  768. package/dist/utc/format/formatRelativeUtc.js +22 -16
  769. package/dist/utc/format/formatUtc.d.ts +22 -15
  770. package/dist/utc/format/formatUtc.js +12 -8
  771. package/dist/utc/format/index.d.ts +1 -1
  772. package/dist/utc/format/index.js +1 -1
  773. package/dist/utc/get/getUtcDay.d.ts +1 -3
  774. package/dist/utc/get/getUtcDay.js +5 -12
  775. package/dist/utc/get/getUtcHour.d.ts +1 -3
  776. package/dist/utc/get/getUtcHour.js +5 -12
  777. package/dist/utc/get/getUtcMicrosecond.d.ts +1 -3
  778. package/dist/utc/get/getUtcMicrosecond.js +4 -11
  779. package/dist/utc/get/getUtcMillisecond.d.ts +1 -3
  780. package/dist/utc/get/getUtcMillisecond.js +5 -12
  781. package/dist/utc/get/getUtcMinute.d.ts +1 -3
  782. package/dist/utc/get/getUtcMinute.js +5 -12
  783. package/dist/utc/get/getUtcMonth.d.ts +1 -3
  784. package/dist/utc/get/getUtcMonth.js +5 -12
  785. package/dist/utc/get/getUtcNanosecond.d.ts +1 -3
  786. package/dist/utc/get/getUtcNanosecond.js +4 -11
  787. package/dist/utc/get/getUtcNow.d.ts +1 -3
  788. package/dist/utc/get/getUtcNow.js +2 -9
  789. package/dist/utc/get/getUtcNowUnit.d.ts +2 -0
  790. package/dist/utc/get/getUtcNowUnit.js +2 -0
  791. package/dist/utc/get/getUtcSecond.d.ts +1 -3
  792. package/dist/utc/get/getUtcSecond.js +5 -12
  793. package/dist/utc/get/getUtcYear.d.ts +3 -3
  794. package/dist/utc/get/getUtcYear.js +5 -12
  795. package/dist/utc/interval/intervalDifferenceUtc.d.ts +6 -0
  796. package/dist/utc/interval/intervalDivideEquallyUtc.d.ts +18 -4
  797. package/dist/utc/interval/intervalDivideEquallyUtc.js +5 -4
  798. package/dist/utc/interval/intervalFromDurationUtc.d.ts +13 -3
  799. package/dist/utc/interval/intervalFromDurationUtc.js +1 -3
  800. package/dist/utc/interval/intervalIntersectionUtc.d.ts +6 -0
  801. package/dist/utc/interval/intervalSplitAtUtc.d.ts +8 -0
  802. package/dist/utc/interval/intervalSplitAtUtc.js +2 -0
  803. package/dist/utc/interval/intervalUnionUtc.d.ts +6 -0
  804. package/dist/utc/interval/intervalXorAllUtc.d.ts +6 -0
  805. package/dist/utc/interval/intervalXorAllUtc.js +2 -2
  806. package/dist/utc/interval/intervalXorUtc.d.ts +6 -0
  807. package/dist/utc/interval/mergeIntervalsUtc.d.ts +6 -0
  808. package/dist/utc/interval/mergeIntervalsUtc.js +2 -2
  809. package/dist/utc/interval/splitIntervalByUnitUtc.d.ts +19 -6
  810. package/dist/utc/interval/splitIntervalByUnitUtc.js +6 -6
  811. package/dist/utc/parse/index.d.ts +1 -1
  812. package/dist/utc/parse/index.js +1 -1
  813. package/dist/utc/parse/parseDateFromUtc.d.ts +9 -3
  814. package/dist/utc/parse/parseDateFromUtc.js +3 -5
  815. package/dist/utc/parse/parseDayFromUtc.d.ts +9 -3
  816. package/dist/utc/parse/parseDayFromUtc.js +3 -5
  817. package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +9 -3
  818. package/dist/utc/parse/parseDayOfWeekFromUtc.js +5 -7
  819. package/dist/utc/parse/parseHourFromUtc.d.ts +9 -3
  820. package/dist/utc/parse/parseHourFromUtc.js +3 -5
  821. package/dist/utc/parse/{parseHttp.d.ts → parseHttpDate.d.ts} +12 -12
  822. package/dist/utc/parse/{parseHttp.js → parseHttpDate.js} +12 -12
  823. package/dist/utc/parse/parseMicrosecondFromUtc.d.ts +9 -3
  824. package/dist/utc/parse/parseMicrosecondFromUtc.js +3 -5
  825. package/dist/utc/parse/parseMillisecondFromUtc.d.ts +9 -3
  826. package/dist/utc/parse/parseMillisecondFromUtc.js +3 -5
  827. package/dist/utc/parse/parseMinuteFromUtc.d.ts +9 -3
  828. package/dist/utc/parse/parseMinuteFromUtc.js +3 -5
  829. package/dist/utc/parse/parseMonthFromUtc.d.ts +9 -3
  830. package/dist/utc/parse/parseMonthFromUtc.js +3 -5
  831. package/dist/utc/parse/parseNanosecondFromUtc.d.ts +9 -3
  832. package/dist/utc/parse/parseNanosecondFromUtc.js +3 -5
  833. package/dist/utc/parse/parseSecondFromUtc.d.ts +9 -3
  834. package/dist/utc/parse/parseSecondFromUtc.js +3 -5
  835. package/dist/utc/parse/parseTimeFromUtc.d.ts +11 -3
  836. package/dist/utc/parse/parseTimeFromUtc.js +7 -7
  837. package/dist/utc/parse/parseUnitFromUtc.d.ts +25 -6
  838. package/dist/utc/parse/parseUnitFromUtc.js +14 -10
  839. package/dist/utc/parse/parseWeekFromUtc.d.ts +20 -10
  840. package/dist/utc/parse/parseWeekFromUtc.js +8 -14
  841. package/dist/utc/parse/parseYearFromUtc.d.ts +13 -5
  842. package/dist/utc/parse/parseYearFromUtc.js +9 -8
  843. package/dist/utc/validate/index.d.ts +2 -0
  844. package/dist/utc/validate/index.js +2 -0
  845. package/dist/utc/validate/isValidHttpDate.d.ts +35 -0
  846. package/dist/utc/validate/isValidHttpDate.js +38 -0
  847. package/dist/utc/validate/isValidUtc.d.ts +4 -0
  848. package/dist/utc/validate/isValidUtc.js +4 -0
  849. package/dist/utc/validate/isValidUtcRange.d.ts +16 -5
  850. package/dist/utc/validate/isValidUtcRange.js +2 -5
  851. package/dist/utc/validate/isValidUtcTimestamp.d.ts +43 -0
  852. package/dist/utc/validate/isValidUtcTimestamp.js +48 -0
  853. package/dist/zoned/calculate/addZoned.d.ts +20 -10
  854. package/dist/zoned/calculate/addZoned.js +10 -20
  855. package/dist/zoned/calculate/cycleZoned.d.ts +33 -8
  856. package/dist/zoned/calculate/cycleZoned.js +1 -8
  857. package/dist/zoned/calculate/diffZoned.d.ts +1 -1
  858. package/dist/zoned/calculate/diffZoned.js +1 -1
  859. package/dist/zoned/calculate/diffZonedAsDuration.d.ts +1 -1
  860. package/dist/zoned/calculate/diffZonedAsDuration.js +1 -1
  861. package/dist/zoned/calculate/endOfQuarterForZoned.d.ts +9 -2
  862. package/dist/zoned/calculate/endOfQuarterForZoned.js +4 -5
  863. package/dist/zoned/calculate/endOfZoned.d.ts +16 -3
  864. package/dist/zoned/calculate/endOfZoned.js +2 -3
  865. package/dist/zoned/calculate/getLocaleZonedEndOfWeek.d.ts +10 -3
  866. package/dist/zoned/calculate/getLocaleZonedEndOfWeek.js +5 -6
  867. package/dist/zoned/calculate/getLocaleZonedStartOfWeek.d.ts +7 -1
  868. package/dist/zoned/calculate/getLocaleZonedStartOfWeek.js +3 -4
  869. package/dist/zoned/calculate/roundZoned.d.ts +21 -4
  870. package/dist/zoned/calculate/roundZoned.js +3 -7
  871. package/dist/zoned/calculate/setZoned.d.ts +44 -13
  872. package/dist/zoned/calculate/setZoned.js +30 -21
  873. package/dist/zoned/calculate/startOfQuarterForZoned.d.ts +7 -2
  874. package/dist/zoned/calculate/startOfQuarterForZoned.js +3 -5
  875. package/dist/zoned/calculate/startOfZoned.d.ts +15 -3
  876. package/dist/zoned/calculate/startOfZoned.js +1 -3
  877. package/dist/zoned/calculate/subtractZoned.d.ts +20 -10
  878. package/dist/zoned/calculate/subtractZoned.js +10 -20
  879. package/dist/zoned/compare/areZonedEqualBy.d.ts +14 -5
  880. package/dist/zoned/compare/areZonedEqualBy.js +7 -5
  881. package/dist/zoned/compare/isBetweenZoned.d.ts +13 -1
  882. package/dist/zoned/compare/isBetweenZoned.js +4 -3
  883. package/dist/zoned/compare/isInDaylightSaving.d.ts +38 -11
  884. package/dist/zoned/compare/isInDaylightSaving.js +40 -44
  885. package/dist/zoned/convert/convertPlainDateTimeToZoned.d.ts +21 -5
  886. package/dist/zoned/convert/convertPlainDateTimeToZoned.js +9 -11
  887. package/dist/zoned/convert/convertZonedToUnix.d.ts +9 -4
  888. package/dist/zoned/convert/convertZonedToUnix.js +2 -4
  889. package/dist/zoned/convert/convertZonedToZoned.d.ts +5 -1
  890. package/dist/zoned/convert/convertZonedToZoned.js +5 -1
  891. package/dist/zoned/format/formatCalendarZoned.d.ts +18 -12
  892. package/dist/zoned/format/formatCalendarZoned.js +15 -10
  893. package/dist/zoned/format/formatRelativeZoned.d.ts +41 -12
  894. package/dist/zoned/format/formatRelativeZoned.js +9 -5
  895. package/dist/zoned/format/formatRfc2822.d.ts +2 -2
  896. package/dist/zoned/format/formatRfc2822.js +2 -2
  897. package/dist/zoned/format/formatRfc3339.d.ts +2 -3
  898. package/dist/zoned/format/formatRfc3339.js +2 -3
  899. package/dist/zoned/format/formatTimeZoneName.d.ts +16 -3
  900. package/dist/zoned/format/formatTimeZoneName.js +9 -4
  901. package/dist/zoned/format/formatZonedDateTime.js +2 -1
  902. package/dist/zoned/format/formatZonedRange.js +2 -1
  903. package/dist/zoned/format/formatZonedToParts.d.ts +15 -4
  904. package/dist/zoned/format/formatZonedToParts.js +8 -5
  905. package/dist/zoned/get/getDstTransitions.d.ts +11 -10
  906. package/dist/zoned/get/getDstTransitions.js +21 -7
  907. package/dist/zoned/get/getSystemTimeZone.d.ts +3 -1
  908. package/dist/zoned/get/getSystemTimeZone.js +5 -2
  909. package/dist/zoned/get/getTimeZoneOffset.d.ts +13 -2
  910. package/dist/zoned/get/getTimeZoneOffset.js +22 -6
  911. package/dist/zoned/get/getZonedDay.d.ts +2 -1
  912. package/dist/zoned/get/getZonedDay.js +6 -7
  913. package/dist/zoned/get/getZonedDayOfWeek.d.ts +2 -1
  914. package/dist/zoned/get/getZonedDayOfWeek.js +6 -5
  915. package/dist/zoned/get/getZonedHour.d.ts +2 -1
  916. package/dist/zoned/get/getZonedHour.js +6 -7
  917. package/dist/zoned/get/getZonedMicrosecond.d.ts +2 -1
  918. package/dist/zoned/get/getZonedMicrosecond.js +6 -5
  919. package/dist/zoned/get/getZonedMillisecond.d.ts +2 -1
  920. package/dist/zoned/get/getZonedMillisecond.js +6 -7
  921. package/dist/zoned/get/getZonedMinute.d.ts +2 -1
  922. package/dist/zoned/get/getZonedMinute.js +6 -7
  923. package/dist/zoned/get/getZonedMonth.d.ts +2 -1
  924. package/dist/zoned/get/getZonedMonth.js +6 -7
  925. package/dist/zoned/get/getZonedNanosecond.d.ts +2 -1
  926. package/dist/zoned/get/getZonedNanosecond.js +6 -5
  927. package/dist/zoned/get/getZonedNow.d.ts +18 -2
  928. package/dist/zoned/get/getZonedNow.js +17 -4
  929. package/dist/zoned/get/getZonedNowUnit.d.ts +6 -3
  930. package/dist/zoned/get/getZonedNowUnit.js +10 -7
  931. package/dist/zoned/get/getZonedSecond.d.ts +2 -1
  932. package/dist/zoned/get/getZonedSecond.js +6 -7
  933. package/dist/zoned/get/getZonedToday.d.ts +2 -1
  934. package/dist/zoned/get/getZonedToday.js +6 -5
  935. package/dist/zoned/get/getZonedWeekOfYear.d.ts +2 -1
  936. package/dist/zoned/get/getZonedWeekOfYear.js +6 -5
  937. package/dist/zoned/get/getZonedYear.d.ts +4 -1
  938. package/dist/zoned/get/getZonedYear.js +9 -7
  939. package/dist/zoned/interval/intervalDifferenceZoned.d.ts +9 -0
  940. package/dist/zoned/interval/intervalDivideEquallyZoned.d.ts +22 -4
  941. package/dist/zoned/interval/intervalDivideEquallyZoned.js +6 -4
  942. package/dist/zoned/interval/intervalFromDurationZoned.d.ts +29 -10
  943. package/dist/zoned/interval/intervalFromDurationZoned.js +6 -13
  944. package/dist/zoned/interval/intervalIntersectionZoned.d.ts +9 -0
  945. package/dist/zoned/interval/intervalSplitAtZoned.d.ts +11 -0
  946. package/dist/zoned/interval/intervalSplitAtZoned.js +2 -0
  947. package/dist/zoned/interval/intervalUnionZoned.d.ts +9 -0
  948. package/dist/zoned/interval/intervalXorAllZoned.d.ts +9 -0
  949. package/dist/zoned/interval/intervalXorAllZoned.js +2 -2
  950. package/dist/zoned/interval/intervalXorZoned.d.ts +9 -0
  951. package/dist/zoned/interval/mergeIntervalsZoned.d.ts +9 -0
  952. package/dist/zoned/interval/mergeIntervalsZoned.js +2 -2
  953. package/dist/zoned/interval/splitIntervalByUnitZoned.d.ts +27 -6
  954. package/dist/zoned/interval/splitIntervalByUnitZoned.js +11 -6
  955. package/dist/zoned/map/mapZonedDatesInRange.d.ts +9 -4
  956. package/dist/zoned/map/mapZonedDatesInRange.js +2 -4
  957. package/dist/zoned/parse/parseRfc2822.d.ts +1 -1
  958. package/dist/zoned/parse/parseRfc2822.js +1 -1
  959. package/dist/zoned/parse/parseUnitFromZoned.d.ts +13 -4
  960. package/dist/zoned/parse/parseUnitFromZoned.js +6 -4
  961. package/dist/zoned/parse/parseWeekFromZoned.d.ts +10 -3
  962. package/dist/zoned/parse/parseWeekFromZoned.js +2 -3
  963. package/dist/zoned/parse/parseYearFromZoned.d.ts +4 -2
  964. package/dist/zoned/parse/parseYearFromZoned.js +6 -3
  965. package/dist/zoned/validate/hasDaylightSaving.d.ts +45 -12
  966. package/dist/zoned/validate/hasDaylightSaving.js +54 -32
  967. package/dist/zoned/validate/index.d.ts +2 -0
  968. package/dist/zoned/validate/index.js +2 -0
  969. package/dist/zoned/validate/isValidRfc2822DateTime.d.ts +32 -0
  970. package/dist/zoned/validate/isValidRfc2822DateTime.js +35 -0
  971. package/dist/zoned/validate/isValidRfc3339DateTime.d.ts +31 -0
  972. package/dist/zoned/validate/isValidRfc3339DateTime.js +34 -0
  973. package/dist/zoned/validate/isValidTimeZone.d.ts +5 -1
  974. package/dist/zoned/validate/isValidTimeZone.js +6 -2
  975. package/dist/zoned/validate/isValidZonedDateTime.d.ts +13 -0
  976. package/dist/zoned/validate/isValidZonedDateTime.js +14 -1
  977. package/dist/zoned/validate/isValidZonedRange.d.ts +15 -4
  978. package/dist/zoned/validate/isValidZonedRange.js +1 -4
  979. package/package.json +67 -5
  980. package/skills/gmt-arithmetic/SKILL.md +99 -12
  981. package/skills/gmt-basics/SKILL.md +64 -13
  982. package/skills/gmt-integration/SKILL.md +33 -13
  983. package/skills/gmt-timezone/SKILL.md +265 -31
  984. package/dist/duration/calculate/durationAs.d.ts +0 -62
  985. package/dist/internal/resolveReadingTimeZone.d.ts +0 -11
  986. package/dist/internal/resolveReadingTimeZone.js +0 -18
  987. package/dist/internal/unixZonedDateTime.d.ts +0 -22
  988. package/dist/internal/unixZonedDateTime.js +0 -32
  989. package/dist/internal/utcZonedDateTime.d.ts +0 -16
  990. package/dist/internal/utcZonedDateTime.js +0 -28
  991. package/dist/types/duration-unit.d.ts +0 -5
  992. /package/dist/types/{duration-unit.js → duty.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.19.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
  ],
@@ -79,18 +81,39 @@
79
81
  "duration/validate": [
80
82
  "./dist/duration/validate/index.d.ts"
81
83
  ],
84
+ "duty": [
85
+ "./dist/duty/index.d.ts"
86
+ ],
87
+ "duty/calculate": [
88
+ "./dist/duty/calculate/index.d.ts"
89
+ ],
90
+ "duty/validate": [
91
+ "./dist/duty/validate/index.d.ts"
92
+ ],
82
93
  "instant": [
83
94
  "./dist/instant/index.d.ts"
84
95
  ],
85
96
  "instant/convert": [
86
97
  "./dist/instant/convert/index.d.ts"
87
98
  ],
99
+ "instant/validate": [
100
+ "./dist/instant/validate/index.d.ts"
101
+ ],
88
102
  "intermodal": [
89
103
  "./dist/intermodal/index.d.ts"
90
104
  ],
91
105
  "intermodal/calculate": [
92
106
  "./dist/intermodal/calculate/index.d.ts"
93
107
  ],
108
+ "intermodal/format": [
109
+ "./dist/intermodal/format/index.d.ts"
110
+ ],
111
+ "intermodal/parse": [
112
+ "./dist/intermodal/parse/index.d.ts"
113
+ ],
114
+ "intermodal/validate": [
115
+ "./dist/intermodal/validate/index.d.ts"
116
+ ],
94
117
  "interval": [
95
118
  "./dist/interval/index.d.ts"
96
119
  ],
@@ -175,6 +198,9 @@
175
198
  "transport/calculate": [
176
199
  "./dist/transport/calculate/index.d.ts"
177
200
  ],
201
+ "transport/compare": [
202
+ "./dist/transport/compare/index.d.ts"
203
+ ],
178
204
  "transport/convert": [
179
205
  "./dist/transport/convert/index.d.ts"
180
206
  ],
@@ -290,6 +316,10 @@
290
316
  "types": "./dist/calendar/calculate/index.d.ts",
291
317
  "default": "./dist/calendar/calculate/index.js"
292
318
  },
319
+ "./calendar/hours": {
320
+ "types": "./dist/calendar/hours/index.d.ts",
321
+ "default": "./dist/calendar/hours/index.js"
322
+ },
293
323
  "./calendar/validate": {
294
324
  "types": "./dist/calendar/validate/index.d.ts",
295
325
  "default": "./dist/calendar/validate/index.js"
@@ -322,6 +352,18 @@
322
352
  "types": "./dist/duration/validate/index.d.ts",
323
353
  "default": "./dist/duration/validate/index.js"
324
354
  },
355
+ "./duty": {
356
+ "types": "./dist/duty/index.d.ts",
357
+ "default": "./dist/duty/index.js"
358
+ },
359
+ "./duty/calculate": {
360
+ "types": "./dist/duty/calculate/index.d.ts",
361
+ "default": "./dist/duty/calculate/index.js"
362
+ },
363
+ "./duty/validate": {
364
+ "types": "./dist/duty/validate/index.d.ts",
365
+ "default": "./dist/duty/validate/index.js"
366
+ },
325
367
  "./instant": {
326
368
  "types": "./dist/instant/index.d.ts",
327
369
  "default": "./dist/instant/index.js"
@@ -330,6 +372,10 @@
330
372
  "types": "./dist/instant/convert/index.d.ts",
331
373
  "default": "./dist/instant/convert/index.js"
332
374
  },
375
+ "./instant/validate": {
376
+ "types": "./dist/instant/validate/index.d.ts",
377
+ "default": "./dist/instant/validate/index.js"
378
+ },
333
379
  "./intermodal": {
334
380
  "types": "./dist/intermodal/index.d.ts",
335
381
  "default": "./dist/intermodal/index.js"
@@ -338,6 +384,18 @@
338
384
  "types": "./dist/intermodal/calculate/index.d.ts",
339
385
  "default": "./dist/intermodal/calculate/index.js"
340
386
  },
387
+ "./intermodal/format": {
388
+ "types": "./dist/intermodal/format/index.d.ts",
389
+ "default": "./dist/intermodal/format/index.js"
390
+ },
391
+ "./intermodal/parse": {
392
+ "types": "./dist/intermodal/parse/index.d.ts",
393
+ "default": "./dist/intermodal/parse/index.js"
394
+ },
395
+ "./intermodal/validate": {
396
+ "types": "./dist/intermodal/validate/index.d.ts",
397
+ "default": "./dist/intermodal/validate/index.js"
398
+ },
341
399
  "./interval": {
342
400
  "types": "./dist/interval/index.d.ts",
343
401
  "default": "./dist/interval/index.js"
@@ -450,6 +508,10 @@
450
508
  "types": "./dist/transport/calculate/index.d.ts",
451
509
  "default": "./dist/transport/calculate/index.js"
452
510
  },
511
+ "./transport/compare": {
512
+ "types": "./dist/transport/compare/index.d.ts",
513
+ "default": "./dist/transport/compare/index.js"
514
+ },
453
515
  "./transport/convert": {
454
516
  "types": "./dist/transport/convert/index.d.ts",
455
517
  "default": "./dist/transport/convert/index.js"
@@ -11,12 +11,18 @@ description: >
11
11
  (BusinessCalendar, RollConvention, isBusinessDay, addBusinessDays,
12
12
  subtractBusinessDays, businessDaysBetween, nextBusinessDay,
13
13
  previousBusinessDay, rollDate, mergeCalendars), overflow "constrain" month-end
14
- clamping, splitIntervalByUnit* stepping from the anchor, maxPieces limits,
14
+ clamping, splitIntervalByUnit* anchor stepping, maxPieces limits,
15
15
  intervalCount* matching bucketRange, RFC 9557 calendar strings, and the
16
- correct-at-the-edges guarantees at the first and last representable instant. A
17
- routing pointer, not an API dump.
16
+ correct-at-the-edges guarantees at the representable limits, and hours-of-work
17
+ rules over a duty log (evaluateDutyLog, dutyViolations, dutyDayFor).
18
18
  sources:
19
- - 'northguild/gmt:README.md'
19
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/plain-arithmetic.mdx'
20
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/durations.mdx'
21
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/spans.mdx'
22
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/business-calendars.mdx'
23
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/calendar-systems.mdx'
24
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/intervals/*.mdx'
25
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/concepts/correct-at-the-edges.mdx'
20
26
  - 'northguild/gmt:packages/gmt/src/plain/calculate/index.ts'
21
27
  - 'northguild/gmt:packages/gmt/src/duration/index.ts'
22
28
  - 'northguild/gmt:packages/gmt/src/interval/index.ts'
@@ -29,10 +35,12 @@ sources:
29
35
  - 'northguild/gmt:packages/gmt/src/calendar/business/index.ts'
30
36
  - 'northguild/gmt:packages/gmt/src/types/business-calendar.ts'
31
37
  - 'northguild/gmt:packages/gmt/src/types/roll-convention.ts'
38
+ - 'northguild/gmt:packages/gmt/src/duty/index.ts'
39
+ - 'northguild/gmt:packages/gmt/src/types/duty.ts'
32
40
  metadata:
33
41
  type: core
34
42
  library: '@northguild/gmt'
35
- library_version: '1.17.0'
43
+ library_version: '1.19.0'
36
44
  ---
37
45
 
38
46
  # GMT Arithmetic
@@ -53,12 +61,40 @@ and full interval set operations.
53
61
  these windows?".
54
62
  - The user is measuring elapsed time — a profile, a trace span, a sensor
55
63
  interval — and wants milliseconds or nanoseconds rather than a `Duration`.
64
+ - The user checks hours of work against rules: driving or duty caps, rest in
65
+ every 24 hours, a free day in seven, a monthly record of violations.
56
66
 
57
67
  ## Core rules
58
68
 
59
69
  1. **`add*` takes a `{ unit: number }` object, not an ISO duration string.**
60
70
  `addDate("2024-03-15", { days: 5 })` works; `addDate("2024-03-15", "P5D")`
61
71
  returns `""`. Use `diffDateAsDuration` / `addDuration` for duration strings.
72
+ An amount has those two shapes, and each function takes one of them:
73
+ - **A unit object is checked the same way everywhere.** A unit outside the
74
+ function's set returns the sentinel: `addDate` takes years to days,
75
+ `addTime` hours to nanoseconds. So does an own key that is no unit name,
76
+ and an amount that is not a whole finite number. A unit set to `undefined`
77
+ is absent, as Temporal reads it.
78
+ - **`durationFromUnits` is the bridge from the object to the string.** It
79
+ takes all ten units and carries nothing into a larger unit. Seconds and
80
+ smaller are written as one decimal number of seconds. Pass its result to
81
+ any function that takes a duration string.
82
+ - **`totalUnits` totals the object in one call.** It takes exact units only:
83
+ days down to nanoseconds, a day being 24 hours. A year, a month or a week
84
+ returns `null`, as a key and as the unit asked for.
85
+ - **`totalDuration` totals a duration string**, and takes `relativeTo` for a
86
+ calendar amount. To total `{ months: 1 }`, build the string with
87
+ `durationFromUnits` and pass it here.
88
+
89
+ ```typescript
90
+ durationFromUnits({ minutes: 15 }); // "PT15M"
91
+ durationFromUnits({ minutes: 90 }); // "PT90M" — not carried into hours
92
+ totalUnits({ minutes: 15 }, "seconds"); // 900
93
+ totalUnits({ weeks: 1 }, "days"); // null — write { days: 7 }
94
+ totalUnits("PT15M", "seconds"); // null — a duration string goes to totalDuration
95
+ totalDuration("PT36H", "days"); // 1.5
96
+ totalDuration(durationFromUnits({ months: 1 }), "days", { relativeTo: "2024-02-01" }); // 29
97
+ ```
62
98
  2. **Arithmetic clamps; parsers reject.** `overflow` defaults to `"constrain"`,
63
99
  Temporal's default: January 31 plus one month is February 29, and
64
100
  `addDate("2024-02-29", { years: 1 })` is `"2025-02-28"`. Pass
@@ -96,9 +132,10 @@ and full interval set operations.
96
132
  hour on its spring-forward counts 2 hours, and a range over `Pacific/Apia`'s
97
133
  deleted 30 December 2011 does not count that day. `intervalCountUnix` counts
98
134
  in `options.timeZone`, UTC by default (`"local"` for the system zone).
99
- 5. **Calendar units need `relativeTo`.** `durationAs`, `normalizeDuration`, and
135
+ 5. **Calendar units need `relativeTo`.** `totalDuration`, `normalizeDuration`, and
100
136
  `compareDurations` return `null`/`""` for year/month/week arithmetic without
101
- a `relativeTo` anchor — a month is not a fixed length. A calendar-annotated
137
+ a `relativeTo` anchor — a month is not a fixed length. `totalUnits` takes no
138
+ `relativeTo`, so it always returns `null` for those units. A calendar-annotated
102
139
  `relativeTo` is read as Temporal reads it: zoned when it has a time zone
103
140
  annotation, otherwise a date, and its calendar must be a `CalendarSystem`.
104
141
  - `round*` accept singular or plural `smallestUnit` names (`"hour"` or
@@ -213,9 +250,45 @@ and full interval set operations.
213
250
  survives only if it is a working day in every input, and returns `null` for an
214
251
  empty list. Narrow inputs with `isValidBusinessCalendar` /
215
252
  `isValidRollConvention`.
216
- 13. **Read the README.** This skill is a routing pointer. For full option shapes,
217
- locale matrices, and code examples, read the installed package's `README.md`
218
- and the source JSDoc of the function you intend to call.
253
+ 13. **Hours of work are rules over a duty log, and every number is the
254
+ caller's.** A log is `{ status, start, end }[]` in the caller's own status
255
+ words, ordered and non-overlapping (`isValidDutyLog`). A rule is one of 13
256
+ `DutyRule` kinds (`cumulativeCap`, `elapsedWindow`, `requiredInterruption`,
257
+ `rollingCap`, `fixedPeriodCap`, `restRequirement`, `freePeriod`,
258
+ `restBeforeDuty`, `quota`, `dueBy`, `pattern`, `occurrenceCap`,
259
+ `usageLookback`) with no default limit; GMT names no regulation.
260
+ `evaluateDutyLog(log, at, rules, { timeZone, dayStartTime?, disambiguation? })`
261
+ reports every rule at one instant; `dutyViolations` lists each violation in a
262
+ range once, by its worst window, in the range it began in.
263
+
264
+ ```typescript
265
+ evaluateDutyLog(log, "2024-01-01T21:30:00Z", [{ label: "11 driving", kind: "cumulativeCap",
266
+ statuses: ["driving"], cap: "PT11H", since: { statuses: ["off"], consecutive: "PT10H" } }],
267
+ { timeZone: "UTC" }).violations; // [{ label: "11 driving", used: "PT11H30M", limit: "PT11H", … }]
268
+ ```
269
+
270
+ - `{ elapsed: "PT24H" }` slides; `{ operatorDays }`, `{ calendarDays }`,
271
+ `{ isoWeeks }`, `{ calendarMonths }`, `{ calendarYears }` are whole local
272
+ periods in `timeZone` (28 calendar days across a fall-back are 673 hours).
273
+ - The operator day is `dutyDayFor(instant, { timeZone, dayStartTime })`,
274
+ never local midnight; a rule counting `operatorDays` needs `dayStartTime`.
275
+ - The log is read up to `at`; unlogged time is neither work nor rest. To
276
+ check a roster, append the plan and set `at` to its end.
277
+ - A paired rest is three floors (`PairSpec`), not two integers:
278
+ `qualifyingRestPairs`.
279
+ - A count of periods is 10,000 at most, alone or times `adjacent`,
280
+ `lookback` or `periods`. `fixedPeriodCap.period` and `occurrenceCap.per`
281
+ are a `LocalPeriod`: a count, never `elapsed`.
282
+ - `dutyViolations` reads only the time the log covers, and each check reads
283
+ the log as it stood then, so a record only grows as the log does.
284
+ - Nested caps are separate rules, reported separately.
285
+ 14. **Read the docs site.** This skill is a routing pointer. For full option
286
+ shapes, locale matrices, and code examples, read these:
287
+ - `https://gmt-dox.northguild.workers.dev/llms.txt` is the map of every docs page.
288
+ - Each page has a `.md` twin that holds its text, for example
289
+ `https://gmt-dox.northguild.workers.dev/guides/core-date-operations/plain-arithmetic.md`.
290
+ - The JSDoc of the function you intend to call ships in the installed
291
+ package: `node_modules/@northguild/gmt/dist/**/*.d.ts`.
219
292
 
220
293
  ## Key functions
221
294
 
@@ -231,9 +304,12 @@ and full interval set operations.
231
304
  `startOfQuarterForDate`, `getLocaleStartOfWeek` (zoned boundaries: see the
232
305
  `gmt-timezone` skill)
233
306
  - **Durations (ISO 8601)**: `isValidDuration`, `parseDuration`, `addDuration`,
234
- `subtractDuration`, `normalizeDuration`, `durationAs`, `formatDuration`,
307
+ `subtractDuration`, `normalizeDuration`, `totalDuration`, `formatDuration`,
235
308
  `negateDuration`, `absDuration`, `compareDurations`, `getDurationUnit`,
236
309
  `getDurationSign`
310
+ - **Unit objects (`{ unit: number }`)**: `durationFromUnits` (object to
311
+ duration string), `totalUnits` (object to one total), type
312
+ `ExactDurationUnit`
237
313
  - **Diff-to-duration bridge**: `diffDateAsDuration`,
238
314
  `diffZonedAsDuration`, `diffUnixAsDuration`, `diffUtcAsDuration`
239
315
  - **Interval algebra (half-open, instants)**: `isValidInterval`,
@@ -247,6 +323,11 @@ and full interval set operations.
247
323
  `intervalLengthDate`, `intervalDivideEquallyDate`, `mergeIntervalsDate` (each
248
324
  with `DateTime`/`Zoned`/`Unix`/`Utc` variants where the type supports it)
249
325
 
326
+ - **Hours of work**: `evaluateDutyLog`, `dutyViolations`, `dutyDayFor`,
327
+ `dutyTotals`, `longestRun`, `qualifyingRests`, `qualifyingRestPairs`,
328
+ `isValidDutyLog`, types `DutyEntry`, `DutyRule`, `Period`, `LocalPeriod`,
329
+ `DutyReport`
330
+
250
331
  ## Namespace selection
251
332
 
252
333
  - `plain/*` — timezone-free dates, times, datetimes
@@ -256,9 +337,15 @@ and full interval set operations.
256
337
  - `duration/*` — ISO 8601 duration strings
257
338
  - `span/*` — elapsed and wall-clock spans as raw numbers
258
339
  - `interval/*` — half-open interval algebra over instant strings
340
+ - `duty/*` — hours-of-work rules over a duty log
259
341
 
260
342
  ## References
261
343
 
262
- - [README — Quick Start](README.md)
344
+ - [Docs map for agents (llms.txt)](https://gmt-dox.northguild.workers.dev/llms.txt)
345
+ - [Plain arithmetic guide](https://gmt-dox.northguild.workers.dev/guides/core-date-operations/plain-arithmetic/)
346
+ - [Durations guide](https://gmt-dox.northguild.workers.dev/guides/core-date-operations/durations/)
347
+ - [Spans guide](https://gmt-dox.northguild.workers.dev/guides/core-date-operations/spans/)
348
+ - [Business calendars guide](https://gmt-dox.northguild.workers.dev/guides/core-date-operations/business-calendars/)
263
349
  - [Interval algebra reference](/reference/interval/calculate/intersectIntervals)
264
350
  - [Interval guides](/guides/intervals/interval-basics/)
351
+ - [Hours of work guide](https://gmt-dox.northguild.workers.dev/guides/intervals/hours-of-work/)
@@ -4,12 +4,19 @@ description: >
4
4
  Core date/time basics — get current values, parse components, read ISO week,
5
5
  ordinal, quarter and fiscal-period identifiers, format for display, format
6
6
  relative time, compare dates, and validate strings/timezones/intervals. Reads
7
- the installed package README.md and source JSDoc for API details; this skill
8
- is a routing pointer, not an API dump.
7
+ the docs site (llms.txt and each page's .md twin) and the installed package's
8
+ JSDoc for API details; this skill is a routing pointer, not an API dump.
9
9
  sources:
10
- - 'northguild/gmt:README.md'
10
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/get-current.mdx'
11
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/parsing.mdx'
12
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/formatting.mdx'
13
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/relative-time.mdx'
14
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/comparisons.mdx'
15
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/validation.mdx'
16
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/zoned-date-operations/calendar-boundaries.mdx'
11
17
  - 'northguild/gmt:packages/gmt/src/plain/get/index.ts'
12
18
  - 'northguild/gmt:packages/gmt/src/plain/parse/index.ts'
19
+ - 'northguild/gmt:packages/gmt/src/types/two-digit-year.ts'
13
20
  - 'northguild/gmt:packages/gmt/src/plain/format/index.ts'
14
21
  - 'northguild/gmt:packages/gmt/src/plain/locale/index.ts'
15
22
  - 'northguild/gmt:packages/gmt/src/plain/compare/index.ts'
@@ -17,6 +24,9 @@ sources:
17
24
  - 'northguild/gmt:packages/gmt/src/zoned/get/index.ts'
18
25
  - 'northguild/gmt:packages/gmt/src/zoned/format/index.ts'
19
26
  - 'northguild/gmt:packages/gmt/src/zoned/validate/index.ts'
27
+ - 'northguild/gmt:packages/gmt/src/zoned/parse/index.ts'
28
+ - 'northguild/gmt:packages/gmt/src/utc/parse/index.ts'
29
+ - 'northguild/gmt:packages/gmt/src/utc/validate/index.ts'
20
30
  - 'northguild/gmt:packages/gmt/src/unix/get/index.ts'
21
31
  - 'northguild/gmt:packages/gmt/src/utc/get/index.ts'
22
32
  - 'northguild/gmt:packages/gmt/src/calendar/calculate/index.ts'
@@ -24,7 +34,7 @@ sources:
24
34
  metadata:
25
35
  type: core
26
36
  library: '@northguild/gmt'
27
- library_version: '1.17.0'
37
+ library_version: '1.19.0'
28
38
  ---
29
39
 
30
40
  # GMT Basics
@@ -52,42 +62,81 @@ input before you act on it.
52
62
  `false` for booleans, `[]` for arrays. Always check before using. This holds
53
63
  for a `null` or wrong-typed argument too (`addDate(x, null)` is `""`), so a
54
64
  `try`/`catch` around a GMT call is dead code.
55
- 3. **Read the README.** This skill is a routing pointer. For full API
56
- signatures, locale matrices, and code examples, read the installed package's
57
- `README.md` and the source JSDoc of the function you intend to call.
65
+ 3. **Read the docs site.** This skill is a routing pointer. For full API
66
+ signatures, locale matrices, and code examples, read these:
67
+ - `https://gmt-dox.northguild.workers.dev/llms.txt` is the map of every docs page.
68
+ - Each page has a `.md` twin that holds its text, for example
69
+ `https://gmt-dox.northguild.workers.dev/guides/core-date-operations/parsing.md`.
70
+ - The JSDoc of the function you intend to call ships in the installed
71
+ package: `node_modules/@northguild/gmt/dist/**/*.d.ts`.
58
72
 
59
73
  ## Key functions
60
74
 
61
75
  - **Current values**: `getNow`, `getToday`, `getUtcNow`, `getUnixNow`,
62
76
  `getSystemTimeZone`, `getTimeZones`
63
77
  - **Parsing**: `parseYearFromDate`, `parseMonthFromDate`,
64
- `parseDateTimeWithPattern`, `parseRfc3339`, `parseHttp`, `parseSql`
78
+ `parseDateTimeWithPattern`, `parseRfc3339`, `parseRfc2822`,
79
+ `parseHttpDate`, `parseSqlDateTime`
65
80
  - **Calendar identifiers**: `getIsoWeekDate`, `getOrdinalDate`, `getQuarter`,
66
81
  `getFiscalPeriod`
67
82
  - **Formatting**: `formatDate`, `formatTime`, `formatDateTime`,
68
- `formatRelativeDate`, `formatCalendar`, `formatRfc3339`
83
+ `formatRelativeDate`, `formatCalendar`, `formatRfc3339`, `formatRfc2822`,
84
+ `formatHttpDate`, `formatSqlDateTime`
69
85
  - **Locale names**: `getLocaleMonthNames`, `getLocaleWeekdayNames`,
70
86
  `getLocaleMeridiems`, `getLocaleEraNames`
71
87
  - **Comparison**: `isAfterDate`, `isBeforeDate`, `areDatesEqual`,
72
88
  `areDatesEqualBy`, `isWeekend`, `isBusinessDay`, `nextWeekday`
73
89
  - **Validation**: `isValidDate`, `isValidTime`, `isValidTimeZone`,
74
90
  `isValidZonedDateTime`, `isValidDateInterval`, `isValidFiscalPattern`
91
+ - **Interchange-format validation**: `isValidRfc3339DateTime`,
92
+ `isValidRfc2822DateTime`, `isValidHttpDate`, `isValidSqlDateTime`
93
+ - **UTC timestamp validation**: `isValidUtcTimestamp` (a UTC instant written
94
+ `YYYY-MM-DDTHH:MM:SS[.f]Z` and nothing else; it has no parser)
75
95
 
76
96
  ## Common pitfalls
77
97
 
78
98
  - `formatRelative*` measure from now when `reference` is omitted, so the output
79
99
  changes from day to day. Pass `reference` whenever the result must be deterministic.
80
- - `parseDateWithPattern`, `parseRfc2822` and `parseHttp` return `""` on
100
+ `largestUnit` takes a singular or plural unit name (`"hour"` or `"hours"`) from the
101
+ units the function's values have: `formatRelativeDate` day to year, `formatRelativeTime`
102
+ second to hour, the others second to year. Any other unit returns `""`.
103
+ `roundingMethod` is `"floor"`, `"ceil"` or `"round"`: any other value returns `""`.
104
+ - In a `parse*WithPattern` pattern, `''` is one literal quote, inside or outside
105
+ quoted text (UTS #35), and not an empty separator: `"''yyyy-MM-dd''"` reads
106
+ `"'2024-01-15'"`. Write adjacent fields with nothing between them, as in `"yyyyMMdd"`.
107
+ - A `yy` token in a `parse*WithPattern` pattern needs the caller's hundred-year window:
108
+ `{ yearWindow: 2000 }` reads `"03/15/24"` against `"MM/dd/yy"` as `"2024-03-15"`, and
109
+ `"rolling"` is the hundred years around the current UTC year. A `yy` pattern with no
110
+ `yearWindow` returns `""`; a pattern with no `yy` never reads the option.
111
+ - `getZonedNow` reads `smallestUnit` only, and writes milliseconds when it is
112
+ omitted or `undefined`. The string always carries the offset and the zone.
113
+ - `parseDateWithPattern`, `parseRfc2822` and `parseHttpDate` return `""` on
81
114
  shape-valid-but-unreal dates such as 31 February (regex only proves shape;
82
115
  Temporal validates the real value). Parsers reject; only arithmetic clamps.
83
116
  - `parseRfc2822` reads everything RFC 5322 says a receiver must: comments,
84
117
  folding whitespace, any case, two-digit years and zone names such as `EST`
85
- (an unknown name reads as `+00:00`). `parseHttp` reads all three HTTP-date
118
+ (an unknown name reads as `+00:00`). `parseHttpDate` reads all three HTTP-date
86
119
  forms, including `rfc850-date` and `asctime-date`. Both return `""` when the
87
120
  day name contradicts the date (`"Sat, 15 Mar 2024 …"`), so do not synthesise
88
121
  a day name; omit it. The `rfc2822DateTime` and `httpDate` regexes stay strict
89
122
  and match only what GMT writes, so do not use them to pre-filter parser input.
90
- - `formatRfc2822`, `formatHttp` and `formatRfc3339` return `""` for a year their
123
+ - To check an interchange string, call its validator, not its regex.
124
+ `isValidRfc3339DateTime`, `isValidRfc2822DateTime`, `isValidHttpDate` and
125
+ `isValidSqlDateTime` are each true exactly when the parser returns a value.
126
+ A regex proves shape only: `rfc3339DateTime.test("2023-02-29T10:00:00Z")`
127
+ is `true` and `isValidRfc3339DateTime` returns `false` for it.
128
+ - `isValidUtcTimestamp` matches no parser: it is a narrower `isValidUtc`. It is true
129
+ only for a real UTC instant written `YYYY-MM-DDTHH:MM:SS[.f]Z`: a four-digit year
130
+ `0000` to `9999`, upper-case `T` and `Z`, seconds, an optional dot fraction of one to
131
+ nine digits, and nothing after the `Z`. Use it for a string headed for storage or for
132
+ a reader that is not Temporal. `isValidUtc` also accepts a time without seconds, a
133
+ comma before the fraction, an expanded `±YYYYYY` year and RFC 9557 annotations
134
+ (`"2026-10-06T12:00:00Z[Europe/Paris]"`); all four are `false` here. A numeric offset,
135
+ `+00:00` included, is `false` too: `isValidRfc3339DateTime` checks the whole RFC 3339
136
+ grammar, with the same two GMT limits (no second `60`, at most nine fraction digits).
137
+ The check is on the spelling and the instant. A reader's own range and precision
138
+ still apply.
139
+ - `formatRfc2822`, `formatHttpDate` and `formatRfc3339` return `""` for a year their
91
140
  grammar cannot hold (before 0000, or after 9999 for RFC 3339 and HTTP).
92
141
  `formatRfc3339` writes a sub-minute historical offset as the same instant at
93
142
  `+00:00`. Use Temporal's `toString()` when you need any year.
@@ -123,5 +172,7 @@ input before you act on it.
123
172
 
124
173
  ## References
125
174
 
126
- - [README — API Surface and Quick Start](README.md)
175
+ - [Docs map for agents (llms.txt)](https://gmt-dox.northguild.workers.dev/llms.txt)
176
+ - [API reference](https://gmt-dox.northguild.workers.dev/reference/)
177
+ - [Core date operations guides index](https://gmt-dox.northguild.workers.dev/guides/core-date-operations/)
127
178
  - [Core date operations guides](/guides/core-date-operations/get-current/)
@@ -4,11 +4,16 @@ description: >
4
4
  Application integration patterns — stable cache keys, router/query params,
5
5
  table-sort keys, nanosecond timestamps across JSON and storage boundaries,
6
6
  foreign epoch bridges (NTP, FILETIME, .NET ticks, Excel, PostgreSQL), and lint
7
- package selection (ESLint, Biome, Oxlint). Reads the installed package
8
- README.md and lint-package READMEs for API details; this skill is a routing
9
- pointer, not an API dump.
7
+ package selection (ESLint, Biome, Oxlint). Reads the docs site (llms.txt and
8
+ each page's .md twin) and the installed package's JSDoc for API details, and
9
+ the lint-package READMEs for lint setup; this skill is a routing pointer, not
10
+ an API dump.
10
11
  sources:
11
- - 'northguild/gmt:README.md'
12
+ - 'northguild/gmt:apps/dox/src/content/docs/install.mdx'
13
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/integration/app-integration.mdx'
14
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/integration/linting.mdx'
15
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/nanosecond-precision.mdx'
16
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/conversion/foreign-epoch-bridges.mdx'
12
17
  - 'northguild/gmt:packages/gmt/src/zoned/validate/index.ts'
13
18
  - 'northguild/gmt:packages/gmt/src/precision/convert/index.ts'
14
19
  - 'northguild/gmt:packages/gmt/src/precision/format/index.ts'
@@ -17,7 +22,7 @@ sources:
17
22
  metadata:
18
23
  type: composition
19
24
  library: '@northguild/gmt'
20
- library_version: '1.17.0'
25
+ library_version: '1.19.0'
21
26
  ---
22
27
 
23
28
  # GMT Integration
@@ -48,8 +53,11 @@ which lint package to install for Date-ban enforcement.
48
53
  `convertUtcToUnix(value, { epochUnit: "seconds" })` rather than
49
54
  dividing/multiplying by hand. An `epochUnit` option must be `"seconds"` or
50
55
  `"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
56
+ instead of being read as milliseconds. `unix/` and `utc/` read zone-dependent
57
+ fields in UTC unless you pass `timeZone` (`"local"` for the system zone); that
58
+ holds for the `utc/` readers and converters too, such as `parseHourFromUtc` and
59
+ `convertUtcToPlainDate`. `convertUtcToZoned` and `convertUnixToZoned` take a
60
+ required zone and do not accept `"local"`. A
53
61
  blank epoch string is invalid, not `1970`, and `sortUnix`/`minUnix`/`maxUnix`
54
62
  skip values that are not integer epochs in Temporal's range.
55
63
  4. **Nanoseconds are `bigint`, never `number`.** A `number` is exact only to
@@ -75,13 +83,21 @@ which lint package to install for Date-ban enforcement.
75
83
  unsynchronized" marker. Check for `0n` yourself before trusting it as 1900.
76
84
  - .NET ticks name an instant only when `DateTimeKind` is `Utc`. `Local` and
77
85
  `Unspecified` ticks count wall-clock time.
78
- - `toNanoseconds` and `isValidInstant` read the offset and ignore a bracketed
79
- zone annotation, which is not checked.
86
+ - `toNanoseconds` and `isValidInstant` read the offset and do not validate a
87
+ bracketed zone annotation. One thing is read from it: an offset written to the
88
+ minute that is the zone's sub-minute offset rounded (`-00:45[Africa/Monrovia]`)
89
+ names the instant the zone gives.
80
90
  6. **Lint packages are toolchain-specific, not mutually exclusive.** Recommend
81
91
  only the one matching the project's existing linter; do not force all three.
82
- 7. **Read the READMEs.** This skill is a routing pointer. For full integration
83
- guidance, read the installed package's `README.md` and the matching
84
- `@northguild/gmt-eslint` / `gmt-oxlint` / `gmt-biome` README.
92
+ 7. **Read the docs site and the lint README.** This skill is a routing pointer.
93
+ For full integration guidance, read these:
94
+ - `https://gmt-dox.northguild.workers.dev/llms.txt` is the map of every docs page.
95
+ - Each page has a `.md` twin that holds its text, for example
96
+ `https://gmt-dox.northguild.workers.dev/guides/integration/app-integration.md`.
97
+ - The JSDoc ships in the installed package:
98
+ `node_modules/@northguild/gmt/dist/**/*.d.ts`.
99
+ - For lint setup, read the matching `@northguild/gmt-eslint` / `gmt-oxlint` /
100
+ `gmt-biome` README.
85
101
 
86
102
  ## Lint package selection
87
103
 
@@ -114,6 +130,10 @@ the pattern.
114
130
 
115
131
  ## References
116
132
 
117
- - [README — Install and Design Philosophy](README.md)
133
+ - [Docs map for agents (llms.txt)](https://gmt-dox.northguild.workers.dev/llms.txt)
134
+ - [Install](https://gmt-dox.northguild.workers.dev/install/)
135
+ - [App integration guide](https://gmt-dox.northguild.workers.dev/guides/integration/app-integration/)
136
+ - [Nanosecond precision guide](https://gmt-dox.northguild.workers.dev/guides/core-date-operations/nanosecond-precision/)
137
+ - [Foreign epoch bridges guide](https://gmt-dox.northguild.workers.dev/guides/conversion/foreign-epoch-bridges/)
118
138
  - [Lint Package Selection guide](/guides/integration/linting/)
119
139
  - [Core Rules](/core-rules/)