@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
@@ -12,24 +12,20 @@ import { isOptionsArgument } from "../../internal/isObject.js";
12
12
  * overflow into January of the *next* year. Reach for `addDate` when you want calendar
13
13
  * arithmetic; reach for `cycleDate` when a single field (e.g. a datepicker segment) must stay
14
14
  * isolated from the others.
15
- * - `year` has no upper/lower wrap — cycling it is plain addition (or rounding, see below).
15
+ * - `year` has no upper/lower wrap — cycling it is plain addition (or a step to a multiple, with
16
+ * `round`): `2022` by `+5` with `round: true` lands on `2025`, the next multiple of 5.
16
17
  * `month` wraps `1–12`. `day` wraps `1`–the **current** month's day count, so cycling `day`
17
18
  * never changes `month`.
18
19
  * - Cycling `month` or `year` can still shift `day` via `overflow` — e.g. cycling `month` from a
19
20
  * 31st into a shorter month clamps under the default `"constrain"` (or returns `""` under
20
21
  * `"reject"`) exactly the way `setDate`'s own `.with()` call does; this is the same clamping
21
22
  * `addDate`'s Jan 31 + 1 month case produces, not new behavior.
22
- * - `options.round` does **not** round to the nearest increment — it steps to the *next* multiple
23
- * of `amount` in the direction of its sign (ceiling for positive, floor for negative), matching
24
- * `@internationalized/date`'s `CycleOptions.round`. E.g. cycling `year` `2022` by `+5` with
25
- * `round: true` lands on `2025` (the next multiple of 5 above 2022), not `2020` (the nearest
26
- * multiple).
27
23
  * - Returns "" for an invalid `value`, an invalid `field`, or an `amount` that is not a finite number.
28
24
  *
29
25
  * @param value ISO PlainDate string
30
26
  * @param field the field to cycle: "year" | "month" | "day"
31
27
  * @param amount signed amount to cycle by
32
- * @param options optional: round (boolean, default false), overflow ("constrain" | "reject")
28
+ * @param options How the field is stepped and an out-of-range day is handled
33
29
  * @returns ISO PlainDate string with `field` cycled, or "" on invalid input
34
30
  *
35
31
  * @example cycleDate("2024-06-15", "month", 1) // "2024-07-15"
@@ -14,15 +14,12 @@ import type { DateTimeCycleField, Overflow } from "../../types/index.js";
14
14
  * why).
15
15
  * - Cycling `month` or `year` can still shift `day` via `overflow`, exactly as `setDateTime`'s
16
16
  * `.with()` call does.
17
- * - `options.round` steps to the *next* multiple of `amount` in the direction of its sign
18
- * (ceiling for positive, floor for negative) — not the nearest one. See `cycleDate`/`cycleTime`'s
19
- * docs for worked examples.
20
17
  * - Returns "" for an invalid `value`, an invalid `field`, or an `amount` that is not a finite number.
21
18
  *
22
19
  * @param value ISO PlainDateTime string
23
20
  * @param field the field to cycle: "year" | "month" | "day" | "hour" | "minute" | "second" | "millisecond" | "microsecond" | "nanosecond"
24
21
  * @param amount signed amount to cycle by
25
- * @param options optional: round (boolean, default false), overflow ("constrain" | "reject")
22
+ * @param options How the field is stepped and an out-of-range day is handled
26
23
  * @returns ISO PlainDateTime string with `field` cycled, or "" on invalid input
27
24
  *
28
25
  * @example cycleDateTime("2024-06-15T09:30:00", "hour", 1) // "2024-06-15T10:30:00"
@@ -33,6 +30,19 @@ import type { DateTimeCycleField, Overflow } from "../../types/index.js";
33
30
  * @example cycleDateTime("invalid", "hour", 1) // ""
34
31
  */
35
32
  export declare function cycleDateTime(value: string, field: DateTimeCycleField, amount: number, options?: {
33
+ /**
34
+ * Whether to step to a multiple of `amount` instead of adding it. `true` moves to the next
35
+ * multiple in the direction of the sign of `amount` (the ceiling for a positive amount, the
36
+ * floor for a negative one), not to the nearest one; `false` adds `amount`.
37
+ *
38
+ * @defaultValue `false`
39
+ */
36
40
  round?: boolean;
41
+ /**
42
+ * What to do when the cycled `month` or `year` leaves `day` past the end of its month.
43
+ * `"constrain"` clamps `day` to the last day of that month; `"reject"` returns `""`.
44
+ *
45
+ * @defaultValue `"constrain"`, Temporal's default.
46
+ */
37
47
  overflow?: Overflow;
38
48
  }): string;
@@ -18,15 +18,12 @@ import { isOptionsArgument } from "../../internal/isObject.js";
18
18
  * why).
19
19
  * - Cycling `month` or `year` can still shift `day` via `overflow`, exactly as `setDateTime`'s
20
20
  * `.with()` call does.
21
- * - `options.round` steps to the *next* multiple of `amount` in the direction of its sign
22
- * (ceiling for positive, floor for negative) — not the nearest one. See `cycleDate`/`cycleTime`'s
23
- * docs for worked examples.
24
21
  * - Returns "" for an invalid `value`, an invalid `field`, or an `amount` that is not a finite number.
25
22
  *
26
23
  * @param value ISO PlainDateTime string
27
24
  * @param field the field to cycle: "year" | "month" | "day" | "hour" | "minute" | "second" | "millisecond" | "microsecond" | "nanosecond"
