replaceVars function

String replaceVars(
  1. String content,
  2. String name, {
  3. String? dir,
})

Implementation

String replaceVars(String content, String name, {String? dir}) {
  final pascal = name.pascalCase;
  final project = PubspecUtils.projectName;
  final variables = <String, String>{
    'view': '${pascal}View',
    'screen': '${pascal}Screen',
    'controller': '${pascal}Controller',
    'binding': '${pascal}Binding',
    'state': '${pascal}State',
    'import': PubspecUtils.getPackageImport,
    'package': project,
    'name_pascal': pascal,
    'name': name,
    'import_path': "import 'package:$project/$dir';",
  };

  final regex = RegExp(r'@{(\w+)}');

  return content.replaceAllMapped(regex, (match) {
    final key = match.group(1);
    return variables[key] ?? match.group(0)!;
  });
}