refactor gender parsing function
This commit is contained in:
parent
6b92b2020d
commit
4c9cbe11aa
|
@ -342,6 +342,25 @@ function isAdult(birthDate) {
|
||||||
return dayjs(birthDate).diff(new Date(), "years") >= 18;
|
return dayjs(birthDate).diff(new Date(), "years") >= 18;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tries to parse gender from string, or null if not found
|
||||||
|
*
|
||||||
|
* @param {String} text
|
||||||
|
* @returns {String | null}
|
||||||
|
*/
|
||||||
|
function tryParseGender(text) {
|
||||||
|
if (/female/i.test(profile.gender)) {
|
||||||
|
return 'female';
|
||||||
|
}
|
||||||
|
else if (/shemale|trans/i.test(profile.gender)) {
|
||||||
|
return 'transsexual';
|
||||||
|
}
|
||||||
|
else if (/male/i.test(profile.gender)) {
|
||||||
|
return 'male';
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
async function curateProfile(profile, actor) {
|
async function curateProfile(profile, actor) {
|
||||||
if (!profile) {
|
if (!profile) {
|
||||||
return null;
|
return null;
|
||||||
|
@ -375,10 +394,7 @@ async function curateProfile(profile, actor) {
|
||||||
curatedProfile.tattoos = profile.tattoos?.trim() || null;
|
curatedProfile.tattoos = profile.tattoos?.trim() || null;
|
||||||
curatedProfile.piercings = profile.piercings?.trim() || null;
|
curatedProfile.piercings = profile.piercings?.trim() || null;
|
||||||
|
|
||||||
curatedProfile.gender = (/female/i.test(profile.gender) && 'female')
|
curatedProfile.gender = tryParseGender(profile.gender);
|
||||||
|| (/shemale|trans/i.test(profile.gender) && 'transsexual')
|
|
||||||
|| (/male/i.test(profile.gender) && 'male')
|
|
||||||
|| null;
|
|
||||||
|
|
||||||
const dateOfBirth = profile.dateOfBirth || profile.birthdate;
|
const dateOfBirth = profile.dateOfBirth || profile.birthdate;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue