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§

source

type Header: Debug + Clone + PartialEq + Eq + Send + Sync

Includes a keyword and/or modifiers

source

type Name: Debug + Clone + PartialEq + Eq + Send + Sync

A name of the function

source

type Body: ASTNode

The body of the function

Required Methods§

source

fn get_chain_variable(this: &FunctionBase<Self>) -> ChainVariable

source

fn header_left(header: &Self::Header) -> Option<Cow<'_, Span>>

source

fn header_and_name_from_reader( reader: &mut impl TokenReader<TSXToken, Span>, state: &mut ParsingState, settings: &ParseSettings ) -> ParseResult<(Self::Header, Self::Name)>

source

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§

source

fn get_parameter_body_boundary_token() -> Option<TSXToken>

For [crate::ArrowFunction]

source

fn parameters_from_reader<T: ToString>( reader: &mut impl TokenReader<TSXToken, Span>, state: &mut ParsingState, settings: &ParseSettings ) -> ParseResult<FunctionParameters>

For [crate::ArrowFunction]

source

fn parameters_to_string_from_buffer<T: ToString>( buf: &mut T, parameters: &FunctionParameters, settings: &ToStringSettingsAndData, depth: u8 )

For [crate::ArrowFunction]

source

fn parameter_body_boundary_token_to_string_from_buffer<T: ToString>( buf: &mut T, settings: &ToStringSettingsAndData )

For [crate::ArrowFunction]

Implementors§