pub enum FunctionSpec {
Resolved(FullInlineFunctionOrRemoteCommitOptional),
Favorite(String),
File(PathBuf),
PythonInline(String),
PythonFile(PathBuf),
}Expand description
CLI-surface form for the --function* argument family: either a
fully resolved inline-or-remote spec (the JSON object form that
lands on --function-inline, or the docker-style remote-path
string on --function), a bare favorite name (also on --function
— disambiguated from a remote path by the FromStr at parse time),
the path to a JSON file (--function-file), or a Python harness
— inline (--function-python-inline) or file
(--function-python-file) — that produces the inline-or-remote
JSON at handler time.
Untagged so existing on-disk JSON for Resolved/Favorite
round-trips byte-identically; File/PythonInline/PythonFile
are new variants that only appear on the cli wire side.
Variants§
Resolved(FullInlineFunctionOrRemoteCommitOptional)
Favorite(String)
File(PathBuf)
PythonInline(String)
PythonFile(PathBuf)
Implementations§
Source§impl FunctionSpec
impl FunctionSpec
Sourcepub fn push_flags(&self, out: &mut Vec<String>)
pub fn push_flags(&self, out: &mut Vec<String>)
Emit this spec back into the argv pair the cli’s clap parser
will reconstruct from. Used by crate::cli::command::CommandRequest::into_command.
Trait Implementations§
Source§impl Clone for FunctionSpec
impl Clone for FunctionSpec
Source§fn clone(&self) -> FunctionSpec
fn clone(&self) -> FunctionSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FunctionSpec
impl Debug for FunctionSpec
Source§impl<'de> Deserialize<'de> for FunctionSpec
impl<'de> Deserialize<'de> for FunctionSpec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for FunctionSpec
impl JsonSchema for FunctionSpec
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for FunctionSpec
impl PartialEq for FunctionSpec
Source§fn eq(&self, other: &FunctionSpec) -> bool
fn eq(&self, other: &FunctionSpec) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for FunctionSpec
impl Serialize for FunctionSpec
impl StructuralPartialEq for FunctionSpec
Source§impl TryFrom<FunctionArgs> for FunctionSpec
impl TryFrom<FunctionArgs> for FunctionSpec
Source§type Error = FromArgsError
type Error = FromArgsError
Auto Trait Implementations§
impl Freeze for FunctionSpec
impl RefUnwindSafe for FunctionSpec
impl Send for FunctionSpec
impl Sync for FunctionSpec
impl Unpin for FunctionSpec
impl UnsafeUnpin for FunctionSpec
impl UnwindSafe for FunctionSpec
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>
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>
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