chrono-node 2.7.9 → 2.8.1
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/calculation/mergingCalculation.js +4 -5
- package/dist/cjs/calculation/mergingCalculation.js.map +1 -1
- package/dist/cjs/calculation/years.js +3 -4
- package/dist/cjs/calculation/years.js.map +1 -1
- package/dist/cjs/chrono.js.map +1 -1
- package/dist/cjs/common/abstractRefiners.js.map +1 -1
- package/dist/cjs/common/calculation/weekdays.js +6 -7
- package/dist/cjs/common/calculation/weekdays.js.map +1 -1
- package/dist/cjs/common/casualReferences.js +32 -35
- package/dist/cjs/common/casualReferences.js.map +1 -1
- package/dist/cjs/common/parsers/AbstractParserWithWordBoundary.js.map +1 -1
- package/dist/cjs/common/parsers/AbstractTimeExpressionParser.js.map +1 -1
- package/dist/cjs/common/parsers/ISOFormatParser.js.map +1 -1
- package/dist/cjs/common/parsers/SlashDateFormatParser.js +2 -2
- package/dist/cjs/common/parsers/SlashDateFormatParser.js.map +1 -1
- package/dist/cjs/common/refiners/AbstractMergeDateRangeRefiner.js.map +1 -1
- package/dist/cjs/common/refiners/AbstractMergeDateTimeRefiner.js +2 -2
- package/dist/cjs/common/refiners/AbstractMergeDateTimeRefiner.js.map +1 -1
- package/dist/cjs/common/refiners/ExtractTimezoneAbbrRefiner.js +1 -1
- package/dist/cjs/common/refiners/ExtractTimezoneAbbrRefiner.js.map +1 -1
- package/dist/cjs/common/refiners/ExtractTimezoneOffsetRefiner.js.map +1 -1
- package/dist/cjs/common/refiners/ForwardDateRefiner.js +47 -12
- package/dist/cjs/common/refiners/ForwardDateRefiner.js.map +1 -1
- package/dist/cjs/common/refiners/MergeWeekdayComponentRefiner.js.map +1 -1
- package/dist/cjs/common/refiners/OverlapRemovalRefiner.js.map +1 -1
- package/dist/cjs/common/refiners/UnlikelyFormatFilter.js.map +1 -1
- package/dist/cjs/configurations.js +1 -2
- package/dist/cjs/configurations.js.map +1 -1
- package/dist/cjs/debugging.d.ts +2 -2
- package/dist/cjs/index.js +25 -11
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/locales/de/constants.js +8 -8
- package/dist/cjs/locales/de/constants.js.map +1 -1
- package/dist/cjs/locales/de/index.js +6 -6
- package/dist/cjs/locales/de/index.js.map +1 -1
- package/dist/cjs/locales/de/parsers/DECasualDateParser.js +30 -16
- package/dist/cjs/locales/de/parsers/DECasualDateParser.js.map +1 -1
- package/dist/cjs/locales/de/parsers/DECasualTimeParser.js +3 -3
- package/dist/cjs/locales/de/parsers/DECasualTimeParser.js.map +1 -1
- package/dist/cjs/locales/de/parsers/DEMonthNameLittleEndianParser.js +3 -3
- package/dist/cjs/locales/de/parsers/DEMonthNameLittleEndianParser.js.map +1 -1
- package/dist/cjs/locales/de/parsers/DESpecificTimeExpressionParser.js.map +1 -1
- package/dist/cjs/locales/de/parsers/DETimeExpressionParser.js.map +1 -1
- package/dist/cjs/locales/de/parsers/DETimeUnitRelativeFormatParser.js +3 -3
- package/dist/cjs/locales/de/parsers/DETimeUnitRelativeFormatParser.js.map +1 -1
- package/dist/cjs/locales/de/parsers/DETimeUnitWithinFormatParser.js +1 -1
- package/dist/cjs/locales/de/parsers/DETimeUnitWithinFormatParser.js.map +1 -1
- package/dist/cjs/locales/de/parsers/DEWeekdayParser.js +2 -2
- package/dist/cjs/locales/de/parsers/DEWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/en/configuration.js +1 -1
- package/dist/cjs/locales/en/configuration.js.map +1 -1
- package/dist/cjs/locales/en/constants.js +12 -12
- package/dist/cjs/locales/en/constants.js.map +1 -1
- package/dist/cjs/locales/en/index.js +3 -3
- package/dist/cjs/locales/en/index.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENCasualDateParser.js +24 -10
- package/dist/cjs/locales/en/parsers/ENCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENCasualTimeParser.js +22 -8
- package/dist/cjs/locales/en/parsers/ENCasualTimeParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENMonthNameLittleEndianParser.js +5 -5
- package/dist/cjs/locales/en/parsers/ENMonthNameLittleEndianParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENMonthNameMiddleEndianParser.js +5 -5
- package/dist/cjs/locales/en/parsers/ENMonthNameMiddleEndianParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENMonthNameParser.js +3 -3
- package/dist/cjs/locales/en/parsers/ENMonthNameParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENRelativeDateFormatParser.js +2 -2
- package/dist/cjs/locales/en/parsers/ENRelativeDateFormatParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeExpressionParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitAgoFormatParser.js +2 -2
- package/dist/cjs/locales/en/parsers/ENTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js +2 -2
- package/dist/cjs/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitLaterFormatParser.js +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitLaterFormatParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitWithinFormatParser.js +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENWeekdayParser.js +2 -2
- package/dist/cjs/locales/en/parsers/ENWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENYearMonthDayParser.js +1 -1
- package/dist/cjs/locales/en/parsers/ENYearMonthDayParser.js.map +1 -1
- package/dist/cjs/locales/en/refiners/ENExtractYearSuffixRefiner.js +4 -1
- package/dist/cjs/locales/en/refiners/ENExtractYearSuffixRefiner.js.map +1 -1
- package/dist/cjs/locales/en/refiners/ENMergeRelativeAfterDateRefiner.js +2 -2
- package/dist/cjs/locales/en/refiners/ENMergeRelativeAfterDateRefiner.js.map +1 -1
- package/dist/cjs/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.js +2 -2
- package/dist/cjs/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.js.map +1 -1
- package/dist/cjs/locales/en/refiners/ENUnlikelyFormatFilter.js.map +1 -1
- package/dist/cjs/locales/es/constants.js +7 -7
- package/dist/cjs/locales/es/constants.js.map +1 -1
- package/dist/cjs/locales/es/index.js +6 -6
- package/dist/cjs/locales/es/index.js.map +1 -1
- package/dist/cjs/locales/es/parsers/ESCasualDateParser.js +22 -8
- package/dist/cjs/locales/es/parsers/ESCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/es/parsers/ESCasualTimeParser.js +2 -2
- package/dist/cjs/locales/es/parsers/ESCasualTimeParser.js.map +1 -1
- package/dist/cjs/locales/es/parsers/ESMonthNameLittleEndianParser.js +3 -3
- package/dist/cjs/locales/es/parsers/ESMonthNameLittleEndianParser.js.map +1 -1
- package/dist/cjs/locales/es/parsers/ESTimeUnitWithinFormatParser.js +1 -1
- package/dist/cjs/locales/es/parsers/ESTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/cjs/locales/es/parsers/ESWeekdayParser.js +2 -2
- package/dist/cjs/locales/es/parsers/ESWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/fr/constants.js +8 -8
- package/dist/cjs/locales/fr/constants.js.map +1 -1
- package/dist/cjs/locales/fr/index.js +6 -6
- package/dist/cjs/locales/fr/index.js.map +1 -1
- package/dist/cjs/locales/fr/parsers/FRCasualDateParser.js +25 -11
- package/dist/cjs/locales/fr/parsers/FRCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/fr/parsers/FRCasualTimeParser.js.map +1 -1
- package/dist/cjs/locales/fr/parsers/FRMonthNameLittleEndianParser.js +5 -5
- package/dist/cjs/locales/fr/parsers/FRMonthNameLittleEndianParser.js.map +1 -1
- package/dist/cjs/locales/fr/parsers/FRSpecificTimeExpressionParser.js.map +1 -1
- package/dist/cjs/locales/fr/parsers/FRTimeExpressionParser.js.map +1 -1
- package/dist/cjs/locales/fr/parsers/FRTimeUnitAgoFormatParser.js +2 -2
- package/dist/cjs/locales/fr/parsers/FRTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/cjs/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js +3 -3
- package/dist/cjs/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js.map +1 -1
- package/dist/cjs/locales/fr/parsers/FRTimeUnitWithinFormatParser.js +1 -1
- package/dist/cjs/locales/fr/parsers/FRTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/cjs/locales/fr/parsers/FRWeekdayParser.js +2 -2
- package/dist/cjs/locales/fr/parsers/FRWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/it/constants.js +10 -10
- package/dist/cjs/locales/it/constants.js.map +1 -1
- package/dist/cjs/locales/it/index.js +6 -6
- package/dist/cjs/locales/it/index.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITCasualDateParser.js +24 -10
- package/dist/cjs/locales/it/parsers/ITCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js +2 -2
- package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITCasualYearMonthDayParser.js +1 -1
- package/dist/cjs/locales/it/parsers/ITCasualYearMonthDayParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITMonthNameLittleEndianParser.js +5 -5
- package/dist/cjs/locales/it/parsers/ITMonthNameLittleEndianParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITMonthNameMiddleEndianParser.js +5 -5
- package/dist/cjs/locales/it/parsers/ITMonthNameMiddleEndianParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITMonthNameParser.js +3 -3
- package/dist/cjs/locales/it/parsers/ITMonthNameParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.js +2 -2
- package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITTimeExpressionParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITTimeUnitAgoFormatParser.js +2 -2
- package/dist/cjs/locales/it/parsers/ITTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js +2 -2
- package/dist/cjs/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITTimeUnitLaterFormatParser.js +1 -1
- package/dist/cjs/locales/it/parsers/ITTimeUnitLaterFormatParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITTimeUnitWithinFormatParser.js +1 -1
- package/dist/cjs/locales/it/parsers/ITTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITWeekdayParser.js +2 -2
- package/dist/cjs/locales/it/parsers/ITWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/it/refiners/ITMergeRelativeDateRefiner.js +2 -2
- package/dist/cjs/locales/it/refiners/ITMergeRelativeDateRefiner.js.map +1 -1
- package/dist/cjs/locales/ja/constants.d.ts +24 -0
- package/dist/cjs/locales/ja/constants.js +39 -2
- package/dist/cjs/locales/ja/constants.js.map +1 -1
- package/dist/cjs/locales/ja/index.d.ts +1 -1
- package/dist/cjs/locales/ja/index.js +32 -12
- package/dist/cjs/locales/ja/index.js.map +1 -1
- package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js +23 -9
- package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/ja/parsers/JPSlashDateFormatParser.d.ts +6 -0
- package/dist/cjs/locales/ja/parsers/JPSlashDateFormatParser.js +38 -0
- package/dist/cjs/locales/ja/parsers/JPSlashDateFormatParser.js.map +1 -0
- package/dist/cjs/locales/ja/parsers/JPStandardParser.js +5 -5
- package/dist/cjs/locales/ja/parsers/JPStandardParser.js.map +1 -1
- package/dist/cjs/locales/ja/parsers/JPTimeExpressionParser.d.ts +6 -0
- package/dist/cjs/locales/ja/parsers/JPTimeExpressionParser.js +261 -0
- package/dist/cjs/locales/ja/parsers/JPTimeExpressionParser.js.map +1 -0
- package/dist/cjs/locales/ja/parsers/JPWeekdayParser.d.ts +6 -0
- package/dist/cjs/locales/ja/parsers/JPWeekdayParser.js +30 -0
- package/dist/cjs/locales/ja/parsers/JPWeekdayParser.js.map +1 -0
- package/dist/cjs/locales/ja/parsers/JPWeekdayWithParenthesesParser.d.ts +6 -0
- package/dist/cjs/locales/ja/parsers/JPWeekdayWithParenthesesParser.js +19 -0
- package/dist/cjs/locales/ja/parsers/JPWeekdayWithParenthesesParser.js.map +1 -0
- package/dist/cjs/locales/ja/refiners/JPMergeDateRangeRefiner.js +1 -1
- package/dist/cjs/locales/ja/refiners/JPMergeDateRangeRefiner.js.map +1 -1
- package/dist/cjs/locales/ja/refiners/JPMergeDateTimeRefiner.d.ts +4 -0
- package/dist/cjs/locales/ja/refiners/JPMergeDateTimeRefiner.js +13 -0
- package/dist/cjs/locales/ja/refiners/JPMergeDateTimeRefiner.js.map +1 -0
- package/dist/cjs/locales/ja/refiners/JPMergeWeekdayComponentRefiner.d.ts +6 -0
- package/dist/cjs/locales/ja/refiners/JPMergeWeekdayComponentRefiner.js +22 -0
- package/dist/cjs/locales/ja/refiners/JPMergeWeekdayComponentRefiner.js.map +1 -0
- package/dist/cjs/locales/nl/constants.js +10 -10
- package/dist/cjs/locales/nl/constants.js.map +1 -1
- package/dist/cjs/locales/nl/index.js +6 -6
- package/dist/cjs/locales/nl/index.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLCasualDateParser.js +22 -8
- package/dist/cjs/locales/nl/parsers/NLCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLCasualDateTimeParser.js +4 -4
- package/dist/cjs/locales/nl/parsers/NLCasualDateTimeParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLCasualTimeParser.js +2 -2
- package/dist/cjs/locales/nl/parsers/NLCasualTimeParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLCasualYearMonthDayParser.js +1 -1
- package/dist/cjs/locales/nl/parsers/NLCasualYearMonthDayParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLMonthNameMiddleEndianParser.js +5 -5
- package/dist/cjs/locales/nl/parsers/NLMonthNameMiddleEndianParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLMonthNameParser.js +3 -3
- package/dist/cjs/locales/nl/parsers/NLMonthNameParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLRelativeDateFormatParser.js +2 -2
- package/dist/cjs/locales/nl/parsers/NLRelativeDateFormatParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLTimeExpressionParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLTimeUnitAgoFormatParser.js +2 -2
- package/dist/cjs/locales/nl/parsers/NLTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.js +2 -2
- package/dist/cjs/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLTimeUnitLaterFormatParser.js +1 -1
- package/dist/cjs/locales/nl/parsers/NLTimeUnitLaterFormatParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLTimeUnitWithinFormatParser.js +1 -1
- package/dist/cjs/locales/nl/parsers/NLTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLWeekdayParser.js +2 -2
- package/dist/cjs/locales/nl/parsers/NLWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/pt/constants.js +2 -2
- package/dist/cjs/locales/pt/constants.js.map +1 -1
- package/dist/cjs/locales/pt/index.js +6 -6
- package/dist/cjs/locales/pt/index.js.map +1 -1
- package/dist/cjs/locales/pt/parsers/PTCasualDateParser.js +22 -8
- package/dist/cjs/locales/pt/parsers/PTCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/pt/parsers/PTCasualTimeParser.js +2 -2
- package/dist/cjs/locales/pt/parsers/PTCasualTimeParser.js.map +1 -1
- package/dist/cjs/locales/pt/parsers/PTMonthNameLittleEndianParser.js +3 -3
- package/dist/cjs/locales/pt/parsers/PTMonthNameLittleEndianParser.js.map +1 -1
- package/dist/cjs/locales/pt/parsers/PTWeekdayParser.js +2 -2
- package/dist/cjs/locales/pt/parsers/PTWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/ru/constants.d.ts +1 -1
- package/dist/cjs/locales/ru/constants.js +10 -10
- package/dist/cjs/locales/ru/constants.js.map +1 -1
- package/dist/cjs/locales/ru/index.js +6 -6
- package/dist/cjs/locales/ru/index.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RUCasualDateParser.js +22 -8
- package/dist/cjs/locales/ru/parsers/RUCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RUCasualTimeParser.js +24 -10
- package/dist/cjs/locales/ru/parsers/RUCasualTimeParser.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RUMonthNameLittleEndianParser.js +5 -5
- package/dist/cjs/locales/ru/parsers/RUMonthNameLittleEndianParser.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RUMonthNameParser.js +3 -3
- package/dist/cjs/locales/ru/parsers/RUMonthNameParser.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RURelativeDateFormatParser.js +2 -2
- package/dist/cjs/locales/ru/parsers/RURelativeDateFormatParser.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RUTimeExpressionParser.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RUTimeUnitAgoFormatParser.js +2 -2
- package/dist/cjs/locales/ru/parsers/RUTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.js +2 -2
- package/dist/cjs/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RUTimeUnitWithinFormatParser.js +1 -1
- package/dist/cjs/locales/ru/parsers/RUTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RUWeekdayParser.js +2 -2
- package/dist/cjs/locales/ru/parsers/RUWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/uk/constants.d.ts +1 -1
- package/dist/cjs/locales/uk/constants.js +10 -10
- package/dist/cjs/locales/uk/constants.js.map +1 -1
- package/dist/cjs/locales/uk/index.js +6 -6
- package/dist/cjs/locales/uk/index.js.map +1 -1
- package/dist/cjs/locales/uk/parsers/UKCasualDateParser.js +22 -8
- package/dist/cjs/locales/uk/parsers/UKCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.js +24 -10
- package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.js.map +1 -1
- package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.js +5 -5
- package/dist/cjs/locales/uk/parsers/UKMonthNameLittleEndianParser.js.map +1 -1
- package/dist/cjs/locales/uk/parsers/UKMonthNameParser.js +3 -3
- package/dist/cjs/locales/uk/parsers/UKMonthNameParser.js.map +1 -1
- package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.js +2 -2
- package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.js.map +1 -1
- package/dist/cjs/locales/uk/parsers/UKTimeExpressionParser.js.map +1 -1
- package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.js +2 -2
- package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js +2 -2
- package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +1 -1
- package/dist/cjs/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/cjs/locales/uk/parsers/UKWeekdayParser.js +2 -2
- package/dist/cjs/locales/uk/parsers/UKWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/zh/hans/constants.js +3 -3
- package/dist/cjs/locales/zh/hans/constants.js.map +1 -1
- package/dist/cjs/locales/zh/hans/index.js +6 -6
- package/dist/cjs/locales/zh/hans/index.js.map +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansCasualDateParser.js +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansDateParser.js +4 -4
- package/dist/cjs/locales/zh/hans/parsers/ZHHansDateParser.js.map +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.js +2 -2
- package/dist/cjs/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.js.map +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansRelationWeekdayParser.js +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansRelationWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansTimeExpressionParser.js +7 -7
- package/dist/cjs/locales/zh/hans/parsers/ZHHansTimeExpressionParser.js.map +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansWeekdayParser.js +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/zh/hant/constants.js +3 -3
- package/dist/cjs/locales/zh/hant/constants.js.map +1 -1
- package/dist/cjs/locales/zh/hant/index.js +6 -6
- package/dist/cjs/locales/zh/hant/index.js.map +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantCasualDateParser.js +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantDateParser.js +4 -4
- package/dist/cjs/locales/zh/hant/parsers/ZHHantDateParser.js.map +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.js +2 -2
- package/dist/cjs/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.js.map +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantRelationWeekdayParser.js +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantRelationWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantTimeExpressionParser.js +7 -7
- package/dist/cjs/locales/zh/hant/parsers/ZHHantTimeExpressionParser.js.map +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantWeekdayParser.js +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/zh/index.js +28 -14
- package/dist/cjs/locales/zh/index.js.map +1 -1
- package/dist/cjs/results.d.ts +1 -0
- package/dist/cjs/results.js +22 -17
- package/dist/cjs/results.js.map +1 -1
- package/dist/cjs/timezone.js +6 -6
- package/dist/cjs/timezone.js.map +1 -1
- package/dist/cjs/types.d.ts +2 -2
- package/dist/cjs/types.js +3 -3
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/utils/dates.d.ts +3 -0
- package/dist/cjs/utils/dates.js +16 -0
- package/dist/cjs/utils/dates.js.map +1 -0
- package/dist/cjs/utils/dayjs.js +6 -7
- package/dist/cjs/utils/dayjs.js.map +1 -1
- package/dist/cjs/utils/pattern.d.ts +1 -1
- package/dist/cjs/utils/pattern.js +3 -4
- package/dist/cjs/utils/pattern.js.map +1 -1
- package/dist/cjs/utils/timeunits.d.ts +1 -1
- package/dist/cjs/utils/timeunits.js +2 -3
- package/dist/cjs/utils/timeunits.js.map +1 -1
- package/dist/esm/calculation/mergingCalculation.js.map +1 -1
- package/dist/esm/calculation/years.js.map +1 -1
- package/dist/esm/chrono.js +7 -1
- package/dist/esm/chrono.js.map +1 -1
- package/dist/esm/common/abstractRefiners.js.map +1 -1
- package/dist/esm/common/calculation/weekdays.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/parsers/AbstractParserWithWordBoundary.js +2 -4
- package/dist/esm/common/parsers/AbstractParserWithWordBoundary.js.map +1 -1
- package/dist/esm/common/parsers/AbstractTimeExpressionParser.js +7 -6
- package/dist/esm/common/parsers/AbstractTimeExpressionParser.js.map +1 -1
- package/dist/esm/common/parsers/ISOFormatParser.js.map +1 -1
- package/dist/esm/common/parsers/SlashDateFormatParser.js +2 -0
- package/dist/esm/common/parsers/SlashDateFormatParser.js.map +1 -1
- package/dist/esm/common/refiners/AbstractMergeDateRangeRefiner.js.map +1 -1
- package/dist/esm/common/refiners/ExtractTimezoneAbbrRefiner.js +1 -0
- package/dist/esm/common/refiners/ExtractTimezoneAbbrRefiner.js.map +1 -1
- package/dist/esm/common/refiners/ExtractTimezoneOffsetRefiner.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/common/refiners/MergeWeekdayComponentRefiner.js.map +1 -1
- package/dist/esm/common/refiners/OverlapRemovalRefiner.js.map +1 -1
- package/dist/esm/common/refiners/UnlikelyFormatFilter.js +1 -0
- package/dist/esm/common/refiners/UnlikelyFormatFilter.js.map +1 -1
- package/dist/esm/debugging.d.ts +2 -2
- package/dist/esm/debugging.js +1 -0
- package/dist/esm/debugging.js.map +1 -1
- package/dist/esm/locales/de/constants.js.map +1 -1
- package/dist/esm/locales/de/parsers/DECasualDateParser.js.map +1 -1
- package/dist/esm/locales/de/parsers/DECasualTimeParser.js.map +1 -1
- package/dist/esm/locales/de/parsers/DEMonthNameLittleEndianParser.js.map +1 -1
- package/dist/esm/locales/de/parsers/DESpecificTimeExpressionParser.js.map +1 -1
- package/dist/esm/locales/de/parsers/DETimeExpressionParser.js.map +1 -1
- package/dist/esm/locales/de/parsers/DETimeUnitRelativeFormatParser.js.map +1 -1
- package/dist/esm/locales/de/parsers/DEWeekdayParser.js.map +1 -1
- package/dist/esm/locales/en/constants.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENCasualDateParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENCasualTimeParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENMonthNameLittleEndianParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENMonthNameMiddleEndianParser.js +1 -0
- package/dist/esm/locales/en/parsers/ENMonthNameMiddleEndianParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENMonthNameParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENRelativeDateFormatParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeExpressionParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeUnitAgoFormatParser.js +1 -0
- package/dist/esm/locales/en/parsers/ENTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js +1 -0
- package/dist/esm/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeUnitLaterFormatParser.js +1 -0
- package/dist/esm/locales/en/parsers/ENTimeUnitLaterFormatParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeUnitWithinFormatParser.js +1 -0
- package/dist/esm/locales/en/parsers/ENTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENWeekdayParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENYearMonthDayParser.js +1 -0
- package/dist/esm/locales/en/parsers/ENYearMonthDayParser.js.map +1 -1
- package/dist/esm/locales/en/refiners/ENExtractYearSuffixRefiner.js +3 -0
- package/dist/esm/locales/en/refiners/ENExtractYearSuffixRefiner.js.map +1 -1
- package/dist/esm/locales/en/refiners/ENMergeRelativeAfterDateRefiner.js.map +1 -1
- package/dist/esm/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.js.map +1 -1
- package/dist/esm/locales/en/refiners/ENUnlikelyFormatFilter.js.map +1 -1
- package/dist/esm/locales/es/constants.js.map +1 -1
- package/dist/esm/locales/es/parsers/ESCasualDateParser.js.map +1 -1
- package/dist/esm/locales/es/parsers/ESCasualTimeParser.js.map +1 -1
- package/dist/esm/locales/es/parsers/ESMonthNameLittleEndianParser.js.map +1 -1
- package/dist/esm/locales/es/parsers/ESWeekdayParser.js.map +1 -1
- package/dist/esm/locales/fr/constants.js.map +1 -1
- package/dist/esm/locales/fr/parsers/FRCasualDateParser.js.map +1 -1
- package/dist/esm/locales/fr/parsers/FRCasualTimeParser.js.map +1 -1
- package/dist/esm/locales/fr/parsers/FRMonthNameLittleEndianParser.js.map +1 -1
- package/dist/esm/locales/fr/parsers/FRSpecificTimeExpressionParser.js.map +1 -1
- package/dist/esm/locales/fr/parsers/FRTimeExpressionParser.js.map +1 -1
- package/dist/esm/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js.map +1 -1
- package/dist/esm/locales/fr/parsers/FRWeekdayParser.js.map +1 -1
- package/dist/esm/locales/it/constants.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITCasualDateParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITCasualTimeParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITCasualYearMonthDayParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITMonthNameLittleEndianParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITMonthNameMiddleEndianParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITMonthNameParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITRelativeDateFormatParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITTimeExpressionParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITTimeUnitAgoFormatParser.js +1 -0
- package/dist/esm/locales/it/parsers/ITTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITTimeUnitLaterFormatParser.js +1 -0
- package/dist/esm/locales/it/parsers/ITTimeUnitLaterFormatParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITWeekdayParser.js.map +1 -1
- package/dist/esm/locales/it/refiners/ITMergeRelativeDateRefiner.js.map +1 -1
- package/dist/esm/locales/ja/constants.d.ts +24 -0
- package/dist/esm/locales/ja/constants.js +36 -0
- package/dist/esm/locales/ja/constants.js.map +1 -1
- package/dist/esm/locales/ja/index.d.ts +1 -1
- package/dist/esm/locales/ja/index.js +27 -7
- package/dist/esm/locales/ja/index.js.map +1 -1
- package/dist/esm/locales/ja/parsers/JPCasualDateParser.js.map +1 -1
- package/dist/esm/locales/ja/parsers/JPSlashDateFormatParser.d.ts +6 -0
- package/dist/esm/locales/ja/parsers/JPSlashDateFormatParser.js +35 -0
- package/dist/esm/locales/ja/parsers/JPSlashDateFormatParser.js.map +1 -0
- package/dist/esm/locales/ja/parsers/JPStandardParser.js.map +1 -1
- package/dist/esm/locales/ja/parsers/JPTimeExpressionParser.d.ts +6 -0
- package/dist/esm/locales/ja/parsers/JPTimeExpressionParser.js +258 -0
- package/dist/esm/locales/ja/parsers/JPTimeExpressionParser.js.map +1 -0
- package/dist/esm/locales/ja/parsers/JPWeekdayParser.d.ts +6 -0
- package/dist/esm/locales/ja/parsers/JPWeekdayParser.js +27 -0
- package/dist/esm/locales/ja/parsers/JPWeekdayParser.js.map +1 -0
- package/dist/esm/locales/ja/parsers/JPWeekdayWithParenthesesParser.d.ts +6 -0
- package/dist/esm/locales/ja/parsers/JPWeekdayWithParenthesesParser.js +16 -0
- package/dist/esm/locales/ja/parsers/JPWeekdayWithParenthesesParser.js.map +1 -0
- package/dist/esm/locales/ja/refiners/JPMergeDateRangeRefiner.js +1 -1
- package/dist/esm/locales/ja/refiners/JPMergeDateRangeRefiner.js.map +1 -1
- package/dist/esm/locales/ja/refiners/JPMergeDateTimeRefiner.d.ts +4 -0
- package/dist/esm/locales/ja/refiners/JPMergeDateTimeRefiner.js +7 -0
- package/dist/esm/locales/ja/refiners/JPMergeDateTimeRefiner.js.map +1 -0
- package/dist/esm/locales/ja/refiners/JPMergeWeekdayComponentRefiner.d.ts +6 -0
- package/dist/esm/locales/ja/refiners/JPMergeWeekdayComponentRefiner.js +19 -0
- package/dist/esm/locales/ja/refiners/JPMergeWeekdayComponentRefiner.js.map +1 -0
- package/dist/esm/locales/nl/constants.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLCasualDateParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLCasualDateTimeParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLCasualTimeParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLCasualYearMonthDayParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLMonthNameMiddleEndianParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLMonthNameParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLRelativeDateFormatParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLTimeExpressionParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLTimeUnitAgoFormatParser.js +1 -0
- package/dist/esm/locales/nl/parsers/NLTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLTimeUnitLaterFormatParser.js +1 -0
- package/dist/esm/locales/nl/parsers/NLTimeUnitLaterFormatParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLWeekdayParser.js.map +1 -1
- package/dist/esm/locales/pt/constants.js.map +1 -1
- package/dist/esm/locales/pt/parsers/PTCasualDateParser.js.map +1 -1
- package/dist/esm/locales/pt/parsers/PTCasualTimeParser.js.map +1 -1
- package/dist/esm/locales/pt/parsers/PTMonthNameLittleEndianParser.js.map +1 -1
- package/dist/esm/locales/pt/parsers/PTWeekdayParser.js.map +1 -1
- package/dist/esm/locales/ru/constants.d.ts +1 -1
- package/dist/esm/locales/ru/constants.js.map +1 -1
- package/dist/esm/locales/ru/parsers/RUCasualDateParser.js.map +1 -1
- package/dist/esm/locales/ru/parsers/RUCasualTimeParser.js.map +1 -1
- package/dist/esm/locales/ru/parsers/RUMonthNameLittleEndianParser.js.map +1 -1
- package/dist/esm/locales/ru/parsers/RUMonthNameParser.js.map +1 -1
- package/dist/esm/locales/ru/parsers/RURelativeDateFormatParser.js.map +1 -1
- package/dist/esm/locales/ru/parsers/RUTimeExpressionParser.js.map +1 -1
- package/dist/esm/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/esm/locales/ru/parsers/RUWeekdayParser.js.map +1 -1
- package/dist/esm/locales/uk/constants.d.ts +1 -1
- package/dist/esm/locales/uk/constants.js.map +1 -1
- package/dist/esm/locales/uk/parsers/UKCasualDateParser.js.map +1 -1
- package/dist/esm/locales/uk/parsers/UKCasualTimeParser.js.map +1 -1
- package/dist/esm/locales/uk/parsers/UKMonthNameLittleEndianParser.js.map +1 -1
- package/dist/esm/locales/uk/parsers/UKMonthNameParser.js.map +1 -1
- package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.js.map +1 -1
- package/dist/esm/locales/uk/parsers/UKTimeExpressionParser.js.map +1 -1
- package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/esm/locales/uk/parsers/UKWeekdayParser.js.map +1 -1
- package/dist/esm/locales/zh/hans/constants.js.map +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansCasualDateParser.js.map +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansDateParser.js.map +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.js.map +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansRelationWeekdayParser.js.map +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansTimeExpressionParser.js.map +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansWeekdayParser.js.map +1 -1
- package/dist/esm/locales/zh/hant/constants.js.map +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantCasualDateParser.js.map +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantDateParser.js.map +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.js.map +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantRelationWeekdayParser.js.map +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantTimeExpressionParser.js.map +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantWeekdayParser.js.map +1 -1
- package/dist/esm/results.d.ts +1 -0
- package/dist/esm/results.js +29 -14
- package/dist/esm/results.js.map +1 -1
- package/dist/esm/timezone.js.map +1 -1
- package/dist/esm/types.d.ts +2 -2
- 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/dist/esm/utils/pattern.d.ts +1 -1
- package/dist/esm/utils/pattern.js.map +1 -1
- package/dist/esm/utils/timeunits.d.ts +1 -1
- package/dist/esm/utils/timeunits.js.map +1 -1
- package/package.json +16 -16
- package/src/common/casualReferences.ts +8 -10
- package/src/common/refiners/ForwardDateRefiner.ts +17 -11
- package/src/locales/en/refiners/ENExtractYearSuffixRefiner.ts +4 -4
- package/src/locales/ja/constants.ts +40 -0
- package/src/locales/ja/index.ts +35 -7
- package/src/locales/ja/parsers/JPSlashDateFormatParser.ts +53 -0
- package/src/locales/ja/parsers/JPTimeExpressionParser.ts +281 -0
- package/src/locales/ja/parsers/JPWeekdayParser.ts +35 -0
- package/src/locales/ja/parsers/JPWeekdayWithParenthesesParser.ts +25 -0
- package/src/locales/ja/refiners/JPMergeDateRangeRefiner.ts +2 -2
- package/src/locales/ja/refiners/JPMergeDateTimeRefiner.ts +7 -0
- package/src/locales/ja/refiners/JPMergeWeekdayComponentRefiner.ts +30 -0
- package/src/results.ts +18 -13
- package/src/utils/dates.ts +24 -0
- package/src/utils/dayjs.ts +6 -0
- package/test/de/de_dash.test.ts +19 -3
- package/test/en/en_casual.test.ts +4 -1
- package/test/en/en_relative.test.ts +126 -39
- package/test/en/en_slash.test.ts +8 -0
- package/test/en/en_time_exp.test.ts +27 -18
- package/test/ja/ja_slash_date_format.test.ts +60 -0
- package/test/ja/ja_time_exp.test.ts +244 -0
- package/test/ja/ja_weekday.test.ts +183 -0
- package/test/nl/nl_relative.test.ts +33 -17
- package/test/result.test.ts +24 -0
- package/test/system.test.ts +1 -1
- package/test/system_timezone.test.ts +20 -4
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import * as chrono from "../../src";
|
|
2
|
+
import { testSingleCase } from "../test_util";
|
|
3
|
+
|
|
4
|
+
test("Test - Single Expression", function () {
|
|
5
|
+
testSingleCase(chrono.ja, "私は午前6時13分に起きた", new Date(2012, 7, 10), (result) => {
|
|
6
|
+
expect(result.index).toBe(2);
|
|
7
|
+
expect(result.text).toBe("午前6時13分");
|
|
8
|
+
|
|
9
|
+
expect(result.start).not.toBeNull();
|
|
10
|
+
expect(result.start.get("hour")).toBe(6);
|
|
11
|
+
expect(result.start.get("minute")).toBe(13);
|
|
12
|
+
|
|
13
|
+
const resultDate = result.start.date();
|
|
14
|
+
const expectDate = new Date(2012, 7, 10, 6, 13);
|
|
15
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
testSingleCase(chrono.ja, "私は午前8時に起きる", new Date(2012, 7, 10, 12), (result) => {
|
|
19
|
+
expect(result.index).toBe(2);
|
|
20
|
+
expect(result.text).toBe("午前8時");
|
|
21
|
+
|
|
22
|
+
expect(result.start).not.toBeNull();
|
|
23
|
+
expect(result.start.get("year")).toBe(2012);
|
|
24
|
+
expect(result.start.get("month")).toBe(8);
|
|
25
|
+
expect(result.start.get("day")).toBe(10);
|
|
26
|
+
expect(result.start.get("hour")).toBe(8);
|
|
27
|
+
|
|
28
|
+
const resultDate = result.start.date();
|
|
29
|
+
const expectDate = new Date(2012, 7, 10, 8);
|
|
30
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
testSingleCase(chrono.ja, "午後8時", new Date(2012, 8 - 1, 10, 12), (result) => {
|
|
34
|
+
expect(result.text).toBe("午後8時");
|
|
35
|
+
|
|
36
|
+
expect(result.start).not.toBeNull();
|
|
37
|
+
expect(result.start.get("year")).toBe(2012);
|
|
38
|
+
expect(result.start.get("month")).toBe(8);
|
|
39
|
+
expect(result.start.get("day")).toBe(10);
|
|
40
|
+
expect(result.start.get("hour")).toBe(20);
|
|
41
|
+
|
|
42
|
+
const resultDate = result.start.date();
|
|
43
|
+
const expectDate = new Date(2012, 8 - 1, 10, 20);
|
|
44
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
45
|
+
});
|
|
46
|
+
testSingleCase(chrono.ja, "12/9の16:00", new Date(2025, 12 - 1, 10, 12), (result) => {
|
|
47
|
+
expect(result.text).toBe("12/9の16:00");
|
|
48
|
+
|
|
49
|
+
expect(result.start).not.toBeNull();
|
|
50
|
+
expect(result.start.get("year")).toBe(2025);
|
|
51
|
+
expect(result.start.get("month")).toBe(12);
|
|
52
|
+
expect(result.start.get("day")).toBe(9);
|
|
53
|
+
expect(result.start.get("hour")).toBe(16);
|
|
54
|
+
|
|
55
|
+
const resultDate = result.start.date();
|
|
56
|
+
const expectDate = new Date(2025, 12 - 1, 9, 16);
|
|
57
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
58
|
+
});
|
|
59
|
+
testSingleCase(chrono.ja, "12月9日の16:30", new Date(2025, 12 - 1, 10, 12), (result) => {
|
|
60
|
+
expect(result.text).toBe("12月9日の16:30");
|
|
61
|
+
|
|
62
|
+
expect(result.start).not.toBeNull();
|
|
63
|
+
expect(result.start.get("year")).toBe(2025);
|
|
64
|
+
expect(result.start.get("month")).toBe(12);
|
|
65
|
+
expect(result.start.get("day")).toBe(9);
|
|
66
|
+
expect(result.start.get("hour")).toBe(16);
|
|
67
|
+
expect(result.start.get("minute")).toBe(30);
|
|
68
|
+
|
|
69
|
+
const resultDate = result.start.date();
|
|
70
|
+
const expectDate = new Date(2025, 12 - 1, 9, 16, 30);
|
|
71
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
test("Test - Range Expression", function () {
|
|
76
|
+
testSingleCase(
|
|
77
|
+
chrono.ja,
|
|
78
|
+
"私は本日午前八時十分から午後11時32分までゲームをした",
|
|
79
|
+
new Date(2012, 7, 10),
|
|
80
|
+
(result) => {
|
|
81
|
+
expect(result.index).toBe(2);
|
|
82
|
+
expect(result.text).toBe("本日午前八時十分から午後11時32分");
|
|
83
|
+
|
|
84
|
+
expect(result.start).not.toBeNull();
|
|
85
|
+
expect(result.start.get("hour")).toBe(8);
|
|
86
|
+
expect(result.start.get("minute")).toBe(10);
|
|
87
|
+
|
|
88
|
+
expect(result.start.isCertain("day")).toBe(true);
|
|
89
|
+
expect(result.start.isCertain("month")).toBe(true);
|
|
90
|
+
expect(result.start.isCertain("year")).toBe(true);
|
|
91
|
+
expect(result.start.isCertain("hour")).toBe(true);
|
|
92
|
+
expect(result.start.isCertain("minute")).toBe(true);
|
|
93
|
+
expect(result.start.isCertain("second")).toBe(false);
|
|
94
|
+
expect(result.start.isCertain("millisecond")).toBe(false);
|
|
95
|
+
|
|
96
|
+
let resultDate = result.start.date();
|
|
97
|
+
let expectDate = new Date(2012, 7, 10, 8, 10);
|
|
98
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
99
|
+
|
|
100
|
+
expect(result.end).not.toBeNull();
|
|
101
|
+
expect(result.end.get("hour")).toBe(23);
|
|
102
|
+
expect(result.end.get("minute")).toBe(32);
|
|
103
|
+
|
|
104
|
+
expect(result.end.isCertain("day")).toBe(true);
|
|
105
|
+
expect(result.end.isCertain("month")).toBe(true);
|
|
106
|
+
expect(result.end.isCertain("year")).toBe(true);
|
|
107
|
+
expect(result.end.isCertain("hour")).toBe(true);
|
|
108
|
+
expect(result.end.isCertain("minute")).toBe(true);
|
|
109
|
+
expect(result.end.isCertain("second")).toBe(false);
|
|
110
|
+
expect(result.end.isCertain("millisecond")).toBe(false);
|
|
111
|
+
|
|
112
|
+
resultDate = result.end.date();
|
|
113
|
+
expectDate = new Date(2012, 7, 10, 23, 32);
|
|
114
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
115
|
+
}
|
|
116
|
+
);
|
|
117
|
+
|
|
118
|
+
testSingleCase(chrono.ja, "6時30分PM-11時PM", new Date(2012, 7, 10), (result) => {
|
|
119
|
+
expect(result.index).toBe(0);
|
|
120
|
+
expect(result.text).toBe("6時30分PM-11時PM");
|
|
121
|
+
|
|
122
|
+
expect(result.start).not.toBeNull();
|
|
123
|
+
expect(result.start.get("hour")).toBe(18);
|
|
124
|
+
expect(result.start.get("minute")).toBe(30);
|
|
125
|
+
expect(result.start.get("meridiem")).toBe(1);
|
|
126
|
+
|
|
127
|
+
let resultDate = result.start.date();
|
|
128
|
+
let expectDate = new Date(2012, 7, 10, 18, 30);
|
|
129
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
130
|
+
|
|
131
|
+
expect(result.end).not.toBeNull();
|
|
132
|
+
expect(result.end.get("hour")).toBe(23);
|
|
133
|
+
expect(result.end.get("minute")).toBe(0);
|
|
134
|
+
expect(result.end.get("meridiem")).toBe(1);
|
|
135
|
+
|
|
136
|
+
resultDate = result.end.date();
|
|
137
|
+
expectDate = new Date(2012, 7, 10, 23, 0);
|
|
138
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
test("Test - Date + Time Expression", function () {
|
|
143
|
+
testSingleCase(
|
|
144
|
+
chrono.ja,
|
|
145
|
+
"僕は2018年11月26日午後三時半五十九秒にゲームを始めた",
|
|
146
|
+
new Date(2012, 7, 10),
|
|
147
|
+
(result) => {
|
|
148
|
+
expect(result.index).toBe(2);
|
|
149
|
+
expect(result.text).toBe("2018年11月26日午後三時半五十九秒");
|
|
150
|
+
|
|
151
|
+
expect(result.start.get("year")).toBe(2018);
|
|
152
|
+
expect(result.start.get("month")).toBe(11);
|
|
153
|
+
expect(result.start.get("day")).toBe(26);
|
|
154
|
+
expect(result.start.get("hour")).toBe(15);
|
|
155
|
+
expect(result.start.get("minute")).toBe(30);
|
|
156
|
+
expect(result.start.get("second")).toBe(59);
|
|
157
|
+
expect(result.start.get("millisecond")).toBe(0);
|
|
158
|
+
expect(result.start.isCertain("millisecond")).toBe(false);
|
|
159
|
+
|
|
160
|
+
const resultDate = result.start.date();
|
|
161
|
+
const expectDate = new Date(2018, 11 - 1, 26, 15, 30, 59);
|
|
162
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
163
|
+
}
|
|
164
|
+
);
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
test("Test - Time Expression's Meridiem imply", function () {
|
|
168
|
+
testSingleCase(chrono.ja, "午後1時から3時", new Date(2012, 7, 10), (result) => {
|
|
169
|
+
expect(result.index).toBe(0);
|
|
170
|
+
expect(result.text).toBe("午後1時から3時");
|
|
171
|
+
|
|
172
|
+
expect(result.start.get("year")).toBe(2012);
|
|
173
|
+
expect(result.start.get("month")).toBe(8);
|
|
174
|
+
expect(result.start.get("day")).toBe(10);
|
|
175
|
+
expect(result.start.get("hour")).toBe(13);
|
|
176
|
+
expect(result.start.get("minute")).toBe(0);
|
|
177
|
+
expect(result.start.get("second")).toBe(0);
|
|
178
|
+
expect(result.start.get("millisecond")).toBe(0);
|
|
179
|
+
expect(result.start.get("meridiem")).toBe(1);
|
|
180
|
+
expect(result.start.isCertain("meridiem")).toBe(true);
|
|
181
|
+
|
|
182
|
+
expect(result.end.get("year")).toBe(2012);
|
|
183
|
+
expect(result.end.get("month")).toBe(8);
|
|
184
|
+
expect(result.end.get("day")).toBe(10);
|
|
185
|
+
expect(result.end.get("hour")).toBe(15);
|
|
186
|
+
expect(result.end.get("minute")).toBe(0);
|
|
187
|
+
expect(result.end.get("second")).toBe(0);
|
|
188
|
+
expect(result.end.get("millisecond")).toBe(0);
|
|
189
|
+
expect(result.start.get("meridiem")).toBe(1);
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
testSingleCase(chrono.ja, "午後6時半-11時", new Date(2012, 7, 10), (result) => {
|
|
193
|
+
expect(result.index).toBe(0);
|
|
194
|
+
expect(result.text).toBe("午後6時半-11時");
|
|
195
|
+
|
|
196
|
+
expect(result.start).not.toBeNull();
|
|
197
|
+
expect(result.start.get("hour")).toBe(18);
|
|
198
|
+
expect(result.start.get("minute")).toBe(30);
|
|
199
|
+
expect(result.start.get("meridiem")).toBe(1);
|
|
200
|
+
|
|
201
|
+
const resultDate = result.start.date();
|
|
202
|
+
const expectDate = new Date(2012, 7, 10, 18, 30);
|
|
203
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
204
|
+
|
|
205
|
+
expect(result.end).not.toBeNull();
|
|
206
|
+
expect(result.end.get("hour")).toBe(23);
|
|
207
|
+
expect(result.end.get("minute")).toBe(0);
|
|
208
|
+
expect(result.end.get("meridiem")).toBe(1);
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
|
|
212
|
+
test("Test - Random date + time expression", function () {
|
|
213
|
+
testSingleCase(chrono.ja, "2014年3月5日午前 6 時から 7 時", new Date(2012, 7, 10), (result) => {
|
|
214
|
+
expect(result.text).toBe("2014年3月5日午前 6 時から 7 時");
|
|
215
|
+
});
|
|
216
|
+
|
|
217
|
+
testSingleCase(chrono.ja, "次の土曜日1時30分二十九秒", new Date(2012, 7, 10), (result) => {
|
|
218
|
+
expect(result.text).toBe("次の土曜日1時30分二十九秒");
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
testSingleCase(chrono.ja, "昨日午前六時", new Date(2012, 7, 10), (result) => {
|
|
222
|
+
expect(result.text).toBe("昨日午前六時");
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
testSingleCase(chrono.ja, "6月4日3:00am", new Date(2012, 7, 10), (result) => {
|
|
226
|
+
expect(result.text).toBe("6月4日3:00am");
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
testSingleCase(chrono.ja, "前の金曜日16時", new Date(2012, 7, 10), (result) => {
|
|
230
|
+
expect(result.text).toBe("前の金曜日16時");
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
testSingleCase(chrono.ja, "3月17日 20時15", new Date(2012, 7, 10), (result) => {
|
|
234
|
+
expect(result.text).toBe("3月17日 20時15");
|
|
235
|
+
});
|
|
236
|
+
|
|
237
|
+
testSingleCase(chrono.ja, "10時", new Date(2012, 7, 10), (result) => {
|
|
238
|
+
expect(result.text).toBe("10時");
|
|
239
|
+
});
|
|
240
|
+
|
|
241
|
+
testSingleCase(chrono.ja, "12時", new Date(2012, 7, 10), (result) => {
|
|
242
|
+
expect(result.start.get("hour")).toBe(12);
|
|
243
|
+
});
|
|
244
|
+
});
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import * as chrono from "../../src";
|
|
2
|
+
import { testSingleCase } from "../test_util";
|
|
3
|
+
|
|
4
|
+
test("Test - Single Expression", function () {
|
|
5
|
+
testSingleCase(chrono.ja, "木曜日", new Date(2016, 9 - 1, 2), (result) => {
|
|
6
|
+
expect(result.index).toBe(0);
|
|
7
|
+
expect(result.text).toBe("木曜日");
|
|
8
|
+
|
|
9
|
+
expect(result.start).not.toBeNull();
|
|
10
|
+
expect(result.start.get("year")).toBe(2016);
|
|
11
|
+
expect(result.start.get("month")).toBe(9);
|
|
12
|
+
expect(result.start.get("day")).toBe(1);
|
|
13
|
+
expect(result.start.get("weekday")).toBe(4);
|
|
14
|
+
|
|
15
|
+
expect(result.start.isCertain("day")).toBe(false);
|
|
16
|
+
expect(result.start.isCertain("month")).toBe(false);
|
|
17
|
+
expect(result.start.isCertain("year")).toBe(false);
|
|
18
|
+
expect(result.start.isCertain("weekday")).toBe(true);
|
|
19
|
+
|
|
20
|
+
const resultDate = result.start.date();
|
|
21
|
+
const expectDate = new Date(2016, 9 - 1, 1, 12);
|
|
22
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
testSingleCase(chrono.ja, "前の水曜日", new Date(2016, 9 - 1, 2), (result) => {
|
|
26
|
+
expect(result.index).toBe(0);
|
|
27
|
+
expect(result.text).toBe("前の水曜日");
|
|
28
|
+
|
|
29
|
+
expect(result.start).not.toBeNull();
|
|
30
|
+
expect(result.start.get("year")).toBe(2016);
|
|
31
|
+
expect(result.start.get("month")).toBe(8);
|
|
32
|
+
expect(result.start.get("day")).toBe(31);
|
|
33
|
+
expect(result.start.get("weekday")).toBe(3);
|
|
34
|
+
|
|
35
|
+
const resultDate = result.start.date();
|
|
36
|
+
const expectDate = new Date(2016, 8 - 1, 31, 12);
|
|
37
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
test("Test - Single Expression - weekday with parentheses", function () {
|
|
42
|
+
testSingleCase(chrono.ja, "(木)", new Date(2016, 9 - 1, 2), (result) => {
|
|
43
|
+
expect(result.index).toBe(0);
|
|
44
|
+
expect(result.text).toBe("(木)");
|
|
45
|
+
|
|
46
|
+
expect(result.start).not.toBeNull();
|
|
47
|
+
expect(result.start.get("year")).toBe(2016);
|
|
48
|
+
expect(result.start.get("month")).toBe(9);
|
|
49
|
+
expect(result.start.get("day")).toBe(1);
|
|
50
|
+
expect(result.start.get("weekday")).toBe(4);
|
|
51
|
+
|
|
52
|
+
expect(result.start.isCertain("day")).toBe(false);
|
|
53
|
+
expect(result.start.isCertain("month")).toBe(false);
|
|
54
|
+
expect(result.start.isCertain("year")).toBe(false);
|
|
55
|
+
expect(result.start.isCertain("weekday")).toBe(true);
|
|
56
|
+
|
|
57
|
+
const resultDate = result.start.date();
|
|
58
|
+
const expectDate = new Date(2016, 9 - 1, 1, 12);
|
|
59
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
60
|
+
});
|
|
61
|
+
testSingleCase(chrono.ja, "(木)", new Date(2016, 9 - 1, 2), (result) => {
|
|
62
|
+
expect(result.index).toBe(0);
|
|
63
|
+
expect(result.text).toBe("(木)");
|
|
64
|
+
|
|
65
|
+
expect(result.start).not.toBeNull();
|
|
66
|
+
expect(result.start.get("year")).toBe(2016);
|
|
67
|
+
expect(result.start.get("month")).toBe(9);
|
|
68
|
+
expect(result.start.get("day")).toBe(1);
|
|
69
|
+
expect(result.start.get("weekday")).toBe(4);
|
|
70
|
+
|
|
71
|
+
expect(result.start.isCertain("day")).toBe(false);
|
|
72
|
+
expect(result.start.isCertain("month")).toBe(false);
|
|
73
|
+
expect(result.start.isCertain("year")).toBe(false);
|
|
74
|
+
expect(result.start.isCertain("weekday")).toBe(true);
|
|
75
|
+
|
|
76
|
+
const resultDate = result.start.date();
|
|
77
|
+
const expectDate = new Date(2016, 9 - 1, 1, 12);
|
|
78
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
test("Test - forward dates only option", function () {
|
|
83
|
+
testSingleCase(chrono.ja, "土曜日~月曜日", new Date(2016, 9 - 1, 2), { forwardDate: true }, (result) => {
|
|
84
|
+
expect(result.index).toBe(0);
|
|
85
|
+
expect(result.text).toBe("土曜日~月曜日");
|
|
86
|
+
|
|
87
|
+
expect(result.start).not.toBeNull();
|
|
88
|
+
expect(result.start.get("year")).toBe(2016);
|
|
89
|
+
expect(result.start.get("month")).toBe(9);
|
|
90
|
+
expect(result.start.get("day")).toBe(3);
|
|
91
|
+
expect(result.start.get("weekday")).toBe(6);
|
|
92
|
+
|
|
93
|
+
expect(result.start.isCertain("day")).toBe(false);
|
|
94
|
+
expect(result.start.isCertain("month")).toBe(false);
|
|
95
|
+
expect(result.start.isCertain("year")).toBe(false);
|
|
96
|
+
expect(result.start.isCertain("weekday")).toBe(true);
|
|
97
|
+
|
|
98
|
+
let resultDate = result.start.date();
|
|
99
|
+
let expectDate = new Date(2016, 9 - 1, 3, 12);
|
|
100
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
101
|
+
|
|
102
|
+
expect(result.end).not.toBeNull();
|
|
103
|
+
expect(result.end.get("year")).toBe(2016);
|
|
104
|
+
expect(result.end.get("month")).toBe(9);
|
|
105
|
+
expect(result.end.get("day")).toBe(5);
|
|
106
|
+
expect(result.end.get("weekday")).toBe(1);
|
|
107
|
+
|
|
108
|
+
expect(result.end.isCertain("day")).toBe(false);
|
|
109
|
+
expect(result.end.isCertain("month")).toBe(false);
|
|
110
|
+
expect(result.end.isCertain("year")).toBe(false);
|
|
111
|
+
expect(result.end.isCertain("weekday")).toBe(true);
|
|
112
|
+
|
|
113
|
+
resultDate = result.end.date();
|
|
114
|
+
expectDate = new Date(2016, 9 - 1, 5, 12);
|
|
115
|
+
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime());
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
test("Test - merge date and weekday", function () {
|
|
120
|
+
testSingleCase(chrono.ja, "8月27日水曜日", new Date(2012, 8 - 1, 10), (result) => {
|
|
121
|
+
expect(result.index).toBe(0);
|
|
122
|
+
expect(result.text).toBe("8月27日水曜日");
|
|
123
|
+
|
|
124
|
+
expect(result.start).not.toBeNull();
|
|
125
|
+
expect(result.start.get("year")).toBe(2012);
|
|
126
|
+
expect(result.start.get("month")).toBe(8);
|
|
127
|
+
expect(result.start.get("day")).toBe(27);
|
|
128
|
+
expect(result.start.get("weekday")).toBe(3);
|
|
129
|
+
|
|
130
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 27, 12));
|
|
131
|
+
});
|
|
132
|
+
testSingleCase(chrono.ja, "8月27日(水)", new Date(2012, 8 - 1, 10), (result) => {
|
|
133
|
+
expect(result.index).toBe(0);
|
|
134
|
+
expect(result.text).toBe("8月27日(水)");
|
|
135
|
+
|
|
136
|
+
expect(result.start).not.toBeNull();
|
|
137
|
+
expect(result.start.get("year")).toBe(2012);
|
|
138
|
+
expect(result.start.get("month")).toBe(8);
|
|
139
|
+
expect(result.start.get("day")).toBe(27);
|
|
140
|
+
expect(result.start.get("weekday")).toBe(3);
|
|
141
|
+
|
|
142
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 27, 12));
|
|
143
|
+
});
|
|
144
|
+
testSingleCase(chrono.ja, "2012/8/27(水)", new Date(2012, 8 - 1, 10), (result) => {
|
|
145
|
+
expect(result.index).toBe(0);
|
|
146
|
+
expect(result.text).toBe("2012/8/27(水)");
|
|
147
|
+
|
|
148
|
+
expect(result.start).not.toBeNull();
|
|
149
|
+
expect(result.start.get("year")).toBe(2012);
|
|
150
|
+
expect(result.start.get("month")).toBe(8);
|
|
151
|
+
expect(result.start.get("day")).toBe(27);
|
|
152
|
+
expect(result.start.get("weekday")).toBe(3);
|
|
153
|
+
|
|
154
|
+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 27, 12));
|
|
155
|
+
});
|
|
156
|
+
testSingleCase(chrono.ja, "1/30(木)", new Date(2025, 1, 10), (result) => {
|
|
157
|
+
expect(result.text).toBe("1/30(木)");
|
|
158
|
+
});
|
|
159
|
+
testSingleCase(chrono.ja, "1/30の木曜日", new Date(2025, 1, 10), (result) => {
|
|
160
|
+
expect(result.text).toBe("1/30の木曜日");
|
|
161
|
+
});
|
|
162
|
+
testSingleCase(chrono.ja, "1/30(木)", new Date(2025, 1, 10), (result) => {
|
|
163
|
+
expect(result.text).toBe("1/30(木)");
|
|
164
|
+
});
|
|
165
|
+
testSingleCase(chrono.ja, "1月30日(木)14:00", new Date(2025, 1, 10), (result) => {
|
|
166
|
+
expect(result.text).toBe("1月30日(木)14:00");
|
|
167
|
+
});
|
|
168
|
+
testSingleCase(chrono.ja, "1月31日(金)12:00-16:00", new Date(2025, 1, 10), (result) => {
|
|
169
|
+
expect(result.text).toBe("1月31日(金)12:00-16:00");
|
|
170
|
+
});
|
|
171
|
+
testSingleCase(
|
|
172
|
+
chrono.ja,
|
|
173
|
+
"1月30日(木)12:00-1月31日(金)16:00",
|
|
174
|
+
new Date(2025, 1, 10),
|
|
175
|
+
(result) => {
|
|
176
|
+
expect(result.text).toBe("1月30日(木)12:00-1月31日(金)16:00");
|
|
177
|
+
expect(result.start).toBeDate(new Date(2025, 1 - 1, 30, 12));
|
|
178
|
+
expect(result.start.get("weekday")).toBe(4);
|
|
179
|
+
expect(result.end).toBeDate(new Date(2025, 1 - 1, 31, 16));
|
|
180
|
+
expect(result.end.get("weekday")).toBe(5);
|
|
181
|
+
}
|
|
182
|
+
);
|
|
183
|
+
});
|
|
@@ -185,42 +185,58 @@ test("Test - Relative date components' certainty", () => {
|
|
|
185
185
|
});
|
|
186
186
|
});
|
|
187
187
|
|
|
188
|
-
test("Test - Relative date
|
|
188
|
+
test("Test - Relative date when the timezone is irrelevant", () => {
|
|
189
189
|
const refDate = new Date("Sun Nov 29 2020 13:24:13 GMT+0900 (Japan Standard Time)");
|
|
190
|
-
|
|
191
190
|
{
|
|
192
191
|
// now
|
|
193
192
|
const text = "nu";
|
|
194
193
|
const result = chrono.nl.parse(text, refDate)[0] as ParsingResult;
|
|
194
|
+
expect(result).toBeDate(new Date("Sun Nov 29 2020 13:24:13 GMT+0900 (Japan Standard Time)"));
|
|
195
|
+
expect(result).toBeDate(new Date("Sun Nov 29 2020 5:24:13 GMT+0100"));
|
|
195
196
|
|
|
196
|
-
expect(result.text).toBe(text);
|
|
197
197
|
result.start.imply("timezoneOffset", 60);
|
|
198
|
-
|
|
199
198
|
expect(result).toBeDate(new Date("Sun Nov 29 2020 13:24:13 GMT+0900 (Japan Standard Time)"));
|
|
200
199
|
expect(result).toBeDate(new Date("Sun Nov 29 2020 5:24:13 GMT+0100"));
|
|
201
200
|
}
|
|
202
|
-
|
|
203
201
|
{
|
|
204
|
-
//
|
|
205
|
-
const text = "
|
|
202
|
+
// in 10 minutes
|
|
203
|
+
const text = "binnen 10 minuten";
|
|
206
204
|
const result = chrono.nl.parse(text, refDate)[0] as ParsingResult;
|
|
205
|
+
expect(result).toBeDate(new Date("Sun Nov 29 2020 13:34:13 GMT+0900 (Japan Standard Time)"));
|
|
206
|
+
expect(result).toBeDate(new Date("Sun Nov 29 2020 5:34:13 GMT+0100"));
|
|
207
207
|
|
|
208
|
-
expect(result.text).toBe(text);
|
|
209
208
|
result.start.imply("timezoneOffset", 60);
|
|
210
|
-
|
|
211
|
-
expect(result).toBeDate(new Date("Sun
|
|
212
|
-
expect(result).toBeDate(new Date("Sun Nov 30 2020 17:00:00 GMT+0100"));
|
|
209
|
+
expect(result).toBeDate(new Date("Sun Nov 29 2020 13:34:13 GMT+0900 (Japan Standard Time)"));
|
|
210
|
+
expect(result).toBeDate(new Date("Sun Nov 29 2020 5:34:13 GMT+0100"));
|
|
213
211
|
}
|
|
212
|
+
});
|
|
214
213
|
|
|
214
|
+
test("Test - Relative date when the timezone is relevant and known", () => {
|
|
215
|
+
// Sun Nov 29 2020 13:24:13 GMT+0900 (JST)
|
|
216
|
+
// Sat Nov 28 2020 21:24:13 GMT-0700 (PDT)
|
|
217
|
+
const refInstant = new Date("Sun Nov 29 2020 13:24:13 GMT+0900 (Japan Standard Time)");
|
|
215
218
|
{
|
|
216
|
-
//
|
|
217
|
-
const text = "
|
|
218
|
-
const result = chrono.nl.parse(text,
|
|
219
|
+
// In JST (Nov 29 2020 13:24:13 GMT+0900), "tomorrow at 5pm"
|
|
220
|
+
const text = "morgen om 17 uur";
|
|
221
|
+
const result = chrono.nl.parse(text, { instant: refInstant, timezone: "JST" })[0] as ParsingResult;
|
|
222
|
+
expect(result).toBeDate(new Date("Mon Nov 30 2020 17:00:00 GMT+0900 (JST)"));
|
|
223
|
+
expect(result.start.get("month")).toBe(11);
|
|
224
|
+
expect(result.start.get("day")).toBe(30);
|
|
225
|
+
expect(result.start.get("hour")).toBe(17);
|
|
219
226
|
|
|
220
|
-
expect(result.text).toBe(text);
|
|
221
227
|
result.start.imply("timezoneOffset", 60);
|
|
228
|
+
expect(result).toBeDate(new Date("Mon Nov 30 2020 17:00:00 GMT+0100 (BST)"));
|
|
229
|
+
}
|
|
230
|
+
{
|
|
231
|
+
// In PDT (Sat Nov 28 2020 21:24:13 GMT-0700), "tomorrow at 5pm"
|
|
232
|
+
const text = "morgen om 17 uur";
|
|
233
|
+
const result = chrono.nl.parse(text, { instant: refInstant, timezone: -7 * 60 })[0] as ParsingResult;
|
|
234
|
+
expect(result).toBeDate(new Date("Sun Nov 29 2020 17:00:00 GMT-0700 (PST)"));
|
|
235
|
+
expect(result.start.get("month")).toBe(11);
|
|
236
|
+
expect(result.start.get("day")).toBe(29);
|
|
237
|
+
expect(result.start.get("hour")).toBe(17);
|
|
222
238
|
|
|
223
|
-
|
|
224
|
-
expect(result).toBeDate(new Date("Sun Nov 29 2020
|
|
239
|
+
result.start.imply("timezoneOffset", 60);
|
|
240
|
+
expect(result).toBeDate(new Date("Sun Nov 29 2020 17:00:00 GMT+0100 (BST)"));
|
|
225
241
|
}
|
|
226
242
|
});
|
package/test/result.test.ts
CHANGED
|
@@ -175,3 +175,27 @@ test("Test - Checking non-existing date during DST skip", () => {
|
|
|
175
175
|
).toBe(true);
|
|
176
176
|
}
|
|
177
177
|
});
|
|
178
|
+
|
|
179
|
+
test("Test - Getting timezone adjust date from references", () => {
|
|
180
|
+
{
|
|
181
|
+
const reference = new ReferenceWithTimezone({
|
|
182
|
+
instant: new Date("Wed Jun 09 2021 07:21:32 GMT+0900 (JST)"),
|
|
183
|
+
timezone: 9 * 60,
|
|
184
|
+
});
|
|
185
|
+
expect(reference.getDateWithAdjustedTimezone()).toStrictEqual(new Date(2021, 6 - 1, 9, 7, 21, 32));
|
|
186
|
+
}
|
|
187
|
+
{
|
|
188
|
+
const reference = new ReferenceWithTimezone({
|
|
189
|
+
instant: new Date("Wed Jun 09 2021 07:21:32 GMT+0900 (JST)"),
|
|
190
|
+
timezone: "JST",
|
|
191
|
+
});
|
|
192
|
+
expect(reference.getDateWithAdjustedTimezone()).toStrictEqual(new Date(2021, 6 - 1, 9, 7, 21, 32));
|
|
193
|
+
}
|
|
194
|
+
{
|
|
195
|
+
const reference = new ReferenceWithTimezone({
|
|
196
|
+
instant: new Date("Wed Jun 09 2021 07:21:32 GMT-0500 (CDT)"),
|
|
197
|
+
timezone: "CDT",
|
|
198
|
+
});
|
|
199
|
+
expect(reference.getDateWithAdjustedTimezone()).toStrictEqual(new Date(2021, 6 - 1, 9, 7, 21, 32));
|
|
200
|
+
}
|
|
201
|
+
});
|
package/test/system.test.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as chrono from "../src/";
|
|
2
2
|
import { testSingleCase } from "./test_util";
|
|
3
3
|
|
|
4
|
-
test("Test -
|
|
4
|
+
test("Test - Using reference with timezone", function () {
|
|
5
5
|
testSingleCase(
|
|
6
6
|
chrono,
|
|
7
7
|
"Friday at 4pm",
|
|
@@ -11,12 +11,26 @@ test("Test - Timezone difference on reference example", function () {
|
|
|
11
11
|
},
|
|
12
12
|
(result) => {
|
|
13
13
|
expect(result).toBeDate(new Date("Fri Jun 11 2021 16:00:00 GMT-0500 (CDT)"));
|
|
14
|
-
expect(result).toBeDate(new Date("
|
|
14
|
+
expect(result).toBeDate(new Date("Sat Jun 12 2021 06:00:00 GMT+0900 (JST)"));
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
testSingleCase(
|
|
18
|
+
chrono,
|
|
19
|
+
"1am",
|
|
20
|
+
{
|
|
21
|
+
instant: new Date("Wed May 26 2022 01:57:00 GMT-0500 (CDT)"),
|
|
22
|
+
timezone: "CDT",
|
|
23
|
+
},
|
|
24
|
+
(result) => {
|
|
25
|
+
expect(result.start.get("year")).toBe(2022);
|
|
26
|
+
expect(result.start.get("month")).toBe(5);
|
|
27
|
+
expect(result.start.get("day")).toBe(26);
|
|
28
|
+
expect(result.start.get("hour")).toBe(1);
|
|
15
29
|
}
|
|
16
30
|
);
|
|
17
31
|
});
|
|
18
32
|
|
|
19
|
-
test("Test -
|
|
33
|
+
test("Test - Using reference with missing/default timezone", function () {
|
|
20
34
|
const INPUT = "Friday at 4pm";
|
|
21
35
|
const REF_INSTANT = new Date(2021, 6 - 1, 9, 7, 0, 0);
|
|
22
36
|
const EXPECTED_INSTANT = new Date(2021, 6 - 1, 11, 16, 0, 0);
|
|
@@ -38,16 +52,18 @@ test("Test - Timezone difference on default timezone", function () {
|
|
|
38
52
|
});
|
|
39
53
|
});
|
|
40
54
|
|
|
41
|
-
test("Test -
|
|
55
|
+
test("Test - Using reference instance with different timezone", function () {
|
|
42
56
|
// Sun Jun 06 2021 19:00:00 GMT+0900 (JST)
|
|
43
57
|
// Sun Jun 06 2021 11:00:00 GMT+0100 (BST)
|
|
44
58
|
const refInstant = new Date("Sun Jun 06 2021 19:00:00 GMT+0900 (JST)");
|
|
45
59
|
|
|
60
|
+
// "At 4pm tomorrow" at "Sun Jun 06 2021 11:00:00 (BST)"
|
|
46
61
|
testSingleCase(chrono, "At 4pm tomorrow", { instant: refInstant, timezone: "BST" }, (result) => {
|
|
47
62
|
const expectedInstant = new Date("Mon Jun 07 2021 16:00:00 GMT+0100 (BST)");
|
|
48
63
|
expect(result).toBeDate(expectedInstant);
|
|
49
64
|
});
|
|
50
65
|
|
|
66
|
+
// "At 4pm tomorrow" at "Sun Jun 06 2021 19:00:00 (JST)"
|
|
51
67
|
testSingleCase(chrono, "At 4pm tomorrow", { instant: refInstant, timezone: "JST" }, (result) => {
|
|
52
68
|
const expectedInstant = new Date("Mon Jun 07 2021 16:00:00 GMT+0900 (JST)");
|
|
53
69
|
expect(result).toBeDate(expectedInstant);
|