toGQLJson method
Map<String, dynamic>
toGQLJson({ - bool includeIfNull = false,
})
Implementation
Map<String, dynamic> toGQLJson({
bool includeIfNull = false,
}) {
final rawJson = toJson()..remove('runtimeType');
final json = <String, dynamic>{};
for (final key in rawJson.keys) {
final value = rawJson[key];
if (value is GqlJsonWrapper) {
json[key] = {
'data': value.toGQLJson(),
if (value.onConflict != null)
'on_conflict': value.onConflict!.toJson(),
};
continue;
}
if (value is List<GqlJsonWrapper>) {
json[key] = {'data': value.map((e) => e.toGQLJson()).toList()};
continue;
}
if (includeIfNull) {
json[key] = rawJson[key];
} else {
if (rawJson[key] != null) {
json[key] = rawJson[key];
} else {
json.remove(key);
}
}
}
return json;
}