1// API 2module.exports = abort; 3 4/** 5 * Aborts leftover active jobs 6 * 7 * @param {object} state - current state object 8 */ 9function abort(state) 10{ 11 Object.keys(state.jobs).forEach(clean.bind(state)); 12 13 // reset leftover jobs 14 state.jobs = {}; 15} 16 17/** 18 * Cleans up leftover job by invoking abort function for the provided job id 19 * 20 * @this state 21 * @param {string|number} key - job id to abort 22 */ 23function clean(key) 24{ 25 if (typeof this.jobs[key] == 'function') 26 { 27 this.jobs[key](); 28 } 29} 30 31