where<T extends Model> static method
Implementation
static Future<List<T>> where<T extends Model>({
required String field,
String comp = "==",
dynamic value,
}) async {
final constructor = _jsonConstructors[T];
if (constructor == null) return [];
try {
final records = await jsonIndex<T>();
final filtered = records.where((r) {
final fieldValue = r[field];
switch (comp) {
case "==":
return fieldValue == value;
case "!=":
return fieldValue != value;
case ">":
return fieldValue is num && fieldValue > value;
case "<":
return fieldValue is num && fieldValue < value;
case ">=":
return fieldValue is num && fieldValue >= value;
case "<=":
return fieldValue is num && fieldValue <= value;
default:
return false;
}
}).toList();
return filtered.map((json) => constructor(json) as T).toList();
} catch (e) {
return [];
}
}