@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,38 @@
1
+ import type { DateTimeCycleField, Overflow } from "../../types/index.js";
2
+ /**
3
+ * Return a PlainDateTime ISO string with `field` cycled by `amount`, wrapping at that field's own
4
+ * min/max instead of carrying into the next larger field.
5
+ *
6
+ * - `cycleDateTime` is not `addDateTime`: cycling December's `month` by `+1` stays in the same
7
+ * year, and cycling `hour` `23` by `+1` stays on the same day. Reach for `addDateTime` for
8
+ * calendar/clock arithmetic; reach for `cycleDateTime` when a single field (e.g. a datepicker
9
+ * segment) must stay isolated from the others.
10
+ * - Date fields (`year`/`month`/`day`) wrap the same way `cycleDate` does — `year` is unbounded,
11
+ * `month` wraps `1–12`, `day` wraps `1`–the current month's day count. Time fields
12
+ * (`hour`/`minute`/`second`/`millisecond`/`microsecond`/`nanosecond`) wrap the same way
13
+ * `cycleTime` does — `hour` always `0–23` (no `hourCycle: 12` option; see `cycleTime`'s doc for
14
+ * why).
15
+ * - Cycling `month` or `year` can still shift `day` via `overflow`, exactly as `setDateTime`'s
16
+ * `.with()` call does.
17
+ * - `options.round` steps to the *next* multiple of `amount` in the direction of its sign
18
+ * (ceiling for positive, floor for negative) — not the nearest one. See `cycleDate`/`cycleTime`'s
19
+ * docs for worked examples.
20
+ * - Returns "" for an invalid `value` or an invalid `field`.
21
+ *
22
+ * @param value ISO PlainDateTime string
23
+ * @param field the field to cycle: "year" | "month" | "day" | "hour" | "minute" | "second" | "millisecond" | "microsecond" | "nanosecond"
24
+ * @param amount signed amount to cycle by
25
+ * @param options optional: round (boolean, default false), overflow ("constrain" | "reject")
26
+ * @returns ISO PlainDateTime string with `field` cycled, or "" on invalid input
27
+ *
28
+ * @example cycleDateTime("2024-06-15T09:30:00", "hour", 1) // "2024-06-15T10:30:00"
29
+ * @example cycleDateTime("2024-12-15T23:30:00", "month", 1) // "2024-01-15T23:30:00" (wraps, stays in the same year)
30
+ * @example cycleDateTime("2024-12-15T23:30:00", "hour", 1) // "2024-12-15T00:30:00" (wraps, stays on the same day)
31
+ * @example cycleDateTime("2024-06-15T09:22:00", "minute", 15, { round: true }) // "2024-06-15T09:30:00"
32
+ * @example cycleDateTime("2024-06-15T09:30:00", "week", 1) // "" ("week" is not a cyclable field)
33
+ * @example cycleDateTime("invalid", "hour", 1) // ""
34
+ */
35
+ export declare function cycleDateTime(value: string, field: DateTimeCycleField, amount: number, options?: {
36
+ round?: boolean;
37
+ overflow?: Overflow;
38
+ }): string;
@@ -0,0 +1,52 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { cycleFieldValue, dateCycleFieldBounds, timeCycleFieldBounds, } from "../../internal/index.js";
3
+ import { isValidDateCycleField, isValidDateTime, isValidDateTimeCycleField, } from "../validate/index.js";
4
+ import { setDateTime } from "./setDateTime.js";
5
+ /**
6
+ * Return a PlainDateTime ISO string with `field` cycled by `amount`, wrapping at that field's own
7
+ * min/max instead of carrying into the next larger field.
8
+ *
9
+ * - `cycleDateTime` is not `addDateTime`: cycling December's `month` by `+1` stays in the same
10
+ * year, and cycling `hour` `23` by `+1` stays on the same day. Reach for `addDateTime` for
11
+ * calendar/clock arithmetic; reach for `cycleDateTime` when a single field (e.g. a datepicker
12
+ * segment) must stay isolated from the others.
13
+ * - Date fields (`year`/`month`/`day`) wrap the same way `cycleDate` does — `year` is unbounded,
14
+ * `month` wraps `1–12`, `day` wraps `1`–the current month's day count. Time fields
15
+ * (`hour`/`minute`/`second`/`millisecond`/`microsecond`/`nanosecond`) wrap the same way
16
+ * `cycleTime` does — `hour` always `0–23` (no `hourCycle: 12` option; see `cycleTime`'s doc for
17
+ * why).
18
+ * - Cycling `month` or `year` can still shift `day` via `overflow`, exactly as `setDateTime`'s
19
+ * `.with()` call does.
20
+ * - `options.round` steps to the *next* multiple of `amount` in the direction of its sign
21
+ * (ceiling for positive, floor for negative) — not the nearest one. See `cycleDate`/`cycleTime`'s
22
+ * docs for worked examples.
23
+ * - Returns "" for an invalid `value` or an invalid `field`.
24
+ *
25
+ * @param value ISO PlainDateTime string
26
+ * @param field the field to cycle: "year" | "month" | "day" | "hour" | "minute" | "second" | "millisecond" | "microsecond" | "nanosecond"
27
+ * @param amount signed amount to cycle by
28
+ * @param options optional: round (boolean, default false), overflow ("constrain" | "reject")
29
+ * @returns ISO PlainDateTime string with `field` cycled, or "" on invalid input
30
+ *
31
+ * @example cycleDateTime("2024-06-15T09:30:00", "hour", 1) // "2024-06-15T10:30:00"
32
+ * @example cycleDateTime("2024-12-15T23:30:00", "month", 1) // "2024-01-15T23:30:00" (wraps, stays in the same year)
33
+ * @example cycleDateTime("2024-12-15T23:30:00", "hour", 1) // "2024-12-15T00:30:00" (wraps, stays on the same day)
34
+ * @example cycleDateTime("2024-06-15T09:22:00", "minute", 15, { round: true }) // "2024-06-15T09:30:00"
35
+ * @example cycleDateTime("2024-06-15T09:30:00", "week", 1) // "" ("week" is not a cyclable field)
36
+ * @example cycleDateTime("invalid", "hour", 1) // ""
37
+ */
38
+ export function cycleDateTime(value, field, amount, options) {
39
+ if (!isValidDateTime(value) || !isValidDateTimeCycleField(field))
40
+ return "";
41
+ try {
42
+ const dateTime = Temporal.PlainDateTime.from(value);
43
+ const bounds = isValidDateCycleField(field)
44
+ ? dateCycleFieldBounds(field, dateTime)
45
+ : timeCycleFieldBounds(field);
46
+ const newValue = cycleFieldValue(dateTime[field], amount, bounds, options?.round ?? false);
47
+ return setDateTime(value, { [field]: newValue }, { overflow: options?.overflow });
48
+ }
49
+ catch {
50
+ return "";
51
+ }
52
+ }
@@ -0,0 +1,38 @@
1
+ import type { Overflow, TimeCycleField } from "../../types/index.js";
2
+ /**
3
+ * Return a PlainTime ISO string with `field` cycled by `amount`, wrapping at that field's own
4
+ * min/max instead of carrying into the next larger field (`hour` 23 `+1` wraps to `0`, it never
5
+ * changes a date — `cycleTime` has no date component to carry into in the first place).
6
+ *
7
+ * - `hour` always cycles `0–23`. GMT has no `hourCycle: 12` option — a 12-hour, AM/PM-preserving
8
+ * wrap is a display/formatting concern (locale-driven, via `Intl`), not a value-layer one: there
9
+ * is no ISO representation for "this hour, but staying AM" to round-trip through GMT's string
10
+ * contract.
11
+ * - `minute`/`second` wrap `0–59`; `millisecond`/`microsecond`/`nanosecond` wrap `0–999`.
12
+ * - `options.round` does **not** round to the nearest increment — it steps to the *next* multiple
13
+ * of `amount` in the direction of its sign (ceiling for positive, floor for negative), matching
14
+ * `@internationalized/date`'s `CycleOptions.round`. E.g. cycling minute `22` by `+15` with
15
+ * `round: true` lands on `30` (the next multiple of 15 above 22), not `15` (the nearest one).
16
+ * - `options.overflow` is accepted for signature consistency with `cycleDate`/`cycleDateTime`/
17
+ * `cycleZoned` but is **inert** here: time fields don't share bounds the way `day` shares a
18
+ * month with `month`/`year`, so the wrapped value `cycleTime` computes is always already valid —
19
+ * `setTime`'s `.with()` call never has anything to constrain or reject.
20
+ * - Returns "" for an invalid `value` or an invalid `field`.
21
+ *
22
+ * @param value ISO PlainTime string
23
+ * @param field the field to cycle: "hour" | "minute" | "second" | "millisecond" | "microsecond" | "nanosecond"
24
+ * @param amount signed amount to cycle by
25
+ * @param options optional: round (boolean, default false), overflow ("constrain" | "reject", inert — see above)
26
+ * @returns ISO PlainTime string with `field` cycled, or "" on invalid input
27
+ *
28
+ * @example cycleTime("09:30:00", "hour", 1) // "10:30:00"
29
+ * @example cycleTime("23:00:00", "hour", 1) // "00:00:00" (wraps)
30
+ * @example cycleTime("00:00:00", "hour", 25) // "01:00:00" (amount larger than the range)
31
+ * @example cycleTime("09:22:00", "minute", 15, { round: true }) // "09:30:00"
32
+ * @example cycleTime("09:30:00", "year", 1) // "" ("year" is not a cyclable time field)
33
+ * @example cycleTime("invalid", "hour", 1) // ""
34
+ */
35
+ export declare function cycleTime(value: string, field: TimeCycleField, amount: number, options?: {
36
+ round?: boolean;
37
+ overflow?: Overflow;
38
+ }): string;
@@ -0,0 +1,50 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { cycleFieldValue, timeCycleFieldBounds } from "../../internal/index.js";
3
+ import { isValidTime, isValidTimeCycleField } from "../validate/index.js";
4
+ import { setTime } from "./setTime.js";
5
+ /**
6
+ * Return a PlainTime ISO string with `field` cycled by `amount`, wrapping at that field's own
7
+ * min/max instead of carrying into the next larger field (`hour` 23 `+1` wraps to `0`, it never
8
+ * changes a date — `cycleTime` has no date component to carry into in the first place).
9
+ *
10
+ * - `hour` always cycles `0–23`. GMT has no `hourCycle: 12` option — a 12-hour, AM/PM-preserving
11
+ * wrap is a display/formatting concern (locale-driven, via `Intl`), not a value-layer one: there
12
+ * is no ISO representation for "this hour, but staying AM" to round-trip through GMT's string
13
+ * contract.
14
+ * - `minute`/`second` wrap `0–59`; `millisecond`/`microsecond`/`nanosecond` wrap `0–999`.
15
+ * - `options.round` does **not** round to the nearest increment — it steps to the *next* multiple
16
+ * of `amount` in the direction of its sign (ceiling for positive, floor for negative), matching
17
+ * `@internationalized/date`'s `CycleOptions.round`. E.g. cycling minute `22` by `+15` with
18
+ * `round: true` lands on `30` (the next multiple of 15 above 22), not `15` (the nearest one).
19
+ * - `options.overflow` is accepted for signature consistency with `cycleDate`/`cycleDateTime`/
20
+ * `cycleZoned` but is **inert** here: time fields don't share bounds the way `day` shares a
21
+ * month with `month`/`year`, so the wrapped value `cycleTime` computes is always already valid —
22
+ * `setTime`'s `.with()` call never has anything to constrain or reject.
23
+ * - Returns "" for an invalid `value` or an invalid `field`.
24
+ *
25
+ * @param value ISO PlainTime string
26
+ * @param field the field to cycle: "hour" | "minute" | "second" | "millisecond" | "microsecond" | "nanosecond"
27
+ * @param amount signed amount to cycle by
28
+ * @param options optional: round (boolean, default false), overflow ("constrain" | "reject", inert — see above)
29
+ * @returns ISO PlainTime string with `field` cycled, or "" on invalid input
30
+ *
31
+ * @example cycleTime("09:30:00", "hour", 1) // "10:30:00"
32
+ * @example cycleTime("23:00:00", "hour", 1) // "00:00:00" (wraps)
33
+ * @example cycleTime("00:00:00", "hour", 25) // "01:00:00" (amount larger than the range)
34
+ * @example cycleTime("09:22:00", "minute", 15, { round: true }) // "09:30:00"
35
+ * @example cycleTime("09:30:00", "year", 1) // "" ("year" is not a cyclable time field)
36
+ * @example cycleTime("invalid", "hour", 1) // ""
37
+ */
38
+ export function cycleTime(value, field, amount, options) {
39
+ if (!isValidTime(value) || !isValidTimeCycleField(field))
40
+ return "";
41
+ try {
42
+ const time = Temporal.PlainTime.from(value);
43
+ const bounds = timeCycleFieldBounds(field);
44
+ const newValue = cycleFieldValue(time[field], amount, bounds, options?.round ?? false);
45
+ return setTime(value, { [field]: newValue }, { overflow: options?.overflow });
46
+ }
47
+ catch {
48
+ return "";
49
+ }
50
+ }
@@ -0,0 +1,32 @@
1
+ import type { Temporal } from "@js-temporal/polyfill";
2
+ import type { DateDurationUnit, RoundingOptions } from "../../types/index.js";
3
+ /**
4
+ * Return the difference between two PlainDate values using the provided `unit`.
5
+ *
6
+ * - Returns `null` for invalid inputs (negative diffs are valid).
7
+ * - Uses Temporal.PlainDate.until and extracts the requested unit.
8
+ * - Accepts GMT calendar-annotated PlainDate strings (as produced by `convertDateToCalendar`) —
9
+ * E5 (issue #78). When both `date1` and `date2` carry the *same* calendar tag, the difference
10
+ * is measured in that calendar (a Hebrew leap year is `P12M12D`, not `P1Y`, in month/day
11
+ * units — see the roadmap's E5 decisions of record, D5). When they carry different tags (or
12
+ * either is a bare, untagged ISO string), the difference falls back to measuring in Gregorian.
13
+ *
14
+ * `smallestUnit`, `roundingIncrement`, and `roundingMode` control optional rounding of the result,
15
+ * per Temporal's DifferenceOptions — e.g. `{ smallestUnit: "week", roundingMode: "halfExpand" }`
16
+ * rounds the difference to the nearest week before extracting the requested unit.
17
+ * - When `unitArg` is an array, `smallestUnit` must not be coarser than the largest unit in the
18
+ * array (e.g. `["month", "day"]` with `smallestUnit: "year"`) — this combination is rejected
19
+ * by Temporal and returns null, same as other invalid input.
20
+ *
21
+ * @param date1 ISO PlainDate string for the start, optionally calendar-annotated
22
+ * @param date2 ISO PlainDate string for the end, optionally calendar-annotated
23
+ * @param unitArg DateDurationUnit | DateDurationUnit[] to measure the difference
24
+ * @param options optional: smallestUnit, roundingIncrement, roundingMode (Temporal.DifferenceOptions rounding controls)
25
+ * @returns numeric difference in the requested unit, or null on invalid input
26
+ *
27
+ * @example diffDate("2024-03-10", "2024-03-15", "day") // 5
28
+ * @example diffDate("invalid", "2024-03-15", "day") // null
29
+ * @example diffDate("2024-01-01", "2024-01-16", "week", { smallestUnit: "week", roundingMode: "halfExpand" }) // 2
30
+ * @example diffDate("5784-06-15[u-ca=hebrew]", "5784-07-15[u-ca=hebrew]", "months") // 1 (measured in Hebrew, Adar I -> Adar)
31
+ */
32
+ export declare function diffDate(date1: string, date2: string, unitArg: DateDurationUnit | DateDurationUnit[], options?: RoundingOptions<Temporal.DateUnit>): number | Record<DateDurationUnit, number> | null;
@@ -0,0 +1,64 @@
1
+ import { parseCalendarDatePairForArithmetic } from "../../internal/index.js";
2
+ import { isValidCalendarDate, isValidDateDurationUnit } from "../validate/index.js";
3
+ import { getLargestDateDurationUnit } from "./getLargestDateDurationUnit.js";
4
+ /**
5
+ * Return the difference between two PlainDate values using the provided `unit`.
6
+ *
7
+ * - Returns `null` for invalid inputs (negative diffs are valid).
8
+ * - Uses Temporal.PlainDate.until and extracts the requested unit.
9
+ * - Accepts GMT calendar-annotated PlainDate strings (as produced by `convertDateToCalendar`) —
10
+ * E5 (issue #78). When both `date1` and `date2` carry the *same* calendar tag, the difference
11
+ * is measured in that calendar (a Hebrew leap year is `P12M12D`, not `P1Y`, in month/day
12
+ * units — see the roadmap's E5 decisions of record, D5). When they carry different tags (or
13
+ * either is a bare, untagged ISO string), the difference falls back to measuring in Gregorian.
14
+ *
15
+ * `smallestUnit`, `roundingIncrement`, and `roundingMode` control optional rounding of the result,
16
+ * per Temporal's DifferenceOptions — e.g. `{ smallestUnit: "week", roundingMode: "halfExpand" }`
17
+ * rounds the difference to the nearest week before extracting the requested unit.
18
+ * - When `unitArg` is an array, `smallestUnit` must not be coarser than the largest unit in the
19
+ * array (e.g. `["month", "day"]` with `smallestUnit: "year"`) — this combination is rejected
20
+ * by Temporal and returns null, same as other invalid input.
21
+ *
22
+ * @param date1 ISO PlainDate string for the start, optionally calendar-annotated
23
+ * @param date2 ISO PlainDate string for the end, optionally calendar-annotated
24
+ * @param unitArg DateDurationUnit | DateDurationUnit[] to measure the difference
25
+ * @param options optional: smallestUnit, roundingIncrement, roundingMode (Temporal.DifferenceOptions rounding controls)
26
+ * @returns numeric difference in the requested unit, or null on invalid input
27
+ *
28
+ * @example diffDate("2024-03-10", "2024-03-15", "day") // 5
29
+ * @example diffDate("invalid", "2024-03-15", "day") // null
30
+ * @example diffDate("2024-01-01", "2024-01-16", "week", { smallestUnit: "week", roundingMode: "halfExpand" }) // 2
31
+ * @example diffDate("5784-06-15[u-ca=hebrew]", "5784-07-15[u-ca=hebrew]", "months") // 1 (measured in Hebrew, Adar I -> Adar)
32
+ */
33
+ export function diffDate(date1, date2, unitArg, options) {
34
+ const validDates = isValidCalendarDate(date1) && isValidCalendarDate(date2);
35
+ const isSingleUnit = !Array.isArray(unitArg);
36
+ const validUnits = isSingleUnit
37
+ ? isValidDateDurationUnit(unitArg)
38
+ : unitArg.every(isValidDateDurationUnit);
39
+ if (!validDates || !validUnits) {
40
+ return null;
41
+ }
42
+ try {
43
+ const { a: d1, b: d2 } = parseCalendarDatePairForArithmetic(date1, date2);
44
+ const duration = d1.until(d2, {
45
+ largestUnit: isSingleUnit
46
+ ? unitArg
47
+ : getLargestDateDurationUnit(unitArg),
48
+ smallestUnit: options?.smallestUnit,
49
+ roundingIncrement: options?.roundingIncrement,
50
+ roundingMode: options?.roundingMode,
51
+ });
52
+ // craft record for units passed
53
+ if (isSingleUnit) {
54
+ return duration[unitArg] ?? 0;
55
+ }
56
+ return unitArg.reduce((result, unit) => {
57
+ result[unit] = duration[unit] ?? 0;
58
+ return result;
59
+ }, {});
60
+ }
61
+ catch {
62
+ return null;
63
+ }
64
+ }
@@ -0,0 +1,36 @@
1
+ import type { Temporal } from "@js-temporal/polyfill";
2
+ import type { DateDurationUnit, DurationStringOptions, RoundingOptions } from "../../types/index.js";
3
+ /**
4
+ * Return the difference between two PlainDate values as an ISO 8601 duration string,
5
+ * bridging to the `duration` namespace (see `parseDuration`, `normalizeDuration`).
6
+ *
7
+ * - Returns `""` for invalid inputs (negative diffs are valid and render with a leading `-`).
8
+ * - Uses Temporal.PlainDate.until with `largestUnit` set to `unit`, then `.toString()`.
9
+ * - Accepts GMT calendar-annotated PlainDate strings — E5 (issue #78). Same shared-vs-mismatched
10
+ * calendar rule as `diffDate` (see its JSDoc): measured in the shared calendar when `date1`
11
+ * and `date2` carry the same tag, Gregorian otherwise.
12
+ * - Unlike `diffDate`, `unit` is a single unit (not an array) — an ISO duration string already
13
+ * expresses a full multi-unit breakdown via `largestUnit` alone, so there's no array-of-units
14
+ * overload here.
15
+ *
16
+ * `smallestUnit`, `roundingIncrement`, and `roundingMode` control optional rounding of the
17
+ * underlying difference before it's rendered, per Temporal's DifferenceOptions — same as `diffDate`.
18
+ * `toStringSmallestUnit`, `fractionalSecondDigits`, and `toStringRoundingMode` control the
19
+ * precision of the rendered string itself, per Temporal's ToStringPrecisionOptions (mirroring
20
+ * `parseDuration`'s options) — kept separate from the `.until()` rounding options above because
21
+ * both option sets have colliding `smallestUnit`/`roundingMode` keys with different Temporal types.
22
+ *
23
+ * @param date1 ISO PlainDate string for the start, optionally calendar-annotated
24
+ * @param date2 ISO PlainDate string for the end, optionally calendar-annotated
25
+ * @param unit DateDurationUnit to use as the duration's largestUnit
26
+ * @param options optional: smallestUnit, roundingIncrement, roundingMode (.until() rounding); toStringSmallestUnit, fractionalSecondDigits, toStringRoundingMode (.toString() precision)
27
+ * @returns ISO 8601 duration string, or "" on invalid input
28
+ *
29
+ * @example diffDateAsDuration("2024-03-10", "2024-04-05", "days") // "P26D"
30
+ * @example diffDateAsDuration("2024-01-01", "2023-01-01", "days") // "-P365D"
31
+ * @example diffDateAsDuration("2024-01-01", "2024-01-01", "days") // "PT0S"
32
+ * @example diffDateAsDuration("invalid", "2024-03-15", "days") // ""
33
+ * @example diffDateAsDuration("2024-01-01", "2024-01-16", "weeks", { smallestUnit: "weeks", roundingMode: "halfExpand" }) // "P2W"
34
+ * @example diffDateAsDuration("5784-06-15[u-ca=hebrew]", "5784-07-15[u-ca=hebrew]", "months") // "P1M" (measured in Hebrew, Adar I -> Adar)
35
+ */
36
+ export declare function diffDateAsDuration(date1: string, date2: string, unit: DateDurationUnit, options?: RoundingOptions<Temporal.DateUnit> & DurationStringOptions): string;
@@ -0,0 +1,49 @@
1
+ import { durationUntilString, parseCalendarDatePairForArithmetic } from "../../internal/index.js";
2
+ import { isValidCalendarDate, isValidDateDurationUnit } from "../validate/index.js";
3
+ /**
4
+ * Return the difference between two PlainDate values as an ISO 8601 duration string,
5
+ * bridging to the `duration` namespace (see `parseDuration`, `normalizeDuration`).
6
+ *
7
+ * - Returns `""` for invalid inputs (negative diffs are valid and render with a leading `-`).
8
+ * - Uses Temporal.PlainDate.until with `largestUnit` set to `unit`, then `.toString()`.
9
+ * - Accepts GMT calendar-annotated PlainDate strings — E5 (issue #78). Same shared-vs-mismatched
10
+ * calendar rule as `diffDate` (see its JSDoc): measured in the shared calendar when `date1`
11
+ * and `date2` carry the same tag, Gregorian otherwise.
12
+ * - Unlike `diffDate`, `unit` is a single unit (not an array) — an ISO duration string already
13
+ * expresses a full multi-unit breakdown via `largestUnit` alone, so there's no array-of-units
14
+ * overload here.
15
+ *
16
+ * `smallestUnit`, `roundingIncrement`, and `roundingMode` control optional rounding of the
17
+ * underlying difference before it's rendered, per Temporal's DifferenceOptions — same as `diffDate`.
18
+ * `toStringSmallestUnit`, `fractionalSecondDigits`, and `toStringRoundingMode` control the
19
+ * precision of the rendered string itself, per Temporal's ToStringPrecisionOptions (mirroring
20
+ * `parseDuration`'s options) — kept separate from the `.until()` rounding options above because
21
+ * both option sets have colliding `smallestUnit`/`roundingMode` keys with different Temporal types.
22
+ *
23
+ * @param date1 ISO PlainDate string for the start, optionally calendar-annotated
24
+ * @param date2 ISO PlainDate string for the end, optionally calendar-annotated
25
+ * @param unit DateDurationUnit to use as the duration's largestUnit
26
+ * @param options optional: smallestUnit, roundingIncrement, roundingMode (.until() rounding); toStringSmallestUnit, fractionalSecondDigits, toStringRoundingMode (.toString() precision)
27
+ * @returns ISO 8601 duration string, or "" on invalid input
28
+ *
29
+ * @example diffDateAsDuration("2024-03-10", "2024-04-05", "days") // "P26D"
30
+ * @example diffDateAsDuration("2024-01-01", "2023-01-01", "days") // "-P365D"
31
+ * @example diffDateAsDuration("2024-01-01", "2024-01-01", "days") // "PT0S"
32
+ * @example diffDateAsDuration("invalid", "2024-03-15", "days") // ""
33
+ * @example diffDateAsDuration("2024-01-01", "2024-01-16", "weeks", { smallestUnit: "weeks", roundingMode: "halfExpand" }) // "P2W"
34
+ * @example diffDateAsDuration("5784-06-15[u-ca=hebrew]", "5784-07-15[u-ca=hebrew]", "months") // "P1M" (measured in Hebrew, Adar I -> Adar)
35
+ */
36
+ export function diffDateAsDuration(date1, date2, unit, options) {
37
+ const validDates = isValidCalendarDate(date1) && isValidCalendarDate(date2);
38
+ const validUnit = isValidDateDurationUnit(unit);
39
+ if (!validDates || !validUnit) {
40
+ return "";
41
+ }
42
+ try {
43
+ const { a: d1, b: d2 } = parseCalendarDatePairForArithmetic(date1, date2);
44
+ return durationUntilString(d1, d2, unit, options);
45
+ }
46
+ catch {
47
+ return "";
48
+ }
49
+ }
@@ -0,0 +1,25 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import type { DateTimeDurationUnit, RoundingOptions } from "../../types/index.js";
3
+ /**
4
+ * Return the difference between two PlainDateTime values in the requested unit.
5
+ *
6
+ * - Returns `null` for invalid inputs (negative diffs are valid).
7
+ * - Uses Temporal.PlainDateTime.until and extracts the requested unit.
8
+ *
9
+ * `smallestUnit`, `roundingIncrement`, and `roundingMode` control optional rounding of the result,
10
+ * per Temporal's DifferenceOptions — e.g. `{ smallestUnit: "hour", roundingMode: "halfExpand" }`
11
+ * rounds the difference to the nearest hour before extracting the requested unit.
12
+ * - When `units` is an array, `smallestUnit` must not be coarser than the largest unit in the
13
+ * array (e.g. `["day", "hour"]` with `smallestUnit: "week"`) — this combination is rejected by
14
+ * Temporal and returns null, same as other invalid input.
15
+ *
16
+ * @param dateTime1 ISO PlainDateTime string for the start
17
+ * @param dateTime2 ISO PlainDateTime string for the end
18
+ * @param units DateTimeDurationUnit | DateTimeDurationUnit[] to measure the difference
19
+ * @param options optional: smallestUnit, roundingIncrement, roundingMode (Temporal.DifferenceOptions rounding controls)
20
+ * @returns numeric difference in the requested unit, or null on invalid input
21
+ *
22
+ * @example diffDateTime("2024-03-10T12:00:00", "2024-03-15T12:00:00", "day") // 5
23
+ * @example diffDateTime("invalid", "2024-03-15T12:00:00", "day") // null
24
+ */
25
+ export declare function diffDateTime(dateTime1: string, dateTime2: string, units: DateTimeDurationUnit | DateTimeDurationUnit[], options?: RoundingOptions<Temporal.DateTimeUnit>): number | Record<DateTimeDurationUnit, number> | null;
@@ -0,0 +1,57 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { isValidDateTime, isValidDateTimeDurationUnit } from "../validate/index.js";
3
+ import { getLargestDateTimeDurationUnit } from "./getLargestDateTimeDurationUnit.js";
4
+ /**
5
+ * Return the difference between two PlainDateTime values in the requested unit.
6
+ *
7
+ * - Returns `null` for invalid inputs (negative diffs are valid).
8
+ * - Uses Temporal.PlainDateTime.until and extracts the requested unit.
9
+ *
10
+ * `smallestUnit`, `roundingIncrement`, and `roundingMode` control optional rounding of the result,
11
+ * per Temporal's DifferenceOptions — e.g. `{ smallestUnit: "hour", roundingMode: "halfExpand" }`
12
+ * rounds the difference to the nearest hour before extracting the requested unit.
13
+ * - When `units` is an array, `smallestUnit` must not be coarser than the largest unit in the
14
+ * array (e.g. `["day", "hour"]` with `smallestUnit: "week"`) — this combination is rejected by
15
+ * Temporal and returns null, same as other invalid input.
16
+ *
17
+ * @param dateTime1 ISO PlainDateTime string for the start
18
+ * @param dateTime2 ISO PlainDateTime string for the end
19
+ * @param units DateTimeDurationUnit | DateTimeDurationUnit[] to measure the difference
20
+ * @param options optional: smallestUnit, roundingIncrement, roundingMode (Temporal.DifferenceOptions rounding controls)
21
+ * @returns numeric difference in the requested unit, or null on invalid input
22
+ *
23
+ * @example diffDateTime("2024-03-10T12:00:00", "2024-03-15T12:00:00", "day") // 5
24
+ * @example diffDateTime("invalid", "2024-03-15T12:00:00", "day") // null
25
+ */
26
+ export function diffDateTime(dateTime1, dateTime2, units, options) {
27
+ const validDateTimes = isValidDateTime(dateTime1) && isValidDateTime(dateTime2);
28
+ const isSingleUnit = !Array.isArray(units);
29
+ const validUnits = isSingleUnit
30
+ ? isValidDateTimeDurationUnit(units)
31
+ : units.every(isValidDateTimeDurationUnit);
32
+ //
33
+ if (!validDateTimes || !validUnits) {
34
+ return null;
35
+ }
36
+ try {
37
+ const dt1 = Temporal.PlainDateTime.from(dateTime1);
38
+ const dt2 = Temporal.PlainDateTime.from(dateTime2);
39
+ const duration = dt1.until(dt2, {
40
+ largestUnit: isSingleUnit ? units : getLargestDateTimeDurationUnit(units),
41
+ smallestUnit: options?.smallestUnit,
42
+ roundingIncrement: options?.roundingIncrement,
43
+ roundingMode: options?.roundingMode,
44
+ });
45
+ if (isSingleUnit) {
46
+ return duration[units] ?? 0;
47
+ }
48
+ // craft record for units passed
49
+ return units.reduce((result, unit) => {
50
+ result[unit] = duration[unit] ?? 0;
51
+ return result;
52
+ }, {});
53
+ }
54
+ catch {
55
+ return null;
56
+ }
57
+ }
@@ -0,0 +1,33 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import type { DateTimeDurationUnit, DurationStringOptions, RoundingOptions } from "../../types/index.js";
3
+ /**
4
+ * Return the difference between two PlainDateTime values as an ISO 8601 duration string,
5
+ * bridging to the `duration` namespace (see `parseDuration`, `normalizeDuration`).
6
+ *
7
+ * - Returns `""` for invalid inputs (negative diffs are valid and render with a leading `-`).
8
+ * - Uses Temporal.PlainDateTime.until with `largestUnit` set to `unit`, then `.toString()`.
9
+ * - Unlike `diffDateTime`, `unit` is a single unit (not an array) — an ISO duration string
10
+ * already expresses a full multi-unit breakdown via `largestUnit` alone, so there's no
11
+ * array-of-units overload here.
12
+ *
13
+ * `smallestUnit`, `roundingIncrement`, and `roundingMode` control optional rounding of the
14
+ * underlying difference before it's rendered, per Temporal's DifferenceOptions — same as
15
+ * `diffDateTime`. `toStringSmallestUnit`, `fractionalSecondDigits`, and `toStringRoundingMode`
16
+ * control the precision of the rendered string itself, per Temporal's ToStringPrecisionOptions
17
+ * (mirroring `parseDuration`'s options) — kept separate from the `.until()` rounding options
18
+ * above because both option sets have colliding `smallestUnit`/`roundingMode` keys with
19
+ * different Temporal types.
20
+ *
21
+ * @param dateTime1 ISO PlainDateTime string for the start
22
+ * @param dateTime2 ISO PlainDateTime string for the end
23
+ * @param unit DateTimeDurationUnit to use as the duration's largestUnit
24
+ * @param options optional: smallestUnit, roundingIncrement, roundingMode (.until() rounding); toStringSmallestUnit, fractionalSecondDigits, toStringRoundingMode (.toString() precision)
25
+ * @returns ISO 8601 duration string, or "" on invalid input
26
+ *
27
+ * @example diffDateTimeAsDuration("2024-03-10T00:00:00", "2024-03-11T02:00:00", "days") // "P1DT2H"
28
+ * @example diffDateTimeAsDuration("2024-03-11T02:00:00", "2024-03-10T00:00:00", "days") // "-P1DT2H"
29
+ * @example diffDateTimeAsDuration("2024-01-01T00:00:00", "2024-01-01T00:00:00", "days") // "PT0S"
30
+ * @example diffDateTimeAsDuration("invalid", "2024-03-15T12:00:00", "days") // ""
31
+ * @example diffDateTimeAsDuration("2024-02-29T00:00:00", "2024-02-29T01:30:00", "hours", { smallestUnit: "hours", roundingMode: "halfExpand" }) // "PT2H"
32
+ */
33
+ export declare function diffDateTimeAsDuration(dateTime1: string, dateTime2: string, unit: DateTimeDurationUnit, options?: RoundingOptions<Temporal.DateTimeUnit> & DurationStringOptions): string;
@@ -0,0 +1,48 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { durationUntilString } from "../../internal/index.js";
3
+ import { isValidDateTime, isValidDateTimeDurationUnit } from "../validate/index.js";
4
+ /**
5
+ * Return the difference between two PlainDateTime values as an ISO 8601 duration string,
6
+ * bridging to the `duration` namespace (see `parseDuration`, `normalizeDuration`).
7
+ *
8
+ * - Returns `""` for invalid inputs (negative diffs are valid and render with a leading `-`).
9
+ * - Uses Temporal.PlainDateTime.until with `largestUnit` set to `unit`, then `.toString()`.
10
+ * - Unlike `diffDateTime`, `unit` is a single unit (not an array) — an ISO duration string
11
+ * already expresses a full multi-unit breakdown via `largestUnit` alone, so there's no
12
+ * array-of-units overload here.
13
+ *
14
+ * `smallestUnit`, `roundingIncrement`, and `roundingMode` control optional rounding of the
15
+ * underlying difference before it's rendered, per Temporal's DifferenceOptions — same as
16
+ * `diffDateTime`. `toStringSmallestUnit`, `fractionalSecondDigits`, and `toStringRoundingMode`
17
+ * control the precision of the rendered string itself, per Temporal's ToStringPrecisionOptions
18
+ * (mirroring `parseDuration`'s options) — kept separate from the `.until()` rounding options
19
+ * above because both option sets have colliding `smallestUnit`/`roundingMode` keys with
20
+ * different Temporal types.
21
+ *
22
+ * @param dateTime1 ISO PlainDateTime string for the start
23
+ * @param dateTime2 ISO PlainDateTime string for the end
24
+ * @param unit DateTimeDurationUnit to use as the duration's largestUnit
25
+ * @param options optional: smallestUnit, roundingIncrement, roundingMode (.until() rounding); toStringSmallestUnit, fractionalSecondDigits, toStringRoundingMode (.toString() precision)
26
+ * @returns ISO 8601 duration string, or "" on invalid input
27
+ *
28
+ * @example diffDateTimeAsDuration("2024-03-10T00:00:00", "2024-03-11T02:00:00", "days") // "P1DT2H"
29
+ * @example diffDateTimeAsDuration("2024-03-11T02:00:00", "2024-03-10T00:00:00", "days") // "-P1DT2H"
30
+ * @example diffDateTimeAsDuration("2024-01-01T00:00:00", "2024-01-01T00:00:00", "days") // "PT0S"
31
+ * @example diffDateTimeAsDuration("invalid", "2024-03-15T12:00:00", "days") // ""
32
+ * @example diffDateTimeAsDuration("2024-02-29T00:00:00", "2024-02-29T01:30:00", "hours", { smallestUnit: "hours", roundingMode: "halfExpand" }) // "PT2H"
33
+ */
34
+ export function diffDateTimeAsDuration(dateTime1, dateTime2, unit, options) {
35
+ const validDateTimes = isValidDateTime(dateTime1) && isValidDateTime(dateTime2);
36
+ const validUnit = isValidDateTimeDurationUnit(unit);
37
+ if (!validDateTimes || !validUnit) {
38
+ return "";
39
+ }
40
+ try {
41
+ const dt1 = Temporal.PlainDateTime.from(dateTime1);
42
+ const dt2 = Temporal.PlainDateTime.from(dateTime2);
43
+ return durationUntilString(dt1, dt2, unit, options);
44
+ }
45
+ catch {
46
+ return "";
47
+ }
48
+ }
@@ -0,0 +1,25 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import type { RoundingOptions, TimeDurationUnit } from "../../types/index.js";
3
+ /**
4
+ * Return the difference between two PlainTime values in the requested unit.
5
+ *
6
+ * - Returns `null` for invalid inputs.
7
+ * - Uses Temporal.PlainTime.until with `largestUnit` and extracts the requested unit.
8
+ *
9
+ * `smallestUnit`, `roundingIncrement`, and `roundingMode` control optional rounding of the result,
10
+ * per Temporal's DifferenceOptions — e.g. `{ smallestUnit: "minute", roundingMode: "halfExpand" }`
11
+ * rounds the difference to the nearest minute before extracting the requested unit.
12
+ * - When `units` is an array, `smallestUnit` must not be coarser than the largest unit in the
13
+ * array (e.g. `["minute", "second"]` with `smallestUnit: "hour"`) — this combination is
14
+ * rejected by Temporal and returns null, same as other invalid input.
15
+ *
16
+ * @param time1 ISO PlainTime string for the start
17
+ * @param time2 ISO PlainTime string for the end
18
+ * @param units TimeDurationUnit | TimeDurationUnit[] to measure the difference
19
+ * @param options optional: smallestUnit, roundingIncrement, roundingMode (Temporal.DifferenceOptions rounding controls)
20
+ * @returns numeric difference in the requested unit, or null on invalid input
21
+ *
22
+ * @example diffTime("12:00:00", "14:30:00", "hour") // 2
23
+ * @example diffTime("invalid", "14:30:00", "hour") // null
24
+ */
25
+ export declare function diffTime(time1: string, time2: string, units: TimeDurationUnit | TimeDurationUnit[], options?: RoundingOptions<Temporal.TimeUnit>): number | Record<TimeDurationUnit, number> | null;
@@ -0,0 +1,56 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { isValidTime, isValidTimeDurationUnit } from "../validate/index.js";
3
+ import { getLargestTimeDurationUnit } from "./getLargestTimeDurationUnit.js";
4
+ /**
5
+ * Return the difference between two PlainTime values in the requested unit.
6
+ *
7
+ * - Returns `null` for invalid inputs.
8
+ * - Uses Temporal.PlainTime.until with `largestUnit` and extracts the requested unit.
9
+ *
10
+ * `smallestUnit`, `roundingIncrement`, and `roundingMode` control optional rounding of the result,
11
+ * per Temporal's DifferenceOptions — e.g. `{ smallestUnit: "minute", roundingMode: "halfExpand" }`
12
+ * rounds the difference to the nearest minute before extracting the requested unit.
13
+ * - When `units` is an array, `smallestUnit` must not be coarser than the largest unit in the
14
+ * array (e.g. `["minute", "second"]` with `smallestUnit: "hour"`) — this combination is
15
+ * rejected by Temporal and returns null, same as other invalid input.
16
+ *
17
+ * @param time1 ISO PlainTime string for the start
18
+ * @param time2 ISO PlainTime string for the end
19
+ * @param units TimeDurationUnit | TimeDurationUnit[] to measure the difference
20
+ * @param options optional: smallestUnit, roundingIncrement, roundingMode (Temporal.DifferenceOptions rounding controls)
21
+ * @returns numeric difference in the requested unit, or null on invalid input
22
+ *
23
+ * @example diffTime("12:00:00", "14:30:00", "hour") // 2
24
+ * @example diffTime("invalid", "14:30:00", "hour") // null
25
+ */
26
+ export function diffTime(time1, time2, units, options) {
27
+ const validTimes = isValidTime(time1) && isValidTime(time2);
28
+ const isSingleUnit = !Array.isArray(units);
29
+ const validUnits = isSingleUnit
30
+ ? isValidTimeDurationUnit(units)
31
+ : units.every(isValidTimeDurationUnit);
32
+ if (!validTimes || !validUnits) {
33
+ return null;
34
+ }
35
+ try {
36
+ const t1 = Temporal.PlainTime.from(time1);
37
+ const t2 = Temporal.PlainTime.from(time2);
38
+ const duration = t1.until(t2, {
39
+ largestUnit: isSingleUnit ? units : getLargestTimeDurationUnit(units),
40
+ smallestUnit: options?.smallestUnit,
41
+ roundingIncrement: options?.roundingIncrement,
42
+ roundingMode: options?.roundingMode,
43
+ });
44
+ // craft record for units passed
45
+ if (isSingleUnit) {
46
+ return duration[units] ?? 0;
47
+ }
48
+ return units.reduce((result, unit) => {
49
+ result[unit] = duration[unit] ?? 0;
50
+ return result;
51
+ }, {});
52
+ }
53
+ catch {
54
+ return null;
55
+ }
56
+ }