verificator
Version:
Client and server-side validation JavaScript library
41 lines (33 loc) • 1.16 kB
JavaScript
;
exports.__esModule = true;
var _escape = require('./escape');
var _escape2 = _interopRequireDefault(_escape);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var is = function is(patterns, value) {
patterns = Array.isArray(patterns) ? patterns : [patterns];
patterns = patterns.filter(Boolean);
if (patterns.length === 0) {
return false;
}
for (var _iterator = patterns, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var pattern = _ref;
if (pattern === value) {
return true;
}
var regex = new RegExp('^' + (0, _escape2['default'])(pattern).replace(/\\\*/g, '.*') + '$', 'u');
if (regex.test(value)) {
return true;
}
}
return false;
};
exports['default'] = is;