use lazy_static::lazy_static;
use paltoquet::tokenizers::FingerprintTokenizer;
use crate::moonblade::types::{BoundArguments, DynamicValue};
use super::FunctionResult;
lazy_static! {
static ref FINGERPRINT_TOKENIZER: FingerprintTokenizer = FingerprintTokenizer::default();
}
pub fn fingerprint(args: BoundArguments) -> FunctionResult {
let string = args.get1().try_as_str()?;
Ok(DynamicValue::from(
FINGERPRINT_TOKENIZER.key(string.as_ref()),
))
}
pub fn apply_unidecode(args: BoundArguments) -> FunctionResult {
let arg = args.get1_str()?;
Ok(DynamicValue::from(unidecode::unidecode(&arg)))
}