arrakis
Version:
Helpfull development framework
39 lines (33 loc) • 840 B
JavaScript
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());
}
}
}