retrieveFromResults method

Map<DateTime, T> retrieveFromResults(
  1. StudySubject subject
)

Implementation

Map<DateTime, T> retrieveFromResults(StudySubject subject) {
  final Task? sourceTask = subject.study.observations
          .firstWhereOrNull((task) => task.id == this.task) ??
      subject.selectedInterventions
          .expand((i) => i.tasks)
          .firstWhereOrNull((task) => task.id == this.task);
  if (sourceTask == null) {
    throw ArgumentError("Could not find a task with the id '$task'.");
  }

  final List<SubjectProgress> sourceResults = subject.resultsFor(task);

  return sourceTask.extractPropertyResults<T>(property, sourceResults);
}