hugoWebsite/node_modules/rxjs/dist/esm/internal/observable/range.js

35 lines
994 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;
}
const end = count + start;
return new Observable(scheduler
?
(subscriber) => {
let n = start;
return scheduler.schedule(function () {
if (n < end) {
subscriber.next(n++);
this.schedule();
}
else {
subscriber.complete();
}
});
}
:
(subscriber) => {
let n = start;
while (n < end && !subscriber.closed) {
subscriber.next(n++);
}
subscriber.complete();
});
}
//# sourceMappingURL=range.js.map