newLocalWidget static method

Future<void> newLocalWidget(
  1. String localWidgetName,
  2. String screenName
)

this function will =>

  1. create folder local_widget in screen/screenName folder
  2. create file in this folder
  3. export this file into local_widgets.dart file

Implementation

static Future<void> newLocalWidget(
    String localWidgetName, String screenName) async {
  final screenFolder = _getDir(screenName, _screenFolder);
  final localWidgetFolder = _getDir('local_widget', screenFolder);
  if (!screenFolder.existsSync()) await newScreen(screenName);
  if (!localWidgetFolder.existsSync()) await localWidgetFolder.create();
  final localWidgetsFile = _getFile(
    'local_widgets.dart',
    localWidgetFolder,
  );
  final newWidgetFile = _getFile(
    '$localWidgetName.dart',
    localWidgetFolder,
  );
  if (newWidgetFile.existsSync()) {
    print('$localWidgetName is exists before');
    return;
  }
  await localWidgetsFile.writeAsString(
    '''\nexport '$localWidgetName.dart';''',
    mode: FileMode.append,
  );
  await newWidgetFile
      .writeAsString(_newWidgetTemp(localWidgetName.toCamelcase()));
  await git('new local widget $localWidgetName in $screenName screen', true);
}