runCommand static method

void runCommand()

Implementation

static void runCommand() {
  bool isCreateScreenCommand = arguments.length == 3 && arguments[0] == 'create' && arguments[1] == 'screen';
  bool isCreateSubScreenCommand = arguments.length == 5 && arguments[0] == 'create' && arguments[1] == 'sub_screen' && arguments[3] == 'in';
  bool isCreateBottomSheetCommand = arguments.length == 3 && arguments[0] == 'create' && arguments[1] == 'bs';
  bool isCreateDialogCommand = arguments.length == 3 && arguments[0] == 'create' && arguments[1] == 'dialog';
  bool isCreateEventCommand = arguments.length == 5 && arguments[0] == 'create' && arguments[1] == 'event' && arguments[3] == 'in';

  if (arguments.isEmpty) {
    ConsoleLogger.error('No command provided.');
    return;
  }

  if (arguments.any((element) => isInValidArgument(element))) {
    ConsoleLogger.error('Invalid command format\n  • Should be in lowercase only\n  • Start with alphabet\n  • No special characters allowed other then underscore (_)');
    return;
  }

  if (isCreateScreenCommand) {
    // Create Screen
    _pageName = arguments[2];
    _createScreenStructure();
    return;
  }
  if (isCreateSubScreenCommand) {
    // Create Sub Screen
    _pageName = arguments[2];
    _parentPageName = arguments[4];
    _createSubScreenStructure();
    return;
  }
  if (isCreateBottomSheetCommand) {
    // Create Bottom Sheet
    _pageName = arguments[2];
    _createBottomSheetStructure();
    return;
  }
  if (isCreateDialogCommand) {
    // Create Dialog
    _pageName = arguments[2];
    _createDialogStructure();
    return;
  }
  if (isCreateEventCommand) {
    // Create Bloc'sEvent
    final String eventName = arguments[2];
    final String pageName = arguments[4];
    _createEvent(eventName, pageName);
    return;
  }
  ConsoleLogger.error('Unknown command.');
}