runCommand static method
void
runCommand()
Reads the current arguments and dispatches to the matching create command (page, bs, or event).
Implementation
static void runCommand() {
bool isCreatePageCommand = arguments.length == 5 && arguments[3] == 'in' && arguments[0] == 'create' && arguments[1] == 'page';
bool isCreateBottomSheetCommand = arguments.length == 3 && arguments[0] == 'create' && arguments[1] == 'bs';
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 (isCreatePageCommand) {
// Check if page is available in these paths and then Create Page
String basePage = arguments[4];
if (basePage == 'customer') {
_role = 'customer';
} else if (basePage == 'pub') {
_role = 'pub';
} else if (basePage == 'common') {
_role = 'common';
} else {
ConsoleLogger.error('Invalid page category: $basePage');
return;
}
_pageName = arguments[2];
_createPageStructure();
} else if (isCreateBottomSheetCommand) {
// Create Bottom Sheet
_pageName = arguments[2];
_createBottomSheetStructure();
} else if (isCreateEventCommand) {
// Create Event
final String eventName = arguments[2];
final String pageName = arguments[4];
_createEvent(eventName, pageName);
} else {
ConsoleLogger.error('Unknown command.');
}
}