chrono-node 2.6.2 → 2.6.4

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 (372) hide show
  1. package/README.md +56 -4
  2. package/dist/cjs/calculation/mergingCalculation.js +2 -2
  3. package/dist/cjs/chrono.d.ts +3 -1
  4. package/dist/cjs/chrono.js +10 -4
  5. package/dist/cjs/chrono.js.map +1 -1
  6. package/dist/cjs/common/calculation/weekdays.d.ts +1 -1
  7. package/dist/cjs/common/calculation/weekdays.js +7 -7
  8. package/dist/cjs/common/casualReferences.js +7 -7
  9. package/dist/cjs/common/parsers/AbstractParserWithWordBoundary.d.ts +1 -1
  10. package/dist/cjs/common/parsers/AbstractTimeExpressionParser.js +16 -16
  11. package/dist/cjs/common/refiners/AbstractMergeDateRangeRefiner.js +15 -7
  12. package/dist/cjs/common/refiners/AbstractMergeDateRangeRefiner.js.map +1 -1
  13. package/dist/cjs/common/refiners/ExtractTimezoneAbbrRefiner.d.ts +3 -4
  14. package/dist/cjs/common/refiners/ExtractTimezoneAbbrRefiner.js +6 -196
  15. package/dist/cjs/common/refiners/ExtractTimezoneAbbrRefiner.js.map +1 -1
  16. package/dist/cjs/common/refiners/ForwardDateRefiner.js +14 -14
  17. package/dist/cjs/common/refiners/ForwardDateRefiner.js.map +1 -1
  18. package/dist/cjs/configurations.js +1 -1
  19. package/dist/cjs/configurations.js.map +1 -1
  20. package/dist/cjs/index.d.ts +7 -41
  21. package/dist/cjs/index.js +8 -16
  22. package/dist/cjs/index.js.map +1 -1
  23. package/dist/cjs/locales/de/index.d.ts +5 -2
  24. package/dist/cjs/locales/de/index.js +7 -1
  25. package/dist/cjs/locales/de/index.js.map +1 -1
  26. package/dist/cjs/locales/de/parsers/DECasualTimeParser.js +8 -8
  27. package/dist/cjs/locales/de/parsers/DESpecificTimeExpressionParser.js +9 -9
  28. package/dist/cjs/locales/en/configuration.d.ts +5 -0
  29. package/dist/cjs/locales/en/configuration.js +58 -0
  30. package/dist/cjs/locales/en/configuration.js.map +1 -0
  31. package/dist/cjs/locales/en/constants.d.ts +5 -1
  32. package/dist/cjs/locales/en/constants.js +5 -18
  33. package/dist/cjs/locales/en/constants.js.map +1 -1
  34. package/dist/cjs/locales/en/index.d.ts +5 -4
  35. package/dist/cjs/locales/en/index.js +12 -51
  36. package/dist/cjs/locales/en/index.js.map +1 -1
  37. package/dist/cjs/locales/en/parsers/ENMonthNameMiddleEndianParser.d.ts +1 -1
  38. package/dist/cjs/locales/en/parsers/ENMonthNameParser.d.ts +1 -1
  39. package/dist/cjs/locales/en/parsers/ENTimeExpressionParser.js +5 -5
  40. package/dist/cjs/locales/en/parsers/ENTimeUnitAgoFormatParser.js +2 -2
  41. package/dist/cjs/locales/en/parsers/ENTimeUnitAgoFormatParser.js.map +1 -1
  42. package/dist/cjs/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.d.ts +2 -0
  43. package/dist/cjs/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js +6 -1
  44. package/dist/cjs/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js.map +1 -1
  45. package/dist/cjs/locales/en/parsers/ENTimeUnitLaterFormatParser.js +1 -1
  46. package/dist/cjs/locales/en/parsers/ENTimeUnitLaterFormatParser.js.map +1 -1
  47. package/dist/cjs/locales/en/parsers/ENTimeUnitWithinFormatParser.d.ts +2 -0
  48. package/dist/cjs/locales/en/parsers/ENTimeUnitWithinFormatParser.js +10 -1
  49. package/dist/cjs/locales/en/parsers/ENTimeUnitWithinFormatParser.js.map +1 -1
  50. package/dist/cjs/locales/es/index.d.ts +5 -2
  51. package/dist/cjs/locales/es/index.js +7 -1
  52. package/dist/cjs/locales/es/index.js.map +1 -1
  53. package/dist/cjs/locales/es/parsers/ESCasualTimeParser.js +5 -5
  54. package/dist/cjs/locales/fr/index.d.ts +5 -2
  55. package/dist/cjs/locales/fr/index.js +7 -1
  56. package/dist/cjs/locales/fr/index.js.map +1 -1
  57. package/dist/cjs/locales/fr/parsers/FRCasualDateParser.js +2 -2
  58. package/dist/cjs/locales/fr/parsers/FRCasualTimeParser.js +6 -6
  59. package/dist/cjs/locales/fr/parsers/FRSpecificTimeExpressionParser.js +6 -6
  60. package/dist/cjs/locales/ja/index.d.ts +5 -2
  61. package/dist/cjs/locales/ja/index.js +7 -1
  62. package/dist/cjs/locales/ja/index.js.map +1 -1
  63. package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js +27 -5
  64. package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js.map +1 -1
  65. package/dist/cjs/locales/nl/index.d.ts +5 -2
  66. package/dist/cjs/locales/nl/index.js +7 -1
  67. package/dist/cjs/locales/nl/index.js.map +1 -1
  68. package/dist/cjs/locales/nl/parsers/NLCasualDateTimeParser.js +5 -5
  69. package/dist/cjs/locales/nl/parsers/NLCasualTimeParser.js +5 -5
  70. package/dist/cjs/locales/nl/parsers/NLMonthNameMiddleEndianParser.d.ts +1 -1
  71. package/dist/cjs/locales/pt/index.d.ts +5 -2
  72. package/dist/cjs/locales/pt/index.js +7 -1
  73. package/dist/cjs/locales/pt/index.js.map +1 -1
  74. package/dist/cjs/locales/pt/parsers/PTCasualTimeParser.js +5 -5
  75. package/dist/cjs/locales/ru/constants.js +4 -1
  76. package/dist/cjs/locales/ru/constants.js.map +1 -1
  77. package/dist/cjs/locales/ru/index.d.ts +5 -2
  78. package/dist/cjs/locales/ru/index.js +7 -1
  79. package/dist/cjs/locales/ru/index.js.map +1 -1
  80. package/dist/cjs/locales/ru/parsers/RUMonthNameParser.d.ts +1 -1
  81. package/dist/cjs/locales/ru/parsers/RUTimeExpressionParser.js +5 -5
  82. package/dist/cjs/locales/uk/constants.d.ts +33 -0
  83. package/dist/cjs/locales/uk/constants.js +301 -0
  84. package/dist/cjs/locales/uk/constants.js.map +1 -0
  85. package/dist/cjs/locales/uk/index.d.ts +11 -0
  86. package/dist/cjs/locales/uk/index.js +64 -0
  87. package/dist/cjs/locales/uk/index.js.map +1 -0
  88. package/dist/cjs/locales/uk/parsers/UKCasualDateParser.d.ts +8 -0
  89. package/dist/cjs/locales/uk/parsers/UKCasualDateParser.js +56 -0
  90. package/dist/cjs/locales/uk/parsers/UKCasualDateParser.js.map +1 -0
  91. package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.d.ts +7 -0
  92. package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.js +77 -0
  93. package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.js.map +1 -0
  94. package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.d.ts +8 -0
  95. package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.js +59 -0
  96. package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.js.map +1 -0
  97. package/dist/cjs/locales/uk/parsers/UKMonthNameParser.d.ts +7 -0
  98. package/dist/cjs/locales/uk/parsers/UKMonthNameParser.js +45 -0
  99. package/dist/cjs/locales/uk/parsers/UKMonthNameParser.js.map +1 -0
  100. package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.d.ts +8 -0
  101. package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.js +66 -0
  102. package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.js.map +1 -0
  103. package/dist/cjs/locales/uk/parsers/UKTimeExpressionParser.d.ts +12 -0
  104. package/dist/cjs/locales/uk/parsers/UKTimeExpressionParser.js +57 -0
  105. package/dist/cjs/locales/uk/parsers/UKTimeExpressionParser.js.map +1 -0
  106. package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.d.ts +8 -0
  107. package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.js +22 -0
  108. package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.js.map +1 -0
  109. package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.d.ts +8 -0
  110. package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js +29 -0
  111. package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js.map +1 -0
  112. package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.d.ts +8 -0
  113. package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +22 -0
  114. package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -0
  115. package/dist/cjs/locales/uk/parsers/UKWeekdayParser.d.ts +8 -0
  116. package/dist/cjs/locales/uk/parsers/UKWeekdayParser.js +50 -0
  117. package/dist/cjs/locales/uk/parsers/UKWeekdayParser.js.map +1 -0
  118. package/dist/cjs/locales/uk/refiners/UKMergeDateRangeRefiner.d.ts +4 -0
  119. package/dist/cjs/locales/uk/refiners/UKMergeDateRangeRefiner.js +13 -0
  120. package/dist/cjs/locales/uk/refiners/UKMergeDateRangeRefiner.js.map +1 -0
  121. package/dist/cjs/locales/uk/refiners/UKMergeDateTimeRefiner.d.ts +4 -0
  122. package/dist/cjs/locales/uk/refiners/UKMergeDateTimeRefiner.js +13 -0
  123. package/dist/cjs/locales/uk/refiners/UKMergeDateTimeRefiner.js.map +1 -0
  124. package/dist/cjs/locales/zh/hans/index.d.ts +5 -2
  125. package/dist/cjs/locales/zh/hans/index.js +8 -2
  126. package/dist/cjs/locales/zh/hans/index.js.map +1 -1
  127. package/dist/cjs/locales/zh/hans/parsers/ZHHansDateParser.d.ts +1 -1
  128. package/dist/cjs/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.d.ts +1 -1
  129. package/dist/cjs/locales/zh/hans/parsers/ZHHansTimeExpressionParser.d.ts +1 -1
  130. package/dist/cjs/locales/zh/hant/index.d.ts +5 -2
  131. package/dist/cjs/locales/zh/hant/index.js +8 -2
  132. package/dist/cjs/locales/zh/hant/index.js.map +1 -1
  133. package/dist/cjs/locales/zh/hant/parsers/ZHHantDateParser.d.ts +1 -1
  134. package/dist/cjs/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.d.ts +1 -1
  135. package/dist/cjs/locales/zh/hant/parsers/ZHHantTimeExpressionParser.d.ts +1 -1
  136. package/dist/cjs/results.d.ts +2 -2
  137. package/dist/cjs/results.js +3 -3
  138. package/dist/cjs/results.js.map +1 -1
  139. package/dist/cjs/timezone.d.ts +5 -194
  140. package/dist/cjs/timezone.js +80 -7
  141. package/dist/cjs/timezone.js.map +1 -1
  142. package/dist/cjs/types.d.ts +58 -0
  143. package/dist/cjs/types.js +34 -0
  144. package/dist/cjs/types.js.map +1 -0
  145. package/dist/cjs/utils/dayjs.js +3 -3
  146. package/dist/esm/calculation/mergingCalculation.js +1 -1
  147. package/dist/esm/chrono.d.ts +3 -1
  148. package/dist/esm/chrono.js +7 -4
  149. package/dist/esm/chrono.js.map +1 -1
  150. package/dist/esm/common/calculation/weekdays.d.ts +1 -1
  151. package/dist/esm/common/calculation/weekdays.js +1 -1
  152. package/dist/esm/common/casualReferences.js +1 -1
  153. package/dist/esm/common/parsers/AbstractParserWithWordBoundary.d.ts +1 -1
  154. package/dist/esm/common/parsers/AbstractTimeExpressionParser.js +1 -1
  155. package/dist/esm/common/refiners/AbstractMergeDateRangeRefiner.js +15 -7
  156. package/dist/esm/common/refiners/AbstractMergeDateRangeRefiner.js.map +1 -1
  157. package/dist/esm/common/refiners/ExtractTimezoneAbbrRefiner.d.ts +3 -4
  158. package/dist/esm/common/refiners/ExtractTimezoneAbbrRefiner.js +6 -196
  159. package/dist/esm/common/refiners/ExtractTimezoneAbbrRefiner.js.map +1 -1
  160. package/dist/esm/common/refiners/ForwardDateRefiner.js +14 -14
  161. package/dist/esm/common/refiners/ForwardDateRefiner.js.map +1 -1
  162. package/dist/esm/configurations.js +1 -1
  163. package/dist/esm/configurations.js.map +1 -1
  164. package/dist/esm/index.d.ts +7 -41
  165. package/dist/esm/index.js +6 -17
  166. package/dist/esm/index.js.map +1 -1
  167. package/dist/esm/locales/de/index.d.ts +5 -2
  168. package/dist/esm/locales/de/index.js +4 -0
  169. package/dist/esm/locales/de/index.js.map +1 -1
  170. package/dist/esm/locales/de/parsers/DECasualTimeParser.js +1 -1
  171. package/dist/esm/locales/de/parsers/DESpecificTimeExpressionParser.js +1 -1
  172. package/dist/esm/locales/en/configuration.d.ts +5 -0
  173. package/dist/esm/locales/en/configuration.js +52 -0
  174. package/dist/esm/locales/en/configuration.js.map +1 -0
  175. package/dist/esm/locales/en/constants.d.ts +5 -1
  176. package/dist/esm/locales/en/constants.js +21 -0
  177. package/dist/esm/locales/en/constants.js.map +1 -1
  178. package/dist/esm/locales/en/index.d.ts +5 -4
  179. package/dist/esm/locales/en/index.js +9 -48
  180. package/dist/esm/locales/en/index.js.map +1 -1
  181. package/dist/esm/locales/en/parsers/ENMonthNameMiddleEndianParser.d.ts +1 -1
  182. package/dist/esm/locales/en/parsers/ENMonthNameParser.d.ts +1 -1
  183. package/dist/esm/locales/en/parsers/ENTimeExpressionParser.js +1 -1
  184. package/dist/esm/locales/en/parsers/ENTimeUnitAgoFormatParser.js +3 -3
  185. package/dist/esm/locales/en/parsers/ENTimeUnitAgoFormatParser.js.map +1 -1
  186. package/dist/esm/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.d.ts +2 -0
  187. package/dist/esm/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js +7 -2
  188. package/dist/esm/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js.map +1 -1
  189. package/dist/esm/locales/en/parsers/ENTimeUnitLaterFormatParser.js +2 -2
  190. package/dist/esm/locales/en/parsers/ENTimeUnitLaterFormatParser.js.map +1 -1
  191. package/dist/esm/locales/en/parsers/ENTimeUnitWithinFormatParser.d.ts +2 -0
  192. package/dist/esm/locales/en/parsers/ENTimeUnitWithinFormatParser.js +11 -2
  193. package/dist/esm/locales/en/parsers/ENTimeUnitWithinFormatParser.js.map +1 -1
  194. package/dist/esm/locales/es/index.d.ts +5 -2
  195. package/dist/esm/locales/es/index.js +4 -0
  196. package/dist/esm/locales/es/index.js.map +1 -1
  197. package/dist/esm/locales/es/parsers/ESCasualTimeParser.js +1 -1
  198. package/dist/esm/locales/fr/index.d.ts +5 -2
  199. package/dist/esm/locales/fr/index.js +4 -0
  200. package/dist/esm/locales/fr/index.js.map +1 -1
  201. package/dist/esm/locales/fr/parsers/FRCasualDateParser.js +1 -1
  202. package/dist/esm/locales/fr/parsers/FRCasualTimeParser.js +1 -1
  203. package/dist/esm/locales/fr/parsers/FRSpecificTimeExpressionParser.js +1 -1
  204. package/dist/esm/locales/ja/index.d.ts +5 -2
  205. package/dist/esm/locales/ja/index.js +4 -0
  206. package/dist/esm/locales/ja/index.js.map +1 -1
  207. package/dist/esm/locales/ja/parsers/JPCasualDateParser.js +25 -3
  208. package/dist/esm/locales/ja/parsers/JPCasualDateParser.js.map +1 -1
  209. package/dist/esm/locales/nl/index.d.ts +5 -2
  210. package/dist/esm/locales/nl/index.js +4 -0
  211. package/dist/esm/locales/nl/index.js.map +1 -1
  212. package/dist/esm/locales/nl/parsers/NLCasualDateTimeParser.js +1 -1
  213. package/dist/esm/locales/nl/parsers/NLCasualTimeParser.js +1 -1
  214. package/dist/esm/locales/nl/parsers/NLMonthNameMiddleEndianParser.d.ts +1 -1
  215. package/dist/esm/locales/pt/index.d.ts +5 -2
  216. package/dist/esm/locales/pt/index.js +4 -0
  217. package/dist/esm/locales/pt/index.js.map +1 -1
  218. package/dist/esm/locales/pt/parsers/PTCasualTimeParser.js +1 -1
  219. package/dist/esm/locales/ru/constants.js +4 -1
  220. package/dist/esm/locales/ru/constants.js.map +1 -1
  221. package/dist/esm/locales/ru/index.d.ts +5 -2
  222. package/dist/esm/locales/ru/index.js +4 -0
  223. package/dist/esm/locales/ru/index.js.map +1 -1
  224. package/dist/esm/locales/ru/parsers/RUMonthNameParser.d.ts +1 -1
  225. package/dist/esm/locales/ru/parsers/RUTimeExpressionParser.js +1 -1
  226. package/dist/esm/locales/uk/constants.d.ts +33 -0
  227. package/dist/esm/locales/uk/constants.js +324 -0
  228. package/dist/esm/locales/uk/constants.js.map +1 -0
  229. package/dist/esm/locales/uk/index.d.ts +11 -0
  230. package/dist/esm/locales/uk/index.js +52 -0
  231. package/dist/esm/locales/uk/index.js.map +1 -0
  232. package/dist/esm/locales/uk/parsers/UKCasualDateParser.d.ts +8 -0
  233. package/dist/esm/locales/uk/parsers/UKCasualDateParser.js +34 -0
  234. package/dist/esm/locales/uk/parsers/UKCasualDateParser.js.map +1 -0
  235. package/dist/esm/locales/uk/parsers/UKCasualTimeParser.d.ts +7 -0
  236. package/dist/esm/locales/uk/parsers/UKCasualTimeParser.js +52 -0
  237. package/dist/esm/locales/uk/parsers/UKCasualTimeParser.js.map +1 -0
  238. package/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.d.ts +8 -0
  239. package/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.js +56 -0
  240. package/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.js.map +1 -0
  241. package/dist/esm/locales/uk/parsers/UKMonthNameParser.d.ts +7 -0
  242. package/dist/esm/locales/uk/parsers/UKMonthNameParser.js +42 -0
  243. package/dist/esm/locales/uk/parsers/UKMonthNameParser.js.map +1 -0
  244. package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.d.ts +8 -0
  245. package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.js +60 -0
  246. package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.js.map +1 -0
  247. package/dist/esm/locales/uk/parsers/UKTimeExpressionParser.d.ts +12 -0
  248. package/dist/esm/locales/uk/parsers/UKTimeExpressionParser.js +54 -0
  249. package/dist/esm/locales/uk/parsers/UKTimeExpressionParser.js.map +1 -0
  250. package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.d.ts +8 -0
  251. package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.js +19 -0
  252. package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.js.map +1 -0
  253. package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.d.ts +8 -0
  254. package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js +26 -0
  255. package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js.map +1 -0
  256. package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.d.ts +8 -0
  257. package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +19 -0
  258. package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -0
  259. package/dist/esm/locales/uk/parsers/UKWeekdayParser.d.ts +8 -0
  260. package/dist/esm/locales/uk/parsers/UKWeekdayParser.js +47 -0
  261. package/dist/esm/locales/uk/parsers/UKWeekdayParser.js.map +1 -0
  262. package/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.d.ts +4 -0
  263. package/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.js +7 -0
  264. package/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.js.map +1 -0
  265. package/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.d.ts +4 -0
  266. package/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.js +7 -0
  267. package/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.js.map +1 -0
  268. package/dist/esm/locales/zh/hans/index.d.ts +5 -2
  269. package/dist/esm/locales/zh/hans/index.js +5 -1
  270. package/dist/esm/locales/zh/hans/index.js.map +1 -1
  271. package/dist/esm/locales/zh/hans/parsers/ZHHansDateParser.d.ts +1 -1
  272. package/dist/esm/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.d.ts +1 -1
  273. package/dist/esm/locales/zh/hans/parsers/ZHHansTimeExpressionParser.d.ts +1 -1
  274. package/dist/esm/locales/zh/hant/index.d.ts +5 -2
  275. package/dist/esm/locales/zh/hant/index.js +5 -1
  276. package/dist/esm/locales/zh/hant/index.js.map +1 -1
  277. package/dist/esm/locales/zh/hant/parsers/ZHHantDateParser.d.ts +1 -1
  278. package/dist/esm/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.d.ts +1 -1
  279. package/dist/esm/locales/zh/hant/parsers/ZHHantTimeExpressionParser.d.ts +1 -1
  280. package/dist/esm/results.d.ts +2 -2
  281. package/dist/esm/results.js +3 -3
  282. package/dist/esm/results.js.map +1 -1
  283. package/dist/esm/timezone.d.ts +5 -194
  284. package/dist/esm/timezone.js +74 -6
  285. package/dist/esm/timezone.js.map +1 -1
  286. package/dist/esm/types.d.ts +58 -0
  287. package/dist/esm/types.js +31 -0
  288. package/dist/esm/types.js.map +1 -0
  289. package/dist/esm/utils/dayjs.js +1 -1
  290. package/package.json +12 -5
  291. package/src/calculation/mergingCalculation.ts +1 -1
  292. package/src/chrono.ts +14 -8
  293. package/src/common/calculation/weekdays.ts +1 -1
  294. package/src/common/casualReferences.ts +1 -1
  295. package/src/common/parsers/AbstractParserWithWordBoundary.ts +1 -1
  296. package/src/common/parsers/AbstractTimeExpressionParser.ts +1 -1
  297. package/src/common/parsers/ISOFormatParser.ts +1 -1
  298. package/src/common/refiners/AbstractMergeDateRangeRefiner.ts +13 -8
  299. package/src/common/refiners/ExtractTimezoneAbbrRefiner.ts +7 -201
  300. package/src/common/refiners/ForwardDateRefiner.ts +18 -16
  301. package/src/configurations.ts +3 -1
  302. package/src/index.ts +6 -107
  303. package/src/locales/de/index.ts +6 -2
  304. package/src/locales/de/parsers/DECasualTimeParser.ts +1 -1
  305. package/src/locales/de/parsers/DESpecificTimeExpressionParser.ts +1 -1
  306. package/src/locales/en/configuration.ts +70 -0
  307. package/src/locales/en/constants.ts +31 -1
  308. package/src/locales/en/index.ts +11 -65
  309. package/src/locales/en/parsers/ENTimeExpressionParser.ts +1 -1
  310. package/src/locales/en/parsers/ENTimeUnitAgoFormatParser.ts +3 -3
  311. package/src/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.ts +10 -2
  312. package/src/locales/en/parsers/ENTimeUnitLaterFormatParser.ts +5 -2
  313. package/src/locales/en/parsers/ENTimeUnitWithinFormatParser.ts +16 -3
  314. package/src/locales/es/index.ts +6 -2
  315. package/src/locales/es/parsers/ESCasualTimeParser.ts +1 -1
  316. package/src/locales/fr/index.ts +6 -2
  317. package/src/locales/fr/parsers/FRCasualDateParser.ts +1 -1
  318. package/src/locales/fr/parsers/FRCasualTimeParser.ts +1 -1
  319. package/src/locales/fr/parsers/FRSpecificTimeExpressionParser.ts +1 -1
  320. package/src/locales/ja/index.ts +6 -2
  321. package/src/locales/ja/parsers/JPCasualDateParser.ts +26 -3
  322. package/src/locales/nl/index.ts +6 -2
  323. package/src/locales/nl/parsers/NLCasualDateTimeParser.ts +1 -1
  324. package/src/locales/nl/parsers/NLCasualTimeParser.ts +1 -1
  325. package/src/locales/pt/index.ts +6 -2
  326. package/src/locales/pt/parsers/PTCasualTimeParser.ts +1 -1
  327. package/src/locales/ru/constants.ts +4 -1
  328. package/src/locales/ru/index.ts +6 -2
  329. package/src/locales/ru/parsers/RUTimeExpressionParser.ts +1 -1
  330. package/src/locales/uk/constants.ts +349 -0
  331. package/src/locales/uk/index.ts +90 -0
  332. package/src/locales/uk/parsers/UKCasualDateParser.ts +50 -0
  333. package/src/locales/uk/parsers/UKCasualTimeParser.ts +59 -0
  334. package/src/locales/uk/parsers/UKMonthNameLittleEndianParser.ts +72 -0
  335. package/src/locales/uk/parsers/UKMonthNameParser.ts +61 -0
  336. package/src/locales/uk/parsers/UKRelativeDateFormatParser.ts +85 -0
  337. package/src/locales/uk/parsers/UKTimeExpressionParser.ts +64 -0
  338. package/src/locales/uk/parsers/UKTimeUnitAgoFormatParser.ts +24 -0
  339. package/src/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.ts +34 -0
  340. package/src/locales/uk/parsers/UKTimeUnitWithinFormatParser.ts +27 -0
  341. package/src/locales/uk/parsers/UKWeekdayParser.ts +59 -0
  342. package/src/locales/uk/refiners/UKMergeDateRangeRefiner.ts +13 -0
  343. package/src/locales/uk/refiners/UKMergeDateTimeRefiner.ts +13 -0
  344. package/src/locales/zh/hans/index.ts +6 -2
  345. package/src/locales/zh/hant/index.ts +6 -2
  346. package/src/results.ts +4 -4
  347. package/src/timezone.ts +124 -7
  348. package/src/types.ts +150 -0
  349. package/src/utils/dayjs.ts +1 -1
  350. package/test/de/de_time_exp.test.ts +7 -7
  351. package/test/debugging.test.ts +17 -0
  352. package/test/en/en_month.test.ts +70 -0
  353. package/test/en/en_month_name_little_endian.test.ts +12 -0
  354. package/test/en/en_time_units_ago.test.ts +12 -0
  355. package/test/en/en_time_units_casual_relative.test.ts +18 -0
  356. package/test/en/en_time_units_later.test.ts +13 -10
  357. package/test/en/en_time_units_within.test.ts +12 -1
  358. package/test/en/en_timezone_exp.test.ts +142 -0
  359. package/test/en/en_weekday.test.ts +26 -0
  360. package/test/en/negative_cases.test.ts +2 -0
  361. package/test/fr/fr_time_exp.test.ts +2 -2
  362. package/test/ja/ja_casual.test.ts +50 -13
  363. package/test/system.test.ts +23 -1
  364. package/test/uk/uk_casual.test.ts +153 -0
  365. package/test/uk/uk_month.test.ts +70 -0
  366. package/test/uk/uk_month_name_little_endian.test.ts +148 -0
  367. package/test/uk/uk_relative.test.ts +74 -0
  368. package/test/uk/uk_time_exp.test.ts +111 -0
  369. package/test/uk/uk_time_units_ago.test.ts +48 -0
  370. package/test/uk/uk_time_units_casual_relative.test.ts +112 -0
  371. package/test/uk/uk_time_units_within.test.ts +16 -0
  372. package/test/uk/uk_weekday.test.ts +52 -0
