@@ -15,8 +15,7 @@ fn iterate_parse_options(comrak_options: &mut ComrakOptions, options_hash: RHash
1515 comrak_options. parse . smart = value. try_convert :: < bool > ( ) ?;
1616 }
1717 Ok ( Cow :: Borrowed ( PARSE_DEFAULT_INFO_STRING ) ) => {
18- comrak_options. parse . default_info_string =
19- Some ( value. try_convert :: < String > ( ) . unwrap ( ) ) ;
18+ comrak_options. parse . default_info_string = try_convert_string ( value) ;
2019 }
2120 _ => { }
2221 }
@@ -91,8 +90,7 @@ fn iterate_extension_options(comrak_options: &mut ComrakOptions, options_hash: R
9190 comrak_options. extension . superscript = value. try_convert :: < bool > ( ) ?;
9291 }
9392 Ok ( Cow :: Borrowed ( EXTENSION_HEADER_IDS ) ) => {
94- comrak_options. extension . header_ids =
95- Some ( value. try_convert :: < String > ( ) . unwrap ( ) ) ;
93+ comrak_options. extension . header_ids = try_convert_string ( value) ;
9694 }
9795 Ok ( Cow :: Borrowed ( EXTENSION_FOOTNOTES ) ) => {
9896 comrak_options. extension . footnotes = value. try_convert :: < bool > ( ) ?;
@@ -101,8 +99,7 @@ fn iterate_extension_options(comrak_options: &mut ComrakOptions, options_hash: R
10199 comrak_options. extension . description_lists = value. try_convert :: < bool > ( ) ?;
102100 }
103101 Ok ( Cow :: Borrowed ( EXTENSION_FRONT_MATTER_DELIMITER ) ) => {
104- comrak_options. extension . front_matter_delimiter =
105- Some ( value. try_convert :: < String > ( ) . unwrap ( ) ) ;
102+ comrak_options. extension . front_matter_delimiter = try_convert_string ( value) ;
106103 }
107104 _ => { }
108105 }
@@ -129,3 +126,11 @@ pub fn iterate_options_hash(
129126 }
130127 Ok ( ForEach :: Continue )
131128}
129+
130+ fn try_convert_string ( value : Value ) -> Option < String > {
131+ if value. is_kind_of ( class:: string ( ) ) {
132+ Some ( value. try_convert :: < String > ( ) . unwrap ( ) )
133+ } else {
134+ None
135+ }
136+ }
0 commit comments