@anephenix/event-emitter 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/EventEmitter.d.ts +13 -0
- package/dist/EventEmitter.d.ts.map +1 -0
- package/dist/EventEmitter.js +34 -0
- package/dist/EventEmitter.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -83,7 +83,7 @@ setup of the EventEmitter instance, like this:
|
|
|
83
83
|
|
|
84
84
|
```typescript
|
|
85
85
|
type MyEvents = {
|
|
86
|
-
message: (data: string) => void;
|
|
86
|
+
message: (data: { name: string; text: string }) => void;
|
|
87
87
|
join: (username: string) => void;
|
|
88
88
|
leave: (username: string) => void;
|
|
89
89
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type EventMap = Record<string, (...args: any[]) => void>;
|
|
2
|
+
declare class EventEmitter<T extends EventMap> {
|
|
3
|
+
events: {
|
|
4
|
+
[K in keyof T]?: T[K][];
|
|
5
|
+
};
|
|
6
|
+
enableLogging: boolean;
|
|
7
|
+
log(...args: unknown[]): void;
|
|
8
|
+
on<K extends keyof T>(event: K, listener: T[K]): void;
|
|
9
|
+
off<K extends keyof T>(event: K, listener: T[K]): void;
|
|
10
|
+
emit<K extends keyof T>(event: K, ...args: Parameters<T[K]>): void;
|
|
11
|
+
}
|
|
12
|
+
export default EventEmitter;
|
|
13
|
+
//# sourceMappingURL=EventEmitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventEmitter.d.ts","sourceRoot":"","sources":["../src/EventEmitter.ts"],"names":[],"mappings":"AAEA,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC;AAEzD,cAAM,YAAY,CAAC,CAAC,SAAS,QAAQ;IACpC,MAAM,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;KAAE,CAAM;IACzC,aAAa,UAAS;IAEtB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE;IAMtB,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAOrD,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAMtD,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;CAQlE;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
class EventEmitter {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.events = {};
|
|
4
|
+
this.enableLogging = false;
|
|
5
|
+
}
|
|
6
|
+
log(...args) {
|
|
7
|
+
if (this.enableLogging) {
|
|
8
|
+
console.log(...args);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
on(event, listener) {
|
|
12
|
+
if (!this.events[event]) {
|
|
13
|
+
this.events[event] = [];
|
|
14
|
+
}
|
|
15
|
+
this.events[event].push(listener);
|
|
16
|
+
}
|
|
17
|
+
off(event, listener) {
|
|
18
|
+
const listeners = this.events[event];
|
|
19
|
+
if (!listeners)
|
|
20
|
+
return;
|
|
21
|
+
this.events[event] = listeners.filter((l) => l !== listener);
|
|
22
|
+
}
|
|
23
|
+
emit(event, ...args) {
|
|
24
|
+
this.log("Emitting event:", event, "with args:", ...args);
|
|
25
|
+
const listeners = this.events[event];
|
|
26
|
+
if (!listeners)
|
|
27
|
+
return;
|
|
28
|
+
for (const listener of listeners) {
|
|
29
|
+
listener(...args);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export default EventEmitter;
|
|
34
|
+
//# sourceMappingURL=EventEmitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../src/EventEmitter.ts"],"names":[],"mappings":"AAIA,MAAM,YAAY;IAAlB;QACC,WAAM,GAAgC,EAAE,CAAC;QACzC,kBAAa,GAAG,KAAK,CAAC;IA6BvB,CAAC;IA3BA,GAAG,CAAC,GAAG,IAAe;QACrB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;IAED,EAAE,CAAoB,KAAQ,EAAE,QAAc;QAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,GAAG,CAAoB,KAAQ,EAAE,QAAc;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAoB,KAAQ,EAAE,GAAG,IAAsB;QAC1D,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAClC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QACnB,CAAC;IACF,CAAC;CACD;AAED,eAAe,YAAY,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anephenix/event-emitter",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"description": "A small EventEmitter library",
|
|
5
5
|
"author": "Paul Jensen <paul@anephenix.com>",
|
|
6
6
|
"maintainers": [
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
},
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"type": "module",
|
|
25
|
-
"main": "
|
|
25
|
+
"main": "./dist/index.js",
|
|
26
26
|
"types": "./dist/index.d.ts",
|
|
27
27
|
"files": [
|
|
28
28
|
"dist",
|