28
25
  * @param amount signed amount to cycle by
29
- * @param options optional: round (boolean, default false), overflow ("constrain" | "reject")
26
+ * @param options How the field is stepped and an out-of-range day is handled
30
27
  * @returns ISO PlainDateTime string with `field` cycled, or "" on invalid input
31
28
  *
32
29
  * @example cycleDateTime("2024-06-15T09:30:00", "hour", 1) // "2024-06-15T10:30:00"
@@ -9,10 +9,8 @@ import type { TimeCycleField } from "../../types/index.js";
9
9
  * is no ISO representation for "this hour, but staying AM" to round-trip through GMT's string
10
10
  * contract.
11
11
  * - `minute`/`second` wrap `0–59`; `millisecond`/`microsecond`/`nanosecond` wrap `0–999`.
12
- * - `options.round` does **not** round to the nearest increment — it steps to the *next* multiple
13
- * of `amount` in the direction of its sign (ceiling for positive, floor for negative), matching
14
- * `@internationalized/date`'s `CycleOptions.round`. E.g. cycling minute `22` by `+15` with
15
- * `round: true` lands on `30` (the next multiple of 15 above 22), not `15` (the nearest one).
12
+ * - With `round: true`, minute `22` by `+15` lands on `30`, the next multiple of 15 above 22, not
13
+ * on `15`, the nearest one.
16
14
  * - There is no `overflow` option (removed in 1.16.0): time fields don't share bounds the way `day`
17
15
  * shares a month with `month`/`year`, so the wrapped value is always already valid and there is
18
16
  * nothing to constrain or reject.
@@ -21,7 +19,7 @@ import type { TimeCycleField } from "../../types/index.js";
21
19
  * @param value ISO PlainTime string
22
20
  * @param field the field to cycle: "hour" | "minute" | "second" | "millisecond" | "microsecond" | "nanosecond"
23
21
  * @param amount signed amount to cycle by
24
- * @param options optional: round (boolean, default false)
22
+ * @param options How the field is stepped
25
23
  * @returns ISO PlainTime string with `field` cycled, or "" on invalid input
26
24
  *
27
25
  * @example cycleTime("09:30:00", "hour", 1) // "10:30:00"
@@ -32,5 +30,12 @@ import type { TimeCycleField } from "../../types/index.js";
32
30
  * @example cycleTime("invalid", "hour", 1) // ""
33
31
  */
34
32
  export declare function cycleTime(value: string, field: TimeCycleField, amount: number, options?: {
33
+ /**
34
+ * Whether to step to a multiple of `amount` instead of adding it. `true` moves to the next
35
+ * multiple in the direction of the sign of `amount` (the ceiling for a positive amount, the
36
+ * floor for a negative one), not to the nearest one; `false` adds `amount`.
37
+ *
38
+ * @defaultValue `false`
39
+ */
35
40
  round?: boolean;
36
41
  }): string;
@@ -13,10 +13,8 @@ import { isOptionsArgument } from "../../internal/isObject.js";
13
13
  * is no ISO representation for "this hour, but staying AM" to round-trip through GMT's string
14
14
  * contract.
15
15
  * - `minute`/`second` wrap `0–59`; `millisecond`/`microsecond`/`nanosecond` wrap `0–999`.
16
- * - `options.round` does **not** round to the nearest increment — it steps to the *next* multiple
17
- * of `amount` in the direction of its sign (ceiling for positive, floor for negative), matching
18
- * `@internationalized/date`'s `CycleOptions.round`. E.g. cycling minute `22` by `+15` with
19
- * `round: true` lands on `30` (the next multiple of 15 above 22), not `15` (the nearest one).
16
+ * - With `round: true`, minute `22` by `+15` lands on `30`, the next multiple of 15 above 22, not
17
+ * on `15`, the nearest one.
20
18
  * - There is no `overflow` option (removed in 1.16.0): time fields don't share bounds the way `day`
21
19
  * shares a month with `month`/`year`, so the wrapped value is always already valid and there is
22
20
  * nothing to constrain or reject.
@@ -25,7 +23,7 @@ import { isOptionsArgument } from "../../internal/isObject.js";
25
23
  * @param value ISO PlainTime string
26
24
  * @param field the field to cycle: "hour" | "minute" | "second" | "millisecond" | "microsecond" | "nanosecond"
27
25
  * @param amount signed amount to cycle by
28
- * @param options optional: round (boolean, default false)
26
+ * @param options How the field is stepped
29
27
  * @returns ISO PlainTime string with `field` cycled, or "" on invalid input
30
28
  *
31
29
  * @example cycleTime("09:30:00", "hour", 1) // "10:30:00"
@@ -34,7 +34,7 @@ import type { DateDurationUnit, RoundingOptions } from "../../types/index.js";
34
34
  * @param date2 ISO PlainDate string for the end, optionally calendar-annotated
35
35
  * @param unitArg date unit or units to measure the difference, singular or plural (`"day"` or
36
36
  * `"days"`); a record result keeps the plural keys
37
- * @param options optional: smallestUnit, roundingIncrement, roundingMode (Temporal.DifferenceOptions rounding controls); a non-object value (such as `null`) is invalid
37
+ * @param options optional: how the difference is rounded; a non-object value (such as `null`) is invalid
38
38
  * @returns numeric difference in the requested unit, or null on invalid input
