localize_it 2.5.1

Simple and fast library for localization
Documentation
use crate::{
    backends::expressions_from_files::{
        arguments::Arguments, static_expressions::static_expressions,
    },
    utils::NamesProvider,
};
use proc_macro::TokenStream;
use quote::quote;
use syn::{parse, Result};

pub fn backend(input: TokenStream) -> Result<TokenStream> {
    let arguments = &parse::<Arguments>(input)?;
    let names_provider = &NamesProvider::new(arguments.path.clone());

    let expressions = static_expressions(arguments, names_provider)?;

    Ok(quote! {
        #expressions
    }
    .into())
}