execute method

  1. @override
List execute(
  1. List results,
  2. Map<String, dynamic> passed
)
override

The iterable, nested function that evaluates the entire FHIRPath expression one object at a time

Implementation

@override
List execute(List results, Map<String, dynamic> passed) {
  final finalResults = [];
  results.forEach((r) {
    value.execute([r], passed).forEach((e) {
      if (notFoundInList(finalResults, e)) {
        finalResults.add(e);
      }
    });
  });
  var len = -1;
  while (len != finalResults.length) {
    results = finalResults.toList();
    len = finalResults.length;
    results.forEach((r) {
      value.execute([r], passed).forEach((e) {
        if (notFoundInList(finalResults, e)) {
          finalResults.add(e);
        }
      });
    });
  }
  return finalResults;
}