use crate::script::*;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[non_exhaustive]
pub enum Pick {
Any,
None,
Unproductive,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct ScriptPick;
impl crate::value::literal::TokenLiteral for Pick {
fn token_literal(&self) -> String {
match self {
Pick::Any => "Pick.any",
Pick::None => "Pick.none",
Pick::Unproductive => "Pick.unproductive",
}
.to_string()
}
}
#[export_module]
#[allow(non_snake_case, non_upper_case_globals)]
pub(crate) mod PickModule {
use super::Pick;
use crate::value::literal::TokenLiteral;
pub const Any: Pick = Pick::Any;
pub const None: Pick = Pick::None;
pub const Unproductive: Pick = Pick::Unproductive;
#[rhai_fn(global, name = "to_string", name = "to_debug", pure)]
pub fn to_string(pick: &mut Pick) -> String {
pick.token_literal()
}
}