UNPKG

test-openapi

Version:
39 lines (30 loc) 856 B
'use strict' const { STATUS_REGEXP } = require('./status') // Make `validate.[STATUS.]headers.*` case-insensitive // Also remove `undefined` validate values const normalizeValidate = function({ validate }) { return normalizeObject(validate) } const normalizeObject = function(object) { const validateA = Object.entries(object) .filter(isDefined) .map(normalizeKeys) const validateB = Object.assign({}, ...validateA) return validateB } const isDefined = function([, value]) { return value !== undefined } const normalizeKeys = function([name, value]) { // Recurse over `validate.STATUS.*` if (STATUS_REGEXP.test(name)) { return { [name]: normalizeObject(value) } } if (!name.startsWith('headers.')) { return { [name]: value } } return { [name.toLowerCase()]: value } } module.exports = { normalizeValidate, }