UNPKG

@decaf-ts/for-postgres

Version:
22 lines 2.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.convertJsRegexToPostgres = convertJsRegexToPostgres; /** * Converts a JavaScript RegExp pattern to a PostgreSQL POSIX pattern * @param jsRegex JavaScript RegExp object or pattern string * @returns PostgreSQL compatible regex pattern string */ function convertJsRegexToPostgres(jsRegex) { const rxp = new RegExp(/^\/(.+)\/(\w+)$/g); if (typeof jsRegex === "string") { const match = rxp.exec(jsRegex); if (match) { const [, p, flags] = match; jsRegex = p; } } const regex = typeof jsRegex === "string" ? new RegExp(jsRegex) : jsRegex; const pattern = regex.source; return pattern; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSw0REFjQztBQW5CRDs7OztHQUlHO0FBQ0gsU0FBZ0Isd0JBQXdCLENBQUMsT0FBd0I7SUFDL0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMzQyxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDM0IsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBRTFFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFFN0IsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udmVydHMgYSBKYXZhU2NyaXB0IFJlZ0V4cCBwYXR0ZXJuIHRvIGEgUG9zdGdyZVNRTCBQT1NJWCBwYXR0ZXJuXG4gKiBAcGFyYW0ganNSZWdleCBKYXZhU2NyaXB0IFJlZ0V4cCBvYmplY3Qgb3IgcGF0dGVybiBzdHJpbmdcbiAqIEByZXR1cm5zIFBvc3RncmVTUUwgY29tcGF0aWJsZSByZWdleCBwYXR0ZXJuIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gY29udmVydEpzUmVnZXhUb1Bvc3RncmVzKGpzUmVnZXg6IFJlZ0V4cCB8IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHJ4cCA9IG5ldyBSZWdFeHAoL15cXC8oLispXFwvKFxcdyspJC9nKTtcbiAgaWYgKHR5cGVvZiBqc1JlZ2V4ID09PSBcInN0cmluZ1wiKSB7XG4gICAgY29uc3QgbWF0Y2ggPSByeHAuZXhlYyhqc1JlZ2V4KTtcbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIGNvbnN0IFssIHAsIGZsYWdzXSA9IG1hdGNoO1xuICAgICAganNSZWdleCA9IHA7XG4gICAgfVxuICB9XG4gIGNvbnN0IHJlZ2V4ID0gdHlwZW9mIGpzUmVnZXggPT09IFwic3RyaW5nXCIgPyBuZXcgUmVnRXhwKGpzUmVnZXgpIDoganNSZWdleDtcblxuICBjb25zdCBwYXR0ZXJuID0gcmVnZXguc291cmNlO1xuXG4gIHJldHVybiBwYXR0ZXJuO1xufVxuIl19