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