|                                               |  | import { isBuffer } from './isBuffer';
export const deepCopy = obj => {  if (obj === null || typeof obj !== 'object') {    return obj;  }  if (isBuffer(obj)) {    return obj.slice();  }
  const copy = Array.isArray(obj) ? [] : {};
  Object.keys(obj).forEach(key => {    copy[key] = deepCopy(obj[key]);  });
  return copy;};
export const deepCopyWith = (obj: any, customizer?: (v: any, k: string, o: any) => any) => {  function deepCopyWithHelper(value: any, innerKey: string, innerObject: any) {    const result = customizer!(value, innerKey, innerObject);    if (result !== undefined) return result;
    if (value === null || typeof value !== 'object') {      return value;    }
    if (isBuffer(value)) {      return value.slice();    }
    const copy = Array.isArray(value) ? [] : {};
    Object.keys(value).forEach(k => {      copy[k] = deepCopyWithHelper(value[k], k, value);    });
    return copy;  }
  if (customizer) {    return deepCopyWithHelper(obj, '', null);  } else {    return deepCopy(obj);  }};
 |