Trait ezno_parser::functions::FunctionBased
source · pub trait FunctionBased: Debug + Clone + PartialEq + Eq + Send + Sync {
type Header: Debug + Clone + PartialEq + Eq + Send + Sync;
type Name: Debug + Clone + PartialEq + Eq + Send + Sync;
type Body: ASTNode;
// Required methods
fn get_chain_variable(this: &FunctionBase<Self>) -> ChainVariable;
fn header_left(header: &Self::Header) -> Option<Cow<'_, Span>>;
fn header_and_name_from_reader(
reader: &mut impl TokenReader<TSXToken, Span>,
state: &mut ParsingState,
settings: &ParseSettings
) -> ParseResult<(Self::Header, Self::Name)>;
fn header_and_name_to_string_from_buffer<T: ToString>(
buf: &mut T,
header: &Self::Header,
name: &Self::Name,
settings: &ToStringSettingsAndData,
depth: u8
);
// Provided methods
fn get_parameter_body_boundary_token() -> Option<TSXToken> { ... }
fn parameters_from_reader<T: ToString>(
reader: &mut impl TokenReader<TSXToken, Span>,
state: &mut ParsingState,
settings: &ParseSettings
) -> ParseResult<FunctionParameters> { ... }
fn parameters_to_string_from_buffer<T: ToString>(
buf: &mut T,
parameters: &FunctionParameters,
settings: &ToStringSettingsAndData,
depth: u8
) { ... }
fn parameter_body_boundary_token_to_string_from_buffer<T: ToString>(
buf: &mut T,
settings: &ToStringSettingsAndData
) { ... }
}
Expand description
Specialization information for FunctionBase
Required Associated Types§
Required Methods§
fn get_chain_variable(this: &FunctionBase<Self>) -> ChainVariable
fn header_left(header: &Self::Header) -> Option<Cow<'_, Span>>
fn header_and_name_from_reader( reader: &mut impl TokenReader<TSXToken, Span>, state: &mut ParsingState, settings: &ParseSettings ) -> ParseResult<(Self::Header, Self::Name)>
fn header_and_name_to_string_from_buffer<T: ToString>( buf: &mut T, header: &Self::Header, name: &Self::Name, settings: &ToStringSettingsAndData, depth: u8 )
Provided Methods§
sourcefn get_parameter_body_boundary_token() -> Option<TSXToken>
fn get_parameter_body_boundary_token() -> Option<TSXToken>
For [crate::ArrowFunction]
sourcefn parameters_from_reader<T: ToString>(
reader: &mut impl TokenReader<TSXToken, Span>,
state: &mut ParsingState,
settings: &ParseSettings
) -> ParseResult<FunctionParameters>
fn parameters_from_reader<T: ToString>( reader: &mut impl TokenReader<TSXToken, Span>, state: &mut ParsingState, settings: &ParseSettings ) -> ParseResult<FunctionParameters>
For [crate::ArrowFunction]
sourcefn parameters_to_string_from_buffer<T: ToString>(
buf: &mut T,
parameters: &FunctionParameters,
settings: &ToStringSettingsAndData,
depth: u8
)
fn parameters_to_string_from_buffer<T: ToString>( buf: &mut T, parameters: &FunctionParameters, settings: &ToStringSettingsAndData, depth: u8 )
For [crate::ArrowFunction]
sourcefn parameter_body_boundary_token_to_string_from_buffer<T: ToString>(
buf: &mut T,
settings: &ToStringSettingsAndData
)
fn parameter_body_boundary_token_to_string_from_buffer<T: ToString>( buf: &mut T, settings: &ToStringSettingsAndData )
For [crate::ArrowFunction]