Extractor

Trait Extractor 

Source
pub trait Extractor<EntryPoint> {
    // Required methods
    fn get_parser_language(&self) -> Language;
    fn get_library_metadata(
        &self,
        path: &Path,
    ) -> Result<LibraryMetadata<EntryPoint>, LibraryMetadataError>;
    fn extract_public_api(
        &self,
        metadata: &LibraryMetadata<EntryPoint>,
        parser: &mut Parser,
    ) -> Result<Vec<Namespace>, ExtractionError>;
    fn resolve_dependency_path(
        &self,
        dependency_name: &str,
        dependant_path: &Path,
    ) -> Result<PathBuf, DependencyResolutionError>;
}
Expand description

Extract metadata and public API information from a library.

Required Methods§

Source

fn get_parser_language(&self) -> Language

Provide the TreeSitter language

Source

fn get_library_metadata( &self, path: &Path, ) -> Result<LibraryMetadata<EntryPoint>, LibraryMetadataError>

Provide the library metadata

Source

fn extract_public_api( &self, metadata: &LibraryMetadata<EntryPoint>, parser: &mut Parser, ) -> Result<Vec<Namespace>, ExtractionError>

Extract the public API

Source

fn resolve_dependency_path( &self, dependency_name: &str, dependant_path: &Path, ) -> Result<PathBuf, DependencyResolutionError>

Resolve the path to a dependency

Implementors§