chrono-node 2.9.2 → 2.10.1

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 (319) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/locales/en/constants.d.ts +1 -1
  3. package/dist/cjs/locales/en/constants.js +1 -1
  4. package/dist/cjs/locales/en/constants.js.map +1 -1
  5. package/dist/cjs/locales/en/parsers/ENMonthNameMiddleEndianParser.js +1 -1
  6. package/dist/cjs/locales/en/parsers/ENMonthNameMiddleEndianParser.js.map +1 -1
  7. package/dist/cjs/locales/fr/constants.js +13 -0
  8. package/dist/cjs/locales/fr/constants.js.map +1 -1
  9. package/dist/cjs/locales/it/configuration.d.ts +5 -0
  10. package/dist/cjs/locales/it/configuration.js +66 -0
  11. package/dist/cjs/locales/it/configuration.js.map +1 -0
  12. package/dist/cjs/locales/it/constants.d.ts +8 -4
  13. package/dist/cjs/locales/it/constants.js +216 -90
  14. package/dist/cjs/locales/it/constants.js.map +1 -1
  15. package/dist/cjs/locales/it/index.d.ts +9 -7
  16. package/dist/cjs/locales/it/index.js +13 -51
  17. package/dist/cjs/locales/it/index.js.map +1 -1
  18. package/dist/cjs/locales/it/parsers/ITCasualDateParser.js +19 -10
  19. package/dist/cjs/locales/it/parsers/ITCasualDateParser.js.map +1 -1
  20. package/dist/cjs/locales/it/parsers/ITCasualTimeParser.d.ts +1 -1
  21. package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js +70 -37
  22. package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js.map +1 -1
  23. package/dist/cjs/locales/it/parsers/ITMonthNameLittleEndianParser.d.ts +1 -1
  24. package/dist/cjs/locales/it/parsers/ITMonthNameLittleEndianParser.js +6 -6
  25. package/dist/cjs/locales/it/parsers/ITMonthNameLittleEndianParser.js.map +1 -1
  26. package/dist/cjs/locales/it/parsers/ITMonthNameMiddleEndianParser.d.ts +4 -2
  27. package/dist/cjs/locales/it/parsers/ITMonthNameMiddleEndianParser.js +17 -6
  28. package/dist/cjs/locales/it/parsers/ITMonthNameMiddleEndianParser.js.map +1 -1
  29. package/dist/cjs/locales/it/parsers/ITMonthNameParser.d.ts +2 -2
  30. package/dist/cjs/locales/it/parsers/ITMonthNameParser.js +5 -4
  31. package/dist/cjs/locales/it/parsers/ITMonthNameParser.js.map +1 -1
  32. package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.js +21 -7
  33. package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.js.map +1 -1
  34. package/dist/cjs/locales/it/parsers/ITSlashMonthFormatParser.d.ts +1 -1
  35. package/dist/cjs/locales/it/parsers/ITSlashMonthFormatParser.js +2 -2
  36. package/dist/cjs/locales/it/parsers/ITTimeExpressionParser.d.ts +3 -2
  37. package/dist/cjs/locales/it/parsers/ITTimeExpressionParser.js +37 -29
  38. package/dist/cjs/locales/it/parsers/ITTimeExpressionParser.js.map +1 -1
  39. package/dist/cjs/locales/it/parsers/ITTimeUnitAgoFormatParser.d.ts +1 -1
  40. package/dist/cjs/locales/it/parsers/ITTimeUnitAgoFormatParser.js +9 -7
  41. package/dist/cjs/locales/it/parsers/ITTimeUnitAgoFormatParser.js.map +1 -1
  42. package/dist/cjs/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.d.ts +3 -1
  43. package/dist/cjs/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js +17 -9
  44. package/dist/cjs/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js.map +1 -1
  45. package/dist/cjs/locales/it/parsers/ITTimeUnitLaterFormatParser.d.ts +1 -1
  46. package/dist/cjs/locales/it/parsers/ITTimeUnitLaterFormatParser.js +9 -6
  47. package/dist/cjs/locales/it/parsers/ITTimeUnitLaterFormatParser.js.map +1 -1
  48. package/dist/cjs/locales/it/parsers/ITTimeUnitWithinFormatParser.d.ts +3 -1
  49. package/dist/cjs/locales/it/parsers/ITTimeUnitWithinFormatParser.js +21 -6
  50. package/dist/cjs/locales/it/parsers/ITTimeUnitWithinFormatParser.js.map +1 -1
  51. package/dist/cjs/locales/it/parsers/ITWeekdayParser.d.ts +1 -1
  52. package/dist/cjs/locales/it/parsers/ITWeekdayParser.js +21 -12
  53. package/dist/cjs/locales/it/parsers/ITWeekdayParser.js.map +1 -1
  54. package/dist/cjs/locales/it/parsers/{ITCasualYearMonthDayParser.d.ts → ITYearMonthDayParser.d.ts} +3 -1
  55. package/dist/cjs/locales/it/parsers/{ITCasualYearMonthDayParser.js → ITYearMonthDayParser.js} +20 -8
  56. package/dist/cjs/locales/it/parsers/ITYearMonthDayParser.js.map +1 -0
  57. package/dist/cjs/locales/it/refiners/ITExtractYearSuffixRefiner.d.ts +5 -0
  58. package/dist/cjs/locales/it/refiners/ITExtractYearSuffixRefiner.js +34 -0
  59. package/dist/cjs/locales/it/refiners/ITExtractYearSuffixRefiner.js.map +1 -0
  60. package/dist/cjs/locales/it/refiners/ITMergeDateRangeRefiner.d.ts +1 -1
  61. package/dist/cjs/locales/it/refiners/ITMergeDateRangeRefiner.js +3 -3
  62. package/dist/cjs/locales/it/refiners/ITMergeDateRangeRefiner.js.map +1 -1
  63. package/dist/cjs/locales/it/refiners/ITMergeDateTimeRefiner.d.ts +1 -1
  64. package/dist/cjs/locales/it/refiners/ITMergeDateTimeRefiner.js +3 -3
  65. package/dist/cjs/locales/it/refiners/ITMergeDateTimeRefiner.js.map +1 -1
  66. package/dist/cjs/locales/it/refiners/ITMergeRelativeAfterDateRefiner.d.ts +6 -0
  67. package/dist/cjs/locales/it/refiners/ITMergeRelativeAfterDateRefiner.js +30 -0
  68. package/dist/cjs/locales/it/refiners/ITMergeRelativeAfterDateRefiner.js.map +1 -0
  69. package/dist/cjs/locales/it/refiners/{ITMergeRelativeDateRefiner.d.ts → ITMergeRelativeFollowByDateRefiner.d.ts} +1 -1
  70. package/dist/cjs/locales/it/refiners/{ITMergeRelativeDateRefiner.js → ITMergeRelativeFollowByDateRefiner.js} +8 -8
  71. package/dist/cjs/locales/it/refiners/ITMergeRelativeFollowByDateRefiner.js.map +1 -0
  72. package/dist/cjs/locales/it/refiners/ITUnlikelyFormatFilter.d.ts +6 -0
  73. package/dist/cjs/locales/it/refiners/ITUnlikelyFormatFilter.js +26 -0
  74. package/dist/cjs/locales/it/refiners/ITUnlikelyFormatFilter.js.map +1 -0
  75. package/dist/cjs/results.js +15 -9
  76. package/dist/cjs/results.js.map +1 -1
  77. package/dist/esm/locales/en/constants.d.ts +1 -1
  78. package/dist/esm/locales/en/constants.js +1 -1
  79. package/dist/esm/locales/en/constants.js.map +1 -1
  80. package/dist/esm/locales/en/parsers/ENMonthNameMiddleEndianParser.js +1 -1
  81. package/dist/esm/locales/en/parsers/ENMonthNameMiddleEndianParser.js.map +1 -1
  82. package/dist/esm/locales/fr/constants.js +13 -0
  83. package/dist/esm/locales/fr/constants.js.map +1 -1
  84. package/dist/esm/locales/it/configuration.d.ts +5 -0
  85. package/dist/esm/locales/it/configuration.js +60 -0
  86. package/dist/esm/locales/it/configuration.js.map +1 -0
  87. package/dist/esm/locales/it/constants.d.ts +8 -4
  88. package/dist/esm/locales/it/constants.js +256 -117
  89. package/dist/esm/locales/it/constants.js.map +1 -1
  90. package/dist/esm/locales/it/index.d.ts +9 -7
  91. package/dist/esm/locales/it/index.js +8 -48
  92. package/dist/esm/locales/it/index.js.map +1 -1
  93. package/dist/esm/locales/it/parsers/ITCasualDateParser.js +19 -10
  94. package/dist/esm/locales/it/parsers/ITCasualDateParser.js.map +1 -1
  95. package/dist/esm/locales/it/parsers/ITCasualTimeParser.d.ts +1 -1
  96. package/dist/esm/locales/it/parsers/ITCasualTimeParser.js +37 -37
  97. package/dist/esm/locales/it/parsers/ITCasualTimeParser.js.map +1 -1
  98. package/dist/esm/locales/it/parsers/ITMonthNameLittleEndianParser.d.ts +1 -1
  99. package/dist/esm/locales/it/parsers/ITMonthNameLittleEndianParser.js +5 -5
  100. package/dist/esm/locales/it/parsers/ITMonthNameLittleEndianParser.js.map +1 -1
  101. package/dist/esm/locales/it/parsers/ITMonthNameMiddleEndianParser.d.ts +4 -2
  102. package/dist/esm/locales/it/parsers/ITMonthNameMiddleEndianParser.js +17 -5
  103. package/dist/esm/locales/it/parsers/ITMonthNameMiddleEndianParser.js.map +1 -1
  104. package/dist/esm/locales/it/parsers/ITMonthNameParser.d.ts +2 -2
  105. package/dist/esm/locales/it/parsers/ITMonthNameParser.js +4 -3
  106. package/dist/esm/locales/it/parsers/ITMonthNameParser.js.map +1 -1
  107. package/dist/esm/locales/it/parsers/ITRelativeDateFormatParser.js +21 -7
  108. package/dist/esm/locales/it/parsers/ITRelativeDateFormatParser.js.map +1 -1
  109. package/dist/esm/locales/it/parsers/ITSlashMonthFormatParser.d.ts +1 -1
  110. package/dist/esm/locales/it/parsers/ITSlashMonthFormatParser.js +1 -1
  111. package/dist/esm/locales/it/parsers/ITTimeExpressionParser.d.ts +3 -2
  112. package/dist/esm/locales/it/parsers/ITTimeExpressionParser.js +35 -27
  113. package/dist/esm/locales/it/parsers/ITTimeExpressionParser.js.map +1 -1
  114. package/dist/esm/locales/it/parsers/ITTimeUnitAgoFormatParser.d.ts +1 -1
  115. package/dist/esm/locales/it/parsers/ITTimeUnitAgoFormatParser.js +9 -7
  116. package/dist/esm/locales/it/parsers/ITTimeUnitAgoFormatParser.js.map +1 -1
  117. package/dist/esm/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.d.ts +3 -1
  118. package/dist/esm/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js +18 -9
  119. package/dist/esm/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js.map +1 -1
  120. package/dist/esm/locales/it/parsers/ITTimeUnitLaterFormatParser.d.ts +1 -1
  121. package/dist/esm/locales/it/parsers/ITTimeUnitLaterFormatParser.js +9 -6
  122. package/dist/esm/locales/it/parsers/ITTimeUnitLaterFormatParser.js.map +1 -1
  123. package/dist/esm/locales/it/parsers/ITTimeUnitWithinFormatParser.d.ts +3 -1
  124. package/dist/esm/locales/it/parsers/ITTimeUnitWithinFormatParser.js +22 -6
  125. package/dist/esm/locales/it/parsers/ITTimeUnitWithinFormatParser.js.map +1 -1
  126. package/dist/esm/locales/it/parsers/ITWeekdayParser.d.ts +1 -1
  127. package/dist/esm/locales/it/parsers/ITWeekdayParser.js +21 -12
  128. package/dist/esm/locales/it/parsers/ITWeekdayParser.js.map +1 -1
  129. package/dist/esm/locales/it/parsers/{ITCasualYearMonthDayParser.d.ts → ITYearMonthDayParser.d.ts} +3 -1
  130. package/dist/esm/locales/it/parsers/{ITCasualYearMonthDayParser.js → ITYearMonthDayParser.js} +20 -7
  131. package/dist/esm/locales/it/parsers/ITYearMonthDayParser.js.map +1 -0
  132. package/dist/esm/locales/it/refiners/ITExtractYearSuffixRefiner.d.ts +5 -0
  133. package/dist/esm/locales/it/refiners/ITExtractYearSuffixRefiner.js +31 -0
  134. package/dist/esm/locales/it/refiners/ITExtractYearSuffixRefiner.js.map +1 -0
  135. package/dist/esm/locales/it/refiners/ITMergeDateRangeRefiner.d.ts +1 -1
  136. package/dist/esm/locales/it/refiners/ITMergeDateRangeRefiner.js +2 -2
  137. package/dist/esm/locales/it/refiners/ITMergeDateRangeRefiner.js.map +1 -1
  138. package/dist/esm/locales/it/refiners/ITMergeDateTimeRefiner.d.ts +1 -1
  139. package/dist/esm/locales/it/refiners/ITMergeDateTimeRefiner.js +2 -2
  140. package/dist/esm/locales/it/refiners/ITMergeDateTimeRefiner.js.map +1 -1
  141. package/dist/esm/locales/it/refiners/ITMergeRelativeAfterDateRefiner.d.ts +6 -0
  142. package/dist/esm/locales/it/refiners/ITMergeRelativeAfterDateRefiner.js +27 -0
  143. package/dist/esm/locales/it/refiners/ITMergeRelativeAfterDateRefiner.js.map +1 -0
  144. package/dist/esm/locales/it/refiners/{ITMergeRelativeDateRefiner.d.ts → ITMergeRelativeFollowByDateRefiner.d.ts} +1 -1
  145. package/dist/esm/locales/it/refiners/{ITMergeRelativeDateRefiner.js → ITMergeRelativeFollowByDateRefiner.js} +7 -7
  146. package/dist/esm/locales/it/refiners/ITMergeRelativeFollowByDateRefiner.js.map +1 -0
  147. package/dist/esm/locales/it/refiners/ITUnlikelyFormatFilter.d.ts +6 -0
  148. package/dist/esm/locales/it/refiners/ITUnlikelyFormatFilter.js +23 -0
  149. package/dist/esm/locales/it/refiners/ITUnlikelyFormatFilter.js.map +1 -0
  150. package/dist/esm/results.js +14 -9
  151. package/dist/esm/results.js.map +1 -1
  152. package/package.json +5 -1
  153. package/src/locales/en/constants.ts +1 -1
  154. package/src/locales/en/parsers/ENMonthNameMiddleEndianParser.ts +1 -1
  155. package/src/locales/fr/constants.ts +13 -0
  156. package/src/locales/it/configuration.ts +85 -0
  157. package/src/locales/it/constants.ts +273 -123
  158. package/src/locales/it/index.ts +14 -73
  159. package/src/locales/it/parsers/ITCasualDateParser.ts +20 -12
  160. package/src/locales/it/parsers/ITCasualTimeParser.ts +39 -44
  161. package/src/locales/it/parsers/ITMonthNameLittleEndianParser.ts +6 -6
  162. package/src/locales/it/parsers/ITMonthNameMiddleEndianParser.ts +34 -17
  163. package/src/locales/it/parsers/ITMonthNameParser.ts +9 -8
  164. package/src/locales/it/parsers/ITRelativeDateFormatParser.ts +33 -12
  165. package/src/locales/it/parsers/ITSlashMonthFormatParser.ts +1 -1
  166. package/src/locales/it/parsers/ITTimeExpressionParser.ts +42 -28
  167. package/src/locales/it/parsers/ITTimeUnitAgoFormatParser.ts +9 -8
  168. package/src/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.ts +21 -11
  169. package/src/locales/it/parsers/ITTimeUnitLaterFormatParser.ts +12 -6
  170. package/src/locales/it/parsers/ITTimeUnitWithinFormatParser.ts +28 -8
  171. package/src/locales/it/parsers/ITWeekdayParser.ts +23 -13
  172. package/src/locales/it/parsers/{ITCasualYearMonthDayParser.ts → ITYearMonthDayParser.ts} +19 -8
  173. package/src/locales/it/refiners/ITExtractYearSuffixRefiner.ts +34 -0
  174. package/src/locales/it/refiners/ITMergeDateRangeRefiner.ts +5 -9
  175. package/src/locales/it/refiners/ITMergeDateTimeRefiner.ts +5 -5
  176. package/src/locales/it/refiners/ITMergeRelativeAfterDateRefiner.ts +46 -0
  177. package/src/locales/it/refiners/{ITMergeRelativeDateRefiner.ts → ITMergeRelativeFollowByDateRefiner.ts} +10 -10
  178. package/src/locales/it/refiners/ITUnlikelyFormatFilter.ts +31 -0
  179. package/src/results.ts +40 -9
  180. package/dist/cjs/locales/it/parsers/ITCasualYearMonthDayParser.js.map +0 -1
  181. package/dist/cjs/locales/it/refiners/ITMergeRelativeDateRefiner.js.map +0 -1
  182. package/dist/esm/locales/it/parsers/ITCasualYearMonthDayParser.js.map +0 -1
  183. package/dist/esm/locales/it/refiners/ITMergeRelativeDateRefiner.js.map +0 -1
  184. package/test/calculation_duration.test.ts +0 -165
  185. package/test/calculation_weekdays.test.ts +0 -133
  186. package/test/de/de_casual.test.ts +0 -336
  187. package/test/de/de_dash.test.ts +0 -32
  188. package/test/de/de_month_name_little_endian.test.ts +0 -273
  189. package/test/de/de_time_exp.test.ts +0 -223
  190. package/test/de/de_time_units_casual_relative.test.ts +0 -120
  191. package/test/de/de_time_units_within.test.ts +0 -119
  192. package/test/de/de_weekday.test.ts +0 -158
  193. package/test/de/de_year.test.ts +0 -147
  194. package/test/debugging.test.ts +0 -17
  195. package/test/en/en.test.ts +0 -191
  196. package/test/en/en_casual.test.ts +0 -425
  197. package/test/en/en_inter_std.test.ts +0 -118
  198. package/test/en/en_merging_relative_dates.test.ts +0 -50
  199. package/test/en/en_month.test.ts +0 -339
  200. package/test/en/en_month_name_little_endian.test.ts +0 -448
  201. package/test/en/en_month_name_middle_endian.test.ts +0 -386
  202. package/test/en/en_performance.test.ts +0 -26
  203. package/test/en/en_relative.test.ts +0 -393
  204. package/test/en/en_slash.test.ts +0 -284
  205. package/test/en/en_time_exp.test.ts +0 -535
  206. package/test/en/en_time_units_ago.test.ts +0 -357
  207. package/test/en/en_time_units_casual_relative.test.ts +0 -186
  208. package/test/en/en_time_units_later.test.ts +0 -361
  209. package/test/en/en_time_units_within.test.ts +0 -417
  210. package/test/en/en_timezone_exp.test.ts +0 -410
  211. package/test/en/en_weekday.test.ts +0 -573
  212. package/test/en/en_year.test.ts +0 -138
  213. package/test/en/en_year_month_day.test.ts +0 -101
  214. package/test/en/negative_cases.test.ts +0 -99
  215. package/test/es/es_casual.test.ts +0 -175
  216. package/test/es/es_month_name_little_endian.test.ts +0 -217
  217. package/test/es/es_slash.test.ts +0 -26
  218. package/test/es/es_time_exp.test.ts +0 -175
  219. package/test/es/es_time_units_within.test.ts +0 -119
  220. package/test/fi/fi_casual.test.ts +0 -99
  221. package/test/fi/fi_casual_time.test.ts +0 -56
  222. package/test/fi/fi_month_name_little_endian.test.ts +0 -50
  223. package/test/fi/fi_time_exp.test.ts +0 -39
  224. package/test/fi/fi_time_units_ago.test.ts +0 -93
  225. package/test/fi/fi_time_units_casual_relative.test.ts +0 -117
  226. package/test/fi/fi_time_units_within.test.ts +0 -74
  227. package/test/fi/fi_weekday.test.ts +0 -90
  228. package/test/fr/fr_casual.test.ts +0 -314
  229. package/test/fr/fr_little_endian.test.ts +0 -320
  230. package/test/fr/fr_slash.test.ts +0 -49
  231. package/test/fr/fr_time_exp.test.ts +0 -588
  232. package/test/fr/fr_time_units_ago.test.ts +0 -103
  233. package/test/fr/fr_time_units_casual_relative.test.ts +0 -114
  234. package/test/fr/fr_time_units_within.test.ts +0 -129
  235. package/test/fr/fr_weekday.test.ts +0 -130
  236. package/test/it/it_casual.test.ts +0 -81
  237. package/test/it/it_month_name_little_endian.test.ts +0 -28
  238. package/test/it/it_month_name_middle_endian.test.ts +0 -39
  239. package/test/it/it_time_exp.test.ts +0 -84
  240. package/test/it/it_weekday.test.ts +0 -37
  241. package/test/it/it_year_month_day.test.ts +0 -41
  242. package/test/ja/ja_casual.test.ts +0 -73
  243. package/test/ja/ja_slash_date_format.test.ts +0 -60
  244. package/test/ja/ja_standard.test.ts +0 -235
  245. package/test/ja/ja_time_exp.test.ts +0 -305
  246. package/test/ja/ja_weekday.test.ts +0 -183
  247. package/test/nl/nl_casual.test.ts +0 -408
  248. package/test/nl/nl_month.test.ts +0 -205
  249. package/test/nl/nl_month_name_little_endian.test.ts +0 -358
  250. package/test/nl/nl_relative.test.ts +0 -242
  251. package/test/nl/nl_slash.test.ts +0 -206
  252. package/test/nl/nl_time_exp.test.ts +0 -79
  253. package/test/nl/nl_time_units_ago.test.ts +0 -243
  254. package/test/nl/nl_time_units_casual_relative.test.ts +0 -130
  255. package/test/nl/nl_time_units_later.test.ts +0 -250
  256. package/test/nl/nl_time_units_within.test.ts +0 -225
  257. package/test/nl/nl_weekday.test.ts +0 -216
  258. package/test/pt/pt_casual.test.ts +0 -175
  259. package/test/pt/pt_month_name_little_endian.test.ts +0 -217
  260. package/test/pt/pt_slash.test.ts +0 -26
  261. package/test/pt/pt_time_exp.test.ts +0 -175
  262. package/test/result.test.ts +0 -283
  263. package/test/ru/ru_casual.test.ts +0 -159
  264. package/test/ru/ru_month.test.ts +0 -70
  265. package/test/ru/ru_month_name_little_endian.test.ts +0 -145
  266. package/test/ru/ru_relative.test.ts +0 -107
  267. package/test/ru/ru_time_exp.test.ts +0 -111
  268. package/test/ru/ru_time_units_ago.test.ts +0 -48
  269. package/test/ru/ru_time_units_casual_relative.test.ts +0 -190
  270. package/test/ru/ru_time_units_within.test.ts +0 -16
  271. package/test/ru/ru_weekday.test.ts +0 -52
  272. package/test/sv/sv_casual.test.ts +0 -87
  273. package/test/sv/sv_month_name_little_endian.test.ts +0 -48
  274. package/test/sv/sv_time_units_casual_relative.test.ts +0 -143
  275. package/test/sv/sv_weekday.test.ts +0 -68
  276. package/test/system.test.ts +0 -247
  277. package/test/system_timezone.test.ts +0 -284
  278. package/test/test_util.ts +0 -135
  279. package/test/uk/uk_casual.test.ts +0 -153
  280. package/test/uk/uk_month.test.ts +0 -70
  281. package/test/uk/uk_month_name_little_endian.test.ts +0 -148
  282. package/test/uk/uk_relative.test.ts +0 -107
  283. package/test/uk/uk_time_exp.test.ts +0 -111
  284. package/test/uk/uk_time_units_ago.test.ts +0 -48
  285. package/test/uk/uk_time_units_casual_relative.test.ts +0 -142
  286. package/test/uk/uk_time_units_within.test.ts +0 -23
  287. package/test/uk/uk_weekday.test.ts +0 -52
  288. package/test/vi/vi_casual.test.ts +0 -84
  289. package/test/vi/vi_casual_time.test.ts +0 -77
  290. package/test/vi/vi_date_range.test.ts +0 -61
  291. package/test/vi/vi_forward_date.test.ts +0 -45
  292. package/test/vi/vi_month_year.test.ts +0 -40
  293. package/test/vi/vi_negative_cases.test.ts +0 -60
  294. package/test/vi/vi_slash.test.ts +0 -36
  295. package/test/vi/vi_standard.test.ts +0 -86
  296. package/test/vi/vi_strict.test.ts +0 -67
  297. package/test/vi/vi_time_exp.test.ts +0 -99
  298. package/test/vi/vi_time_units_ago.test.ts +0 -56
  299. package/test/vi/vi_time_units_casual_relative.test.ts +0 -56
  300. package/test/vi/vi_time_units_later.test.ts +0 -43
  301. package/test/vi/vi_time_units_within.test.ts +0 -24
  302. package/test/vi/vi_weekday.test.ts +0 -77
  303. package/test/vi/vi_year.test.ts +0 -42
  304. package/test/zh/hans/zh_hans_ago.test.ts +0 -58
  305. package/test/zh/hans/zh_hans_casual.test.ts +0 -242
  306. package/test/zh/hans/zh_hans_date.test.ts +0 -116
  307. package/test/zh/hans/zh_hans_deadline.test.ts +0 -175
  308. package/test/zh/hans/zh_hans_time_exp.test.ts +0 -508
  309. package/test/zh/hans/zh_hans_weekday.test.ts +0 -219
  310. package/test/zh/hant/zh_hant_ago.test.ts +0 -58
  311. package/test/zh/hant/zh_hant_casual.test.ts +0 -260
  312. package/test/zh/hant/zh_hant_date.test.ts +0 -116
  313. package/test/zh/hant/zh_hant_deadline.test.ts +0 -136
  314. package/test/zh/hant/zh_hant_time_exp.test.ts +0 -226
  315. package/test/zh/hant/zh_hant_weekday.test.ts +0 -175
  316. package/test/zh/zh.test.ts +0 -36
  317. package/tsconfig.build.esm.json +0 -8
  318. package/tsconfig.build.json +0 -10
  319. package/tsconfig.json +0 -29
