UNPKG

jet-validators

Version:

Fast, zero-dependency TypeScript validators and utilities for runtime checks, parsing, and lightweight object schema validation.

27 lines (26 loc) 733 B
import { markSafe } from '../utils/parseObject/mark-safe.js'; export function isInArray(arg) { return isInArrayCore(arg, false, false); } export function isOptionalInArray(arg) { return isInArrayCore(arg, true, false); } export function isNullableInArray(arg) { return isInArrayCore(arg, false, true); } export function isNullishInArray(arg) { return isInArrayCore(arg, true, true); } function isInArrayCore(arr, optional, nullable) { const lookup = new Set(arr); const validator = (arg) => { if (arg === undefined) { return !!optional; } if (arg === null) { return !!nullable; } return lookup.has(arg); }; return markSafe(validator); }