| 123456789101112131415161718192021222324252627282930313233343536373839 | 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;
 |