chrono-node 2.3.8 → 2.3.9

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 (331) hide show
  1. package/README.md +2 -2
  2. package/dist/calculation/mergingCalculation.js +1 -0
  3. package/dist/calculation/mergingCalculation.js.map +1 -0
  4. package/dist/calculation/weeks.js +1 -0
  5. package/dist/calculation/weeks.js.map +1 -0
  6. package/dist/calculation/years.js +1 -0
  7. package/dist/calculation/years.js.map +1 -0
  8. package/dist/chrono.js +1 -0
  9. package/dist/chrono.js.map +1 -0
  10. package/dist/common/abstractRefiners.js +1 -0
  11. package/dist/common/abstractRefiners.js.map +1 -0
  12. package/dist/common/casualReferences.d.ts +8 -0
  13. package/dist/common/casualReferences.js +65 -9
  14. package/dist/common/casualReferences.js.map +1 -0
  15. package/dist/common/parsers/AbstractParserWithWordBoundary.d.ts +1 -0
  16. package/dist/common/parsers/AbstractParserWithWordBoundary.js +5 -1
  17. package/dist/common/parsers/AbstractParserWithWordBoundary.js.map +1 -0
  18. package/dist/common/parsers/AbstractTimeExpressionParser.d.ts +2 -0
  19. package/dist/common/parsers/AbstractTimeExpressionParser.js +40 -27
  20. package/dist/common/parsers/AbstractTimeExpressionParser.js.map +1 -0
  21. package/dist/common/parsers/ISOFormatParser.js +1 -0
  22. package/dist/common/parsers/ISOFormatParser.js.map +1 -0
  23. package/dist/common/parsers/SlashDateFormatParser.js +1 -0
  24. package/dist/common/parsers/SlashDateFormatParser.js.map +1 -0
  25. package/dist/common/refiners/AbstractMergeDateRangeRefiner.js +1 -0
  26. package/dist/common/refiners/AbstractMergeDateRangeRefiner.js.map +1 -0
  27. package/dist/common/refiners/AbstractMergeDateTimeRefiner.js +1 -0
  28. package/dist/common/refiners/AbstractMergeDateTimeRefiner.js.map +1 -0
  29. package/dist/common/refiners/ExtractTimezoneAbbrRefiner.js +1 -0
  30. package/dist/common/refiners/ExtractTimezoneAbbrRefiner.js.map +1 -0
  31. package/dist/common/refiners/ExtractTimezoneOffsetRefiner.js +5 -1
  32. package/dist/common/refiners/ExtractTimezoneOffsetRefiner.js.map +1 -0
  33. package/dist/common/refiners/ForwardDateRefiner.js +1 -0
  34. package/dist/common/refiners/ForwardDateRefiner.js.map +1 -0
  35. package/dist/common/refiners/MergeWeekdayComponentRefiner.js +1 -0
  36. package/dist/common/refiners/MergeWeekdayComponentRefiner.js.map +1 -0
  37. package/dist/common/refiners/OverlapRemovalRefiner.js +1 -0
  38. package/dist/common/refiners/OverlapRemovalRefiner.js.map +1 -0
  39. package/dist/common/refiners/UnlikelyFormatFilter.js +1 -0
  40. package/dist/common/refiners/UnlikelyFormatFilter.js.map +1 -0
  41. package/dist/configurations.js +1 -0
  42. package/dist/configurations.js.map +1 -0
  43. package/dist/debugging.js +1 -0
  44. package/dist/debugging.js.map +1 -0
  45. package/dist/index.d.ts +2 -1
  46. package/dist/index.js +4 -1
  47. package/dist/index.js.map +1 -0
  48. package/dist/locales/de/constants.js +1 -0
  49. package/dist/locales/de/constants.js.map +1 -0
  50. package/dist/locales/de/index.js +1 -0
  51. package/dist/locales/de/index.js.map +1 -0
  52. package/dist/locales/de/parsers/DECasualDateParser.js +1 -0
  53. package/dist/locales/de/parsers/DECasualDateParser.js.map +1 -0
  54. package/dist/locales/de/parsers/DECasualTimeParser.js +1 -0
  55. package/dist/locales/de/parsers/DECasualTimeParser.js.map +1 -0
  56. package/dist/locales/de/parsers/DEMonthNameLittleEndianParser.js +1 -0
  57. package/dist/locales/de/parsers/DEMonthNameLittleEndianParser.js.map +1 -0
  58. package/dist/locales/de/parsers/DESpecificTimeExpressionParser.js +1 -0
  59. package/dist/locales/de/parsers/DESpecificTimeExpressionParser.js.map +1 -0
  60. package/dist/locales/de/parsers/DETimeExpressionParser.js +1 -0
  61. package/dist/locales/de/parsers/DETimeExpressionParser.js.map +1 -0
  62. package/dist/locales/de/parsers/DETimeUnitRelativeFormatParser.js +1 -0
  63. package/dist/locales/de/parsers/DETimeUnitRelativeFormatParser.js.map +1 -0
  64. package/dist/locales/de/parsers/DEWeekdayParser.js +1 -0
  65. package/dist/locales/de/parsers/DEWeekdayParser.js.map +1 -0
  66. package/dist/locales/de/refiners/DEMergeDateRangeRefiner.js +1 -0
  67. package/dist/locales/de/refiners/DEMergeDateRangeRefiner.js.map +1 -0
  68. package/dist/locales/de/refiners/DEMergeDateTimeRefiner.js +1 -0
  69. package/dist/locales/de/refiners/DEMergeDateTimeRefiner.js.map +1 -0
  70. package/dist/locales/en/constants.js +1 -0
  71. package/dist/locales/en/constants.js.map +1 -0
  72. package/dist/locales/en/index.js +1 -0
  73. package/dist/locales/en/index.js.map +1 -0
  74. package/dist/locales/en/parsers/ENCasualDateParser.js +1 -0
  75. package/dist/locales/en/parsers/ENCasualDateParser.js.map +1 -0
  76. package/dist/locales/en/parsers/ENCasualTimeParser.js +1 -0
  77. package/dist/locales/en/parsers/ENCasualTimeParser.js.map +1 -0
  78. package/dist/locales/en/parsers/ENCasualYearMonthDayParser.js +1 -0
  79. package/dist/locales/en/parsers/ENCasualYearMonthDayParser.js.map +1 -0
  80. package/dist/locales/en/parsers/ENMonthNameLittleEndianParser.js +1 -0
  81. package/dist/locales/en/parsers/ENMonthNameLittleEndianParser.js.map +1 -0
  82. package/dist/locales/en/parsers/ENMonthNameMiddleEndianParser.js +1 -0
  83. package/dist/locales/en/parsers/ENMonthNameMiddleEndianParser.js.map +1 -0
  84. package/dist/locales/en/parsers/ENMonthNameParser.js +1 -0
  85. package/dist/locales/en/parsers/ENMonthNameParser.js.map +1 -0
  86. package/dist/locales/en/parsers/ENRelativeDateFormatParser.js +1 -0
  87. package/dist/locales/en/parsers/ENRelativeDateFormatParser.js.map +1 -0
  88. package/dist/locales/en/parsers/ENSlashMonthFormatParser.js +1 -0
  89. package/dist/locales/en/parsers/ENSlashMonthFormatParser.js.map +1 -0
  90. package/dist/locales/en/parsers/ENTimeExpressionParser.js +1 -0
  91. package/dist/locales/en/parsers/ENTimeExpressionParser.js.map +1 -0
  92. package/dist/locales/en/parsers/ENTimeUnitAgoFormatParser.js +1 -0
  93. package/dist/locales/en/parsers/ENTimeUnitAgoFormatParser.js.map +1 -0
  94. package/dist/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js +1 -0
  95. package/dist/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js.map +1 -0
  96. package/dist/locales/en/parsers/ENTimeUnitLaterFormatParser.js +1 -0
  97. package/dist/locales/en/parsers/ENTimeUnitLaterFormatParser.js.map +1 -0
  98. package/dist/locales/en/parsers/ENTimeUnitWithinFormatParser.js +1 -0
  99. package/dist/locales/en/parsers/ENTimeUnitWithinFormatParser.js.map +1 -0
  100. package/dist/locales/en/parsers/ENWeekdayParser.js +1 -0
  101. package/dist/locales/en/parsers/ENWeekdayParser.js.map +1 -0
  102. package/dist/locales/en/refiners/ENMergeDateRangeRefiner.js +1 -0
  103. package/dist/locales/en/refiners/ENMergeDateRangeRefiner.js.map +1 -0
  104. package/dist/locales/en/refiners/ENMergeDateTimeRefiner.js +1 -0
  105. package/dist/locales/en/refiners/ENMergeDateTimeRefiner.js.map +1 -0
  106. package/dist/locales/en/refiners/ENMergeRelativeDateRefiner.js +1 -0
  107. package/dist/locales/en/refiners/ENMergeRelativeDateRefiner.js.map +1 -0
  108. package/dist/locales/fr/constants.js +1 -0
  109. package/dist/locales/fr/constants.js.map +1 -0
  110. package/dist/locales/fr/index.js +1 -0
  111. package/dist/locales/fr/index.js.map +1 -0
  112. package/dist/locales/fr/parsers/FRCasualDateParser.js +1 -0
  113. package/dist/locales/fr/parsers/FRCasualDateParser.js.map +1 -0
  114. package/dist/locales/fr/parsers/FRCasualTimeParser.js +1 -0
  115. package/dist/locales/fr/parsers/FRCasualTimeParser.js.map +1 -0
  116. package/dist/locales/fr/parsers/FRMonthNameLittleEndianParser.js +1 -0
  117. package/dist/locales/fr/parsers/FRMonthNameLittleEndianParser.js.map +1 -0
  118. package/dist/locales/fr/parsers/FRSpecificTimeExpressionParser.js +1 -0
  119. package/dist/locales/fr/parsers/FRSpecificTimeExpressionParser.js.map +1 -0
  120. package/dist/locales/fr/parsers/FRTimeExpressionParser.js +1 -0
  121. package/dist/locales/fr/parsers/FRTimeExpressionParser.js.map +1 -0
  122. package/dist/locales/fr/parsers/FRTimeUnitAgoFormatParser.js +1 -0
  123. package/dist/locales/fr/parsers/FRTimeUnitAgoFormatParser.js.map +1 -0
  124. package/dist/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js +1 -0
  125. package/dist/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js.map +1 -0
  126. package/dist/locales/fr/parsers/FRTimeUnitWithinFormatParser.js +2 -1
  127. package/dist/locales/fr/parsers/FRTimeUnitWithinFormatParser.js.map +1 -0
  128. package/dist/locales/fr/parsers/FRWeekdayParser.js +1 -0
  129. package/dist/locales/fr/parsers/FRWeekdayParser.js.map +1 -0
  130. package/dist/locales/fr/refiners/FRMergeDateRangeRefiner.js +1 -0
  131. package/dist/locales/fr/refiners/FRMergeDateRangeRefiner.js.map +1 -0
  132. package/dist/locales/fr/refiners/FRMergeDateTimeRefiner.js +1 -0
  133. package/dist/locales/fr/refiners/FRMergeDateTimeRefiner.js.map +1 -0
  134. package/dist/locales/ja/constants.js +1 -0
  135. package/dist/locales/ja/constants.js.map +1 -0
  136. package/dist/locales/ja/index.js +1 -0
  137. package/dist/locales/ja/index.js.map +1 -0
  138. package/dist/locales/ja/parsers/JPCasualDateParser.js +1 -0
  139. package/dist/locales/ja/parsers/JPCasualDateParser.js.map +1 -0
  140. package/dist/locales/ja/parsers/JPStandardParser.js +1 -0
  141. package/dist/locales/ja/parsers/JPStandardParser.js.map +1 -0
  142. package/dist/locales/ja/refiners/JPMergeDateRangeRefiner.js +1 -0
  143. package/dist/locales/ja/refiners/JPMergeDateRangeRefiner.js.map +1 -0
  144. package/dist/locales/nl/constants.js +1 -0
  145. package/dist/locales/nl/constants.js.map +1 -0
  146. package/dist/locales/nl/index.js +1 -0
  147. package/dist/locales/nl/index.js.map +1 -0
  148. package/dist/locales/nl/parsers/NLCasualDateParser.js +1 -0
  149. package/dist/locales/nl/parsers/NLCasualDateParser.js.map +1 -0
  150. package/dist/locales/nl/parsers/NLCasualDateTimeParser.js +1 -0
  151. package/dist/locales/nl/parsers/NLCasualDateTimeParser.js.map +1 -0
  152. package/dist/locales/nl/parsers/NLCasualTimeParser.js +1 -0
  153. package/dist/locales/nl/parsers/NLCasualTimeParser.js.map +1 -0
  154. package/dist/locales/nl/parsers/NLCasualYearMonthDayParser.js +1 -0
  155. package/dist/locales/nl/parsers/NLCasualYearMonthDayParser.js.map +1 -0
  156. package/dist/locales/nl/parsers/NLMonthNameMiddleEndianParser.js +1 -0
  157. package/dist/locales/nl/parsers/NLMonthNameMiddleEndianParser.js.map +1 -0
  158. package/dist/locales/nl/parsers/NLMonthNameParser.js +1 -0
  159. package/dist/locales/nl/parsers/NLMonthNameParser.js.map +1 -0
  160. package/dist/locales/nl/parsers/NLRelativeDateFormatParser.js +1 -0
  161. package/dist/locales/nl/parsers/NLRelativeDateFormatParser.js.map +1 -0
  162. package/dist/locales/nl/parsers/NLSlashMonthFormatParser.js +1 -0
  163. package/dist/locales/nl/parsers/NLSlashMonthFormatParser.js.map +1 -0
  164. package/dist/locales/nl/parsers/NLTimeExpressionParser.js +1 -0
  165. package/dist/locales/nl/parsers/NLTimeExpressionParser.js.map +1 -0
  166. package/dist/locales/nl/parsers/NLTimeUnitAgoFormatParser.js +1 -0
  167. package/dist/locales/nl/parsers/NLTimeUnitAgoFormatParser.js.map +1 -0
  168. package/dist/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.js +1 -0
  169. package/dist/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.js.map +1 -0
  170. package/dist/locales/nl/parsers/NLTimeUnitLaterFormatParser.js +1 -0
  171. package/dist/locales/nl/parsers/NLTimeUnitLaterFormatParser.js.map +1 -0
  172. package/dist/locales/nl/parsers/NLTimeUnitWithinFormatParser.js +1 -0
  173. package/dist/locales/nl/parsers/NLTimeUnitWithinFormatParser.js.map +1 -0
  174. package/dist/locales/nl/parsers/NLWeekdayParser.js +1 -0
  175. package/dist/locales/nl/parsers/NLWeekdayParser.js.map +1 -0
  176. package/dist/locales/nl/refiners/NLMergeDateRangeRefiner.js +1 -0
  177. package/dist/locales/nl/refiners/NLMergeDateRangeRefiner.js.map +1 -0
  178. package/dist/locales/nl/refiners/NLMergeDateTimeRefiner.js +1 -0
  179. package/dist/locales/nl/refiners/NLMergeDateTimeRefiner.js.map +1 -0
  180. package/dist/locales/pt/constants.js +1 -0
  181. package/dist/locales/pt/constants.js.map +1 -0
  182. package/dist/locales/pt/index.js +1 -0
  183. package/dist/locales/pt/index.js.map +1 -0
  184. package/dist/locales/pt/parsers/PTCasualDateParser.js +1 -0
  185. package/dist/locales/pt/parsers/PTCasualDateParser.js.map +1 -0
  186. package/dist/locales/pt/parsers/PTCasualTimeParser.js +1 -0
  187. package/dist/locales/pt/parsers/PTCasualTimeParser.js.map +1 -0
  188. package/dist/locales/pt/parsers/PTMonthNameLittleEndianParser.js +1 -0
  189. package/dist/locales/pt/parsers/PTMonthNameLittleEndianParser.js.map +1 -0
  190. package/dist/locales/pt/parsers/PTTimeExpressionParser.js +1 -0
  191. package/dist/locales/pt/parsers/PTTimeExpressionParser.js.map +1 -0
  192. package/dist/locales/pt/parsers/PTWeekdayParser.js +1 -0
  193. package/dist/locales/pt/parsers/PTWeekdayParser.js.map +1 -0
  194. package/dist/locales/pt/refiners/PTMergeDateRangeRefiner.js +1 -0
  195. package/dist/locales/pt/refiners/PTMergeDateRangeRefiner.js.map +1 -0
  196. package/dist/locales/pt/refiners/PTMergeDateTimeRefiner.js +1 -0
  197. package/dist/locales/pt/refiners/PTMergeDateTimeRefiner.js.map +1 -0
  198. package/dist/locales/ru/constants.d.ts +33 -0
  199. package/dist/locales/ru/constants.js +302 -0
  200. package/dist/locales/ru/constants.js.map +1 -0
  201. package/dist/locales/ru/index.d.ts +8 -0
  202. package/dist/locales/ru/index.js +56 -0
  203. package/dist/locales/ru/index.js.map +1 -0
  204. package/dist/locales/ru/parsers/RUCasualDateParser.d.ts +8 -0
  205. package/dist/locales/ru/parsers/RUCasualDateParser.js +52 -0
  206. package/dist/locales/ru/parsers/RUCasualDateParser.js.map +1 -0
  207. package/dist/locales/ru/parsers/RUCasualTimeParser.d.ts +7 -0
  208. package/dist/locales/ru/parsers/RUCasualTimeParser.js +74 -0
  209. package/dist/locales/ru/parsers/RUCasualTimeParser.js.map +1 -0
  210. package/dist/locales/ru/parsers/RUMonthNameLittleEndianParser.d.ts +8 -0
  211. package/dist/locales/ru/parsers/RUMonthNameLittleEndianParser.js +59 -0
  212. package/dist/locales/ru/parsers/RUMonthNameLittleEndianParser.js.map +1 -0
  213. package/dist/locales/ru/parsers/RUMonthNameParser.d.ts +7 -0
  214. package/dist/locales/ru/parsers/RUMonthNameParser.js +45 -0
  215. package/dist/locales/ru/parsers/RUMonthNameParser.js.map +1 -0
  216. package/dist/locales/ru/parsers/RURelativeDateFormatParser.d.ts +8 -0
  217. package/dist/locales/ru/parsers/RURelativeDateFormatParser.js +60 -0
  218. package/dist/locales/ru/parsers/RURelativeDateFormatParser.js.map +1 -0
  219. package/dist/locales/ru/parsers/RUTimeExpressionParser.d.ts +12 -0
  220. package/dist/locales/ru/parsers/RUTimeExpressionParser.js +57 -0
  221. package/dist/locales/ru/parsers/RUTimeExpressionParser.js.map +1 -0
  222. package/dist/locales/ru/parsers/RUTimeUnitAgoFormatParser.d.ts +8 -0
  223. package/dist/locales/ru/parsers/RUTimeUnitAgoFormatParser.js +22 -0
  224. package/dist/locales/ru/parsers/RUTimeUnitAgoFormatParser.js.map +1 -0
  225. package/dist/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.d.ts +8 -0
  226. package/dist/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.js +29 -0
  227. package/dist/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.js.map +1 -0
  228. package/dist/locales/ru/parsers/RUTimeUnitWithinFormatParser.d.ts +8 -0
  229. package/dist/locales/ru/parsers/RUTimeUnitWithinFormatParser.js +22 -0
  230. package/dist/locales/ru/parsers/RUTimeUnitWithinFormatParser.js.map +1 -0
  231. package/dist/locales/ru/parsers/RUWeekdayParser.d.ts +8 -0
  232. package/dist/locales/ru/parsers/RUWeekdayParser.js +55 -0
  233. package/dist/locales/ru/parsers/RUWeekdayParser.js.map +1 -0
  234. package/dist/locales/ru/refiners/RUMergeDateRangeRefiner.d.ts +4 -0
  235. package/dist/locales/ru/refiners/RUMergeDateRangeRefiner.js +13 -0
  236. package/dist/locales/ru/refiners/RUMergeDateRangeRefiner.js.map +1 -0
  237. package/dist/locales/ru/refiners/RUMergeDateTimeRefiner.d.ts +4 -0
  238. package/dist/locales/ru/refiners/RUMergeDateTimeRefiner.js +13 -0
  239. package/dist/locales/ru/refiners/RUMergeDateTimeRefiner.js.map +1 -0
  240. package/dist/locales/zh/hans/constants.js +1 -0
  241. package/dist/locales/zh/hans/constants.js.map +1 -0
  242. package/dist/locales/zh/hans/index.js +1 -0
  243. package/dist/locales/zh/hans/index.js.map +1 -0
  244. package/dist/locales/zh/hans/parsers/ZHHansCasualDateParser.js +1 -0
  245. package/dist/locales/zh/hans/parsers/ZHHansCasualDateParser.js.map +1 -0
  246. package/dist/locales/zh/hans/parsers/ZHHansDateParser.js +1 -0
  247. package/dist/locales/zh/hans/parsers/ZHHansDateParser.js.map +1 -0
  248. package/dist/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.js +1 -0
  249. package/dist/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.js.map +1 -0
  250. package/dist/locales/zh/hans/parsers/ZHHansRelationWeekdayParser.js +1 -0
  251. package/dist/locales/zh/hans/parsers/ZHHansRelationWeekdayParser.js.map +1 -0
  252. package/dist/locales/zh/hans/parsers/ZHHansTimeExpressionParser.js +1 -0
  253. package/dist/locales/zh/hans/parsers/ZHHansTimeExpressionParser.js.map +1 -0
  254. package/dist/locales/zh/hans/parsers/ZHHansWeekdayParser.js +1 -0
  255. package/dist/locales/zh/hans/parsers/ZHHansWeekdayParser.js.map +1 -0
  256. package/dist/locales/zh/hans/refiners/ZHHansMergeDateRangeRefiner.js +1 -0
  257. package/dist/locales/zh/hans/refiners/ZHHansMergeDateRangeRefiner.js.map +1 -0
  258. package/dist/locales/zh/hans/refiners/ZHHansMergeDateTimeRefiner.js +1 -0
  259. package/dist/locales/zh/hans/refiners/ZHHansMergeDateTimeRefiner.js.map +1 -0
  260. package/dist/locales/zh/hant/constants.js +1 -0
  261. package/dist/locales/zh/hant/constants.js.map +1 -0
  262. package/dist/locales/zh/hant/index.js +1 -0
  263. package/dist/locales/zh/hant/index.js.map +1 -0
  264. package/dist/locales/zh/hant/parsers/ZHHantCasualDateParser.js +1 -0
  265. package/dist/locales/zh/hant/parsers/ZHHantCasualDateParser.js.map +1 -0
  266. package/dist/locales/zh/hant/parsers/ZHHantDateParser.js +1 -0
  267. package/dist/locales/zh/hant/parsers/ZHHantDateParser.js.map +1 -0
  268. package/dist/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.js +1 -0
  269. package/dist/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.js.map +1 -0
  270. package/dist/locales/zh/hant/parsers/ZHHantRelationWeekdayParser.js +1 -0
  271. package/dist/locales/zh/hant/parsers/ZHHantRelationWeekdayParser.js.map +1 -0
  272. package/dist/locales/zh/hant/parsers/ZHHantTimeExpressionParser.js +1 -0
  273. package/dist/locales/zh/hant/parsers/ZHHantTimeExpressionParser.js.map +1 -0
  274. package/dist/locales/zh/hant/parsers/ZHHantWeekdayParser.js +1 -0
  275. package/dist/locales/zh/hant/parsers/ZHHantWeekdayParser.js.map +1 -0
  276. package/dist/locales/zh/hant/refiners/ZHHantMergeDateRangeRefiner.js +1 -0
  277. package/dist/locales/zh/hant/refiners/ZHHantMergeDateRangeRefiner.js.map +1 -0
  278. package/dist/locales/zh/hant/refiners/ZHHantMergeDateTimeRefiner.js +1 -0
  279. package/dist/locales/zh/hant/refiners/ZHHantMergeDateTimeRefiner.js.map +1 -0
  280. package/dist/locales/zh/index.d.ts +1 -1
  281. package/dist/locales/zh/index.js +14 -2
  282. package/dist/locales/zh/index.js.map +1 -0
  283. package/dist/results.d.ts +2 -2
  284. package/dist/results.js +1 -0
  285. package/dist/results.js.map +1 -0
  286. package/dist/timezone.js +1 -0
  287. package/dist/timezone.js.map +1 -0
  288. package/dist/utils/dayjs.js +1 -0
  289. package/dist/utils/dayjs.js.map +1 -0
  290. package/dist/utils/pattern.js +1 -0
  291. package/dist/utils/pattern.js.map +1 -0
  292. package/dist/utils/timeunits.js +1 -0
  293. package/dist/utils/timeunits.js.map +1 -0
  294. package/package.json +1 -1
  295. package/src/common/casualReferences.ts +64 -9
  296. package/src/common/parsers/AbstractParserWithWordBoundary.ts +5 -1
  297. package/src/common/parsers/AbstractTimeExpressionParser.ts +52 -28
  298. package/src/common/refiners/ExtractTimezoneOffsetRefiner.ts +5 -1
  299. package/src/index.ts +2 -1
  300. package/src/locales/fr/parsers/FRTimeUnitWithinFormatParser.ts +1 -1
  301. package/src/locales/ru/constants.ts +344 -0
  302. package/src/locales/ru/index.ts +84 -0
  303. package/src/locales/ru/parsers/RUCasualDateParser.ts +44 -0
  304. package/src/locales/ru/parsers/RUCasualTimeParser.ts +56 -0
  305. package/src/locales/ru/parsers/RUMonthNameLittleEndianParser.ts +72 -0
  306. package/src/locales/ru/parsers/RUMonthNameParser.ts +61 -0
  307. package/src/locales/ru/parsers/RURelativeDateFormatParser.ts +75 -0
  308. package/src/locales/ru/parsers/RUTimeExpressionParser.ts +64 -0
  309. package/src/locales/ru/parsers/RUTimeUnitAgoFormatParser.ts +24 -0
  310. package/src/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.ts +34 -0
  311. package/src/locales/ru/parsers/RUTimeUnitWithinFormatParser.ts +24 -0
  312. package/src/locales/ru/parsers/RUWeekdayParser.ts +63 -0
  313. package/src/locales/ru/refiners/RUMergeDateRangeRefiner.ts +13 -0
  314. package/src/locales/ru/refiners/RUMergeDateTimeRefiner.ts +13 -0
  315. package/src/locales/zh/index.ts +1 -1
  316. package/src/results.ts +3 -3
  317. package/src/utils/timeunits.ts +2 -2
  318. package/test/en/en_relative.test.ts +6 -0
  319. package/test/en/en_timezone_exp.test.ts +27 -0
  320. package/test/en/negative_cases.test.ts +8 -0
  321. package/test/fr/fr_time_units_within.test.ts +7 -0
  322. package/test/ru/ru_casual.test.ts +147 -0
  323. package/test/ru/ru_month.test.ts +70 -0
  324. package/test/ru/ru_month_name_little_endian.test.ts +145 -0
  325. package/test/ru/ru_relative.test.ts +74 -0
  326. package/test/ru/ru_time_exp.test.ts +111 -0
  327. package/test/ru/ru_time_units_ago.test.ts +48 -0
  328. package/test/ru/ru_time_units_casual_relative.test.ts +112 -0
  329. package/test/ru/ru_time_units_within.test.ts +16 -0
  330. package/test/ru/ru_weekday.test.ts +52 -0
  331. package/tsconfig.json +1 -1
