Please enable JavaScript to use RhodeCode Enterprise
Commit Description:
submission report
Commit Description:
submission report
'use strict' ;
var GetIntrinsic = require ( '../GetIntrinsic' );
var $TypeError = GetIntrinsic ( '%TypeError%' );
var regexExec = require ( '../helpers/callBound' )( 'RegExp.prototype.exec' );
var Call = require ( './Call' );
var Get = require ( './Get' );
var IsCallable = require ( './IsCallable' );
var Type = require ( './Type' );
// https://ecma-international.org/ecma-262/6.0/#sec-regexpexec
module . exports = function RegExpExec ( R , S ) {
if ( Type ( R ) !== 'Object' ) {
throw new $TypeError ( 'Assertion failed: `R` must be an Object' );
}
if ( Type ( S ) !== 'String' ) {
throw new $TypeError ( 'Assertion failed: `S` must be a String' );
}
var exec = Get ( R , 'exec' );
if ( IsCallable ( exec )) {
var result = Call ( exec , R , [ S ]);
if ( result === null || Type ( result ) === 'Object' ) {
return result ;
}
throw new $TypeError ( '"exec" method must return `null` or an Object' );
}
return regexExec ( R , S );
};
Site-wide shortcuts
/
Use quick search box
g h
Goto home page
g g
Goto my private gists page
g G
Goto my public gists page
n r
New repository page
n g
New gist page
Repositories
g s
Goto summary page
g c
Goto changelog page
g f
Goto files page
g F
Goto files page with file search activated
g p
Goto pull requests page
g o
Goto repository settings
g O
Goto repository permissions settings