use wasm_bindgen::prelude::*;
#[cfg(test)]
mod tests {
#[test]
fn it_works() {
assert_eq!(2 + 2, 4);
}
}
#[wasm_bindgen]
pub fn gen() -> String {
let sep = ' ';
let mut buf = [0u8; 2];
getrandom::getrandom(&mut buf).unwrap();
let a = buf[0] as usize % NAMES.len() as usize;
let mut out = String::from(NAMES[a]);
if out.ends_with('ه') || out.ends_with('و') {
out.push('');
out.push('ی');
}
out.push(sep);
let b = buf[1] as usize % ADJECTIVES.len();
out.push_str(ADJECTIVES[b]);
return out;
}
#[wasm_bindgen]
extern "C" {
fn alert(s: &str);
}
#[wasm_bindgen]
pub fn greet() {
alert(gen().as_str())
}
const NAMES: &[&str] = &[
"گوشدراز",
"جوجه",
"پشه",
"سیبزمینی",
"پرنده",
"حلزون",
"خرگوش",
"اسب",
"طوطی",
"گوزن",
"آهو",
"فیل",
"مورچه",
"مورچهخوار",
"موش",
"گربه",
"سگ",
"ماهی",
"مرغدریایی",
"خرگوش",
"اسب آبی",
"فیل آبی",
"زرافه",
"اختاپوس",
"دلقک",
"کرگردن",
"مهاجر",
"مترسک",
"شاپرک",
"کبوتر",
"پروانه",
"قورباغه",
"شاهین",
"سیمرغ",
"سنجاب",
"یوز",
"قرقی",
"تمساح",
"برنامهنویس",
"هکر",
"دارکوب",
"زنبور",
"ساقی",
"میمونک",
];
const ADJECTIVES: &[&str] = &[
"هشیار",
"دیوانه",
"پرمشغله",
"خوشفکر",
"مبهوت",
"دوستداشتنی",
"خسته",
"کنجکاو",
"نابغه",
"نگران",
"امیدوار",
"چالاک",
"مهربان",
"چابک",
"تیزپا",
"هوشمند",
"شاعر",
"غولپیکر",
"بیهمتا",
"بینظیر",
"خجالتی",
"سیریناپذیر",
"زیبا",
"اندیشمند",
"صبور",
"سحرآمیز",
"بردبار",
"دلسوز",
"زودرنج",
"خوشمشرب",
"گشادهرو",
"جدی",
"شجاع",
"دست و دلباز",
"پرحرف",
"بانمک",
"چربزبان",
"خوشرو",
"خوششانس",
"خوشاقبال",
"شوخطبع",
"خوابآلو",
"خردمند",
"مشکوک",
"بذلهگو",
"جذاب",
"حواسپرت",
"غمگین",
"باوفا",
"وفادار",
"مؤمن",
"فناناپذیر",
"تودلبرو",
"افسانهای",
"باسابقه",
"خوشنام",
"جسور",
"خستگیناپذیر",
"ریزنقش",
"بلندپرواز",
"جسور",
"بیپروا",
"تسلیمناپذیر",
"سمج",
"کوچولو",
"توانا",
"بازیگوش",
];