Skip to content

Commit a388578

Browse files
arpadvasbenlesh
authored andcommitted
feat(range): accept one argument (#4360)
1 parent 6e7f407 commit a388578

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

spec/observables/range-spec.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,21 @@ describe('range', () => {
7373
});
7474

7575
});
76+
77+
it('should accept only one argument where count is argument and start is zero', () => {
78+
const e1 = range(5)
79+
.pipe(concatMap((x, i) => of(x).pipe(delay(i === 0 ? 0 : 20, rxTestScheduler))));
80+
const expected = 'a-b-c-d-(e|)';
81+
const values = {
82+
a: 0,
83+
b: 1,
84+
c: 2,
85+
d: 3,
86+
e: 4
87+
};
88+
expectObservable(e1).toBe(expected, values);
89+
expectObservable(e1).toBe(expected, values);
90+
});
7691
});
7792

7893
describe('RangeObservable', () => {

src/internal/observable/range.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import { Observable } from '../Observable';
2626
* @see {@link index/interval}
2727
*
2828
* @param {number} [start=0] The value of the first integer in the sequence.
29-
* @param {number} [count=0] The number of sequential integers to generate.
29+
* @param {number} count The number of sequential integers to generate.
3030
* @param {SchedulerLike} [scheduler] A {@link SchedulerLike} to use for scheduling
3131
* the emissions of the notifications.
3232
* @return {Observable} An Observable of numbers that emits a finite range of
@@ -36,9 +36,14 @@ import { Observable } from '../Observable';
3636
* @owner Observable
3737
*/
3838
export function range(start: number = 0,
39-
count: number = 0,
39+
count?: number,
4040
scheduler?: SchedulerLike): Observable<number> {
4141
return new Observable<number>(subscriber => {
42+
if (count === undefined) {
43+
count = start;
44+
start = 0;
45+
}
46+
4247
let index = 0;
4348
let current = start;
4449

0 commit comments

Comments
 (0)