Sử dụng ngăn xếp source_gen để tạo trình tạo mã, làm cách nào tôi có thể tạo trình tạo tạo mã sẽ là đầu vào của trình tạo khác (cụ thể hơn json_serializable
)?
Ví dụ: xem xét:
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);
}
''';
}
}
Đây là một ví dụ về trình tạo mã mà mã đầu ra cần được gửi đến json_serializable
Tôi có thể làm gì để json_serializable
tạo chính xác ở đây?
await Process.start('bash',arguments,runInShell: true);
nhưng đó là cách cuối cùng để chơi. thực sự tôi đã thử tất cả các logic tạo mã một ngày trước trên liên kết repo này vì vậy tôi nghĩ rằng tôi có thể hữu ích.
flutter generate
/ pub run build_runner build
. Nếu không, nó sẽ rất bất thường khi sử dụng.