chrono-node 2.6.3 → 2.6.5

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 (322) 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 +8 -63
  13. package/dist/cjs/index.js +10 -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 +9 -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 +57 -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 +14 -51
  26. package/dist/cjs/locales/en/index.js.map +1 -1
  27. package/dist/cjs/locales/en/parsers/ENCasualTimeParser.d.ts +1 -1
  28. package/dist/cjs/locales/en/parsers/ENMonthNameMiddleEndianParser.d.ts +1 -1
  29. package/dist/cjs/locales/en/parsers/ENMonthNameParser.d.ts +1 -1
  30. package/dist/cjs/locales/en/parsers/ENTimeExpressionParser.js +5 -5
  31. package/dist/cjs/locales/es/index.d.ts +5 -2
  32. package/dist/cjs/locales/es/index.js +9 -1
  33. package/dist/cjs/locales/es/index.js.map +1 -1
  34. package/dist/cjs/locales/es/parsers/ESCasualTimeParser.d.ts +1 -1
  35. package/dist/cjs/locales/es/parsers/ESCasualTimeParser.js +5 -5
  36. package/dist/cjs/locales/fr/index.d.ts +5 -2
  37. package/dist/cjs/locales/fr/index.js +9 -1
  38. package/dist/cjs/locales/fr/index.js.map +1 -1
  39. package/dist/cjs/locales/fr/parsers/FRCasualDateParser.js +2 -2
  40. package/dist/cjs/locales/fr/parsers/FRCasualTimeParser.js +6 -6
  41. package/dist/cjs/locales/fr/parsers/FRSpecificTimeExpressionParser.js +6 -6
  42. package/dist/cjs/locales/ja/index.d.ts +5 -2
  43. package/dist/cjs/locales/ja/index.js +9 -1
  44. package/dist/cjs/locales/ja/index.js.map +1 -1
  45. package/dist/cjs/locales/ja/parsers/JPCasualDateParser.d.ts +1 -1
  46. package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js +27 -5
  47. package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js.map +1 -1
  48. package/dist/cjs/locales/ja/parsers/JPStandardParser.d.ts +1 -1
  49. package/dist/cjs/locales/nl/index.d.ts +5 -2
  50. package/dist/cjs/locales/nl/index.js +9 -1
  51. package/dist/cjs/locales/nl/index.js.map +1 -1
  52. package/dist/cjs/locales/nl/parsers/NLCasualDateTimeParser.js +5 -5
  53. package/dist/cjs/locales/nl/parsers/NLCasualTimeParser.d.ts +1 -1
  54. package/dist/cjs/locales/nl/parsers/NLCasualTimeParser.js +5 -5
  55. package/dist/cjs/locales/nl/parsers/NLMonthNameMiddleEndianParser.d.ts +1 -1
  56. package/dist/cjs/locales/nl/parsers/NLMonthNameParser.d.ts +1 -1
  57. package/dist/cjs/locales/pt/index.d.ts +5 -2
  58. package/dist/cjs/locales/pt/index.js +9 -1
  59. package/dist/cjs/locales/pt/index.js.map +1 -1
  60. package/dist/cjs/locales/pt/parsers/PTCasualTimeParser.d.ts +1 -1
  61. package/dist/cjs/locales/pt/parsers/PTCasualTimeParser.js +5 -5
  62. package/dist/cjs/locales/ru/index.d.ts +5 -2
  63. package/dist/cjs/locales/ru/index.js +9 -1
  64. package/dist/cjs/locales/ru/index.js.map +1 -1
  65. package/dist/cjs/locales/ru/parsers/RUCasualTimeParser.d.ts +1 -1
  66. package/dist/cjs/locales/ru/parsers/RUMonthNameParser.d.ts +1 -1
  67. package/dist/cjs/locales/ru/parsers/RUTimeExpressionParser.js +5 -5
  68. package/dist/cjs/locales/uk/constants.d.ts +33 -0
  69. package/dist/cjs/locales/uk/constants.js +301 -0
  70. package/dist/cjs/locales/uk/constants.js.map +1 -0
  71. package/dist/cjs/locales/uk/index.d.ts +11 -0
  72. package/dist/cjs/locales/uk/index.js +66 -0
  73. package/dist/cjs/locales/uk/index.js.map +1 -0
  74. package/dist/cjs/locales/uk/parsers/UKCasualDateParser.d.ts +8 -0
  75. package/dist/cjs/locales/uk/parsers/UKCasualDateParser.js +56 -0
  76. package/dist/cjs/locales/uk/parsers/UKCasualDateParser.js.map +1 -0
  77. package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.d.ts +7 -0
  78. package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.js +77 -0
  79. package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.js.map +1 -0
  80. package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.d.ts +8 -0
  81. package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.js +59 -0
  82. package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.js.map +1 -0
  83. package/dist/cjs/locales/uk/parsers/UKMonthNameParser.d.ts +7 -0
  84. package/dist/cjs/locales/uk/parsers/UKMonthNameParser.js +45 -0
  85. package/dist/cjs/locales/uk/parsers/UKMonthNameParser.js.map +1 -0
  86. package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.d.ts +8 -0
  87. package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.js +66 -0
  88. package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.js.map +1 -0
  89. package/dist/cjs/locales/uk/parsers/UKTimeExpressionParser.d.ts +12 -0
  90. package/dist/cjs/locales/uk/parsers/UKTimeExpressionParser.js +57 -0
  91. package/dist/cjs/locales/uk/parsers/UKTimeExpressionParser.js.map +1 -0
  92. package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.d.ts +8 -0
  93. package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.js +22 -0
  94. package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.js.map +1 -0
  95. package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.d.ts +8 -0
  96. package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js +29 -0
  97. package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js.map +1 -0
  98. package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.d.ts +8 -0
  99. package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +22 -0
  100. package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -0
  101. package/dist/cjs/locales/uk/parsers/UKWeekdayParser.d.ts +8 -0
  102. package/dist/cjs/locales/uk/parsers/UKWeekdayParser.js +50 -0
  103. package/dist/cjs/locales/uk/parsers/UKWeekdayParser.js.map +1 -0
  104. package/dist/cjs/locales/uk/refiners/UKMergeDateRangeRefiner.d.ts +4 -0
  105. package/dist/cjs/locales/uk/refiners/UKMergeDateRangeRefiner.js +13 -0
  106. package/dist/cjs/locales/uk/refiners/UKMergeDateRangeRefiner.js.map +1 -0
  107. package/dist/cjs/locales/uk/refiners/UKMergeDateTimeRefiner.d.ts +4 -0
  108. package/dist/cjs/locales/uk/refiners/UKMergeDateTimeRefiner.js +13 -0
  109. package/dist/cjs/locales/uk/refiners/UKMergeDateTimeRefiner.js.map +1 -0
  110. package/dist/cjs/locales/zh/hans/index.d.ts +5 -2
  111. package/dist/cjs/locales/zh/hans/index.js +10 -2
  112. package/dist/cjs/locales/zh/hans/index.js.map +1 -1
  113. package/dist/cjs/locales/zh/hans/parsers/ZHHansDateParser.d.ts +1 -1
  114. package/dist/cjs/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.d.ts +1 -1
  115. package/dist/cjs/locales/zh/hans/parsers/ZHHansTimeExpressionParser.d.ts +1 -1
  116. package/dist/cjs/locales/zh/hant/index.d.ts +5 -2
  117. package/dist/cjs/locales/zh/hant/index.js +10 -2
  118. package/dist/cjs/locales/zh/hant/index.js.map +1 -1
  119. package/dist/cjs/locales/zh/hant/parsers/ZHHantDateParser.d.ts +1 -1
  120. package/dist/cjs/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.d.ts +1 -1
  121. package/dist/cjs/locales/zh/hant/parsers/ZHHantTimeExpressionParser.d.ts +1 -1
  122. package/dist/cjs/results.d.ts +1 -1
  123. package/dist/cjs/timezone.d.ts +1 -1
  124. package/dist/cjs/timezone.js +11 -11
  125. package/dist/cjs/types.d.ts +58 -0
  126. package/dist/cjs/types.js +34 -0
  127. package/dist/cjs/types.js.map +1 -0
  128. package/dist/cjs/utils/dayjs.js +3 -3
  129. package/dist/esm/calculation/mergingCalculation.js +1 -1
  130. package/dist/esm/chrono.d.ts +3 -1
  131. package/dist/esm/chrono.js +7 -4
  132. package/dist/esm/chrono.js.map +1 -1
  133. package/dist/esm/common/calculation/weekdays.d.ts +1 -1
  134. package/dist/esm/common/calculation/weekdays.js +1 -1
  135. package/dist/esm/common/casualReferences.js +1 -1
  136. package/dist/esm/common/parsers/AbstractParserWithWordBoundary.d.ts +1 -1
  137. package/dist/esm/common/parsers/AbstractTimeExpressionParser.js +1 -1
  138. package/dist/esm/common/refiners/ExtractTimezoneAbbrRefiner.d.ts +1 -1
  139. package/dist/esm/index.d.ts +8 -63
  140. package/dist/esm/index.js +6 -32
  141. package/dist/esm/index.js.map +1 -1
  142. package/dist/esm/locales/de/index.d.ts +5 -2
  143. package/dist/esm/locales/de/index.js +4 -0
  144. package/dist/esm/locales/de/index.js.map +1 -1
  145. package/dist/esm/locales/de/parsers/DECasualTimeParser.js +1 -1
  146. package/dist/esm/locales/de/parsers/DESpecificTimeExpressionParser.js +1 -1
  147. package/dist/esm/locales/en/configuration.d.ts +5 -0
  148. package/dist/esm/locales/en/configuration.js +51 -0
  149. package/dist/esm/locales/en/configuration.js.map +1 -0
  150. package/dist/esm/locales/en/constants.d.ts +1 -1
  151. package/dist/esm/locales/en/index.d.ts +5 -4
  152. package/dist/esm/locales/en/index.js +9 -48
  153. package/dist/esm/locales/en/index.js.map +1 -1
  154. package/dist/esm/locales/en/parsers/ENCasualTimeParser.d.ts +1 -1
  155. package/dist/esm/locales/en/parsers/ENMonthNameMiddleEndianParser.d.ts +1 -1
  156. package/dist/esm/locales/en/parsers/ENMonthNameParser.d.ts +1 -1
  157. package/dist/esm/locales/en/parsers/ENTimeExpressionParser.js +1 -1
  158. package/dist/esm/locales/es/index.d.ts +5 -2
  159. package/dist/esm/locales/es/index.js +4 -0
  160. package/dist/esm/locales/es/index.js.map +1 -1
  161. package/dist/esm/locales/es/parsers/ESCasualTimeParser.d.ts +1 -1
  162. package/dist/esm/locales/es/parsers/ESCasualTimeParser.js +1 -1
  163. package/dist/esm/locales/fr/index.d.ts +5 -2
  164. package/dist/esm/locales/fr/index.js +4 -0
  165. package/dist/esm/locales/fr/index.js.map +1 -1
  166. package/dist/esm/locales/fr/parsers/FRCasualDateParser.js +1 -1
  167. package/dist/esm/locales/fr/parsers/FRCasualTimeParser.js +1 -1
  168. package/dist/esm/locales/fr/parsers/FRSpecificTimeExpressionParser.js +1 -1
  169. package/dist/esm/locales/ja/index.d.ts +5 -2
  170. package/dist/esm/locales/ja/index.js +4 -0
  171. package/dist/esm/locales/ja/index.js.map +1 -1
  172. package/dist/esm/locales/ja/parsers/JPCasualDateParser.d.ts +1 -1
  173. package/dist/esm/locales/ja/parsers/JPCasualDateParser.js +25 -3
  174. package/dist/esm/locales/ja/parsers/JPCasualDateParser.js.map +1 -1
  175. package/dist/esm/locales/ja/parsers/JPStandardParser.d.ts +1 -1
  176. package/dist/esm/locales/nl/index.d.ts +5 -2
  177. package/dist/esm/locales/nl/index.js +4 -0
  178. package/dist/esm/locales/nl/index.js.map +1 -1
  179. package/dist/esm/locales/nl/parsers/NLCasualDateTimeParser.js +1 -1
  180. package/dist/esm/locales/nl/parsers/NLCasualTimeParser.d.ts +1 -1
  181. package/dist/esm/locales/nl/parsers/NLCasualTimeParser.js +1 -1
  182. package/dist/esm/locales/nl/parsers/NLMonthNameMiddleEndianParser.d.ts +1 -1
  183. package/dist/esm/locales/nl/parsers/NLMonthNameParser.d.ts +1 -1
  184. package/dist/esm/locales/pt/index.d.ts +5 -2
  185. package/dist/esm/locales/pt/index.js +4 -0
  186. package/dist/esm/locales/pt/index.js.map +1 -1
  187. package/dist/esm/locales/pt/parsers/PTCasualTimeParser.d.ts +1 -1
  188. package/dist/esm/locales/pt/parsers/PTCasualTimeParser.js +1 -1
  189. package/dist/esm/locales/ru/index.d.ts +5 -2
  190. package/dist/esm/locales/ru/index.js +4 -0
  191. package/dist/esm/locales/ru/index.js.map +1 -1
  192. package/dist/esm/locales/ru/parsers/RUCasualTimeParser.d.ts +1 -1
  193. package/dist/esm/locales/ru/parsers/RUMonthNameParser.d.ts +1 -1
  194. package/dist/esm/locales/ru/parsers/RUTimeExpressionParser.js +1 -1
  195. package/dist/esm/locales/uk/constants.d.ts +33 -0
  196. package/dist/esm/locales/uk/constants.js +324 -0
  197. package/dist/esm/locales/uk/constants.js.map +1 -0
  198. package/dist/esm/locales/uk/index.d.ts +11 -0
  199. package/dist/esm/locales/uk/index.js +52 -0
  200. package/dist/esm/locales/uk/index.js.map +1 -0
  201. package/dist/esm/locales/uk/parsers/UKCasualDateParser.d.ts +8 -0
  202. package/dist/esm/locales/uk/parsers/UKCasualDateParser.js +34 -0
  203. package/dist/esm/locales/uk/parsers/UKCasualDateParser.js.map +1 -0
  204. package/dist/esm/locales/uk/parsers/UKCasualTimeParser.d.ts +7 -0
  205. package/dist/esm/locales/uk/parsers/UKCasualTimeParser.js +52 -0
  206. package/dist/esm/locales/uk/parsers/UKCasualTimeParser.js.map +1 -0
  207. package/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.d.ts +8 -0
  208. package/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.js +56 -0
  209. package/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.js.map +1 -0
  210. package/dist/esm/locales/uk/parsers/UKMonthNameParser.d.ts +7 -0
  211. package/dist/esm/locales/uk/parsers/UKMonthNameParser.js +42 -0
  212. package/dist/esm/locales/uk/parsers/UKMonthNameParser.js.map +1 -0
  213. package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.d.ts +8 -0
  214. package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.js +60 -0
  215. package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.js.map +1 -0
  216. package/dist/esm/locales/uk/parsers/UKTimeExpressionParser.d.ts +12 -0
  217. package/dist/esm/locales/uk/parsers/UKTimeExpressionParser.js +54 -0
  218. package/dist/esm/locales/uk/parsers/UKTimeExpressionParser.js.map +1 -0
  219. package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.d.ts +8 -0
  220. package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.js +19 -0
  221. package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.js.map +1 -0
  222. package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.d.ts +8 -0
  223. package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js +26 -0
  224. package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js.map +1 -0
  225. package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.d.ts +8 -0
  226. package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +19 -0
  227. package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -0
  228. package/dist/esm/locales/uk/parsers/UKWeekdayParser.d.ts +8 -0
  229. package/dist/esm/locales/uk/parsers/UKWeekdayParser.js +47 -0
  230. package/dist/esm/locales/uk/parsers/UKWeekdayParser.js.map +1 -0
  231. package/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.d.ts +4 -0
  232. package/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.js +7 -0
  233. package/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.js.map +1 -0
  234. package/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.d.ts +4 -0
  235. package/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.js +7 -0
  236. package/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.js.map +1 -0
  237. package/dist/esm/locales/zh/hans/index.d.ts +5 -2
  238. package/dist/esm/locales/zh/hans/index.js +5 -1
  239. package/dist/esm/locales/zh/hans/index.js.map +1 -1
  240. package/dist/esm/locales/zh/hans/parsers/ZHHansDateParser.d.ts +1 -1
  241. package/dist/esm/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.d.ts +1 -1
  242. package/dist/esm/locales/zh/hans/parsers/ZHHansTimeExpressionParser.d.ts +1 -1
  243. package/dist/esm/locales/zh/hant/index.d.ts +5 -2
  244. package/dist/esm/locales/zh/hant/index.js +5 -1
  245. package/dist/esm/locales/zh/hant/index.js.map +1 -1
  246. package/dist/esm/locales/zh/hant/parsers/ZHHantDateParser.d.ts +1 -1
  247. package/dist/esm/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.d.ts +1 -1
  248. package/dist/esm/locales/zh/hant/parsers/ZHHantTimeExpressionParser.d.ts +1 -1
  249. package/dist/esm/results.d.ts +1 -1
  250. package/dist/esm/timezone.d.ts +1 -1
  251. package/dist/esm/timezone.js +1 -1
  252. package/dist/esm/types.d.ts +58 -0
  253. package/dist/esm/types.js +31 -0
  254. package/dist/esm/types.js.map +1 -0
  255. package/dist/esm/utils/dayjs.js +1 -1
  256. package/package.json +9 -1
  257. package/src/calculation/mergingCalculation.ts +1 -1
  258. package/src/chrono.ts +14 -8
  259. package/src/common/calculation/weekdays.ts +1 -1
  260. package/src/common/casualReferences.ts +1 -1
  261. package/src/common/parsers/AbstractParserWithWordBoundary.ts +1 -1
  262. package/src/common/parsers/AbstractTimeExpressionParser.ts +1 -1
  263. package/src/common/parsers/ISOFormatParser.ts +1 -1
  264. package/src/common/refiners/ExtractTimezoneAbbrRefiner.ts +3 -3
  265. package/src/configurations.ts +1 -1
  266. package/src/index.ts +7 -153
  267. package/src/locales/de/index.ts +6 -2
  268. package/src/locales/de/parsers/DECasualTimeParser.ts +1 -1
  269. package/src/locales/de/parsers/DESpecificTimeExpressionParser.ts +1 -1
  270. package/src/locales/en/configuration.ts +71 -0
  271. package/src/locales/en/constants.ts +1 -1
  272. package/src/locales/en/index.ts +11 -65
  273. package/src/locales/en/parsers/ENTimeExpressionParser.ts +1 -1
  274. package/src/locales/es/index.ts +6 -2
  275. package/src/locales/es/parsers/ESCasualTimeParser.ts +1 -1
  276. package/src/locales/fr/index.ts +6 -2
  277. package/src/locales/fr/parsers/FRCasualDateParser.ts +1 -1
  278. package/src/locales/fr/parsers/FRCasualTimeParser.ts +1 -1
  279. package/src/locales/fr/parsers/FRSpecificTimeExpressionParser.ts +1 -1
  280. package/src/locales/ja/index.ts +6 -2
  281. package/src/locales/ja/parsers/JPCasualDateParser.ts +26 -3
  282. package/src/locales/nl/index.ts +6 -2
  283. package/src/locales/nl/parsers/NLCasualDateTimeParser.ts +1 -1
  284. package/src/locales/nl/parsers/NLCasualTimeParser.ts +1 -1
  285. package/src/locales/pt/index.ts +6 -2
  286. package/src/locales/pt/parsers/PTCasualTimeParser.ts +1 -1
  287. package/src/locales/ru/index.ts +6 -2
  288. package/src/locales/ru/parsers/RUTimeExpressionParser.ts +1 -1
  289. package/src/locales/uk/constants.ts +349 -0
  290. package/src/locales/uk/index.ts +90 -0
  291. package/src/locales/uk/parsers/UKCasualDateParser.ts +50 -0
  292. package/src/locales/uk/parsers/UKCasualTimeParser.ts +59 -0
  293. package/src/locales/uk/parsers/UKMonthNameLittleEndianParser.ts +72 -0
  294. package/src/locales/uk/parsers/UKMonthNameParser.ts +61 -0
  295. package/src/locales/uk/parsers/UKRelativeDateFormatParser.ts +85 -0
  296. package/src/locales/uk/parsers/UKTimeExpressionParser.ts +64 -0
  297. package/src/locales/uk/parsers/UKTimeUnitAgoFormatParser.ts +24 -0
  298. package/src/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.ts +34 -0
  299. package/src/locales/uk/parsers/UKTimeUnitWithinFormatParser.ts +27 -0
  300. package/src/locales/uk/parsers/UKWeekdayParser.ts +59 -0
  301. package/src/locales/uk/refiners/UKMergeDateRangeRefiner.ts +13 -0
  302. package/src/locales/uk/refiners/UKMergeDateTimeRefiner.ts +13 -0
  303. package/src/locales/zh/hans/index.ts +6 -2
  304. package/src/locales/zh/hant/index.ts +6 -2
  305. package/src/results.ts +1 -1
  306. package/src/timezone.ts +1 -1
  307. package/src/types.ts +150 -0
  308. package/src/utils/dayjs.ts +1 -1
  309. package/test/debugging.test.ts +17 -0
  310. package/test/en/en_month_name_little_endian.test.ts +12 -0
  311. package/test/en/en_time_units_within.test.ts +7 -0
  312. package/test/en/en_timezone_exp.test.ts +48 -4
  313. package/test/ja/ja_casual.test.ts +50 -13
  314. package/test/uk/uk_casual.test.ts +153 -0
  315. package/test/uk/uk_month.test.ts +70 -0
  316. package/test/uk/uk_month_name_little_endian.test.ts +148 -0
  317. package/test/uk/uk_relative.test.ts +74 -0
  318. package/test/uk/uk_time_exp.test.ts +111 -0
  319. package/test/uk/uk_time_units_ago.test.ts +48 -0
  320. package/test/uk/uk_time_units_casual_relative.test.ts +112 -0
  321. package/test/uk/uk_time_units_within.test.ts +16 -0
  322. package/test/uk/uk_weekday.test.ts +52 -0
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseTimeUnits = exports.TIME_UNITS_PATTERN = exports.parseYearPattern = exports.YEAR_PATTERN = exports.parseOrdinalNumberPattern = exports.ORDINAL_NUMBER_PATTERN = exports.parseNumberPattern = exports.NUMBER_PATTERN = exports.TIME_UNIT_DICTIONARY = exports.ORDINAL_WORD_DICTIONARY = exports.INTEGER_WORD_DICTIONARY = exports.MONTH_DICTIONARY = exports.FULL_MONTH_NAME_DICTIONARY = exports.WEEKDAY_DICTIONARY = exports.REGEX_PARTS = void 0;
4
+ const pattern_1 = require("../../utils/pattern");
5
+ const years_1 = require("../../calculation/years");
6
+ exports.REGEX_PARTS = {
7
+ leftBoundary: "([^\\p{L}\\p{N}_]|^)",
8
+ rightBoundary: "(?=[^\\p{L}\\p{N}_]|$)",
9
+ flags: "iu",
10
+ };
11
+ exports.WEEKDAY_DICTIONARY = {
12
+ "неділя": 0,
13
+ "неділі": 0,
14
+ "неділю": 0,
15
+ "нд": 0,
16
+ "нд.": 0,
17
+ "понеділок": 1,
18
+ "понеділка": 1,
19
+ "пн": 1,
20
+ "пн.": 1,
21
+ "вівторок": 2,
22
+ "вівторка": 2,
23
+ "вт": 2,
24
+ "вт.": 2,
25
+ "середа": 3,
26
+ "середи": 3,
27
+ "середу": 3,
28
+ "ср": 3,
29
+ "ср.": 3,
30
+ "четвер": 4,
31
+ "четверга": 4,
32
+ "четвергу": 4,
33
+ "чт": 4,
34
+ "чт.": 4,
35
+ "п'ятниця": 5,
36
+ "п'ятниці": 5,
37
+ "п'ятницю": 5,
38
+ "пт": 5,
39
+ "пт.": 5,
40
+ "субота": 6,
41
+ "суботи": 6,
42
+ "суботу": 6,
43
+ "сб": 6,
44
+ "сб.": 6,
45
+ };
46
+ exports.FULL_MONTH_NAME_DICTIONARY = {
47
+ "січень": 1,
48
+ "січня": 1,
49
+ "січні": 1,
50
+ "лютий": 2,
51
+ "лютого": 2,
52
+ "лютому": 2,
53
+ "березень": 3,
54
+ "березня": 3,
55
+ "березні": 3,
56
+ "квітень": 4,
57
+ "квітня": 4,
58
+ "квітні": 4,
59
+ "травень": 5,
60
+ "травня": 5,
61
+ "травні": 5,
62
+ "червень": 6,
63
+ "червня": 6,
64
+ "червні": 6,
65
+ "липень": 7,
66
+ "липня": 7,
67
+ "липні": 7,
68
+ "серпень": 8,
69
+ "серпня": 8,
70
+ "серпні": 8,
71
+ "вересень": 9,
72
+ "вересня": 9,
73
+ "вересні": 9,
74
+ "жовтень": 10,
75
+ "жовтня": 10,
76
+ "жовтні": 10,
77
+ "листопад": 11,
78
+ "листопада": 11,
79
+ "листопаду": 11,
80
+ "грудень": 12,
81
+ "грудня": 12,
82
+ "грудні": 12,
83
+ };
84
+ exports.MONTH_DICTIONARY = Object.assign(Object.assign({}, exports.FULL_MONTH_NAME_DICTIONARY), { "січ": 1, "січ.": 1, "лют": 2, "лют.": 2, "бер": 3, "бер.": 3, "квіт": 4, "квіт.": 4, "трав": 5, "трав.": 5, "черв": 6, "черв.": 6, "лип": 7, "лип.": 7, "серп": 8, "серп.": 8, "сер": 8, "cер.": 8, "вер": 9, "вер.": 9, "верес": 9, "верес.": 9, "жовт": 10, "жовт.": 10, "листоп": 11, "листоп.": 11, "груд": 12, "груд.": 12 });
85
+ exports.INTEGER_WORD_DICTIONARY = {
86
+ "один": 1,
87
+ "одна": 1,
88
+ "одної": 1,
89
+ "одну": 1,
90
+ "дві": 2,
91
+ "два": 2,
92
+ "двох": 2,
93
+ "три": 3,
94
+ "трьох": 3,
95
+ "чотири": 4,
96
+ "чотирьох": 4,
97
+ "п'ять": 5,
98
+ "п'яти": 5,
99
+ "шість": 6,
100
+ "шести": 6,
101
+ "сім": 7,
102
+ "семи": 7,
103
+ "вісім": 8,
104
+ "восьми": 8,
105
+ "дев'ять": 9,
106
+ "дев'яти": 9,
107
+ "десять": 10,
108
+ "десяти": 10,
109
+ "одинадцять": 11,
110
+ "одинадцяти": 11,
111
+ "дванадцять": 12,
112
+ "дванадцяти": 12,
113
+ };
114
+ exports.ORDINAL_WORD_DICTIONARY = {
115
+ "перше": 1,
116
+ "першого": 1,
117
+ "друге": 2,
118
+ "другого": 2,
119
+ "третє": 3,
120
+ "третього": 3,
121
+ "четверте": 4,
122
+ "четвертого": 4,
123
+ "п'яте": 5,
124
+ "п'ятого": 5,
125
+ "шосте": 6,
126
+ "шостого": 6,
127
+ "сьоме": 7,
128
+ "сьомого": 7,
129
+ "восьме": 8,
130
+ "восьмого": 8,
131
+ "дев'яте": 9,
132
+ "дев'ятого": 9,
133
+ "десяте": 10,
134
+ "десятого": 10,
135
+ "одинадцяте": 11,
136
+ "одинадцятого": 11,
137
+ "дванадцяте": 12,
138
+ "дванадцятого": 12,
139
+ "тринадцяте": 13,
140
+ "тринадцятого": 13,
141
+ "чотирнадцяте": 14,
142
+ "чотинрнадцятого": 14,
143
+ "п'ятнадцяте": 15,
144
+ "п'ятнадцятого": 15,
145
+ "шістнадцяте": 16,
146
+ "шістнадцятого": 16,
147
+ "сімнадцяте": 17,
148
+ "сімнадцятого": 17,
149
+ "вісімнадцяте": 18,
150
+ "вісімнадцятого": 18,
151
+ "дев'ятнадцяте": 19,
152
+ "дев'ятнадцятого": 19,
153
+ "двадцяте": 20,
154
+ "двадцятого": 20,
155
+ "двадцять перше": 21,
156
+ "двадцять першого": 21,
157
+ "двадцять друге": 22,
158
+ "двадцять другого": 22,
159
+ "двадцять третє": 23,
160
+ "двадцять третього": 23,
161
+ "двадцять четверте": 24,
162
+ "двадцять четвертого": 24,
163
+ "двадцять п'яте": 25,
164
+ "двадцять п'ятого": 25,
165
+ "двадцять шосте": 26,
166
+ "двадцять шостого": 26,
167
+ "двадцять сьоме": 27,
168
+ "двадцять сьомого": 27,
169
+ "двадцять восьме": 28,
170
+ "двадцять восьмого": 28,
171
+ "двадцять дев'яте": 29,
172
+ "двадцять дев'ятого": 29,
173
+ "тридцяте": 30,
174
+ "тридцятого": 30,
175
+ "тридцять перше": 31,
176
+ "тридцять першого": 31,
177
+ };
178
+ exports.TIME_UNIT_DICTIONARY = {
179
+ сек: "second",
180
+ секунда: "second",
181
+ секунд: "second",
182
+ секунди: "second",
183
+ секунду: "second",
184
+ секундочок: "second",
185
+ секундочки: "second",
186
+ секундочку: "second",
187
+ хв: "minute",
188
+ хвилина: "minute",
189
+ хвилин: "minute",
190
+ хвилини: "minute",
191
+ хвилину: "minute",
192
+ хвилинок: "minute",
193
+ хвилинки: "minute",
194
+ хвилинку: "minute",
195
+ хвилиночок: "minute",
196
+ хвилиночки: "minute",
197
+ хвилиночку: "minute",
198
+ год: "hour",
199
+ година: "hour",
200
+ годин: "hour",
201
+ години: "hour",
202
+ годину: "hour",
203
+ годинка: "hour",
204
+ годинок: "hour",
205
+ годинки: "hour",
206
+ годинку: "hour",
207
+ день: "d",
208
+ дня: "d",
209
+ днів: "d",
210
+ дні: "d",
211
+ доба: "d",
212
+ добу: "d",
213
+ тиждень: "week",
214
+ тижню: "week",
215
+ тижня: "week",
216
+ тижні: "week",
217
+ тижнів: "week",
218
+ місяць: "month",
219
+ місяців: "month",
220
+ місяці: "month",
221
+ місяця: "month",
222
+ квартал: "quarter",
223
+ кварталу: "quarter",
224
+ квартала: "quarter",
225
+ кварталів: "quarter",
226
+ кварталі: "quarter",
227
+ рік: "year",
228
+ року: "year",
229
+ році: "year",
230
+ років: "year",
231
+ роки: "year",
232
+ };
233
+ exports.NUMBER_PATTERN = `(?:${pattern_1.matchAnyPattern(exports.INTEGER_WORD_DICTIONARY)}|[0-9]+|[0-9]+\\.[0-9]+|пів|декілька|пар(?:у)|\\s{0,3})`;
234
+ function parseNumberPattern(match) {
235
+ const num = match.toLowerCase();
236
+ if (exports.INTEGER_WORD_DICTIONARY[num] !== undefined) {
237
+ return exports.INTEGER_WORD_DICTIONARY[num];
238
+ }
239
+ if (num.match(/декілька/)) {
240
+ return 2;
241
+ }
242
+ else if (num.match(/пів/)) {
243
+ return 0.5;
244
+ }
245
+ else if (num.match(/пар/)) {
246
+ return 2;
247
+ }
248
+ else if (num === "") {
249
+ return 1;
250
+ }
251
+ return parseFloat(num);
252
+ }
253
+ exports.parseNumberPattern = parseNumberPattern;
254
+ exports.ORDINAL_NUMBER_PATTERN = `(?:${pattern_1.matchAnyPattern(exports.ORDINAL_WORD_DICTIONARY)}|[0-9]{1,2}(?:го|ого|е)?)`;
255
+ function parseOrdinalNumberPattern(match) {
256
+ const num = match.toLowerCase();
257
+ if (exports.ORDINAL_WORD_DICTIONARY[num] !== undefined) {
258
+ return exports.ORDINAL_WORD_DICTIONARY[num];
259
+ }
260
+ return parseInt(num);
261
+ }
262
+ exports.parseOrdinalNumberPattern = parseOrdinalNumberPattern;
263
+ const year = "(?:\\s+(?:року|рік|р|р.))?";
264
+ exports.YEAR_PATTERN = `(?:[1-9][0-9]{0,3}${year}\\s*(?:н.е.|до н.е.|н. е.|до н. е.)|[1-2][0-9]{3}${year}|[5-9][0-9]${year})`;
265
+ function parseYearPattern(match) {
266
+ if (/(рік|року|р|р.)/i.test(match)) {
267
+ match = match.replace(/(рік|року|р|р.)/i, "");
268
+ }
269
+ if (/(до н.е.|до н. е.)/i.test(match)) {
270
+ match = match.replace(/(до н.е.|до н. е.)/i, "");
271
+ return -parseInt(match);
272
+ }
273
+ if (/(н. е.|н.е.)/i.test(match)) {
274
+ match = match.replace(/(н. е.|н.е.)/i, "");
275
+ return parseInt(match);
276
+ }
277
+ const rawYearNumber = parseInt(match);
278
+ return years_1.findMostLikelyADYear(rawYearNumber);
279
+ }
280
+ exports.parseYearPattern = parseYearPattern;
281
+ const SINGLE_TIME_UNIT_PATTERN = `(${exports.NUMBER_PATTERN})\\s{0,3}(${pattern_1.matchAnyPattern(exports.TIME_UNIT_DICTIONARY)})`;
282
+ const SINGLE_TIME_UNIT_REGEX = new RegExp(SINGLE_TIME_UNIT_PATTERN, "i");
283
+ exports.TIME_UNITS_PATTERN = pattern_1.repeatedTimeunitPattern(`(?:(?:близько|приблизно)\\s{0,3})?`, SINGLE_TIME_UNIT_PATTERN);
284
+ function parseTimeUnits(timeunitText) {
285
+ const fragments = {};
286
+ let remainingText = timeunitText;
287
+ let match = SINGLE_TIME_UNIT_REGEX.exec(remainingText);
288
+ while (match) {
289
+ collectDateTimeFragment(fragments, match);
290
+ remainingText = remainingText.substring(match[0].length).trim();
291
+ match = SINGLE_TIME_UNIT_REGEX.exec(remainingText);
292
+ }
293
+ return fragments;
294
+ }
295
+ exports.parseTimeUnits = parseTimeUnits;
296
+ function collectDateTimeFragment(fragments, match) {
297
+ const num = parseNumberPattern(match[1]);
298
+ const unit = exports.TIME_UNIT_DICTIONARY[match[2].toLowerCase()];
299
+ fragments[unit] = num;
300
+ }
301
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/locales/uk/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Chrono, Configuration, Parser, Refiner } from "../../chrono";
2
+ import { ParsingResult, ParsingComponents, ReferenceWithTimezone } from "../../results";
3
+ import { Component, ParsedResult, ParsingOption, ParsingReference, Meridiem, Weekday } from "../../types";
4
+ export { Chrono, Parser, Refiner, ParsingResult, ParsingComponents, ReferenceWithTimezone };
5
+ export { Component, ParsedResult, ParsingOption, ParsingReference, Meridiem, Weekday };
6
+ export declare const casual: Chrono;
7
+ export declare const strict: Chrono;
8
+ export declare function createCasualConfiguration(): Configuration;
9
+ export declare function createConfiguration(strictMode: boolean): Configuration;
10
+ export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
11
+ export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parseDate = exports.parse = exports.createConfiguration = exports.createCasualConfiguration = exports.strict = exports.casual = exports.Weekday = exports.Meridiem = exports.ReferenceWithTimezone = exports.ParsingComponents = exports.ParsingResult = exports.Chrono = void 0;
7
+ const UKTimeUnitWithinFormatParser_1 = __importDefault(require("./parsers/UKTimeUnitWithinFormatParser"));
8
+ const UKMonthNameLittleEndianParser_1 = __importDefault(require("./parsers/UKMonthNameLittleEndianParser"));
9
+ const UKMonthNameParser_1 = __importDefault(require("./parsers/UKMonthNameParser"));
10
+ const UKTimeExpressionParser_1 = __importDefault(require("./parsers/UKTimeExpressionParser"));
11
+ const UKTimeUnitAgoFormatParser_1 = __importDefault(require("./parsers/UKTimeUnitAgoFormatParser"));
12
+ const UKMergeDateRangeRefiner_1 = __importDefault(require("./refiners/UKMergeDateRangeRefiner"));
13
+ const UKMergeDateTimeRefiner_1 = __importDefault(require("./refiners/UKMergeDateTimeRefiner"));
14
+ const configurations_1 = require("../../configurations");
15
+ const UKCasualDateParser_1 = __importDefault(require("./parsers/UKCasualDateParser"));
16
+ const UKCasualTimeParser_1 = __importDefault(require("./parsers/UKCasualTimeParser"));
17
+ const UKWeekdayParser_1 = __importDefault(require("./parsers/UKWeekdayParser"));
18
+ const UKRelativeDateFormatParser_1 = __importDefault(require("./parsers/UKRelativeDateFormatParser"));
19
+ const chrono_1 = require("../../chrono");
20
+ Object.defineProperty(exports, "Chrono", { enumerable: true, get: function () { return chrono_1.Chrono; } });
21
+ const results_1 = require("../../results");
22
+ Object.defineProperty(exports, "ParsingResult", { enumerable: true, get: function () { return results_1.ParsingResult; } });
23
+ Object.defineProperty(exports, "ParsingComponents", { enumerable: true, get: function () { return results_1.ParsingComponents; } });
24
+ Object.defineProperty(exports, "ReferenceWithTimezone", { enumerable: true, get: function () { return results_1.ReferenceWithTimezone; } });
25
+ const types_1 = require("../../types");
26
+ Object.defineProperty(exports, "Meridiem", { enumerable: true, get: function () { return types_1.Meridiem; } });
27
+ Object.defineProperty(exports, "Weekday", { enumerable: true, get: function () { return types_1.Weekday; } });
28
+ const SlashDateFormatParser_1 = __importDefault(require("../../common/parsers/SlashDateFormatParser"));
29
+ const UKTimeUnitCasualRelativeFormatParser_1 = __importDefault(require("./parsers/UKTimeUnitCasualRelativeFormatParser"));
30
+ const ISOFormatParser_1 = __importDefault(require("../../common/parsers/ISOFormatParser"));
31
+ exports.casual = new chrono_1.Chrono(createCasualConfiguration());
32
+ exports.strict = new chrono_1.Chrono(createConfiguration(true));
33
+ function createCasualConfiguration() {
34
+ const option = createConfiguration(false);
35
+ option.parsers.unshift(new UKCasualDateParser_1.default());
36
+ option.parsers.unshift(new UKCasualTimeParser_1.default());
37
+ option.parsers.unshift(new UKMonthNameParser_1.default());
38
+ option.parsers.unshift(new UKRelativeDateFormatParser_1.default());
39
+ option.parsers.unshift(new UKTimeUnitCasualRelativeFormatParser_1.default());
40
+ return option;
41
+ }
42
+ exports.createCasualConfiguration = createCasualConfiguration;
43
+ function createConfiguration(strictMode) {
44
+ return configurations_1.includeCommonConfiguration({
45
+ parsers: [
46
+ new ISOFormatParser_1.default(),
47
+ new SlashDateFormatParser_1.default(true),
48
+ new UKTimeUnitWithinFormatParser_1.default(),
49
+ new UKMonthNameLittleEndianParser_1.default(),
50
+ new UKWeekdayParser_1.default(),
51
+ new UKTimeExpressionParser_1.default(strictMode),
52
+ new UKTimeUnitAgoFormatParser_1.default(),
53
+ ],
54
+ refiners: [new UKMergeDateTimeRefiner_1.default(), new UKMergeDateRangeRefiner_1.default()],
55
+ }, strictMode);
56
+ }
57
+ exports.createConfiguration = createConfiguration;
58
+ function parse(text, ref, option) {
59
+ return exports.casual.parse(text, ref, option);
60
+ }
61
+ exports.parse = parse;
62
+ function parseDate(text, ref, option) {
63
+ return exports.casual.parseDate(text, ref, option);
64
+ }
65
+ exports.parseDate = parseDate;
66
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/locales/uk/index.ts"],"names":[],"mappings":";;;;;;AAMA,0GAAkF;AAClF,4GAAoF;AACpF,oFAA4D;AAC5D,8FAAsE;AACtE,oGAA4E;AAC5E,iGAAyE;AACzE,+FAAuE;AAEvE,yDAAkE;AAClE,sFAA8D;AAC9D,sFAA8D;AAC9D,gFAAwD;AACxD,sGAA8E;AAE9E,yCAAsE;AAO7D,uFAPA,eAAM,OAOA;AANf,2CAAwF;AAMtD,8FANzB,uBAAa,OAMyB;AAAE,kGANzB,2BAAiB,OAMyB;AAAE,sGANzB,+BAAqB,OAMyB;AALzF,uCAA0G;AAMvC,yFANA,gBAAQ,OAMA;AAAE,wFANA,eAAO,OAMA;AALpF,uGAA+E;AAC/E,0HAAkG;AAClG,2FAAmE;AAQtD,QAAA,MAAM,GAAG,IAAI,eAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAKjD,QAAA,MAAM,GAAG,IAAI,eAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;AAM5D,SAAgB,yBAAyB;IACrC,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,4BAAkB,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,4BAAkB,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,2BAAiB,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,oCAA0B,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,8CAAoC,EAAE,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC;AAClB,CAAC;AARD,8DAQC;AAOD,SAAgB,mBAAmB,CAAC,UAAmB;IACnD,OAAO,2CAA0B,CAC7B;QACI,OAAO,EAAE;YACL,IAAI,yBAAe,EAAE;YACrB,IAAI,+BAAqB,CAAC,IAAI,CAAC;YAC/B,IAAI,sCAA4B,EAAE;YAClC,IAAI,uCAA6B,EAAE;YACnC,IAAI,yBAAe,EAAE;YACrB,IAAI,gCAAsB,CAAC,UAAU,CAAC;YACtC,IAAI,mCAAyB,EAAE;SAClC;QACD,QAAQ,EAAE,CAAC,IAAI,gCAAsB,EAAE,EAAE,IAAI,iCAAuB,EAAE,CAAC;KAC1E,EACD,UAAU,CACb,CAAC;AACN,CAAC;AAhBD,kDAgBC;AAKD,SAAgB,KAAK,CAAC,IAAY,EAAE,GAAU,EAAE,MAAsB;IAClE,OAAO,cAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAFD,sBAEC;AAKD,SAAgB,SAAS,CAAC,IAAY,EAAE,GAAU,EAAE,MAAsB;IACtE,OAAO,cAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAFD,8BAEC"}
@@ -0,0 +1,8 @@
1
+ import { ParsingContext } from "../../../chrono";
2
+ import { ParsingComponents, ParsingResult } from "../../../results";
3
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
4
+ export default class UKCasualDateParser extends AbstractParserWithWordBoundaryChecking {
5
+ patternLeftBoundary(): string;
6
+ innerPattern(context: ParsingContext): RegExp;
7
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): ParsingComponents | ParsingResult;
8
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const AbstractParserWithWordBoundary_1 = require("../../../common/parsers/AbstractParserWithWordBoundary");
23
+ const references = __importStar(require("../../../common/casualReferences"));
24
+ const constants_1 = require("../constants");
25
+ const PATTERN = new RegExp(`(?:з|із|від)?\\s*(сьогодні|вчора|завтра|післязавтра|післяпіслязавтра|позапозавчора|позавчора)${constants_1.REGEX_PARTS.rightBoundary}`, constants_1.REGEX_PARTS.flags);
26
+ class UKCasualDateParser extends AbstractParserWithWordBoundary_1.AbstractParserWithWordBoundaryChecking {
27
+ patternLeftBoundary() {
28
+ return constants_1.REGEX_PARTS.leftBoundary;
29
+ }
30
+ innerPattern(context) {
31
+ return PATTERN;
32
+ }
33
+ innerExtract(context, match) {
34
+ const lowerText = match[1].toLowerCase();
35
+ const component = context.createParsingComponents();
36
+ switch (lowerText) {
37
+ case "сьогодні":
38
+ return references.today(context.reference);
39
+ case "вчора":
40
+ return references.yesterday(context.reference);
41
+ case "завтра":
42
+ return references.tomorrow(context.reference);
43
+ case "післязавтра":
44
+ return references.theDayAfter(context.reference, 2);
45
+ case "післяпіслязавтра":
46
+ return references.theDayAfter(context.reference, 3);
47
+ case "позавчора":
48
+ return references.theDayBefore(context.reference, 2);
49
+ case "позапозавчора":
50
+ return references.theDayBefore(context.reference, 3);
51
+ }
52
+ return component;
53
+ }
54
+ }
55
+ exports.default = UKCasualDateParser;
56
+ //# sourceMappingURL=UKCasualDateParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UKCasualDateParser.js","sourceRoot":"","sources":["../../../../../src/locales/uk/parsers/UKCasualDateParser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA,2GAAgH;AAChH,6EAA+D;AAC/D,4CAA2C;AAE3C,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,gGAAgG,uBAAW,CAAC,aAAa,EAAE,EAC3H,uBAAW,CAAC,KAAK,CACpB,CAAC;AAEF,MAAqB,kBAAmB,SAAQ,uEAAsC;IAClF,mBAAmB;QACf,OAAO,uBAAW,CAAC,YAAY,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,OAAuB;QAChC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;QAEpD,QAAQ,SAAS,EAAE;YACf,KAAK,UAAU;gBACX,OAAO,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAE/C,KAAK,OAAO;gBACR,OAAO,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEnD,KAAK,QAAQ;gBACT,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAElD,KAAK,aAAa;gBACd,OAAO,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAExD,KAAK,kBAAkB;gBACnB,OAAO,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAExD,KAAK,WAAW;gBACZ,OAAO,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAEzD,KAAK,eAAe;gBAChB,OAAO,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;SAC5D;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAtCD,qCAsCC"}
@@ -0,0 +1,7 @@
1
+ import { ParsingContext } from "../../../chrono";
2
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
3
+ export default class UKCasualTimeParser extends AbstractParserWithWordBoundaryChecking {
4
+ patternLeftBoundary(): string;
5
+ innerPattern(): RegExp;
6
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): import("..").ParsingComponents;
7
+ }
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ const AbstractParserWithWordBoundary_1 = require("../../../common/parsers/AbstractParserWithWordBoundary");
26
+ const references = __importStar(require("../../../common/casualReferences"));
27
+ const dayjs_1 = require("../../../utils/dayjs");
28
+ const dayjs_2 = __importDefault(require("dayjs"));
29
+ const constants_1 = require("../constants");
30
+ const PATTERN = new RegExp(`(зараз|минулого\\s*вечора|минулої\\s*ночі|наступної\\s*ночі|сьогодні\\s*вночі|цієї\\s*ночі|цього ранку|вранці|ранку|зранку|опівдні|ввечері|вечора|опівночі|вночі)` +
31
+ `${constants_1.REGEX_PARTS.rightBoundary}`, constants_1.REGEX_PARTS.flags);
32
+ class UKCasualTimeParser extends AbstractParserWithWordBoundary_1.AbstractParserWithWordBoundaryChecking {
33
+ patternLeftBoundary() {
34
+ return constants_1.REGEX_PARTS.leftBoundary;
35
+ }
36
+ innerPattern() {
37
+ return PATTERN;
38
+ }
39
+ innerExtract(context, match) {
40
+ let targetDate = dayjs_2.default(context.reference.instant);
41
+ const lowerText = match[0].toLowerCase();
42
+ const component = context.createParsingComponents();
43
+ if (lowerText === "зараз") {
44
+ return references.now(context.reference);
45
+ }
46
+ if (lowerText === "ввечері" || lowerText === "вечора") {
47
+ return references.evening(context.reference);
48
+ }
49
+ if (lowerText.endsWith("вранці") || lowerText.endsWith("ранку") || lowerText.endsWith("зранку")) {
50
+ return references.morning(context.reference);
51
+ }
52
+ if (lowerText.endsWith("опівдні")) {
53
+ return references.noon(context.reference);
54
+ }
55
+ if (lowerText.match(/минулої\s*ночі/)) {
56
+ return references.lastNight(context.reference);
57
+ }
58
+ if (lowerText.match(/минулого\s*вечора/)) {
59
+ return references.yesterdayEvening(context.reference);
60
+ }
61
+ if (lowerText.match(/наступної\s*ночі/)) {
62
+ const daysToAdd = targetDate.hour() < 22 ? 1 : 2;
63
+ targetDate = targetDate.add(daysToAdd, "day");
64
+ dayjs_1.assignSimilarDate(component, targetDate);
65
+ component.imply("hour", 1);
66
+ }
67
+ if (lowerText.match(/цієї\s*ночі/)) {
68
+ return references.midnight(context.reference);
69
+ }
70
+ if (lowerText.endsWith("опівночі") || lowerText.endsWith("вночі")) {
71
+ return references.midnight(context.reference);
72
+ }
73
+ return component;
74
+ }
75
+ }
76
+ exports.default = UKCasualTimeParser;
77
+ //# sourceMappingURL=UKCasualTimeParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UKCasualTimeParser.js","sourceRoot":"","sources":["../../../../../src/locales/uk/parsers/UKCasualTimeParser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,2GAAgH;AAChH,6EAA+D;AAC/D,gDAAyD;AACzD,kDAA0B;AAC1B,4CAA2C;AAE3C,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,mKAAmK;IAC/J,GAAG,uBAAW,CAAC,aAAa,EAAE,EAClC,uBAAW,CAAC,KAAK,CACpB,CAAC;AACF,MAAqB,kBAAmB,SAAQ,uEAAsC;IAClF,mBAAmB;QACf,OAAO,uBAAW,CAAC,YAAY,CAAC;IACpC,CAAC;IAED,YAAY;QACR,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,IAAI,UAAU,GAAG,eAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;QAEpD,IAAI,SAAS,KAAK,OAAO,EAAE;YACvB,OAAO,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC5C;QACD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,QAAQ,EAAE;YACnD,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAChD;QACD,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC7F,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAChD;QACD,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC/B,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC7C;QACD,IAAI,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE;YACnC,OAAO,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAClD;QACD,IAAI,SAAS,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE;YACtC,OAAO,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACzD;QACD,IAAI,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;YACrC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC9C,yBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACzC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SAC9B;QACD,IAAI,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;YAChC,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACjD;QACD,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC/D,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACjD;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AA9CD,qCA8CC"}
@@ -0,0 +1,8 @@
1
+ import { ParsingContext } from "../../../chrono";
2
+ import { ParsingResult } from "../../../results";
3
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
4
+ export default class UKMonthNameLittleEndianParser extends AbstractParserWithWordBoundaryChecking {
5
+ patternLeftBoundary(): string;
6
+ innerPattern(): RegExp;
7
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): ParsingResult;
8
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const years_1 = require("../../../calculation/years");
4
+ const constants_1 = require("../constants");
5
+ const constants_2 = require("../constants");
6
+ const constants_3 = require("../constants");
7
+ const pattern_1 = require("../../../utils/pattern");
8
+ const AbstractParserWithWordBoundary_1 = require("../../../common/parsers/AbstractParserWithWordBoundary");
9
+ const PATTERN = new RegExp(`(?:з|із)?\\s*(${constants_3.ORDINAL_NUMBER_PATTERN})` +
10
+ `(?:` +
11
+ `\\s{0,3}(?:по|-|–|до)?\\s{0,3}` +
12
+ `(${constants_3.ORDINAL_NUMBER_PATTERN})` +
13
+ `)?` +
14
+ `(?:-|\\/|\\s{0,3}(?:of)?\\s{0,3})` +
15
+ `(${pattern_1.matchAnyPattern(constants_1.MONTH_DICTIONARY)})` +
16
+ `(?:` +
17
+ `(?:-|\\/|,?\\s{0,3})` +
18
+ `(${constants_2.YEAR_PATTERN}(?![^\\s]\\d))` +
19
+ `)?` +
20
+ `${constants_1.REGEX_PARTS.rightBoundary}`, constants_1.REGEX_PARTS.flags);
21
+ const DATE_GROUP = 1;
22
+ const DATE_TO_GROUP = 2;
23
+ const MONTH_NAME_GROUP = 3;
24
+ const YEAR_GROUP = 4;
25
+ class UKMonthNameLittleEndianParser extends AbstractParserWithWordBoundary_1.AbstractParserWithWordBoundaryChecking {
26
+ patternLeftBoundary() {
27
+ return constants_1.REGEX_PARTS.leftBoundary;
28
+ }
29
+ innerPattern() {
30
+ return PATTERN;
31
+ }
32
+ innerExtract(context, match) {
33
+ const result = context.createParsingResult(match.index, match[0]);
34
+ const month = constants_1.MONTH_DICTIONARY[match[MONTH_NAME_GROUP].toLowerCase()];
35
+ const day = constants_3.parseOrdinalNumberPattern(match[DATE_GROUP]);
36
+ if (day > 31) {
37
+ match.index = match.index + match[DATE_GROUP].length;
38
+ return null;
39
+ }
40
+ result.start.assign("month", month);
41
+ result.start.assign("day", day);
42
+ if (match[YEAR_GROUP]) {
43
+ const yearNumber = constants_2.parseYearPattern(match[YEAR_GROUP]);
44
+ result.start.assign("year", yearNumber);
45
+ }
46
+ else {
47
+ const year = years_1.findYearClosestToRef(context.reference.instant, day, month);
48
+ result.start.imply("year", year);
49
+ }
50
+ if (match[DATE_TO_GROUP]) {
51
+ const endDate = constants_3.parseOrdinalNumberPattern(match[DATE_TO_GROUP]);
52
+ result.end = result.start.clone();
53
+ result.end.assign("day", endDate);
54
+ }
55
+ return result;
56
+ }
57
+ }
58
+ exports.default = UKMonthNameLittleEndianParser;
59
+ //# sourceMappingURL=UKMonthNameLittleEndianParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UKMonthNameLittleEndianParser.js","sourceRoot":"","sources":["../../../../../src/locales/uk/parsers/UKMonthNameLittleEndianParser.ts"],"names":[],"mappings":";;AAEA,sDAAkE;AAClE,4CAA6D;AAC7D,4CAA8D;AAC9D,4CAAiF;AACjF,oDAAyD;AACzD,2GAAgH;AAGhH,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,iBAAiB,kCAAsB,GAAG;IAC1C,KAAK;IACL,gCAAgC;IAChC,IAAI,kCAAsB,GAAG;IAC7B,IAAI;IACJ,mCAAmC;IACnC,IAAI,yBAAe,CAAC,4BAAgB,CAAC,GAAG;IACxC,KAAK;IACL,sBAAsB;IACtB,IAAI,wBAAY,gBAAgB;IAChC,IAAI;IACJ,GAAG,uBAAW,CAAC,aAAa,EAAE,EAC9B,uBAAW,CAAC,KAAK,CACpB,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,UAAU,GAAG,CAAC,CAAC;AAErB,MAAqB,6BAA8B,SAAQ,uEAAsC;IAC7F,mBAAmB;QACf,OAAO,uBAAW,CAAC,YAAY,CAAC;IACpC,CAAC;IAED,YAAY;QACR,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAElE,MAAM,KAAK,GAAG,4BAAgB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,qCAAyB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QACzD,IAAI,GAAG,GAAG,EAAE,EAAE;YAEV,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YACrD,OAAO,IAAI,CAAC;SACf;QAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEhC,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;YACnB,MAAM,UAAU,GAAG,4BAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;SAC3C;aAAM;YACH,MAAM,IAAI,GAAG,4BAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACzE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACpC;QAED,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE;YACtB,MAAM,OAAO,GAAG,qCAAyB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;YAEhE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACrC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAxCD,gDAwCC"}
@@ -0,0 +1,7 @@
1
+ import { ParsingContext } from "../../../chrono";
2
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
3
+ export default class UkMonthNameParser extends AbstractParserWithWordBoundaryChecking {
4
+ patternLeftBoundary(): string;
5
+ innerPattern(): RegExp;
6
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): import("..").ParsingResult;
7
+ }