config property

  1. @override
SupabaseSerializable get config

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'),
  );
}