config property
Deserialize a Config
from an annotation, such as RestSerializable
.
Implementation
@override
SupabaseSerializable get config {
if (reader.peek(configKey) == null) {
return SupabaseSerializable.defaults;
}
final fieldRenameIndex =
withinConfigKey('fieldRename')?.objectValue.getField('index')?.toIntValue();
final fieldRename = fieldRenameIndex != null ? FieldRename.values[fieldRenameIndex] : null;
return SupabaseSerializable(
defaultToNull: withinConfigKey('defaultToNull')?.boolValue ??
SupabaseSerializable.defaults.defaultToNull,
fieldRename: fieldRename ?? SupabaseSerializable.defaults.fieldRename,
ignoreDuplicates: withinConfigKey('ignoreDuplicates')?.boolValue ??
SupabaseSerializable.defaults.ignoreDuplicates,
onConflict:
withinConfigKey('onConflict')?.stringValue ?? SupabaseSerializable.defaults.onConflict,
tableName: withinConfigKey('tableName')?.stringValue ??
StringHelpers.snakeCase('${element.displayName}s'),
);
}