pub mod object;
pub use object::{InvalidObject, K8sObject, Object, ObjectMetadata};
pub trait LintContext: Send + Sync {
fn objects(&self) -> &[Object];
fn invalid_objects(&self) -> &[InvalidObject];
}
#[derive(Debug, Default)]
pub struct LintContextImpl {
objects: Vec<Object>,
invalid_objects: Vec<InvalidObject>,
}
impl LintContextImpl {
pub fn new() -> Self {
Self::default()
}
pub fn add_object(&mut self, object: Object) {
self.objects.push(object);
}
pub fn add_invalid_object(&mut self, invalid: InvalidObject) {
self.invalid_objects.push(invalid);
}
pub fn objects_mut(&mut self) -> &mut Vec<Object> {
&mut self.objects
}
}
impl LintContext for LintContextImpl {
fn objects(&self) -> &[Object] {
&self.objects
}
fn invalid_objects(&self) -> &[InvalidObject] {
&self.invalid_objects
}
}