28 lines
		
	
	
		
			714 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			714 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var path = require('path');
 | |
| 
 | |
| var TaskRunner = function(){
 | |
|     this.taskList = [];
 | |
|     this.currentTaskIndex = 0;
 | |
|     this.run = function () {
 | |
|        var exitTask = {
 | |
|            run: function () {
 | |
|                console.log("END");
 | |
|                process.exit(0);
 | |
|            }
 | |
|        };
 | |
|       this.addTask(exitTask);
 | |
|       this.taskList[0].run(this.delegate(this));
 | |
|    };
 | |
| 
 | |
|    this.addTask = function (task) {
 | |
|         this.taskList.push(task);
 | |
|     };
 | |
| 
 | |
|      this.delegate = function(self){
 | |
|         return function () {
 | |
|             self.currentTaskIndex++;
 | |
|             self.taskList[self.currentTaskIndex].run(self.delegate(self));
 | |
|         };
 | |
|      }
 | |
| }
 | |
| module.exports.TaskRunner = TaskRunner; |