encodeFields<T extends Object> static method
Implementation
@protected
@pragma('vm:prefer-inline')
static Map<String, dynamic> encodeFields<T extends Object>(
T value,
Iterable<Field<T, dynamic>> fields,
bool ignoreNull,
EncodingContext context) {
bool shallow = context.options?.shallow ?? false;
if (shallow) {
return {
for (var f in fields)
if (!ignoreNull || f.get(value) != null) f.key: f.get(value),
};
}
if (ignoreNull) {
return {
for (var f in fields)
if (f.get(value) != null) f.key: f.encode(value, context),
};
}
return {for (var f in fields) f.key: f.encode(value, context)};
}