Skip to main content

Endpoint

Trait Endpoint 

Source
pub trait Endpoint:
    Send
    + Sync
    + NonLocalValue
    + ValueDebug {
    // Required methods
    fn output(self: Vc<Self>) -> Vc<EndpointOutput>
       where Self: Sized;
    fn server_changed(self: Vc<Self>) -> Vc<Completion>
       where Self: Sized;
    fn client_changed(self: Vc<Self>) -> Vc<Completion>
       where Self: Sized;
    fn entries(self: Vc<Self>) -> Vc<GraphEntries>
       where Self: Sized;
    fn module_graphs(self: Vc<Self>) -> Vc<ModuleGraphs>
       where Self: Sized;
    fn project(self: Vc<Self>) -> Vc<Project>
       where Self: Sized;
    fn traced_files(self: Vc<Self>) -> Vc<FileSystemPathVec>
       where Self: Sized;

    // Provided method
    fn additional_entries(
        self: Vc<Self>,
        _graph: Vc<ModuleGraph>,
    ) -> Vc<GraphEntries>
       where Self: Sized { ... }
}

Required Methods§

Source

fn output(self: Vc<Self>) -> Vc<EndpointOutput>
where Self: Sized,

Source

fn server_changed(self: Vc<Self>) -> Vc<Completion>
where Self: Sized,

Source

fn client_changed(self: Vc<Self>) -> Vc<Completion>
where Self: Sized,

Source

fn entries(self: Vc<Self>) -> Vc<GraphEntries>
where Self: Sized,

The entry modules for the modules graph.

Source

fn module_graphs(self: Vc<Self>) -> Vc<ModuleGraphs>
where Self: Sized,

Source

fn project(self: Vc<Self>) -> Vc<Project>
where Self: Sized,

The project this endpoint belongs to.

Source

fn traced_files(self: Vc<Self>) -> Vc<FileSystemPathVec>
where Self: Sized,

The traced files included by this endpoint. This is only used for analysis purposes. Usually, output() includes the NFT file and everything else is handled outside of Turbopack.

Provided Methods§

Source

fn additional_entries( self: Vc<Self>, _graph: Vc<ModuleGraph>, ) -> Vc<GraphEntries>
where Self: Sized,

Additional entry modules for the module graph. This may read the module graph and return additional modules.

Trait Implementations§

Source§

impl Dynamic<Box<dyn Endpoint>> for Box<dyn Endpoint>

Source§

impl Dynamic<Box<dyn ValueDebug>> for Box<dyn Endpoint>

Available on debug-assertions enabled only.
Source§

impl TraitVtablePrototype for Box<dyn Endpoint>

Source§

const LEN: usize = 8usize

Source§

const DEFAULTS: &[Option<&NativeFunction>]

Source§

impl Upcast<Box<dyn Endpoint>> for Box<dyn Endpoint>

Source§

impl Upcast<Box<dyn ValueDebug>> for Box<dyn Endpoint>

Available on debug-assertions enabled only.
Source§

impl UpcastStrict<Box<dyn ValueDebug>> for Box<dyn Endpoint>

Available on debug-assertions enabled only.
Source§

impl VcValueTrait for Box<dyn Endpoint>

Source§

const IMPL_VTABLES: &'static VTableRegistry<Self::ValueTrait>

The per-trait vtable registry, populated by [crate::value_type::register_all_trait_methods] Read more
Source§

type ValueTrait = dyn Endpoint

Source§

fn get_trait_type_id() -> TraitTypeId

Returns the type id of the trait object.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<T> Endpoint for T