TypeScript의 randomUUID

누락된 지원을 추가하는 방법



오늘(2022년 5월) 현재 TypeScript 유형 정의 파일에는 Crypto API의 randomUUID 메서드가 없습니다.

typedef 파일을 수정할 필요가 없는 이 짧은 솔루션을 생각해 냈습니다. randomUUID 메서드를 generateUUID로 내보내고 브라우저 지원도 확인하는 간단한 해결 방법입니다(브라우저에서 지원되지 않는 경우 빈 문자열 반환). TS가 업데이트될 때까지 다른 사람에게 유용할 수도 있습니다.

MDN의 randomUUID에 대한 추가 정보here . 브라우저 지원 개요here

export {generateUUID};

interface CryptoNew extends Crypto {
  randomUUID?() : string;
}

/**
 * Returns an empty string if Crypto API or randomUUID is not supported by browser.
 */
function generateUUID() : string {
  let cryptoRef: CryptoNew;
  let r: string | undefined = "";

  if (typeof self.crypto !== "undefined") {
    cryptoRef = self.crypto;
    r = cryptoRef.randomUUID?.();
  }

  return r ? r : "";
}

좋은 웹페이지 즐겨찾기