@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,91 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { plainTime } from "../../regex/index.js";
3
+ /**
4
+ * Return the symmetric difference of two time intervals — time covered by exactly one interval.
5
+ *
6
+ * - Uses `Temporal.PlainTime.compare` for comparison.
7
+ * - Returns `[]` when intervals are identical or both invalid.
8
+ * - Returns `[{ start, end }]` when one interval fully contains the other.
9
+ * - Returns `[{ start, end }, { start, end }]` when intervals partially overlap.
10
+ * - Returns `[]` if either interval is invalid (`start > end`).
11
+ * - Returns `[]` on invalid input (wrong type, malformed strings).
12
+ *
13
+ * @param aStart ISO 8601 time string for the first interval start
14
+ * @param aEnd ISO 8601 time string for the first interval end
15
+ * @param bStart ISO 8601 time string for the second interval start
16
+ * @param bEnd ISO 8601 time string for the second interval end
17
+ * @returns array of `{ start, end }` records representing the symmetric difference, or `[]` on invalid input
18
+ *
19
+ * @example intervalXorTime("09:00:00", "12:00:00", "11:00:00", "17:00:00") // [{ start: "09:00:00", end: "10:59:59" }, { start: "12:00:01", end: "17:00:00" }]
20
+ * @example intervalXorTime("09:00:00", "17:00:00", "11:00:00", "12:00:00") // [{ start: "09:00:00", end: "10:59:59" }, { start: "12:00:01", end: "17:00:00" }]
21
+ * @example intervalXorTime("09:00:00", "17:00:00", "09:00:00", "17:00:00") // []
22
+ * @example intervalXorTime("09:00:00", "12:00:00", "13:00:00", "17:00:00") // [{ start: "09:00:00", end: "12:00:00" }, { start: "13:00:00", end: "17:00:00" }]
23
+ * @example intervalXorTime("invalid", "12:00:00", "13:00:00", "17:00:00") // []
24
+ */
25
+ export function intervalXorTime(aStart, aEnd, bStart, bEnd) {
26
+ if (typeof aStart !== "string" ||
27
+ typeof aEnd !== "string" ||
28
+ typeof bStart !== "string" ||
29
+ typeof bEnd !== "string") {
30
+ return [];
31
+ }
32
+ if (!plainTime.test(aStart) ||
33
+ !plainTime.test(aEnd) ||
34
+ !plainTime.test(bStart) ||
35
+ !plainTime.test(bEnd)) {
36
+ return [];
37
+ }
38
+ try {
39
+ const aS = Temporal.PlainTime.from(aStart);
40
+ const aE = Temporal.PlainTime.from(aEnd);
41
+ const bS = Temporal.PlainTime.from(bStart);
42
+ const bE = Temporal.PlainTime.from(bEnd);
43
+ if (Temporal.PlainTime.compare(aS, aE) > 0) {
44
+ return [];
45
+ }
46
+ if (Temporal.PlainTime.compare(bS, bE) > 0) {
47
+ return [];
48
+ }
49
+ const result = [];
50
+ // If intervals don't overlap, return both as-is
51
+ if (Temporal.PlainTime.compare(aE, bS) < 0 ||
52
+ Temporal.PlainTime.compare(bE, aS) < 0) {
53
+ return [
54
+ { start: aS.toString(), end: aE.toString() },
55
+ { start: bS.toString(), end: bE.toString() },
56
+ ];
57
+ }
58
+ // Left piece: A before B starts
59
+ if (Temporal.PlainTime.compare(aS, bS) < 0) {
60
+ result.push({
61
+ start: aS.toString(),
62
+ end: bS.subtract({ nanoseconds: 1 }).toString(),
63
+ });
64
+ }
65
+ // Right piece: A after B ends
66
+ if (Temporal.PlainTime.compare(aE, bE) > 0) {
67
+ result.push({
68
+ start: bE.add({ nanoseconds: 1 }).toString(),
69
+ end: aE.toString(),
70
+ });
71
+ }
72
+ // Left piece: B before A starts
73
+ if (Temporal.PlainTime.compare(bS, aS) < 0) {
74
+ result.push({
75
+ start: bS.toString(),
76
+ end: aS.subtract({ nanoseconds: 1 }).toString(),
77
+ });
78
+ }
79
+ // Right piece: B after A ends
80
+ if (Temporal.PlainTime.compare(bE, aE) > 0) {
81
+ result.push({
82
+ start: aE.add({ nanoseconds: 1 }).toString(),
83
+ end: bE.toString(),
84
+ });
85
+ }
86
+ return result;
87
+ }
88
+ catch {
89
+ return [];
90
+ }
91
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Return true when intervals `[aStart, aEnd]` and `[bStart, bEnd]` share at least one instant.
3
+ *
4
+ * - Uses `Temporal.PlainDate.compare` for comparison.
5
+ * - Adjacent intervals (e.g. `aEnd === bStart`) do NOT overlap — returns `false`.
6
+ * - Returns `false` if either interval is invalid (`start > end`).
7
+ * - Returns `false` on invalid input (wrong type, malformed strings).
8
+ * - Accepts GMT calendar-annotated PlainDate strings — E5 (issue #78). Ordering is
9
+ * calendar-independent, so arguments may carry different or no calendar tags (D4).
10
+ *
11
+ * @param aStart ISO 8601 date string for the first interval start, optionally calendar-annotated
12
+ * @param aEnd ISO 8601 date string for the first interval end, optionally calendar-annotated
13
+ * @param bStart ISO 8601 date string for the second interval start, optionally calendar-annotated
14
+ * @param bEnd ISO 8601 date string for the second interval end, optionally calendar-annotated
15
+ * @returns true if intervals overlap, or false on invalid input
16
+ *
17
+ * @example intervalsOverlapDate("2024-01-01", "2024-06-30", "2024-04-01", "2024-12-31") // true
18
+ * @example intervalsOverlapDate("2024-01-01", "2024-06-30", "2024-07-01", "2024-12-31") // false (adjacent)
19
+ * @example intervalsOverlapDate("2024-01-01", "2024-06-30", "2024-07-02", "2024-12-31") // false (disjoint)
20
+ * @example intervalsOverlapDate("2024-01-01", "2024-06-30", "2024-02-01", "2024-03-01") // true (partial)
21
+ * @example intervalsOverlapDate("invalid", "2024-06-30", "2024-04-01", "2024-12-31") // false
22
+ */
23
+ export declare function intervalsOverlapDate(aStart: string, aEnd: string, bStart: string, bEnd: string): boolean;
@@ -0,0 +1,56 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { parseCalendarDateValue } from "../../internal/index.js";
3
+ import { isValidCalendarDate } from "../validate/index.js";
4
+ /**
5
+ * Return true when intervals `[aStart, aEnd]` and `[bStart, bEnd]` share at least one instant.
6
+ *
7
+ * - Uses `Temporal.PlainDate.compare` for comparison.
8
+ * - Adjacent intervals (e.g. `aEnd === bStart`) do NOT overlap — returns `false`.
9
+ * - Returns `false` if either interval is invalid (`start > end`).
10
+ * - Returns `false` on invalid input (wrong type, malformed strings).
11
+ * - Accepts GMT calendar-annotated PlainDate strings — E5 (issue #78). Ordering is
12
+ * calendar-independent, so arguments may carry different or no calendar tags (D4).
13
+ *
14
+ * @param aStart ISO 8601 date string for the first interval start, optionally calendar-annotated
15
+ * @param aEnd ISO 8601 date string for the first interval end, optionally calendar-annotated
16
+ * @param bStart ISO 8601 date string for the second interval start, optionally calendar-annotated
17
+ * @param bEnd ISO 8601 date string for the second interval end, optionally calendar-annotated
18
+ * @returns true if intervals overlap, or false on invalid input
19
+ *
20
+ * @example intervalsOverlapDate("2024-01-01", "2024-06-30", "2024-04-01", "2024-12-31") // true
21
+ * @example intervalsOverlapDate("2024-01-01", "2024-06-30", "2024-07-01", "2024-12-31") // false (adjacent)
22
+ * @example intervalsOverlapDate("2024-01-01", "2024-06-30", "2024-07-02", "2024-12-31") // false (disjoint)
23
+ * @example intervalsOverlapDate("2024-01-01", "2024-06-30", "2024-02-01", "2024-03-01") // true (partial)
24
+ * @example intervalsOverlapDate("invalid", "2024-06-30", "2024-04-01", "2024-12-31") // false
25
+ */
26
+ export function intervalsOverlapDate(aStart, aEnd, bStart, bEnd) {
27
+ if (typeof aStart !== "string" ||
28
+ typeof aEnd !== "string" ||
29
+ typeof bStart !== "string" ||
30
+ typeof bEnd !== "string") {
31
+ return false;
32
+ }
33
+ if (!isValidCalendarDate(aStart) ||
34
+ !isValidCalendarDate(aEnd) ||
35
+ !isValidCalendarDate(bStart) ||
36
+ !isValidCalendarDate(bEnd)) {
37
+ return false;
38
+ }
39
+ try {
40
+ const aS = parseCalendarDateValue(aStart);
41
+ const aE = parseCalendarDateValue(aEnd);
42
+ const bS = parseCalendarDateValue(bStart);
43
+ const bE = parseCalendarDateValue(bEnd);
44
+ if (Temporal.PlainDate.compare(aS, aE) > 0) {
45
+ return false;
46
+ }
47
+ if (Temporal.PlainDate.compare(bS, bE) > 0) {
48
+ return false;
49
+ }
50
+ return (Temporal.PlainDate.compare(aE, bS) >= 0 &&
51
+ Temporal.PlainDate.compare(bE, aS) >= 0);
52
+ }
53
+ catch {
54
+ return false;
55
+ }
56
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Return true when intervals `[aStart, aEnd]` and `[bStart, bEnd]` share at least one instant.
3
+ *
4
+ * - Uses `Temporal.PlainDateTime.compare` for comparison.
5
+ * - Adjacent intervals (e.g. `aEnd === bStart`) do NOT overlap — returns `false`.
6
+ * - Returns `false` if either interval is invalid (`start > end`).
7
+ * - Returns `false` on invalid input (wrong type, malformed strings).
8
+ *
9
+ * @param aStart ISO 8601 datetime string for the first interval start
10
+ * @param aEnd ISO 8601 datetime string for the first interval end
11
+ * @param bStart ISO 8601 datetime string for the second interval start
12
+ * @param bEnd ISO 8601 datetime string for the second interval end
13
+ * @returns true if intervals overlap, or false on invalid input
14
+ *
15
+ * @example intervalsOverlapDateTime("2024-01-01T10:00:00", "2024-06-30T23:59:59", "2024-04-01T00:00:00", "2024-12-31T23:59:59") // true
16
+ * @example intervalsOverlapDateTime("2024-01-01T10:00:00", "2024-06-30T23:59:59", "2024-07-01T00:00:00", "2024-12-31T23:59:59") // false (adjacent)
17
+ * @example intervalsOverlapDateTime("2024-01-01T10:00:00", "2024-06-30T23:59:59", "2024-07-02T00:00:00", "2024-12-31T23:59:59") // false (disjoint)
18
+ * @example intervalsOverlapDateTime("invalid", "2024-06-30T23:59:59", "2024-04-01T00:00:00", "2024-12-31T23:59:59") // false
19
+ */
20
+ export declare function intervalsOverlapDateTime(aStart: string, aEnd: string, bStart: string, bEnd: string): boolean;
@@ -0,0 +1,52 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { plainDateTime } from "../../regex/index.js";
3
+ /**
4
+ * Return true when intervals `[aStart, aEnd]` and `[bStart, bEnd]` share at least one instant.
5
+ *
6
+ * - Uses `Temporal.PlainDateTime.compare` for comparison.
7
+ * - Adjacent intervals (e.g. `aEnd === bStart`) do NOT overlap — returns `false`.
8
+ * - Returns `false` if either interval is invalid (`start > end`).
9
+ * - Returns `false` on invalid input (wrong type, malformed strings).
10
+ *
11
+ * @param aStart ISO 8601 datetime string for the first interval start
12
+ * @param aEnd ISO 8601 datetime string for the first interval end
13
+ * @param bStart ISO 8601 datetime string for the second interval start
14
+ * @param bEnd ISO 8601 datetime string for the second interval end
15
+ * @returns true if intervals overlap, or false on invalid input
16
+ *
17
+ * @example intervalsOverlapDateTime("2024-01-01T10:00:00", "2024-06-30T23:59:59", "2024-04-01T00:00:00", "2024-12-31T23:59:59") // true
18
+ * @example intervalsOverlapDateTime("2024-01-01T10:00:00", "2024-06-30T23:59:59", "2024-07-01T00:00:00", "2024-12-31T23:59:59") // false (adjacent)
19
+ * @example intervalsOverlapDateTime("2024-01-01T10:00:00", "2024-06-30T23:59:59", "2024-07-02T00:00:00", "2024-12-31T23:59:59") // false (disjoint)
20
+ * @example intervalsOverlapDateTime("invalid", "2024-06-30T23:59:59", "2024-04-01T00:00:00", "2024-12-31T23:59:59") // false
21
+ */
22
+ export function intervalsOverlapDateTime(aStart, aEnd, bStart, bEnd) {
23
+ if (typeof aStart !== "string" ||
24
+ typeof aEnd !== "string" ||
25
+ typeof bStart !== "string" ||
26
+ typeof bEnd !== "string") {
27
+ return false;
28
+ }
29
+ if (!plainDateTime.test(aStart) ||
30
+ !plainDateTime.test(aEnd) ||
31
+ !plainDateTime.test(bStart) ||
32
+ !plainDateTime.test(bEnd)) {
33
+ return false;
34
+ }
35
+ try {
36
+ const aS = Temporal.PlainDateTime.from(aStart);
37
+ const aE = Temporal.PlainDateTime.from(aEnd);
38
+ const bS = Temporal.PlainDateTime.from(bStart);
39
+ const bE = Temporal.PlainDateTime.from(bEnd);
40
+ if (Temporal.PlainDateTime.compare(aS, aE) > 0) {
41
+ return false;
42
+ }
43
+ if (Temporal.PlainDateTime.compare(bS, bE) > 0) {
44
+ return false;
45
+ }
46
+ return (Temporal.PlainDateTime.compare(aE, bS) >= 0 &&
47
+ Temporal.PlainDateTime.compare(bE, aS) >= 0);
48
+ }
49
+ catch {
50
+ return false;
51
+ }
52
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Return true when intervals `[aStart, aEnd]` and `[bStart, bEnd]` share at least one instant.
3
+ *
4
+ * - Uses `Temporal.PlainTime.compare` for comparison.
5
+ * - Adjacent intervals (e.g. `aEnd === bStart`) do NOT overlap — returns `false`.
6
+ * - Returns `false` if either interval is invalid (`start > end`).
7
+ * - Returns `false` on invalid input (wrong type, malformed strings).
8
+ *
9
+ * @param aStart ISO 8601 time string for the first interval start
10
+ * @param aEnd ISO 8601 time string for the first interval end
11
+ * @param bStart ISO 8601 time string for the second interval start
12
+ * @param bEnd ISO 8601 time string for the second interval end
13
+ * @returns true if intervals overlap, or false on invalid input
14
+ *
15
+ * @example intervalsOverlapTime("09:00:00", "17:00:00", "12:00:00", "18:00:00") // true
16
+ * @example intervalsOverlapTime("09:00:00", "17:00:00", "17:00:00", "18:00:00") // false (adjacent)
17
+ * @example intervalsOverlapTime("09:00:00", "17:00:00", "18:00:00", "20:00:00") // false (disjoint)
18
+ * @example intervalsOverlapTime("09:00:00", "17:00:00", "10:00:00", "11:00:00") // true (contained)
19
+ * @example intervalsOverlapTime("invalid", "17:00:00", "12:00:00", "18:00:00") // false
20
+ */
21
+ export declare function intervalsOverlapTime(aStart: string, aEnd: string, bStart: string, bEnd: string): boolean;
@@ -0,0 +1,53 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { plainTime } from "../../regex/index.js";
3
+ /**
4
+ * Return true when intervals `[aStart, aEnd]` and `[bStart, bEnd]` share at least one instant.
5
+ *
6
+ * - Uses `Temporal.PlainTime.compare` for comparison.
7
+ * - Adjacent intervals (e.g. `aEnd === bStart`) do NOT overlap — returns `false`.
8
+ * - Returns `false` if either interval is invalid (`start > end`).
9
+ * - Returns `false` on invalid input (wrong type, malformed strings).
10
+ *
11
+ * @param aStart ISO 8601 time string for the first interval start
12
+ * @param aEnd ISO 8601 time string for the first interval end
13
+ * @param bStart ISO 8601 time string for the second interval start
14
+ * @param bEnd ISO 8601 time string for the second interval end
15
+ * @returns true if intervals overlap, or false on invalid input
16
+ *
17
+ * @example intervalsOverlapTime("09:00:00", "17:00:00", "12:00:00", "18:00:00") // true
18
+ * @example intervalsOverlapTime("09:00:00", "17:00:00", "17:00:00", "18:00:00") // false (adjacent)
19
+ * @example intervalsOverlapTime("09:00:00", "17:00:00", "18:00:00", "20:00:00") // false (disjoint)
20
+ * @example intervalsOverlapTime("09:00:00", "17:00:00", "10:00:00", "11:00:00") // true (contained)
21
+ * @example intervalsOverlapTime("invalid", "17:00:00", "12:00:00", "18:00:00") // false
22
+ */
23
+ export function intervalsOverlapTime(aStart, aEnd, bStart, bEnd) {
24
+ if (typeof aStart !== "string" ||
25
+ typeof aEnd !== "string" ||
26
+ typeof bStart !== "string" ||
27
+ typeof bEnd !== "string") {
28
+ return false;
29
+ }
30
+ if (!plainTime.test(aStart) ||
31
+ !plainTime.test(aEnd) ||
32
+ !plainTime.test(bStart) ||
33
+ !plainTime.test(bEnd)) {
34
+ return false;
35
+ }
36
+ try {
37
+ const aS = Temporal.PlainTime.from(aStart);
38
+ const aE = Temporal.PlainTime.from(aEnd);
39
+ const bS = Temporal.PlainTime.from(bStart);
40
+ const bE = Temporal.PlainTime.from(bEnd);
41
+ if (Temporal.PlainTime.compare(aS, aE) > 0) {
42
+ return false;
43
+ }
44
+ if (Temporal.PlainTime.compare(bS, bE) > 0) {
45
+ return false;
46
+ }
47
+ return (Temporal.PlainTime.compare(aE, bS) >= 0 &&
48
+ Temporal.PlainTime.compare(bE, aS) >= 0);
49
+ }
50
+ catch {
51
+ return false;
52
+ }
53
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Collapse a list of date intervals into the minimum set of non-overlapping intervals.
3
+ *
4
+ * - List-form generalization of `intervalUnionDate`, which is pairwise only.
5
+ * - Intervals are merged when they overlap or share an endpoint exactly (adjacent intervals,
6
+ * e.g. `aEnd === bStart`, ARE merged — same rule as `intervalUnionDate`).
7
+ * - Order of the input list does not matter; the result is sorted by start.
8
+ * - Returns `[]` for an empty list.
9
+ * - Returns `[]` when `intervals` is not an array, when any element is not a
10
+ * `{ start, end }` record of valid ISO PlainDate strings, or when any element has
11
+ * `start > end`.
12
+ * - Accepts GMT calendar-annotated PlainDate strings — E5 (issue #78). Since the result is
13
+ * date *values*, every `start`/`end` across the whole list must carry the *same* calendar tag
14
+ * (or all be bare ISO); any mismatch returns `[]` (E5 decision of record D4).
15
+ *
16
+ * @param intervals array of `{ start, end }` records, optionally calendar-annotated
17
+ * @returns the minimum set of non-overlapping `{ start, end }` records, sorted by start, or `[]` on invalid input / mismatched calendars
18
+ *
19
+ * @example mergeIntervalsDate([{ start: "2024-01-01", end: "2024-01-10" }, { start: "2024-01-05", end: "2024-01-15" }]) // [{ start: "2024-01-01", end: "2024-01-15" }]
20
+ * @example mergeIntervalsDate([{ start: "2024-01-01", end: "2024-01-10" }, { start: "2024-01-10", end: "2024-01-20" }]) // [{ start: "2024-01-01", end: "2024-01-20" }] (adjacent, merged)
21
+ * @example mergeIntervalsDate([{ start: "2024-01-01", end: "2024-01-05" }, { start: "2024-01-10", end: "2024-01-15" }]) // [{ start: "2024-01-01", end: "2024-01-05" }, { start: "2024-01-10", end: "2024-01-15" }] (disjoint)
22
+ * @example mergeIntervalsDate([]) // []
23
+ * @example mergeIntervalsDate([{ start: "2024-01-10", end: "2024-01-01" }]) // []
24
+ */
25
+ export declare function mergeIntervalsDate(intervals: Array<{
26
+ start: string;
27
+ end: string;
28
+ }>): Array<{
29
+ start: string;
30
+ end: string;
31
+ }>;
@@ -0,0 +1,67 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { calendarOfAllDateValues, formatDateInCalendar, parseCalendarDateValue, } from "../../internal/index.js";
3
+ import { isValidDateInterval } from "./validate/index.js";
4
+ /**
5
+ * Collapse a list of date intervals into the minimum set of non-overlapping intervals.
6
+ *
7
+ * - List-form generalization of `intervalUnionDate`, which is pairwise only.
8
+ * - Intervals are merged when they overlap or share an endpoint exactly (adjacent intervals,
9
+ * e.g. `aEnd === bStart`, ARE merged — same rule as `intervalUnionDate`).
10
+ * - Order of the input list does not matter; the result is sorted by start.
11
+ * - Returns `[]` for an empty list.
12
+ * - Returns `[]` when `intervals` is not an array, when any element is not a
13
+ * `{ start, end }` record of valid ISO PlainDate strings, or when any element has
14
+ * `start > end`.
15
+ * - Accepts GMT calendar-annotated PlainDate strings — E5 (issue #78). Since the result is
16
+ * date *values*, every `start`/`end` across the whole list must carry the *same* calendar tag
17
+ * (or all be bare ISO); any mismatch returns `[]` (E5 decision of record D4).
18
+ *
19
+ * @param intervals array of `{ start, end }` records, optionally calendar-annotated
20
+ * @returns the minimum set of non-overlapping `{ start, end }` records, sorted by start, or `[]` on invalid input / mismatched calendars
21
+ *
22
+ * @example mergeIntervalsDate([{ start: "2024-01-01", end: "2024-01-10" }, { start: "2024-01-05", end: "2024-01-15" }]) // [{ start: "2024-01-01", end: "2024-01-15" }]
23
+ * @example mergeIntervalsDate([{ start: "2024-01-01", end: "2024-01-10" }, { start: "2024-01-10", end: "2024-01-20" }]) // [{ start: "2024-01-01", end: "2024-01-20" }] (adjacent, merged)
24
+ * @example mergeIntervalsDate([{ start: "2024-01-01", end: "2024-01-05" }, { start: "2024-01-10", end: "2024-01-15" }]) // [{ start: "2024-01-01", end: "2024-01-05" }, { start: "2024-01-10", end: "2024-01-15" }] (disjoint)
25
+ * @example mergeIntervalsDate([]) // []
26
+ * @example mergeIntervalsDate([{ start: "2024-01-10", end: "2024-01-01" }]) // []
27
+ */
28
+ export function mergeIntervalsDate(intervals) {
29
+ if (!Array.isArray(intervals) || intervals.length === 0) {
30
+ return [];
31
+ }
32
+ if (!intervals.every((interval) => interval &&
33
+ typeof interval === "object" &&
34
+ isValidDateInterval(interval.start, interval.end))) {
35
+ return [];
36
+ }
37
+ const calendar = calendarOfAllDateValues(intervals.flatMap((interval) => [interval.start, interval.end]));
38
+ if (!calendar) {
39
+ return [];
40
+ }
41
+ try {
42
+ const parsed = intervals.map((interval) => ({
43
+ start: parseCalendarDateValue(interval.start),
44
+ end: parseCalendarDateValue(interval.end),
45
+ }));
46
+ parsed.sort((a, b) => Temporal.PlainDate.compare(a.start, b.start));
47
+ const merged = [];
48
+ for (const interval of parsed) {
49
+ const last = merged[merged.length - 1];
50
+ if (last && Temporal.PlainDate.compare(interval.start, last.end) <= 0) {
51
+ if (Temporal.PlainDate.compare(interval.end, last.end) > 0) {
52
+ last.end = interval.end;
53
+ }
54
+ }
55
+ else {
56
+ merged.push({ start: interval.start, end: interval.end });
57
+ }
58
+ }
59
+ return merged.map((interval) => ({
60
+ start: formatDateInCalendar(interval.start, calendar),
61
+ end: formatDateInCalendar(interval.end, calendar),
62
+ }));
63
+ }
64
+ catch {
65
+ return [];
66
+ }
67
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Collapse a list of datetime intervals into the minimum set of non-overlapping intervals.
3
+ *
4
+ * - List-form generalization of `intervalUnionDateTime`, which is pairwise only.
5
+ * - Intervals are merged when they overlap or share an endpoint exactly (adjacent intervals
6
+ * ARE merged).
7
+ * - Order of the input list does not matter; the result is sorted by start.
8
+ * - Returns `[]` for an empty list.
9
+ * - Returns `[]` when `intervals` is not an array, when any element is not a
10
+ * `{ start, end }` record of valid ISO PlainDateTime strings, or when any element has
11
+ * `start > end`.
12
+ *
13
+ * @param intervals array of `{ start, end }` records
14
+ * @returns the minimum set of non-overlapping `{ start, end }` records, sorted by start, or `[]` on invalid input
15
+ *
16
+ * @example mergeIntervalsDateTime([{ start: "2024-01-01T00:00:00", end: "2024-01-10T00:00:00" }, { start: "2024-01-05T00:00:00", end: "2024-01-15T00:00:00" }]) // [{ start: "2024-01-01T00:00:00", end: "2024-01-15T00:00:00" }]
17
+ * @example mergeIntervalsDateTime([]) // []
18
+ * @example mergeIntervalsDateTime([{ start: "2024-01-10T00:00:00", end: "2024-01-01T00:00:00" }]) // []
19
+ */
20
+ export declare function mergeIntervalsDateTime(intervals: Array<{
21
+ start: string;
22
+ end: string;
23
+ }>): Array<{
24
+ start: string;
25
+ end: string;
26
+ }>;
@@ -0,0 +1,58 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { isValidDateTimeInterval } from "./validate/index.js";
3
+ /**
4
+ * Collapse a list of datetime intervals into the minimum set of non-overlapping intervals.
5
+ *
6
+ * - List-form generalization of `intervalUnionDateTime`, which is pairwise only.
7
+ * - Intervals are merged when they overlap or share an endpoint exactly (adjacent intervals
8
+ * ARE merged).
9
+ * - Order of the input list does not matter; the result is sorted by start.
10
+ * - Returns `[]` for an empty list.
11
+ * - Returns `[]` when `intervals` is not an array, when any element is not a
12
+ * `{ start, end }` record of valid ISO PlainDateTime strings, or when any element has
13
+ * `start > end`.
14
+ *
15
+ * @param intervals array of `{ start, end }` records
16
+ * @returns the minimum set of non-overlapping `{ start, end }` records, sorted by start, or `[]` on invalid input
17
+ *
18
+ * @example mergeIntervalsDateTime([{ start: "2024-01-01T00:00:00", end: "2024-01-10T00:00:00" }, { start: "2024-01-05T00:00:00", end: "2024-01-15T00:00:00" }]) // [{ start: "2024-01-01T00:00:00", end: "2024-01-15T00:00:00" }]
19
+ * @example mergeIntervalsDateTime([]) // []
20
+ * @example mergeIntervalsDateTime([{ start: "2024-01-10T00:00:00", end: "2024-01-01T00:00:00" }]) // []
21
+ */
22
+ export function mergeIntervalsDateTime(intervals) {
23
+ if (!Array.isArray(intervals) || intervals.length === 0) {
24
+ return [];
25
+ }
26
+ if (!intervals.every((interval) => interval &&
27
+ typeof interval === "object" &&
28
+ isValidDateTimeInterval(interval.start, interval.end))) {
29
+ return [];
30
+ }
31
+ try {
32
+ const parsed = intervals.map((interval) => ({
33
+ start: Temporal.PlainDateTime.from(interval.start),
34
+ end: Temporal.PlainDateTime.from(interval.end),
35
+ }));
36
+ parsed.sort((a, b) => Temporal.PlainDateTime.compare(a.start, b.start));
37
+ const merged = [];
38
+ for (const interval of parsed) {
39
+ const last = merged[merged.length - 1];
40
+ if (last &&
41
+ Temporal.PlainDateTime.compare(interval.start, last.end) <= 0) {
42
+ if (Temporal.PlainDateTime.compare(interval.end, last.end) > 0) {
43
+ last.end = interval.end;
44
+ }
45
+ }
46
+ else {
47
+ merged.push({ start: interval.start, end: interval.end });
48
+ }
49
+ }
50
+ return merged.map((interval) => ({
51
+ start: interval.start.toString(),
52
+ end: interval.end.toString(),
53
+ }));
54
+ }
55
+ catch {
56
+ return [];
57
+ }
58
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Collapse a list of time intervals into the minimum set of non-overlapping intervals.
3
+ *
4
+ * - List-form generalization of `intervalUnionTime`, which is pairwise only.
5
+ * - Intervals are merged when they overlap or share an endpoint exactly (adjacent intervals
6
+ * ARE merged).
7
+ * - Order of the input list does not matter; the result is sorted by start.
8
+ * - Returns `[]` for an empty list.
9
+ * - Returns `[]` when `intervals` is not an array, when any element is not a
10
+ * `{ start, end }` record of valid ISO PlainTime strings, or when any element has
11
+ * `start > end`.
12
+ *
13
+ * @param intervals array of `{ start, end }` records
14
+ * @returns the minimum set of non-overlapping `{ start, end }` records, sorted by start, or `[]` on invalid input
15
+ *
16
+ * @example mergeIntervalsTime([{ start: "09:00:00", end: "12:00:00" }, { start: "11:00:00", end: "15:00:00" }]) // [{ start: "09:00:00", end: "15:00:00" }]
17
+ * @example mergeIntervalsTime([]) // []
18
+ * @example mergeIntervalsTime([{ start: "15:00:00", end: "09:00:00" }]) // []
19
+ */
20
+ export declare function mergeIntervalsTime(intervals: Array<{
21
+ start: string;
22
+ end: string;
23
+ }>): Array<{
24
+ start: string;
25
+ end: string;
26
+ }>;
@@ -0,0 +1,57 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { isValidTimeInterval } from "./validate/index.js";
3
+ /**
4
+ * Collapse a list of time intervals into the minimum set of non-overlapping intervals.
5
+ *
6
+ * - List-form generalization of `intervalUnionTime`, which is pairwise only.
7
+ * - Intervals are merged when they overlap or share an endpoint exactly (adjacent intervals
8
+ * ARE merged).
9
+ * - Order of the input list does not matter; the result is sorted by start.
10
+ * - Returns `[]` for an empty list.
11
+ * - Returns `[]` when `intervals` is not an array, when any element is not a
12
+ * `{ start, end }` record of valid ISO PlainTime strings, or when any element has
13
+ * `start > end`.
14
+ *
15
+ * @param intervals array of `{ start, end }` records
16
+ * @returns the minimum set of non-overlapping `{ start, end }` records, sorted by start, or `[]` on invalid input
17
+ *
18
+ * @example mergeIntervalsTime([{ start: "09:00:00", end: "12:00:00" }, { start: "11:00:00", end: "15:00:00" }]) // [{ start: "09:00:00", end: "15:00:00" }]
19
+ * @example mergeIntervalsTime([]) // []
20
+ * @example mergeIntervalsTime([{ start: "15:00:00", end: "09:00:00" }]) // []
21
+ */
22
+ export function mergeIntervalsTime(intervals) {
23
+ if (!Array.isArray(intervals) || intervals.length === 0) {
24
+ return [];
25
+ }
26
+ if (!intervals.every((interval) => interval &&
27
+ typeof interval === "object" &&
28
+ isValidTimeInterval(interval.start, interval.end))) {
29
+ return [];
30
+ }
31
+ try {
32
+ const parsed = intervals.map((interval) => ({
33
+ start: Temporal.PlainTime.from(interval.start),
34
+ end: Temporal.PlainTime.from(interval.end),
35
+ }));
36
+ parsed.sort((a, b) => Temporal.PlainTime.compare(a.start, b.start));
37
+ const merged = [];
38
+ for (const interval of parsed) {
39
+ const last = merged[merged.length - 1];
40
+ if (last && Temporal.PlainTime.compare(interval.start, last.end) <= 0) {
41
+ if (Temporal.PlainTime.compare(interval.end, last.end) > 0) {
42
+ last.end = interval.end;
43
+ }
44
+ }
45
+ else {
46
+ merged.push({ start: interval.start, end: interval.end });
47
+ }
48
+ }
49
+ return merged.map((interval) => ({
50
+ start: interval.start.toString(),
51
+ end: interval.end.toString(),
52
+ }));
53
+ }
54
+ catch {
55
+ return [];
56
+ }
57
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Split a date interval into sub-intervals of `amount × unit`.
3
+ *
4
+ * - Returns an array of `{ start, end }` records that tile the interval.
5
+ * - The final sub-interval is trimmed so its `end` never exceeds the original `end`.
6
+ * - Returns `[{ start, end }]` when `start === end` (zero-length interval).
7
+ * - Returns `[]` on invalid input (unparseable start/end, unsupported unit, non-positive amount,
8
+ * or a unit that has no effect on `PlainDate`, e.g. `"hours"`).
9
+ * - Accepts GMT calendar-annotated PlainDate strings — E5 (issue #78). When `start` and `end`
10
+ * carry the *same* calendar tag, stepping (and each slice's boundaries) happens in that
11
+ * calendar — a Hebrew leap year splits into 13 month-slices, not 12 (E5 decision of record
12
+ * D5); otherwise (or if either is bare ISO) it falls back to Gregorian. Each boundary's tag is
13
+ * re-derived from the actual stepped date, never copied — a month-by-month step can cross a
14
+ * leap-month or era boundary mid-split.
15
+ *
16
+ * @param start ISO PlainDate string for the interval start, optionally calendar-annotated
17
+ * @param end ISO PlainDate string for the interval end, optionally calendar-annotated
18
+ * @param unit duration unit string — `"years" | "months" | "weeks" | "days"` (time units are ignored by PlainDate and return [])
19
+ * @param amount positive number of units per step
20
+ * @returns array of `{ start, end }` records, or [] on invalid input
21
+ *
22
+ * @example splitIntervalByUnitDate("2024-01-01", "2024-01-10", "day", 2) // [{ start: "2024-01-01", end: "2024-01-03" }, { start: "2024-01-03", end: "2024-01-05" }, { start: "2024-01-05", end: "2024-01-07" }, { start: "2024-01-07", end: "2024-01-09" }, { start: "2024-01-09", end: "2024-01-10" }]
23
+ * @example splitIntervalByUnitDate("2024-01-01", "2024-01-09", "day", 2) // [{ start: "2024-01-01", end: "2024-01-03" }, { start: "2024-01-03", end: "2024-01-05" }, { start: "2024-01-05", end: "2024-01-07" }, { start: "2024-01-07", end: "2024-01-09" }]
24
+ * @example splitIntervalByUnitDate("2024-01-01", "2024-01-01", "day", 2) // [{ start: "2024-01-01", end: "2024-01-01" }]
25
+ * @example splitIntervalByUnitDate("2024-01-01", "2024-01-10", "day", 0) // []
26
+ * @example splitIntervalByUnitDate("invalid", "2024-01-10", "day", 2) // []
27
+ * @example splitIntervalByUnitDate("5784-01-01[u-ca=hebrew]", "5785-01-01[u-ca=hebrew]", "month", 1) // 13 slices, tiling the Hebrew leap year (including Adar I)
28
+ */
29
+ export declare function splitIntervalByUnitDate(start: string, end: string, unit: string, amount: number): Array<{
30
+ start: string;
31
+ end: string;
32
+ }>;