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 || value.isEmpty
      ? []
      : results.length > 1
      ? throw _requiresList('.replace()', results)
      : value.length == 3 &&
            value.first is StringParser &&
            value.last is StringParser
      ? [
          results.first.toString().replaceAll(
            RegExp('${executedValue.first}'),
            '${executedValue.last}',
          ),
        ]
      : throw FhirPathEvaluationException(
          'The function .replace() was not provided the '
          ' proper parameters.',
          operation: '.replace()',
          collection: results,
          arguments: value,
        );
}