import { __extends } from "tslib"; import { AsyncAction } from './AsyncAction'; var QueueAction = (function (_super) { __extends(QueueAction, _super); function QueueAction(scheduler, work) { var _this = _super.call(this, scheduler, work) || this; _this.scheduler = scheduler; _this.work = work; return _this; } QueueAction.prototype.schedule = function (state, delay) { if (delay === void 0) { delay = 0; } if (delay > 0) { return _super.prototype.schedule.call(this, state, delay); } this.delay = delay; this.state = state; this.scheduler.flush(this); return this; }; QueueAction.prototype.execute = function (state, delay) { return delay > 0 || this.closed ? _super.prototype.execute.call(this, state, delay) : this._execute(state, delay); }; QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) { if (delay === void 0) { delay = 0; } if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) { return _super.prototype.requestAsyncId.call(this, scheduler, id, delay); } scheduler.flush(this); return 0; }; return QueueAction; }(AsyncAction)); export { QueueAction }; //# sourceMappingURL=QueueAction.js.map