use crate::BundledAsset;
pub type ResolveAssetRouteFn =
dyn (Fn(&BundledAsset, &mut dyn std::fmt::Write) -> std::fmt::Result) + Send + Sync;
pub struct AssetRouteResolver {
resolve_fn: Box<ResolveAssetRouteFn>,
}
impl AssetRouteResolver {
#[must_use]
pub fn new(resolve_fn: Box<ResolveAssetRouteFn>) -> Self {
Self { resolve_fn }
}
pub fn resolve(
&self,
bundled_asset: &BundledAsset,
write: &mut dyn std::fmt::Write,
) -> std::fmt::Result {
(self.resolve_fn)(bundled_asset, write)
}
}