const require_rolldown_runtime = require('../../../../../../_virtual/rolldown_runtime.js');
const require_assertString$1 = require('./util/assertString.js');

//#region ../../node_modules/.pnpm/validator@13.12.0/node_modules/validator/lib/isISBN.js
var require_isISBN = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/.pnpm/validator@13.12.0/node_modules/validator/lib/isISBN.js": ((exports, module) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.default = isISBN;
	var _assertString = _interopRequireDefault(require_assertString$1.require_assertString());
	function _interopRequireDefault(obj) {
		return obj && obj.__esModule ? obj : { default: obj };
	}
	var possibleIsbn10 = /^(?:[0-9]{9}X|[0-9]{10})$/;
	var possibleIsbn13 = /^(?:[0-9]{13})$/;
	var factor = [1, 3];
	function isISBN(isbn, options) {
		(0, _assertString.default)(isbn);
		var version = String((options === null || options === void 0 ? void 0 : options.version) || options);
		if (!(options !== null && options !== void 0 && options.version || options)) return isISBN(isbn, { version: 10 }) || isISBN(isbn, { version: 13 });
		var sanitizedIsbn = isbn.replace(/[\s-]+/g, "");
		var checksum = 0;
		if (version === "10") {
			if (!possibleIsbn10.test(sanitizedIsbn)) return false;
			for (var i = 0; i < version - 1; i++) checksum += (i + 1) * sanitizedIsbn.charAt(i);
			if (sanitizedIsbn.charAt(9) === "X") checksum += 100;
			else checksum += 10 * sanitizedIsbn.charAt(9);
			if (checksum % 11 === 0) return true;
		} else if (version === "13") {
			if (!possibleIsbn13.test(sanitizedIsbn)) return false;
			for (var _i = 0; _i < 12; _i++) checksum += factor[_i % 2] * sanitizedIsbn.charAt(_i);
			if (sanitizedIsbn.charAt(12) - (10 - checksum % 10) % 10 === 0) return true;
		}
		return false;
	}
	module.exports = exports.default;
	module.exports.default = exports.default;
}) });

//#endregion
Object.defineProperty(exports, 'default', {
  enumerable: true,
  get: function () {
    return require_isISBN();
  }
});