@@ -0,0 +1,302 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseTimeUnits = exports.TIME_UNITS_PATTERN = exports.parseYear = 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
+ понедельник: 1,
17
+ понедельника: 1,
18
+ пн: 1,
19
+ "пн.": 1,
20
+ вторник: 2,
21
+ вторника: 2,
22
+ вт: 2,
23
+ "вт.": 2,
24
+ среда: 3,
25
+ среды: 3,
26
+ среду: 3,
27
+ ср: 3,
28
+ "ср.": 3,
29
+ четверг: 4,
30
+ четверга: 4,
31
+ чт: 4,
32
+ "чт.": 4,
33
+ пятница: 5,
34
+ пятницу: 5,
35
+ пятницы: 5,
36
+ пт: 5,
37
+ "пт.": 5,
38
+ суббота: 6,
39
+ субботу: 6,
40
+ субботы: 6,
41
+ сб: 6,
42
+ "сб.": 6,
43
+ };
44
+ exports.FULL_MONTH_NAME_DICTIONARY = {
45
+ январь: 1,
46
+ января: 1,
47
+ январе: 1,
48
+ февряль: 2,
49
+ февряля: 2,
50
+ февряле: 2,
51
+ март: 3,
52
+ марта: 3,
53
+ марте: 3,
54
+ апрель: 4,
55
+ апреля: 4,
56
+ апреле: 4,
57
+ май: 5,
58
+ мая: 5,
59
+ мае: 5,
60
+ июнь: 6,
61
+ июня: 6,
62
+ июне: 6,
63
+ июль: 7,
64
+ июля: 7,
65
+ июле: 7,
66
+ август: 8,
67
+ августа: 8,
68
+ августе: 8,
69
+ сентябрь: 9,
70
+ сентября: 9,
71
+ сентябре: 9,
72
+ октябрь: 10,
73
+ октября: 10,
74
+ октябре: 10,
75
+ ноябрь: 11,
76
+ ноября: 11,
77
+ ноябре: 11,
78
+ декабрь: 12,
79
+ декабря: 12,
80
+ декабре: 12,
81
+ };
82
+ exports.MONTH_DICTIONARY = Object.assign(Object.assign({}, exports.FULL_MONTH_NAME_DICTIONARY), { янв: 1, "янв.": 1, фев: 2, "фев.": 2, мар: 3, "мар.": 3, апр: 4, "апр.": 4, авг: 8, "авг.": 8, сен: 9, "сен.": 9, окт: 10, "окт.": 10, ноя: 11, "ноя.": 11, дек: 12, "дек.": 12 });
83
+ exports.INTEGER_WORD_DICTIONARY = {
84
+ один: 1,
85
+ одна: 1,
86
+ одной: 1,
87
+ одну: 1,
88
+ две: 2,
89
+ два: 2,
90
+ двух: 2,
91
+ три: 3,
92
+ трех: 3,
93
+ трёх: 3,
94
+ четыре: 4,
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
+ секундочку: "second",
188
+ мин: "minute",
189
+ минута: "minute",
190
+ минут: "minute",
191
+ минуты: "minute",
192
+ минуту: "minute",
193
+ минуток: "minute",
194
+ минутки: "minute",
195
+ минутку: "minute",
196
+ час: "hour",
197
+ часов: "hour",
198
+ часа: "hour",
199
+ часу: "hour",
200
+ часиков: "hour",
201
+ часика: "hour",
202
+ часике: "hour",
203
+ часик: "hour",
204
+ день: "d",
205
+ дня: "d",
206
+ дней: "d",
207
+ суток: "d",
208
+ сутки: "d",
209
+ неделя: "week",
210
+ неделе: "week",
211
+ недели: "week",
212
+ неделю: "week",
213
+ недель: "week",
214
+ недельке: "week",
215
+ недельки: "week",
216
+ неделек: "week",
217
+ месяц: "month",
218
+ месяце: "month",
219
+ месяцев: "month",
220
+ месяца: "month",
221
+ квартал: "quarter",
222
+ квартале: "quarter",
223
+ кварталов: "quarter",
224
+ год: "year",
225
+ года: "year",
226
+ году: "year",
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 3;
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
+ let num = match.toLowerCase();
257
+ if (exports.ORDINAL_WORD_DICTIONARY[num] !== undefined) {
258
+ return exports.ORDINAL_WORD_DICTIONARY[num];
259
+ }
260
+ num = num.replace(/(?:st|nd|rd|th)$/i, "");
261
+ return parseInt(num);
262
+ }
263
+ exports.parseOrdinalNumberPattern = parseOrdinalNumberPattern;
264
+ const year = "(?:\\s+(?:году|года|год|г|г.))?";
265
+ exports.YEAR_PATTERN = `(?:[1-9][0-9]{0,3}${year}\\s*(?:н.э.|до н.э.|н. э.|до н. э.)|[1-2][0-9]{3}${year}|[5-9][0-9]${year})`;
266
+ function parseYear(match) {
267
+ if (/(год|года|г|г.)/i.test(match)) {
268
+ match = match.replace(/(год|года|г|г.)/i, "");
269
+ }
270
+ if (/(до н.э.|до н. э.)/i.test(match)) {
271
+ match = match.replace(/(до н.э.|до н. э.)/i, "");
272
+ return -parseInt(match);
273
+ }
274
+ if (/(н. э.|н.э.)/i.test(match)) {
275
+ match = match.replace(/(н. э.|н.э.)/i, "");
276
+ return parseInt(match);
277
+ }
278
+ const rawYearNumber = parseInt(match);
279
+ return years_1.findMostLikelyADYear(rawYearNumber);
280
+ }
281
+ exports.parseYear = parseYear;
282
+ const SINGLE_TIME_UNIT_PATTERN = `(${exports.NUMBER_PATTERN})\\s{0,3}(${pattern_1.matchAnyPattern(exports.TIME_UNIT_DICTIONARY)})`;
283
+ const SINGLE_TIME_UNIT_REGEX = new RegExp(SINGLE_TIME_UNIT_PATTERN, "i");
284
+ exports.TIME_UNITS_PATTERN = pattern_1.repeatedTimeunitPattern(`(?:(?:около|примерно)\\s{0,3})?`, SINGLE_TIME_UNIT_PATTERN);
285
+ function parseTimeUnits(timeunitText) {
286
+ const fragments = {};
287
+ let remainingText = timeunitText;
288
+ let match = SINGLE_TIME_UNIT_REGEX.exec(remainingText);
289
+ while (match) {
290
+ collectDateTimeFragment(fragments, match);
291
+ remainingText = remainingText.substring(match[0].length).trim();
292
+ match = SINGLE_TIME_UNIT_REGEX.exec(remainingText);
293
+ }
294
+ return fragments;
295
+ }
296
+ exports.parseTimeUnits = parseTimeUnits;
297
+ function collectDateTimeFragment(fragments, match) {
298
+ const num = parseNumberPattern(match[1]);
299
+ const unit = exports.TIME_UNIT_DICTIONARY[match[2].toLowerCase()];
300
+ fragments[unit] = num;
301
+ }
302
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/locales/ru/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ParsedResult, ParsingOption } from "../../index";
2
+ import { Chrono, Configuration } from "../../chrono";
3
+ export declare const casual: Chrono;
4
+ export declare const strict: Chrono;
5
+ export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
6
+ export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
7
+ export declare function createCasualConfiguration(): Configuration;
8
+ export declare function createConfiguration(strictMode?: boolean): Configuration;
@@ -0,0 +1,56 @@
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.createConfiguration = exports.createCasualConfiguration = exports.parseDate = exports.parse = exports.strict = exports.casual = void 0;
7
+ const RUTimeUnitWithinFormatParser_1 = __importDefault(require("./parsers/RUTimeUnitWithinFormatParser"));
8
+ const RUMonthNameLittleEndianParser_1 = __importDefault(require("./parsers/RUMonthNameLittleEndianParser"));
9
+ const RUMonthNameParser_1 = __importDefault(require("./parsers/RUMonthNameParser"));
10
+ const RUTimeExpressionParser_1 = __importDefault(require("./parsers/RUTimeExpressionParser"));
11
+ const RUTimeUnitAgoFormatParser_1 = __importDefault(require("./parsers/RUTimeUnitAgoFormatParser"));
12
+ const RUMergeDateRangeRefiner_1 = __importDefault(require("./refiners/RUMergeDateRangeRefiner"));
13
+ const RUMergeDateTimeRefiner_1 = __importDefault(require("./refiners/RUMergeDateTimeRefiner"));
14
+ const configurations_1 = require("../../configurations");
15
+ const RUCasualDateParser_1 = __importDefault(require("./parsers/RUCasualDateParser"));
16
+ const RUCasualTimeParser_1 = __importDefault(require("./parsers/RUCasualTimeParser"));
17
+ const RUWeekdayParser_1 = __importDefault(require("./parsers/RUWeekdayParser"));
18
+ const RURelativeDateFormatParser_1 = __importDefault(require("./parsers/RURelativeDateFormatParser"));
19
+ const chrono_1 = require("../../chrono");
20
+ const SlashDateFormatParser_1 = __importDefault(require("../../common/parsers/SlashDateFormatParser"));
21
+ const RUTimeUnitCasualRelativeFormatParser_1 = __importDefault(require("./parsers/RUTimeUnitCasualRelativeFormatParser"));
22
+ exports.casual = new chrono_1.Chrono(createCasualConfiguration());
23
+ exports.strict = new chrono_1.Chrono(createConfiguration(true));
24
+ function parse(text, ref, option) {
25
+ return exports.casual.parse(text, ref, option);
26
+ }
27
+ exports.parse = parse;
28
+ function parseDate(text, ref, option) {
29
+ return exports.casual.parseDate(text, ref, option);
30
+ }
31
+ exports.parseDate = parseDate;
32
+ function createCasualConfiguration() {
33
+ const option = createConfiguration(false);
34
+ option.parsers.unshift(new RUCasualDateParser_1.default());
35
+ option.parsers.unshift(new RUCasualTimeParser_1.default());
36
+ option.parsers.unshift(new RUMonthNameParser_1.default());
37
+ option.parsers.unshift(new RURelativeDateFormatParser_1.default());
38
+ option.parsers.unshift(new RUTimeUnitCasualRelativeFormatParser_1.default());
39
+ return option;
40
+ }
41
+ exports.createCasualConfiguration = createCasualConfiguration;
42
+ function createConfiguration(strictMode = true) {
43
+ return configurations_1.includeCommonConfiguration({
44
+ parsers: [
45
+ new SlashDateFormatParser_1.default(true),
46
+ new RUTimeUnitWithinFormatParser_1.default(),
47
+ new RUMonthNameLittleEndianParser_1.default(),
48
+ new RUWeekdayParser_1.default(),
49
+ new RUTimeExpressionParser_1.default(strictMode),
50
+ new RUTimeUnitAgoFormatParser_1.default(),
51
+ ],
52
+ refiners: [new RUMergeDateTimeRefiner_1.default(), new RUMergeDateRangeRefiner_1.default()],
53
+ }, strictMode);
54
+ }
55
+ exports.createConfiguration = createConfiguration;
56
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/locales/ru/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;AAG9E,yCAAqD;AACrD,uGAA+E;AAC/E,0HAAkG;AAKrF,QAAA,MAAM,GAAG,IAAI,eAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAKjD,QAAA,MAAM,GAAG,IAAI,eAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;AAK5D,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;AAMD,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,UAAU,GAAG,IAAI;IACjD,OAAO,2CAA0B,CAC7B;QACI,OAAO,EAAE;YACL,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;AAfD,kDAeC"}
@@ -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 RUCasualDateParser extends AbstractParserWithWordBoundaryChecking {
5
+ patternLeftBoundary(): string;
6
+ innerPattern(context: ParsingContext): RegExp;
7
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): ParsingComponents | ParsingResult;
8
+ }
@@ -0,0 +1,52 @@
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 RUCasualDateParser 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.theDayBefore(context.reference, 2);
47
+ }
48
+ return component;
49
+ }
50
+ }
51
+ exports.default = RUCasualDateParser;
52
+ //# sourceMappingURL=RUCasualDateParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RUCasualDateParser.js","sourceRoot":"","sources":["../../../../src/locales/ru/parsers/RUCasualDateParser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA,2GAAgH;AAChH,6EAA+D;AAC/D,4CAA2C;AAE3C,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,4DAA4D,uBAAW,CAAC,aAAa,EAAE,EACvF,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,SAAS;gBACV,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,WAAW;gBACZ,OAAO,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;SAC5D;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAhCD,qCAgCC"}
@@ -0,0 +1,7 @@
1
+ import { ParsingContext } from "../../../chrono";
2
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
3
+ export default class RUCasualTimeParser extends AbstractParserWithWordBoundaryChecking {
4
+ patternLeftBoundary(): string;
5
+ innerPattern(): RegExp;
6
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../../../results").ParsingComponents;
7
+ }
@@ -0,0 +1,74 @@
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*ночью|ночью|этим утром|утром|утра|в\\s*полдень|вечером|вечера|в\\s*полночь)` +
31
+ `${constants_1.REGEX_PARTS.rightBoundary}`, constants_1.REGEX_PARTS.flags);
32
+ class RUCasualTimeParser 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.refDate);
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("утра")) {
50
+ return references.morning(context.reference);
51
+ }
52
+ if (lowerText.match(/в\s*полдень/)) {
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", 0);
66
+ }
67
+ if (lowerText.match(/в\s*полночь/) || lowerText.endsWith("ночью")) {
68
+ return references.midnight(context.reference);
69
+ }
70
+ return component;
71
+ }
72
+ }
73
+ exports.default = RUCasualTimeParser;
74
+ //# sourceMappingURL=RUCasualTimeParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RUCasualTimeParser.js","sourceRoot":"","sources":["../../../../src/locales/ru/parsers/RUCasualTimeParser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,2GAAgH;AAChH,6EAA+D;AAC/D,gDAAyD;AACzD,kDAA0B;AAC1B,4CAA2C;AAE3C,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,qKAAqK;IACjK,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,OAAO,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;QAEpD,IAAI,SAAS,KAAK,QAAQ,EAAE;YACxB,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,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC3D,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAChD;QACD,IAAI,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;YAChC,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC7C;QACD,IAAI,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE;YACpC,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,mBAAmB,CAAC,EAAE;YACtC,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,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;AA3CD,qCA2CC"}
@@ -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 RUMonthNameLittleEndianParser 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 RUMonthNameLittleEndianParser 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.parseYear(match[YEAR_GROUP]);
44
+ result.start.assign("year", yearNumber);
45
+ }
46
+ else {
47
+ const year = years_1.findYearClosestToRef(context.refDate, 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 = RUMonthNameLittleEndianParser;
59
+ //# sourceMappingURL=RUMonthNameLittleEndianParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RUMonthNameLittleEndianParser.js","sourceRoot":"","sources":["../../../../src/locales/ru/parsers/RUMonthNameLittleEndianParser.ts"],"names":[],"mappings":";;AAEA,sDAAkE;AAClE,4CAA6D;AAC7D,4CAAuD;AACvD,4CAAiF;AACjF,oDAAyD;AACzD,2GAAgH;AAGhH,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,cAAc,kCAAsB,GAAG;IACnC,KAAK;IACD,gCAAgC;IAChC,IAAI,kCAAsB,GAAG;IACjC,IAAI;IACJ,mCAAmC;IACnC,IAAI,yBAAe,CAAC,4BAAgB,CAAC,GAAG;IACxC,KAAK;IACD,sBAAsB;IACtB,IAAI,wBAAY,gBAAgB;IACpC,IAAI;IACR,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,qBAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;SAC3C;aAAM;YACH,MAAM,IAAI,GAAG,4BAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/D,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 RUMonthNameParser extends AbstractParserWithWordBoundaryChecking {
4
+ patternLeftBoundary(): string;
5
+ innerPattern(): RegExp;
6
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../../../results").ParsingResult;
7
+ }