zhilian-auto-hi
Version:
智联招聘自动打招呼工具 - 自动化招聘流程的命令行工具
94 lines (93 loc) • 2.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.extractGender = extractGender;
exports.checkGenderMatch = checkGenderMatch;
exports.getGenderDescription = getGenderDescription;
exports.getGenderFilterDescription = getGenderFilterDescription;
/**
* 性别相关工具函数
*/
/**
* 从姓名中提取性别信息
* @param name 候选人姓名
* @returns 提取到的性别,如果无法识别则返回'unknown'
*/
function extractGender(name) {
if (!name || typeof name !== 'string') {
return 'unknown';
}
const trimmedName = name.trim();
// 检查是否包含"女士"
if (trimmedName.includes('女士')) {
return 'female';
}
// 检查是否包含"先生"
if (trimmedName.includes('先生')) {
return 'male';
}
// 无法识别性别
return 'unknown';
}
/**
* 检查性别是否符合筛选条件
* @param extractedGender 提取到的性别
* @param genderFilter 性别筛选条件
* @returns 性别匹配结果
*/
function checkGenderMatch(extractedGender, genderFilter) {
// 如果没有设置性别筛选,则认为匹配
if (!genderFilter) {
return {
isMatch: true,
extractedGender
};
}
// 如果无法识别性别,则不匹配
if (extractedGender === 'unknown') {
return {
isMatch: false,
extractedGender
};
}
// 检查是否匹配筛选条件
const isMatch = extractedGender === genderFilter;
return {
isMatch,
extractedGender
};
}
/**
* 获取性别的中文描述
* @param gender 性别
* @returns 中文描述
*/
function getGenderDescription(gender) {
switch (gender) {
case 'male':
return '男性';
case 'female':
return '女性';
case 'unknown':
return '未知';
default:
return '未知';
}
}
/**
* 获取性别筛选条件的中文描述
* @param genderFilter 性别筛选条件
* @returns 中文描述
*/
function getGenderFilterDescription(genderFilter) {
if (!genderFilter) {
return '不限制';
}
switch (genderFilter) {
case 'male':
return '仅男性';
case 'female':
return '仅女性';
default:
return '不限制';
}
}