From abd94a7f5a50f43c797a11b53549ae48fff667c3 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 10 Oct 2016 03:43:44 +0200 Subject: add node_modules to address #4364 --- .../core-js/modules/es7.string.match-all.js | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 node_modules/core-js/modules/es7.string.match-all.js (limited to 'node_modules/core-js/modules/es7.string.match-all.js') diff --git a/node_modules/core-js/modules/es7.string.match-all.js b/node_modules/core-js/modules/es7.string.match-all.js new file mode 100644 index 000000000..cb0099b36 --- /dev/null +++ b/node_modules/core-js/modules/es7.string.match-all.js @@ -0,0 +1,30 @@ +'use strict'; +// https://tc39.github.io/String.prototype.matchAll/ +var $export = require('./_export') + , defined = require('./_defined') + , toLength = require('./_to-length') + , isRegExp = require('./_is-regexp') + , getFlags = require('./_flags') + , RegExpProto = RegExp.prototype; + +var $RegExpStringIterator = function(regexp, string){ + this._r = regexp; + this._s = string; +}; + +require('./_iter-create')($RegExpStringIterator, 'RegExp String', function next(){ + var match = this._r.exec(this._s); + return {value: match, done: match === null}; +}); + +$export($export.P, 'String', { + matchAll: function matchAll(regexp){ + defined(this); + if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!'); + var S = String(this) + , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp) + , rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags); + rx.lastIndex = toLength(regexp.lastIndex); + return new $RegExpStringIterator(rx, S); + } +}); \ No newline at end of file -- cgit v1.2.3