first commit
This commit is contained in:
39
app_vue/node_modules/easy-stack/stack.js
generated
vendored
Normal file
39
app_vue/node_modules/easy-stack/stack.js
generated
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
class Stack{
|
||||
constructor(){
|
||||
this.stack=[];
|
||||
this.autoRun=true;
|
||||
this.running=false;
|
||||
this.stop=false;
|
||||
}
|
||||
|
||||
clear(){
|
||||
this.stack=[];
|
||||
return this.stack;
|
||||
}
|
||||
|
||||
contents(val){
|
||||
if(val){
|
||||
this.stack=val;
|
||||
}
|
||||
return this.stack;
|
||||
}
|
||||
|
||||
add(...callbacks){
|
||||
this.stack.push(...callbacks);
|
||||
if(!this.running && !this.stop && this.autoRun){
|
||||
this.next();
|
||||
}
|
||||
}
|
||||
|
||||
next(){
|
||||
this.running=true;
|
||||
if(this.stack.length<1 || this.stop){
|
||||
this.running=false;
|
||||
return;
|
||||
}
|
||||
|
||||
this.stack.pop().bind(this)();
|
||||
}
|
||||
}
|
||||
|
||||
module.exports=Stack;
|
Reference in New Issue
Block a user