diff options
Diffstat (limited to 'src/util')
| -rw-r--r-- | src/util/object.ts | 30 | 
1 files changed, 0 insertions, 30 deletions
diff --git a/src/util/object.ts b/src/util/object.ts deleted file mode 100644 index 1ecc89b..0000000 --- a/src/util/object.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Simple object check. - */ -export function isObject(item: any) { -    return item && typeof item === "object" && !Array.isArray(item); -} - -/** - * Deep merge two objects. - */ -export function deepMerge<T>( -    target: Record<any, any>, -    ...sources: Record<any, any>[] -): T { -    if (!sources.length) return target; -    const source = sources.shift(); - -    if (isObject(target) && isObject(source)) { -        for (const key in source) { -            if (isObject(source[key])) { -                if (!target[key]) Object.assign(target, { [key]: {} }); -                deepMerge(target[key], source[key]); -            } else { -                Object.assign(target, { [key]: source[key] }); -            } -        } -    } - -    return deepMerge(target, ...sources) as T; -}  | 
