π File detail
utils/envValidation.ts
π§© .tsπ 39 linesπΎ 1,045 bytesπ text
β Back to All Filesπ― Use case
This file lives under βutils/β, which covers cross-cutting helpers (shell, tempfiles, settings, messages, process input, β¦). On the API surface it exposes EnvVarValidationResult and validateBoundedIntEnvVar β mainly functions, hooks, or classes. It composes internal code from debug (relative imports).
Generated from folder role, exports, dependency roots, and inline comments β not hand-reviewed for every path.
π§ Inline summary
import { logForDebugging } from './debug.js' export type EnvVarValidationResult = { effective: number status: 'valid' | 'capped' | 'invalid'
π€ Exports (heuristic)
EnvVarValidationResultvalidateBoundedIntEnvVar
π₯οΈ Source preview
import { logForDebugging } from './debug.js'
export type EnvVarValidationResult = {
effective: number
status: 'valid' | 'capped' | 'invalid'
message?: string
}
export function validateBoundedIntEnvVar(
name: string,
value: string | undefined,
defaultValue: number,
upperLimit: number,
): EnvVarValidationResult {
if (!value) {
return { effective: defaultValue, status: 'valid' }
}
const parsed = parseInt(value, 10)
if (isNaN(parsed) || parsed <= 0) {
const result: EnvVarValidationResult = {
effective: defaultValue,
status: 'invalid',
message: `Invalid value "${value}" (using default: ${defaultValue})`,
}
logForDebugging(`${name} ${result.message}`)
return result
}
if (parsed > upperLimit) {
const result: EnvVarValidationResult = {
effective: upperLimit,
status: 'capped',
message: `Capped from ${parsed} to ${upperLimit}`,
}
logForDebugging(`${name} ${result.message}`)
return result
}
return { effective: parsed, status: 'valid' }
}