data_faking/data/datetime/
weekday.rs1use 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};