UNPKG

@glyph-cat/equality

Version:
2 lines (1 loc) 762 B
"use strict";function r(r,t){if(Array.isArray(r)&&Array.isArray(t)){if(r.length!==t.length)return!1;for(let e=0;e<r.length;e++)if(!Object.is(r[e],t[e]))return!1;return!0}return Object.is(r,t)}function t(r){return"object"==typeof r&&!Object.is(r,null)}function e(r,e){if(t(r)&&t(e)){const t=Object.keys(r),n=Object.keys(e);if(t.length!==n.length)return!1;for(let u=0;u<t.length;u++){const c=t[u],o=n[u];if(c!==o)return!1;if(!Object.is(r[c],e[o]))return!1}return!0}return Object.is(r,e)}exports.shallowCompareArray=r,exports.shallowCompareArrayOrObject=function(t,n){const u=Array.isArray(t),c=Array.isArray(n);return u===c&&(u&&c?r(t,n):e(t,n))},exports.shallowCompareObject=e,exports.stringifyCompare=function(r,t){return JSON.stringify(r)===JSON.stringify(t)};