Refactor possessive-fixing regular expressions

This commit is contained in:
Domenic Denicola 2020-11-14 18:46:43 -05:00
commit 41566a380e

View file

@ -391,41 +391,11 @@ function enDashJointNames(xml) {
function fixPossessives(xml) {
// Fix possessive of names ending in "s"
// Note: if the "s" is unvoiced, as in Marquis, then it doesn't get the second "s".
xml = xml.replace(/([^])Judas([^s])/g, "$1Judass$2");
xml = xml.replace(/([^])Brutus([^s])/g, "$1Brutuss$2");
xml = xml.replace(/([^])Jess([^s])/g, "$1Jesss$2");
xml = xml.replace(/([^])Aegis([^s])/g, "$1Aegiss$2");
xml = xml.replace(/([^])Dauntless([^s])/g, "$1Dauntlesss$2");
xml = xml.replace(/([^])Circus([^s])/g, "$1Circuss$2");
xml = xml.replace(/([^])Sirius([^s])/g, "$1Siriuss$2");
xml = xml.replace(/([^])Brooks([^s])/g, "$1Brookss$2");
xml = xml.replace(/([^])Genesis([^s])/g, "$1Genesiss$2");
xml = xml.replace(/([^])Atlas([^s])/g, "$1Atlass$2");
xml = xml.replace(/([^])Lucas([^s])/g, "$1Lucass$2");
xml = xml.replace(/([^])Gwerrus([^s])/g, "$1Gwerruss$2");
xml = xml.replace(/([^])Chris([^s])/g, "$1Chriss$2");
xml = xml.replace(/([^])Eligos([^s])/g, "$1Eligoss$2");
xml = xml.replace(/([^])Animos([^s])/g, "$1Animoss$2");
xml = xml.replace(/([^])Mags([^s])/g, "$1Magss$2");
xml = xml.replace(/([^])Huntress([^s])/g, "$1Huntresss$2");
xml = xml.replace(/([^])Hephaestus([^s])/g, "$1Hephaestuss$2");
xml = xml.replace(/([^])Lord of Loss([^s])/g, "$1Lord of Losss$2");
xml = xml.replace(/([^])John Combs([^s])/g, "$1John Combss$2");
xml = xml.replace(/([^])Mama Mathers([^s])/g, "$1Mama Matherss$2");
xml = xml.replace(/([^])Monokeros([^s])/g, "$1Monokeross$2");
xml = xml.replace(/([^])Goddess([^s])/g, "$1Goddesss$2");
xml = xml.replace(/([^])Boundless([^s])/g, "$1Boundlesss$2");
xml = xml.replace(/([^])Paris([^s])/g, "$1Pariss$2");
xml = xml.replace(/([^])Tress([^s])/g, "$1Tresss$2");
xml = xml.replace(/([^])Harris([^s])/g, "$1Harriss$2");
xml = xml.replace(/([^])Antares([^s])/g, "$1Antaress$2");
xml = xml.replace(/([^])Nieves([^s])/g, "$1Nievess$2");
xml = xml.replace(/([^])Backwoods([^s])/g, "$1Backwoodss$2");
xml = xml.replace(/([^])Midas([^s])/g, "$1Midass$2");
xml = xml.replace(/([^])Mrs. Sims([^s])/g, "$1Mrs. Simss$2");
xml = xml.replace(/([^])Ms. Stillons([^s])/g, "$1Ms. Stillonss$2");
xml = xml.replace(/([^])Chuckles([^s])/g, "$1Chuckless$2");
xml = xml.replace(/([^])Amias([^s])/g, "$1Amiass$2");
xml = xml.replace(
// eslint-disable-next-line max-len
/(?<!)(Judas|Brutus|Jess|Aegis|Dauntless|Circus|Sirius|Brooks|Genesis|Atlas|Lucas|Gwerrus|Chris|Eligos|Animos|Mags|Huntress|Hephaestus|Lord of Loss|John Combs|Mama Mathers|Monokeros|Goddess|Boundless|Paris|Tress|Harris|Antares|Nieves|Backwoods|Midas|Mrs. Sims|Ms. Stillons|Chuckles|Amias)(?!s)/g,
"$1s"
);
// This one is not just missing the extra "s"; it's often misplaced.
xml = xml.replace(/Wardens/g, "Wardens");