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);
}