@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
@@ -1,15 +1,13 @@
1
- import { utcZonedDateTime } from "../../internal/utcZonedDateTime.js";
1
+ import { utcWallClock } from "../../internal/utcWallClock.js";
2
2
  import { isOptionsArgument } from "../../internal/isObject.js";
3
3
  /**
4
4
  * Return the hour (0-23) from a UTC datetime string.
5
5
  *
6
6
  * - Returns zero-padded string for hour.
7
- * - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
8
- * `parseTimeFromUtc` does; an invalid zone returns "".
9
7
  * - Returns "" for invalid input.
10
8
  *
11
9
  * @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
12
- * @param options optional: timeZone (IANA, default "UTC")
10
+ * @param options The time zone the value is read in
13
11
  * @returns Hour (00-23) or "" on invalid input
14
12
  *
15
13
  * @example parseHourFromUtc("2024-03-17T14:30:45Z") // "14"
@@ -21,7 +19,7 @@ export function parseHourFromUtc(value, options) {
21
19
  if (!isOptionsArgument(options)) {
22
20
  return "";
23
21
  }
24
- const dateTime = utcZonedDateTime(value, options);
22
+ const dateTime = utcWallClock(value, options);
25
23
  return dateTime === null ? "" : dateTime.hour.toString().padStart(2, "0");
26
24
  }
27
25
  catch {
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Parse an RFC 9110 HTTP-date — the fixed grammar HTTP headers like
3
- * `Last-Modified`/`Date`/`Expires` use — into a UTC ISO 8601 datetime string.
2
+ * Parse an HTTP header date — the RFC 9110 HTTP-date that headers like
3
+ * `Last-Modified`/`Date`/`Expires` carry — into a UTC ISO 8601 datetime string.
4
4
  *
5
5
  * - **Decoding, not display.** Accepts English weekday/month names only, per
6
- * the fixed grammar (see `formatHttp`'s JSDoc and roadmap Decision 1).
6
+ * the fixed grammar (see `formatHttpDate`'s JSDoc).
7
7
  * - **All three HTTP-date formats**, as RFC 9110 §5.6.7 requires ("A
8
8
  * recipient that parses a timestamp value in an HTTP field MUST accept all
9
9
  * three"): IMF-fixdate (`Sun, 06 Nov 1994 08:49:37 GMT`), the obsolete
@@ -36,14 +36,14 @@
36
36
  * @param value RFC 9110 HTTP-date string (e.g. "Fri, 15 Mar 2024 14:30:00 GMT")
37
37
  * @returns UTC ISO 8601 datetime string, or "" on invalid input
38
38
  *
39
- * @example parseHttp("Fri, 15 Mar 2024 14:30:00 GMT") // "2024-03-15T14:30:00Z"
40
- * @example parseHttp("Sunday, 06-Nov-94 08:49:37 GMT") // "1994-11-06T08:49:37Z" (rfc850-date)
41
- * @example parseHttp("Sun Nov 6 08:49:37 1994") // "1994-11-06T08:49:37Z" (asctime-date)
42
- * @example parseHttp("Fri, 15 Mar 2024 14:30:00 -0400") // "" (not an HTTP-date)
43
- * @example parseHttp("Sat, 15 Mar 2024 14:30:00 GMT") // "" (15 Mar 2024 was a Friday)
44
- * @example parseHttp("Mon Nov 6 08:49:37 1994") // "" (asctime-date; 6 Nov 1994 was a Sunday)
39
+ * @example parseHttpDate("Fri, 15 Mar 2024 14:30:00 GMT") // "2024-03-15T14:30:00Z"
40
+ * @example parseHttpDate("Sunday, 06-Nov-94 08:49:37 GMT") // "1994-11-06T08:49:37Z" (rfc850-date)
41
+ * @example parseHttpDate("Sun Nov 6 08:49:37 1994") // "1994-11-06T08:49:37Z" (asctime-date)
42
+ * @example parseHttpDate("Fri, 15 Mar 2024 14:30:00 -0400") // "" (not an HTTP-date)
43
+ * @example parseHttpDate("Sat, 15 Mar 2024 14:30:00 GMT") // "" (15 Mar 2024 was a Friday)
44
+ * @example parseHttpDate("Mon Nov 6 08:49:37 1994") // "" (asctime-date; 6 Nov 1994 was a Sunday)
45
45
  * @example convertZonedToUtc(parseRfc2822("15 Mar 2024 14:30:00 GMT")) // "2024-03-15T14:30:00Z" — the day name removed
46
- * @example parseHttp("Sat, 31 Feb 2024 14:30:00 GMT") // "" (impossible date)
47
- * @example parseHttp("not a date") // ""
46
+ * @example parseHttpDate("Sat, 31 Feb 2024 14:30:00 GMT") // "" (impossible date)
47
+ * @example parseHttpDate("not a date") // ""
48
48
  */
