generate method

void generate()

Generates the feature structure based on the provided configuration

Implementation

void generate() {
  final basePath = Directory('lib/features/$featureName');

  if (!basePath.existsSync()) {
    basePath.createSync(recursive: true);
    print('✅ Created folder: ${basePath.path}');
  }

  Creators.createDataSources(
    path: basePath.path,
    splitDataSource: splitDataSource,
    featureName: featureName,
  );

  Creators.createModels(path: basePath.path, models: models);

  Creators.createRepositories(path: basePath.path, featureName: featureName);

  Creators.createEntities(path: basePath.path, models: models);

  Creators.createUseCases(
    path: basePath.path,
    useCases: useCases,
    featureName: featureName,
  );

  Creators.createStateManagement(
    path: basePath.path,
    stateManagementType: stateManagementType,
    featureName: featureName,
  );

  Creators.createPresentation(
    path: basePath.path,
    screens: screens,
    featureName: featureName,
  );
}