chrono-node 2.7.7 → 2.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/common/parsers/SlashDateFormatParser.js +1 -1
- package/dist/cjs/common/parsers/SlashDateFormatParser.js.map +1 -1
- package/dist/cjs/locales/en/configuration.js +2 -0
- package/dist/cjs/locales/en/configuration.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENCasualDateParser.js +4 -1
- package/dist/cjs/locales/en/parsers/ENCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENMonthNameParser.js +1 -1
- package/dist/cjs/locales/en/parsers/ENMonthNameParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeExpressionParser.d.ts +2 -1
- package/dist/cjs/locales/en/parsers/ENTimeExpressionParser.js +7 -0
- package/dist/cjs/locales/en/parsers/ENTimeExpressionParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENWeekdayParser.d.ts +1 -1
- package/dist/cjs/locales/en/parsers/ENWeekdayParser.js +24 -3
- package/dist/cjs/locales/en/parsers/ENWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/en/refiners/ENUnlikelyFormatFilter.d.ts +6 -0
- package/dist/cjs/locales/en/refiners/ENUnlikelyFormatFilter.js +35 -0
- package/dist/cjs/locales/en/refiners/ENUnlikelyFormatFilter.js.map +1 -0
- package/dist/cjs/locales/it/constants.d.ts +28 -0
- package/dist/cjs/locales/it/constants.js +165 -0
- package/dist/cjs/locales/it/constants.js.map +1 -0
- package/dist/cjs/locales/it/index.d.ts +9 -0
- package/dist/cjs/locales/it/index.js +66 -0
- package/dist/cjs/locales/it/index.js.map +1 -0
- package/dist/cjs/locales/it/parsers/ITCasualDateParser.d.ts +7 -0
- package/dist/cjs/locales/it/parsers/ITCasualDateParser.js +65 -0
- package/dist/cjs/locales/it/parsers/ITCasualDateParser.js.map +1 -0
- package/dist/cjs/locales/it/parsers/ITCasualTimeParser.d.ts +6 -0
- package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js +47 -0
- package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js.map +1 -0
- package/dist/cjs/locales/it/parsers/ITCasualYearMonthDayParser.d.ts +10 -0
- package/dist/cjs/locales/it/parsers/ITCasualYearMonthDayParser.js +35 -0
- package/dist/cjs/locales/it/parsers/ITCasualYearMonthDayParser.js.map +1 -0
- package/dist/cjs/locales/it/parsers/ITMonthNameLittleEndianParser.d.ts +7 -0
- package/dist/cjs/locales/it/parsers/ITMonthNameLittleEndianParser.js +57 -0
- package/dist/cjs/locales/it/parsers/ITMonthNameLittleEndianParser.js.map +1 -0
- package/dist/cjs/locales/it/parsers/ITMonthNameMiddleEndianParser.d.ts +6 -0
- package/dist/cjs/locales/it/parsers/ITMonthNameMiddleEndianParser.js +59 -0
- package/dist/cjs/locales/it/parsers/ITMonthNameMiddleEndianParser.js.map +1 -0
- package/dist/cjs/locales/it/parsers/ITMonthNameParser.d.ts +6 -0
- package/dist/cjs/locales/it/parsers/ITMonthNameParser.js +43 -0
- package/dist/cjs/locales/it/parsers/ITMonthNameParser.js.map +1 -0
- package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.d.ts +7 -0
- package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.js +57 -0
- package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.js.map +1 -0
- package/dist/cjs/locales/it/parsers/ITSlashMonthFormatParser.d.ts +7 -0
- package/dist/cjs/locales/it/parsers/ITSlashMonthFormatParser.js +18 -0
- package/dist/cjs/locales/it/parsers/ITSlashMonthFormatParser.js.map +1 -0
- package/dist/cjs/locales/it/parsers/ITTimeExpressionParser.d.ts +10 -0
- package/dist/cjs/locales/it/parsers/ITTimeExpressionParser.js +50 -0
- package/dist/cjs/locales/it/parsers/ITTimeExpressionParser.js.map +1 -0
- package/dist/cjs/locales/it/parsers/ITTimeUnitAgoFormatParser.d.ts +9 -0
- package/dist/cjs/locales/it/parsers/ITTimeUnitAgoFormatParser.js +24 -0
- package/dist/cjs/locales/it/parsers/ITTimeUnitAgoFormatParser.js.map +1 -0
- package/dist/cjs/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.d.ts +7 -0
- package/dist/cjs/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js +26 -0
- package/dist/cjs/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js.map +1 -0
- package/dist/cjs/locales/it/parsers/ITTimeUnitLaterFormatParser.d.ts +9 -0
- package/dist/cjs/locales/it/parsers/ITTimeUnitLaterFormatParser.js +23 -0
- package/dist/cjs/locales/it/parsers/ITTimeUnitLaterFormatParser.js.map +1 -0
- package/dist/cjs/locales/it/parsers/ITTimeUnitWithinFormatParser.d.ts +7 -0
- package/dist/cjs/locales/it/parsers/ITTimeUnitWithinFormatParser.js +19 -0
- package/dist/cjs/locales/it/parsers/ITTimeUnitWithinFormatParser.js.map +1 -0
- package/dist/cjs/locales/it/parsers/ITWeekdayParser.d.ts +7 -0
- package/dist/cjs/locales/it/parsers/ITWeekdayParser.js +43 -0
- package/dist/cjs/locales/it/parsers/ITWeekdayParser.js.map +1 -0
- package/dist/cjs/locales/it/refiners/ITMergeDateRangeRefiner.d.ts +4 -0
- package/dist/cjs/locales/it/refiners/ITMergeDateRangeRefiner.js +13 -0
- package/dist/cjs/locales/it/refiners/ITMergeDateRangeRefiner.js.map +1 -0
- package/dist/cjs/locales/it/refiners/ITMergeDateTimeRefiner.d.ts +4 -0
- package/dist/cjs/locales/it/refiners/ITMergeDateTimeRefiner.js +13 -0
- package/dist/cjs/locales/it/refiners/ITMergeDateTimeRefiner.js.map +1 -0
- package/dist/cjs/locales/it/refiners/ITMergeRelativeDateRefiner.d.ts +7 -0
- package/dist/cjs/locales/it/refiners/ITMergeRelativeDateRefiner.js +36 -0
- package/dist/cjs/locales/it/refiners/ITMergeRelativeDateRefiner.js.map +1 -0
- package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js +4 -4
- package/dist/cjs/locales/ja/refiners/JPMergeDateRangeRefiner.js +1 -1
- package/dist/cjs/locales/ja/refiners/JPMergeDateRangeRefiner.js.map +1 -1
- package/dist/cjs/results.d.ts +2 -0
- package/dist/cjs/results.js +16 -0
- package/dist/cjs/results.js.map +1 -1
- package/dist/esm/common/parsers/SlashDateFormatParser.js +1 -1
- package/dist/esm/common/parsers/SlashDateFormatParser.js.map +1 -1
- package/dist/esm/locales/en/configuration.js +2 -0
- package/dist/esm/locales/en/configuration.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENCasualDateParser.js +4 -1
- package/dist/esm/locales/en/parsers/ENCasualDateParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENMonthNameParser.js +1 -1
- package/dist/esm/locales/en/parsers/ENMonthNameParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeExpressionParser.d.ts +2 -1
- package/dist/esm/locales/en/parsers/ENTimeExpressionParser.js +7 -0
- package/dist/esm/locales/en/parsers/ENTimeExpressionParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENWeekdayParser.d.ts +1 -1
- package/dist/esm/locales/en/parsers/ENWeekdayParser.js +24 -3
- package/dist/esm/locales/en/parsers/ENWeekdayParser.js.map +1 -1
- package/dist/esm/locales/en/refiners/ENUnlikelyFormatFilter.d.ts +6 -0
- package/dist/esm/locales/en/refiners/ENUnlikelyFormatFilter.js +32 -0
- package/dist/esm/locales/en/refiners/ENUnlikelyFormatFilter.js.map +1 -0
- package/dist/esm/locales/it/constants.d.ts +28 -0
- package/dist/esm/locales/it/constants.js +200 -0
- package/dist/esm/locales/it/constants.js.map +1 -0
- package/dist/esm/locales/it/index.d.ts +9 -0
- package/dist/esm/locales/it/index.js +56 -0
- package/dist/esm/locales/it/index.js.map +1 -0
- package/dist/esm/locales/it/parsers/ITCasualDateParser.d.ts +7 -0
- package/dist/esm/locales/it/parsers/ITCasualDateParser.js +40 -0
- package/dist/esm/locales/it/parsers/ITCasualDateParser.js.map +1 -0
- package/dist/esm/locales/it/parsers/ITCasualTimeParser.d.ts +6 -0
- package/dist/esm/locales/it/parsers/ITCasualTimeParser.js +41 -0
- package/dist/esm/locales/it/parsers/ITCasualTimeParser.js.map +1 -0
- package/dist/esm/locales/it/parsers/ITCasualYearMonthDayParser.d.ts +10 -0
- package/dist/esm/locales/it/parsers/ITCasualYearMonthDayParser.js +32 -0
- package/dist/esm/locales/it/parsers/ITCasualYearMonthDayParser.js.map +1 -0
- package/dist/esm/locales/it/parsers/ITMonthNameLittleEndianParser.d.ts +7 -0
- package/dist/esm/locales/it/parsers/ITMonthNameLittleEndianParser.js +54 -0
- package/dist/esm/locales/it/parsers/ITMonthNameLittleEndianParser.js.map +1 -0
- package/dist/esm/locales/it/parsers/ITMonthNameMiddleEndianParser.d.ts +6 -0
- package/dist/esm/locales/it/parsers/ITMonthNameMiddleEndianParser.js +56 -0
- package/dist/esm/locales/it/parsers/ITMonthNameMiddleEndianParser.js.map +1 -0
- package/dist/esm/locales/it/parsers/ITMonthNameParser.d.ts +6 -0
- package/dist/esm/locales/it/parsers/ITMonthNameParser.js +40 -0
- package/dist/esm/locales/it/parsers/ITMonthNameParser.js.map +1 -0
- package/dist/esm/locales/it/parsers/ITRelativeDateFormatParser.d.ts +7 -0
- package/dist/esm/locales/it/parsers/ITRelativeDateFormatParser.js +51 -0
- package/dist/esm/locales/it/parsers/ITRelativeDateFormatParser.js.map +1 -0
- package/dist/esm/locales/it/parsers/ITSlashMonthFormatParser.d.ts +7 -0
- package/dist/esm/locales/it/parsers/ITSlashMonthFormatParser.js +15 -0
- package/dist/esm/locales/it/parsers/ITSlashMonthFormatParser.js.map +1 -0
- package/dist/esm/locales/it/parsers/ITTimeExpressionParser.d.ts +10 -0
- package/dist/esm/locales/it/parsers/ITTimeExpressionParser.js +47 -0
- package/dist/esm/locales/it/parsers/ITTimeExpressionParser.js.map +1 -0
- package/dist/esm/locales/it/parsers/ITTimeUnitAgoFormatParser.d.ts +9 -0
- package/dist/esm/locales/it/parsers/ITTimeUnitAgoFormatParser.js +21 -0
- package/dist/esm/locales/it/parsers/ITTimeUnitAgoFormatParser.js.map +1 -0
- package/dist/esm/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.d.ts +7 -0
- package/dist/esm/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js +23 -0
- package/dist/esm/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js.map +1 -0
- package/dist/esm/locales/it/parsers/ITTimeUnitLaterFormatParser.d.ts +9 -0
- package/dist/esm/locales/it/parsers/ITTimeUnitLaterFormatParser.js +20 -0
- package/dist/esm/locales/it/parsers/ITTimeUnitLaterFormatParser.js.map +1 -0
- package/dist/esm/locales/it/parsers/ITTimeUnitWithinFormatParser.d.ts +7 -0
- package/dist/esm/locales/it/parsers/ITTimeUnitWithinFormatParser.js +16 -0
- package/dist/esm/locales/it/parsers/ITTimeUnitWithinFormatParser.js.map +1 -0
- package/dist/esm/locales/it/parsers/ITWeekdayParser.d.ts +7 -0
- package/dist/esm/locales/it/parsers/ITWeekdayParser.js +40 -0
- package/dist/esm/locales/it/parsers/ITWeekdayParser.js.map +1 -0
- package/dist/esm/locales/it/refiners/ITMergeDateRangeRefiner.d.ts +4 -0
- package/dist/esm/locales/it/refiners/ITMergeDateRangeRefiner.js +7 -0
- package/dist/esm/locales/it/refiners/ITMergeDateRangeRefiner.js.map +1 -0
- package/dist/esm/locales/it/refiners/ITMergeDateTimeRefiner.d.ts +4 -0
- package/dist/esm/locales/it/refiners/ITMergeDateTimeRefiner.js +7 -0
- package/dist/esm/locales/it/refiners/ITMergeDateTimeRefiner.js.map +1 -0
- package/dist/esm/locales/it/refiners/ITMergeRelativeDateRefiner.d.ts +7 -0
- package/dist/esm/locales/it/refiners/ITMergeRelativeDateRefiner.js +33 -0
- package/dist/esm/locales/it/refiners/ITMergeRelativeDateRefiner.js.map +1 -0
- package/dist/esm/locales/ja/parsers/JPCasualDateParser.js +4 -4
- package/dist/esm/locales/ja/refiners/JPMergeDateRangeRefiner.js +1 -1
- package/dist/esm/locales/ja/refiners/JPMergeDateRangeRefiner.js.map +1 -1
- package/dist/esm/results.d.ts +2 -0
- package/dist/esm/results.js +16 -0
- package/dist/esm/results.js.map +1 -1
- package/package.json +1 -1
- package/src/common/parsers/SlashDateFormatParser.ts +1 -1
- package/src/locales/en/configuration.ts +2 -0
- package/src/locales/en/parsers/ENCasualDateParser.ts +5 -1
- package/src/locales/en/parsers/ENMonthNameParser.ts +1 -1
- package/src/locales/en/parsers/ENTimeExpressionParser.ts +13 -1
- package/src/locales/en/parsers/ENWeekdayParser.ts +28 -4
- package/src/locales/en/refiners/ENUnlikelyFormatFilter.ts +44 -0
- package/src/locales/it/constants.ts +230 -0
- package/src/locales/it/index.ts +99 -0
- package/src/locales/it/parsers/ITCasualDateParser.ts +53 -0
- package/src/locales/it/parsers/ITCasualTimeParser.ts +50 -0
- package/src/locales/it/parsers/ITCasualYearMonthDayParser.ts +49 -0
- package/src/locales/it/parsers/ITMonthNameLittleEndianParser.ts +69 -0
- package/src/locales/it/parsers/ITMonthNameMiddleEndianParser.ts +78 -0
- package/src/locales/it/parsers/ITMonthNameParser.ts +62 -0
- package/src/locales/it/parsers/ITRelativeDateFormatParser.ts +71 -0
- package/src/locales/it/parsers/ITSlashMonthFormatParser.ts +26 -0
- package/src/locales/it/parsers/ITTimeExpressionParser.ts +55 -0
- package/src/locales/it/parsers/ITTimeUnitAgoFormatParser.ts +25 -0
- package/src/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.ts +30 -0
- package/src/locales/it/parsers/ITTimeUnitLaterFormatParser.ts +27 -0
- package/src/locales/it/parsers/ITTimeUnitWithinFormatParser.ts +26 -0
- package/src/locales/it/parsers/ITWeekdayParser.ts +47 -0
- package/src/locales/it/refiners/ITMergeDateRangeRefiner.ts +17 -0
- package/src/locales/it/refiners/ITMergeDateTimeRefiner.ts +13 -0
- package/src/locales/it/refiners/ITMergeRelativeDateRefiner.ts +58 -0
- package/src/locales/ja/parsers/JPCasualDateParser.ts +4 -4
- package/src/locales/ja/refiners/JPMergeDateRangeRefiner.ts +1 -1
- package/src/results.ts +18 -0
- package/test/en/en_casual.test.ts +4 -0
- package/test/en/en_month.test.ts +22 -1
- package/test/en/en_slash.test.ts +4 -0
- package/test/en/en_time_exp.test.ts +9 -0
- package/test/en/en_time_units_ago.test.ts +4 -0
- package/test/en/en_time_units_casual_relative.test.ts +5 -0
- package/test/en/en_time_units_later.test.ts +1 -0
- package/test/en/en_time_units_within.test.ts +2 -0
- package/test/en/en_weekday.test.ts +43 -0
- package/test/ja/ja_casual.test.ts +8 -0
- package/test/ja/ja_standard.test.ts +19 -0
package/dist/esm/results.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/results.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/results.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -24,6 +24,7 @@ import ENMergeRelativeAfterDateRefiner from "./refiners/ENMergeRelativeAfterDate
|
|
|
24
24
|
import ENMergeRelativeFollowByDateRefiner from "./refiners/ENMergeRelativeFollowByDateRefiner";
|
|
25
25
|
import OverlapRemovalRefiner from "../../common/refiners/OverlapRemovalRefiner";
|
|
26
26
|
import ENExtractYearSuffixRefiner from "./refiners/ENExtractYearSuffixRefiner";
|
|
27
|
+
import ENUnlikelyFormatFilter from "./refiners/ENUnlikelyFormatFilter";
|
|
27
28
|
|
|
28
29
|
export default class ENDefaultConfiguration {
|
|
29
30
|
/**
|
|
@@ -37,6 +38,7 @@ export default class ENDefaultConfiguration {
|
|
|
37
38
|
option.parsers.push(new ENMonthNameParser());
|
|
38
39
|
option.parsers.push(new ENRelativeDateFormatParser());
|
|
39
40
|
option.parsers.push(new ENTimeUnitCasualRelativeFormatParser());
|
|
41
|
+
option.refiners.push(new ENUnlikelyFormatFilter());
|
|
40
42
|
return option;
|
|
41
43
|
}
|
|
42
44
|
|
|
@@ -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) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ParsingContext } from "../../../chrono";
|
|
2
|
-
import { ParsingComponents } from "../../../results";
|
|
2
|
+
import { ParsingComponents, ParsingResult } from "../../../results";
|
|
3
3
|
import { Meridiem } from "../../../types";
|
|
4
4
|
import { AbstractTimeExpressionParser } from "../../../common/parsers/AbstractTimeExpressionParser";
|
|
5
5
|
|
|
@@ -54,4 +54,16 @@ export default class ENTimeExpressionParser extends AbstractTimeExpressionParser
|
|
|
54
54
|
|
|
55
55
|
return components.addTag("parser/ENTimeExpressionParser");
|
|
56
56
|
}
|
|
57
|
+
|
|
58
|
+
extractFollowingTimeComponents(
|
|
59
|
+
context: ParsingContext,
|
|
60
|
+
match: RegExpMatchArray,
|
|
61
|
+
result: ParsingResult
|
|
62
|
+
): ParsingComponents | null {
|
|
63
|
+
const followingComponents = super.extractFollowingTimeComponents(context, match, result);
|
|
64
|
+
if (followingComponents) {
|
|
65
|
+
followingComponents.addTag("parser/ENTimeExpressionParser");
|
|
66
|
+
}
|
|
67
|
+
return followingComponents;
|
|
68
|
+
}
|
|
57
69
|
}
|
|
@@ -4,12 +4,13 @@ import { WEEKDAY_DICTIONARY } from "../constants";
|
|
|
4
4
|
import { matchAnyPattern } from "../../../utils/pattern";
|
|
5
5
|
import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
|
|
6
6
|
import { createParsingComponentsAtWeekday } from "../../../common/calculation/weekdays";
|
|
7
|
+
import { Weekday } from "../../../types";
|
|
7
8
|
|
|
8
9
|
const PATTERN = new RegExp(
|
|
9
10
|
"(?:(?:\\,|\\(|\\()\\s*)?" +
|
|
10
11
|
"(?:on\\s*?)?" +
|
|
11
12
|
"(?:(this|last|past|next)\\s*)?" +
|
|
12
|
-
`(${matchAnyPattern(WEEKDAY_DICTIONARY)})` +
|
|
13
|
+
`(${matchAnyPattern(WEEKDAY_DICTIONARY)}|weekend|weekday)` +
|
|
13
14
|
"(?:\\s*(?:\\,|\\)|\\)))?" +
|
|
14
15
|
"(?:\\s*(this|last|past|next)\\s*week)?" +
|
|
15
16
|
"(?=\\W|$)",
|
|
@@ -25,9 +26,7 @@ export default class ENWeekdayParser extends AbstractParserWithWordBoundaryCheck
|
|
|
25
26
|
return PATTERN;
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
innerExtract(context: ParsingContext, match: RegExpMatchArray): ParsingComponents {
|
|
29
|
-
const dayOfWeek = match[WEEKDAY_GROUP].toLowerCase();
|
|
30
|
-
const weekday = WEEKDAY_DICTIONARY[dayOfWeek];
|
|
29
|
+
innerExtract(context: ParsingContext, match: RegExpMatchArray): ParsingComponents | null {
|
|
31
30
|
const prefix = match[PREFIX_GROUP];
|
|
32
31
|
const postfix = match[POSTFIX_GROUP];
|
|
33
32
|
let modifierWord = prefix || postfix;
|
|
@@ -43,6 +42,31 @@ export default class ENWeekdayParser extends AbstractParserWithWordBoundaryCheck
|
|
|
43
42
|
modifier = "this";
|
|
44
43
|
}
|
|
45
44
|
|
|
45
|
+
const weekday_word = match[WEEKDAY_GROUP].toLowerCase();
|
|
46
|
+
let weekday;
|
|
47
|
+
if (WEEKDAY_DICTIONARY[weekday_word] !== undefined) {
|
|
48
|
+
weekday = WEEKDAY_DICTIONARY[weekday_word];
|
|
49
|
+
} else if (weekday_word == "weekend") {
|
|
50
|
+
// This depends on what days are weekend setting, but typically:
|
|
51
|
+
// 'This/next weekend' means the coming Saturday, 'last weekend' means last Sunday.
|
|
52
|
+
weekday = modifier == "last" ? Weekday.SUNDAY : Weekday.SATURDAY;
|
|
53
|
+
} else if (weekday_word == "weekday") {
|
|
54
|
+
// In English, the "weekday" means any day of the week except weekend.
|
|
55
|
+
// This also depends on what days are weekend setting, but typically:
|
|
56
|
+
// - On weekend ref, this means the coming Monday or last Friday.
|
|
57
|
+
// - On weekday ref, this means the next/last working day.
|
|
58
|
+
const refWeekday = context.reference.getDateWithAdjustedTimezone().getDay();
|
|
59
|
+
if (refWeekday == Weekday.SUNDAY || refWeekday == Weekday.SATURDAY) {
|
|
60
|
+
weekday = modifier == "last" ? Weekday.FRIDAY : Weekday.MONDAY;
|
|
61
|
+
} else {
|
|
62
|
+
weekday = refWeekday - 1;
|
|
63
|
+
weekday = modifier == "last" ? weekday - 1 : weekday + 1;
|
|
64
|
+
weekday = (weekday % 5) + 1;
|
|
65
|
+
}
|
|
66
|
+
} else {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
|
|
46
70
|
return createParsingComponentsAtWeekday(context.reference, weekday, modifier);
|
|
47
71
|
}
|
|
48
72
|
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Filter } from "../../../common/abstractRefiners";
|
|
2
|
+
import { ParsingResult } from "../../../results";
|
|
3
|
+
|
|
4
|
+
export default class ENUnlikelyFormatFilter extends Filter {
|
|
5
|
+
constructor() {
|
|
6
|
+
super();
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
isValid(context, result: ParsingResult): boolean {
|
|
10
|
+
const text = result.text.trim();
|
|
11
|
+
|
|
12
|
+
// If the result is consists of the whole text (e.g. "2024", "May", etc),
|
|
13
|
+
// then it is unlikely to be a date.
|
|
14
|
+
if (text === context.text.trim()) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// In English, the word "may" is a month name, but it is also a modal verb.
|
|
19
|
+
// Check if the text before "may" follows some allowed patterns.
|
|
20
|
+
if (text.toLowerCase() === "may") {
|
|
21
|
+
const textBefore = context.text.substring(0, result.index).trim();
|
|
22
|
+
if (!textBefore.match(/\b(in)$/i)) {
|
|
23
|
+
context.debug(() => {
|
|
24
|
+
console.log(`Removing unlikely result: ${result}`);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// In English, "the second" could refer to the ordinal number or timeunit.
|
|
32
|
+
if (text.toLowerCase().endsWith("the second")) {
|
|
33
|
+
const textAfter = context.text.substring(result.index + result.text.length).trim();
|
|
34
|
+
if (textAfter.length > 0) {
|
|
35
|
+
context.debug(() => {
|
|
36
|
+
console.log(`Removing unlikely result: ${result}`);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -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
|
+
}
|