@@ -37,7 +37,8 @@ impl<Err> Index<Err> {
3737 pub fn contains ( & self , key : & JsValue ) -> impl Future < Output = crate :: Result < bool , Err > > {
3838 match self . sys . count_with_key ( key) {
3939 Ok ( count_req) => Either :: Right (
40- transaction_request ( count_req) . map ( |res| res. map ( map_count_res) . map ( |n| n != 0 ) ) ,
40+ transaction_request ( count_req)
41+ . map ( |res| res. map_err ( map_count_err) . map ( |n| map_count_res ( n) != 0 ) ) ,
4142 ) ,
4243 Err ( e) => Either :: Left ( std:: future:: ready ( Err ( map_count_err ( e) ) ) ) ,
4344 }
@@ -55,9 +56,10 @@ impl<Err> Index<Err> {
5556 Err ( e) => return Either :: Left ( std:: future:: ready ( Err ( e) ) ) ,
5657 } ;
5758 match self . sys . count_with_key ( & range) {
58- Ok ( count_req) => {
59- Either :: Right ( transaction_request ( count_req) . map ( |res| res. map ( map_count_res) ) )
60- }
59+ Ok ( count_req) => Either :: Right (
60+ transaction_request ( count_req)
61+ . map ( |res| res. map_err ( map_count_err) . map ( map_count_res) ) ,
62+ ) ,
6163 Err ( e) => Either :: Left ( std:: future:: ready ( Err ( map_count_err ( e) ) ) ) ,
6264 }
6365 }
@@ -67,9 +69,10 @@ impl<Err> Index<Err> {
6769 /// Internally, this uses [`IDBIndex::get`](https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex/get).
6870 pub fn get ( & self , key : & JsValue ) -> impl Future < Output = crate :: Result < Option < JsValue > , Err > > {
6971 match self . sys . get ( key) {
70- Ok ( get_req) => {
71- Either :: Right ( transaction_request ( get_req) . map ( |res| res. map ( none_if_undefined) ) )
72- }
72+ Ok ( get_req) => Either :: Right (
73+ transaction_request ( get_req)
74+ . map ( |res| res. map_err ( map_get_err) . map ( none_if_undefined) ) ,
75+ ) ,
7376 Err ( err) => Either :: Left ( std:: future:: ready ( Err ( map_get_err ( err) ) ) ) ,
7477 }
7578 }
@@ -88,9 +91,10 @@ impl<Err> Index<Err> {
8891 Err ( e) => return Either :: Left ( std:: future:: ready ( Err ( e) ) ) ,
8992 } ;
9093 match self . sys . get ( & range) {
91- Ok ( get_req) => {
92- Either :: Right ( transaction_request ( get_req) . map ( |res| res. map ( none_if_undefined) ) )
93- }
94+ Ok ( get_req) => Either :: Right (
95+ transaction_request ( get_req)
96+ . map ( |res| res. map_err ( map_get_err) . map ( none_if_undefined) ) ,
97+ ) ,
9498 Err ( e) => Either :: Left ( std:: future:: ready ( Err ( map_get_err ( e) ) ) ) ,
9599 }
96100 }
@@ -109,9 +113,9 @@ impl<Err> Index<Err> {
109113 . get_all_with_key_and_limit ( & JsValue :: UNDEFINED , limit) ,
110114 } ;
111115 match get_req {
112- Ok ( get_req) => {
113- Either :: Right ( transaction_request ( get_req) . map ( |res| res. map ( array_to_vec) ) )
114- }
116+ Ok ( get_req) => Either :: Right (
117+ transaction_request ( get_req) . map ( |res| res. map_err ( map_get_err ) . map ( array_to_vec) ) ,
118+ ) ,
115119 Err ( err) => Either :: Left ( std:: future:: ready ( Err ( map_get_err ( err) ) ) ) ,
116120 }
117121 }
@@ -134,9 +138,9 @@ impl<Err> Index<Err> {
134138 Some ( limit) => self . sys . get_all_with_key_and_limit ( & range, limit) ,
135139 } ;
136140 match get_req {
137- Ok ( get_req) => {
138- Either :: Right ( transaction_request ( get_req) . map ( |res| res. map ( array_to_vec) ) )
139- }
141+ Ok ( get_req) => Either :: Right (
142+ transaction_request ( get_req) . map ( |res| res. map_err ( map_get_err ) . map ( array_to_vec) ) ,
143+ ) ,
140144 Err ( err) => Either :: Left ( std:: future:: ready ( Err ( map_get_err ( err) ) ) ) ,
141145 }
142146 }
@@ -153,9 +157,10 @@ impl<Err> Index<Err> {
153157 Err ( e) => return Either :: Left ( std:: future:: ready ( Err ( e) ) ) ,
154158 } ;
155159 match self . sys . get_key ( & range) {
156- Ok ( get_req) => {
157- Either :: Right ( transaction_request ( get_req) . map ( |res| res. map ( none_if_undefined) ) )
158- }
160+ Ok ( get_req) => Either :: Right (
161+ transaction_request ( get_req)
162+ . map ( |res| res. map_err ( map_get_err) . map ( none_if_undefined) ) ,
163+ ) ,
159164 Err ( err) => Either :: Left ( std:: future:: ready ( Err ( map_get_err ( err) ) ) ) ,
160165 }
161166 }
@@ -174,9 +179,9 @@ impl<Err> Index<Err> {
174179 . get_all_keys_with_key_and_limit ( & JsValue :: UNDEFINED , limit) ,
175180 } ;
176181 match get_req {
177- Ok ( get_req) => {
178- Either :: Right ( transaction_request ( get_req) . map ( |res| res. map ( array_to_vec) ) )
179- }
182+ Ok ( get_req) => Either :: Right (
183+ transaction_request ( get_req) . map ( |res| res. map_err ( map_get_err ) . map ( array_to_vec) ) ,
184+ ) ,
180185 Err ( err) => Either :: Left ( std:: future:: ready ( Err ( map_get_err ( err) ) ) ) ,
181186 }
182187 }
@@ -199,9 +204,9 @@ impl<Err> Index<Err> {
199204 Some ( limit) => self . sys . get_all_keys_with_key_and_limit ( & range, limit) ,
200205 } ;
201206 match get_req {
202- Ok ( get_req) => {
203- Either :: Right ( transaction_request ( get_req) . map ( |res| res. map ( array_to_vec) ) )
204- }
207+ Ok ( get_req) => Either :: Right (
208+ transaction_request ( get_req) . map ( |res| res. map_err ( map_get_err ) . map ( array_to_vec) ) ,
209+ ) ,
205210 Err ( err) => Either :: Left ( std:: future:: ready ( Err ( map_get_err ( err) ) ) ) ,
206211 }
207212 }
0 commit comments