UNPKG

@keycloakify/keycloak-account-ui

Version:

<p align="center"> <img src="https://github.com/user-attachments/assets/e31c4910-7205-441c-9a35-e134b806b3a8"> </p> <p align="center"> <i>Repackaged Keycloak Account UI</i> <br> <br> <a href="https://github.com/keycloakify/keycloak-a

29 lines (25 loc) 827 B
export type Links = { prev?: Record<string, string>; next?: Record<string, string>; }; export function parseLinks(response: Response): Links { const linkHeader = response.headers.get("link"); if (!linkHeader) { throw new Error("Attempted to parse links, but no header was found."); } const links = linkHeader.split(/,\s*</); return links.reduce<Links>((acc: Links, link: string) => { const matcher = link.match(/<?([^>]*)>(.*)/); if (!matcher) return {}; const linkUrl = matcher[1]; const rel = matcher[2].match(/\s*(.+)\s*=\s*"?([^"]+)"?/); if (rel) { const link: Record<string, string> = {}; for (const [key, value] of new URL(linkUrl).searchParams.entries()) { link[key] = value; } acc[rel[2] as keyof Links] = link; } return acc; }, {}); }