From 8aabaaeb9c0db94e7265a4819818ba3aa06fd14c Mon Sep 17 00:00:00 2001 From: tamara-slosarek Date: Mon, 6 Jan 2025 17:05:51 +0100 Subject: [PATCH] refactor(app): add null fallbacks --- app/lib/common/utilities/drug_utils.dart | 4 ++-- .../drug_selection/pages/drug_selection.dart | 2 +- app/lib/report/pages/report.dart | 18 ++++++++++-------- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/app/lib/common/utilities/drug_utils.dart b/app/lib/common/utilities/drug_utils.dart index b9575783..3c4e1ab6 100644 --- a/app/lib/common/utilities/drug_utils.dart +++ b/app/lib/common/utilities/drug_utils.dart @@ -16,8 +16,8 @@ List? getGenotypeResultsForDrug(Drug drug) { return null; } return drug.guidelineGenotypes.map((genotypeKey) => - UserData.instance.genotypeResults![genotypeKey] ?? - // Should not be null but to be safe + // Should not be null but to be safe + UserData.instance.genotypeResults?[genotypeKey] ?? GenotypeResult.missingResult( GenotypeKey.extractGene(genotypeKey), variant: GenotypeKey.maybeExtractVariant(genotypeKey), diff --git a/app/lib/drug_selection/pages/drug_selection.dart b/app/lib/drug_selection/pages/drug_selection.dart index ca4c1f93..0d51733e 100644 --- a/app/lib/drug_selection/pages/drug_selection.dart +++ b/app/lib/drug_selection/pages/drug_selection.dart @@ -79,7 +79,7 @@ class DrugSelectionPage extends HookWidget { } Widget _buildDrugList(BuildContext context, DrugSelectionState state) { - if (DrugsWithGuidelines.instance.drugs!.isEmpty) { + if (DrugsWithGuidelines.instance.drugs?.isEmpty ?? true) { return Column( children: [ Text( diff --git a/app/lib/report/pages/report.dart b/app/lib/report/pages/report.dart index 2087a7fb..e2549ccf 100644 --- a/app/lib/report/pages/report.dart +++ b/app/lib/report/pages/report.dart @@ -77,14 +77,16 @@ class ReportPage extends HookWidget { } Iterable _getRelevantGenotypes(List? drugSubset) { - return drugSubset != null - ? UserData.instance.genotypeResults!.values.filter((genotypeResult) => - _getAffectedDrugs( - genotypeResult.key.value, - drugSubset: drugSubset, - ).isNotEmpty - ) - : UserData.instance.genotypeResults!.values; + return UserData.instance.genotypeResults == null + ? [] + : drugSubset != null + ? UserData.instance.genotypeResults!.values.filter((genotypeResult) => + _getAffectedDrugs( + genotypeResult.key.value, + drugSubset: drugSubset, + ).isNotEmpty + ) + : UserData.instance.genotypeResults!.values; } List _buildGeneCards({