1#[allow(unused)]
2use crate as memory_serve;
3
4#[macro_export]
6macro_rules! load {
7 () => {{
8 use memory_serve::{Asset, MemoryServe};
9
10 let assets: &[(&str, &[Asset])] =
11 include!(concat!(env!("OUT_DIR"), "/memory_serve_assets.rs"));
12
13 if assets.is_empty() {
14 panic!("No assets found, did you call a load_directory* function from your build.rs?");
15 }
16
17 MemoryServe::new(assets[0].1)
18 }};
19 ($title:expr) => {{
20 use memory_serve::{Asset, MemoryServe};
21
22 let assets: &[(&str, &[Asset])] =
23 include!(concat!(env!("OUT_DIR"), "/memory_serve_assets.rs"));
24
25 let selected_assets = assets
26 .into_iter()
27 .find(|(n, _)| *n == $title)
28 .map(|(_, a)| *a)
29 .unwrap_or_default();
30
31 if selected_assets.is_empty() {
32 panic!("No assets found, did you call a load_directory* function from your build.rs?");
33 }
34
35 MemoryServe::new(selected_assets)
36 }};
37}