UNPKG

regx

Version:

Tagged template string regular expression compiler.

39 lines (30 loc) 1.77 kB
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.regx = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = regx; var trailingComments = /\s+\/\/.*$/gm; var surroundingWhitespace = /^\s+|\s+$/gm; var literalNewlines = /[\r\n]/g; function regx(flags) { return function (strings) { for (var _len = arguments.length, values = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { values[_key - 1] = arguments[_key]; } function toPattern(pattern, rawString, i) { var value = values[i]; if (value === null || value === undefined) { return pattern + rawString; } if (value instanceof RegExp) { value = value.source; } return pattern + rawString + value; } var compiledPattern = strings.raw.reduce(toPattern, '').replace(trailingComments, '').replace(surroundingWhitespace, '').replace(literalNewlines, ''); return new RegExp(compiledPattern, flags); }; } },{}]},{},[1])(1) });