diff options
Diffstat (limited to 'node_modules/rxjs/dist/esm/internal/observable/timer.js')
| -rw-r--r-- | node_modules/rxjs/dist/esm/internal/observable/timer.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/node_modules/rxjs/dist/esm/internal/observable/timer.js b/node_modules/rxjs/dist/esm/internal/observable/timer.js new file mode 100644 index 0000000..088a051 --- /dev/null +++ b/node_modules/rxjs/dist/esm/internal/observable/timer.js @@ -0,0 +1,34 @@ +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 = 0, intervalOrScheduler, scheduler = asyncScheduler) { + let intervalDuration = -1; + if (intervalOrScheduler != null) { + if (isScheduler(intervalOrScheduler)) { + scheduler = intervalOrScheduler; + } + else { + intervalDuration = intervalOrScheduler; + } + } + return new Observable((subscriber) => { + let due = isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime; + if (due < 0) { + due = 0; + } + let 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 |
