Skip to content

Commit 97704b3

Browse files
committed
feat(combineAll): add higher-order lettable version of combineAll
1 parent b7154f2 commit 97704b3

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

src/operator/combineAll.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import { CombineLatestOperator } from '../operators/combineLatest';
1+
22
import { Observable } from '../Observable';
3+
import { combineAll as higherOrder } from '../operators';
34

45
/**
56
* Converts a higher-order Observable into a first-order Observable by waiting
@@ -42,5 +43,5 @@ import { Observable } from '../Observable';
4243
* @owner Observable
4344
*/
4445
export function combineAll<T, R>(this: Observable<T>, project?: (...values: Array<any>) => R): Observable<R> {
45-
return this.lift(new CombineLatestOperator(project));
46+
return higherOrder(project)(this);
4647
}

src/operators/combineAll.ts

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { CombineLatestOperator } from '../operators/combineLatest';
2+
import { Observable } from '../Observable';
3+
import { OperatorFunction } from '../interfaces';
4+
5+
export function combineAll<T, R>(project?: (...values: Array<any>) => R): OperatorFunction<T, R> {
6+
return (source: Observable<T>) => source.lift(new CombineLatestOperator(project));
7+
}

src/operators/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export { bufferTime } from './bufferTime';
66
export { bufferToggle } from './bufferToggle';
77
export { bufferWhen } from './bufferWhen';
88
export { catchError } from './catchError';
9+
export { combineAll } from './combineAll';
910
export { combineLatest } from './combineLatest';
1011
export { concat } from './concat';
1112
export { concatAll } from './concatAll';

0 commit comments

Comments
 (0)