lightpack_derive/lib.rs
1//! This crates provides Lightpack's derive macros, i.e.
2//!
3//! ```
4//! #[derive(Size, Pack, Unpack)]
5//! ```
6
7mod pack;
8mod size;
9mod unpack;
10mod util;
11
12use proc_macro::TokenStream;
13
14#[proc_macro_derive(Size)]
15pub fn derive_size(input: TokenStream) -> TokenStream {
16 size::derive_size(input.into()).into()
17}
18
19#[proc_macro_derive(Pack)]
20pub fn derive_pack(input: TokenStream) -> TokenStream {
21 pack::derive_pack(input.into()).into()
22}
23
24#[proc_macro_derive(Unpack)]
25pub fn derive_unpack(input: TokenStream) -> TokenStream {
26 unpack::derive_unpack(input.into()).into()
27}