import { getFileExt } from "./getFileExt" import { getFileName } from "./getFileName" /** 对文件名进行重命名,处理带后缀名的情况 * @param originalName 原始文件名 * @param options 选项 * @param options.baseName 替换基础名称(不包括后缀名) * @param options.addPrefix 添加到基础名称前(不包括后缀名) * @param options.addSuffix 添加到基础名称后(不包括后缀名) * @param options.ext 替换后缀名 * @param options.addLast 添加到完整文件名后(包括后缀名之后) * @returns 返回重命名后的文件名 */ export function renameFilename( originalName: string, options: { /** 替换基础名称(不包括后缀名 */ baseName?: string /** 添加到基础名称前(不包括后缀名)*/ addPrefix?: string /** 添加到基础名称后(不包括后缀名)*/ addSuffix?: string /** 替换后缀名 */ ext?: string /** 添加到完整文件名后(包括后缀名之后) */ addLast?: string } ) { let baseName = getFileName(originalName) let extName = getFileExt(originalName) if (options.baseName) { baseName = options.baseName } if (options.addPrefix) { baseName = options.addPrefix + baseName } if (options.addSuffix) { baseName += options.addSuffix } if (options.ext) { extName = options.ext } if (options.addLast) { baseName += options.addLast } return baseName + (extName ? "." + extName : "") }