diff options
| author | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:26:46 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:43:56 -0700 |
| commit | e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 (patch) | |
| tree | 06284a538a6008eca75051399e47db4e5d50301c /node_modules/rxjs/dist/esm/internal/observable/timer.js | |
initial commit: scaffolding
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 |
