%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#fabd2f", "primaryTextColor": "#282828", "primaryBorderColor": "#b57614", "lineColor": "#7c6f64", "secondaryColor": "#83a598", "tertiaryColor": "#b8bb26", "background": "#fbf1c7", "mainBkg": "#ebdbb2", "fontFamily": "Tahoma, sans-serif"}}}%% flowchart LR subgraph Era1["ยุค Array Methods / Synchronous Data"] A["map/filter/reduceข้อมูลใน Array"] end subgraph Era2["ยุค Stream Operators / Async Stream"] B["pipe()ต่อ operator"] C["map/filter/tapแปลงและตรวจค่า"] end subgraph Era3["ยุค API Search / Request Control"] D["debounceTimeลด request"] E["switchMapยกเลิก request เก่า"] end A --> B --> C --> D --> E
%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#fabd2f", "primaryTextColor": "#282828", "primaryBorderColor": "#b57614", "lineColor": "#7c6f64", "secondaryColor": "#83a598", "tertiaryColor": "#b8bb26", "background": "#fbf1c7", "mainBkg": "#ebdbb2", "fontFamily": "Tahoma, sans-serif"}}}%% flowchart LR A["Search Inputคำค้น"] --> B["debounceTimeรอพิมพ์หยุด"] B --> C["distinctUntilChangedกันค่าซ้ำ"] C --> D["switchMapเรียก API ล่าสุด"] D --> E["catchErrorจัดการ Error"] E --> F["Result Listแสดงผล"]