chrono-node 2.8.3 → 2.8.5
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/duration.d.ts +5 -0
- package/dist/cjs/calculation/duration.js +6 -0
- package/dist/cjs/calculation/duration.js.map +1 -1
- package/dist/cjs/calculation/mergingCalculation.js +5 -4
- package/dist/cjs/calculation/mergingCalculation.js.map +1 -1
- package/dist/cjs/calculation/weekdays.js +1 -2
- package/dist/cjs/calculation/weekdays.js.map +1 -1
- package/dist/cjs/calculation/years.js +11 -16
- package/dist/cjs/calculation/years.js.map +1 -1
- package/dist/cjs/chrono.js +1 -1
- package/dist/cjs/chrono.js.map +1 -1
- package/dist/cjs/common/casualReferences.js +25 -27
- package/dist/cjs/common/casualReferences.js.map +1 -1
- package/dist/cjs/common/parsers/AbstractTimeExpressionParser.js +3 -0
- package/dist/cjs/common/parsers/AbstractTimeExpressionParser.js.map +1 -1
- package/dist/cjs/common/refiners/AbstractMergeDateRangeRefiner.js +20 -19
- package/dist/cjs/common/refiners/AbstractMergeDateRangeRefiner.js.map +1 -1
- package/dist/cjs/common/refiners/ForwardDateRefiner.js +16 -24
- package/dist/cjs/common/refiners/ForwardDateRefiner.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.js +5 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/locales/de/constants.d.ts +4 -4
- package/dist/cjs/locales/de/constants.js +5 -5
- package/dist/cjs/locales/de/constants.js.map +1 -1
- package/dist/cjs/locales/de/parsers/DECasualDateParser.js +18 -15
- package/dist/cjs/locales/de/parsers/DECasualDateParser.js.map +1 -1
- package/dist/cjs/locales/de/parsers/DECasualTimeParser.js +4 -9
- package/dist/cjs/locales/de/parsers/DECasualTimeParser.js.map +1 -1
- package/dist/cjs/locales/de/parsers/DETimeUnitRelativeFormatParser.js +2 -2
- 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/en/constants.d.ts +5 -6
- package/dist/cjs/locales/en/constants.js +5 -5
- package/dist/cjs/locales/en/constants.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENCasualDateParser.js +7 -9
- package/dist/cjs/locales/en/parsers/ENCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENRelativeDateFormatParser.js +14 -18
- package/dist/cjs/locales/en/parsers/ENRelativeDateFormatParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitAgoFormatParser.js +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js +1 -1
- 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 -5
- package/dist/cjs/locales/en/parsers/ENTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/cjs/locales/en/refiners/ENMergeRelativeAfterDateRefiner.js +4 -4
- 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/es/constants.d.ts +4 -5
- package/dist/cjs/locales/es/constants.js +4 -4
- package/dist/cjs/locales/es/constants.js.map +1 -1
- package/dist/cjs/locales/es/parsers/ESCasualTimeParser.js +6 -7
- package/dist/cjs/locales/es/parsers/ESCasualTimeParser.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/fr/constants.d.ts +4 -5
- package/dist/cjs/locales/fr/constants.js +4 -4
- package/dist/cjs/locales/fr/constants.js.map +1 -1
- package/dist/cjs/locales/fr/parsers/FRCasualDateParser.js +6 -9
- package/dist/cjs/locales/fr/parsers/FRCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/fr/parsers/FRTimeUnitAgoFormatParser.js +3 -3
- package/dist/cjs/locales/fr/parsers/FRTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/cjs/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js +2 -2
- 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/it/constants.d.ts +4 -4
- package/dist/cjs/locales/it/constants.js +4 -4
- package/dist/cjs/locales/it/constants.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITCasualDateParser.d.ts +1 -1
- package/dist/cjs/locales/it/parsers/ITCasualDateParser.js +9 -11
- package/dist/cjs/locales/it/parsers/ITCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITCasualTimeParser.d.ts +1 -1
- package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js +8 -9
- package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.js +14 -18
- package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITTimeUnitAgoFormatParser.js +3 -3
- package/dist/cjs/locales/it/parsers/ITTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js +3 -3
- 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/refiners/ITMergeRelativeDateRefiner.js +4 -4
- package/dist/cjs/locales/it/refiners/ITMergeRelativeDateRefiner.js.map +1 -1
- package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js +4 -8
- package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/ja/parsers/JPStandardParser.js +1 -6
- package/dist/cjs/locales/ja/parsers/JPStandardParser.js.map +1 -1
- package/dist/cjs/locales/ja/parsers/JPTimeExpressionParser.d.ts +1 -1
- package/dist/cjs/locales/ja/parsers/JPTimeExpressionParser.js +77 -187
- package/dist/cjs/locales/ja/parsers/JPTimeExpressionParser.js.map +1 -1
- package/dist/cjs/locales/nl/constants.d.ts +4 -4
- package/dist/cjs/locales/nl/constants.js +4 -4
- package/dist/cjs/locales/nl/constants.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLCasualDateTimeParser.js +10 -9
- package/dist/cjs/locales/nl/parsers/NLCasualDateTimeParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLCasualTimeParser.js +6 -7
- package/dist/cjs/locales/nl/parsers/NLCasualTimeParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLRelativeDateFormatParser.js +14 -18
- package/dist/cjs/locales/nl/parsers/NLRelativeDateFormatParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLTimeUnitAgoFormatParser.js +3 -3
- package/dist/cjs/locales/nl/parsers/NLTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.js +3 -3
- 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/pt/parsers/PTCasualTimeParser.js +6 -7
- package/dist/cjs/locales/pt/parsers/PTCasualTimeParser.js.map +1 -1
- package/dist/cjs/locales/ru/constants.d.ts +4 -4
- package/dist/cjs/locales/ru/constants.js +7 -7
- package/dist/cjs/locales/ru/constants.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RUCasualTimeParser.js +6 -9
- package/dist/cjs/locales/ru/parsers/RUCasualTimeParser.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RURelativeDateFormatParser.js +14 -18
- package/dist/cjs/locales/ru/parsers/RURelativeDateFormatParser.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RUTimeUnitAgoFormatParser.js +3 -3
- package/dist/cjs/locales/ru/parsers/RUTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.js +3 -3
- 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/sv/constants.d.ts +29 -0
- package/dist/cjs/locales/sv/constants.js +224 -0
- package/dist/cjs/locales/sv/constants.js.map +1 -0
- package/dist/cjs/locales/sv/index.d.ts +11 -0
- package/dist/cjs/locales/sv/index.js +52 -0
- package/dist/cjs/locales/sv/index.js.map +1 -0
- package/dist/cjs/locales/sv/parsers/SVCasualDateParser.d.ts +7 -0
- package/dist/cjs/locales/sv/parsers/SVCasualDateParser.js +135 -0
- package/dist/cjs/locales/sv/parsers/SVCasualDateParser.js.map +1 -0
- package/dist/cjs/locales/sv/parsers/SVMonthNameLittleEndianParser.d.ts +7 -0
- package/dist/cjs/locales/sv/parsers/SVMonthNameLittleEndianParser.js +49 -0
- package/dist/cjs/locales/sv/parsers/SVMonthNameLittleEndianParser.js.map +1 -0
- package/dist/cjs/locales/sv/parsers/SVTimeUnitCasualRelativeFormatParser.d.ts +9 -0
- package/dist/cjs/locales/sv/parsers/SVTimeUnitCasualRelativeFormatParser.js +34 -0
- package/dist/cjs/locales/sv/parsers/SVTimeUnitCasualRelativeFormatParser.js.map +1 -0
- package/dist/cjs/locales/sv/parsers/SVWeekdayParser.d.ts +7 -0
- package/dist/cjs/locales/sv/parsers/SVWeekdayParser.js +40 -0
- package/dist/cjs/locales/sv/parsers/SVWeekdayParser.js.map +1 -0
- package/dist/cjs/locales/uk/constants.d.ts +4 -4
- package/dist/cjs/locales/uk/constants.js +8 -8
- package/dist/cjs/locales/uk/constants.js.map +1 -1
- package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.js +6 -9
- package/dist/cjs/locales/uk/parsers/UKCasualTimeParser.js.map +1 -1
- package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.js +14 -18
- package/dist/cjs/locales/uk/parsers/UKRelativeDateFormatParser.js.map +1 -1
- package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.js +3 -3
- package/dist/cjs/locales/uk/parsers/UKTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/cjs/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js +3 -3
- 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/zh/hans/parsers/ZHHansCasualDateParser.js +23 -27
- package/dist/cjs/locales/zh/hans/parsers/ZHHansCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansDateParser.js +2 -7
- package/dist/cjs/locales/zh/hans/parsers/ZHHansDateParser.js.map +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.js +20 -21
- package/dist/cjs/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.js.map +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansRelationWeekdayParser.js +17 -22
- package/dist/cjs/locales/zh/hans/parsers/ZHHansRelationWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansTimeExpressionParser.js +71 -76
- package/dist/cjs/locales/zh/hans/parsers/ZHHansTimeExpressionParser.js.map +1 -1
- package/dist/cjs/locales/zh/hans/parsers/ZHHansWeekdayParser.js +14 -19
- package/dist/cjs/locales/zh/hans/parsers/ZHHansWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantCasualDateParser.js +23 -27
- package/dist/cjs/locales/zh/hant/parsers/ZHHantCasualDateParser.js.map +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantDateParser.js +2 -7
- package/dist/cjs/locales/zh/hant/parsers/ZHHantDateParser.js.map +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.js +20 -21
- package/dist/cjs/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.js.map +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantRelationWeekdayParser.js +17 -22
- package/dist/cjs/locales/zh/hant/parsers/ZHHantRelationWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantTimeExpressionParser.js +73 -78
- package/dist/cjs/locales/zh/hant/parsers/ZHHantTimeExpressionParser.js.map +1 -1
- package/dist/cjs/locales/zh/hant/parsers/ZHHantWeekdayParser.js +14 -19
- package/dist/cjs/locales/zh/hant/parsers/ZHHantWeekdayParser.js.map +1 -1
- package/dist/cjs/results.d.ts +7 -4
- package/dist/cjs/results.js +86 -59
- package/dist/cjs/results.js.map +1 -1
- package/dist/cjs/timezone.js +1 -6
- package/dist/cjs/timezone.js.map +1 -1
- package/dist/cjs/types.d.ts +1 -1
- package/dist/esm/calculation/duration.d.ts +5 -0
- package/dist/esm/calculation/duration.js +5 -0
- package/dist/esm/calculation/duration.js.map +1 -1
- package/dist/esm/calculation/mergingCalculation.js +5 -4
- package/dist/esm/calculation/mergingCalculation.js.map +1 -1
- package/dist/esm/calculation/weekdays.js +1 -2
- package/dist/esm/calculation/weekdays.js.map +1 -1
- package/dist/esm/calculation/years.js +11 -13
- package/dist/esm/calculation/years.js.map +1 -1
- package/dist/esm/chrono.js +1 -1
- package/dist/esm/chrono.js.map +1 -1
- package/dist/esm/common/casualReferences.js +18 -17
- package/dist/esm/common/casualReferences.js.map +1 -1
- package/dist/esm/common/parsers/AbstractTimeExpressionParser.js +3 -0
- package/dist/esm/common/parsers/AbstractTimeExpressionParser.js.map +1 -1
- package/dist/esm/common/refiners/AbstractMergeDateRangeRefiner.js +20 -19
- package/dist/esm/common/refiners/AbstractMergeDateRangeRefiner.js.map +1 -1
- package/dist/esm/common/refiners/ForwardDateRefiner.js +16 -21
- package/dist/esm/common/refiners/ForwardDateRefiner.js.map +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/locales/de/constants.d.ts +4 -4
- package/dist/esm/locales/de/constants.js +4 -4
- package/dist/esm/locales/de/constants.js.map +1 -1
- package/dist/esm/locales/de/parsers/DECasualDateParser.js +13 -10
- package/dist/esm/locales/de/parsers/DECasualDateParser.js.map +1 -1
- package/dist/esm/locales/de/parsers/DECasualTimeParser.js +3 -5
- package/dist/esm/locales/de/parsers/DECasualTimeParser.js.map +1 -1
- package/dist/esm/locales/de/parsers/DETimeUnitRelativeFormatParser.js +2 -2
- package/dist/esm/locales/de/parsers/DETimeUnitRelativeFormatParser.js.map +1 -1
- package/dist/esm/locales/de/parsers/DETimeUnitWithinFormatParser.js +2 -2
- package/dist/esm/locales/de/parsers/DETimeUnitWithinFormatParser.js.map +1 -1
- package/dist/esm/locales/en/constants.d.ts +5 -6
- package/dist/esm/locales/en/constants.js +7 -7
- package/dist/esm/locales/en/constants.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENCasualDateParser.js +6 -5
- package/dist/esm/locales/en/parsers/ENCasualDateParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENRelativeDateFormatParser.js +14 -15
- package/dist/esm/locales/en/parsers/ENRelativeDateFormatParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeUnitAgoFormatParser.js +2 -2
- package/dist/esm/locales/en/parsers/ENTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js +2 -2
- package/dist/esm/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeUnitLaterFormatParser.js +2 -2
- package/dist/esm/locales/en/parsers/ENTimeUnitLaterFormatParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeUnitWithinFormatParser.js +2 -6
- package/dist/esm/locales/en/parsers/ENTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/esm/locales/en/refiners/ENMergeRelativeAfterDateRefiner.js +5 -5
- package/dist/esm/locales/en/refiners/ENMergeRelativeAfterDateRefiner.js.map +1 -1
- package/dist/esm/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.js +3 -3
- package/dist/esm/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.js.map +1 -1
- package/dist/esm/locales/es/constants.d.ts +4 -5
- package/dist/esm/locales/es/constants.js +3 -3
- package/dist/esm/locales/es/constants.js.map +1 -1
- package/dist/esm/locales/es/parsers/ESCasualTimeParser.js +6 -4
- package/dist/esm/locales/es/parsers/ESCasualTimeParser.js.map +1 -1
- package/dist/esm/locales/es/parsers/ESTimeUnitWithinFormatParser.js +2 -2
- package/dist/esm/locales/es/parsers/ESTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/esm/locales/fr/constants.d.ts +4 -5
- package/dist/esm/locales/fr/constants.js +3 -3
- package/dist/esm/locales/fr/constants.js.map +1 -1
- package/dist/esm/locales/fr/parsers/FRCasualDateParser.js +5 -5
- package/dist/esm/locales/fr/parsers/FRCasualDateParser.js.map +1 -1
- package/dist/esm/locales/fr/parsers/FRTimeUnitAgoFormatParser.js +4 -4
- package/dist/esm/locales/fr/parsers/FRTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/esm/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js +2 -2
- package/dist/esm/locales/fr/parsers/FRTimeUnitRelativeFormatParser.js.map +1 -1
- package/dist/esm/locales/fr/parsers/FRTimeUnitWithinFormatParser.js +2 -2
- package/dist/esm/locales/fr/parsers/FRTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/esm/locales/it/constants.d.ts +4 -4
- package/dist/esm/locales/it/constants.js +3 -3
- package/dist/esm/locales/it/constants.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITCasualDateParser.d.ts +1 -1
- package/dist/esm/locales/it/parsers/ITCasualDateParser.js +7 -6
- package/dist/esm/locales/it/parsers/ITCasualDateParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITCasualTimeParser.d.ts +1 -1
- package/dist/esm/locales/it/parsers/ITCasualTimeParser.js +7 -5
- package/dist/esm/locales/it/parsers/ITCasualTimeParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITRelativeDateFormatParser.js +14 -15
- package/dist/esm/locales/it/parsers/ITRelativeDateFormatParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITTimeUnitAgoFormatParser.js +4 -4
- package/dist/esm/locales/it/parsers/ITTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js +4 -4
- package/dist/esm/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITTimeUnitLaterFormatParser.js +2 -2
- package/dist/esm/locales/it/parsers/ITTimeUnitLaterFormatParser.js.map +1 -1
- package/dist/esm/locales/it/parsers/ITTimeUnitWithinFormatParser.js +2 -2
- package/dist/esm/locales/it/parsers/ITTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/esm/locales/it/refiners/ITMergeRelativeDateRefiner.js +5 -5
- package/dist/esm/locales/it/refiners/ITMergeRelativeDateRefiner.js.map +1 -1
- package/dist/esm/locales/ja/parsers/JPCasualDateParser.js +4 -5
- package/dist/esm/locales/ja/parsers/JPCasualDateParser.js.map +1 -1
- package/dist/esm/locales/ja/parsers/JPStandardParser.js +1 -3
- package/dist/esm/locales/ja/parsers/JPStandardParser.js.map +1 -1
- package/dist/esm/locales/ja/parsers/JPTimeExpressionParser.d.ts +1 -1
- package/dist/esm/locales/ja/parsers/JPTimeExpressionParser.js +75 -186
- package/dist/esm/locales/ja/parsers/JPTimeExpressionParser.js.map +1 -1
- package/dist/esm/locales/nl/constants.d.ts +4 -4
- package/dist/esm/locales/nl/constants.js +3 -3
- package/dist/esm/locales/nl/constants.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLCasualDateTimeParser.js +9 -5
- package/dist/esm/locales/nl/parsers/NLCasualDateTimeParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLCasualTimeParser.js +6 -4
- package/dist/esm/locales/nl/parsers/NLCasualTimeParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLRelativeDateFormatParser.js +14 -15
- package/dist/esm/locales/nl/parsers/NLRelativeDateFormatParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLTimeUnitAgoFormatParser.js +4 -4
- package/dist/esm/locales/nl/parsers/NLTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.js +4 -4
- package/dist/esm/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLTimeUnitLaterFormatParser.js +2 -2
- package/dist/esm/locales/nl/parsers/NLTimeUnitLaterFormatParser.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLTimeUnitWithinFormatParser.js +2 -2
- package/dist/esm/locales/nl/parsers/NLTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/esm/locales/pt/parsers/PTCasualTimeParser.js +6 -4
- package/dist/esm/locales/pt/parsers/PTCasualTimeParser.js.map +1 -1
- package/dist/esm/locales/ru/constants.d.ts +4 -4
- package/dist/esm/locales/ru/constants.js +6 -6
- package/dist/esm/locales/ru/constants.js.map +1 -1
- package/dist/esm/locales/ru/parsers/RUCasualTimeParser.js +6 -6
- package/dist/esm/locales/ru/parsers/RUCasualTimeParser.js.map +1 -1
- package/dist/esm/locales/ru/parsers/RURelativeDateFormatParser.js +14 -15
- package/dist/esm/locales/ru/parsers/RURelativeDateFormatParser.js.map +1 -1
- package/dist/esm/locales/ru/parsers/RUTimeUnitAgoFormatParser.js +4 -4
- package/dist/esm/locales/ru/parsers/RUTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/esm/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.js +4 -4
- package/dist/esm/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/esm/locales/ru/parsers/RUTimeUnitWithinFormatParser.js +2 -2
- package/dist/esm/locales/ru/parsers/RUTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/esm/locales/sv/constants.d.ts +29 -0
- package/dist/esm/locales/sv/constants.js +217 -0
- package/dist/esm/locales/sv/constants.js.map +1 -0
- package/dist/esm/locales/sv/index.d.ts +11 -0
- package/dist/esm/locales/sv/index.js +38 -0
- package/dist/esm/locales/sv/index.js.map +1 -0
- package/dist/esm/locales/sv/parsers/SVCasualDateParser.d.ts +7 -0
- package/dist/esm/locales/sv/parsers/SVCasualDateParser.js +99 -0
- package/dist/esm/locales/sv/parsers/SVCasualDateParser.js.map +1 -0
- package/dist/esm/locales/sv/parsers/SVMonthNameLittleEndianParser.d.ts +7 -0
- package/dist/esm/locales/sv/parsers/SVMonthNameLittleEndianParser.js +46 -0
- package/dist/esm/locales/sv/parsers/SVMonthNameLittleEndianParser.js.map +1 -0
- package/dist/esm/locales/sv/parsers/SVTimeUnitCasualRelativeFormatParser.d.ts +9 -0
- package/dist/esm/locales/sv/parsers/SVTimeUnitCasualRelativeFormatParser.js +32 -0
- package/dist/esm/locales/sv/parsers/SVTimeUnitCasualRelativeFormatParser.js.map +1 -0
- package/dist/esm/locales/sv/parsers/SVWeekdayParser.d.ts +7 -0
- package/dist/esm/locales/sv/parsers/SVWeekdayParser.js +37 -0
- package/dist/esm/locales/sv/parsers/SVWeekdayParser.js.map +1 -0
- package/dist/esm/locales/uk/constants.d.ts +4 -4
- package/dist/esm/locales/uk/constants.js +7 -7
- package/dist/esm/locales/uk/constants.js.map +1 -1
- package/dist/esm/locales/uk/parsers/UKCasualTimeParser.js +6 -6
- package/dist/esm/locales/uk/parsers/UKCasualTimeParser.js.map +1 -1
- package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.js +14 -15
- package/dist/esm/locales/uk/parsers/UKRelativeDateFormatParser.js.map +1 -1
- package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.js +4 -4
- package/dist/esm/locales/uk/parsers/UKTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js +4 -4
- package/dist/esm/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js +2 -2
- package/dist/esm/locales/uk/parsers/UKTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansCasualDateParser.js +23 -24
- package/dist/esm/locales/zh/hans/parsers/ZHHansCasualDateParser.js.map +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansDateParser.js +2 -4
- package/dist/esm/locales/zh/hans/parsers/ZHHansDateParser.js.map +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.js +20 -18
- package/dist/esm/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.js.map +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansRelationWeekdayParser.js +17 -19
- package/dist/esm/locales/zh/hans/parsers/ZHHansRelationWeekdayParser.js.map +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansTimeExpressionParser.js +71 -73
- package/dist/esm/locales/zh/hans/parsers/ZHHansTimeExpressionParser.js.map +1 -1
- package/dist/esm/locales/zh/hans/parsers/ZHHansWeekdayParser.js +14 -16
- package/dist/esm/locales/zh/hans/parsers/ZHHansWeekdayParser.js.map +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantCasualDateParser.js +23 -24
- package/dist/esm/locales/zh/hant/parsers/ZHHantCasualDateParser.js.map +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantDateParser.js +2 -4
- package/dist/esm/locales/zh/hant/parsers/ZHHantDateParser.js.map +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.js +20 -18
- package/dist/esm/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.js.map +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantRelationWeekdayParser.js +17 -19
- package/dist/esm/locales/zh/hant/parsers/ZHHantRelationWeekdayParser.js.map +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantTimeExpressionParser.js +73 -75
- package/dist/esm/locales/zh/hant/parsers/ZHHantTimeExpressionParser.js.map +1 -1
- package/dist/esm/locales/zh/hant/parsers/ZHHantWeekdayParser.js +14 -16
- package/dist/esm/locales/zh/hant/parsers/ZHHantWeekdayParser.js.map +1 -1
- package/dist/esm/results.d.ts +7 -4
- package/dist/esm/results.js +87 -60
- package/dist/esm/results.js.map +1 -1
- package/dist/esm/timezone.js +1 -3
- package/dist/esm/timezone.js.map +1 -1
- package/dist/esm/types.d.ts +1 -1
- package/package.json +1 -1
- package/src/calculation/duration.ts +10 -0
- package/src/calculation/mergingCalculation.ts +5 -4
- package/src/calculation/weekdays.ts +2 -2
- package/src/calculation/years.ts +11 -16
- package/src/chrono.ts +2 -2
- package/src/common/casualReferences.ts +19 -23
- package/src/common/parsers/AbstractTimeExpressionParser.ts +6 -0
- package/src/common/refiners/AbstractMergeDateRangeRefiner.ts +20 -21
- package/src/common/refiners/ForwardDateRefiner.ts +17 -22
- package/src/index.ts +3 -1
- package/src/locales/de/constants.ts +8 -8
- package/src/locales/de/parsers/DECasualDateParser.ts +13 -10
- package/src/locales/de/parsers/DECasualTimeParser.ts +3 -5
- package/src/locales/de/parsers/DETimeUnitRelativeFormatParser.ts +2 -2
- package/src/locales/de/parsers/DETimeUnitWithinFormatParser.ts +2 -2
- package/src/locales/en/constants.ts +12 -13
- package/src/locales/en/parsers/ENCasualDateParser.ts +6 -5
- package/src/locales/en/parsers/ENRelativeDateFormatParser.ts +14 -16
- package/src/locales/en/parsers/ENTimeUnitAgoFormatParser.ts +2 -2
- package/src/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.ts +2 -2
- package/src/locales/en/parsers/ENTimeUnitLaterFormatParser.ts +2 -2
- package/src/locales/en/parsers/ENTimeUnitWithinFormatParser.ts +2 -7
- package/src/locales/en/refiners/ENMergeRelativeAfterDateRefiner.ts +5 -5
- package/src/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.ts +3 -3
- package/src/locales/es/constants.ts +7 -6
- package/src/locales/es/parsers/ESCasualTimeParser.ts +6 -4
- package/src/locales/es/parsers/ESTimeUnitWithinFormatParser.ts +2 -2
- package/src/locales/fr/constants.ts +7 -6
- package/src/locales/fr/parsers/FRCasualDateParser.ts +5 -5
- package/src/locales/fr/parsers/FRTimeUnitAgoFormatParser.ts +4 -4
- package/src/locales/fr/parsers/FRTimeUnitRelativeFormatParser.ts +2 -2
- package/src/locales/fr/parsers/FRTimeUnitWithinFormatParser.ts +2 -2
- package/src/locales/it/constants.ts +7 -7
- package/src/locales/it/parsers/ITCasualDateParser.ts +7 -6
- package/src/locales/it/parsers/ITCasualTimeParser.ts +7 -5
- package/src/locales/it/parsers/ITRelativeDateFormatParser.ts +14 -16
- package/src/locales/it/parsers/ITTimeUnitAgoFormatParser.ts +4 -4
- package/src/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.ts +4 -4
- package/src/locales/it/parsers/ITTimeUnitLaterFormatParser.ts +2 -2
- package/src/locales/it/parsers/ITTimeUnitWithinFormatParser.ts +2 -2
- package/src/locales/it/refiners/ITMergeRelativeDateRefiner.ts +5 -5
- package/src/locales/ja/parsers/JPCasualDateParser.ts +4 -5
- package/src/locales/ja/parsers/JPStandardParser.ts +1 -4
- package/src/locales/ja/parsers/JPTimeExpressionParser.ts +91 -190
- package/src/locales/nl/constants.ts +7 -7
- package/src/locales/nl/parsers/NLCasualDateTimeParser.ts +9 -5
- package/src/locales/nl/parsers/NLCasualTimeParser.ts +6 -4
- package/src/locales/nl/parsers/NLRelativeDateFormatParser.ts +14 -16
- package/src/locales/nl/parsers/NLTimeUnitAgoFormatParser.ts +4 -4
- package/src/locales/nl/parsers/NLTimeUnitCasualRelativeFormatParser.ts +4 -4
- package/src/locales/nl/parsers/NLTimeUnitLaterFormatParser.ts +2 -2
- package/src/locales/nl/parsers/NLTimeUnitWithinFormatParser.ts +2 -2
- package/src/locales/pt/parsers/PTCasualTimeParser.ts +6 -4
- package/src/locales/ru/constants.ts +10 -10
- package/src/locales/ru/parsers/RUCasualTimeParser.ts +6 -6
- package/src/locales/ru/parsers/RURelativeDateFormatParser.ts +15 -18
- package/src/locales/ru/parsers/RUTimeUnitAgoFormatParser.ts +4 -4
- package/src/locales/ru/parsers/RUTimeUnitCasualRelativeFormatParser.ts +4 -4
- package/src/locales/ru/parsers/RUTimeUnitWithinFormatParser.ts +2 -2
- package/src/locales/sv/constants.ts +237 -0
- package/src/locales/sv/index.ts +47 -0
- package/src/locales/sv/parsers/SVCasualDateParser.ts +118 -0
- package/src/locales/sv/parsers/SVMonthNameLittleEndianParser.ts +59 -0
- package/src/locales/sv/parsers/SVTimeUnitCasualRelativeFormatParser.ts +42 -0
- package/src/locales/sv/parsers/SVWeekdayParser.ts +47 -0
- package/src/locales/uk/constants.ts +11 -11
- package/src/locales/uk/parsers/UKCasualTimeParser.ts +6 -6
- package/src/locales/uk/parsers/UKRelativeDateFormatParser.ts +14 -16
- package/src/locales/uk/parsers/UKTimeUnitAgoFormatParser.ts +4 -4
- package/src/locales/uk/parsers/UKTimeUnitCasualRelativeFormatParser.ts +4 -4
- package/src/locales/uk/parsers/UKTimeUnitWithinFormatParser.ts +2 -2
- package/src/locales/zh/hans/parsers/ZHHansCasualDateParser.ts +23 -24
- package/src/locales/zh/hans/parsers/ZHHansDateParser.ts +2 -4
- package/src/locales/zh/hans/parsers/ZHHansDeadlineFormatParser.ts +20 -18
- package/src/locales/zh/hans/parsers/ZHHansRelationWeekdayParser.ts +18 -18
- package/src/locales/zh/hans/parsers/ZHHansTimeExpressionParser.ts +71 -73
- package/src/locales/zh/hans/parsers/ZHHansWeekdayParser.ts +16 -15
- package/src/locales/zh/hant/parsers/ZHHantCasualDateParser.ts +23 -24
- package/src/locales/zh/hant/parsers/ZHHantDateParser.ts +2 -4
- package/src/locales/zh/hant/parsers/ZHHantDeadlineFormatParser.ts +20 -18
- package/src/locales/zh/hant/parsers/ZHHantRelationWeekdayParser.ts +18 -18
- package/src/locales/zh/hant/parsers/ZHHantTimeExpressionParser.ts +73 -75
- package/src/locales/zh/hant/parsers/ZHHantWeekdayParser.ts +16 -15
- package/src/results.ts +97 -59
- package/src/timezone.ts +1 -5
- package/src/types.ts +1 -1
- package/test/calculation_weekdays.test.ts +17 -0
- package/test/en/en_time_exp.test.ts +2 -0
- package/test/it/it_casual.test.ts +44 -0
- package/test/it/it_month_name_little_endian.test.ts +28 -0
- package/test/it/it_weekday.test.ts +37 -0
- package/test/ja/ja_time_exp.test.ts +82 -21
- package/test/result.test.ts +78 -4
- package/test/sv/sv_casual.test.ts +87 -0
- package/test/sv/sv_month_name_little_endian.test.ts +48 -0
- package/test/sv/sv_time_units_casual_relative.test.ts +143 -0
- package/test/sv/sv_weekday.test.ts +68 -0
- package/test/system_timezone.test.ts +36 -0
- package/test/zh/hans/zh_hans_casual.test.ts +14 -0
- package/test/zh/hans/zh_hans_date.test.ts +14 -0
- package/test/zh/hans/zh_hans_deadline.test.ts +39 -0
- package/test/zh/hans/zh_hans_time_exp.test.ts +51 -0
- package/test/zh/hans/zh_hans_weekday.test.ts +87 -0
- package/test/zh/hant/zh_hant_casual.test.ts +14 -0
- package/test/zh/hant/zh_hant_date.test.ts +14 -0
- package/test/zh/hant/zh_hant_weekday.test.ts +43 -0
- package/dist/cjs/utils/dayjs.d.ts +0 -8
- package/dist/cjs/utils/dayjs.js +0 -48
- package/dist/cjs/utils/dayjs.js.map +0 -1
- package/dist/cjs/utils/timeunits.d.ts +0 -7
- package/dist/cjs/utils/timeunits.js +0 -30
- package/dist/cjs/utils/timeunits.js.map +0 -1
- package/dist/esm/utils/dayjs.d.ts +0 -8
- package/dist/esm/utils/dayjs.js +0 -40
- package/dist/esm/utils/dayjs.js.map +0 -1
- package/dist/esm/utils/timeunits.d.ts +0 -7
- package/dist/esm/utils/timeunits.js +0 -26
- package/dist/esm/utils/timeunits.js.map +0 -1
- package/src/utils/dayjs.ts +0 -52
- package/src/utils/timeunits.ts +0 -47
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { TIME_UNITS_PATTERN, parseDuration, TIME_UNITS_NO_ABBR_PATTERN } from "../constants";
|
|
2
|
+
import { ParsingContext } from "../../../chrono";
|
|
3
|
+
import { ParsingComponents } from "../../../results";
|
|
4
|
+
import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
|
|
5
|
+
import { reverseDuration } from "../../../calculation/duration";
|
|
6
|
+
|
|
7
|
+
const PATTERN = new RegExp(
|
|
8
|
+
`(denna|den här|förra|passerade|nästa|kommande|efter|\\+|-)\\s*(${TIME_UNITS_PATTERN})(?=\\W|$)`,
|
|
9
|
+
"i"
|
|
10
|
+
);
|
|
11
|
+
const PATTERN_NO_ABBR = new RegExp(
|
|
12
|
+
`(denna|den här|förra|passerade|nästa|kommande|efter|\\+|-)\\s*(${TIME_UNITS_NO_ABBR_PATTERN})(?=\\W|$)`,
|
|
13
|
+
"i"
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
export default class SVTimeUnitCasualRelativeFormatParser extends AbstractParserWithWordBoundaryChecking {
|
|
17
|
+
constructor(private allowAbbreviations: boolean = true) {
|
|
18
|
+
super();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
innerPattern(): RegExp {
|
|
22
|
+
return this.allowAbbreviations ? PATTERN : PATTERN_NO_ABBR;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
innerExtract(context: ParsingContext, match: RegExpMatchArray) {
|
|
26
|
+
const prefix = match[1].toLowerCase();
|
|
27
|
+
let duration = parseDuration(match[2]);
|
|
28
|
+
if (!duration) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
switch (prefix) {
|
|
33
|
+
case "förra":
|
|
34
|
+
case "passerade":
|
|
35
|
+
case "-":
|
|
36
|
+
duration = reverseDuration(duration);
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return ParsingComponents.createRelativeFromReference(context.reference, duration);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ParsingContext } from "../../../chrono";
|
|
2
|
+
import { ParsingComponents } from "../../../results";
|
|
3
|
+
import { WEEKDAY_DICTIONARY } from "../constants";
|
|
4
|
+
import { matchAnyPattern } from "../../../utils/pattern";
|
|
5
|
+
import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
|
|
6
|
+
import { createParsingComponentsAtWeekday } from "../../../calculation/weekdays";
|
|
7
|
+
|
|
8
|
+
const PATTERN = new RegExp(
|
|
9
|
+
"(?:(?:\\,|\\(|\\()\\s*)?" +
|
|
10
|
+
"(?:på\\s*?)?" +
|
|
11
|
+
"(?:(förra|senaste|nästa|kommande)\\s*)?" +
|
|
12
|
+
`(${matchAnyPattern(WEEKDAY_DICTIONARY)})` +
|
|
13
|
+
"(?:\\s*(?:\\,|\\)|\\)))?" +
|
|
14
|
+
"(?:\\s*(förra|senaste|nästa|kommande)\\s*vecka)?" +
|
|
15
|
+
"(?=\\W|$)",
|
|
16
|
+
"i"
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
const PREFIX_GROUP = 1;
|
|
20
|
+
const SUFFIX_GROUP = 3;
|
|
21
|
+
const WEEKDAY_GROUP = 2;
|
|
22
|
+
|
|
23
|
+
export default class SVWeekdayParser extends AbstractParserWithWordBoundaryChecking {
|
|
24
|
+
innerPattern(): RegExp {
|
|
25
|
+
return PATTERN;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
innerExtract(context: ParsingContext, match: RegExpMatchArray): ParsingComponents {
|
|
29
|
+
const dayOfWeek = match[WEEKDAY_GROUP].toLowerCase();
|
|
30
|
+
const offset = WEEKDAY_DICTIONARY[dayOfWeek];
|
|
31
|
+
const prefix = match[PREFIX_GROUP];
|
|
32
|
+
const postfix = match[SUFFIX_GROUP];
|
|
33
|
+
|
|
34
|
+
let modifierWord = prefix || postfix;
|
|
35
|
+
modifierWord = modifierWord || "";
|
|
36
|
+
modifierWord = modifierWord.toLowerCase();
|
|
37
|
+
|
|
38
|
+
let modifier = null;
|
|
39
|
+
if (modifierWord.match(/förra|senaste/)) {
|
|
40
|
+
modifier = "last";
|
|
41
|
+
} else if (modifierWord.match(/nästa|kommande/)) {
|
|
42
|
+
modifier = "next";
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return createParsingComponentsAtWeekday(context.reference, offset, modifier);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { OpUnitType, QUnitType } from "dayjs";
|
|
2
1
|
import { matchAnyPattern, repeatedTimeunitPattern } from "../../utils/pattern";
|
|
3
2
|
import { findMostLikelyADYear } from "../../calculation/years";
|
|
4
|
-
import {
|
|
3
|
+
import { Duration } from "../../calculation/duration";
|
|
4
|
+
import { Timeunit } from "../../types";
|
|
5
5
|
|
|
6
6
|
export const REGEX_PARTS = {
|
|
7
7
|
leftBoundary: "([^\\p{L}\\p{N}_]|^)",
|
|
@@ -211,7 +211,7 @@ export const ORDINAL_WORD_DICTIONARY: { [word: string]: number } = {
|
|
|
211
211
|
"тридцять першого": 31,
|
|
212
212
|
};
|
|
213
213
|
|
|
214
|
-
export const TIME_UNIT_DICTIONARY: { [word: string]:
|
|
214
|
+
export const TIME_UNIT_DICTIONARY: { [word: string]: Timeunit } = {
|
|
215
215
|
сек: "second",
|
|
216
216
|
секунда: "second",
|
|
217
217
|
секунд: "second",
|
|
@@ -240,12 +240,12 @@ export const TIME_UNIT_DICTIONARY: { [word: string]: OpUnitType | QUnitType } =
|
|
|
240
240
|
годинок: "hour",
|
|
241
241
|
годинки: "hour",
|
|
242
242
|
годинку: "hour",
|
|
243
|
-
день: "
|
|
244
|
-
дня: "
|
|
245
|
-
днів: "
|
|
246
|
-
дні: "
|
|
247
|
-
доба: "
|
|
248
|
-
добу: "
|
|
243
|
+
день: "day",
|
|
244
|
+
дня: "day",
|
|
245
|
+
днів: "day",
|
|
246
|
+
дні: "day",
|
|
247
|
+
доба: "day",
|
|
248
|
+
добу: "day",
|
|
249
249
|
тиждень: "week",
|
|
250
250
|
тижню: "week",
|
|
251
251
|
тижня: "week",
|
|
@@ -330,7 +330,7 @@ export const TIME_UNITS_PATTERN = repeatedTimeunitPattern(
|
|
|
330
330
|
SINGLE_TIME_UNIT_PATTERN
|
|
331
331
|
);
|
|
332
332
|
|
|
333
|
-
export function
|
|
333
|
+
export function parseDuration(timeunitText): Duration {
|
|
334
334
|
const fragments = {};
|
|
335
335
|
let remainingText = timeunitText;
|
|
336
336
|
let match = SINGLE_TIME_UNIT_REGEX.exec(remainingText);
|
|
@@ -339,7 +339,7 @@ export function parseTimeUnits(timeunitText): TimeUnits {
|
|
|
339
339
|
remainingText = remainingText.substring(match[0].length).trim();
|
|
340
340
|
match = SINGLE_TIME_UNIT_REGEX.exec(remainingText);
|
|
341
341
|
}
|
|
342
|
-
return fragments;
|
|
342
|
+
return fragments as Duration;
|
|
343
343
|
}
|
|
344
344
|
|
|
345
345
|
function collectDateTimeFragment(fragments, match) {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ParsingContext } from "../../../chrono";
|
|
2
2
|
import * as references from "../../../common/casualReferences";
|
|
3
|
-
import { assignSimilarDate } from "../../../utils/
|
|
4
|
-
import dayjs from "dayjs";
|
|
3
|
+
import { assignSimilarDate } from "../../../utils/dates";
|
|
5
4
|
import { AbstractParserWithLeftRightBoundaryChecking } from "./AbstractParserWithWordBoundaryChecking";
|
|
6
5
|
|
|
7
6
|
export default class UKCasualTimeParser extends AbstractParserWithLeftRightBoundaryChecking {
|
|
@@ -10,7 +9,7 @@ export default class UKCasualTimeParser extends AbstractParserWithLeftRightBound
|
|
|
10
9
|
}
|
|
11
10
|
|
|
12
11
|
innerExtract(context: ParsingContext, match: RegExpMatchArray) {
|
|
13
|
-
let targetDate =
|
|
12
|
+
let targetDate = context.refDate;
|
|
14
13
|
const lowerText = match[0].toLowerCase();
|
|
15
14
|
const component = context.createParsingComponents();
|
|
16
15
|
|
|
@@ -33,9 +32,10 @@ export default class UKCasualTimeParser extends AbstractParserWithLeftRightBound
|
|
|
33
32
|
return references.yesterdayEvening(context.reference);
|
|
34
33
|
}
|
|
35
34
|
if (lowerText.match(/наступної\s*ночі/)) {
|
|
36
|
-
const daysToAdd = targetDate.
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
const daysToAdd = targetDate.getHours() < 22 ? 1 : 2;
|
|
36
|
+
const nextDay = new Date(targetDate.getTime());
|
|
37
|
+
nextDay.setDate(nextDay.getDate() + daysToAdd);
|
|
38
|
+
assignSimilarDate(component, nextDay);
|
|
39
39
|
component.imply("hour", 1);
|
|
40
40
|
}
|
|
41
41
|
if (lowerText.match(/цієї\s*ночі/)) {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { TIME_UNIT_DICTIONARY } from "../constants";
|
|
2
2
|
import { ParsingContext } from "../../../chrono";
|
|
3
3
|
import { ParsingComponents } from "../../../results";
|
|
4
|
-
import dayjs from "dayjs";
|
|
5
4
|
import { matchAnyPattern } from "../../../utils/pattern";
|
|
6
5
|
import { AbstractParserWithLeftRightBoundaryChecking } from "./AbstractParserWithWordBoundaryChecking";
|
|
7
6
|
|
|
@@ -44,32 +43,31 @@ export default class UKRelativeDateFormatParser extends AbstractParserWithLeftRi
|
|
|
44
43
|
}
|
|
45
44
|
|
|
46
45
|
const components = context.createParsingComponents();
|
|
47
|
-
let date =
|
|
46
|
+
let date = new Date(context.reference.instant.getTime());
|
|
48
47
|
|
|
49
48
|
// This week
|
|
50
49
|
if (timeunit.match(/week/i)) {
|
|
51
|
-
date
|
|
52
|
-
components.imply("day", date.
|
|
53
|
-
components.imply("month", date.
|
|
54
|
-
components.imply("year", date.
|
|
50
|
+
date.setDate(date.getDate() - date.getDay());
|
|
51
|
+
components.imply("day", date.getDate());
|
|
52
|
+
components.imply("month", date.getMonth() + 1);
|
|
53
|
+
components.imply("year", date.getFullYear());
|
|
55
54
|
}
|
|
56
55
|
|
|
57
56
|
// This month
|
|
58
57
|
else if (timeunit.match(/month/i)) {
|
|
59
|
-
date
|
|
60
|
-
components.imply("day", date.
|
|
61
|
-
components.assign("year", date.
|
|
62
|
-
components.assign("month", date.
|
|
58
|
+
date.setDate(1);
|
|
59
|
+
components.imply("day", date.getDate());
|
|
60
|
+
components.assign("year", date.getFullYear());
|
|
61
|
+
components.assign("month", date.getMonth() + 1);
|
|
63
62
|
}
|
|
64
63
|
|
|
65
64
|
// This year
|
|
66
65
|
else if (timeunit.match(/year/i)) {
|
|
67
|
-
date
|
|
68
|
-
date
|
|
69
|
-
|
|
70
|
-
components.imply("
|
|
71
|
-
components.
|
|
72
|
-
components.assign("year", date.year());
|
|
66
|
+
date.setDate(1);
|
|
67
|
+
date.setMonth(0);
|
|
68
|
+
components.imply("day", date.getDate());
|
|
69
|
+
components.imply("month", date.getMonth() + 1);
|
|
70
|
+
components.assign("year", date.getFullYear());
|
|
73
71
|
}
|
|
74
72
|
|
|
75
73
|
return components;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ParsingContext } from "../../../chrono";
|
|
2
|
-
import {
|
|
2
|
+
import { parseDuration, TIME_UNITS_PATTERN } from "../constants";
|
|
3
3
|
import { ParsingComponents } from "../../../results";
|
|
4
|
-
import { reverseTimeUnits } from "../../../utils/timeunits";
|
|
5
4
|
import { AbstractParserWithLeftBoundaryChecking } from "./AbstractParserWithWordBoundaryChecking";
|
|
5
|
+
import { reverseDuration } from "../../../calculation/duration";
|
|
6
6
|
|
|
7
7
|
export default class UKTimeUnitAgoFormatParser extends AbstractParserWithLeftBoundaryChecking {
|
|
8
8
|
innerPatternString(context: ParsingContext): string {
|
|
@@ -10,8 +10,8 @@ export default class UKTimeUnitAgoFormatParser extends AbstractParserWithLeftBou
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
innerExtract(context: ParsingContext, match: RegExpMatchArray) {
|
|
13
|
-
const timeUnits =
|
|
14
|
-
const outputTimeUnits =
|
|
13
|
+
const timeUnits = parseDuration(match[1]);
|
|
14
|
+
const outputTimeUnits = reverseDuration(timeUnits);
|
|
15
15
|
|
|
16
16
|
return ParsingComponents.createRelativeFromReference(context.reference, outputTimeUnits);
|
|
17
17
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { TIME_UNITS_PATTERN,
|
|
1
|
+
import { TIME_UNITS_PATTERN, parseDuration, REGEX_PARTS } from "../constants";
|
|
2
2
|
import { ParsingContext } from "../../../chrono";
|
|
3
3
|
import { ParsingComponents } from "../../../results";
|
|
4
|
-
import { reverseTimeUnits } from "../../../utils/timeunits";
|
|
5
4
|
import { AbstractParserWithLeftRightBoundaryChecking } from "./AbstractParserWithWordBoundaryChecking";
|
|
5
|
+
import { reverseDuration } from "../../../calculation/duration";
|
|
6
6
|
|
|
7
7
|
export default class UKTimeUnitCasualRelativeFormatParser extends AbstractParserWithLeftRightBoundaryChecking {
|
|
8
8
|
innerPatternString(context: ParsingContext): string {
|
|
@@ -11,12 +11,12 @@ export default class UKTimeUnitCasualRelativeFormatParser extends AbstractParser
|
|
|
11
11
|
|
|
12
12
|
innerExtract(context: ParsingContext, match: RegExpMatchArray): ParsingComponents {
|
|
13
13
|
const prefix = match[1].toLowerCase();
|
|
14
|
-
let timeUnits =
|
|
14
|
+
let timeUnits = parseDuration(match[3]);
|
|
15
15
|
switch (prefix) {
|
|
16
16
|
case "останні":
|
|
17
17
|
case "минулі":
|
|
18
18
|
case "-":
|
|
19
|
-
timeUnits =
|
|
19
|
+
timeUnits = reverseDuration(timeUnits);
|
|
20
20
|
break;
|
|
21
21
|
}
|
|
22
22
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TIME_UNITS_PATTERN,
|
|
1
|
+
import { TIME_UNITS_PATTERN, parseDuration, REGEX_PARTS } from "../constants";
|
|
2
2
|
import { ParsingContext } from "../../../chrono";
|
|
3
3
|
import { ParsingComponents } from "../../../results";
|
|
4
4
|
import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary";
|
|
@@ -17,7 +17,7 @@ export default class UKTimeUnitWithinFormatParser extends AbstractParserWithWord
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
innerExtract(context: ParsingContext, match: RegExpMatchArray): ParsingComponents {
|
|
20
|
-
const timeUnits =
|
|
20
|
+
const timeUnits = parseDuration(match[1]);
|
|
21
21
|
return ParsingComponents.createRelativeFromReference(context.reference, timeUnits);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import dayjs from "dayjs";
|
|
2
1
|
import { ParsingContext } from "../../../../chrono";
|
|
3
2
|
import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary";
|
|
4
3
|
import { ParsingComponents, ParsingResult } from "../../../../results";
|
|
@@ -27,33 +26,33 @@ export default class ZHHansCasualDateParser extends AbstractParserWithWordBounda
|
|
|
27
26
|
const index = match.index;
|
|
28
27
|
const result = context.createParsingResult(index, match[0]);
|
|
29
28
|
|
|
30
|
-
const
|
|
31
|
-
let
|
|
29
|
+
const refDate = context.refDate;
|
|
30
|
+
let date = new Date(refDate.getTime());
|
|
32
31
|
|
|
33
32
|
if (match[NOW_GROUP]) {
|
|
34
|
-
result.start.imply("hour",
|
|
35
|
-
result.start.imply("minute",
|
|
36
|
-
result.start.imply("second",
|
|
37
|
-
result.start.imply("millisecond",
|
|
33
|
+
result.start.imply("hour", refDate.getHours());
|
|
34
|
+
result.start.imply("minute", refDate.getMinutes());
|
|
35
|
+
result.start.imply("second", refDate.getSeconds());
|
|
36
|
+
result.start.imply("millisecond", refDate.getMilliseconds());
|
|
38
37
|
} else if (match[DAY_GROUP_1]) {
|
|
39
38
|
const day1 = match[DAY_GROUP_1];
|
|
40
39
|
const time1 = match[TIME_GROUP_1];
|
|
41
40
|
|
|
42
41
|
if (day1 == "明") {
|
|
43
42
|
// Check not "Tomorrow" on late night
|
|
44
|
-
if (
|
|
45
|
-
|
|
43
|
+
if (refDate.getHours() > 1) {
|
|
44
|
+
date.setDate(date.getDate() + 1);
|
|
46
45
|
}
|
|
47
46
|
} else if (day1 == "昨") {
|
|
48
|
-
|
|
47
|
+
date.setDate(date.getDate() - 1);
|
|
49
48
|
} else if (day1 == "前") {
|
|
50
|
-
|
|
49
|
+
date.setDate(date.getDate() - 2);
|
|
51
50
|
} else if (day1 == "大前") {
|
|
52
|
-
|
|
51
|
+
date.setDate(date.getDate() - 3);
|
|
53
52
|
} else if (day1 == "后") {
|
|
54
|
-
|
|
53
|
+
date.setDate(date.getDate() + 2);
|
|
55
54
|
} else if (day1 == "大后") {
|
|
56
|
-
|
|
55
|
+
date.setDate(date.getDate() + 3);
|
|
57
56
|
}
|
|
58
57
|
|
|
59
58
|
if (time1 == "早") {
|
|
@@ -84,19 +83,19 @@ export default class ZHHansCasualDateParser extends AbstractParserWithWordBounda
|
|
|
84
83
|
|
|
85
84
|
if (day3 == "明") {
|
|
86
85
|
// Check not "Tomorrow" on late night
|
|
87
|
-
if (
|
|
88
|
-
|
|
86
|
+
if (refDate.getHours() > 1) {
|
|
87
|
+
date.setDate(date.getDate() + 1);
|
|
89
88
|
}
|
|
90
89
|
} else if (day3 == "昨") {
|
|
91
|
-
|
|
90
|
+
date.setDate(date.getDate() - 1);
|
|
92
91
|
} else if (day3 == "前") {
|
|
93
|
-
|
|
92
|
+
date.setDate(date.getDate() - 2);
|
|
94
93
|
} else if (day3 == "大前") {
|
|
95
|
-
|
|
94
|
+
date.setDate(date.getDate() - 3);
|
|
96
95
|
} else if (day3 == "后") {
|
|
97
|
-
|
|
96
|
+
date.setDate(date.getDate() + 2);
|
|
98
97
|
} else if (day3 == "大后") {
|
|
99
|
-
|
|
98
|
+
date.setDate(date.getDate() + 3);
|
|
100
99
|
}
|
|
101
100
|
|
|
102
101
|
const timeString3 = match[TIME_GROUP_3];
|
|
@@ -119,9 +118,9 @@ export default class ZHHansCasualDateParser extends AbstractParserWithWordBounda
|
|
|
119
118
|
}
|
|
120
119
|
}
|
|
121
120
|
|
|
122
|
-
result.start.assign("day",
|
|
123
|
-
result.start.assign("month",
|
|
124
|
-
result.start.assign("year",
|
|
121
|
+
result.start.assign("day", date.getDate());
|
|
122
|
+
result.start.assign("month", date.getMonth() + 1);
|
|
123
|
+
result.start.assign("year", date.getFullYear());
|
|
125
124
|
|
|
126
125
|
return result;
|
|
127
126
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import dayjs from "dayjs";
|
|
2
1
|
import { ParsingContext } from "../../../../chrono";
|
|
3
2
|
import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary";
|
|
4
3
|
import { NUMBER, zhStringToNumber, zhStringToYear } from "../constants";
|
|
@@ -44,7 +43,6 @@ export default class ZHHansDateParser extends AbstractParserWithWordBoundaryChec
|
|
|
44
43
|
}
|
|
45
44
|
|
|
46
45
|
innerExtract(context: ParsingContext, match: RegExpMatchArray) {
|
|
47
|
-
const startMoment = dayjs(context.refDate);
|
|
48
46
|
const result = context.createParsingResult(match.index, match[0]);
|
|
49
47
|
|
|
50
48
|
//Month
|
|
@@ -58,7 +56,7 @@ export default class ZHHansDateParser extends AbstractParserWithWordBoundaryChec
|
|
|
58
56
|
if (isNaN(day)) day = zhStringToNumber(match[DAY_GROUP]);
|
|
59
57
|
result.start.assign("day", day);
|
|
60
58
|
} else {
|
|
61
|
-
result.start.imply("day",
|
|
59
|
+
result.start.imply("day", context.refDate.getDate());
|
|
62
60
|
}
|
|
63
61
|
|
|
64
62
|
//Year
|
|
@@ -67,7 +65,7 @@ export default class ZHHansDateParser extends AbstractParserWithWordBoundaryChec
|
|
|
67
65
|
if (isNaN(year)) year = zhStringToYear(match[YEAR_GROUP]);
|
|
68
66
|
result.start.assign("year", year);
|
|
69
67
|
} else {
|
|
70
|
-
result.start.imply("year",
|
|
68
|
+
result.start.imply("year", context.refDate.getFullYear());
|
|
71
69
|
}
|
|
72
70
|
|
|
73
71
|
return result;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import dayjs from "dayjs";
|
|
2
1
|
import { ParsingContext } from "../../../../chrono";
|
|
3
2
|
import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary";
|
|
3
|
+
import { addDuration, Duration } from "../../../../calculation/duration";
|
|
4
4
|
import { NUMBER, zhStringToNumber } from "../constants";
|
|
5
5
|
|
|
6
6
|
const PATTERN = new RegExp(
|
|
@@ -41,41 +41,43 @@ export default class ZHHansDeadlineFormatParser extends AbstractParserWithWordBo
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
const duration: Duration = {};
|
|
45
45
|
const unit = match[UNIT_GROUP];
|
|
46
46
|
const unitAbbr = unit[0];
|
|
47
47
|
|
|
48
48
|
if (unitAbbr.match(/[日天星礼月年]/)) {
|
|
49
49
|
if (unitAbbr == "日" || unitAbbr == "天") {
|
|
50
|
-
|
|
50
|
+
duration.day = number;
|
|
51
51
|
} else if (unitAbbr == "星" || unitAbbr == "礼") {
|
|
52
|
-
|
|
52
|
+
duration.week = number;
|
|
53
53
|
} else if (unitAbbr == "月") {
|
|
54
|
-
|
|
54
|
+
duration.month = number;
|
|
55
55
|
} else if (unitAbbr == "年") {
|
|
56
|
-
|
|
56
|
+
duration.year = number;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
result.start.assign("
|
|
61
|
-
result.start.assign("
|
|
59
|
+
const date = addDuration(context.refDate, duration);
|
|
60
|
+
result.start.assign("year", date.getFullYear());
|
|
61
|
+
result.start.assign("month", date.getMonth() + 1);
|
|
62
|
+
result.start.assign("day", date.getDate());
|
|
62
63
|
return result;
|
|
63
64
|
}
|
|
64
65
|
|
|
65
66
|
if (unitAbbr == "秒") {
|
|
66
|
-
|
|
67
|
+
duration.second = number;
|
|
67
68
|
} else if (unitAbbr == "分") {
|
|
68
|
-
|
|
69
|
+
duration.minute = number;
|
|
69
70
|
} else if (unitAbbr == "小" || unitAbbr == "钟") {
|
|
70
|
-
|
|
71
|
+
duration.hour = number;
|
|
71
72
|
}
|
|
72
73
|
|
|
73
|
-
|
|
74
|
-
result.start.imply("
|
|
75
|
-
result.start.imply("
|
|
76
|
-
result.start.
|
|
77
|
-
result.start.assign("
|
|
78
|
-
result.start.assign("
|
|
74
|
+
const date = addDuration(context.refDate, duration);
|
|
75
|
+
result.start.imply("year", date.getFullYear());
|
|
76
|
+
result.start.imply("month", date.getMonth() + 1);
|
|
77
|
+
result.start.imply("day", date.getDate());
|
|
78
|
+
result.start.assign("hour", date.getHours());
|
|
79
|
+
result.start.assign("minute", date.getMinutes());
|
|
80
|
+
result.start.assign("second", date.getSeconds());
|
|
79
81
|
return result;
|
|
80
82
|
}
|
|
81
83
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import dayjs from "dayjs";
|
|
2
1
|
import { ParsingContext } from "../../../../chrono";
|
|
3
2
|
import { AbstractParserWithWordBoundaryChecking } from "../../../../common/parsers/AbstractParserWithWordBoundary";
|
|
4
3
|
import { ParsingResult } from "../../../../results";
|
|
@@ -31,37 +30,38 @@ export default class ZHHansRelationWeekdayParser extends AbstractParserWithWordB
|
|
|
31
30
|
modifier = "this";
|
|
32
31
|
}
|
|
33
32
|
|
|
34
|
-
|
|
33
|
+
const date = new Date(context.refDate.getTime());
|
|
35
34
|
let startMomentFixed = false;
|
|
36
|
-
const refOffset =
|
|
35
|
+
const refOffset = date.getDay();
|
|
37
36
|
|
|
38
37
|
if (modifier == "last" || modifier == "past") {
|
|
39
|
-
|
|
38
|
+
date.setDate(date.getDate() + (offset - 7 - refOffset));
|
|
40
39
|
startMomentFixed = true;
|
|
41
40
|
} else if (modifier == "next") {
|
|
42
|
-
|
|
41
|
+
date.setDate(date.getDate() + (offset + 7 - refOffset));
|
|
43
42
|
startMomentFixed = true;
|
|
44
43
|
} else if (modifier == "this") {
|
|
45
|
-
|
|
44
|
+
date.setDate(date.getDate() + (offset - refOffset));
|
|
46
45
|
} else {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
startMoment = startMoment.day(offset + 7);
|
|
51
|
-
} else {
|
|
52
|
-
startMoment = startMoment.day(offset);
|
|
46
|
+
let diff = offset - refOffset;
|
|
47
|
+
if (Math.abs(diff - 7) < Math.abs(diff)) {
|
|
48
|
+
diff -= 7;
|
|
53
49
|
}
|
|
50
|
+
if (Math.abs(diff + 7) < Math.abs(diff)) {
|
|
51
|
+
diff += 7;
|
|
52
|
+
}
|
|
53
|
+
date.setDate(date.getDate() + diff);
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
result.start.assign("weekday", offset);
|
|
57
57
|
if (startMomentFixed) {
|
|
58
|
-
result.start.assign("day",
|
|
59
|
-
result.start.assign("month",
|
|
60
|
-
result.start.assign("year",
|
|
58
|
+
result.start.assign("day", date.getDate());
|
|
59
|
+
result.start.assign("month", date.getMonth() + 1);
|
|
60
|
+
result.start.assign("year", date.getFullYear());
|
|
61
61
|
} else {
|
|
62
|
-
result.start.imply("day",
|
|
63
|
-
result.start.imply("month",
|
|
64
|
-
result.start.imply("year",
|
|
62
|
+
result.start.imply("day", date.getDate());
|
|
63
|
+
result.start.imply("month", date.getMonth() + 1);
|
|
64
|
+
result.start.imply("year", date.getFullYear());
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
return result;
|