Sha256: aa4cb7a6d7e1836cad2578e64a2d53df93f7fd25e510e7339bec19ab44e675fe
Contents?: true
Size: 961 Bytes
Versions: 375
Compression:
Stored size: 961 Bytes
Contents
/* global matches */ /** * Check if some value matches * * ```js * match.fromPrimative('foo', 'foo') // true, string is the same * match.fromPrimative('foo', ['foo', 'bar']) // true, string is included * match.fromPrimative('foo', /foo/) // true, string matches regex * match.fromPrimative('foo', str => str.toUpperCase() === 'FOO') // true, function return is truthy * ``` * * @private * @param {String|Boolean|Array|Number|Null|Undefined} someString * @param {String|RegExp|Function|Array<String>|Null|Undefined} matcher * @returns {Boolean} */ matches.fromPrimative = function matchFromPrimative(someString, matcher) { const matcherType = typeof matcher; if (Array.isArray(matcher) && typeof someString !== 'undefined') { return matcher.includes(someString); } if (matcherType === 'function') { return !!matcher(someString); } if (matcher instanceof RegExp) { return matcher.test(someString); } return matcher === someString; };
Version data entries
375 entries across 375 versions & 1 rubygems