Stream<T> distinct([bool equals(T previous, T next) ])

Skips data events if they are equal to the previous data event.

The returned stream provides the same events as this stream, except that it never provides two consecutive data events that are equal.

Equality is determined by the provided equals method. If that is omitted, the '==' operator on the last provided data element is used.

The returned stream is a broadcast stream if this stream is. If a broadcast stream is listened to more than once, each subscription will individually perform the equals test.

Source

Stream<T> distinct([bool equals(T previous, T next)]) {
  return new _DistinctStream<T>(this, equals);
}