atUri
An at://<did>/<collection>/<rkey> URI's parts. Throws Refused for anything else.
import { isDid, Refused } from "#codebase/tcmts/atproto"; export function atUri(uri: string): { did: string; collection: string; rkey: string } { const m = /^at:\/\/([^/]+)\/([^/]+)\/([^/]+)$/.exec(uri); if (!m || !isDid(m[1]!)) throw new Refused(`${uri} isn't a record's at:// URI`); return { did: m[1]!, collection: m[2]!, rkey: m[3]! }; }