aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/package/loader/loader_interface.rs
blob: 6cf728e3e560c20569f19d3ca2d16808ca937e22 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//! ref: composer/src/Composer/Package/Loader/LoaderInterface.php

use crate::package::PackageInterfaceHandle;
use indexmap::IndexMap;
use shirabe_php_shim::PhpMixed;

pub trait LoaderInterface: std::fmt::Debug {
    fn load(
        &self,
        config: IndexMap<String, PhpMixed>,
        class: Option<String>,
    ) -> anyhow::Result<PackageInterfaceHandle>;

    fn as_any(&self) -> &dyn std::any::Any;
}