UNPKG

abolish

Version:

A javascript object validator.

29 lines (28 loc) 1.11 kB
"use strict"; const functions_1 = require("../../src/functions"); const types_checker_1 = require("../../src/types-checker"); module.exports = { name: "arrayValuesAsync", isAsync: true, error: ":param array values does not match the expected types", validator: async (arr, rule, { error, abolish, modifier }) => { (0, types_checker_1.assertType)(arr, "array", `arrayValuesAsync values`); (0, types_checker_1.assertType)(rule, ["string", "array", "object"]); if (typeof rule === "string" || Array.isArray(rule)) { rule = (0, functions_1.Rule)(rule); } // loop through the array and check if the values are of the given types // using abolish const newArray = []; for (let i = 0; i < arr.length; i++) { const [err, validated] = await abolish.checkAsync(arr[i], { $name: `arrayValues[${i}]`, ...rule }); if (err) return error(err.message, err); newArray.push(validated); } modifier.setThis(newArray); } };