merge-headers
Version:
Easily merge HTTP headers
23 lines (22 loc) • 650 B
JavaScript
function isObject(value) {
return value !== null && typeof value === 'object';
}
function merge(...sources) {
const result = {};
for (const source of sources) {
if (!isObject(source)) {
throw new TypeError('All arguments must be of type object');
}
const headers = new Headers(source);
for (const [key, value] of headers.entries()) {
if ((value === undefined || value === 'undefined')) {
delete result[key];
}
else {
result[key] = value;
}
}
}
return new Headers(result);
}
module.exports = merge;