extractPropertyResults<T> method

  1. @override
Map<DateTime, T> extractPropertyResults<T>(
  1. String property,
  2. List<SubjectProgress> sourceResults
)
override

Implementation

@override
Map<DateTime, T> extractPropertyResults<T>(
  String property,
  List<SubjectProgress> sourceResults,
) {
  final Question? targetQuestion =
      questions.questions.firstWhereOrNull((q) => q.id == property);
  if (targetQuestion == null) {
    throw ArgumentError(
      "Questionnaire '$id' does not have a question with '$property'.",
    );
  }
  return Map.fromEntries(
    sourceResults.map(
      (e) => MapEntry(
        e.completedAt!,
        (e.result as Result<QuestionnaireState>)
            .result
            .getAnswer<T>(property),
      ),
    ),
  );
}