renovate
Version:
Automated dependency updates. Flexible so you don't need to be.
36 lines (35 loc) • 1.11 kB
JavaScript
import { regEx } from "../regex.js";
import { logger } from "../../logger/index.js";
import addrs from "email-addresses";
//#region lib/util/git/author.ts
function parseGitAuthor(input) {
let result = null;
if (!input) return null;
try {
result = addrs.parseOneAddress(input);
if (result) return result;
let massagedInput;
let massagedBotEmail = false;
if (input.includes("<") && input.includes(">")) massagedInput = `"${input.replace(regEx(/(\s?<)/), "\"$1")}`;
if (input.includes("[bot]@")) {
massagedInput = (massagedInput ?? input).replace("[bot]@", "@");
massagedBotEmail = true;
}
if (!massagedInput) return null;
const parsed = addrs.parseOneAddress(massagedInput);
if (parsed?.address) {
result = {
name: parsed.name ?? input.replace(regEx(/@.*/), ""),
address: parsed.address
};
if (massagedBotEmail) result.address = result.address?.replace("@", "[bot]@");
return result;
}
} catch (err) {
logger.debug({ err }, "Unknown error parsing gitAuthor");
}
return null;
}
//#endregion
export { parseGitAuthor };
//# sourceMappingURL=author.js.map