pub trait Extractor {
// Required methods
fn get_parser_language(&self) -> Language;
fn get_library_metadata(
&self,
path: &Path,
) -> Result<LibraryMetadata, LibraryMetadataError>;
fn extract_public_api(
&self,
metadata: &LibraryMetadata,
parser: &mut Parser,
) -> Result<Vec<Namespace>, ExtractionError>;
}