ClientError.fromError constructor

ClientError.fromError(
  1. dynamic error, {
  2. ClientCode? code,
  3. String? message,
})

Implementation

factory ClientError.fromError(
  dynamic error, {
  ClientCode? code,
  String? message,
}) {
  if (error is ClientError) return error;

  if (error is Map) {
    return ClientError(
      code: code ??
          ClientCode.values.firstWhere(
            (code) => code.value == (error['statusCode'] ?? error['status']),
            orElse: () => ClientCode.unknownError,
          ),
      message: message ??
          error['message']?.toString() ??
          I18n.t.errors.unknownError,
      error: error['error'] ?? error,
    );
  }
  return ClientError(
    code: code ?? ClientCode.unknownError,
    message: error?.toString() ?? message ?? I18n.t.errors.unknownError,
    error: error,
  );
}