library_private_types_in_public_api
Avoid using private types in public APIs.
This rule is available as of Dart 2.14.
Rule sets: recommended, flutter
Details
#AVOID using library private types in public APIs.
For the purposes of this lint, a public API is considered to be any top-level or member declaration unless the declaration is library private or contained in a declaration that's library private. The following uses of types are checked:
- the return type of a function or method,
- the type of any parameter of a function or method,
- the bound of a type parameter to any function, method, class, mixin, extension's extended type, or type alias,
- the type of any top level variable or field,
- any type used in the declaration of a type alias (for example
typedef F = _Private Function();
), or - any type used in the
on
clause of an extension or a mixin
BAD:
f(_Private p) { ... }
class _Private {}
GOOD:
f(String s) { ... }
Usage
#To enable the library_private_types_in_public_api
rule, add library_private_types_in_public_api
under linter > rules in your analysis_options.yaml
file:
linter:
rules:
- library_private_types_in_public_api
Unless stated otherwise, the documentation on this site reflects Dart 3.6.0. Page last updated on 2024-07-03. View source or report an issue.