• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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