UNPKG

@valkyriestudios/validator

Version:

A lightweight configurable javascript validator

23 lines (22 loc) 773 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.vIn = vIn; exports.default = vIn; const fnv1A_1 = require("@valkyriestudios/utils/hash/fnv1A"); const memoize_1 = require("@valkyriestudios/utils/caching/memoize"); const memoizedHashParams = (0, memoize_1.memoize)((params) => { const hashed = []; for (const el of params) hashed.push((0, fnv1A_1.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((0, fnv1A_1.fnv1A)(val)) > -1; }