ms-eventjs
Version:
Library to manage events
3 lines (2 loc) • 1.02 kB
JavaScript
!function(n){window.$event=window.$event||{};var e=function(){var n=this,e={};n.Create=function(n){e[n]?console.log("Event already exists!"):e[n]=[]},n.Subscribe=function(n,o){e[n]?(e[n]=e[n]||[],e[n].push(o)):console.log("Event doesn't exists")},n.Publish=function(n,o){if(e[n])for(var t=e[n].length-1;t>=0;t--)if(o)!function(o){setTimeout(e[n][o],0)}(t);else try{e[n][t]()}catch(i){console.log(i)}else console.log("Event doesn't exists")},n.UnSubscribe=function(n,o){if(e[n]){var t=e[n],i=t.indexOf(o);-1!=i?(t.splice(i,1),e[n]=t,console.log("Handler Removed!")):console.log("Handler not found!")}else console.log("Event doesn't exists")},n.List=function(){return e}};window.$event.eventbus=new e}(),function(n){window.$event=window.$event||{},function(n){n.watch=function(n,e){e&&"[object Function]"==={}.toString.call(e)&&n&&("[object Array]"===Object.prototype.toString.call(n)?Array.observe(n,function(n){e(n)}):Object.observe(n,function(n){e(n)}))}}(window.$event)}();
//# sourceMappingURL=eventjs.min.js.map