// NOTICE: This file is generated by Rollup. To modify it, // please instead edit the ESM counterpart and rebuild with Rollup (npm run build). 'use strict'; const validateTypes = require('./validateTypes.cjs'); /** * Check whether the variable is an object and all its properties are one or more values * that satisfy the specified validator(s): * * @example * ignoreProperties = { * value1: ["item11", "item12", "item13"], * value2: "item2", * }; * validateObjectWithArrayProps(isString)(ignoreProperties); * //=> true * * @typedef {(value: unknown) => boolean} Validator * @param {...Validator} validators * @returns {Validator} */ function validateObjectWithArrayProps(...validators) { return (value) => { if (!validateTypes.isPlainObject(value)) { return false; } return Object.values(value) .flat() .every((item) => validators.some((v) => v(item))); }; } module.exports = validateObjectWithArrayProps;