chrono-node 2.6.3 → 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 (304) hide show
  1. package/README.md +25 -3
  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/ExtractTimezoneAbbrRefiner.d.ts +1 -1
  12. package/dist/cjs/index.d.ts +7 -62
  13. package/dist/cjs/index.js +8 -31
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/locales/de/index.d.ts +5 -2
  16. package/dist/cjs/locales/de/index.js +7 -1
  17. package/dist/cjs/locales/de/index.js.map +1 -1
  18. package/dist/cjs/locales/de/parsers/DECasualTimeParser.js +8 -8
  19. package/dist/cjs/locales/de/parsers/DESpecificTimeExpressionParser.js +9 -9
  20. package/dist/cjs/locales/en/configuration.d.ts +5 -0
  21. package/dist/cjs/locales/en/configuration.js +58 -0
  22. package/dist/cjs/locales/en/configuration.js.map +1 -0
  23. package/dist/cjs/locales/en/constants.d.ts +1 -1
  24. package/dist/cjs/locales/en/index.d.ts +5 -4
  25. package/dist/cjs/locales/en/index.js +12 -51
  26. package/dist/cjs/locales/en/index.js.map +1 -1
  27. package/dist/cjs/locales/en/parsers/ENMonthNameMiddleEndianParser.d.ts +1 -1
  28. package/dist/cjs/locales/en/parsers/ENMonthNameParser.d.ts +1 -1
  29. package/dist/cjs/locales/en/parsers/ENTimeExpressionParser.js +5 -5
  30. package/dist/cjs/locales/es/index.d.ts +5 -2
  31. package/dist/cjs/locales/es/index.js +7 -1
  32. package/dist/cjs/locales/es/index.js.map +1 -1
  33. package/dist/cjs/locales/es/parsers/ESCasualTimeParser.js +5 -5
  34. package/dist/cjs/locales/fr/index.d.ts +5 -2
  35. package/dist/cjs/locales/fr/index.js +7 -1
  36. package/dist/cjs/locales/fr/index.js.map +1 -1
  37. package/dist/cjs/locales/fr/parsers/FRCasualDateParser.js +2 -2
  38. package/dist/cjs/locales/fr/parsers/FRCasualTimeParser.js +6 -6
  39. package/dist/cjs/locales/fr/parsers/FRSpecificTimeExpressionParser.js +6 -6
  40. package/dist/cjs/locales/ja/index.d.ts +5 -2
  41. package/dist/cjs/locales/ja/index.js +7 -1
  42. package/dist/cjs/locales/ja/index.js.map +1 -1
  43. package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js +27 -5
  44. package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js.map +1 -1
  45. package/dist/cjs/locales/nl/index.d.ts +5 -2
  46. package/dist/cjs/locales/nl/index.js +7 -1
  47. package/dist/cjs/locales/nl/index.js.map +1 -1
  48. package/dist/cjs/locales/nl/parsers/NLCasualDateTimeParser.js +5 -5
  49. package/dist/cjs/locales/nl/parsers/NLCasualTimeParser.js +5 -5
  50. package/dist/cjs/locales/nl/parsers/NLMonthNameMiddleEndianParser.d.ts +1 -1
  51. package/dist/cjs/locales/pt/index.d.ts +5 -2
  52. package/dist/cjs/locales/pt/index.js +7 -1
  53. package/dist/cjs/locales/pt/index.js.map +1 -1
  54. package/dist/cjs/locales/pt/parsers/PTCasualTimeParser.js +5 -5
  55. package/dist/cjs/locales/ru/index.d.ts +5 -2
  56. package/dist/cjs/locales/ru/index.js +7 -1
  57. package/dist/cjs/locales/ru/index.js.map +1 -1
  58. package/dist/cjs/locales/ru/parsers/RUMonthNameParser.d.ts +1 -1
  59. package/dist/cjs/locales/ru/parsers/RUTimeExpressionParser.js +5 -5
  60. package/dist/cjs/locales/uk/constants.d.ts +33 -0
  61. package/dist/cjs/locales/uk/constants.js +301 -0
  62. package/dist/cjs/locales/uk/constants.js.map +1 -0
  63. package/dist/cjs/locales/uk/index.d.ts +11 -0
  64. package/dist/cjs/locales/uk/index.js +64 -0
  65. package/dist/cjs/locales/uk/index.js.map +1 -0
  66. package/dist/cjs/locales/uk/parsers/UKCasualDateParser.d.ts +8 -0
  67. package/dist/cjs/locales/uk/parsers/UKCasualDateParser.js +56 -0
  68. package/dist/cjs/locales/uk/parsers/UKCasualDateParser.js.map +1 -0
  69. package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.d.ts +7 -0
  70. package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.js +77 -0
  71. package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.js.map +1 -0
  72. package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.d.ts +8 -0
  73. package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.js +59 -0
  74. package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.js.map +1 -0
  75. package/dist/cjs/locales/uk/parsers/UKMonthNameParser.d.ts +7 -0
  76. package/dist/cjs/locales/uk/parsers/UKMonthNameParser.js +45 -0
  77. package/dist/cjs/locales/uk/parsers/UKMonthNameParser.js.map +1 -0
  78. package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.d.ts +8 -0
  79. package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.js +66 -0
  80. package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.js.map +1 -0
  81. package/dist/cjs/locales/uk/parsers/UKTimeExpressionParser.d.ts +12 -0
  82. package/dist/cjs/locales/uk/parsers/UKTimeExpressionParser.js +57 -0
  83. package/dist/cjs/locales/uk/parsers/UKTimeExpressionParser.js.map +1 -0
  84. package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.d.ts +8 -0
  85. package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.js +22 -0
  86. package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.js.map +1 -0
  87. package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.d.ts +8 -0
  88. package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js +29 -0
  89. package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js.map +1 -0
  90. package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.d.ts +8 -0
  91. package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +22 -0
  92. package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -0
  93. package/dist/cjs/locales/uk/parsers/UKWeekdayParser.d.ts +8 -0
  94. package/dist/cjs/locales/uk/parsers/UKWeekdayParser.js +50 -0
  95. package/dist/cjs/locales/uk/parsers/UKWeekdayParser.js.map +1 -0
  96. package/dist/cjs/locales/uk/refiners/UKMergeDateRangeRefiner.d.ts +4 -0
  97. package/dist/cjs/locales/uk/refiners/UKMergeDateRangeRefiner.js +13 -0
  98. package/dist/cjs/locales/uk/refiners/UKMergeDateRangeRefiner.js.map +1 -0
  99. package/dist/cjs/locales/uk/refiners/UKMergeDateTimeRefiner.d.ts +4 -0
  100. package/dist/cjs/locales/uk/refiners/UKMergeDateTimeRefiner.js +13 -0
  101. package/dist/cjs/locales/uk/refiners/UKMergeDateTimeRefiner.js.map +1 -0
  102. package/dist/cjs/locales/zh/hans/index.d.ts +5 -2
  103. package/dist/cjs/locales/zh/hans/index.js +8 -2
  104. package/dist/cjs/locales/zh/hans/index.js.map +1 -1
  105. package/dist/cjs/locales/zh/hans/parsers/ZHHansDateParser.d.ts +1 -1
  106. package/dist/cjs/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.d.ts +1 -1
  107. package/dist/cjs/locales/zh/hans/parsers/ZHHansTimeExpressionParser.d.ts +1 -1
  108. package/dist/cjs/locales/zh/hant/index.d.ts +5 -2
  109. package/dist/cjs/locales/zh/hant/index.js +8 -2
  110. package/dist/cjs/locales/zh/hant/index.js.map +1 -1
  111. package/dist/cjs/locales/zh/hant/parsers/ZHHantDateParser.d.ts +1 -1
  112. package/dist/cjs/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.d.ts +1 -1
  113. package/dist/cjs/locales/zh/hant/parsers/ZHHantTimeExpressionParser.d.ts +1 -1
  114. package/dist/cjs/results.d.ts +1 -1
  115. package/dist/cjs/timezone.d.ts +1 -1
  116. package/dist/cjs/timezone.js +11 -11
  117. package/dist/cjs/types.d.ts +58 -0
  118. package/dist/cjs/types.js +34 -0
  119. package/dist/cjs/types.js.map +1 -0
  120. package/dist/cjs/utils/dayjs.js +3 -3
  121. package/dist/esm/calculation/mergingCalculation.js +1 -1
  122. package/dist/esm/chrono.d.ts +3 -1
  123. package/dist/esm/chrono.js +7 -4
  124. package/dist/esm/chrono.js.map +1 -1
  125. package/dist/esm/common/calculation/weekdays.d.ts +1 -1
  126. package/dist/esm/common/calculation/weekdays.js +1 -1
  127. package/dist/esm/common/casualReferences.js +1 -1
  128. package/dist/esm/common/parsers/AbstractParserWithWordBoundary.d.ts +1 -1
  129. package/dist/esm/common/parsers/AbstractTimeExpressionParser.js +1 -1
  130. package/dist/esm/common/refiners/ExtractTimezoneAbbrRefiner.d.ts +1 -1
  131. package/dist/esm/index.d.ts +7 -62
  132. package/dist/esm/index.js +6 -32
  133. package/dist/esm/index.js.map +1 -1
  134. package/dist/esm/locales/de/index.d.ts +5 -2
  135. package/dist/esm/locales/de/index.js +4 -0
  136. package/dist/esm/locales/de/index.js.map +1 -1
  137. package/dist/esm/locales/de/parsers/DECasualTimeParser.js +1 -1
  138. package/dist/esm/locales/de/parsers/DESpecificTimeExpressionParser.js +1 -1
  139. package/dist/esm/locales/en/configuration.d.ts +5 -0
  140. package/dist/esm/locales/en/configuration.js +52 -0
  141. package/dist/esm/locales/en/configuration.js.map +1 -0
  142. package/dist/esm/locales/en/constants.d.ts +1 -1
  143. package/dist/esm/locales/en/index.d.ts +5 -4
  144. package/dist/esm/locales/en/index.js +9 -48
  145. package/dist/esm/locales/en/index.js.map +1 -1
  146. package/dist/esm/locales/en/parsers/ENMonthNameMiddleEndianParser.d.ts +1 -1
  147. package/dist/esm/locales/en/parsers/ENMonthNameParser.d.ts +1 -1
  148. package/dist/esm/locales/en/parsers/ENTimeExpressionParser.js +1 -1
  149. package/dist/esm/locales/es/index.d.ts +5 -2
  150. package/dist/esm/locales/es/index.js +4 -0
  151. package/dist/esm/locales/es/index.js.map +1 -1
  152. package/dist/esm/locales/es/parsers/ESCasualTimeParser.js +1 -1
  153. package/dist/esm/locales/fr/index.d.ts +5 -2
  154. package/dist/esm/locales/fr/index.js +4 -0
  155. package/dist/esm/locales/fr/index.js.map +1 -1
  156. package/dist/esm/locales/fr/parsers/FRCasualDateParser.js +1 -1
  157. package/dist/esm/locales/fr/parsers/FRCasualTimeParser.js +1 -1
  158. package/dist/esm/locales/fr/parsers/FRSpecificTimeExpressionParser.js +1 -1
  159. package/dist/esm/locales/ja/index.d.ts +5 -2
  160. package/dist/esm/locales/ja/index.js +4 -0
  161. package/dist/esm/locales/ja/index.js.map +1 -1
  162. package/dist/esm/locales/ja/parsers/JPCasualDateParser.js +25 -3
  163. package/dist/esm/locales/ja/parsers/JPCasualDateParser.js.map +1 -1
  164. package/dist/esm/locales/nl/index.d.ts +5 -2
  165. package/dist/esm/locales/nl/index.js +4 -0
  166. package/dist/esm/locales/nl/index.js.map +1 -1
  167. package/dist/esm/locales/nl/parsers/NLCasualDateTimeParser.js +1 -1
  168. package/dist/esm/locales/nl/parsers/NLCasualTimeParser.js +1 -1
  169. package/dist/esm/locales/nl/parsers/NLMonthNameMiddleEndianParser.d.ts +1 -1
  170. package/dist/esm/locales/pt/index.d.ts +5 -2
  171. package/dist/esm/locales/pt/index.js +4 -0
  172. package/dist/esm/locales/pt/index.js.map +1 -1
  173. package/dist/esm/locales/pt/parsers/PTCasualTimeParser.js +1 -1
  174. package/dist/esm/locales/ru/index.d.ts +5 -2
  175. package/dist/esm/locales/ru/index.js +4 -0
  176. package/dist/esm/locales/ru/index.js.map +1 -1
  177. package/dist/esm/locales/ru/parsers/RUMonthNameParser.d.ts +1 -1
  178. package/dist/esm/locales/ru/parsers/RUTimeExpressionParser.js +1 -1
  179. package/dist/esm/locales/uk/constants.d.ts +33 -0
  180. package/dist/esm/locales/uk/constants.js +324 -0
  181. package/dist/esm/locales/uk/constants.js.map +1 -0
  182. package/dist/esm/locales/uk/index.d.ts +11 -0
  183. package/dist/esm/locales/uk/index.js +52 -0
  184. package/dist/esm/locales/uk/index.js.map +1 -0
  185. package/dist/esm/locales/uk/parsers/UKCasualDateParser.d.ts +8 -0
  186. package/dist/esm/locales/uk/parsers/UKCasualDateParser.js +34 -0
  187. package/dist/esm/locales/uk/parsers/UKCasualDateParser.js.map +1 -0
  188. package/dist/esm/locales/uk/parsers/UKCasualTimeParser.d.ts +7 -0
  189. package/dist/esm/locales/uk/parsers/UKCasualTimeParser.js +52 -0
  190. package/dist/esm/locales/uk/parsers/UKCasualTimeParser.js.map +1 -0
  191. package/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.d.ts +8 -0
  192. package/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.js +56 -0
  193. package/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.js.map +1 -0
  194. package/dist/esm/locales/uk/parsers/UKMonthNameParser.d.ts +7 -0
  195. package/dist/esm/locales/uk/parsers/UKMonthNameParser.js +42 -0
  196. package/dist/esm/locales/uk/parsers/UKMonthNameParser.js.map +1 -0
  197. package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.d.ts +8 -0
  198. package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.js +60 -0
  199. package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.js.map +1 -0
  200. package/dist/esm/locales/uk/parsers/UKTimeExpressionParser.d.ts +12 -0
  201. package/dist/esm/locales/uk/parsers/UKTimeExpressionParser.js +54 -0
  202. package/dist/esm/locales/uk/parsers/UKTimeExpressionParser.js.map +1 -0
  203. package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.d.ts +8 -0
  204. package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.js +19 -0
  205. package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.js.map +1 -0
  206. package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.d.ts +8 -0
  207. package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js +26 -0
  208. package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js.map +1 -0
  209. package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.d.ts +8 -0
  210. package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +19 -0
  211. package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -0
  212. package/dist/esm/locales/uk/parsers/UKWeekdayParser.d.ts +8 -0
  213. package/dist/esm/locales/uk/parsers/UKWeekdayParser.js +47 -0
  214. package/dist/esm/locales/uk/parsers/UKWeekdayParser.js.map +1 -0
  215. package/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.d.ts +4 -0
  216. package/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.js +7 -0
  217. package/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.js.map +1 -0
  218. package/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.d.ts +4 -0
  219. package/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.js +7 -0
  220. package/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.js.map +1 -0
  221. package/dist/esm/locales/zh/hans/index.d.ts +5 -2
  222. package/dist/esm/locales/zh/hans/index.js +5 -1
  223. package/dist/esm/locales/zh/hans/index.js.map +1 -1
  224. package/dist/esm/locales/zh/hans/parsers/ZHHansDateParser.d.ts +1 -1
  225. package/dist/esm/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.d.ts +1 -1
  226. package/dist/esm/locales/zh/hans/parsers/ZHHansTimeExpressionParser.d.ts +1 -1
  227. package/dist/esm/locales/zh/hant/index.d.ts +5 -2
  228. package/dist/esm/locales/zh/hant/index.js +5 -1
  229. package/dist/esm/locales/zh/hant/index.js.map +1 -1
  230. package/dist/esm/locales/zh/hant/parsers/ZHHantDateParser.d.ts +1 -1
  231. package/dist/esm/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.d.ts +1 -1
  232. package/dist/esm/locales/zh/hant/parsers/ZHHantTimeExpressionParser.d.ts +1 -1
  233. package/dist/esm/results.d.ts +1 -1
  234. package/dist/esm/timezone.d.ts +1 -1
  235. package/dist/esm/timezone.js +1 -1
  236. package/dist/esm/types.d.ts +58 -0
  237. package/dist/esm/types.js +31 -0
  238. package/dist/esm/types.js.map +1 -0
  239. package/dist/esm/utils/dayjs.js +1 -1
  240. package/package.json +9 -1
  241. package/src/calculation/mergingCalculation.ts +1 -1
  242. package/src/chrono.ts +14 -8
  243. package/src/common/calculation/weekdays.ts +1 -1
  244. package/src/common/casualReferences.ts +1 -1
  245. package/src/common/parsers/AbstractParserWithWordBoundary.ts +1 -1
  246. package/src/common/parsers/AbstractTimeExpressionParser.ts +1 -1
  247. package/src/common/parsers/ISOFormatParser.ts +1 -1
  248. package/src/common/refiners/ExtractTimezoneAbbrRefiner.ts +1 -1
  249. package/src/index.ts +6 -151
  250. package/src/locales/de/index.ts +6 -2
  251. package/src/locales/de/parsers/DECasualTimeParser.ts +1 -1
  252. package/src/locales/de/parsers/DESpecificTimeExpressionParser.ts +1 -1
  253. package/src/locales/en/configuration.ts +70 -0
  254. package/src/locales/en/constants.ts +1 -1
  255. package/src/locales/en/index.ts +11 -65
  256. package/src/locales/en/parsers/ENTimeExpressionParser.ts +1 -1
  257. package/src/locales/es/index.ts +6 -2
  258. package/src/locales/es/parsers/ESCasualTimeParser.ts +1 -1
  259. package/src/locales/fr/index.ts +6 -2
  260. package/src/locales/fr/parsers/FRCasualDateParser.ts +1 -1
  261. package/src/locales/fr/parsers/FRCasualTimeParser.ts +1 -1
  262. package/src/locales/fr/parsers/FRSpecificTimeExpressionParser.ts +1 -1
  263. package/src/locales/ja/index.ts +6 -2
  264. package/src/locales/ja/parsers/JPCasualDateParser.ts +26 -3
  265. package/src/locales/nl/index.ts +6 -2
  266. package/src/locales/nl/parsers/NLCasualDateTimeParser.ts +1 -1
  267. package/src/locales/nl/parsers/NLCasualTimeParser.ts +1 -1
  268. package/src/locales/pt/index.ts +6 -2
  269. package/src/locales/pt/parsers/PTCasualTimeParser.ts +1 -1
  270. package/src/locales/ru/index.ts +6 -2
  271. package/src/locales/ru/parsers/RUTimeExpressionParser.ts +1 -1
  272. package/src/locales/uk/constants.ts +349 -0
  273. package/src/locales/uk/index.ts +90 -0
  274. package/src/locales/uk/parsers/UKCasualDateParser.ts +50 -0
  275. package/src/locales/uk/parsers/UKCasualTimeParser.ts +59 -0
  276. package/src/locales/uk/parsers/UKMonthNameLittleEndianParser.ts +72 -0
  277. package/src/locales/uk/parsers/UKMonthNameParser.ts +61 -0
  278. package/src/locales/uk/parsers/UKRelativeDateFormatParser.ts +85 -0
  279. package/src/locales/uk/parsers/UKTimeExpressionParser.ts +64 -0
  280. package/src/locales/uk/parsers/UKTimeUnitAgoFormatParser.ts +24 -0
  281. package/src/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.ts +34 -0
  282. package/src/locales/uk/parsers/UKTimeUnitWithinFormatParser.ts +27 -0
  283. package/src/locales/uk/parsers/UKWeekdayParser.ts +59 -0
  284. package/src/locales/uk/refiners/UKMergeDateRangeRefiner.ts +13 -0
  285. package/src/locales/uk/refiners/UKMergeDateTimeRefiner.ts +13 -0
  286. package/src/locales/zh/hans/index.ts +6 -2
  287. package/src/locales/zh/hant/index.ts +6 -2
  288. package/src/results.ts +1 -1
  289. package/src/timezone.ts +1 -1
  290. package/src/types.ts +150 -0
  291. package/src/utils/dayjs.ts +1 -1
  292. package/test/debugging.test.ts +17 -0
  293. package/test/en/en_month_name_little_endian.test.ts +12 -0
  294. package/test/en/en_timezone_exp.test.ts +1 -1
  295. package/test/ja/ja_casual.test.ts +50 -13
  296. package/test/uk/uk_casual.test.ts +153 -0
  297. package/test/uk/uk_month.test.ts +70 -0
  298. package/test/uk/uk_month_name_little_endian.test.ts +148 -0
  299. package/test/uk/uk_relative.test.ts +74 -0
  300. package/test/uk/uk_time_exp.test.ts +111 -0
  301. package/test/uk/uk_time_units_ago.test.ts +48 -0
  302. package/test/uk/uk_time_units_casual_relative.test.ts +112 -0
  303. package/test/uk/uk_time_units_within.test.ts +16 -0
  304. package/test/uk/uk_weekday.test.ts +52 -0
