getLicenseDetail method Null safety

List<List<LicenseParagraph>> getLicenseDetail(
  1. String packageName
)

Implementation

List<List<LicenseParagraph>> getLicenseDetail(String packageName) {
  if (_licenses == null) throw Exception('LicenseData is not loaded yet.');

  // if (_licensesDetail.containsKey(packageName)) {
  //   return _licensesDetail[packageName]!;
  // }

  final List<int> bindings =
      _licenses!.packageLicenseBindings[packageName] ?? [];
  final List<LicenseEntry> licenseEntries =
      bindings.map((int i) => _licenses!.licenses[i]).toList(growable: false);

  List<List<LicenseParagraph>> licenseDetail = List.empty(growable: true);

  for (final LicenseEntry license in licenseEntries) {
    licenseDetail.add(
      license.paragraphs.toList(),
    );
  }

  // _licensesDetail[packageName] = licenseDetail;

  return licenseDetail;
}