small-emitter
Advanced tools
Comparing version 0.1.3 to 0.1.4
@@ -1,14 +0,12 @@ | ||
declare type EmitterArgs = any[]; | ||
interface EmitterCallback { | ||
(...args: EmitterArgs): void; | ||
_?: () => void; | ||
(...args: unknown[]): unknown; | ||
_?: (...args: unknown[]) => unknown; | ||
} | ||
interface EmitterEvents { | ||
[key: string]: EmitterCallback[] | null; | ||
} | ||
declare class Emitter { | ||
events: EmitterEvents; | ||
events: { | ||
[key: string]: EmitterCallback[]; | ||
}; | ||
on(name: string, callback: EmitterCallback): void; | ||
once(name: string, callback: EmitterCallback): void; | ||
emit(name: string, ...args: EmitterArgs): void; | ||
emit(name: string, ...args: unknown[]): void; | ||
off(name: string, callback?: EmitterCallback): void; | ||
@@ -15,0 +13,0 @@ clear(): void; |
@@ -1,1 +0,52 @@ | ||
class e{constructor(){Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:{}})}on(e,t){var s;const n=this.events;n[e]?null===(s=n[e])||void 0===s||s.push(t):n[e]=[t]}once(e,t){const s=(...n)=>{this.off(e,s),t(...n)};return s._=t,this.on(e,s)}emit(e,...t){const s=this.events;if(s[e])for(const n of s[e])n(...t)}off(e,t){var s;const n=this.events;if(!n[e])return;const o=[];if(n[e]&&t)for(const s of n[e])s!==t&&s._!==t&&s&&o.push(s);(null===(s=n[e])||void 0===s?void 0:s.length)?n[e]=o:delete n[e]}clear(){this.events={}}}export{e as default}; | ||
var __defProp = Object.defineProperty; | ||
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; | ||
var __publicField = (obj, key, value) => { | ||
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); | ||
return value; | ||
}; | ||
class Emitter { | ||
constructor() { | ||
__publicField(this, "events", {}); | ||
} | ||
on(name, callback) { | ||
var _a; | ||
const e = this.events; | ||
e[name] = e[name] || []; | ||
(_a = e[name]) == null ? void 0 : _a.push(callback); | ||
} | ||
once(name, callback) { | ||
const listener = (...args) => { | ||
this.off(name, listener); | ||
callback(...args); | ||
}; | ||
listener._ = callback; | ||
return this.on(name, listener); | ||
} | ||
emit(name, ...args) { | ||
const e = this.events; | ||
if (!e[name]) | ||
return; | ||
for (const callback of e[name]) { | ||
callback(...args); | ||
} | ||
} | ||
off(name, callback) { | ||
var _a; | ||
const e = this.events; | ||
if (!e[name]) | ||
return; | ||
const newCache = []; | ||
if (e[name] && callback) { | ||
for (const item of e[name]) { | ||
if (item === callback || item._ === callback) | ||
continue; | ||
item && newCache.push(item); | ||
} | ||
} | ||
((_a = e[name]) == null ? void 0 : _a.length) ? e[name] = newCache : delete e[name]; | ||
} | ||
clear() { | ||
this.events = {}; | ||
} | ||
} | ||
export { Emitter as default }; |
@@ -1,1 +0,1 @@ | ||
var h=Object.defineProperty;var d=(i,s,e)=>s in i?h(i,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[s]=e;var u=(i,s,e)=>(d(i,typeof s!="symbol"?s+"":s,e),e);(function(i,s){typeof exports=="object"&&typeof module!="undefined"?module.exports=s():typeof define=="function"&&define.amd?define(s):(i=typeof globalThis!="undefined"?globalThis:i||self,i.emitter=s())})(this,function(){"use strict";class i{constructor(){u(this,"events",{})}on(e,n){var o;const t=this.events;if(!t[e]){t[e]=[n];return}(o=t[e])==null||o.push(n)}once(e,n){const t=(...o)=>{this.off(e,t),n(...o)};return t._=n,this.on(e,t)}emit(e,...n){const t=this.events;if(!!t[e])for(const o of t[e])o(...n)}off(e,n){var r;const t=this.events;if(!t[e])return;const o=[];if(t[e]&&n)for(const f of t[e])f===n||f._===n||f&&o.push(f);((r=t[e])==null?void 0:r.length)?t[e]=o:delete t[e]}clear(){this.events={}}}return i}); | ||
var h=Object.defineProperty;var c=(i,s,e)=>s in i?h(i,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[s]=e;var u=(i,s,e)=>(c(i,typeof s!="symbol"?s+"":s,e),e);(function(i,s){typeof exports=="object"&&typeof module!="undefined"?module.exports=s():typeof define=="function"&&define.amd?define(s):(i=typeof globalThis!="undefined"?globalThis:i||self,i.emitter=s())})(this,function(){"use strict";class i{constructor(){u(this,"events",{})}on(e,n){var o;const t=this.events;t[e]=t[e]||[],(o=t[e])==null||o.push(n)}once(e,n){const t=(...o)=>{this.off(e,t),n(...o)};return t._=n,this.on(e,t)}emit(e,...n){const t=this.events;if(!!t[e])for(const o of t[e])o(...n)}off(e,n){var r;const t=this.events;if(!t[e])return;const o=[];if(t[e]&&n)for(const f of t[e])f===n||f._===n||f&&o.push(f);((r=t[e])==null?void 0:r.length)?t[e]=o:delete t[e]}clear(){this.events={}}}return i}); |
{ | ||
"name": "small-emitter", | ||
"version": "0.1.3", | ||
"version": "0.1.4", | ||
"license": "MIT", | ||
@@ -5,0 +5,0 @@ "author": "Lv Heng", |
@@ -142,1 +142,5 @@ # Emitter | ||
``` | ||
## License | ||
[MIT License](https://opensource.org/licenses/MIT) |
@@ -142,1 +142,5 @@ # Emitter | ||
``` | ||
## 开源协议 | ||
[MIT License](https://opensource.org/licenses/MIT) |
10412
71
146