이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
기존 toss SDK 1.4.9 사용 시에는 문제가 없었는데,
이번에 2.0.1로 업데이트 하고 난 뒤에 빌드 시에 appsInTossEvent.addEventListener 함수에서 오류가 발생합니다.
가이드 문서는 변경된게 없어보이는데 (이미지 첨부했어요)
실제 내부 구현이 좀 바뀐 것 같아요.
아래는 toss mcp 연동하여 찾아낸 내용 일부 입니다.
“2.0.1에서 appsInTossEvent.addEventListener의 타입이 변경된 것 같습니다. SDK 문서를 확인하겠습니다.”
“원인 파악됨. SDK 2.0.1에서 AppsInTossEvent 타입이 {} (빈 객체)로 정의되어 있어서 keyof가 never가 됩니다. 문서에서는 entryMessageExited를 정상 API로 안내하고 있으므로, 타입 정의 누락으로 보입니다.”
// SDK 2.0.1의 실제 타입 정의
type AppsInTossEvent = {}; // 빈 객체
addEventListener(event: K, …) => () => void;
keyof {} = never이므로, 첫 번째 인자 event의 타입이 never가 됩니다. 어떤 문자열을 넣어도 never에 할당할 수 없어서
‘entryMessageExited’ is not assignable to parameter of type ‘never’ 에러가 발생한 것입니다.
