| 12345678910111213141516171819202122232425262728293031323334353637383940 | 
							- "use strict";
 
- Object.defineProperty(exports, "__esModule", { value: true });
 
- exports.timer = void 0;
 
- var Observable_1 = require("../Observable");
 
- var async_1 = require("../scheduler/async");
 
- var isScheduler_1 = require("../util/isScheduler");
 
- var isDate_1 = require("../util/isDate");
 
- function timer(dueTime, intervalOrScheduler, scheduler) {
 
-     if (dueTime === void 0) { dueTime = 0; }
 
-     if (scheduler === void 0) { scheduler = async_1.async; }
 
-     var intervalDuration = -1;
 
-     if (intervalOrScheduler != null) {
 
-         if (isScheduler_1.isScheduler(intervalOrScheduler)) {
 
-             scheduler = intervalOrScheduler;
 
-         }
 
-         else {
 
-             intervalDuration = intervalOrScheduler;
 
-         }
 
-     }
 
-     return new Observable_1.Observable(function (subscriber) {
 
-         var due = isDate_1.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);
 
-     });
 
- }
 
- exports.timer = timer;
 
- //# sourceMappingURL=timer.js.map
 
 
  |