Luigit
repositories / will

will

owned by admin

src/shared/env.ts

Raw
export function envStr(name: string, fallback?: string): string {
  const v = process.env[name]
  if (v !== undefined && v !== '') return v
  if (fallback !== undefined) return fallback
  throw new Error(`missing required env var ${name}`)
}

export function envInt(name: string, fallback: number): number {
  const v = process.env[name]
  if (v === undefined || v === '') return fallback
  const n = Number.parseInt(v, 10)
  if (Number.isNaN(n)) throw new Error(`env var ${name} is not an integer: ${v}`)
  return n
}

export function envOpt(name: string): string | undefined {
  const v = process.env[name]
  return v !== undefined && v !== '' ? v : undefined
}