@@ -30,10 +30,31 @@ actor DataModel {
30
30
extension DataModel {
31
31
32
32
struct UserDefaultsKey {
33
- static let updatedThings = " updatedThings "
34
33
static let historyToken = " historyToken "
35
34
}
36
35
36
+ func findUpdatedThingsWithCounts( ) -> [ Thing ] {
37
+ let updatedThings = findUpdatedThings ( )
38
+ return Array ( updatedThings)
39
+ }
40
+
41
+ private func findUpdatedThings( ) -> Set < Thing > {
42
+ let tokenData = UserDefaults . standard. data ( forKey: UserDefaultsKey . historyToken)
43
+
44
+ var historyToken : DefaultHistoryToken ? = nil
45
+ if let tokenData {
46
+ historyToken = try ? JSONDecoder ( ) . decode ( DefaultHistoryToken . self, from: tokenData)
47
+ }
48
+ let transactions = findTransactions ( after: historyToken, author: TransactionAuthor . widget)
49
+ let ( updatedThings, newToken) = findThings ( in: transactions)
50
+
51
+ if let newToken {
52
+ let newTokenData = try ? JSONEncoder ( ) . encode ( newToken)
53
+ UserDefaults . standard. set ( newTokenData, forKey: UserDefaultsKey . historyToken)
54
+ }
55
+ return updatedThings
56
+ }
57
+
37
58
private func findTransactions( after token: DefaultHistoryToken ? , author: String ) -> [ DefaultHistoryTransaction ] {
38
59
39
60
var historyDescriptor = HistoryDescriptor < DefaultHistoryTransaction > ( )
@@ -82,26 +103,4 @@ extension DataModel {
82
103
}
83
104
return ( resultThings, transactions. last? . token)
84
105
}
85
-
86
- private func findUpdatedThings( ) -> Set < Thing > {
87
- let tokenData = UserDefaults . standard. data ( forKey: UserDefaultsKey . historyToken)
88
-
89
- var historyToken : DefaultHistoryToken ? = nil
90
- if let tokenData {
91
- historyToken = try ? JSONDecoder ( ) . decode ( DefaultHistoryToken . self, from: tokenData)
92
- }
93
- let transactions = findTransactions ( after: historyToken, author: TransactionAuthor . widget)
94
- let ( updatedThings, newToken) = findThings ( in: transactions)
95
-
96
- if let newToken {
97
- let newTokenData = try ? JSONEncoder ( ) . encode ( newToken)
98
- UserDefaults . standard. set ( newTokenData, forKey: UserDefaultsKey . historyToken)
99
- }
100
- return updatedThings
101
- }
102
-
103
- func findUpdatedThingsWithCounts( ) -> [ Thing ] {
104
- let updatedThings = findUpdatedThings ( )
105
- return Array ( updatedThings)
106
- }
107
106
}
0 commit comments