UNPKG

qrcode-vue3

Version:

Add a style and an image to your QR code Vue3

26 lines (21 loc) 1.01 kB
/* eslint-disable @typescript-eslint/no-unsafe-assignment */ import type { UnknownObject } from "../types"; const isObject = (obj: Record<string, unknown>): boolean => !!obj && typeof obj === "object" && !Array.isArray(obj); export default function mergeDeep(target: UnknownObject, ...sources: UnknownObject[]): UnknownObject { if (!sources.length) return target; const source = sources.shift(); if (source === undefined || !isObject(target) || !isObject(source)) return target; target = { ...target }; Object.keys(source).forEach((key: string): void => { const targetValue = target[key]; const sourceValue = source[key]; if (Array.isArray(targetValue) && Array.isArray(sourceValue)) { target[key] = sourceValue; } else if (isObject(targetValue) && isObject(sourceValue)) { target[key] = mergeDeep(Object.assign({}, targetValue), sourceValue); } else { target[key] = sourceValue; } }); return mergeDeep(target, ...sources); }