simplify parser handler interface:

- remove setHandler
- apply boolean return to ESC|CSI|OSC|DCS handlers
  (rewrite empty return defaulting to true)
- rename addHandler to registerHandler
This commit is contained in:
Jörg Breitbart
2021-01-20 23:03:55 +01:00
parent 74ea558bfc
commit c50c134e25
9 changed files with 476 additions and 419 deletions
+4 -8
View File
@@ -22,7 +22,7 @@ export class DcsParser implements IDcsParser {
this._handlerFb = () => {};
}
public addHandler(ident: number, handler: IDcsHandler): IDisposable {
public registerHandler(ident: number, handler: IDcsHandler): IDisposable {
if (this._handlers[ident] === undefined) {
this._handlers[ident] = [];
}
@@ -38,10 +38,6 @@ export class DcsParser implements IDcsParser {
};
}
public setHandler(ident: number, handler: IDcsHandler): void {
this._handlers[ident] = [handler];
}
public clearHandler(ident: number): void {
if (this._handlers[ident]) delete this._handlers[ident];
}
@@ -112,7 +108,7 @@ export class DcsHandler implements IDcsHandler {
private _params: IParams | undefined;
private _hitLimit: boolean = false;
constructor(private _handler: (data: string, params: IParams) => any) {}
constructor(private _handler: (data: string, params: IParams) => boolean) {}
public hook(params: IParams): void {
this._params = params.clone();
@@ -131,8 +127,8 @@ export class DcsHandler implements IDcsHandler {
}
}
public unhook(success: boolean): any {
let ret;
public unhook(success: boolean): boolean {
let ret = false;
if (this._hitLimit) {
ret = false;
} else if (success) {