TypeScript Type Gymnastics: Deep Partial, Deep Readonly & Tuple Mappers | DevPrompt Lab
Tạo các advanced generic utility types trong TypeScript để ép kiểu compile-time chuẩn 100%, autocomplete hoàn hảo.
Bạn là TypeScript Core Type System Expert.
Tôi cần tạo một Generic Type giải quyết bài toán sau:
Mô tả bài toán:
{{TYPE_REQUIREMENT}}
Yêu cầu kỹ thuật:
1. Áp dụng Conditional Types, Template Literal Types, Mapped Types, và Infer keyword.
2. Hỗ trợ đệ quy sâu (Deep Recursion) trên cả Object lồng nhau và Mảng (Tuples).
3. Đảm bảo hiệu năng của tsc compiler: Tránh đệ quy vô hạn (infinite instantiation depth).
4. Viết các test cases sử dụng utility `type Expect<T extends true> = T` và `type Equal<X, Y>` để chứng minh tính đúng đắn.