readByteSync method
Use this to read a byte, whether in mock mode or with real stdin.
Implementation
int? readByteSync() {
if (mock) {
var ret = _mockBuffer[0];
_mockBuffer.removeAt(0);
return (ret is int ? ret : int.parse(ret));
}
int? key;
if (Platform.isWindows) {
var key_input = console.readKey().toString();
if (key_input.startsWith('ControlCharacter')) {
key_input = key_input.split('.')[1];
if (key_input == 'arrowUp') {
return WIN_UP;
} else if (key_input == 'arrowDown') {
return WIN_DOWN;
} else if (key_input == 'enter') {
return WIN_ENTER;
}
} else {
return key_input.codeUnitAt(0);
}
} else {
key = stdin.readByteSync();
}
return key;
}