타입이 선언되지 않은 라이브러리를 사용할 때, 어떻게 사용이 가능한가를 물어보는 문제이다.
우선, index.d.ts
파일에 declare
로 str-utils
의 타입을 재정의하는 부분을 수정한다.
declare module 'str-utils' {
type StrUtils = {
(value: string): string
}
export const strReverse: StrUtils
export const strToLower: StrUtils
export const strToUpper: StrUtils
export const strRevestrToUpperrse: StrUtils
export const strRandomize: StrUtils
export const strInvertCase: StrUtils
}
value
라는 파라미터를 받아, string
을 반환하는 함수들이며 export const
의 구조로 선언하여 재정의한다.