chrono-node 2.4.1 → 2.4.2

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 (360) hide show
  1. package/.idea/chrono.iml +13 -0
  2. package/.idea/compiler.xml +7 -0
  3. package/.idea/dictionaries/wanasit.xml +8 -0
  4. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  5. package/.idea/jsLibraryMappings.xml +6 -0
  6. package/.idea/jsLinters/eslint.xml +6 -0
  7. package/.idea/misc.xml +6 -0
  8. package/.idea/modules.xml +8 -0
  9. package/.idea/prettier.xml +6 -0
  10. package/.idea/vcs.xml +6 -0
  11. package/.idea/workspace.xml +320 -0
  12. package/README.md +1 -1
  13. package/benchmark/results/chrono.chart.html +111 -0
  14. package/coverage/clover.xml +4589 -0
  15. package/coverage/coverage-final.json +138 -0
  16. package/coverage/lcov-report/base.css +224 -0
  17. package/coverage/lcov-report/block-navigation.js +87 -0
  18. package/coverage/lcov-report/favicon.png +0 -0
  19. package/coverage/lcov-report/index.html +641 -0
  20. package/coverage/lcov-report/prettify.css +1 -0
  21. package/coverage/lcov-report/prettify.js +2 -0
  22. package/coverage/lcov-report/results.ts.html +701 -0
  23. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  24. package/coverage/lcov-report/sorter.js +196 -0
  25. package/coverage/lcov-report/src/calculation/index.html +131 -0
  26. package/coverage/lcov-report/src/calculation/mergingCalculation.ts.html +319 -0
  27. package/coverage/lcov-report/src/calculation/weeks.ts.html +199 -0
  28. package/coverage/lcov-report/src/calculation/yearCalculation.ts.html +194 -0
  29. package/coverage/lcov-report/src/calculation/years.ts.html +199 -0
  30. package/coverage/lcov-report/src/chrono.js.html +368 -0
  31. package/coverage/lcov-report/src/chrono.ts.html +649 -0
  32. package/coverage/lcov-report/src/common/abstractRefiners.ts.html +286 -0
  33. package/coverage/lcov-report/src/common/calculation/index.html +116 -0
  34. package/coverage/lcov-report/src/common/calculation/weekdays.ts.html +352 -0
  35. package/coverage/lcov-report/src/common/casualReferences.ts.html +412 -0
  36. package/coverage/lcov-report/src/common/index.html +131 -0
  37. package/coverage/lcov-report/src/common/parsers/AbstractParserWithWordBoundary.ts.html +214 -0
  38. package/coverage/lcov-report/src/common/parsers/AbstractTimeExpressionParser.ts.html +1384 -0
  39. package/coverage/lcov-report/src/common/parsers/ISOFormatParser.ts.html +340 -0
  40. package/coverage/lcov-report/src/common/parsers/SlashDateFormatParser.ts.html +385 -0
  41. package/coverage/lcov-report/src/common/parsers/index.html +161 -0
  42. package/coverage/lcov-report/src/common/refiners/AbstractMergeDateRangeRefiner.ts.html +268 -0
  43. package/coverage/lcov-report/src/common/refiners/AbstractMergeDateTimeRefiner.ts.html +172 -0
  44. package/coverage/lcov-report/src/common/refiners/ExtractTimezoneAbbrRefiner.ts.html +883 -0
  45. package/coverage/lcov-report/src/common/refiners/ExtractTimezoneOffsetRefiner.ts.html +226 -0
  46. package/coverage/lcov-report/src/common/refiners/ForwardDateRefiner.ts.html +334 -0
  47. package/coverage/lcov-report/src/common/refiners/MergeWeekdayComponentRefiner.ts.html +187 -0
  48. package/coverage/lcov-report/src/common/refiners/OverlapRemovalRefiner.ts.html +199 -0
  49. package/coverage/lcov-report/src/common/refiners/UnlikelyFormatFilter.ts.html +265 -0
  50. package/coverage/lcov-report/src/common/refiners/index.html +221 -0
  51. package/coverage/lcov-report/src/configurations.ts.html +154 -0
  52. package/coverage/lcov-report/src/debugging.ts.html +154 -0
  53. package/coverage/lcov-report/src/index.html +191 -0
  54. package/coverage/lcov-report/src/index.ts.html +517 -0
  55. package/coverage/lcov-report/src/locales/de/constants.ts.html +664 -0
  56. package/coverage/lcov-report/src/locales/de/index.html +131 -0
  57. package/coverage/lcov-report/src/locales/de/index.ts.html +238 -0
  58. package/coverage/lcov-report/src/locales/de/parsers/DECasualDateParser.ts.html +325 -0
  59. package/coverage/lcov-report/src/locales/de/parsers/DECasualTimeParser.ts.html +325 -0
  60. package/coverage/lcov-report/src/locales/de/parsers/DEMonthNameLittleEndianParser.ts.html +268 -0
  61. package/coverage/lcov-report/src/locales/de/parsers/DESpecificTimeExpressionParser.ts.html +535 -0
  62. package/coverage/lcov-report/src/locales/de/parsers/DETimeExpressionParser.ts.html +151 -0
  63. package/coverage/lcov-report/src/locales/de/parsers/DETimeUnitRelativeFormatParser.ts.html +211 -0
  64. package/coverage/lcov-report/src/locales/de/parsers/DEWeekdayParser.ts.html +232 -0
  65. package/coverage/lcov-report/src/locales/de/parsers/index.html +206 -0
  66. package/coverage/lcov-report/src/locales/de/refiners/DEMergeDateRangeRefiner.ts.html +130 -0
  67. package/coverage/lcov-report/src/locales/de/refiners/DEMergeDateTimeRefiner.ts.html +115 -0
  68. package/coverage/lcov-report/src/locales/de/refiners/index.html +131 -0
  69. package/coverage/lcov-report/src/locales/en/constants.ts.html +841 -0
  70. package/coverage/lcov-report/src/locales/en/index.html +131 -0
  71. package/coverage/lcov-report/src/locales/en/index.ts.html +382 -0
  72. package/coverage/lcov-report/src/locales/en/parsers/ENCasualDateParser.ts.html +244 -0
  73. package/coverage/lcov-report/src/locales/en/parsers/ENCasualTimeParser.ts.html +238 -0
  74. package/coverage/lcov-report/src/locales/en/parsers/ENCasualYearMonthDayParser.ts.html +232 -0
  75. package/coverage/lcov-report/src/locales/en/parsers/ENDeadlineFormatParser.ts.html +311 -0
  76. package/coverage/lcov-report/src/locales/en/parsers/ENISOFormatParser.ts.html +317 -0
  77. package/coverage/lcov-report/src/locales/en/parsers/ENMonthNameLittleEndianParser.ts.html +292 -0
  78. package/coverage/lcov-report/src/locales/en/parsers/ENMonthNameMiddleEndianParser.ts.html +319 -0
  79. package/coverage/lcov-report/src/locales/en/parsers/ENMonthNameParser.ts.html +271 -0
  80. package/coverage/lcov-report/src/locales/en/parsers/ENRelativeDateFormatParser.ts.html +292 -0
  81. package/coverage/lcov-report/src/locales/en/parsers/ENSlashDateFormatParser.ts.html +443 -0
  82. package/coverage/lcov-report/src/locales/en/parsers/ENSlashDateFormatStartWithYearParser.ts.html +221 -0
  83. package/coverage/lcov-report/src/locales/en/parsers/ENSlashMonthFormatParser.ts.html +163 -0
  84. package/coverage/lcov-report/src/locales/en/parsers/ENTimeExpressionParser.ts.html +250 -0
  85. package/coverage/lcov-report/src/locales/en/parsers/ENTimeUnitAgoFormatParser.ts.html +160 -0
  86. package/coverage/lcov-report/src/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.ts.html +166 -0
  87. package/coverage/lcov-report/src/locales/en/parsers/ENTimeUnitDeadlineFormatParser.ts.html +149 -0
  88. package/coverage/lcov-report/src/locales/en/parsers/ENTimeUnitLaterFormatParser.ts.html +166 -0
  89. package/coverage/lcov-report/src/locales/en/parsers/ENTimeUnitWithinFormatParser.ts.html +163 -0
  90. package/coverage/lcov-report/src/locales/en/parsers/ENWeekdayParser.ts.html +229 -0
  91. package/coverage/lcov-report/src/locales/en/parsers/index.html +311 -0
  92. package/coverage/lcov-report/src/locales/en/refiners/ENMergeDateRangeRefiner.ts.html +136 -0
  93. package/coverage/lcov-report/src/locales/en/refiners/ENMergeDateTimeRefiner.ts.html +124 -0
  94. package/coverage/lcov-report/src/locales/en/refiners/ENMergeRelativeDateRefiner.ts.html +259 -0
  95. package/coverage/lcov-report/src/locales/en/refiners/index.html +146 -0
  96. package/coverage/lcov-report/src/locales/fr/constants.ts.html +637 -0
  97. package/coverage/lcov-report/src/locales/fr/index.html +131 -0
  98. package/coverage/lcov-report/src/locales/fr/index.ts.html +280 -0
  99. package/coverage/lcov-report/src/locales/fr/parsers/FRCasualDateParser.ts.html +223 -0
  100. package/coverage/lcov-report/src/locales/fr/parsers/FRCasualTimeParser.ts.html +232 -0
  101. package/coverage/lcov-report/src/locales/fr/parsers/FRMonthNameLittleEndianParser.ts.html +277 -0
  102. package/coverage/lcov-report/src/locales/fr/parsers/FRSpecificTimeExpressionParser.ts.html +484 -0
  103. package/coverage/lcov-report/src/locales/fr/parsers/FRTimeExpressionParser.ts.html +151 -0
  104. package/coverage/lcov-report/src/locales/fr/parsers/FRTimeUnitAgoFormatParser.ts.html +151 -0
  105. package/coverage/lcov-report/src/locales/fr/parsers/FRTimeUnitRelativeFormatParser.ts.html +214 -0
  106. package/coverage/lcov-report/src/locales/fr/parsers/FRTimeUnitWithinFormatParser.ts.html +130 -0
  107. package/coverage/lcov-report/src/locales/fr/parsers/FRWeekdayParser.ts.html +223 -0
  108. package/coverage/lcov-report/src/locales/fr/parsers/index.html +236 -0
  109. package/coverage/lcov-report/src/locales/fr/refiners/FRMergeDateRangeRefiner.ts.html +130 -0
  110. package/coverage/lcov-report/src/locales/fr/refiners/FRMergeDateTimeRefiner.ts.html +115 -0
  111. package/coverage/lcov-report/src/locales/fr/refiners/index.html +131 -0
  112. package/coverage/lcov-report/src/locales/ja/constants.ts.html +157 -0
  113. package/coverage/lcov-report/src/locales/ja/index.html +131 -0
  114. package/coverage/lcov-report/src/locales/ja/index.ts.html +214 -0
  115. package/coverage/lcov-report/src/locales/ja/parsers/JPCasualDateParser.ts.html +217 -0
  116. package/coverage/lcov-report/src/locales/ja/parsers/JPStandardParser.ts.html +247 -0
  117. package/coverage/lcov-report/src/locales/ja/parsers/index.html +131 -0
  118. package/coverage/lcov-report/src/locales/ja/refiners/JPMergeDateRangeRefiner.ts.html +124 -0
  119. package/coverage/lcov-report/src/locales/ja/refiners/index.html +116 -0
  120. package/coverage/lcov-report/src/locales/nl/constants.ts.html +796 -0
  121. package/coverage/lcov-report/src/locales/nl/index.html +131 -0
  122. package/coverage/lcov-report/src/locales/nl/index.ts.html +304 -0
  123. package/coverage/lcov-report/src/locales/nl/parsers/NLCasualDateParser.ts.html +181 -0
  124. package/coverage/lcov-report/src/locales/nl/parsers/NLCasualDateTimeParser.ts.html +310 -0
  125. package/coverage/lcov-report/src/locales/nl/parsers/NLCasualTimeParser.ts.html +265 -0
  126. package/coverage/lcov-report/src/locales/nl/parsers/NLCasualYearMonthDayParser.ts.html +232 -0
  127. package/coverage/lcov-report/src/locales/nl/parsers/NLMonthNameMiddleEndianParser.ts.html +349 -0
  128. package/coverage/lcov-report/src/locales/nl/parsers/NLMonthNameParser.ts.html +235 -0
  129. package/coverage/lcov-report/src/locales/nl/parsers/NLRelativeDateFormatParser.ts.html +295 -0
  130. package/coverage/lcov-report/src/locales/nl/parsers/NLSlashMonthFormatParser.ts.html +163 -0
  131. package/coverage/lcov-report/src/locales/nl/parsers/NLTimeExpressionParser.ts.html +163 -0
  132. package/coverage/lcov-report/src/locales/nl/parsers/NLTimeUnitAgoFormatParser.ts.html +163 -0
  133. package/coverage/lcov-report/src/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.ts.html +166 -0
  134. package/coverage/lcov-report/src/locales/nl/parsers/NLTimeUnitLaterFormatParser.ts.html +166 -0
  135. package/coverage/lcov-report/src/locales/nl/parsers/NLTimeUnitWithinFormatParser.ts.html +130 -0
  136. package/coverage/lcov-report/src/locales/nl/parsers/NLWeekdayParser.ts.html +223 -0
  137. package/coverage/lcov-report/src/locales/nl/parsers/index.html +311 -0
  138. package/coverage/lcov-report/src/locales/nl/refiners/NLMergeDateRangeRefiner.ts.html +136 -0
  139. package/coverage/lcov-report/src/locales/nl/refiners/NLMergeDateTimeRefiner.ts.html +124 -0
  140. package/coverage/lcov-report/src/locales/nl/refiners/index.html +131 -0
  141. package/coverage/lcov-report/src/locales/pt/constants.ts.html +343 -0
  142. package/coverage/lcov-report/src/locales/pt/index.html +131 -0
  143. package/coverage/lcov-report/src/locales/pt/index.ts.html +256 -0
  144. package/coverage/lcov-report/src/locales/pt/parsers/PTCasualDateParser.ts.html +181 -0
  145. package/coverage/lcov-report/src/locales/pt/parsers/PTCasualTimeParser.ts.html +226 -0
  146. package/coverage/lcov-report/src/locales/pt/parsers/PTMonthNameLittleEndianParser.ts.html +265 -0
  147. package/coverage/lcov-report/src/locales/pt/parsers/PTTimeExpressionParser.ts.html +145 -0
  148. package/coverage/lcov-report/src/locales/pt/parsers/PTWeekdayParser.ts.html +235 -0
  149. package/coverage/lcov-report/src/locales/pt/parsers/index.html +176 -0
  150. package/coverage/lcov-report/src/locales/pt/refiners/PTMergeDateRangeRefiner.ts.html +130 -0
  151. package/coverage/lcov-report/src/locales/pt/refiners/PTMergeDateTimeRefiner.ts.html +115 -0
  152. package/coverage/lcov-report/src/locales/pt/refiners/index.html +131 -0
  153. package/coverage/lcov-report/src/locales/ru/constants.ts.html +1111 -0
  154. package/coverage/lcov-report/src/locales/ru/index.html +131 -0
  155. package/coverage/lcov-report/src/locales/ru/index.ts.html +337 -0
  156. package/coverage/lcov-report/src/locales/ru/parsers/RUCasualDateParser.ts.html +217 -0
  157. package/coverage/lcov-report/src/locales/ru/parsers/RUCasualTimeParser.ts.html +253 -0
  158. package/coverage/lcov-report/src/locales/ru/parsers/RUMonthNameLittleEndianParser.ts.html +301 -0
  159. package/coverage/lcov-report/src/locales/ru/parsers/RUMonthNameParser.ts.html +268 -0
  160. package/coverage/lcov-report/src/locales/ru/parsers/RURelativeDateFormatParser.ts.html +310 -0
  161. package/coverage/lcov-report/src/locales/ru/parsers/RUTimeExpressionParser.ts.html +277 -0
  162. package/coverage/lcov-report/src/locales/ru/parsers/RUTimeUnitAgoFormatParser.ts.html +157 -0
  163. package/coverage/lcov-report/src/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.ts.html +187 -0
  164. package/coverage/lcov-report/src/locales/ru/parsers/RUTimeUnitWithinFormatParser.ts.html +157 -0
  165. package/coverage/lcov-report/src/locales/ru/parsers/RUWeekdayParser.ts.html +256 -0
  166. package/coverage/lcov-report/src/locales/ru/parsers/index.html +251 -0
  167. package/coverage/lcov-report/src/locales/ru/refiners/RUMergeDateRangeRefiner.ts.html +124 -0
  168. package/coverage/lcov-report/src/locales/ru/refiners/RUMergeDateTimeRefiner.ts.html +124 -0
  169. package/coverage/lcov-report/src/locales/ru/refiners/index.html +131 -0
  170. package/coverage/lcov-report/src/locales/zh/hans/constants.ts.html +241 -0
  171. package/coverage/lcov-report/src/locales/zh/hans/index.html +131 -0
  172. package/coverage/lcov-report/src/locales/zh/hans/index.ts.html +271 -0
  173. package/coverage/lcov-report/src/locales/zh/hans/parsers/ZHHansCasualDateParser.ts.html +469 -0
  174. package/coverage/lcov-report/src/locales/zh/hans/parsers/ZHHansDateParser.ts.html +310 -0
  175. package/coverage/lcov-report/src/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.ts.html +328 -0
  176. package/coverage/lcov-report/src/locales/zh/hans/parsers/ZHHansRelationWeekdayParser.ts.html +292 -0
  177. package/coverage/lcov-report/src/locales/zh/hans/parsers/ZHHansTimeExpressionParser.ts.html +1357 -0
  178. package/coverage/lcov-report/src/locales/zh/hans/parsers/ZHHansWeekdayParser.ts.html +223 -0
  179. package/coverage/lcov-report/src/locales/zh/hans/parsers/index.html +191 -0
  180. package/coverage/lcov-report/src/locales/zh/hans/refiners/ZHHansMergeDateRangeRefiner.ts.html +106 -0
  181. package/coverage/lcov-report/src/locales/zh/hans/refiners/ZHHansMergeDateTimeRefiner.ts.html +106 -0
  182. package/coverage/lcov-report/src/locales/zh/hans/refiners/index.html +131 -0
  183. package/coverage/lcov-report/src/locales/zh/hant/constants.ts.html +244 -0
  184. package/coverage/lcov-report/src/locales/zh/hant/index.html +131 -0
  185. package/coverage/lcov-report/src/locales/zh/hant/index.ts.html +274 -0
  186. package/coverage/lcov-report/src/locales/zh/hant/parsers/ZHHantCasualDateParser.ts.html +469 -0
  187. package/coverage/lcov-report/src/locales/zh/hant/parsers/ZHHantDateParser.ts.html +289 -0
  188. package/coverage/lcov-report/src/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.ts.html +328 -0
  189. package/coverage/lcov-report/src/locales/zh/hant/parsers/ZHHantRelationWeekdayParser.ts.html +292 -0
  190. package/coverage/lcov-report/src/locales/zh/hant/parsers/ZHHantTimeExpressionParser.ts.html +1357 -0
  191. package/coverage/lcov-report/src/locales/zh/hant/parsers/ZHHantWeekdayParser.ts.html +223 -0
  192. package/coverage/lcov-report/src/locales/zh/hant/parsers/index.html +191 -0
  193. package/coverage/lcov-report/src/locales/zh/hant/refiners/ZHHantMergeDateRangeRefiner.ts.html +106 -0
  194. package/coverage/lcov-report/src/locales/zh/hant/refiners/ZHHantMergeDateTimeRefiner.ts.html +106 -0
  195. package/coverage/lcov-report/src/locales/zh/hant/refiners/index.html +131 -0
  196. package/coverage/lcov-report/src/locales/zh/index.html +116 -0
  197. package/coverage/lcov-report/src/locales/zh/index.ts.html +91 -0
  198. package/coverage/lcov-report/src/options.js.html +1085 -0
  199. package/coverage/lcov-report/src/parsers/de/DECasualDateParser.js.html +368 -0
  200. package/coverage/lcov-report/src/parsers/de/DEDeadlineFormatParser.js.html +374 -0
  201. package/coverage/lcov-report/src/parsers/de/DEMonthNameLittleEndianParser.js.html +347 -0
  202. package/coverage/lcov-report/src/parsers/de/DEMonthNameParser.js.html +329 -0
  203. package/coverage/lcov-report/src/parsers/de/DESlashDateFormatParser.js.html +398 -0
  204. package/coverage/lcov-report/src/parsers/de/DETimeAgoFormatParser.js.html +401 -0
  205. package/coverage/lcov-report/src/parsers/de/DETimeExpressionParser.js.html +836 -0
  206. package/coverage/lcov-report/src/parsers/de/DEWeekdayParser.js.html +338 -0
  207. package/coverage/lcov-report/src/parsers/de/index.html +216 -0
  208. package/coverage/lcov-report/src/parsers/en/ENCasualDateParser.js.html +275 -0
  209. package/coverage/lcov-report/src/parsers/en/ENCasualTimeParser.js.html +242 -0
  210. package/coverage/lcov-report/src/parsers/en/ENDeadlineFormatParser.js.html +359 -0
  211. package/coverage/lcov-report/src/parsers/en/ENISOFormatParser.js.html +389 -0
  212. package/coverage/lcov-report/src/parsers/en/ENMonthNameLittleEndianParser.js.html +416 -0
  213. package/coverage/lcov-report/src/parsers/en/ENMonthNameMiddleEndianParser.js.html +437 -0
  214. package/coverage/lcov-report/src/parsers/en/ENMonthNameParser.js.html +320 -0
  215. package/coverage/lcov-report/src/parsers/en/ENRelativeDateFormatParser.js.html +518 -0
  216. package/coverage/lcov-report/src/parsers/en/ENSlashDateFormatParser.js.html +479 -0
  217. package/coverage/lcov-report/src/parsers/en/ENSlashDateFormatStartWithYearParser.js.html +245 -0
  218. package/coverage/lcov-report/src/parsers/en/ENSlashMonthFormatParser.js.html +221 -0
  219. package/coverage/lcov-report/src/parsers/en/ENTimeAgoFormatParser.js.html +287 -0
  220. package/coverage/lcov-report/src/parsers/en/ENTimeExpressionParser.js.html +869 -0
  221. package/coverage/lcov-report/src/parsers/en/ENTimeLaterFormatParser.js.html +305 -0
  222. package/coverage/lcov-report/src/parsers/en/ENWeekdayParser.js.html +356 -0
  223. package/coverage/lcov-report/src/parsers/en/index.html +321 -0
  224. package/coverage/lcov-report/src/parsers/es/ESCasualDateParser.js.html +452 -0
  225. package/coverage/lcov-report/src/parsers/es/ESDeadlineFormatParser.js.html +260 -0
  226. package/coverage/lcov-report/src/parsers/es/ESMonthNameLittleEndianParser.js.html +338 -0
  227. package/coverage/lcov-report/src/parsers/es/ESSlashDateFormatParser.js.html +419 -0
  228. package/coverage/lcov-report/src/parsers/es/ESTimeAgoFormatParser.js.html +341 -0
  229. package/coverage/lcov-report/src/parsers/es/ESTimeExpressionParser.js.html +782 -0
  230. package/coverage/lcov-report/src/parsers/es/ESWeekdayParser.js.html +260 -0
  231. package/coverage/lcov-report/src/parsers/es/index.html +201 -0
  232. package/coverage/lcov-report/src/parsers/fr/FRCasualDateParser.js.html +311 -0
  233. package/coverage/lcov-report/src/parsers/fr/FRDeadlineFormatParser.js.html +359 -0
  234. package/coverage/lcov-report/src/parsers/fr/FRMonthNameLittleEndianParser.js.html +338 -0
  235. package/coverage/lcov-report/src/parsers/fr/FRRelativeDateFormatParser.js.html +545 -0
  236. package/coverage/lcov-report/src/parsers/fr/FRSlashDateFormatParser.js.html +437 -0
  237. package/coverage/lcov-report/src/parsers/fr/FRTimeAgoFormatParser.js.html +341 -0
  238. package/coverage/lcov-report/src/parsers/fr/FRTimeExpressionParser.js.html +803 -0
  239. package/coverage/lcov-report/src/parsers/fr/FRWeekdayParser.js.html +257 -0
  240. package/coverage/lcov-report/src/parsers/fr/index.html +216 -0
  241. package/coverage/lcov-report/src/parsers/index.html +111 -0
  242. package/coverage/lcov-report/src/parsers/ja/JPCasualDateParser.js.html +245 -0
  243. package/coverage/lcov-report/src/parsers/ja/JPStandardParser.js.html +293 -0
  244. package/coverage/lcov-report/src/parsers/ja/index.html +126 -0
  245. package/coverage/lcov-report/src/parsers/nl/NLCasualDateParser.js.html +395 -0
  246. package/coverage/lcov-report/src/parsers/nl/NLCasualTimeParser.js.html +278 -0
  247. package/coverage/lcov-report/src/parsers/nl/NLMonthNameLittleEndianParser.js.html +383 -0
  248. package/coverage/lcov-report/src/parsers/nl/NLMonthNameParser.js.html +320 -0
  249. package/coverage/lcov-report/src/parsers/nl/NLSlashDateFormatParser.js.html +389 -0
  250. package/coverage/lcov-report/src/parsers/nl/NLTimeExpressionParser.js.html +836 -0
  251. package/coverage/lcov-report/src/parsers/nl/NLWeekdayParser.js.html +377 -0
  252. package/coverage/lcov-report/src/parsers/nl/index.html +201 -0
  253. package/coverage/lcov-report/src/parsers/parser.js.html +500 -0
  254. package/coverage/lcov-report/src/parsers/pt/PTCasualDateParser.js.html +449 -0
  255. package/coverage/lcov-report/src/parsers/pt/PTDeadlineFormatParser.js.html +263 -0
  256. package/coverage/lcov-report/src/parsers/pt/PTMonthNameLittleEndianParser.js.html +338 -0
  257. package/coverage/lcov-report/src/parsers/pt/PTSlashDateFormatParser.js.html +419 -0
  258. package/coverage/lcov-report/src/parsers/pt/PTTimeAgoFormatParser.js.html +341 -0
  259. package/coverage/lcov-report/src/parsers/pt/PTTimeExpressionParser.js.html +782 -0
  260. package/coverage/lcov-report/src/parsers/pt/PTWeekdayParser.js.html +260 -0
  261. package/coverage/lcov-report/src/parsers/pt/index.html +201 -0
  262. package/coverage/lcov-report/src/parsers/zh-Hant/ZHHantCasualDateParser.js.html +494 -0
  263. package/coverage/lcov-report/src/parsers/zh-Hant/ZHHantDateParser.js.html +281 -0
  264. package/coverage/lcov-report/src/parsers/zh-Hant/ZHHantDeadlineFormatParser.js.html +353 -0
  265. package/coverage/lcov-report/src/parsers/zh-Hant/ZHHantTimeExpressionParser.js.html +1346 -0
  266. package/coverage/lcov-report/src/parsers/zh-Hant/ZHHantWeekdayParser.js.html +239 -0
  267. package/coverage/lcov-report/src/parsers/zh-Hant/index.html +171 -0
  268. package/coverage/lcov-report/src/refiners/ExtractTimezoneAbbrRefiner.js.html +245 -0
  269. package/coverage/lcov-report/src/refiners/ExtractTimezoneOffsetRefiner.js.html +218 -0
  270. package/coverage/lcov-report/src/refiners/ForwardDateRefiner.js.html +239 -0
  271. package/coverage/lcov-report/src/refiners/OverlapRemovalRefiner.js.html +200 -0
  272. package/coverage/lcov-report/src/refiners/UnlikelyFormatFilter.js.html +131 -0
  273. package/coverage/lcov-report/src/refiners/de/DEMergeDateRangeRefiner.js.html +116 -0
  274. package/coverage/lcov-report/src/refiners/de/DEMergeDateTimeRefiner.js.html +377 -0
  275. package/coverage/lcov-report/src/refiners/de/index.html +126 -0
  276. package/coverage/lcov-report/src/refiners/en/ENMergeDateRangeRefiner.js.html +416 -0
  277. package/coverage/lcov-report/src/refiners/en/ENMergeDateTimeRefiner.js.html +533 -0
  278. package/coverage/lcov-report/src/refiners/en/ENPrioritizeSpecificDateRefiner.js.html +422 -0
  279. package/coverage/lcov-report/src/refiners/en/index.html +141 -0
  280. package/coverage/lcov-report/src/refiners/fr/FRMergeDateRangeRefiner.js.html +374 -0
  281. package/coverage/lcov-report/src/refiners/fr/FRMergeDateTimeRefiner.js.html +395 -0
  282. package/coverage/lcov-report/src/refiners/fr/index.html +126 -0
  283. package/coverage/lcov-report/src/refiners/index.html +186 -0
  284. package/coverage/lcov-report/src/refiners/ja/JPMergeDateRangeRefiner.js.html +113 -0
  285. package/coverage/lcov-report/src/refiners/ja/index.html +111 -0
  286. package/coverage/lcov-report/src/refiners/nl/NLMergeDateRangeRefiner.js.html +116 -0
  287. package/coverage/lcov-report/src/refiners/nl/NLMergeDateTimeRefiner.js.html +362 -0
  288. package/coverage/lcov-report/src/refiners/nl/index.html +126 -0
  289. package/coverage/lcov-report/src/refiners/refiner.js.html +239 -0
  290. package/coverage/lcov-report/src/result.js.html +545 -0
  291. package/coverage/lcov-report/src/results.ts.html +916 -0
  292. package/coverage/lcov-report/src/timezone.ts.html +700 -0
  293. package/coverage/lcov-report/src/utils/DE.js.html +308 -0
  294. package/coverage/lcov-report/src/utils/EN.js.html +596 -0
  295. package/coverage/lcov-report/src/utils/ES.js.html +254 -0
  296. package/coverage/lcov-report/src/utils/FR.js.html +302 -0
  297. package/coverage/lcov-report/src/utils/JP.js.html +215 -0
  298. package/coverage/lcov-report/src/utils/NL.js.html +620 -0
  299. package/coverage/lcov-report/src/utils/PT.js.html +263 -0
  300. package/coverage/lcov-report/src/utils/ParserWithWordEndingDetection.ts.html +176 -0
  301. package/coverage/lcov-report/src/utils/ZH-Hant.js.html +236 -0
  302. package/coverage/lcov-report/src/utils/dayjs.ts.html +223 -0
  303. package/coverage/lcov-report/src/utils/index.html +146 -0
  304. package/coverage/lcov-report/src/utils/pattern.ts.html +175 -0
  305. package/coverage/lcov-report/src/utils/timeunits.ts.html +199 -0
  306. package/coverage/lcov-report/test/index.html +116 -0
  307. package/coverage/lcov-report/test/test_util.js.html +299 -0
  308. package/coverage/lcov-report/test/test_util.ts.html +490 -0
  309. package/coverage/lcov.info +7750 -0
  310. package/dist/common/parsers/SlashDateFormatParser.js +5 -3
  311. package/dist/common/parsers/SlashDateFormatParser.js.map +1 -1
  312. package/dist/common/refiners/AbstractMergeDateTimeRefiner.d.ts +1 -1
  313. package/dist/common/refiners/AbstractMergeDateTimeRefiner.js +2 -2
  314. package/dist/common/refiners/AbstractMergeDateTimeRefiner.js.map +1 -1
  315. package/dist/common/refiners/ForwardDateRefiner.js +12 -0
  316. package/dist/common/refiners/ForwardDateRefiner.js.map +1 -1
  317. package/dist/locales/en/parsers/ENCasualTimeParser.js +4 -4
  318. package/dist/locales/en/parsers/ENCasualTimeParser.js.map +1 -1
  319. package/dist/locales/zh/hans/parsers/ZHHansTimeExpressionParser.js +26 -26
  320. package/dist/locales/zh/hans/parsers/ZHHansTimeExpressionParser.js.map +1 -1
  321. package/dist/locales/zh/hant/parsers/ZHHantTimeExpressionParser.js +26 -26
  322. package/dist/locales/zh/hant/parsers/ZHHantTimeExpressionParser.js.map +1 -1
  323. package/dist/utils/dayjs.d.ts +2 -0
  324. package/dist/utils/dayjs.js +13 -1
  325. package/dist/utils/dayjs.js.map +1 -1
  326. package/docs/assets/css/main.css +2660 -0
  327. package/docs/assets/images/icons.png +0 -0
  328. package/docs/assets/images/icons@2x.png +0 -0
  329. package/docs/assets/images/widgets.png +0 -0
  330. package/docs/assets/images/widgets@2x.png +0 -0
  331. package/docs/assets/js/main.js +248 -0
  332. package/docs/assets/js/search.js +1 -0
  333. package/docs/classes/chrono.html +377 -0
  334. package/docs/enums/meridiem.html +191 -0
  335. package/docs/index.html +329 -0
  336. package/docs/interfaces/parsedcomponents.html +270 -0
  337. package/docs/interfaces/parsedresult.html +283 -0
  338. package/docs/interfaces/parser.html +240 -0
  339. package/docs/interfaces/parsingoption.html +218 -0
  340. package/docs/interfaces/refiner.html +218 -0
  341. package/docs/modules/de.html +298 -0
  342. package/docs/modules/en.html +361 -0
  343. package/docs/modules/fr.html +248 -0
  344. package/docs/modules/ja.html +248 -0
  345. package/docs/modules/nl.html +275 -0
  346. package/docs/modules/pt.html +248 -0
  347. package/package.json +1 -1
  348. package/src/common/parsers/SlashDateFormatParser.ts +7 -6
  349. package/src/common/refiners/AbstractMergeDateTimeRefiner.ts +1 -1
  350. package/src/common/refiners/ForwardDateRefiner.ts +13 -0
  351. package/src/locales/en/parsers/ENCasualTimeParser.ts +6 -5
  352. package/src/locales/zh/hans/parsers/ZHHansTimeExpressionParser.ts +26 -26
  353. package/src/locales/zh/hant/parsers/ZHHantTimeExpressionParser.ts +26 -26
  354. package/src/utils/dayjs.ts +12 -0
  355. package/test/en/en_casual.test.ts +7 -0
  356. package/test/en/en_slash.test.ts +12 -11
  357. package/test/en/en_time_exp.test.ts +53 -0
  358. package/test/en/negative_cases.test.ts +11 -0
  359. package/test/zh/zh_hans_time_exp.test.ts +15 -0
  360. package/test/zh/zh_hant_time_exp.test.ts +14 -0
