chrono-node 2.7.8 → 2.8.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 (182) hide show
  1. package/dist/cjs/common/casualReferences.js +8 -10
  2. package/dist/cjs/common/casualReferences.js.map +1 -1
  3. package/dist/cjs/common/refiners/ForwardDateRefiner.js +33 -12
  4. package/dist/cjs/common/refiners/ForwardDateRefiner.js.map +1 -1
  5. package/dist/cjs/locales/en/parsers/ENCasualDateParser.js +4 -1
  6. package/dist/cjs/locales/en/parsers/ENCasualDateParser.js.map +1 -1
  7. package/dist/cjs/locales/it/constants.d.ts +28 -0
  8. package/dist/cjs/locales/it/constants.js +165 -0
  9. package/dist/cjs/locales/it/constants.js.map +1 -0
  10. package/dist/cjs/locales/it/index.d.ts +9 -0
  11. package/dist/cjs/locales/it/index.js +66 -0
  12. package/dist/cjs/locales/it/index.js.map +1 -0
  13. package/dist/cjs/locales/it/parsers/ITCasualDateParser.d.ts +7 -0
  14. package/dist/cjs/locales/it/parsers/ITCasualDateParser.js +65 -0
  15. package/dist/cjs/locales/it/parsers/ITCasualDateParser.js.map +1 -0
  16. package/dist/cjs/locales/it/parsers/ITCasualTimeParser.d.ts +6 -0
  17. package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js +47 -0
  18. package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js.map +1 -0
  19. package/dist/cjs/locales/it/parsers/ITCasualYearMonthDayParser.d.ts +10 -0
  20. package/dist/cjs/locales/it/parsers/ITCasualYearMonthDayParser.js +35 -0
  21. package/dist/cjs/locales/it/parsers/ITCasualYearMonthDayParser.js.map +1 -0
  22. package/dist/cjs/locales/it/parsers/ITMonthNameLittleEndianParser.d.ts +7 -0
  23. package/dist/cjs/locales/it/parsers/ITMonthNameLittleEndianParser.js +57 -0
  24. package/dist/cjs/locales/it/parsers/ITMonthNameLittleEndianParser.js.map +1 -0
  25. package/dist/cjs/locales/it/parsers/ITMonthNameMiddleEndianParser.d.ts +6 -0
  26. package/dist/cjs/locales/it/parsers/ITMonthNameMiddleEndianParser.js +59 -0
  27. package/dist/cjs/locales/it/parsers/ITMonthNameMiddleEndianParser.js.map +1 -0
  28. package/dist/cjs/locales/it/parsers/ITMonthNameParser.d.ts +6 -0
  29. package/dist/cjs/locales/it/parsers/ITMonthNameParser.js +43 -0
  30. package/dist/cjs/locales/it/parsers/ITMonthNameParser.js.map +1 -0
  31. package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.d.ts +7 -0
  32. package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.js +57 -0
  33. package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.js.map +1 -0
  34. package/dist/cjs/locales/it/parsers/ITSlashMonthFormatParser.d.ts +7 -0
  35. package/dist/cjs/locales/it/parsers/ITSlashMonthFormatParser.js +18 -0
  36. package/dist/cjs/locales/it/parsers/ITSlashMonthFormatParser.js.map +1 -0
  37. package/dist/cjs/locales/it/parsers/ITTimeExpressionParser.d.ts +10 -0
  38. package/dist/cjs/locales/it/parsers/ITTimeExpressionParser.js +50 -0
  39. package/dist/cjs/locales/it/parsers/ITTimeExpressionParser.js.map +1 -0
  40. package/dist/cjs/locales/it/parsers/ITTimeUnitAgoFormatParser.d.ts +9 -0
  41. package/dist/cjs/locales/it/parsers/ITTimeUnitAgoFormatParser.js +24 -0
  42. package/dist/cjs/locales/it/parsers/ITTimeUnitAgoFormatParser.js.map +1 -0
  43. package/dist/cjs/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.d.ts +7 -0
  44. package/dist/cjs/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js +26 -0
  45. package/dist/cjs/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js.map +1 -0
  46. package/dist/cjs/locales/it/parsers/ITTimeUnitLaterFormatParser.d.ts +9 -0
  47. package/dist/cjs/locales/it/parsers/ITTimeUnitLaterFormatParser.js +23 -0
  48. package/dist/cjs/locales/it/parsers/ITTimeUnitLaterFormatParser.js.map +1 -0
  49. package/dist/cjs/locales/it/parsers/ITTimeUnitWithinFormatParser.d.ts +7 -0
  50. package/dist/cjs/locales/it/parsers/ITTimeUnitWithinFormatParser.js +19 -0
  51. package/dist/cjs/locales/it/parsers/ITTimeUnitWithinFormatParser.js.map +1 -0
  52. package/dist/cjs/locales/it/parsers/ITWeekdayParser.d.ts +7 -0
  53. package/dist/cjs/locales/it/parsers/ITWeekdayParser.js +43 -0
  54. package/dist/cjs/locales/it/parsers/ITWeekdayParser.js.map +1 -0
  55. package/dist/cjs/locales/it/refiners/ITMergeDateRangeRefiner.d.ts +4 -0
  56. package/dist/cjs/locales/it/refiners/ITMergeDateRangeRefiner.js +13 -0
  57. package/dist/cjs/locales/it/refiners/ITMergeDateRangeRefiner.js.map +1 -0
  58. package/dist/cjs/locales/it/refiners/ITMergeDateTimeRefiner.d.ts +4 -0
  59. package/dist/cjs/locales/it/refiners/ITMergeDateTimeRefiner.js +13 -0
  60. package/dist/cjs/locales/it/refiners/ITMergeDateTimeRefiner.js.map +1 -0
  61. package/dist/cjs/locales/it/refiners/ITMergeRelativeDateRefiner.d.ts +7 -0
  62. package/dist/cjs/locales/it/refiners/ITMergeRelativeDateRefiner.js +36 -0
  63. package/dist/cjs/locales/it/refiners/ITMergeRelativeDateRefiner.js.map +1 -0
  64. package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js +4 -4
  65. package/dist/cjs/locales/ja/refiners/JPMergeDateRangeRefiner.js +1 -1
  66. package/dist/cjs/locales/ja/refiners/JPMergeDateRangeRefiner.js.map +1 -1
  67. package/dist/cjs/results.d.ts +1 -0
  68. package/dist/cjs/results.js +18 -13
  69. package/dist/cjs/results.js.map +1 -1
  70. package/dist/cjs/utils/dates.d.ts +3 -0
  71. package/dist/cjs/utils/dates.js +17 -0
  72. package/dist/cjs/utils/dates.js.map +1 -0
  73. package/dist/cjs/utils/dayjs.js.map +1 -1
  74. package/dist/esm/common/casualReferences.js +8 -10
  75. package/dist/esm/common/casualReferences.js.map +1 -1
  76. package/dist/esm/common/refiners/ForwardDateRefiner.js +14 -12
  77. package/dist/esm/common/refiners/ForwardDateRefiner.js.map +1 -1
  78. package/dist/esm/locales/en/parsers/ENCasualDateParser.js +4 -1
  79. package/dist/esm/locales/en/parsers/ENCasualDateParser.js.map +1 -1
  80. package/dist/esm/locales/it/constants.d.ts +28 -0
  81. package/dist/esm/locales/it/constants.js +200 -0
  82. package/dist/esm/locales/it/constants.js.map +1 -0
  83. package/dist/esm/locales/it/index.d.ts +9 -0
  84. package/dist/esm/locales/it/index.js +56 -0
  85. package/dist/esm/locales/it/index.js.map +1 -0
  86. package/dist/esm/locales/it/parsers/ITCasualDateParser.d.ts +7 -0
  87. package/dist/esm/locales/it/parsers/ITCasualDateParser.js +40 -0
  88. package/dist/esm/locales/it/parsers/ITCasualDateParser.js.map +1 -0
  89. package/dist/esm/locales/it/parsers/ITCasualTimeParser.d.ts +6 -0
  90. package/dist/esm/locales/it/parsers/ITCasualTimeParser.js +41 -0
  91. package/dist/esm/locales/it/parsers/ITCasualTimeParser.js.map +1 -0
  92. package/dist/esm/locales/it/parsers/ITCasualYearMonthDayParser.d.ts +10 -0
  93. package/dist/esm/locales/it/parsers/ITCasualYearMonthDayParser.js +32 -0
  94. package/dist/esm/locales/it/parsers/ITCasualYearMonthDayParser.js.map +1 -0
  95. package/dist/esm/locales/it/parsers/ITMonthNameLittleEndianParser.d.ts +7 -0
  96. package/dist/esm/locales/it/parsers/ITMonthNameLittleEndianParser.js +54 -0
  97. package/dist/esm/locales/it/parsers/ITMonthNameLittleEndianParser.js.map +1 -0
  98. package/dist/esm/locales/it/parsers/ITMonthNameMiddleEndianParser.d.ts +6 -0
  99. package/dist/esm/locales/it/parsers/ITMonthNameMiddleEndianParser.js +56 -0
  100. package/dist/esm/locales/it/parsers/ITMonthNameMiddleEndianParser.js.map +1 -0
  101. package/dist/esm/locales/it/parsers/ITMonthNameParser.d.ts +6 -0
  102. package/dist/esm/locales/it/parsers/ITMonthNameParser.js +40 -0
  103. package/dist/esm/locales/it/parsers/ITMonthNameParser.js.map +1 -0
  104. package/dist/esm/locales/it/parsers/ITRelativeDateFormatParser.d.ts +7 -0
  105. package/dist/esm/locales/it/parsers/ITRelativeDateFormatParser.js +51 -0
  106. package/dist/esm/locales/it/parsers/ITRelativeDateFormatParser.js.map +1 -0
  107. package/dist/esm/locales/it/parsers/ITSlashMonthFormatParser.d.ts +7 -0
  108. package/dist/esm/locales/it/parsers/ITSlashMonthFormatParser.js +15 -0
  109. package/dist/esm/locales/it/parsers/ITSlashMonthFormatParser.js.map +1 -0
  110. package/dist/esm/locales/it/parsers/ITTimeExpressionParser.d.ts +10 -0
  111. package/dist/esm/locales/it/parsers/ITTimeExpressionParser.js +47 -0
  112. package/dist/esm/locales/it/parsers/ITTimeExpressionParser.js.map +1 -0
  113. package/dist/esm/locales/it/parsers/ITTimeUnitAgoFormatParser.d.ts +9 -0
  114. package/dist/esm/locales/it/parsers/ITTimeUnitAgoFormatParser.js +21 -0
  115. package/dist/esm/locales/it/parsers/ITTimeUnitAgoFormatParser.js.map +1 -0
  116. package/dist/esm/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.d.ts +7 -0
  117. package/dist/esm/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js +23 -0
  118. package/dist/esm/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js.map +1 -0
  119. package/dist/esm/locales/it/parsers/ITTimeUnitLaterFormatParser.d.ts +9 -0
  120. package/dist/esm/locales/it/parsers/ITTimeUnitLaterFormatParser.js +20 -0
  121. package/dist/esm/locales/it/parsers/ITTimeUnitLaterFormatParser.js.map +1 -0
  122. package/dist/esm/locales/it/parsers/ITTimeUnitWithinFormatParser.d.ts +7 -0
  123. package/dist/esm/locales/it/parsers/ITTimeUnitWithinFormatParser.js +16 -0
  124. package/dist/esm/locales/it/parsers/ITTimeUnitWithinFormatParser.js.map +1 -0
  125. package/dist/esm/locales/it/parsers/ITWeekdayParser.d.ts +7 -0
  126. package/dist/esm/locales/it/parsers/ITWeekdayParser.js +40 -0
  127. package/dist/esm/locales/it/parsers/ITWeekdayParser.js.map +1 -0
  128. package/dist/esm/locales/it/refiners/ITMergeDateRangeRefiner.d.ts +4 -0
  129. package/dist/esm/locales/it/refiners/ITMergeDateRangeRefiner.js +7 -0
  130. package/dist/esm/locales/it/refiners/ITMergeDateRangeRefiner.js.map +1 -0
  131. package/dist/esm/locales/it/refiners/ITMergeDateTimeRefiner.d.ts +4 -0
  132. package/dist/esm/locales/it/refiners/ITMergeDateTimeRefiner.js +7 -0
  133. package/dist/esm/locales/it/refiners/ITMergeDateTimeRefiner.js.map +1 -0
  134. package/dist/esm/locales/it/refiners/ITMergeRelativeDateRefiner.d.ts +7 -0
  135. package/dist/esm/locales/it/refiners/ITMergeRelativeDateRefiner.js +33 -0
  136. package/dist/esm/locales/it/refiners/ITMergeRelativeDateRefiner.js.map +1 -0
  137. package/dist/esm/locales/ja/parsers/JPCasualDateParser.js +4 -4
  138. package/dist/esm/locales/ja/refiners/JPMergeDateRangeRefiner.js +1 -1
  139. package/dist/esm/locales/ja/refiners/JPMergeDateRangeRefiner.js.map +1 -1
  140. package/dist/esm/results.d.ts +1 -0
  141. package/dist/esm/results.js +17 -13
  142. package/dist/esm/results.js.map +1 -1
  143. package/dist/esm/utils/dates.d.ts +3 -0
  144. package/dist/esm/utils/dates.js +12 -0
  145. package/dist/esm/utils/dates.js.map +1 -0
  146. package/dist/esm/utils/dayjs.js.map +1 -1
  147. package/package.json +1 -1
  148. package/src/common/casualReferences.ts +8 -10
  149. package/src/common/refiners/ForwardDateRefiner.ts +17 -11
  150. package/src/locales/en/parsers/ENCasualDateParser.ts +5 -1
  151. package/src/locales/it/constants.ts +230 -0
  152. package/src/locales/it/index.ts +99 -0
  153. package/src/locales/it/parsers/ITCasualDateParser.ts +53 -0
  154. package/src/locales/it/parsers/ITCasualTimeParser.ts +50 -0
  155. package/src/locales/it/parsers/ITCasualYearMonthDayParser.ts +49 -0
  156. package/src/locales/it/parsers/ITMonthNameLittleEndianParser.ts +69 -0
  157. package/src/locales/it/parsers/ITMonthNameMiddleEndianParser.ts +78 -0
  158. package/src/locales/it/parsers/ITMonthNameParser.ts +62 -0
  159. package/src/locales/it/parsers/ITRelativeDateFormatParser.ts +71 -0
  160. package/src/locales/it/parsers/ITSlashMonthFormatParser.ts +26 -0
  161. package/src/locales/it/parsers/ITTimeExpressionParser.ts +55 -0
  162. package/src/locales/it/parsers/ITTimeUnitAgoFormatParser.ts +25 -0
  163. package/src/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.ts +30 -0
  164. package/src/locales/it/parsers/ITTimeUnitLaterFormatParser.ts +27 -0
  165. package/src/locales/it/parsers/ITTimeUnitWithinFormatParser.ts +26 -0
  166. package/src/locales/it/parsers/ITWeekdayParser.ts +47 -0
  167. package/src/locales/it/refiners/ITMergeDateRangeRefiner.ts +17 -0
  168. package/src/locales/it/refiners/ITMergeDateTimeRefiner.ts +13 -0
  169. package/src/locales/it/refiners/ITMergeRelativeDateRefiner.ts +58 -0
  170. package/src/locales/ja/parsers/JPCasualDateParser.ts +4 -4
  171. package/src/locales/ja/refiners/JPMergeDateRangeRefiner.ts +1 -1
  172. package/src/results.ts +18 -13
  173. package/src/utils/dates.ts +24 -0
  174. package/src/utils/dayjs.ts +6 -0
  175. package/test/en/en_casual.test.ts +4 -1
  176. package/test/en/en_relative.test.ts +126 -39
  177. package/test/en/en_time_exp.test.ts +27 -18
  178. package/test/ja/ja_casual.test.ts +8 -0
  179. package/test/ja/ja_standard.test.ts +19 -0
  180. package/test/nl/nl_relative.test.ts +33 -17
  181. package/test/result.test.ts +24 -0
  182. package/test/system_timezone.test.ts +20 -4
