Target-neutral typed contracts for Proton applications and extensions.
///|
pub let create_todo : @proton_contract.Command[CreateTodoRequest, Todo] = @proton_contract.command(
"create_todo",
)
///|
pub let todo_changed : @proton_contract.Event[TodoChanged] = @proton_contract.event(
"todo_changed",
)fn[Request, Response] Command::validate(self : Command[Request, Response]) -> Unit raise ContractDefinitionErrorpub struct Event[Payload] {
route : ContractRoute
type_marker : (Payload) -> Unit?
duplicate_route : Bool
}pub struct ExtensionContract {
id : String
js_namespace : String
}fn[Request, Response] ExtensionContract::command(self : ExtensionContract, name : String) -> Command[Request, Response]Target-neutral typed contracts for Proton applications and extensions.