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