UNPKG

@openapi-qraft/react

Version:

OpenAPI client for React, providing type-safe requests and dynamic TanStack Query React Hooks via a modular, Proxy-based architecture.

36 lines (30 loc) 749 B
/** * Merges objects with provided depth * @param depth * @param args */ export function shelfMerge<T>(depth = 2, ...args: T[]): T { return args.reduce((acc, arg) => { if (!arg || typeof arg !== 'object') return acc; Object.entries(arg).forEach(([key, value]) => { if (typeof value !== 'object') { acc[key as never] = value as never; return; } if (Array.isArray(value)) { acc[key as never] = value as never; return; } if (depth > 1) { acc[key as never] = shelfMerge( depth - 1, acc[key as never], value ) as never; return; } acc[key as never] = value as never; }); return acc; }, {} as T); }