UNPKG

1.2 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 timeunits_1 = require("../../../utils/timeunits");
7const PATTERN = new RegExp("" + "(" + constants_1.TIME_UNITS_PATTERN + ")" + "(?:geleden|voor|eerder)(?=(?:\\W|$))", "i");
8const STRICT_PATTERN = new RegExp("" + "(" + constants_1.TIME_UNITS_PATTERN + ")" + "geleden(?=(?:\\W|$))", "i");
9class NLTimeUnitAgoFormatParser 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 timeUnits = constants_1.parseTimeUnits(match[1]);
19 const outputTimeUnits = timeunits_1.reverseTimeUnits(timeUnits);
20 return results_1.ParsingComponents.createRelativeFromReference(context.reference, outputTimeUnits);
21 }
22}
23exports.default = NLTimeUnitAgoFormatParser;