Handle C0 codes via handler map in Parser

This commit is contained in:
Daniel Imms
2017-01-08 16:21:51 -08:00
parent 04b1ebf1a7
commit 659fb90c1c
2 changed files with 22 additions and 36 deletions
+12
View File
@@ -0,0 +1,12 @@
import { C0 } from './EscapeSequences';
import { IInputHandler } from './Interfaces';
export const normalStateHandler: {[key: string]: (handler: IInputHandler) => void} = {};
normalStateHandler[C0.BEL] = (handler) => handler.bell();
normalStateHandler[C0.LF] = (handler) => handler.lineFeed();
normalStateHandler[C0.VT] = normalStateHandler[C0.LF];
normalStateHandler[C0.FF] = normalStateHandler[C0.LF];
normalStateHandler[C0.CR] = (handler) => handler.carriageReturn();
normalStateHandler[C0.HT] = (handler) => handler.tab();
normalStateHandler[C0.SO] = (handler) => handler.shiftOut();
normalStateHandler[C0.SI] = (handler) => handler.shiftIn();