メインコンテンツにスキップ

library_private_types_in_public_api

安定版
推奨

パブリックAPIでプライベート型を使用しないでください。

詳細

#

避けるべきこと:ライブラリプライベート型をパブリックAPIで使用すること。

このlintの目的において、パブリックAPIとは、宣言がライブラリプライベートであるか、ライブラリプライベートな宣言に含まれている場合を除き、トップレベルまたはメンバ宣言のいずれかであるとみなされます。以下の型の使用がチェックされます。

  • 関数またはメソッドの戻り値の型、
  • 関数またはメソッドの任意のパラメータの型、
  • 関数、メソッド、クラス、ミックスイン、拡張機能の拡張型、または型エイリアスの型パラメータの境界、
  • 任意のトップレベル変数またはフィールドの型、
  • 型エイリアスの宣言で使用される任意の型(例:typedef F = _Private Function();)、または
  • 拡張機能またはミックスインのon句で使用される任意の型。

悪い例

dart
f(_Private p) { ... }
class _Private {}

良い例

dart
f(String s) { ... }

有効にする

#

library_private_types_in_public_apiルールを有効にするには、analysis_options.yamlファイルのlinter > rulesの下にlibrary_private_types_in_public_apiを追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    - library_private_types_in_public_api

代わりにYAMLマップ構文を使用してlinterルールを構成している場合は、linter > rulesの下にlibrary_private_types_in_public_api: trueを追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    library_private_types_in_public_api: true