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() async {
  var modelName = argResults?['name'] as String?;
  var isJsonSerializable = argResults?['jsonSerializable'] as bool?;
  var isEquatable = argResults?['equatable'] as bool?;

  modelName ??= XInput.askValue(
    'Enter Model Name:',
    null,
    validators: [
      NonEmptyValidator(),
      PascalCaseValidator(),
      NotReservedWordValidator(),
    ],
  );

  isJsonSerializable ??= XInput.askYesNo(
    'Do you want to make the model JsonSerializable?',
    defaultAnswer: true,
  );

  isEquatable ??= XInput.askYesNo(
    'Do you want to make the model Equatable?',
    defaultAnswer: true,
  );

  await CreateModelTasks(
    modelName: modelName.toSnakeCase(),
    isJsonSerializable: isJsonSerializable,
    isEquatable: isEquatable,
    modelContent: modelStub(
      modelName.toSnakeCase(),
      isJsonSerializable,
      isEquatable,
    ),
  ).run();
}