UNPKG

@svengroup/openapi-to-pdf

Version:

Create PDF API reference documentation from OpenAPI 3.0.x specification files.

29 lines (28 loc) 1.2 kB
"use strict"; /* eslint-disable */ Object.defineProperty(exports, "__esModule", { value: true }); exports.deepMerge = deepMerge; function deepMerge(master, slave) { if (Array.isArray(slave) && Array.isArray(master)) { return [...slave, ...master]; // Properly merge arrays without converting to objects } if (typeof slave === "object" && slave && typeof master === "object" && master) { const merged = { ...slave }; // Clone slave for (const key in master) { if (master.hasOwnProperty(key)) { if (Array.isArray(master[key]) || Array.isArray(slave[key])) { // Ensure arrays remain arrays merged[key] = Array.isArray(slave[key]) && Array.isArray(master[key]) ? [...slave[key], ...master[key]] : master[key]; // If one is not an array, master value wins } else { merged[key] = deepMerge(master[key], slave[key] ?? undefined); // Recursively merge objects } } } return merged; } return master ?? slave; // Overwrite primitive values }