///|
pub(all) enum EventTarget {
AppTarget
WindowTarget(String)
WebviewTarget(String)
} derive(Debug, Eq)
///|
pub struct Event {
name : String
payload : String
} derive(Debug, Eq)
///|
pub fn Event::new(name : String, payload? : String = "") -> Event {
{ name, payload }
}
///|
pub fn Event::name(self : Event) -> String {
self.name
}
///|
pub fn Event::payload(self : Event) -> String {
self.payload
}
///|
pub fn Event::to_json(self : Event) -> String {
[
"{",
"\"name\":\{self.name.json_string()},",
"\"payload\":\{self.payload.json_string()}",
"}",
].join("")
}
///|
pub fn Event::validate(self : Event) -> Array[String] {
let problems : Array[String] = []
if self.name == "" {
problems.push("event name is required")
}
problems
}