import A from "./_Symbol.js";
import o from "./_Uint8Array.js";
import b from "./eq.js";
import _ from "./_equalArrays.js";
import v from "./_mapToArray.js";
import d from "./_setToArray.js";
var t = A, y = o, L = b, O = _, E = v, R = d, q = 1, w = 2, B = "[object Boolean]", S = "[object Date]", D = "[object Error]", P = "[object Map]", c = "[object Number]", x = "[object RegExp]", M = "[object Set]", U = "[object String]", V = "[object Symbol]", z = "[object ArrayBuffer]", C = "[object DataView]", g = t ? t.prototype : void 0, n = g ? g.valueOf : void 0;
function G(a, r, l, s, i, u, e) {
  switch (l) {
    case C:
      if (a.byteLength != r.byteLength || a.byteOffset != r.byteOffset)
        return !1;
      a = a.buffer, r = r.buffer;
    case z:
      return !(a.byteLength != r.byteLength || !u(new y(a), new y(r)));
    case B:
    case S:
    case c:
      return L(+a, +r);
    case D:
      return a.name == r.name && a.message == r.message;
    case x:
    case U:
      return a == r + "";
    case P:
      var f = E;
    case M:
      var T = s & q;
      if (f || (f = R), a.size != r.size && !T)
        return !1;
      var m = e.get(a);
      if (m)
        return m == r;
      s |= w, e.set(a, r);
      var p = O(f(a), f(r), s, i, u, e);
      return e.delete(a), p;
    case V:
      if (n)
        return n.call(a) == n.call(r);
  }
  return !1;
}
var K = G;
export {
  K as default
};
//# sourceMappingURL=_equalByTag.js.map
