UNPKG

node-libcurl-ja3

Version:

Node.js native bindings for libcurl-impersonate. Impersonate Chrome, Edge, Firefox and Safari TLS fingerprints.

36 lines 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseHeaders = exports.deepMerge = void 0; function deepMerge(...objects) { return objects.reduce((res, cur) => { if (cur) { ; Object.keys(cur).forEach((key) => { const resVal = res[key]; const curVal = cur[key]; if (isObject(resVal) && isObject(curVal)) { // deep merge objects res[key] = deepMerge(resVal, curVal); } else { // replace arrays and primitives res[key] = curVal; } }); } return res; }, {}); } exports.deepMerge = deepMerge; function isObject(value) { return value && typeof value === 'object' && !Array.isArray(value); } function parseHeaders(headers) { return headers.reduce((obj, header) => { const [key, value] = header.replace(/: */, '\0').split('\0', 2); obj[key] = value; return obj; }, {}); } exports.parseHeaders = parseHeaders; //# sourceMappingURL=util.js.map