operation method

Future operation()

Implementation

Future operation() async {
  try {
    final templateRootPath = await Commands.getTemplateDirectoryPath();
    _templateRootDirectory = Directory(templateRootPath!);

    await getModuleName();
    await getDestinationDirectory();
    await getTemplateDirectory();
    await getDefaultModuleName();
    ColoredLog.magenta(templateDirectory, name: 'Source Directory');
    ColoredLog.magenta(
      _destinationDirectoryPath,
      name: 'Destination Directory',
    );
    ColoredLog.magenta(defaultName, name: 'Default Module Name');
    final destinationDirectory =
        Directory('$_destinationDirectoryPath/${moduleName.toCamelCase}');
    if (!await destinationDirectory.exists()) {
      await destinationDirectory.create(recursive: true);
      ColoredLog.green('Directory created: ${destinationDirectory.path}');
    } else {
      ColoredLog.cyan('Directory already exists.');
    }
    ColoredLog.magenta(destinationDirectory, name: 'Destination Directory');
    await copyDirectory(templateDirectory, destinationDirectory);
  } catch (e) {
    ColoredLog.red(e, name: 'Error creating template');
  }
}