Files
fn_registry/functions/infra/env_require_all.md
T
egutierrez ebf246beb0 feat(infra): funciones impuras Go para carga de env/config (dotenv, env_require, config_from_env, config_from_file)
- dotenv_load: parser .env con no-sobreescritura y soporte de comillas
- env_require: os.Getenv con error descriptivo fail-fast
- env_require_all: verifica multiples vars y lista todas las faltantes
- config_from_env: reflection sobre struct tags env/default/required/secret, 5 tipos soportados
- config_from_file: JSON via stdlib, YAML stub con not-implemented
- 25 tests unitarios, todos PASS

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 02:01:50 +02:00

1.5 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
env_require_all function go infra 1.0.0 impure func EnvRequireAll(keys []string) (map[string]string, error) Verifica y retorna multiples variables de entorno. Todas las claves se comprueban aunque algunas fallen, acumulando los nombres de las faltantes en un unico error. Util para validacion exhaustiva al arranque.
env
config
os
infra
required
batch
false error_go_core
fmt
os
strings
name desc
keys lista de nombres de variables de entorno que deben estar presentes y no vacias
mapa key→value con todos los valores si todos existen, error con lista de las faltantes si alguna falla true
retorna mapa con todos los valores cuando estan seteados
acumula todos los errores de variables faltantes
lista vacia retorna mapa vacio sin error
functions/infra/env_require_test.go functions/infra/env_require_all.go

Ejemplo

vars, err := EnvRequireAll([]string{"DATABASE_URL", "API_KEY", "JWT_SECRET"})
if err != nil {
    log.Fatal(err)
    // "env_require_all: missing environment variables: API_KEY, JWT_SECRET"
}
dbURL := vars["DATABASE_URL"]

Notas

Diferencia con EnvRequire: comprueba todas las claves de golpe y lista todas las faltantes en el error. Mejor UX en apps con muchas variables requeridas — el usuario ve todo lo que le falta en un solo error.