datasources 0.1.5

Async datasource interfaces, middleware, registry, and test doubles
Documentation
use crate::row::Row;
use crate::value::Value;

pub trait IdKey: Send + Sync {
    fn as_value(&self) -> Option<&Value> {
        None
    }

    fn as_row(&self) -> Option<&Row> {
        None
    }
}

impl IdKey for Value {
    fn as_value(&self) -> Option<&Value> {
        Some(self)
    }
}

impl IdKey for Row {
    fn as_row(&self) -> Option<&Row> {
        Some(self)
    }
}