use std::collections::HashMap;
use std::future::Future;
use std::pin::Pin;
use std::sync::Arc;
use valu3::value::Value;
pub type Function = Arc<dyn Fn(Value) -> Pin<Box<dyn Future<Output = Value> + Send>> + Send + Sync>;
#[derive(Clone)]
pub struct RepositoryFunction {
pub function: Function,
pub abstration: String,
pub args: Vec<String>,
}
#[derive(Clone)]
pub struct Repositories {
pub repositories: HashMap<String, RepositoryFunction>,
}