Latihan 1 dari materi Facade Pattern di Design Patterns — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Starter sudah berisi tiga subsystem yang tetap:
readFile(path) mengembalikan "raw:" + path
decode(raw) mengembalikan "decoded:" + raw
encode(decoded, format) mengembalikan "encoded:" + decoded + ":" + format
Lengkapi method convert(path, format) di object VideoConverter:
Panggil readFile(path).
Kirim hasilnya ke decode.
Kirim hasil decode dan format ke encode.
Kembalikan hasil encode dengan return.
Dua console.log di bawahnya sudah ada di starter dan tetap. Console harus mencetak dua baris ini, berurutan:
encoded:decoded:raw:movie.avi:mp4
encoded:decoded:raw:clip.mov:webm
Yang juga dinilai: VideoConverter.convert("intro.mkv", "ogg") harus mengembalikan encoded:decoded:raw:intro.mkv:ogg.
Hint
Facade menyembunyikan urutan langkah di balik satu method. Pemanggil cuma tahu convert(path, format), dan convert yang memanggil ketiga subsystem.
Simpan tiap hasil: const raw = readFile(path); const decoded = decode(raw); lalu kembalikan encode(decoded, format).