@@ -2,30 +2,28 @@ use serde::{Deserialize, Serialize};
22
33use crate :: data:: maps:: { link_map:: LinkMap , page_map:: PageMap } ;
44
5- #[ derive( Serialize ) ]
6- struct SerializerDatabase < ' a > {
7- pub links : & ' a LinkMap ,
8- pub pages : & ' a PageMap ,
9- }
10-
11- #[ derive( Deserialize ) ]
5+ #[ derive( Serialize , Deserialize ) ]
126pub struct Database {
137 pub links : LinkMap ,
148 pub pages : PageMap ,
159}
1610
17- pub fn serialize ( outfile : & str , links : & LinkMap , pages : & PageMap ) {
18- let db = SerializerDatabase { links, pages } ;
11+ impl Database {
12+ pub fn new ( links : LinkMap , pages : PageMap ) -> Self {
13+ Self { links, pages }
14+ }
1915
20- let file = std:: fs:: File :: create ( outfile) . unwrap ( ) ;
21- let writer = std:: io:: BufWriter :: new ( file) ;
16+ pub fn to_file ( & self , outfile : & str ) {
17+ let file = std:: fs:: File :: create ( outfile) . unwrap ( ) ;
18+ let writer = std:: io:: BufWriter :: new ( file) ;
2219
23- ciborium:: into_writer ( & db , writer) . expect ( "Error writing db" ) ;
24- }
20+ ciborium:: into_writer ( self , writer) . expect ( "Error writing db" ) ;
21+ }
2522
26- pub fn deserialize ( infile : & str ) -> Database {
27- let file = std:: fs:: File :: open ( infile) . unwrap ( ) ;
28- let reader = std:: io:: BufReader :: new ( file) ;
23+ pub fn from_file ( infile : & str ) -> Database {
24+ let file = std:: fs:: File :: open ( infile) . unwrap ( ) ;
25+ let reader = std:: io:: BufReader :: new ( file) ;
2926
30- ciborium:: from_reader ( reader) . expect ( "Error reading db" )
27+ ciborium:: from_reader ( reader) . expect ( "Error reading db" )
28+ }
3129}
0 commit comments