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) => results.isEmpty
    ? []
    : results.length > 1
    ? throw _conversionException('.convertsToBoolean()', results)
    : _isNotAcceptedType(results)
    ? [false]
    : results.first is bool ||
          results.first == 1 ||
          results.first == 0 ||
          [
                'true',
                't',
                'yes',
                'y',
                '1',
                '1.0',
                'false',
                'f',
                'no',
                'n',
                '0',
                '0.0',
              ].indexWhere(
                (element) =>
                    element == results.first.toString().toLowerCase(),
              ) !=
              -1
    ? [true]
    : [false];