UNPKG

@imhonglu/pattern-builder

Version:

Type-safe regular expression pattern builder for TypeScript with fluent API

30 lines 1.3 kB
import { PatternBuilder } from "../pattern-builder/pattern-builder.js"; import { extractPatternSource } from "../utils/extract-pattern-source.js"; /** * Creates a pattern builder for the one of operator. * * @param patterns - The patterns to create the one of operator from. * @returns The pattern builder. * * @example only string * ```ts * oneOf("a", "b", "c"); * // => /a|b|c/ * ``` * * @example pre-defined pattern with pattern * ```ts * oneOf(alpha, digit); * // => /[a-zA-Z]|[\d]/ * ``` * * @example pre-defined pattern with string * ```ts * oneOf(alpha, "0"); * // => /[a-zA-Z]|0/ * ``` */ export function oneOf(...patterns) { return new PatternBuilder(patterns.map(extractPatternSource).join("|")); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLW9mLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhdHRlcm4tZnVuY3Rpb25zL29uZS1vZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFMUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FBQyxHQUFHLFFBQXdCO0lBQy9DLE9BQU8sSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzFFLENBQUMifQ==