Download Fore_End/cpcn2/node_modules/event-pubsub/es5.js from zxy0307/JavaWeb: direct link, hf CLI and curl.
- Browser
- Download file 3.17 kB
-
https://huggingface.co/zxy0307/JavaWeb/resolve/main/Fore_End/cpcn2/node_modules/event-pubsub/es5.js
- Command line
-
hf download hf://zxy0307/JavaWeb/Fore_End/cpcn2/node_modules/event-pubsub/es5.js
-
curl -L -o es5.js https://huggingface.co/zxy0307/JavaWeb/resolve/main/Fore_End/cpcn2/node_modules/event-pubsub/es5.js
3.17 kB
| ; | |
| function EventPubSub() { | |
| this._events_={}; | |
| this.publish=this.trigger=this.emit=emit; | |
| this.subscribe=this.on=on; | |
| this.once=once; | |
| this.unSubscribe=this.off=off; | |
| this.emit$=emit$; | |
| function on(type,handler,once){ | |
| if(!handler){ | |
| throw new ReferenceError('handler not defined.'); | |
| } | |
| if(!this._events_[type]){ | |
| this._events_[type]=[]; | |
| } | |
| if(once){ | |
| handler._once_ = once; | |
| } | |
| this._events_[type].push(handler); | |
| return this; | |
| } | |
| function once(type,handler){ | |
| return this.on(type, handler, true); | |
| } | |
| function off(type,handler){ | |
| if(!this._events_[type]){ | |
| return this; | |
| } | |
| if(!handler){ | |
| throw new ReferenceError('handler not defined. if you wish to remove all handlers from the event please pass "*" as the handler'); | |
| } | |
| if(handler=='*'){ | |
| delete this._events_[type]; | |
| return this; | |
| } | |
| var handlers=this._events_[type]; | |
| while(handlers.includes(handler)){ | |
| handlers.splice( | |
| handlers.indexOf(handler), | |
| 1 | |
| ); | |
| } | |
| if(handlers.length<1){ | |
| delete this._events_[type]; | |
| } | |
| return this; | |
| } | |
| function emit(type){ | |
| this.emit$.apply(this, arguments); | |
| if(!this._events_[type]){ | |
| return this; | |
| } | |
| arguments.splice=Array.prototype.splice; | |
| arguments.splice(0,1); | |
| var handlers=this._events_[type]; | |
| var onceHandled=[]; | |
| for(var i in handlers){ | |
| var handler=handlers[i]; | |
| handler.apply(this, arguments); | |
| if(handler._once_){ | |
| onceHandled.push(handler); | |
| } | |
| } | |
| for(var i in onceHandled){ | |
| this.off( | |
| type, | |
| onceHandled[i] | |
| ); | |
| } | |
| return this; | |
| } | |
| function emit$(type, args){ | |
| if(!this._events_['*']){ | |
| return this; | |
| } | |
| var catchAll=this._events_['*']; | |
| args.shift=Array.prototype.shift; | |
| args.shift(type); | |
| for(var handler of catchAll){ | |
| handler.apply(this, args); | |
| } | |
| return this; | |
| } | |
| return this; | |
| } | |
| if (!Array.prototype.includes) { | |
| Array.prototype.includes = function(searchElement /*, fromIndex*/) { | |
| 'use strict'; | |
| if (this == null) { | |
| throw new TypeError('Array.prototype.includes called on null or undefined'); | |
| } | |
| var O = Object(this); | |
| var len = parseInt(O.length, 10) || 0; | |
| if (len === 0) { | |
| return false; | |
| } | |
| var n = parseInt(arguments[1], 10) || 0; | |
| var k; | |
| if (n >= 0) { | |
| k = n; | |
| } else { | |
| k = len + n; | |
| if (k < 0) {k = 0;} | |
| } | |
| var currentElement; | |
| while (k < len) { | |
| currentElement = O[k]; | |
| if (searchElement === currentElement || | |
| (searchElement !== searchElement && currentElement !== currentElement)) { // NaN !== NaN | |
| return true; | |
| } | |
| k++; | |
| } | |
| return false; | |
| }; | |
| } | |
| module.exports=EventPubSub; | |