UNPKG

1.15 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const constants_1 = require("../constants");
4const results_1 = require("../../../results");
5const AbstractParserWithWordBoundary_1 = require("../../../common/parsers/AbstractParserWithWordBoundary");
6const PATTERN = new RegExp("" + "(" + constants_1.TIME_UNITS_PATTERN + ")" + "(later|na|vanaf nu|voortaan|vooruit|uit)" + "(?=(?:\\W|$))", "i");
7const STRICT_PATTERN = new RegExp("" + "(" + constants_1.TIME_UNITS_PATTERN + ")" + "(later|vanaf nu)" + "(?=(?:\\W|$))", "i");
8const GROUP_NUM_TIMEUNITS = 1;
9class NLTimeUnitLaterFormatParser extends AbstractParserWithWordBoundary_1.AbstractParserWithWordBoundaryChecking {
10 constructor(strictMode) {
11 super();
12 this.strictMode = strictMode;
13 }
14 innerPattern() {
15 return this.strictMode ? STRICT_PATTERN : PATTERN;
16 }
17 innerExtract(context, match) {
18 const fragments = constants_1.parseTimeUnits(match[GROUP_NUM_TIMEUNITS]);
19 return results_1.ParsingComponents.createRelativeFromReference(context.reference, fragments);
20 }
21}
22exports.default = NLTimeUnitLaterFormatParser;