ReferenceResolver

Trait ReferenceResolver 

Source
pub trait ReferenceResolver: Send + Sync {
    // Required methods
    fn can_resolve(&self, reference: &str) -> bool;
    fn resolve(
        &self,
        reference: &str,
        imports: &[Import],
        context: &ResolutionContext,
    ) -> Option<Resolution>;
    fn parse_import_path(&self, path: &str) -> Option<ImportMetadata>;
    fn name(&self) -> &str;
}
Expand description

Trait for implementing type resolution strategies

Each implementation handles a specific pattern of imports/references (e.g., Kubernetes, Crossplane, custom CRDs, etc.)

Required Methods§

Source

fn can_resolve(&self, reference: &str) -> bool

Check if this resolver can handle the given reference

Source

fn resolve( &self, reference: &str, imports: &[Import], context: &ResolutionContext, ) -> Option<Resolution>

Try to resolve a type reference given the current imports

Source

fn parse_import_path(&self, path: &str) -> Option<ImportMetadata>

Extract type information from an import path Returns (group, version, kind) if applicable

Source

fn name(&self) -> &str

Get a human-readable name for this resolver (for debugging)

Implementors§