verificator
Version:
Client and server-side validation JavaScript library
27 lines (19 loc) • 566 B
text/typescript
import escape from './escape'
const is = (patterns: string|string[], value: string): boolean => {
patterns = Array.isArray(patterns) ? patterns : [patterns]
patterns = patterns.filter(Boolean)
if (patterns.length === 0) {
return false
}
for (let pattern of patterns) {
if (pattern === value) {
return true
}
const regex = new RegExp(`^${escape(pattern).replace(/\\\*/g, '.*')}$`, 'u')
if (regex.test(value)) {
return true
}
}
return false
}
export default is