@@ -58,7 +58,7 @@ public final class PersistentHistoryTrackingKit {
5858 let fetcher : Fetcher
5959
6060 /// 合并transaction到指定的托管对象上下文中(contexts)
61- let merger : Merger
61+ let merger : TransactionMergerProtocol
6262
6363 /// 删除transaction中重复数据
6464 let deduplicator : TransactionDeduplicatorProtocol ?
@@ -193,6 +193,7 @@ public final class PersistentHistoryTrackingKit {
193193
194194 init ( logLevel: Int ,
195195 strategy: TransactionCleanStrategy ,
196+ merger: TransactionMergerProtocol ,
196197 deduplicator: TransactionDeduplicatorProtocol ? ,
197198 currentAuthor: String ,
198199 allAuthors: [ String ] ,
@@ -243,7 +244,7 @@ public final class PersistentHistoryTrackingKit {
243244 includingCloudKitMirroring: includingCloudKitMirroring
244245 )
245246
246- self . merger = Merger ( )
247+ self . merger = merger
247248 self . deduplicator = deduplicator
248249 self . cleaner = Cleaner ( backgroundContext: backgroundContext, authors: allAuthors)
249250 self . timestampManager = TransactionTimestampManager ( userDefaults: userDefaults, maximumDuration: maximumDuration, uniqueString: uniqueString)
@@ -320,6 +321,7 @@ public extension PersistentHistoryTrackingKit {
320321 batchAuthors: [ String ] = [ ] ,
321322 userDefaults: UserDefaults ,
322323 cleanStrategy: TransactionCleanStrategy = . byNotification( times: 1 ) ,
324+ merger: TransactionMergerProtocol ? = nil ,
323325 deduplicator: TransactionDeduplicatorProtocol ? = nil ,
324326 maximumDuration: TimeInterval = 60 * 60 * 24 * 7 ,
325327 uniqueString: String = " PersistentHistoryTrackingKit.lastToken. " ,
@@ -330,6 +332,7 @@ public extension PersistentHistoryTrackingKit {
330332 let logger = logger ?? DefaultLogger ( )
331333 self . init ( logLevel: logLevel,
332334 strategy: cleanStrategy,
335+ merger: merger ?? Merger ( ) ,
333336 deduplicator: deduplicator,
334337 currentAuthor: currentAuthor,
335338 allAuthors: allAuthors,
@@ -353,6 +356,7 @@ public extension PersistentHistoryTrackingKit {
353356 batchAuthors: [ String ] = [ ] ,
354357 userDefaults: UserDefaults ,
355358 cleanStrategy: TransactionCleanStrategy = . byNotification( times: 1 ) ,
359+ merger: TransactionMergerProtocol ? = nil ,
356360 deduplicator: TransactionDeduplicatorProtocol ? = nil ,
357361 maximumDuration: TimeInterval = 60 * 60 * 24 * 7 ,
358362 uniqueString: String = " PersistentHistoryTrackingKit.lastToken. " ,
@@ -364,6 +368,7 @@ public extension PersistentHistoryTrackingKit {
364368 let logger = logger ?? DefaultLogger ( )
365369 self . init ( logLevel: logLevel,
366370 strategy: cleanStrategy,
371+ merger: merger ?? Merger ( ) ,
367372 deduplicator: deduplicator,
368373 currentAuthor: currentAuthor,
369374 allAuthors: allAuthors,
0 commit comments