Strict TypeScript tipleri
any temizliği ve ayrıştırılmış birlik tipleri.

Prompt Metni
Aşağıdaki TypeScript fonksiyonundaki any kullanımını kaldır. Başarı ve hata cevapları için discriminated union kullan; noUncheckedIndexedAccess açıkken güvenli çalışsın.
function firstMessage(response: any) {
return response.messages[0].text
}
Fonksiyonun güvenli son halini ve iki kullanım örneğini göster.Prompt Sonucu
type Message = {
id: string
text: string
}
type ApiResponse =
| { ok: true; messages: Message[] }
| { ok: false; error: string }
function firstMessage(response: ApiResponse): string {
if (!response.ok) {
return response.error
}
const first = response.messages[0]
return first?.text ?? 'Mesaj bulunamadı.'
}
const success: ApiResponse = {
ok: true,
messages: [{ id: '1', text: 'Merhaba' }],
}
const failure: ApiResponse = {
ok: false,
error: 'Servise ulaşılamadı.',
}
firstMessage(success) // Merhaba
firstMessage(failure) // Servise ulaşılamadı.
ok alanı union tipini daraltır. İlk eleman undefined olabileceği için optional chaining ve varsayılan değer kullanılır.
Benzer Promptlar

Kod
Zod ile ortam değişkenleri
Eksik gizli anahtarı açılışta yakalayan Zod ortam şeması.

Kod
Next.js dinamik metadata
Promise params ile başlık, açıklama ve mutlak Open Graph adresi.

Kod
Webhook HMAC doğrulaması
timingSafeEqual kullanan webhook imza kontrolü.

Kod
React iyimser beğeni
Beğeni sayısını sunucu yanıtından önce güncelleyen useOptimistic örneği.