33 lines
839 B
JavaScript
33 lines
839 B
JavaScript
|
import _cloneRegExp from "./internal/_cloneRegExp.js";
|
|||
|
import _curry2 from "./internal/_curry2.js";
|
|||
|
import _isRegExp from "./internal/_isRegExp.js";
|
|||
|
import toString from "./toString.js";
|
|||
|
/**
|
|||
|
* Determines whether a given string matches a given regular expression.
|
|||
|
*
|
|||
|
* @func
|
|||
|
* @memberOf R
|
|||
|
* @since v0.12.0
|
|||
|
* @category String
|
|||
|
* @sig RegExp -> String -> Boolean
|
|||
|
* @param {RegExp} pattern
|
|||
|
* @param {String} str
|
|||
|
* @return {Boolean}
|
|||
|
* @see R.match
|
|||
|
* @example
|
|||
|
*
|
|||
|
* R.test(/^x/, 'xyz'); //=> true
|
|||
|
* R.test(/^y/, 'xyz'); //=> false
|
|||
|
*/
|
|||
|
|
|||
|
var test =
|
|||
|
/*#__PURE__*/
|
|||
|
_curry2(function test(pattern, str) {
|
|||
|
if (!_isRegExp(pattern)) {
|
|||
|
throw new TypeError('‘test’ requires a value of type RegExp as its first argument; received ' + toString(pattern));
|
|||
|
}
|
|||
|
|
|||
|
return _cloneRegExp(pattern).test(str);
|
|||
|
});
|
|||
|
|
|||
|
export default test;
|