|
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 }; |
|
|