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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
//! Patterns for recurring events.
pub use Combined;
pub use Cron;
pub use Daily;
pub use Interval;
use ;
/// Creates a cron recurrence pattern.
///
/// Unless further methods are called on the returned `Cron`, this will produce events at every
/// second.
///
/// # Example
///
/// ```
/// use jiff::ToSpan;
/// use recurring::pattern::cron;
///
/// let pattern = cron().second(10);
/// ```
/// Creates a recurrence pattern for events recurring on a fixed interval.
///
/// # Panics
///
/// Panics if `span` is negative or zero.
///
/// # Example
///
/// ```
/// use jiff::ToSpan;
/// use recurring::pattern::interval;
///
/// let every_day_and_a_half = interval(1.day().hours(12));
/// ```
/// Creates a recurrence pattern for events recurring on a per-second interval.
///
/// # Panics
///
/// Panics if `interval` is negative or zero.
///
/// # Example
///
/// ```
/// use recurring::pattern::secondly;
///
/// let every_ten_seconds = secondly(10);
/// ```
/// Creates a recurrence pattern for events recurring on a per-minute interval.
///
/// # Panics
///
/// Panics if `interval` is negative or zero.
///
/// # Example
///
/// ```
/// use recurring::pattern::minutely;
///
/// let every_thirty_minutes = minutely(30);
/// ```
/// Creates a recurrence pattern for events recurring on an hourly basis.
///
/// # Panics
///
/// Panics if `interval` is negative or zero.
///
/// # Example
///
/// ```
/// use recurring::pattern::hourly;
///
/// let every_twelve_hours = hourly(12);
/// ```
/// Creates a recurrence pattern for events recurring on a daily basis.
///
/// # Panics
///
/// Panics if `interval` is negative or zero.
///
/// # Example
///
/// ```
/// use recurring::pattern::daily;
///
/// let every_two_days = daily(2);
/// ```
/// Creates a recurrence pattern for events recurring on a monthly basis.
///
/// # Panics
///
/// Panics if `interval` is negative or zero.
///
/// # Example
///
/// ```
/// use recurring::pattern::monthly;
///
/// let every_three_months = monthly(3);
/// ```
/// Creates a recurrence pattern for events recurring on a yearly basis.
///
/// # Panics
///
/// Panics if `interval` is negative or zero.
///
/// # Example
///
/// ```
/// use recurring::pattern::yearly;
///
/// let every_five_years = yearly(5);
/// ```