execute method
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);
if (results.isEmpty || executedValue.isEmpty) {
return [];
} else if (results.length > 1) {
throw _wrongLength('.power()', results);
} else if (executedValue.length > 1) {
throw _wrongArgLength('.power()', executedValue);
}
final finalResults = results.first is num
? results.first
: throw _wrongTypes('.power()', results, executedValue);
final finalValue = executedValue.first is num
? executedValue.first
: throw _wrongTypes('.power()', results, executedValue);
return pow(finalResults as num, finalValue as num).isNaN
? []
: [pow(finalResults, finalValue)];
}