generateFieldsClass method
void
generateFieldsClass(
- BuildContext ctx,
- LibraryBuilder file
)
Implementation
void generateFieldsClass(BuildContext ctx, LibraryBuilder file) {
//log.fine('Generate serializer fields');
file.body.add(Class((clazz) {
clazz
..abstract = true
..name = '${ctx.modelClassNameRecase.pascalCase}Fields';
clazz.fields.add(Field((b) {
b
..static = true
..modifier = FieldModifier.constant
..type = TypeReference((b) => b
..symbol = 'List'
..types.add(refer('String')))
..name = 'allFields'
..assignment = literalConstList(
ctx.fields.map((f) => refer(f.name)).toList(),
refer('String'))
.code;
}));
for (var field in ctx.fields) {
clazz.fields.add(Field((b) {
b
..static = true
..modifier = FieldModifier.constant
..type = Reference('String')
..name = field.name
..assignment = Code("'${ctx.resolveFieldName(field.name)}'");
}));
}
}));
}