1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
use crate::;
/// One rule of a [`Schedule`](crate::Schedule).
///
/// Each rule type converts into `Rule`, so
/// [`ScheduleBuilder::rule`](crate::ScheduleBuilder::rule) accepts any of
/// them directly.
///
/// # Examples
///
/// ```
/// use jiff::civil::{date, time};
/// use workclock::{Holidays, Rule, Schedule, ScheduleBuilder, Weekdays, WorkDay};
///
/// let rules: Vec<Rule> = vec![
/// WorkDay::new(time(9, 0, 0, 0), time(17, 0, 0, 0), Weekdays::MON_TO_FRI).into(),
/// Holidays::new([date(2026, 12, 25)]).into(),
/// ];
/// let schedule = rules
/// .into_iter()
/// .fold(Schedule::builder(), ScheduleBuilder::rule)
/// .build()?;
/// # Ok::<(), workclock::Error>(())
/// ```