11use std:: collections:: HashMap ;
22
33use serde:: { Deserialize , Serialize } ;
4+ #[ cfg( feature = "jsbindings" ) ]
45use tsify:: Tsify ;
6+ #[ cfg( feature = "jsbindings" ) ]
57use wasm_bindgen:: prelude:: wasm_bindgen;
68
79use crate :: paragraph:: Paragraph ;
@@ -33,8 +35,9 @@ pub struct Style {
3335}
3436
3537/// Information about the document, including references to fonts & styles
36- #[ derive( Default , Debug , Clone , PartialEq , Deserialize , Serialize , Tsify ) ]
37- #[ tsify( into_wasm_abi, from_wasm_abi) ]
38+ #[ derive( Default , Debug , Clone , PartialEq , Deserialize , Serialize ) ]
39+ #[ cfg_attr( feature = "jsbindings" , derive( Tsify ) ) ]
40+ #[ cfg_attr( feature = "jsbindings" , tsify( into_wasm_abi, from_wasm_abi) ) ]
3841pub struct RtfHeader {
3942 pub character_set : CharacterSet ,
4043 pub font_table : FontTable ,
@@ -43,24 +46,25 @@ pub struct RtfHeader {
4346}
4447
4548#[ derive( Hash , Default , Clone , Debug , PartialEq , Deserialize , Serialize ) ]
46- #[ wasm_bindgen( getter_with_clone) ]
49+ #[ cfg_attr ( feature = "jsbindings" , wasm_bindgen( getter_with_clone) ) ]
4750pub struct Font {
4851 pub name : String ,
4952 pub character_set : u8 ,
5053 pub font_family : FontFamily ,
5154}
5255
5356#[ derive( Hash , Default , Clone , Debug , PartialEq , Deserialize , Serialize ) ]
54- #[ wasm_bindgen]
57+ #[ cfg_attr ( feature = "jsbindings" , wasm_bindgen) ]
5558pub struct Color {
5659 pub red : u8 ,
5760 pub green : u8 ,
5861 pub blue : u8 ,
5962}
6063
6164#[ allow( dead_code) ]
62- #[ derive( Debug , PartialEq , Default , Clone , Hash , Deserialize , Serialize , Tsify ) ]
63- #[ tsify( into_wasm_abi, from_wasm_abi) ]
65+ #[ derive( Debug , PartialEq , Default , Clone , Hash , Deserialize , Serialize ) ]
66+ #[ cfg_attr( feature = "jsbindings" , derive( Tsify ) ) ]
67+ #[ cfg_attr( feature = "jsbindings" , tsify( into_wasm_abi, from_wasm_abi) ) ]
6468pub enum CharacterSet {
6569 #[ default]
6670 Ansi ,
@@ -81,8 +85,9 @@ impl CharacterSet {
8185}
8286
8387#[ allow( dead_code) ]
84- #[ derive( Debug , PartialEq , Hash , Clone , Default , Deserialize , Serialize , Tsify ) ]
85- #[ tsify( into_wasm_abi, from_wasm_abi) ]
88+ #[ derive( Debug , PartialEq , Hash , Clone , Default , Deserialize , Serialize ) ]
89+ #[ cfg_attr( feature = "jsbindings" , derive( Tsify ) ) ]
90+ #[ cfg_attr( feature = "jsbindings" , tsify( into_wasm_abi, from_wasm_abi) ) ]
8691pub enum FontFamily {
8792 #[ default]
8893 Nil ,
0 commit comments