49
- export declare function parseHttp(value: string): string;
49
+ export declare function parseHttpDate(value: string): string;
@@ -3,11 +3,11 @@ import { ENGLISH_MONTH_NAMES, ENGLISH_WEEKDAY_NAMES } from "../../internal/index
3
3
  import { readObsoleteHttpDate, } from "../../internal/httpDateFields.js";
4
4
  import { httpDate } from "../../regex/index.js";
5
5
  /**
6
- * Parse an RFC 9110 HTTP-date — the fixed grammar HTTP headers like
7
- * `Last-Modified`/`Date`/`Expires` use — into a UTC ISO 8601 datetime string.
6
+ * Parse an HTTP header date — the RFC 9110 HTTP-date that headers like
7
+ * `Last-Modified`/`Date`/`Expires` carry — into a UTC ISO 8601 datetime string.
8
8
  *
9
9
  * - **Decoding, not display.** Accepts English weekday/month names only, per
10
- * the fixed grammar (see `formatHttp`'s JSDoc and roadmap Decision 1).
10
+ * the fixed grammar (see `formatHttpDate`'s JSDoc).
11
11
  * - **All three HTTP-date formats**, as RFC 9110 §5.6.7 requires ("A
12
12
  * recipient that parses a timestamp value in an HTTP field MUST accept all
13
13
  * three"): IMF-fixdate (`Sun, 06 Nov 1994 08:49:37 GMT`), the obsolete
@@ -40,17 +40,17 @@ import { httpDate } from "../../regex/index.js";
40
40
  * @param value RFC 9110 HTTP-date string (e.g. "Fri, 15 Mar 2024 14:30:00 GMT")
41
41
  * @returns UTC ISO 8601 datetime string, or "" on invalid input
42
42
  *
43
- * @example parseHttp("Fri, 15 Mar 2024 14:30:00 GMT") // "2024-03-15T14:30:00Z"
44
- * @example parseHttp("Sunday, 06-Nov-94 08:49:37 GMT") // "1994-11-06T08:49:37Z" (rfc850-date)
45
- * @example parseHttp("Sun Nov 6 08:49:37 1994") // "1994-11-06T08:49:37Z" (asctime-date)
46
- * @example parseHttp("Fri, 15 Mar 2024 14:30:00 -0400") // "" (not an HTTP-date)
47
- * @example parseHttp("Sat, 15 Mar 2024 14:30:00 GMT") // "" (15 Mar 2024 was a Friday)
48
- * @example parseHttp("Mon Nov 6 08:49:37 1994") // "" (asctime-date; 6 Nov 1994 was a Sunday)
43
+ * @example parseHttpDate("Fri, 15 Mar 2024 14:30:00 GMT") // "2024-03-15T14:30:00Z"
44
+ * @example parseHttpDate("Sunday, 06-Nov-94 08:49:37 GMT") // "1994-11-06T08:49:37Z" (rfc850-date)
45
+ * @example parseHttpDate("Sun Nov 6 08:49:37 1994") // "1994-11-06T08:49:37Z" (asctime-date)
46
+ * @example parseHttpDate("Fri, 15 Mar 2024 14:30:00 -0400") // "" (not an HTTP-date)
47
+ * @example parseHttpDate("Sat, 15 Mar 2024 14:30:00 GMT") // "" (15 Mar 2024 was a Friday)
48
+ * @example parseHttpDate("Mon Nov 6 08:49:37 1994") // "" (asctime-date; 6 Nov 1994 was a Sunday)
49
49
  * @example convertZonedToUtc(parseRfc2822("15 Mar 2024 14:30:00 GMT")) // "2024-03-15T14:30:00Z" — the day name removed
50
- * @example parseHttp("Sat, 31 Feb 2024 14:30:00 GMT") // "" (impossible date)
51
- * @example parseHttp("not a date") // ""
50
+ * @example parseHttpDate("Sat, 31 Feb 2024 14:30:00 GMT") // "" (impossible date)
51
+ * @example parseHttpDate("not a date") // ""
52
52
  */
