query<G> method

Future<DatabaseResult<G>> query<G>(
  1. String tableName,
  2. FromMap<G> fromMap, {
  3. String? where,
  4. List<String>? whereValueList,
  5. String? orderBy,
})

Implementation

Future<DatabaseResult<G>> query<G>(String tableName, FromMap<G> fromMap,
    {String? where, List<String>? whereValueList, String? orderBy}) async {
  DatabaseResult<G> databaseResult;
  try {
    List<Map<String, dynamic>> dataList =
        await _database!.query(tableName, where: where, whereArgs: whereValueList, orderBy: orderBy);
    try {
      List<G> values = dataList.map((map) => fromMap(map)).toList();
      databaseResult = DatabaseResult._queryGood(values);
    } on Error catch (err) {
      databaseResult = DatabaseResult._badOutputData(dataList, Exception(err.toString()));
    } catch (e) {
      databaseResult = DatabaseResult._error(e as Exception);
    }
  } catch (e) {
    databaseResult = DatabaseResult._error(e as Exception);
  }
  debugUtil.log(databaseResult.toString());
  return databaseResult;
}