UNPKG

mmjs-core

Version:
2 lines (1 loc) 1 kB
"use strict";var c=Object.defineProperty;var v=(s,t,e)=>t in s?c(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var h=(s,t,e)=>v(s,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class f{constructor(){h(this,"_events",{})}on(t,e){if(typeof e!="function")throw new TypeError("事件回调必须是函数");return this._events[t]||(this._events[t]=[]),this._events[t].includes(e)||this._events[t].push(e),this}off(t,e){if(!t)return this._events={},this;const n=this._events[t];if(!n)return this;if(!e)return n.length=0,this;const i=n.findIndex(r=>r===e);return i!==-1&&n.splice(i,1),this}emit(t,...e){var i;return(((i=this._events[t])==null?void 0:i.slice())||[]).forEach(r=>{try{r(...e)}catch(o){console.error(`[EventEmitter 错误] 事件类型: ${String(t)}`,o)}}),this}hasEvent(t){var e;return!!((e=this._events[t])!=null&&e.length)}getHandlers(t){var e;return((e=this._events[t])==null?void 0:e.slice())||[]}}exports.EventEmitter=f;