39
39
  *
40
40
  * @example diffDate("2024-03-10", "2024-03-15", "days") // 5
@@ -38,7 +38,7 @@ import { isOptionsArgument } from "../../internal/isObject.js";
38
38
  * @param date2 ISO PlainDate string for the end, optionally calendar-annotated
39
39
  * @param unitArg date unit or units to measure the difference, singular or plural (`"day"` or
40
40
  * `"days"`); a record result keeps the plural keys
41
- * @param options optional: smallestUnit, roundingIncrement, roundingMode (Temporal.DifferenceOptions rounding controls); a non-object value (such as `null`) is invalid
41
+ * @param options optional: how the difference is rounded; a non-object value (such as `null`) is invalid
42
42
  * @returns numeric difference in the requested unit, or null on invalid input
43
43
  *
44
44
  * @example diffDate("2024-03-10", "2024-03-15", "days") // 5
@@ -27,7 +27,7 @@ import type { DateDurationUnit, DurationStringOptions, RoundingOptions } from ".
27
27
  * @param date1 ISO PlainDate string for the start, optionally calendar-annotated
28
28
  * @param date2 ISO PlainDate string for the end, optionally calendar-annotated
29
29
  * @param unit date unit, singular or plural (`"day"` or `"days"`), to use as the duration's largestUnit
30
- * @param options optional: smallestUnit, roundingIncrement, roundingMode (.until() rounding); toStringSmallestUnit, fractionalSecondDigits, toStringRoundingMode (.toString() precision); a non-object value (such as `null`) is invalid
30
+ * @param options optional: how the difference is rounded and how the string is rendered; a non-object value (such as `null`) is invalid
31
31
  * @returns ISO 8601 duration string, or "" on invalid input
32
32
  *
33
33
  * @example diffDateAsDuration("2024-03-10", "2024-04-05", "days") // "P26D"
@@ -29,7 +29,7 @@ import { isOptionsArgument } from "../../internal/isObject.js";
29
29
  * @param date1 ISO PlainDate string for the start, optionally calendar-annotated
30
30
  * @param date2 ISO PlainDate string for the end, optionally calendar-annotated
31
31
  * @param unit date unit, singular or plural (`"day"` or `"days"`), to use as the duration's largestUnit
32
- * @param options optional: smallestUnit, roundingIncrement, roundingMode (.until() rounding); toStringSmallestUnit, fractionalSecondDigits, toStringRoundingMode (.toString() precision); a non-object value (such as `null`) is invalid
32
+ * @param options optional: how the difference is rounded and how the string is rendered; a non-object value (such as `null`) is invalid
33
33
  * @returns ISO 8601 duration string, or "" on invalid input
34
34
  *
35
35
  * @example diffDateAsDuration("2024-03-10", "2024-04-05", "days") // "P26D"
@@ -27,7 +27,7 @@ import type { DateTimeDurationUnit, RoundingOptions } from "../../types/index.js
27
27
  * @param dateTime1 ISO PlainDateTime string for the start
28
28
  * @param dateTime2 ISO PlainDateTime string for the end
29
29
  * @param units DateTimeDurationUnit | DateTimeDurationUnit[] to measure the difference
30
- * @param options optional: smallestUnit, roundingIncrement, roundingMode (Temporal.DifferenceOptions rounding controls); a non-object value (such as `null`) is invalid
30
+ * @param options optional: how the difference is rounded; a non-object value (such as `null`) is invalid
31
31
  * @returns numeric difference in the requested unit, or null on invalid input
32
32
  *
33
33
  * @example diffDateTime("2024-03-10T12:00:00", "2024-03-15T12:00:00", "days") // 5
@@ -33,7 +33,7 @@ import { isOptionsArgument } from "../../internal/isObject.js";
33
33
  * @param dateTime1 ISO PlainDateTime string for the start
34
34
  * @param dateTime2 ISO PlainDateTime string for the end
35
35
  * @param units DateTimeDurationUnit | DateTimeDurationUnit[] to measure the difference
36
- * @param options optional: smallestUnit, roundingIncrement, roundingMode (Temporal.DifferenceOptions rounding controls); a non-object value (such as `null`) is invalid
36
+ * @param options optional: how the difference is rounded; a non-object value (such as `null`) is invalid
37
37
  * @returns numeric difference in the requested unit, or null on invalid input
38
38
  *
39
39
  * @example diffDateTime("2024-03-10T12:00:00", "2024-03-15T12:00:00", "days") // 5
@@ -21,7 +21,7 @@ import type { DateTimeDurationUnit, DurationStringOptions, RoundingOptions } fro
21
21
  * @param dateTime1 ISO PlainDateTime string for the start
22
22
  * @param dateTime2 ISO PlainDateTime string for the end
23
23
  * @param unit DateTimeDurationUnit to use as the duration's largestUnit
24
- * @param options optional: smallestUnit, roundingIncrement, roundingMode (.until() rounding); toStringSmallestUnit, fractionalSecondDigits, toStringRoundingMode (.toString() precision); a non-object value (such as `null`) is invalid
24
+ * @param options optional: how the difference is rounded and how the string is rendered; a non-object value (such as `null`) is invalid
25
25
  * @returns ISO 8601 duration string, or "" on invalid input
26
26
  *
27
27
  * @example diffDateTimeAsDuration("2024-03-10T00:00:00", "2024-03-11T02:00:00", "days") // "P1DT2H"
