Newer
Older

Louis
committed
#![allow(non_camel_case_types)]
use proc_macro2::TokenStream;
use quote::{quote, ToTokens};
macro_rules! fq {
($name:ident => $($tokens:tt)*) => {
pub(crate) struct $name;
impl ToTokens for $name {
fn to_tokens(&self, tokens: &mut TokenStream) {
quote!($($tokens)*).to_tokens(tokens);
}
}
};
}
fq!(FQSerialize => ::serde::Serialize);
fq!(FQDeserialize => ::serde::Deserialize);
fq!(FQVec => ::std::vec::Vec);
fq!(FQString => ::std::string::String);
fq!(FQHashMap => ::std::collections::HashMap);
fq!(FQClone => ::core::clone::Clone);
fq!(FQDebug => ::core::fmt::Debug);
fq!(FQDisplay => ::core::fmt::Display);
fq!(FQDefault => ::core::default::Default);
fq!(FQSend => ::core::marker::Send);
fq!(FQSync => ::core::marker::Sync);
fq!(FQFrom => ::std::convert::From);
fq!(FQIOError => ::std::io::Error);
fq!(FQError => ::std::error::Error);
fq!(FQFormatter => ::std::fmt::Formatter);
fq!(FQFormatResult => ::std::fmt::Result);
fq!(FQOption => ::std::option::Option);
fq!(FQResult => ::std::result::Result);
fq!(FQBox => ::std::boxed::Box);
fq!(ImportBevyPrelude => use ::bevy::prelude::*);
fq!(BevyApp => ::bevy::app::App);
fq!(BevyPlugin => ::bevy::app::Plugin);
fq!(BevyUpdate => ::bevy::app::Update);

Louis
committed
fq!(BevyWorld => ::bevy::ecs::world::World);
fq!(BevyEvent => ::bevy::ecs::event::Event);
fq!(BevyRes => ::bevy::ecs::system::Res);
fq!(BevyResMut => ::bevy::ecs::system::ResMut);
fq!(BevyWith => ::bevy::ecs::query::With);
fq!(BevyQuery => ::bevy::ecs::system::Query);
fq!(BevyEntity => ::bevy::ecs::entity::Entity);
fq!(BevyEventReader => ::bevy::ecs::event::EventReader);
fq!(BevySystemParam => ::bevy::ecs::system::SystemParam);
fq!(BevyResource => ::bevy::ecs::system::Resource);
fq!(BevyComponent => ::bevy::ecs::component::Component);
fq!(BevyTypePath=> ::bevy::reflect::TypePath);
fq!(BevyTypeUuid => ::bevy::reflect::TypeUuid);
fq!(BevyDeref => ::bevy::prelude::Deref);
fq!(BevyDerefMut => ::bevy::prelude::DerefMut);
fq!(BevyHandle => ::bevy::asset::Handle);
fq!(BevyAssets => ::bevy::asset::Assets);
fq!(BevyAssetEvent => ::bevy::asset::AssetEvent);
fq!(BevyAssetLoader => ::bevy::asset::AssetLoader);
fq!(BevyLoadContext => ::bevy::asset::LoadContext);
fq!(BevyLoadedAsset => ::bevy::asset::LoadedAsset);
fq!(BevyAssetServer => ::bevy::asset::AssetServer);
fq!(BevyAddAsset => ::bevy::asset::AssetApp);
fq!(BevyAsyncRead => ::bevy::asset::AsyncReadExt);
fq!(BevyAssetReader => ::bevy::asset::io::Reader);

Louis
committed
fq!(send_event => ::micro_bevy_world_utils::send_event);