Latihan 1 dari materi Feature Flags & Gradual Rollouts di DevOps — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Buat fungsi evaluateFlag(flag, user) yang mengevaluasi feature flag untuk seorang user.
flag format:
{
enabled: boolean, // master switch
percentage: number, // 0-100, rollout percentage
allowlist: string[], // user IDs yang selalu enabled
blocklist: string[] // user IDs yang selalu disabled
}
user format: { id: string, plan: string }
Rules (cek berurutan):
flag.enabled = false → return falseuser.id ada di blocklist → return falseuser.id ada di allowlist → return truepercentage >= 100 → return truepercentage <= 0 → return false