runQueryToReturnType<TReturnType> method

Future<SqlResponse<List<TReturnType>>> runQueryToReturnType<TReturnType>(
  1. SqlRequest request,
  2. TReturnType fnGetReturnTypeFromRow(
    1. Map<String, Map<String, dynamic>> row
    ),
  3. PostgreSQLExecutionContext? cn
)

Implementation

Future<SqlResponse<List<TReturnType>>> runQueryToReturnType<TReturnType>(
  SqlRequest request,
  TReturnType fnGetReturnTypeFromRow(Map<String, Map<String, dynamic>> row),
  PostgreSQLExecutionContext? cn,
) async {
  var response = await _runQueryT<List<Map<String, Map<String, dynamic>>>>(eQueryType.mappedResultsQuery, request, cn);

  if (response is SqlResponse_Failure<List<Map<String, Map<String, dynamic>>>>) {
    return SqlResponse_Failure<List<TReturnType>>(response.failureMessage + "\n" + request.sql);
  }

  var typedResult = (response as SqlResponse_Success<List<Map<String, Map<String, dynamic>>>>) //
      .result
      .map((row) => fnGetReturnTypeFromRow(row))
      .toList();
  return SqlResponse_Success<List<TReturnType>>(typedResult);
}