matchesIn method

bool matchesIn(
  1. List values, {
  2. Object? parameters,
  3. List? positionalParameters,
  4. Map<String, Object?>? namedParameters,
  5. EntityHandler? entityHandler,
})

Implementation

bool matchesIn(List values,
    {Object? parameters,
    List? positionalParameters,
    Map<String, Object?>? namedParameters,
    EntityHandler? entityHandler}) {
  var myValue = getValue(
      parameters: parameters,
      positionalParameters: positionalParameters,
      namedParameters: namedParameters);

  if (myValue is List) {
    for (var v1 in myValue) {
      for (var v2 in values) {
        var otherValue = v2 is ConditionParameter
            ? v2.getValue(
                parameters: parameters,
                positionalParameters: positionalParameters,
                namedParameters: namedParameters)
            : v2;

        var match = EntityHandler.equalsValuesBasic(v1, otherValue,
            entityHandler: entityHandler);
        if (match) return true;
      }
    }

    return false;
  } else {
    for (var v2 in values) {
      var otherValue = v2 is ConditionParameter
          ? v2.getValue(
              parameters: parameters,
              positionalParameters: positionalParameters,
              namedParameters: namedParameters)
          : v2;

      var match = EntityHandler.equalsValuesBasic(myValue, otherValue,
          entityHandler: entityHandler);
      if (match) return true;
    }

    return false;
  }
}