///|
/// Describes a Web App.
pub struct WebAppInfo {
url : String
} derive(Show, Eq)
///|
/// Creates a new [WebAppInfo].
pub fn WebAppInfo::new(url~ : String) -> WebAppInfo {
{ url, }
}
///|
pub impl ToJson for WebAppInfo with to_json(self) {
let object : Map[String, Json] = { "url": self.url.to_json() }
object.to_json()
}
///|
pub impl @json.FromJson for WebAppInfo with from_json(json, path) {
guard json is Object(object) else {
raise @json.JsonDecodeError((path, "Expected object for WebAppInfo"))
}
let url : String = @json.from_json(object["url"], path~)
{ url, }
}
///|
/// Describes an inline message sent by a Web App on behalf of a user.
pub struct SentWebAppMessage {
inline_message_id : String?
} derive(Show, Eq)
///|
/// Creates a new [SentWebAppMessage].
pub fn SentWebAppMessage::new(inline_message_id? : String) -> SentWebAppMessage {
{ inline_message_id, }
}
///|
pub impl ToJson for SentWebAppMessage with to_json(self) {
let object : Map[String, Json] = {}
if self.inline_message_id is Some(v) {
object["inline_message_id"] = v.to_json()
}
object.to_json()
}
///|
pub impl @json.FromJson for SentWebAppMessage with from_json(json, path) {
guard json is Object(object) else {
raise @json.JsonDecodeError((path, "Expected object for SentWebAppMessage"))
}
let inline_message_id : String? = if object.get("inline_message_id")
is Some(v) {
Some(@json.from_json(v, path~))
} else {
None
}
{ inline_message_id, }
}