Merge remote-tracking branch 'origin/master' into 731_screen_reader

This commit is contained in:
Daniel Imms
2018-01-26 10:24:09 -08:00
55 changed files with 861 additions and 780 deletions
+8 -17
View File
@@ -3,10 +3,11 @@
* @license MIT
*/
import { IEventEmitter, IListenerType, IDisposable } from './Interfaces';
import { XtermListener } from './Types';
import { IEventEmitter, IDisposable } from 'xterm';
export class EventEmitter implements IEventEmitter {
private _events: {[type: string]: IListenerType[]};
private _events: {[type: string]: XtermListener[]};
constructor() {
// Restore the previous events if available, this will happen if the
@@ -14,7 +15,7 @@ export class EventEmitter implements IEventEmitter {
this._events = this._events || {};
}
public on(type: string, listener: IListenerType): void {
public on(type: string, listener: XtermListener): void {
this._events[type] = this._events[type] || [];
this._events[type].push(listener);
}
@@ -24,7 +25,7 @@ export class EventEmitter implements IEventEmitter {
* @param type The event type.
* @param handler The handler for the listener.
*/
public addDisposableListener(type: string, handler: IListenerType): IDisposable {
public addDisposableListener(type: string, handler: XtermListener): IDisposable {
this.on(type, handler);
return {
dispose: () => {
@@ -38,7 +39,7 @@ export class EventEmitter implements IEventEmitter {
};
}
public off(type: string, listener: IListenerType): void {
public off(type: string, listener: XtermListener): void {
if (!this._events[type]) {
return;
}
@@ -47,7 +48,7 @@ export class EventEmitter implements IEventEmitter {
let i = obj.length;
while (i--) {
if (obj[i] === listener || obj[i].listener === listener) {
if (obj[i] === listener) {
obj.splice(i, 1);
return;
}
@@ -60,16 +61,6 @@ export class EventEmitter implements IEventEmitter {
}
}
public once(type: string, listener: IListenerType): void {
function on(): void {
let args = Array.prototype.slice.call(arguments);
this.off(type, on);
listener.apply(this, args);
}
(<any>on).listener = listener;
this.on(type, on);
}
public emit(type: string, ...args: any[]): void {
if (!this._events[type]) {
return;
@@ -80,7 +71,7 @@ export class EventEmitter implements IEventEmitter {
}
}
public listeners(type: string): IListenerType[] {
public listeners(type: string): XtermListener[] {
return this._events[type] || [];
}