Sha256: 0eb58afa51021cf1a39e883de1bf231062a9e06d40c5fe272c5ae41e85424046
Contents?: true
Size: 1.37 KB
Versions: 31
Compression:
Stored size: 1.37 KB
Contents
/* */ var $ = require('./$'), global = require('./$.global'), cof = require('./$.cof'), $flags = require('./$.flags'), $RegExp = global.RegExp, Base = $RegExp, proto = $RegExp.prototype, re = /a/g, CORRECT_NEW = new $RegExp(re) !== re, ALLOWS_RE_WITH_FLAGS = function() { try { return $RegExp(re, 'i') == '/a/i'; } catch (e) {} }(); if (require('./$.support-desc')) { if (!CORRECT_NEW || !ALLOWS_RE_WITH_FLAGS) { $RegExp = function RegExp(pattern, flags) { var patternIsRegExp = cof(pattern) == 'RegExp', flagsIsUndefined = flags === undefined; if (!(this instanceof $RegExp) && patternIsRegExp && flagsIsUndefined) return pattern; return CORRECT_NEW ? new Base(patternIsRegExp && !flagsIsUndefined ? pattern.source : pattern, flags) : new Base(patternIsRegExp ? pattern.source : pattern, patternIsRegExp && flagsIsUndefined ? $flags.call(pattern) : flags); }; $.each.call($.getNames(Base), function(key) { key in $RegExp || $.setDesc($RegExp, key, { configurable: true, get: function() { return Base[key]; }, set: function(it) { Base[key] = it; } }); }); proto.constructor = $RegExp; $RegExp.prototype = proto; require('./$.redef')(global, 'RegExp', $RegExp); } } require('./$.species')($RegExp);
Version data entries
31 entries across 31 versions & 1 rubygems