| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | 
							- "use strict";
 
- /**
 
-  * An execution context and a data structure to order tasks and schedule their
 
-  * execution. Provides a notion of (potentially virtual) time, through the
 
-  * `now()` getter method.
 
-  *
 
-  * Each unit of work in a Scheduler is called an {@link Action}.
 
-  *
 
-  * ```ts
 
-  * class Scheduler {
 
-  *   now(): number;
 
-  *   schedule(work, delay?, state?): Subscription;
 
-  * }
 
-  * ```
 
-  *
 
-  * @class Scheduler
 
-  */
 
- var Scheduler = (function () {
 
-     function Scheduler(SchedulerAction, now) {
 
-         if (now === void 0) { now = Scheduler.now; }
 
-         this.SchedulerAction = SchedulerAction;
 
-         this.now = now;
 
-     }
 
-     /**
 
-      * Schedules a function, `work`, for execution. May happen at some point in
 
-      * the future, according to the `delay` parameter, if specified. May be passed
 
-      * some context object, `state`, which will be passed to the `work` function.
 
-      *
 
-      * The given arguments will be processed an stored as an Action object in a
 
-      * queue of actions.
 
-      *
 
-      * @param {function(state: ?T): ?Subscription} work A function representing a
 
-      * task, or some unit of work to be executed by the Scheduler.
 
-      * @param {number} [delay] Time to wait before executing the work, where the
 
-      * time unit is implicit and defined by the Scheduler itself.
 
-      * @param {T} [state] Some contextual data that the `work` function uses when
 
-      * called by the Scheduler.
 
-      * @return {Subscription} A subscription in order to be able to unsubscribe
 
-      * the scheduled work.
 
-      */
 
-     Scheduler.prototype.schedule = function (work, delay, state) {
 
-         if (delay === void 0) { delay = 0; }
 
-         return new this.SchedulerAction(this, work).schedule(state, delay);
 
-     };
 
-     Scheduler.now = Date.now ? Date.now : function () { return +new Date(); };
 
-     return Scheduler;
 
- }());
 
- exports.Scheduler = Scheduler;
 
- //# sourceMappingURL=Scheduler.js.map
 
 
  |