Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/terminal/xterm.js/src/EventEmitter.js

Issue 2372303003: DevTools: introduce external service client (behind experiment). (Closed)
Patch Set: external linter Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /**
2 * EventEmitter
3 */
4
5 function EventEmitter() {
6 this._events = this._events || {};
7 }
8
9 EventEmitter.prototype.addListener = function(type, listener) {
10 this._events[type] = this._events[type] || [];
11 this._events[type].push(listener);
12 };
13
14 EventEmitter.prototype.on = EventEmitter.prototype.addListener;
15
16 EventEmitter.prototype.removeListener = function(type, listener) {
17 if (!this._events[type]) return;
18
19 var obj = this._events[type]
20 , i = obj.length;
21
22 while (i--) {
23 if (obj[i] === listener || obj[i].listener === listener) {
24 obj.splice(i, 1);
25 return;
26 }
27 }
28 };
29
30 EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
31
32 EventEmitter.prototype.removeAllListeners = function(type) {
33 if (this._events[type]) delete this._events[type];
34 };
35
36 EventEmitter.prototype.once = function(type, listener) {
37 var self = this;
38 function on() {
39 var args = Array.prototype.slice.call(arguments);
40 this.removeListener(type, on);
41 return listener.apply(this, args);
42 }
43 on.listener = listener;
44 return this.on(type, on);
45 };
46
47 EventEmitter.prototype.emit = function(type) {
48 if (!this._events[type]) return;
49
50 var args = Array.prototype.slice.call(arguments, 1)
51 , obj = this._events[type]
52 , l = obj.length
53 , i = 0;
54
55 for (; i < l; i++) {
56 obj[i].apply(this, args);
57 }
58 };
59
60 EventEmitter.prototype.listeners = function(type) {
61 return this._events[type] = this._events[type] || [];
62 };
63
64 export { EventEmitter };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698