import { __extends } from "tslib"; | |
import { AsyncScheduler } from './AsyncScheduler'; | |
var AsapScheduler = (function (_super) { | |
__extends(AsapScheduler, _super); | |
function AsapScheduler() { | |
return _super !== null && _super.apply(this, arguments) || this; | |
} | |
AsapScheduler.prototype.flush = function (action) { | |
this._active = true; | |
var flushId = this._scheduled; | |
this._scheduled = undefined; | |
var actions = this.actions; | |
var error; | |
action = action || actions.shift(); | |
do { | |
if ((error = action.execute(action.state, action.delay))) { | |
break; | |
} | |
} while ((action = actions[0]) && action.id === flushId && actions.shift()); | |
this._active = false; | |
if (error) { | |
while ((action = actions[0]) && action.id === flushId && actions.shift()) { | |
action.unsubscribe(); | |
} | |
throw error; | |
} | |
}; | |
return AsapScheduler; | |
}(AsyncScheduler)); | |
export { AsapScheduler }; | |
//# sourceMappingURL=AsapScheduler.js.map |