You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							39 lines
						
					
					
						
							697 B
						
					
					
				
			
		
		
	
	
							39 lines
						
					
					
						
							697 B
						
					
					
				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;
 | 
						|
 |