@@ -5,7 +5,7 @@ use scylla::response::PagingState;
55use scylla:: statement:: batch:: Batch ;
66use scylla:: statement:: { Consistency , SerialConsistency , Statement } ;
77
8- use crate :: errors:: { err_to_napi, js_error} ;
8+ use crate :: errors:: { ConvertedError , JsResult , ToConvertable , err_to_napi, js_error} ;
99use crate :: options;
1010use crate :: paging:: { PagingResult , PagingStateWrapper } ;
1111use crate :: requests:: request:: { QueryOptionsObj , QueryOptionsWrapper } ;
@@ -151,13 +151,12 @@ impl SessionWrapper {
151151 & self ,
152152 batch : & BatchWrapper ,
153153 params : Vec < Vec < EncodedValuesWrapper > > ,
154- ) -> napi:: Result < QueryResultWrapper > {
155- QueryResultWrapper :: from_query (
156- self . inner
157- . batch ( & batch. inner , params)
158- . await
159- . map_err ( err_to_napi) ?,
160- )
154+ ) -> JsResult < QueryResultWrapper > {
155+ let z: Result < QueryResultWrapper , ConvertedError > = async {
156+ QueryResultWrapper :: from_query ( self . inner . batch ( & batch. inner , params) . await ?) . cnv ( )
157+ }
158+ . await ;
159+ z. into ( )
161160 }
162161
163162 /// Query a single page of a prepared statement
@@ -172,23 +171,26 @@ impl SessionWrapper {
172171 params : Vec < EncodedValuesWrapper > ,
173172 options : & QueryOptionsWrapper ,
174173 paging_state : Option < & PagingStateWrapper > ,
175- ) -> napi:: Result < PagingResult > {
176- let statement: Statement = apply_statement_options ( query. into ( ) , & options. options ) ?;
177- let paging_state = paging_state
178- . map ( |e| e. inner . clone ( ) )
179- . unwrap_or ( PagingState :: start ( ) ) ;
174+ ) -> JsResult < PagingResult > {
175+ let z: Result < PagingResult , ConvertedError > = async {
176+ let statement: Statement = apply_statement_options ( query. into ( ) , & options. options ) ?;
177+ let paging_state = paging_state
178+ . map ( |e| e. inner . clone ( ) )
179+ . unwrap_or ( PagingState :: start ( ) ) ;
180180
181- let ( result, paging_state_response) = self
182- . inner
183- . get_session ( )
184- . query_single_page ( statement, params, paging_state)
185- . await
186- . map_err ( err_to_napi) ?;
181+ let ( result, paging_state_response) = self
182+ . inner
183+ . get_session ( )
184+ . query_single_page ( statement, params, paging_state)
185+ . await ?;
187186
188- Ok ( PagingResult {
189- result : QueryResultWrapper :: from_query ( result) ?,
190- paging_state : paging_state_response. into ( ) ,
191- } )
187+ Ok ( PagingResult {
188+ result : QueryResultWrapper :: from_query ( result) ?,
189+ paging_state : paging_state_response. into ( ) ,
190+ } )
191+ }
192+ . await ;
193+ z. into ( )
192194 }
193195
194196 /// Execute a single page of a prepared statement
0 commit comments