@@ -0,0 +1,47 @@
1
+ import { REGEX_PARTS, WEEKDAY_DICTIONARY } from "../constants.js";
2
+ import { matchAnyPattern } from "../../../utils/pattern.js";
3
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
4
+ import { createParsingComponentsAtWeekday } from "../../../common/calculation/weekdays.js";
5
+ const PATTERN = new RegExp(`(?:(?:,|\\(|()\\s*)?` +
6
+ `(?:в\\s*?)?` +
7
+ `(?:у\\s*?)?` +
8
+ `(?:(цей|минулого|минулий|попередній|попереднього|наступного|наступний|наступному)\\s*)?` +
9
+ `(${matchAnyPattern(WEEKDAY_DICTIONARY)})` +
10
+ `(?:\\s*(?:,|\\)|)))?` +
11
+ `(?:\\s*(на|у|в)\\s*(цьому|минулому|наступному)\\s*тижні)?` +
12
+ `${REGEX_PARTS.rightBoundary}`, REGEX_PARTS.flags);
13
+ const PREFIX_GROUP = 1;
14
+ const WEEKDAY_GROUP = 2;
15
+ const POSTFIX_GROUP = 3;
16
+ export default class UKWeekdayParser extends AbstractParserWithWordBoundaryChecking {
17
+ innerPattern() {
18
+ return PATTERN;
19
+ }
20
+ patternLeftBoundary() {
21
+ return REGEX_PARTS.leftBoundary;
22
+ }
23
+ innerExtract(context, match) {
24
+ const dayOfWeek = match[WEEKDAY_GROUP].toLocaleLowerCase();
25
+ const weekday = WEEKDAY_DICTIONARY[dayOfWeek];
26
+ const prefix = match[PREFIX_GROUP];
27
+ const postfix = match[POSTFIX_GROUP];
28
+ let modifierWord = prefix || postfix;
29
+ modifierWord = modifierWord || "";
30
+ modifierWord = modifierWord.toLocaleLowerCase();
31
+ let modifier = null;
32
+ if (modifierWord == "минулого" ||
33
+ modifierWord == "минулий" ||
34
+ modifierWord == "попередній" ||
35
+ modifierWord == "попереднього") {
36
+ modifier = "last";
37
+ }
38
+ else if (modifierWord == "наступного" || modifierWord == "наступний") {
39
+ modifier = "next";
40
+ }
41
+ else if (modifierWord == "цей" || modifierWord == "цього" || modifierWord == "цьому") {
42
+ modifier = "this";
43
+ }
44
+ return createParsingComponentsAtWeekday(context.reference, weekday, modifier);
45
+ }
46
+ }
47
+ //# sourceMappingURL=UKWeekdayParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UKWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/uk/parsers/UKWeekdayParser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,sCAAsC,CAAC;AAExF,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,sBAAsB;IAClB,aAAa;IACb,aAAa;IACb,yFAAyF;IACzF,IAAI,eAAe,CAAC,kBAAkB,CAAC,GAAG;IAC1C,sBAAsB;IACtB,2DAA2D;IAC3D,GAAG,WAAW,CAAC,aAAa,EAAE,EAClC,WAAW,CAAC,KAAK,CACpB,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,sCAAsC;IAC/E,YAAY;QACR,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,mBAAmB;QACf,OAAO,WAAW,CAAC,YAAY,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,YAAY,GAAG,MAAM,IAAI,OAAO,CAAC;QACrC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;QAClC,YAAY,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;QAEhD,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IACI,YAAY,IAAI,UAAU;YAC1B,YAAY,IAAI,SAAS;YACzB,YAAY,IAAI,YAAY;YAC5B,YAAY,IAAI,cAAc,EAChC;YACE,QAAQ,GAAG,MAAM,CAAC;SACrB;aAAM,IAAI,YAAY,IAAI,YAAY,IAAI,YAAY,IAAI,WAAW,EAAE;YACpE,QAAQ,GAAG,MAAM,CAAC;SACrB;aAAM,IAAI,YAAY,IAAI,KAAK,IAAI,YAAY,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,EAAE;YACpF,QAAQ,GAAG,MAAM,CAAC;SACrB;QAED,OAAO,gCAAgC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;CACJ"}
@@ -0,0 +1,4 @@
1
+ import AbstractMergeDateRangeRefiner from "../../../common/refiners/AbstractMergeDateRangeRefiner.js";
2
+ export default class UKMergeDateRangeRefiner extends AbstractMergeDateRangeRefiner {
3
+ patternBetween(): RegExp;
4
+ }
@@ -0,0 +1,7 @@
1
+ import AbstractMergeDateRangeRefiner from "../../../common/refiners/AbstractMergeDateRangeRefiner.js";
2
+ export default class UKMergeDateRangeRefiner extends AbstractMergeDateRangeRefiner {
3
+ patternBetween() {
4
+ return /^\s*(і до|і по|до|по|-)\s*$/i;
5
+ }
6
+ }
7
+ //# sourceMappingURL=UKMergeDateRangeRefiner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UKMergeDateRangeRefiner.js","sourceRoot":"","sources":["../../../../../src/locales/uk/refiners/UKMergeDateRangeRefiner.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,MAAM,wDAAwD,CAAC;AAQnG,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,6BAA6B;IAC9E,cAAc;QACV,OAAO,8BAA8B,CAAC;IAC1C,CAAC;CACJ"}
@@ -0,0 +1,4 @@
1
+ import AbstractMergeDateTimeRefiner from "../../../common/refiners/AbstractMergeDateTimeRefiner.js";
2
+ export default class UKMergeDateTimeRefiner extends AbstractMergeDateTimeRefiner {
3
+ patternBetween(): RegExp;
4
+ }
@@ -0,0 +1,7 @@
1
+ import AbstractMergeDateTimeRefiner from "../../../common/refiners/AbstractMergeDateTimeRefiner.js";
2
+ export default class UKMergeDateTimeRefiner extends AbstractMergeDateTimeRefiner {
3
+ patternBetween() {
4
+ return new RegExp(`^\\s*(T|в|у|о|,|-)?\\s*$`);
5
+ }
6
+ }
7
+ //# sourceMappingURL=UKMergeDateTimeRefiner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UKMergeDateTimeRefiner.js","sourceRoot":"","sources":["../../../../../src/locales/uk/refiners/UKMergeDateTimeRefiner.ts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,MAAM,uDAAuD,CAAC;AAQjG,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,4BAA4B;IAC5E,cAAc;QACV,OAAO,IAAI,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAClD,CAAC;CACJ"}
@@ -1,5 +1,8 @@
1
- import { Chrono, Configuration } from "../../../chrono.js";
2
- import { ParsedResult, ParsingOption } from "../../../index.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 hans: Chrono;
4
7
  export declare const casual: Chrono;