@@ -24,7 +24,7 @@ import { isOptionsArgument } from "../../internal/isObject.js";
24
24
  * @param dateTime1 ISO PlainDateTime string for the start
25
25
  * @param dateTime2 ISO PlainDateTime string for the end
26
26
  * @param unit DateTimeDurationUnit to use as the duration's largestUnit
27
- * @param options optional: smallestUnit, roundingIncrement, roundingMode (.until() rounding); toStringSmallestUnit, fractionalSecondDigits, toStringRoundingMode (.toString() precision); a non-object value (such as `null`) is invalid
27
+ * @param options optional: how the difference is rounded and how the string is rendered; a non-object value (such as `null`) is invalid
28
28
  * @returns ISO 8601 duration string, or "" on invalid input
29
29
  *
30
30
  * @example diffDateTimeAsDuration("2024-03-10T00:00:00", "2024-03-11T02:00:00", "days") // "P1DT2H"
@@ -28,7 +28,7 @@ import type { RoundingOptions, TimeDurationUnit } from "../../types/index.js";
28
28
  * @param time1 ISO PlainTime string for the start
29
29
  * @param time2 ISO PlainTime string for the end
30
30
  * @param units TimeDurationUnit | TimeDurationUnit[] to measure the difference
31
- * @param options optional: smallestUnit, roundingIncrement, roundingMode (Temporal.DifferenceOptions rounding controls); a non-object value (such as `null`) is invalid
31
+ * @param options optional: how the difference is rounded; a non-object value (such as `null`) is invalid
32
32
  * @returns numeric difference in the requested unit, or null on invalid input
33
33
  *
34
34
  * @example diffTime("12:00:00", "14:30:00", "hours") // 2
@@ -33,7 +33,7 @@ import { isOptionsArgument } from "../../internal/isObject.js";
33
33
  * @param time1 ISO PlainTime string for the start
34
34
  * @param time2 ISO PlainTime string for the end
35
35
  * @param units TimeDurationUnit | TimeDurationUnit[] to measure the difference
36
- * @param options optional: smallestUnit, roundingIncrement, roundingMode (Temporal.DifferenceOptions rounding controls); a non-object value (such as `null`) is invalid
36
+ * @param options optional: how the difference is rounded; a non-object value (such as `null`) is invalid
37
37
  * @returns numeric difference in the requested unit, or null on invalid input
38
38
  *
39
39
  * @example diffTime("12:00:00", "14:30:00", "hours") // 2
@@ -2,16 +2,14 @@ import { Temporal } from "@js-temporal/polyfill";
2
2
  /**
3
3
  * Return the end of the specified date `unit` for a given ISO 8601 date string.
4
4
  *
5
- * - A Sunday-first week runs Sunday to Saturday, so a Sunday ends its week six days later.
6
5
  * - The end is computed forward from `value`, so it is returned even when the unit began before
7
6
  * the first representable date (`-271821-04-19`).
8
7
  * - `unit` accepts the singular or plural name (`"month"` or `"months"`), as Temporal does.
9
- * - `weekStartsOn` other than `"monday"` or `"sunday"` returns "".
10
8
  * - Returns "" for invalid inputs.
11
9
  *
12
10
  * @param value ISO 8601 date string
13
11
  * @param unit date unit, singular or plural, to specify the unit for the end
14
- * @param optionsArg optional: weekStartsOn ("monday" | "sunday")
12
+ * @param optionsArg How the week is defined
15
13
  * @returns ISO 8601 string representing the end of the specified unit, or "" on invalid input
16
14
  *
17
15
  * @example endOfDate("2024-02-29", "month") // "2024-02-29"
@@ -21,5 +19,12 @@ import { Temporal } from "@js-temporal/polyfill";
21
19
  * @example endOfDate("invalid-date", "month") // ""
22
20
  */
23
21
  export declare function endOfDate(value: string, unit: Temporal.SmallestUnit<Temporal.DateUnit>, optionsArg?: {
22
+ /**
23
+ * The first day of the week, which sets where a `"week"` unit starts. `"monday"` is the ISO
24
+ * 8601 week, Monday to Sunday; `"sunday"` runs Sunday to Saturday. Any other value returns
25
+ * `""`, whatever the unit.
26
+ *
27
+ * @defaultValue `"monday"`
28
+ */
24
29
  weekStartsOn?: "monday" | "sunday";
25
30
  }): string;
