isNotInValues method

Expression<bool> isNotInValues(
  1. Iterable<D> values
)

An expression that is true if this does not resolve to any of the values in values.

The values will be mapped using the converter applied to this column.

Implementation

Expression<bool> isNotInValues(Iterable<D> values) {
  final mappedValues = values.map(_mapDartValue);
  final result = isNotIn(mappedValues.whereNotNull());

  final hasNulls = mappedValues.any((e) => e == null);
  if (hasNulls) {
    return result & this.isNotNull();
  } else {
    return result | this.isNull();
  }
}