11 poin oleh kakasoo 2025-03-13 | 10 komentar | Bagikan ke WhatsApp

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

 
metis041 2025-03-14

TypeScript memang selalu yang terbaik.

 
kakasoo 2025-03-14

Terima kasih kepada Anda yang memahami betapa kerennya TypeScript.

 
kakasoo 2025-03-14

Terima kasih!

 
softer 2025-03-14

Mantap, rekomendasi

 
kakasoo 2025-03-14

Terima kasih untuk upvote-nya

 
sunrabbit 2025-03-13

Apakah ada orang yang benar-benar memakai tipe seberat ini?
Jadi penasaran dengan contoh penggunaan nyatanya.

 
kakasoo 2025-03-13

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.

 
wogns3623 2025-03-14

Sepertinya cara seperti itu cukup sering digunakan saat memproses tipe record data db di server dengan berbagai cara.

 
kakasoo 2025-03-14

Betul. Sebenarnya, ini memang kurang mendapat resonansi dari teman-teman front-end.