diff options
Diffstat (limited to 'node_modules/rxjs/dist/esm5/internal/observable/timer.js')
| -rw-r--r-- | node_modules/rxjs/dist/esm5/internal/observable/timer.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/node_modules/rxjs/dist/esm5/internal/observable/timer.js b/node_modules/rxjs/dist/esm5/internal/observable/timer.js new file mode 100644 index 0000000..8caa9bc --- /dev/null +++ b/node_modules/rxjs/dist/esm5/internal/observable/timer.js @@ -0,0 +1,36 @@ +import { Observable } from '../Observable'; +import { async as asyncScheduler } from '../scheduler/async'; +import { isScheduler } from '../util/isScheduler'; +import { isValidDate } from '../util/isDate'; +export function timer(dueTime, intervalOrScheduler, scheduler) { + if (dueTime === void 0) { dueTime = 0; } + if (scheduler === void 0) { scheduler = asyncScheduler; } + var intervalDuration = -1; + if (intervalOrScheduler != null) { + if (isScheduler(intervalOrScheduler)) { + scheduler = intervalOrScheduler; + } + else { + intervalDuration = intervalOrScheduler; + } + } + return new Observable(function (subscriber) { + var due = isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime; + if (due < 0) { + due = 0; + } + var n = 0; + return scheduler.schedule(function () { + if (!subscriber.closed) { + subscriber.next(n++); + if (0 <= intervalDuration) { + this.schedule(undefined, intervalDuration); + } + else { + subscriber.complete(); + } + } + }, due); + }); +} +//# sourceMappingURL=timer.js.map
\ No newline at end of file |
