UNPKG

tiny-is-equal

Version:

Tiny & Fast is-equal check with various ES6 objects.

1 lines 1.88 kB
"use strict";var e={};e.d=function(r,t){for(var n in t)e.o(t,n)&&!e.o(r,n)&&Object.defineProperty(r,n,{enumerable:!0,get:t[n]})},e.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},e.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};e.r(r),e.d(r,{default:function(){return n}});const t=(e,r)=>{if(e===r||Object.is(e,r))return!0;if(typeof e!=typeof r)return!1;if(Array.isArray(e)&&Array.isArray(r)){if(e.length!==r.length)return!1;for(let n=0;n<e.length;n++)if(!t(e[n],r[n]))return!1;return!0}if(e.constructor!==r.constructor)return!1;switch(e.constructor){case Date:return e.valueOf()===r.valueOf();case Set:if(e.size!==r.size)return!1;for(let n of e)if("object"==typeof n&&null!==n){let e=!1;for(let f of r)if("object"==typeof f&&t(n,f)){e=!0;break}if(!e)return!1}else if(!r.has(n))return!1;return!0;case Map:if(e.size!==r.size)return!1;for(let[n,f]of e)if(!r.has(n)||!t(f,r.get(n)))return!1;return!0;case RegExp:return e.source===r.source&&e.flags===r.flags;case ArrayBuffer:if(e.byteLength!==r.byteLength)return!1;return t(new Uint8Array(e),new Uint8Array(r));case Error:return e.name===r.name&&e.message===r.message;case DataView:if(e.byteLength!==r.byteLength||e.byteOffset!==r.byteOffset)return!1;for(let t=0;t<e.byteLength;t++)if(e.getUint8(t)!==r.getUint8(t))return!1;return!0;case Function:return e.toString()===r.toString();case Object:if(Object.keys(e).length!==Object.keys(r).length)return!1;for(let n in e)if(!Object.hasOwn(r,n)||!t(e[n],r[n]))return!1;return!0;default:if(ArrayBuffer.isView(e)){if(e.length!==r.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!==r[t])return!1;return!0}}return e!=e&&r!=r},n=t;var f=exports;for(var u in r)f[u]=r[u];r.__esModule&&Object.defineProperty(f,"__esModule",{value:!0});