chrono-node 2.6.3 → 2.6.4
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/README.md +25 -3
- package/dist/cjs/calculation/mergingCalculation.js +2 -2
- package/dist/cjs/chrono.d.ts +3 -1
- package/dist/cjs/chrono.js +10 -4
- package/dist/cjs/chrono.js.map +1 -1
- package/dist/cjs/common/calculation/weekdays.d.ts +1 -1
- package/dist/cjs/common/calculation/weekdays.js +7 -7
- package/dist/cjs/common/casualReferences.js +7 -7
- package/dist/cjs/common/parsers/AbstractParserWithWordBoundary.d.ts +1 -1
- package/dist/cjs/common/parsers/AbstractTimeExpressionParser.js +16 -16
- package/dist/cjs/common/refiners/ExtractTimezoneAbbrRefiner.d.ts +1 -1
- package/dist/cjs/index.d.ts +7 -62
- package/dist/cjs/index.js +8 -31
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/locales/de/index.d.ts +5 -2
- package/dist/cjs/locales/de/index.js +7 -1
- package/dist/cjs/locales/de/index.js.map +1 -1
- package/dist/cjs/locales/de/parsers/DECasualTimeParser.js +8 -8
- package/dist/cjs/locales/de/parsers/DESpecificTimeExpressionParser.js +9 -9
- package/dist/cjs/locales/en/configuration.d.ts +5 -0
- package/dist/cjs/locales/en/configuration.js +58 -0
- package/dist/cjs/locales/en/configuration.js.map +1 -0
- package/dist/cjs/locales/en/constants.d.ts +1 -1
- package/dist/cjs/locales/en/index.d.ts +5 -4
- package/dist/cjs/locales/en/index.js +12 -51
- package/dist/cjs/locales/en/index.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENMonthNameMiddleEndianParser.d.ts +1 -1
- package/dist/cjs/locales/en/parsers/ENMonthNameParser.d.ts +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeExpressionParser.js +5 -5
- package/dist/cjs/locales/es/index.d.ts +5 -2
- package/dist/cjs/locales/es/index.js +7 -1
- package/dist/cjs/locales/es/index.js.map +1 -1
- package/dist/cjs/locales/es/parsers/ESCasualTimeParser.js +5 -5
- package/dist/cjs/locales/fr/index.d.ts +5 -2
- package/dist/cjs/locales/fr/index.js +7 -1
- package/dist/cjs/locales/fr/index.js.map +1 -1
- package/dist/cjs/locales/fr/parsers/FRCasualDateParser.js +2 -2
- package/dist/cjs/locales/fr/parsers/FRCasualTimeParser.js +6 -6
- package/dist/cjs/locales/fr/parsers/FRSpecificTimeExpressionParser.js +6 -6
- package/dist/cjs/locales/ja/index.d.ts +5 -2
- package/dist/cjs/locales/ja/index.js +7 -1
- package/dist/cjs/locales/ja/index.js.map +1 -1
- package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js +27 -5
- package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/nl/index.d.ts +5 -2
- package/dist/cjs/locales/nl/index.js +7 -1
- package/dist/cjs/locales/nl/index.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLCasualDateTimeParser.js +5 -5
- package/dist/cjs/locales/nl/parsers/NLCasualTimeParser.js +5 -5
- package/dist/cjs/locales/nl/parsers/NLMonthNameMiddleEndianParser.d.ts +1 -1
- package/dist/cjs/locales/pt/index.d.ts +5 -2
- package/dist/cjs/locales/pt/index.js +7 -1
- package/dist/cjs/locales/pt/index.js.map +1 -1
- package/dist/cjs/locales/pt/parsers/PTCasualTimeParser.js +5 -5
- package/dist/cjs/locales/ru/index.d.ts +5 -2
- package/dist/cjs/locales/ru/index.js +7 -1
- package/dist/cjs/locales/ru/index.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RUMonthNameParser.d.ts +1 -1
- package/dist/cjs/locales/ru/parsers/RUTimeExpressionParser.js +5 -5
- package/dist/cjs/locales/uk/constants.d.ts +33 -0
- package/dist/cjs/locales/uk/constants.js +301 -0
- package/dist/cjs/locales/uk/constants.js.map +1 -0
- package/dist/cjs/locales/uk/index.d.ts +11 -0
- package/dist/cjs/locales/uk/index.js +64 -0
- package/dist/cjs/locales/uk/index.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKCasualDateParser.d.ts +8 -0
- package/dist/cjs/locales/uk/parsers/UKCasualDateParser.js +56 -0
- package/dist/cjs/locales/uk/parsers/UKCasualDateParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.d.ts +7 -0
- package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.js +77 -0
- package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.d.ts +8 -0
- package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.js +59 -0
- package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKMonthNameParser.d.ts +7 -0
- package/dist/cjs/locales/uk/parsers/UKMonthNameParser.js +45 -0
- package/dist/cjs/locales/uk/parsers/UKMonthNameParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.d.ts +8 -0
- package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.js +66 -0
- package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKTimeExpressionParser.d.ts +12 -0
- package/dist/cjs/locales/uk/parsers/UKTimeExpressionParser.js +57 -0
- package/dist/cjs/locales/uk/parsers/UKTimeExpressionParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.d.ts +8 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.js +22 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.d.ts +8 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js +29 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.d.ts +8 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +22 -0
- package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -0
- package/dist/cjs/locales/uk/parsers/UKWeekdayParser.d.ts +8 -0
- package/dist/cjs/locales/uk/parsers/UKWeekdayParser.js +50 -0
- package/dist/cjs/locales/uk/parsers/UKWeekdayParser.js.map +1 -0
- package/dist/cjs/locales/uk/refiners/UKMergeDateRangeRefiner.d.ts +4 -0
- package/dist/cjs/locales/uk/refiners/UKMergeDateRangeRefiner.js +13 -0
- package/dist/cjs/locales/uk/refiners/UKMergeDateRangeRefiner.js.map +1 -0
- package/dist/cjs/locales/uk/refiners/UKMergeDateTimeRefiner.d.ts +4 -0
- package/dist/cjs/locales/uk/refiners/UKMergeDateTimeRefiner.js +13 -0
- package/dist/cjs/locales/uk/refiners/UKMergeDateTimeRefiner.js.map +1 -0
- package/dist/cjs/locales/zh/hans/index.d.ts +5 -2
- package/dist/cjs/locales/zh/hans/index.js +8 -2
- package/dist/cjs/locales/zh/hans/index.js.map +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansDateParser.d.ts +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.d.ts +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansTimeExpressionParser.d.ts +1 -1
- package/dist/cjs/locales/zh/hant/index.d.ts +5 -2
- package/dist/cjs/locales/zh/hant/index.js +8 -2
- package/dist/cjs/locales/zh/hant/index.js.map +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantDateParser.d.ts +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.d.ts +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantTimeExpressionParser.d.ts +1 -1
- package/dist/cjs/results.d.ts +1 -1
- package/dist/cjs/timezone.d.ts +1 -1
- package/dist/cjs/timezone.js +11 -11
- package/dist/cjs/types.d.ts +58 -0
- package/dist/cjs/types.js +34 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/dayjs.js +3 -3
- package/dist/esm/calculation/mergingCalculation.js +1 -1
- package/dist/esm/chrono.d.ts +3 -1
- package/dist/esm/chrono.js +7 -4
- package/dist/esm/chrono.js.map +1 -1
- package/dist/esm/common/calculation/weekdays.d.ts +1 -1
- package/dist/esm/common/calculation/weekdays.js +1 -1
- package/dist/esm/common/casualReferences.js +1 -1
- package/dist/esm/common/parsers/AbstractParserWithWordBoundary.d.ts +1 -1
- package/dist/esm/common/parsers/AbstractTimeExpressionParser.js +1 -1
- package/dist/esm/common/refiners/ExtractTimezoneAbbrRefiner.d.ts +1 -1
- package/dist/esm/index.d.ts +7 -62
- package/dist/esm/index.js +6 -32
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/locales/de/index.d.ts +5 -2
- package/dist/esm/locales/de/index.js +4 -0
- package/dist/esm/locales/de/index.js.map +1 -1
- package/dist/esm/locales/de/parsers/DECasualTimeParser.js +1 -1
- package/dist/esm/locales/de/parsers/DESpecificTimeExpressionParser.js +1 -1
- package/dist/esm/locales/en/configuration.d.ts +5 -0
- package/dist/esm/locales/en/configuration.js +52 -0
- package/dist/esm/locales/en/configuration.js.map +1 -0
- package/dist/esm/locales/en/constants.d.ts +1 -1
- package/dist/esm/locales/en/index.d.ts +5 -4
- package/dist/esm/locales/en/index.js +9 -48
- package/dist/esm/locales/en/index.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENMonthNameMiddleEndianParser.d.ts +1 -1
- package/dist/esm/locales/en/parsers/ENMonthNameParser.d.ts +1 -1
- package/dist/esm/locales/en/parsers/ENTimeExpressionParser.js +1 -1
- package/dist/esm/locales/es/index.d.ts +5 -2
- package/dist/esm/locales/es/index.js +4 -0
- package/dist/esm/locales/es/index.js.map +1 -1
- package/dist/esm/locales/es/parsers/ESCasualTimeParser.js +1 -1
- package/dist/esm/locales/fr/index.d.ts +5 -2
- package/dist/esm/locales/fr/index.js +4 -0
- package/dist/esm/locales/fr/index.js.map +1 -1
- package/dist/esm/locales/fr/parsers/FRCasualDateParser.js +1 -1
- package/dist/esm/locales/fr/parsers/FRCasualTimeParser.js +1 -1
- package/dist/esm/locales/fr/parsers/FRSpecificTimeExpressionParser.js +1 -1
- package/dist/esm/locales/ja/index.d.ts +5 -2
- package/dist/esm/locales/ja/index.js +4 -0
- package/dist/esm/locales/ja/index.js.map +1 -1
- package/dist/esm/locales/ja/parsers/JPCasualDateParser.js +25 -3
- package/dist/esm/locales/ja/parsers/JPCasualDateParser.js.map +1 -1
- package/dist/esm/locales/nl/index.d.ts +5 -2
- package/dist/esm/locales/nl/index.js +4 -0
- package/dist/esm/locales/nl/index.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLCasualDateTimeParser.js +1 -1
- package/dist/esm/locales/nl/parsers/NLCasualTimeParser.js +1 -1
- package/dist/esm/locales/nl/parsers/NLMonthNameMiddleEndianParser.d.ts +1 -1
- package/dist/esm/locales/pt/index.d.ts +5 -2
- package/dist/esm/locales/pt/index.js +4 -0
- package/dist/esm/locales/pt/index.js.map +1 -1
- package/dist/esm/locales/pt/parsers/PTCasualTimeParser.js +1 -1
- package/dist/esm/locales/ru/index.d.ts +5 -2
- package/dist/esm/locales/ru/index.js +4 -0
- package/dist/esm/locales/ru/index.js.map +1 -1
- package/dist/esm/locales/ru/parsers/RUMonthNameParser.d.ts +1 -1
- package/dist/esm/locales/ru/parsers/RUTimeExpressionParser.js +1 -1
- package/dist/esm/locales/uk/constants.d.ts +33 -0
- package/dist/esm/locales/uk/constants.js +324 -0
- package/dist/esm/locales/uk/constants.js.map +1 -0
- package/dist/esm/locales/uk/index.d.ts +11 -0
- package/dist/esm/locales/uk/index.js +52 -0
- package/dist/esm/locales/uk/index.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKCasualDateParser.d.ts +8 -0
- package/dist/esm/locales/uk/parsers/UKCasualDateParser.js +34 -0
- package/dist/esm/locales/uk/parsers/UKCasualDateParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKCasualTimeParser.d.ts +7 -0
- package/dist/esm/locales/uk/parsers/UKCasualTimeParser.js +52 -0
- package/dist/esm/locales/uk/parsers/UKCasualTimeParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.d.ts +8 -0
- package/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.js +56 -0
- package/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKMonthNameParser.d.ts +7 -0
- package/dist/esm/locales/uk/parsers/UKMonthNameParser.js +42 -0
- package/dist/esm/locales/uk/parsers/UKMonthNameParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.d.ts +8 -0
- package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.js +60 -0
- package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKTimeExpressionParser.d.ts +12 -0
- package/dist/esm/locales/uk/parsers/UKTimeExpressionParser.js +54 -0
- package/dist/esm/locales/uk/parsers/UKTimeExpressionParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.d.ts +8 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.js +19 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.d.ts +8 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js +26 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.d.ts +8 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +19 -0
- package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -0
- package/dist/esm/locales/uk/parsers/UKWeekdayParser.d.ts +8 -0
- package/dist/esm/locales/uk/parsers/UKWeekdayParser.js +47 -0
- package/dist/esm/locales/uk/parsers/UKWeekdayParser.js.map +1 -0
- package/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.d.ts +4 -0
- package/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.js +7 -0
- package/dist/esm/locales/uk/refiners/UKMergeDateRangeRefiner.js.map +1 -0
- package/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.d.ts +4 -0
- package/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.js +7 -0
- package/dist/esm/locales/uk/refiners/UKMergeDateTimeRefiner.js.map +1 -0
- package/dist/esm/locales/zh/hans/index.d.ts +5 -2
- package/dist/esm/locales/zh/hans/index.js +5 -1
- package/dist/esm/locales/zh/hans/index.js.map +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansDateParser.d.ts +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.d.ts +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansTimeExpressionParser.d.ts +1 -1
- package/dist/esm/locales/zh/hant/index.d.ts +5 -2
- package/dist/esm/locales/zh/hant/index.js +5 -1
- package/dist/esm/locales/zh/hant/index.js.map +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantDateParser.d.ts +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.d.ts +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantTimeExpressionParser.d.ts +1 -1
- package/dist/esm/results.d.ts +1 -1
- package/dist/esm/timezone.d.ts +1 -1
- package/dist/esm/timezone.js +1 -1
- package/dist/esm/types.d.ts +58 -0
- package/dist/esm/types.js +31 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/dayjs.js +1 -1
- package/package.json +9 -1
- package/src/calculation/mergingCalculation.ts +1 -1
- package/src/chrono.ts +14 -8
- package/src/common/calculation/weekdays.ts +1 -1
- package/src/common/casualReferences.ts +1 -1
- package/src/common/parsers/AbstractParserWithWordBoundary.ts +1 -1
- package/src/common/parsers/AbstractTimeExpressionParser.ts +1 -1
- package/src/common/parsers/ISOFormatParser.ts +1 -1
- package/src/common/refiners/ExtractTimezoneAbbrRefiner.ts +1 -1
- package/src/index.ts +6 -151
- package/src/locales/de/index.ts +6 -2
- package/src/locales/de/parsers/DECasualTimeParser.ts +1 -1
- package/src/locales/de/parsers/DESpecificTimeExpressionParser.ts +1 -1
- package/src/locales/en/configuration.ts +70 -0
- package/src/locales/en/constants.ts +1 -1
- package/src/locales/en/index.ts +11 -65
- package/src/locales/en/parsers/ENTimeExpressionParser.ts +1 -1
- package/src/locales/es/index.ts +6 -2
- package/src/locales/es/parsers/ESCasualTimeParser.ts +1 -1
- package/src/locales/fr/index.ts +6 -2
- package/src/locales/fr/parsers/FRCasualDateParser.ts +1 -1
- package/src/locales/fr/parsers/FRCasualTimeParser.ts +1 -1
- package/src/locales/fr/parsers/FRSpecificTimeExpressionParser.ts +1 -1
- package/src/locales/ja/index.ts +6 -2
- package/src/locales/ja/parsers/JPCasualDateParser.ts +26 -3
- package/src/locales/nl/index.ts +6 -2
- package/src/locales/nl/parsers/NLCasualDateTimeParser.ts +1 -1
- package/src/locales/nl/parsers/NLCasualTimeParser.ts +1 -1
- package/src/locales/pt/index.ts +6 -2
- package/src/locales/pt/parsers/PTCasualTimeParser.ts +1 -1
- package/src/locales/ru/index.ts +6 -2
- package/src/locales/ru/parsers/RUTimeExpressionParser.ts +1 -1
- package/src/locales/uk/constants.ts +349 -0
- package/src/locales/uk/index.ts +90 -0
- package/src/locales/uk/parsers/UKCasualDateParser.ts +50 -0
- package/src/locales/uk/parsers/UKCasualTimeParser.ts +59 -0
- package/src/locales/uk/parsers/UKMonthNameLittleEndianParser.ts +72 -0
- package/src/locales/uk/parsers/UKMonthNameParser.ts +61 -0
- package/src/locales/uk/parsers/UKRelativeDateFormatParser.ts +85 -0
- package/src/locales/uk/parsers/UKTimeExpressionParser.ts +64 -0
- package/src/locales/uk/parsers/UKTimeUnitAgoFormatParser.ts +24 -0
- package/src/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.ts +34 -0
- package/src/locales/uk/parsers/UKTimeUnitWithinFormatParser.ts +27 -0
- package/src/locales/uk/parsers/UKWeekdayParser.ts +59 -0
- package/src/locales/uk/refiners/UKMergeDateRangeRefiner.ts +13 -0
- package/src/locales/uk/refiners/UKMergeDateTimeRefiner.ts +13 -0
- package/src/locales/zh/hans/index.ts +6 -2
- package/src/locales/zh/hant/index.ts +6 -2
- package/src/results.ts +1 -1
- package/src/timezone.ts +1 -1
- package/src/types.ts +150 -0
- package/src/utils/dayjs.ts +1 -1
- package/test/debugging.test.ts +17 -0
- package/test/en/en_month_name_little_endian.test.ts +12 -0
- package/test/en/en_timezone_exp.test.ts +1 -1
- package/test/ja/ja_casual.test.ts +50 -13
- package/test/uk/uk_casual.test.ts +153 -0
- package/test/uk/uk_month.test.ts +70 -0
- package/test/uk/uk_month_name_little_endian.test.ts +148 -0
- package/test/uk/uk_relative.test.ts +74 -0
- package/test/uk/uk_time_exp.test.ts +111 -0
- package/test/uk/uk_time_units_ago.test.ts +48 -0
- package/test/uk/uk_time_units_casual_relative.test.ts +112 -0
- package/test/uk/uk_time_units_within.test.ts +16 -0
- package/test/uk/uk_weekday.test.ts +52 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { REGEX_PARTS, WEEKDAY_DICTIONARY } from "../constants.js";
|
|
2
|
+
import { matchAnyPattern } from "../../../utils/pattern.js";
|
|
3
|
+
import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
4
|
+
import { createParsingComponentsAtWeekday } from "../../../common/calculation/weekdays.js";
|
|
5
|
+
const PATTERN = new RegExp(`(?:(?:,|\\(|()\\s*)?` +
|
|
6
|
+
`(?:в\\s*?)?` +
|
|
7
|
+
`(?:у\\s*?)?` +
|
|
8
|
+
`(?:(цей|минулого|минулий|попередній|попереднього|наступного|наступний|наступному)\\s*)?` +
|
|
9
|
+
`(${matchAnyPattern(WEEKDAY_DICTIONARY)})` +
|
|
10
|
+
`(?:\\s*(?:,|\\)|)))?` +
|
|
11
|
+
`(?:\\s*(на|у|в)\\s*(цьому|минулому|наступному)\\s*тижні)?` +
|
|
12
|
+
`${REGEX_PARTS.rightBoundary}`, REGEX_PARTS.flags);
|
|
13
|
+
const PREFIX_GROUP = 1;
|
|
14
|
+
const WEEKDAY_GROUP = 2;
|
|
15
|
+
const POSTFIX_GROUP = 3;
|
|
16
|
+
export default class UKWeekdayParser extends AbstractParserWithWordBoundaryChecking {
|
|
17
|
+
innerPattern() {
|
|
18
|
+
return PATTERN;
|
|
19
|
+
}
|
|
20
|
+
patternLeftBoundary() {
|
|
21
|
+
return REGEX_PARTS.leftBoundary;
|
|
22
|
+
}
|
|
23
|
+
innerExtract(context, match) {
|
|
24
|
+
const dayOfWeek = match[WEEKDAY_GROUP].toLocaleLowerCase();
|
|
25
|
+
const weekday = WEEKDAY_DICTIONARY[dayOfWeek];
|
|
26
|
+
const prefix = match[PREFIX_GROUP];
|
|
27
|
+
const postfix = match[POSTFIX_GROUP];
|
|
28
|
+
let modifierWord = prefix || postfix;
|
|
29
|
+
modifierWord = modifierWord || "";
|
|
30
|
+
modifierWord = modifierWord.toLocaleLowerCase();
|
|
31
|
+
let modifier = null;
|
|
32
|
+
if (modifierWord == "минулого" ||
|
|
33
|
+
modifierWord == "минулий" ||
|
|
34
|
+
modifierWord == "попередній" ||
|
|
35
|
+
modifierWord == "попереднього") {
|
|
36
|
+
modifier = "last";
|
|
37
|
+
}
|
|
38
|
+
else if (modifierWord == "наступного" || modifierWord == "наступний") {
|
|
39
|
+
modifier = "next";
|
|
40
|
+
}
|
|
41
|
+
else if (modifierWord == "цей" || modifierWord == "цього" || modifierWord == "цьому") {
|
|
42
|
+
modifier = "this";
|
|
43
|
+
}
|
|
44
|
+
return createParsingComponentsAtWeekday(context.reference, weekday, modifier);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=UKWeekdayParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UKWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/uk/parsers/UKWeekdayParser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,sCAAsC,CAAC;AAExF,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,sBAAsB;IAClB,aAAa;IACb,aAAa;IACb,yFAAyF;IACzF,IAAI,eAAe,CAAC,kBAAkB,CAAC,GAAG;IAC1C,sBAAsB;IACtB,2DAA2D;IAC3D,GAAG,WAAW,CAAC,aAAa,EAAE,EAClC,WAAW,CAAC,KAAK,CACpB,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,sCAAsC;IAC/E,YAAY;QACR,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,mBAAmB;QACf,OAAO,WAAW,CAAC,YAAY,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,YAAY,GAAG,MAAM,IAAI,OAAO,CAAC;QACrC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;QAClC,YAAY,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;QAEhD,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IACI,YAAY,IAAI,UAAU;YAC1B,YAAY,IAAI,SAAS;YACzB,YAAY,IAAI,YAAY;YAC5B,YAAY,IAAI,cAAc,EAChC;YACE,QAAQ,GAAG,MAAM,CAAC;SACrB;aAAM,IAAI,YAAY,IAAI,YAAY,IAAI,YAAY,IAAI,WAAW,EAAE;YACpE,QAAQ,GAAG,MAAM,CAAC;SACrB;aAAM,IAAI,YAAY,IAAI,KAAK,IAAI,YAAY,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,EAAE;YACpF,QAAQ,GAAG,MAAM,CAAC;SACrB;QAED,OAAO,gCAAgC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;CACJ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import AbstractMergeDateRangeRefiner from "../../../common/refiners/AbstractMergeDateRangeRefiner.js";
|
|
2
|
+
export default class UKMergeDateRangeRefiner extends AbstractMergeDateRangeRefiner {
|
|
3
|
+
patternBetween() {
|
|
4
|
+
return /^\s*(і до|і по|до|по|-)\s*$/i;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=UKMergeDateRangeRefiner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UKMergeDateRangeRefiner.js","sourceRoot":"","sources":["../../../../../src/locales/uk/refiners/UKMergeDateRangeRefiner.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,MAAM,wDAAwD,CAAC;AAQnG,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,6BAA6B;IAC9E,cAAc;QACV,OAAO,8BAA8B,CAAC;IAC1C,CAAC;CACJ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import AbstractMergeDateTimeRefiner from "../../../common/refiners/AbstractMergeDateTimeRefiner.js";
|
|
2
|
+
export default class UKMergeDateTimeRefiner extends AbstractMergeDateTimeRefiner {
|
|
3
|
+
patternBetween() {
|
|
4
|
+
return new RegExp(`^\\s*(T|в|у|о|,|-)?\\s*$`);
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=UKMergeDateTimeRefiner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UKMergeDateTimeRefiner.js","sourceRoot":"","sources":["../../../../../src/locales/uk/refiners/UKMergeDateTimeRefiner.ts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,MAAM,uDAAuD,CAAC;AAQjG,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,4BAA4B;IAC5E,cAAc;QACV,OAAO,IAAI,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAClD,CAAC;CACJ"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { Chrono, Configuration } from "../../../chrono.js";
|
|
2
|
-
import {
|
|
1
|
+
import { Chrono, Configuration, Parser, Refiner } from "../../../chrono.js";
|
|
2
|
+
import { ParsingResult } from "../../../results.js";
|
|
3
|
+
import { Component, ParsedResult, ParsingOption, ParsingReference, Meridiem, Weekday } from "../../../types.js";
|
|
4
|
+
export { Chrono, Parser, Refiner, ParsingResult };
|
|
5
|
+
export { Component, ParsedResult, ParsingOption, ParsingReference, Meridiem, Weekday };
|
|
3
6
|
export declare const hans: Chrono;
|
|
4
7
|
export declare const casual: Chrono;
|
|
5
8
|
export declare const strict: Chrono;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { Chrono } from "../../../chrono.js";
|
|
2
1
|
import ExtractTimezoneOffsetRefiner from "../../../common/refiners/ExtractTimezoneOffsetRefiner.js";
|
|
3
2
|
import { includeCommonConfiguration } from "../../../configurations.js";
|
|
3
|
+
import { Chrono } from "../../../chrono.js";
|
|
4
|
+
import { ParsingResult } from "../../../results.js";
|
|
5
|
+
import { Meridiem, Weekday } from "../../../types.js";
|
|
4
6
|
import ZHHansCasualDateParser from "./parsers/ZHHansCasualDateParser.js";
|
|
5
7
|
import ZHHansDateParser from "./parsers/ZHHansDateParser.js";
|
|
6
8
|
import ZHHansDeadlineFormatParser from "./parsers/ZHHansDeadlineFormatParser.js";
|
|
@@ -9,6 +11,8 @@ import ZHHansTimeExpressionParser from "./parsers/ZHHansTimeExpressionParser.js"
|
|
|
9
11
|
import ZHHansWeekdayParser from "./parsers/ZHHansWeekdayParser.js";
|
|
10
12
|
import ZHHansMergeDateRangeRefiner from "./refiners/ZHHansMergeDateRangeRefiner.js";
|
|
11
13
|
import ZHHansMergeDateTimeRefiner from "./refiners/ZHHansMergeDateTimeRefiner.js";
|
|
14
|
+
export { Chrono, ParsingResult };
|
|
15
|
+
export { Meridiem, Weekday };
|
|
12
16
|
export const hans = new Chrono(createCasualConfiguration());
|
|
13
17
|
export const casual = new Chrono(createCasualConfiguration());
|
|
14
18
|
export const strict = new Chrono(createConfiguration());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/locales/zh/hans/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/locales/zh/hans/index.ts"],"names":[],"mappings":"AAIA,OAAO,4BAA4B,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAkC,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAA4D,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC7G,OAAO,sBAAsB,MAAM,kCAAkC,CAAC;AACtE,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,2BAA2B,MAAM,uCAAuC,CAAC;AAChF,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,2BAA2B,MAAM,wCAAwC,CAAC;AACjF,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,MAAM,EAAmB,aAAa,EAAE,CAAC;AAClD,OAAO,EAA4D,QAAQ,EAAE,OAAO,EAAE,CAAC;AAGvF,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAExD,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,GAAU,EAAE,MAAsB;IAClE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,GAAU,EAAE,MAAsB;IACtE,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAKD,MAAM,UAAU,yBAAyB;IACrC,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAClB,CAAC;AAKD,MAAM,UAAU,mBAAmB;IAC/B,MAAM,aAAa,GAAG,0BAA0B,CAAC;QAC7C,OAAO,EAAE;YACL,IAAI,gBAAgB,EAAE;YACtB,IAAI,2BAA2B,EAAE;YACjC,IAAI,mBAAmB,EAAE;YACzB,IAAI,0BAA0B,EAAE;YAChC,IAAI,0BAA0B,EAAE;SACnC;QACD,QAAQ,EAAE,CAAC,IAAI,2BAA2B,EAAE,EAAE,IAAI,0BAA0B,EAAE,CAAC;KAClF,CAAC,CAAC;IAGH,aAAa,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAClD,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,YAAY,4BAA4B,CAAC,CAClE,CAAC;IAEF,OAAO,aAAa,CAAC;AACzB,CAAC"}
|
|
@@ -2,5 +2,5 @@ import { ParsingContext } from "../../../../chrono.js";
|
|
|
2
2
|
import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
3
3
|
export default class ZHHansDateParser extends AbstractParserWithWordBoundaryChecking {
|
|
4
4
|
innerPattern(): RegExp;
|
|
5
|
-
innerExtract(context: ParsingContext, match: RegExpMatchArray): import("
|
|
5
|
+
innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../index.js").ParsingResult;
|
|
6
6
|
}
|
|
@@ -2,5 +2,5 @@ import { ParsingContext } from "../../../../chrono.js";
|
|
|
2
2
|
import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
3
3
|
export default class ZHHansDeadlineFormatParser extends AbstractParserWithWordBoundaryChecking {
|
|
4
4
|
innerPattern(): RegExp;
|
|
5
|
-
innerExtract(context: ParsingContext, match: RegExpMatchArray): import("
|
|
5
|
+
innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../index.js").ParsingResult;
|
|
6
6
|
}
|
|
@@ -2,5 +2,5 @@ import { ParsingContext } from "../../../../chrono.js";
|
|
|
2
2
|
import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
3
3
|
export default class ZHHansTimeExpressionParser extends AbstractParserWithWordBoundaryChecking {
|
|
4
4
|
innerPattern(): RegExp;
|
|
5
|
-
innerExtract(context: ParsingContext, match: RegExpMatchArray): import("
|
|
5
|
+
innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../index.js").ParsingResult;
|
|
6
6
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { Chrono, Configuration } from "../../../chrono.js";
|
|
2
|
-
import {
|
|
1
|
+
import { Chrono, Configuration, Parser, Refiner } from "../../../chrono.js";
|
|
2
|
+
import { ParsingResult } from "../../../results.js";
|
|
3
|
+
import { Component, ParsedResult, ParsingOption, ParsingReference, Meridiem, Weekday } from "../../../types.js";
|
|
4
|
+
export { Chrono, Parser, Refiner, ParsingResult };
|
|
5
|
+
export { Component, ParsedResult, ParsingOption, ParsingReference, Meridiem, Weekday };
|
|
3
6
|
export declare const hant: Chrono;
|
|
4
7
|
export declare const casual: Chrono;
|
|
5
8
|
export declare const strict: Chrono;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { Chrono } from "../../../chrono.js";
|
|
2
1
|
import ExtractTimezoneOffsetRefiner from "../../../common/refiners/ExtractTimezoneOffsetRefiner.js";
|
|
3
2
|
import { includeCommonConfiguration } from "../../../configurations.js";
|
|
3
|
+
import { Chrono } from "../../../chrono.js";
|
|
4
|
+
import { ParsingResult } from "../../../results.js";
|
|
5
|
+
import { Meridiem, Weekday } from "../../../types.js";
|
|
4
6
|
import ZHHantCasualDateParser from "./parsers/ZHHantCasualDateParser.js";
|
|
5
7
|
import ZHHantDateParser from "./parsers/ZHHantDateParser.js";
|
|
6
8
|
import ZHHantDeadlineFormatParser from "./parsers/ZHHantDeadlineFormatParser.js";
|
|
@@ -9,6 +11,8 @@ import ZHHantTimeExpressionParser from "./parsers/ZHHantTimeExpressionParser.js"
|
|
|
9
11
|
import ZHHantWeekdayParser from "./parsers/ZHHantWeekdayParser.js";
|
|
10
12
|
import ZHHantMergeDateRangeRefiner from "./refiners/ZHHantMergeDateRangeRefiner.js";
|
|
11
13
|
import ZHHantMergeDateTimeRefiner from "./refiners/ZHHantMergeDateTimeRefiner.js";
|
|
14
|
+
export { Chrono, ParsingResult };
|
|
15
|
+
export { Meridiem, Weekday };
|
|
12
16
|
export const hant = new Chrono(createCasualConfiguration());
|
|
13
17
|
export const casual = new Chrono(createCasualConfiguration());
|
|
14
18
|
export const strict = new Chrono(createConfiguration());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/locales/zh/hant/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/locales/zh/hant/index.ts"],"names":[],"mappings":"AAKA,OAAO,4BAA4B,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAkC,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAA4D,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC7G,OAAO,sBAAsB,MAAM,kCAAkC,CAAC;AACtE,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,2BAA2B,MAAM,uCAAuC,CAAC;AAChF,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,2BAA2B,MAAM,wCAAwC,CAAC;AACjF,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,MAAM,EAAmB,aAAa,EAAE,CAAC;AAClD,OAAO,EAA4D,QAAQ,EAAE,OAAO,EAAE,CAAC;AAGvF,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAExD,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,GAAU,EAAE,MAAsB;IAClE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,GAAU,EAAE,MAAsB;IACtE,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAKD,MAAM,UAAU,yBAAyB;IACrC,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAClB,CAAC;AAKD,MAAM,UAAU,mBAAmB;IAC/B,MAAM,aAAa,GAAG,0BAA0B,CAAC;QAC7C,OAAO,EAAE;YACL,IAAI,gBAAgB,EAAE;YACtB,IAAI,2BAA2B,EAAE;YACjC,IAAI,mBAAmB,EAAE;YACzB,IAAI,0BAA0B,EAAE;YAChC,IAAI,0BAA0B,EAAE;SACnC;QACD,QAAQ,EAAE,CAAC,IAAI,2BAA2B,EAAE,EAAE,IAAI,0BAA0B,EAAE,CAAC;KAClF,CAAC,CAAC;IAGH,aAAa,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAClD,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,YAAY,4BAA4B,CAAC,CAClE,CAAC;IAEF,OAAO,aAAa,CAAC;AACzB,CAAC"}
|
|
@@ -2,5 +2,5 @@ import { ParsingContext } from "../../../../chrono.js";
|
|
|
2
2
|
import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
3
3
|
export default class ZHHantDateParser extends AbstractParserWithWordBoundaryChecking {
|
|
4
4
|
innerPattern(): RegExp;
|
|
5
|
-
innerExtract(context: ParsingContext, match: RegExpMatchArray): import("
|
|
5
|
+
innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../index.js").ParsingResult;
|
|
6
6
|
}
|
|
@@ -2,5 +2,5 @@ import { ParsingContext } from "../../../../chrono.js";
|
|
|
2
2
|
import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
3
3
|
export default class ZHHantDeadlineFormatParser extends AbstractParserWithWordBoundaryChecking {
|
|
4
4
|
innerPattern(): RegExp;
|
|
5
|
-
innerExtract(context: ParsingContext, match: RegExpMatchArray): import("
|
|
5
|
+
innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../index.js").ParsingResult;
|
|
6
6
|
}
|
|
@@ -2,5 +2,5 @@ import { ParsingContext } from "../../../../chrono.js";
|
|
|
2
2
|
import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
3
3
|
export default class ZHHantTimeExpressionParser extends AbstractParserWithWordBoundaryChecking {
|
|
4
4
|
innerPattern(): RegExp;
|
|
5
|
-
innerExtract(context: ParsingContext, match: RegExpMatchArray): import("
|
|
5
|
+
innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../index.js").ParsingResult;
|
|
6
6
|
}
|
package/dist/esm/results.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, ParsedComponents, ParsedResult, ParsingReference } from "./
|
|
1
|
+
import { Component, ParsedComponents, ParsedResult, ParsingReference } from "./types.js";
|
|
2
2
|
import dayjs, { QUnitType } from "dayjs";
|
|
3
3
|
export declare class ReferenceWithTimezone {
|
|
4
4
|
readonly instant: Date;
|
package/dist/esm/timezone.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TimezoneAbbrMap, Weekday, Month } from "./
|
|
1
|
+
import { TimezoneAbbrMap, Weekday, Month } from "./types.js";
|
|
2
2
|
export declare const TIMEZONE_ABBR_MAP: TimezoneAbbrMap;
|
|
3
3
|
export declare function getNthWeekdayOfMonth(year: number, month: Month, weekday: Weekday, n: 1 | 2 | 3 | 4, hour?: number): Date;
|
|
4
4
|
export declare function getLastWeekdayOfMonth(year: number, month: Month, weekday: Weekday, hour?: number): Date;
|
package/dist/esm/timezone.js
CHANGED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export interface ParsingOption {
|
|
2
|
+
forwardDate?: boolean;
|
|
3
|
+
timezones?: TimezoneAbbrMap;
|
|
4
|
+
}
|
|
5
|
+
export interface AmbiguousTimezoneMap {
|
|
6
|
+
timezoneOffsetDuringDst: number;
|
|
7
|
+
timezoneOffsetNonDst: number;
|
|
8
|
+
dstStart: (year: number) => Date;
|
|
9
|
+
dstEnd: (year: number) => Date;
|
|
10
|
+
}
|
|
11
|
+
export declare type TimezoneAbbrMap = {
|
|
12
|
+
[key: string]: number | AmbiguousTimezoneMap;
|
|
13
|
+
};
|
|
14
|
+
export interface ParsingReference {
|
|
15
|
+
instant?: Date;
|
|
16
|
+
timezone?: string | number;
|
|
17
|
+
}
|
|
18
|
+
export interface ParsedResult {
|
|
19
|
+
readonly refDate: Date;
|
|
20
|
+
readonly index: number;
|
|
21
|
+
readonly text: string;
|
|
22
|
+
readonly start: ParsedComponents;
|
|
23
|
+
readonly end?: ParsedComponents;
|
|
24
|
+
date(): Date;
|
|
25
|
+
}
|
|
26
|
+
export interface ParsedComponents {
|
|
27
|
+
isCertain(component: Component): boolean;
|
|
28
|
+
get(component: Component): number | null;
|
|
29
|
+
date(): Date;
|
|
30
|
+
}
|
|
31
|
+
export declare type Component = "year" | "month" | "day" | "weekday" | "hour" | "minute" | "second" | "millisecond" | "meridiem" | "timezoneOffset";
|
|
32
|
+
export declare enum Meridiem {
|
|
33
|
+
AM = 0,
|
|
34
|
+
PM = 1
|
|
35
|
+
}
|
|
36
|
+
export declare enum Weekday {
|
|
37
|
+
SUNDAY = 0,
|
|
38
|
+
MONDAY = 1,
|
|
39
|
+
TUESDAY = 2,
|
|
40
|
+
WEDNESDAY = 3,
|
|
41
|
+
THURSDAY = 4,
|
|
42
|
+
FRIDAY = 5,
|
|
43
|
+
SATURDAY = 6
|
|
44
|
+
}
|
|
45
|
+
export declare enum Month {
|
|
46
|
+
JANUARY = 1,
|
|
47
|
+
FEBRUARY = 2,
|
|
48
|
+
MARCH = 3,
|
|
49
|
+
APRIL = 4,
|
|
50
|
+
MAY = 5,
|
|
51
|
+
JUNE = 6,
|
|
52
|
+
JULY = 7,
|
|
53
|
+
AUGUST = 8,
|
|
54
|
+
SEPTEMBER = 9,
|
|
55
|
+
OCTOBER = 10,
|
|
56
|
+
NOVEMBER = 11,
|
|
57
|
+
DECEMBER = 12
|
|
58
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export var Meridiem;
|
|
2
|
+
(function (Meridiem) {
|
|
3
|
+
Meridiem[Meridiem["AM"] = 0] = "AM";
|
|
4
|
+
Meridiem[Meridiem["PM"] = 1] = "PM";
|
|
5
|
+
})(Meridiem || (Meridiem = {}));
|
|
6
|
+
export var Weekday;
|
|
7
|
+
(function (Weekday) {
|
|
8
|
+
Weekday[Weekday["SUNDAY"] = 0] = "SUNDAY";
|
|
9
|
+
Weekday[Weekday["MONDAY"] = 1] = "MONDAY";
|
|
10
|
+
Weekday[Weekday["TUESDAY"] = 2] = "TUESDAY";
|
|
11
|
+
Weekday[Weekday["WEDNESDAY"] = 3] = "WEDNESDAY";
|
|
12
|
+
Weekday[Weekday["THURSDAY"] = 4] = "THURSDAY";
|
|
13
|
+
Weekday[Weekday["FRIDAY"] = 5] = "FRIDAY";
|
|
14
|
+
Weekday[Weekday["SATURDAY"] = 6] = "SATURDAY";
|
|
15
|
+
})(Weekday || (Weekday = {}));
|
|
16
|
+
export var Month;
|
|
17
|
+
(function (Month) {
|
|
18
|
+
Month[Month["JANUARY"] = 1] = "JANUARY";
|
|
19
|
+
Month[Month["FEBRUARY"] = 2] = "FEBRUARY";
|
|
20
|
+
Month[Month["MARCH"] = 3] = "MARCH";
|
|
21
|
+
Month[Month["APRIL"] = 4] = "APRIL";
|
|
22
|
+
Month[Month["MAY"] = 5] = "MAY";
|
|
23
|
+
Month[Month["JUNE"] = 6] = "JUNE";
|
|
24
|
+
Month[Month["JULY"] = 7] = "JULY";
|
|
25
|
+
Month[Month["AUGUST"] = 8] = "AUGUST";
|
|
26
|
+
Month[Month["SEPTEMBER"] = 9] = "SEPTEMBER";
|
|
27
|
+
Month[Month["OCTOBER"] = 10] = "OCTOBER";
|
|
28
|
+
Month[Month["NOVEMBER"] = 11] = "NOVEMBER";
|
|
29
|
+
Month[Month["DECEMBER"] = 12] = "DECEMBER";
|
|
30
|
+
})(Month || (Month = {}));
|
|
31
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAyHA,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAChB,mCAAM,CAAA;IACN,mCAAM,CAAA;AACV,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,CAAN,IAAY,OAQX;AARD,WAAY,OAAO;IACf,yCAAU,CAAA;IACV,yCAAU,CAAA;IACV,2CAAW,CAAA;IACX,+CAAa,CAAA;IACb,6CAAY,CAAA;IACZ,yCAAU,CAAA;IACV,6CAAY,CAAA;AAChB,CAAC,EARW,OAAO,KAAP,OAAO,QAQlB;AAED,MAAM,CAAN,IAAY,KAaX;AAbD,WAAY,KAAK;IACb,uCAAW,CAAA;IACX,yCAAY,CAAA;IACZ,mCAAS,CAAA;IACT,mCAAS,CAAA;IACT,+BAAO,CAAA;IACP,iCAAQ,CAAA;IACR,iCAAQ,CAAA;IACR,qCAAU,CAAA;IACV,2CAAa,CAAA;IACb,wCAAY,CAAA;IACZ,0CAAa,CAAA;IACb,0CAAa,CAAA;AACjB,CAAC,EAbW,KAAK,KAAL,KAAK,QAahB"}
|
package/dist/esm/utils/dayjs.js
CHANGED
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"preset": "ts-jest"
|
|
16
16
|
},
|
|
17
17
|
"license": "MIT",
|
|
18
|
-
"version": "2.6.
|
|
18
|
+
"version": "2.6.4",
|
|
19
19
|
"directories": {
|
|
20
20
|
"source": "./src",
|
|
21
21
|
"test": "./test"
|
|
@@ -26,6 +26,14 @@
|
|
|
26
26
|
".": {
|
|
27
27
|
"require": "./dist/cjs/index.js",
|
|
28
28
|
"import": "./dist/esm/index.js"
|
|
29
|
+
},
|
|
30
|
+
"./*": {
|
|
31
|
+
"require": "./dist/cjs/locales/*/index.js",
|
|
32
|
+
"import": "./dist/esm/locales/*/index.js"
|
|
33
|
+
},
|
|
34
|
+
"./*/*": {
|
|
35
|
+
"require": "./dist/cjs/locales/*/*/index.js",
|
|
36
|
+
"import": "./dist/esm/locales/*/*/index.js"
|
|
29
37
|
}
|
|
30
38
|
},
|
|
31
39
|
"engines": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ParsingComponents, ParsingResult } from "../results";
|
|
2
|
-
import { Meridiem } from "../
|
|
2
|
+
import { Meridiem } from "../types";
|
|
3
3
|
import { assignSimilarDate, implySimilarDate } from "../utils/dayjs";
|
|
4
4
|
|
|
5
5
|
export function mergeDateTimeResult(dateResult: ParsingResult, timeResult: ParsingResult): ParsingResult {
|
package/src/chrono.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReferenceWithTimezone, ParsingComponents, ParsingResult } from "./results";
|
|
2
|
-
import { Component, ParsedResult, ParsingOption, ParsingReference } from "./
|
|
2
|
+
import { Component, ParsedResult, ParsingOption, ParsingReference } from "./types";
|
|
3
3
|
import { AsyncDebugBlock, DebugHandler } from "./debugging";
|
|
4
|
-
import
|
|
4
|
+
import ENDefaultConfiguration from "./locales/en/configuration";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Chrono configuration.
|
|
@@ -13,7 +13,7 @@ export interface Configuration {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* An abstraction for Chrono *Parser*.
|
|
17
17
|
*
|
|
18
18
|
* Each parser should recognize and handle a certain date format.
|
|
19
19
|
* Chrono uses multiple parses (and refiners) together for parsing the input.
|
|
@@ -48,8 +48,10 @@ export class Chrono {
|
|
|
48
48
|
parsers: Array<Parser>;
|
|
49
49
|
refiners: Array<Refiner>;
|
|
50
50
|
|
|
51
|
+
defaultConfig = new ENDefaultConfiguration();
|
|
52
|
+
|
|
51
53
|
constructor(configuration?: Configuration) {
|
|
52
|
-
configuration = configuration || createCasualConfiguration();
|
|
54
|
+
configuration = configuration || this.defaultConfig.createCasualConfiguration();
|
|
53
55
|
this.parsers = [...configuration.parsers];
|
|
54
56
|
this.refiners = [...configuration.refiners];
|
|
55
57
|
}
|
|
@@ -108,7 +110,7 @@ export class Chrono {
|
|
|
108
110
|
|
|
109
111
|
const result = parser.extract(context, match);
|
|
110
112
|
if (!result) {
|
|
111
|
-
// If
|
|
113
|
+
// If fails, move on by 1
|
|
112
114
|
remainingText = originalText.substring(match.index + 1);
|
|
113
115
|
match = pattern.exec(remainingText);
|
|
114
116
|
continue;
|
|
@@ -124,10 +126,14 @@ export class Chrono {
|
|
|
124
126
|
parsedResult = context.createParsingResult(match.index, match[0], result);
|
|
125
127
|
}
|
|
126
128
|
|
|
127
|
-
|
|
129
|
+
const parsedIndex = parsedResult.index;
|
|
130
|
+
const parsedText = parsedResult.text;
|
|
131
|
+
context.debug(() =>
|
|
132
|
+
console.log(`${parser.constructor.name} extracted (at index=${parsedIndex}) '${parsedText}'`)
|
|
133
|
+
);
|
|
128
134
|
|
|
129
135
|
results.push(parsedResult);
|
|
130
|
-
remainingText = originalText.substring(
|
|
136
|
+
remainingText = originalText.substring(parsedIndex + parsedText.length);
|
|
131
137
|
match = pattern.exec(remainingText);
|
|
132
138
|
}
|
|
133
139
|
|
|
@@ -141,7 +147,7 @@ export class ParsingContext implements DebugHandler {
|
|
|
141
147
|
readonly reference: ReferenceWithTimezone;
|
|
142
148
|
|
|
143
149
|
/**
|
|
144
|
-
* @deprecated. Use reference.instant instead.
|
|
150
|
+
* @deprecated. Use `reference.instant` instead.
|
|
145
151
|
*/
|
|
146
152
|
readonly refDate: Date;
|
|
147
153
|
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
implySimilarTime,
|
|
8
8
|
implyTheNextDay,
|
|
9
9
|
} from "../utils/dayjs";
|
|
10
|
-
import { Meridiem } from "../
|
|
10
|
+
import { Meridiem } from "../types";
|
|
11
11
|
|
|
12
12
|
export function now(reference: ReferenceWithTimezone): ParsingComponents {
|
|
13
13
|
const targetDate = dayjs(reference.instant);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Parser, ParsingContext } from "../../chrono";
|
|
2
2
|
import { ParsingComponents, ParsingResult } from "../../results";
|
|
3
|
-
import { Meridiem } from "../../
|
|
3
|
+
import { Meridiem } from "../../types";
|
|
4
4
|
|
|
5
5
|
// prettier-ignore
|
|
6
6
|
function primaryTimePattern(leftBoundary: string, primaryPrefix: string, primarySuffix: string, flags: string) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Map ABBR -> Offset in minute
|
|
2
2
|
import { ParsingContext, Refiner } from "../../chrono";
|
|
3
|
-
import { TimezoneAbbrMap } from "../../
|
|
3
|
+
import { TimezoneAbbrMap } from "../../types";
|
|
4
4
|
import { ParsingResult } from "../../results";
|
|
5
5
|
import { toTimezoneOffset } from "../../timezone";
|
|
6
6
|
|