You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					22 lines
				
				615 B
			
		
		
			
		
	
	
					22 lines
				
				615 B
			| 
											3 years ago
										 | 'use strict'; | ||
|  | 
 | ||
|  | var classof = require('./_classof'); | ||
|  | var builtinExec = RegExp.prototype.exec; | ||
|  | 
 | ||
|  |  // `RegExpExec` abstract operation
 | ||
|  | // https://tc39.github.io/ecma262/#sec-regexpexec
 | ||
|  | module.exports = function (R, S) { | ||
|  |   var exec = R.exec; | ||
|  |   if (typeof exec === 'function') { | ||
|  |     var result = exec.call(R, S); | ||
|  |     if (typeof result !== 'object') { | ||
|  |       throw new TypeError('RegExp exec method returned something other than an Object or null'); | ||
|  |     } | ||
|  |     return result; | ||
|  |   } | ||
|  |   if (classof(R) !== 'RegExp') { | ||
|  |     throw new TypeError('RegExp#exec called on incompatible receiver'); | ||
|  |   } | ||
|  |   return builtinExec.call(R, S); | ||
|  | }; |