@@ -8,16 +8,14 @@ const supported = ["year", "month", "week", "day"];
8
8
  /**
9
9
  * Return the end of the specified date `unit` for a given ISO 8601 date string.
10
10
  *
11
- * - A Sunday-first week runs Sunday to Saturday, so a Sunday ends its week six days later.
12
11
  * - The end is computed forward from `value`, so it is returned even when the unit began before
13
12
  * the first representable date (`-271821-04-19`).
14
13
  * - `unit` accepts the singular or plural name (`"month"` or `"months"`), as Temporal does.
15
- * - `weekStartsOn` other than `"monday"` or `"sunday"` returns "".
16
14
  * - Returns "" for invalid inputs.
17
15
  *
18
16
  * @param value ISO 8601 date string
19
17
  * @param unit date unit, singular or plural, to specify the unit for the end
20
- * @param optionsArg optional: weekStartsOn ("monday" | "sunday")
18
+ * @param optionsArg How the week is defined
21
19
  * @returns ISO 8601 string representing the end of the specified unit, or "" on invalid input
22
20
  *
23
21
  * @example endOfDate("2024-02-29", "month") // "2024-02-29"
@@ -3,13 +3,9 @@ import type { FractionalDigit } from "../../types/index.js";
3
3
  /**
4
4
  * Return the end of the specified date-time `unit` for a given ISO 8601 datetime string.
5
5
  *
6
- * - A Sunday-first week runs Sunday to Saturday, so a Sunday ends its week six days later.
7
6
  * - The end is computed forward from `value`, so it is returned even when the unit began before
8
7
  * the first representable date (`-271821-04-19`).
9
- * - The end is written at nanosecond precision by default, so the string names the end itself; an
10
- * explicit `fractionalSecondDigits` (0, 3, 6 or 9) truncates it, as Temporal's `toString` does.
11
8
  * - `unit` accepts the singular or plural name (`"month"` or `"months"`), as Temporal does.
12
- * - `weekStartsOn` other than `"monday"` or `"sunday"` returns "".
13
9
  * - Returns "" for invalid inputs.
14
10
  * - **Compatibility:** before 1.16.0 the default printed only the digits the unit names — none for
15
11
  * `second` and coarser, 3 for `millisecond`, 6 for `microsecond` — which wrote a moment earlier
@@ -17,7 +13,7 @@ import type { FractionalDigit } from "../../types/index.js";
17
13
  *
18
14
  * @param value ISO 8601 datetime string
19
15
  * @param unit date or time unit, singular or plural, to specify the unit for the end
20
- * @param optionsArg optional: weekStartsOn ("monday" | "sunday"), fractionalSecondDigits (number)
16
+ * @param optionsArg How the week is defined and how the result is written
21
17
  * @returns ISO 8601 string representing the end of the specified unit, or "" on invalid input
22
18
  *
23
19
  * @example endOfDateTime("2024-02-29T12:34:56", "month") // "2024-02-29T23:59:59.999999999"
@@ -29,6 +25,20 @@ import type { FractionalDigit } from "../../types/index.js";
29
25
  * @example endOfDateTime("invalid-date", "month") // ""
30
26
  */
31
27
  export declare function endOfDateTime(value: string, unit: Temporal.SmallestUnit<Temporal.DateTimeUnit>, optionsArg?: {
28
+ /**
29
+ * The first day of the week, which sets where a `"week"` unit starts. `"monday"` is the ISO
30
+ * 8601 week, Monday to Sunday; `"sunday"` runs Sunday to Saturday. Any other value returns
31
+ * `""`, whatever the unit.
32
+ *
33
+ * @defaultValue `"monday"`
34
+ */
32
35
  weekStartsOn?: "monday" | "sunday";
36
+ /**
37
+ * The number of fractional-second digits the result is written with, `0` to `9`, or `"auto"` to
38
+ * drop trailing zeros. Fewer than 9 digits truncate the string, as Temporal's `toString` does,
39
+ * so it names a moment before the end.
40
+ *
41
+ * @defaultValue `9`
42
+ */
33
43
  fractionalSecondDigits?: FractionalDigit;
34
44
  }): string;
