@imhonglu/pattern-builder
Version:
Type-safe regular expression pattern builder for TypeScript with fluent API
30 lines • 1.3 kB
JavaScript
import { PatternBuilder } from "../pattern-builder/pattern-builder.js";
import { extractPatternSource } from "../utils/extract-pattern-source.js";
/**
* Creates a pattern builder for the concat operator.
*
* @param patterns - The patterns to create the concat operator from.
* @returns The pattern builder.
*
* @example only string
* ```ts
* concat("a", "b", "c");
* // => /abc/
* ```
*
* @example pre-defined pattern with pattern
* ```ts
* concat(alpha, digit);
* // => /[a-zA-Z][\d]/
* ```
*
* @example pre-defined pattern with string
* ```ts
* concat(alpha, "0");
* // => /[a-zA-Z]0/
* ```
*/
export function concat(...patterns) {
return new PatternBuilder(patterns.map(extractPatternSource).join(""));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2F0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhdHRlcm4tZnVuY3Rpb25zL2NvbmNhdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFMUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FBQyxHQUFHLFFBQXdCO0lBQ2hELE9BQU8sSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3pFLENBQUMifQ==