"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const index$2 = require("../../_virtual/index13.cjs");
const callBound$1 = require("../call-bind/callBound.cjs");
const index = require("../has-symbols/index.cjs");
const index$1 = require("../safe-regex-test/index.cjs");
var callBound = callBound$1.callBound;
var $toString = callBound("Object.prototype.toString");
var hasSymbols = index.hasSymbols();
var safeRegexTest = index$1.__require();
if (hasSymbols) {
  var $symToStr = callBound("Symbol.prototype.toString");
  var isSymString = safeRegexTest(/^Symbol\(.*\)$/);
  var isSymbolObject = function isRealSymbolObject(value) {
    if (typeof value.valueOf() !== "symbol") {
      return false;
    }
    return isSymString($symToStr(value));
  };
  index$2.__module.exports = function isSymbol(value) {
    if (typeof value === "symbol") {
      return true;
    }
    if (!value || typeof value !== "object" || $toString(value) !== "[object Symbol]") {
      return false;
    }
    try {
      return isSymbolObject(value);
    } catch (e) {
      return false;
    }
  };
} else {
  index$2.__module.exports = function isSymbol(value) {
    return false;
  };
}
var isSymbolExports = index$2.__module.exports;
exports.isSymbolExports = isSymbolExports;
//# sourceMappingURL=index.cjs.map
