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 executedValue = value.execute(results.toList(), passed);
  return results.isEmpty
      ? []
      : results.length > 1
          ? throw _wrongLength('.round()', results)
          : executedValue.isEmpty ||
                  executedValue.length != 1 ||
                  executedValue.first is! num
              ? throw _wrongTypes('.round()', results, executedValue)
              : results.first is! num
                  ? throw _wrongTypes('.round()', results, executedValue)
                  : [
                      executedValue.isEmpty
                          ? (results.first as num).round()
                          : double.parse((results.first as num)
                              .toStringAsFixed(executedValue.first as int))
                    ];
}