darklua_core/frontend/
mod.rs1mod configuration;
2mod error;
3mod options;
4mod resources;
5mod utils;
6mod work_cache;
7mod work_item;
8mod worker;
9mod worker_tree;
10
11pub use configuration::{BundleConfiguration, Configuration, GeneratorParameters};
12pub use error::{DarkluaError, DarkluaResult};
13pub use options::Options;
14pub use resources::Resources;
15use serde::Serialize;
16use work_item::WorkItem;
17use worker::Worker;
18pub use worker_tree::WorkerTree;
19
20use crate::{
21 generator::{DenseLuaGenerator, LuaGenerator},
22 nodes::{Block, ReturnStatement},
23 process::to_expression,
24 utils::normalize_path,
25};
26
27pub fn convert_data(value: impl Serialize) -> Result<String, DarkluaError> {
29 let expression = to_expression(&value).map_err(DarkluaError::from)?;
30
31 let block = Block::default()
32 .with_last_statement(ReturnStatement::default().with_expression(expression));
33
34 let mut generator = DenseLuaGenerator::default();
35 generator.write_block(&block);
36 Ok(generator.into_string())
37}
38
39pub fn process(resources: &Resources, options: Options) -> DarkluaResult<WorkerTree> {
40 let mut worker_tree = WorkerTree::default();
41
42 worker_tree.collect_work(resources, &options)?;
43 worker_tree.process(resources, options)?;
44
45 Ok(worker_tree)
46}