decodeError static method

Error? decodeError(
  1. Object? mapInput
)

Implementation

static Error? decodeError(Object? mapInput){

  if(mapInput == null || !(mapInput is Map?)){
    return null;
  }

  try {
    Map map = mapInput as Map;

    var errorCode = map['errorCode'];
    String? errorMessage = map['errorMessage'];
    String? errorDescription = map['errorDescription'];

    List? errorsMapList = map['errors'];
    List<Errors> errorsList = List.empty(growable: true);
    errorsMapList?.forEach((errorsMap) {
      String? field = errorsMap['field'];
      String? message = errorsMap['message'];
      Errors errors = Errors(
          field: field,
          message: message
      );
      errorsList.add(errors);
    });

    Error error = Error(
        errorCode: errorCode,
        errorMessage: errorMessage,
        errorDescription: errorDescription,
        errors: errorsList
    );
    return error;
  } catch(error){
    print('decodeError '+error.toString());
    return null;
  }
}