From a8eff662e326d13861dd22cf5c04d1b4a9179eab Mon Sep 17 00:00:00 2001 From: tamaina Date: Tue, 26 Aug 2025 14:28:43 +0900 Subject: [PATCH] =?UTF-8?q?feat(misskey-js):=20acct.parse=E3=81=8CURL?= =?UTF-8?q?=E3=82=92=E5=8F=97=E3=81=91=E4=BB=98=E3=81=91=E3=82=8B=E3=82=88?= =?UTF-8?q?=E3=81=86=E3=81=AB,=20acct.ts=E3=81=AE=E3=83=86=E3=82=B9?= =?UTF-8?q?=E3=83=88=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/misskey-js/src/acct.ts | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/misskey-js/src/acct.ts b/packages/misskey-js/src/acct.ts index 8d73d3ea09..392c5ca947 100644 --- a/packages/misskey-js/src/acct.ts +++ b/packages/misskey-js/src/acct.ts @@ -3,6 +3,16 @@ export type Acct = { host: string | null; }; +export function correctAcct(acct: Acct, localHostname?: string): Acct { + const result = { ...acct }; + if (!acct.host) { + result.host = null; + } else if (localHostname && acct.host === localHostname) { + result.host = null; + } + return result; +} + /** * Parses a string and returns an Acct object. * @param acct String to parse @@ -22,12 +32,7 @@ export function parse(acct: string, localHostname?: string): Acct { const split = path.split('@', 3); // ['', 'username', 'other.example.com'] - let host: string | null = split[2] || url.hostname; - if (localHostname && host === localHostname) { - host = null; - } - - return { username: split[1], host: host }; + return correctAcct({ username: split[1], host: split[2] || url.hostname }, localHostname); } //#endregion @@ -40,12 +45,7 @@ export function parse(acct: string, localHostname?: string): Acct { } const split = acctWithNoPrefix.split('@', 2); - let host: string | null = split[1] || null; - if (localHostname && host === localHostname) { - host = null; - } - - return { username: split[0], host }; + return correctAcct({ username: split[0], host: split[1] || null }, localHostname); //#endregion }