buildSerializer function
Implementation
buildSerializer(GraphQLScanResult model, CodeBuilder code) {
_log.info('Writing Concrete Class');
code += [
'class ${model.className}Json {',
' EntityReader? getReader(name) {',
' switch(name) {',
for (var model in [
...model.inputTypes.values.map((model) => model.name.value),
...model.objectTypes.values.map((model) => model.name.value),
...model.enumTypes.values.map((model) => model.name.value),
...model.unionTypes.values.map((model) => model.name.value),
...model.typedefs.keys,
...model.joinRecords,
])
' case "${model}": return (_) => ${model}.fromJson(_);',
' default: return null;'
' }',
' }',
'',
' EntityWriter? getWriter(name) {',
' switch(name) {',
for (var model in [
...model.inputTypes.values.map((model) => model.name.value),
...model.objectTypes.values.map((model) => model.name.value),
...model.enumTypes.values.map((model) => model.name.value),
...model.unionTypes.values.map((model) => model.name.value),
...model.typedefs.keys,
...model.joinRecords,
])
' case "${model}": return (from) => from?.toJson();',
' default: return null;',
' }',
' }',
'}',
'',
];
}