use rustpub::simple::core::*;
use rustpub::simple::properties::*;
fn main() {
let object = ObjectBuilder::default()
.context(context())
.id("this is my id".to_string())
.kind("Note".to_string())
.build()
.unwrap();
println!("{:#?}", object);
println!("{}", serde_json::to_string(&object).unwrap());
let json_str = serde_json::to_string(&object).unwrap();
let kind = core_kind(&json_str).unwrap();
match kind {
Kind::String(link) if link == "Link" => println!("it's a link"),
Kind::String(kind) => println!("it's a {}", kind),
_ => println!("it's unknown"),
}
let link = LinkBuilder::default()
.kind("Link".to_string())
.href("https://example.org".to_string())
.media_type("text/html".to_string())
.build()
.unwrap();
println!("{:#?}", link);
println!("{}", serde_json::to_string(&link).unwrap());
let json_str = serde_json::to_string(&link).unwrap();
let kind = core_kind(&json_str).unwrap();
match kind {
Kind::String(link) if link == "Link" => println!("it's a Link"),
Kind::String(kind) => println!("it's a {}", kind),
Kind::None => println!("it's unknown"),
}
let person = ObjectBuilder::default()
.context(context())
.id("https://c95.pw/api/users/feddy".to_string())
.kind("Person".to_string())
.preferred_username("feddy".to_string())
.inbox("https://c95.pw/api/users/feddy/inbox".to_string())
.public_key(Box::new(
ObjectBuilder::default()
.id("https://c95.pw/api/users/feddy#main-key".to_string())
.owner("https://c95.pw/api/users/feddy".to_string())
.public_key_pem("PUBLIC KEY".to_string())
.build()
.unwrap(),
))
.build()
.unwrap();
println!("{:#?}", person);
println!("{}", serde_json::to_string(&person).unwrap());
}