@@ -1,4 +1,4 @@
1
- import { Meridiem } from "../../index.js";
1
+ import { Meridiem } from "../../types.js";
2
2
  function primaryTimePattern(leftBoundary, primaryPrefix, primarySuffix, flags) {
3
3
  return new RegExp(`${leftBoundary}` +
4
4
  `${primaryPrefix}` +
@@ -7,30 +7,38 @@ export default class AbstractMergeDateRangeRefiner extends MergingRefiner {
7
7
  if (!fromResult.start.isOnlyWeekdayComponent() && !toResult.start.isOnlyWeekdayComponent()) {
8
8
  toResult.start.getCertainComponents().forEach((key) => {
9
9
  if (!fromResult.start.isCertain(key)) {
10
- fromResult.start.assign(key, toResult.start.get(key));
10
+ fromResult.start.imply(key, toResult.start.get(key));
11
11
  }
12
12
  });
13
13
  fromResult.start.getCertainComponents().forEach((key) => {
14
14
  if (!toResult.start.isCertain(key)) {
15
- toResult.start.assign(key, fromResult.start.get(key));
15
+ toResult.start.imply(key, fromResult.start.get(key));
16
16
  }
17
17
  });
18
18
  }
19
19
  if (fromResult.start.date().getTime() > toResult.start.date().getTime()) {
20
20
  let fromMoment = fromResult.start.dayjs();
21
21
  let toMoment = toResult.start.dayjs();
22
- if (fromResult.start.isOnlyWeekdayComponent() && fromMoment.add(-7, "days").isBefore(toMoment)) {
22
+ if (toResult.start.isOnlyWeekdayComponent() && toMoment.add(7, "days").isAfter(fromMoment)) {
23
+ toMoment = toMoment.add(7, "days");
24
+ toResult.start.imply("day", toMoment.date());
25
+ toResult.start.imply("month", toMoment.month() + 1);
26
+ toResult.start.imply("year", toMoment.year());
27
+ }
28
+ else if (fromResult.start.isOnlyWeekdayComponent() && fromMoment.add(-7, "days").isBefore(toMoment)) {
23
29
  fromMoment = fromMoment.add(-7, "days");
24
30
  fromResult.start.imply("day", fromMoment.date());
25
31
  fromResult.start.imply("month", fromMoment.month() + 1);
26
32
  fromResult.start.imply("year", fromMoment.year());
27
33
  }
28
- else if (toResult.start.isOnlyWeekdayComponent() && toMoment.add(7, "days").isAfter(fromMoment)) {
29
- toMoment = toMoment.add(7, "days");
30
- toResult.start.imply("day", toMoment.date());
31
- toResult.start.imply("month", toMoment.month() + 1);
34
+ else if (toResult.start.isDateWithUnknownYear() && toMoment.add(1, "years").isAfter(fromMoment)) {
35
+ toMoment = toMoment.add(1, "years");
32
36
  toResult.start.imply("year", toMoment.year());
33
37
  }
38
+ else if (fromResult.start.isDateWithUnknownYear() && fromMoment.add(-1, "years").isBefore(toMoment)) {
39
+ fromMoment = fromMoment.add(-1, "years");
40
+ fromResult.start.imply("year", fromMoment.year());
41
+ }
34
42
  else {
35
43
  [toResult, fromResult] = [fromResult, toResult];
36
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractMergeDateRangeRefiner.js","sourceRoot":"","sources":["../../../../src/common/refiners/AbstractMergeDateRangeRefiner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractMergeDateRangeRefiner.js","sourceRoot":"","sources":["../../../../src/common/refiners/AbstractMergeDateRangeRefiner.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { ParsingContext, Refiner } from "../../chrono.js";
2
+ import { TimezoneAbbrMap } from "../../types.js";
2
3
  import { ParsingResult } from "../../results.js";
3
4
  export default class ExtractTimezoneAbbrRefiner implements Refiner {
4
- private readonly timezone;
5
- constructor(timezoneOverrides?: {
6
- string: number;
7
- });
5
+ private readonly timezoneOverrides?;
6
+ constructor(timezoneOverrides?: TimezoneAbbrMap);
8
7
  refine(context: ParsingContext, results: ParsingResult[]): ParsingResult[];
9
8
  }
@@ -1,200 +1,8 @@
1
+ import { toTimezoneOffset } from "../../timezone.js";
1
2
  const TIMEZONE_NAME_PATTERN = new RegExp("^\\s*,?\\s*\\(?([A-Z]{2,4})\\)?(?=\\W|$)", "i");
2
- const DEFAULT_TIMEZONE_ABBR_MAP = {
3
- ACDT: 630,
4
- ACST: 570,
5
- ADT: -180,
6
- AEDT: 660,
7
- AEST: 600,
8
- AFT: 270,
9
- AKDT: -480,
10
- AKST: -540,
11
- ALMT: 360,
12
- AMST: -180,
13
- AMT: -240,
14
- ANAST: 720,
15
- ANAT: 720,
16
- AQTT: 300,
17
- ART: -180,
18
- AST: -240,
19
- AWDT: 540,
20
- AWST: 480,
21
- AZOST: 0,
22
- AZOT: -60,
23
- AZST: 300,
24
- AZT: 240,
25
- BNT: 480,
26
- BOT: -240,
27
- BRST: -120,
28
- BRT: -180,
29
- BST: 60,
30
- BTT: 360,
31
- CAST: 480,
32
- CAT: 120,
33
- CCT: 390,
34
- CDT: -300,
35
- CEST: 120,
36
- CET: 60,
37
- CHADT: 825,
38
- CHAST: 765,
39
- CKT: -600,
40
- CLST: -180,
41
- CLT: -240,
42
- COT: -300,
43
- CST: -360,
44
- CVT: -60,
45
- CXT: 420,
46
- ChST: 600,
47
- DAVT: 420,
48
- EASST: -300,
49
- EAST: -360,
50
- EAT: 180,
51
- ECT: -300,
52
- EDT: -240,
53
- EEST: 180,
54
- EET: 120,
55
- EGST: 0,
56
- EGT: -60,
57
- EST: -300,
58
- ET: -300,
59
- FJST: 780,
60
- FJT: 720,
61
- FKST: -180,
62
- FKT: -240,
63
- FNT: -120,
64
- GALT: -360,
65
- GAMT: -540,
66
- GET: 240,
67
- GFT: -180,
68
- GILT: 720,
69
- GMT: 0,
70
- GST: 240,
71
- GYT: -240,
72
- HAA: -180,
73
- HAC: -300,
74
- HADT: -540,
75
- HAE: -240,
76
- HAP: -420,
77
- HAR: -360,
78
- HAST: -600,
79
- HAT: -90,
80
- HAY: -480,
81
- HKT: 480,
82
- HLV: -210,
83
- HNA: -240,
84
- HNC: -360,
85
- HNE: -300,
86
- HNP: -480,
87
- HNR: -420,
88
- HNT: -150,
89
- HNY: -540,
90
- HOVT: 420,
91
- ICT: 420,
92
- IDT: 180,
93
- IOT: 360,
94
- IRDT: 270,
95
- IRKST: 540,
96
- IRKT: 540,
97
- IRST: 210,
98
- IST: 330,
99
- JST: 540,
100
- KGT: 360,
101
- KRAST: 480,
102
- KRAT: 480,
103
- KST: 540,
104
- KUYT: 240,
105
- LHDT: 660,
106
- LHST: 630,
107
- LINT: 840,
108
- MAGST: 720,
109
- MAGT: 720,
110
- MART: -510,
111
- MAWT: 300,
112
- MDT: -360,
113
- MESZ: 120,
114
- MEZ: 60,
115
- MHT: 720,
116
- MMT: 390,
117
- MSD: 240,
118
- MSK: 240,
119
- MST: -420,
120
- MUT: 240,
121
- MVT: 300,
122
- MYT: 480,
123
- NCT: 660,
124
- NDT: -90,
125
- NFT: 690,
126
- NOVST: 420,
127
- NOVT: 360,
128
- NPT: 345,
129
- NST: -150,
130
- NUT: -660,
131
- NZDT: 780,
132
- NZST: 720,
133
- OMSST: 420,
134
- OMST: 420,
135
- PDT: -420,
136
- PET: -300,
137
- PETST: 720,
138
- PETT: 720,
139
- PGT: 600,
140
- PHOT: 780,
141
- PHT: 480,
142
- PKT: 300,
143
- PMDT: -120,
144
- PMST: -180,
145
- PONT: 660,
146
- PST: -480,
147
- PT: -480,
148
- PWT: 540,
149
- PYST: -180,
150
- PYT: -240,
151
- RET: 240,
152
- SAMT: 240,
153
- SAST: 120,
154
- SBT: 660,
155
- SCT: 240,
156
- SGT: 480,
157
- SRT: -180,
158
- SST: -660,
159
- TAHT: -600,
160
- TFT: 300,
161
- TJT: 300,
162
- TKT: 780,
163
- TLT: 540,
164
- TMT: 300,
165
- TVT: 720,
166
- ULAT: 480,
167
- UTC: 0,
168
- UYST: -120,
169
- UYT: -180,
170
- UZT: 300,
171
- VET: -210,
172
- VLAST: 660,
173
- VLAT: 660,
174
- VUT: 660,
175
- WAST: 120,
176
- WAT: 60,
177
- WEST: 60,
178
- WESZ: 60,
179
- WET: 0,
180
- WEZ: 0,
181
- WFT: 720,
182
- WGST: -120,
183
- WGT: -180,
184
- WIB: 420,
185
- WIT: 540,
186
- WITA: 480,
187
- WST: 780,
188
- WT: 0,
189
- YAKST: 600,
190
- YAKT: 600,
191
- YAPT: 600,
192
- YEKST: 360,
193
- YEKT: 360,
194
- };
195
3
  export default class ExtractTimezoneAbbrRefiner {
196
4
  constructor(timezoneOverrides) {
197
- this.timezone = { ...DEFAULT_TIMEZONE_ABBR_MAP, ...timezoneOverrides };
5
+ this.timezoneOverrides = timezoneOverrides;
198
6
  }
199
7
  refine(context, results) {
200
8
  const timezoneOverrides = context.option.timezones ?? {};
@@ -205,8 +13,10 @@ export default class ExtractTimezoneAbbrRefiner {
205
13
  return;
206
14
  }
207
15
  const timezoneAbbr = match[1].toUpperCase();
208
- const extractedTimezoneOffset = timezoneOverrides[timezoneAbbr] ?? this.timezone[timezoneAbbr] ?? null;
209
- if (extractedTimezoneOffset === null) {
16
+ const refDate = result.start.date() ?? result.refDate ?? new Date();
17
+ const tzOverrides = { ...this.timezoneOverrides, ...timezoneOverrides };
18
+ const extractedTimezoneOffset = toTimezoneOffset(timezoneAbbr, refDate, tzOverrides);
19
+ if (extractedTimezoneOffset == null) {
210
20
  return;
211
21
  }
212
22
  context.debug(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"ExtractTimezoneAbbrRefiner.js","sourceRoot":"","sources":["../../../../src/common/refiners/ExtractTimezoneAbbrRefiner.ts"],"names":[],"mappings":"AAIA,MAAM,qBAAqB,GAAG,IAAI,MAAM,CAAC,0CAA0C,EAAE,GAAG,CAAC,CAAC;AAC1F,MAAM,yBAAyB,GAAG;IAC9B,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,CAAC,GAAG;IACV,IAAI,EAAE,CAAC,GAAG;IACV,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,CAAC,GAAG;IACV,GAAG,EAAE,CAAC,GAAG;IACT,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC,EAAE;IACT,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,CAAC,GAAG;IACT,IAAI,EAAE,CAAC,GAAG;IACV,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,CAAC,GAAG;IACT,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,CAAC,GAAG;IACT,IAAI,EAAE,CAAC,GAAG;IACV,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,EAAE;IACR,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,CAAC,GAAG;IACX,IAAI,EAAE,CAAC,GAAG;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC,EAAE;IACR,GAAG,EAAE,CAAC,GAAG;IACT,EAAE,EAAE,CAAC,GAAG;IACR,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,CAAC,GAAG;IACV,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,IAAI,EAAE,CAAC,GAAG;IACV,IAAI,EAAE,CAAC,GAAG;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,CAAC,GAAG;IACT,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,IAAI,EAAE,CAAC,GAAG;IACV,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,IAAI,EAAE,CAAC,GAAG;IACV,GAAG,EAAE,CAAC,EAAE;IACR,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,CAAC,GAAG;IACV,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,CAAC,EAAE;IACR,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,CAAC,GAAG;IACV,IAAI,EAAE,CAAC,GAAG;IACV,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,EAAE,EAAE,CAAC,GAAG;IACR,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,CAAC,GAAG;IACV,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,CAAC,GAAG;IACT,GAAG,EAAE,CAAC,GAAG;IACT,IAAI,EAAE,CAAC,GAAG;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IA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"}
1
+ {"version":3,"file":"ExtractTimezoneAbbrRefiner.js","sourceRoot":"","sources":["../../../../src/common/refiners/ExtractTimezoneAbbrRefiner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,qBAAqB,GAAG,IAAI,MAAM,CAAC,0CAA0C,EAAE,GAAG,CAAC,CAAC;AAE1F,MAAM,CAAC,OAAO,OAAO,0BAA0B;IAC3C,YAA6B,iBAAmC;QAAnC,sBAAiB,GAAjB,iBAAiB,CAAkB;IAAG,CAAC;IAEpE,MAAM,CAAC,OAAuB,EAAE,OAAwB;QACpD,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAEzD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACvB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzE,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,EAAE;gBACR,OAAO;aACV;YAED,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC;YACpE,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAAC;YACxE,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACrF,IAAI,uBAAuB,IAAI,IAAI,EAAE;gBACjC,OAAO;aACV;YACD,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;gBACf,OAAO,CAAC,GAAG,CACP,yBAAyB,YAAY,WAAW,uBAAuB,SAAS,MAAM,CAAC,KAAK,EAAE,CACjG,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,MAAM,qBAAqB,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACjE,IAAI,qBAAqB,KAAK,IAAI,IAAI,uBAAuB,IAAI,qBAAqB,EAAE;gBAIpF,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE;oBAC1C,OAAO;iBACV;gBAID,IAAI,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC1B,OAAO;iBACV;aACJ;YAED,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE;gBAG3B,IAAI,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC1B,OAAO;iBACV;aACJ;YAED,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;YAExB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE;gBAC3C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,CAAC;aAClE;YAED,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE;gBAC/D,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,CAAC;aAChE;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ"}
@@ -18,20 +18,6 @@ export default class ForwardDateRefiner {
18
18
  }
19
19
  }
20
20
  }
21
- if (result.start.isOnlyDayMonthComponent() && refMoment.isAfter(result.start.dayjs())) {
22
- for (let i = 0; i < 3 && refMoment.isAfter(result.start.dayjs()); i++) {
23
- result.start.imply("year", result.start.get("year") + 1);
24
- context.debug(() => {
25
- console.log(`Forward yearly adjusted for ${result} (${result.start})`);
26
- });
27
- if (result.end && !result.end.isCertain("year")) {
28
- result.end.imply("year", result.end.get("year") + 1);
29
- context.debug(() => {
30
- console.log(`Forward yearly adjusted for ${result} (${result.end})`);
31
- });
32
- }
33
- }
34
- }
35
21
  if (result.start.isOnlyWeekdayComponent() && refMoment.isAfter(result.start.dayjs())) {
36
22
  if (refMoment.day() >= result.start.get("weekday")) {
37
23
  refMoment = refMoment.day(result.start.get("weekday") + 7);
@@ -60,6 +46,20 @@ export default class ForwardDateRefiner {
60
46
  });
61
47
  }
62
48
  }
49
+ if (result.start.isDateWithUnknownYear() && refMoment.isAfter(result.start.dayjs())) {
50
+ for (let i = 0; i < 3 && refMoment.isAfter(result.start.dayjs()); i++) {
51
+ result.start.imply("year", result.start.get("year") + 1);
52
+ context.debug(() => {
53
+ console.log(`Forward yearly adjusted for ${result} (${result.start})`);
54
+ });
55
+ if (result.end && !result.end.isCertain("year")) {
56
+ result.end.imply("year", result.end.get("year") + 1);
57
+ context.debug(() => {
58
+ console.log(`Forward yearly adjusted for ${result} (${result.end})`);
59
+ });
60
+ }
61
+ }
62
+ }
63
63
  });
64
64
  return results;
65
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ForwardDateRefiner.js","sourceRoot":"","sources":["../../../../src/common/refiners/ForwardDateRefiner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ForwardDateRefiner.js","sourceRoot":"","sources":["../../../../src/common/refiners/ForwardDateRefiner.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,9 @@ import MergeWeekdayComponentRefiner from "./common/refiners/MergeWeekdayComponen
8
8
  export function includeCommonConfiguration(configuration, strictMode = false) {
9
9
  configuration.parsers.unshift(new ISOFormatParser());
10
10
  configuration.refiners.unshift(new MergeWeekdayComponentRefiner());
11
- configuration.refiners.unshift(new ExtractTimezoneAbbrRefiner());
12
11
  configuration.refiners.unshift(new ExtractTimezoneOffsetRefiner());
13
12
  configuration.refiners.unshift(new OverlapRemovalRefiner());
13
+ configuration.refiners.push(new ExtractTimezoneAbbrRefiner());
14
14
  configuration.refiners.push(new OverlapRemovalRefiner());
15
15
  configuration.refiners.push(new ForwardDateRefiner());
16
16
  configuration.refiners.push(new UnlikelyFormatFilter(strictMode));
@@ -1 +1 @@
1
- {"version":3,"file":"configurations.js","sourceRoot":"","sources":["../../src/configurations.ts"],"names":[],"mappings":"AAEA,OAAO,0BAA0B,MAAM,8CAA8C,CAAC;AACtF,OAAO,4BAA4B,MAAM,gDAAgD,CAAC;AAC1F,OAAO,qBAAqB,MAAM,yCAAyC,CAAC;AAC5E,OAAO,kBAAkB,MAAM,sCAAsC,CAAC;AACtE,OAAO,oBAAoB,MAAM,wCAAwC,CAAC;AAC1E,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAC/D,OAAO,4BAA4B,MAAM,gDAAgD,CAAC;AAE1F,MAAM,UAAU,0BAA0B,CAAC,aAA4B,EAAE,UAAU,GAAG,KAAK;IACvF,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;IAErD,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC;IACnE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;IACjE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC;IACnE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IAE5D,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IACzD,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;IACtD,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;IAClE,OAAO,aAAa,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"configurations.js","sourceRoot":"","sources":["../../src/configurations.ts"],"names":[],"mappings":"AAEA,OAAO,0BAA0B,MAAM,8CAA8C,CAAC;AACtF,OAAO,4BAA4B,MAAM,gDAAgD,CAAC;AAC1F,OAAO,qBAAqB,MAAM,yCAAyC,CAAC;AAC5E,OAAO,kBAAkB,MAAM,sCAAsC,CAAC;AACtE,OAAO,oBAAoB,MAAM,wCAAwC,CAAC;AAC1E,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAC/D,OAAO,4BAA4B,MAAM,gDAAgD,CAAC;AAE1F,MAAM,UAAU,0BAA0B,CAAC,aAA4B,EAAE,UAAU,GAAG,KAAK;IACvF,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;IAErD,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC;IACnE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC;IACnE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IAI5D,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;IAC9D,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IACzD,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;IACtD,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;IAClE,OAAO,aAAa,CAAC;AACzB,CAAC"}
@@ -1,44 +1,9 @@
1
1
  import * as en from "./locales/en/index.js";
2
2
  import { Chrono, Parser, Refiner } from "./chrono.js";
3
- import type { ParsingResult } from "./results.js";
3
+ import { ParsingResult } from "./results.js";
4
+ import { Component, ParsedResult, ParsingOption, ParsingReference, Meridiem, Weekday } from "./types.js";
4
5
  export { en, Chrono, Parser, Refiner, ParsingResult };
5
- export interface ParsingOption {
6
- forwardDate?: boolean;
7
- timezones?: {
8
- [tzKeyword: string]: number;
9
- };
10
- }
11
- export interface ParsingReference {
12
- instant?: Date;
13
- timezone?: string | number;
14
- }
15
- export interface ParsedResult {
16
- readonly refDate: Date;
17
- readonly index: number;
18
- readonly text: string;
19
- readonly start: ParsedComponents;
20
- readonly end?: ParsedComponents;
21
- date(): Date;
22
- }
23
- export interface ParsedComponents {
24
- isCertain(component: Component): boolean;
25
- get(component: Component): number | null;
26
- date(): Date;
27
- }
28
- export declare type Component = "year" | "month" | "day" | "weekday" | "hour" | "minute" | "second" | "millisecond" | "meridiem" | "timezoneOffset";
29
- export declare enum Meridiem {
30
- AM = 0,
31
- PM = 1
32
- }
33
- export declare enum Weekday {
34
- SUNDAY = 0,
35
- MONDAY = 1,
36
- TUESDAY = 2,
37
- WEDNESDAY = 3,
38
- THURSDAY = 4,
39
- FRIDAY = 5,
40
- SATURDAY = 6
41
- }
6
+ export { Component, ParsedResult, ParsingOption, ParsingReference, Meridiem, Weekday };
42
7
  import * as de from "./locales/de/index.js";
43
8
  import * as fr from "./locales/fr/index.js";
44
9
  import * as ja from "./locales/ja/index.js";
@@ -47,8 +12,9 @@ import * as nl from "./locales/nl/index.js";
47
12
  import * as zh from "./locales/zh/index.js";
48
13
  import * as ru from "./locales/ru/index.js";
49
14
  import * as es from "./locales/es/index.js";
50
- export { de, fr, ja, pt, nl, zh, ru, es };
51
- export declare const strict: Chrono;
52
- export declare const casual: Chrono;
15
+ import * as uk from "./locales/uk/index.js";
16
+ export { de, fr, ja, pt, nl, zh, ru, es, uk };
17
+ export declare const strict: en.Chrono;
18
+ export declare const casual: en.Chrono;
53
19
  export declare function parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
54
20
  export declare function parseDate(text: string, ref?: ParsingReference | Date, option?: ParsingOption): Date;
package/dist/esm/index.js CHANGED
@@ -1,21 +1,9 @@
1
1
  import * as en from "./locales/en/index.js";
2
2
  import { Chrono } from "./chrono.js";
3
- export { en, Chrono };
4
- export var Meridiem;
5
- (function (Meridiem) {
6
- Meridiem[Meridiem["AM"] = 0] = "AM";
7
- Meridiem[Meridiem["PM"] = 1] = "PM";
8
- })(Meridiem || (Meridiem = {}));
9
- export var Weekday;
10
- (function (Weekday) {
11
- Weekday[Weekday["SUNDAY"] = 0] = "SUNDAY";
12
- Weekday[Weekday["MONDAY"] = 1] = "MONDAY";
13
- Weekday[Weekday["TUESDAY"] = 2] = "TUESDAY";
14
- Weekday[Weekday["WEDNESDAY"] = 3] = "WEDNESDAY";
15
- Weekday[Weekday["THURSDAY"] = 4] = "THURSDAY";
16
- Weekday[Weekday["FRIDAY"] = 5] = "FRIDAY";
17
- Weekday[Weekday["SATURDAY"] = 6] = "SATURDAY";
18
- })(Weekday || (Weekday = {}));
3
+ import { ParsingResult } from "./results.js";
4
+ import { Meridiem, Weekday } from "./types.js";
5
+ export { en, Chrono, ParsingResult };
6
+ export { Meridiem, Weekday };
19
7
  import * as de from "./locales/de/index.js";
20
8
  import * as fr from "./locales/fr/index.js";
21
9
  import * as ja from "./locales/ja/index.js";
@@ -24,7 +12,8 @@ import * as nl from "./locales/nl/index.js";
24
12
  import * as zh from "./locales/zh/index.js";
25
13
  import * as ru from "./locales/ru/index.js";
26
14
  import * as es from "./locales/es/index.js";
27
- export { de, fr, ja, pt, nl, zh, ru, es };
15
+ import * as uk from "./locales/uk/index.js";
16
+ export { de, fr, ja, pt, nl, zh, ru, es, uk };
28
17
  export const strict = en.strict;
29
18
  export const casual = en.casual;
30
19
  export function parse(text, ref, option) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,MAAM,EAAmB,MAAM,UAAU,CAAC;AAGnD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAkC,CAAC;AA4FtD,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAChB,mCAAM,CAAA;IACN,mCAAM,CAAA;AACV,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,CAAN,IAAY,OAQX;AARD,WAAY,OAAO;IACf,yCAAU,CAAA;IACV,yCAAU,CAAA;IACV,2CAAW,CAAA;IACX,+CAAa,CAAA;IACb,6CAAY,CAAA;IACZ,yCAAU,CAAA;IACV,6CAAY,CAAA;AAChB,CAAC,EARW,OAAO,KAAP,OAAO,QAQlB;AAGD,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAK1C,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AAKhC,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AAKhC,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,GAA6B,EAAE,MAAsB;IACrF,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAKD,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,GAA6B,EAAE,MAAsB;IACzF,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,MAAM,EAAmB,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAA4D,QAAQ,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEtG,OAAO,EAAE,EAAE,EAAE,MAAM,EAAmB,aAAa,EAAE,CAAC;AACtD,OAAO,EAA4D,QAAQ,EAAE,OAAO,EAAE,CAAC;AAGvF,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAK9C,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AAKhC,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AAKhC,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,GAA6B,EAAE,MAAsB;IACrF,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAKD,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,GAA6B,EAAE,MAAsB;IACzF,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC"}
@@ -1,5 +1,8 @@
1
- import { ParsedResult, ParsingOption } from "../../index.js";
2
- import { Chrono, Configuration } from "../../chrono.js";
1
+ import { Chrono, Configuration, Parser, Refiner } from "../../chrono.js";
2
+ import { ParsingResult } from "../../results.js";
3
+ import { Component, ParsedResult, ParsingOption, ParsingReference, Meridiem, Weekday } from "../../types.js";
4
+ export { Chrono, Parser, Refiner, ParsingResult };
5
+ export { Component, ParsedResult, ParsingOption, ParsingReference, Meridiem, Weekday };
3
6
  export declare const casual: Chrono;
4
7
  export declare const strict: Chrono;
5
8
  export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
@@ -1,5 +1,7 @@
1
1
  import { includeCommonConfiguration } from "../../configurations.js";
2
2
  import { Chrono } from "../../chrono.js";
3
+ import { ParsingResult } from "../../results.js";
4
+ import { Meridiem, Weekday } from "../../types.js";
3
5
  import SlashDateFormatParser from "../../common/parsers/SlashDateFormatParser.js";
4
6
  import ISOFormatParser from "../../common/parsers/ISOFormatParser.js";
5
7
  import DETimeExpressionParser from "./parsers/DETimeExpressionParser.js";
@@ -12,6 +14,8 @@ import DECasualTimeParser from "./parsers/DECasualTimeParser.js";
12
14
  import DEMonthNameLittleEndianParser from "./parsers/DEMonthNameLittleEndianParser.js";
13
15
  import DETimeUnitRelativeFormatParser from "./parsers/DETimeUnitRelativeFormatParser.js";
14
16
  import DETimeUnitWithinFormatParser from "./parsers/DETimeUnitWithinFormatParser.js";
17
+ export { Chrono, ParsingResult };
18
+ export { Meridiem, Weekday };
15
19
  export const casual = new Chrono(createCasualConfiguration());
16
20
  export const strict = new Chrono(createConfiguration(true));
17
21
  export function parse(text, ref, option) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/locales/de/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,MAAM,EAAiB,MAAM,cAAc,CAAC;AACrD,OAAO,qBAAqB,MAAM,4CAA4C,CAAC;AAC/E,OAAO,eAAe,MAAM,sCAAsC,CAAC;AACnE,OAAO,sBAAsB,MAAM,kCAAkC,CAAC;AACtE,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,8BAA8B,MAAM,0CAA0C,CAAC;AACtF,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AACvE,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,6BAA6B,MAAM,yCAAyC,CAAC;AACpF,OAAO,8BAA8B,MAAM,0CAA0C,CAAC;AACtF,OAAO,4BAA4B,MAAM,wCAAwC,CAAC;AAGlF,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5D,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,GAAU,EAAE,MAAsB;IAClE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,GAAU,EAAE,MAAsB;IACtE,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,YAAY,GAAG,IAAI;IACzD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACxD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,8BAA8B,EAAE,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,UAAU,GAAG,IAAI,EAAE,YAAY,GAAG,IAAI;IACtE,OAAO,0BAA0B,CAC7B;QACI,OAAO,EAAE;YACL,IAAI,eAAe,EAAE;YACrB,IAAI,qBAAqB,CAAC,YAAY,CAAC;YACvC,IAAI,sBAAsB,EAAE;YAC5B,IAAI,8BAA8B,EAAE;YACpC,IAAI,6BAA6B,EAAE;YACnC,IAAI,eAAe,EAAE;YACrB,IAAI,4BAA4B,EAAE;SACrC;QACD,QAAQ,EAAE,CAAC,IAAI,uBAAuB,EAAE,EAAE,IAAI,sBAAsB,EAAE,CAAC;KAC1E,EACD,UAAU,CACb,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/locales/de/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAkC,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAA4D,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC1G,OAAO,qBAAqB,MAAM,4CAA4C,CAAC;AAC/E,OAAO,eAAe,MAAM,sCAAsC,CAAC;AACnE,OAAO,sBAAsB,MAAM,kCAAkC,CAAC;AACtE,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,8BAA8B,MAAM,0CAA0C,CAAC;AACtF,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AACvE,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,6BAA6B,MAAM,yCAAyC,CAAC;AACpF,OAAO,8BAA8B,MAAM,0CAA0C,CAAC;AACtF,OAAO,4BAA4B,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,MAAM,EAAmB,aAAa,EAAE,CAAC;AAClD,OAAO,EAA4D,QAAQ,EAAE,OAAO,EAAE,CAAC;AAGvF,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5D,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,GAAU,EAAE,MAAsB;IAClE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,GAAU,EAAE,MAAsB;IACtE,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,YAAY,GAAG,IAAI;IACzD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACxD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,8BAA8B,EAAE,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,UAAU,GAAG,IAAI,EAAE,YAAY,GAAG,IAAI;IACtE,OAAO,0BAA0B,CAC7B;QACI,OAAO,EAAE;YACL,IAAI,eAAe,EAAE;YACrB,IAAI,qBAAqB,CAAC,YAAY,CAAC;YACvC,IAAI,sBAAsB,EAAE;YAC5B,IAAI,8BAA8B,EAAE;YACpC,IAAI,6BAA6B,EAAE;YACnC,IAAI,eAAe,EAAE;YACrB,IAAI,4BAA4B,EAAE;SACrC;QACD,QAAQ,EAAE,CAAC,IAAI,uBAAuB,EAAE,EAAE,IAAI,sBAAsB,EAAE,CAAC;KAC1E,EACD,UAAU,CACb,CAAC;AACN,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import dayjs from "dayjs";
2
- import { Meridiem } from "../../../index.js";
2
+ import { Meridiem } from "../../../types.js";
3
3
  import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
4
4
  import { implySimilarTime } from "../../../utils/dayjs.js";
5
5
  import { addImpliedTimeUnits } from "../../../utils/timeunits.js";
@@ -1,4 +1,4 @@
1
- import { Meridiem } from "../../../index.js";
1
+ import { Meridiem } from "../../../types.js";
2
2
  const FIRST_REG_PATTERN = new RegExp("(^|\\s|T)" +
3
3
  "(?:(?:um|von)\\s*)?" +
4
4
  "(\\d{1,2})(?:h|:)?" +
@@ -0,0 +1,5 @@
1
+ import { Configuration } from "../../chrono.js";
2
+ export default class ENDefaultConfiguration {
3
+ createCasualConfiguration(littleEndian?: boolean): Configuration;
4
+ createConfiguration(strictMode?: boolean, littleEndian?: boolean): Configuration;
5
+ }
@@ -0,0 +1,52 @@
1
+ import ENTimeUnitWithinFormatParser from "./parsers/ENTimeUnitWithinFormatParser.js";
2
+ import ENMonthNameLittleEndianParser from "./parsers/ENMonthNameLittleEndianParser.js";
3
+ import ENMonthNameMiddleEndianParser from "./parsers/ENMonthNameMiddleEndianParser.js";
4
+ import ENMonthNameParser from "./parsers/ENMonthNameParser.js";
5
+ import ENCasualYearMonthDayParser from "./parsers/ENCasualYearMonthDayParser.js";
6
+ import ENSlashMonthFormatParser from "./parsers/ENSlashMonthFormatParser.js";
7
+ import ENTimeExpressionParser from "./parsers/ENTimeExpressionParser.js";
8
+ import ENTimeUnitAgoFormatParser from "./parsers/ENTimeUnitAgoFormatParser.js";
9
+ import ENTimeUnitLaterFormatParser from "./parsers/ENTimeUnitLaterFormatParser.js";
10
+ import ENMergeDateRangeRefiner from "./refiners/ENMergeDateRangeRefiner.js";
11
+ import ENMergeDateTimeRefiner from "./refiners/ENMergeDateTimeRefiner.js";
12
+ import { includeCommonConfiguration } from "../../configurations.js";
13
+ import ENCasualDateParser from "./parsers/ENCasualDateParser.js";
14
+ import ENCasualTimeParser from "./parsers/ENCasualTimeParser.js";
15
+ import ENWeekdayParser from "./parsers/ENWeekdayParser.js";
16
+ import ENRelativeDateFormatParser from "./parsers/ENRelativeDateFormatParser.js";
17
+ import SlashDateFormatParser from "../../common/parsers/SlashDateFormatParser.js";
18
+ import ENTimeUnitCasualRelativeFormatParser from "./parsers/ENTimeUnitCasualRelativeFormatParser.js";
19
+ import ENMergeRelativeDateRefiner from "./refiners/ENMergeRelativeDateRefiner.js";
20
+ export default class ENDefaultConfiguration {
21
+ createCasualConfiguration(littleEndian = false) {
22
+ const option = this.createConfiguration(false, littleEndian);
23
+ option.parsers.unshift(new ENCasualDateParser());
24
+ option.parsers.unshift(new ENCasualTimeParser());
25
+ option.parsers.unshift(new ENMonthNameParser());
26
+ option.parsers.unshift(new ENRelativeDateFormatParser());
27
+ option.parsers.unshift(new ENTimeUnitCasualRelativeFormatParser());
28
+ return option;
29
+ }
30
+ createConfiguration(strictMode = true, littleEndian = false) {
31
+ return includeCommonConfiguration({
32
+ parsers: [
33
+ new SlashDateFormatParser(littleEndian),
34
+ new ENTimeUnitWithinFormatParser(strictMode),
35
+ new ENMonthNameLittleEndianParser(),
36
+ new ENMonthNameMiddleEndianParser(),
37
+ new ENWeekdayParser(),
38
+ new ENCasualYearMonthDayParser(),
39
+ new ENSlashMonthFormatParser(),
40
+ new ENTimeExpressionParser(strictMode),
41
+ new ENTimeUnitAgoFormatParser(strictMode),
42
+ new ENTimeUnitLaterFormatParser(strictMode),
43
+ ],
44
+ refiners: [
45
+ new ENMergeRelativeDateRefiner(),
46
+ new ENMergeDateTimeRefiner(),
47
+ new ENMergeDateRangeRefiner(),
48
+ ],
49
+ }, strictMode);
50
+ }
51
+ }
52
+ //# sourceMappingURL=configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../../src/locales/en/configuration.ts"],"names":[],"mappings":"AAEA,OAAO,4BAA4B,MAAM,wCAAwC,CAAC;AAClF,OAAO,6BAA6B,MAAM,yCAAyC,CAAC;AACpF,OAAO,6BAA6B,MAAM,yCAAyC,CAAC;AACpF,OAAO,iBAAiB,MAAM,6BAA6B,CAAC;AAC5D,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,wBAAwB,MAAM,oCAAoC,CAAC;AAC1E,OAAO,sBAAsB,MAAM,kCAAkC,CAAC;AACtE,OAAO,yBAAyB,MAAM,qCAAqC,CAAC;AAC5E,OAAO,2BAA2B,MAAM,uCAAuC,CAAC;AAChF,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAE9E,OAAO,qBAAqB,MAAM,4CAA4C,CAAC;AAC/E,OAAO,oCAAoC,MAAM,gDAAgD,CAAC;AAClG,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAE/E,MAAM,CAAC,OAAO,OAAO,sBAAsB;IAKvC,yBAAyB,CAAC,YAAY,GAAG,KAAK;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC7D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,oCAAoC,EAAE,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC;IAClB,CAAC;IAQD,mBAAmB,CAAC,UAAU,GAAG,IAAI,EAAE,YAAY,GAAG,KAAK;QACvD,OAAO,0BAA0B,CAC7B;YACI,OAAO,EAAE;gBACL,IAAI,qBAAqB,CAAC,YAAY,CAAC;gBACvC,IAAI,4BAA4B,CAAC,UAAU,CAAC;gBAC5C,IAAI,6BAA6B,EAAE;gBACnC,IAAI,6BAA6B,EAAE;gBACnC,IAAI,eAAe,EAAE;gBACrB,IAAI,0BAA0B,EAAE;gBAChC,IAAI,wBAAwB,EAAE;gBAC9B,IAAI,sBAAsB,CAAC,UAAU,CAAC;gBACtC,IAAI,yBAAyB,CAAC,UAAU,CAAC;gBACzC,IAAI,2BAA2B,CAAC,UAAU,CAAC;aAC9C;YACD,QAAQ,EAAE;gBACN,IAAI,0BAA0B,EAAE;gBAChC,IAAI,sBAAsB,EAAE;gBAC5B,IAAI,uBAAuB,EAAE;aAChC;SACJ,EACD,UAAU,CACb,CAAC;IACN,CAAC;CACJ"}