UNPKG

@knax/backend-utils

Version:

27 lines 2.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // @ts-ignore const Validator = require("fastest-validator"); exports.validate = (config, body) => { let schema = config.schema; if (config.optionals) { schema = Object.keys(schema).reduce((all, k) => { const optional = config.optionals === '*' ? true : (config.optionals.indexOf(k) >= 0); return Object.assign(Object.assign({}, all), { [k]: Object.assign(Object.assign({}, schema[k]), { optional }) }); }, {}); } // @ts-ignore const v = new Validator(config.config); const result = v.compile(schema)(body); if (Array.isArray(result)) { throw { message: 'Validation Error', type: 'QueryValidationError', detail: result }; } else { return body; } }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsYUFBYTtBQUNiLCtDQUErQztBQVFsQyxRQUFBLFFBQVEsR0FBRyxDQUFDLE1BQXdCLEVBQUUsSUFBUyxFQUFFLEVBQUU7SUFFNUQsSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUUzQixJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDbEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBRTNDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFFdEYsdUNBQ08sR0FBRyxLQUNOLENBQUMsQ0FBQyxDQUFDLGtDQUNJLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FDWixRQUFRLE9BRWQ7UUFDTixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDVjtJQUVELGFBQWE7SUFDYixNQUFNLENBQUMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV2QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDdkIsTUFBTztZQUNILE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsSUFBSSxFQUFFLHNCQUFzQjtZQUM1QixNQUFNLEVBQUUsTUFBTTtTQUNqQixDQUFDO0tBQ0w7U0FBTTtRQUNILE9BQU8sSUFBSSxDQUFDO0tBQ2Y7QUFDTCxDQUFDLENBQUMifQ==