getQuizIntegrityInformations static method
Implementation
static QuizIntegrityInformations getQuizIntegrityInformations(BuildContext context, QuizModel quiz) {
var diagnosis = QuizIntegrityModel.globalDuplicateDiagnostics(quiz);
String errorMessage = '';
if (diagnosis.duplicatedStepKeys.isNotEmpty) {
errorMessage = '🚩 StepKey duplicates: ${diagnosis.duplicatedStepKeys}';
}
if (diagnosis.duplicatedQuestionKeys.isNotEmpty) {
errorMessage = '$errorMessage\n🚩 QuestionKey duplicates: ${diagnosis.duplicatedQuestionKeys}';
}
if (diagnosis.emptyQuestionStepKeys.isNotEmpty) {
errorMessage = '$errorMessage\n🚩 Empty Step: ${diagnosis.emptyQuestionStepKeys}';
}
if (kDebugMode && errorMessage.isNotEmpty == true) {
debugPrint(errorMessage);
}
return QuizIntegrityInformations(
duplicateQuestionKey: diagnosis.duplicatedQuestionKeys,
duplicateStepKeys: diagnosis.duplicatedStepKeys,
stepsNumber: quiz.steps.length,
globalQuestionNumber: globalQuestionsNumber(quiz),
globalQuestionsConditionnal: globalQuestionsConditionnal(quiz),
globalQuestionsInternal: globalQuestionsInternal(quiz),
hasUselessSteppingMode: hasUselessSteppingMode(quiz),
emptyQuestionStepKeys: diagnosis.emptyQuestionStepKeys,
duplicatesOptions: diagnosis.duplicateOptions,
);
}