"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const implementation$1 = require("./implementation.cjs");
const index = require("../define-properties/index.cjs");
var implementation = implementation$1.implementation;
var supportsDescriptors = index.defineProperties_1.supportsDescriptors;
var $gOPD = Object.getOwnPropertyDescriptor;
var polyfill = function getPolyfill() {
  if (supportsDescriptors && /a/mig.flags === "gim") {
    var descriptor = $gOPD(RegExp.prototype, "flags");
    if (descriptor && typeof descriptor.get === "function" && "dotAll" in RegExp.prototype && "hasIndices" in RegExp.prototype) {
      var calls = "";
      var o = {};
      Object.defineProperty(o, "hasIndices", {
        get: function() {
          calls += "d";
        }
      });
      Object.defineProperty(o, "sticky", {
        get: function() {
          calls += "y";
        }
      });
      descriptor.get.call(o);
      if (calls === "dy") {
        return descriptor.get;
      }
    }
  }
  return implementation;
};
exports.polyfill = polyfill;
//# sourceMappingURL=polyfill.cjs.map
