mirror of
https://github.com/voltrevo/ValueScript.git
synced 2026-01-13 23:48:02 -05:00
53 lines
774 B
Rust
53 lines
774 B
Rust
use strum::EnumCount;
|
|
use strum_macros::{EnumCount, EnumString};
|
|
|
|
#[derive(EnumString, EnumCount, Clone, Copy)]
|
|
pub enum BuiltinName {
|
|
Debug,
|
|
Math,
|
|
String,
|
|
Number,
|
|
Boolean,
|
|
Array,
|
|
|
|
#[allow(non_camel_case_types)]
|
|
isFinite,
|
|
|
|
#[allow(non_camel_case_types)]
|
|
isNaN,
|
|
|
|
#[allow(non_camel_case_types)]
|
|
parseFloat,
|
|
|
|
#[allow(non_camel_case_types)]
|
|
parseInt,
|
|
|
|
Error,
|
|
TypeError,
|
|
RangeError,
|
|
}
|
|
|
|
pub const BUILTIN_NAMES: [&str; BuiltinName::COUNT] = [
|
|
"Debug",
|
|
"Math",
|
|
"String",
|
|
"Number",
|
|
"Boolean",
|
|
"Array",
|
|
"isFinite",
|
|
"isNaN",
|
|
"parseFloat",
|
|
"parseInt",
|
|
"Error",
|
|
"TypeError",
|
|
"RangeError",
|
|
];
|
|
|
|
pub const BUILTIN_COUNT: usize = BuiltinName::COUNT;
|
|
|
|
impl BuiltinName {
|
|
pub fn to_code(&self) -> usize {
|
|
*self as usize
|
|
}
|
|
}
|