dalbit_core/
mod.rs

1use full_moon::LuaVersion;
2use serde::{Deserialize, Serialize};
3
4pub mod injector;
5pub mod manifest;
6pub mod modifiers;
7pub mod polyfill;
8pub mod transpile;
9pub mod utils;
10
11/// Represents lua versions that implement serde
12#[non_exhaustive]
13#[derive(Debug, Deserialize, Serialize, Clone, PartialEq)]
14#[serde(rename_all = "snake_case")]
15pub enum TargetVersion {
16    Lua51,
17    Lua52,
18    Lua53,
19    Luau,
20    Default,
21}
22
23impl Default for TargetVersion {
24    fn default() -> Self {
25        TargetVersion::Default
26    }
27}
28
29impl TargetVersion {
30    pub fn to_lua_version(&self) -> LuaVersion {
31        match &self {
32            TargetVersion::Lua51 => LuaVersion::lua51(),
33            TargetVersion::Lua52 => LuaVersion::lua52(),
34            TargetVersion::Lua53 => LuaVersion::lua53(),
35            TargetVersion::Luau => LuaVersion::luau(),
36            TargetVersion::Default => LuaVersion::default(),
37        }
38    }
39}