ts-regex-builder
Version:
Maintainable regular expressions for TypeScript and JavaScript.
15 lines • 477 B
JavaScript
import { encode } from "../encoder.mjs";
export function choiceOf(...alternatives) {
if (alternatives.length === 0) {
throw new Error('Expected at least one alternative');
}
const encodedAlternatives = alternatives.map(c => encode(c));
if (encodedAlternatives.length === 1) {
return encodedAlternatives[0];
}
return {
precedence: 'disjunction',
pattern: encodedAlternatives.map(n => n.pattern).join('|')
};
}
//# sourceMappingURL=choice-of.mjs.map