chrono-node 2.9.1 → 2.10.0

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 (211) hide show
  1. package/dist/cjs/locales/de/parsers/DECasualTimeParser.js +7 -0
  2. package/dist/cjs/locales/de/parsers/DECasualTimeParser.js.map +1 -1
  3. package/dist/cjs/locales/en/configuration.js +2 -0
  4. package/dist/cjs/locales/en/configuration.js.map +1 -1
  5. package/dist/cjs/locales/en/parsers/ENMonthNameLittleEndianParser.js +1 -1
  6. package/dist/cjs/locales/en/parsers/ENMonthNameLittleEndianParser.js.map +1 -1
  7. package/dist/cjs/locales/en/parsers/ENYearMonthNameParser.d.ts +6 -0
  8. package/dist/cjs/locales/en/parsers/ENYearMonthNameParser.js +31 -0
  9. package/dist/cjs/locales/en/parsers/ENYearMonthNameParser.js.map +1 -0
  10. package/dist/cjs/locales/fi/parsers/FICasualTimeParser.js +7 -0
  11. package/dist/cjs/locales/fi/parsers/FICasualTimeParser.js.map +1 -1
  12. package/dist/cjs/locales/fr/parsers/FRCasualTimeParser.js +5 -0
  13. package/dist/cjs/locales/fr/parsers/FRCasualTimeParser.js.map +1 -1
  14. package/dist/cjs/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js +2 -1
  15. package/dist/cjs/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js.map +1 -1
  16. package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js +5 -0
  17. package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js.map +1 -1
  18. package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +1 -1
  19. package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -1
  20. package/dist/cjs/locales/zh/hans/index.js +2 -0
  21. package/dist/cjs/locales/zh/hans/index.js.map +1 -1
  22. package/dist/cjs/locales/zh/hans/parsers/ZHHansAgoFormatParser.d.ts +6 -0
  23. package/dist/cjs/locales/zh/hans/parsers/ZHHansAgoFormatParser.js +80 -0
  24. package/dist/cjs/locales/zh/hans/parsers/ZHHansAgoFormatParser.js.map +1 -0
  25. package/dist/cjs/locales/zh/hant/index.js +2 -0
  26. package/dist/cjs/locales/zh/hant/index.js.map +1 -1
  27. package/dist/cjs/locales/zh/hant/parsers/ZHHantAgoFormatParser.d.ts +6 -0
  28. package/dist/cjs/locales/zh/hant/parsers/ZHHantAgoFormatParser.js +80 -0
  29. package/dist/cjs/locales/zh/hant/parsers/ZHHantAgoFormatParser.js.map +1 -0
  30. package/dist/cjs/results.js +15 -9
  31. package/dist/cjs/results.js.map +1 -1
  32. package/dist/esm/locales/de/parsers/DECasualTimeParser.js +7 -0
  33. package/dist/esm/locales/de/parsers/DECasualTimeParser.js.map +1 -1
  34. package/dist/esm/locales/en/configuration.js +2 -0
  35. package/dist/esm/locales/en/configuration.js.map +1 -1
  36. package/dist/esm/locales/en/parsers/ENMonthNameLittleEndianParser.js +1 -1
  37. package/dist/esm/locales/en/parsers/ENMonthNameLittleEndianParser.js.map +1 -1
  38. package/dist/esm/locales/en/parsers/ENYearMonthNameParser.d.ts +6 -0
  39. package/dist/esm/locales/en/parsers/ENYearMonthNameParser.js +28 -0
  40. package/dist/esm/locales/en/parsers/ENYearMonthNameParser.js.map +1 -0
  41. package/dist/esm/locales/fi/parsers/FICasualTimeParser.js +7 -0
  42. package/dist/esm/locales/fi/parsers/FICasualTimeParser.js.map +1 -1
  43. package/dist/esm/locales/fr/parsers/FRCasualTimeParser.js +5 -0
  44. package/dist/esm/locales/fr/parsers/FRCasualTimeParser.js.map +1 -1
  45. package/dist/esm/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js +2 -1
  46. package/dist/esm/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js.map +1 -1
  47. package/dist/esm/locales/it/parsers/ITCasualTimeParser.js +5 -0
  48. package/dist/esm/locales/it/parsers/ITCasualTimeParser.js.map +1 -1
  49. package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +1 -1
  50. package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -1
  51. package/dist/esm/locales/zh/hans/index.js +2 -0
  52. package/dist/esm/locales/zh/hans/index.js.map +1 -1
  53. package/dist/esm/locales/zh/hans/parsers/ZHHansAgoFormatParser.d.ts +6 -0
  54. package/dist/esm/locales/zh/hans/parsers/ZHHansAgoFormatParser.js +77 -0
  55. package/dist/esm/locales/zh/hans/parsers/ZHHansAgoFormatParser.js.map +1 -0
  56. package/dist/esm/locales/zh/hant/index.js +2 -0
  57. package/dist/esm/locales/zh/hant/index.js.map +1 -1
  58. package/dist/esm/locales/zh/hant/parsers/ZHHantAgoFormatParser.d.ts +6 -0
  59. package/dist/esm/locales/zh/hant/parsers/ZHHantAgoFormatParser.js +77 -0
  60. package/dist/esm/locales/zh/hant/parsers/ZHHantAgoFormatParser.js.map +1 -0
  61. package/dist/esm/results.js +14 -9
  62. package/dist/esm/results.js.map +1 -1
  63. package/package.json +5 -1
  64. package/src/locales/de/parsers/DECasualTimeParser.ts +7 -0
  65. package/src/locales/en/configuration.ts +2 -0
  66. package/src/locales/en/parsers/ENMonthNameLittleEndianParser.ts +1 -1
  67. package/src/locales/en/parsers/ENYearMonthNameParser.ts +38 -0
  68. package/src/locales/fi/parsers/FICasualTimeParser.ts +7 -0
  69. package/src/locales/fr/parsers/FRCasualTimeParser.ts +5 -0
  70. package/src/locales/fr/parsers/FRTimeUnitRelativeFormatParser.ts +2 -1
  71. package/src/locales/it/parsers/ITCasualTimeParser.ts +5 -0
  72. package/src/locales/uk/parsers/UKTimeUnitWithinFormatParser.ts +1 -1
  73. package/src/locales/zh/hans/index.ts +2 -0
  74. package/src/locales/zh/hans/parsers/ZHHansAgoFormatParser.ts +87 -0
  75. package/src/locales/zh/hant/index.ts +2 -0
  76. package/src/locales/zh/hant/parsers/ZHHantAgoFormatParser.ts +87 -0
  77. package/src/results.ts +40 -9
  78. package/test/calculation_duration.test.ts +0 -165
  79. package/test/calculation_weekdays.test.ts +0 -133
  80. package/test/de/de_casual.test.ts +0 -322
  81. package/test/de/de_dash.test.ts +0 -32
  82. package/test/de/de_month_name_little_endian.test.ts +0 -273
  83. package/test/de/de_time_exp.test.ts +0 -223
  84. package/test/de/de_time_units_casual_relative.test.ts +0 -120
  85. package/test/de/de_time_units_within.test.ts +0 -119
  86. package/test/de/de_weekday.test.ts +0 -158
  87. package/test/de/de_year.test.ts +0 -147
  88. package/test/debugging.test.ts +0 -17
  89. package/test/en/en.test.ts +0 -191
  90. package/test/en/en_casual.test.ts +0 -425
  91. package/test/en/en_inter_std.test.ts +0 -118
  92. package/test/en/en_merging_relative_dates.test.ts +0 -50
  93. package/test/en/en_month.test.ts +0 -295
  94. package/test/en/en_month_name_little_endian.test.ts +0 -448
  95. package/test/en/en_month_name_middle_endian.test.ts +0 -386
  96. package/test/en/en_performance.test.ts +0 -26
  97. package/test/en/en_relative.test.ts +0 -393
  98. package/test/en/en_slash.test.ts +0 -284
  99. package/test/en/en_time_exp.test.ts +0 -535
  100. package/test/en/en_time_units_ago.test.ts +0 -357
  101. package/test/en/en_time_units_casual_relative.test.ts +0 -186
  102. package/test/en/en_time_units_later.test.ts +0 -361
  103. package/test/en/en_time_units_within.test.ts +0 -417
  104. package/test/en/en_timezone_exp.test.ts +0 -410
  105. package/test/en/en_weekday.test.ts +0 -573
  106. package/test/en/en_year.test.ts +0 -138
  107. package/test/en/en_year_month_day.test.ts +0 -101
  108. package/test/en/negative_cases.test.ts +0 -99
  109. package/test/es/es_casual.test.ts +0 -175
  110. package/test/es/es_month_name_little_endian.test.ts +0 -217
  111. package/test/es/es_slash.test.ts +0 -26
  112. package/test/es/es_time_exp.test.ts +0 -175
  113. package/test/es/es_time_units_within.test.ts +0 -119
  114. package/test/fi/fi_casual.test.ts +0 -85
  115. package/test/fi/fi_casual_time.test.ts +0 -56
  116. package/test/fi/fi_month_name_little_endian.test.ts +0 -50
  117. package/test/fi/fi_time_exp.test.ts +0 -39
  118. package/test/fi/fi_time_units_ago.test.ts +0 -93
  119. package/test/fi/fi_time_units_casual_relative.test.ts +0 -117
  120. package/test/fi/fi_time_units_within.test.ts +0 -74
  121. package/test/fi/fi_weekday.test.ts +0 -90
  122. package/test/fr/fr_casual.test.ts +0 -300
  123. package/test/fr/fr_little_endian.test.ts +0 -320
  124. package/test/fr/fr_slash.test.ts +0 -49
  125. package/test/fr/fr_time_exp.test.ts +0 -588
  126. package/test/fr/fr_time_units_ago.test.ts +0 -103
  127. package/test/fr/fr_time_units_casual_relative.test.ts +0 -108
  128. package/test/fr/fr_time_units_within.test.ts +0 -129
  129. package/test/fr/fr_weekday.test.ts +0 -130
  130. package/test/it/it_casual.test.ts +0 -44
  131. package/test/it/it_month_name_little_endian.test.ts +0 -28
  132. package/test/it/it_month_name_middle_endian.test.ts +0 -39
  133. package/test/it/it_time_exp.test.ts +0 -84
  134. package/test/it/it_weekday.test.ts +0 -37
  135. package/test/it/it_year_month_day.test.ts +0 -41
  136. package/test/ja/ja_casual.test.ts +0 -73
  137. package/test/ja/ja_slash_date_format.test.ts +0 -60
  138. package/test/ja/ja_standard.test.ts +0 -235
  139. package/test/ja/ja_time_exp.test.ts +0 -305
  140. package/test/ja/ja_weekday.test.ts +0 -183
  141. package/test/nl/nl_casual.test.ts +0 -408
  142. package/test/nl/nl_month.test.ts +0 -205
  143. package/test/nl/nl_month_name_little_endian.test.ts +0 -358
  144. package/test/nl/nl_relative.test.ts +0 -242
  145. package/test/nl/nl_slash.test.ts +0 -206
  146. package/test/nl/nl_time_exp.test.ts +0 -79
  147. package/test/nl/nl_time_units_ago.test.ts +0 -243
  148. package/test/nl/nl_time_units_casual_relative.test.ts +0 -130
  149. package/test/nl/nl_time_units_later.test.ts +0 -250
  150. package/test/nl/nl_time_units_within.test.ts +0 -225
  151. package/test/nl/nl_weekday.test.ts +0 -216
  152. package/test/pt/pt_casual.test.ts +0 -175
  153. package/test/pt/pt_month_name_little_endian.test.ts +0 -217
  154. package/test/pt/pt_slash.test.ts +0 -26
  155. package/test/pt/pt_time_exp.test.ts +0 -175
  156. package/test/result.test.ts +0 -283
  157. package/test/ru/ru_casual.test.ts +0 -159
  158. package/test/ru/ru_month.test.ts +0 -70
  159. package/test/ru/ru_month_name_little_endian.test.ts +0 -145
  160. package/test/ru/ru_relative.test.ts +0 -107
  161. package/test/ru/ru_time_exp.test.ts +0 -111
  162. package/test/ru/ru_time_units_ago.test.ts +0 -48
  163. package/test/ru/ru_time_units_casual_relative.test.ts +0 -190
  164. package/test/ru/ru_time_units_within.test.ts +0 -16
  165. package/test/ru/ru_weekday.test.ts +0 -52
  166. package/test/sv/sv_casual.test.ts +0 -87
  167. package/test/sv/sv_month_name_little_endian.test.ts +0 -48
  168. package/test/sv/sv_time_units_casual_relative.test.ts +0 -143
  169. package/test/sv/sv_weekday.test.ts +0 -68
  170. package/test/system.test.ts +0 -247
  171. package/test/system_timezone.test.ts +0 -284
  172. package/test/test_util.ts +0 -135
  173. package/test/uk/uk_casual.test.ts +0 -153
  174. package/test/uk/uk_month.test.ts +0 -70
  175. package/test/uk/uk_month_name_little_endian.test.ts +0 -148
  176. package/test/uk/uk_relative.test.ts +0 -107
  177. package/test/uk/uk_time_exp.test.ts +0 -111
  178. package/test/uk/uk_time_units_ago.test.ts +0 -48
  179. package/test/uk/uk_time_units_casual_relative.test.ts +0 -142
  180. package/test/uk/uk_time_units_within.test.ts +0 -16
  181. package/test/uk/uk_weekday.test.ts +0 -52
  182. package/test/vi/vi_casual.test.ts +0 -84
  183. package/test/vi/vi_casual_time.test.ts +0 -77
  184. package/test/vi/vi_date_range.test.ts +0 -61
  185. package/test/vi/vi_forward_date.test.ts +0 -45
  186. package/test/vi/vi_month_year.test.ts +0 -40
  187. package/test/vi/vi_negative_cases.test.ts +0 -60
  188. package/test/vi/vi_slash.test.ts +0 -36
  189. package/test/vi/vi_standard.test.ts +0 -86
  190. package/test/vi/vi_strict.test.ts +0 -67
  191. package/test/vi/vi_time_exp.test.ts +0 -99
  192. package/test/vi/vi_time_units_ago.test.ts +0 -56
  193. package/test/vi/vi_time_units_casual_relative.test.ts +0 -56
  194. package/test/vi/vi_time_units_later.test.ts +0 -43
  195. package/test/vi/vi_time_units_within.test.ts +0 -24
  196. package/test/vi/vi_weekday.test.ts +0 -77
  197. package/test/vi/vi_year.test.ts +0 -42
  198. package/test/zh/hans/zh_hans_casual.test.ts +0 -242
  199. package/test/zh/hans/zh_hans_date.test.ts +0 -116
  200. package/test/zh/hans/zh_hans_deadline.test.ts +0 -175
  201. package/test/zh/hans/zh_hans_time_exp.test.ts +0 -508
  202. package/test/zh/hans/zh_hans_weekday.test.ts +0 -219
  203. package/test/zh/hant/zh_hant_casual.test.ts +0 -260
  204. package/test/zh/hant/zh_hant_date.test.ts +0 -116
  205. package/test/zh/hant/zh_hant_deadline.test.ts +0 -136
  206. package/test/zh/hant/zh_hant_time_exp.test.ts +0 -226
  207. package/test/zh/hant/zh_hant_weekday.test.ts +0 -175
  208. package/test/zh/zh.test.ts +0 -36
  209. package/tsconfig.build.esm.json +0 -8
  210. package/tsconfig.build.json +0 -10
  211. package/tsconfig.json +0 -29
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/locales/zh/hant/index.ts"],"names":[],"mappings":"AAKA,OAAO,4BAA4B,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAkC,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAA4D,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC7G,OAAO,sBAAsB,MAAM,kCAAkC,CAAC;AACtE,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,2BAA2B,MAAM,uCAAuC,CAAC;AAChF,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,2BAA2B,MAAM,wCAAwC,CAAC;AACjF,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,MAAM,EAAmB,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;AAC5F,OAAO,EAA4D,QAAQ,EAAE,OAAO,EAAE,CAAC;AAGvF,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAExD,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,GAA6B,EAAE,MAAsB;IACrF,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,GAA6B,EAAE,MAAsB;IACzF,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAKD,MAAM,UAAU,yBAAyB;IACrC,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAClB,CAAC;AAKD,MAAM,UAAU,mBAAmB;IAC/B,MAAM,aAAa,GAAG,0BAA0B,CAAC;QAC7C,OAAO,EAAE;YACL,IAAI,gBAAgB,EAAE;YACtB,IAAI,2BAA2B,EAAE;YACjC,IAAI,mBAAmB,EAAE;YACzB,IAAI,0BAA0B,EAAE;YAChC,IAAI,0BAA0B,EAAE;SACnC;QACD,QAAQ,EAAE,CAAC,IAAI,2BAA2B,EAAE,EAAE,IAAI,0BAA0B,EAAE,CAAC;KAClF,CAAC,CAAC;IAGH,aAAa,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAClD,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,YAAY,4BAA4B,CAAC,CAClE,CAAC;IAEF,OAAO,aAAa,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/locales/zh/hant/index.ts"],"names":[],"mappings":"AAKA,OAAO,4BAA4B,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAkC,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAA4D,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC7G,OAAO,sBAAsB,MAAM,kCAAkC,CAAC;AACtE,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,qBAAqB,MAAM,iCAAiC,CAAC;AACpE,OAAO,2BAA2B,MAAM,uCAAuC,CAAC;AAChF,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,2BAA2B,MAAM,wCAAwC,CAAC;AACjF,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,MAAM,EAAmB,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;AAC5F,OAAO,EAA4D,QAAQ,EAAE,OAAO,EAAE,CAAC;AAGvF,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAExD,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,GAA6B,EAAE,MAAsB;IACrF,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,GAA6B,EAAE,MAAsB;IACzF,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAKD,MAAM,UAAU,yBAAyB;IACrC,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAClB,CAAC;AAKD,MAAM,UAAU,mBAAmB;IAC/B,MAAM,aAAa,GAAG,0BAA0B,CAAC;QAC7C,OAAO,EAAE;YACL,IAAI,gBAAgB,EAAE;YACtB,IAAI,2BAA2B,EAAE;YACjC,IAAI,mBAAmB,EAAE;YACzB,IAAI,0BAA0B,EAAE;YAChC,IAAI,0BAA0B,EAAE;YAChC,IAAI,qBAAqB,EAAE;SAC9B;QACD,QAAQ,EAAE,CAAC,IAAI,2BAA2B,EAAE,EAAE,IAAI,0BAA0B,EAAE,CAAC;KAClF,CAAC,CAAC;IAGH,aAAa,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAClD,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,YAAY,4BAA4B,CAAC,CAClE,CAAC;IAEF,OAAO,aAAa,CAAC;AACzB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ParsingContext } from "../../../../chrono.js";
2
+ import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary.js";
3
+ export default class ZHHantAgoFormatParser extends AbstractParserWithWordBoundaryChecking {
4
+ innerPattern(): RegExp;
5
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../index.js").ParsingResult;
6
+ }
@@ -0,0 +1,77 @@
1
+ import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary.js";
2
+ import { addDuration, reverseDuration } from "../../../../calculation/duration.js";
3
+ import { NUMBER, zhStringToNumber } from "../constants.js";
4
+ const PATTERN = new RegExp("(\\d+|[" +
5
+ Object.keys(NUMBER).join("") +
6
+ "]+|半|幾)(?:\\s*)" +
7
+ "(?:個)?" +
8
+ "(秒(?:鐘)?|分鐘|小時|鐘|日|天|星期|禮拜|月|年)" +
9
+ "(?:之)?前", "i");
10
+ const NUMBER_GROUP = 1;
11
+ const UNIT_GROUP = 2;
12
+ export default class ZHHantAgoFormatParser extends AbstractParserWithWordBoundaryChecking {
13
+ innerPattern() {
14
+ return PATTERN;
15
+ }
16
+ innerExtract(context, match) {
17
+ const result = context.createParsingResult(match.index, match[0]);
18
+ let number = parseInt(match[NUMBER_GROUP]);
19
+ if (isNaN(number)) {
20
+ number = zhStringToNumber(match[NUMBER_GROUP]);
21
+ }
22
+ if (isNaN(number)) {
23
+ const string = match[NUMBER_GROUP];
24
+ if (string === "幾") {
25
+ number = 3;
26
+ }
27
+ else if (string === "半") {
28
+ number = 0.5;
29
+ }
30
+ else {
31
+ return null;
32
+ }
33
+ }
34
+ let duration = {};
35
+ const unit = match[UNIT_GROUP];
36
+ const unitAbbr = unit[0];
37
+ if (unitAbbr.match(/[日天星禮月年]/)) {
38
+ if (unitAbbr == "日" || unitAbbr == "天") {
39
+ duration.day = number;
40
+ }
41
+ else if (unitAbbr == "星" || unitAbbr == "禮") {
42
+ duration.week = number;
43
+ }
44
+ else if (unitAbbr == "月") {
45
+ duration.month = number;
46
+ }
47
+ else if (unitAbbr == "年") {
48
+ duration.year = number;
49
+ }
50
+ duration = reverseDuration(duration);
51
+ const date = addDuration(context.refDate, duration);
52
+ result.start.assign("year", date.getFullYear());
53
+ result.start.assign("month", date.getMonth() + 1);
54
+ result.start.assign("day", date.getDate());
55
+ return result;
56
+ }
57
+ if (unitAbbr == "秒") {
58
+ duration.second = number;
59
+ }
60
+ else if (unitAbbr == "分") {
61
+ duration.minute = number;
62
+ }
63
+ else if (unitAbbr == "小" || unitAbbr == "鐘") {
64
+ duration.hour = number;
65
+ }
66
+ duration = reverseDuration(duration);
67
+ const date = addDuration(context.refDate, duration);
68
+ result.start.imply("year", date.getFullYear());
69
+ result.start.imply("month", date.getMonth() + 1);
70
+ result.start.imply("day", date.getDate());
71
+ result.start.assign("hour", date.getHours());
72
+ result.start.assign("minute", date.getMinutes());
73
+ result.start.assign("second", date.getSeconds());
74
+ return result;
75
+ }
76
+ }
77
+ //# sourceMappingURL=ZHHantAgoFormatParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZHHantAgoFormatParser.js","sourceRoot":"","sources":["../../../../../../src/locales/zh/hant/parsers/ZHHantAgoFormatParser.ts"],"names":[],"mappings":"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"}
@@ -184,16 +184,17 @@ export class ParsingComponents {
184
184
  return this.isCertain("month") && !this.isCertain("year");
185
185
  }
