"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const _DataView = require("./_DataView2.cjs");
const _Map = require("./_Map2.cjs");
const _Promise = require("./_Promise2.cjs");
const _Set = require("./_Set2.cjs");
const _WeakMap = require("./_WeakMap2.cjs");
const _baseGetTag = require("./_baseGetTag2.cjs");
const _toSource = require("./_toSource2.cjs");
var mapTag = "[object Map]", objectTag = "[object Object]", promiseTag = "[object Promise]", setTag = "[object Set]", weakMapTag = "[object WeakMap]";
var dataViewTag = "[object DataView]";
var dataViewCtorString = _toSource.default(_DataView.default), mapCtorString = _toSource.default(_Map.default), promiseCtorString = _toSource.default(_Promise.default), setCtorString = _toSource.default(_Set.default), weakMapCtorString = _toSource.default(_WeakMap.default);
exports.default = _baseGetTag.default;
if (_DataView.default && exports.default(new _DataView.default(new ArrayBuffer(1))) != dataViewTag || _Map.default && exports.default(new _Map.default()) != mapTag || _Promise.default && exports.default(_Promise.default.resolve()) != promiseTag || _Set.default && exports.default(new _Set.default()) != setTag || _WeakMap.default && exports.default(new _WeakMap.default()) != weakMapTag) {
  exports.default = function(value) {
    var result = _baseGetTag.default(value), Ctor = result == objectTag ? value.constructor : void 0, ctorString = Ctor ? _toSource.default(Ctor) : "";
    if (ctorString) {
      switch (ctorString) {
        case dataViewCtorString:
          return dataViewTag;
        case mapCtorString:
          return mapTag;
        case promiseCtorString:
          return promiseTag;
        case setCtorString:
          return setTag;
        case weakMapCtorString:
          return weakMapTag;
      }
    }
    return result;
  };
}
//# sourceMappingURL=_getTag2.cjs.map
