findBy<T extends Model> static method

Future<T?> findBy<T extends Model>({
  1. required String field,
  2. required dynamic value,
})

Finds first record where field == value.

Implementation

static Future<T?> findBy<T extends Model>({
  required String field,
  required dynamic value,
}) async {
  final constructor = _jsonConstructors[T];
  if (constructor == null) return null;

  try {
    final records = await jsonIndex<T>();
    final record = records.firstWhereOrNull((r) => r[field] == value);
    if (record == null) return null;
    return constructor(record) as T;
  } catch (e) {
    return null;
  }
}