UNPKG

chrono-node

Version:

A natural language date parser in Javascript

25 lines 894 B
export function repeatedTimeunitPattern(prefix, singleTimeunitPattern, connectorPattern = "\\s{0,5},?\\s{0,5}") { const singleTimeunitPatternNoCapture = singleTimeunitPattern.replace(/\((?!\?)/g, "(?:"); return `${prefix}${singleTimeunitPatternNoCapture}(?:${connectorPattern}${singleTimeunitPatternNoCapture}){0,10}`; } export 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; } export function matchAnyPattern(dictionary) { const joinedTerms = extractTerms(dictionary) .sort((a, b) => b.length - a.length) .join("|") .replace(/\./g, "\\."); return `(?:${joinedTerms})`; } //# sourceMappingURL=pattern.js.map