@@ -1,284 +0,0 @@
1
- import * as chrono from "../src/";
2
- import { testSingleCase } from "./test_util";
3
-
4
- test("Test - Using reference with timezone", function () {
5
- testSingleCase(
6
- chrono,
7
- "Friday at 4pm",
8
- {
9
- instant: new Date("Wed Jun 09 2021 07:00:00 GMT-0500 (CDT)"),
10
- timezone: "CDT",
11
- },
12
- (result) => {
13
- expect(result).toBeDate(new Date("Fri Jun 11 2021 16:00:00 GMT-0500 (CDT)"));
14
- expect(result).toBeDate(new Date("Sat Jun 12 2021 06:00:00 GMT+0900 (JST)"));
15
- }
16
- );
17
- testSingleCase(
18
- chrono,
19
- "1am",
20
- {
21
- instant: new Date("Wed May 26 2022 01:57:00 GMT-0500 (CDT)"),
22
- timezone: "CDT",
23
- },
24
- (result) => {
25
- expect(result.start.get("year")).toBe(2022);
26
- expect(result.start.get("month")).toBe(5);
27
- expect(result.start.get("day")).toBe(26);
28
- expect(result.start.get("hour")).toBe(1);
29
- }
30
- );
31
- });
32
-
33
- test("Test - Using reference with missing/default timezone", function () {
34
- const INPUT = "Friday at 4pm";
35
- const REF_INSTANT = new Date(2021, 6 - 1, 9, 7, 0, 0);
36
- const EXPECTED_INSTANT = new Date(2021, 6 - 1, 11, 16, 0, 0);
37
-
38
- testSingleCase(chrono, INPUT, REF_INSTANT, (result) => {
39
- expect(result).toBeDate(EXPECTED_INSTANT);
40
- });
41
-
42
- testSingleCase(chrono, INPUT, { instant: REF_INSTANT }, (result) => {
43
- expect(result).toBeDate(EXPECTED_INSTANT);
44
- });
45
-
46
- testSingleCase(chrono, INPUT, { instant: REF_INSTANT, timezone: null }, (result) => {
47
- expect(result).toBeDate(EXPECTED_INSTANT);
48
- });
49
-
50
- testSingleCase(chrono, INPUT, { instant: REF_INSTANT, timezone: "" }, (result) => {
51
- expect(result).toBeDate(EXPECTED_INSTANT);
52
- });
53
- });
54
-
55
- test("Test - Using reference instance with different timezone", function () {
56
- // Sun Jun 06 2021 19:00:00 GMT+0900 (JST)
57
- // Sun Jun 06 2021 11:00:00 GMT+0100 (BST)
58
- const refInstant = new Date("Sun Jun 06 2021 19:00:00 GMT+0900 (JST)");
59
-
60
- // "At 4pm tomorrow" at "Sun Jun 06 2021 11:00:00 (BST)"
61
- testSingleCase(chrono, "At 4pm tomorrow", { instant: refInstant, timezone: "BST" }, (result) => {
62
- const expectedInstant = new Date("Mon Jun 07 2021 16:00:00 GMT+0100 (BST)");
63
- expect(result).toBeDate(expectedInstant);
64
- });
65
-
66
- // "At 4pm tomorrow" at "Sun Jun 06 2021 19:00:00 (JST)"
67
- testSingleCase(chrono, "At 4pm tomorrow", { instant: refInstant, timezone: "JST" }, (result) => {
68
- const expectedInstant = new Date("Mon Jun 07 2021 16:00:00 GMT+0900 (JST)");
69
- expect(result).toBeDate(expectedInstant);
70
- });
71
- });
72
-
73
- test("Test - Using reference instance with custom timezones", function () {
74
- // Sun Jun 06 2021 19:00:00 GMT+0900 (JST)
75
- // Sun Jun 06 2021 11:00:00 GMT+0100 (BST)
76
- const refInstant = new Date("Sun Jun 06 2021 19:00:00 GMT+0900 (JST)");
77
-
78
- // Fictional timezones
79
- const timezones = {
80
- "JJJ": 540, // JJJ => GMT+0900 JST
81
- "BBB": 60, // BBB => GMT+0100 BST
82
- };
83
-
84
- // "At 4pm tomorrow" at "Sun Jun 06 2021 11:00:00 (BBB = BST)"
85
- testSingleCase(
86
- chrono,
87
- "At 4pm tomorrow",
88
- { instant: refInstant, timezone: "BBB" },
89
- { timezones: timezones },
90
- (result) => {
91
- const expectedInstant = new Date("Mon Jun 07 2021 16:00:00 GMT+0100 (BST)");
92
- expect(result).toBeDate(expectedInstant);
93
- }
94
- );
95
-
96
- // "At 4pm tomorrow" at "Sun Jun 06 2021 19:00:00 (JJJ = JST)"
97
- testSingleCase(
98
- chrono,
99
- "At 4pm tomorrow",
100
- { instant: refInstant, timezone: "JJJ" },
101
- { timezones: timezones },
102
- (result) => {
103
- const expectedInstant = new Date("Mon Jun 07 2021 16:00:00 GMT+0900 (JST)");
104
- expect(result).toBeDate(expectedInstant);
105
- }
106
- );
107
- });
108
-
109
- test("Test - Timezone difference on reference date #2", function () {
110
- const refInstant = new Date("2024-02-21T10:00:00+1300");
111
-
112
- testSingleCase(chrono, "yesterday 18:00", { instant: refInstant, timezone: 780 }, (result) => {
113
- // expect(result.start.get("year")).toBe(2024);
114
- // expect(result.start.get("month")).toBe(2);
115
- // expect(result.start.get("day")).toBe(20);
116
- // expect(result).toBeDate(new Date("2024-02-20T18:00:00+1300"));
117
- });
118
- });
119
-
120
- test("Test - Timezone difference on written date", function () {
121
- // Sun Jun 06 2021 19:00:00 GMT+0900 (JST)
122
- // Sun Jun 06 2021 11:00:00 GMT+0100 (BST)
123
- const refInstant = new Date("Sun Jun 06 2021 19:00:00 GMT+0900 (JST)");
124
-
125
- testSingleCase(chrono, "Sun Jun 06 2021 19:00:00", { timezone: "JST" }, (result) => {
126
- expect(result).toBeDate(refInstant);
127
- });
128
-
129
- testSingleCase(chrono, "Sun Jun 06 2021 11:00:00", { timezone: "BST" }, (result) => {
130
- expect(result).toBeDate(refInstant);
131
- });
132
-
133
- testSingleCase(chrono, "Sun Jun 06 2021 11:00:00", { timezone: 60 }, (result) => {
134
- expect(result).toBeDate(refInstant);
135
- });
136
- });
137
-
138
- test("Test - Precise [now] mentioned", function () {
139
- const refDate = new Date("Sat Mar 13 2021 14:22:14 GMT+0900 (Japan Standard Time)");
140
-
141
- testSingleCase(chrono, "now", refDate, (result) => {
142
- expect(result).toBeDate(refDate);
143
- });
144
-
145
- testSingleCase(chrono, "now", { instant: refDate }, (result) => {
146
- expect(result).toBeDate(refDate);
147
- });
148
-
149
- testSingleCase(chrono, "now", { instant: refDate, timezone: 540 }, (result) => {
150
- expect(result).toBeDate(refDate);
151
- });
152
-
153
- testSingleCase(chrono, "now", { instant: refDate, timezone: "JST" }, (result) => {
154
- expect(result).toBeDate(refDate);
155
- });
156
-
157
- testSingleCase(chrono, "now", { instant: refDate, timezone: -300 }, (result) => {
158
- expect(result).toBeDate(refDate);
159
- });
160
- });
161
-
162
- test("Test - Precise date/time mentioned", function () {
163
- const text = "Sat Mar 13 2021 14:22:14 GMT+0900";
164
- const refDate = new Date();
165
-
166
- testSingleCase(chrono, text, refDate, (result, text) => {
167
- expect(result).toBeDate(new Date(text));
168
- });
169
-
170
- testSingleCase(chrono, text, { instant: refDate }, (result) => {
171
- expect(result).toBeDate(new Date(text));
172
- });
173
-
174
- testSingleCase(chrono, text, { instant: refDate, timezone: 540 }, (result) => {
175
- expect(result).toBeDate(new Date(text));
176
- });
177
-
178
- testSingleCase(chrono, text, { instant: refDate, timezone: "JST" }, (result) => {
179
- expect(result).toBeDate(new Date(text));
180
- });
181
-
182
- testSingleCase(chrono, text, { instant: refDate, timezone: -300 }, (result) => {
183
- expect(result).toBeDate(new Date(text));
184
- });
185
- });
186
-
187
- test("Test - Minimize diff because of local timezone (pre-1900)", () => {
188
- // Because of Local mean time (LMT), the local/system timezone my work differently before 1900
189
- // For example:
190
- // - Shanghai LMT in 1900 was +08:05:43
191
- // We expect Chrono to parse this within a few hours precision
192
-
193
- testSingleCase(chrono, "1900-01-01T00:00:00-00:00", (result) => {
194
- const expectedDate = new Date("1900-01-01T00:00:00-00:00");
195
- const differenceMinutes = Math.abs(result.date().getTime() - expectedDate.getTime()) / (1000 * 60);
196
- expect(differenceMinutes).toBeLessThanOrEqual(60);
197
- });
198
-
199
- testSingleCase(chrono, "1900-01-01T00:00:00-01:00", (result) => {
200
- const expectedDate = new Date("1900-01-01T00:00:00-01:00");
201
- const differenceMinutes = Math.abs(result.date().getTime() - expectedDate.getTime()) / (1000 * 60);
202
- expect(differenceMinutes).toBeLessThanOrEqual(60 * 2);
203
- });
204
-
205
- testSingleCase(chrono, "1900-01-01T00:00:00+08:00", (result) => {
206
- const expectedDate = new Date("1900-01-01T00:00:00+08:00");
207
- const differenceMinutes = Math.abs(result.date().getTime() - expectedDate.getTime()) / (1000 * 60);
208
- expect(differenceMinutes).toBeLessThanOrEqual(60 * 2);
209
- });
210
-
211
- testSingleCase(chrono, "1900-01-01T00:00", { timezone: "JST" }, (result) => {
212
- const expectedDate = new Date("1900-01-01T00:00:00+08:00");
213
- const differenceMinutes = Math.abs(result.date().getTime() - expectedDate.getTime()) / (1000 * 60);
214
- expect(differenceMinutes).toBeLessThanOrEqual(60 * 2);
215
- });
216
- });
217
-
218
- test("Test - Timezone DST transitions", function () {
219
- // CT (Central Time) transitions:
220
- // - DST starts: 2nd Sunday of March at 2am
221
- // - DST ends: 1st Sunday of November at 2am
222
- testSingleCase(chrono, "2022-03-12 23:00 CT", (result, text) => {
223
- // Before DST transition, expected: -360
224
- expect(result.text).toBe(text);
225
- expect(result.start.get("hour")).toBe(23);
226
- expect(result.start.get("timezoneOffset")).toBe(-6 * 60);
227
- });
228
- testSingleCase(chrono, "2022-03-13 23:00 CT", (result, text) => {
229
- // Within DST, expect -300 minutes
230
- expect(result.text).toBe(text);
231
- expect(result.start.get("hour")).toBe(23);
232
- expect(result.start.get("timezoneOffset")).toBe(-5 * 60);
233
- });
234
- testSingleCase(chrono, "2022-11-06 23:00 CT", (result, text) => {
235
- // After DST transition, expected: -360
236
- expect(result.text).toBe(text);
237
- expect(result.start.get("hour")).toBe(23);
238
- expect(result.start.get("timezoneOffset")).toBe(-6 * 60);
239
- });
240
-
241
- // MT (Mountain Time) transitions:
242
- // - DST starts: 2nd Sunday of March at 2am
243
- // - DST ends: 1st Sunday of November at 2am
244
- testSingleCase(chrono, "2022-03-12 23:00 MT", (result, text) => {
245
- // Before DST transition, expected: -420
246
- expect(result.text).toBe(text);
247
- expect(result.start.get("hour")).toBe(23);
248
- expect(result.start.get("timezoneOffset")).toBe(-7 * 60);
249
- });
250
- testSingleCase(chrono, "2022-03-13 23:00 MT", (result, text) => {
251
- // Within DST, expected: -360
252
- expect(result.text).toBe(text);
253
- expect(result.start.get("hour")).toBe(23);
254
- expect(result.start.get("timezoneOffset")).toBe(-6 * 60);
255
- });
256
- testSingleCase(chrono, "2022-11-06 23:00 MT", (result, text) => {
257
- // After DST transition, expected: -420
258
- expect(result.text).toBe(text);
259
- expect(result.start.get("hour")).toBe(23);
260
- expect(result.start.get("timezoneOffset")).toBe(-7 * 60);
261
- });
262
-
263
- // PT (Pacific Time) transitions:
264
- // - DST starts: 2nd Sunday of March at 2am
265
- // - DST ends: 1st Sunday of November at 2am
266
- testSingleCase(chrono, "2022-03-12 23:00 PT", (result, text) => {
267
- // Before DST transition, expected: -480
268
- expect(result.text).toBe(text);
269
- expect(result.start.get("hour")).toBe(23);
270
- expect(result.start.get("timezoneOffset")).toBe(-8 * 60);
271
- });
272
- testSingleCase(chrono, "2022-03-13 23:00 PT", (result, text) => {
273
- // Within DST, expected: -420
274
- expect(result.text).toBe(text);
275
- expect(result.start.get("hour")).toBe(23);
276
- expect(result.start.get("timezoneOffset")).toBe(-7 * 60);
277
- });
278
- testSingleCase(chrono, "2022-11-06 23:00 PT", (result, text) => {
279
- // After DST transition, expected: -480
280
- expect(result.text).toBe(text);
281
- expect(result.start.get("hour")).toBe(23);
282
- expect(result.start.get("timezoneOffset")).toBe(-8 * 60);
283
- });
284
- });
package/test/test_util.ts DELETED
@@ -1,135 +0,0 @@
1
- import { BufferedDebugHandler } from "../src/debugging";
2
- import { en, ParsedResult, ParsingOption, ParsingReference } from "../src";
3
-
4
- interface ChronoLike {
5
- parse(text: string, ref?: ParsingReference | Date, option?: ParsingOption): ParsedResult[];
6
- }
7
-
8
- type CheckResult = (p: ParsedResult, text: string) => void;
9
-
10
- export function testSingleCase(chrono: ChronoLike, text: string, checkResult?: CheckResult);
11
- export function testSingleCase(
12
- chrono: ChronoLike,
13
- text: string,
14
- refDateOrCheckResult?: ParsingReference | Date | CheckResult,
15
- checkResult?: CheckResult
16
- );
17
- export function testSingleCase(
18
- chrono: ChronoLike,
19
- text: string,
20
- refDateOrCheckResult?: ParsingReference | Date | CheckResult,
21
- optionOrCheckResult?: ParsingOption | CheckResult,
22
- checkResult?: CheckResult
23
- );
24
- export function testSingleCase(
25
- chrono: ChronoLike,
26
- text: string,
27
- refDateOrCheckResult?: ParsingReference | Date | CheckResult,
28
- optionOrCheckResult?: ParsingOption | CheckResult,
29
- checkResult?: CheckResult
30
- ) {
31
- if (checkResult === undefined && typeof optionOrCheckResult === "function") {
32
- checkResult = optionOrCheckResult;
33
- optionOrCheckResult = undefined;
34
- }
35
-
36
- if (optionOrCheckResult === undefined && typeof refDateOrCheckResult === "function") {
37
- checkResult = refDateOrCheckResult;
38
- refDateOrCheckResult = undefined;
39
- }
40
-
41
- const debugHandler = new BufferedDebugHandler();
42
- optionOrCheckResult = (optionOrCheckResult as ParsingOption) || {};
43
- optionOrCheckResult.debug = debugHandler;
44
-
45
- try {
46
- const results = chrono.parse(text, refDateOrCheckResult as Date, optionOrCheckResult);
47
- expect(results).toBeSingleOnText(text);
48
- if (checkResult) {
49
- checkResult(results[0], text);
50
- }
51
- } catch (e) {
52
- debugHandler.executeBufferedBlocks();
53
- e.stack = e.stack.replace(/[^\n]*at .*test_util.*\n/g, "");
54
- throw e;
55
- }
56
- }
57
-
58
- export function testWithExpectedDate(chrono: ChronoLike, text: string, expectedDate: Date) {
59
- testSingleCase(chrono, text, (result) => {
60
- expect(result.start).toBeDate(expectedDate);
61
- });
62
- }
63
-
64
- export function testUnexpectedResult(chrono: ChronoLike, text: string, refDate?: Date, options?: ParsingOption) {
65
- const debugHandler = new BufferedDebugHandler();
66
- options = options || {};
67
- options.debug = debugHandler;
68
-
69
- try {
70
- const results = chrono.parse(text, refDate, options);
71
- expect(results).toHaveLength(0);
72
- } catch (e) {
73
- debugHandler.executeBufferedBlocks();
74
- e.stack = e.stack.replace(/[^\n]*at .*test_util.*\n/g, "");
75
- throw e;
76
- }
77
- }
78
-
79
- export function measureMilliSec(block: () => void): number {
80
- const startTime = new Date().getMilliseconds();
81
- block();
82
- const endTime = new Date().getMilliseconds();
83
- return endTime - startTime;
84
- }
85
-
86
- // --------------------------------------------------
87
-
88
- declare global {
89
- // eslint-disable-next-line @typescript-eslint/no-namespace
90
- namespace jest {
91
- // noinspection JSUnusedGlobalSymbols
92
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
93
- interface Matchers<R> {
94
- toBeDate(date: Date): CustomMatcherResult;
95
- toBeSingleOnText(text: string): CustomMatcherResult;
96
- }
97
- }
98
- }
99
-
100
- // noinspection JSUnusedGlobalSymbols
101
- expect.extend({
102
- toBeDate(resultOrComponent, date) {
103
- if (typeof resultOrComponent.date !== "function") {
104
- return {
105
- message: () => `${resultOrComponent} is not a ParsedResult or ParsedComponent`,
106
- pass: false,
107
- };
108
- }
109
-
110
- const actualDate = resultOrComponent.date();
111
- const actualTime = actualDate.getTime();
112
- const expectedTime = date.getTime();
113
- return {
114
- message: () => `Expected date to be: ${date} Received: ${actualDate} (${resultOrComponent})`,
115
- pass: actualTime === expectedTime,
116
- };
117
- },
118
-
119
- toBeSingleOnText(results, text) {
120
- if (results.length === 1) {
121
- return {
122
- message: () => `Got single result from '${text}'`,
123
- pass: true,
124
- };
125
- }
126
-
127
- return {
128
- message: () =>
129
- `Got ${results.length} results from '${text}'\n${results
130
- .map((result) => JSON.stringify(result))
131
- .join("\n")}`,
132
- pass: false,
133
- };
134
- },
135
- });
@@ -1,153 +0,0 @@
1
- import * as chrono from "../../src/";
2
- import { testSingleCase, testUnexpectedResult } from "../test_util";
3
-
4
- test("Test - Single Expression", () => {
5
- testSingleCase(chrono.uk.casual, "Дедлайн сьогодні", new Date(2012, 7, 10, 17, 10), (result) => {
6
- expect(result.index).toBe(8);
7
- expect(result.text).toBe("сьогодні");
8
- expect(result.start).toBeDate(new Date(2012, 7, 10, 17, 10));
9
- });
10
-
11
- testSingleCase(chrono.uk.casual, "Дедлайн завтра", new Date(2012, 7, 10, 17, 10), (result) => {
12
- expect(result.index).toBe(8);
13
- expect(result.text).toBe("завтра");
14
- expect(result.start).toBeDate(new Date(2012, 7, 11, 17, 10));
15
- });
16
-
17
- testSingleCase(chrono.uk.casual, "Дедлайн післязавтра", new Date(2012, 7, 10, 17, 10), (result) => {
18
- expect(result.index).toBe(8);
19
- expect(result.text).toBe("післязавтра");
20
- expect(result.start).toBeDate(new Date(2012, 7, 12, 17, 10));
21
- });
22
-
23
- testSingleCase(chrono.uk.casual, "Дедлайн післяпіслязавтра", new Date(2012, 7, 10, 17, 10), (result) => {
24
- expect(result.index).toBe(8);
25
- expect(result.text).toBe("післяпіслязавтра");
26
- expect(result.start).toBeDate(new Date(2012, 7, 13, 17, 10));
27
- });
28
-
29
- testSingleCase(chrono.uk.casual, "Дедлайн вчора", new Date(2012, 7, 10, 17, 10), (result) => {
30
- expect(result.index).toBe(8);
31
- expect(result.text).toBe("вчора");
32
- expect(result.start).toBeDate(new Date(2012, 7, 9, 17, 10));
33
- });
34
-
35
- testSingleCase(chrono.uk.casual, "Дедлайн позавчора", new Date(2012, 7, 10, 17, 10), (result) => {
36
- expect(result.index).toBe(8);
37
- expect(result.text).toBe("позавчора");
38
- expect(result.start).toBeDate(new Date(2012, 7, 8, 17, 10));
39
- });
40
-
41
- testSingleCase(chrono.uk.casual, "Дедлайн позапозавчора", new Date(2012, 7, 10, 17, 10), (result) => {
42
- expect(result.index).toBe(8);
43
- expect(result.text).toBe("позапозавчора");
44
- expect(result.start).toBeDate(new Date(2012, 7, 7, 17, 10));
45
- });
46
-
47
- testSingleCase(chrono.uk.casual, "Дедлайн зараз", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
48
- expect(result.index).toBe(8);
49
- expect(result.text).toBe("зараз");
50
- expect(result.start).toBeDate(result.refDate);
51
- expect(result.start).toBeDate(new Date(2012, 7, 10, 8, 9, 10, 11));
52
- });
53
-
54
- testSingleCase(chrono.uk.casual, "Дедлайн вранці", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
55
- expect(result.index).toBe(8);
56
- expect(result.text).toBe("вранці");
57
- expect(result.start).toBeDate(new Date(2012, 7, 10, 6, 0, 0, 0));
58
- });
59
-
60
- testSingleCase(chrono.uk.casual, "Дедлайн цього ранку", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
61
- expect(result.index).toBe(8);
62
- expect(result.text).toBe("цього ранку");
63
- expect(result.start).toBeDate(new Date(2012, 7, 10, 6, 0, 0, 0));
64
- });
65
-
66
- testSingleCase(chrono.uk.casual, "Дедлайн опівдні", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
67
- expect(result.index).toBe(8);
68
- expect(result.text).toBe("опівдні");
69
- expect(result.start).toBeDate(new Date(2012, 7, 10, 12, 0, 0, 0));
70
- });
71
-
72
- testSingleCase(chrono.uk.casual, "Дедлайн минулого вечора", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
73
- expect(result.index).toBe(8);
74
- expect(result.text).toBe("минулого вечора");
75
- expect(result.start).toBeDate(new Date(2012, 7, 9, 20, 0, 0, 0));
76
- });
77
-
78
- testSingleCase(chrono.uk.casual, "Дедлайн ввечері", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
79
- expect(result.index).toBe(8);
80
- expect(result.text).toBe("ввечері");
81
- expect(result.start).toBeDate(new Date(2012, 7, 10, 20, 0, 0, 0));
82
- });
83
-
84
- testSingleCase(chrono.uk.casual, "Дедлайн минулої ночі", new Date(2012, 7, 10, 8, 9, 10, 11), (result) => {
85
- expect(result.index).toBe(8);
86
- expect(result.text).toBe("минулої ночі");
87
- expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 0, 0, 0));
88
- });
89
-
90
- testSingleCase(chrono.uk.casual, "Дедлайн сьогодні вночі", new Date(2012, 7, 10, 2, 9, 10, 11), (result) => {
91
- expect(result.index).toBe(8);
92
- expect(result.text).toBe("сьогодні вночі");
93
- expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 0, 0, 0));
94
- });
95
-
96
- testSingleCase(chrono.uk.casual, "Дедлайн цієї ночі", new Date(2012, 7, 10, 2, 9, 10, 11), (result) => {
97
- expect(result.index).toBe(8);
98
- expect(result.text).toBe("цієї ночі");
99
- expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 0, 0, 0));
100
- });
101
-
102
- testSingleCase(chrono.uk.casual, "Дедлайн вночі", new Date(2012, 7, 10, 2, 9, 10, 11), (result) => {
103
- expect(result.index).toBe(8);
104
- expect(result.text).toBe("вночі");
105
- expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 0, 0, 0));
106
- });
107
-
108
- testSingleCase(chrono.uk.casual, "Дедлайн опівночі", new Date(2012, 7, 10, 2, 9, 10, 11), (result) => {
109
- expect(result.index).toBe(8);
110
- expect(result.text).toBe("опівночі");
111
- expect(result.start).toBeDate(new Date(2012, 7, 10, 0, 0, 0, 0));
112
- });
113
- });
114
-
115
- test("Test - Combined Expression", () => {
116
- testSingleCase(chrono.uk.casual, "Дедлайн вчора ввечері", new Date(2012, 7, 10, 12), (result) => {
117
- expect(result.index).toBe(8);
118
- expect(result.text).toBe("вчора ввечері");
119
- expect(result.start).toBeDate(new Date(2012, 7, 9, 20));
120
- });
121
-
122
- testSingleCase(chrono.uk.casual, "Дедлайн завтра вранці", new Date(2012, 8, 10, 14), (result) => {
123
- expect(result.index).toBe(8);
124
- expect(result.text).toBe("завтра вранці");
125
- expect(result.start).toBeDate(new Date(2012, 8, 11, 6));
126
- });
127
- });
128
-
129
- test("Test - Casual date range", () => {
130
- testSingleCase(chrono.uk.casual, "Подія від сьогодні і до післязавтра", new Date(2012, 7, 4, 12), (result) => {
131
- expect(result.index).toBe(6);
132
- expect(result.text).toBe("від сьогодні і до післязавтра");
133
- expect(result.start).toBeDate(new Date(2012, 7, 4, 12));
134
- expect(result.end).toBeDate(new Date(2012, 7, 6, 12));
135
- });
136
-
137
- testSingleCase(chrono.uk.casual, "Подія сьогодні-завтра", new Date(2012, 7, 10, 12), (result) => {
138
- expect(result.index).toBe(6);
139
- expect(result.text).toBe("сьогодні-завтра");
140
- expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
141
- expect(result.end).toBeDate(new Date(2012, 7, 11, 12));
142
- });
143
- });
144
-
145
- test("Test - Random negative text", () => {
146
- testUnexpectedResult(chrono.uk, "несьогодні");
147
-
148
- testUnexpectedResult(chrono.uk, "звтра");
149
-
150
- testUnexpectedResult(chrono.uk, "ввчора");
151
-
152
- testUnexpectedResult(chrono.uk, "січен");
153
- });
@@ -1,70 +0,0 @@
1
- import * as chrono from "../../src";
2
- import { testSingleCase } from "../test_util";
3
-
4
- test("Test - Month-Year expression", function () {
5
- testSingleCase(chrono.uk, "Вересень 2012", (result) => {
6
- expect(result.index).toBe(0);
7
- expect(result.text).toBe("Вересень 2012");
8
- expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
9
- });
10
-
11
- testSingleCase(chrono.uk, "верес 2012", (result) => {
12
- expect(result.index).toBe(0);
13
- expect(result.text).toBe("верес 2012");
14
- expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
15
- });
16
-
17
- testSingleCase(chrono.uk, "верес. 2012", (result) => {
18
- expect(result.index).toBe(0);
19
- expect(result.text).toBe("верес. 2012");
20
- expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
21
- });
22
-
23
- testSingleCase(chrono.uk, "верес-2012", (result) => {
24
- expect(result.index).toBe(0);
25
- expect(result.text).toBe("верес-2012");
26
- expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
27
- });
28
- });
29
-
30
- test("Test - Month-Only expression", function () {
31
- testSingleCase(chrono.uk, "в січні", new Date(2020, 11 - 1, 22), (result) => {
32
- expect(result.index).toBe(0);
33
- expect(result.text).toBe("в січні");
34
- expect(result.start).toBeDate(new Date(2021, 1 - 1, 1, 12));
35
- });
36
-
37
- testSingleCase(chrono.uk, "в січ", new Date(2020, 11 - 1, 22), (result) => {
38
- expect(result.index).toBe(0);
39
- expect(result.text).toBe("в січ");
40
- expect(result.start).toBeDate(new Date(2021, 1 - 1, 1, 12));
41
- });
42
-
43
- testSingleCase(chrono.uk, "травень", new Date(2020, 11 - 1, 22), (result) => {
44
- expect(result.index).toBe(0);
45
- expect(result.text).toBe("травень");
46
- expect(result.start).toBeDate(new Date(2021, 5 - 1, 1, 12));
47
- });
48
- });
49
-
50
- test("Test - Month expression in context", function () {
51
- testSingleCase(chrono.uk, "Це було у вересні 2012 перед новим роком", (result) => {
52
- expect(result.index).toBe(8);
53
- expect(result.text).toBe("у вересні 2012");
54
- expect(result.start).toBeDate(new Date(2012, 9 - 1, 1, 12));
55
- });
56
- });
57
-
58
- test("Test - year 90's parsing", () => {
59
- testSingleCase(chrono.uk, "сер 96", new Date(2012, 7, 10), (result) => {
60
- expect(result.index).toBe(0);
61
- expect(result.text).toBe("сер 96");
62
- expect(result.start).toBeDate(new Date(1996, 8 - 1, 1, 12));
63
- });
64
-
65
- testSingleCase(chrono.uk, "96 сер 96", new Date(2012, 7, 10), (result) => {
66
- expect(result.index).toBe(3);
67
- expect(result.text).toBe("сер 96");
68
- expect(result.start).toBeDate(new Date(1996, 8 - 1, 1, 12));
69
- });
70
- });