spid-sdk-js
Version:
SPiD SDK for Javascript
33 lines (27 loc) • 594 B
JavaScript
/*global module:false*/
var _callbacks = {};
function ensureArray(key) {
if(!Array.isArray(_callbacks[key])) {
_callbacks[key] = [];
}
}
function register(key, cb) {
ensureArray(key);
_callbacks[key].push(cb);
}
function invokeAll(key, err, data) {
ensureArray(key);
_callbacks[key].forEach(function (cb) {
cb(err, data);
});
delete _callbacks[key];
}
function hasPending(key) {
ensureArray(key);
return _callbacks[key].length > 1;
}
module.exports = {
register: register,
invokeAll: invokeAll,
hasPending: hasPending
};