get<T> method

Future<Either<BaseException, T>> get<T>(
  1. String path, {
  2. Map<String, dynamic>? queryParameters,
  3. required dynamic mapper(
    1. dynamic json
    ),
  4. Options? options,
  5. OnProgressFunction? onProgress,
  6. List<JsonFieldAliasModel> jsonSchemas = const [],
})

Implementation

Future<Either<BaseException, T>> get<T>(
  String path, {
  Map<String, dynamic>? queryParameters,
  required Function(dynamic json) mapper,
  Options? options,
  OnProgressFunction? onProgress,
  List<JsonFieldAliasModel> jsonSchemas = const [],
}) async {
  try {
    Response response = await _dio.get(
      path,
      queryParameters: queryParameters,
      options: options,
      onReceiveProgress: (received, total) => onProgress?.call(received / total),
    );

    // Нормализация по входящей схеме
    if (jsonSchemas.isNotEmpty) {
      response.data = JsonNormalizer.normalize(
        response.data,
        jsonSchemas,
      );
    }

    return Right(mapper(response.data));
  } catch (err, s) {
    return ErrorHandler.fromError(err, stackTrace: s);
  }
}