prosa_teleinfo_macros/lib.rs
1//! Base library to defines TLS procedural macros
2
3#![warn(missing_docs)]
4
5mod teleinfo;
6
7use crate::teleinfo::TeleinfoChecksumMacro;
8use proc_macro::TokenStream;
9use syn::parse_macro_input;
10
11/// Macro to calculate the checksum for a Teleinfo string value
12///
13/// ```
14/// use rs_ovpinergy_macros::teleinfo_checksum_str;
15///
16/// assert_eq!(283u64, teleinfo_checksum_str!("BASE"));
17/// ```
18#[proc_macro]
19pub fn teleinfo_checksum_str(input: TokenStream) -> TokenStream {
20 let input = parse_macro_input!(input as TeleinfoChecksumMacro);
21 let output: proc_macro2::TokenStream = input.into();
22 output.into()
23}