readByteSync method

int? readByteSync()

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;
}