• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

i18next / i18next / #51133

17 Mar 2016 09:13AM UTC coverage: 66.667% (+1.9%) from 64.722%
#51133

push

jamuhl
rebuild

514 of 771 relevant lines covered (66.67%)

20.23 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

40.91
/src/EventEmitter.js
1
class EventEmitter{
2
        constructor() {
34✔
3
                this.observers = {};
34✔
4
        }
5

6
        on(events, listener) {
5✔
7
                events.split(' ').forEach((event) => {
5✔
8
                        this.observers[event] = this.observers[event] || [];
6✔
9
                        this.observers[event].push(listener);
6✔
10
                });
11
        }
12

13
        off(event, listener) {
×
14
                if (!this.observers[event]) {
×
15
                        return;
×
16
                }
17

18
                this.observers[event].forEach(() => {
×
19
                        if (!listener) {
×
20
                                delete this.observers[event];
×
21
                        } else {
22
                                var index = this.observers[event].indexOf(listener);
×
23
                                if (index > -1) {
×
24
                                        this.observers[event].splice(index, 1);
×
25
                                }
26
                        }
27
                });
28
        }
29

30
        emit(event, ...args) {
31✔
31
                if (this.observers[event]) {
12✔
32
                        this.observers[event].forEach(function(observer) {
×
33
                                observer(...args);
×
34
                        });
35
                }
36

37
                if (this.observers['*']) {
12✔
38
                        this.observers['*'].forEach(function(observer) {
×
39
                                observer.apply(observer, [event].concat(...args));
×
40
                        });
41
                }
42
        }
43
}
44

45
export default EventEmitter;
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc