UNPKG

abolish

Version:

A javascript object validator.

24 lines (23 loc) 1 kB
"use strict"; const functions_1 = require("../../src/functions"); const types_checker_1 = require("../../src/types-checker"); module.exports = { name: "objectValuesAsync", error: ":param object values does not match the expected types", isAsync: true, validator: async (obj, rule, { error, abolish }) => { (0, types_checker_1.assertType)(obj, "object", `[objectValuesAsync] value`); (0, types_checker_1.assertType)(rule, ["string", "array", "object"], `[objectValuesAsync] rule`); if (typeof rule === "string" || Array.isArray(rule)) { rule = (0, functions_1.Rule)(rule); } // loop through the object and check if the values are of the given types // using abolish for (let key in obj) { const result = await abolish.checkAsync(obj[key], rule); if (result[0]) return error(result[0].message, result[0]).setCode(`key|${key}`); obj[key] = result[1]; } } };