import { __require as requireType } from "../../es-errors/type.js";
import { __require as requireIsObject } from "../../es-object-atoms/isObject.js";
import { __require as requireCreateDataProperty } from "./CreateDataProperty.js";
import { __require as requireIsPropertyKey } from "../helpers/isPropertyKey.js";
var CreateDataPropertyOrThrow;
var hasRequiredCreateDataPropertyOrThrow;
function requireCreateDataPropertyOrThrow() {
  if (hasRequiredCreateDataPropertyOrThrow) return CreateDataPropertyOrThrow;
  hasRequiredCreateDataPropertyOrThrow = 1;
  var $TypeError = requireType();
  var isObject = requireIsObject();
  var CreateDataProperty = requireCreateDataProperty();
  var isPropertyKey = requireIsPropertyKey();
  CreateDataPropertyOrThrow = function CreateDataPropertyOrThrow2(O, P, V) {
    if (!isObject(O)) {
      throw new $TypeError("Assertion failed: Type(O) is not Object");
    }
    if (!isPropertyKey(P)) {
      throw new $TypeError("Assertion failed: P is not a Property Key");
    }
    var success = CreateDataProperty(O, P, V);
    if (!success) {
      throw new $TypeError("unable to create data property");
    }
  };
  return CreateDataPropertyOrThrow;
}
export {
  requireCreateDataPropertyOrThrow as __require
};