5
8
  export declare const strict: Chrono;
@@ -1,6 +1,8 @@
1
- import { Chrono } from "../../../chrono.js";
2
1
  import ExtractTimezoneOffsetRefiner from "../../../common/refiners/ExtractTimezoneOffsetRefiner.js";
3
2
  import { includeCommonConfiguration } from "../../../configurations.js";
3
+ import { Chrono } from "../../../chrono.js";
4
+ import { ParsingResult } from "../../../results.js";
5
+ import { Meridiem, Weekday } from "../../../types.js";
4
6
  import ZHHansCasualDateParser from "./parsers/ZHHansCasualDateParser.js";
5
7
  import ZHHansDateParser from "./parsers/ZHHansDateParser.js";
6
8
  import ZHHansDeadlineFormatParser from "./parsers/ZHHansDeadlineFormatParser.js";
@@ -9,6 +11,8 @@ import ZHHansTimeExpressionParser from "./parsers/ZHHansTimeExpressionParser.js"
9
11
  import ZHHansWeekdayParser from "./parsers/ZHHansWeekdayParser.js";
10
12
  import ZHHansMergeDateRangeRefiner from "./refiners/ZHHansMergeDateRangeRefiner.js";
11
13
  import ZHHansMergeDateTimeRefiner from "./refiners/ZHHansMergeDateTimeRefiner.js";
