UNPKG

vue-app-sdk

Version:
60 lines (59 loc) 2.48 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const _Symbol = require("./_Symbol.cjs"); const _Uint8Array = require("./_Uint8Array.cjs"); const eq = require("./eq.cjs"); const _equalArrays = require("./_equalArrays.cjs"); const _mapToArray = require("./_mapToArray.cjs"); const _setToArray = require("./_setToArray.cjs"); var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2; var boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", mapTag = "[object Map]", numberTag = "[object Number]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]"; var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]"; var symbolProto = _Symbol.default ? _Symbol.default.prototype : void 0, symbolValueOf = symbolProto ? symbolProto.valueOf : void 0; function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { switch (tag) { case dataViewTag: if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { return false; } object = object.buffer; other = other.buffer; case arrayBufferTag: if (object.byteLength != other.byteLength || !equalFunc(new _Uint8Array.default(object), new _Uint8Array.default(other))) { return false; } return true; case boolTag: case dateTag: case numberTag: return eq.default(+object, +other); case errorTag: return object.name == other.name && object.message == other.message; case regexpTag: case stringTag: return object == other + ""; case mapTag: var convert = _mapToArray.default; case setTag: var isPartial = bitmask & COMPARE_PARTIAL_FLAG; convert || (convert = _setToArray.default); if (object.size != other.size && !isPartial) { return false; } var stacked = stack.get(object); if (stacked) { return stacked == other; } bitmask |= COMPARE_UNORDERED_FLAG; stack.set(object, other); var result = _equalArrays.default(convert(object), convert(other), bitmask, customizer, equalFunc, stack); stack["delete"](object); return result; case symbolTag: if (symbolValueOf) { return symbolValueOf.call(object) == symbolValueOf.call(other); } } return false; } exports.default = equalByTag;