Show More
Commit Description:
force log out when password change
Commit Description:
force log out when password change
References:
File last commit:
Show/Diff file:
Action:
node_modules/pdfmake/src/traversalTracker.js
| 47 lines
| 1.0 KiB
| application/javascript
| JavascriptLexer
|
r789 | 'use strict'; | |||
function TraversalTracker() { | ||||
this.events = {}; | ||||
} | ||||
TraversalTracker.prototype.startTracking = function (event, callback) { | ||||
var callbacks = this.events[event] || (this.events[event] = []); | ||||
if (callbacks.indexOf(callback) < 0) { | ||||
callbacks.push(callback); | ||||
} | ||||
}; | ||||
TraversalTracker.prototype.stopTracking = function (event, callback) { | ||||
var callbacks = this.events[event]; | ||||
if (!callbacks) { | ||||
return; | ||||
} | ||||
var index = callbacks.indexOf(callback); | ||||
if (index >= 0) { | ||||
callbacks.splice(index, 1); | ||||
} | ||||
}; | ||||
TraversalTracker.prototype.emit = function (event) { | ||||
var args = Array.prototype.slice.call(arguments, 1); | ||||
var callbacks = this.events[event]; | ||||
if (!callbacks) { | ||||
return; | ||||
} | ||||
callbacks.forEach(function (callback) { | ||||
callback.apply(this, args); | ||||
}); | ||||
}; | ||||
TraversalTracker.prototype.auto = function (event, callback, innerFunction) { | ||||
this.startTracking(event, callback); | ||||
innerFunction(); | ||||
this.stopTracking(event, callback); | ||||
}; | ||||
module.exports = TraversalTracker; | ||||