39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.range = void 0;
|
|
var Observable_1 = require("../Observable");
|
|
var empty_1 = require("./empty");
|
|
function range(start, count, scheduler) {
|
|
if (count == null) {
|
|
count = start;
|
|
start = 0;
|
|
}
|
|
if (count <= 0) {
|
|
return empty_1.EMPTY;
|
|
}
|
|
var end = count + start;
|
|
return new Observable_1.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();
|
|
});
|
|
}
|
|
exports.range = range;
|
|
//# sourceMappingURL=range.js.map
|