UNPKG

@valkyriestudios/validator

Version:

A lightweight configurable javascript validator

20 lines (19 loc) 639 B
import { fnv1A } from '@valkyriestudios/utils/hash/fnv1A'; import { memoize } from '@valkyriestudios/utils/caching/memoize'; const memoizedHashParams = memoize((params) => { const hashed = []; for (const el of params) hashed.push(fnv1A(el)); return hashed; }); function vIn(val, params) { if (!Array.isArray(params) || params.length === 0) return false; if (typeof val === 'string' || Number.isFinite(val) || val === true || val === false) return params.indexOf(val) > -1; return memoizedHashParams(params).indexOf(fnv1A(val)) > -1; } export { vIn, vIn as default };