generateDartClasses function
List<DartClass>
generateDartClasses(
- DatabaseSwagger swagger,
- YamlMap? mappings,
- List<
String> exclude
Implementation
List<DartClass> generateDartClasses(
DatabaseSwagger swagger,
YamlMap? mappings,
List<String> exclude,
) {
return swagger.definitions.entries.map((entry) {
final tableName = entry.key;
final table = entry.value;
final className = tableNameToClassName(tableName, mappings);
final code = StringBuffer()
..writeln('class $className implements SupadartClass<$className> {')
..write(generateAttributes(table))
..write(generateConstructor(className, table))
..writeln("static String get table_name => '$tableName';")
..write(generateStaticColumnNames(table))
..write(generateConverterMethod(className))
..write(generateConverterSingleMethod(className))
..write(generateGenerateMapPrivateMethod(table))
..write(generateInsertMethod(table))
..write(generateUpdateMethod(table))
..write(generateFromJsonMethod(className, table));
if (!exclude.contains('toJson')) {
code.write(generateToJsonMethod(className, table));
}
if (!exclude.contains('copyWith')) {
code.write(generateCopyWithMethod(className, table));
}
code.writeln('}');
code.writeln();
return DartClass(
className: className,
classCode: code.toString(),
);
}).toList();
}