export type Modify = Omit & R; export const hasKey = (obj: T, k: keyof any): k is keyof T => k in obj; export const cloneObjDeep = (obj: T): T => { const duplicateObj = {} as T; for (const key in obj) { if(typeof obj[key] === 'object') { duplicateObj[key] = cloneObjDeep(obj[key]); } else { duplicateObj[key] = obj[key]; } } return duplicateObj; }