Latihan 1 dari materi Alerting & On-Call di DevOps — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi function evaluateAlert(rule, currentValue). rule berbentuk { metric, operator, threshold, severity }.
Bandingkan currentValue dengan rule.threshold memakai rule.operator. Operatornya teks, salah satu dari ">", "<", ">=", atau "<=".
Kembalikan object { triggered, severity, metric, currentValue, threshold } dengan urutan key persis itu. triggered bernilai true atau false, severity dan metric disalin dari rule.
Cek tersembunyi: aturan disk dengan operator "<", ambang 10, dan nilai 5 harus triggered: true.
Hasilnya dibandingkan sebagai teks JSON, jadi urutan key ikut dicek. Baris console.log di kode awal biarkan saja.
Hint
Operator di aturan datang sebagai teks, jadi tiap teks perlu dipetakan ke perbandingan JavaScript yang sama artinya, lalu hasilnya dibungkus bersama data aturannya.
Mulai dengan let triggered = false, lalu satu if per operator: kalau rule.operator === ">", triggered = currentValue > rule.threshold, dan seterusnya untuk "<", ">=", "<=". Terakhir return object dengan lima key.