Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. module.exports = function (onDone) {
  3.     this.events = []
  4.     this.onDone = onDone
  5.  
  6.     return {
  7.         searchEvent: function(eventName) {
  8.             return this.events.findIndex((el, index) => (el.name === eventName))
  9.         },
  10.         addEvent: function(eventName, eventCount = 0) {
  11.             this.events.push({name: eventName, count: eventCount});
  12.             return eventIndex = this.events.length - 1;
  13.         },
  14.         register: function(eventName, eventCount = 0) {
  15.             var eventIndex = this.searchEvent(eventName);
  16.             eventIndex = (eventIndex === -1) ? this.addEvent(eventName) : eventIndex;
  17.             this.events[eventIndex].count += eventCount;
  18.         },
  19.         check: function(eventName) {
  20.             var eventIndex = this.searchEvent(eventName);
  21.             if (eventIndex !== -1) {
  22.                 this.events[eventIndex].count -= 1;
  23.                 if (this.events[eventIndex].count === 0) {
  24.                     this.events.splice(eventIndex, 1);
  25.                 }
  26.                 if (this.events.length === 0) {
  27.                     this.onDone && this.onDone();
  28.                 }
  29.             }
  30.         },
  31.         update: function(onDone) {
  32.             this.events = [];
  33.             this.onDone = onDone;
  34.         }
  35.     }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement