pub struct FunctionDef {
pub name: String,
pub kind: FunctionKind,
pub args: Vec<FunctionArg>,
pub return_type: RustType,
pub doc: Option<String>,
pub is_async: bool,
}Expand description
Function definition.
Fields§
§name: StringFunction name (snake_case in Rust).
kind: FunctionKindFunction kind.
args: Vec<FunctionArg>Input arguments.
return_type: RustTypeReturn type.
doc: Option<String>Documentation comment.
is_async: boolWhether the function is async.
Implementations§
Source§impl FunctionDef
impl FunctionDef
Sourcepub fn new(
name: impl Into<String>,
kind: FunctionKind,
return_type: RustType,
) -> Self
pub fn new( name: impl Into<String>, kind: FunctionKind, return_type: RustType, ) -> Self
Create a new function definition.
Sourcepub fn mutation(name: impl Into<String>, return_type: RustType) -> Self
pub fn mutation(name: impl Into<String>, return_type: RustType) -> Self
Create a mutation function.
Sourcepub fn with_arg(self, arg: FunctionArg) -> Self
pub fn with_arg(self, arg: FunctionArg) -> Self
Add an argument.
Trait Implementations§
Source§impl Clone for FunctionDef
impl Clone for FunctionDef
Source§fn clone(&self) -> FunctionDef
fn clone(&self) -> FunctionDef
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for FunctionDef
impl RefUnwindSafe for FunctionDef
impl Send for FunctionDef
impl Sync for FunctionDef
impl Unpin for FunctionDef
impl UnwindSafe for FunctionDef
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more