@northguild/gmt 1.14.2

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 (1286) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1626 -0
  3. package/dist/duration/calculate/absDuration.d.ts +20 -0
  4. package/dist/duration/calculate/absDuration.js +32 -0
  5. package/dist/duration/calculate/addDuration.d.ts +20 -0
  6. package/dist/duration/calculate/addDuration.js +32 -0
  7. package/dist/duration/calculate/durationAs.d.ts +38 -0
  8. package/dist/duration/calculate/durationAs.js +52 -0
  9. package/dist/duration/calculate/getDurationSign.d.ts +22 -0
  10. package/dist/duration/calculate/getDurationSign.js +34 -0
  11. package/dist/duration/calculate/getDurationUnit.d.ts +31 -0
  12. package/dist/duration/calculate/getDurationUnit.js +43 -0
  13. package/dist/duration/calculate/index.d.ts +7 -0
  14. package/dist/duration/calculate/index.js +7 -0
  15. package/dist/duration/calculate/negateDuration.d.ts +20 -0
  16. package/dist/duration/calculate/negateDuration.js +32 -0
  17. package/dist/duration/calculate/subtractDuration.d.ts +21 -0
  18. package/dist/duration/calculate/subtractDuration.js +33 -0
  19. package/dist/duration/compare/compareDurations.d.ts +37 -0
  20. package/dist/duration/compare/compareDurations.js +49 -0
  21. package/dist/duration/compare/index.d.ts +1 -0
  22. package/dist/duration/compare/index.js +1 -0
  23. package/dist/duration/format/formatDuration.d.ts +37 -0
  24. package/dist/duration/format/formatDuration.js +93 -0
  25. package/dist/duration/format/index.d.ts +1 -0
  26. package/dist/duration/format/index.js +1 -0
  27. package/dist/duration/index.d.ts +6 -0
  28. package/dist/duration/index.js +6 -0
  29. package/dist/duration/normalize/index.d.ts +1 -0
  30. package/dist/duration/normalize/index.js +1 -0
  31. package/dist/duration/normalize/normalizeDuration.d.ts +36 -0
  32. package/dist/duration/normalize/normalizeDuration.js +49 -0
  33. package/dist/duration/parse/index.d.ts +1 -0
  34. package/dist/duration/parse/index.js +1 -0
  35. package/dist/duration/parse/parseDuration.d.ts +24 -0
  36. package/dist/duration/parse/parseDuration.js +35 -0
  37. package/dist/duration/validate/index.d.ts +1 -0
  38. package/dist/duration/validate/index.js +1 -0
  39. package/dist/duration/validate/isValidDuration.d.ts +16 -0
  40. package/dist/duration/validate/isValidDuration.js +28 -0
  41. package/dist/index.d.ts +7 -0
  42. package/dist/index.js +7 -0
  43. package/dist/internal/adjustZonedBusinessDays.d.ts +1 -0
  44. package/dist/internal/adjustZonedBusinessDays.js +16 -0
  45. package/dist/internal/advanceBusinessDays.d.ts +2 -0
  46. package/dist/internal/advanceBusinessDays.js +15 -0
  47. package/dist/internal/advanceToWeekday.d.ts +12 -0
  48. package/dist/internal/advanceToWeekday.js +24 -0
  49. package/dist/internal/calendarDatePairPolicy.d.ts +25 -0
  50. package/dist/internal/calendarDatePairPolicy.js +33 -0
  51. package/dist/internal/calendarDateString.d.ts +65 -0
  52. package/dist/internal/calendarDateString.js +103 -0
  53. package/dist/internal/calendarSystemIds.d.ts +4 -0
  54. package/dist/internal/calendarSystemIds.js +55 -0
  55. package/dist/internal/calendarValueOfDate.d.ts +22 -0
  56. package/dist/internal/calendarValueOfDate.js +41 -0
  57. package/dist/internal/calendarValueOfZoned.d.ts +38 -0
  58. package/dist/internal/calendarValueOfZoned.js +58 -0
  59. package/dist/internal/calendarZonedPairPolicy.d.ts +31 -0
  60. package/dist/internal/calendarZonedPairPolicy.js +39 -0
  61. package/dist/internal/calendarZonedString.d.ts +77 -0
  62. package/dist/internal/calendarZonedString.js +120 -0
  63. package/dist/internal/cycleFieldValue.d.ts +30 -0
  64. package/dist/internal/cycleFieldValue.js +48 -0
  65. package/dist/internal/dateCycleFieldBounds.d.ts +25 -0
  66. package/dist/internal/dateCycleFieldBounds.js +27 -0
  67. package/dist/internal/dateTimeUnitHelpers.d.ts +27 -0
  68. package/dist/internal/dateTimeUnitHelpers.js +50 -0
  69. package/dist/internal/dateUnitHelpers.d.ts +23 -0
  70. package/dist/internal/dateUnitHelpers.js +46 -0
  71. package/dist/internal/durationUntilString.d.ts +17 -0
  72. package/dist/internal/durationUntilString.js +13 -0
  73. package/dist/internal/englishCalendarNames.d.ts +2 -0
  74. package/dist/internal/englishCalendarNames.js +30 -0
  75. package/dist/internal/ethiopicFamilyCalendar.d.ts +47 -0
  76. package/dist/internal/ethiopicFamilyCalendar.js +136 -0
  77. package/dist/internal/formatDateInCalendar.d.ts +47 -0
  78. package/dist/internal/formatDateInCalendar.js +54 -0
  79. package/dist/internal/getLocaleFirstDayOfWeek.d.ts +11 -0
  80. package/dist/internal/getLocaleFirstDayOfWeek.js +26 -0
  81. package/dist/internal/getLocaleMinimalDaysInFirstWeek.d.ts +20 -0
  82. package/dist/internal/getLocaleMinimalDaysInFirstWeek.js +31 -0
  83. package/dist/internal/getLocaleWeekYearBounds.d.ts +19 -0
  84. package/dist/internal/getLocaleWeekYearBounds.js +44 -0
  85. package/dist/internal/getLocaleWeekendDays.d.ts +22 -0
  86. package/dist/internal/getLocaleWeekendDays.js +20 -0
  87. package/dist/internal/hasCalendarAnnotation.d.ts +27 -0
  88. package/dist/internal/hasCalendarAnnotation.js +29 -0
  89. package/dist/internal/index.d.ts +34 -0
  90. package/dist/internal/index.js +34 -0
  91. package/dist/internal/intervalCountHelpers.d.ts +26 -0
  92. package/dist/internal/intervalCountHelpers.js +62 -0
  93. package/dist/internal/isValidAmount.d.ts +9 -0
  94. package/dist/internal/isValidAmount.js +11 -0
  95. package/dist/internal/isValidDayOfWeek.d.ts +11 -0
  96. package/dist/internal/isValidDayOfWeek.js +13 -0
  97. package/dist/internal/joinDateTimeConnector.d.ts +37 -0
  98. package/dist/internal/joinDateTimeConnector.js +85 -0
  99. package/dist/internal/monthGridWeekRow.d.ts +12 -0
  100. package/dist/internal/monthGridWeekRow.js +14 -0
  101. package/dist/internal/normalizeDateTime.d.ts +14 -0
  102. package/dist/internal/normalizeDateTime.js +34 -0
  103. package/dist/internal/normalizeTimeZone.d.ts +14 -0
  104. package/dist/internal/normalizeTimeZone.js +22 -0
  105. package/dist/internal/patternToken.d.ts +45 -0
  106. package/dist/internal/patternToken.js +385 -0
  107. package/dist/internal/resolveDateTimeUnit.d.ts +11 -0
  108. package/dist/internal/resolveDateTimeUnit.js +23 -0
  109. package/dist/internal/resolveDurationRelativeTo.d.ts +29 -0
  110. package/dist/internal/resolveDurationRelativeTo.js +35 -0
  111. package/dist/internal/resolveDurationUnit.d.ts +10 -0
  112. package/dist/internal/resolveDurationUnit.js +23 -0
  113. package/dist/internal/resolveOverflow.d.ts +10 -0
  114. package/dist/internal/resolveOverflow.js +11 -0
  115. package/dist/internal/resolveRelativeRounding.d.ts +19 -0
  116. package/dist/internal/resolveRelativeRounding.js +20 -0
  117. package/dist/internal/resolveUnixTimeZone.d.ts +20 -0
  118. package/dist/internal/resolveUnixTimeZone.js +30 -0
  119. package/dist/internal/timeCycleFieldBounds.d.ts +16 -0
  120. package/dist/internal/timeCycleFieldBounds.js +24 -0
  121. package/dist/internal/toInstantFromUtc.d.ts +2 -0
  122. package/dist/internal/toInstantFromUtc.js +11 -0
  123. package/dist/plain/calculate/addBusinessDays.d.ts +17 -0
  124. package/dist/plain/calculate/addBusinessDays.js +35 -0
  125. package/dist/plain/calculate/addDate.d.ts +35 -0
  126. package/dist/plain/calculate/addDate.js +55 -0
  127. package/dist/plain/calculate/addDateTime.d.ts +22 -0
  128. package/dist/plain/calculate/addDateTime.js +38 -0
  129. package/dist/plain/calculate/addTime.d.ts +22 -0
  130. package/dist/plain/calculate/addTime.js +38 -0
  131. package/dist/plain/calculate/clampDate.d.ts +20 -0
  132. package/dist/plain/calculate/clampDate.js +46 -0
  133. package/dist/plain/calculate/closestDateTo.d.ts +18 -0
  134. package/dist/plain/calculate/closestDateTo.js +43 -0
  135. package/dist/plain/calculate/cycleDate.d.ts +44 -0
  136. package/dist/plain/calculate/cycleDate.js +56 -0
  137. package/dist/plain/calculate/cycleDateTime.d.ts +38 -0
  138. package/dist/plain/calculate/cycleDateTime.js +52 -0
  139. package/dist/plain/calculate/cycleTime.d.ts +38 -0
  140. package/dist/plain/calculate/cycleTime.js +50 -0
  141. package/dist/plain/calculate/diffDate.d.ts +32 -0
  142. package/dist/plain/calculate/diffDate.js +64 -0
  143. package/dist/plain/calculate/diffDateAsDuration.d.ts +36 -0
  144. package/dist/plain/calculate/diffDateAsDuration.js +49 -0
  145. package/dist/plain/calculate/diffDateTime.d.ts +25 -0
  146. package/dist/plain/calculate/diffDateTime.js +57 -0
  147. package/dist/plain/calculate/diffDateTimeAsDuration.d.ts +33 -0
  148. package/dist/plain/calculate/diffDateTimeAsDuration.js +48 -0
  149. package/dist/plain/calculate/diffTime.d.ts +25 -0
  150. package/dist/plain/calculate/diffTime.js +56 -0
  151. package/dist/plain/calculate/endOfDate.d.ts +17 -0
  152. package/dist/plain/calculate/endOfDate.js +51 -0
  153. package/dist/plain/calculate/endOfDateTime.d.ts +19 -0
  154. package/dist/plain/calculate/endOfDateTime.js +138 -0
  155. package/dist/plain/calculate/endOfQuarterForDate.d.ts +17 -0
  156. package/dist/plain/calculate/endOfQuarterForDate.js +34 -0
  157. package/dist/plain/calculate/endOfQuarterForDateTime.d.ts +15 -0
  158. package/dist/plain/calculate/endOfQuarterForDateTime.js +48 -0
  159. package/dist/plain/calculate/endOfTime.d.ts +20 -0
  160. package/dist/plain/calculate/endOfTime.js +91 -0
  161. package/dist/plain/calculate/getDayOfYear.d.ts +16 -0
  162. package/dist/plain/calculate/getDayOfYear.js +28 -0
  163. package/dist/plain/calculate/getDaysInMonth.d.ts +16 -0
  164. package/dist/plain/calculate/getDaysInMonth.js +28 -0
  165. package/dist/plain/calculate/getDaysInYear.d.ts +14 -0
  166. package/dist/plain/calculate/getDaysInYear.js +26 -0
  167. package/dist/plain/calculate/getLargestDateDurationUnit.d.ts +16 -0
  168. package/dist/plain/calculate/getLargestDateDurationUnit.js +24 -0
  169. package/dist/plain/calculate/getLargestDateTimeDurationUnit.d.ts +16 -0
  170. package/dist/plain/calculate/getLargestDateTimeDurationUnit.js +35 -0
  171. package/dist/plain/calculate/getLargestTimeDurationUnit.d.ts +16 -0
  172. package/dist/plain/calculate/getLargestTimeDurationUnit.js +31 -0
  173. package/dist/plain/calculate/getLocaleDayOfWeek.d.ts +20 -0
  174. package/dist/plain/calculate/getLocaleDayOfWeek.js +36 -0
  175. package/dist/plain/calculate/getLocaleEndOfWeek.d.ts +23 -0
  176. package/dist/plain/calculate/getLocaleEndOfWeek.js +40 -0
  177. package/dist/plain/calculate/getLocaleStartOfWeek.d.ts +23 -0
  178. package/dist/plain/calculate/getLocaleStartOfWeek.js +40 -0
  179. package/dist/plain/calculate/getLocaleWeekYear.d.ts +28 -0
  180. package/dist/plain/calculate/getLocaleWeekYear.js +45 -0
  181. package/dist/plain/calculate/getQuarterForDate.d.ts +17 -0
  182. package/dist/plain/calculate/getQuarterForDate.js +30 -0
  183. package/dist/plain/calculate/getQuarterForDateTime.d.ts +17 -0
  184. package/dist/plain/calculate/getQuarterForDateTime.js +30 -0
  185. package/dist/plain/calculate/getWeekNumber.d.ts +17 -0
  186. package/dist/plain/calculate/getWeekNumber.js +39 -0
  187. package/dist/plain/calculate/getWeekOfMonth.d.ts +26 -0
  188. package/dist/plain/calculate/getWeekOfMonth.js +43 -0
  189. package/dist/plain/calculate/getWeekYear.d.ts +21 -0
  190. package/dist/plain/calculate/getWeekYear.js +33 -0
  191. package/dist/plain/calculate/getWeeksInLocaleWeekYear.d.ts +24 -0
  192. package/dist/plain/calculate/getWeeksInLocaleWeekYear.js +43 -0
  193. package/dist/plain/calculate/getWeeksInMonth.d.ts +23 -0
  194. package/dist/plain/calculate/getWeeksInMonth.js +40 -0
  195. package/dist/plain/calculate/getWeeksInYear.d.ts +23 -0
  196. package/dist/plain/calculate/getWeeksInYear.js +43 -0
  197. package/dist/plain/calculate/index.d.ts +64 -0
  198. package/dist/plain/calculate/index.js +64 -0
  199. package/dist/plain/calculate/maxDate.d.ts +13 -0
  200. package/dist/plain/calculate/maxDate.js +33 -0
  201. package/dist/plain/calculate/maxDateTime.d.ts +13 -0
  202. package/dist/plain/calculate/maxDateTime.js +33 -0
  203. package/dist/plain/calculate/maxTime.d.ts +13 -0
  204. package/dist/plain/calculate/maxTime.js +33 -0
  205. package/dist/plain/calculate/minDate.d.ts +13 -0
  206. package/dist/plain/calculate/minDate.js +33 -0
  207. package/dist/plain/calculate/minDateTime.d.ts +13 -0
  208. package/dist/plain/calculate/minDateTime.js +33 -0
  209. package/dist/plain/calculate/minTime.d.ts +13 -0
  210. package/dist/plain/calculate/minTime.js +33 -0
  211. package/dist/plain/calculate/nextWeekday.d.ts +36 -0
  212. package/dist/plain/calculate/nextWeekday.js +47 -0
  213. package/dist/plain/calculate/previousWeekday.d.ts +36 -0
  214. package/dist/plain/calculate/previousWeekday.js +47 -0
  215. package/dist/plain/calculate/roundDate.d.ts +26 -0
  216. package/dist/plain/calculate/roundDate.js +72 -0
  217. package/dist/plain/calculate/roundDateTime.d.ts +26 -0
  218. package/dist/plain/calculate/roundDateTime.js +98 -0
  219. package/dist/plain/calculate/roundTime.d.ts +22 -0
  220. package/dist/plain/calculate/roundTime.js +42 -0
  221. package/dist/plain/calculate/setDate.d.ts +32 -0
  222. package/dist/plain/calculate/setDate.js +47 -0
  223. package/dist/plain/calculate/setDateTime.d.ts +31 -0
  224. package/dist/plain/calculate/setDateTime.js +46 -0
  225. package/dist/plain/calculate/setTime.d.ts +31 -0
  226. package/dist/plain/calculate/setTime.js +46 -0
  227. package/dist/plain/calculate/sortDateTimes.d.ts +14 -0
  228. package/dist/plain/calculate/sortDateTimes.js +33 -0
  229. package/dist/plain/calculate/sortDates.d.ts +14 -0
  230. package/dist/plain/calculate/sortDates.js +33 -0
  231. package/dist/plain/calculate/sortTimes.d.ts +14 -0
  232. package/dist/plain/calculate/sortTimes.js +33 -0
  233. package/dist/plain/calculate/startOfDate.d.ts +17 -0
  234. package/dist/plain/calculate/startOfDate.js +50 -0
  235. package/dist/plain/calculate/startOfDateTime.d.ts +19 -0
  236. package/dist/plain/calculate/startOfDateTime.js +85 -0
  237. package/dist/plain/calculate/startOfQuarterForDate.d.ts +17 -0
  238. package/dist/plain/calculate/startOfQuarterForDate.js +32 -0
  239. package/dist/plain/calculate/startOfQuarterForDateTime.d.ts +15 -0
  240. package/dist/plain/calculate/startOfQuarterForDateTime.js +32 -0
  241. package/dist/plain/calculate/startOfTime.d.ts +20 -0
  242. package/dist/plain/calculate/startOfTime.js +69 -0
  243. package/dist/plain/calculate/subtractBusinessDays.d.ts +18 -0
  244. package/dist/plain/calculate/subtractBusinessDays.js +36 -0
  245. package/dist/plain/calculate/subtractDate.d.ts +27 -0
  246. package/dist/plain/calculate/subtractDate.js +47 -0
  247. package/dist/plain/calculate/subtractDateTime.d.ts +22 -0
  248. package/dist/plain/calculate/subtractDateTime.js +38 -0
  249. package/dist/plain/calculate/subtractTime.d.ts +22 -0
  250. package/dist/plain/calculate/subtractTime.js +38 -0
  251. package/dist/plain/calculate/weekOfYear.d.ts +30 -0
  252. package/dist/plain/calculate/weekOfYear.js +57 -0
  253. package/dist/plain/chop/chopDate.d.ts +13 -0
  254. package/dist/plain/chop/chopDate.js +24 -0
  255. package/dist/plain/chop/chopMilliseconds.d.ts +15 -0
  256. package/dist/plain/chop/chopMilliseconds.js +34 -0
  257. package/dist/plain/chop/chopSeconds.d.ts +15 -0
  258. package/dist/plain/chop/chopSeconds.js +34 -0
  259. package/dist/plain/chop/chopTime.d.ts +13 -0
  260. package/dist/plain/chop/chopTime.js +24 -0
  261. package/dist/plain/chop/index.d.ts +5 -0
  262. package/dist/plain/chop/index.js +5 -0
  263. package/dist/plain/compare/areDateTimesEqual.d.ts +15 -0
  264. package/dist/plain/compare/areDateTimesEqual.js +37 -0
  265. package/dist/plain/compare/areDateTimesEqualBy.d.ts +37 -0
  266. package/dist/plain/compare/areDateTimesEqualBy.js +49 -0
  267. package/dist/plain/compare/areDatesEqual.d.ts +17 -0
  268. package/dist/plain/compare/areDatesEqual.js +33 -0
  269. package/dist/plain/compare/areDatesEqualBy.d.ts +34 -0
  270. package/dist/plain/compare/areDatesEqualBy.js +54 -0
  271. package/dist/plain/compare/areTimesEqual.d.ts +18 -0
  272. package/dist/plain/compare/areTimesEqual.js +37 -0
  273. package/dist/plain/compare/index.d.ts +20 -0
  274. package/dist/plain/compare/index.js +20 -0
  275. package/dist/plain/compare/isAfterDate.d.ts +16 -0
  276. package/dist/plain/compare/isAfterDate.js +28 -0
  277. package/dist/plain/compare/isAfterDateTime.d.ts +17 -0
  278. package/dist/plain/compare/isAfterDateTime.js +29 -0
  279. package/dist/plain/compare/isAfterTime.d.ts +17 -0
  280. package/dist/plain/compare/isAfterTime.js +29 -0
  281. package/dist/plain/compare/isBeforeDate.d.ts +17 -0
  282. package/dist/plain/compare/isBeforeDate.js +29 -0
  283. package/dist/plain/compare/isBeforeDateTime.d.ts +17 -0
  284. package/dist/plain/compare/isBeforeDateTime.js +29 -0
  285. package/dist/plain/compare/isBeforeTime.d.ts +17 -0
  286. package/dist/plain/compare/isBeforeTime.js +29 -0
  287. package/dist/plain/compare/isBetweenDate.d.ts +26 -0
  288. package/dist/plain/compare/isBetweenDate.js +49 -0
  289. package/dist/plain/compare/isBetweenDateTime.d.ts +26 -0
  290. package/dist/plain/compare/isBetweenDateTime.js +51 -0
  291. package/dist/plain/compare/isBetweenTime.d.ts +28 -0
  292. package/dist/plain/compare/isBetweenTime.js +51 -0
  293. package/dist/plain/compare/isBusinessDay.d.ts +21 -0
  294. package/dist/plain/compare/isBusinessDay.js +33 -0
  295. package/dist/plain/compare/isFuture.d.ts +21 -0
  296. package/dist/plain/compare/isFuture.js +33 -0
  297. package/dist/plain/compare/isPast.d.ts +21 -0
  298. package/dist/plain/compare/isPast.js +33 -0
  299. package/dist/plain/compare/isRelativeDay.d.ts +32 -0
  300. package/dist/plain/compare/isRelativeDay.js +49 -0
  301. package/dist/plain/compare/isThisUnit.d.ts +35 -0
  302. package/dist/plain/compare/isThisUnit.js +52 -0
  303. package/dist/plain/compare/isWeekend.d.ts +21 -0
  304. package/dist/plain/compare/isWeekend.js +37 -0
  305. package/dist/plain/convert/convertDateToCalendar.d.ts +44 -0
  306. package/dist/plain/convert/convertDateToCalendar.js +59 -0
  307. package/dist/plain/convert/index.d.ts +1 -0
  308. package/dist/plain/convert/index.js +1 -0
  309. package/dist/plain/format/formatCalendar.d.ts +43 -0
  310. package/dist/plain/format/formatCalendar.js +70 -0
  311. package/dist/plain/format/formatDate.d.ts +17 -0
  312. package/dist/plain/format/formatDate.js +31 -0
  313. package/dist/plain/format/formatDateRange.d.ts +19 -0
  314. package/dist/plain/format/formatDateRange.js +33 -0
  315. package/dist/plain/format/formatDateTime.d.ts +17 -0
  316. package/dist/plain/format/formatDateTime.js +31 -0
  317. package/dist/plain/format/formatDateTimeRange.d.ts +19 -0
  318. package/dist/plain/format/formatDateTimeRange.js +33 -0
  319. package/dist/plain/format/formatDateTimeToParts.d.ts +28 -0
  320. package/dist/plain/format/formatDateTimeToParts.js +48 -0
  321. package/dist/plain/format/formatDateToParts.d.ts +27 -0
  322. package/dist/plain/format/formatDateToParts.js +47 -0
  323. package/dist/plain/format/formatRelativeDate.d.ts +32 -0
  324. package/dist/plain/format/formatRelativeDate.js +57 -0
  325. package/dist/plain/format/formatRelativeDateTime.d.ts +32 -0
  326. package/dist/plain/format/formatRelativeDateTime.js +57 -0
  327. package/dist/plain/format/formatRelativeTime.d.ts +32 -0
  328. package/dist/plain/format/formatRelativeTime.js +49 -0
  329. package/dist/plain/format/formatSql.d.ts +20 -0
  330. package/dist/plain/format/formatSql.js +31 -0
  331. package/dist/plain/format/formatTime.d.ts +17 -0
  332. package/dist/plain/format/formatTime.js +31 -0
  333. package/dist/plain/format/index.d.ts +12 -0
  334. package/dist/plain/format/index.js +12 -0
  335. package/dist/plain/get/getDay.d.ts +13 -0
  336. package/dist/plain/get/getDay.js +27 -0
  337. package/dist/plain/get/getDayOfWeek.d.ts +13 -0
  338. package/dist/plain/get/getDayOfWeek.js +26 -0
  339. package/dist/plain/get/getHour.d.ts +13 -0
  340. package/dist/plain/get/getHour.js +27 -0
  341. package/dist/plain/get/getMicrosecond.d.ts +13 -0
  342. package/dist/plain/get/getMicrosecond.js +27 -0
  343. package/dist/plain/get/getMillisecond.d.ts +13 -0
  344. package/dist/plain/get/getMillisecond.js +27 -0
  345. package/dist/plain/get/getMinute.d.ts +13 -0
  346. package/dist/plain/get/getMinute.js +27 -0
  347. package/dist/plain/get/getMonth.d.ts +13 -0
  348. package/dist/plain/get/getMonth.js +27 -0
  349. package/dist/plain/get/getNanosecond.d.ts +13 -0
  350. package/dist/plain/get/getNanosecond.js +27 -0
  351. package/dist/plain/get/getNow.d.ts +11 -0
  352. package/dist/plain/get/getNow.js +24 -0
  353. package/dist/plain/get/getNowUnit.d.ts +27 -0
  354. package/dist/plain/get/getNowUnit.js +72 -0
  355. package/dist/plain/get/getSecond.d.ts +13 -0
  356. package/dist/plain/get/getSecond.js +27 -0
  357. package/dist/plain/get/getToday.d.ts +11 -0
  358. package/dist/plain/get/getToday.js +24 -0
  359. package/dist/plain/get/getWeekOfYear.d.ts +13 -0
  360. package/dist/plain/get/getWeekOfYear.js +32 -0
  361. package/dist/plain/get/getYear.d.ts +13 -0
  362. package/dist/plain/get/getYear.js +27 -0
  363. package/dist/plain/get/index.d.ts +14 -0
  364. package/dist/plain/get/index.js +14 -0
  365. package/dist/plain/index.d.ts +12 -0
  366. package/dist/plain/index.js +13 -0
  367. package/dist/plain/interval/index.d.ts +51 -0
  368. package/dist/plain/interval/index.js +51 -0
  369. package/dist/plain/interval/intervalAbutsDate.d.ts +26 -0
  370. package/dist/plain/interval/intervalAbutsDate.js +68 -0
  371. package/dist/plain/interval/intervalAbutsDateTime.d.ts +22 -0
  372. package/dist/plain/interval/intervalAbutsDateTime.js +63 -0
  373. package/dist/plain/interval/intervalAbutsTime.d.ts +22 -0
  374. package/dist/plain/interval/intervalAbutsTime.js +63 -0
  375. package/dist/plain/interval/intervalContainsDate.d.ts +26 -0
  376. package/dist/plain/interval/intervalContainsDate.js +63 -0
  377. package/dist/plain/interval/intervalContainsDateTime.d.ts +24 -0
  378. package/dist/plain/interval/intervalContainsDateTime.js +60 -0
  379. package/dist/plain/interval/intervalContainsTime.d.ts +24 -0
  380. package/dist/plain/interval/intervalContainsTime.js +60 -0
  381. package/dist/plain/interval/intervalCountDate.d.ts +31 -0
  382. package/dist/plain/interval/intervalCountDate.js +62 -0
  383. package/dist/plain/interval/intervalCountDateTime.d.ts +26 -0
  384. package/dist/plain/interval/intervalCountDateTime.js +73 -0
  385. package/dist/plain/interval/intervalCountTime.d.ts +26 -0
  386. package/dist/plain/interval/intervalCountTime.js +67 -0
  387. package/dist/plain/interval/intervalDifferenceDate.d.ts +30 -0
  388. package/dist/plain/interval/intervalDifferenceDate.js +87 -0
  389. package/dist/plain/interval/intervalDifferenceDateTime.d.ts +24 -0
  390. package/dist/plain/interval/intervalDifferenceDateTime.js +69 -0
  391. package/dist/plain/interval/intervalDifferenceTime.d.ts +25 -0
  392. package/dist/plain/interval/intervalDifferenceTime.js +70 -0
  393. package/dist/plain/interval/intervalDivideEquallyDate.d.ts +33 -0
  394. package/dist/plain/interval/intervalDivideEquallyDate.js +70 -0
  395. package/dist/plain/interval/intervalDivideEquallyDateTime.d.ts +27 -0
  396. package/dist/plain/interval/intervalDivideEquallyDateTime.js +62 -0
  397. package/dist/plain/interval/intervalDivideEquallyTime.d.ts +28 -0
  398. package/dist/plain/interval/intervalDivideEquallyTime.js +63 -0
  399. package/dist/plain/interval/intervalEngulfsDate.d.ts +24 -0
  400. package/dist/plain/interval/intervalEngulfsDate.js +57 -0
  401. package/dist/plain/interval/intervalEngulfsDateTime.d.ts +22 -0
  402. package/dist/plain/interval/intervalEngulfsDateTime.js +54 -0
  403. package/dist/plain/interval/intervalEngulfsTime.d.ts +22 -0
  404. package/dist/plain/interval/intervalEngulfsTime.js +54 -0
  405. package/dist/plain/interval/intervalFromDurationDate.d.ts +39 -0
  406. package/dist/plain/interval/intervalFromDurationDate.js +71 -0
  407. package/dist/plain/interval/intervalFromDurationDateTime.d.ts +33 -0
  408. package/dist/plain/interval/intervalFromDurationDateTime.js +58 -0
  409. package/dist/plain/interval/intervalFromDurationTime.d.ts +38 -0
  410. package/dist/plain/interval/intervalFromDurationTime.js +69 -0
  411. package/dist/plain/interval/intervalIntersectionDate.d.ts +28 -0
  412. package/dist/plain/interval/intervalIntersectionDate.js +70 -0
  413. package/dist/plain/interval/intervalIntersectionDateTime.d.ts +23 -0
  414. package/dist/plain/interval/intervalIntersectionDateTime.js +57 -0
  415. package/dist/plain/interval/intervalIntersectionTime.d.ts +24 -0
  416. package/dist/plain/interval/intervalIntersectionTime.js +58 -0
  417. package/dist/plain/interval/intervalLengthDate.d.ts +31 -0
  418. package/dist/plain/interval/intervalLengthDate.js +56 -0
  419. package/dist/plain/interval/intervalLengthDateTime.d.ts +24 -0
  420. package/dist/plain/interval/intervalLengthDateTime.js +50 -0
  421. package/dist/plain/interval/intervalLengthTime.d.ts +23 -0
  422. package/dist/plain/interval/intervalLengthTime.js +49 -0
  423. package/dist/plain/interval/intervalOverlappingDaysDate.d.ts +33 -0
  424. package/dist/plain/interval/intervalOverlappingDaysDate.js +78 -0
  425. package/dist/plain/interval/intervalOverlappingDaysDateTime.d.ts +28 -0
  426. package/dist/plain/interval/intervalOverlappingDaysDateTime.js +67 -0
  427. package/dist/plain/interval/intervalSplitAtDate.d.ts +34 -0
  428. package/dist/plain/interval/intervalSplitAtDate.js +73 -0
  429. package/dist/plain/interval/intervalSplitAtDateTime.d.ts +28 -0
  430. package/dist/plain/interval/intervalSplitAtDateTime.js +62 -0
  431. package/dist/plain/interval/intervalSplitAtTime.d.ts +30 -0
  432. package/dist/plain/interval/intervalSplitAtTime.js +64 -0
  433. package/dist/plain/interval/intervalUnionDate.d.ts +29 -0
  434. package/dist/plain/interval/intervalUnionDate.js +71 -0
  435. package/dist/plain/interval/intervalUnionDateTime.d.ts +24 -0
  436. package/dist/plain/interval/intervalUnionDateTime.js +58 -0
  437. package/dist/plain/interval/intervalUnionTime.d.ts +24 -0
  438. package/dist/plain/interval/intervalUnionTime.js +58 -0
  439. package/dist/plain/interval/intervalXorAllDate.d.ts +35 -0
  440. package/dist/plain/interval/intervalXorAllDate.js +89 -0
  441. package/dist/plain/interval/intervalXorAllDateTime.d.ts +29 -0
  442. package/dist/plain/interval/intervalXorAllDateTime.js +77 -0
  443. package/dist/plain/interval/intervalXorAllTime.d.ts +28 -0
  444. package/dist/plain/interval/intervalXorAllTime.js +76 -0
  445. package/dist/plain/interval/intervalXorDate.d.ts +30 -0
  446. package/dist/plain/interval/intervalXorDate.js +106 -0
  447. package/dist/plain/interval/intervalXorDateTime.d.ts +25 -0
  448. package/dist/plain/interval/intervalXorDateTime.js +90 -0
  449. package/dist/plain/interval/intervalXorTime.d.ts +26 -0
  450. package/dist/plain/interval/intervalXorTime.js +91 -0
  451. package/dist/plain/interval/intervalsOverlapDate.d.ts +23 -0
  452. package/dist/plain/interval/intervalsOverlapDate.js +56 -0
  453. package/dist/plain/interval/intervalsOverlapDateTime.d.ts +20 -0
  454. package/dist/plain/interval/intervalsOverlapDateTime.js +52 -0
  455. package/dist/plain/interval/intervalsOverlapTime.d.ts +21 -0
  456. package/dist/plain/interval/intervalsOverlapTime.js +53 -0
  457. package/dist/plain/interval/mergeIntervalsDate.d.ts +31 -0
  458. package/dist/plain/interval/mergeIntervalsDate.js +67 -0
  459. package/dist/plain/interval/mergeIntervalsDateTime.d.ts +26 -0
  460. package/dist/plain/interval/mergeIntervalsDateTime.js +58 -0
  461. package/dist/plain/interval/mergeIntervalsTime.d.ts +26 -0
  462. package/dist/plain/interval/mergeIntervalsTime.js +57 -0
  463. package/dist/plain/interval/splitIntervalByUnitDate.d.ts +32 -0
  464. package/dist/plain/interval/splitIntervalByUnitDate.js +80 -0
  465. package/dist/plain/interval/splitIntervalByUnitDateTime.d.ts +24 -0
  466. package/dist/plain/interval/splitIntervalByUnitDateTime.js +72 -0
  467. package/dist/plain/interval/splitIntervalByUnitTime.d.ts +25 -0
  468. package/dist/plain/interval/splitIntervalByUnitTime.js +73 -0
  469. package/dist/plain/interval/validate/index.d.ts +3 -0
  470. package/dist/plain/interval/validate/index.js +3 -0
  471. package/dist/plain/interval/validate/isValidDateInterval.d.ts +21 -0
  472. package/dist/plain/interval/validate/isValidDateInterval.js +37 -0
  473. package/dist/plain/interval/validate/isValidDateTimeInterval.d.ts +18 -0
  474. package/dist/plain/interval/validate/isValidDateTimeInterval.js +33 -0
  475. package/dist/plain/interval/validate/isValidTimeInterval.d.ts +18 -0
  476. package/dist/plain/interval/validate/isValidTimeInterval.js +48 -0
  477. package/dist/plain/locale/getLocaleEraNames.d.ts +23 -0
  478. package/dist/plain/locale/getLocaleEraNames.js +66 -0
  479. package/dist/plain/locale/getLocaleMeridiems.d.ts +19 -0
  480. package/dist/plain/locale/getLocaleMeridiems.js +44 -0
  481. package/dist/plain/locale/getLocaleMonthNames.d.ts +28 -0
  482. package/dist/plain/locale/getLocaleMonthNames.js +45 -0
  483. package/dist/plain/locale/getLocaleWeekdayNames.d.ts +25 -0
  484. package/dist/plain/locale/getLocaleWeekdayNames.js +48 -0
  485. package/dist/plain/locale/index.d.ts +4 -0
  486. package/dist/plain/locale/index.js +4 -0
  487. package/dist/plain/map/index.d.ts +2 -0
  488. package/dist/plain/map/index.js +2 -0
  489. package/dist/plain/map/mapDatesInRange.d.ts +19 -0
  490. package/dist/plain/map/mapDatesInRange.js +46 -0
  491. package/dist/plain/map/mapDaysInMonth.d.ts +15 -0
  492. package/dist/plain/map/mapDaysInMonth.js +31 -0
  493. package/dist/plain/parse/index.d.ts +29 -0
  494. package/dist/plain/parse/index.js +29 -0
  495. package/dist/plain/parse/parseDateTimeWithPattern.d.ts +85 -0
  496. package/dist/plain/parse/parseDateTimeWithPattern.js +116 -0
  497. package/dist/plain/parse/parseDateWithPattern.d.ts +68 -0
  498. package/dist/plain/parse/parseDateWithPattern.js +91 -0
  499. package/dist/plain/parse/parseDayFromDate.d.ts +13 -0
  500. package/dist/plain/parse/parseDayFromDate.js +25 -0
  501. package/dist/plain/parse/parseDayFromDateTime.d.ts +14 -0
  502. package/dist/plain/parse/parseDayFromDateTime.js +26 -0
  503. package/dist/plain/parse/parseDayOfWeekFromDate.d.ts +15 -0
  504. package/dist/plain/parse/parseDayOfWeekFromDate.js +28 -0
  505. package/dist/plain/parse/parseDayOfWeekFromDateTime.d.ts +14 -0
  506. package/dist/plain/parse/parseDayOfWeekFromDateTime.js +27 -0
  507. package/dist/plain/parse/parseHourFromDateTime.d.ts +14 -0
  508. package/dist/plain/parse/parseHourFromDateTime.js +26 -0
  509. package/dist/plain/parse/parseHourFromTime.d.ts +13 -0
  510. package/dist/plain/parse/parseHourFromTime.js +25 -0
  511. package/dist/plain/parse/parseMicrosecondFromDateTime.d.ts +14 -0
  512. package/dist/plain/parse/parseMicrosecondFromDateTime.js +26 -0
  513. package/dist/plain/parse/parseMicrosecondFromTime.d.ts +11 -0
  514. package/dist/plain/parse/parseMicrosecondFromTime.js +23 -0
  515. package/dist/plain/parse/parseMillisecondFromDateTime.d.ts +14 -0
  516. package/dist/plain/parse/parseMillisecondFromDateTime.js +26 -0
  517. package/dist/plain/parse/parseMillisecondFromTime.d.ts +14 -0
  518. package/dist/plain/parse/parseMillisecondFromTime.js +26 -0
  519. package/dist/plain/parse/parseMinuteFromDateTime.d.ts +14 -0
  520. package/dist/plain/parse/parseMinuteFromDateTime.js +26 -0
  521. package/dist/plain/parse/parseMinuteFromTime.d.ts +14 -0
  522. package/dist/plain/parse/parseMinuteFromTime.js +26 -0
  523. package/dist/plain/parse/parseMonthFromDate.d.ts +13 -0
  524. package/dist/plain/parse/parseMonthFromDate.js +25 -0
  525. package/dist/plain/parse/parseMonthFromDateTime.d.ts +13 -0
  526. package/dist/plain/parse/parseMonthFromDateTime.js +25 -0
  527. package/dist/plain/parse/parseNanosecondFromDateTime.d.ts +14 -0
  528. package/dist/plain/parse/parseNanosecondFromDateTime.js +26 -0
  529. package/dist/plain/parse/parseNanosecondFromTime.d.ts +14 -0
  530. package/dist/plain/parse/parseNanosecondFromTime.js +26 -0
  531. package/dist/plain/parse/parseSecondFromDateTime.d.ts +14 -0
  532. package/dist/plain/parse/parseSecondFromDateTime.js +26 -0
  533. package/dist/plain/parse/parseSecondFromTime.d.ts +14 -0
  534. package/dist/plain/parse/parseSecondFromTime.js +26 -0
  535. package/dist/plain/parse/parseSql.d.ts +23 -0
  536. package/dist/plain/parse/parseSql.js +36 -0
  537. package/dist/plain/parse/parseTimeWithPattern.d.ts +57 -0
  538. package/dist/plain/parse/parseTimeWithPattern.js +85 -0
  539. package/dist/plain/parse/parseUnitFromDate.d.ts +23 -0
  540. package/dist/plain/parse/parseUnitFromDate.js +49 -0
  541. package/dist/plain/parse/parseUnitFromDateTime.d.ts +22 -0
  542. package/dist/plain/parse/parseUnitFromDateTime.js +56 -0
  543. package/dist/plain/parse/parseUnitFromTime.d.ts +18 -0
  544. package/dist/plain/parse/parseUnitFromTime.js +42 -0
  545. package/dist/plain/parse/parseWeekFromDate.d.ts +19 -0
  546. package/dist/plain/parse/parseWeekFromDate.js +30 -0
  547. package/dist/plain/parse/parseWeekFromDateTime.d.ts +18 -0
  548. package/dist/plain/parse/parseWeekFromDateTime.js +29 -0
  549. package/dist/plain/parse/parseYearFromDate.d.ts +13 -0
  550. package/dist/plain/parse/parseYearFromDate.js +25 -0
  551. package/dist/plain/parse/parseYearFromDateTime.d.ts +13 -0
  552. package/dist/plain/parse/parseYearFromDateTime.js +25 -0
  553. package/dist/plain/validate/index.d.ts +19 -0
  554. package/dist/plain/validate/index.js +19 -0
  555. package/dist/plain/validate/isLeapSecond.d.ts +16 -0
  556. package/dist/plain/validate/isLeapSecond.js +19 -0
  557. package/dist/plain/validate/isLeapYear.d.ts +14 -0
  558. package/dist/plain/validate/isLeapYear.js +23 -0
  559. package/dist/plain/validate/isValidCalendarDate.d.ts +17 -0
  560. package/dist/plain/validate/isValidCalendarDate.js +29 -0
  561. package/dist/plain/validate/isValidDate.d.ts +16 -0
  562. package/dist/plain/validate/isValidDate.js +33 -0
  563. package/dist/plain/validate/isValidDateCycleField.d.ts +21 -0
  564. package/dist/plain/validate/isValidDateCycleField.js +25 -0
  565. package/dist/plain/validate/isValidDateDurationUnit.d.ts +16 -0
  566. package/dist/plain/validate/isValidDateDurationUnit.js +17 -0
  567. package/dist/plain/validate/isValidDateRange.d.ts +26 -0
  568. package/dist/plain/validate/isValidDateRange.js +47 -0
  569. package/dist/plain/validate/isValidDateTime.d.ts +16 -0
  570. package/dist/plain/validate/isValidDateTime.js +33 -0
  571. package/dist/plain/validate/isValidDateTimeCycleField.d.ts +16 -0
  572. package/dist/plain/validate/isValidDateTimeCycleField.js +19 -0
  573. package/dist/plain/validate/isValidDateTimeDurationUnit.d.ts +16 -0
  574. package/dist/plain/validate/isValidDateTimeDurationUnit.js +26 -0
  575. package/dist/plain/validate/isValidDateTimeRange.d.ts +24 -0
  576. package/dist/plain/validate/isValidDateTimeRange.js +39 -0
  577. package/dist/plain/validate/isValidDateTimeUnit.d.ts +19 -0
  578. package/dist/plain/validate/isValidDateTimeUnit.js +32 -0
  579. package/dist/plain/validate/isValidDateUnit.d.ts +21 -0
  580. package/dist/plain/validate/isValidDateUnit.js +25 -0
  581. package/dist/plain/validate/isValidIsoDateLike.d.ts +17 -0
  582. package/dist/plain/validate/isValidIsoDateLike.js +43 -0
  583. package/dist/plain/validate/isValidTime.d.ts +16 -0
  584. package/dist/plain/validate/isValidTime.js +33 -0
  585. package/dist/plain/validate/isValidTimeCycleField.d.ts +18 -0
  586. package/dist/plain/validate/isValidTimeCycleField.js +27 -0
  587. package/dist/plain/validate/isValidTimeDurationUnit.d.ts +16 -0
  588. package/dist/plain/validate/isValidTimeDurationUnit.js +22 -0
  589. package/dist/plain/validate/isValidTimeRange.d.ts +24 -0
  590. package/dist/plain/validate/isValidTimeRange.js +51 -0
  591. package/dist/plain/validate/isValidTimeUnit.d.ts +19 -0
  592. package/dist/plain/validate/isValidTimeUnit.js +28 -0
  593. package/dist/regex/calendar-date.d.ts +1 -0
  594. package/dist/regex/calendar-date.js +11 -0
  595. package/dist/regex/calendar-zoned-date-time.d.ts +1 -0
  596. package/dist/regex/calendar-zoned-date-time.js +41 -0
  597. package/dist/regex/date-time.d.ts +1 -0
  598. package/dist/regex/date-time.js +2 -0
  599. package/dist/regex/date.d.ts +4 -0
  600. package/dist/regex/date.js +5 -0
  601. package/dist/regex/http-date.d.ts +1 -0
  602. package/dist/regex/http-date.js +7 -0
  603. package/dist/regex/index.d.ts +13 -0
  604. package/dist/regex/index.js +13 -0
  605. package/dist/regex/leap-second.d.ts +1 -0
  606. package/dist/regex/leap-second.js +2 -0
  607. package/dist/regex/rfc-2822.d.ts +1 -0
  608. package/dist/regex/rfc-2822.js +9 -0
  609. package/dist/regex/rfc-3339.d.ts +1 -0
  610. package/dist/regex/rfc-3339.js +7 -0
  611. package/dist/regex/sql-date-time.d.ts +1 -0
  612. package/dist/regex/sql-date-time.js +7 -0
  613. package/dist/regex/time-zone-like.d.ts +1 -0
  614. package/dist/regex/time-zone-like.js +1 -0
  615. package/dist/regex/time.d.ts +6 -0
  616. package/dist/regex/time.js +9 -0
  617. package/dist/regex/unix.d.ts +2 -0
  618. package/dist/regex/unix.js +2 -0
  619. package/dist/regex/utc-date-time.d.ts +1 -0
  620. package/dist/regex/utc-date-time.js +2 -0
  621. package/dist/types/calendar-system.d.ts +1 -0
  622. package/dist/types/calendar-system.js +0 -0
  623. package/dist/types/date-cycle-field.d.ts +1 -0
  624. package/dist/types/date-cycle-field.js +0 -0
  625. package/dist/types/date-duration-unit.d.ts +2 -0
  626. package/dist/types/date-duration-unit.js +0 -0
  627. package/dist/types/date-time-cycle-field.d.ts +3 -0
  628. package/dist/types/date-time-cycle-field.js +0 -0
  629. package/dist/types/date-time-duration-units.d.ts +2 -0
  630. package/dist/types/date-time-duration-units.js +0 -0
  631. package/dist/types/date-time-unit.d.ts +2 -0
  632. package/dist/types/date-time-unit.js +0 -0
  633. package/dist/types/date-unit.d.ts +2 -0
  634. package/dist/types/date-unit.js +0 -0
  635. package/dist/types/disambiguation.d.ts +2 -0
  636. package/dist/types/disambiguation.js +0 -0
  637. package/dist/types/duration-relative-to.d.ts +2 -0
  638. package/dist/types/duration-relative-to.js +0 -0
  639. package/dist/types/duration-string-options.d.ts +6 -0
  640. package/dist/types/duration-string-options.js +0 -0
  641. package/dist/types/fractional-digit.d.ts +1 -0
  642. package/dist/types/fractional-digit.js +0 -0
  643. package/dist/types/index.d.ts +18 -0
  644. package/dist/types/index.js +18 -0
  645. package/dist/types/offset.d.ts +2 -0
  646. package/dist/types/offset.js +0 -0
  647. package/dist/types/overflow.d.ts +2 -0
  648. package/dist/types/overflow.js +0 -0
  649. package/dist/types/relative-rounding-method.d.ts +1 -0
  650. package/dist/types/relative-rounding-method.js +0 -0
  651. package/dist/types/rounding-options.d.ts +6 -0
  652. package/dist/types/rounding-options.js +0 -0
  653. package/dist/types/time-cycle-field.d.ts +1 -0
  654. package/dist/types/time-cycle-field.js +0 -0
  655. package/dist/types/time-duration-unit.d.ts +2 -0
  656. package/dist/types/time-duration-unit.js +0 -0
  657. package/dist/types/time-unit.d.ts +2 -0
  658. package/dist/types/time-unit.js +0 -0
  659. package/dist/unix/calculate/addUnix.d.ts +25 -0
  660. package/dist/unix/calculate/addUnix.js +51 -0
  661. package/dist/unix/calculate/diffUnix.d.ts +30 -0
  662. package/dist/unix/calculate/diffUnix.js +66 -0
  663. package/dist/unix/calculate/diffUnixAsDuration.d.ts +35 -0
  664. package/dist/unix/calculate/diffUnixAsDuration.js +56 -0
  665. package/dist/unix/calculate/endOfQuarterForUnix.d.ts +23 -0
  666. package/dist/unix/calculate/endOfQuarterForUnix.js +56 -0
  667. package/dist/unix/calculate/endOfUnix.d.ts +30 -0
  668. package/dist/unix/calculate/endOfUnix.js +26 -0
  669. package/dist/unix/calculate/index.d.ts +14 -0
  670. package/dist/unix/calculate/index.js +14 -0
  671. package/dist/unix/calculate/isBetweenUnix.d.ts +23 -0
  672. package/dist/unix/calculate/isBetweenUnix.js +54 -0
  673. package/dist/unix/calculate/maxUnix.d.ts +13 -0
  674. package/dist/unix/calculate/maxUnix.js +21 -0
  675. package/dist/unix/calculate/minUnix.d.ts +13 -0
  676. package/dist/unix/calculate/minUnix.js +21 -0
  677. package/dist/unix/calculate/roundUnix.d.ts +27 -0
  678. package/dist/unix/calculate/roundUnix.js +62 -0
  679. package/dist/unix/calculate/setUnix.d.ts +35 -0
  680. package/dist/unix/calculate/setUnix.js +60 -0
  681. package/dist/unix/calculate/sortUnix.d.ts +16 -0
  682. package/dist/unix/calculate/sortUnix.js +28 -0
  683. package/dist/unix/calculate/startOfQuarterForUnix.d.ts +23 -0
  684. package/dist/unix/calculate/startOfQuarterForUnix.js +46 -0
  685. package/dist/unix/calculate/startOfUnix.d.ts +30 -0
  686. package/dist/unix/calculate/startOfUnix.js +26 -0
  687. package/dist/unix/calculate/startOrEndOfUnix.d.ts +9 -0
  688. package/dist/unix/calculate/startOrEndOfUnix.js +122 -0
  689. package/dist/unix/calculate/subtractUnix.d.ts +25 -0
  690. package/dist/unix/calculate/subtractUnix.js +51 -0
  691. package/dist/unix/compare/areUnixEqual.d.ts +21 -0
  692. package/dist/unix/compare/areUnixEqual.js +33 -0
  693. package/dist/unix/compare/areUnixEqualBy.d.ts +31 -0
  694. package/dist/unix/compare/areUnixEqualBy.js +39 -0
  695. package/dist/unix/compare/index.d.ts +4 -0
  696. package/dist/unix/compare/index.js +4 -0
  697. package/dist/unix/compare/isAfterUnix.d.ts +19 -0
  698. package/dist/unix/compare/isAfterUnix.js +31 -0
  699. package/dist/unix/compare/isBeforeUnix.d.ts +21 -0
  700. package/dist/unix/compare/isBeforeUnix.js +33 -0
  701. package/dist/unix/convert/convertUnixToPlainDate.d.ts +19 -0
  702. package/dist/unix/convert/convertUnixToPlainDate.js +38 -0
  703. package/dist/unix/convert/convertUnixToPlainDateTime.d.ts +19 -0
  704. package/dist/unix/convert/convertUnixToPlainDateTime.js +38 -0
  705. package/dist/unix/convert/convertUnixToPlainTime.d.ts +19 -0
  706. package/dist/unix/convert/convertUnixToPlainTime.js +38 -0
  707. package/dist/unix/convert/convertUnixToUtc.d.ts +17 -0
  708. package/dist/unix/convert/convertUnixToUtc.js +31 -0
  709. package/dist/unix/convert/convertUnixToZoned.d.ts +18 -0
  710. package/dist/unix/convert/convertUnixToZoned.js +35 -0
  711. package/dist/unix/convert/index.d.ts +5 -0
  712. package/dist/unix/convert/index.js +5 -0
  713. package/dist/unix/format/formatCalendarUnix.d.ts +29 -0
  714. package/dist/unix/format/formatCalendarUnix.js +107 -0
  715. package/dist/unix/format/formatRelativeUnix.d.ts +34 -0
  716. package/dist/unix/format/formatRelativeUnix.js +118 -0
  717. package/dist/unix/format/formatUnix.d.ts +6 -0
  718. package/dist/unix/format/formatUnix.js +41 -0
  719. package/dist/unix/format/index.d.ts +3 -0
  720. package/dist/unix/format/index.js +3 -0
  721. package/dist/unix/get/getUnixDay.d.ts +13 -0
  722. package/dist/unix/get/getUnixDay.js +24 -0
  723. package/dist/unix/get/getUnixHour.d.ts +13 -0
  724. package/dist/unix/get/getUnixHour.js +24 -0
  725. package/dist/unix/get/getUnixMicrosecond.d.ts +13 -0
  726. package/dist/unix/get/getUnixMicrosecond.js +23 -0
  727. package/dist/unix/get/getUnixMillisecond.d.ts +13 -0
  728. package/dist/unix/get/getUnixMillisecond.js +24 -0
  729. package/dist/unix/get/getUnixMinute.d.ts +13 -0
  730. package/dist/unix/get/getUnixMinute.js +24 -0
  731. package/dist/unix/get/getUnixMonth.d.ts +13 -0
  732. package/dist/unix/get/getUnixMonth.js +24 -0
  733. package/dist/unix/get/getUnixNanosecond.d.ts +13 -0
  734. package/dist/unix/get/getUnixNanosecond.js +23 -0
  735. package/dist/unix/get/getUnixNow.d.ts +15 -0
  736. package/dist/unix/get/getUnixNow.js +28 -0
  737. package/dist/unix/get/getUnixNowUnit.d.ts +18 -0
  738. package/dist/unix/get/getUnixNowUnit.js +61 -0
  739. package/dist/unix/get/getUnixSecond.d.ts +13 -0
  740. package/dist/unix/get/getUnixSecond.js +24 -0
  741. package/dist/unix/get/getUnixYear.d.ts +13 -0
  742. package/dist/unix/get/getUnixYear.js +24 -0
  743. package/dist/unix/get/index.d.ts +11 -0
  744. package/dist/unix/get/index.js +11 -0
  745. package/dist/unix/index.d.ts +8 -0
  746. package/dist/unix/index.js +8 -0
  747. package/dist/unix/interval/index.d.ts +18 -0
  748. package/dist/unix/interval/index.js +18 -0
  749. package/dist/unix/interval/intervalAbutsUnix.d.ts +22 -0
  750. package/dist/unix/interval/intervalAbutsUnix.js +54 -0
  751. package/dist/unix/interval/intervalContainsUnix.d.ts +25 -0
  752. package/dist/unix/interval/intervalContainsUnix.js +60 -0
  753. package/dist/unix/interval/intervalCountUnix.d.ts +28 -0
  754. package/dist/unix/interval/intervalCountUnix.js +44 -0
  755. package/dist/unix/interval/intervalDifferenceUnix.d.ts +24 -0
  756. package/dist/unix/interval/intervalDifferenceUnix.js +57 -0
  757. package/dist/unix/interval/intervalDivideEquallyUnix.d.ts +27 -0
  758. package/dist/unix/interval/intervalDivideEquallyUnix.js +54 -0
  759. package/dist/unix/interval/intervalEngulfsUnix.d.ts +22 -0
  760. package/dist/unix/interval/intervalEngulfsUnix.js +46 -0
  761. package/dist/unix/interval/intervalFromDurationUnix.d.ts +37 -0
  762. package/dist/unix/interval/intervalFromDurationUnix.js +73 -0
  763. package/dist/unix/interval/intervalIntersectionUnix.d.ts +24 -0
  764. package/dist/unix/interval/intervalIntersectionUnix.js +57 -0
  765. package/dist/unix/interval/intervalLengthUnix.d.ts +24 -0
  766. package/dist/unix/interval/intervalLengthUnix.js +39 -0
  767. package/dist/unix/interval/intervalOverlappingDaysUnix.d.ts +34 -0
  768. package/dist/unix/interval/intervalOverlappingDaysUnix.js +89 -0
  769. package/dist/unix/interval/intervalSplitAtUnix.d.ts +26 -0
  770. package/dist/unix/interval/intervalSplitAtUnix.js +55 -0
  771. package/dist/unix/interval/intervalUnionUnix.d.ts +25 -0
  772. package/dist/unix/interval/intervalUnionUnix.js +58 -0
  773. package/dist/unix/interval/intervalXorAllUnix.d.ts +28 -0
  774. package/dist/unix/interval/intervalXorAllUnix.js +77 -0
  775. package/dist/unix/interval/intervalXorUnix.d.ts +25 -0
  776. package/dist/unix/interval/intervalXorUnix.js +70 -0
  777. package/dist/unix/interval/intervalsOverlapUnix.d.ts +21 -0
  778. package/dist/unix/interval/intervalsOverlapUnix.js +51 -0
  779. package/dist/unix/interval/mergeIntervalsUnix.d.ts +25 -0
  780. package/dist/unix/interval/mergeIntervalsUnix.js +55 -0
  781. package/dist/unix/interval/resolveUnixIntervalPair.d.ts +7 -0
  782. package/dist/unix/interval/resolveUnixIntervalPair.js +36 -0
  783. package/dist/unix/interval/splitIntervalByUnitUnix.d.ts +27 -0
  784. package/dist/unix/interval/splitIntervalByUnitUnix.js +85 -0
  785. package/dist/unix/interval/validate/index.d.ts +1 -0
  786. package/dist/unix/interval/validate/index.js +1 -0
  787. package/dist/unix/interval/validate/isValidUnixInterval.d.ts +18 -0
  788. package/dist/unix/interval/validate/isValidUnixInterval.js +31 -0
  789. package/dist/unix/parse/index.d.ts +12 -0
  790. package/dist/unix/parse/index.js +12 -0
  791. package/dist/unix/parse/parseDateFromUnix.d.ts +20 -0
  792. package/dist/unix/parse/parseDateFromUnix.js +45 -0
  793. package/dist/unix/parse/parseDayFromUnix.d.ts +18 -0
  794. package/dist/unix/parse/parseDayFromUnix.js +17 -0
  795. package/dist/unix/parse/parseDayOfWeekFromUnix.d.ts +18 -0
  796. package/dist/unix/parse/parseDayOfWeekFromUnix.js +44 -0
  797. package/dist/unix/parse/parseHourFromUnix.d.ts +18 -0
  798. package/dist/unix/parse/parseHourFromUnix.js +17 -0
  799. package/dist/unix/parse/parseMicrosecondFromUnix.d.ts +18 -0
  800. package/dist/unix/parse/parseMicrosecondFromUnix.js +17 -0
  801. package/dist/unix/parse/parseMillisecondFromUnix.d.ts +18 -0
  802. package/dist/unix/parse/parseMillisecondFromUnix.js +17 -0
  803. package/dist/unix/parse/parseMinuteFromUnix.d.ts +18 -0
  804. package/dist/unix/parse/parseMinuteFromUnix.js +17 -0
  805. package/dist/unix/parse/parseMonthFromUnix.d.ts +19 -0
  806. package/dist/unix/parse/parseMonthFromUnix.js +18 -0
  807. package/dist/unix/parse/parseNanosecondFromUnix.d.ts +18 -0
  808. package/dist/unix/parse/parseNanosecondFromUnix.js +17 -0
  809. package/dist/unix/parse/parseSecondFromUnix.d.ts +18 -0
  810. package/dist/unix/parse/parseSecondFromUnix.js +17 -0
  811. package/dist/unix/parse/parseTimeFromUnix.d.ts +20 -0
  812. package/dist/unix/parse/parseTimeFromUnix.js +45 -0
  813. package/dist/unix/parse/parseUnitFromUnix.d.ts +25 -0
  814. package/dist/unix/parse/parseUnitFromUnix.js +77 -0
  815. package/dist/unix/parse/parseWeekFromUnix.d.ts +20 -0
  816. package/dist/unix/parse/parseWeekFromUnix.js +47 -0
  817. package/dist/unix/parse/parseYearFromUnix.d.ts +19 -0
  818. package/dist/unix/parse/parseYearFromUnix.js +18 -0
  819. package/dist/unix/validate/index.d.ts +4 -0
  820. package/dist/unix/validate/index.js +4 -0
  821. package/dist/unix/validate/isValidUnixMilliseconds.d.ts +14 -0
  822. package/dist/unix/validate/isValidUnixMilliseconds.js +19 -0
  823. package/dist/unix/validate/isValidUnixRange.d.ts +24 -0
  824. package/dist/unix/validate/isValidUnixRange.js +34 -0
  825. package/dist/unix/validate/isValidUnixSeconds.d.ts +14 -0
  826. package/dist/unix/validate/isValidUnixSeconds.js +19 -0
  827. package/dist/unix/validate/isValidUnixUnit.d.ts +18 -0
  828. package/dist/unix/validate/isValidUnixUnit.js +22 -0
  829. package/dist/utc/calculate/addUtc.d.ts +23 -0
  830. package/dist/utc/calculate/addUtc.js +42 -0
  831. package/dist/utc/calculate/diffUtc.d.ts +27 -0
  832. package/dist/utc/calculate/diffUtc.js +61 -0
  833. package/dist/utc/calculate/diffUtcAsDuration.d.ts +31 -0
  834. package/dist/utc/calculate/diffUtcAsDuration.js +50 -0
  835. package/dist/utc/calculate/endOfQuarterForUtc.d.ts +14 -0
  836. package/dist/utc/calculate/endOfQuarterForUtc.js +49 -0
  837. package/dist/utc/calculate/endOfUtc.d.ts +22 -0
  838. package/dist/utc/calculate/endOfUtc.js +21 -0
  839. package/dist/utc/calculate/index.d.ts +14 -0
  840. package/dist/utc/calculate/index.js +14 -0
  841. package/dist/utc/calculate/isBetweenUtc.d.ts +21 -0
  842. package/dist/utc/calculate/isBetweenUtc.js +52 -0
  843. package/dist/utc/calculate/maxUtc.d.ts +15 -0
  844. package/dist/utc/calculate/maxUtc.js +35 -0
  845. package/dist/utc/calculate/minUtc.d.ts +15 -0
  846. package/dist/utc/calculate/minUtc.js +35 -0
  847. package/dist/utc/calculate/roundUtc.d.ts +26 -0
  848. package/dist/utc/calculate/roundUtc.js +56 -0
  849. package/dist/utc/calculate/setUtc.d.ts +38 -0
  850. package/dist/utc/calculate/setUtc.js +54 -0
  851. package/dist/utc/calculate/sortUtc.d.ts +17 -0
  852. package/dist/utc/calculate/sortUtc.js +36 -0
  853. package/dist/utc/calculate/startOfQuarterForUtc.d.ts +13 -0
  854. package/dist/utc/calculate/startOfQuarterForUtc.js +32 -0
  855. package/dist/utc/calculate/startOfUtc.d.ts +22 -0
  856. package/dist/utc/calculate/startOfUtc.js +21 -0
  857. package/dist/utc/calculate/startOrEndOfUtc.d.ts +6 -0
  858. package/dist/utc/calculate/startOrEndOfUtc.js +143 -0
  859. package/dist/utc/calculate/subtractUtc.d.ts +23 -0
  860. package/dist/utc/calculate/subtractUtc.js +42 -0
  861. package/dist/utc/chop/chopUtc.d.ts +14 -0
  862. package/dist/utc/chop/chopUtc.js +21 -0
  863. package/dist/utc/chop/index.d.ts +1 -0
  864. package/dist/utc/chop/index.js +1 -0
  865. package/dist/utc/compare/areUtcEqual.d.ts +15 -0
  866. package/dist/utc/compare/areUtcEqual.js +29 -0
  867. package/dist/utc/compare/areUtcEqualBy.d.ts +30 -0
  868. package/dist/utc/compare/areUtcEqualBy.js +45 -0
  869. package/dist/utc/compare/index.d.ts +4 -0
  870. package/dist/utc/compare/index.js +4 -0
  871. package/dist/utc/compare/isAfterUtc.d.ts +15 -0
  872. package/dist/utc/compare/isAfterUtc.js +28 -0
  873. package/dist/utc/compare/isBeforeUtc.d.ts +15 -0
  874. package/dist/utc/compare/isBeforeUtc.js +29 -0
  875. package/dist/utc/convert/convertUtcToPlainDate.d.ts +18 -0
  876. package/dist/utc/convert/convertUtcToPlainDate.js +35 -0
  877. package/dist/utc/convert/convertUtcToPlainDateTime.d.ts +18 -0
  878. package/dist/utc/convert/convertUtcToPlainDateTime.js +41 -0
  879. package/dist/utc/convert/convertUtcToPlainTime.d.ts +18 -0
  880. package/dist/utc/convert/convertUtcToPlainTime.js +35 -0
  881. package/dist/utc/convert/convertUtcToUnix.d.ts +17 -0
  882. package/dist/utc/convert/convertUtcToUnix.js +33 -0
  883. package/dist/utc/convert/convertUtcToZoned.d.ts +15 -0
  884. package/dist/utc/convert/convertUtcToZoned.js +28 -0
  885. package/dist/utc/convert/index.d.ts +5 -0
  886. package/dist/utc/convert/index.js +5 -0
  887. package/dist/utc/format/formatCalendarUtc.d.ts +28 -0
  888. package/dist/utc/format/formatCalendarUtc.js +68 -0
  889. package/dist/utc/format/formatHttp.d.ts +22 -0
  890. package/dist/utc/format/formatHttp.js +42 -0
  891. package/dist/utc/format/formatRelativeUtc.d.ts +33 -0
  892. package/dist/utc/format/formatRelativeUtc.js +76 -0
  893. package/dist/utc/format/formatUtc.d.ts +5 -0
  894. package/dist/utc/format/formatUtc.js +23 -0
  895. package/dist/utc/format/index.d.ts +4 -0
  896. package/dist/utc/format/index.js +4 -0
  897. package/dist/utc/get/getUtcDay.d.ts +13 -0
  898. package/dist/utc/get/getUtcDay.js +24 -0
  899. package/dist/utc/get/getUtcHour.d.ts +13 -0
  900. package/dist/utc/get/getUtcHour.js +24 -0
  901. package/dist/utc/get/getUtcMicrosecond.d.ts +13 -0
  902. package/dist/utc/get/getUtcMicrosecond.js +23 -0
  903. package/dist/utc/get/getUtcMillisecond.d.ts +13 -0
  904. package/dist/utc/get/getUtcMillisecond.js +24 -0
  905. package/dist/utc/get/getUtcMinute.d.ts +13 -0
  906. package/dist/utc/get/getUtcMinute.js +24 -0
  907. package/dist/utc/get/getUtcMonth.d.ts +13 -0
  908. package/dist/utc/get/getUtcMonth.js +24 -0
  909. package/dist/utc/get/getUtcNanosecond.d.ts +13 -0
  910. package/dist/utc/get/getUtcNanosecond.js +23 -0
  911. package/dist/utc/get/getUtcNow.d.ts +12 -0
  912. package/dist/utc/get/getUtcNow.js +20 -0
  913. package/dist/utc/get/getUtcNowUnit.d.ts +18 -0
  914. package/dist/utc/get/getUtcNowUnit.js +61 -0
  915. package/dist/utc/get/getUtcSecond.d.ts +13 -0
  916. package/dist/utc/get/getUtcSecond.js +24 -0
  917. package/dist/utc/get/getUtcYear.d.ts +13 -0
  918. package/dist/utc/get/getUtcYear.js +24 -0
  919. package/dist/utc/get/index.d.ts +11 -0
  920. package/dist/utc/get/index.js +11 -0
  921. package/dist/utc/index.d.ts +9 -0
  922. package/dist/utc/index.js +9 -0
  923. package/dist/utc/interval/index.d.ts +18 -0
  924. package/dist/utc/interval/index.js +18 -0
  925. package/dist/utc/interval/intervalAbutsUtc.d.ts +22 -0
  926. package/dist/utc/interval/intervalAbutsUtc.js +70 -0
  927. package/dist/utc/interval/intervalContainsUtc.d.ts +23 -0
  928. package/dist/utc/interval/intervalContainsUtc.js +66 -0
  929. package/dist/utc/interval/intervalCountUtc.d.ts +28 -0
  930. package/dist/utc/interval/intervalCountUtc.js +68 -0
  931. package/dist/utc/interval/intervalDifferenceUtc.d.ts +24 -0
  932. package/dist/utc/interval/intervalDifferenceUtc.js +76 -0
  933. package/dist/utc/interval/intervalDivideEquallyUtc.d.ts +26 -0
  934. package/dist/utc/interval/intervalDivideEquallyUtc.js +65 -0
  935. package/dist/utc/interval/intervalEngulfsUtc.d.ts +22 -0
  936. package/dist/utc/interval/intervalEngulfsUtc.js +61 -0
  937. package/dist/utc/interval/intervalFromDurationUtc.d.ts +35 -0
  938. package/dist/utc/interval/intervalFromDurationUtc.js +64 -0
  939. package/dist/utc/interval/intervalIntersectionUtc.d.ts +23 -0
  940. package/dist/utc/interval/intervalIntersectionUtc.js +64 -0
  941. package/dist/utc/interval/intervalLengthUtc.d.ts +22 -0
  942. package/dist/utc/interval/intervalLengthUtc.js +52 -0
  943. package/dist/utc/interval/intervalOverlappingDaysUtc.d.ts +29 -0
  944. package/dist/utc/interval/intervalOverlappingDaysUtc.js +75 -0
  945. package/dist/utc/interval/intervalSplitAtUtc.d.ts +27 -0
  946. package/dist/utc/interval/intervalSplitAtUtc.js +64 -0
  947. package/dist/utc/interval/intervalUnionUtc.d.ts +24 -0
  948. package/dist/utc/interval/intervalUnionUtc.js +65 -0
  949. package/dist/utc/interval/intervalXorAllUtc.d.ts +28 -0
  950. package/dist/utc/interval/intervalXorAllUtc.js +81 -0
  951. package/dist/utc/interval/intervalXorUtc.d.ts +25 -0
  952. package/dist/utc/interval/intervalXorUtc.js +97 -0
  953. package/dist/utc/interval/intervalsOverlapUtc.d.ts +20 -0
  954. package/dist/utc/interval/intervalsOverlapUtc.js +59 -0
  955. package/dist/utc/interval/mergeIntervalsUtc.d.ts +25 -0
  956. package/dist/utc/interval/mergeIntervalsUtc.js +61 -0
  957. package/dist/utc/interval/splitIntervalByUnitUtc.d.ts +25 -0
  958. package/dist/utc/interval/splitIntervalByUnitUtc.js +78 -0
  959. package/dist/utc/interval/validate/index.d.ts +1 -0
  960. package/dist/utc/interval/validate/index.js +1 -0
  961. package/dist/utc/interval/validate/isValidUtcInterval.d.ts +19 -0
  962. package/dist/utc/interval/validate/isValidUtcInterval.js +40 -0
  963. package/dist/utc/parse/index.d.ts +15 -0
  964. package/dist/utc/parse/index.js +15 -0
  965. package/dist/utc/parse/parseDateFromUtc.d.ts +13 -0
  966. package/dist/utc/parse/parseDateFromUtc.js +27 -0
  967. package/dist/utc/parse/parseDayFromUtc.d.ts +13 -0
  968. package/dist/utc/parse/parseDayFromUtc.js +26 -0
  969. package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +14 -0
  970. package/dist/utc/parse/parseDayOfWeekFromUtc.js +27 -0
  971. package/dist/utc/parse/parseHourFromUtc.d.ts +13 -0
  972. package/dist/utc/parse/parseHourFromUtc.js +26 -0
  973. package/dist/utc/parse/parseHttp.d.ts +24 -0
  974. package/dist/utc/parse/parseHttp.js +51 -0
  975. package/dist/utc/parse/parseMicrosecondFromUtc.d.ts +13 -0
  976. package/dist/utc/parse/parseMicrosecondFromUtc.js +26 -0
  977. package/dist/utc/parse/parseMillisecondFromUtc.d.ts +13 -0
  978. package/dist/utc/parse/parseMillisecondFromUtc.js +26 -0
  979. package/dist/utc/parse/parseMinuteFromUtc.d.ts +13 -0
  980. package/dist/utc/parse/parseMinuteFromUtc.js +26 -0
  981. package/dist/utc/parse/parseMonthFromUtc.d.ts +13 -0
  982. package/dist/utc/parse/parseMonthFromUtc.js +26 -0
  983. package/dist/utc/parse/parseNanosecondFromUtc.d.ts +13 -0
  984. package/dist/utc/parse/parseNanosecondFromUtc.js +26 -0
  985. package/dist/utc/parse/parseSecondFromUtc.d.ts +13 -0
  986. package/dist/utc/parse/parseSecondFromUtc.js +26 -0
  987. package/dist/utc/parse/parseTimeFromUtc.d.ts +18 -0
  988. package/dist/utc/parse/parseTimeFromUtc.js +35 -0
  989. package/dist/utc/parse/parseUnitFromUtc.d.ts +21 -0
  990. package/dist/utc/parse/parseUnitFromUtc.js +55 -0
  991. package/dist/utc/parse/parseWeekFromUtc.d.ts +16 -0
  992. package/dist/utc/parse/parseWeekFromUtc.js +30 -0
  993. package/dist/utc/parse/parseYearFromUtc.d.ts +13 -0
  994. package/dist/utc/parse/parseYearFromUtc.js +26 -0
  995. package/dist/utc/validate/index.d.ts +2 -0
  996. package/dist/utc/validate/index.js +2 -0
  997. package/dist/utc/validate/isValidUtc.d.ts +17 -0
  998. package/dist/utc/validate/isValidUtc.js +34 -0
  999. package/dist/utc/validate/isValidUtcRange.d.ts +25 -0
  1000. package/dist/utc/validate/isValidUtcRange.js +44 -0
  1001. package/dist/zoned/calculate/addZoned.d.ts +50 -0
  1002. package/dist/zoned/calculate/addZoned.js +88 -0
  1003. package/dist/zoned/calculate/addZonedBusinessDays.d.ts +18 -0
  1004. package/dist/zoned/calculate/addZonedBusinessDays.js +30 -0
  1005. package/dist/zoned/calculate/clampZoned.d.ts +20 -0
  1006. package/dist/zoned/calculate/clampZoned.js +48 -0
  1007. package/dist/zoned/calculate/closestZonedTo.d.ts +18 -0
  1008. package/dist/zoned/calculate/closestZonedTo.js +46 -0
  1009. package/dist/zoned/calculate/cycleZoned.d.ts +44 -0
  1010. package/dist/zoned/calculate/cycleZoned.js +58 -0
  1011. package/dist/zoned/calculate/diffZoned.d.ts +39 -0
  1012. package/dist/zoned/calculate/diffZoned.js +76 -0
  1013. package/dist/zoned/calculate/diffZonedAsDuration.d.ts +36 -0
  1014. package/dist/zoned/calculate/diffZonedAsDuration.js +55 -0
  1015. package/dist/zoned/calculate/endOfQuarterForZoned.d.ts +25 -0
  1016. package/dist/zoned/calculate/endOfQuarterForZoned.js +50 -0
  1017. package/dist/zoned/calculate/endOfZoned.d.ts +28 -0
  1018. package/dist/zoned/calculate/endOfZoned.js +130 -0
  1019. package/dist/zoned/calculate/getHoursInZonedDay.d.ts +22 -0
  1020. package/dist/zoned/calculate/getHoursInZonedDay.js +45 -0
  1021. package/dist/zoned/calculate/getLocaleZonedDayOfWeek.d.ts +20 -0
  1022. package/dist/zoned/calculate/getLocaleZonedDayOfWeek.js +36 -0
  1023. package/dist/zoned/calculate/getLocaleZonedEndOfWeek.d.ts +44 -0
  1024. package/dist/zoned/calculate/getLocaleZonedEndOfWeek.js +68 -0
  1025. package/dist/zoned/calculate/getLocaleZonedStartOfWeek.d.ts +44 -0
  1026. package/dist/zoned/calculate/getLocaleZonedStartOfWeek.js +68 -0
  1027. package/dist/zoned/calculate/getQuarterForZoned.d.ts +15 -0
  1028. package/dist/zoned/calculate/getQuarterForZoned.js +28 -0
  1029. package/dist/zoned/calculate/index.d.ts +23 -0
  1030. package/dist/zoned/calculate/index.js +23 -0
  1031. package/dist/zoned/calculate/maxZoned.d.ts +15 -0
  1032. package/dist/zoned/calculate/maxZoned.js +35 -0
  1033. package/dist/zoned/calculate/minZoned.d.ts +15 -0
  1034. package/dist/zoned/calculate/minZoned.js +35 -0
  1035. package/dist/zoned/calculate/roundZoned.d.ts +23 -0
  1036. package/dist/zoned/calculate/roundZoned.js +55 -0
  1037. package/dist/zoned/calculate/setZoned.d.ts +39 -0
  1038. package/dist/zoned/calculate/setZoned.js +56 -0
  1039. package/dist/zoned/calculate/sortZoned.d.ts +17 -0
  1040. package/dist/zoned/calculate/sortZoned.js +36 -0
  1041. package/dist/zoned/calculate/startOfQuarterForZoned.d.ts +25 -0
  1042. package/dist/zoned/calculate/startOfQuarterForZoned.js +40 -0
  1043. package/dist/zoned/calculate/startOfZoned.d.ts +27 -0
  1044. package/dist/zoned/calculate/startOfZoned.js +122 -0
  1045. package/dist/zoned/calculate/subtractZoned.d.ts +47 -0
  1046. package/dist/zoned/calculate/subtractZoned.js +82 -0
  1047. package/dist/zoned/calculate/subtractZonedBusinessDays.d.ts +18 -0
  1048. package/dist/zoned/calculate/subtractZonedBusinessDays.js +28 -0
  1049. package/dist/zoned/chop/chopZonedDate.d.ts +13 -0
  1050. package/dist/zoned/chop/chopZonedDate.js +24 -0
  1051. package/dist/zoned/chop/chopZonedDateTime.d.ts +13 -0
  1052. package/dist/zoned/chop/chopZonedDateTime.js +26 -0
  1053. package/dist/zoned/chop/chopZonedMilliseconds.d.ts +13 -0
  1054. package/dist/zoned/chop/chopZonedMilliseconds.js +26 -0
  1055. package/dist/zoned/chop/chopZonedSeconds.d.ts +13 -0
  1056. package/dist/zoned/chop/chopZonedSeconds.js +26 -0
  1057. package/dist/zoned/chop/chopZonedTime.d.ts +13 -0
  1058. package/dist/zoned/chop/chopZonedTime.js +24 -0
  1059. package/dist/zoned/chop/chopZonedTimezone.d.ts +13 -0
  1060. package/dist/zoned/chop/chopZonedTimezone.js +24 -0
  1061. package/dist/zoned/chop/index.d.ts +6 -0
  1062. package/dist/zoned/chop/index.js +6 -0
  1063. package/dist/zoned/compare/areZonedEqual.d.ts +15 -0
  1064. package/dist/zoned/compare/areZonedEqual.js +45 -0
  1065. package/dist/zoned/compare/areZonedEqualBy.d.ts +30 -0
  1066. package/dist/zoned/compare/areZonedEqualBy.js +49 -0
  1067. package/dist/zoned/compare/index.d.ts +12 -0
  1068. package/dist/zoned/compare/index.js +12 -0
  1069. package/dist/zoned/compare/isAfterZoned.d.ts +15 -0
  1070. package/dist/zoned/compare/isAfterZoned.js +36 -0
  1071. package/dist/zoned/compare/isBeforeZoned.d.ts +15 -0
  1072. package/dist/zoned/compare/isBeforeZoned.js +36 -0
  1073. package/dist/zoned/compare/isBetweenZoned.d.ts +19 -0
  1074. package/dist/zoned/compare/isBetweenZoned.js +55 -0
  1075. package/dist/zoned/compare/isInDaylightSaving.d.ts +25 -0
  1076. package/dist/zoned/compare/isInDaylightSaving.js +68 -0
  1077. package/dist/zoned/compare/isZonedBusinessDay.d.ts +22 -0
  1078. package/dist/zoned/compare/isZonedBusinessDay.js +34 -0
  1079. package/dist/zoned/compare/isZonedFuture.d.ts +18 -0
  1080. package/dist/zoned/compare/isZonedFuture.js +31 -0
  1081. package/dist/zoned/compare/isZonedPast.d.ts +18 -0
  1082. package/dist/zoned/compare/isZonedPast.js +31 -0
  1083. package/dist/zoned/compare/isZonedRelativeDay.d.ts +25 -0
  1084. package/dist/zoned/compare/isZonedRelativeDay.js +40 -0
  1085. package/dist/zoned/compare/isZonedThisUnit.d.ts +28 -0
  1086. package/dist/zoned/compare/isZonedThisUnit.js +52 -0
  1087. package/dist/zoned/compare/isZonedWeekend.d.ts +23 -0
  1088. package/dist/zoned/compare/isZonedWeekend.js +39 -0
  1089. package/dist/zoned/convert/convertPlainDateTimeToZoned.d.ts +26 -0
  1090. package/dist/zoned/convert/convertPlainDateTimeToZoned.js +42 -0
  1091. package/dist/zoned/convert/convertZonedToCalendar.d.ts +49 -0
  1092. package/dist/zoned/convert/convertZonedToCalendar.js +67 -0
  1093. package/dist/zoned/convert/convertZonedToPlainDateTime.d.ts +13 -0
  1094. package/dist/zoned/convert/convertZonedToPlainDateTime.js +25 -0
  1095. package/dist/zoned/convert/convertZonedToUnix.d.ts +17 -0
  1096. package/dist/zoned/convert/convertZonedToUnix.js +34 -0
  1097. package/dist/zoned/convert/convertZonedToUtc.d.ts +13 -0
  1098. package/dist/zoned/convert/convertZonedToUtc.js +25 -0
  1099. package/dist/zoned/convert/convertZonedToZoned.d.ts +14 -0
  1100. package/dist/zoned/convert/convertZonedToZoned.js +27 -0
  1101. package/dist/zoned/convert/index.d.ts +6 -0
  1102. package/dist/zoned/convert/index.js +6 -0
  1103. package/dist/zoned/format/formatCalendarZoned.d.ts +34 -0
  1104. package/dist/zoned/format/formatCalendarZoned.js +65 -0
  1105. package/dist/zoned/format/formatRelativeZoned.d.ts +44 -0
  1106. package/dist/zoned/format/formatRelativeZoned.js +79 -0
  1107. package/dist/zoned/format/formatRfc2822.d.ts +22 -0
  1108. package/dist/zoned/format/formatRfc2822.js +47 -0
  1109. package/dist/zoned/format/formatRfc3339.d.ts +24 -0
  1110. package/dist/zoned/format/formatRfc3339.js +37 -0
  1111. package/dist/zoned/format/formatTimeZoneName.d.ts +39 -0
  1112. package/dist/zoned/format/formatTimeZoneName.js +56 -0
  1113. package/dist/zoned/format/formatZonedDateTime.d.ts +17 -0
  1114. package/dist/zoned/format/formatZonedDateTime.js +32 -0
  1115. package/dist/zoned/format/formatZonedRange.d.ts +18 -0
  1116. package/dist/zoned/format/formatZonedRange.js +48 -0
  1117. package/dist/zoned/format/formatZonedToParts.d.ts +29 -0
  1118. package/dist/zoned/format/formatZonedToParts.js +48 -0
  1119. package/dist/zoned/format/index.d.ts +8 -0
  1120. package/dist/zoned/format/index.js +8 -0
  1121. package/dist/zoned/get/getDstTransitions.d.ts +36 -0
  1122. package/dist/zoned/get/getDstTransitions.js +62 -0
  1123. package/dist/zoned/get/getSystemTimeZone.d.ts +11 -0
  1124. package/dist/zoned/get/getSystemTimeZone.js +19 -0
  1125. package/dist/zoned/get/getTimeZoneOffset.d.ts +21 -0
  1126. package/dist/zoned/get/getTimeZoneOffset.js +33 -0
  1127. package/dist/zoned/get/getTimeZones.d.ts +12 -0
  1128. package/dist/zoned/get/getTimeZones.js +19 -0
  1129. package/dist/zoned/get/getZonedDay.d.ts +13 -0
  1130. package/dist/zoned/get/getZonedDay.js +26 -0
  1131. package/dist/zoned/get/getZonedDayOfWeek.d.ts +14 -0
  1132. package/dist/zoned/get/getZonedDayOfWeek.js +26 -0
  1133. package/dist/zoned/get/getZonedHour.d.ts +13 -0
  1134. package/dist/zoned/get/getZonedHour.js +26 -0
  1135. package/dist/zoned/get/getZonedMicrosecond.d.ts +13 -0
  1136. package/dist/zoned/get/getZonedMicrosecond.js +26 -0
  1137. package/dist/zoned/get/getZonedMillisecond.d.ts +13 -0
  1138. package/dist/zoned/get/getZonedMillisecond.js +26 -0
  1139. package/dist/zoned/get/getZonedMinute.d.ts +13 -0
  1140. package/dist/zoned/get/getZonedMinute.js +26 -0
  1141. package/dist/zoned/get/getZonedMonth.d.ts +13 -0
  1142. package/dist/zoned/get/getZonedMonth.js +26 -0
  1143. package/dist/zoned/get/getZonedNanosecond.d.ts +13 -0
  1144. package/dist/zoned/get/getZonedNanosecond.js +26 -0
  1145. package/dist/zoned/get/getZonedNow.d.ts +17 -0
  1146. package/dist/zoned/get/getZonedNow.js +31 -0
  1147. package/dist/zoned/get/getZonedNowUnit.d.ts +16 -0
  1148. package/dist/zoned/get/getZonedNowUnit.js +72 -0
  1149. package/dist/zoned/get/getZonedSecond.d.ts +13 -0
  1150. package/dist/zoned/get/getZonedSecond.js +26 -0
  1151. package/dist/zoned/get/getZonedToday.d.ts +13 -0
  1152. package/dist/zoned/get/getZonedToday.js +26 -0
  1153. package/dist/zoned/get/getZonedWeekOfYear.d.ts +14 -0
  1154. package/dist/zoned/get/getZonedWeekOfYear.js +26 -0
  1155. package/dist/zoned/get/getZonedYear.d.ts +13 -0
  1156. package/dist/zoned/get/getZonedYear.js +26 -0
  1157. package/dist/zoned/get/index.d.ts +18 -0
  1158. package/dist/zoned/get/index.js +18 -0
  1159. package/dist/zoned/index.d.ts +11 -0
  1160. package/dist/zoned/index.js +12 -0
  1161. package/dist/zoned/interval/index.d.ts +18 -0
  1162. package/dist/zoned/interval/index.js +18 -0
  1163. package/dist/zoned/interval/intervalAbutsZoned.d.ts +30 -0
  1164. package/dist/zoned/interval/intervalAbutsZoned.js +74 -0
  1165. package/dist/zoned/interval/intervalContainsZoned.d.ts +31 -0
  1166. package/dist/zoned/interval/intervalContainsZoned.js +70 -0
  1167. package/dist/zoned/interval/intervalCountZoned.d.ts +39 -0
  1168. package/dist/zoned/interval/intervalCountZoned.js +82 -0
  1169. package/dist/zoned/interval/intervalDifferenceZoned.d.ts +38 -0
  1170. package/dist/zoned/interval/intervalDifferenceZoned.js +94 -0
  1171. package/dist/zoned/interval/intervalDivideEquallyZoned.d.ts +35 -0
  1172. package/dist/zoned/interval/intervalDivideEquallyZoned.js +80 -0
  1173. package/dist/zoned/interval/intervalEngulfsZoned.d.ts +30 -0
  1174. package/dist/zoned/interval/intervalEngulfsZoned.js +65 -0
  1175. package/dist/zoned/interval/intervalFromDurationZoned.d.ts +45 -0
  1176. package/dist/zoned/interval/intervalFromDurationZoned.js +85 -0
  1177. package/dist/zoned/interval/intervalIntersectionZoned.d.ts +36 -0
  1178. package/dist/zoned/interval/intervalIntersectionZoned.js +77 -0
  1179. package/dist/zoned/interval/intervalLengthZoned.d.ts +31 -0
  1180. package/dist/zoned/interval/intervalLengthZoned.js +61 -0
  1181. package/dist/zoned/interval/intervalOverlappingDaysZoned.d.ts +42 -0
  1182. package/dist/zoned/interval/intervalOverlappingDaysZoned.js +89 -0
  1183. package/dist/zoned/interval/intervalSplitAtZoned.d.ts +36 -0
  1184. package/dist/zoned/interval/intervalSplitAtZoned.js +84 -0
  1185. package/dist/zoned/interval/intervalUnionZoned.d.ts +38 -0
  1186. package/dist/zoned/interval/intervalUnionZoned.js +79 -0
  1187. package/dist/zoned/interval/intervalXorAllZoned.d.ts +37 -0
  1188. package/dist/zoned/interval/intervalXorAllZoned.js +108 -0
  1189. package/dist/zoned/interval/intervalXorZoned.d.ts +39 -0
  1190. package/dist/zoned/interval/intervalXorZoned.js +118 -0
  1191. package/dist/zoned/interval/intervalsOverlapZoned.d.ts +27 -0
  1192. package/dist/zoned/interval/intervalsOverlapZoned.js +62 -0
  1193. package/dist/zoned/interval/mergeIntervalsZoned.d.ts +36 -0
  1194. package/dist/zoned/interval/mergeIntervalsZoned.js +77 -0
  1195. package/dist/zoned/interval/splitIntervalByUnitZoned.d.ts +31 -0
  1196. package/dist/zoned/interval/splitIntervalByUnitZoned.js +77 -0
  1197. package/dist/zoned/interval/validate/index.d.ts +2 -0
  1198. package/dist/zoned/interval/validate/index.js +2 -0
  1199. package/dist/zoned/interval/validate/isValidCalendarZonedInterval.d.ts +31 -0
  1200. package/dist/zoned/interval/validate/isValidCalendarZonedInterval.js +45 -0
  1201. package/dist/zoned/interval/validate/isValidZonedInterval.d.ts +23 -0
  1202. package/dist/zoned/interval/validate/isValidZonedInterval.js +44 -0
  1203. package/dist/zoned/map/index.d.ts +2 -0
  1204. package/dist/zoned/map/index.js +2 -0
  1205. package/dist/zoned/map/mapZonedDatesInRange.d.ts +16 -0
  1206. package/dist/zoned/map/mapZonedDatesInRange.js +56 -0
  1207. package/dist/zoned/map/mapZonedHoursInDay.d.ts +23 -0
  1208. package/dist/zoned/map/mapZonedHoursInDay.js +47 -0
  1209. package/dist/zoned/parse/getZonedOffset.d.ts +17 -0
  1210. package/dist/zoned/parse/getZonedOffset.js +29 -0
  1211. package/dist/zoned/parse/getZonedOffsetAs.d.ts +29 -0
  1212. package/dist/zoned/parse/getZonedOffsetAs.js +44 -0
  1213. package/dist/zoned/parse/index.d.ts +20 -0
  1214. package/dist/zoned/parse/index.js +20 -0
  1215. package/dist/zoned/parse/parseDateFromZoned.d.ts +13 -0
  1216. package/dist/zoned/parse/parseDateFromZoned.js +26 -0
  1217. package/dist/zoned/parse/parseDateTimeFromZoned.d.ts +14 -0
  1218. package/dist/zoned/parse/parseDateTimeFromZoned.js +27 -0
  1219. package/dist/zoned/parse/parseDayFromZoned.d.ts +13 -0
  1220. package/dist/zoned/parse/parseDayFromZoned.js +26 -0
  1221. package/dist/zoned/parse/parseDayOfWeekFromZoned.d.ts +14 -0
  1222. package/dist/zoned/parse/parseDayOfWeekFromZoned.js +27 -0
  1223. package/dist/zoned/parse/parseHourFromZoned.d.ts +13 -0
  1224. package/dist/zoned/parse/parseHourFromZoned.js +26 -0
  1225. package/dist/zoned/parse/parseMicrosecondFromZoned.d.ts +13 -0
  1226. package/dist/zoned/parse/parseMicrosecondFromZoned.js +26 -0
  1227. package/dist/zoned/parse/parseMillisecondFromZoned.d.ts +13 -0
  1228. package/dist/zoned/parse/parseMillisecondFromZoned.js +26 -0
  1229. package/dist/zoned/parse/parseMinuteFromZoned.d.ts +13 -0
  1230. package/dist/zoned/parse/parseMinuteFromZoned.js +26 -0
  1231. package/dist/zoned/parse/parseMonthFromZoned.d.ts +13 -0
  1232. package/dist/zoned/parse/parseMonthFromZoned.js +26 -0
  1233. package/dist/zoned/parse/parseNanosecondFromZoned.d.ts +13 -0
  1234. package/dist/zoned/parse/parseNanosecondFromZoned.js +26 -0
  1235. package/dist/zoned/parse/parseRfc2822.d.ts +26 -0
  1236. package/dist/zoned/parse/parseRfc2822.js +71 -0
  1237. package/dist/zoned/parse/parseRfc3339.d.ts +23 -0
  1238. package/dist/zoned/parse/parseRfc3339.js +42 -0
  1239. package/dist/zoned/parse/parseSecondFromZoned.d.ts +13 -0
  1240. package/dist/zoned/parse/parseSecondFromZoned.js +26 -0
  1241. package/dist/zoned/parse/parseTimeFromZoned.d.ts +13 -0
  1242. package/dist/zoned/parse/parseTimeFromZoned.js +26 -0
  1243. package/dist/zoned/parse/parseTimeZoneFromZoned.d.ts +13 -0
  1244. package/dist/zoned/parse/parseTimeZoneFromZoned.js +25 -0
  1245. package/dist/zoned/parse/parseUnitFromZoned.d.ts +19 -0
  1246. package/dist/zoned/parse/parseUnitFromZoned.js +71 -0
  1247. package/dist/zoned/parse/parseWeekFromZoned.d.ts +17 -0
  1248. package/dist/zoned/parse/parseWeekFromZoned.js +30 -0
  1249. package/dist/zoned/parse/parseYearFromZoned.d.ts +13 -0
  1250. package/dist/zoned/parse/parseYearFromZoned.js +26 -0
  1251. package/dist/zoned/validate/hasDaylightSaving.d.ts +17 -0
  1252. package/dist/zoned/validate/hasDaylightSaving.js +43 -0
  1253. package/dist/zoned/validate/index.d.ts +5 -0
  1254. package/dist/zoned/validate/index.js +5 -0
  1255. package/dist/zoned/validate/isValidCalendarZonedDateTime.d.ts +30 -0
  1256. package/dist/zoned/validate/isValidCalendarZonedDateTime.js +41 -0
  1257. package/dist/zoned/validate/isValidTimeZone.d.ts +15 -0
  1258. package/dist/zoned/validate/isValidTimeZone.js +33 -0
  1259. package/dist/zoned/validate/isValidZonedDateTime.d.ts +22 -0
  1260. package/dist/zoned/validate/isValidZonedDateTime.js +39 -0
  1261. package/dist/zoned/validate/isValidZonedRange.d.ts +26 -0
  1262. package/dist/zoned/validate/isValidZonedRange.js +43 -0
  1263. package/package.json +113 -0
  1264. package/skills/_artifacts/domain_map.yaml +547 -0
  1265. package/skills/_artifacts/skill_spec.md +67 -0
  1266. package/skills/_artifacts/skill_tree.yaml +278 -0
  1267. package/skills/api-expansion-workflow/SKILL.md +52 -0
  1268. package/skills/app-integration/SKILL.md +38 -0
  1269. package/skills/calculate-dates/SKILL.md +432 -0
  1270. package/skills/compare-dates/SKILL.md +412 -0
  1271. package/skills/convert-types/SKILL.md +305 -0
  1272. package/skills/durations/SKILL.md +418 -0
  1273. package/skills/format-date-time/SKILL.md +486 -0
  1274. package/skills/format-date-time/references/format-api.md +34 -0
  1275. package/skills/format-relative-time/SKILL.md +223 -0
  1276. package/skills/get-current/SKILL.md +229 -0
  1277. package/skills/interval-ops/SKILL.md +432 -0
  1278. package/skills/issue-creation/SKILL.md +118 -0
  1279. package/skills/lint-package-suggestion/SKILL.md +37 -0
  1280. package/skills/new-method-implementation/SKILL.md +71 -0
  1281. package/skills/parse-date-time/SKILL.md +349 -0
  1282. package/skills/pr-contribution/SKILL.md +180 -0
  1283. package/skills/unit-test-generation/SKILL.md +56 -0
  1284. package/skills/validate-dates/SKILL.md +438 -0
  1285. package/skills/zoned-date-ops/SKILL.md +422 -0
  1286. package/skills/zoned-date-ops/references/timezones.md +13 -0
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Resolve a timezone string for the Unix/UTC formatters.
3
+ *
4
+ * - `"local"` → the system timezone via `getSystemTimeZone()`.
5
+ * - A valid IANA timezone identifier → returned as-is.
6
+ * - Anything else (undefined, empty, invalid name, typo) → `"UTC"`.
7
+ *
8
+ * The UTC fallback is intentional: `formatUnix` / `formatUtc` / the relative
9
+ * formatters expose `timeZone` as an *optional* convenience, so we degrade
10
+ * gracefully when callers pass nothing or pass a typo. Callers that need
11
+ * strict timezone validation should use `isValidTimeZone()` themselves
12
+ * before calling these formatters.
13
+ */
14
+ export declare function normalizeTimeZone(tz?: string): string;
@@ -0,0 +1,22 @@
1
+ import { getSystemTimeZone } from "../zoned/get/getSystemTimeZone.js";
2
+ import { isValidTimeZone } from "../zoned/validate/index.js";
3
+ /**
4
+ * Resolve a timezone string for the Unix/UTC formatters.
5
+ *
6
+ * - `"local"` → the system timezone via `getSystemTimeZone()`.
7
+ * - A valid IANA timezone identifier → returned as-is.
8
+ * - Anything else (undefined, empty, invalid name, typo) → `"UTC"`.
9
+ *
10
+ * The UTC fallback is intentional: `formatUnix` / `formatUtc` / the relative
11
+ * formatters expose `timeZone` as an *optional* convenience, so we degrade
12
+ * gracefully when callers pass nothing or pass a typo. Callers that need
13
+ * strict timezone validation should use `isValidTimeZone()` themselves
14
+ * before calling these formatters.
15
+ */
16
+ export function normalizeTimeZone(tz) {
17
+ if (tz === "local")
18
+ return getSystemTimeZone();
19
+ if (typeof tz === "string" && tz.length > 0 && isValidTimeZone(tz))
20
+ return tz;
21
+ return "UTC";
22
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Shared token-pattern engine for J11's `parse*WithPattern` family.
3
+ *
4
+ * This is GMT's one named exception to `context/coding-standards.md`'s
5
+ * "manual string parsing" prohibition (Decision 4 in
6
+ * `context/roadmap/issues/J.md`). The exception is scoped to this module
7
+ * and the three `parse*WithPattern` public functions, and is bound by
8
+ * three rules, enforced throughout this file:
9
+ * 1. The regex is always built *from the pattern string itself* at call
10
+ * time (see `compilePattern`) — never hand-rolled per-format string
11
+ * slicing.
12
+ * 2. Extracted fields are handed to the caller for `Temporal.*.from(...,
13
+ * { overflow: "reject" })` — a regex match alone only proves *shape*,
14
+ * never validity (see each `parse*WithPattern` wrapper).
15
+ * 3. Never throws; malformed pattern, no match, or invalid input all
16
+ * resolve to `null` here (the public wrappers translate that to
17
+ * `""`).
18
+ */
19
+ /** Field categories a pattern token can produce. Each may appear at most once per pattern. */
20
+ export type PatternField = "year" | "month" | "day" | "hour" | "minute" | "second" | "millisecond" | "weekday" | "meridiem" | "era";
21
+ /** Fields accepted by `parseDateWithPattern` — date-shaped tokens only. */
22
+ export declare const DATE_PATTERN_FIELDS: ReadonlySet<PatternField>;
23
+ /** Fields accepted by `parseTimeWithPattern` — time-shaped tokens only. */
24
+ export declare const TIME_PATTERN_FIELDS: ReadonlySet<PatternField>;
25
+ /** Fields accepted by `parseDateTimeWithPattern` — the full combined set. */
26
+ export declare const DATE_TIME_PATTERN_FIELDS: ReadonlySet<PatternField>;
27
+ /** Resolved output of a successful parse — only fields the pattern actually contained are set. */
28
+ export interface ParsedPatternFields {
29
+ year?: number;
30
+ month?: number;
31
+ day?: number;
32
+ hour?: number;
33
+ minute?: number;
34
+ second?: number;
35
+ millisecond?: number;
36
+ }
37
+ /**
38
+ * Parse `value` against `pattern` and return the resolved candidate
39
+ * fields, or `null` on malformed pattern / no match / invalid input.
40
+ *
41
+ * `null` here always means "return the sentinel" to the caller — it
42
+ * never distinguishes malformed-pattern from no-match from invalid-input,
43
+ * matching the shared never-throw / sentinel-return contract.
44
+ */
45
+ export declare function parseValueWithPattern(value: string, pattern: string, locale: string | undefined, allowedFields: ReadonlySet<PatternField>): ParsedPatternFields | null;
@@ -0,0 +1,385 @@
1
+ import { getLocaleEraNames } from "../plain/locale/getLocaleEraNames.js";
2
+ import { getLocaleMeridiems } from "../plain/locale/getLocaleMeridiems.js";
3
+ import { getLocaleMonthNames } from "../plain/locale/getLocaleMonthNames.js";
4
+ import { getLocaleWeekdayNames } from "../plain/locale/getLocaleWeekdayNames.js";
5
+ /** Fields accepted by `parseDateWithPattern` — date-shaped tokens only. */
6
+ export const DATE_PATTERN_FIELDS = new Set([
7
+ "year",
8
+ "month",
9
+ "day",
10
+ "weekday",
11
+ "era",
12
+ ]);
13
+ /** Fields accepted by `parseTimeWithPattern` — time-shaped tokens only. */
14
+ export const TIME_PATTERN_FIELDS = new Set([
15
+ "hour",
16
+ "minute",
17
+ "second",
18
+ "millisecond",
19
+ "meridiem",
20
+ ]);
21
+ /** Fields accepted by `parseDateTimeWithPattern` — the full combined set. */
22
+ export const DATE_TIME_PATTERN_FIELDS = new Set([
23
+ ...DATE_PATTERN_FIELDS,
24
+ ...TIME_PATTERN_FIELDS,
25
+ ]);
26
+ // Recognized vocabulary letters (Decision 1's Luxon-derived token set,
27
+ // restricted to what's unambiguous to parse — no offset/zone-name tokens
28
+ // since this story is plain-only). Any other unquoted letter in a pattern
29
+ // is malformed. Numeric ranges are baked into each regex so a shape
30
+ // mismatch (e.g. "13" for a 12-hour token) fails at the regex stage,
31
+ // before ever reaching Temporal.
32
+ const TOKEN_TABLE = {
33
+ y4: { field: "year", kind: "yearFull", regexSource: "\\d{4}" },
34
+ y2: { field: "year", kind: "yearShort", regexSource: "\\d{2}" },
35
+ M2: {
36
+ field: "month",
37
+ kind: "monthNumber",
38
+ regexSource: "(?:0[1-9]|1[0-2])",
39
+ },
40
+ M1: {
41
+ field: "month",
42
+ kind: "monthNumber",
43
+ regexSource: "(?:0?[1-9]|1[0-2])",
44
+ },
45
+ M3: { field: "month", kind: "monthNameShort" },
46
+ M4: { field: "month", kind: "monthNameLong" },
47
+ d2: { field: "day", kind: "day", regexSource: "(?:0[1-9]|[12]\\d|3[01])" },
48
+ d1: {
49
+ field: "day",
50
+ kind: "day",
51
+ regexSource: "(?:0?[1-9]|[12]\\d|3[01])",
52
+ },
53
+ H2: { field: "hour", kind: "hour24", regexSource: "(?:[01]\\d|2[0-3])" },
54
+ H1: {
55
+ field: "hour",
56
+ kind: "hour24",
57
+ regexSource: "(?:[01]?\\d|2[0-3])",
58
+ },
59
+ h2: { field: "hour", kind: "hour12", regexSource: "(?:0[1-9]|1[0-2])" },
60
+ h1: {
61
+ field: "hour",
62
+ kind: "hour12",
63
+ regexSource: "(?:0?[1-9]|1[0-2])",
64
+ },
65
+ m2: { field: "minute", kind: "minute", regexSource: "[0-5]\\d" },
66
+ m1: { field: "minute", kind: "minute", regexSource: "(?:[0-5]?\\d)" },
67
+ s2: { field: "second", kind: "second", regexSource: "[0-5]\\d" },
68
+ s1: { field: "second", kind: "second", regexSource: "(?:[0-5]?\\d)" },
69
+ S3: { field: "millisecond", kind: "millisecond", regexSource: "\\d{3}" },
70
+ E3: { field: "weekday", kind: "weekdayShort" },
71
+ E4: { field: "weekday", kind: "weekdayLong" },
72
+ a1: { field: "meridiem", kind: "meridiem" },
73
+ G2: { field: "era", kind: "eraShort" },
74
+ G4: { field: "era", kind: "eraLong" },
75
+ };
76
+ const VOCABULARY_LETTERS = "yMdHhmsSEaG";
77
+ /**
78
+ * Split a pattern string into literal and letter-run parts.
79
+ *
80
+ * Quoted segments (`'...'`) are literals matched verbatim; a doubled `''`
81
+ * *inside* an open quote is the escape for one literal `'` character
82
+ * (mirrors Luxon's own escaping exactly — Decision 1 already establishes
83
+ * Luxon's vocabulary as this story's starting point). Any character that
84
+ * isn't part of a letter run and isn't inside a quote (separators,
85
+ * literal digits, punctuation) is automatically a one-character literal —
86
+ * no explicit quoting required for those.
87
+ */
88
+ function tokenizePattern(pattern) {
89
+ const parts = [];
90
+ let i = 0;
91
+ while (i < pattern.length) {
92
+ const ch = pattern[i];
93
+ if (ch === "'") {
94
+ let j = i + 1;
95
+ let text = "";
96
+ let closed = false;
97
+ while (j < pattern.length) {
98
+ if (pattern[j] === "'") {
99
+ if (pattern[j + 1] === "'") {
100
+ text += "'";
101
+ j += 2;
102
+ continue;
103
+ }
104
+ j += 1;
105
+ closed = true;
106
+ break;
107
+ }
108
+ text += pattern[j];
109
+ j += 1;
110
+ }
111
+ // An unterminated quote has no unambiguous literal meaning — treat
112
+ // it as a malformed pattern rather than guessing where it "should"
113
+ // have closed.
114
+ if (!closed)
115
+ return null;
116
+ parts.push({ type: "literal", text });
117
+ i = j;
118
+ continue;
119
+ }
120
+ if (/[a-zA-Z]/.test(ch)) {
121
+ let j = i;
122
+ while (j < pattern.length && pattern[j] === ch)
123
+ j++;
124
+ parts.push({ type: "token", letter: ch, length: j - i });
125
+ i = j;
126
+ continue;
127
+ }
128
+ parts.push({ type: "literal", text: ch });
129
+ i++;
130
+ }
131
+ return parts;
132
+ }
133
+ function escapeRegExp(text) {
134
+ return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
135
+ }
136
+ /**
137
+ * Build a case-insensitive alternation from a locale's name list.
138
+ *
139
+ * Names are sorted by descending length before joining with `|` so a
140
+ * longer name is tried before a shorter one that happens to be its
141
+ * prefix (e.g. a locale where a short-form weekday name is a strict
142
+ * prefix of a longer name) — otherwise the regex engine's left-to-right
143
+ * alternation would greedily commit to the shorter match and never
144
+ * backtrack into the longer one.
145
+ */
146
+ function buildNameAlternation(names) {
147
+ return [...names]
148
+ .sort((a, b) => b.length - a.length)
149
+ .map((name) => escapeRegExp(name))
150
+ .join("|");
151
+ }
152
+ /**
153
+ * Compile a token pattern into an anchored `RegExp` plus the metadata
154
+ * needed to resolve each capture back to a field value.
155
+ *
156
+ * Returns `null` for any malformed pattern: an unquoted letter outside
157
+ * the recognized vocabulary, a recognized letter repeated to an
158
+ * unsupported width, a field appearing more than once, a field outside
159
+ * `allowedFields` (e.g. a time token handed to the date-only parser), an
160
+ * unterminated quote, or (for a locale-aware token) a locale that
161
+ * `Intl.Locale` cannot resolve.
162
+ */
163
+ function compilePattern(pattern, allowedFields, locale) {
164
+ const parts = tokenizePattern(pattern);
165
+ if (parts === null)
166
+ return null;
167
+ const usedFields = new Set();
168
+ const tokens = [];
169
+ const regexPieces = [];
170
+ let groupCounter = 0;
171
+ for (const part of parts) {
172
+ if (part.type === "literal") {
173
+ regexPieces.push(escapeRegExp(part.text ?? ""));
174
+ continue;
175
+ }
176
+ const letter = part.letter;
177
+ const length = part.length;
178
+ // An unquoted letter outside the recognized vocabulary is always
179
+ // malformed, regardless of run length.
180
+ if (!VOCABULARY_LETTERS.includes(letter))
181
+ return null;
182
+ const spec = TOKEN_TABLE[`${letter}${length}`];
183
+ // A recognized letter repeated to a width not in the token table
184
+ // (e.g. "yyy", "hhh", "SS") is malformed.
185
+ if (!spec)
186
+ return null;
187
+ // A time-only token in a date-only pattern (or vice versa) is
188
+ // rejected here, before ever attempting to match `value` — this is
189
+ // the pattern-parsing-stage rejection the spec requires.
190
+ if (!allowedFields.has(spec.field))
191
+ return null;
192
+ // The same field appearing twice (e.g. two independent yyyy runs, or
193
+ // H combined with hh) is malformed — each field may resolve to only
194
+ // one captured value.
195
+ if (usedFields.has(spec.field))
196
+ return null;
197
+ usedFields.add(spec.field);
198
+ const groupName = `g${groupCounter++}`;
199
+ if (spec.regexSource) {
200
+ regexPieces.push(`(?<${groupName}>${spec.regexSource})`);
201
+ tokens.push({ groupName, field: spec.field, kind: spec.kind });
202
+ continue;
203
+ }
204
+ if (spec.kind === "monthNameShort" || spec.kind === "monthNameLong") {
205
+ const names = getLocaleMonthNames(locale, spec.kind === "monthNameLong" ? "long" : "short");
206
+ if (names.length !== 12)
207
+ return null; // locale not resolvable
208
+ regexPieces.push(`(?<${groupName}>${buildNameAlternation(names)})`);
209
+ tokens.push({
210
+ groupName,
211
+ field: spec.field,
212
+ kind: spec.kind,
213
+ monthNames: names,
214
+ });
215
+ continue;
216
+ }
217
+ if (spec.kind === "weekdayShort" || spec.kind === "weekdayLong") {
218
+ const names = getLocaleWeekdayNames(locale, spec.kind === "weekdayLong" ? "long" : "short");
219
+ if (names.length !== 7)
220
+ return null;
221
+ // Deliberate scope limit: the weekday name is consumed and matched
222
+ // against the pattern (so the overall shape still has to line up)
223
+ // but is NOT cross-validated against the constructed date — that
224
+ // would require a second weekday-index-to-ISO-dayOfWeek mapping
225
+ // layer this story does not build. No capturing group is created;
226
+ // nothing about this token feeds `resolvePatternFields`.
227
+ regexPieces.push(`(?:${buildNameAlternation(names)})`);
228
+ continue;
229
+ }
230
+ if (spec.kind === "meridiem") {
231
+ const meridiems = getLocaleMeridiems(locale);
232
+ if (meridiems.length !== 2)
233
+ return null;
234
+ regexPieces.push(`(?<${groupName}>${buildNameAlternation(meridiems)})`);
235
+ tokens.push({
236
+ groupName,
237
+ field: spec.field,
238
+ kind: spec.kind,
239
+ meridiems,
240
+ });
241
+ continue;
242
+ }
243
+ // era (eraShort | eraLong)
244
+ const eras = getLocaleEraNames(locale, spec.kind === "eraLong" ? "long" : "short");
245
+ if (eras.length !== 2)
246
+ return null;
247
+ regexPieces.push(`(?<${groupName}>${buildNameAlternation(eras)})`);
248
+ tokens.push({ groupName, field: spec.field, kind: spec.kind, eras });
249
+ }
250
+ // Anchor the fully assembled pattern so only a whole-string match
251
+ // counts — a `value` that merely starts with something pattern-shaped
252
+ // (e.g. trailing garbage) must not silently succeed. The whole
253
+ // alternation is case-insensitive so locale name matching (and any
254
+ // literal separators) doesn't depend on the caller's casing.
255
+ const regex = new RegExp(`^${regexPieces.join("")}$`, "i");
256
+ return { regex, tokens };
257
+ }
258
+ /**
259
+ * Resolve a successful regex match's captures back into date/time field
260
+ * values, applying the two-digit-year pivot, 12-hour-to-24-hour
261
+ * conversion (via a matched meridiem), and BCE/CE year adjustment.
262
+ *
263
+ * This step only ever produces a *candidate* fields object — it does not
264
+ * itself prove the fields form a real date/time. The caller is
265
+ * responsible for handing the result to `Temporal.*.from(fields, {
266
+ * overflow: "reject" })`, which is what actually validates it.
267
+ */
268
+ function resolvePatternFields(match, tokens) {
269
+ const groups = (match.groups ?? {});
270
+ const fields = {};
271
+ let hourIsTwelveHour = false;
272
+ let meridiemIsPM = false;
273
+ let eraIsBCE = false;
274
+ for (const token of tokens) {
275
+ const raw = groups[token.groupName];
276
+ if (raw === undefined)
277
+ continue;
278
+ switch (token.kind) {
279
+ case "yearFull":
280
+ fields.year = Number.parseInt(raw, 10);
281
+ break;
282
+ case "yearShort": {
283
+ // Two-digit year pivot: 00-68 -> 2000-2068, 69-99 -> 1969-1999.
284
+ // Fixed rule (mirrors common strptime %y behavior) — not a
285
+ // configurable/global setting.
286
+ const numeric = Number.parseInt(raw, 10);
287
+ fields.year = numeric <= 68 ? 2000 + numeric : 1900 + numeric;
288
+ break;
289
+ }
290
+ case "monthNumber":
291
+ fields.month = Number.parseInt(raw, 10);
292
+ break;
293
+ case "monthNameShort":
294
+ case "monthNameLong": {
295
+ const names = token.monthNames ?? [];
296
+ const index = names.findIndex((name) => name.toLowerCase() === raw.toLowerCase());
297
+ fields.month = index + 1; // -1 (not found) would yield 0, which Temporal rejects
298
+ break;
299
+ }
300
+ case "day":
301
+ fields.day = Number.parseInt(raw, 10);
302
+ break;
303
+ case "hour24":
304
+ fields.hour = Number.parseInt(raw, 10);
305
+ break;
306
+ case "hour12":
307
+ hourIsTwelveHour = true;
308
+ fields.hour = Number.parseInt(raw, 10);
309
+ break;
310
+ case "minute":
311
+ fields.minute = Number.parseInt(raw, 10);
312
+ break;
313
+ case "second":
314
+ fields.second = Number.parseInt(raw, 10);
315
+ break;
316
+ case "millisecond":
317
+ fields.millisecond = Number.parseInt(raw, 10);
318
+ break;
319
+ case "meridiem": {
320
+ const [amLabel, pmLabel] = token.meridiems ?? ["", ""];
321
+ // Guard against a locale whose AM/PM labels happen to coincide —
322
+ // in that case there is nothing to distinguish, so don't treat
323
+ // the match as PM by accident.
324
+ meridiemIsPM =
325
+ raw.toLowerCase() === (pmLabel ?? "").toLowerCase() &&
326
+ (pmLabel ?? "").toLowerCase() !== (amLabel ?? "").toLowerCase();
327
+ break;
328
+ }
329
+ case "eraShort":
330
+ case "eraLong": {
331
+ const [bceLabel, ceLabel] = token.eras ?? ["", ""];
332
+ eraIsBCE =
333
+ raw.toLowerCase() === (bceLabel ?? "").toLowerCase() &&
334
+ (bceLabel ?? "").toLowerCase() !== (ceLabel ?? "").toLowerCase();
335
+ break;
336
+ }
337
+ default:
338
+ break;
339
+ }
340
+ }
341
+ if (hourIsTwelveHour && fields.hour !== undefined) {
342
+ // Resolve h/hh to 24-hour. With no `a` token present in the pattern
343
+ // at all, `meridiemIsPM` stays false and this falls through the same
344
+ // branch as an explicit AM match — the documented "ambiguous AM
345
+ // default" behavior.
346
+ if (meridiemIsPM && fields.hour !== 12)
347
+ fields.hour += 12;
348
+ if (!meridiemIsPM && fields.hour === 12)
349
+ fields.hour = 0;
350
+ }
351
+ if (eraIsBCE && fields.year !== undefined) {
352
+ // Proleptic Gregorian: 1 BCE = year 0, 2 BCE = year -1, etc.
353
+ fields.year = 1 - fields.year;
354
+ }
355
+ return fields;
356
+ }
357
+ /**
358
+ * Parse `value` against `pattern` and return the resolved candidate
359
+ * fields, or `null` on malformed pattern / no match / invalid input.
360
+ *
361
+ * `null` here always means "return the sentinel" to the caller — it
362
+ * never distinguishes malformed-pattern from no-match from invalid-input,
363
+ * matching the shared never-throw / sentinel-return contract.
364
+ */
365
+ export function parseValueWithPattern(value, pattern, locale, allowedFields) {
366
+ if (typeof value !== "string" || value.length === 0)
367
+ return null;
368
+ if (typeof pattern !== "string" || pattern.length === 0)
369
+ return null;
370
+ if (locale !== undefined && typeof locale !== "string")
371
+ return null;
372
+ // No `locale` is required to parse a pattern containing only numeric
373
+ // tokens, but a name-based token (MMM/MMMM/EEE/EEEE/a/GG/GGGG) needs
374
+ // *some* locale to resolve against — default to "en-US" rather than
375
+ // silently returning "" for every caller who didn't have another
376
+ // locale in mind.
377
+ const resolvedLocale = typeof locale === "string" ? locale : "en-US";
378
+ const compiled = compilePattern(pattern, allowedFields, resolvedLocale);
379
+ if (compiled === null)
380
+ return null;
381
+ const match = value.match(compiled.regex);
382
+ if (match === null)
383
+ return null;
384
+ return resolvePatternFields(match, compiled.tokens);
385
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Normalize a date-time unit string to its singular form.
3
+ *
4
+ * - Accepts singular ("day"), plural ("days"), and already-singular forms.
5
+ * - Returns the original string if it is not a recognized DateTimeUnit.
6
+ * - Singular counterpart of `resolveDurationUnit`, which normalizes to plurals.
7
+ *
8
+ * @param unit raw unit string from caller input
9
+ * @returns normalized singular unit string, or the original if not recognized
10
+ */
11
+ export declare function resolveDateTimeUnit(unit: string): string;
@@ -0,0 +1,23 @@
1
+ import { isValidDateTimeUnit } from "../plain/validate/index.js";
2
+ /**
3
+ * Normalize a date-time unit string to its singular form.
4
+ *
5
+ * - Accepts singular ("day"), plural ("days"), and already-singular forms.
6
+ * - Returns the original string if it is not a recognized DateTimeUnit.
7
+ * - Singular counterpart of `resolveDurationUnit`, which normalizes to plurals.
8
+ *
9
+ * @param unit raw unit string from caller input
10
+ * @returns normalized singular unit string, or the original if not recognized
11
+ */
12
+ export function resolveDateTimeUnit(unit) {
13
+ if (isValidDateTimeUnit(unit)) {
14
+ return unit;
15
+ }
16
+ if (unit.endsWith("s")) {
17
+ const singular = unit.slice(0, -1);
18
+ if (isValidDateTimeUnit(singular)) {
19
+ return singular;
20
+ }
21
+ }
22
+ return unit;
23
+ }
@@ -0,0 +1,29 @@
1
+ import type { DurationRelativeTo } from "../types/index.js";
2
+ /**
3
+ * Resolve a `DurationRelativeTo` value for `Temporal.Duration`'s `relativeTo` option, converting
4
+ * a GMT calendar-annotated PlainDate string (`"5784-06-15[u-ca=hebrew]"`, as produced by
5
+ * `convertDateToCalendar`) into the `Temporal.PlainDate` it actually names before handing it to
6
+ * Temporal.
7
+ *
8
+ * Without this, Temporal's own `relativeTo` string parsing reads GMT's native-digit shape as if
9
+ * it were Temporal's ISO-digit `[u-ca=...]` convention instead (see
10
+ * `context/coding-standards.md`'s E1 scoped-exception note on the two conventions), silently
11
+ * resolving to the wrong date with no error — e.g. `relativeTo: "5784-06-15[u-ca=hebrew]"`
12
+ * previously returned the day count for Gregorian year 5784, not the Hebrew date it names. Found
13
+ * and fixed as part of E5 (issue #78); this is D1's "`duration/`'s `relativeTo` accepts the GMT
14
+ * shape only" decision of record.
15
+ *
16
+ * Every other `relativeTo` shape (a plain ISO string, a `PlainDateTime`/`ZonedDateTime` object
17
+ * or `-Like`, or any string that isn't a GMT calendar-annotated PlainDate) passes through
18
+ * unchanged — GMT's calendar-string contract only covers `plain/` `PlainDate` (D1).
19
+ *
20
+ * Resolves to a `Temporal.PlainDateTime` (midnight, same calendar) rather than a bare
21
+ * `Temporal.PlainDate` — verified equivalent at runtime (`.total`/`.round`/`.compare` all
22
+ * produce the identical result either way) and `PlainDateTime` is the type Temporal's own
23
+ * `relativeTo` option signature actually accepts, unlike `PlainDate`.
24
+ *
25
+ * Throws if the calendar-annotated string is malformed. Callers already wrap the Temporal call
26
+ * consuming this in `try { ... } catch { return sentinel }` per GMT's contract, so this composes
27
+ * directly into that same block rather than needing its own try/catch.
28
+ */
29
+ export declare function resolveDurationRelativeTo(relativeTo: DurationRelativeTo | undefined): DurationRelativeTo | undefined;
@@ -0,0 +1,35 @@
1
+ import { calendarDate } from "../regex/index.js";
2
+ import { parseCalendarDateValue } from "./calendarDateString.js";
3
+ /**
4
+ * Resolve a `DurationRelativeTo` value for `Temporal.Duration`'s `relativeTo` option, converting
5
+ * a GMT calendar-annotated PlainDate string (`"5784-06-15[u-ca=hebrew]"`, as produced by
6
+ * `convertDateToCalendar`) into the `Temporal.PlainDate` it actually names before handing it to
7
+ * Temporal.
8
+ *
9
+ * Without this, Temporal's own `relativeTo` string parsing reads GMT's native-digit shape as if
10
+ * it were Temporal's ISO-digit `[u-ca=...]` convention instead (see
11
+ * `context/coding-standards.md`'s E1 scoped-exception note on the two conventions), silently
12
+ * resolving to the wrong date with no error — e.g. `relativeTo: "5784-06-15[u-ca=hebrew]"`
13
+ * previously returned the day count for Gregorian year 5784, not the Hebrew date it names. Found
14
+ * and fixed as part of E5 (issue #78); this is D1's "`duration/`'s `relativeTo` accepts the GMT
15
+ * shape only" decision of record.
16
+ *
17
+ * Every other `relativeTo` shape (a plain ISO string, a `PlainDateTime`/`ZonedDateTime` object
18
+ * or `-Like`, or any string that isn't a GMT calendar-annotated PlainDate) passes through
19
+ * unchanged — GMT's calendar-string contract only covers `plain/` `PlainDate` (D1).
20
+ *
21
+ * Resolves to a `Temporal.PlainDateTime` (midnight, same calendar) rather than a bare
22
+ * `Temporal.PlainDate` — verified equivalent at runtime (`.total`/`.round`/`.compare` all
23
+ * produce the identical result either way) and `PlainDateTime` is the type Temporal's own
24
+ * `relativeTo` option signature actually accepts, unlike `PlainDate`.
25
+ *
26
+ * Throws if the calendar-annotated string is malformed. Callers already wrap the Temporal call
27
+ * consuming this in `try { ... } catch { return sentinel }` per GMT's contract, so this composes
28
+ * directly into that same block rather than needing its own try/catch.
29
+ */
30
+ export function resolveDurationRelativeTo(relativeTo) {
31
+ if (typeof relativeTo !== "string" || !calendarDate.test(relativeTo)) {
32
+ return relativeTo;
33
+ }
34
+ return parseCalendarDateValue(relativeTo).toPlainDateTime();
35
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Normalize a duration unit string to its plural form.
3
+ *
4
+ * - Accepts singular ("day"), plural ("days"), and already-plural forms.
5
+ * - Returns the original string if it is not a recognized DateTimeDurationUnit.
6
+ *
7
+ * @param unit raw unit string from caller input
8
+ * @returns normalized plural unit string, or the original if not recognized
9
+ */
10
+ export declare function resolveDurationUnit(unit: string): string;
@@ -0,0 +1,23 @@
1
+ import { isValidDateTimeDurationUnit } from "../plain/validate/index.js";
2
+ /**
3
+ * Normalize a duration unit string to its plural form.
4
+ *
5
+ * - Accepts singular ("day"), plural ("days"), and already-plural forms.
6
+ * - Returns the original string if it is not a recognized DateTimeDurationUnit.
7
+ *
8
+ * @param unit raw unit string from caller input
9
+ * @returns normalized plural unit string, or the original if not recognized
10
+ */
11
+ export function resolveDurationUnit(unit) {
12
+ if (isValidDateTimeDurationUnit(unit)) {
13
+ return unit;
14
+ }
15
+ if (unit.endsWith("s")) {
16
+ return unit;
17
+ }
18
+ const plural = `${unit}s`;
19
+ if (isValidDateTimeDurationUnit(plural)) {
20
+ return plural;
21
+ }
22
+ return unit;
23
+ }
@@ -0,0 +1,10 @@
1
+ import type { Overflow } from "../types/index.js";
2
+ /**
3
+ * Resolve an optional overflow value to its default ("constrain") when unset.
4
+ *
5
+ * @param overflow optional overflow value
6
+ * @example resolveOverflow(undefined) // "constrain"
7
+ * @example resolveOverflow("reject") // "reject"
8
+ * @returns the resolved overflow value
9
+ */
10
+ export declare function resolveOverflow(overflow?: Overflow): Overflow;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Resolve an optional overflow value to its default ("constrain") when unset.
3
+ *
4
+ * @param overflow optional overflow value
5
+ * @example resolveOverflow(undefined) // "constrain"
6
+ * @example resolveOverflow("reject") // "reject"
7
+ * @returns the resolved overflow value
8
+ */
9
+ export function resolveOverflow(overflow) {
10
+ return overflow ?? "constrain";
11
+ }
@@ -0,0 +1,19 @@
1
+ import type { RelativeRoundingMethod } from "../types/index.js";
2
+ /**
3
+ * Round a relative-time distance to an integer using the given method, defaulting to "round".
4
+ *
5
+ * Applied directly to the signed fractional value (not its absolute value), so floor/ceil
6
+ * respect whether the distance is past (negative) or future (positive) — matches date-fns's
7
+ * `formatDistanceStrict` `roundingMethod` semantics. A rounded `-0` is preserved rather than
8
+ * normalized to `0`: `Intl.RelativeTimeFormat` treats the sign of zero as meaningful (with
9
+ * `numeric: "always"`, `-0` renders as "0 <unit> ago" and `0` as "in 0 <unit>"), so collapsing
10
+ * it here would change existing `formatRelative*` output for near-zero distances.
11
+ *
12
+ * @param value the fractional distance in the target display unit
13
+ * @param method optional: "floor" | "ceil" | "round" (default "round")
14
+ * @returns the rounded amount
15
+ * @example resolveRelativeRounding(2.7) // 3
16
+ * @example resolveRelativeRounding(2.7, "floor") // 2
17
+ * @example resolveRelativeRounding(-2.7, "ceil") // -2
18
+ */
19
+ export declare function resolveRelativeRounding(value: number, method?: RelativeRoundingMethod): number;