14
+ export { Chrono, ParsingResult };
15
+ export { Meridiem, Weekday };
12
16
  export const hans = new Chrono(createCasualConfiguration());
13
17
  export const casual = new Chrono(createCasualConfiguration());
14
18
  export const strict = new Chrono(createConfiguration());
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/locales/zh/hans/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AACxD,OAAO,4BAA4B,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,sBAAsB,MAAM,kCAAkC,CAAC;AACtE,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,2BAA2B,MAAM,uCAAuC,CAAC;AAChF,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,2BAA2B,MAAM,wCAAwC,CAAC;AACjF,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAG/E,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAExD,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;AAKD,MAAM,UAAU,yBAAyB;IACrC,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAClB,CAAC;AAKD,MAAM,UAAU,mBAAmB;IAC/B,MAAM,aAAa,GAAG,0BAA0B,CAAC;QAC7C,OAAO,EAAE;YACL,IAAI,gBAAgB,EAAE;YACtB,IAAI,2BAA2B,EAAE;YACjC,IAAI,mBAAmB,EAAE;YACzB,IAAI,0BAA0B,EAAE;YAChC,IAAI,0BAA0B,EAAE;SACnC;QACD,QAAQ,EAAE,CAAC,IAAI,2BAA2B,EAAE,EAAE,IAAI,0BAA0B,EAAE,CAAC;KAClF,CAAC,CAAC;IAGH,aAAa,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAClD,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,YAAY,4BAA4B,CAAC,CAClE,CAAC;IAEF,OAAO,aAAa,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/locales/zh/hans/index.ts"],"names":[],"mappings":"AAIA,OAAO,4BAA4B,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAkC,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAA4D,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC7G,OAAO,sBAAsB,MAAM,kCAAkC,CAAC;AACtE,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,2BAA2B,MAAM,uCAAuC,CAAC;AAChF,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,2BAA2B,MAAM,wCAAwC,CAAC;AACjF,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,MAAM,EAAmB,aAAa,EAAE,CAAC;AAClD,OAAO,EAA4D,QAAQ,EAAE,OAAO,EAAE,CAAC;AAGvF,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAExD,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;AAKD,MAAM,UAAU,yBAAyB;IACrC,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAClB,CAAC;AAKD,MAAM,UAAU,mBAAmB;IAC/B,MAAM,aAAa,GAAG,0BAA0B,CAAC;QAC7C,OAAO,EAAE;YACL,IAAI,gBAAgB,EAAE;YACtB,IAAI,2BAA2B,EAAE;YACjC,IAAI,mBAAmB,EAAE;YACzB,IAAI,0BAA0B,EAAE;YAChC,IAAI,0BAA0B,EAAE;SACnC;QACD,QAAQ,EAAE,CAAC,IAAI,2BAA2B,EAAE,EAAE,IAAI,0BAA0B,EAAE,CAAC;KAClF,CAAC,CAAC;IAGH,aAAa,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAClD,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,YAAY,4BAA4B,CAAC,CAClE,CAAC;IAEF,OAAO,aAAa,CAAC;AACzB,CAAC"}
@@ -2,5 +2,5 @@ import { ParsingContext } from "../../../../chrono.js";
2
2
  import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary.js";
