// Copyright (C) 2021 Aravinth Manivannan // SPDX-FileCopyrightText: 2023 Aravinth Manivannan // // SPDX-License-Identifier: AGPL-3.0-or-later use cache_buster::Files; pub struct FileMap { pub files: Files, } impl FileMap { #[allow(clippy::new_without_default)] pub fn new() -> Self { let map = include_str!("../cache_buster_data.json"); let files = Files::new(map); Self { files } } pub fn get(&self, path: impl AsRef) -> Option<&str> { let file_path = self.files.get_full_path(path); file_path.map(|file_path| &file_path[1..]) } } #[cfg(test)] mod tests { #[test] fn filemap_works() { let files = super::FileMap::new(); let logo = files.get("./static/cache/img/icon-trans.png").unwrap(); println!("{}", logo); assert!(logo.contains("/assets/img/icon-trans")); } }