feature static method
Implementation
static Future<void> feature() async {
final featureName = InputService.getValidatedInput(
consoleMessage: Constants.kEnterFeatureName,
errorMessage: Constants.kInvalidValue,
functionValidator: Validator.isValidSingleString
).snakeCase();
final projectPath = DirectoryService.getValidProjectPath('lib/features');
final directories = [
'lib/features/$featureName',
'lib/features/$featureName/logic',
'lib/features/$featureName/logic/utils',
'lib/features/$featureName/view',
'lib/features/$featureName/view/widgets',
'lib/features/$featureName/models'
];
await DirectoryService.buildStructure(projectPath: projectPath, directories: directories);
FileService.createFile(
filePath: '$projectPath/lib/features/$featureName/$featureName.dart',
content: '''export 'view/view.dart';'''
);
FileService.createFile(filePath: '$projectPath/lib/features/$featureName/logic/utils/utils.dart');
FileService.createFile(filePath: '$projectPath/lib/features/$featureName/view/view.dart');
FileService.createFile(filePath: '$projectPath/lib/features/$featureName/view/widgets/widgets.dart');
FileService.createFile(filePath: '$projectPath/lib/features/$featureName/models/models.dart');
Console.writeLine(dcli.green('✅ The folder structure for feature has been successfully created!'));
}