En utilisant la pile source_gen pour créer un générateur de code, comment puis-je créer un générateur qui génère du code qui serait l'entrée d'un autre générateur (plus spécifiquement json_serializable
)?
Par exemple, considérez:
class Example extends Generator {
@override
String generate(LibraryReader library, BuildStep buildStep) {
return '''
@JsonSerializable(nullable: false)
class Person {
final String firstName;
final String lastName;
final DateTime dateOfBirth;
Person({this.firstName, this.lastName, this.dateOfBirth});
factory Person.fromJson(Map<String, dynamic> json) => _PersonFromJson(json);
Map<String, dynamic> toJson() => _PersonToJson(this);
}
''';
}
}
Ceci est un exemple de générateur de code qui génère un code qui doit ensuite être envoyé à json_serializable
Que puis-je faire pour json_serializable
générer correctement ici?
await Process.start('bash',arguments,runInShell: true);
mais c'est une sorte de dernier recours à jouer. en fait, j'ai juste essayé toutes les logiques de génération de code il y a un jour sur ce lien repo donc .. Je pense que je peux être utile.
flutter generate
/ pub run build_runner build
. Sinon, ce serait très inhabituel à utiliser.