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.
		
		
		
		
		
			
		
			
				
					
					
						
							30 lines
						
					
					
						
							497 B
						
					
					
				
			
		
		
	
	
							30 lines
						
					
					
						
							497 B
						
					
					
				| // API
 | |
| module.exports = abort;
 | |
| 
 | |
| /**
 | |
|  * Aborts leftover active jobs
 | |
|  *
 | |
|  * @param {object} state - current state object
 | |
|  */
 | |
| function abort(state)
 | |
| {
 | |
|   Object.keys(state.jobs).forEach(clean.bind(state));
 | |
| 
 | |
|   // reset leftover jobs
 | |
|   state.jobs = {};
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Cleans up leftover job by invoking abort function for the provided job id
 | |
|  *
 | |
|  * @this  state
 | |
|  * @param {string|number} key - job id to abort
 | |
|  */
 | |
| function clean(key)
 | |
| {
 | |
|   if (typeof this.jobs[key] == 'function')
 | |
|   {
 | |
|     this.jobs[key]();
 | |
|   }
 | |
| }
 |