UNPKG

ll-package

Version:

2 lines (1 loc) 836 B
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const L=require("./_getAllKeys.js");var q=1,R=Object.prototype,T=R.hasOwnProperty;function x(r,n,O,i,S,e){var l=O&q,g=L.default(r),p=g.length,M=L.default(n),c=M.length;if(p!=c&&!l)return!1;for(var a=p;a--;){var f=g[a];if(!(l?f in n:T.call(n,f)))return!1}var A=e.get(r),_=e.get(n);if(A&&_)return A==n&&_==r;var u=!0;e.set(r,n),e.set(n,r);for(var P=l;++a<p;){f=g[a];var s=r[f],v=n[f];if(i)var w=l?i(v,s,f,n,r,e):i(s,v,f,r,n,e);if(!(w===void 0?s===v||S(s,v,O,i,e):w)){u=!1;break}P||(P=f=="constructor")}if(u&&!P){var t=r.constructor,d=n.constructor;t!=d&&"constructor"in r&&"constructor"in n&&!(typeof t=="function"&&t instanceof t&&typeof d=="function"&&d instanceof d)&&(u=!1)}return e.delete(r),e.delete(n),u}exports.default=x;