UNPKG

arrakis

Version:

Helpfull development framework

39 lines (33 loc) 840 B
module.exports = class Scheduler{ constructor(){ this.elements = []; } pend(){ for (var index = 0; index < arguments.length; index++) { if(Array.isArray(arguments[index])){ for(var element = 0; element < arguments[index].length; element++) this.pend(arguments[index][element]); }else this.elements.unshift(arguments[index]); } } getSize(){ return this.elements.length; } pop(){ return this.elements.shift(); } get(index){ return this.elements[index]; } forEach(callback, instance=this){ for (var index = 0; index < this.elements.length; index++) { callback.call(instance, this.elements[index], index, this.elements); } } start(callback, instance=this){ while(this.elements.length > 0){ callback.call(instance, this.elements.pop()); } } }