use crate::error::Error;

pub trait Lazy<VALUE, SOURCE> {
    /// Resolve VALUE, blocking load from the SOURCE
    fn value(&self, src: &SOURCE) -> Result<VALUE, Error>;

    /// Check if already resolved
    fn resolved(&self) -> bool;
}
