@@ -5,7 +5,6 @@ use std::mem;
5
5
use std:: ops:: { Deref , DerefMut } ;
6
6
7
7
use byteorder:: { LittleEndian , ReadBytesExt , WriteBytesExt } ;
8
- use toml:: Value ;
9
8
10
9
use crate :: chunks:: io:: { ChunkIdentifier , Header , ReadChunk , WriteChunk } ;
11
10
use crate :: error:: { Error , Result } ;
@@ -16,18 +15,18 @@ use crate::io::ReadMetadata;
16
15
/// finalfusion metadata in TOML format.
17
16
#[ derive( Clone , Debug , PartialEq ) ]
18
17
pub struct Metadata {
19
- inner : Value ,
18
+ inner : toml :: Table ,
20
19
}
21
20
22
21
impl Metadata {
23
22
/// Construct new `Metadata`.
24
- pub fn new ( data : Value ) -> Self {
25
- Metadata { inner : data }
23
+ pub fn new ( inner : toml :: Table ) -> Self {
24
+ Metadata { inner }
26
25
}
27
26
}
28
27
29
28
impl Deref for Metadata {
30
- type Target = Value ;
29
+ type Target = toml :: Table ;
31
30
32
31
fn deref ( & self ) -> & Self :: Target {
33
32
& self . inner
@@ -40,9 +39,9 @@ impl DerefMut for Metadata {
40
39
}
41
40
}
42
41
43
- impl From < Value > for Metadata {
44
- fn from ( value : Value ) -> Self {
45
- Metadata { inner : value }
42
+ impl From < toml :: Table > for Metadata {
43
+ fn from ( inner : toml :: Table ) -> Self {
44
+ Metadata { inner }
46
45
}
47
46
}
48
47
@@ -69,7 +68,7 @@ impl ReadChunk for Metadata {
69
68
70
69
Ok ( Metadata :: new (
71
70
buf_str
72
- . parse :: < Value > ( )
71
+ . parse :: < toml :: Table > ( )
73
72
. map_err ( |e| Error :: Format ( format ! ( "Cannot deserialize TOML metadata: {}" , e) ) )
74
73
. map_err ( Error :: from) ?,
75
74
) )
0 commit comments