maintain method

  1. @override
Future<void> maintain(
  1. GeneratorContext context
)
override

Maintains generated project files using the provided context.

Implementation

@override
Future<void> maintain(GeneratorContext context) async {
  final di = context.template.di;

  if (!di.enabled || !di.isGetIt) return;

  final output = path(context.featurePath, resolveVariables(di.file, context.naming.variables));

  final imports = await const ImportResolver().resolve(context: context, outputFile: output);

  final registrations = await const RegistrationResolver().resolve(context);

  final buffer = StringBuffer();

  _writeHeader(buffer);
  _writeImports(buffer, imports);
  _writeBody(buffer, context, registrations);

  await writeFile(file: File(output), content: buffer.toString(), overwrite: true);
}