Latihan 1 dari materi Environment Variables & Secrets di Security — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi fungsi validateEnv(requiredVars) di kode awal. Fungsi ini memeriksa apakah setiap environment variable yang dibutuhkan sudah punya nilai.
- Telusuri setiap nama di
requiredVars dengan filter (atau loop for), dan kumpulkan nama yang process.env[name]-nya kosong ke missing. Nilai undefined dan string kosong sama-sama dihitung belum diset.
- Kembalikan object
{ valid, missing }: valid bernilai true kalau missing kosong.
- Kode awal sudah menyetel
DB_HOST dan DB_PASSWORD, dan sengaja gak menyetel API_KEY. Biarkan begitu.
- Ganti dua
console.log di bawah supaya mencetak hasilnya dengan label dan JSON.stringify, persis dua baris ini:
All set: {"valid":true,"missing":[]}
Missing API_KEY: {"valid":false,"missing":["API_KEY"]}
Baris pertama dari validateEnv(["DB_HOST", "DB_PASSWORD"]), baris kedua dari validateEnv(["DB_HOST", "DB_PASSWORD", "API_KEY"]).
Yang dicek: output-nya berisi "valid":true dan "missing":["API_KEY"], kodenya membaca process.env dan menelusuri daftar nama dengan filter, for, forEach, some, atau every. Ada juga cek dengan data lain: kalau cuma P1 yang diset, validateEnv(["P1", "P2"]) harus memberi valid false dengan missing ["P2"], dan validateEnv(["P1"]) memberi valid true. Jadi hitung dari requiredVars, jangan tulis hasilnya langsung.