File tree Expand file tree Collapse file tree 1 file changed +3
-16
lines changed Expand file tree Collapse file tree 1 file changed +3
-16
lines changed Original file line number Diff line number Diff line change @@ -10,22 +10,9 @@ pub(crate) fn parse(
10
10
uri : Option < & String > ,
11
11
text : & str ,
12
12
) -> Result < Map < String , Value > , Box < dyn Error + Send + Sync > > {
13
- match jsonc_parser:: parse_to_value ( text, & Default :: default ( ) ) ? {
14
- Some ( r) => match r {
15
- JsonValue :: String ( ref value) => Err ( Unexpected :: Str ( value. to_string ( ) ) ) ,
16
- JsonValue :: Number ( value) => Err ( Unexpected :: Float ( value. parse :: < f64 > ( ) . unwrap ( ) ) ) ,
17
- JsonValue :: Boolean ( value) => Err ( Unexpected :: Bool ( value) ) ,
18
- JsonValue :: Object ( o) => match from_jsonc_value ( uri, JsonValue :: Object ( o) ) . kind {
19
- ValueKind :: Table ( map) => Ok ( map) ,
20
- _ => unreachable ! ( ) ,
21
- } ,
22
- JsonValue :: Array ( _) => Err ( Unexpected :: Seq ) ,
23
- JsonValue :: Null => Err ( Unexpected :: Unit ) ,
24
- } ,
25
- None => Err ( Unexpected :: Unit ) ,
26
- }
27
- . map_err ( |err| ConfigError :: invalid_root ( uri, err) )
28
- . map_err ( |err| Box :: new ( err) as Box < dyn Error + Send + Sync > )
13
+ let parsed = jsonc_parser:: parse_to_value ( text, & Default :: default ( ) ) ?;
14
+ let value = from_jsonc_value ( uri, parsed. unwrap_or ( ValueKind :: Nil ) ) ;
15
+ format:: extract_root_table ( uri, value)
29
16
}
30
17
31
18
fn from_jsonc_value ( uri : Option < & String > , value : JsonValue < ' _ > ) -> Value {
You can’t perform that action at this time.
0 commit comments