UNPKG

chrono-node

Version:

A natural language date parser in Javascript

30 lines 1.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.repeatedTimeunitPattern = repeatedTimeunitPattern; exports.extractTerms = extractTerms; exports.matchAnyPattern = matchAnyPattern; function repeatedTimeunitPattern(prefix, singleTimeunitPattern, connectorPattern = "\\s{0,5},?\\s{0,5}") { const singleTimeunitPatternNoCapture = singleTimeunitPattern.replace(/\((?!\?)/g, "(?:"); return `${prefix}${singleTimeunitPatternNoCapture}(?:${connectorPattern}${singleTimeunitPatternNoCapture}){0,10}`; } 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; } function matchAnyPattern(dictionary) { const joinedTerms = extractTerms(dictionary) .sort((a, b) => b.length - a.length) .join("|") .replace(/\./g, "\\."); return `(?:${joinedTerms})`; } //# sourceMappingURL=pattern.js.map