extremely wip tangled spa
at main 784 B view raw
1import { 2 CompositeDidDocumentResolver, 3 PlcDidDocumentResolver, 4 WebDidDocumentResolver, 5} from "@atcute/identity-resolver"; 6import { createAsync, query } from "@solidjs/router"; 7 8const docResolver = new CompositeDidDocumentResolver({ 9 methods: { 10 plc: new PlcDidDocumentResolver(), 11 web: new WebDidDocumentResolver(), 12 }, 13}); 14 15export const getUserPDS = query( 16 async (did: `did:plc:${string}` | `did:web:${string}`) => { 17 const doc = await docResolver.resolve(did); 18 const endpoint = doc.service?.find( 19 (i) => i.id === "#atproto_pds", 20 )?.serviceEndpoint; 21 if (typeof endpoint === "string") return endpoint; 22 return undefined; 23 }, 24 "user_pds", 25); 26 27export const UserPDS = (did: `did:plc:${string}` | `did:web:${string}`) => { 28 return createAsync(() => getUserPDS(did)); 29};