Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module.exports = function (onDone) {
- this.events = []
- this.onDone = onDone
- return {
- searchEvent: function(eventName) {
- return this.events.findIndex((el, index) => (el.name === eventName))
- },
- addEvent: function(eventName, eventCount = 0) {
- this.events.push({name: eventName, count: eventCount});
- return eventIndex = this.events.length - 1;
- },
- register: function(eventName, eventCount = 0) {
- var eventIndex = this.searchEvent(eventName);
- eventIndex = (eventIndex === -1) ? this.addEvent(eventName) : eventIndex;
- this.events[eventIndex].count += eventCount;
- },
- check: function(eventName) {
- var eventIndex = this.searchEvent(eventName);
- if (eventIndex !== -1) {
- this.events[eventIndex].count -= 1;
- if (this.events[eventIndex].count === 0) {
- this.events.splice(eventIndex, 1);
- }
- if (this.events.length === 0) {
- this.onDone && this.onDone();
- }
- }
- },
- update: function(onDone) {
- this.events = [];
- this.onDone = onDone;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement