Co-authored-by: Vincent Koc <vincentkoc@ieee.org> Co-authored-by: Marcus Castro <mcaxtr@gmail.com> Co-authored-by: Brandon Wise <brandonawise@gmail.com>
24 lines
592 B
TypeScript
24 lines
592 B
TypeScript
export function splitTrailingAuthProfile(raw: string): {
|
|
model: string;
|
|
profile?: string;
|
|
} {
|
|
const trimmed = raw.trim();
|
|
if (!trimmed) {
|
|
return { model: "" };
|
|
}
|
|
|
|
const profileDelimiter = trimmed.lastIndexOf("@");
|
|
const lastSlash = trimmed.lastIndexOf("/");
|
|
if (profileDelimiter <= 0 || profileDelimiter <= lastSlash) {
|
|
return { model: trimmed };
|
|
}
|
|
|
|
const model = trimmed.slice(0, profileDelimiter).trim();
|
|
const profile = trimmed.slice(profileDelimiter + 1).trim();
|
|
if (!model || !profile) {
|
|
return { model: trimmed };
|
|
}
|
|
|
|
return { model, profile };
|
|
}
|