1 import { Subscriber } from '../Subscriber';
2 export function distinctUntilChanged(compare, keySelector) {
3 return (source) => source.lift(new DistinctUntilChangedOperator(compare, keySelector));
5 class DistinctUntilChangedOperator {
6 constructor(compare, keySelector) {
7 this.compare = compare;
8 this.keySelector = keySelector;
10 call(subscriber, source) {
11 return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));
14 class DistinctUntilChangedSubscriber extends Subscriber {
15 constructor(destination, compare, keySelector) {
17 this.keySelector = keySelector;
19 if (typeof compare === 'function') {
20 this.compare = compare;
29 const { keySelector } = this;
30 key = keySelector ? keySelector(value) : value;
33 return this.destination.error(err);
38 const { compare } = this;
39 result = compare(this.key, key);
42 return this.destination.error(err);
50 this.destination.next(value);
54 //# sourceMappingURL=distinctUntilChanged.js.map