1234567891011121314151617181920212223242526 |
- export default function parseLinkHeader(header: string | null): {
- [key: string]: {href: string; results: boolean | null; cursor: string};
- } {
- if (header === null || header === '') {
- return {};
- }
- const header_vals = header.split(',');
- const links = {};
- header_vals.forEach(val => {
- const match =
- /<([^>]+)>; rel="([^"]+)"(?:; results="([^"]+)")?(?:; cursor="([^"]+)")?/g.exec(
- val
- );
- const hasResults = match![3] === 'true' ? true : match![3] === 'false' ? false : null;
- links[match![2]] = {
- href: match![1],
- results: hasResults,
- cursor: match![4],
- };
- });
- return links;
- }
|