From 82c262600d581b9a43b9b6f031e2417890ad93c8 Mon Sep 17 00:00:00 2001 From: OMGeeky Date: Tue, 6 Jun 2023 17:52:03 +0200 Subject: [PATCH] improve errors in map_err with or without data --- Cargo.toml | 2 +- src/data/query_builder.rs | 27 ++++++++++----------------- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 8a176c9..e8c796c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "google_bigquery_v2" -version = "0.2.5" +version = "0.2.6" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/data/query_builder.rs b/src/data/query_builder.rs index 11fabf9..35dd8c2 100644 --- a/src/data/query_builder.rs +++ b/src/data/query_builder.rs @@ -45,7 +45,7 @@ pub enum QueryResultType { WithoutRowData(Result<()>), } -impl QueryResultType { +impl QueryResultType { pub fn map_err_with_data(self, message: impl Into) -> Result> { match self { QueryResultType::WithRowData(data) => Ok(data), @@ -57,26 +57,19 @@ impl QueryResultType { pub fn map_err_without_data(self, message: impl Into) -> Result<()> { match self { QueryResultType::WithoutRowData(result) => result, - QueryResultType::WithRowData(_) => { - Err(format!("map_err_without_data message:{}", message.into()).into()) - } + QueryResultType::WithRowData(data) => Err(format!( + "map_err_without_data message:'{}' data: {:?}", + message.into(), + data + ) + .into()), } } pub fn expect_with_data(self, message: impl Into) -> Vec { - match self { - QueryResultType::WithRowData(data) => data, - QueryResultType::WithoutRowData(_) => { - panic!("expect_with_data message:{}", message.into()) - } - } + self.map_err_with_data(message).unwrap() } - pub fn expect_without_data(self, message: impl Into) -> Result<()> { - match self { - QueryResultType::WithoutRowData(result) => result, - QueryResultType::WithRowData(_) => { - panic!("expect_without_data message:{}", message.into()) - } - } + pub fn expect_without_data(self, message: impl Into) -> () { + self.map_err_without_data(message).unwrap() } pub fn is_with_row_data(&self) -> bool { match self {