(linkHeader)
| 47 | } |
| 48 | |
| 49 | function parseLinkHeader(linkHeader) { |
| 50 | /** @type {Record<string, string>} */ |
| 51 | const rels = {}; |
| 52 | if (!linkHeader) return rels; |
| 53 | |
| 54 | for (const part of linkHeader.split(',')) { |
| 55 | const urlMatch = /<([^>]+)>/.exec(part); |
| 56 | const relMatch = /rel="([^"]+)"/.exec(part); |
| 57 | if (!urlMatch || !relMatch) continue; |
| 58 | rels[relMatch[1]] = urlMatch[1]; |
| 59 | } |
| 60 | return rels; |
| 61 | } |
| 62 | |
| 63 | function isoDate(date) { |
| 64 | if (typeof date === 'string') return date; |
no outgoing calls
no test coverage detected