3
3
  export default class ZHHansDateParser extends AbstractParserWithWordBoundaryChecking {
4
4
  innerPattern(): RegExp;
5
- innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../../../../index.js").ParsingResult;
5
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../index.js").ParsingResult;
6
6
  }
@@ -2,5 +2,5 @@ import { ParsingContext } from "../../../../chrono.js";
2
2
  import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary.js";
3
3
  export default class ZHHansDeadlineFormatParser extends AbstractParserWithWordBoundaryChecking {
4
4
  innerPattern(): RegExp;
5
- innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../../../../index.js").ParsingResult;
5
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../index.js").ParsingResult;
6
6
  }
@@ -2,5 +2,5 @@ import { ParsingContext } from "../../../../chrono.js";
2
2
  import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary.js";
3
3
  export default class ZHHansTimeExpressionParser extends AbstractParserWithWordBoundaryChecking {
4
4
  innerPattern(): RegExp;
5
- innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../../../../index.js").ParsingResult;
5
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../index.js").ParsingResult;
6
6
  }
@@ -1,5 +1,8 @@
1
- import { Chrono, Configuration } from "../../../chrono.js";
2
- import { ParsedResult, ParsingOption } from "../../../index.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 hant: Chrono;
4
7
  export declare const casual: Chrono;
