UNPKG

chrono-node

Version:

A natural language date parser in Javascript

33 lines 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AbstractParserWithWordBoundaryChecking = void 0; class AbstractParserWithWordBoundaryChecking { constructor() { this.cachedInnerPattern = null; this.cachedPattern = null; } patternLeftBoundary() { return `(\\W|^)`; } pattern(context) { const innerPattern = this.innerPattern(context); if (innerPattern == this.cachedInnerPattern) { return this.cachedPattern; } this.cachedPattern = new RegExp(`${this.patternLeftBoundary()}${innerPattern.source}`, innerPattern.flags); this.cachedInnerPattern = innerPattern; return this.cachedPattern; } extract(context, match) { var _a; const header = (_a = match[1]) !== null && _a !== void 0 ? _a : ""; match.index = match.index + header.length; match[0] = match[0].substring(header.length); for (let i = 2; i < match.length; i++) { match[i - 1] = match[i]; } return this.innerExtract(context, match); } } exports.AbstractParserWithWordBoundaryChecking = AbstractParserWithWordBoundaryChecking; //# sourceMappingURL=AbstractParserWithWordBoundary.js.map