const require_countryCodes = require("../constants/countryCodes.js");
//#region src/components/pisellPhone/utils/countryCodeHelper.ts
/**
* 根据国家码获取最大长度（数字位数）
* @param countryCode 国家码
* @param countryCodes 国家码列表
* @returns 最大长度（如中国 11 位数字）
*/
function getMaxLength(countryCode, countryCodes) {
	const country = countryCodes.find((c) => c.code === countryCode);
	return (country === null || country === void 0 ? void 0 : country.maxLength) || 15;
}
/**
* 获取最终的国家码列表
* 
* 优先级：
* 1. props.countryCodes（完全自定义）
* 2. props.availableCountryCodes（从预设中过滤）
* 3. PRESET_COUNTRY_CODES（默认全部24个）
* 
* 然后根据 props.commonCountryCodes 排序（置顶）
* 
* @param props 组件 Props
* @returns 国家码列表
*/
function getCountryCodes(props) {
	let codes;
	if (props.countryCodes && props.countryCodes.length > 0) codes = props.countryCodes;
	else if (props.availableCountryCodes && props.availableCountryCodes.length > 0) codes = require_countryCodes.PRESET_COUNTRY_CODES.filter((c) => props.availableCountryCodes.includes(c.code));
	else codes = require_countryCodes.PRESET_COUNTRY_CODES;
	if (props.commonCountryCodes && props.commonCountryCodes.length > 0) {
		const common = codes.filter((c) => props.commonCountryCodes.includes(c.code));
		const others = codes.filter((c) => !props.commonCountryCodes.includes(c.code));
		codes = [...common, ...others];
	}
	return codes;
}
//#endregion
exports.getCountryCodes = getCountryCodes;
exports.getMaxLength = getMaxLength;
