import { __require as requireHasPropertyDescriptors } from "../has-property-descriptors/index.js";
import { __require as requireDefineDataProperty } from "../define-data-property/index.js";
import { __require as requirePolyfill } from "./polyfill.js";
var shim;
var hasRequiredShim;
function requireShim() {
  if (hasRequiredShim) return shim;
  hasRequiredShim = 1;
  var supportsDescriptors = requireHasPropertyDescriptors()();
  var defineDataProperty = requireDefineDataProperty();
  var getPolyfill = requirePolyfill();
  shim = function shimStringTrim() {
    var polyfill = getPolyfill();
    if (String.prototype.trim !== polyfill) {
      if (supportsDescriptors) {
        defineDataProperty(String.prototype, "trim", polyfill, true);
      } else {
        defineDataProperty(String.prototype, "trim", polyfill);
      }
    }
    return polyfill;
  };
  return shim;
}
export {
  requireShim as __require
};
