|
@@ -4,10 +4,15 @@ use quote::{format_ident, quote};
|
|
|
use std::env::var;
|
|
|
use syn::{parse_macro_input, spanned::Spanned, ItemFn};
|
|
|
|
|
|
-fn get_env_var(name: &str, error: &mut Option<TokenStream2>, function: &ItemFn) -> TokenStream2 {
|
|
|
+fn get_env_var<R: FnOnce(String) -> String>(
|
|
|
+ name: &str,
|
|
|
+ replacer: R,
|
|
|
+ error: &mut Option<TokenStream2>,
|
|
|
+ function: &ItemFn,
|
|
|
+) -> TokenStream2 {
|
|
|
match var(name) {
|
|
|
Ok(value) => {
|
|
|
- let ident = format_ident!("{}", value);
|
|
|
+ let ident = format_ident!("{}", replacer(value));
|
|
|
quote!(#ident)
|
|
|
}
|
|
|
Err(_) => {
|
|
@@ -31,8 +36,13 @@ pub fn entry_point(_attributes: TokenStream, item: TokenStream) -> TokenStream {
|
|
|
let function_name = function.sig.ident.clone();
|
|
|
|
|
|
let mut error = None;
|
|
|
- let domain = get_env_var("TAURI_ANDROID_DOMAIN", &mut error, &function);
|
|
|
- let app_name = get_env_var("CARGO_PKG_NAME", &mut error, &function);
|
|
|
+ let domain = get_env_var("TAURI_ANDROID_DOMAIN", |r| r, &mut error, &function);
|
|
|
+ let app_name = get_env_var(
|
|
|
+ "CARGO_PKG_NAME",
|
|
|
+ |r| r.replace('_', "_1"),
|
|
|
+ &mut error,
|
|
|
+ &function,
|
|
|
+ );
|
|
|
|
|
|
if let Some(e) = error {
|
|
|
quote!(#e).into()
|