@@ -0,0 +1,248 @@
1
+ <!doctype html>
2
+ <html class="default no-js">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <title>pt | Chrono - v2.2.7</title>
7
+ <meta name="description" content="Documentation for Chrono - v2.2.7">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1">
9
+ <link rel="stylesheet" href="../assets/css/main.css">
10
+ <script async src="../assets/js/search.js" id="search-script"></script>
11
+ </head>
12
+ <body>
13
+ <header>
14
+ <div class="tsd-page-toolbar">
15
+ <div class="container">
16
+ <div class="table-wrap">
17
+ <div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
18
+ <div class="field">
19
+ <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
20
+ <input id="tsd-search-field" type="text" />
21
+ </div>
22
+ <ul class="results">
23
+ <li class="state loading">Preparing search index...</li>
24
+ <li class="state failure">The search index is not available</li>
25
+ </ul>
26
+ <a href="../index.html" class="title">Chrono - v2.2.7</a>
27
+ </div>
28
+ <div class="table-cell" id="tsd-widgets">
29
+ <div id="tsd-filter">
30
+ <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
31
+ <div class="tsd-filter-group">
32
+ <div class="tsd-select" id="tsd-filter-visibility">
33
+ <span class="tsd-select-label">All</span>
34
+ <ul class="tsd-select-list">
35
+ <li data-value="public">Public</li>
36
+ <li data-value="protected">Public/Protected</li>
37
+ <li data-value="private" class="selected">All</li>
38
+ </ul>
39
+ </div>
40
+ <input type="checkbox" id="tsd-filter-inherited" checked />
41
+ <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
42
+ <input type="checkbox" id="tsd-filter-externals" checked />
43
+ <label class="tsd-widget" for="tsd-filter-externals">Externals</label>
44
+ </div>
45
+ </div>
46
+ <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ <div class="tsd-page-title">
52
+ <div class="container">
53
+ <ul class="tsd-breadcrumb">
54
+ <li>
55
+ <a href="../index.html">Chrono - v2.2.7</a>
56
+ </li>
57
+ <li>
58
+ <a href="pt.html">pt</a>
59
+ </li>
60
+ </ul>
61
+ <h1>Namespace pt</h1>
62
+ </div>
63
+ </div>
64
+ </header>
65
+ <div class="container container-main">
66
+ <div class="row">
67
+ <div class="col-8 col-content">
68
+ <section class="tsd-panel tsd-comment">
69
+ <div class="tsd-comment tsd-typography">
70
+ <div class="lead">
71
+ <p>Chrono components for Portuguese support (<em>parsers</em>, <em>refiners</em>, and <em>configuration</em>)</p>
72
+ </div>
73
+ </div>
74
+ </section>
75
+ <section class="tsd-panel-group tsd-index-group">
76
+ <h2>Index</h2>
77
+ <section class="tsd-panel tsd-index-panel">
78
+ <div class="tsd-index-content">
79
+ <section class="tsd-index-section ">
80
+ <h3>Variables</h3>
81
+ <ul class="tsd-index-list">
82
+ <li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="pt.html#casual" class="tsd-kind-icon">casual</a></li>
83
+ <li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="pt.html#strict" class="tsd-kind-icon">strict</a></li>
84
+ </ul>
85
+ </section>
86
+ <section class="tsd-index-section ">
87
+ <h3>Functions</h3>
88
+ <ul class="tsd-index-list">
89
+ <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="pt.html#parse" class="tsd-kind-icon">parse</a></li>
90
+ <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="pt.html#parsedate" class="tsd-kind-icon">parse<wbr>Date</a></li>
91
+ </ul>
92
+ </section>
93
+ </div>
94
+ </section>
95
+ </section>
96
+ <section class="tsd-panel-group tsd-member-group ">
97
+ <h2>Variables</h2>
98
+ <section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
99
+ <a name="casual" class="tsd-anchor"></a>
100
+ <h3><span class="tsd-flag ts-flagConst">Const</span> casual</h3>
101
+ <div class="tsd-signature tsd-kind-icon">casual<span class="tsd-signature-symbol">:</span> <a href="../classes/chrono.html" class="tsd-signature-type" data-tsd-kind="Class">Chrono</a><span class="tsd-signature-symbol"> = ...</span></div>
102
+ <aside class="tsd-sources">
103
+ <ul>
104
+ <li>Defined in <a href="https://github.com/wanasit/chrono/blob/59d06db/src/locales/pt/index.ts#L20">locales/pt/index.ts:20</a></li>
105
+ </ul>
106
+ </aside>
107
+ </section>
108
+ <section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
109
+ <a name="strict" class="tsd-anchor"></a>
110
+ <h3><span class="tsd-flag ts-flagConst">Const</span> strict</h3>
111
+ <div class="tsd-signature tsd-kind-icon">strict<span class="tsd-signature-symbol">:</span> <a href="../classes/chrono.html" class="tsd-signature-type" data-tsd-kind="Class">Chrono</a><span class="tsd-signature-symbol"> = ...</span></div>
112
+ <aside class="tsd-sources">
113
+ <ul>
114
+ <li>Defined in <a href="https://github.com/wanasit/chrono/blob/59d06db/src/locales/pt/index.ts#L21">locales/pt/index.ts:21</a></li>
115
+ </ul>
116
+ </aside>
117
+ </section>
118
+ </section>
119
+ <section class="tsd-panel-group tsd-member-group ">
120
+ <h2>Functions</h2>
121
+ <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
122
+ <a name="parse" class="tsd-anchor"></a>
123
+ <h3>parse</h3>
124
+ <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
125
+ <li class="tsd-signature tsd-kind-icon">parse<span class="tsd-signature-symbol">(</span>text<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, ref<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Date</span>, option<span class="tsd-signature-symbol">?: </span><a href="../interfaces/parsingoption.html" class="tsd-signature-type" data-tsd-kind="Interface">ParsingOption</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/parsedresult.html" class="tsd-signature-type" data-tsd-kind="Interface">ParsedResult</a><span class="tsd-signature-symbol">[]</span></li>
126
+ </ul>
127
+ <ul class="tsd-descriptions">
128
+ <li class="tsd-description">
129
+ <aside class="tsd-sources">
130
+ <ul>
131
+ <li>Defined in <a href="https://github.com/wanasit/chrono/blob/59d06db/src/locales/pt/index.ts#L23">locales/pt/index.ts:23</a></li>
132
+ </ul>
133
+ </aside>
134
+ <h4 class="tsd-parameters-title">Parameters</h4>
135
+ <ul class="tsd-parameters">
136
+ <li>
137
+ <h5>text: <span class="tsd-signature-type">string</span></h5>
138
+ </li>
139
+ <li>
140
+ <h5><span class="tsd-flag ts-flagOptional">Optional</span> ref: <span class="tsd-signature-type">Date</span></h5>
141
+ </li>
142
+ <li>
143
+ <h5><span class="tsd-flag ts-flagOptional">Optional</span> option: <a href="../interfaces/parsingoption.html" class="tsd-signature-type" data-tsd-kind="Interface">ParsingOption</a></h5>
144
+ </li>
145
+ </ul>
146
+ <h4 class="tsd-returns-title">Returns <a href="../interfaces/parsedresult.html" class="tsd-signature-type" data-tsd-kind="Interface">ParsedResult</a><span class="tsd-signature-symbol">[]</span></h4>
147
+ </li>
148
+ </ul>
149
+ </section>
150
+ <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
151
+ <a name="parsedate" class="tsd-anchor"></a>
152
+ <h3>parse<wbr>Date</h3>
153
+ <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
154
+ <li class="tsd-signature tsd-kind-icon">parse<wbr>Date<span class="tsd-signature-symbol">(</span>text<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, ref<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Date</span>, option<span class="tsd-signature-symbol">?: </span><a href="../interfaces/parsingoption.html" class="tsd-signature-type" data-tsd-kind="Interface">ParsingOption</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Date</span></li>
155
+ </ul>
156
+ <ul class="tsd-descriptions">
157
+ <li class="tsd-description">
158
+ <aside class="tsd-sources">
159
+ <ul>
160
+ <li>Defined in <a href="https://github.com/wanasit/chrono/blob/59d06db/src/locales/pt/index.ts#L27">locales/pt/index.ts:27</a></li>
161
+ </ul>
162
+ </aside>
163
+ <h4 class="tsd-parameters-title">Parameters</h4>
164
+ <ul class="tsd-parameters">
165
+ <li>
166
+ <h5>text: <span class="tsd-signature-type">string</span></h5>
167
+ </li>
168
+ <li>
169
+ <h5><span class="tsd-flag ts-flagOptional">Optional</span> ref: <span class="tsd-signature-type">Date</span></h5>
170
+ </li>
171
+ <li>
172
+ <h5><span class="tsd-flag ts-flagOptional">Optional</span> option: <a href="../interfaces/parsingoption.html" class="tsd-signature-type" data-tsd-kind="Interface">ParsingOption</a></h5>
173
+ </li>
174
+ </ul>
175
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Date</span></h4>
176
+ </li>
177
+ </ul>
178
+ </section>
179
+ </section>
180
+ </div>
181
+ <div class="col-4 col-menu menu-sticky-wrap menu-highlight">
182
+ <nav class="tsd-navigation primary">
183
+ <ul>
184
+ <li class=" ">
185
+ <a href="../index.html">Exports</a>
186
+ </li>
187
+ <li class=" tsd-kind-namespace">
188
+ <a href="de.html">de</a>
189
+ </li>
190
+ <li class=" tsd-kind-namespace">
191
+ <a href="en.html">en</a>
192
+ </li>
193
+ <li class=" tsd-kind-namespace">
194
+ <a href="fr.html">fr</a>
195
+ </li>
196
+ <li class=" tsd-kind-namespace">
197
+ <a href="ja.html">ja</a>
198
+ </li>
199
+ <li class=" tsd-kind-namespace">
200
+ <a href="nl.html">nl</a>
201
+ </li>
202
+ <li class="current tsd-kind-namespace">
203
+ <a href="pt.html">pt</a>
204
+ </li>
205
+ </ul>
206
+ </nav>
207
+ <nav class="tsd-navigation secondary menu-sticky">
208
+ <ul class="before-current">
209
+ <li class=" tsd-kind-variable tsd-parent-kind-namespace">
210
+ <a href="pt.html#casual" class="tsd-kind-icon">casual</a>
211
+ </li>
212
+ <li class=" tsd-kind-variable tsd-parent-kind-namespace">
213
+ <a href="pt.html#strict" class="tsd-kind-icon">strict</a>
214
+ </li>
215
+ <li class=" tsd-kind-function tsd-parent-kind-namespace">
216
+ <a href="pt.html#parse" class="tsd-kind-icon">parse</a>
217
+ </li>
218
+ <li class=" tsd-kind-function tsd-parent-kind-namespace">
219
+ <a href="pt.html#parsedate" class="tsd-kind-icon">parse<wbr>Date</a>
220
+ </li>
221
+ </ul>
222
+ </nav>
223
+ </div>
224
+ </div>
225
+ </div>
226
+ <footer class="with-border-bottom">
227
+ <div class="container">
228
+ <h2>Legend</h2>
229
+ <div class="tsd-legend-group">
230
+ <ul class="tsd-legend">
231
+ <li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
232
+ <li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
233
+ <li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
234
+ </ul>
235
+ <ul class="tsd-legend">
236
+ <li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
237
+ <li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
238
+ </ul>
239
+ </div>
240
+ </div>
241
+ </footer>
242
+ <div class="container tsd-generator">
243
+ <p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
244
+ </div>
245
+ <div class="overlay"></div>
246
+ <script src="../assets/js/main.js"></script>
247
+ </body>
248
+ </html>
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "preset": "ts-jest"
16
16
  },
17
17
  "license": "MIT",
18
- "version": "2.4.1",
18
+ "version": "2.4.2",
19
19
  "directories": {
20
20
  "source": "./src",
21
21
  "test": "./test"
@@ -39,12 +39,13 @@ export default class SlashDateFormatParser implements Parser {
39
39
  }
40
40
 
41
41
  extract(context: ParsingContext, match: RegExpMatchArray): ParsingResult {
42
- if (match[OPENING_GROUP] == "/" || match[ENDING_GROUP] == "/") {
43
- // Long skip, if there is some overlapping like:
44
- // XX[/YY/ZZ]
45
- // [XX/YY/]ZZ
46
- match.index += match[0].length;
47
- return;
42
+ // Because of how pattern is executed on remaining text in `chrono.ts`, the character before the match could
43
+ // still be a number (e.g. X[X/YY/ZZ] or XX[/YY/ZZ] or [XX/YY/]ZZ). We want to check and skip them.
44
+ if (match[OPENING_GROUP].length == 0 && match.index > 0 && match.index < context.text.length) {
45
+ const previousChar = context.text[match.index - 1];
46
+ if (previousChar >= "0" && previousChar <= "9") {
47
+ return;
48
+ }
48
49
  }
49
50
 
50
51
  const index = match.index + match[OPENING_GROUP].length;
@@ -6,7 +6,7 @@ import { MergingRefiner } from "../abstractRefiners";
6
6
  import { ParsingResult } from "../../results";
7
7
  import { mergeDateTimeResult } from "../../calculation/mergingCalculation";
8
8
 
9
- export default abstract class ENMergeDateTimeRefiner extends MergingRefiner {
9
+ export default abstract class AbstractMergeDateTimeRefiner extends MergingRefiner {
10
10
  abstract patternBetween(): RegExp;
11
11
 
12
12
  shouldMergeResults(textBetween: string, currentResult: ParsingResult, nextResult: ParsingResult): boolean {
@@ -7,6 +7,7 @@
7
7
  import { ParsingContext, Refiner } from "../../chrono";
8
8
  import { ParsingResult } from "../../results";
9
9
  import dayjs from "dayjs";
10
+ import { implySimilarDate } from "../../utils/dayjs";
10
11
 
11
12
  export default class ForwardDateRefiner implements Refiner {
12
13
  refine(context: ParsingContext, results: ParsingResult[]): ParsingResult[] {
@@ -17,6 +18,18 @@ export default class ForwardDateRefiner implements Refiner {
17
18
  results.forEach(function (result) {
18
19
  let refMoment = dayjs(context.refDate);
19
20
 
21
+ if (result.start.isOnlyTime() && refMoment.isAfter(result.start.dayjs())) {
22
+ refMoment = refMoment.add(1, "day");
23
+ implySimilarDate(result.start, refMoment);
24
+ if (result.end && result.end.isOnlyTime()) {
25
+ implySimilarDate(result.end, refMoment);
26
+ if (result.start.dayjs().isAfter(result.end.dayjs())) {
27
+ refMoment = refMoment.add(1, "day");
28
+ implySimilarDate(result.end, refMoment);
29
+ }
30
+ }
31
+ }
32
+
20
33
  if (result.start.isOnlyDayMonthComponent() && refMoment.isAfter(result.start.dayjs())) {
21
34
  for (let i = 0; i < 3 && refMoment.isAfter(result.start.dayjs()); i++) {
22
35
  result.start.imply("year", result.start.get("year") + 1);
@@ -2,7 +2,8 @@ import { ParsingContext } from "../../../chrono";
2
2
  import { Meridiem } from "../../../index";
3
3
  import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
4
4
  import dayjs from "dayjs";
5
- import { assignTheNextDay } from "../../../utils/dayjs";
5
+ import { implyTheNextDay } from "../../../utils/dayjs";
6
+ import { midnight } from "../../../common/casualReferences";
6
7
 
7
8
  const PATTERN = /(?:this)?\s{0,3}(morning|afternoon|evening|night|midnight|noon)(?=\W|$)/i;
8
9
 
@@ -28,10 +29,10 @@ export default class ENCasualTimeParser extends AbstractParserWithWordBoundaryCh
28
29
  break;
29
30
 
30
31
  case "midnight":
31
- assignTheNextDay(component, targetDate);
32
- component.imply("hour", 0);
33
- component.imply("minute", 0);
34
- component.imply("second", 0);
32
+ implyTheNextDay(component, targetDate);
33
+ component.assign("hour", 0);
34
+ component.assign("minute", 0);
35
+ component.assign("second", 0);
35
36
  break;
36
37
 
37
38
  case "morning":
@@ -76,7 +76,7 @@ export default class ZHHansTimeExpressionParser extends AbstractParserWithWordBo
76
76
 
77
77
  const refMoment = dayjs(context.refDate);
78
78
  const result = context.createParsingResult(match.index, match[0]);
79
- const startMoment = refMoment.clone();
79
+ let startMoment = refMoment.clone();
80
80
 
81
81
  // ----- Day
82
82
  if (match[DAY_GROUP_1]) {
@@ -84,18 +84,18 @@ export default class ZHHansTimeExpressionParser extends AbstractParserWithWordBo
84
84
  if (day1 == "明") {
85
85
  // Check not "Tomorrow" on late night
86
86
  if (refMoment.hour() > 1) {
87
- startMoment.add(1, "day");
87
+ startMoment = startMoment.add(1, "day");
88
88
  }
89
89
  } else if (day1 == "昨") {
90
- startMoment.add(-1, "day");
90
+ startMoment = startMoment.add(-1, "day");
91
91
  } else if (day1 == "前") {
92
- startMoment.add(-2, "day");
92
+ startMoment = startMoment.add(-2, "day");
93
93
  } else if (day1 == "大前") {
94
- startMoment.add(-3, "day");
94
+ startMoment = startMoment.add(-3, "day");
95
95
  } else if (day1 == "后") {
96
- startMoment.add(2, "day");
96
+ startMoment = startMoment.add(2, "day");
97
97
  } else if (day1 == "大后") {
98
- startMoment.add(3, "day");
98
+ startMoment = startMoment.add(3, "day");
99
99
  }
100
100
  result.start.assign("day", startMoment.date());
101
101
  result.start.assign("month", startMoment.month() + 1);
@@ -103,17 +103,17 @@ export default class ZHHansTimeExpressionParser extends AbstractParserWithWordBo
103
103
  } else if (match[DAY_GROUP_3]) {
104
104
  const day3 = match[DAY_GROUP_3];
105
105
  if (day3 == "明") {
106
- startMoment.add(1, "day");
106
+ startMoment = startMoment.add(1, "day");
107
107
  } else if (day3 == "昨") {
108
- startMoment.add(-1, "day");
108
+ startMoment = startMoment.add(-1, "day");
109
109
  } else if (day3 == "前") {
110
- startMoment.add(-2, "day");
110
+ startMoment = startMoment.add(-2, "day");
111
111
  } else if (day3 == "大前") {
112
- startMoment.add(-3, "day");
112
+ startMoment = startMoment.add(-3, "day");
113
113
  } else if (day3 == "后") {
114
- startMoment.add(2, "day");
114
+ startMoment = startMoment.add(2, "day");
115
115
  } else if (day3 == "大后") {
116
- startMoment.add(3, "day");
116
+ startMoment = startMoment.add(3, "day");
117
117
  }
118
118
  result.start.assign("day", startMoment.date());
119
119
  result.start.assign("month", startMoment.month() + 1);
@@ -242,7 +242,7 @@ export default class ZHHansTimeExpressionParser extends AbstractParserWithWordBo
242
242
  return result;
243
243
  }
244
244
 
245
- const endMoment = startMoment.clone();
245
+ let endMoment = startMoment.clone();
246
246
  result.end = context.createParsingComponents();
247
247
 
248
248
  // ----- Day
@@ -251,18 +251,18 @@ export default class ZHHansTimeExpressionParser extends AbstractParserWithWordBo
251
251
  if (day1 == "明") {
252
252
  // Check not "Tomorrow" on late night
253
253
  if (refMoment.hour() > 1) {
254
- endMoment.add(1, "day");
254
+ endMoment = endMoment.add(1, "day");
255
255
  }
256
256
  } else if (day1 == "昨") {
257
- endMoment.add(-1, "day");
257
+ endMoment = endMoment.add(-1, "day");
258
258
  } else if (day1 == "前") {
259
- endMoment.add(-2, "day");
259
+ endMoment = endMoment.add(-2, "day");
260
260
  } else if (day1 == "大前") {
261
- endMoment.add(-3, "day");
261
+ endMoment = endMoment.add(-3, "day");
262
262
  } else if (day1 == "后") {
263
- endMoment.add(2, "day");
263
+ endMoment = endMoment.add(2, "day");
264
264
  } else if (day1 == "大后") {
265
- endMoment.add(3, "day");
265
+ endMoment = endMoment.add(3, "day");
266
266
  }
267
267
  result.end.assign("day", endMoment.date());
268
268
  result.end.assign("month", endMoment.month() + 1);
@@ -270,17 +270,17 @@ export default class ZHHansTimeExpressionParser extends AbstractParserWithWordBo
270
270
  } else if (match[DAY_GROUP_3]) {
271
271
  const day3 = match[DAY_GROUP_3];
272
272
  if (day3 == "明") {
273
- endMoment.add(1, "day");
273
+ endMoment = endMoment.add(1, "day");
274
274
  } else if (day3 == "昨") {
275
- endMoment.add(-1, "day");
275
+ endMoment = endMoment.add(-1, "day");
276
276
  } else if (day3 == "前") {
277
- endMoment.add(-2, "day");
277
+ endMoment = endMoment.add(-2, "day");
278
278
  } else if (day3 == "大前") {
279
- endMoment.add(-3, "day");
279
+ endMoment = endMoment.add(-3, "day");
280
280
  } else if (day3 == "后") {
281
- endMoment.add(2, "day");
281
+ endMoment = endMoment.add(2, "day");
282
282
  } else if (day3 == "大后") {
283
- endMoment.add(3, "day");
283
+ endMoment = endMoment.add(3, "day");
284
284
  }
285
285
  result.end.assign("day", endMoment.date());
286
286
  result.end.assign("month", endMoment.month() + 1);
@@ -76,7 +76,7 @@ export default class ZHHantTimeExpressionParser extends AbstractParserWithWordBo
76
76
 
77
77
  const refMoment = dayjs(context.refDate);
78
78
  const result = context.createParsingResult(match.index, match[0]);
79
- const startMoment = refMoment.clone();
79
+ let startMoment = refMoment.clone();
80
80
 
81
81
  // ----- Day
82
82
  if (match[DAY_GROUP_1]) {
@@ -84,18 +84,18 @@ export default class ZHHantTimeExpressionParser extends AbstractParserWithWordBo
84
84
  if (day1 == "明" || day1 == "聽") {
85
85
  // Check not "Tomorrow" on late night
86
86
  if (refMoment.hour() > 1) {
87
- startMoment.add(1, "day");
87
+ startMoment = startMoment.add(1, "day");
88
88
  }
89
89
  } else if (day1 == "昨" || day1 == "尋" || day1 == "琴") {
90
- startMoment.add(-1, "day");
90
+ startMoment = startMoment.add(-1, "day");
91
91
  } else if (day1 == "前") {
92
- startMoment.add(-2, "day");
92
+ startMoment = startMoment.add(-2, "day");
93
93
  } else if (day1 == "大前") {
94
- startMoment.add(-3, "day");
94
+ startMoment = startMoment.add(-3, "day");
95
95
  } else if (day1 == "後") {
96
- startMoment.add(2, "day");
96
+ startMoment = startMoment.add(2, "day");
97
97
  } else if (day1 == "大後") {
98
- startMoment.add(3, "day");
98
+ startMoment = startMoment.add(3, "day");
99
99
  }
100
100
  result.start.assign("day", startMoment.date());
101
101
  result.start.assign("month", startMoment.month() + 1);
@@ -103,17 +103,17 @@ export default class ZHHantTimeExpressionParser extends AbstractParserWithWordBo
103
103
  } else if (match[DAY_GROUP_3]) {
104
104
  var day3 = match[DAY_GROUP_3];
105
105
  if (day3 == "明" || day3 == "聽") {
106
- startMoment.add(1, "day");
106
+ startMoment = startMoment.add(1, "day");
107
107
  } else if (day3 == "昨" || day3 == "尋" || day3 == "琴") {
108
- startMoment.add(-1, "day");
108
+ startMoment = startMoment.add(-1, "day");
109
109
  } else if (day3 == "前") {
110
- startMoment.add(-2, "day");
110
+ startMoment = startMoment.add(-2, "day");
111
111
  } else if (day3 == "大前") {
112
- startMoment.add(-3, "day");
112
+ startMoment = startMoment.add(-3, "day");
113
113
  } else if (day3 == "後") {
114
- startMoment.add(2, "day");
114
+ startMoment = startMoment.add(2, "day");
115
115
  } else if (day3 == "大後") {
116
- startMoment.add(3, "day");
116
+ startMoment = startMoment.add(3, "day");
117
117
  }
118
118
  result.start.assign("day", startMoment.date());
119
119
  result.start.assign("month", startMoment.month() + 1);
@@ -242,7 +242,7 @@ export default class ZHHantTimeExpressionParser extends AbstractParserWithWordBo
242
242
  return result;
243
243
  }
244
244
 
245
- const endMoment = startMoment.clone();
245
+ let endMoment = startMoment.clone();
246
246
  result.end = context.createParsingComponents();
247
247
 
248
248
  // ----- Day
@@ -251,18 +251,18 @@ export default class ZHHantTimeExpressionParser extends AbstractParserWithWordBo
251
251
  if (day1 == "明" || day1 == "聽") {
252
252
  // Check not "Tomorrow" on late night
253
253
  if (refMoment.hour() > 1) {
254
- endMoment.add(1, "day");
254
+ endMoment = endMoment.add(1, "day");
255
255
  }
256
256
  } else if (day1 == "昨" || day1 == "尋" || day1 == "琴") {
257
- endMoment.add(-1, "day");
257
+ endMoment = endMoment.add(-1, "day");
258
258
  } else if (day1 == "前") {
259
- endMoment.add(-2, "day");
259
+ endMoment = endMoment.add(-2, "day");
260
260
  } else if (day1 == "大前") {
261
- endMoment.add(-3, "day");
261
+ endMoment = endMoment.add(-3, "day");
262
262
  } else if (day1 == "後") {
263
- endMoment.add(2, "day");
263
+ endMoment = endMoment.add(2, "day");
264
264
  } else if (day1 == "大後") {
265
- endMoment.add(3, "day");
265
+ endMoment = endMoment.add(3, "day");
266
266
  }
267
267
  result.end.assign("day", endMoment.date());
268
268
  result.end.assign("month", endMoment.month() + 1);
@@ -270,17 +270,17 @@ export default class ZHHantTimeExpressionParser extends AbstractParserWithWordBo
270
270
  } else if (match[DAY_GROUP_3]) {
271
271
  var day3 = match[DAY_GROUP_3];
272
272
  if (day3 == "明" || day3 == "聽") {
273
- endMoment.add(1, "day");
273
+ endMoment = endMoment.add(1, "day");
274
274
  } else if (day3 == "昨" || day3 == "尋" || day3 == "琴") {
275
- endMoment.add(-1, "day");
275
+ endMoment = endMoment.add(-1, "day");
276
276
  } else if (day3 == "前") {
277
- endMoment.add(-2, "day");
277
+ endMoment = endMoment.add(-2, "day");
278
278
  } else if (day3 == "大前") {
279
- endMoment.add(-3, "day");
279
+ endMoment = endMoment.add(-3, "day");
280
280
  } else if (day3 == "後") {
281
- endMoment.add(2, "day");
281
+ endMoment = endMoment.add(2, "day");
282
282
  } else if (day3 == "大後") {
283
- endMoment.add(3, "day");
283
+ endMoment = endMoment.add(3, "day");
284
284
  }
285
285
  result.end.assign("day", endMoment.date());
286
286
  result.end.assign("month", endMoment.month() + 1);
@@ -8,6 +8,12 @@ export function assignTheNextDay(component: ParsingComponents, targetDayJs: dayj
8
8
  implySimilarTime(component, targetDayJs);
9
9
  }
10
10
 
11
+ export function implyTheNextDay(component: ParsingComponents, targetDayJs: dayjs.Dayjs) {
12
+ targetDayJs = targetDayJs.add(1, "day");
13
+ implySimilarDate(component, targetDayJs);
14
+ implySimilarTime(component, targetDayJs);
15
+ }
16
+
11
17
  export function assignSimilarDate(component: ParsingComponents, targetDayJs: dayjs.Dayjs) {
12
18
  component.assign("day", targetDayJs.date());
13
19
  component.assign("month", targetDayJs.month() + 1);
@@ -26,6 +32,12 @@ export function assignSimilarTime(component: ParsingComponents, targetDayJs: day
26
32
  }
27
33
  }
28
34
 
35
+ export function implySimilarDate(component: ParsingComponents, targetDayJs: dayjs.Dayjs) {
36
+ component.imply("day", targetDayJs.date());
37
+ component.imply("month", targetDayJs.month() + 1);
38
+ component.imply("year", targetDayJs.year());
39
+ }
40
+
29
41
  export function implySimilarTime(component: ParsingComponents, targetDayJs: dayjs.Dayjs) {
30
42
  component.imply("hour", targetDayJs.hour());
31
43
  component.imply("minute", targetDayJs.minute());
@@ -337,6 +337,13 @@ test("Test - Random text", () => {
337
337
  expect(result.start.get("day")).toBe(1);
338
338
  expect(result.start.get("hour")).toBe(15);
339
339
  });
340
+
341
+ testSingleCase(chrono.casual, "at midnight on 12th August", new Date(2012, 8 - 1, 10, 15), (result) => {
342
+ expect(result.start.get("year")).toBe(2012);
343
+ expect(result.start.get("month")).toBe(8);
344
+ expect(result.start.get("day")).toBe(12);
345
+ expect(result.start.get("hour")).toBe(0);
346
+ });
340
347
  });
341
348
 
342
349
  test("Test - Casual time with timezone", () => {