TypeScript Tidak Akan Mengizinkan Anda Melakukan Panggilan Itu: Menyandikan Protocol State dalam Type System
Cara menggunakan phantom types dan parameter `this` untuk mengubah transisi protocol yang ilegal menjadi error waktu kompilasi, bukan bug waktu runtime.
Setiap klien API memiliki state machine yang tersembunyi di dalamnya. Handshake dulu. Autentikasi kedua. Kirim data ketiga. Tutup terakhir. Langgar urutan itu…