wretch
Version:
A tiny wrapper built around fetch with an intuitive syntax.
32 lines • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.mix = void 0;
exports.extractContentType = extractContentType;
exports.isLikelyJsonMime = isLikelyJsonMime;
function extractContentType(headers = {}) {
const normalizedHeaders = headers instanceof Array ? Object.fromEntries(headers) : headers;
for (const k in normalizedHeaders) {
if (k.toLowerCase() === "content-type")
return normalizedHeaders[k];
}
}
function isLikelyJsonMime(value) {
return /^application\/.*json/.test(value);
}
const mix = (one, two, mergeArrays = false) => {
const acc = { ...one };
for (const key in two) {
if (!Object.prototype.hasOwnProperty.call(two, key))
continue;
const value = one[key];
const newValue = two[key];
acc[key] = Array.isArray(value) && Array.isArray(newValue) ?
mergeArrays ? [...value, ...newValue] : newValue :
typeof value === "object" && typeof newValue === "object" ?
(0, exports.mix)(value, newValue, mergeArrays) :
newValue;
}
return acc;
};
exports.mix = mix;
//# sourceMappingURL=utils.js.map