getList<T> static method

Future<List<T>> getList<T>({
  1. required T parser(
    1. Map<String, dynamic>
    ),
  2. required String method,
  3. Map<String, dynamic>? parameters,
})

Implementation

static Future<List<T>> getList<T>({
  required T Function(Map<String, dynamic>) parser,
  required String method,
  Map<String, dynamic>? parameters,
}) async {
  try {
    final api = await ARSDataAPI.getAndInit();
    final response = await api.execute(
      method,
      parameters: parameters,
    );
    logger.verbose(response);
    if (response.code != 0) {
      throw Exception(
        response.data is String
            ? "Response Code: ${response.code} Message: ${response.data}"
            : "Response Code: ${response.code}",
      );
    } else {
      final json = ARSDataAPIResponse.listMapStringFromMapDynamic(
        response.data as List<dynamic>,
      );
      return json.map(parser).toList();
    }
  } on Exception catch (ex) {
    logger.error(ex);
    rethrow;
  }
}