data_faking/data/datetime/
weekday.rs

1use crate::utils::seeder;
2use wasm_bindgen::prelude::*;
3
4#[wasm_bindgen]
5pub fn weekday() -> String {
6  let weekday = WEEKDAYS[seeder::gen_range(0..WEEKDAYS_LEN)];
7  return weekday.full.to_string();
8}
9
10#[wasm_bindgen]
11pub fn weekday_abbr() -> String {
12  let weekday = WEEKDAYS[seeder::gen_range(0..WEEKDAYS_LEN)];
13  return weekday.short.to_string();
14}
15
16static WEEKDAYS: [&'static Weekday; 7] = [
17  &DAY_MON,
18  &DAY_TUE,
19  &DAY_WED,
20  &DAY_THU,
21  &DAY_FRI,
22  &DAY_SAT,
23  &DAY_SUN
24];
25static WEEKDAYS_LEN: usize = WEEKDAYS.len();
26
27struct Weekday<'a> {
28  full: &'a str,
29  short: &'a str,
30  day_of_week: u8,
31  day_of_week_iso8601: u8
32}
33
34static DAY_MON: Weekday = Weekday {
35  full: "Monday",
36  short: "Mon",
37  day_of_week: 2,
38  day_of_week_iso8601: 1
39};
40
41static DAY_TUE: Weekday = Weekday {
42  full: "Tuesday",
43  short: "Tue",
44  day_of_week: 3,
45  day_of_week_iso8601: 2
46};
47
48static DAY_WED: Weekday = Weekday {
49  full: "Wednesday",
50  short: "Wed",
51  day_of_week: 4,
52  day_of_week_iso8601: 3
53};
54
55static DAY_THU: Weekday = Weekday {
56  full: "Thursday",
57  short: "Thu",
58  day_of_week: 5,
59  day_of_week_iso8601: 4
60};
61
62static DAY_FRI: Weekday = Weekday {
63  full: "Friday",
64  short: "Fri",
65  day_of_week: 6,
66  day_of_week_iso8601: 5
67};
68
69static DAY_SAT: Weekday = Weekday {
70  full: "Saturday",
71  short: "Sat",
72  day_of_week: 7,
73  day_of_week_iso8601: 6
74};
75
76static DAY_SUN: Weekday = Weekday {
77  full: "Sunday",
78  short: "Sun",
79  day_of_week: 1,
80  day_of_week_iso8601: 7
81};