5
8
  export declare const strict: Chrono;
@@ -1,6 +1,8 @@
1
- import { Chrono } from "../../../chrono.js";
2
1
  import ExtractTimezoneOffsetRefiner from "../../../common/refiners/ExtractTimezoneOffsetRefiner.js";
3
2
  import { includeCommonConfiguration } from "../../../configurations.js";
3
+ import { Chrono } from "../../../chrono.js";
4
+ import { ParsingResult } from "../../../results.js";
5
+ import { Meridiem, Weekday } from "../../../types.js";
4
6
  import ZHHantCasualDateParser from "./parsers/ZHHantCasualDateParser.js";
5
7
  import ZHHantDateParser from "./parsers/ZHHantDateParser.js";
6
8
  import ZHHantDeadlineFormatParser from "./parsers/ZHHantDeadlineFormatParser.js";
@@ -9,6 +11,8 @@ import ZHHantTimeExpressionParser from "./parsers/ZHHantTimeExpressionParser.js"
9
11
  import ZHHantWeekdayParser from "./parsers/ZHHantWeekdayParser.js";
10
12
  import ZHHantMergeDateRangeRefiner from "./refiners/ZHHantMergeDateRangeRefiner.js";
11
13
  import ZHHantMergeDateTimeRefiner from "./refiners/ZHHantMergeDateTimeRefiner.js";
14
+ export { Chrono, ParsingResult };
15
+ export { Meridiem, Weekday };
12
16
  export const hant = new Chrono(createCasualConfiguration());
13
17
  export const casual = new Chrono(createCasualConfiguration());
14
18
  export const strict = new Chrono(createConfiguration());
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/locales/zh/hant/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AACxD,OAAO,4BAA4B,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,sBAAsB,MAAM,kCAAkC,CAAC;AACtE,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,2BAA2B,MAAM,uCAAuC,CAAC;AAChF,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,2BAA2B,MAAM,wCAAwC,CAAC;AACjF,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAG/E,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAExD,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;AAKD,MAAM,UAAU,yBAAyB;IACrC,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAClB,CAAC;AAKD,MAAM,UAAU,mBAAmB;IAC/B,MAAM,aAAa,GAAG,0BAA0B,CAAC;QAC7C,OAAO,EAAE;YACL,IAAI,gBAAgB,EAAE;YACtB,IAAI,2BAA2B,EAAE;YACjC,IAAI,mBAAmB,EAAE;YACzB,IAAI,0BAA0B,EAAE;YAChC,IAAI,0BAA0B,EAAE;SACnC;QACD,QAAQ,EAAE,CAAC,IAAI,2BAA2B,EAAE,EAAE,IAAI,0BAA0B,EAAE,CAAC;KAClF,CAAC,CAAC;IAGH,aAAa,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAClD,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,YAAY,4BAA4B,CAAC,CAClE,CAAC;IAEF,OAAO,aAAa,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/locales/zh/hant/index.ts"],"names":[],"mappings":"AAKA,OAAO,4BAA4B,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAkC,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAA4D,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC7G,OAAO,sBAAsB,MAAM,kCAAkC,CAAC;AACtE,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,2BAA2B,MAAM,uCAAuC,CAAC;AAChF,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,2BAA2B,MAAM,wCAAwC,CAAC;AACjF,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,MAAM,EAAmB,aAAa,EAAE,CAAC;AAClD,OAAO,EAA4D,QAAQ,EAAE,OAAO,EAAE,CAAC;AAGvF,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAExD,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;AAKD,MAAM,UAAU,yBAAyB;IACrC,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAClB,CAAC;AAKD,MAAM,UAAU,mBAAmB;IAC/B,MAAM,aAAa,GAAG,0BAA0B,CAAC;QAC7C,OAAO,EAAE;YACL,IAAI,gBAAgB,EAAE;YACtB,IAAI,2BAA2B,EAAE;YACjC,IAAI,mBAAmB,EAAE;YACzB,IAAI,0BAA0B,EAAE;YAChC,IAAI,0BAA0B,EAAE;SACnC;QACD,QAAQ,EAAE,CAAC,IAAI,2BAA2B,EAAE,EAAE,IAAI,0BAA0B,EAAE,CAAC;KAClF,CAAC,CAAC;IAGH,aAAa,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAClD,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,YAAY,4BAA4B,CAAC,CAClE,CAAC;IAEF,OAAO,aAAa,CAAC;AACzB,CAAC"}
@@ -2,5 +2,5 @@ import { ParsingContext } from "../../../../chrono.js";
2
2
  import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary.js";
3
3
  export default class ZHHantDateParser extends AbstractParserWithWordBoundaryChecking {
4
4
  innerPattern(): RegExp;
5
- innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../../../../index.js").ParsingResult;
5
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../index.js").ParsingResult;
6
6
  }
@@ -2,5 +2,5 @@ import { ParsingContext } from "../../../../chrono.js";
2
2
  import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary.js";
3
3
  export default class ZHHantDeadlineFormatParser extends AbstractParserWithWordBoundaryChecking {
4
4
  innerPattern(): RegExp;
5
- innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../../../../index.js").ParsingResult;
5
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../index.js").ParsingResult;
6
6
  }
@@ -2,5 +2,5 @@ import { ParsingContext } from "../../../../chrono.js";
2
2
  import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary.js";
