35 lines
1,004 B
JavaScript
35 lines
1,004 B
JavaScript
|
import { Observable } from '../Observable';
|
||
|
import { EMPTY } from './empty';
|
||
|
export function range(start, count, scheduler) {
|
||
|
if (count == null) {
|
||
|
count = start;
|
||
|
start = 0;
|
||
|
}
|
||
|
if (count <= 0) {
|
||
|
return EMPTY;
|
||
|
}
|
||
|
var end = count + start;
|
||
|
return new Observable(scheduler
|
||
|
?
|
||
|
function (subscriber) {
|
||
|
var n = start;
|
||
|
return scheduler.schedule(function () {
|
||
|
if (n < end) {
|
||
|
subscriber.next(n++);
|
||
|
this.schedule();
|
||
|
}
|
||
|
else {
|
||
|
subscriber.complete();
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
:
|
||
|
function (subscriber) {
|
||
|
var n = start;
|
||
|
while (n < end && !subscriber.closed) {
|
||
|
subscriber.next(n++);
|
||
|
}
|
||
|
subscriber.complete();
|
||
|
});
|
||
|
}
|
||
|
//# sourceMappingURL=range.js.map
|