@@ -11,7 +11,7 @@ const parserFormat = cron.Minute | cron.Hour | cron.Dow
11
11
12
12
var defaultParser = cron .NewParser (parserFormat )
13
13
14
- // WeeklySchedule represents a weekly cron schedule serializable to and from a string.
14
+ // CronSchedule represents a weekly cron schedule serializable to and from a string.
15
15
//
16
16
// Example Usage:
17
17
// local_sched, _ := cron.Parse("59 23 *")
@@ -20,31 +20,25 @@ var defaultParser = cron.NewParser(parserFormat)
20
20
// us_sched, _ := cron.Parse("CRON_TZ=US/Central 30 9 1-5")
21
21
// fmt.Println(sched.Next(time.Now()).Format(time.RFC3339))
22
22
// // Output: 2022-04-04T14:30:00Z
23
- type WeeklySchedule interface {
24
- String () string
25
- Next (time.Time ) time.Time
26
- }
27
23
28
- // cronSchedule is a thin wrapper for cron.SpecSchedule that implements Stringer.
29
- type cronSchedule struct {
24
+ // WeeklySchedule is a thin wrapper for cron.SpecSchedule that implements Stringer.
25
+ type WeeklySchedule struct {
30
26
sched * cron.SpecSchedule
31
27
// XXX: there isn't any nice way for robfig/cron to serialize
32
28
spec string
33
29
}
34
30
35
- var _ WeeklySchedule = (* cronSchedule )(nil )
36
-
37
31
// String serializes the schedule to its original human-friendly format.
38
- func (s cronSchedule ) String () string {
32
+ func (s WeeklySchedule ) String () string {
39
33
return s .spec
40
34
}
41
35
42
36
// Next returns the next time in the schedule relative to t.
43
- func (s cronSchedule ) Next (t time.Time ) time.Time {
37
+ func (s WeeklySchedule ) Next (t time.Time ) time.Time {
44
38
return s .sched .Next (t )
45
39
}
46
40
47
- func Parse (spec string ) (* cronSchedule , error ) {
41
+ func Parse (spec string ) (* WeeklySchedule , error ) {
48
42
specSched , err := defaultParser .Parse (spec )
49
43
if err != nil {
50
44
return nil , xerrors .Errorf ("parse schedule: %w" , err )
@@ -55,10 +49,9 @@ func Parse(spec string) (*cronSchedule, error) {
55
49
return nil , xerrors .Errorf ("expected *cron.SpecSchedule but got %T" , specSched )
56
50
}
57
51
58
- cronSched := & cronSchedule {
52
+ cronSched := & WeeklySchedule {
59
53
sched : schedule ,
60
54
spec : spec ,
61
55
}
62
56
return cronSched , nil
63
-
64
57
}
0 commit comments