jsonIndex<T extends Model> static method

Future<List<Map<String, dynamic>>> jsonIndex<T extends Model>()

Returns raw JSON records (no model instantiation).

Implementation

static Future<List<Map<String, dynamic>>> jsonIndex<T extends Model>() async {
  final file = File("$_dir/${_getTableName<T>()}.json");
  if (!await file.exists()) return [];

  try {
    final content = await file.readAsString();
    if (content.trim().isEmpty) return [];

    final List<dynamic> jsonList = jsonDecode(content);
    return jsonList.cast<Map<String, dynamic>>();
  } catch (e, stack) {
    print('Error reading table file: $e\n$stack');
    return [];
  }
}