

export function splitUsername(handle: string, localDomain?: string) {
    const cleaned = handle.replace(/^@/, "").trim();

    if (!cleaned.includes("@")) {
        return [cleaned, localDomain];
    }

    let [user, domain] = cleaned.split("@");

    return [user, domain]
}

export function handleFromRecordWithIRI(record: any) {
    if (!record.expand?.author) {
        throw new Error("object has no author info")
    }
    
    if (!record.iri) {
        return `@${record.expand.author.preferred_username}`
    }
    const url = new URL(record.iri ?? "")

    return `@${record.expand.author.preferred_username}@${url.hostname}`
}