Skip to content

Commit bfc52d6

Browse files
committed
feat(distinctUntilChanged): remove thisArg
relates to #878
1 parent b6573fb commit bfc52d6

File tree

3 files changed

+6
-9
lines changed

3 files changed

+6
-9
lines changed

src/CoreOperators.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export interface CoreOperators<T> {
2424
debounceTime?: <R>(dueTime: number, scheduler?: Scheduler) => Observable<R>;
2525
defaultIfEmpty?: <R>(defaultValue?: T | R) => Observable<T> | Observable<R>;
2626
delay?: (delay: number, scheduler?: Scheduler) => Observable<T>;
27-
distinctUntilChanged?: (compare?: (x: T, y: T) => boolean, thisArg?: any) => Observable<T>;
27+
distinctUntilChanged?: (compare?: (x: T, y: T) => boolean) => Observable<T>;
2828
do?: (next?: (x: T) => void, error?: (e: any) => void, complete?: () => void) => Observable<T>;
2929
expand?: <R>(project: (x: T, ix: number) => Observable<R>, concurrent: number, scheduler: Scheduler) => Observable<R>;
3030
filter?: (predicate: (x: T) => boolean, ix?: number, thisArg?: any) => Observable<T>;

src/Observable.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ export class Observable<T> implements CoreOperators<T> {
186186
debounceTime: <R>(dueTime: number, scheduler?: Scheduler) => Observable<R>;
187187
defaultIfEmpty: <R>(defaultValue?: T | R) => Observable<T> | Observable<R>;
188188
delay: (delay: number, scheduler?: Scheduler) => Observable<T>;
189-
distinctUntilChanged: (compare?: (x: T, y: T) => boolean, thisArg?: any) => Observable<T>;
189+
distinctUntilChanged: (compare?: (x: T, y: T) => boolean) => Observable<T>;
190190
do: (next?: (x: T) => void, error?: (e: any) => void, complete?: () => void) => Observable<T>;
191191
expand: <R>(project: (x: T, ix: number) => Observable<R>, concurrent: number, scheduler: Scheduler) => Observable<R>;
192192
filter: (predicate: (x: T) => boolean, ix?: number, thisArg?: any) => Observable<T>;

src/operator/distinctUntilChanged.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,13 @@ import {Operator} from '../Operator';
22
import {Subscriber} from '../Subscriber';
33
import {tryCatch} from '../util/tryCatch';
44
import {errorObject} from '../util/errorObject';
5-
import {bindCallback} from '../util/bindCallback';
65

7-
export function distinctUntilChanged<T>(compare?: (x: T, y: T) => boolean, thisArg?: any) {
8-
return this.lift(new DistinctUntilChangedOperator(thisArg ?
9-
<(x: T, y: T) => boolean> bindCallback(compare, thisArg, 2) :
10-
compare));
6+
export function distinctUntilChanged<T>(compare?: (x: T, y: T) => boolean) {
7+
return this.lift(new DistinctUntilChangedOperator(compare));
118
}
129

1310
class DistinctUntilChangedOperator<T, R> implements Operator<T, R> {
14-
constructor(private compare?: (x: T, y: T) => boolean) {
11+
constructor(private compare: (x: T, y: T) => boolean) {
1512
}
1613

1714
call(subscriber: Subscriber<T>): Subscriber<T> {
@@ -23,7 +20,7 @@ class DistinctUntilChangedSubscriber<T> extends Subscriber<T> {
2320
private value: T;
2421
private hasValue: boolean = false;
2522

26-
constructor(destination: Subscriber<T>, compare?: (x: T, y: T) => boolean) {
23+
constructor(destination: Subscriber<T>, compare: (x: T, y: T) => boolean) {
2724
super(destination);
2825
if (typeof compare === 'function') {
2926
this.compare = compare;

0 commit comments

Comments
 (0)