@@ -19,13 +19,9 @@ const supported = [
19
19
  /**
20
20
  * Return the end of the specified date-time `unit` for a given ISO 8601 datetime string.
21
21
  *
22
- * - A Sunday-first week runs Sunday to Saturday, so a Sunday ends its week six days later.
23
22
  * - The end is computed forward from `value`, so it is returned even when the unit began before
24
23
  * the first representable date (`-271821-04-19`).
25
- * - The end is written at nanosecond precision by default, so the string names the end itself; an
26
- * explicit `fractionalSecondDigits` (0, 3, 6 or 9) truncates it, as Temporal's `toString` does.
27
24
  * - `unit` accepts the singular or plural name (`"month"` or `"months"`), as Temporal does.
28
- * - `weekStartsOn` other than `"monday"` or `"sunday"` returns "".
29
25
  * - Returns "" for invalid inputs.
30
26
  * - **Compatibility:** before 1.16.0 the default printed only the digits the unit names — none for
31
27
  * `second` and coarser, 3 for `millisecond`, 6 for `microsecond` — which wrote a moment earlier
@@ -33,7 +29,7 @@ const supported = [
33
29
  *
34
30
  * @param value ISO 8601 datetime string
35
31
  * @param unit date or time unit, singular or plural, to specify the unit for the end
36
- * @param optionsArg optional: weekStartsOn ("monday" | "sunday"), fractionalSecondDigits (number)
32
+ * @param optionsArg How the week is defined and how the result is written
37
33
  * @returns ISO 8601 string representing the end of the specified unit, or "" on invalid input
38
34
  *
39
35
  * @example endOfDateTime("2024-02-29T12:34:56", "month") // "2024-02-29T23:59:59.999999999"
@@ -8,11 +8,10 @@ import type { FractionalDigit } from "../../types/index.js";
8
8
  * import { EndOfTimeUnit } from "@northguild/gmt/plain";
9
9
  * const unit: EndOfTimeUnit = "minutes";
10
10
  */
11
- export type EndOfTimeUnit = Temporal.SmallestUnit<Temporal.TimeUnit | "day">;
11
+ export type EndOfTimeUnit = Temporal.SmallestUnit<"day" | Temporal.TimeUnit>;
12
12
  /**
13
13
  * Return the end of the specified time `unit` for a given ISO 8601 time string.
14
14
  *
15
- * - The end is written at nanosecond precision by default, so the string names the end itself; an explicit `fractionalSecondDigits` (0, 3, 6 or 9) truncates it, as Temporal's `toString` does.
16
15
  * - `unit` accepts the singular or plural name (`"hour"` or `"hours"`), as Temporal does.
17
16
  * - Returns "" for invalid inputs.
18
17
  * - **Compatibility:** before 1.16.0 the default printed only the digits the unit names — none for
@@ -21,7 +20,7 @@ export type EndOfTimeUnit = Temporal.SmallestUnit<Temporal.TimeUnit | "day">;
21
20
  *
22
21
  * @param value ISO 8601 time string
23
22
  * @param unit EndOfTimeUnit to specify the unit for the end
24
- * @param optionsArg optional: fractionalSecondDigits (number)
23
+ * @param optionsArg How the result is written
25
24
  * @returns ISO 8601 string representing the end of the specified unit, or "" on invalid input
26
25
  *
27
26
  * @example endOfTime("12:34:56", "hour") // "12:59:59.999999999"
@@ -30,5 +29,12 @@ export type EndOfTimeUnit = Temporal.SmallestUnit<Temporal.TimeUnit | "day">;
30
29
  * @example endOfTime("invalid", "hour") // ""
31
30
  */
32
31
  export declare function endOfTime(value: string, unit: EndOfTimeUnit, optionsArg?: {
32
+ /**
33
+ * The number of fractional-second digits the result is written with, `0` to `9`, or `"auto"` to
34
+ * drop trailing zeros. Fewer than 9 digits truncate the string, as Temporal's `toString` does,
35
+ * so it names a moment before the end.
36
+ *
37
+ * @defaultValue `9`
38
+ */
33
39
  fractionalSecondDigits?: FractionalDigit;
34
40
  }): string;
@@ -15,7 +15,6 @@ const supported = [
15
15
  /**
16
16
  * Return the end of the specified time `unit` for a given ISO 8601 time string.
17
17
  *
18
- * - The end is written at nanosecond precision by default, so the string names the end itself; an explicit `fractionalSecondDigits` (0, 3, 6 or 9) truncates it, as Temporal's `toString` does.
19
18
  * - `unit` accepts the singular or plural name (`"hour"` or `"hours"`), as Temporal does.
20
19
  * - Returns "" for invalid inputs.
21
20
  * - **Compatibility:** before 1.16.0 the default printed only the digits the unit names — none for
@@ -24,7 +23,7 @@ const supported = [
24
23
  *
25
24
  * @param value ISO 8601 time string
26
25
  * @param unit EndOfTimeUnit to specify the unit for the end
27
- * @param optionsArg optional: fractionalSecondDigits (number)
26
+ * @param optionsArg How the result is written
28
27
  * @returns ISO 8601 string representing the end of the specified unit, or "" on invalid input
29
28
  *
30
29
  * @example endOfTime("12:34:56", "hour") // "12:59:59.999999999"
@@ -7,21 +7,21 @@
7
7
  * - Week 1 is the week starting on `locale`'s first day of week that holds at least `minimalDays`
8
8
  * days of January (UTS #35 Part 4, Week Data). The first day of week comes from
9
9
  * `Intl.Locale.prototype.getWeekInfo`.
10
- * - **`minimalDays` defaults to `4`, the ISO 8601 rule, on every runtime.** ECMA-402 does not expose
11
- * a locale's minimal days: Intl Locale Info returns only `firstDay` and `weekend`
12
- * (tc39/proposal-intl-locale-info#86), so older runtimes that still reported it disagreed with
13
- * newer ones about the same date. Pass CLDR's value when you need a locale's own rule: in CLDR 48
14
- * `weekData`, the world default (`001`) is `1` — week 1 always contains January 1, as in `US`,
15
- * `CA`, `MX`, `JP` and `CN` — and `4` is set for a list of mostly European regions such as `GB`,
16
- * `DE` and `FR`, where it matches this default.
17
- * - Returns null if `value` or `locale` is invalid, or if `minimalDays` is not an integer from 1 to 7.
10
+ * - The minimal-days rule comes from the caller, never the runtime, so one input has one answer
11
+ * everywhere. ECMA-402 does not expose a locale's minimal days: Intl Locale Info returns only
12
+ * `firstDay` and `weekend` (tc39/proposal-intl-locale-info#86), so older runtimes that still
13
+ * reported it disagreed with newer ones about the same date. Pass CLDR's value when you need a
14
+ * locale's own rule: in CLDR 48 `weekData`, the world default (`001`) is `1`, as in `US`, `CA`,
15
+ * `MX`, `JP` and `CN`, and `4` is set for a list of mostly European regions such as `GB`, `DE`
16
+ * and `FR`.
17
+ * - Returns null if `value` or `locale` is invalid.
18
18
  * - **Compatibility:** before 1.16.0 the default read the runtime's `minimalDays` where one was
19
19
  * exposed (Node 22), so a locale such as `en-US` got `1` there and `4` on Node 24 and later. Pass
20
20
  * `{ minimalDays: 1 }` to keep the Node 22 result for such a locale on every runtime.
21
21
  *
22
22
  * @param value ISO PlainDate string
23
23
  * @param locale BCP 47 locale tag (e.g. "en-US", "fr-FR"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns null
24
- * @param options optional: minimalDays (integer 1–7, default 4)
24
+ * @param options The minimal-days-in-first-week rule
25
25
  * @returns locale-relative week-numbering year, or null on invalid input
26
26
  *
27
27
  * @example getLocaleWeekYear("2024-06-15", "en-US") // 2024
@@ -34,5 +34,12 @@
34
34
  * @example getLocaleWeekYear("2024-12-29", ["en-US", "fr-FR"]) // 2025
35
35
  */
36
36
  export declare function getLocaleWeekYear(value: string, locale: string | string[], options?: {
37
+ /**
38
+ * How many days of January the first week must hold to be week 1 (UTS #35 Part 4, Week
39
+ * Data). `4` is the ISO 8601 rule; `1` puts January 1 in week 1 every year, as CLDR's world
40
+ * default does. A value that is not an integer from 1 to 7 returns `null`.
41
+ *
42
+ * @defaultValue `4`
43
+ */
37
44
  minimalDays?: number;
38
45
  }): number | null;
@@ -12,21 +12,21 @@ import { isOptionsArgument } from "../../internal/isObject.js";
12
12
  * - Week 1 is the week starting on `locale`'s first day of week that holds at least `minimalDays`
13
13
  * days of January (UTS #35 Part 4, Week Data). The first day of week comes from
14
14
  * `Intl.Locale.prototype.getWeekInfo`.
15
- * - **`minimalDays` defaults to `4`, the ISO 8601 rule, on every runtime.** ECMA-402 does not expose
16
- * a locale's minimal days: Intl Locale Info returns only `firstDay` and `weekend`
17
- * (tc39/proposal-intl-locale-info#86), so older runtimes that still reported it disagreed with
18
- * newer ones about the same date. Pass CLDR's value when you need a locale's own rule: in CLDR 48
19
- * `weekData`, the world default (`001`) is `1` — week 1 always contains January 1, as in `US`,
20
- * `CA`, `MX`, `JP` and `CN` — and `4` is set for a list of mostly European regions such as `GB`,
21
- * `DE` and `FR`, where it matches this default.
22
- * - Returns null if `value` or `locale` is invalid, or if `minimalDays` is not an integer from 1 to 7.
15
+ * - The minimal-days rule comes from the caller, never the runtime, so one input has one answer
16
+ * everywhere. ECMA-402 does not expose a locale's minimal days: Intl Locale Info returns only
17
+ * `firstDay` and `weekend` (tc39/proposal-intl-locale-info#86), so older runtimes that still
18
+ * reported it disagreed with newer ones about the same date. Pass CLDR's value when you need a
19
+ * locale's own rule: in CLDR 48 `weekData`, the world default (`001`) is `1`, as in `US`, `CA`,
20
+ * `MX`, `JP` and `CN`, and `4` is set for a list of mostly European regions such as `GB`, `DE`
21
+ * and `FR`.
22
+ * - Returns null if `value` or `locale` is invalid.
23
23
  * - **Compatibility:** before 1.16.0 the default read the runtime's `minimalDays` where one was
24
24
  * exposed (Node 22), so a locale such as `en-US` got `1` there and `4` on Node 24 and later. Pass
25
25
  * `{ minimalDays: 1 }` to keep the Node 22 result for such a locale on every runtime.
26
26
  *
27
27
  * @param value ISO PlainDate string
28
28
  * @param locale BCP 47 locale tag (e.g. "en-US", "fr-FR"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns null
29
- * @param options optional: minimalDays (integer 1–7, default 4)
29
+ * @param options The minimal-days-in-first-week rule
30
30
  * @returns locale-relative week-numbering year, or null on invalid input
31
31
  *
32
32
  * @example getLocaleWeekYear("2024-06-15", "en-US") // 2024
@@ -3,10 +3,13 @@
3
3
  * grid, using `locale`'s first day of week.
4
4
  *
5
5
  * - Week 1 is the row containing the 1st of the month, even when that row
6
- * is a partial week (matches date-fns's `getWeekOfMonth`, verified
7
- * against date-fns source 2026-08-21) — this is the convention every
8
- * calendar-grid UI (and `@internationalized/date`'s `getWeeksInMonth`)
9
- * expects for sizing a month grid.
6
+ * is a partial week. This is GMT's own rule, not a standard's: a month
7
+ * grid draws every day of the month, so its first row always holds the 1st.
8
+ * - Not CLDR's week-of-month field (`W`, UTS #35): that count applies the
9
+ * locale's `minDays`, so a short leading week may not count as part of
10
+ * the month.
11
+ * - Comparison: date-fns's `getWeekOfMonth` returns the same number for the
12
+ * same first day of week.
10
13
  * - Distinct from ISO `weekOfYear`: this counts rows within a single
11
14
  * month's grid, reset every month, rather than weeks since Jan 1.
12
15
  * - Resolves the locale's first day of week via
@@ -7,10 +7,13 @@ import { isValidDate } from "../validate/index.js";
7
7
  * grid, using `locale`'s first day of week.
8
8
  *
9
9
  * - Week 1 is the row containing the 1st of the month, even when that row
10
- * is a partial week (matches date-fns's `getWeekOfMonth`, verified
11
- * against date-fns source 2026-08-21) — this is the convention every
12
- * calendar-grid UI (and `@internationalized/date`'s `getWeeksInMonth`)
13
- * expects for sizing a month grid.
10
+ * is a partial week. This is GMT's own rule, not a standard's: a month
11
+ * grid draws every day of the month, so its first row always holds the 1st.
12
+ * - Not CLDR's week-of-month field (`W`, UTS #35): that count applies the
13
+ * locale's `minDays`, so a short leading week may not count as part of
14
+ * the month.
15
+ * - Comparison: date-fns's `getWeekOfMonth` returns the same number for the
16
+ * same first day of week.
14
17
  * - Distinct from ISO `weekOfYear`: this counts rows within a single
15
18
  * month's grid, reset every month, rather than weeks since Jan 1.
16
19
  * - Resolves the locale's first day of week via
@@ -7,18 +7,18 @@
7
7
  * - Computed as the calendar days between this week-year's start and the next one's, divided by 7 —
8
8
  * always whole, since both starts fall on the locale's first day of week. Counted by day
9
9
  * arithmetic, so a start outside the representable range still counts.
10
- * - **`minimalDays` defaults to `4`, the ISO 8601 rule, on every runtime.** ECMA-402 does not expose
11
- * a locale's minimal days (tc39/proposal-intl-locale-info#86). CLDR 48's world default is `1`
12
- * (`US` included) and `4` is set for mostly European regions; pass the locale's value when it
13
- * differs. See `getLocaleWeekYear`.
14
- * - Returns null if `value` or `locale` is invalid, or if `minimalDays` is not an integer from 1 to 7.
10
+ * - The minimal-days rule comes from the caller, never the runtime: ECMA-402 does not expose a
11
+ * locale's minimal days (tc39/proposal-intl-locale-info#86). CLDR 48's world default is `1`
12
+ * (`US` included) and `4` is set for mostly European regions; pass the locale's value when you
13
+ * need its own rule. See `getLocaleWeekYear`.
14
+ * - Returns null if `value` or `locale` is invalid.
15
15
  * - **Compatibility:** before 1.16.0 the default read the runtime's `minimalDays` where one was
16
16
  * exposed (Node 22), so a locale such as `en-US` got `1` there and `4` on Node 24 and later. Pass
17
17
  * `{ minimalDays: 1 }` to keep the Node 22 result for such a locale on every runtime.
18
18
  *
19
19
  * @param value ISO PlainDate string
20
20
  * @param locale BCP 47 locale tag (e.g. "en-US", "fr-FR"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns null
21
- * @param options optional: minimalDays (integer 1–7, default 4)
21
+ * @param options The minimal-days-in-first-week rule
22
22
  * @returns 52 or 53, or null on invalid input
23
23
  *
24
24
  * @example getWeeksInLocaleWeekYear("2024-06-15", "en-US") // 52
@@ -31,5 +31,12 @@
31
31
  * @example getWeeksInLocaleWeekYear("2024-12-29", ["fr-FR", "en-US"]) // 52
32
32
  */
33
33
  export declare function getWeeksInLocaleWeekYear(value: string, locale: string | string[], options?: {
34
+ /**
35
+ * How many days of January the first week must hold to be week 1 (UTS #35 Part 4, Week
36
+ * Data). `4` is the ISO 8601 rule; `1` puts January 1 in week 1 every year, as CLDR's world
37
+ * default does. A value that is not an integer from 1 to 7 returns `null`.
38
+ *
39
+ * @defaultValue `4`
40
+ */
34
41
  minimalDays?: number;
35
42
  }): number | null;
@@ -12,18 +12,18 @@ import { isOptionsArgument } from "../../internal/isObject.js";
12
12
  * - Computed as the calendar days between this week-year's start and the next one's, divided by 7 —
13
13
  * always whole, since both starts fall on the locale's first day of week. Counted by day
14
14
  * arithmetic, so a start outside the representable range still counts.
15
- * - **`minimalDays` defaults to `4`, the ISO 8601 rule, on every runtime.** ECMA-402 does not expose
16
- * a locale's minimal days (tc39/proposal-intl-locale-info#86). CLDR 48's world default is `1`
17
- * (`US` included) and `4` is set for mostly European regions; pass the locale's value when it
18
- * differs. See `getLocaleWeekYear`.
19
- * - Returns null if `value` or `locale` is invalid, or if `minimalDays` is not an integer from 1 to 7.
15
+ * - The minimal-days rule comes from the caller, never the runtime: ECMA-402 does not expose a
16
+ * locale's minimal days (tc39/proposal-intl-locale-info#86). CLDR 48's world default is `1`
17
+ * (`US` included) and `4` is set for mostly European regions; pass the locale's value when you
18
+ * need its own rule. See `getLocaleWeekYear`.
19
+ * - Returns null if `value` or `locale` is invalid.
20
20
  * - **Compatibility:** before 1.16.0 the default read the runtime's `minimalDays` where one was
21
21
  * exposed (Node 22), so a locale such as `en-US` got `1` there and `4` on Node 24 and later. Pass
22
22
  * `{ minimalDays: 1 }` to keep the Node 22 result for such a locale on every runtime.
23
23
  *
24
24
  * @param value ISO PlainDate string
25
25
  * @param locale BCP 47 locale tag (e.g. "en-US", "fr-FR"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns null
26
- * @param options optional: minimalDays (integer 1–7, default 4)
26
+ * @param options The minimal-days-in-first-week rule
27
27
  * @returns 52 or 53, or null on invalid input
28
28
  *
29
29
  * @example getWeeksInLocaleWeekYear("2024-06-15", "en-US") // 52