@@ -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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"}
@@ -0,0 +1,3 @@
1
+ import { ParsingComponents } from "../results.js";
2
+ export declare function implySimilarDate(component: ParsingComponents, target: Date): void;
3
+ export declare function implySimilarTime(component: ParsingComponents, target: Date): void;
@@ -0,0 +1,12 @@
1
+ export function implySimilarDate(component, target) {
2
+ component.imply("day", target.getDate());
3
+ component.imply("month", target.getMonth() + 1);
4
+ component.imply("year", target.getFullYear());
5
+ }
6
+ export function implySimilarTime(component, target) {
7
+ component.imply("hour", target.getHours());
8
+ component.imply("minute", target.getMinutes());
9
+ component.imply("second", target.getSeconds());
10
+ component.imply("millisecond", target.getMilliseconds());
11
+ }
12
+ //# sourceMappingURL=dates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dates.js","sourceRoot":"","sources":["../../../src/utils/dates.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,gBAAgB,CAAC,SAA4B,EAAE,MAAY;IACvE,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IAChD,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AAClD,CAAC;AAOD,MAAM,UAAU,gBAAgB,CAAC,SAA4B,EAAE,MAAY;IACvE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3C,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/C,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/C,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;AAC7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dayjs.js","sourceRoot":"","sources":["../../../src/utils/dayjs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,UAAU,gBAAgB,CAAC,SAA4B,EAAE,WAAwB;IACnF,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACxC,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1C,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAA4B,EAAE,WAAwB;IAClF,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACxC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACzC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAA4B,EAAE,WAAwB;IACpF,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IACnD,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAA4B,EAAE,WAAwB;IACpF,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3D,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE;QAC5B,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;KAC7C;SAAM;QACH,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;KAC7C;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAA4B,EAAE,WAAwB;IACnF,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAClD,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAA4B,EAAE,WAAwB;IACnF,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"dayjs.js","sourceRoot":"","sources":["../../../src/utils/dayjs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,UAAU,gBAAgB,CAAC,SAA4B,EAAE,WAAwB;IACnF,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACxC,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1C,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAA4B,EAAE,WAAwB;IAClF,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACxC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACzC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAA4B,EAAE,WAAwB;IACpF,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IACnD,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAA4B,EAAE,WAAwB;IACpF,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3D,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE;QAC5B,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;KAC7C;SAAM;QACH,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;KAC7C;AACL,CAAC;AAKD,MAAM,UAAU,gBAAgB,CAAC,SAA4B,EAAE,WAAwB;IACnF,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAClD,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAKD,MAAM,UAAU,gBAAgB,CAAC,SAA4B,EAAE,WAAwB;IACnF,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9D,CAAC"}
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "preset": "ts-jest"
16
16
  },
