DeepStrictTypes: Menangani tipe TypeScript yang kompleks dengan lebih mudah
(github.com/kakasoo)DeepStrictTypes adalah kumpulan utility type TypeScript yang dibuat agar objek bersarang bisa ditangani dengan lebih aman dan nyaman.
Saat menggunakan Omit atau Pick bawaan, properti yang berada jauh di dalam struktur sering kali sulit diproses dengan rapi. Dengan DeepStrictOmit dan DeepStrictPick, Anda bisa mengambil hanya bagian yang diinginkan dengan lebih tepat.
Misalnya, pada tipe { user: { name: string; age: number } }, jika memakai DeepStrictOmit<Example, 'user.name'>, hasilnya akan berubah secara tepat menjadi { user: { age: number } }. Sebaliknya, jika memakai DeepStrictPick<Example, 'user.name'>, Anda bisa menyisakan hanya bagian yang diperlukan seperti { user: { name: string } }.
Mengapa ini dibutuhkan?
✔️ Saat memfilter hanya field tertentu dari respons API
✔️ Saat ingin menyisakan hanya bagian yang diinginkan dari objek bersarang
Secara eksperimental, utility runtime seperti deepStrictObjectKeys dan deepStrictAssert juga sudah ditambahkan.
Silakan coba dan berikan feedback! Ketertarikan pada open source sangat berarti bagi pembuatnya!
10 komentar
TypeScript memang selalu yang terbaik.
Terima kasih kepada Anda yang memahami betapa kerennya TypeScript.
https://github.com/sindresorhus/type-fest
Terima kasih!
Mantap, rekomendasi
Terima kasih untuk upvote-nya
Apakah ada orang yang benar-benar memakai tipe seberat ini?
Jadi penasaran dengan contoh penggunaan nyatanya.
Saya sering memakainya saat bekerja di domain periklanan... :)
Facebook, Google... bagaimanapun juga, pada akhirnya domain periklanan hanya sedikit berbeda dan hampir bisa diabstraksikan dengan tipe-tipe yang mirip, jadi saya biasa memakainya ketika menggabungkan layanan yang berbeda ke dalam satu domain.
Sepertinya cara seperti itu cukup sering digunakan saat memproses tipe record data db di server dengan berbagai cara.
Betul. Sebenarnya, ini memang kurang mendapat resonansi dari teman-teman front-end.