We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent d26239e commit f62fcd1Copy full SHA for f62fcd1
JavaScript/3-extended.js
@@ -0,0 +1,34 @@
1
+'use strict';
2
+
3
+const listener = Parent => class extends Parent {
4
+ constructor() {
5
+ super();
6
+ this.events = {};
7
+ }
8
+ on(name, listener) {
9
+ const event = this.events[name];
10
+ if (event) event.push(listener);
11
+ else this.events[name] = [listener];
12
13
+ emit(name, ...data) {
14
15
+ if (!event) return;
16
+ event.forEach(fn => fn(...data));
17
18
+};
19
20
+const adder = Parent => class extends Parent {
21
+ constructor(initial) {
22
23
+ this.value = initial;
24
25
+ add(value) {
26
+ this.value += value;
27
+ return this;
28
29
30
31
+console.dir({
32
+ listener,
33
+ adder
34
+});
0 commit comments