53
- export function parseHttp(value) {
53
+ export function parseHttpDate(value) {
54
54
  if (typeof value !== "string")
55
55
  return "";
56
56
  try {
@@ -2,12 +2,10 @@
2
2
  * Return the microsecond (0-999) from a UTC datetime string.
3
3
  *
4
4
  * - Returns zero-padded string for microsecond.
5
- * - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
6
- * `parseTimeFromUtc` does; an invalid zone returns "".
7
5
  * - Returns "" for invalid input.
8
6
  *
9
7
  * @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45.123Z")
10
- * @param options optional: timeZone (IANA, default "UTC")
8
+ * @param options The time zone the value is read in
11
9
  * @returns Microsecond (000-999) or "" on invalid input
12
10
  *
13
11
  * @example parseMicrosecondFromUtc("2024-03-17T14:30:45.123Z") // "000"
@@ -16,5 +14,13 @@
16
14
  * @example parseMicrosecondFromUtc("invalid") // ""
17
15
  */
18
16
  export declare function parseMicrosecondFromUtc(value: string, options?: {
17
+ /**
18
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
19
+ * identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
20
+ * `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
21
+ * `""`.
22
+ *
23
+ * @defaultValue `"UTC"`
24
+ */
19
25
  timeZone?: string;
20
26
  }): string;
@@ -1,15 +1,13 @@
1
- import { utcZonedDateTime } from "../../internal/utcZonedDateTime.js";
1
+ import { utcWallClock } from "../../internal/utcWallClock.js";
2
2
  import { isOptionsArgument } from "../../internal/isObject.js";
3
3
  /**
4
4
  * Return the microsecond (0-999) from a UTC datetime string.
5
5
  *
6
6
  * - Returns zero-padded string for microsecond.
7
- * - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
8
- * `parseTimeFromUtc` does; an invalid zone returns "".
9
7
  * - Returns "" for invalid input.
10
8
  *
11
9
  * @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45.123Z")
12
- * @param options optional: timeZone (IANA, default "UTC")
10
+ * @param options The time zone the value is read in
13
11
  * @returns Microsecond (000-999) or "" on invalid input
14
12
  *
15
13
  * @example parseMicrosecondFromUtc("2024-03-17T14:30:45.123Z") // "000"
@@ -22,7 +20,7 @@ export function parseMicrosecondFromUtc(value, options) {
22
20
  if (!isOptionsArgument(options)) {
23
21
  return "";
24
22
  }
25
- const dateTime = utcZonedDateTime(value, options);
23
+ const dateTime = utcWallClock(value, options);
26
24
  return dateTime === null
27
25
  ? ""
28
26
  : dateTime.microsecond.toString().padStart(3, "0");
@@ -2,12 +2,10 @@
2
2
  * Return the millisecond (0-999) from a UTC datetime string.
3
3
  *
4
4
  * - Returns zero-padded string for millisecond.
5
- * - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
6
- * `parseTimeFromUtc` does; an invalid zone returns "".
7
5
  * - Returns "" for invalid input.
8
6
  *
9
7
  * @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45.123Z")
10
- * @param options optional: timeZone (IANA, default "UTC")
8
+ * @param options The time zone the value is read in
11
9
  * @returns Millisecond (000-999) or "" on invalid input
12
10
  *
13
11
  * @example parseMillisecondFromUtc("2024-03-17T14:30:45.123Z") // "123"
@@ -15,5 +13,13 @@
15
13
  * @example parseMillisecondFromUtc("invalid") // ""
16
14
  */
17
15
  export declare function parseMillisecondFromUtc(value: string, options?: {
16
+ /**
17
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
18
+ * identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
19
+ * `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
20
+ * `""`.
21
+ *
22
+ * @defaultValue `"UTC"`
23
+ */
18
24
  timeZone?: string;
19
25
  }): string;
@@ -1,15 +1,13 @@
1
- import { utcZonedDateTime } from "../../internal/utcZonedDateTime.js";
1
+ import { utcWallClock } from "../../internal/utcWallClock.js";
2
2
  import { isOptionsArgument } from "../../internal/isObject.js";
3
3
  /**
4
4
  * Return the millisecond (0-999) from a UTC datetime string.
5
5
  *
6
6
  * - Returns zero-padded string for millisecond.
7
- * - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
8
- * `parseTimeFromUtc` does; an invalid zone returns "".
9
7
  * - Returns "" for invalid input.
10
8
  *
11
9
  * @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45.123Z")
12
- * @param options optional: timeZone (IANA, default "UTC")
10
+ * @param options The time zone the value is read in
13
11
  * @returns Millisecond (000-999) or "" on invalid input
14
12
  *
15
13
  * @example parseMillisecondFromUtc("2024-03-17T14:30:45.123Z") // "123"
@@ -21,7 +19,7 @@ export function parseMillisecondFromUtc(value, options) {
21
19
  if (!isOptionsArgument(options)) {
22
20
  return "";
23
21
  }
24
- const dateTime = utcZonedDateTime(value, options);
22
+ const dateTime = utcWallClock(value, options);
25
23
  return dateTime === null
26
24
  ? ""
27
25
  : dateTime.millisecond.toString().padStart(3, "0");
@@ -2,12 +2,10 @@
2
2
  * Return the minute (0-59) from a UTC datetime string.
3
3
  *
4
4
  * - Returns zero-padded string for minute.
5
- * - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
6
- * `parseTimeFromUtc` does; an invalid zone returns "".
7
5
  * - Returns "" for invalid input.
8
6
  *
9
7
  * @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
10
- * @param options optional: timeZone (IANA, default "UTC")
8
+ * @param options The time zone the value is read in
11
9
  * @returns Minute (00-59) or "" on invalid input
12
10
  *
13
11
  * @example parseMinuteFromUtc("2024-03-17T14:30:45Z") // "30"
@@ -15,5 +13,13 @@
15
13
  * @example parseMinuteFromUtc("invalid") // ""
16
14
  */
17
15
  export declare function parseMinuteFromUtc(value: string, options?: {
16
+ /**
17
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
18
+ * identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
19
+ * `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
20
+ * `""`.
21
+ *
22
+ * @defaultValue `"UTC"`
23
+ */
18
24
  timeZone?: string;
19
25
  }): string;
@@ -1,15 +1,13 @@
1
- import { utcZonedDateTime } from "../../internal/utcZonedDateTime.js";
1
+ import { utcWallClock } from "../../internal/utcWallClock.js";
2
2
  import { isOptionsArgument } from "../../internal/isObject.js";
3
3
  /**
4
4
  * Return the minute (0-59) from a UTC datetime string.
5
5
  *
6
6
  * - Returns zero-padded string for minute.
7
- * - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
8
- * `parseTimeFromUtc` does; an invalid zone returns "".
9
7
  * - Returns "" for invalid input.
10
8
  *
11
9
  * @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
12
- * @param options optional: timeZone (IANA, default "UTC")
10
+ * @param options The time zone the value is read in
13
11
  * @returns Minute (00-59) or "" on invalid input
14
12
  *
15
13
  * @example parseMinuteFromUtc("2024-03-17T14:30:45Z") // "30"
@@ -21,7 +19,7 @@ export function parseMinuteFromUtc(value, options) {
21
19
  if (!isOptionsArgument(options)) {
22
20
  return "";
23
21
  }
24
- const dateTime = utcZonedDateTime(value, options);
22
+ const dateTime = utcWallClock(value, options);
25
23
  return dateTime === null ? "" : dateTime.minute.toString().padStart(2, "0");
26
24
  }
27
25
  catch {
@@ -2,12 +2,10 @@
2
2
  * Return the month (1-12) from a UTC datetime string.
3
3
  *
4
4
  * - Returns zero-padded string for month.
5
- * - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
6
- * `parseTimeFromUtc` does; an invalid zone returns "".
7
5
  * - Returns "" for invalid input.
8
6
  *
9
7
  * @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
10
- * @param options optional: timeZone (IANA, default "UTC")
8
+ * @param options The time zone the value is read in
11
9
  * @returns Month (01-12) or "" on invalid input
12
10
  *
13
11
  * @example parseMonthFromUtc("2024-03-17T14:30:45Z") // "03"
@@ -15,5 +13,13 @@
15
13
  * @example parseMonthFromUtc("invalid") // ""
16
14
  */
17
15
  export declare function parseMonthFromUtc(value: string, options?: {
16
+ /**
17
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
18
+ * identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
19
+ * `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
20
+ * `""`.
21
+ *
22
+ * @defaultValue `"UTC"`
23
+ */
18
24
  timeZone?: string;
19
25
  }): string;
@@ -1,15 +1,13 @@
1
- import { utcZonedDateTime } from "../../internal/utcZonedDateTime.js";
1
+ import { utcWallClock } from "../../internal/utcWallClock.js";
2
2
  import { isOptionsArgument } from "../../internal/isObject.js";
3
3
  /**
4
4
  * Return the month (1-12) from a UTC datetime string.
5
5
  *
6
6
  * - Returns zero-padded string for month.
7
- * - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
8
- * `parseTimeFromUtc` does; an invalid zone returns "".
9
7
  * - Returns "" for invalid input.
10
8
  *
11
9
  * @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
12
- * @param options optional: timeZone (IANA, default "UTC")
10
+ * @param options The time zone the value is read in
13
11
  * @returns Month (01-12) or "" on invalid input
14
12
  *
15
13
  * @example parseMonthFromUtc("2024-03-17T14:30:45Z") // "03"
@@ -21,7 +19,7 @@ export function parseMonthFromUtc(value, options) {
21
19
  if (!isOptionsArgument(options)) {
22
20
  return "";
23
21
  }
24
- const dateTime = utcZonedDateTime(value, options);
22
+ const dateTime = utcWallClock(value, options);
25
23
  return dateTime === null ? "" : dateTime.month.toString().padStart(2, "0");
26
24
  }
27
25
  catch {
@@ -2,12 +2,10 @@
2
2
  * Return the nanosecond (0-999) from a UTC datetime string.
3
3
  *
4
4
  * - Returns zero-padded string for nanosecond.
5
- * - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
6
- * `parseTimeFromUtc` does; an invalid zone returns "".
7
5
  * - Returns "" for invalid input.
8
6
  *
9
7
  * @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45.123Z")
10
- * @param options optional: timeZone (IANA, default "UTC")
8
+ * @param options The time zone the value is read in
11
9
  * @returns Nanosecond (000-999) or "" on invalid input
12
10
  *
13
11
  * @example parseNanosecondFromUtc("2024-03-17T14:30:45.123Z") // "000"
@@ -16,5 +14,13 @@
16
14
  * @example parseNanosecondFromUtc("invalid") // ""
17
15
  */
18
16
  export declare function parseNanosecondFromUtc(value: string, options?: {
17
+ /**
18
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
19
+ * identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
20
+ * `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
21
+ * `""`.
22
+ *
23
+ * @defaultValue `"UTC"`
24
+ */
19
25
  timeZone?: string;
20
26
  }): string;
@@ -1,15 +1,13 @@
1
- import { utcZonedDateTime } from "../../internal/utcZonedDateTime.js";
1
+ import { utcWallClock } from "../../internal/utcWallClock.js";
2
2
  import { isOptionsArgument } from "../../internal/isObject.js";
3
3
  /**
4
4
  * Return the nanosecond (0-999) from a UTC datetime string.
5
5
  *
6
6
  * - Returns zero-padded string for nanosecond.
7
- * - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
8
- * `parseTimeFromUtc` does; an invalid zone returns "".
9
7
  * - Returns "" for invalid input.
10
8
  *
11
9
  * @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45.123Z")
12
- * @param options optional: timeZone (IANA, default "UTC")
10
+ * @param options The time zone the value is read in
13
11
  * @returns Nanosecond (000-999) or "" on invalid input
14
12
  *
15
13
  * @example parseNanosecondFromUtc("2024-03-17T14:30:45.123Z") // "000"
@@ -22,7 +20,7 @@ export function parseNanosecondFromUtc(value, options) {
22
20
  if (!isOptionsArgument(options)) {
23
21
  return "";
24
22
  }
25
- const dateTime = utcZonedDateTime(value, options);
23
+ const dateTime = utcWallClock(value, options);
26
24
  return dateTime === null
27
25
  ? ""
28
26
  : dateTime.nanosecond.toString().padStart(3, "0");
@@ -2,12 +2,10 @@
2
2
  * Return the second (0-59) from a UTC datetime string.
3
3
  *
4
4
  * - Returns zero-padded string for second.
5
- * - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
6
- * `parseTimeFromUtc` does; an invalid zone returns "".
7
5
  * - Returns "" for invalid input.
8
6
  *
9
7
  * @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
10
- * @param options optional: timeZone (IANA, default "UTC")
8
+ * @param options The time zone the value is read in
11
9
  * @returns Second (00-59) or "" on invalid input
12
10
  *
13
11
  * @example parseSecondFromUtc("2024-03-17T14:30:45Z") // "45"
@@ -15,5 +13,13 @@
15
13
  * @example parseSecondFromUtc("invalid") // ""
16
14
  */
17
15
  export declare function parseSecondFromUtc(value: string, options?: {
16
+ /**
17
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
18
+ * identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
19
+ * `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
20
+ * `""`.
21
+ *
22
+ * @defaultValue `"UTC"`
23
+ */
18
24
  timeZone?: string;
19
25
  }): string;
@@ -1,15 +1,13 @@
1
- import { utcZonedDateTime } from "../../internal/utcZonedDateTime.js";
1
+ import { utcWallClock } from "../../internal/utcWallClock.js";
2
2
  import { isOptionsArgument } from "../../internal/isObject.js";
3
3
  /**
4
4
  * Return the second (0-59) from a UTC datetime string.
5
5
  *
6
6
  * - Returns zero-padded string for second.
7
- * - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
8
- * `parseTimeFromUtc` does; an invalid zone returns "".
9
7
  * - Returns "" for invalid input.
10
8
  *
11
9
  * @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
12
- * @param options optional: timeZone (IANA, default "UTC")
10
+ * @param options The time zone the value is read in
13
11
  * @returns Second (00-59) or "" on invalid input
14
12
  *
15
13
  * @example parseSecondFromUtc("2024-03-17T14:30:45Z") // "45"
@@ -21,7 +19,7 @@ export function parseSecondFromUtc(value, options) {
21
19
  if (!isOptionsArgument(options)) {
22
20
  return "";
23
21
  }
24
- const dateTime = utcZonedDateTime(value, options);
22
+ const dateTime = utcWallClock(value, options);
25
23
  return dateTime === null ? "" : dateTime.second.toString().padStart(2, "0");
26
24
  }
27
25
  catch {
@@ -1,18 +1,26 @@
1
1
  /**
2
2
  * Extract the time portion from a UTC datetime string.
3
3
  *
4
- * - Uses Temporal.Instant.from to parse, converts to specified timezone.
5
- * - Defaults to UTC if no timezone specified.
4
+ * - Uses Temporal.Instant.from to parse, converts to the `timeZone` option's zone.
6
5
  * - Returns "" for invalid input.
7
6
  *
8
7
  * @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
9
- * @param options optional: timeZone (IANA)
8
+ * @param options The time zone the value is read in
10
9
  * @returns ISO time string (e.g., "14:30:45") or "" on invalid input
11
10
  *
12
11
  * @example parseTimeFromUtc("2024-03-17T14:30:45Z") // "14:30:45"
13
12
  * @example parseTimeFromUtc("2024-03-17T14:30:45Z", { timeZone: "America/New_York" }) // "10:30:45"
14
13
  * @example parseTimeFromUtc("invalid") // ""
14
+ * @example parseTimeFromUtc("1970-01-01T12:44:30Z", { timeZone: "-00:44:30" }) // "12:00:00" (a stored offset with seconds)
15
15
  */
16
16
  export declare function parseTimeFromUtc(value: string, options?: {
17
+ /**
18
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
19
+ * identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
20
+ * `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
21
+ * `""`.
22
+ *
23
+ * @defaultValue `"UTC"`
24
+ */
17
25
  timeZone?: string;
18
26
  }): string;
@@ -1,21 +1,21 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
- import { isValidTimeZone } from "../../zoned/index.js";
2
+ import { frameWallClock, normalizeZoneFrame } from "../../internal/zoneFrame.js";
3
3
  import { isValidUtc } from "../validate/index.js";
4
4
  import { isOptionsArgument } from "../../internal/isObject.js";
5
5
  /**
6
6
  * Extract the time portion from a UTC datetime string.
7
7
  *
8
- * - Uses Temporal.Instant.from to parse, converts to specified timezone.
9
- * - Defaults to UTC if no timezone specified.
8
+ * - Uses Temporal.Instant.from to parse, converts to the `timeZone` option's zone.
10
9
  * - Returns "" for invalid input.
11
10
  *
12
11
  * @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
13
- * @param options optional: timeZone (IANA)
12
+ * @param options The time zone the value is read in
14
13
  * @returns ISO time string (e.g., "14:30:45") or "" on invalid input
15
14
  *
16
15
  * @example parseTimeFromUtc("2024-03-17T14:30:45Z") // "14:30:45"
17
16
  * @example parseTimeFromUtc("2024-03-17T14:30:45Z", { timeZone: "America/New_York" }) // "10:30:45"
18
17
  * @example parseTimeFromUtc("invalid") // ""
18
+ * @example parseTimeFromUtc("1970-01-01T12:44:30Z", { timeZone: "-00:44:30" }) // "12:00:00" (a stored offset with seconds)
19
19
  */
20
20
  export function parseTimeFromUtc(value, options) {
21
21
  try {
@@ -25,13 +25,13 @@ export function parseTimeFromUtc(value, options) {
25
25
  if (!isValidUtc(value)) {
26
26
  return "";
27
27
  }
28
- const { timeZone = "UTC" } = options ?? {};
29
- if (timeZone !== "UTC" && !isValidTimeZone(timeZone)) {
28
+ const frame = normalizeZoneFrame(options?.timeZone);
29
+ if (frame === null) {
30
30
  return "";
31
31
  }
32
32
  try {
33
33
  const instant = Temporal.Instant.from(value);
34
- const dateTime = instant.toZonedDateTimeISO(timeZone);
34
+ const dateTime = frameWallClock(instant, frame);
35
35
  return dateTime.toPlainTime().toString();
36
36
  }
37
37
  catch {
@@ -8,7 +8,7 @@ import { Temporal } from "@js-temporal/polyfill";
8
8
  *
9
9
  * | Member | Description |
10
10
  * | --- | --- |
11
- * | `year` | Full year, no padding (e.g. `2024`). |
11
+ * | `year` | Four digits (e.g. `2024`, `0005`); a sign and six digits outside 0000–9999 (e.g. `+010000`). |
12
12
  * | `month` | Zero-padded 2 (e.g. `03`). |
13
13
  * | `week` | Week-of-year, 1–53 (`weekStartsOn`-controlled). |
14
14
  * | `day` | Zero-padded 2. |
@@ -31,25 +31,44 @@ export type UtcUnit = Temporal.SmallestUnit<"year" | "month" | "week" | "day" |
31
31
  * - Valid units: "year", "month", "week", "day", "dayOfWeek", "hour", "minute", "second", "millisecond", "microsecond", "nanosecond".
32
32
  * - `unit` accepts the singular or plural name of a Temporal unit (`"hour"` or `"hours"`), as Temporal
33
33
  * does; `"dayOfWeek"` has no plural.
34
- * - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
35
- * `parseTimeFromUtc` does; an invalid zone returns "".
36
- * - `weekStartsOn: "sunday"` numbers weeks by UTS #35 (week 1 holds 1 January, so late-December
37
- * days can be week 1); any value other than `"monday"` or `"sunday"` returns "".
34
+ * - A `"week"` in late December can be week 1 of the next year, under either week numbering.
35
+ * - `optionsArg` must be an object or omitted: a non-object value (such as `null`) returns "".
38
36
  * - Returns "" for invalid input.
37
+ * - The `"year"` unit is written as Temporal writes a year: four digits (`"2024"`, `"0005"`), or a
38
+ * sign and six digits outside 0000–9999 (`"+010000"`, `"-000005"`).
39
39
  *
40
40
  * @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
41
41
  * @param unit unit to extract from the datetime
42
- * @param optionsArg optional: weekStartsOn ("monday" | "sunday") for week calculations, timeZone (IANA, default "UTC"); a non-object value (such as `null`) is invalid
42
+ * @param optionsArg How weeks are numbered, and the time zone the value is read in
43
43
  * @returns string representation of the requested unit or "" on invalid input
44
44
  *
45
45
  * @example parseUnitFromUtc("2024-03-17T14:30:45Z", "month") // "03"
46
46
  * @example parseUnitFromUtc("2024-03-17T14:30:45Z", "hours") // "14"
47
+ * @example parseUnitFromUtc("2024-03-17T14:30:45Z", "year") // "2024"
48
+ * @example parseUnitFromUtc("0005-06-01T12:30:00Z", "year") // "0005"
47
49
  * @example parseUnitFromUtc("2024-03-17T02:30:45Z", "day", { timeZone: "America/New_York" }) // "16"
48
50
  * @example parseUnitFromUtc("2024-01-01T00:00:00Z", "week") // "1"
49
51
  * @example parseUnitFromUtc("2024-12-31T12:00:00Z", "week", { weekStartsOn: "sunday" }) // "1"
50
52
  * @example parseUnitFromUtc("invalid", "month") // ""
53
+ * @example parseUnitFromUtc("1970-01-01T12:44:30Z", "minute", { timeZone: "-00:44:30" }) // "00" (a stored offset with seconds)
51
54
  */
52
55
  export declare function parseUnitFromUtc(value: string, unit: UtcUnit, optionsArg?: {
56
+ /**
57
+ * The first day of the week, which sets how the `"week"` unit is numbered. `"monday"` gives the
58
+ * ISO 8601 week number, where week 1 holds the year's first Thursday; `"sunday"` gives the UTS
59
+ * #35 week number with a Sunday first day and one minimal day, where week 1 holds 1 January.
60
+ * Any other value returns `""`, whatever the unit.
61
+ *
62
+ * @defaultValue `"monday"`
63
+ */
53
64
  weekStartsOn?: "monday" | "sunday";
65
+ /**
66
+ * The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
67
+ * identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
68
+ * `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
69
+ * `""`.
70
+ *
71
+ * @defaultValue `"UTC"`
72
+ */
54
73
  timeZone?: string;
55
74
  }): string;