angular - Web OTP API Özelliği 'code', 'CredentialType' türünde mevcut değil


Web OTP API TypeScript Tipleri sorunu - TypeScript'te Eksik Türler'de açıklanan çözümü uygulamaya çalışıyorum, ancak şu hatayı alıyorum:

     Property 'code' does not exist on type 'CredentialType'.

Biri bana bu sorunu anlamamda ve çözmemde yardımcı olabilir mi?

Örnek :

async otpRequest() {
    if ('OTPCredential' in window) {

      const abortController = new AbortController();
      let timer = setTimeout(() => {
        abortController.abort();
      }, 10 * 1000);

      let o: CredentialRequestOptions = {
        otp: { transport: ['sms'] },
        signal: abortController.signal
      };

      const content = await navigator['credentials'].get(o);

      // here: Property 'code' does not exist on type 'CredentialType'
      console.log(content.code)
      
      }).catch(err => {
        console.log(err);
      });
    }
  }

Cevap #1

Görünüşe göre CredentialType türü yalnızca PasswordCredential|FederatedCredential|PublicKeyCredential içeriyor

https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/webappsec-credential-management/index.d.ts adresindeki özellikten dolayı

ve eksik OTPCredential büyük olasılıkla eksik, DefinitelyTyped ile takip edilmesi gerekiyor, bu yüzden geçici olarak ekleyerek bir çözüm buldum

interface CredentialType {
  code: string
  type: string
}

polyfill.d.ts dosyasına.

Ve sorun çözüldü.