pub struct ImportFunction {
    pub function: Function,
    pub rust_name: Ident,
    pub js_ret: Option<Type>,
    pub catch: bool,
    pub variadic: bool,
    pub structural: bool,
    pub assert_no_shim: bool,
    pub kind: ImportFunctionKind,
    pub shim: Ident,
    pub doc_comment: String,
}
Expand description

A function being imported from JS

Fields§

§function: Function

The full signature of the function

§rust_name: Ident

The name rust code will use

§js_ret: Option<Type>

The type being returned

§catch: bool

Whether to catch JS exceptions

§variadic: bool

Whether the function is variadic on the JS side

§structural: bool

Whether the function should use structural type checking

§assert_no_shim: bool

Causes the Builder (See cli-support::js::binding::Builder) to error out if it finds itself generating code for a function with this signature

§kind: ImportFunctionKind

The kind of function being imported

§shim: Ident

The shim name to use in the generated code. The ‘shim’ is a function that appears in the generated JS as a wrapper around the actual function to import, performing any necessary conversions (EG adding a try/catch to change a thrown error into a Result)

§doc_comment: String

The doc comment on this import, if one is provided

Trait Implementations§

source§

impl Clone for ImportFunction

source§

fn clone(&self) -> ImportFunction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl TryToTokens for ImportFunction

source§

fn try_to_tokens(&self, tokens: &mut TokenStream) -> Result<(), Diagnostic>

Attempt to convert a Self into tokens and add it to the TokenStream
source§

fn try_to_token_stream(&self) -> Result<TokenStream, Diagnostic>

Attempt to convert a Self into a new TokenStream

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere
    T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere
    U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere
    T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere
    U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere
    U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.