data_faking/data/datetime/
month.rs

1use crate::utils::seeder;
2use chrono::Month;
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen]
6pub fn month() -> String {
7  let m = get_random_month();
8  if m.is_none() {
9    return "".to_string();
10  }
11
12  return m.unwrap().name().to_string();
13}
14
15#[wasm_bindgen]
16pub fn month_abbr() -> String {
17  let m = get_random_month();
18  if m.is_none() {
19    return "".to_string();
20  }
21
22  return m.unwrap().name().chars().take(3).collect::<String>();
23}
24
25#[wasm_bindgen]
26pub fn month_ordinal() -> String {
27  (seeder::gen_range(1..=12)).to_string()
28}
29
30#[wasm_bindgen]
31pub fn month_ordinal0() -> String {
32  seeder::gen_range(0..12).to_string()
33}
34
35fn get_random_month() -> Option<Month> {
36  let i: u8 = seeder::gen_range(1..=12);
37  match Month::try_from(i) {
38    Ok(m) => return Some(m),
39    Err(e) => {
40      println!("{}\n", e);
41      return None;
42    }
43  }
44}