186
186
  isValidDate() {
187
- const date = this.dateWithoutTimezoneAdjustment();
188
- if (date.getFullYear() !== this.get("year"))
187
+ const date = new Date(Date.UTC(this.get("year"), this.get("month") - 1, this.get("day"), this.get("hour"), this.get("minute"), this.get("second"), this.get("millisecond")));
188
+ date.setUTCFullYear(this.get("year"));
189
+ if (date.getUTCFullYear() !== this.get("year"))
189
190
  return false;
190
- if (date.getMonth() !== this.get("month") - 1)
191
+ if (date.getUTCMonth() !== this.get("month") - 1)
191
192
  return false;
192
- if (date.getDate() !== this.get("day"))
193
+ if (date.getUTCDate() !== this.get("day"))
193
194
  return false;
194
- if (this.get("hour") != null && date.getHours() != this.get("hour"))
195
+ if (this.get("hour") != null && date.getUTCHours() != this.get("hour"))
195
196
  return false;
196
- if (this.get("minute") != null && date.getMinutes() != this.get("minute"))
197
+ if (this.get("minute") != null && date.getUTCMinutes() != this.get("minute"))
197
198
  return false;
198
199
  return true;
199
200
  }
@@ -205,9 +206,13 @@ export class ParsingComponents {
205
206
  reference: ${JSON.stringify(this.reference)}]`;
206
207
  }
207
208
  date() {
208
- const date = this.dateWithoutTimezoneAdjustment();
209
- const timezoneAdjustment = this.reference.getSystemTimezoneAdjustmentMinute(date, this.get("timezoneOffset"));
210
- return new Date(date.getTime() + timezoneAdjustment * 60000);
209
+ const timezoneOffset = this.get("timezoneOffset") ?? this.reference.timezoneOffset;
210
+ if (timezoneOffset === null || timezoneOffset === undefined) {
211
+ return this.dateWithoutTimezoneAdjustment();
212
+ }
213
+ const date = new Date(Date.UTC(this.get("year"), this.get("month") - 1, this.get("day"), this.get("hour"), this.get("minute"), this.get("second"), this.get("millisecond")));
214
+ date.setUTCFullYear(this.get("year"));
215
+ return new Date(date.getTime() - timezoneOffset * 60000);
211
216
  }
212
217
  addTag(tag) {
213
218
  this._tags.add(tag);
@@ -1 +1 @@
1
- {"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/results.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/results.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -15,11 +15,15 @@
15
15
  "preset": "ts-jest"
16
16
  },
17
17
  "license": "MIT",
18
- "version": "2.9.1",
18
+ "version": "2.10.0",
19
19
  "directories": {
20
20
  "source": "./src",
21
21
  "test": "./test"
22
22
  },
23
+ "files": [
24
+ "dist",
25
+ "src"
26
+ ],
23
27
  "main": "dist/cjs/index.js",
24
28
  "module": "dist/esm/index.js",
25
29
  "exports": {
@@ -24,6 +24,7 @@ export default class DECasualTimeParser extends AbstractParserWithWordBoundaryCh
24
24
  component.imply("minute", 0);
25
25
  component.imply("second", 0);
26
26
  component.imply("meridiem", Meridiem.AM);
27
+ component.addTag("casualReference/morning");
27
28
  break;
28
29
 
29
30
  case "vormittag":
@@ -31,6 +32,7 @@ export default class DECasualTimeParser extends AbstractParserWithWordBoundaryCh
31
32
  component.imply("minute", 0);
32
33
  component.imply("second", 0);
33
34
  component.imply("meridiem", Meridiem.AM);
35
+ component.addTag("casualReference/morning");
34
36
  break;
35
37
 
36
38
  case "mittag":
@@ -39,6 +41,7 @@ export default class DECasualTimeParser extends AbstractParserWithWordBoundaryCh
39
41
  component.imply("minute", 0);
40
42
  component.imply("second", 0);
41
43
  component.imply("meridiem", Meridiem.AM);
44
+ component.addTag("casualReference/noon");
42
45
  break;
43
46
 
44
47
  case "nachmittag":
@@ -46,6 +49,7 @@ export default class DECasualTimeParser extends AbstractParserWithWordBoundaryCh
46
49
  component.imply("minute", 0);
47
50
  component.imply("second", 0);
48
51
  component.imply("meridiem", Meridiem.PM);
52
+ component.addTag("casualReference/afternoon");
49
53
  break;
50
54
 
51
55
  case "abend":
@@ -53,6 +57,7 @@ export default class DECasualTimeParser extends AbstractParserWithWordBoundaryCh
53
57
  component.imply("minute", 0);
54
58
  component.imply("second", 0);
55
59
  component.imply("meridiem", Meridiem.PM);
60
+ component.addTag("casualReference/evening");
56
61
  break;
57
62
 
58
63
  case "nacht":
@@ -60,6 +65,7 @@ export default class DECasualTimeParser extends AbstractParserWithWordBoundaryCh
60
65
  component.imply("minute", 0);
61
66
  component.imply("second", 0);
62
67
  component.imply("meridiem", Meridiem.PM);
68
+ component.addTag("casualReference/evening");
63
69
  break;
64
70
 
65
71
  case "mitternacht":
@@ -71,6 +77,7 @@ export default class DECasualTimeParser extends AbstractParserWithWordBoundaryCh
71
77
  component.imply("minute", 0);
72
78
  component.imply("second", 0);
73
79
  component.imply("meridiem", Meridiem.AM);
80
+ component.addTag("casualReference/midnight");
74
81
  break;
75
82
  }
76
83
  return component;
@@ -5,6 +5,7 @@ import ENMonthNameLittleEndianParser from "./parsers/ENMonthNameLittleEndianPars
5
5
  import ENMonthNameMiddleEndianParser from "./parsers/ENMonthNameMiddleEndianParser";
6
6
  import ENMonthNameParser from "./parsers/ENMonthNameParser";
7
7
  import ENYearMonthDayParser from "./parsers/ENYearMonthDayParser";
8
+ import ENYearMonthNameParser from "./parsers/ENYearMonthNameParser";
8
9
  import ENSlashMonthFormatParser from "./parsers/ENSlashMonthFormatParser";
9
10
  import ENTimeExpressionParser from "./parsers/ENTimeExpressionParser";
10
11
  import ENTimeUnitAgoFormatParser from "./parsers/ENTimeUnitAgoFormatParser";
@@ -61,6 +62,7 @@ export default class ENDefaultConfiguration {
61
62
  new ENTimeExpressionParser(strictMode),
62
63
  new ENTimeUnitAgoFormatParser(strictMode),
63
64
  new ENTimeUnitLaterFormatParser(strictMode),
65
+ new ENYearMonthNameParser(),
64
66
  ],
65
67
  refiners: [new ENMergeDateTimeRefiner()],
66
68
  },
@@ -12,7 +12,7 @@ const PATTERN = new RegExp(
12
12
  `(?:on\\s{0,3})?` +
13
13
  `(${ORDINAL_NUMBER_PATTERN})` +
14
14
  `(?:` +
15
- `\\s{0,3}(?:to|\\-|\\–|until|through|till)?\\s{0,3}` +
15
+ `\\s{0,3}(?:to|\\-|\\–|until|through|till)\\s{0,3}` +
16
16
  `(${ORDINAL_NUMBER_PATTERN})` +
17
17
  ")?" +
18
18
  `(?:-|/|\\s{0,3}(?:of)?\\s{0,3})` +
@@ -0,0 +1,38 @@
1
+ import { MONTH_DICTIONARY } from "../constants";
2
+ import { ParsingContext } from "../../../chrono";
3
+ import { matchAnyPattern } from "../../../utils/pattern";
4
+ import { parseYear } from "../constants";
5
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
6
+
7
+ const YEAR_PATTERN = `(?:[1-9][0-9]{0,3}\\s{0,2}(?:BE|AD|BC|BCE|CE)|[1-9][0-9]{3})`;
8
+
9
+ const PATTERN = new RegExp(
10
+ `(${YEAR_PATTERN})` +
11
+ `(?:\\s*[-.\\/,]?\\s*|\\s+of\\s+)` +
12
+ `(${matchAnyPattern(MONTH_DICTIONARY)})` +
13
+ `(?=[^\\s\\w]|\\s+[^0-9]|\\s+$|$)`,
14
+ "i"
15
+ );
16
+
17
+ const YEAR_GROUP = 1;
18
+ const MONTH_NAME_GROUP = 2;
19
+
20
+ export default class ENYearMonthNameParser extends AbstractParserWithWordBoundaryChecking {
21
+ innerPattern(): RegExp {
22
+ return PATTERN;
23
+ }
24
+
25
+ innerExtract(context: ParsingContext, match: RegExpMatchArray) {
26
+ const year = parseYear(match[YEAR_GROUP]);
27
+ const monthName = match[MONTH_NAME_GROUP].toLowerCase();
28
+ const month = MONTH_DICTIONARY[monthName];
29
+
30
+ const result = context.createParsingResult(match.index, match[0]);
31
+ result.start.imply("day", 1);
32
+ result.start.assign("month", month);
33
+ result.start.assign("year", year);
34
+ result.start.addTag("parser/ENYearMonthNameParser");
35
+
36
+ return result;
37
+ }
38
+ }
@@ -25,6 +25,7 @@ export default class FICasualTimeParser extends AbstractParserWithWordBoundaryCh
25
25
  component.imply("minute", 0);
26
26
  component.imply("second", 0);
27
27
  component.imply("meridiem", Meridiem.AM);
28
+ component.addTag("casualReference/morning");
28
29
  break;
29
30
 
30
31
  case "aamupäivällä":
@@ -32,6 +33,7 @@ export default class FICasualTimeParser extends AbstractParserWithWordBoundaryCh
32
33
  component.imply("minute", 0);
33
34
  component.imply("second", 0);
34
35
  component.imply("meridiem", Meridiem.AM);
36
+ component.addTag("casualReference/morning");
35
37
  break;
36
38
 
37
39
  case "päivällä":
@@ -39,6 +41,7 @@ export default class FICasualTimeParser extends AbstractParserWithWordBoundaryCh
39
41
  component.imply("minute", 0);
40
42
  component.imply("second", 0);
41
43
  component.imply("meridiem", Meridiem.AM);
44
+ component.addTag("casualReference/noon");
42
45
  break;
43
46
 
44
47
  case "iltapäivällä":
@@ -46,6 +49,7 @@ export default class FICasualTimeParser extends AbstractParserWithWordBoundaryCh
46
49
  component.imply("minute", 0);
47
50
  component.imply("second", 0);
48
51
  component.imply("meridiem", Meridiem.PM);
52
+ component.addTag("casualReference/afternoon");
49
53
  break;
50
54
 
51
55
  case "illalla":
@@ -53,6 +57,7 @@ export default class FICasualTimeParser extends AbstractParserWithWordBoundaryCh
53
57
  component.imply("minute", 0);
54
58
  component.imply("second", 0);
55
59
  component.imply("meridiem", Meridiem.PM);
60
+ component.addTag("casualReference/evening");
56
61
  break;
57
62
 
58
63
  case "yöllä":
@@ -60,6 +65,7 @@ export default class FICasualTimeParser extends AbstractParserWithWordBoundaryCh
60
65
  component.imply("minute", 0);
61
66
  component.imply("second", 0);
62
67
  component.imply("meridiem", Meridiem.PM);
68
+ component.addTag("casualReference/evening");
63
69
  break;
64
70
 
65
71
  case "keskiyöllä":
@@ -71,6 +77,7 @@ export default class FICasualTimeParser extends AbstractParserWithWordBoundaryCh
71
77
  component.imply("minute", 0);
72
78
  component.imply("second", 0);
73
79
  component.imply("meridiem", Meridiem.AM);
80
+ component.addTag("casualReference/midnight");
74
81
  break;
75
82
  }
76
83
  return component;
@@ -18,29 +18,34 @@ export default class FRCasualTimeParser extends AbstractParserWithWordBoundaryCh
18
18
  component.imply("hour", 14);
19
19
  component.imply("minute", 0);
20
20
  component.imply("meridiem", Meridiem.PM);
21
+ component.addTag("casualReference/afternoon");
21
22
  break;
22
23
 
23
24
  case "soir":
24
25
  component.imply("hour", 18);
25
26
  component.imply("minute", 0);
26
27
  component.imply("meridiem", Meridiem.PM);
28
+ component.addTag("casualReference/evening");
27
29
  break;
28
30
 
29
31
  case "matin":
30
32
  component.imply("hour", 8);
31
33
  component.imply("minute", 0);
32
34
  component.imply("meridiem", Meridiem.AM);
35
+ component.addTag("casualReference/morning");
33
36
  break;
34
37
 
35
38
  case "a midi":
36
39
  component.imply("hour", 12);
37
40
  component.imply("minute", 0);
38
41
  component.imply("meridiem", Meridiem.AM);
42
+ component.addTag("casualReference/noon");
39
43
  break;
40
44
 
41
45
  case "à minuit":
42
46
  component.imply("hour", 0);
43
47
  component.imply("meridiem", Meridiem.AM);
48
+ component.addTag("casualReference/midnight");
44
49
  break;
45
50
  }
46
51
 
@@ -16,7 +16,8 @@ export default class FRTimeUnitAgoFormatParser extends AbstractParserWithWordBou
16
16
  `(${NUMBER_PATTERN})?` +
17
17
  `(?:\\s*(prochaine?s?|derni[eè]re?s?|pass[ée]e?s?|pr[ée]c[ée]dents?|suivante?s?))?` +
18
18
  `\\s*(${matchAnyPattern(TIME_UNIT_DICTIONARY)})` +
19
- `(?:\\s*(prochaine?s?|derni[eè]re?s?|pass[ée]e?s?|pr[ée]c[ée]dents?|suivante?s?))?`,
19
+ `(?:\\s*(prochaine?s?|derni[eè]re?s?|pass[ée]e?s?|pr[ée]c[ée]dents?|suivante?s?))?` +
20
+ `(?=\\W|$)`,
20
21
  "i"
21
22
  );
22
23
  }
@@ -18,12 +18,14 @@ export default class ITCasualTimeParser extends AbstractParserWithWordBoundaryCh
18
18
  case "pomeriggio":
19
19
  component.imply("meridiem", Meridiem.PM);
20
20
  component.imply("hour", 15);
21
+ component.addTag("casualReference/afternoon");
21
22
  break;
22
23
 
23
24
  case "sera":
24
25
  case "notte":
25
26
  component.imply("meridiem", Meridiem.PM);
26
27
  component.imply("hour", 20);
28
+ component.addTag("casualReference/evening");
27
29
  break;
28
30
 
29
31
  case "mezzanotte":
@@ -34,16 +36,19 @@ export default class ITCasualTimeParser extends AbstractParserWithWordBoundaryCh
34
36
  component.imply("hour", 0);
35
37
  component.imply("minute", 0);
36
38
  component.imply("second", 0);
39
+ component.addTag("casualReference/midnight");
37
40
  break;
38
41
 
39
42
  case "mattina":
40
43
  component.imply("meridiem", Meridiem.AM);
41
44
  component.imply("hour", 6);
45
+ component.addTag("casualReference/morning");
42
46
  break;
43
47
 
44
48
  case "mezzogiorno":
45
49
  component.imply("meridiem", Meridiem.AM);
46
50
  component.imply("hour", 12);
51
+ component.addTag("casualReference/noon");
47
52
  break;
48
53
  }
49
54
 
@@ -12,7 +12,7 @@ export default class UKTimeUnitWithinFormatParser extends AbstractParserWithWord
12
12
 
13
13
  innerPattern(context: ParsingContext): RegExp {
14
14
  return context.option.forwardDate
15
- ? new RegExp(PATTERN, "i")
15
+ ? new RegExp(PATTERN, REGEX_PARTS.flags)
16
16
  : new RegExp(`(?:протягом|на протязі|протягом|упродовж|впродовж)\\s*${PATTERN}`, REGEX_PARTS.flags);
17
17
  }
18
18
 
@@ -10,6 +10,7 @@ import { Component, ParsedResult, ParsingOption, ParsingReference, Meridiem, Wee
10
10
  import ZHHansCasualDateParser from "./parsers/ZHHansCasualDateParser";
11
11
  import ZHHansDateParser from "./parsers/ZHHansDateParser";
12
12
  import ZHHansDeadlineFormatParser from "./parsers/ZHHansDeadlineFormatParser";
13
+ import ZHHansAgoFormatParser from "./parsers/ZHHansAgoFormatParser";
13
14
  import ZHHansRelationWeekdayParser from "./parsers/ZHHansRelationWeekdayParser";
14
15
  import ZHHansTimeExpressionParser from "./parsers/ZHHansTimeExpressionParser";
15
16
  import ZHHansWeekdayParser from "./parsers/ZHHansWeekdayParser";
@@ -53,6 +54,7 @@ export function createConfiguration(): Configuration {
53
54
  new ZHHansWeekdayParser(),
54
55
  new ZHHansTimeExpressionParser(),
55
56
  new ZHHansDeadlineFormatParser(),
57
+ new ZHHansAgoFormatParser(),
56
58
  ],
57
59
  refiners: [new ZHHansMergeDateRangeRefiner(), new ZHHansMergeDateTimeRefiner()],
58
60
  });
@@ -0,0 +1,87 @@
1
+ import { ParsingContext } from "../../../../chrono";
2
+ import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary";
3
+ import { addDuration, Duration, reverseDuration } from "../../../../calculation/duration";
4
+ import { NUMBER, zhStringToNumber } from "../constants";
5
+
6
+ const PATTERN = new RegExp(
7
+ "(\\d+|[" +
8
+ Object.keys(NUMBER).join("") +
9
+ "]+|半|几)(?:\\s*)" +
10
+ "(?:个)?" +
11
+ "(秒(?:钟)?|分钟|小时|钟|日|天|星期|礼拜|月|年)" +
12
+ "(?:之)?前",
13
+ "i"
14
+ );
15
+
16
+ const NUMBER_GROUP = 1;
17
+ const UNIT_GROUP = 2;
18
+
19
+ export default class ZHHansAgoFormatParser extends AbstractParserWithWordBoundaryChecking {
20
+ innerPattern(): RegExp {
21
+ return PATTERN;
22
+ }
23
+
24
+ innerExtract(context: ParsingContext, match: RegExpMatchArray) {
25
+ const result = context.createParsingResult(match.index, match[0]);
26
+
27
+ let number = parseInt(match[NUMBER_GROUP]);
28
+ if (isNaN(number)) {
29
+ number = zhStringToNumber(match[NUMBER_GROUP]);
30
+ }
31
+
32
+ if (isNaN(number)) {
33
+ const string = match[NUMBER_GROUP];
34
+ if (string === "几") {
35
+ number = 3;
36
+ } else if (string === "半") {
37
+ number = 0.5;
38
+ } else {
39
+ //just in case
40
+ return null;
41
+ }
42
+ }
43
+
44
+ let duration: Duration = {};
45
+ const unit = match[UNIT_GROUP];
46
+ const unitAbbr = unit[0];
47
+
48
+ if (unitAbbr.match(/[日天星礼月年]/)) {
49
+ if (unitAbbr == "日" || unitAbbr == "天") {
50
+ duration.day = number;
51
+ } else if (unitAbbr == "星" || unitAbbr == "礼") {
52
+ duration.week = number;
53
+ } else if (unitAbbr == "月") {
54
+ duration.month = number;
55
+ } else if (unitAbbr == "年") {
56
+ duration.year = number;
57
+ }
58
+
59
+ duration = reverseDuration(duration);
60
+
61
+ const date = addDuration(context.refDate, duration);
62
+ result.start.assign("year", date.getFullYear());
63
+ result.start.assign("month", date.getMonth() + 1);
64
+ result.start.assign("day", date.getDate());
65
+ return result;
66
+ }
67
+
68
+ if (unitAbbr == "秒") {
69
+ duration.second = number;
70
+ } else if (unitAbbr == "分") {
71
+ duration.minute = number;
72
+ } else if (unitAbbr == "小" || unitAbbr == "钟") {
73
+ duration.hour = number;
74
+ }
75
+
76
+ duration = reverseDuration(duration);
77
+
78
+ const date = addDuration(context.refDate, duration);
79
+ result.start.imply("year", date.getFullYear());
80
+ result.start.imply("month", date.getMonth() + 1);
81
+ result.start.imply("day", date.getDate());
82
+ result.start.assign("hour", date.getHours());
83
+ result.start.assign("minute", date.getMinutes());
84
+ result.start.assign("second", date.getSeconds());
85
+ return result;
86
+ }
87
+ }
@@ -11,6 +11,7 @@ import { Component, ParsedResult, ParsingOption, ParsingReference, Meridiem, Wee
11
11
  import ZHHantCasualDateParser from "./parsers/ZHHantCasualDateParser";
12
12
  import ZHHantDateParser from "./parsers/ZHHantDateParser";
13
13
  import ZHHantDeadlineFormatParser from "./parsers/ZHHantDeadlineFormatParser";
14
+ import ZHHantAgoFormatParser from "./parsers/ZHHantAgoFormatParser";
14
15
  import ZHHantRelationWeekdayParser from "./parsers/ZHHantRelationWeekdayParser";
15
16
  import ZHHantTimeExpressionParser from "./parsers/ZHHantTimeExpressionParser";
16
17
  import ZHHantWeekdayParser from "./parsers/ZHHantWeekdayParser";
@@ -54,6 +55,7 @@ export function createConfiguration(): Configuration {
54
55
  new ZHHantWeekdayParser(),
55
56
  new ZHHantTimeExpressionParser(),
56
57
  new ZHHantDeadlineFormatParser(),
58
+ new ZHHantAgoFormatParser(),
57
59
  ],
58
60
  refiners: [new ZHHantMergeDateRangeRefiner(), new ZHHantMergeDateTimeRefiner()],
59
61
  });