diff --git a/kDriveCore/Utils/Files/FileImportHelper.swift b/kDriveCore/Utils/Files/FileImportHelper.swift index 5640ce391..76d9afa97 100644 --- a/kDriveCore/Utils/Files/FileImportHelper.swift +++ b/kDriveCore/Utils/Files/FileImportHelper.swift @@ -26,21 +26,13 @@ import kDriveResources import Photos import RealmSwift -extension ItemProviderURLRepresentation { - var URLResult: Result { - get async { - let result = await result - switch result { - case .success((let url, _)): - return .success(url) - case .failure(let error): - return .failure(error) - } - } - } +// TODO: move to core +protocol ItemProviderResultable { + var result: Result<(url: URL, title: String), Error> { get async } + var URLResult: Result { get async } } -extension ItemProviderFileRepresentation { +extension ItemProviderResultable { var URLResult: Result { get async { let result = await result @@ -54,19 +46,11 @@ extension ItemProviderFileRepresentation { } } -extension ItemProviderZipRepresentation { - var URLResult: Result { - get async { - let result = await result - switch result { - case .success((let url, _)): - return .success(url) - case .failure(let error): - return .failure(error) - } - } - } -} +extension ItemProviderURLRepresentation: ItemProviderResultable {} + +extension ItemProviderFileRepresentation: ItemProviderResultable {} + +extension ItemProviderZipRepresentation: ItemProviderResultable {} public enum ImportError: LocalizedError { case accessDenied