1
- use binjs_io:: { self , Deserialization , Guard , TokenReader , TokenReaderError , TokenWriterError } ;
1
+ use binjs_io:: { self , Deserialization , Guard , TokenReader , TokenReaderError , TokenWriterTreeAdapter , TokenWriterError } ;
2
2
pub use binjs_io:: { Serialization , TokenSerializer , TokenWriter } ;
3
3
use binjs_shared:: { FieldName , IdentifierName , InterfaceName , Offset , PropertyKey , SharedString , self } ;
4
4
@@ -131,7 +131,7 @@ impl<W> Serializer<W> where W: TokenWriter {
131
131
writer
132
132
}
133
133
}
134
- pub fn serialize < T > ( & mut self , value : T , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > where Self : Serialization < W , T > {
134
+ pub fn serialize < T > ( & mut self , value : T , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > where Self : Serialization < W , T > {
135
135
( self as & mut Serialization < W , T > ) . serialize ( value, path)
136
136
}
137
137
}
@@ -143,99 +143,99 @@ impl<W> TokenSerializer<W> for Serializer<W> where W: TokenWriter {
143
143
}
144
144
145
145
impl < W > Serialization < W , Option < bool > > for Serializer < W > where W : TokenWriter {
146
- fn serialize ( & mut self , value : Option < bool > , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
146
+ fn serialize ( & mut self , value : Option < bool > , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
147
147
self . writer . bool_at ( value, path)
148
148
}
149
149
}
150
150
impl < W > Serialization < W , bool > for Serializer < W > where W : TokenWriter {
151
- fn serialize ( & mut self , value : bool , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
151
+ fn serialize ( & mut self , value : bool , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
152
152
self . writer . bool_at ( Some ( value) , path)
153
153
}
154
154
}
155
155
impl < W > Serialization < W , Option < f64 > > for Serializer < W > where W : TokenWriter {
156
- fn serialize ( & mut self , value : Option < f64 > , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
156
+ fn serialize ( & mut self , value : Option < f64 > , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
157
157
self . writer . float_at ( value, path)
158
158
}
159
159
}
160
160
impl < W > Serialization < W , f64 > for Serializer < W > where W : TokenWriter {
161
- fn serialize ( & mut self , value : f64 , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
161
+ fn serialize ( & mut self , value : f64 , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
162
162
self . writer . float_at ( Some ( value) , path)
163
163
}
164
164
}
165
165
impl < W > Serialization < W , u32 > for Serializer < W > where W : TokenWriter {
166
- fn serialize ( & mut self , value : u32 , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
166
+ fn serialize ( & mut self , value : u32 , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
167
167
self . writer . unsigned_long_at ( value, path)
168
168
}
169
169
}
170
170
impl < ' a , W > Serialization < W , & ' a Option < bool > > for Serializer < W > where W : TokenWriter {
171
- fn serialize ( & mut self , value : & ' a Option < bool > , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
171
+ fn serialize ( & mut self , value : & ' a Option < bool > , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
172
172
self . writer . bool_at ( value. clone ( ) , path)
173
173
}
174
174
}
175
175
impl < ' a , W > Serialization < W , & ' a bool > for Serializer < W > where W : TokenWriter {
176
- fn serialize ( & mut self , value : & ' a bool , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
176
+ fn serialize ( & mut self , value : & ' a bool , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
177
177
self . writer . bool_at ( Some ( * value) , path)
178
178
}
179
179
}
180
180
impl < ' a , W > Serialization < W , & ' a Option < f64 > > for Serializer < W > where W : TokenWriter {
181
- fn serialize ( & mut self , value : & ' a Option < f64 > , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
181
+ fn serialize ( & mut self , value : & ' a Option < f64 > , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
182
182
self . writer . float_at ( value. clone ( ) , path)
183
183
}
184
184
}
185
185
impl < ' a , W > Serialization < W , & ' a f64 > for Serializer < W > where W : TokenWriter {
186
- fn serialize ( & mut self , value : & ' a f64 , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
186
+ fn serialize ( & mut self , value : & ' a f64 , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
187
187
self . writer . float_at ( Some ( * value) , path)
188
188
}
189
189
}
190
190
impl < ' a , W > Serialization < W , & ' a u32 > for Serializer < W > where W : TokenWriter {
191
- fn serialize ( & mut self , value : & ' a u32 , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
191
+ fn serialize ( & mut self , value : & ' a u32 , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
192
192
self . writer . unsigned_long_at ( value. clone ( ) , path)
193
193
}
194
194
}
195
195
/*
196
196
impl<'a, W> Serialization<W, Option<&'a str>> for Serializer<W> where W: TokenWriter {
197
- fn serialize(&mut self, value: Option<&'a str>, path: &mut IOPath) -> Result<W::Tree , TokenWriterError> {
197
+ fn serialize(&mut self, value: Option<&'a str>, path: &mut IOPath) -> Result<() , TokenWriterError> {
198
198
self.writer.string_at(value, path)
199
199
}
200
200
}
201
201
impl<'a, W> Serialization<W, &'a str> for Serializer<W> where W: TokenWriter {
202
- fn serialize(&mut self, value: &'a str, path: &mut IOPath) -> Result<W::Tree , TokenWriterError> {
202
+ fn serialize(&mut self, value: &'a str, path: &mut IOPath) -> Result<() , TokenWriterError> {
203
203
self.writer.string_at(Some(value), path)
204
204
}
205
205
}
206
206
*/
207
207
impl < ' a , W > Serialization < W , & ' a SharedString > for Serializer < W > where W : TokenWriter {
208
- fn serialize ( & mut self , value : & ' a SharedString , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
208
+ fn serialize ( & mut self , value : & ' a SharedString , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
209
209
self . writer . string_at ( Some ( value) , path)
210
210
}
211
211
}
212
212
impl < ' a , W > Serialization < W , & ' a Option < SharedString > > for Serializer < W > where W : TokenWriter {
213
- fn serialize ( & mut self , value : & ' a Option < SharedString > , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
213
+ fn serialize ( & mut self , value : & ' a Option < SharedString > , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
214
214
self . writer . string_at ( value. as_ref ( ) , path)
215
215
}
216
216
}
217
217
impl < ' a , W > Serialization < W , & ' a IdentifierName > for Serializer < W > where W : TokenWriter {
218
- fn serialize ( & mut self , value : & ' a IdentifierName , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
218
+ fn serialize ( & mut self , value : & ' a IdentifierName , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
219
219
self . writer . identifier_name_at ( Some ( & value) , path)
220
220
}
221
221
}
222
222
impl < ' a , W > Serialization < W , & ' a PropertyKey > for Serializer < W > where W : TokenWriter {
223
- fn serialize ( & mut self , value : & ' a PropertyKey , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
223
+ fn serialize ( & mut self , value : & ' a PropertyKey , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
224
224
self . writer . property_key_at ( Some ( & value) , path)
225
225
}
226
226
}
227
227
impl < ' a , W > Serialization < W , & ' a Option < IdentifierName > > for Serializer < W > where W : TokenWriter {
228
- fn serialize ( & mut self , value : & ' a Option < IdentifierName > , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
228
+ fn serialize ( & mut self , value : & ' a Option < IdentifierName > , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
229
229
self . writer . identifier_name_at ( value. as_ref ( ) , path)
230
230
}
231
231
}
232
232
impl < ' a , W > Serialization < W , & ' a Option < PropertyKey > > for Serializer < W > where W : TokenWriter {
233
- fn serialize ( & mut self , value : & ' a Option < PropertyKey > , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
233
+ fn serialize ( & mut self , value : & ' a Option < PropertyKey > , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
234
234
self . writer . property_key_at ( value. as_ref ( ) , path)
235
235
}
236
236
}
237
237
impl < ' a , W > Serialization < W , & ' a Offset > for Serializer < W > where W : TokenWriter {
238
- fn serialize ( & mut self , _: & ' a Offset , path : & mut IOPath ) -> Result < W :: Tree , TokenWriterError > {
238
+ fn serialize ( & mut self , _: & ' a Offset , path : & mut IOPath ) -> Result < ( ) , TokenWriterError > {
239
239
self . writer . offset_at ( path)
240
240
}
241
241
}
@@ -275,9 +275,9 @@ impl Encoder {
275
275
}
276
276
pub fn encode < ' a , AST > ( & self , format : & ' a mut binjs_io:: Format , ast : & ' a AST ) -> Result < Box < AsRef < [ u8 ] > > , TokenWriterError >
277
277
where
278
- Serializer < binjs_io:: simple:: TreeTokenWriter > : Serialization < binjs_io:: simple:: TreeTokenWriter , & ' a AST > ,
279
- Serializer < binjs_io:: multipart:: TreeTokenWriter > : Serialization < binjs_io:: multipart:: TreeTokenWriter , & ' a AST > ,
280
- Serializer < binjs_io:: xml:: Encoder > : Serialization < binjs_io:: xml:: Encoder , & ' a AST > ,
278
+ Serializer < TokenWriterTreeAdapter < binjs_io:: simple:: TreeTokenWriter > > : Serialization < TokenWriterTreeAdapter < binjs_io:: simple:: TreeTokenWriter > , & ' a AST > ,
279
+ Serializer < TokenWriterTreeAdapter < binjs_io:: multipart:: TreeTokenWriter > > : Serialization < TokenWriterTreeAdapter < binjs_io:: multipart:: TreeTokenWriter > , & ' a AST > ,
280
+ Serializer < TokenWriterTreeAdapter < binjs_io:: xml:: Encoder > > : Serialization < TokenWriterTreeAdapter < binjs_io:: xml:: Encoder > , & ' a AST > ,
281
281
// Serializer<binjs_io::entropy::write::TreeTokenWriter<'a>> : Serialization<binjs_io::entropy::write::TreeTokenWriter<'a>, &'a AST>
282
282
/*
283
283
#[cfg(multistream)]
@@ -290,14 +290,14 @@ impl Encoder {
290
290
match * format {
291
291
binjs_io:: Format :: Simple { .. } => {
292
292
let writer = binjs_io:: simple:: TreeTokenWriter :: new ( ) ;
293
- let mut serializer = Serializer :: new ( writer) ;
293
+ let mut serializer = Serializer :: new ( TokenWriterTreeAdapter :: new ( writer) ) ;
294
294
serializer. serialize ( ast, & mut path) ?;
295
295
let ( data, _) = serializer. done ( ) ?;
296
296
Ok ( Box :: new ( data) )
297
297
}
298
298
binjs_io:: Format :: Multipart { ref mut targets, .. } => {
299
299
let writer = binjs_io:: multipart:: TreeTokenWriter :: new ( targets. clone ( ) ) ;
300
- let mut serializer = Serializer :: new ( writer) ;
300
+ let mut serializer = Serializer :: new ( TokenWriterTreeAdapter :: new ( writer) ) ;
301
301
serializer. serialize ( ast, & mut path) ?;
302
302
let ( data, _) = serializer. done ( ) ?;
303
303
Ok ( Box :: new ( data) )
@@ -323,7 +323,7 @@ impl Encoder {
323
323
}
324
324
binjs_io:: Format :: XML => {
325
325
let writer = binjs_io:: xml:: Encoder :: new ( ) ;
326
- let mut serializer = Serializer :: new ( writer) ;
326
+ let mut serializer = Serializer :: new ( TokenWriterTreeAdapter :: new ( writer) ) ;
327
327
serializer. serialize ( ast, & mut path) ?;
328
328
let ( data, _) = serializer. done ( ) ?;
329
329
Ok ( Box :: new ( data) )
0 commit comments