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.
- package/dist/cjs/common/casualReferences.js +8 -10
- package/dist/cjs/common/casualReferences.js.map +1 -1
- package/dist/cjs/common/refiners/ForwardDateRefiner.js +33 -12
- package/dist/cjs/common/refiners/ForwardDateRefiner.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/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 +1 -0
- package/dist/cjs/results.js +18 -13
- package/dist/cjs/results.js.map +1 -1
- package/dist/cjs/utils/dates.d.ts +3 -0
- package/dist/cjs/utils/dates.js +17 -0
- package/dist/cjs/utils/dates.js.map +1 -0
- package/dist/cjs/utils/dayjs.js.map +1 -1
- package/dist/esm/common/casualReferences.js +8 -10
- package/dist/esm/common/casualReferences.js.map +1 -1
- package/dist/esm/common/refiners/ForwardDateRefiner.js +14 -12
- package/dist/esm/common/refiners/ForwardDateRefiner.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/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 +1 -0
- package/dist/esm/results.js +17 -13
- package/dist/esm/results.js.map +1 -1
- package/dist/esm/utils/dates.d.ts +3 -0
- package/dist/esm/utils/dates.js +12 -0
- package/dist/esm/utils/dates.js.map +1 -0
- package/dist/esm/utils/dayjs.js.map +1 -1
- package/package.json +1 -1
- package/src/common/casualReferences.ts +8 -10
- package/src/common/refiners/ForwardDateRefiner.ts +17 -11
- package/src/locales/en/parsers/ENCasualDateParser.ts +5 -1
- 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 -13
- package/src/utils/dates.ts +24 -0
- package/src/utils/dayjs.ts +6 -0
- package/test/en/en_casual.test.ts +4 -1
- package/test/en/en_relative.test.ts +126 -39
- package/test/en/en_time_exp.test.ts +27 -18
- package/test/ja/ja_casual.test.ts +8 -0
- package/test/ja/ja_standard.test.ts +19 -0
- package/test/nl/nl_relative.test.ts +33 -17
- package/test/result.test.ts +24 -0
- package/test/system_timezone.test.ts +20 -4
package/dist/esm/results.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/results.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAE5B,MAAM,OAAO,qBAAqB;IAI9B,YAAY,KAA+B;QACvC,KAAK,GAAG,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,KAAK,YAAY,IAAI,EAAE;YACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/results.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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
|
@@ -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.
|
|
13
|
+
const targetDate = dayjs(reference.getDateWithAdjustedTimezone());
|
|
14
14
|
const component = new ParsingComponents(reference, {});
|
|
15
15
|
assignSimilarDate(component, targetDate);
|
|
16
16
|
assignSimilarTime(component, targetDate);
|
|
17
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
20
|
+
let refMoment = dayjs(context.reference.getDateWithAdjustedTimezone());
|
|
20
21
|
|
|
21
|
-
if (result.start.isOnlyTime() &&
|
|
22
|
-
|
|
23
|
-
|
|
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,
|
|
26
|
-
if (result.start.
|
|
27
|
-
|
|
28
|
-
implySimilarDate(result.end,
|
|
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
|
+
}
|