addRouteInAppRoute static method

Future<void> addRouteInAppRoute(
  1. String featureName
)

Implementation

static Future<void> addRouteInAppRoute(String featureName) async {
  // reading app_routes.dart file
  String contentFile =
      await FolderAndFileService.readFile(FolderPaths.instance.appRoutesFile);

  // extract all imports from code
  List<String?> imports = _getPreviousImports(contentFile);

  // extract routes from code
  final routesMatch = RegExp(r'static final routes = \[([\s\S]*?)\];')
      .firstMatch(contentFile);

  contentFile = _updateImportsInContentFile(imports, featureName);

  // if routesMatch is null, then add routes
  contentFile += _updateCodeInContentFile(routesMatch, featureName);

  // write contentFile to app_routes.dart file
  final file = File(FolderPaths.instance.appRoutesFile);
  file.writeAsStringSync(contentFile);
}