UNPKG

chrono-node

Version:

A natural language date parser in Javascript

31 lines 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.matchAnyPattern = exports.extractTerms = exports.repeatedTimeunitPattern = void 0; function repeatedTimeunitPattern(prefix, singleTimeunitPattern, connectorPattern = "\\s{0,5},?\\s{0,5}") { const singleTimeunitPatternNoCapture = singleTimeunitPattern.replace(/\((?!\?)/g, "(?:"); return `${prefix}${singleTimeunitPatternNoCapture}(?:${connectorPattern}${singleTimeunitPatternNoCapture}){0,10}`; } exports.repeatedTimeunitPattern = repeatedTimeunitPattern; function extractTerms(dictionary) { let keys; if (dictionary instanceof Array) { keys = [...dictionary]; } else if (dictionary instanceof Map) { keys = Array.from(dictionary.keys()); } else { keys = Object.keys(dictionary); } return keys; } exports.extractTerms = extractTerms; function matchAnyPattern(dictionary) { const joinedTerms = extractTerms(dictionary) .sort((a, b) => b.length - a.length) .join("|") .replace(/\./g, "\\."); return `(?:${joinedTerms})`; } exports.matchAnyPattern = matchAnyPattern; //# sourceMappingURL=pattern.js.map