3
3
  export default class ZHHantTimeExpressionParser extends AbstractParserWithWordBoundaryChecking {
4
4
  innerPattern(): RegExp;
5
- innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../../../../index.js").ParsingResult;
5
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../index.js").ParsingResult;
6
6
  }
@@ -1,4 +1,4 @@
1
- import { Component, ParsedComponents, ParsedResult, ParsingReference } from "./index.js";
1
+ import { Component, ParsedComponents, ParsedResult, ParsingReference } from "./types.js";
2
2
  import dayjs, { QUnitType } from "dayjs";
3
3
  export declare class ReferenceWithTimezone {
4
4
  readonly instant: Date;
@@ -1,4 +1,4 @@
1
- import { TimezoneAbbrMap, Weekday, Month } from "./index.js";
1
+ import { TimezoneAbbrMap, Weekday, Month } from "./types.js";
2
2
  export declare const TIMEZONE_ABBR_MAP: TimezoneAbbrMap;
3
3
  export declare function getNthWeekdayOfMonth(year: number, month: Month, weekday: Weekday, n: 1 | 2 | 3 | 4, hour?: number): Date;
4
4
  export declare function getLastWeekdayOfMonth(year: number, month: Month, weekday: Weekday, hour?: number): Date;
@@ -1,5 +1,5 @@
1
1
  import dayjs from "dayjs";
2
- import { Weekday, Month } from "./index.js";
2
+ import { Weekday, Month } from "./types.js";
3
3
  export const TIMEZONE_ABBR_MAP = {
4
4
  ACDT: 630,
5
5
  ACST: 570,
@@ -0,0 +1,58 @@
1
+ export interface ParsingOption {
2
+ forwardDate?: boolean;
3
+ timezones?: TimezoneAbbrMap;
4
+ }
5
+ export interface AmbiguousTimezoneMap {
6
+ timezoneOffsetDuringDst: number;
7
+ timezoneOffsetNonDst: number;
8
+ dstStart: (year: number) => Date;
9
+ dstEnd: (year: number) => Date;
10
+ }
11
+ export declare type TimezoneAbbrMap = {
12
+ [key: string]: number | AmbiguousTimezoneMap;
13
+ };
14
+ export interface ParsingReference {
15
+ instant?: Date;
16
+ timezone?: string | number;
17
+ }
18
+ export interface ParsedResult {
19
+ readonly refDate: Date;
20
+ readonly index: number;
21
+ readonly text: string;
22
+ readonly start: ParsedComponents;
23
+ readonly end?: ParsedComponents;
24
+ date(): Date;
25
+ }
26
+ export interface ParsedComponents {
27
+ isCertain(component: Component): boolean;
28
+ get(component: Component): number | null;
29
+ date(): Date;
30
+ }
31
+ export declare type Component = "year" | "month" | "day" | "weekday" | "hour" | "minute" | "second" | "millisecond" | "meridiem" | "timezoneOffset";
32
+ export declare enum Meridiem {
33
+ AM = 0,
34
+ PM = 1
35
+ }
36
+ export declare enum Weekday {
37
+ SUNDAY = 0,
38
+ MONDAY = 1,
39
+ TUESDAY = 2,
40
+ WEDNESDAY = 3,
41
+ THURSDAY = 4,
42
+ FRIDAY = 5,
43
+ SATURDAY = 6
44
+ }
45
+ export declare enum Month {
46
+ JANUARY = 1,
47
+ FEBRUARY = 2,
48
+ MARCH = 3,
49
+ APRIL = 4,
50
+ MAY = 5,
51
+ JUNE = 6,
52
+ JULY = 7,
53
+ AUGUST = 8,
54
+ SEPTEMBER = 9,
55
+ OCTOBER = 10,
56
+ NOVEMBER = 11,
57
+ DECEMBER = 12
58
+ }
@@ -0,0 +1,31 @@
1
+ export var Meridiem;
2
+ (function (Meridiem) {
3
+ Meridiem[Meridiem["AM"] = 0] = "AM";
4
+ Meridiem[Meridiem["PM"] = 1] = "PM";
5
+ })(Meridiem || (Meridiem = {}));
6
+ export var Weekday;
7
+ (function (Weekday) {
8
+ Weekday[Weekday["SUNDAY"] = 0] = "SUNDAY";
9
+ Weekday[Weekday["MONDAY"] = 1] = "MONDAY";
10
+ Weekday[Weekday["TUESDAY"] = 2] = "TUESDAY";
11
+ Weekday[Weekday["WEDNESDAY"] = 3] = "WEDNESDAY";
12
+ Weekday[Weekday["THURSDAY"] = 4] = "THURSDAY";
13
+ Weekday[Weekday["FRIDAY"] = 5] = "FRIDAY";
14
+ Weekday[Weekday["SATURDAY"] = 6] = "SATURDAY";
15
+ })(Weekday || (Weekday = {}));
16
+ export var Month;
17
+ (function (Month) {
18
+ Month[Month["JANUARY"] = 1] = "JANUARY";
19
+ Month[Month["FEBRUARY"] = 2] = "FEBRUARY";
20
+ Month[Month["MARCH"] = 3] = "MARCH";
21
+ Month[Month["APRIL"] = 4] = "APRIL";
22
+ Month[Month["MAY"] = 5] = "MAY";
23
+ Month[Month["JUNE"] = 6] = "JUNE";
24
+ Month[Month["JULY"] = 7] = "JULY";
25
+ Month[Month["AUGUST"] = 8] = "AUGUST";
26
+ Month[Month["SEPTEMBER"] = 9] = "SEPTEMBER";
27
+ Month[Month["OCTOBER"] = 10] = "OCTOBER";
28
+ Month[Month["NOVEMBER"] = 11] = "NOVEMBER";
29
+ Month[Month["DECEMBER"] = 12] = "DECEMBER";
30
+ })(Month || (Month = {}));
31
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAyHA,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;AAED,MAAM,CAAN,IAAY,KAaX;AAbD,WAAY,KAAK;IACb,uCAAW,CAAA;IACX,yCAAY,CAAA;IACZ,mCAAS,CAAA;IACT,mCAAS,CAAA;IACT,+BAAO,CAAA;IACP,iCAAQ,CAAA;IACR,iCAAQ,CAAA;IACR,qCAAU,CAAA;IACV,2CAAa,CAAA;IACb,wCAAY,CAAA;IACZ,0CAAa,CAAA;IACb,0CAAa,CAAA;AACjB,CAAC,EAbW,KAAK,KAAL,KAAK,QAahB"}
@@ -1,4 +1,4 @@
1
- import { Meridiem } from "../index.js";
1
+ import { Meridiem } from "../types.js";
2
2
  export function assignTheNextDay(component, targetDayJs) {
3
3
  targetDayJs = targetDayJs.add(1, "day");
4
4
  assignSimilarDate(component, targetDayJs);
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "preset": "ts-jest"
16
16
  },
17
17
  "license": "MIT",
18
- "version": "2.6.3",
18
+ "version": "2.6.4",
19
19
  "directories": {
20
20
  "source": "./src",
21
21
  "test": "./test"
@@ -26,6 +26,14 @@
26
26
  ".": {
27
27
  "require": "./dist/cjs/index.js",
28
28
  "import": "./dist/esm/index.js"
29
+ },
30
+ "./*": {
31
+ "require": "./dist/cjs/locales/*/index.js",
32
+ "import": "./dist/esm/locales/*/index.js"
33
+ },
34
+ "./*/*": {
35
+ "require": "./dist/cjs/locales/*/*/index.js",
36
+ "import": "./dist/esm/locales/*/*/index.js"
29
37
  }
30
38
  },
31
39
  "engines": {
@@ -1,5 +1,5 @@
1
1
  import { ParsingComponents, ParsingResult } from "../results";
2
- import { Meridiem } from "../index";
2
+ import { Meridiem } from "../types";
3
3
  import { assignSimilarDate, implySimilarDate } from "../utils/dayjs";
4
4
 
5
5
  export function mergeDateTimeResult(dateResult: ParsingResult, timeResult: ParsingResult): ParsingResult {
package/src/chrono.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ReferenceWithTimezone, ParsingComponents, ParsingResult } from "./results";
2
- import { Component, ParsedResult, ParsingOption, ParsingReference } from "./index";
2
+ import { Component, ParsedResult, ParsingOption, ParsingReference } from "./types";
3
3
  import { AsyncDebugBlock, DebugHandler } from "./debugging";
4
- import { createCasualConfiguration } from "./locales/en";
4
+ import ENDefaultConfiguration from "./locales/en/configuration";
5
5
 
6
6
  /**
7
7
  * Chrono configuration.
@@ -13,7 +13,7 @@ export interface Configuration {
13
13
  }
14
14
 
15
15
  /**
16
- * A abstraction for Chrono *Parser*.
16
+ * An abstraction for Chrono *Parser*.
17
17
  *
18
18
  * Each parser should recognize and handle a certain date format.
19
19
  * Chrono uses multiple parses (and refiners) together for parsing the input.
@@ -48,8 +48,10 @@ export class Chrono {
48
48
  parsers: Array<Parser>;
49
49
  refiners: Array<Refiner>;
50
50
 
51
+ defaultConfig = new ENDefaultConfiguration();
52
+
51
53
  constructor(configuration?: Configuration) {
52
- configuration = configuration || createCasualConfiguration();
54
+ configuration = configuration || this.defaultConfig.createCasualConfiguration();
53
55
  this.parsers = [...configuration.parsers];
54
56
  this.refiners = [...configuration.refiners];
55
57
  }
@@ -108,7 +110,7 @@ export class Chrono {
108
110
 
109
111
  const result = parser.extract(context, match);
110
112
  if (!result) {
111
- // If fail, move on by 1
113
+ // If fails, move on by 1
112
114
  remainingText = originalText.substring(match.index + 1);
113
115
  match = pattern.exec(remainingText);
114
116
  continue;
@@ -124,10 +126,14 @@ export class Chrono {
124
126
  parsedResult = context.createParsingResult(match.index, match[0], result);
125
127
  }
126
128
 
127
- context.debug(() => console.log(`${parser.constructor.name} extracted result ${parsedResult}`));
129
+ const parsedIndex = parsedResult.index;
130
+ const parsedText = parsedResult.text;
131
+ context.debug(() =>
132
+ console.log(`${parser.constructor.name} extracted (at index=${parsedIndex}) '${parsedText}'`)
133
+ );
128
134
 
129
135
  results.push(parsedResult);
130
- remainingText = originalText.substring(index + parsedResult.text.length);
136
+ remainingText = originalText.substring(parsedIndex + parsedText.length);
131
137
  match = pattern.exec(remainingText);
132
138
  }
133
139
 
@@ -141,7 +147,7 @@ export class ParsingContext implements DebugHandler {
141
147
  readonly reference: ReferenceWithTimezone;
142
148
 
143
149
  /**
144
- * @deprecated. Use reference.instant instead.
150
+ * @deprecated. Use `reference.instant` instead.
145
151
  */
146
152
  readonly refDate: Date;
147
153
 
@@ -1,4 +1,4 @@
1
- import { Weekday } from "../../index";
1
+ import { Weekday } from "../../types";
2
2
  import { ParsingComponents, ReferenceWithTimezone } from "../../results";
3
3
  import { addImpliedTimeUnits } from "../../utils/timeunits";
4
4
 
@@ -7,7 +7,7 @@ import {
7
7
  implySimilarTime,
8
8
  implyTheNextDay,
9
9
  } from "../utils/dayjs";
10
- import { Meridiem } from "../index";
10
+ import { Meridiem } from "../types";
11
11
 
12
12
  export function now(reference: ReferenceWithTimezone): ParsingComponents {
13
13
  const targetDate = dayjs(reference.instant);
@@ -1,6 +1,6 @@
1
1
  import { Parser, ParsingContext } from "../../chrono";
2
2
  import { ParsingComponents, ParsingResult } from "../../results";
3
- import { Component } from "../../index";
3
+ import { Component } from "../../types";
4
4
 
5
5
  /**
6
6
  *
@@ -1,6 +1,6 @@
1
1
  import { Parser, ParsingContext } from "../../chrono";
2
2
  import { ParsingComponents, ParsingResult } from "../../results";
3
- import { Meridiem } from "../../index";
3
+ import { Meridiem } from "../../types";
4
4
 
5
5
  // prettier-ignore
6
6
  function primaryTimePattern(leftBoundary: string, primaryPrefix: string, primarySuffix: string, flags: string) {
@@ -1,5 +1,5 @@
1
1
  import { ParsingContext } from "../../chrono";
2
- import { Component } from "../../index";
2
+ import { Component } from "../../types";
3
3
  import { AbstractParserWithWordBoundaryChecking } from "./AbstractParserWithWordBoundary";
4
4
 
5
5
  // ISO 8601
@@ -1,6 +1,6 @@
1
1
  // Map ABBR -> Offset in minute
2
2
  import { ParsingContext, Refiner } from "../../chrono";
3
- import { TimezoneAbbrMap } from "../../index";
3
+ import { TimezoneAbbrMap } from "../../types";
4
4
  import { ParsingResult } from "../../results";
5
5
  import { toTimezoneOffset } from "../../timezone";
6
6