runCommand static method

void runCommand()

Implementation

static void runCommand() {
  bool isHelpCommand =
      arguments.isEmpty ||
      (arguments.length == 1 && (arguments[0] == 'help' || arguments[0] == '--help' || arguments[0] == '-help' || arguments[0] == '-h' || arguments[0] == 'h'));
  bool isInitCommand = arguments.length == 1 && arguments[0] == 'init';
  bool isSetupFlavorsCommand = arguments.length == 1 && arguments[0] == 'setup_flavors';
  bool isSetupDeeplinkCommand = arguments.length == 1 && arguments[0] == 'setup_deeplink';
  bool isSetupFirebaseManualCommand = arguments.length == 1 && arguments[0] == 'setup_firebase_manual';
  bool isSetupFirebaseAutoCommand = arguments.length == 1 && arguments[0] == 'setup_firebase';
  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.any((element) => isInValidArgument(element)) && !isHelpCommand) {
    print(
      "\n ${ConsoleSymbols.error}Error: Invalid command format\n\n  •  Should be in lowercase only\n  •  Start with alphabet\n  •  No special characters allowed other then underscore (_)\n",
    );
    return;
  }
  if (isHelpCommand) {
    // Show Help
    _showHelp();
    return;
  }
  if (isInitCommand) {
    // Initialize Project
    _initProject();
    return;
  }
  if (isSetupFlavorsCommand) {
    // Setup Product Flavors
    _setupFlavors();
    return;
  }
  if (isSetupDeeplinkCommand) {
    // Setup Deep-Linking
    _setupDeeplink();
    return;
  }
  if (isSetupFirebaseManualCommand) {
    // Setup Firebase Configs
    _setupFirebase();
    return;
  }
  if (isSetupFirebaseAutoCommand) {
    // Setup Firebase Configs Automatically using FlutterFire CLI
    setupFirebaseAuto();
    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;
  }
  print('${ConsoleSymbols.error}  Error: Unknown command.');
}