1- /* TODO:
2-
3- - Rename this parser to generator.
4-
5- */
6-
1+ //! Json generator for bencoded data.
72use core:: str;
83use std:: {
94 fmt:: Write as FmtWrite ,
@@ -22,13 +17,13 @@ use crate::{
2217 tokenizer,
2318} ;
2419
25- pub struct BencodeParser < R : Read > {
20+ pub struct Generator < R : Read > {
2621 tokenizer : Tokenizer < R > ,
2722 num_processed_tokens : u64 ,
2823 stack : Stack ,
2924}
3025
31- impl < R : Read > BencodeParser < R > {
26+ impl < R : Read > Generator < R > {
3227 const JSON_ARRAY_BEGIN : u8 = b'[' ;
3328 const JSON_ARRAY_ITEMS_SEPARATOR : u8 = b',' ;
3429 const JSON_ARRAY_END : u8 = b']' ;
@@ -39,7 +34,7 @@ impl<R: Read> BencodeParser<R> {
3934 const JSON_OBJ_END : u8 = b'}' ;
4035
4136 pub fn new ( reader : R ) -> Self {
42- BencodeParser {
37+ Generator {
4338 tokenizer : Tokenizer :: new ( reader) ,
4439 num_processed_tokens : 1 ,
4540 stack : Stack :: default ( ) ,
@@ -353,16 +348,16 @@ mod tests {
353348
354349 use std:: io:: { self , Read } ;
355350
356- use crate :: generators:: json:: BencodeParser ;
351+ use crate :: generators:: json:: Generator ;
357352
358353 mod it_should_allow_writing {
359- use crate :: generators:: json:: BencodeParser ;
354+ use crate :: generators:: json:: Generator ;
360355
361356 #[ test]
362357 fn to_any_type_implementing_io_write_trait ( ) {
363358 let mut output = Vec :: new ( ) ;
364359
365- let mut parser = BencodeParser :: new ( & b"i0e" [ ..] ) ;
360+ let mut parser = Generator :: new ( & b"i0e" [ ..] ) ;
366361
367362 parser
368363 . write_bytes ( & mut output)
@@ -375,7 +370,7 @@ mod tests {
375370 fn writing_to_any_type_implementing_fmt_write_trait ( ) {
376371 let mut output = String :: new ( ) ;
377372
378- let mut parser = BencodeParser :: new ( & b"i0e" [ ..] ) ;
373+ let mut parser = Generator :: new ( & b"i0e" [ ..] ) ;
379374
380375 parser
381376 . write_str ( & mut output)
@@ -400,7 +395,7 @@ mod tests {
400395
401396 let mut output = String :: new ( ) ;
402397
403- let mut parser = BencodeParser :: new ( EmptyReader ) ;
398+ let mut parser = Generator :: new ( EmptyReader ) ;
404399
405400 parser. write_str ( & mut output) . unwrap ( ) ;
406401
@@ -409,13 +404,13 @@ mod tests {
409404
410405 mod it_should_allow_special_bencode_cases {
411406
412- use crate :: { generators:: json:: BencodeParser , test:: bencode_to_json_unchecked} ;
407+ use crate :: { generators:: json:: Generator , test:: bencode_to_json_unchecked} ;
413408
414409 #[ test]
415410 fn an_empty_input ( ) {
416411 let mut output = String :: new ( ) ;
417412
418- let mut parser = BencodeParser :: new ( & b"" [ ..] ) ;
413+ let mut parser = Generator :: new ( & b"" [ ..] ) ;
419414
420415 parser
421416 . write_str ( & mut output)
@@ -446,7 +441,7 @@ mod tests {
446441 mod it_should_fail {
447442 use std:: io:: { self , Read } ;
448443
449- use crate :: { error:: Error , generators:: json:: BencodeParser , try_bencode_to_json} ;
444+ use crate :: { error:: Error , generators:: json:: Generator , try_bencode_to_json} ;
450445
451446 #[ test]
452447 fn when_there_is_a_problem_reading_from_input ( ) {
@@ -463,7 +458,7 @@ mod tests {
463458
464459 let mut output = String :: new ( ) ;
465460
466- let mut parser = BencodeParser :: new ( FaultyReader ) ;
461+ let mut parser = Generator :: new ( FaultyReader ) ;
467462
468463 let result = parser. write_str ( & mut output) ;
469464
0 commit comments