17
17
  "license": "MIT",
18
- "version": "2.7.8",
18
+ "version": "2.8.0",
19
19
  "directories": {
20
20
  "source": "./src",
21
21
  "test": "./test"
@@ -10,19 +10,17 @@ import {
10
10
  import { Meridiem } from "../types";
11
11
 
12
12
  export function now(reference: ReferenceWithTimezone): ParsingComponents {
13
- const targetDate = dayjs(reference.instant);
13
+ const targetDate = dayjs(reference.getDateWithAdjustedTimezone());
14
14
  const component = new ParsingComponents(reference, {});
15
15
  assignSimilarDate(component, targetDate);
16
16
  assignSimilarTime(component, targetDate);
17
- if (reference.timezoneOffset !== null) {
18
- component.assign("timezoneOffset", targetDate.utcOffset());
19
- }
17
+ component.assign("timezoneOffset", reference.getTimezoneOffset());
20
18
  component.addTag("casualReference/now");
21
19
  return component;
22
20
  }
23
21
 
24
22
  export function today(reference: ReferenceWithTimezone): ParsingComponents {
25
- const targetDate = dayjs(reference.instant);
23
+ const targetDate = dayjs(reference.getDateWithAdjustedTimezone());
26
24
  const component = new ParsingComponents(reference, {});
27
25
  assignSimilarDate(component, targetDate);
28
26
  implySimilarTime(component, targetDate);
@@ -49,7 +47,7 @@ export function tomorrow(reference: ReferenceWithTimezone): ParsingComponents {
49
47
  }
50
48
 
51
49
  export function theDayAfter(reference: ReferenceWithTimezone, nDays: number): ParsingComponents {
52
- let targetDate = dayjs(reference.instant);
50
+ let targetDate = dayjs(reference.getDateWithAdjustedTimezone());
53
51
  const component = new ParsingComponents(reference, {});
54
52
  targetDate = targetDate.add(nDays, "day");
55
53
  assignSimilarDate(component, targetDate);
@@ -58,7 +56,7 @@ export function theDayAfter(reference: ReferenceWithTimezone, nDays: number): Pa
58
56
  }
59
57
 
60
58
  export function tonight(reference: ReferenceWithTimezone, implyHour = 22): ParsingComponents {
61
- const targetDate = dayjs(reference.instant);
59
+ const targetDate = dayjs(reference.getDateWithAdjustedTimezone());
62
60
  const component = new ParsingComponents(reference, {});
63
61
  assignSimilarDate(component, targetDate);
64
62
  component.imply("hour", implyHour);
@@ -68,7 +66,7 @@ export function tonight(reference: ReferenceWithTimezone, implyHour = 22): Parsi
68
66
  }
69
67
 
70
68
  export function lastNight(reference: ReferenceWithTimezone, implyHour = 0): ParsingComponents {
71
- let targetDate = dayjs(reference.instant);
69
+ let targetDate = dayjs(reference.getDateWithAdjustedTimezone());
72
70
  const component = new ParsingComponents(reference, {});
73
71
  if (targetDate.hour() < 6) {
74
72
  targetDate = targetDate.add(-1, "day");
@@ -87,7 +85,7 @@ export function evening(reference: ReferenceWithTimezone, implyHour = 20): Parsi
87
85
  }
88
86
 
89
87
  export function yesterdayEvening(reference: ReferenceWithTimezone, implyHour = 20): ParsingComponents {
90
- let targetDate = dayjs(reference.instant);
88
+ let targetDate = dayjs(reference.getDateWithAdjustedTimezone());
91
89
  const component = new ParsingComponents(reference, {});
92
90
  targetDate = targetDate.add(-1, "day");
93
91
  assignSimilarDate(component, targetDate);
@@ -100,7 +98,7 @@ export function yesterdayEvening(reference: ReferenceWithTimezone, implyHour = 2
100
98
 
101
99
  export function midnight(reference: ReferenceWithTimezone): ParsingComponents {
102
100
  const component = new ParsingComponents(reference, {});
103
- const targetDate = dayjs(reference.instant);
101
+ const targetDate = dayjs(reference.getDateWithAdjustedTimezone());
104
102
  if (targetDate.hour() > 2) {
105
103
  // Unless it's very early morning (0~2AM), we assume the midnight is the coming midnight.
106
104
  // Thus, increasing the day by 1.
@@ -8,6 +8,7 @@ import { ParsingContext, Refiner } from "../../chrono";
8
8
  import { ParsingResult } from "../../results";
9
9
  import dayjs from "dayjs";
10
10
  import { implySimilarDate } from "../../utils/dayjs";
11
+ import * as dates from "../../utils/dates";
11
12
 
12
13
  export default class ForwardDateRefiner implements Refiner {
13
14
  refine(context: ParsingContext, results: ParsingResult[]): ParsingResult[] {
@@ -16,21 +17,26 @@ export default class ForwardDateRefiner implements Refiner {
16
17
  }
17
18
 
18
19
  results.forEach((result) => {
19
- let refMoment = dayjs(context.refDate);
20
+ let refMoment = dayjs(context.reference.getDateWithAdjustedTimezone());
20
21
 
21
- if (result.start.isOnlyTime() && refMoment.isAfter(result.start.dayjs())) {
22
- refMoment = refMoment.add(1, "day");
23
- implySimilarDate(result.start, refMoment);
22
+ if (result.start.isOnlyTime() && context.reference.instant > result.start.date()) {
23
+ const refDate = context.reference.getDateWithAdjustedTimezone();
24
+ const refFollowingDay = new Date(refDate);
25
+ refFollowingDay.setDate(refFollowingDay.getDate() + 1);
26
+
27
+ dates.implySimilarDate(result.start, refFollowingDay);
28
+ context.debug(() => {
29
+ console.log(
30
+ `${this.constructor.name} adjusted ${result} time from the ref date (${refDate}) to the following day (${refFollowingDay})`
31
+ );
32
+ });
24
33
  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);
34
+ dates.implySimilarDate(result.end, refFollowingDay);
35
+ if (result.start.date() > result.end.date()) {
36
+ refFollowingDay.setDate(refFollowingDay.getDate() + 1);
37
+ dates.implySimilarDate(result.end, refFollowingDay);
29
38
  }
30
39
  }
31
- context.debug(() => {
32
- console.log(`${this.constructor.name} adjusted ${result} time result (${result.start})`);
33
- });
34
40
  }
35
41
 
36
42
  if (result.start.isOnlyWeekdayComponent() && refMoment.isAfter(result.start.dayjs())) {
@@ -5,7 +5,7 @@ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/
5
5
  import { assignSimilarDate } from "../../../utils/dayjs";
6
6
  import * as references from "../../../common/casualReferences";
7
7
 
8
- const PATTERN = /(now|today|tonight|tomorrow|tmr|tmrw|yesterday|last\s*night)(?=\W|$)/i;
8
+ const PATTERN = /(now|today|tonight|tomorrow|overmorrow|tmr|tmrw|yesterday|last\s*night)(?=\W|$)/i;
9
9
 
10
10
  export default class ENCasualDateParser extends AbstractParserWithWordBoundaryChecking {
11
11
  innerPattern(context: ParsingContext): RegExp {
@@ -40,6 +40,10 @@ export default class ENCasualDateParser extends AbstractParserWithWordBoundaryCh
40
40
  component = references.tonight(context.reference);
41
41
  break;
42
42
 
43
+ case "overmorrow":
44
+ component = references.theDayAfter(context.reference, 2);
45
+ break;
46
+
43
47
  default:
44
48
  if (lowerText.match(/last\s*night/)) {
45
49
  if (targetDate.hour() > 6) {
@@ -0,0 +1,230 @@
1
+ import { OpUnitType, QUnitType } from "dayjs";
2
+ import { matchAnyPattern, repeatedTimeunitPattern } from "../../utils/pattern";
3
+ import { findMostLikelyADYear } from "../../calculation/years";
4
+ import { TimeUnits } from "../../utils/timeunits";
5
+
6
+ export const WEEKDAY_DICTIONARY: { [word: string]: number } = {
7
+ "domenica": 0,
8
+ "dom": 0,
9
+ "lunedì": 1,
10
+ "lun": 1,
11
+ "martedì": 2,
12
+ "mar": 2,
13
+ "mercoledì": 3,
14
+ "merc": 3,
15
+ "giovedì": 4,
16
+ "giov": 4,
17
+ "venerdì": 5,
18
+ "ven": 5,
19
+ "sabato": 6,
20
+ "sab": 6,
21
+ };
22
+
23
+ export const FULL_MONTH_NAME_DICTIONARY: { [word: string]: number } = {};
24
+
25
+ export const MONTH_DICTIONARY: { [word: string]: number } = {
26
+ ...FULL_MONTH_NAME_DICTIONARY,
27
+ "gennaio": 1,
28
+ "gen": 1,
29
+ "gen.": 1,
30
+ "febbraio": 2,
31
+ "feb": 2,
32
+ "feb.": 2,
33
+ "febraio": 2,
34
+ "febb": 2,
35
+ "febb.": 2,
36
+ "marzo": 3,
37
+ "mar": 3,
38
+ "mar.": 3,
39
+ "aprile": 4,
40
+ "apr": 4,
41
+ "apr.": 4,
42
+ "maggio": 5,
43
+ "mag": 5,
44
+ "giugno": 6,
45
+ "giu": 6,
46
+ "luglio": 7,
47
+ "lug": 7,
48
+ "lugl": 7,
49
+ "lug.": 7,
50
+ "agosto": 8,
51
+ "ago": 8,
52
+ "settembre": 9,
53
+ "set": 9,
54
+ "set.": 9,
55
+ "sett": 9,
56
+ "sett.": 9,
57
+ "ottobre": 10,
58
+ "ott": 10,
59
+ "ott.": 10,
60
+ "novembre": 11,
61
+ "nov": 11,
62
+ "nov.": 11,
63
+ "dicembre": 12,
64
+ "dic": 12,
65
+ "dice": 12,
66
+ "dic.": 12,
67
+ };
68
+
69
+ export const INTEGER_WORD_DICTIONARY: { [word: string]: number } = {
70
+ "uno": 1,
71
+ "due": 2,
72
+ "tre": 3,
73
+ "quattro": 4,
74
+ "cinque": 5,
75
+ "sei": 6,
76
+ "sette": 7,
77
+ "otto": 8,
78
+ "nove": 9,
79
+ "dieci": 10,
80
+ "undici": 11,
81
+ "dodici": 12,
82
+ };
83
+
84
+ export const ORDINAL_WORD_DICTIONARY: { [word: string]: number } = {
85
+ "primo": 1,
86
+ "secondo": 2,
87
+ "terzo": 3,
88
+ "quarto": 4,
89
+ "quinto": 5,
90
+ "sesto": 6,
91
+ "settimo": 7,
92
+ "ottavo": 8,
93
+ "nono": 9,
94
+ "decimo": 10,
95
+ "undicesimo": 11,
96
+ "dodicesimo": 12,
97
+ "tredicesimo": 13,
98
+ "quattordicesimo": 14,
99
+ "quindicesimo": 15,
100
+ "sedicesimo": 16,
101
+ "diciassettesimo": 17,
102
+ "diciottesimo": 18,
103
+ "diciannovesimo": 19,
104
+ "ventesimo": 20,
105
+ "ventunesimo": 21,
106
+ "ventiduesimo": 22,
107
+ "ventitreesimo": 23,
108
+ "ventiquattresimo": 24,
109
+ "venticinquesimo": 25,
110
+ "ventiseiesimo": 26,
111
+ "ventisettesimo": 27,
112
+ "ventottesimo": 28,
113
+ "ventinovesimo": 29,
114
+ "trentesimo": 30,
115
+ "trentunesimo": 31,
116
+ };
117
+
118
+ export const TIME_UNIT_DICTIONARY: { [word: string]: OpUnitType | QUnitType } = {
119
+ "sec": "second",
120
+ "secondo": "second",
121
+ "secondi": "second",
122
+ "min": "minute",
123
+ "mins": "minute",
124
+ "minuti": "minute",
125
+ "h": "hour",
126
+ "hr": "hour",
127
+ "o": "hour",
128
+ "ora": "hour",
129
+ "ore": "hour",
130
+ "giorno": "d",
131
+ "giorni": "d",
132
+ "settimana": "week",
133
+ "settimane": "week",
134
+ "mese": "month",
135
+ "trimestre": "quarter",
136
+ "trimestri": "quarter",
137
+ "anni": "year",
138
+ "anno": "year",
139
+ };
140
+
141
+ //-----------------------------
142
+
143
+ export const NUMBER_PATTERN = `(?:${matchAnyPattern(
144
+ INTEGER_WORD_DICTIONARY
145
+ )}|[0-9]+|[0-9]+\\.[0-9]+|half(?:\\s{0,2}un?)?|un?\\b(?:\\s{0,2}qualcuno)?|qualcuno|molti|a?\\s{0,2}alcuni\\s{0,2}(?:of)?)`;
146
+
147
+ export function parseNumberPattern(match: string): number {
148
+ const num = match.toLowerCase();
149
+ if (INTEGER_WORD_DICTIONARY[num] !== undefined) {
150
+ return INTEGER_WORD_DICTIONARY[num];
151
+ } else if (num === "un" || num === "una") {
152
+ return 1;
153
+ } else if (num.match(/alcuni/)) {
154
+ return 3;
155
+ } else if (num.match(/metá/)) {
156
+ return 0.5;
157
+ } else if (num.match(/paio/)) {
158
+ return 2;
159
+ } else if (num.match(/molti/)) {
160
+ return 7;
161
+ }
162
+
163
+ return parseFloat(num);
164
+ }
165
+
166
+ //-----------------------------
167
+
168
+ export const ORDINAL_NUMBER_PATTERN = `(?:${matchAnyPattern(
169
+ ORDINAL_WORD_DICTIONARY
170
+ )}|[0-9]{1,2}(?:mo|ndo|rzo|simo|esimo)?)`;
171
+ export function parseOrdinalNumberPattern(match: string): number {
172
+ let num = match.toLowerCase();
173
+ if (ORDINAL_WORD_DICTIONARY[num] !== undefined) {
174
+ return ORDINAL_WORD_DICTIONARY[num];
175
+ }
176
+
177
+ num = num.replace(/(?:imo|ndo|rzo|rto|nto|sto|tavo|nono|cimo|timo|esimo)$/i, "");
178
+ return parseInt(num);
179
+ }
180
+
181
+ //-----------------------------
182
+
183
+ export const YEAR_PATTERN = `(?:[1-9][0-9]{0,3}\\s{0,2}(?:BE|AD|BC|BCE|CE)|[1-2][0-9]{3}|[5-9][0-9])`;
184
+ export function parseYear(match: string): number {
185
+ if (/BE/i.test(match)) {
186
+ // Buddhist Era
187
+ match = match.replace(/BE/i, "");
188
+ return parseInt(match) - 543;
189
+ }
190
+
191
+ if (/BCE?/i.test(match)) {
192
+ // Before Christ, Before Common Era
193
+ match = match.replace(/BCE?/i, "");
194
+ return -parseInt(match);
195
+ }
196
+
197
+ if (/(AD|CE)/i.test(match)) {
198
+ // Anno Domini, Common Era
199
+ match = match.replace(/(AD|CE)/i, "");
200
+ return parseInt(match);
201
+ }
202
+
203
+ const rawYearNumber = parseInt(match);
204
+ return findMostLikelyADYear(rawYearNumber);
205
+ }
206
+
207
+ //-----------------------------
208
+
209
+ const SINGLE_TIME_UNIT_PATTERN = `(${NUMBER_PATTERN})\\s{0,3}(${matchAnyPattern(TIME_UNIT_DICTIONARY)})`;
210
+ const SINGLE_TIME_UNIT_REGEX = new RegExp(SINGLE_TIME_UNIT_PATTERN, "i");
211
+
212
+ export const TIME_UNITS_PATTERN = repeatedTimeunitPattern(`(?:(?:about|around)\\s{0,3})?`, SINGLE_TIME_UNIT_PATTERN);
213
+
214
+ export function parseTimeUnits(timeunitText): TimeUnits {
215
+ const fragments = {};
216
+ let remainingText = timeunitText;
217
+ let match = SINGLE_TIME_UNIT_REGEX.exec(remainingText);
218
+ while (match) {
219
+ collectDateTimeFragment(fragments, match);
220
+ remainingText = remainingText.substring(match[0].length).trim();
221
+ match = SINGLE_TIME_UNIT_REGEX.exec(remainingText);
222
+ }
223
+ return fragments;
224
+ }
225
+
226
+ function collectDateTimeFragment(fragments, match) {
227
+ const num = parseNumberPattern(match[1]);
228
+ const unit = TIME_UNIT_DICTIONARY[match[2].toLowerCase()];
229
+ fragments[unit] = num;
230
+ }
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Chrono components for Italian support (*parsers*, *refiners*, and *configuration*)
3
+ *
4
+ * @module
5
+ */
6
+
7
+ import ENTimeUnitWithinFormatParser from "./parsers/ITTimeUnitWithinFormatParser";
8
+ import ENMonthNameLittleEndianParser from "./parsers/ITMonthNameLittleEndianParser";
9
+ import ENMonthNameMiddleEndianParser from "./parsers/ITMonthNameMiddleEndianParser";
10
+ import ENMonthNameParser from "./parsers/ITMonthNameParser";
11
+ import ENCasualYearMonthDayParser from "./parsers/ITCasualYearMonthDayParser";
12
+ import ENSlashMonthFormatParser from "./parsers/ITSlashMonthFormatParser";
13
+ import ENTimeExpressionParser from "./parsers/ITTimeExpressionParser";
14
+ import ENTimeUnitAgoFormatParser from "./parsers/ITTimeUnitAgoFormatParser";
15
+ import ENTimeUnitLaterFormatParser from "./parsers/ITTimeUnitLaterFormatParser";
16
+ import ENMergeDateRangeRefiner from "./refiners/ITMergeDateRangeRefiner";
17
+ import ENMergeDateTimeRefiner from "./refiners/ITMergeDateTimeRefiner";
18
+
19
+ import { includeCommonConfiguration } from "../../configurations";
20
+ import ENCasualDateParser from "./parsers/ITCasualDateParser";
21
+ import ENCasualTimeParser from "./parsers/ITCasualTimeParser";
22
+ import ENWeekdayParser from "./parsers/ITWeekdayParser";
23
+ import ENRelativeDateFormatParser from "./parsers/ITRelativeDateFormatParser";
24
+
25
+ import { ParsedResult, ParsingOption } from "../../index";
26
+ import { Chrono, Configuration } from "../../chrono";
27
+ import SlashDateFormatParser from "../../common/parsers/SlashDateFormatParser";
28
+ import ENTimeUnitCasualRelativeFormatParser from "./parsers/ITTimeUnitCasualRelativeFormatParser";
29
+ import ENMergeRelativeDateRefiner from "./refiners/ITMergeRelativeDateRefiner";
30
+
31
+ /**
32
+ * Chrono object configured for parsing *casual* Italian
33
+ */
34
+ export const casual = new Chrono(createCasualConfiguration(false));
35
+
36
+ /**
37
+ * Chrono object configured for parsing *strict* Italian
38
+ */
39
+ export const strict = new Chrono(createConfiguration(true, false));
40
+
41
+ /**
42
+ * Chrono object configured for parsing Italian
43
+ */
44
+ export const GB = new Chrono(createConfiguration(false, true));
45
+
46
+ /**
47
+ * A shortcut for en.casual.parse()
48
+ */
49
+ export function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[] {
50
+ return casual.parse(text, ref, option);
51
+ }
52
+
53
+ /**
54
+ * A shortcut for en.casual.parseDate()
55
+ */
56
+ export function parseDate(text: string, ref?: Date, option?: ParsingOption): Date {
57
+ return casual.parseDate(text, ref, option);
58
+ }
59
+
60
+ /**
61
+ * Create a default *casual* {@Link Configuration} for Italian chrono.
62
+ * It calls {@Link createConfiguration} and includes additional parsers.
63
+ */
64
+ export function createCasualConfiguration(littleEndian = false): Configuration {
65
+ const option = createConfiguration(false, littleEndian);
66
+ option.parsers.unshift(new ENCasualDateParser());
67
+ option.parsers.unshift(new ENCasualTimeParser());
68
+ option.parsers.unshift(new ENMonthNameParser());
69
+ option.parsers.unshift(new ENRelativeDateFormatParser());
70
+ option.parsers.unshift(new ENTimeUnitCasualRelativeFormatParser());
71
+ return option;
72
+ }
73
+
74
+ /**
75
+ * Create a default {@Link Configuration} for Italian chrono
76
+ *
77
+ * @param strictMode If the timeunit mentioning should be strict, not casual
78
+ * @param littleEndian If format should be date-first/littleEndian (e.g. en_UK), not month-first/middleEndian (e.g. en_US)
79
+ */
80
+ export function createConfiguration(strictMode = true, littleEndian = false): Configuration {
81
+ return includeCommonConfiguration(
82
+ {
83
+ parsers: [
84
+ new SlashDateFormatParser(littleEndian),
85
+ new ENTimeUnitWithinFormatParser(),
86
+ new ENMonthNameLittleEndianParser(),
87
+ new ENMonthNameMiddleEndianParser(),
88
+ new ENWeekdayParser(),
89
+ new ENCasualYearMonthDayParser(),
90
+ new ENSlashMonthFormatParser(),
91
+ new ENTimeExpressionParser(strictMode),
92
+ new ENTimeUnitAgoFormatParser(strictMode),
93
+ new ENTimeUnitLaterFormatParser(strictMode),
94
+ ],
95
+ refiners: [new ENMergeRelativeDateRefiner(), new ENMergeDateTimeRefiner(), new ENMergeDateRangeRefiner()],
96
+ },
97
+ strictMode
98
+ );
99
+ }
@@ -0,0 +1,53 @@
1
+ import { ParsingContext } from "../../../chrono";
2
+ import { ParsingComponents, ParsingResult } from "../../../results";
3
+ import dayjs from "dayjs";
4
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
5
+ import { assignSimilarDate } from "../../../utils/dayjs";
6
+ import * as references from "../../../common/casualReferences";
7
+
8
+ const PATTERN = /(ora|oggi|stasera|questa sera|domani|dmn|ieri\s*sera)(?=\W|$)/i;
9
+
10
+ export default class ENCasualDateParser extends AbstractParserWithWordBoundaryChecking {
11
+ innerPattern(context: ParsingContext): RegExp {
12
+ return PATTERN;
13
+ }
14
+
15
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): ParsingComponents | ParsingResult {
16
+ let targetDate = dayjs(context.refDate);
17
+ const lowerText = match[0].toLowerCase();
18
+ const component = context.createParsingComponents();
19
+
20
+ switch (lowerText) {
21
+ case "ora":
22
+ return references.now(context.reference);
23
+
24
+ case "oggi":
25
+ return references.today(context.reference);
26
+
27
+ case "ieri":
28
+ return references.yesterday(context.reference);
29
+
30
+ case "domani":
31
+ case "dmn":
32
+ return references.tomorrow(context.reference);
33
+
34
+ case "stasera":
35
+ case "questa sera":
36
+ return references.tonight(context.reference);
37
+
38
+ default:
39
+ if (lowerText.match(/ieri\s*sera/)) {
40
+ if (targetDate.hour() > 6) {
41
+ targetDate = targetDate.add(-1, "day");
42
+ }
43
+
44
+ assignSimilarDate(component, targetDate);
45
+ component.imply("hour", 0);
46
+ }
47
+
48
+ break;
49
+ }
50
+
51
+ return component;
52
+ }
53
+ }
@@ -0,0 +1,50 @@
1
+ import { ParsingContext } from "../../../chrono";
2
+ import { Meridiem } from "../../../index";
3
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
4
+ import dayjs from "dayjs";
5
+ import { assignTheNextDay } from "../../../utils/dayjs";
6
+
7
+ const PATTERN = /(?:questo|questa)?\s{0,3}(mattina|pomeriggio|sera|notte|mezzanotte|mezzogiorno)(?=\W|$)/i;
8
+
9
+ export default class ENCasualTimeParser extends AbstractParserWithWordBoundaryChecking {
10
+ innerPattern() {
11
+ return PATTERN;
12
+ }
13
+
14
+ innerExtract(context: ParsingContext, match: RegExpMatchArray) {
15
+ const targetDate = dayjs(context.refDate);
16
+ const component = context.createParsingComponents();
17
+
18
+ switch (match[1].toLowerCase()) {
19
+ case "pomeriggio":
20
+ component.imply("meridiem", Meridiem.PM);
21
+ component.imply("hour", 15);
22
+ break;
23
+
24
+ case "sera":
25
+ case "notte":
26
+ component.imply("meridiem", Meridiem.PM);
27
+ component.imply("hour", 20);
28
+ break;
29
+
30
+ case "mezzanotte":
31
+ assignTheNextDay(component, targetDate);
32
+ component.imply("hour", 0);
33
+ component.imply("minute", 0);
34
+ component.imply("second", 0);
35
+ break;
36
+
37
+ case "mattina":
38
+ component.imply("meridiem", Meridiem.AM);
39
+ component.imply("hour", 6);
40
+ break;
41
+
42
+ case "mezzogiorno":
43
+ component.imply("meridiem", Meridiem.AM);
44
+ component.imply("hour", 12);
45
+ break;
46
+ }
47
+
48
+ return component;
49
+ }
50
+ }