Commit b2db420 1 parent de6a4df commit b2db420 Copy full SHA for b2db420
File tree 3 files changed +8
-13
lines changed
3 files changed +8
-13
lines changed Original file line number Diff line number Diff line change @@ -6,7 +6,7 @@ enum Main {
6
6
start: Date ,
7
7
end: Date ,
8
8
opts: SharedOptions ,
9
- eventSelector: ( [ EKEvent ] ) -> [ EKEvent ]
9
+ eventSelector: ( [ Event ] ) -> [ Event ]
10
10
) {
11
11
Log . setDebug ( opts. debug)
12
12
@@ -26,13 +26,12 @@ enum Main {
26
26
maxNumAttendees: opts. maxNumAttendees
27
27
)
28
28
29
- let events = EventStore ( ) . fetch (
29
+ let events = eventSelector ( EventStore ( ) . fetch (
30
30
start: start,
31
31
end: end,
32
32
calendarFilter: calendarFilter,
33
- eventFilter: eventFilter,
34
- eventSelector: eventSelector
35
- ) . sorted { $0. schedule. end. inMinutes > $1. schedule. end. inMinutes }
33
+ eventFilter: eventFilter
34
+ ) ) . sorted { $0. schedule. end. inMinutes > $1. schedule. end. inMinutes }
36
35
37
36
if opts. templatePath. isEmpty {
38
37
events. printAsJson ( )
Original file line number Diff line number Diff line change @@ -44,15 +44,13 @@ struct EventStore {
44
44
/// - end: Maximum start date of event
45
45
/// - calendarFilter: A filter to select certain calendars
46
46
/// - eventFilter: A filter to select certain events
47
- /// - eventSelector: Manipulate array of events after fetching and filtering; e.g. for sorting
48
47
///
49
48
/// - Returns: a list of events
50
49
func fetch(
51
50
start: Date ,
52
51
end: Date ,
53
52
calendarFilter: ( PlanCalendar ) -> Bool ,
54
- eventFilter: ( Event ) -> Bool ,
55
- eventSelector: ( [ EKEvent ] ) -> [ EKEvent ]
53
+ eventFilter: ( Event ) -> Bool
56
54
) -> [ Event ] {
57
55
let eventStore = grantAccess ( )
58
56
@@ -73,7 +71,7 @@ struct EventStore {
73
71
calendars: calendars
74
72
)
75
73
76
- return eventSelector ( eventStore. events ( matching: predicate) )
74
+ return eventStore. events ( matching: predicate)
77
75
. map { event in
78
76
event. asEvent ( )
79
77
}
Original file line number Diff line number Diff line change 1
- import EventKit
2
-
3
1
class EventSelector {
4
- static func all( ) -> ( ( [ EKEvent ] ) -> [ EKEvent ] ) {
2
+ static func all( ) -> ( ( [ Event ] ) -> [ Event ] ) {
5
3
{ events in
6
4
events
7
5
}
8
6
}
9
7
10
- static func prefix( count: Int ) -> ( ( [ EKEvent ] ) -> [ EKEvent ] ) {
8
+ static func prefix( count: Int ) -> ( ( [ Event ] ) -> [ Event ] ) {
11
9
{ events in
12
10
Array ( events. prefix ( count) )
13
11
}
You can’t perform that action at this time.
0 commit comments