import type { ProviderHeaders } from "../types.ts"; export function headersToRecord(headers: Headers): Record { const result: Record = {}; for (const [key, value] of headers.entries()) { result[key] = value; } return result; } export function providerHeadersToRecord( ...headerSources: (ProviderHeaders | undefined)[] ): Record | undefined { const merged = new Map(); for (const source of headerSources) { for (const [name, value] of Object.entries(source ?? {})) { const normalizedName = name.toLowerCase(); merged.delete(normalizedName); if (value !== null) merged.set(normalizedName, [name, value]); } } return merged.size > 0 ? Object.fromEntries(merged.values()) : undefined; }