@@ -70,32 +70,30 @@ impl<H: Hasher> SdObjectEncoder<H> {
70
70
71
71
let element_pointer = path
72
72
. parse :: < JsonPointer < _ , _ > > ( )
73
- . map_err ( |err | Error :: InvalidPath ( format ! ( "{:?}" , err ) ) ) ?;
73
+ . map_err ( |_ | Error :: InvalidPath ( path . to_string ( ) ) ) ?;
74
74
75
75
let mut parent_pointer = element_pointer. clone ( ) ;
76
- let element_key = parent_pointer
77
- . pop ( )
78
- . ok_or ( Error :: InvalidPath ( "path does not contain any values" . to_string ( ) ) ) ?;
76
+ let element_key = parent_pointer. pop ( ) . ok_or ( Error :: InvalidPath ( path. to_string ( ) ) ) ?;
79
77
80
78
let parent = parent_pointer
81
79
. get ( & self . object )
82
- . map_err ( |err | Error :: InvalidPath ( format ! ( "{:?}" , err ) ) ) ?;
80
+ . map_err ( |_ | Error :: InvalidPath ( path . to_string ( ) ) ) ?;
83
81
84
82
match parent {
85
83
Value :: Object ( _) => {
86
84
let parent = parent_pointer
87
85
. get_mut ( & mut self . object )
88
- . map_err ( |err | Error :: InvalidPath ( format ! ( "{:?}" , err ) ) ) ?
86
+ . map_err ( |_ | Error :: InvalidPath ( path . to_string ( ) ) ) ?
89
87
. as_object_mut ( )
90
- . ok_or ( Error :: InvalidPath ( " path does not contain any values" . to_string ( ) ) ) ?;
88
+ . ok_or ( Error :: InvalidPath ( path. to_string ( ) ) ) ?;
91
89
92
90
// Remove the value from the parent and create a disclosure for it.
93
91
let disclosure = Disclosure :: new (
94
92
salt,
95
93
Some ( element_key. to_owned ( ) ) ,
96
94
parent
97
95
. remove ( & element_key)
98
- . ok_or ( Error :: InvalidPath ( format ! ( "{} does not exist" , element_key ) ) ) ?,
96
+ . ok_or ( Error :: InvalidPath ( path . to_string ( ) ) ) ?,
99
97
) ;
100
98
101
99
// Hash the disclosure.
@@ -106,7 +104,9 @@ impl<H: Hasher> SdObjectEncoder<H> {
106
104
Ok ( disclosure)
107
105
}
108
106
Value :: Array ( _) => {
109
- let element = element_pointer. get_mut ( & mut self . object ) . unwrap ( ) ;
107
+ let element = element_pointer
108
+ . get_mut ( & mut self . object )
109
+ . map_err ( |_| Error :: InvalidPath ( path. to_string ( ) ) ) ?;
110
110
let disclosure = Disclosure :: new ( salt, None , element. clone ( ) ) ;
111
111
let hash = self . hasher . encoded_digest ( disclosure. as_str ( ) ) ;
112
112
let tripledot = json ! ( { ARRAY_DIGEST_KEY : hash} ) ;
@@ -144,13 +144,13 @@ impl<H: Hasher> SdObjectEncoder<H> {
144
144
}
145
145
146
146
fn add_decoy ( & mut self , path : & str ) -> Result < ( ) > {
147
- let mut element_pointer = path
147
+ let element_pointer = path
148
148
. parse :: < JsonPointer < _ , _ > > ( )
149
- . map_err ( |err | Error :: InvalidPath ( format ! ( "{:?}" , err ) ) ) ?;
149
+ . map_err ( |_ | Error :: InvalidPath ( path . to_string ( ) ) ) ?;
150
150
151
151
let value = element_pointer
152
152
. get_mut ( & mut self . object )
153
- . map_err ( |err | Error :: InvalidPath ( format ! ( "{:?}" , err ) ) ) ?;
153
+ . map_err ( |_ | Error :: InvalidPath ( path . to_string ( ) ) ) ?;
154
154
if let Some ( object) = value. as_object_mut ( ) {
155
155
let ( _, hash) = Self :: random_digest ( & self . hasher , self . salt_size , false ) ;
156
156
Self :: add_digest_to_object ( object, hash) ?;
@@ -161,10 +161,7 @@ impl<H: Hasher> SdObjectEncoder<H> {
161
161
array. push ( tripledot) ;
162
162
Ok ( ( ) )
163
163
} else {
164
- Err ( Error :: InvalidPath ( format ! (
165
- "{:?} is neither an object nor an array" ,
166
- element_pointer. pop( )
167
- ) ) )
164
+ Err ( Error :: InvalidPath ( path. to_string ( ) ) )
168
165
}
169
166
}
170
167
0 commit comments