* Safely parse integer from environment variable with validation
(
value: string | undefined,
varName: string,
min?: number,
max?: number,
)
| 60 | * Safely parse integer from environment variable with validation |
| 61 | */ |
| 62 | function parseIntSafe( |
| 63 | value: string | undefined, |
| 64 | varName: string, |
| 65 | min?: number, |
| 66 | max?: number, |
| 67 | ): number | undefined { |
| 68 | if (!value) return undefined |
| 69 | const parsed = Number.parseInt(value, 10) |
| 70 | if (Number.isNaN(parsed)) { |
| 71 | throw new Error(`${varName} must be a valid integer, got: ${value}`) |
| 72 | } |
| 73 | if (min !== undefined && parsed < min) { |
| 74 | throw new Error(`${varName} must be >= ${min}, got: ${parsed}`) |
| 75 | } |
| 76 | if (max !== undefined && parsed > max) { |
| 77 | throw new Error(`${varName} must be <= ${max}, got: ${parsed}`) |
| 78 | } |
| 79 | return parsed |
| 80 | } |
| 81 | |
| 82 | /** |
| 83 | * Build provider-specific options from environment variables |
no outgoing calls
no test coverage detected