Split metadata parsing to complete enumerator into own function
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Sat, 18 Mar 2023 15:27:32 +0000 (16:27 +0100)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Fri, 12 May 2023 05:29:56 +0000 (13:29 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderEnumerator.swift

index 0109136759cde0da19959008624fd28892ed7f4d..6ae51e77f3d38f818556e95e6bbdb0c03d95ebf8 100644 (file)
@@ -292,8 +292,7 @@ class FileProviderEnumerator: NSObject, NSFileProviderEnumerator {
 
     // MARK: - Helper methods
 
-    private static func completeEnumerationObserver(_ observer: NSFileProviderEnumerationObserver, ncKit: NextcloudKit, numPage: Int, itemMetadatas: [NextcloudItemMetadataTable]) {
-
+    private static func metadatasToFileProviderItems(_ itemMetadatas: [NextcloudItemMetadataTable], ncKit: NextcloudKit) -> [NSFileProviderItem] {
         var items: [NSFileProviderItem] = []
 
         for itemMetadata in itemMetadatas {
@@ -311,6 +310,12 @@ class FileProviderEnumerator: NSObject, NSFileProviderEnumerator {
             }
         }
 
+        return items
+    }
+
+    private static func completeEnumerationObserver(_ observer: NSFileProviderEnumerationObserver, ncKit: NextcloudKit, numPage: Int, itemMetadatas: [NextcloudItemMetadataTable]) {
+
+        let items = FileProviderEnumerator.metadatasToFileProviderItems(itemMetadatas, ncKit: ncKit)
         observer.didEnumerate(items)
         Logger.enumeration.info("Did enumerate \(items.count) items")