buildToMap method
Future<void>
buildToMap(
- ClassDeclaration clazz,
- MemberDeclarationBuilder builder
)
Implementation
Future<void> buildToMap(ClassDeclaration clazz, MemberDeclarationBuilder builder) async {
List<FieldDeclaration> properties = await validFields(clazz, builder);
if (properties.isEmpty) {
builder.declareInType(DeclarationCode.fromString(asCode("""
/// Converts this object to a Map<String, dynamic>
Map<String, dynamic> toMap() => {};
""")));
} else {
builder.declareInType(DeclarationCode.fromString(asCode("""
/// Converts this object to a Map<String, dynamic>
Map<String, dynamic> toMap() => {
${properties.map((i) => "\"${i.identifier.name.substring(1)}\": ${_toMap(
i, builder)}").join(",\n ")}
};
""")));
}
}