twitst4tz

twitter statistics web application
Log | Files | Refs | README | LICENSE

abort.js (497B)


      1 // API
      2 module.exports = abort;
      3 
      4 /**
      5  * Aborts leftover active jobs
      6  *
      7  * @param {object} state - current state object
      8  */
      9 function 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  */
     23 function clean(key)
     24 {
     25   if (typeof this.jobs[key] == 'function')
     26   {
     27     this.jobs[key]();
     28   }
     29 }