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 진단에 대한 설명이에요.

출처: Invalid use of a private type in a 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 {}

더 알아보기