shared/util.ts (18 lines of code) (raw):
import { WithNames } from "./types/withNames";
const capitalise = (str: string) =>
str &&
str
.split("-")
.map(
([firstLetter, ...otherLetters]) =>
`${firstLetter.toUpperCase()}${otherLetters.join("")}`
)
.join("-");
export const extractNameFromEmail = (email: string): WithNames => {
const namePartOfEmail = email.toLowerCase().split("@")?.[0];
const namePartsFromEmail = namePartOfEmail?.split(".");
return {
firstName: capitalise(namePartsFromEmail[0] || namePartOfEmail),
lastName: capitalise(namePartsFromEmail[1] || ""),
};
};