chrono-node 2.8.1 → 2.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/cjs/calculation/duration.d.ts +8 -0
- package/dist/cjs/calculation/duration.js +124 -0
- package/dist/cjs/calculation/duration.js.map +1 -0
- package/dist/cjs/{common/calculation → calculation}/weekdays.d.ts +2 -2
- package/dist/cjs/{common/calculation → calculation}/weekdays.js +3 -3
- package/dist/cjs/calculation/weekdays.js.map +1 -0
- package/dist/cjs/common/casualReferences.js +1 -1
- package/dist/cjs/common/casualReferences.js.map +1 -1
- package/dist/cjs/common/refiners/ForwardDateRefiner.js.map +1 -1
- package/dist/cjs/common/refiners/UnlikelyFormatFilter.js +0 -6
- package/dist/cjs/common/refiners/UnlikelyFormatFilter.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/locales/de/parsers/DEWeekdayParser.js +1 -1
- package/dist/cjs/locales/de/parsers/DEWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitAgoFormatParser.js +4 -5
- package/dist/cjs/locales/en/parsers/ENTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js +5 -5
- package/dist/cjs/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENTimeUnitWithinFormatParser.js +4 -0
- package/dist/cjs/locales/en/parsers/ENTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/cjs/locales/en/parsers/ENWeekdayParser.js +1 -1
- package/dist/cjs/locales/en/parsers/ENWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.js +4 -4
- package/dist/cjs/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.js.map +1 -1
- package/dist/cjs/locales/es/parsers/ESWeekdayParser.js +1 -1
- package/dist/cjs/locales/es/parsers/ESWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/fr/parsers/FRWeekdayParser.js +1 -1
- package/dist/cjs/locales/fr/parsers/FRWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.d.ts +1 -1
- package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.js +2 -2
- package/dist/cjs/locales/it/parsers/ITWeekdayParser.js +1 -1
- package/dist/cjs/locales/it/parsers/ITWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/ja/parsers/JPWeekdayParser.js +1 -1
- package/dist/cjs/locales/ja/parsers/JPWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/ja/parsers/JPWeekdayWithParenthesesParser.js +1 -1
- package/dist/cjs/locales/ja/parsers/JPWeekdayWithParenthesesParser.js.map +1 -1
- package/dist/cjs/locales/ja/refiners/JPMergeWeekdayComponentRefiner.d.ts +1 -1
- package/dist/cjs/locales/ja/refiners/JPMergeWeekdayComponentRefiner.js +1 -1
- package/dist/cjs/locales/ja/refiners/JPMergeWeekdayComponentRefiner.js.map +1 -1
- package/dist/cjs/locales/nl/parsers/NLWeekdayParser.js +1 -1
- package/dist/cjs/locales/nl/parsers/NLWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/pt/parsers/PTWeekdayParser.js +1 -1
- package/dist/cjs/locales/pt/parsers/PTWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/ru/parsers/RUWeekdayParser.js +1 -1
- package/dist/cjs/locales/ru/parsers/RUWeekdayParser.js.map +1 -1
- package/dist/cjs/locales/uk/parsers/UKWeekdayParser.js +1 -1
- package/dist/cjs/locales/uk/parsers/UKWeekdayParser.js.map +1 -1
- package/dist/cjs/results.d.ts +3 -4
- package/dist/cjs/results.js +26 -27
- package/dist/cjs/results.js.map +1 -1
- package/dist/cjs/types.d.ts +1 -0
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/utils/dates.d.ts +2 -0
- package/dist/cjs/utils/dates.js +16 -0
- package/dist/cjs/utils/dates.js.map +1 -1
- package/dist/cjs/utils/timeunits.js.map +1 -1
- package/dist/esm/calculation/duration.d.ts +8 -0
- package/dist/esm/calculation/duration.js +119 -0
- package/dist/esm/calculation/duration.js.map +1 -0
- package/dist/esm/{common/calculation → calculation}/weekdays.d.ts +2 -2
- package/dist/esm/{common/calculation → calculation}/weekdays.js +3 -3
- package/dist/esm/calculation/weekdays.js.map +1 -0
- package/dist/esm/common/casualReferences.js +1 -1
- package/dist/esm/common/casualReferences.js.map +1 -1
- package/dist/esm/common/refiners/ForwardDateRefiner.js.map +1 -1
- package/dist/esm/common/refiners/UnlikelyFormatFilter.js +0 -6
- package/dist/esm/common/refiners/UnlikelyFormatFilter.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/locales/de/parsers/DEWeekdayParser.js +1 -1
- package/dist/esm/locales/de/parsers/DEWeekdayParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeUnitAgoFormatParser.js +4 -5
- package/dist/esm/locales/en/parsers/ENTimeUnitAgoFormatParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js +5 -5
- package/dist/esm/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENTimeUnitWithinFormatParser.js +4 -0
- package/dist/esm/locales/en/parsers/ENTimeUnitWithinFormatParser.js.map +1 -1
- package/dist/esm/locales/en/parsers/ENWeekdayParser.js +1 -1
- package/dist/esm/locales/en/parsers/ENWeekdayParser.js.map +1 -1
- package/dist/esm/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.js +4 -4
- package/dist/esm/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.js.map +1 -1
- package/dist/esm/locales/es/parsers/ESWeekdayParser.js +1 -1
- package/dist/esm/locales/es/parsers/ESWeekdayParser.js.map +1 -1
- package/dist/esm/locales/fr/parsers/FRWeekdayParser.js +1 -1
- package/dist/esm/locales/fr/parsers/FRWeekdayParser.js.map +1 -1
- package/dist/esm/locales/it/index.js +2 -2
- package/dist/esm/locales/it/parsers/ITRelativeDateFormatParser.d.ts +1 -1
- package/dist/esm/locales/it/parsers/ITRelativeDateFormatParser.js +1 -1
- package/dist/esm/locales/it/parsers/ITWeekdayParser.js +1 -1
- package/dist/esm/locales/it/parsers/ITWeekdayParser.js.map +1 -1
- package/dist/esm/locales/ja/parsers/JPWeekdayParser.js +1 -1
- package/dist/esm/locales/ja/parsers/JPWeekdayParser.js.map +1 -1
- package/dist/esm/locales/ja/parsers/JPWeekdayWithParenthesesParser.js +1 -1
- package/dist/esm/locales/ja/parsers/JPWeekdayWithParenthesesParser.js.map +1 -1
- package/dist/esm/locales/ja/refiners/JPMergeWeekdayComponentRefiner.d.ts +1 -1
- package/dist/esm/locales/ja/refiners/JPMergeWeekdayComponentRefiner.js +1 -1
- package/dist/esm/locales/ja/refiners/JPMergeWeekdayComponentRefiner.js.map +1 -1
- package/dist/esm/locales/nl/parsers/NLWeekdayParser.js +1 -1
- package/dist/esm/locales/nl/parsers/NLWeekdayParser.js.map +1 -1
- package/dist/esm/locales/pt/parsers/PTWeekdayParser.js +1 -1
- package/dist/esm/locales/pt/parsers/PTWeekdayParser.js.map +1 -1
- package/dist/esm/locales/ru/parsers/RUWeekdayParser.js +1 -1
- package/dist/esm/locales/ru/parsers/RUWeekdayParser.js.map +1 -1
- package/dist/esm/locales/uk/parsers/UKWeekdayParser.js +1 -1
- package/dist/esm/locales/uk/parsers/UKWeekdayParser.js.map +1 -1
- package/dist/esm/results.d.ts +3 -4
- package/dist/esm/results.js +23 -24
- package/dist/esm/results.js.map +1 -1
- package/dist/esm/types.d.ts +1 -0
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils/dates.d.ts +2 -0
- package/dist/esm/utils/dates.js +14 -0
- package/dist/esm/utils/dates.js.map +1 -1
- package/dist/esm/utils/timeunits.js.map +1 -1
- package/package.json +1 -1
- package/src/calculation/duration.ts +143 -0
- package/src/{common/calculation → calculation}/weekdays.ts +3 -3
- package/src/common/casualReferences.ts +1 -1
- package/src/common/refiners/ForwardDateRefiner.ts +0 -1
- package/src/common/refiners/UnlikelyFormatFilter.ts +0 -8
- package/src/index.ts +2 -2
- package/src/locales/de/parsers/DEWeekdayParser.ts +1 -1
- package/src/locales/en/parsers/ENTimeUnitAgoFormatParser.ts +4 -5
- package/src/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.ts +5 -5
- package/src/locales/en/parsers/ENTimeUnitWithinFormatParser.ts +5 -0
- package/src/locales/en/parsers/ENWeekdayParser.ts +1 -1
- package/src/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.ts +4 -4
- package/src/locales/es/parsers/ESWeekdayParser.ts +1 -1
- package/src/locales/fr/parsers/FRWeekdayParser.ts +1 -1
- package/src/locales/it/index.ts +2 -2
- package/src/locales/it/parsers/ITRelativeDateFormatParser.ts +1 -1
- package/src/locales/it/parsers/ITWeekdayParser.ts +1 -1
- package/src/locales/ja/parsers/JPWeekdayParser.ts +1 -1
- package/src/locales/ja/parsers/JPWeekdayWithParenthesesParser.ts +1 -1
- package/src/locales/ja/refiners/JPMergeWeekdayComponentRefiner.ts +1 -1
- package/src/locales/nl/parsers/NLWeekdayParser.ts +1 -1
- package/src/locales/pt/parsers/PTWeekdayParser.ts +1 -1
- package/src/locales/ru/parsers/RUWeekdayParser.ts +1 -1
- package/src/locales/uk/parsers/UKWeekdayParser.ts +1 -1
- package/src/results.ts +23 -27
- package/src/types.ts +2 -0
- package/src/utils/dates.ts +26 -0
- package/src/utils/timeunits.ts +9 -0
- package/test/calculation_duration.test.ts +165 -0
- package/test/{calculation.test.ts → calculation_weekdays.test.ts} +1 -1
- package/test/en/en_month_name_little_endian.test.ts +19 -0
- package/test/en/en_time_exp.test.ts +14 -0
- package/test/en/en_year.test.ts +38 -0
- package/test/en/negative_cases.test.ts +5 -0
- package/dist/cjs/common/calculation/weekdays.js.map +0 -1
- package/dist/esm/common/calculation/weekdays.js.map +0 -1
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as en from "./locales/en/index.js";
|
|
2
|
-
import { Chrono, Parser, Refiner } from "./chrono.js";
|
|
2
|
+
import { Chrono, Parser, ParsingContext, Refiner } from "./chrono.js";
|
|
3
3
|
import { ParsingResult, ParsingComponents, ReferenceWithTimezone } from "./results.js";
|
|
4
4
|
import { Component, ParsedComponents, ParsedResult, ParsingOption, ParsingReference, Meridiem, Weekday } from "./types.js";
|
|
5
|
-
export { en, Chrono, Parser, Refiner, ParsingResult, ParsingComponents, ReferenceWithTimezone };
|
|
5
|
+
export { en, Chrono, Parser, ParsingContext, Refiner, ParsingResult, ParsingComponents, ReferenceWithTimezone };
|
|
6
6
|
export { Component, ParsedComponents, ParsedResult, ParsingOption, ParsingReference, Meridiem, Weekday };
|
|
7
7
|
import * as de from "./locales/de/index.js";
|
|
8
8
|
import * as fr from "./locales/fr/index.js";
|
package/dist/esm/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as en from "./locales/en/index.js";
|
|
2
|
-
import { Chrono } from "./chrono.js";
|
|
2
|
+
import { Chrono, ParsingContext } from "./chrono.js";
|
|
3
3
|
import { ParsingResult, ParsingComponents, ReferenceWithTimezone } from "./results.js";
|
|
4
4
|
import { Meridiem, Weekday } from "./types.js";
|
|
5
|
-
export { en, Chrono, ParsingResult, ParsingComponents, ReferenceWithTimezone };
|
|
5
|
+
export { en, Chrono, ParsingContext, ParsingResult, ParsingComponents, ReferenceWithTimezone };
|
|
6
6
|
export { Meridiem, Weekday };
|
|
7
7
|
import * as de from "./locales/de/index.js";
|
|
8
8
|
import * as fr from "./locales/fr/index.js";
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,MAAM,EAAU,cAAc,EAAW,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACpF,OAAO,EAA8E,QAAQ,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAExH,OAAO,EAAE,EAAE,EAAE,MAAM,EAAU,cAAc,EAAW,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;AAChH,OAAO,EAA8E,QAAQ,EAAE,OAAO,EAAE,CAAC;AAGzG,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAK9C,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AAKhC,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AAKhC,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,GAA6B,EAAE,MAAsB;IACrF,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAKD,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,GAA6B,EAAE,MAAsB;IACzF,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WEEKDAY_DICTIONARY } from "../constants.js";
|
|
2
2
|
import { matchAnyPattern } from "../../../utils/pattern.js";
|
|
3
3
|
import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
4
|
-
import { createParsingComponentsAtWeekday } from "../../../
|
|
4
|
+
import { createParsingComponentsAtWeekday } from "../../../calculation/weekdays.js";
|
|
5
5
|
const PATTERN = new RegExp("(?:(?:\\,|\\(|\\()\\s*)?" +
|
|
6
6
|
"(?:a[mn]\\s*?)?" +
|
|
7
7
|
"(?:(diese[mn]|letzte[mn]|n(?:ä|ae)chste[mn])\\s*)?" +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DEWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/de/parsers/DEWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"DEWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/de/parsers/DEWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AAEjF,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,0BAA0B;IACtB,iBAAiB;IACjB,oDAAoD;IACpD,IAAI,eAAe,CAAC,kBAAkB,CAAC,GAAG;IAC1C,0BAA0B;IAC1B,iDAAiD;IACjD,WAAW,EACf,GAAG,CACN,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,sCAAsC;IAC/E,YAAY;QACR,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QAEpC,IAAI,YAAY,GAAG,MAAM,IAAI,OAAO,CAAC;QACrC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;QAClC,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAE1C,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;QAED,OAAO,gCAAgC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjF,CAAC;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { parseTimeUnits, TIME_UNITS_NO_ABBR_PATTERN, TIME_UNITS_PATTERN } from "../constants.js";
|
|
2
2
|
import { ParsingComponents } from "../../../results.js";
|
|
3
3
|
import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
4
|
-
import {
|
|
4
|
+
import { reverseDuration } from "../../../calculation/duration.js";
|
|
5
5
|
const PATTERN = new RegExp(`(${TIME_UNITS_PATTERN})\\s{0,5}(?:ago|before|earlier)(?=\\W|$)`, "i");
|
|
6
6
|
const STRICT_PATTERN = new RegExp(`(${TIME_UNITS_NO_ABBR_PATTERN})\\s{0,5}(?:ago|before|earlier)(?=\\W|$)`, "i");
|
|
7
7
|
export default class ENTimeUnitAgoFormatParser extends AbstractParserWithWordBoundaryChecking {
|
|
@@ -14,12 +14,11 @@ export default class ENTimeUnitAgoFormatParser extends AbstractParserWithWordBou
|
|
|
14
14
|
return this.strictMode ? STRICT_PATTERN : PATTERN;
|
|
15
15
|
}
|
|
16
16
|
innerExtract(context, match) {
|
|
17
|
-
const
|
|
18
|
-
if (!
|
|
17
|
+
const duration = parseTimeUnits(match[1]);
|
|
18
|
+
if (!duration) {
|
|
19
19
|
return null;
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
return ParsingComponents.createRelativeFromReference(context.reference, outputTimeUnits);
|
|
21
|
+
return ParsingComponents.createRelativeFromReference(context.reference, reverseDuration(duration));
|
|
23
22
|
}
|
|
24
23
|
}
|
|
25
24
|
//# sourceMappingURL=ENTimeUnitAgoFormatParser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ENTimeUnitAgoFormatParser.js","sourceRoot":"","sources":["../../../../../src/locales/en/parsers/ENTimeUnitAgoFormatParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ENTimeUnitAgoFormatParser.js","sourceRoot":"","sources":["../../../../../src/locales/en/parsers/ENTimeUnitAgoFormatParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,kBAAkB,0CAA0C,EAAE,GAAG,CAAC,CAAC;AAClG,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,IAAI,0BAA0B,0CAA0C,EAAE,GAAG,CAAC,CAAC;AAEjH,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,sCAAsC;IACrE;IAApB,YAAoB,UAAmB;QACnC,KAAK,EAAE,CAAC;QADQ,eAAU,GAAV,UAAU,CAAS;IAEvC,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC;IACtD,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,iBAAiB,CAAC,2BAA2B,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvG,CAAC;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TIME_UNITS_PATTERN, parseTimeUnits, TIME_UNITS_NO_ABBR_PATTERN } from "../constants.js";
|
|
2
2
|
import { ParsingComponents } from "../../../results.js";
|
|
3
3
|
import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
4
|
-
import {
|
|
4
|
+
import { reverseDuration } from "../../../calculation/duration.js";
|
|
5
5
|
const PATTERN = new RegExp(`(this|last|past|next|after|\\+|-)\\s*(${TIME_UNITS_PATTERN})(?=\\W|$)`, "i");
|
|
6
6
|
const PATTERN_NO_ABBR = new RegExp(`(this|last|past|next|after|\\+|-)\\s*(${TIME_UNITS_NO_ABBR_PATTERN})(?=\\W|$)`, "i");
|
|
7
7
|
export default class ENTimeUnitCasualRelativeFormatParser extends AbstractParserWithWordBoundaryChecking {
|
|
@@ -15,18 +15,18 @@ export default class ENTimeUnitCasualRelativeFormatParser extends AbstractParser
|
|
|
15
15
|
}
|
|
16
16
|
innerExtract(context, match) {
|
|
17
17
|
const prefix = match[1].toLowerCase();
|
|
18
|
-
let
|
|
19
|
-
if (!
|
|
18
|
+
let duration = parseTimeUnits(match[2]);
|
|
19
|
+
if (!duration) {
|
|
20
20
|
return null;
|
|
21
21
|
}
|
|
22
22
|
switch (prefix) {
|
|
23
23
|
case "last":
|
|
24
24
|
case "past":
|
|
25
25
|
case "-":
|
|
26
|
-
|
|
26
|
+
duration = reverseDuration(duration);
|
|
27
27
|
break;
|
|
28
28
|
}
|
|
29
|
-
return ParsingComponents.createRelativeFromReference(context.reference,
|
|
29
|
+
return ParsingComponents.createRelativeFromReference(context.reference, duration);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
//# sourceMappingURL=ENTimeUnitCasualRelativeFormatParser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ENTimeUnitCasualRelativeFormatParser.js","sourceRoot":"","sources":["../../../../../src/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ENTimeUnitCasualRelativeFormatParser.js","sourceRoot":"","sources":["../../../../../src/locales/en/parsers/ENTimeUnitCasualRelativeFormatParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,yCAAyC,kBAAkB,YAAY,EAAE,GAAG,CAAC,CAAC;AACzG,MAAM,eAAe,GAAG,IAAI,MAAM,CAC9B,yCAAyC,0BAA0B,YAAY,EAC/E,GAAG,CACN,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,oCAAqC,SAAQ,sCAAsC;IAChF;IAApB,YAAoB,qBAA8B,IAAI;QAClD,KAAK,EAAE,CAAC;QADQ,uBAAkB,GAAlB,kBAAkB,CAAgB;IAEtD,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;IAC/D,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM,CAAC;YACZ,KAAK,GAAG;gBACJ,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;gBACrC,MAAM;QACd,CAAC;QACD,OAAO,iBAAiB,CAAC,2BAA2B,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACtF,CAAC;CACJ"}
|
|
@@ -27,6 +27,10 @@ export default class ENTimeUnitWithinFormatParser extends AbstractParserWithWord
|
|
|
27
27
|
if (!timeUnits) {
|
|
28
28
|
return null;
|
|
29
29
|
}
|
|
30
|
+
context.debug(() => {
|
|
31
|
+
console.log(timeUnits);
|
|
32
|
+
console.log(ParsingComponents.createRelativeFromReference(context.reference, timeUnits));
|
|
33
|
+
});
|
|
30
34
|
return ParsingComponents.createRelativeFromReference(context.reference, timeUnits);
|
|
31
35
|
}
|
|
32
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ENTimeUnitWithinFormatParser.js","sourceRoot":"","sources":["../../../../../src/locales/en/parsers/ENTimeUnitWithinFormatParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAEhH,MAAM,4BAA4B,GAAG,IAAI,MAAM,CAC3C,4BAA4B;IACxB,kEAAkE,kBAAkB,YAAY,EACpG,GAAG,CACN,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAClC,uBAAuB;IACnB,kEAAkE,kBAAkB,YAAY,EACpG,GAAG,CACN,CAAC;AAEF,MAAM,0BAA0B,GAAG,IAAI,MAAM,CACzC,uBAAuB;IACnB,kEAAkE,0BAA0B,YAAY,EAC5G,GAAG,CACN,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,4BAA6B,SAAQ,sCAAsC;IACxE;IAApB,YAAoB,UAAmB;QACnC,KAAK,EAAE,CAAC;QADQ,eAAU,GAAV,UAAU,CAAS;IAEvC,CAAC;IAED,YAAY,CAAC,OAAuB;QAChC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,0BAA0B,CAAC;QACtC,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC3F,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QAEzD,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,iBAAiB,CAAC,2BAA2B,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvF,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"ENTimeUnitWithinFormatParser.js","sourceRoot":"","sources":["../../../../../src/locales/en/parsers/ENTimeUnitWithinFormatParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAEhH,MAAM,4BAA4B,GAAG,IAAI,MAAM,CAC3C,4BAA4B;IACxB,kEAAkE,kBAAkB,YAAY,EACpG,GAAG,CACN,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAClC,uBAAuB;IACnB,kEAAkE,kBAAkB,YAAY,EACpG,GAAG,CACN,CAAC;AAEF,MAAM,0BAA0B,GAAG,IAAI,MAAM,CACzC,uBAAuB;IACnB,kEAAkE,0BAA0B,YAAY,EAC5G,GAAG,CACN,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,4BAA6B,SAAQ,sCAAsC;IACxE;IAApB,YAAoB,UAAmB;QACnC,KAAK,EAAE,CAAC;QADQ,eAAU,GAAV,UAAU,CAAS;IAEvC,CAAC;IAED,YAAY,CAAC,OAAuB;QAChC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,0BAA0B,CAAC;QACtC,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC3F,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QAEzD,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;QAEH,OAAO,iBAAiB,CAAC,2BAA2B,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvF,CAAC;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WEEKDAY_DICTIONARY } from "../constants.js";
|
|
2
2
|
import { matchAnyPattern } from "../../../utils/pattern.js";
|
|
3
3
|
import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
4
|
-
import { createParsingComponentsAtWeekday } from "../../../
|
|
4
|
+
import { createParsingComponentsAtWeekday } from "../../../calculation/weekdays.js";
|
|
5
5
|
import { Weekday } from "../../../types.js";
|
|
6
6
|
const PATTERN = new RegExp("(?:(?:\\,|\\(|\\()\\s*)?" +
|
|
7
7
|
"(?:on\\s*?)?" +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ENWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/en/parsers/ENWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ENWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/en/parsers/ENWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,0BAA0B;IACtB,cAAc;IACd,gCAAgC;IAChC,IAAI,eAAe,CAAC,kBAAkB,CAAC,mBAAmB;IAC1D,0BAA0B;IAC1B,wCAAwC;IACxC,WAAW,EACf,GAAG,CACN,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,sCAAsC;IAC/E,YAAY;QACR,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,YAAY,GAAG,MAAM,IAAI,OAAO,CAAC;QACrC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;QAClC,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAE1C,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,YAAY,IAAI,MAAM,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;YACnD,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;YAChC,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;YAChC,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACxD,IAAI,OAAO,CAAC;QACZ,IAAI,kBAAkB,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;YACjD,OAAO,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;YAGnC,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACrE,CAAC;aAAM,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;YAKnC,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,2BAA2B,EAAE,CAAC,MAAM,EAAE,CAAC;YAC5E,IAAI,UAAU,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACjE,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,UAAU,GAAG,CAAC,CAAC;gBACzB,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;gBACzD,OAAO,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,gCAAgC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MergingRefiner } from "../../../common/abstractRefiners.js";
|
|
2
2
|
import { ParsingComponents, ParsingResult, ReferenceWithTimezone } from "../../../results.js";
|
|
3
3
|
import { parseTimeUnits } from "../constants.js";
|
|
4
|
-
import {
|
|
4
|
+
import { reverseDuration } from "../../../calculation/duration.js";
|
|
5
5
|
function hasImpliedEarlierReferenceDate(result) {
|
|
6
6
|
return result.text.match(/\s+(before|from)$/i) != null;
|
|
7
7
|
}
|
|
@@ -22,11 +22,11 @@ export default class ENMergeRelativeFollowByDateRefiner extends MergingRefiner {
|
|
|
22
22
|
return !!nextResult.start.get("day") && !!nextResult.start.get("month") && !!nextResult.start.get("year");
|
|
23
23
|
}
|
|
24
24
|
mergeResults(textBetween, currentResult, nextResult) {
|
|
25
|
-
let
|
|
25
|
+
let duration = parseTimeUnits(currentResult.text);
|
|
26
26
|
if (hasImpliedEarlierReferenceDate(currentResult)) {
|
|
27
|
-
|
|
27
|
+
duration = reverseDuration(duration);
|
|
28
28
|
}
|
|
29
|
-
const components = ParsingComponents.createRelativeFromReference(new ReferenceWithTimezone(nextResult.start.date()),
|
|
29
|
+
const components = ParsingComponents.createRelativeFromReference(new ReferenceWithTimezone(nextResult.start.date()), duration);
|
|
30
30
|
return new ParsingResult(nextResult.reference, currentResult.index, `${currentResult.text}${textBetween}${nextResult.text}`, components);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ENMergeRelativeFollowByDateRefiner.js","sourceRoot":"","sources":["../../../../../src/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ENMergeRelativeFollowByDateRefiner.js","sourceRoot":"","sources":["../../../../../src/locales/en/refiners/ENMergeRelativeFollowByDateRefiner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,SAAS,8BAA8B,CAAC,MAAqB;IACzD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;AAC3D,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAqB;IACvD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;AAC3D,CAAC;AAOD,MAAM,CAAC,OAAO,OAAO,kCAAmC,SAAQ,cAAc;IAC1E,cAAc;QACV,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,kBAAkB,CAAC,WAAmB,EAAE,aAA4B,EAAE,UAAyB;QAE3F,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACjB,CAAC;QAID,IAAI,CAAC,8BAA8B,CAAC,aAAa,CAAC,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,EAAE,CAAC;YACjG,OAAO,KAAK,CAAC;QACjB,CAAC;QAGD,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9G,CAAC;IAED,YAAY,CAAC,WAAmB,EAAE,aAA4B,EAAE,UAAyB;QACrF,IAAI,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,8BAA8B,CAAC,aAAa,CAAC,EAAE,CAAC;YAChD,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,2BAA2B,CAC5D,IAAI,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAClD,QAAQ,CACX,CAAC;QAEF,OAAO,IAAI,aAAa,CACpB,UAAU,CAAC,SAAS,EACpB,aAAa,CAAC,KAAK,EACnB,GAAG,aAAa,CAAC,IAAI,GAAG,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,EACvD,UAAU,CACb,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WEEKDAY_DICTIONARY } from "../constants.js";
|
|
2
2
|
import { matchAnyPattern } from "../../../utils/pattern.js";
|
|
3
3
|
import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
4
|
-
import { createParsingComponentsAtWeekday } from "../../../
|
|
4
|
+
import { createParsingComponentsAtWeekday } from "../../../calculation/weekdays.js";
|
|
5
5
|
const PATTERN = new RegExp("(?:(?:\\,|\\(|\\()\\s*)?" +
|
|
6
6
|
"(?:(este|esta|pasado|pr[oó]ximo)\\s*)?" +
|
|
7
7
|
`(${matchAnyPattern(WEEKDAY_DICTIONARY)})` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ESWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/es/parsers/ESWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ESWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/es/parsers/ESWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AAEjF,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,0BAA0B;IACtB,wCAAwC;IACxC,IAAI,eAAe,CAAC,kBAAkB,CAAC,GAAG;IAC1C,0BAA0B;IAC1B,kDAAkD;IAClD,eAAe,EACnB,GAAG,CACN,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,sCAAsC;IAC/E,YAAY;QACR,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,IAAI,GAAG,MAAM,IAAI,OAAO,IAAI,EAAE,CAAC;QACnC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE1B,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;YACnB,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;YAChD,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACxB,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;QAED,OAAO,gCAAgC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WEEKDAY_DICTIONARY } from "../constants.js";
|
|
2
2
|
import { matchAnyPattern } from "../../../utils/pattern.js";
|
|
3
3
|
import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
4
|
-
import { createParsingComponentsAtWeekday } from "../../../
|
|
4
|
+
import { createParsingComponentsAtWeekday } from "../../../calculation/weekdays.js";
|
|
5
5
|
const PATTERN = new RegExp("(?:(?:\\,|\\(|\\()\\s*)?" +
|
|
6
6
|
"(?:(?:ce)\\s*)?" +
|
|
7
7
|
`(${matchAnyPattern(WEEKDAY_DICTIONARY)})` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FRWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/fr/parsers/FRWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"FRWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/fr/parsers/FRWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AAEjF,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,0BAA0B;IACtB,iBAAiB;IACjB,IAAI,eAAe,CAAC,kBAAkB,CAAC,GAAG;IAC1C,0BAA0B;IAC1B,iCAAiC;IACjC,eAAe,EACnB,GAAG,CACN,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,sCAAsC;IAC/E,YAAY;QACR,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAClC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QACtB,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAE9B,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;YACtB,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;YAC9B,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;QAED,OAAO,gCAAgC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;CACJ"}
|
|
@@ -13,7 +13,7 @@ import { includeCommonConfiguration } from "../../configurations.js";
|
|
|
13
13
|
import ENCasualDateParser from "./parsers/ITCasualDateParser.js";
|
|
14
14
|
import ENCasualTimeParser from "./parsers/ITCasualTimeParser.js";
|
|
15
15
|
import ENWeekdayParser from "./parsers/ITWeekdayParser.js";
|
|
16
|
-
import
|
|
16
|
+
import ITRelativeDateFormatParser from "./parsers/ITRelativeDateFormatParser.js";
|
|
17
17
|
import { Chrono } from "../../chrono.js";
|
|
18
18
|
import SlashDateFormatParser from "../../common/parsers/SlashDateFormatParser.js";
|
|
19
19
|
import ENTimeUnitCasualRelativeFormatParser from "./parsers/ITTimeUnitCasualRelativeFormatParser.js";
|
|
@@ -32,7 +32,7 @@ export function createCasualConfiguration(littleEndian = false) {
|
|
|
32
32
|
option.parsers.unshift(new ENCasualDateParser());
|
|
33
33
|
option.parsers.unshift(new ENCasualTimeParser());
|
|
34
34
|
option.parsers.unshift(new ENMonthNameParser());
|
|
35
|
-
option.parsers.unshift(new
|
|
35
|
+
option.parsers.unshift(new ITRelativeDateFormatParser());
|
|
36
36
|
option.parsers.unshift(new ENTimeUnitCasualRelativeFormatParser());
|
|
37
37
|
return option;
|
|
38
38
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ParsingContext } from "../../../chrono.js";
|
|
2
2
|
import { ParsingComponents } from "../../../results.js";
|
|
3
3
|
import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
4
|
-
export default class
|
|
4
|
+
export default class ITRelativeDateFormatParser extends AbstractParserWithWordBoundaryChecking {
|
|
5
5
|
innerPattern(): RegExp;
|
|
6
6
|
innerExtract(context: ParsingContext, match: RegExpMatchArray): ParsingComponents;
|
|
7
7
|
}
|
|
@@ -6,7 +6,7 @@ import { matchAnyPattern } from "../../../utils/pattern.js";
|
|
|
6
6
|
const PATTERN = new RegExp(`(questo|ultimo|scorso|prossimo|dopo\\s*questo|questa|ultima|scorsa|prossima\\s*questa)\\s*(${matchAnyPattern(TIME_UNIT_DICTIONARY)})(?=\\s*)` + "(?=\\W|$)", "i");
|
|
7
7
|
const MODIFIER_WORD_GROUP = 1;
|
|
8
8
|
const RELATIVE_WORD_GROUP = 2;
|
|
9
|
-
export default class
|
|
9
|
+
export default class ITRelativeDateFormatParser extends AbstractParserWithWordBoundaryChecking {
|
|
10
10
|
innerPattern() {
|
|
11
11
|
return PATTERN;
|
|
12
12
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WEEKDAY_DICTIONARY } from "../constants.js";
|
|
2
2
|
import { matchAnyPattern } from "../../../utils/pattern.js";
|
|
3
3
|
import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
4
|
-
import { createParsingComponentsAtWeekday } from "../../../
|
|
4
|
+
import { createParsingComponentsAtWeekday } from "../../../calculation/weekdays.js";
|
|
5
5
|
const PATTERN = new RegExp("(?:(?:\\,|\\(|\\()\\s*)?" +
|
|
6
6
|
"(?:il\\s*?)?" +
|
|
7
7
|
"(?:(questa|l'ultima|scorsa|prossima)\\s*)?" +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/it/parsers/ITWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ITWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/it/parsers/ITWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AAEjF,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,0BAA0B;IACtB,cAAc;IACd,4CAA4C;IAC5C,IAAI,eAAe,CAAC,kBAAkB,CAAC,GAAG;IAC1C,0BAA0B;IAC1B,yDAAyD;IACzD,WAAW,EACf,GAAG,CACN,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,sCAAsC;IAC/E,YAAY;QACR,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,YAAY,GAAG,MAAM,IAAI,OAAO,CAAC;QACrC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;QAClC,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAE1C,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,YAAY,IAAI,QAAQ,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;YACvD,QAAQ,GAAG,QAAQ,CAAC;QACxB,CAAC;aAAM,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;YACpC,QAAQ,GAAG,UAAU,CAAC;QAC1B,CAAC;aAAM,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;YAClC,QAAQ,GAAG,QAAQ,CAAC;QACxB,CAAC;QACD,OAAO,gCAAgC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;CACJ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WEEKDAY_OFFSET } from "../constants.js";
|
|
2
|
-
import { createParsingComponentsAtWeekday } from "../../../
|
|
2
|
+
import { createParsingComponentsAtWeekday } from "../../../calculation/weekdays.js";
|
|
3
3
|
const PATTERN = new RegExp("((?<prefix>前の|次の|今週))?(?<weekday>" + Object.keys(WEEKDAY_OFFSET).join("|") + ")(?:曜日|曜)", "i");
|
|
4
4
|
export default class JPWeekdayParser {
|
|
5
5
|
pattern() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JPWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/ja/parsers/JPWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gCAAgC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"JPWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/ja/parsers/JPWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AAEjF,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,mCAAmC,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,EACzF,GAAG,CACN,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,eAAe;IAChC,OAAO;QACH,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,OAAuB,EAAE,KAAuB;QACpD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;QACvC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAEtC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAEzC,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;QAGD,OAAO,gCAAgC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjF,CAAC;CACJ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WEEKDAY_OFFSET } from "../constants.js";
|
|
2
|
-
import { createParsingComponentsAtWeekday } from "../../../
|
|
2
|
+
import { createParsingComponentsAtWeekday } from "../../../calculation/weekdays.js";
|
|
3
3
|
const PATTERN = new RegExp("(?:\\(|\\()(?<weekday>" + Object.keys(WEEKDAY_OFFSET).join("|") + ")(?:\\)|\\))", "i");
|
|
4
4
|
export default class JPWeekdayWithParenthesesParser {
|
|
5
5
|
pattern() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JPWeekdayWithParenthesesParser.js","sourceRoot":"","sources":["../../../../../src/locales/ja/parsers/JPWeekdayWithParenthesesParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gCAAgC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"JPWeekdayWithParenthesesParser.js","sourceRoot":"","sources":["../../../../../src/locales/ja/parsers/JPWeekdayWithParenthesesParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AAEjF,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,CAAC,CAAC;AAQnH,MAAM,CAAC,OAAO,OAAO,8BAA8B;IAC/C,OAAO;QACH,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,OAAuB,EAAE,KAAuB;QACpD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;QACvC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACtC,OAAO,gCAAgC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;CACJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MergingRefiner } from "
|
|
1
|
+
import { MergingRefiner } from "../../../common/abstractRefiners.js";
|
|
2
2
|
import { ParsingResult } from "../../../results.js";
|
|
3
3
|
export default class JPMergeWeekdayComponentRefiner extends MergingRefiner {
|
|
4
4
|
mergeResults(textBetween: string, currentResult: ParsingResult, nextResult: ParsingResult): ParsingResult;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MergingRefiner } from "
|
|
1
|
+
import { MergingRefiner } from "../../../common/abstractRefiners.js";
|
|
2
2
|
export default class JPMergeWeekdayComponentRefiner extends MergingRefiner {
|
|
3
3
|
mergeResults(textBetween, currentResult, nextResult) {
|
|
4
4
|
const newResult = currentResult.clone();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JPMergeWeekdayComponentRefiner.js","sourceRoot":"","sources":["../../../../../src/locales/ja/refiners/JPMergeWeekdayComponentRefiner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"JPMergeWeekdayComponentRefiner.js","sourceRoot":"","sources":["../../../../../src/locales/ja/refiners/JPMergeWeekdayComponentRefiner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AASlE,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,cAAc;IACtE,YAAY,CAAC,WAAmB,EAAE,aAA4B,EAAE,UAAyB;QACrF,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC;QACxC,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,GAAG,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC;QAEpE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACnE,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;YAChB,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,kBAAkB,CAAC,WAAmB,EAAE,aAA4B,EAAE,UAAyB;QAC3F,MAAM,qBAAqB,GACvB,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;YACpC,UAAU,CAAC,KAAK,CAAC,sBAAsB,EAAE;YACzC,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,qBAAqB,IAAI,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC9E,CAAC;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WEEKDAY_DICTIONARY } from "../../nl/constants.js";
|
|
2
2
|
import { matchAnyPattern } from "../../../utils/pattern.js";
|
|
3
3
|
import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
4
|
-
import { createParsingComponentsAtWeekday } from "../../../
|
|
4
|
+
import { createParsingComponentsAtWeekday } from "../../../calculation/weekdays.js";
|
|
5
5
|
const PATTERN = new RegExp("(?:(?:\\,|\\(|\\()\\s*)?" +
|
|
6
6
|
"(?:op\\s*?)?" +
|
|
7
7
|
"(?:(deze|vorige|volgende)\\s*(?:week\\s*)?)?" +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NLWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/nl/parsers/NLWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"NLWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/nl/parsers/NLWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AAEjF,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,0BAA0B;IACtB,cAAc;IACd,8CAA8C;IAC9C,IAAI,eAAe,CAAC,kBAAkB,CAAC,GAAG;IAC1C,WAAW,EACf,GAAG,CACN,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,sCAAsC;IAC/E,YAAY;QACR,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,YAAY,GAAG,MAAM,IAAI,OAAO,CAAC;QACrC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;QAClC,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAE1C,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC3B,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;YACpC,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;YAChC,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;QAED,OAAO,gCAAgC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WEEKDAY_DICTIONARY } from "../constants.js";
|
|
2
2
|
import { matchAnyPattern } from "../../../utils/pattern.js";
|
|
3
3
|
import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
|
|
4
|
-
import { createParsingComponentsAtWeekday } from "../../../
|
|
4
|
+
import { createParsingComponentsAtWeekday } from "../../../calculation/weekdays.js";
|
|
5
5
|
const PATTERN = new RegExp("(?:(?:\\,|\\(|\\()\\s*)?" +
|
|
6
6
|
"(?:(este|esta|passado|pr[oó]ximo)\\s*)?" +
|
|
7
7
|
`(${matchAnyPattern(WEEKDAY_DICTIONARY)})` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PTWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/pt/parsers/PTWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"PTWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/pt/parsers/PTWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AAEjF,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,0BAA0B;IACtB,yCAAyC;IACzC,IAAI,eAAe,CAAC,kBAAkB,CAAC,GAAG;IAC1C,0BAA0B;IAC1B,mDAAmD;IACnD,eAAe,EACnB,GAAG,CACN,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,sCAAsC;IAC/E,YAAY;QACR,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,IAAI,GAAG,MAAM,IAAI,OAAO,IAAI,EAAE,CAAC;QACnC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE1B,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;YACpB,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;YAChD,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACxB,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;QAED,OAAO,gCAAgC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;CACJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WEEKDAY_DICTIONARY } from "../constants.js";
|
|
2
2
|
import { matchAnyPattern } from "../../../utils/pattern.js";
|
|
3
|
-
import { createParsingComponentsAtWeekday } from "../../../
|
|
3
|
+
import { createParsingComponentsAtWeekday } from "../../../calculation/weekdays.js";
|
|
4
4
|
import { AbstractParserWithLeftRightBoundaryChecking } from "./AbstractParserWithWordBoundaryChecking.js";
|
|
5
5
|
const PREFIX_GROUP = 1;
|
|
6
6
|
const WEEKDAY_GROUP = 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RUWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/ru/parsers/RUWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"RUWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/ru/parsers/RUWeekdayParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,2CAA2C,EAAE,MAAM,0CAA0C,CAAC;AAEvG,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,2CAA2C;IACpF,kBAAkB,CAAC,OAAuB;QACtC,OAAO,CACH,sBAAsB;YACtB,aAAa;YACb,oEAAoE;YACpE,IAAI,eAAe,CAAC,kBAAkB,CAAC,GAAG;YAC1C,sBAAsB;YACtB,mDAAmD,CACtD,CAAC;IACN,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,YAAY,GAAG,MAAM,IAAI,OAAO,CAAC;QACrC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;QAClC,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAE1C,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,YAAY,IAAI,SAAS,IAAI,YAAY,IAAI,SAAS,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;YACtF,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IACH,YAAY,IAAI,WAAW;YAC3B,YAAY,IAAI,WAAW;YAC3B,YAAY,IAAI,WAAW;YAC3B,YAAY,IAAI,YAAY,EAC9B,CAAC;YACC,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,YAAY,IAAI,MAAM,IAAI,YAAY,IAAI,KAAK,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;YACnF,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;QAED,OAAO,gCAAgC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;CACJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WEEKDAY_DICTIONARY } from "../constants.js";
|
|
2
2
|
import { matchAnyPattern } from "../../../utils/pattern.js";
|
|
3
|
-
import { createParsingComponentsAtWeekday } from "../../../
|
|
3
|
+
import { createParsingComponentsAtWeekday } from "../../../calculation/weekdays.js";
|
|
4
4
|
import { AbstractParserWithLeftRightBoundaryChecking } from "./AbstractParserWithWordBoundaryChecking.js";
|
|
5
5
|
const PREFIX_GROUP = 1;
|
|
6
6
|
const WEEKDAY_GROUP = 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UKWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/uk/parsers/UKWeekdayParser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"UKWeekdayParser.js","sourceRoot":"","sources":["../../../../../src/locales/uk/parsers/UKWeekdayParser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,2CAA2C,EAAE,MAAM,0CAA0C,CAAC;AAEvG,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,2CAA2C;IACpF,kBAAkB,CAAC,OAAuB;QACtC,OAAO,CACH,sBAAsB;YACtB,aAAa;YACb,aAAa;YACb,yFAAyF;YACzF,IAAI,eAAe,CAAC,kBAAkB,CAAC,GAAG;YAC1C,sBAAsB;YACtB,2DAA2D,CAC9D,CAAC;IACN,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,YAAY,GAAG,MAAM,IAAI,OAAO,CAAC;QACrC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;QAClC,YAAY,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;QAEhD,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IACI,YAAY,IAAI,UAAU;YAC1B,YAAY,IAAI,SAAS;YACzB,YAAY,IAAI,YAAY;YAC5B,YAAY,IAAI,cAAc,EAChC,CAAC;YACC,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,YAAY,IAAI,YAAY,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;YACrE,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,YAAY,IAAI,KAAK,IAAI,YAAY,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;YACrF,QAAQ,GAAG,MAAM,CAAC;QACtB,CAAC;QAED,OAAO,gCAAgC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;CACJ"}
|
package/dist/esm/results.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Component, ParsedComponents, ParsedResult, ParsingReference } from "./types.js";
|
|
2
|
-
import dayjs
|
|
2
|
+
import dayjs from "dayjs";
|
|
3
|
+
import { Duration } from "./calculation/duration.js";
|
|
3
4
|
export declare class ReferenceWithTimezone {
|
|
4
5
|
readonly instant: Date;
|
|
5
6
|
readonly timezoneOffset?: number | null;
|
|
@@ -35,9 +36,7 @@ export declare class ParsingComponents implements ParsedComponents {
|
|
|
35
36
|
addTags(tags: string[] | Set<string>): ParsingComponents;
|
|
36
37
|
tags(): Set<string>;
|
|
37
38
|
private dateWithoutTimezoneAdjustment;
|
|
38
|
-
static createRelativeFromReference(reference: ReferenceWithTimezone,
|
|
39
|
-
[c in QUnitType]?: number;
|
|
40
|
-
}): ParsingComponents;
|
|
39
|
+
static createRelativeFromReference(reference: ReferenceWithTimezone, duration: Duration): ParsingComponents;
|
|
41
40
|
}
|
|
42
41
|
export declare class ParsingResult implements ParsedResult {
|
|
43
42
|
refDate: Date;
|
package/dist/esm/results.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import quarterOfYear from "dayjs/plugin/quarterOfYear.js";
|
|
2
2
|
import dayjs from "dayjs";
|
|
3
|
-
import { assignSimilarDate, assignSimilarTime, implySimilarTime } from "./utils/
|
|
3
|
+
import { assignSimilarDate, assignSimilarTime, implySimilarTime } from "./utils/dates.js";
|
|
4
4
|
import { toTimezoneOffset } from "./timezone.js";
|
|
5
|
+
import { addDuration } from "./calculation/duration.js";
|
|
5
6
|
dayjs.extend(quarterOfYear);
|
|
6
7
|
export class ReferenceWithTimezone {
|
|
7
8
|
instant;
|
|
@@ -161,14 +162,11 @@ export class ParsingComponents {
|
|
|
161
162
|
date.setFullYear(this.get("year"));
|
|
162
163
|
return date;
|
|
163
164
|
}
|
|
164
|
-
static createRelativeFromReference(reference,
|
|
165
|
-
let date =
|
|
166
|
-
for (const key in fragments) {
|
|
167
|
-
date = date.add(fragments[key], key);
|
|
168
|
-
}
|
|
165
|
+
static createRelativeFromReference(reference, duration) {
|
|
166
|
+
let date = addDuration(reference.getDateWithAdjustedTimezone(), duration);
|
|
169
167
|
const components = new ParsingComponents(reference);
|
|
170
168
|
components.addTag("result/relativeDate");
|
|
171
|
-
if (
|
|
169
|
+
if (duration["hour"] || duration["minute"] || duration["second"]) {
|
|
172
170
|
components.addTag("result/relativeDateAndTime");
|
|
173
171
|
assignSimilarTime(components, date);
|
|
174
172
|
assignSimilarDate(components, date);
|
|
@@ -177,30 +175,31 @@ export class ParsingComponents {
|
|
|
177
175
|
else {
|
|
178
176
|
implySimilarTime(components, date);
|
|
179
177
|
components.imply("timezoneOffset", reference.getTimezoneOffset());
|
|
180
|
-
if (
|
|
181
|
-
components.assign("day", date.
|
|
182
|
-
components.assign("month", date.
|
|
183
|
-
components.assign("year", date.
|
|
178
|
+
if (duration["day"]) {
|
|
179
|
+
components.assign("day", date.getDate());
|
|
180
|
+
components.assign("month", date.getMonth() + 1);
|
|
181
|
+
components.assign("year", date.getFullYear());
|
|
182
|
+
components.assign("weekday", date.getDay());
|
|
184
183
|
}
|
|
185
|
-
else if (
|
|
186
|
-
components.assign("day", date.
|
|
187
|
-
components.assign("month", date.
|
|
188
|
-
components.assign("year", date.
|
|
189
|
-
components.imply("weekday", date.
|
|
184
|
+
else if (duration["week"]) {
|
|
185
|
+
components.assign("day", date.getDate());
|
|
186
|
+
components.assign("month", date.getMonth() + 1);
|
|
187
|
+
components.assign("year", date.getFullYear());
|
|
188
|
+
components.imply("weekday", date.getDay());
|
|
190
189
|
}
|
|
191
190
|
else {
|
|
192
|
-
components.imply("day", date.
|
|
193
|
-
if (
|
|
194
|
-
components.assign("month", date.
|
|
195
|
-
components.assign("year", date.
|
|
191
|
+
components.imply("day", date.getDate());
|
|
192
|
+
if (duration["month"]) {
|
|
193
|
+
components.assign("month", date.getMonth() + 1);
|
|
194
|
+
components.assign("year", date.getFullYear());
|
|
196
195
|
}
|
|
197
196
|
else {
|
|
198
|
-
components.imply("month", date.
|
|
199
|
-
if (
|
|
200
|
-
components.assign("year", date.
|
|
197
|
+
components.imply("month", date.getMonth() + 1);
|
|
198
|
+
if (duration["year"]) {
|
|
199
|
+
components.assign("year", date.getFullYear());
|
|
201
200
|
}
|
|
202
201
|
else {
|
|
203
|
-
components.imply("year", date.
|
|
202
|
+
components.imply("year", date.getFullYear());
|
|
204
203
|
}
|
|
205
204
|
}
|
|
206
205
|
}
|