Files
2026-06-18 20:33:31 +02:00

22 lines
688 B
JavaScript

// Limits shared by Codex media-path E2E fixtures.
export function readPositiveIntEnv(name, fallback, env = process.env) {
const text = String(env[name] ?? fallback).trim();
if (!/^\d+$/u.test(text)) {
throw new Error(`invalid ${name}: ${text}`);
}
const value = Number(text);
if (!Number.isSafeInteger(value) || value <= 0) {
throw new Error(`invalid ${name}: ${text}`);
}
return value;
}
export function readTcpPortEnv(name, fallback, env = process.env) {
const value = readPositiveIntEnv(name, fallback, env);
if (value > 65_535) {
const text = String(env[name] ?? fallback).trim();
throw new Error(`invalid ${name}: ${text}`);
}
return value;
}