run method

  1. @override
void run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

@override
void run() {
  int length = argResults?.arguments.length ?? 0;
  if (length > 1) {
    LogService.error(
        "The feature name must be separated by '_', for example create_person");
    return;
  }
  final name = argResults?.arguments.first;
  if (name == null || name.isEmpty) {
    LogService.error("You must provide a feature name.");
    return;
  }

  bool hasProvider = true;
  final hasNoProviderFlag = argResults?['no-provider'] as bool?;

  if (hasNoProviderFlag == true) {
    hasProvider = false;
  }

  Feature.create(featureName: name, hasProvider: hasProvider);
  Feature.addPageToRoute(featureName: name);
}