@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,30 @@
1
+ /**
2
+ * Return true when interval B is fully contained within interval A — every instant of B
3
+ * falls within A.
4
+ *
5
+ * - Uses `Temporal.Instant.compare` for comparison (via `.toInstant()`).
6
+ * - Equivalent to 4-argument `intervalContainsZoned(aStart, aEnd, bStart, bEnd)`.
7
+ * - Returns `false` if either interval is invalid (`start > end`).
8
+ * - Returns `false` on invalid input (wrong type, malformed strings, leap seconds).
9
+ * - **Accepts mixed calendar systems** (E7's D4-zoned, issue #152): both bare ISO zoned strings
10
+ * and GMT calendar-annotated ones (`"5784-06-15T14:30:00-05:00[u-ca=hebrew][America/New_York]"`),
11
+ * and the two endpoints need not agree on a calendar. Ordering is calendar-independent —
12
+ * verified that `Temporal.Instant` carries no calendar field at all and that
13
+ * `Instant.compare`/`ZonedDateTime.compare` both return `0` for the same instant expressed in
14
+ * hebrew, islamic-civil, japanese and iso8601.
15
+ * - Still rejects Temporal's own `[timeZone][u-ca=...]` RFC 9557 ordering, which reads GMT's
16
+ * calendar-native digits as ISO digits — see `regex/calendar-zoned-date-time.ts`.
17
+ *
18
+ * @param aStart ISO 8601 zoned datetime string for the outer interval start
19
+ * @param aEnd ISO 8601 zoned datetime string for the outer interval end
20
+ * @param bStart ISO 8601 zoned datetime string for the inner interval start
21
+ * @param bEnd ISO 8601 zoned datetime string for the inner interval end
22
+ * @returns true if B is fully contained in A, or false on invalid input
23
+ *
24
+ * @example intervalEngulfsZoned("2024-01-01T09:00:00+00:00[UTC]", "2024-12-31T17:00:00+00:00[UTC]", "2024-06-01T12:00:00+00:00[UTC]", "2024-07-01T13:00:00+00:00[UTC]") // true
25
+ * @example intervalEngulfsZoned("2024-01-01T09:00:00+00:00[UTC]", "2024-12-31T17:00:00+00:00[UTC]", "2024-01-01T09:00:00+00:00[UTC]", "2024-12-31T17:00:00+00:00[UTC]") // true (equal intervals)
26
+ * @example intervalEngulfsZoned("2024-01-01T09:00:00+00:00[UTC]", "2024-12-31T17:00:00+00:00[UTC]", "2024-01-01T09:00:00+00:00[UTC]", "2024-06-30T12:00:00+00:00[UTC]") // true
27
+ * @example intervalEngulfsZoned("2024-06-01T12:00:00+00:00[UTC]", "2024-07-01T13:00:00+00:00[UTC]", "2024-01-01T09:00:00+00:00[UTC]", "2024-12-31T17:00:00+00:00[UTC]") // false
28
+ * @example intervalEngulfsZoned("invalid", "2024-12-31T17:00:00+00:00[UTC]", "2024-06-01T12:00:00+00:00[UTC]", "2024-07-01T13:00:00+00:00[UTC]") // false
29
+ */
30
+ export declare function intervalEngulfsZoned(aStart: string, aEnd: string, bStart: string, bEnd: string): boolean;
@@ -0,0 +1,65 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { parseCalendarZonedValue } from "../../internal/index.js";
3
+ import { isValidCalendarZonedDateTime } from "../validate/index.js";
4
+ /**
5
+ * Return true when interval B is fully contained within interval A — every instant of B
6
+ * falls within A.
7
+ *
8
+ * - Uses `Temporal.Instant.compare` for comparison (via `.toInstant()`).
9
+ * - Equivalent to 4-argument `intervalContainsZoned(aStart, aEnd, bStart, bEnd)`.
10
+ * - Returns `false` if either interval is invalid (`start > end`).
11
+ * - Returns `false` on invalid input (wrong type, malformed strings, leap seconds).
12
+ * - **Accepts mixed calendar systems** (E7's D4-zoned, issue #152): both bare ISO zoned strings
13
+ * and GMT calendar-annotated ones (`"5784-06-15T14:30:00-05:00[u-ca=hebrew][America/New_York]"`),
14
+ * and the two endpoints need not agree on a calendar. Ordering is calendar-independent —
15
+ * verified that `Temporal.Instant` carries no calendar field at all and that
16
+ * `Instant.compare`/`ZonedDateTime.compare` both return `0` for the same instant expressed in
17
+ * hebrew, islamic-civil, japanese and iso8601.
18
+ * - Still rejects Temporal's own `[timeZone][u-ca=...]` RFC 9557 ordering, which reads GMT's
19
+ * calendar-native digits as ISO digits — see `regex/calendar-zoned-date-time.ts`.
20
+ *
21
+ * @param aStart ISO 8601 zoned datetime string for the outer interval start
22
+ * @param aEnd ISO 8601 zoned datetime string for the outer interval end
23
+ * @param bStart ISO 8601 zoned datetime string for the inner interval start
24
+ * @param bEnd ISO 8601 zoned datetime string for the inner interval end
25
+ * @returns true if B is fully contained in A, or false on invalid input
26
+ *
27
+ * @example intervalEngulfsZoned("2024-01-01T09:00:00+00:00[UTC]", "2024-12-31T17:00:00+00:00[UTC]", "2024-06-01T12:00:00+00:00[UTC]", "2024-07-01T13:00:00+00:00[UTC]") // true
28
+ * @example intervalEngulfsZoned("2024-01-01T09:00:00+00:00[UTC]", "2024-12-31T17:00:00+00:00[UTC]", "2024-01-01T09:00:00+00:00[UTC]", "2024-12-31T17:00:00+00:00[UTC]") // true (equal intervals)
29
+ * @example intervalEngulfsZoned("2024-01-01T09:00:00+00:00[UTC]", "2024-12-31T17:00:00+00:00[UTC]", "2024-01-01T09:00:00+00:00[UTC]", "2024-06-30T12:00:00+00:00[UTC]") // true
30
+ * @example intervalEngulfsZoned("2024-06-01T12:00:00+00:00[UTC]", "2024-07-01T13:00:00+00:00[UTC]", "2024-01-01T09:00:00+00:00[UTC]", "2024-12-31T17:00:00+00:00[UTC]") // false
31
+ * @example intervalEngulfsZoned("invalid", "2024-12-31T17:00:00+00:00[UTC]", "2024-06-01T12:00:00+00:00[UTC]", "2024-07-01T13:00:00+00:00[UTC]") // false
32
+ */
33
+ export function intervalEngulfsZoned(aStart, aEnd, bStart, bEnd) {
34
+ // One gate for all four endpoints: `isValidCalendarZonedDateTime` already covers non-strings,
35
+ // empty strings, leap seconds (which Temporal would otherwise silently clamp to :59), unknown
36
+ // zones and Temporal's forbidden segment ordering — and, unlike `isValidZonedDateTime`, accepts
37
+ // GMT's calendar-annotated grammar.
38
+ if (!isValidCalendarZonedDateTime(aStart) ||
39
+ !isValidCalendarZonedDateTime(aEnd) ||
40
+ !isValidCalendarZonedDateTime(bStart) ||
41
+ !isValidCalendarZonedDateTime(bEnd)) {
42
+ return false;
43
+ }
44
+ try {
45
+ const aSZdt = parseCalendarZonedValue(aStart);
46
+ const aEZdt = parseCalendarZonedValue(aEnd);
47
+ const bSZdt = parseCalendarZonedValue(bStart);
48
+ const bEZdt = parseCalendarZonedValue(bEnd);
49
+ const aS = aSZdt.toInstant();
50
+ const aE = aEZdt.toInstant();
51
+ const bS = bSZdt.toInstant();
52
+ const bE = bEZdt.toInstant();
53
+ if (Temporal.Instant.compare(aS, aE) > 0) {
54
+ return false;
55
+ }
56
+ if (Temporal.Instant.compare(bS, bE) > 0) {
57
+ return false;
58
+ }
59
+ return (Temporal.Instant.compare(aS, bS) <= 0 &&
60
+ Temporal.Instant.compare(bE, aE) <= 0);
61
+ }
62
+ catch {
63
+ return false;
64
+ }
65
+ }
@@ -0,0 +1,45 @@
1
+ import type { Disambiguation, Offset, Overflow } from "../../types/index.js";
2
+ /**
3
+ * Construct a zoned interval from a single point plus an ISO 8601 duration, anchored at either end.
4
+ *
5
+ * - `anchor: "start"` treats `value` as the interval start and adds `duration` to get the end.
6
+ * - `anchor: "end"` treats `value` as the interval end and subtracts `duration` to get the start.
7
+ * - Uses `Temporal.ZonedDateTime.prototype.add`/`.subtract`, so calendar units (years/months/weeks)
8
+ * resolve against `value` itself — no separate `relativeTo` is needed.
9
+ * - `disambiguation` controls DST resolution ONLY when the arithmetic result lands on an ambiguous
10
+ * local time from a fall-back (DST-end) overlap: "compatible" (default), "earlier", "later", or
11
+ * "reject" (returns null). Mirrors `addZoned`'s exact semantics — has no effect on a spring-forward
12
+ * (DST-start) gap landing, which Temporal's arithmetic always resolves before disambiguation runs.
13
+ * - `offset` is accepted for API consistency with `addZoned` but has **no effect here** for the same
14
+ * reason documented there: the disambiguation rebuild has no stored offset to prefer/use/ignore/reject.
15
+ * - A negative `duration` (e.g. `"-P1D"`) can invert the computed span; returns null when that
16
+ * happens, mirroring `intervalIntersectionZoned`'s `start > end` rejection.
17
+ * - `overflow` ("constrain" (default) | "reject") controls out-of-range results, e.g. adding 1 month
18
+ * to Jan 31: "constrain" clamps to Feb 29/28, "reject" returns null.
19
+ * - Accepts a GMT calendar-annotated zoned string (as produced by `convertZonedToCalendar`) as
20
+ * well as a bare ISO one — E7 (issue #152). Calendar units in `duration` resolve against that
21
+ * calendar, and both returned endpoints are re-derived in it via `formatZonedInCalendar`. There
22
+ * is only ONE calendar-tagged input here, so no D5 pair policy applies — nothing can mismatch.
23
+ * - Returns null on invalid input (unparseable `value`, invalid `duration`, or an `anchor` other
24
+ * than `"start"`/`"end"`).
25
+ *
26
+ * @param value ISO 8601 zoned datetime string, optionally calendar-annotated
27
+ * @param duration ISO 8601 duration string
28
+ * @param anchor "start" | "end" — which endpoint `value` represents
29
+ * @param options optional: disambiguation ("compatible" | "earlier" | "later" | "reject"), offset ("prefer" | "use" | "ignore" | "reject" — accepted but inert, see above), overflow ("constrain" | "reject")
30
+ * @returns `{ start, end }` with the constructed span, or null on invalid input
31
+ *
32
+ * @example intervalFromDurationZoned("2024-01-01T00:00:00+00:00[UTC]", "P1D", "start") // { start: "2024-01-01T00:00:00+00:00[UTC]", end: "2024-01-02T00:00:00+00:00[UTC]" }
33
+ * @example intervalFromDurationZoned("2024-01-02T00:00:00+00:00[UTC]", "P1D", "end") // { start: "2024-01-01T00:00:00+00:00[UTC]", end: "2024-01-02T00:00:00+00:00[UTC]" }
34
+ * @example intervalFromDurationZoned("2024-11-02T01:30:00-04:00[America/New_York]", "P1D", "start", { disambiguation: "later" }) // { start: "2024-11-02T01:30:00-04:00[America/New_York]", end: "2024-11-03T01:30:00-05:00[America/New_York]" } (fall-back overlap resolved; default "compatible" would return the -04:00 instant instead)
35
+ * @example intervalFromDurationZoned("2024-01-31T12:00:00-05:00[America/New_York]", "P1M", "start", { overflow: "reject" }) // null
36
+ * @example intervalFromDurationZoned("invalid", "P1D", "start") // null
37
+ */
38
+ export declare function intervalFromDurationZoned(value: string, duration: string, anchor: "start" | "end", options?: {
39
+ disambiguation?: Disambiguation;
40
+ offset?: Offset;
41
+ overflow?: Overflow;
42
+ }): {
43
+ start: string;
44
+ end: string;
45
+ } | null;
@@ -0,0 +1,85 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { isValidDuration } from "../../duration/validate/index.js";
3
+ import { calendarSystemOfZonedValue, formatZonedInCalendar, parseCalendarZonedValue, resolveOverflow, } from "../../internal/index.js";
4
+ import { isValidCalendarZonedDateTime } from "../validate/index.js";
5
+ /**
6
+ * Construct a zoned interval from a single point plus an ISO 8601 duration, anchored at either end.
7
+ *
8
+ * - `anchor: "start"` treats `value` as the interval start and adds `duration` to get the end.
9
+ * - `anchor: "end"` treats `value` as the interval end and subtracts `duration` to get the start.
10
+ * - Uses `Temporal.ZonedDateTime.prototype.add`/`.subtract`, so calendar units (years/months/weeks)
11
+ * resolve against `value` itself — no separate `relativeTo` is needed.
12
+ * - `disambiguation` controls DST resolution ONLY when the arithmetic result lands on an ambiguous
13
+ * local time from a fall-back (DST-end) overlap: "compatible" (default), "earlier", "later", or
14
+ * "reject" (returns null). Mirrors `addZoned`'s exact semantics — has no effect on a spring-forward
15
+ * (DST-start) gap landing, which Temporal's arithmetic always resolves before disambiguation runs.
16
+ * - `offset` is accepted for API consistency with `addZoned` but has **no effect here** for the same
17
+ * reason documented there: the disambiguation rebuild has no stored offset to prefer/use/ignore/reject.
18
+ * - A negative `duration` (e.g. `"-P1D"`) can invert the computed span; returns null when that
19
+ * happens, mirroring `intervalIntersectionZoned`'s `start > end` rejection.
20
+ * - `overflow` ("constrain" (default) | "reject") controls out-of-range results, e.g. adding 1 month
21
+ * to Jan 31: "constrain" clamps to Feb 29/28, "reject" returns null.
22
+ * - Accepts a GMT calendar-annotated zoned string (as produced by `convertZonedToCalendar`) as
23
+ * well as a bare ISO one — E7 (issue #152). Calendar units in `duration` resolve against that
24
+ * calendar, and both returned endpoints are re-derived in it via `formatZonedInCalendar`. There
25
+ * is only ONE calendar-tagged input here, so no D5 pair policy applies — nothing can mismatch.
26
+ * - Returns null on invalid input (unparseable `value`, invalid `duration`, or an `anchor` other
27
+ * than `"start"`/`"end"`).
28
+ *
29
+ * @param value ISO 8601 zoned datetime string, optionally calendar-annotated
30
+ * @param duration ISO 8601 duration string
31
+ * @param anchor "start" | "end" — which endpoint `value` represents
32
+ * @param options optional: disambiguation ("compatible" | "earlier" | "later" | "reject"), offset ("prefer" | "use" | "ignore" | "reject" — accepted but inert, see above), overflow ("constrain" | "reject")
33
+ * @returns `{ start, end }` with the constructed span, or null on invalid input
34
+ *
35
+ * @example intervalFromDurationZoned("2024-01-01T00:00:00+00:00[UTC]", "P1D", "start") // { start: "2024-01-01T00:00:00+00:00[UTC]", end: "2024-01-02T00:00:00+00:00[UTC]" }
36
+ * @example intervalFromDurationZoned("2024-01-02T00:00:00+00:00[UTC]", "P1D", "end") // { start: "2024-01-01T00:00:00+00:00[UTC]", end: "2024-01-02T00:00:00+00:00[UTC]" }
37
+ * @example intervalFromDurationZoned("2024-11-02T01:30:00-04:00[America/New_York]", "P1D", "start", { disambiguation: "later" }) // { start: "2024-11-02T01:30:00-04:00[America/New_York]", end: "2024-11-03T01:30:00-05:00[America/New_York]" } (fall-back overlap resolved; default "compatible" would return the -04:00 instant instead)
38
+ * @example intervalFromDurationZoned("2024-01-31T12:00:00-05:00[America/New_York]", "P1M", "start", { overflow: "reject" }) // null
39
+ * @example intervalFromDurationZoned("invalid", "P1D", "start") // null
40
+ */
41
+ export function intervalFromDurationZoned(value, duration, anchor, options) {
42
+ if (!isValidCalendarZonedDateTime(value)) {
43
+ return null;
44
+ }
45
+ if (!isValidDuration(duration)) {
46
+ return null;
47
+ }
48
+ if (anchor !== "start" && anchor !== "end") {
49
+ return null;
50
+ }
51
+ const disambiguation = options?.disambiguation ?? "compatible";
52
+ const offset = options?.offset ?? "ignore";
53
+ const overflow = resolveOverflow(options?.overflow);
54
+ try {
55
+ const calendar = calendarSystemOfZonedValue(value);
56
+ if (!calendar) {
57
+ return null;
58
+ }
59
+ const point = parseCalendarZonedValue(value);
60
+ const dur = Temporal.Duration.from(duration);
61
+ const rawOther = anchor === "start"
62
+ ? point.add(dur, { overflow })
63
+ : point.subtract(dur, { overflow });
64
+ // The calendar MUST be stripped before this rebuild string is composed (E7 risk R1) — see
65
+ // `addZoned`'s equivalent comment. A calendared `.toPlainDateTime().toString()` already
66
+ // carries Temporal's own `[u-ca=...]` annotation, so appending `[${timeZoneId}]` produces
67
+ // GMT's forbidden segment ordering and `Temporal.ZonedDateTime.from` rejects it, silently
68
+ // degrading every non-"compatible" disambiguation to null.
69
+ const other = disambiguation === "compatible"
70
+ ? rawOther
71
+ : Temporal.ZonedDateTime.from(`${rawOther.withCalendar("iso8601").toPlainDateTime().toString()}[${rawOther.timeZoneId}]`, { disambiguation, offset }).withCalendar(rawOther.calendarId);
72
+ const start = anchor === "start" ? point : other;
73
+ const end = anchor === "start" ? other : point;
74
+ if (Temporal.ZonedDateTime.compare(start, end) > 0) {
75
+ return null;
76
+ }
77
+ return {
78
+ start: formatZonedInCalendar(start, calendar),
79
+ end: formatZonedInCalendar(end, calendar),
80
+ };
81
+ }
82
+ catch {
83
+ return null;
84
+ }
85
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Return the overlapping span of two zoned intervals, or null when they do not overlap.
3
+ *
4
+ * - Uses `Temporal.ZonedDateTime.compare` for comparison (same instant semantics).
5
+ * - Adjacent intervals (e.g. `aEnd === bStart`) share one instant and DO overlap.
6
+ * - Returns `null` if either interval is invalid (`start > end`).
7
+ * - Returns `null` on invalid input (wrong type, malformed strings, leap seconds).
8
+ * - Accepts GMT calendar-annotated zoned strings (as produced by `convertZonedToCalendar`) as
9
+ * well as bare ISO ones — E7 (issue #152) — but **rejects a mismatched pair**: every endpoint
10
+ * must name the same calendar system (E7's D4-zoned). Unlike the ordering functions, this one
11
+ * returns a *value* the caller reads back as a datetime, and there is no principled way to pick
12
+ * one endpoint's calendar as the answer's. Rejection also keeps a uniform policy across all
13
+ * eight value-returning zoned set operations, four of which return arrays — a per-element
14
+ * "winner's tag" would produce a result set whose members disagree about which calendar they
15
+ * are in. (`intervalUnionZoned`'s existing "winning endpoint's *time zone* wins" is not
16
+ * precedent: the zone is a property of the surviving point, the calendar is a property of the
17
+ * answer.) A mismatch returns the sentinel.
18
+ * - Output boundaries are re-derived in the resolved calendar via `formatZonedInCalendar`, never
19
+ * copied from an input string (E7's D7-zoned).
20
+ * - Still rejects Temporal's own `[timeZone][u-ca=...]` RFC 9557 ordering — see
21
+ * `regex/calendar-zoned-date-time.ts`.
22
+ *
23
+ * @param aStart ISO 8601 zoned datetime string for the first interval start
24
+ * @param aEnd ISO 8601 zoned datetime string for the first interval end
25
+ * @param bStart ISO 8601 zoned datetime string for the second interval start
26
+ * @param bEnd ISO 8601 zoned datetime string for the second interval end
27
+ * @returns `{ start, end }` with the overlapping span, or null on invalid input / no overlap
28
+ *
29
+ * @example intervalIntersectionZoned("2024-01-01T00:00:00+00:00[UTC]", "2024-06-30T23:59:59+00:00[UTC]", "2024-04-01T00:00:00+00:00[UTC]", "2024-12-31T23:59:59+00:00[UTC]") // { start: "2024-04-01T00:00:00+00:00[UTC]", end: "2024-06-30T23:59:59+00:00[UTC]" }
30
+ * @example intervalIntersectionZoned("2024-01-01T00:00:00+00:00[UTC]", "2024-06-30T23:59:59+00:00[UTC]", "2024-07-01T00:00:00+00:00[UTC]", "2024-12-31T23:59:59+00:00[UTC]") // null
31
+ * @example intervalIntersectionZoned("invalid", "2024-06-30T23:59:59+00:00[UTC]", "2024-04-01T00:00:00+00:00[UTC]", "2024-12-31T23:59:59+00:00[UTC]") // null
32
+ */
33
+ export declare function intervalIntersectionZoned(aStart: string, aEnd: string, bStart: string, bEnd: string): {
34
+ start: string;
35
+ end: string;
36
+ } | null;
@@ -0,0 +1,77 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { calendarOfAllZonedValues, formatZonedInCalendar, parseCalendarZonedValue, } from "../../internal/index.js";
3
+ import { isValidCalendarZonedDateTime } from "../validate/index.js";
4
+ /**
5
+ * Return the overlapping span of two zoned intervals, or null when they do not overlap.
6
+ *
7
+ * - Uses `Temporal.ZonedDateTime.compare` for comparison (same instant semantics).
8
+ * - Adjacent intervals (e.g. `aEnd === bStart`) share one instant and DO overlap.
9
+ * - Returns `null` if either interval is invalid (`start > end`).
10
+ * - Returns `null` on invalid input (wrong type, malformed strings, leap seconds).
11
+ * - Accepts GMT calendar-annotated zoned strings (as produced by `convertZonedToCalendar`) as
12
+ * well as bare ISO ones — E7 (issue #152) — but **rejects a mismatched pair**: every endpoint
13
+ * must name the same calendar system (E7's D4-zoned). Unlike the ordering functions, this one
14
+ * returns a *value* the caller reads back as a datetime, and there is no principled way to pick
15
+ * one endpoint's calendar as the answer's. Rejection also keeps a uniform policy across all
16
+ * eight value-returning zoned set operations, four of which return arrays — a per-element
17
+ * "winner's tag" would produce a result set whose members disagree about which calendar they
18
+ * are in. (`intervalUnionZoned`'s existing "winning endpoint's *time zone* wins" is not
19
+ * precedent: the zone is a property of the surviving point, the calendar is a property of the
20
+ * answer.) A mismatch returns the sentinel.
21
+ * - Output boundaries are re-derived in the resolved calendar via `formatZonedInCalendar`, never
22
+ * copied from an input string (E7's D7-zoned).
23
+ * - Still rejects Temporal's own `[timeZone][u-ca=...]` RFC 9557 ordering — see
24
+ * `regex/calendar-zoned-date-time.ts`.
25
+ *
26
+ * @param aStart ISO 8601 zoned datetime string for the first interval start
27
+ * @param aEnd ISO 8601 zoned datetime string for the first interval end
28
+ * @param bStart ISO 8601 zoned datetime string for the second interval start
29
+ * @param bEnd ISO 8601 zoned datetime string for the second interval end
30
+ * @returns `{ start, end }` with the overlapping span, or null on invalid input / no overlap
31
+ *
32
+ * @example intervalIntersectionZoned("2024-01-01T00:00:00+00:00[UTC]", "2024-06-30T23:59:59+00:00[UTC]", "2024-04-01T00:00:00+00:00[UTC]", "2024-12-31T23:59:59+00:00[UTC]") // { start: "2024-04-01T00:00:00+00:00[UTC]", end: "2024-06-30T23:59:59+00:00[UTC]" }
33
+ * @example intervalIntersectionZoned("2024-01-01T00:00:00+00:00[UTC]", "2024-06-30T23:59:59+00:00[UTC]", "2024-07-01T00:00:00+00:00[UTC]", "2024-12-31T23:59:59+00:00[UTC]") // null
34
+ * @example intervalIntersectionZoned("invalid", "2024-06-30T23:59:59+00:00[UTC]", "2024-04-01T00:00:00+00:00[UTC]", "2024-12-31T23:59:59+00:00[UTC]") // null
35
+ */
36
+ export function intervalIntersectionZoned(aStart, aEnd, bStart, bEnd) {
37
+ // One gate for all four endpoints: `isValidCalendarZonedDateTime` covers non-strings, empty
38
+ // strings, leap seconds (which Temporal would otherwise silently clamp to :59), unknown zones
39
+ // and Temporal's forbidden segment ordering, while accepting GMT's calendar-annotated grammar.
40
+ if (!isValidCalendarZonedDateTime(aStart) ||
41
+ !isValidCalendarZonedDateTime(aEnd) ||
42
+ !isValidCalendarZonedDateTime(bStart) ||
43
+ !isValidCalendarZonedDateTime(bEnd)) {
44
+ return null;
45
+ }
46
+ // D4-zoned reject gate: all four endpoints must agree on a calendar, or there is no calendar to
47
+ // express the returned value in.
48
+ const calendar = calendarOfAllZonedValues([aStart, aEnd, bStart, bEnd]);
49
+ if (!calendar) {
50
+ return null;
51
+ }
52
+ try {
53
+ const aZdt = parseCalendarZonedValue(aStart);
54
+ const aZde = parseCalendarZonedValue(aEnd);
55
+ const bZdt = parseCalendarZonedValue(bStart);
56
+ const bZde = parseCalendarZonedValue(bEnd);
57
+ if (Temporal.ZonedDateTime.compare(aZdt, aZde) > 0) {
58
+ return null;
59
+ }
60
+ if (Temporal.ZonedDateTime.compare(bZdt, bZde) > 0) {
61
+ return null;
62
+ }
63
+ if (Temporal.ZonedDateTime.compare(aZde, bZdt) < 0 ||
64
+ Temporal.ZonedDateTime.compare(bZde, aZdt) < 0) {
65
+ return null;
66
+ }
67
+ const start = Temporal.ZonedDateTime.compare(aZdt, bZdt) >= 0 ? aZdt : bZdt;
68
+ const end = Temporal.ZonedDateTime.compare(aZde, bZde) <= 0 ? aZde : bZde;
69
+ return {
70
+ start: formatZonedInCalendar(start, calendar),
71
+ end: formatZonedInCalendar(end, calendar),
72
+ };
73
+ }
74
+ catch {
75
+ return null;
76
+ }
77
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Return the exact length of a zoned interval in `unit`, as a real (possibly fractional) number.
3
+ *
4
+ * - Distinct from `intervalCountZoned`, which counts local calendar `unit` boundaries *crossed*
5
+ * rather than measuring exact duration — a local day that springs forward touches 1 day
6
+ * boundary via `intervalCountZoned` but is exactly `23/24 ≈ 0.958` days via
7
+ * `intervalLengthZoned`.
8
+ * - Uses `Temporal.Duration.prototype.total` with `relativeTo` set to `start`, so the result is
9
+ * DST-aware: dividing a spring-forward day's length in hours returns `23`, not `24`.
10
+ * - Returns `0` for a zero-length interval (`start === end`).
11
+ * - Accepts GMT calendar-annotated zoned strings (as produced by `convertZonedToCalendar`) as
12
+ * well as bare ISO ones — E7 (issue #152). When BOTH endpoints carry the same calendar tag the
13
+ * measurement is made in that calendar; when the tags mismatch, or either endpoint is bare ISO,
14
+ * it falls back to Gregorian/ISO rather than returning the sentinel (E7's D5-zoned). The
15
+ * fallback is mandatory, not a convenience: `ZonedDateTime.prototype.until` throws across
16
+ * mismatched calendars for EVERY `largestUnit` — verified, including `"hour"` and
17
+ * `"nanosecond"`.
18
+ * - Returns `null` on invalid input (unparseable start/end, `start > end`, unsupported unit,
19
+ * leap-second strings).
20
+ *
21
+ * @param start ISO 8601 zoned datetime string for the interval start
22
+ * @param end ISO 8601 zoned datetime string for the interval end
23
+ * @param unit unit string — any `DateTimeUnit`
24
+ * @returns exact length of the interval expressed in `unit`, or null on invalid input
25
+ *
26
+ * @example intervalLengthZoned("2024-03-10T00:00:00-05:00[America/New_York]", "2024-03-11T00:00:00-04:00[America/New_York]", "hour") // 23 (spring forward)
27
+ * @example intervalLengthZoned("2024-03-10T00:00:00-05:00[America/New_York]", "2024-03-11T00:00:00-04:00[America/New_York]", "day") // 1
28
+ * @example intervalLengthZoned("2024-01-01T00:00:00+00:00[UTC]", "2024-01-01T00:00:00+00:00[UTC]", "day") // 0
29
+ * @example intervalLengthZoned("invalid", "2024-01-02T00:00:00+00:00[UTC]", "day") // null
30
+ */
31
+ export declare function intervalLengthZoned(start: string, end: string, unit: string): number | null;
@@ -0,0 +1,61 @@
1
+ import { parseCalendarZonedPairForArithmetic, resolveDateTimeUnit, } from "../../internal/index.js";
2
+ import { isValidDateTimeUnit } from "../../plain/validate/index.js";
3
+ import { isValidCalendarZonedInterval } from "./validate/index.js";
4
+ /**
5
+ * Return the exact length of a zoned interval in `unit`, as a real (possibly fractional) number.
6
+ *
7
+ * - Distinct from `intervalCountZoned`, which counts local calendar `unit` boundaries *crossed*
8
+ * rather than measuring exact duration — a local day that springs forward touches 1 day
9
+ * boundary via `intervalCountZoned` but is exactly `23/24 ≈ 0.958` days via
10
+ * `intervalLengthZoned`.
11
+ * - Uses `Temporal.Duration.prototype.total` with `relativeTo` set to `start`, so the result is
12
+ * DST-aware: dividing a spring-forward day's length in hours returns `23`, not `24`.
13
+ * - Returns `0` for a zero-length interval (`start === end`).
14
+ * - Accepts GMT calendar-annotated zoned strings (as produced by `convertZonedToCalendar`) as
15
+ * well as bare ISO ones — E7 (issue #152). When BOTH endpoints carry the same calendar tag the
16
+ * measurement is made in that calendar; when the tags mismatch, or either endpoint is bare ISO,
17
+ * it falls back to Gregorian/ISO rather than returning the sentinel (E7's D5-zoned). The
18
+ * fallback is mandatory, not a convenience: `ZonedDateTime.prototype.until` throws across
19
+ * mismatched calendars for EVERY `largestUnit` — verified, including `"hour"` and
20
+ * `"nanosecond"`.
21
+ * - Returns `null` on invalid input (unparseable start/end, `start > end`, unsupported unit,
22
+ * leap-second strings).
23
+ *
24
+ * @param start ISO 8601 zoned datetime string for the interval start
25
+ * @param end ISO 8601 zoned datetime string for the interval end
26
+ * @param unit unit string — any `DateTimeUnit`
27
+ * @returns exact length of the interval expressed in `unit`, or null on invalid input
28
+ *
29
+ * @example intervalLengthZoned("2024-03-10T00:00:00-05:00[America/New_York]", "2024-03-11T00:00:00-04:00[America/New_York]", "hour") // 23 (spring forward)
30
+ * @example intervalLengthZoned("2024-03-10T00:00:00-05:00[America/New_York]", "2024-03-11T00:00:00-04:00[America/New_York]", "day") // 1
31
+ * @example intervalLengthZoned("2024-01-01T00:00:00+00:00[UTC]", "2024-01-01T00:00:00+00:00[UTC]", "day") // 0
32
+ * @example intervalLengthZoned("invalid", "2024-01-02T00:00:00+00:00[UTC]", "day") // null
33
+ */
34
+ export function intervalLengthZoned(start, end, unit) {
35
+ if (typeof unit !== "string") {
36
+ return null;
37
+ }
38
+ const resolvedUnit = resolveDateTimeUnit(unit);
39
+ if (!isValidDateTimeUnit(resolvedUnit)) {
40
+ return null;
41
+ }
42
+ if (!isValidCalendarZonedInterval(start, end)) {
43
+ return null;
44
+ }
45
+ try {
46
+ const { a: startVal, b: endVal } = parseCalendarZonedPairForArithmetic(start, end);
47
+ const duration = startVal.until(endVal, { largestUnit: resolvedUnit });
48
+ // total() with relativeTo gives the exact, DST-aware elapsed length, unlike
49
+ // intervalCountZoned's boundary-crossing count — a spring-forward day touches 1 day
50
+ // boundary via intervalCountZoned but is exactly 23/24 days (or 23 hours) here.
51
+ //
52
+ // `relativeTo` MUST be the pair policy's normalized `startVal`, never the raw parse of
53
+ // `start`. Anchoring to a still-calendar-tagged operand while the duration was measured in
54
+ // ISO does not throw — it returns a plausible-looking WRONG number (verified: 12.586…, sitting
55
+ // between the correct ISO 12.5666… and the correct Hebrew 13), which no sanity check catches.
56
+ return duration.total({ unit: resolvedUnit, relativeTo: startVal });
57
+ }
58
+ catch {
59
+ return null;
60
+ }
61
+ }
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Return how many distinct calendar dates two zoned intervals share, counted in the
3
+ * first interval's zone.
4
+ *
5
+ * - Counts the number of local dates touched by the closed intersection
6
+ * `[max(aStart, bStart), min(aEnd, bEnd)]` — inclusive of both endpoints.
7
+ * - `aEnd`, `bStart`, and `bEnd` are re-expressed in `aStart`'s time zone before comparing —
8
+ * Temporal refuses to compute day-granularity differences directly across two zones, since
9
+ * day length varies with DST/offset changes. As a result this function is NOT commutative:
10
+ * swapping the two intervals can change the answer when their zones differ.
11
+ * - Zones whose calendar skips a date entirely (e.g. `Pacific/Apia`'s 2011 dateline change)
12
+ * still count the skipped date — this matches `intervalCountZoned`'s calendar-arithmetic
13
+ * rule, so the two functions never disagree about what a day is.
14
+ * - Adjacent intervals (e.g. `aEnd === bStart`) share one date and count as `1`.
15
+ * - Returns `0` when the intervals do not overlap at all (a well-defined answer, not
16
+ * invalid input).
17
+ * - Returns `null` if either interval is invalid (`start > end`).
18
+ * - Returns `null` on invalid input (wrong type, malformed strings, leap seconds).
19
+ * - **Accepts mixed calendar systems** (E7's D4-zoned, issue #152): both bare ISO zoned strings
20
+ * and GMT calendar-annotated ones (`"5784-06-15T14:30:00-05:00[u-ca=hebrew][America/New_York]"`),
21
+ * and the two endpoints need not agree on a calendar. Ordering is calendar-independent —
22
+ * verified that `Temporal.Instant` carries no calendar field at all and that
23
+ * `Instant.compare`/`ZonedDateTime.compare` both return `0` for the same instant expressed in
24
+ * hebrew, islamic-civil, japanese and iso8601.
25
+ * - Still rejects Temporal's own `[timeZone][u-ca=...]` RFC 9557 ordering, which reads GMT's
26
+ * calendar-native digits as ISO digits — see `regex/calendar-zoned-date-time.ts`.
27
+ * - Diverges from date-fns's `getOverlappingDaysInIntervals`, which rounds up elapsed
28
+ * 24-hour periods instead of counting calendar dates. To reproduce date-fns's number,
29
+ * compose `intervalIntersectionZoned` with `intervalCountZoned`:
30
+ * `const span = intervalIntersectionZoned(aStart, aEnd, bStart, bEnd); span ? intervalCountZoned(span.start, span.end, "day") : 0;`
31
+ *
32
+ * @param aStart ISO 8601 zoned datetime string for the first interval start
33
+ * @param aEnd ISO 8601 zoned datetime string for the first interval end
34
+ * @param bStart ISO 8601 zoned datetime string for the second interval start
35
+ * @param bEnd ISO 8601 zoned datetime string for the second interval end
36
+ * @returns number of shared calendar dates (counted in aStart's zone), `0` when disjoint, or null on invalid input
37
+ *
38
+ * @example intervalOverlappingDaysZoned("2024-03-09T12:00:00-05:00[America/New_York]", "2024-03-11T12:00:00-04:00[America/New_York]", "2024-03-09T12:00:00-05:00[America/New_York]", "2024-03-11T12:00:00-04:00[America/New_York]") // 3 (spring-forward, 47 real hours)
39
+ * @example intervalOverlappingDaysZoned("2024-01-01T00:00:00+00:00[UTC]", "2024-01-02T00:00:00+00:00[UTC]", "2024-01-03T00:00:00+00:00[UTC]", "2024-01-04T00:00:00+00:00[UTC]") // 0 (disjoint)
40
+ * @example intervalOverlappingDaysZoned("invalid", "2024-06-30T23:59:59+00:00[UTC]", "2024-04-01T00:00:00+00:00[UTC]", "2024-12-31T23:59:59+00:00[UTC]") // null
41
+ */
42
+ export declare function intervalOverlappingDaysZoned(aStart: string, aEnd: string, bStart: string, bEnd: string): number | null;
@@ -0,0 +1,89 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { parseCalendarZonedValue } from "../../internal/index.js";
3
+ import { isValidCalendarZonedDateTime } from "../validate/index.js";
4
+ /**
5
+ * Return how many distinct calendar dates two zoned intervals share, counted in the
6
+ * first interval's zone.
7
+ *
8
+ * - Counts the number of local dates touched by the closed intersection
9
+ * `[max(aStart, bStart), min(aEnd, bEnd)]` — inclusive of both endpoints.
10
+ * - `aEnd`, `bStart`, and `bEnd` are re-expressed in `aStart`'s time zone before comparing —
11
+ * Temporal refuses to compute day-granularity differences directly across two zones, since
12
+ * day length varies with DST/offset changes. As a result this function is NOT commutative:
13
+ * swapping the two intervals can change the answer when their zones differ.
14
+ * - Zones whose calendar skips a date entirely (e.g. `Pacific/Apia`'s 2011 dateline change)
15
+ * still count the skipped date — this matches `intervalCountZoned`'s calendar-arithmetic
16
+ * rule, so the two functions never disagree about what a day is.
17
+ * - Adjacent intervals (e.g. `aEnd === bStart`) share one date and count as `1`.
18
+ * - Returns `0` when the intervals do not overlap at all (a well-defined answer, not
19
+ * invalid input).
20
+ * - Returns `null` if either interval is invalid (`start > end`).
21
+ * - Returns `null` on invalid input (wrong type, malformed strings, leap seconds).
22
+ * - **Accepts mixed calendar systems** (E7's D4-zoned, issue #152): both bare ISO zoned strings
23
+ * and GMT calendar-annotated ones (`"5784-06-15T14:30:00-05:00[u-ca=hebrew][America/New_York]"`),
24
+ * and the two endpoints need not agree on a calendar. Ordering is calendar-independent —
25
+ * verified that `Temporal.Instant` carries no calendar field at all and that
26
+ * `Instant.compare`/`ZonedDateTime.compare` both return `0` for the same instant expressed in
27
+ * hebrew, islamic-civil, japanese and iso8601.
28
+ * - Still rejects Temporal's own `[timeZone][u-ca=...]` RFC 9557 ordering, which reads GMT's
29
+ * calendar-native digits as ISO digits — see `regex/calendar-zoned-date-time.ts`.
30
+ * - Diverges from date-fns's `getOverlappingDaysInIntervals`, which rounds up elapsed
31
+ * 24-hour periods instead of counting calendar dates. To reproduce date-fns's number,
32
+ * compose `intervalIntersectionZoned` with `intervalCountZoned`:
33
+ * `const span = intervalIntersectionZoned(aStart, aEnd, bStart, bEnd); span ? intervalCountZoned(span.start, span.end, "day") : 0;`
34
+ *
35
+ * @param aStart ISO 8601 zoned datetime string for the first interval start
36
+ * @param aEnd ISO 8601 zoned datetime string for the first interval end
37
+ * @param bStart ISO 8601 zoned datetime string for the second interval start
38
+ * @param bEnd ISO 8601 zoned datetime string for the second interval end
39
+ * @returns number of shared calendar dates (counted in aStart's zone), `0` when disjoint, or null on invalid input
40
+ *
41
+ * @example intervalOverlappingDaysZoned("2024-03-09T12:00:00-05:00[America/New_York]", "2024-03-11T12:00:00-04:00[America/New_York]", "2024-03-09T12:00:00-05:00[America/New_York]", "2024-03-11T12:00:00-04:00[America/New_York]") // 3 (spring-forward, 47 real hours)
42
+ * @example intervalOverlappingDaysZoned("2024-01-01T00:00:00+00:00[UTC]", "2024-01-02T00:00:00+00:00[UTC]", "2024-01-03T00:00:00+00:00[UTC]", "2024-01-04T00:00:00+00:00[UTC]") // 0 (disjoint)
43
+ * @example intervalOverlappingDaysZoned("invalid", "2024-06-30T23:59:59+00:00[UTC]", "2024-04-01T00:00:00+00:00[UTC]", "2024-12-31T23:59:59+00:00[UTC]") // null
44
+ */
45
+ export function intervalOverlappingDaysZoned(aStart, aEnd, bStart, bEnd) {
46
+ // One gate for all four endpoints: `isValidCalendarZonedDateTime` already covers non-strings,
47
+ // empty strings, leap seconds (which Temporal would otherwise silently clamp to :59), unknown
48
+ // zones and Temporal's forbidden segment ordering — and, unlike `isValidZonedDateTime`, accepts
49
+ // GMT's calendar-annotated grammar.
50
+ if (!isValidCalendarZonedDateTime(aStart) ||
51
+ !isValidCalendarZonedDateTime(aEnd) ||
52
+ !isValidCalendarZonedDateTime(bStart) ||
53
+ !isValidCalendarZonedDateTime(bEnd)) {
54
+ return null;
55
+ }
56
+ try {
57
+ const aS = parseCalendarZonedValue(aStart);
58
+ // Boundaries are counted in the start's zone, so the others are re-expressed there —
59
+ // Temporal refuses calendar-unit differences across two zones outright.
60
+ const aE = parseCalendarZonedValue(aEnd).withTimeZone(aS.timeZoneId);
61
+ const bS = parseCalendarZonedValue(bStart).withTimeZone(aS.timeZoneId);
62
+ const bE = parseCalendarZonedValue(bEnd).withTimeZone(aS.timeZoneId);
63
+ if (Temporal.ZonedDateTime.compare(aS, aE) > 0) {
64
+ return null;
65
+ }
66
+ if (Temporal.ZonedDateTime.compare(bS, bE) > 0) {
67
+ return null;
68
+ }
69
+ if (Temporal.ZonedDateTime.compare(aE, bS) < 0 ||
70
+ Temporal.ZonedDateTime.compare(bE, aS) < 0) {
71
+ return 0;
72
+ }
73
+ const start = Temporal.ZonedDateTime.compare(aS, bS) >= 0 ? aS : bS;
74
+ const end = Temporal.ZonedDateTime.compare(aE, bE) <= 0 ? aE : bE;
75
+ // Both operands are normalized to iso8601 immediately before `.until()`. `.compare` above is
76
+ // calendar-independent, but `PlainDate.prototype.until` is NOT — it throws
77
+ // `RangeError: cannot compute difference between dates of hebrew and iso8601 calendars`
78
+ // whenever the two endpoints came from different calendars, which this function explicitly
79
+ // accepts (E7's D4-zoned). Counting distinct calendar DATES is a Gregorian/ISO question
80
+ // regardless of how either endpoint was tagged, so normalizing is the right answer, not just
81
+ // the safe one. Exactly the same hazard `intervalOverlappingDaysDate` hit in E5 (finding 2).
82
+ const startDate = start.toPlainDate().withCalendar("iso8601");
83
+ const endDate = end.toPlainDate().withCalendar("iso8601");
84
+ return startDate.until(endDate, { largestUnit: "day" }).days + 1;
85
+ }
86
+ catch {
87
+ return null;
88
+ }
89
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Split a zoned interval at arbitrary `points`, producing consecutive sub-intervals.
3
+ *
4
+ * - `points` need not be sorted — they are sorted internally (by instant) before splitting.
5
+ * - Comparison and boundary placement use the instant each point represents, so points may
6
+ * carry a different time zone than `start`/`end`.
7
+ * - Points outside `[start, end]` are dropped; they cannot introduce a boundary that isn't
8
+ * inside the interval.
9
+ * - Points on the same instant as `start` or `end` are dropped too — they would only produce a
10
+ * zero-length sub-interval at the edge.
11
+ * - Duplicate points (same instant) collapse to a single boundary.
12
+ * - Returns `[{ start, end }]` (the whole interval, unsplit) when no valid in-range point remains.
13
+ * - Returns `[]` when `points` is not an array, when any element is not a valid ISO
14
+ * ZonedDateTime string, or on invalid input (unparseable start/end, `start > end`,
15
+ * leap-second strings).
16
+ * - Accepts GMT calendar-annotated zoned strings (as produced by `convertZonedToCalendar`) as
17
+ * well as bare ISO ones — E7 (issue #152) — but **rejects a mismatched set**: `start`, `end`
18
+ * and every element of `points` must name the same calendar system (E7's D4-zoned), since the
19
+ * returned sub-intervals are values the caller reads back as datetimes and an array of
20
+ * differently-tagged records would be unreadable as a set. A mismatch returns `[]`.
21
+ * - Output boundaries are re-derived in the resolved calendar via `formatZonedInCalendar`, never
22
+ * copied from an input string (E7's D7-zoned).
23
+ *
24
+ * @param start ISO 8601 zoned datetime string for the interval start
25
+ * @param end ISO 8601 zoned datetime string for the interval end
26
+ * @param points array of ISO 8601 zoned datetime strings to split at
27
+ * @returns array of `{ start, end }` records, or `[]` on invalid input
28
+ *
29
+ * @example intervalSplitAtZoned("2024-01-01T00:00:00+00:00[UTC]", "2024-01-10T00:00:00+00:00[UTC]", ["2024-01-05T00:00:00+00:00[UTC]"]) // [{ start: "2024-01-01T00:00:00+00:00[UTC]", end: "2024-01-05T00:00:00+00:00[UTC]" }, { start: "2024-01-05T00:00:00+00:00[UTC]", end: "2024-01-10T00:00:00+00:00[UTC]" }]
30
+ * @example intervalSplitAtZoned("2024-01-01T00:00:00+00:00[UTC]", "2024-01-10T00:00:00+00:00[UTC]", []) // [{ start: "2024-01-01T00:00:00+00:00[UTC]", end: "2024-01-10T00:00:00+00:00[UTC]" }]
31
+ * @example intervalSplitAtZoned("invalid", "2024-01-10T00:00:00+00:00[UTC]", ["2024-01-05T00:00:00+00:00[UTC]"]) // []
32
+ */
33
+ export declare function intervalSplitAtZoned(start: string, end: string, points: string[]): Array<{
34
+ start: string;
35
+ end: string;
36
+ }>;