chore(vendor): import pi 1.3.0

Imported as a linear vendor commit so forge rebases do not replay the upstream root tree.

git-subtree-dir: third_party/pi

git-subtree-split: 71023aec1546d6d677a65669c5665c0927ce0dd0
This commit is contained in:
2026-10-15 17:58:48 -04:00
parent 719370c8f7
commit 6081e3e325
1743 changed files with 205460 additions and 131705 deletions

View File

@@ -8,11 +8,16 @@ export function headersToRecord(headers: Headers): Record<string, string> {
return result;
}
export function providerHeadersToRecord(headers: ProviderHeaders | undefined): Record<string, string> | undefined {
if (!headers) return undefined;
const result: Record<string, string> = {};
for (const [key, value] of Object.entries(headers)) {
if (value !== null) result[key] = value;
export function providerHeadersToRecord(
...headerSources: (ProviderHeaders | undefined)[]
): Record<string, string> | undefined {
const merged = new Map<string, [string, string]>();
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 Object.keys(result).length > 0 ? result : undefined;
return merged.size > 0 ? Object.fromEntries(merged.values()) : undefined;
}