getCEP method

Future<Result<dynamic, String>> getCEP(
  1. String pcep
)

Implementation

Future<Result<dynamic, String>> getCEP(String pcep) async {
  Repository repository = Repository();

  try {
    Response? response = await repository.callDio(
        "https://viacep.com.br/ws/$pcep/json/", null, null, null, 'get');

    if (response != null && response.statusCode == 200) {
      if (response.data is Map<String, dynamic>) {
        return Success(response.data as Map<String, dynamic>);
      } else if (response.data is List<dynamic>) {
        return Success(response.data as List<dynamic>);
      } else {
        return const Failure("Formato de retorno não identificado");
      }
    } else {
      return Failure(
          response?.statusMessage ?? "Falha na comunicação com a API.");
    }
  } catch (ex) {
    // Catch any exceptions and return them as a Failure
    return Failure(ex.toString());
  }
}