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) {
  if (results.isEmpty) {
    return [true];
  }
  return IterationContext.withIterationContext((iterationContext) {
    bool allResult = true;
    results.forEachIndexed((i, r) {
      iterationContext.thisValue = r;
      iterationContext.indexValue = i;
      final executedValue = value.execute([r], passed);
      if (SingletonEvaluation.toBool(executedValue,
              name: 'expression in all()', operation: 'all') !=
          true) {
        allResult = false;
        return;
      }
    });
    return [allResult];
  }, passed);
}