const u=t=>t instanceof Date,b=t=>Object.keys(t).length===0,i=t=>t!=null&&typeof t=="object",c=(t,...e)=>Object.prototype.hasOwnProperty.call(t,...e),f=t=>i(t)&&b(t),d=()=>Object.create(null),j=(t,e)=>{if(t===e)return{};if(!i(t)||!i(e))return e;const O=Object.keys(t).reduce((r,n)=>(c(e,n)||(r[n]=void 0),r),d());return u(t)||u(e)?t.valueOf()==e.valueOf()?{}:e:Object.keys(e).reduce((r,n)=>{if(!c(t,n))return r[n]=e[n],r;const o=j(t[n],e[n]);return f(o)&&!u(o)&&(f(t[n])||!f(e[n]))||(r[n]=o),r},O)};export{j as d};
