snakeskin
Version:
Компилятор блочных шаблонов c поддержкой наследования.
31 lines (26 loc) • 689 B
JavaScript
/*!
* API для организации очереди выполнения
*/
/**
* Добавить функцию в очередь выполнения
*
* @param {function(this:DirObj)} fn - исходная функция
* @return {!DirObj}
*/
DirObj.prototype.toQueue = function (fn) {
this.structure.stack.push(fn);
return this;
};
/**
* Выполнить все функции, которые стоят в очереди
* @return {!DirObj}
*/
DirObj.prototype.applyQueue = function () {
var stack = this.structure.stack;
for (let i = -1; ++i < stack.length;) {
stack[i].call(this);
stack.shift();
i--;
}
return this;
};