matches method
Implementation
bool matches(Object? value,
{Object? parameters,
List? positionalParameters,
Map<String, Object?>? namedParameters,
EntityHandler? entityHandler}) {
var myValue = getValue(
parameters: parameters,
positionalParameters: positionalParameters,
namedParameters: namedParameters);
var otherValue = value is ConditionParameter
? value.getValue(
parameters: parameters,
positionalParameters: positionalParameters,
namedParameters: namedParameters)
: value;
if (myValue is Iterable) {
if (otherValue is Iterable) {
var equals = isEqualsIterableDeep(myValue, otherValue,
valueEquality: (a, b) => EntityHandler.equalsValuesBasic(a, b,
entityHandler: entityHandler));
return equals;
} else {
var contains = myValue
.where((v) => EntityHandler.equalsValuesBasic(v, otherValue,
entityHandler: entityHandler))
.isNotEmpty;
return contains;
}
} else if (otherValue is Iterable) {
var contains = otherValue
.where((v) => EntityHandler.equalsValuesBasic(v, myValue,
entityHandler: entityHandler))
.isNotEmpty;
return contains;
}
return EntityHandler.equalsValuesBasic(myValue, otherValue,
entityHandler: entityHandler);
}