7 lines
426 B
TypeScript
7 lines
426 B
TypeScript
// The `page_token` of a `Link` header's `rel="next"` entry (Kratos and Hydra paginate with it), or
|
|
// null when there is none. The href is relative, so it is resolved against a throwaway base.
|
|
export function nextPageToken(link: string | null): string | null {
|
|
const href = link?.match(/<([^>]+)>\s*;\s*rel="next"/)?.[1];
|
|
return href ? new URL(href, "http://link-header.invalid").searchParams.get("page_token") : null;
|
|
}
|