generateDisclaimers<C, F> function

Future<DisclaimerDisplay<List<C>, List<F>>> generateDisclaimers<C, F>({
  1. required Config config,
  2. required PackageChecker packageConfig,
  3. required bool showDirectDepsOnly,
  4. required DisclaimerCLIDisplayFunction<C> disclaimerCLIDisplay,
  5. required DisclaimerFileDisplayFunction<F> disclaimerFileDisplay,
})

Generate disclaimers for all packages

Implementation

Future<DisclaimerDisplay<List<C>, List<F>>> generateDisclaimers<C, F>({
  required Config config,
  required PackageChecker packageConfig,
  required bool showDirectDepsOnly,
  required DisclaimerCLIDisplayFunction<C> disclaimerCLIDisplay,
  required DisclaimerFileDisplayFunction<F> disclaimerFileDisplay,
}) async {
  DisclaimerDisplay<List<C>, List<F>> disclaimers =
      DisclaimerDisplay(cli: [], file: []);

  for (DependencyChecker package in packageConfig.packages) {
    if (showDirectDepsOnly) {
      // Ignore dependencies not defined in the packages pubspec.yaml
      if (!packageConfig.pubspec.dependencies.containsKey(package.name)) {
        continue;
      }
    }
    DisclaimerDisplay<C, F>? packageDisclaimer =
        await generatePackageDisclaimer<C, F>(
      config: config,
      package: package,
      disclaimerCLIDisplay: disclaimerCLIDisplay,
      disclaimerFileDisplay: disclaimerFileDisplay,
    );
    disclaimers.cli.add(packageDisclaimer.cli);
    disclaimers.file.add(packageDisclaimer.file);
  }

  return disclaimers;
}