AutorÃa | Ultima modificación | Ver Log |
define("core/pubsub",["exports","core/pending"],(function(_exports,_pending){var obj;
/**
* A simple Javascript PubSub implementation.
*
* @module core/pubsub
* @copyright 2018 Ryan Wyllie <ryan@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.unsubscribe=_exports.subscribe=_exports.publish=void 0,_pending=(obj=_pending)&&obj.__esModule?obj:{default:obj};const events={};_exports.subscribe=function(eventName,callback){events[eventName]=events[eventName]||[],events[eventName].push(callback)};_exports.unsubscribe=function(eventName,callback){if(events[eventName])for(var i=0;i<events[eventName].length;i++)if(events[eventName][i]===callback){events[eventName].splice(i,1);break}};_exports.publish=function(eventName,data){const pendingPromise=new _pending.default("Publishing "+eventName);events[eventName]&&events[eventName].forEach((function(callback){callback(data)})),pendingPromise.resolve()}}));
//# sourceMappingURL=pubsub.min.js.map