diagnostics_library_private_types_in_public_api: 공개 API에서의 private 타입
diagnostics_library_private_types_in_public_api: 공개 API에서의 private 타입
Dart 분석기가 만들어 내는 library_private_types_in_public_api 진단에 대한 설명이에요.
본문
라이브러리의 공개 API에는 private 타입을 사용하면 안 돼요.
설명
라이브러리의 공개 API에 속하지 않는 타입이 그 라이브러리의 공개 API에서 참조되는 경우 분석기가 이 진단을 만들어요. 공개 API에 private 타입을 사용하면 그 라이브러리를 정의한 곳 밖에서는 해당 API를 사용할 수 없게 될 수 있어요.
예시
다음 코드는 공개 함수 f의 매개변수 c가 라이브러리 private 타입(_C)을 갖기 때문에 이 진단을 만들어요.
void f(_C c) {}
class _C {}
흔한 해결 방법
API가 정의한 라이브러리 밖에서 사용될 필요가 없다면, 그 API를 private으로 만들면 돼요.
void _f(_C c) {}
class _C {}
API가 라이브러리의 공개 API로 남아 있어야 한다면, 공개 타입인 다른 타입을 사용하거나 참조되는 타입을 공개로 바꿔 주면 돼요.
void f(C c) {}
class C {}