1
- use serde:: Serialize ;
1
+ use serde:: { Deserialize , Serialize } ;
2
+ use tsify_next:: Tsify ;
2
3
use wasm_bindgen:: { prelude:: wasm_bindgen, JsError } ;
3
4
use xmtp_id:: associations:: { ident, Identifier as XmtpIdentifier } ;
4
5
5
- #[ wasm_bindgen ( getter_with_clone ) ]
6
- #[ derive ( Clone , Debug , Hash , PartialEq , Eq , Serialize ) ]
6
+ #[ derive ( Tsify , Clone , Debug , Hash , PartialEq , Eq , Serialize , Deserialize ) ]
7
+ #[ tsify ( into_wasm_abi , from_wasm_abi ) ]
7
8
pub struct Identifier {
8
9
pub identifier : String ,
9
- #[ wasm_bindgen ( js_name = identifierKind) ]
10
+ #[ serde ( rename = " identifierKind" ) ]
10
11
pub identifier_kind : IdentifierKind ,
11
12
}
12
13
13
14
#[ wasm_bindgen]
14
15
impl Identifier {
15
- #[ wasm_bindgen( constructor) ]
16
16
pub fn new (
17
17
identifier : String ,
18
18
#[ wasm_bindgen( js_name = identifierKind) ] identifier_kind : IdentifierKind ,
@@ -24,8 +24,8 @@ impl Identifier {
24
24
}
25
25
}
26
26
27
- #[ wasm_bindgen ]
28
- #[ derive ( Clone , Debug , Hash , PartialEq , Eq , Serialize ) ]
27
+ #[ derive ( Tsify , Clone , Debug , Hash , PartialEq , Eq , Serialize , Deserialize ) ]
28
+ #[ tsify ( into_wasm_abi , from_wasm_abi ) ]
29
29
pub enum IdentifierKind {
30
30
Ethereum ,
31
31
Passkey ,
0 commit comments