use codegen::Binding;
use rpc::protocol;
use serde::{ser::SerializeMap, Serialize, Serializer};
use std::borrow::Cow;
#[doc(hidden)]
#[derive(Clone)]
pub struct Function {
pub name: Cow<'static, str>,
pub disabled: bool,
pub bindings: Cow<'static, [Binding]>,
pub invoker_name: Option<Cow<'static, str>>,
pub invoker: Option<fn(&str, &mut protocol::InvocationRequest) -> protocol::InvocationResponse>,
}
impl Serialize for Function {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
let mut map = serializer.serialize_map(None)?;
map.serialize_entry("generatedBy", "azure-functions-rs")?;
map.serialize_entry("disabled", &self.disabled)?;
map.serialize_entry("bindings", &self.bindings)?;
map.end()
}
}