From 11dea3d8bb98f05002f55ed010cf7877fe474c4b Mon Sep 17 00:00:00 2001 From: Bruno Muniz Azevedo Filho <bruno@elixxir.io> Date: Sat, 12 Nov 2022 03:36:14 -0300 Subject: [PATCH] using di repository --- Package.swift | 52 ++++++++----------- Sources/App/AppDelegate.swift | 14 ++--- Sources/App/DependencyRegistrator.swift | 4 +- Sources/App/PushRouter.swift | 8 +-- .../Controllers/BackupConfigController.swift | 2 +- .../Controllers/BackupController.swift | 2 +- .../Controllers/BackupSetupController.swift | 2 +- .../BackupFeature/Service/BackupService.swift | 2 +- .../ViewModels/BackupConfigViewModel.swift | 2 +- .../ViewModels/BackupSFTPViewModel.swift | 2 +- .../ViewModels/BackupSetupViewModel.swift | 2 +- .../ViewModels/BackupViewModel.swift | 2 +- .../Controllers/GroupChatController.swift | 4 +- .../Controllers/SingleChatController.swift | 4 +- .../ViewModels/GroupChatViewModel.swift | 2 +- .../ViewModels/SingleChatViewModel.swift | 2 +- .../Controller/ChatListController.swift | 2 +- .../ChatListSearchTableController.swift | 2 +- .../Controller/ChatListTableController.swift | 2 +- .../ViewModel/ChatListViewModel.swift | 2 +- .../Controllers/ContactController.swift | 2 +- .../ViewModels/ContactViewModel.swift | 2 +- .../Controllers/ContactListController.swift | 2 +- .../Controllers/CreateGroupController.swift | 2 +- .../ViewModels/ContactListViewModel.swift | 2 +- .../ViewModels/CreateGroupViewModel.swift | 2 +- Sources/Countries/CountryListController.swift | 2 +- Sources/Defaults/KeyObject.swift | 2 +- Sources/DependencyInjection/Container.swift | 27 ---------- .../DependencyPropertyWrapper.swift | 20 ------- .../UnregisteredDependencyError.swift | 11 ---- Sources/LaunchFeature/LaunchController.swift | 2 +- .../LaunchViewModel+Database.swift | 8 +-- .../LaunchViewModel+Messenger.swift | 8 +-- Sources/LaunchFeature/LaunchViewModel.swift | 2 +- .../Controllers/MenuController.swift | 2 +- .../ViewModels/MenuViewModel.swift | 2 +- .../OnboardingCodeController.swift | 2 +- .../OnboardingEmailController.swift | 2 +- .../OnboardingPhoneController.swift | 2 +- .../OnboardingStartController.swift | 2 +- .../OnboardingUsernameController.swift | 2 +- .../OnboardingWelcomeController.swift | 2 +- .../ViewModels/OnboardingCodeViewModel.swift | 2 +- .../ViewModels/OnboardingEmailViewModel.swift | 2 +- .../ViewModels/OnboardingPhoneViewModel.swift | 2 +- .../OnboardingUsernameViewModel.swift | 2 +- .../RequestPermissionController.swift | 2 +- .../Controllers/ProfileCodeController.swift | 2 +- .../Controllers/ProfileController.swift | 2 +- .../Controllers/ProfileEmailController.swift | 2 +- .../Controllers/ProfilePhoneController.swift | 2 +- .../ViewModels/ProfileCodeViewModel.swift | 2 +- .../ViewModels/ProfileEmailViewModel.swift | 2 +- .../ViewModels/ProfilePhoneViewModel.swift | 2 +- .../ViewModels/ProfileViewModel.swift | 2 +- Sources/PushFeature/PushExtractor.swift | 2 +- Sources/PushFeature/PushHandler.swift | 2 +- .../RequestsContainerController.swift | 2 +- .../RequestsFailedController.swift | 2 +- .../RequestsReceivedController.swift | 2 +- .../Controllers/RequestsSentController.swift | 2 +- .../ViewModels/RequestsFailedViewModel.swift | 2 +- .../RequestsReceivedViewModel.swift | 2 +- .../ViewModels/RequestsSentViewModel.swift | 2 +- .../Controllers/RestoreController.swift | 2 +- .../Controllers/RestoreListController.swift | 2 +- .../Controllers/RestoreSFTPController.swift | 2 +- .../RestoreSuccessController.swift | 2 +- .../ViewModels/RestoreListViewModel.swift | 2 +- .../ViewModels/RestoreSFTPViewModel.swift | 2 +- .../ViewModels/RestoreViewModel.swift | 2 +- .../Controllers/ScanContainerController.swift | 2 +- .../Controllers/ScanController.swift | 2 +- .../ViewModels/ScanDisplayViewModel.swift | 2 +- .../ViewModels/ScanViewModel.swift | 2 +- .../SearchContainerController.swift | 2 +- .../Controllers/SearchLeftController.swift | 2 +- .../Controllers/SearchRightController.swift | 2 +- .../ViewModels/SearchContainerViewModel.swift | 2 +- .../ViewModels/SearchLeftViewModel.swift | 2 +- .../ViewModels/SearchRightViewModel.swift | 2 +- .../Controllers/AccountDeleteController.swift | 2 +- .../SettingsAdvancedController.swift | 2 +- .../Controllers/SettingsController.swift | 2 +- .../ViewModels/AccountDeleteViewModel.swift | 2 +- .../SettingsAdvancedViewModel.swift | 2 +- .../ViewModels/SettingsViewModel.swift | 2 +- .../Controllers/RootViewController.swift | 2 +- .../TermsConditionsController.swift | 2 +- Sources/XXNavigation/Chat/PresentChat.swift | 2 +- .../XXNavigation/Chat/PresentChatList.swift | 2 +- .../XXNavigation/Chat/PresentGroupChat.swift | 2 +- .../XXNavigation/Chat/PresentNewGroup.swift | 2 +- .../XXNavigation/Contact/PresentContact.swift | 2 +- .../Contact/PresentContactList.swift | 2 +- .../Onboarding/PresentOnboardingCode.swift | 2 +- .../Onboarding/PresentOnboardingEmail.swift | 2 +- .../Onboarding/PresentOnboardingPhone.swift | 2 +- .../Onboarding/PresentOnboardingStart.swift | 2 +- .../PresentOnboardingUsername.swift | 2 +- .../Onboarding/PresentOnboardingWelcome.swift | 2 +- .../PresentTermsAndConditions.swift | 2 +- .../XXNavigation/PresentActivitySheet.swift | 2 +- Sources/XXNavigation/PresentCountryList.swift | 2 +- Sources/XXNavigation/PresentDrawer.swift | 2 +- Sources/XXNavigation/PresentMenu.swift | 2 +- .../PresentPermissionRequest.swift | 2 +- .../XXNavigation/PresentPhotoLibrary.swift | 2 +- Sources/XXNavigation/PresentScan.swift | 2 +- Sources/XXNavigation/PresentSearch.swift | 2 +- .../XXNavigation/Profile/PresentProfile.swift | 2 +- .../Profile/PresentProfileCode.swift | 2 +- .../Profile/PresentProfileEmail.swift | 2 +- .../Profile/PresentProfilePhone.swift | 2 +- .../RestoreAndBackup/PresentRequests.swift | 2 +- .../RestoreAndBackup/PresentRestoreList.swift | 2 +- .../Settings/PresentSettings.swift | 2 +- .../PresentSettingsAccountDelete.swift | 2 +- .../Settings/PresentSettingsAdvanced.swift | 2 +- .../Settings/PresentSettingsBackup.swift | 2 +- Tests/DefaultsTests/KeyObjectTests.swift | 2 +- .../ContainerTests.swift | 33 ------------ .../DependencyPropertyWrapperTests.swift | 20 ------- Tests/ThemeTests/ThemeTests.swift | 2 +- .../xcshareddata/swiftpm/Package.resolved | 9 ++++ 126 files changed, 169 insertions(+), 277 deletions(-) delete mode 100644 Sources/DependencyInjection/Container.swift delete mode 100644 Sources/DependencyInjection/DependencyPropertyWrapper.swift delete mode 100644 Sources/DependencyInjection/UnregisteredDependencyError.swift delete mode 100644 Tests/DependencyInjectionTests/ContainerTests.swift delete mode 100644 Tests/DependencyInjectionTests/DependencyPropertyWrapperTests.swift diff --git a/Package.swift b/Package.swift index 5bf030c0..e9456bac 100644 --- a/Package.swift +++ b/Package.swift @@ -42,8 +42,7 @@ let package = Package( .library(name: "ChatInputFeature", targets: ["ChatInputFeature"]), .library(name: "OnboardingFeature", targets: ["OnboardingFeature"]), .library(name: "ContactListFeature", targets: ["ContactListFeature"]), - .library(name: "DependencyInjection", targets: ["DependencyInjection"]), - .library(name: "ReportingFeature", targets: ["ReportingFeature"]), + .library(name: "ReportingFeature", targets: ["ReportingFeature"]) ], dependencies: [ .package( @@ -125,6 +124,10 @@ let package = Package( url: "https://github.com/pointfreeco/xctest-dynamic-overlay.git", .upToNextMajor(from: "0.3.3") ), + .package( + url: "https://git.xx.network/elixxir/xxm-di.git", + .upToNextMajor(from: "1.0.0") + ) ], targets: [ .target( @@ -173,15 +176,6 @@ let package = Package( .target( name: "VersionChecking" ), - .target( - name: "DependencyInjection" - ), - .testTarget( - name: "DependencyInjectionTests", - dependencies: [ - .target(name: "DependencyInjection"), - ] - ), .target( name: "InputField", dependencies: [ @@ -193,14 +187,14 @@ let package = Package( dependencies: [ .target(name: "Shared"), .target(name: "XXNavigation"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), ] ), .target( name: "XXNavigation", dependencies: [ .target(name: "DrawerFeature"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), .product(name: "Navigation", package: "Navigation"), .product(name: "XXModels", package: "client-ios-db"), ] @@ -210,7 +204,7 @@ let package = Package( dependencies: [ .target(name: "Defaults"), .target(name: "ReportingFeature"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), .product(name: "XXDatabase", package: "client-ios-db"), .product(name: "XXClient", package: "elixxir-dapps-sdk-swift"), .product(name: "XXMessengerClient", package: "elixxir-dapps-sdk-swift"), @@ -231,7 +225,7 @@ let package = Package( .target( name: "Defaults", dependencies: [ - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), ] ), .target( @@ -246,7 +240,7 @@ let package = Package( dependencies: [ .target(name: "Shared"), .target(name: "XXNavigation"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), ] ), .target( @@ -306,7 +300,7 @@ let package = Package( .target(name: "Shared"), .target(name: "Presentation"), .target(name: "XXNavigation"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), .product(name: "XXDatabase", package: "client-ios-db"), .product(name: "XXClient", package: "elixxir-dapps-sdk-swift"), .product(name: "CloudFilesDrive", package: "xxm-cloud-providers"), @@ -339,7 +333,7 @@ let package = Package( .target(name: "DrawerFeature"), .target(name: "ChatInputFeature"), .target(name: "ReportingFeature"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), .product(name: "ChatLayout", package: "ChatLayout"), .product(name: "DifferenceKit", package: "DifferenceKit"), .product(name: "XXClient", package: "elixxir-dapps-sdk-swift"), @@ -356,7 +350,7 @@ let package = Package( .target(name: "Presentation"), .target(name: "ContactFeature"), .target(name: "NetworkMonitor"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), .product(name: "Retry", package: "Retry"), .product(name: "XXDatabase", package: "client-ios-db"), ] @@ -371,7 +365,7 @@ let package = Package( .target(name: "BackupFeature"), .target(name: "VersionChecking"), .target(name: "ReportingFeature"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), .product(name: "XXClient", package: "elixxir-dapps-sdk-swift"), .product(name: "CloudFilesSFTP", package: "xxm-cloud-providers"), .product(name: "CombineSchedulers", package: "combine-schedulers"), @@ -394,7 +388,7 @@ let package = Package( dependencies: [ .target(name: "Shared"), .target(name: "ContactFeature"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), .product(name: "DifferenceKit", package: "DifferenceKit"), ] ), @@ -411,7 +405,7 @@ let package = Package( .target(name: "Presentation"), .target(name: "DrawerFeature"), .target(name: "BackupFeature"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), .product(name: "CombineSchedulers", package: "combine-schedulers"), .product(name: "ScrollViewController", package: "ScrollViewController"), .product(name: "XXClient", package: "elixxir-dapps-sdk-swift"), @@ -429,7 +423,7 @@ let package = Package( .target(name: "ProfileFeature"), .target(name: "SettingsFeature"), .target(name: "ContactListFeature"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), .product(name: "DifferenceKit", package: "DifferenceKit"), ] ), @@ -446,7 +440,7 @@ let package = Package( .target(name: "Presentation"), .target(name: "DrawerFeature"), .target(name: "VersionChecking"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), .product(name: "CombineSchedulers", package: "combine-schedulers"), .product(name: "ScrollViewController", package: "ScrollViewController"), ] @@ -460,7 +454,7 @@ let package = Package( .target(name: "XXNavigation"), .target(name: "DrawerFeature"), .target(name: "ReportingFeature"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), .product(name: "XXClient", package: "elixxir-dapps-sdk-swift"), ] ), @@ -472,7 +466,7 @@ let package = Package( .target(name: "Presentation"), .target(name: "DrawerFeature"), .target(name: "NetworkMonitor"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), .product(name: "XXClient", package: "elixxir-dapps-sdk-swift"), .product(name: "CloudFilesSFTP", package: "xxm-cloud-providers"), .product(name: "CloudFilesDrive", package: "xxm-cloud-providers"), @@ -490,7 +484,7 @@ let package = Package( .target(name: "Presentation"), .target(name: "ContactFeature"), .target(name: "NetworkMonitor"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), .product(name: "SnapKit", package: "SnapKit"), ] ), @@ -500,7 +494,7 @@ let package = Package( .target(name: "Shared"), .target(name: "Presentation"), .target(name: "ContactFeature"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), .product(name: "DifferenceKit", package: "DifferenceKit"), ] ), @@ -517,7 +511,7 @@ let package = Package( .target(name: "MenuFeature"), .target(name: "Presentation"), .target(name: "DrawerFeature"), - .target(name: "DependencyInjection"), + .product(name: "DependencyInjection", package: "xxm-di"), .product(name: "CombineSchedulers", package: "combine-schedulers"), .product(name: "ScrollViewController", package: "ScrollViewController"), ] diff --git a/Sources/App/AppDelegate.swift b/Sources/App/AppDelegate.swift index ec35ad28..2b3b6e9a 100644 --- a/Sources/App/AppDelegate.swift +++ b/Sources/App/AppDelegate.swift @@ -6,7 +6,7 @@ import Defaults import PushFeature import LaunchFeature import CrashReporting -import DependencyInjection +import DI import XXModels import XXLogger @@ -54,7 +54,7 @@ public class AppDelegate: UIResponder, UIApplicationDelegate { DependencyRegistrator.registerNavigators(navController) - DependencyInjection.Container.shared.register( + DI.Container.shared.register( PushRouter.live(navigationController: navController) ) return true @@ -65,8 +65,8 @@ public class AppDelegate: UIResponder, UIApplicationDelegate { } public func applicationDidEnterBackground(_ application: UIApplication) { - if let messenger = try? DependencyInjection.Container.shared.resolve() as Messenger, - let database = try? DependencyInjection.Container.shared.resolve() as Database, + if let messenger = try? DI.Container.shared.resolve() as Messenger, + let database = try? DI.Container.shared.resolve() as Database, let cMix = try? messenger.cMix.tryGet() { let backgroundTask = application.beginBackgroundTask(withName: "xx.stop.network") {} @@ -111,7 +111,7 @@ public class AppDelegate: UIResponder, UIApplicationDelegate { } public func applicationWillTerminate(_ application: UIApplication) { - if let messenger = try? DependencyInjection.Container.shared.resolve() as Messenger { + if let messenger = try? DI.Container.shared.resolve() as Messenger { try? messenger.stop() } } @@ -123,7 +123,7 @@ public class AppDelegate: UIResponder, UIApplicationDelegate { print(">>> Invalidated background timer") } - if let messenger = try? DependencyInjection.Container.shared.resolve() as Messenger, + if let messenger = try? DI.Container.shared.resolve() as Messenger, let cMix = messenger.cMix.get() { guard self.calledStopNetwork == true else { return } try? cMix.startNetworkFollower(timeoutMS: 10_000) @@ -153,7 +153,7 @@ public class AppDelegate: UIResponder, UIApplicationDelegate { guard userActivity.activityType == NSUserActivityTypeBrowsingWeb, let incomingURL = userActivity.webpageURL, let username = getUsernameFromInvitationDeepLink(incomingURL), - let router = try? DependencyInjection.Container.shared.resolve() as PushRouter else { + let router = try? DI.Container.shared.resolve() as PushRouter else { return false } diff --git a/Sources/App/DependencyRegistrator.swift b/Sources/App/DependencyRegistrator.swift index dfa60146..787aa378 100644 --- a/Sources/App/DependencyRegistrator.swift +++ b/Sources/App/DependencyRegistrator.swift @@ -20,7 +20,7 @@ import CrashReporting import NetworkMonitor import VersionChecking import ReportingFeature -import DependencyInjection +import DI // MARK: UI Features @@ -48,7 +48,7 @@ import KeychainAccess import XXMessengerClient struct DependencyRegistrator { - static private let container = DependencyInjection.Container.shared + static private let container = DI.Container.shared static func registerDependencies() { #if DEBUG diff --git a/Sources/App/PushRouter.swift b/Sources/App/PushRouter.swift index 65536c16..acebc7b3 100644 --- a/Sources/App/PushRouter.swift +++ b/Sources/App/PushRouter.swift @@ -5,7 +5,7 @@ import SearchFeature import LaunchFeature import ChatListFeature import RequestsFeature -import DependencyInjection +import DI import XXModels import XXMessengerClient @@ -21,7 +21,7 @@ extension PushRouter { navigationController.setViewControllers([RequestsContainerController()], animated: true) } case .search(username: let username): - if let messenger = try? DependencyInjection.Container.shared.resolve() as Messenger, + if let messenger = try? DI.Container.shared.resolve() as Messenger, let _ = try? messenger.ud.get()?.getContact() { if !(navigationController.viewControllers.last is SearchContainerController) { navigationController.setViewControllers([ @@ -33,7 +33,7 @@ extension PushRouter { } } case .contactChat(id: let id): - if let database: Database = try? DependencyInjection.Container.shared.resolve(), + if let database: Database = try? DI.Container.shared.resolve(), let contact = try? database.fetchContacts(.init(id: [id])).first { navigationController.setViewControllers([ ChatListController(), @@ -41,7 +41,7 @@ extension PushRouter { ], animated: true) } case .groupChat(id: let id): - if let database: Database = try? DependencyInjection.Container.shared.resolve(), + if let database: Database = try? DI.Container.shared.resolve(), let info = try? database.fetchGroupInfos(.init(groupId: id)).first { navigationController.setViewControllers([ ChatListController(), diff --git a/Sources/BackupFeature/Controllers/BackupConfigController.swift b/Sources/BackupFeature/Controllers/BackupConfigController.swift index 79cbd438..3a8cdb14 100644 --- a/Sources/BackupFeature/Controllers/BackupConfigController.swift +++ b/Sources/BackupFeature/Controllers/BackupConfigController.swift @@ -4,7 +4,7 @@ import Combine import CloudFiles import XXNavigation import DrawerFeature -import DependencyInjection +import DI final class BackupConfigController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/BackupFeature/Controllers/BackupController.swift b/Sources/BackupFeature/Controllers/BackupController.swift index a996d324..aa5b7e8d 100644 --- a/Sources/BackupFeature/Controllers/BackupController.swift +++ b/Sources/BackupFeature/Controllers/BackupController.swift @@ -1,7 +1,7 @@ import UIKit import Shared import Combine -import DependencyInjection +import DI public final class BackupController: UIViewController { private let viewModel = BackupViewModel.live() diff --git a/Sources/BackupFeature/Controllers/BackupSetupController.swift b/Sources/BackupFeature/Controllers/BackupSetupController.swift index a9600531..efb0cab4 100644 --- a/Sources/BackupFeature/Controllers/BackupSetupController.swift +++ b/Sources/BackupFeature/Controllers/BackupSetupController.swift @@ -1,6 +1,6 @@ import UIKit import Combine -import DependencyInjection +import DI final class BackupSetupController: UIViewController { private lazy var screenView = BackupSetupView() diff --git a/Sources/BackupFeature/Service/BackupService.swift b/Sources/BackupFeature/Service/BackupService.swift index 18e057f0..2d5e9989 100644 --- a/Sources/BackupFeature/Service/BackupService.swift +++ b/Sources/BackupFeature/Service/BackupService.swift @@ -7,7 +7,7 @@ import CloudFilesSFTP import NetworkMonitor import KeychainAccess import XXMessengerClient -import DependencyInjection +import DI public final class BackupService { @Dependency var messenger: Messenger diff --git a/Sources/BackupFeature/ViewModels/BackupConfigViewModel.swift b/Sources/BackupFeature/ViewModels/BackupConfigViewModel.swift index edaf65b5..d8e916d4 100644 --- a/Sources/BackupFeature/ViewModels/BackupConfigViewModel.swift +++ b/Sources/BackupFeature/ViewModels/BackupConfigViewModel.swift @@ -5,7 +5,7 @@ import XXClient import Defaults import Foundation -import DependencyInjection +import DI import CloudFiles import XXNavigation diff --git a/Sources/BackupFeature/ViewModels/BackupSFTPViewModel.swift b/Sources/BackupFeature/ViewModels/BackupSFTPViewModel.swift index 14931edd..80cdb784 100644 --- a/Sources/BackupFeature/ViewModels/BackupSFTPViewModel.swift +++ b/Sources/BackupFeature/ViewModels/BackupSFTPViewModel.swift @@ -6,7 +6,7 @@ import Combine import Foundation import CloudFiles import CloudFilesSFTP -import DependencyInjection +import DI struct SFTPViewState { var host: String = "" diff --git a/Sources/BackupFeature/ViewModels/BackupSetupViewModel.swift b/Sources/BackupFeature/ViewModels/BackupSetupViewModel.swift index 0d44658b..35575aff 100644 --- a/Sources/BackupFeature/ViewModels/BackupSetupViewModel.swift +++ b/Sources/BackupFeature/ViewModels/BackupSetupViewModel.swift @@ -2,7 +2,7 @@ import UIKit import Shared import Combine import CloudFiles -import DependencyInjection +import DI struct BackupSetupViewModel { var didTapService: (CloudService, UIViewController) -> Void diff --git a/Sources/BackupFeature/ViewModels/BackupViewModel.swift b/Sources/BackupFeature/ViewModels/BackupViewModel.swift index 23c4cc9d..17fca00a 100644 --- a/Sources/BackupFeature/ViewModels/BackupViewModel.swift +++ b/Sources/BackupFeature/ViewModels/BackupViewModel.swift @@ -1,5 +1,5 @@ import Combine -import DependencyInjection +import DI enum BackupViewState: Equatable { case setup diff --git a/Sources/ChatFeature/Controllers/GroupChatController.swift b/Sources/ChatFeature/Controllers/GroupChatController.swift index 0634e2cc..c780effb 100644 --- a/Sources/ChatFeature/Controllers/GroupChatController.swift +++ b/Sources/ChatFeature/Controllers/GroupChatController.swift @@ -1,3 +1,4 @@ +import DI import UIKit import Shared import Combine @@ -9,7 +10,6 @@ import DrawerFeature import DifferenceKit import ReportingFeature import ChatInputFeature -import DependencyInjection typealias OutgoingGroupTextCell = CollectionCell<FlexibleSpace, StackMessageView> typealias IncomingGroupTextCell = CollectionCell<StackMessageView, FlexibleSpace> @@ -50,7 +50,7 @@ public final class GroupChatController: UIViewController { initialState: .init(canAddAttachments: false), reducer: chatInputReducer, environment: .init( - voxophone: try! DependencyInjection.Container.shared.resolve() as Voxophone, + voxophone: try! DI.Container.shared.resolve() as Voxophone, sendAudio: { _ in }, didTapCamera: {}, didTapLibrary: {}, diff --git a/Sources/ChatFeature/Controllers/SingleChatController.swift b/Sources/ChatFeature/Controllers/SingleChatController.swift index 5c3a7b27..c320ad1d 100644 --- a/Sources/ChatFeature/Controllers/SingleChatController.swift +++ b/Sources/ChatFeature/Controllers/SingleChatController.swift @@ -11,7 +11,7 @@ import DrawerFeature import DifferenceKit import ChatInputFeature import ReportingFeature -import DependencyInjection +import DI import ScrollViewController extension FlexibleSpace: CollectionCellContent { @@ -65,7 +65,7 @@ public final class SingleChatController: UIViewController { initialState: .init(canAddAttachments: true), reducer: chatInputReducer, environment: .init( - voxophone: try! DependencyInjection.Container.shared.resolve() as Voxophone, + voxophone: try! DI.Container.shared.resolve() as Voxophone, sendAudio: { viewModel.didSendAudio(url: $0) }, didTapCamera: { viewModel.didTest(permission: .camera) }, didTapLibrary: { viewModel.didTest(permission: .library) }, diff --git a/Sources/ChatFeature/ViewModels/GroupChatViewModel.swift b/Sources/ChatFeature/ViewModels/GroupChatViewModel.swift index 324d01dc..aa2481e2 100644 --- a/Sources/ChatFeature/ViewModels/GroupChatViewModel.swift +++ b/Sources/ChatFeature/ViewModels/GroupChatViewModel.swift @@ -6,7 +6,7 @@ import Defaults import Foundation import DifferenceKit import ReportingFeature -import DependencyInjection +import DI import XXMessengerClient import struct XXModels.Message diff --git a/Sources/ChatFeature/ViewModels/SingleChatViewModel.swift b/Sources/ChatFeature/ViewModels/SingleChatViewModel.swift index 5aa7c08a..8dde807b 100644 --- a/Sources/ChatFeature/ViewModels/SingleChatViewModel.swift +++ b/Sources/ChatFeature/ViewModels/SingleChatViewModel.swift @@ -9,7 +9,7 @@ import Foundation import Permissions import DifferenceKit import ReportingFeature -import DependencyInjection +import DI import XXMessengerClient import struct XXModels.Message diff --git a/Sources/ChatListFeature/Controller/ChatListController.swift b/Sources/ChatListFeature/Controller/ChatListController.swift index 35768fd4..071e61e2 100644 --- a/Sources/ChatListFeature/Controller/ChatListController.swift +++ b/Sources/ChatListFeature/Controller/ChatListController.swift @@ -4,7 +4,7 @@ import Combine import XXModels import MenuFeature import XXNavigation -import DependencyInjection +import DI public final class ChatListController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/ChatListFeature/Controller/ChatListSearchTableController.swift b/Sources/ChatListFeature/Controller/ChatListSearchTableController.swift index 3ea3a782..999049ff 100644 --- a/Sources/ChatListFeature/Controller/ChatListSearchTableController.swift +++ b/Sources/ChatListFeature/Controller/ChatListSearchTableController.swift @@ -2,7 +2,7 @@ import UIKit import Shared import Combine import XXNavigation -import DependencyInjection +import DI class ChatSearchListTableViewDiffableDataSource: UITableViewDiffableDataSource<SearchSection, SearchItem> { override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { diff --git a/Sources/ChatListFeature/Controller/ChatListTableController.swift b/Sources/ChatListFeature/Controller/ChatListTableController.swift index 744b95cc..74e58324 100644 --- a/Sources/ChatListFeature/Controller/ChatListTableController.swift +++ b/Sources/ChatListFeature/Controller/ChatListTableController.swift @@ -5,7 +5,7 @@ import XXModels import XXNavigation import DifferenceKit import DrawerFeature -import DependencyInjection +import DI extension ChatInfo: Differentiable { public var differenceIdentifier: ChatInfo.ID { id } diff --git a/Sources/ChatListFeature/ViewModel/ChatListViewModel.swift b/Sources/ChatListFeature/ViewModel/ChatListViewModel.swift index f9214da7..18384608 100644 --- a/Sources/ChatListFeature/ViewModel/ChatListViewModel.swift +++ b/Sources/ChatListFeature/ViewModel/ChatListViewModel.swift @@ -5,7 +5,7 @@ import XXModels import Defaults import XXMessengerClient import ReportingFeature -import DependencyInjection +import DI import struct XXModels.Group import XXClient diff --git a/Sources/ContactFeature/Controllers/ContactController.swift b/Sources/ContactFeature/Controllers/ContactController.swift index 11e82eaa..06147dd9 100644 --- a/Sources/ContactFeature/Controllers/ContactController.swift +++ b/Sources/ContactFeature/Controllers/ContactController.swift @@ -4,7 +4,7 @@ import Combine import XXModels import XXNavigation import DrawerFeature -import DependencyInjection +import DI import ScrollViewController public final class ContactController: UIViewController { diff --git a/Sources/ContactFeature/ViewModels/ContactViewModel.swift b/Sources/ContactFeature/ViewModels/ContactViewModel.swift index 43e861d7..14345700 100644 --- a/Sources/ContactFeature/ViewModels/ContactViewModel.swift +++ b/Sources/ContactFeature/ViewModels/ContactViewModel.swift @@ -6,7 +6,7 @@ import Defaults import XXClient import CombineSchedulers import XXMessengerClient -import DependencyInjection +import DI struct ContactViewState: Equatable { var title: String? diff --git a/Sources/ContactListFeature/Controllers/ContactListController.swift b/Sources/ContactListFeature/Controllers/ContactListController.swift index a21f9ae9..12fe939a 100644 --- a/Sources/ContactListFeature/Controllers/ContactListController.swift +++ b/Sources/ContactListFeature/Controllers/ContactListController.swift @@ -2,7 +2,7 @@ import UIKit import Shared import Combine import XXNavigation -import DependencyInjection +import DI public final class ContactListController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/ContactListFeature/Controllers/CreateGroupController.swift b/Sources/ContactListFeature/Controllers/CreateGroupController.swift index d772b630..2e848091 100644 --- a/Sources/ContactListFeature/Controllers/CreateGroupController.swift +++ b/Sources/ContactListFeature/Controllers/CreateGroupController.swift @@ -3,7 +3,7 @@ import Shared import Combine import XXModels import XXNavigation -import DependencyInjection +import DI public final class CreateGroupController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/ContactListFeature/ViewModels/ContactListViewModel.swift b/Sources/ContactListFeature/ViewModels/ContactListViewModel.swift index 93de50cd..838a7b12 100644 --- a/Sources/ContactListFeature/ViewModels/ContactListViewModel.swift +++ b/Sources/ContactListFeature/ViewModels/ContactListViewModel.swift @@ -2,7 +2,7 @@ import Combine import XXModels import Defaults import ReportingFeature -import DependencyInjection +import DI import XXMessengerClient import Foundation diff --git a/Sources/ContactListFeature/ViewModels/CreateGroupViewModel.swift b/Sources/ContactListFeature/ViewModels/CreateGroupViewModel.swift index d24fd2e9..74d9745b 100644 --- a/Sources/ContactListFeature/ViewModels/CreateGroupViewModel.swift +++ b/Sources/ContactListFeature/ViewModels/CreateGroupViewModel.swift @@ -7,7 +7,7 @@ import XXClient import ReportingFeature import CombineSchedulers import XXMessengerClient -import DependencyInjection +import DI final class CreateGroupViewModel { @KeyObject(.username, defaultValue: "") var username: String diff --git a/Sources/Countries/CountryListController.swift b/Sources/Countries/CountryListController.swift index 4a526743..c49f954b 100644 --- a/Sources/Countries/CountryListController.swift +++ b/Sources/Countries/CountryListController.swift @@ -2,7 +2,7 @@ import UIKit import Shared import Combine import XXNavigation -import DependencyInjection +import DI public final class CountryListController: UIViewController, UITableViewDelegate { @Dependency var navigator: Navigator diff --git a/Sources/Defaults/KeyObject.swift b/Sources/Defaults/KeyObject.swift index c864b9f9..fc350c60 100644 --- a/Sources/Defaults/KeyObject.swift +++ b/Sources/Defaults/KeyObject.swift @@ -1,5 +1,5 @@ import Foundation -import DependencyInjection +import DI public enum Key: String { // MARK: Profile diff --git a/Sources/DependencyInjection/Container.swift b/Sources/DependencyInjection/Container.swift deleted file mode 100644 index cd7bf2fc..00000000 --- a/Sources/DependencyInjection/Container.swift +++ /dev/null @@ -1,27 +0,0 @@ -public final class Container { - public static let shared = Container() - - public init() {} - - public func register<T>(_ dependency: T) { - dependencies[key(for: T.self)] = dependency - } - - public func unregister<T>(_ dependencyType: T.Type) { - dependencies.removeValue(forKey: String(describing: dependencyType)) - } - - public func resolve<T>() throws -> T { - let key = self.key(for: T.self) - guard let dependency = dependencies[key] as? T else { - throw UnregisteredDependencyError(type: key) - } - return dependency - } - - var dependencies = [String: Any]() - - func key<T>(for dependencyType: T.Type) -> String { - String(describing: dependencyType) - } -} diff --git a/Sources/DependencyInjection/DependencyPropertyWrapper.swift b/Sources/DependencyInjection/DependencyPropertyWrapper.swift deleted file mode 100644 index ef7067ac..00000000 --- a/Sources/DependencyInjection/DependencyPropertyWrapper.swift +++ /dev/null @@ -1,20 +0,0 @@ -@propertyWrapper -public struct Dependency<T> { - public init(container: Container = .shared, file: StaticString = #file, line: UInt = #line) { - self.container = container - self.file = file - self.line = line - } - - public var wrappedValue: T { - do { - return try container.resolve() - } catch { - fatalError(error.localizedDescription, file: file, line: line) - } - } - - let container: Container - let file: StaticString - let line: UInt -} diff --git a/Sources/DependencyInjection/UnregisteredDependencyError.swift b/Sources/DependencyInjection/UnregisteredDependencyError.swift deleted file mode 100644 index 8ad955e6..00000000 --- a/Sources/DependencyInjection/UnregisteredDependencyError.swift +++ /dev/null @@ -1,11 +0,0 @@ -import Foundation - -public struct UnregisteredDependencyError: Error, Equatable { - public var type: String -} - -extension UnregisteredDependencyError: LocalizedError { - public var errorDescription: String? { - "Resolving unregistered dependency <\(type)>" - } -} diff --git a/Sources/LaunchFeature/LaunchController.swift b/Sources/LaunchFeature/LaunchController.swift index 8207138c..092facf9 100644 --- a/Sources/LaunchFeature/LaunchController.swift +++ b/Sources/LaunchFeature/LaunchController.swift @@ -4,7 +4,7 @@ import Combine import PushFeature import XXNavigation import DrawerFeature -import DependencyInjection +import DI public final class LaunchController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/LaunchFeature/LaunchViewModel+Database.swift b/Sources/LaunchFeature/LaunchViewModel+Database.swift index 15a88e81..e2c7558b 100644 --- a/Sources/LaunchFeature/LaunchViewModel+Database.swift +++ b/Sources/LaunchFeature/LaunchViewModel+Database.swift @@ -1,7 +1,7 @@ import XXModels import Foundation import XXDatabase -import DependencyInjection +import DI import XXLegacyDatabaseMigrator extension LaunchViewModel { @@ -40,7 +40,7 @@ extension LaunchViewModel { try FileManager.default.moveItem(atPath: legacyPath, toPath: legacyPath.appending("-backup")) } - DependencyInjection.Container.shared.register(database) + DI.Container.shared.register(database) _ = try? database.bulkUpdateContacts(.init(authStatus: [.requesting]), .init(authStatus: .requestFailed)) _ = try? database.bulkUpdateContacts(.init(authStatus: [.confirming]), .init(authStatus: .confirmationFailed)) @@ -54,7 +54,7 @@ extension LaunchViewModel { isBanned: reportingStatus.isEnabled() ? false : nil ) - guard let database: Database = try? DependencyInjection.Container.shared.resolve(), + guard let database: Database = try? DI.Container.shared.resolve(), let contact = try? database.fetchContacts(query).first else { return nil } @@ -65,7 +65,7 @@ extension LaunchViewModel { func getGroupInfoWith(groupId: Data) -> GroupInfo? { let query = GroupInfo.Query(groupId: groupId) - guard let database: Database = try? DependencyInjection.Container.shared.resolve(), + guard let database: Database = try? DI.Container.shared.resolve(), let info = try? database.fetchGroupInfos(query).first else { return nil } diff --git a/Sources/LaunchFeature/LaunchViewModel+Messenger.swift b/Sources/LaunchFeature/LaunchViewModel+Messenger.swift index 0fa99f35..cd52d720 100644 --- a/Sources/LaunchFeature/LaunchViewModel+Messenger.swift +++ b/Sources/LaunchFeature/LaunchViewModel+Messenger.swift @@ -4,7 +4,7 @@ import XXModels import XXLogger import Foundation import XXMessengerClient -import DependencyInjection +import DI extension LaunchViewModel { func setupBackupCallback() { @@ -177,7 +177,7 @@ extension LaunchViewModel { )) do { - let messenger: Messenger = try DependencyInjection.Container.shared.resolve() + let messenger: Messenger = try DI.Container.shared.resolve() try messenger.waitForNetwork() if try messenger.verifyContact(contact) { @@ -367,7 +367,7 @@ extension LaunchViewModel { }) ) - DependencyInjection.Container.shared.register(manager) + DI.Container.shared.register(manager) } func generateTransferManager() throws { @@ -393,7 +393,7 @@ extension LaunchViewModel { cMixId: messenger.e2e()!.getId() ) - DependencyInjection.Container.shared.register(manager) + DI.Container.shared.register(manager) try! manager.setStatus(dummyTrafficOn) } diff --git a/Sources/LaunchFeature/LaunchViewModel.swift b/Sources/LaunchFeature/LaunchViewModel.swift index 74d77143..2097750b 100644 --- a/Sources/LaunchFeature/LaunchViewModel.swift +++ b/Sources/LaunchFeature/LaunchViewModel.swift @@ -14,7 +14,7 @@ import ReportingFeature import CombineSchedulers import CloudFilesDropbox import XXMessengerClient -import DependencyInjection +import DI import class XXClient.Cancellable diff --git a/Sources/MenuFeature/Controllers/MenuController.swift b/Sources/MenuFeature/Controllers/MenuController.swift index b14abe7b..12415b6a 100644 --- a/Sources/MenuFeature/Controllers/MenuController.swift +++ b/Sources/MenuFeature/Controllers/MenuController.swift @@ -3,7 +3,7 @@ import Shared import Combine import XXNavigation import DrawerFeature -import DependencyInjection +import DI public final class MenuController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/MenuFeature/ViewModels/MenuViewModel.swift b/Sources/MenuFeature/ViewModels/MenuViewModel.swift index 9d56f10a..322aae91 100644 --- a/Sources/MenuFeature/ViewModels/MenuViewModel.swift +++ b/Sources/MenuFeature/ViewModels/MenuViewModel.swift @@ -4,7 +4,7 @@ import XXClient import Defaults import Foundation import ReportingFeature -import DependencyInjection +import DI final class MenuViewModel { @Dependency var database: Database diff --git a/Sources/OnboardingFeature/Controllers/OnboardingCodeController.swift b/Sources/OnboardingFeature/Controllers/OnboardingCodeController.swift index 4fd0f373..a2e1e353 100644 --- a/Sources/OnboardingFeature/Controllers/OnboardingCodeController.swift +++ b/Sources/OnboardingFeature/Controllers/OnboardingCodeController.swift @@ -3,7 +3,7 @@ import Shared import Combine import XXNavigation import DrawerFeature -import DependencyInjection +import DI import ScrollViewController public final class OnboardingCodeController: UIViewController { diff --git a/Sources/OnboardingFeature/Controllers/OnboardingEmailController.swift b/Sources/OnboardingFeature/Controllers/OnboardingEmailController.swift index 0c52a7a1..1804e216 100644 --- a/Sources/OnboardingFeature/Controllers/OnboardingEmailController.swift +++ b/Sources/OnboardingFeature/Controllers/OnboardingEmailController.swift @@ -3,7 +3,7 @@ import Shared import Combine import XXNavigation import DrawerFeature -import DependencyInjection +import DI import ScrollViewController public final class OnboardingEmailController: UIViewController { diff --git a/Sources/OnboardingFeature/Controllers/OnboardingPhoneController.swift b/Sources/OnboardingFeature/Controllers/OnboardingPhoneController.swift index 62c8d846..aa696246 100644 --- a/Sources/OnboardingFeature/Controllers/OnboardingPhoneController.swift +++ b/Sources/OnboardingFeature/Controllers/OnboardingPhoneController.swift @@ -3,7 +3,7 @@ import Shared import Combine import XXNavigation import DrawerFeature -import DependencyInjection +import DI import ScrollViewController public final class OnboardingPhoneController: UIViewController { diff --git a/Sources/OnboardingFeature/Controllers/OnboardingStartController.swift b/Sources/OnboardingFeature/Controllers/OnboardingStartController.swift index c6307fc9..f0251cd3 100644 --- a/Sources/OnboardingFeature/Controllers/OnboardingStartController.swift +++ b/Sources/OnboardingFeature/Controllers/OnboardingStartController.swift @@ -1,7 +1,7 @@ import UIKit import Combine import XXNavigation -import DependencyInjection +import DI public final class OnboardingStartController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/OnboardingFeature/Controllers/OnboardingUsernameController.swift b/Sources/OnboardingFeature/Controllers/OnboardingUsernameController.swift index ef80c659..0959b1d1 100644 --- a/Sources/OnboardingFeature/Controllers/OnboardingUsernameController.swift +++ b/Sources/OnboardingFeature/Controllers/OnboardingUsernameController.swift @@ -3,7 +3,7 @@ import Shared import Combine import XXNavigation import DrawerFeature -import DependencyInjection +import DI import ScrollViewController public final class OnboardingUsernameController: UIViewController { diff --git a/Sources/OnboardingFeature/Controllers/OnboardingWelcomeController.swift b/Sources/OnboardingFeature/Controllers/OnboardingWelcomeController.swift index 0aaa842a..72a1347a 100644 --- a/Sources/OnboardingFeature/Controllers/OnboardingWelcomeController.swift +++ b/Sources/OnboardingFeature/Controllers/OnboardingWelcomeController.swift @@ -4,7 +4,7 @@ import Combine import Defaults import XXNavigation import DrawerFeature -import DependencyInjection +import DI public final class OnboardingWelcomeController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/OnboardingFeature/ViewModels/OnboardingCodeViewModel.swift b/Sources/OnboardingFeature/ViewModels/OnboardingCodeViewModel.swift index 98826365..35dc2c99 100644 --- a/Sources/OnboardingFeature/ViewModels/OnboardingCodeViewModel.swift +++ b/Sources/OnboardingFeature/ViewModels/OnboardingCodeViewModel.swift @@ -6,7 +6,7 @@ import InputField import Foundation import CombineSchedulers import XXMessengerClient -import DependencyInjection +import DI final class OnboardingCodeViewModel { struct ViewState: Equatable { diff --git a/Sources/OnboardingFeature/ViewModels/OnboardingEmailViewModel.swift b/Sources/OnboardingFeature/ViewModels/OnboardingEmailViewModel.swift index 29c0f4b2..6d3295db 100644 --- a/Sources/OnboardingFeature/ViewModels/OnboardingEmailViewModel.swift +++ b/Sources/OnboardingFeature/ViewModels/OnboardingEmailViewModel.swift @@ -5,7 +5,7 @@ import InputField import Foundation import CombineSchedulers import XXMessengerClient -import DependencyInjection +import DI final class OnboardingEmailViewModel { struct ViewState: Equatable { diff --git a/Sources/OnboardingFeature/ViewModels/OnboardingPhoneViewModel.swift b/Sources/OnboardingFeature/ViewModels/OnboardingPhoneViewModel.swift index 4f66f0bb..bc6550f0 100644 --- a/Sources/OnboardingFeature/ViewModels/OnboardingPhoneViewModel.swift +++ b/Sources/OnboardingFeature/ViewModels/OnboardingPhoneViewModel.swift @@ -6,7 +6,7 @@ import InputField import Foundation import CombineSchedulers import XXMessengerClient -import DependencyInjection +import DI final class OnboardingPhoneViewModel { struct ViewState: Equatable { diff --git a/Sources/OnboardingFeature/ViewModels/OnboardingUsernameViewModel.swift b/Sources/OnboardingFeature/ViewModels/OnboardingUsernameViewModel.swift index 06a5f5fa..051e9783 100644 --- a/Sources/OnboardingFeature/ViewModels/OnboardingUsernameViewModel.swift +++ b/Sources/OnboardingFeature/ViewModels/OnboardingUsernameViewModel.swift @@ -7,7 +7,7 @@ import InputField import Foundation import XXMessengerClient import CombineSchedulers -import DependencyInjection +import DI final class OnboardingUsernameViewModel { struct ViewState: Equatable { diff --git a/Sources/Permissions/RequestPermissionController.swift b/Sources/Permissions/RequestPermissionController.swift index cde2e784..0cdc65b0 100644 --- a/Sources/Permissions/RequestPermissionController.swift +++ b/Sources/Permissions/RequestPermissionController.swift @@ -2,7 +2,7 @@ import UIKit import Shared import Combine import XXNavigation -import DependencyInjection +import DI public final class RequestPermissionController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/ProfileFeature/Controllers/ProfileCodeController.swift b/Sources/ProfileFeature/Controllers/ProfileCodeController.swift index dedb64d4..d55d52f3 100644 --- a/Sources/ProfileFeature/Controllers/ProfileCodeController.swift +++ b/Sources/ProfileFeature/Controllers/ProfileCodeController.swift @@ -2,7 +2,7 @@ import UIKit import Shared import Combine import XXNavigation -import DependencyInjection +import DI import ScrollViewController public final class ProfileCodeController: UIViewController { diff --git a/Sources/ProfileFeature/Controllers/ProfileController.swift b/Sources/ProfileFeature/Controllers/ProfileController.swift index 49ac0ea4..ca2abe5a 100644 --- a/Sources/ProfileFeature/Controllers/ProfileController.swift +++ b/Sources/ProfileFeature/Controllers/ProfileController.swift @@ -3,7 +3,7 @@ import Shared import Combine import XXNavigation import DrawerFeature -import DependencyInjection +import DI public final class ProfileController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/ProfileFeature/Controllers/ProfileEmailController.swift b/Sources/ProfileFeature/Controllers/ProfileEmailController.swift index 3bfa34e1..0a4599c0 100644 --- a/Sources/ProfileFeature/Controllers/ProfileEmailController.swift +++ b/Sources/ProfileFeature/Controllers/ProfileEmailController.swift @@ -2,7 +2,7 @@ import UIKit import Shared import Combine import XXNavigation -import DependencyInjection +import DI import ScrollViewController public final class ProfileEmailController: UIViewController { diff --git a/Sources/ProfileFeature/Controllers/ProfilePhoneController.swift b/Sources/ProfileFeature/Controllers/ProfilePhoneController.swift index 60e1aef4..061521d5 100644 --- a/Sources/ProfileFeature/Controllers/ProfilePhoneController.swift +++ b/Sources/ProfileFeature/Controllers/ProfilePhoneController.swift @@ -2,7 +2,7 @@ import UIKit import Shared import Combine import XXNavigation -import DependencyInjection +import DI import ScrollViewController public final class ProfilePhoneController: UIViewController { diff --git a/Sources/ProfileFeature/ViewModels/ProfileCodeViewModel.swift b/Sources/ProfileFeature/ViewModels/ProfileCodeViewModel.swift index 28027074..9a1638ec 100644 --- a/Sources/ProfileFeature/ViewModels/ProfileCodeViewModel.swift +++ b/Sources/ProfileFeature/ViewModels/ProfileCodeViewModel.swift @@ -6,7 +6,7 @@ import InputField import Foundation import CombineSchedulers import XXMessengerClient -import DependencyInjection +import DI final class ProfileCodeViewModel { struct ViewState: Equatable { diff --git a/Sources/ProfileFeature/ViewModels/ProfileEmailViewModel.swift b/Sources/ProfileFeature/ViewModels/ProfileEmailViewModel.swift index d2fd3b5a..fd27e4f0 100644 --- a/Sources/ProfileFeature/ViewModels/ProfileEmailViewModel.swift +++ b/Sources/ProfileFeature/ViewModels/ProfileEmailViewModel.swift @@ -5,7 +5,7 @@ import Foundation import InputField import CombineSchedulers import XXMessengerClient -import DependencyInjection +import DI final class ProfileEmailViewModel { struct ViewState: Equatable { diff --git a/Sources/ProfileFeature/ViewModels/ProfilePhoneViewModel.swift b/Sources/ProfileFeature/ViewModels/ProfilePhoneViewModel.swift index c341c598..a71cb16b 100644 --- a/Sources/ProfileFeature/ViewModels/ProfilePhoneViewModel.swift +++ b/Sources/ProfileFeature/ViewModels/ProfilePhoneViewModel.swift @@ -6,7 +6,7 @@ import InputField import Foundation import CombineSchedulers import XXMessengerClient -import DependencyInjection +import DI final class ProfilePhoneViewModel { struct ViewState: Equatable { diff --git a/Sources/ProfileFeature/ViewModels/ProfileViewModel.swift b/Sources/ProfileFeature/ViewModels/ProfileViewModel.swift index 72ef8593..1b0803ad 100644 --- a/Sources/ProfileFeature/ViewModels/ProfileViewModel.swift +++ b/Sources/ProfileFeature/ViewModels/ProfileViewModel.swift @@ -9,7 +9,7 @@ import Permissions import BackupFeature import XXMessengerClient import CombineSchedulers -import DependencyInjection +import DI enum ProfileNavigationRoutes { case none diff --git a/Sources/PushFeature/PushExtractor.swift b/Sources/PushFeature/PushExtractor.swift index dd00bcbe..d1dc67f5 100644 --- a/Sources/PushFeature/PushExtractor.swift +++ b/Sources/PushFeature/PushExtractor.swift @@ -2,7 +2,7 @@ import XXModels import Foundation import XXClient import XXMessengerClient -import DependencyInjection +import DI public struct PushExtractor { enum Constants { diff --git a/Sources/PushFeature/PushHandler.swift b/Sources/PushFeature/PushHandler.swift index c22b66dd..1be9e28d 100644 --- a/Sources/PushFeature/PushHandler.swift +++ b/Sources/PushFeature/PushHandler.swift @@ -5,7 +5,7 @@ import XXModels import XXDatabase import XXMessengerClient import ReportingFeature -import DependencyInjection +import DI public final class PushHandler: PushHandling { private enum Constants { diff --git a/Sources/RequestsFeature/Controllers/RequestsContainerController.swift b/Sources/RequestsFeature/Controllers/RequestsContainerController.swift index 464890cd..03cf57c1 100644 --- a/Sources/RequestsFeature/Controllers/RequestsContainerController.swift +++ b/Sources/RequestsFeature/Controllers/RequestsContainerController.swift @@ -3,7 +3,7 @@ import Shared import Combine import XXNavigation import ContactFeature -import DependencyInjection +import DI public final class RequestsContainerController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/RequestsFeature/Controllers/RequestsFailedController.swift b/Sources/RequestsFeature/Controllers/RequestsFailedController.swift index 94d4a382..7f3f63fa 100644 --- a/Sources/RequestsFeature/Controllers/RequestsFailedController.swift +++ b/Sources/RequestsFeature/Controllers/RequestsFailedController.swift @@ -1,6 +1,6 @@ import UIKit import Combine -import DependencyInjection +import DI final class RequestsFailedController: UIViewController { private lazy var screenView = RequestsFailedView() diff --git a/Sources/RequestsFeature/Controllers/RequestsReceivedController.swift b/Sources/RequestsFeature/Controllers/RequestsReceivedController.swift index 3ebd5792..1ab20d49 100644 --- a/Sources/RequestsFeature/Controllers/RequestsReceivedController.swift +++ b/Sources/RequestsFeature/Controllers/RequestsReceivedController.swift @@ -5,7 +5,7 @@ import XXModels import Countries import XXNavigation import DrawerFeature -import DependencyInjection +import DI final class RequestsReceivedController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/RequestsFeature/Controllers/RequestsSentController.swift b/Sources/RequestsFeature/Controllers/RequestsSentController.swift index ff9e0384..25a35aae 100644 --- a/Sources/RequestsFeature/Controllers/RequestsSentController.swift +++ b/Sources/RequestsFeature/Controllers/RequestsSentController.swift @@ -1,6 +1,6 @@ import UIKit import Combine -import DependencyInjection +import DI final class RequestsSentController: UIViewController { var connectionsPublisher: AnyPublisher<Void, Never> { diff --git a/Sources/RequestsFeature/ViewModels/RequestsFailedViewModel.swift b/Sources/RequestsFeature/ViewModels/RequestsFailedViewModel.swift index 1f54896a..5354509e 100644 --- a/Sources/RequestsFeature/ViewModels/RequestsFailedViewModel.swift +++ b/Sources/RequestsFeature/ViewModels/RequestsFailedViewModel.swift @@ -5,7 +5,7 @@ import XXModels import Defaults import XXClient import CombineSchedulers -import DependencyInjection +import DI import XXMessengerClient final class RequestsFailedViewModel { diff --git a/Sources/RequestsFeature/ViewModels/RequestsReceivedViewModel.swift b/Sources/RequestsFeature/ViewModels/RequestsReceivedViewModel.swift index 64ec6595..46605034 100644 --- a/Sources/RequestsFeature/ViewModels/RequestsReceivedViewModel.swift +++ b/Sources/RequestsFeature/ViewModels/RequestsReceivedViewModel.swift @@ -7,7 +7,7 @@ import XXClient import DrawerFeature import ReportingFeature import CombineSchedulers -import DependencyInjection +import DI import XXMessengerClient import struct XXModels.Group diff --git a/Sources/RequestsFeature/ViewModels/RequestsSentViewModel.swift b/Sources/RequestsFeature/ViewModels/RequestsSentViewModel.swift index 718b673f..c527b0fb 100644 --- a/Sources/RequestsFeature/ViewModels/RequestsSentViewModel.swift +++ b/Sources/RequestsFeature/ViewModels/RequestsSentViewModel.swift @@ -7,7 +7,7 @@ import Defaults import XXClient import ReportingFeature import CombineSchedulers -import DependencyInjection +import DI import XXMessengerClient struct RequestSent: Hashable, Equatable { diff --git a/Sources/RestoreFeature/Controllers/RestoreController.swift b/Sources/RestoreFeature/Controllers/RestoreController.swift index d1a57aa2..50d9f0e7 100644 --- a/Sources/RestoreFeature/Controllers/RestoreController.swift +++ b/Sources/RestoreFeature/Controllers/RestoreController.swift @@ -3,7 +3,7 @@ import Shared import Combine import XXNavigation import DrawerFeature -import DependencyInjection +import DI public final class RestoreController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/RestoreFeature/Controllers/RestoreListController.swift b/Sources/RestoreFeature/Controllers/RestoreListController.swift index 84ebee37..7cf56651 100644 --- a/Sources/RestoreFeature/Controllers/RestoreListController.swift +++ b/Sources/RestoreFeature/Controllers/RestoreListController.swift @@ -3,7 +3,7 @@ import Shared import Combine import XXNavigation import DrawerFeature -import DependencyInjection +import DI public final class RestoreListController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/RestoreFeature/Controllers/RestoreSFTPController.swift b/Sources/RestoreFeature/Controllers/RestoreSFTPController.swift index 3486ea10..ea56e1d6 100644 --- a/Sources/RestoreFeature/Controllers/RestoreSFTPController.swift +++ b/Sources/RestoreFeature/Controllers/RestoreSFTPController.swift @@ -1,6 +1,6 @@ import UIKit import Combine -import DependencyInjection +import DI import ScrollViewController public final class RestoreSFTPController: UIViewController { diff --git a/Sources/RestoreFeature/Controllers/RestoreSuccessController.swift b/Sources/RestoreFeature/Controllers/RestoreSuccessController.swift index 83c70aa5..f2c0aa2c 100644 --- a/Sources/RestoreFeature/Controllers/RestoreSuccessController.swift +++ b/Sources/RestoreFeature/Controllers/RestoreSuccessController.swift @@ -2,7 +2,7 @@ import UIKit import Shared import Combine import XXNavigation -import DependencyInjection +import DI public final class RestoreSuccessController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/RestoreFeature/ViewModels/RestoreListViewModel.swift b/Sources/RestoreFeature/ViewModels/RestoreListViewModel.swift index 249ab05d..0e306794 100644 --- a/Sources/RestoreFeature/ViewModels/RestoreListViewModel.swift +++ b/Sources/RestoreFeature/ViewModels/RestoreListViewModel.swift @@ -3,7 +3,7 @@ import Shared import Combine import CloudFiles import CloudFilesSFTP -import DependencyInjection +import DI public struct RestorationDetails { var provider: CloudService diff --git a/Sources/RestoreFeature/ViewModels/RestoreSFTPViewModel.swift b/Sources/RestoreFeature/ViewModels/RestoreSFTPViewModel.swift index d7ffd3e5..7b5eeaa3 100644 --- a/Sources/RestoreFeature/ViewModels/RestoreSFTPViewModel.swift +++ b/Sources/RestoreFeature/ViewModels/RestoreSFTPViewModel.swift @@ -4,7 +4,7 @@ import Combine import Foundation import CloudFiles import CloudFilesSFTP -import DependencyInjection +import DI struct SFTPViewState { var host: String = "" diff --git a/Sources/RestoreFeature/ViewModels/RestoreViewModel.swift b/Sources/RestoreFeature/ViewModels/RestoreViewModel.swift index c3d2cbe2..8555ff7d 100644 --- a/Sources/RestoreFeature/ViewModels/RestoreViewModel.swift +++ b/Sources/RestoreFeature/ViewModels/RestoreViewModel.swift @@ -3,7 +3,7 @@ import Shared import Combine import Defaults import CloudFiles -import DependencyInjection +import DI import XXClient import XXModels diff --git a/Sources/ScanFeature/Controllers/ScanContainerController.swift b/Sources/ScanFeature/Controllers/ScanContainerController.swift index ab6dc5f9..b669014e 100644 --- a/Sources/ScanFeature/Controllers/ScanContainerController.swift +++ b/Sources/ScanFeature/Controllers/ScanContainerController.swift @@ -3,7 +3,7 @@ import Shared import Combine import XXNavigation import DrawerFeature -import DependencyInjection +import DI public final class ScanContainerController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/ScanFeature/Controllers/ScanController.swift b/Sources/ScanFeature/Controllers/ScanController.swift index 8482be4d..af705b25 100644 --- a/Sources/ScanFeature/Controllers/ScanController.swift +++ b/Sources/ScanFeature/Controllers/ScanController.swift @@ -4,7 +4,7 @@ import Combine import Permissions import XXNavigation import CombineSchedulers -import DependencyInjection +import DI final class ScanController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/ScanFeature/ViewModels/ScanDisplayViewModel.swift b/Sources/ScanFeature/ViewModels/ScanDisplayViewModel.swift index d67716bc..17b985d8 100644 --- a/Sources/ScanFeature/ViewModels/ScanDisplayViewModel.swift +++ b/Sources/ScanFeature/ViewModels/ScanDisplayViewModel.swift @@ -4,7 +4,7 @@ import Combine import Defaults import Countries import XXClient -import DependencyInjection +import DI import XXMessengerClient struct ScanDisplayViewState: Equatable { diff --git a/Sources/ScanFeature/ViewModels/ScanViewModel.swift b/Sources/ScanFeature/ViewModels/ScanViewModel.swift index c46965ca..1e4a79a9 100644 --- a/Sources/ScanFeature/ViewModels/ScanViewModel.swift +++ b/Sources/ScanFeature/ViewModels/ScanViewModel.swift @@ -4,7 +4,7 @@ import XXModels import XXClient import Foundation import ReportingFeature -import DependencyInjection +import DI enum ScanStatus: Equatable { case reading diff --git a/Sources/SearchFeature/Controllers/SearchContainerController.swift b/Sources/SearchFeature/Controllers/SearchContainerController.swift index 6e81b0df..db43b620 100644 --- a/Sources/SearchFeature/Controllers/SearchContainerController.swift +++ b/Sources/SearchFeature/Controllers/SearchContainerController.swift @@ -4,7 +4,7 @@ import Combine import XXModels import XXNavigation import DrawerFeature -import DependencyInjection +import DI public final class SearchContainerController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/SearchFeature/Controllers/SearchLeftController.swift b/Sources/SearchFeature/Controllers/SearchLeftController.swift index 3db6a1dc..106c328f 100644 --- a/Sources/SearchFeature/Controllers/SearchLeftController.swift +++ b/Sources/SearchFeature/Controllers/SearchLeftController.swift @@ -6,7 +6,7 @@ import Defaults import Countries import XXNavigation import DrawerFeature -import DependencyInjection +import DI final class SearchLeftController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/SearchFeature/Controllers/SearchRightController.swift b/Sources/SearchFeature/Controllers/SearchRightController.swift index cbd97898..fb7283c5 100644 --- a/Sources/SearchFeature/Controllers/SearchRightController.swift +++ b/Sources/SearchFeature/Controllers/SearchRightController.swift @@ -1,7 +1,7 @@ import UIKit import Combine import XXNavigation -import DependencyInjection +import DI final class SearchRightController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/SearchFeature/ViewModels/SearchContainerViewModel.swift b/Sources/SearchFeature/ViewModels/SearchContainerViewModel.swift index 011442d5..7e5767a3 100644 --- a/Sources/SearchFeature/ViewModels/SearchContainerViewModel.swift +++ b/Sources/SearchFeature/ViewModels/SearchContainerViewModel.swift @@ -3,7 +3,7 @@ import Combine import Defaults import XXClient import PushFeature -import DependencyInjection +import DI final class SearchContainerViewModel { @Dependency var pushHandler: PushHandling diff --git a/Sources/SearchFeature/ViewModels/SearchLeftViewModel.swift b/Sources/SearchFeature/ViewModels/SearchLeftViewModel.swift index 93fe554a..3ade6d3f 100644 --- a/Sources/SearchFeature/ViewModels/SearchLeftViewModel.swift +++ b/Sources/SearchFeature/ViewModels/SearchLeftViewModel.swift @@ -11,7 +11,7 @@ import NetworkMonitor import ReportingFeature import CombineSchedulers import XXMessengerClient -import DependencyInjection +import DI typealias SearchSnapshot = NSDiffableDataSourceSnapshot<SearchSection, SearchItem> diff --git a/Sources/SearchFeature/ViewModels/SearchRightViewModel.swift b/Sources/SearchFeature/ViewModels/SearchRightViewModel.swift index d4361d50..46d54a46 100644 --- a/Sources/SearchFeature/ViewModels/SearchRightViewModel.swift +++ b/Sources/SearchFeature/ViewModels/SearchRightViewModel.swift @@ -7,7 +7,7 @@ import Foundation import Permissions import ReportingFeature import XXMessengerClient -import DependencyInjection +import DI enum ScanningStatus: Equatable { case reading diff --git a/Sources/SettingsFeature/Controllers/AccountDeleteController.swift b/Sources/SettingsFeature/Controllers/AccountDeleteController.swift index e46450c2..b695ec08 100644 --- a/Sources/SettingsFeature/Controllers/AccountDeleteController.swift +++ b/Sources/SettingsFeature/Controllers/AccountDeleteController.swift @@ -5,7 +5,7 @@ import Defaults import XXNavigation import DrawerFeature import ScrollViewController -import DependencyInjection +import DI public final class AccountDeleteController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/SettingsFeature/Controllers/SettingsAdvancedController.swift b/Sources/SettingsFeature/Controllers/SettingsAdvancedController.swift index a0e33f9b..5399ca6a 100644 --- a/Sources/SettingsFeature/Controllers/SettingsAdvancedController.swift +++ b/Sources/SettingsFeature/Controllers/SettingsAdvancedController.swift @@ -2,7 +2,7 @@ import UIKit import Shared import Combine import XXNavigation -import DependencyInjection +import DI public final class SettingsAdvancedController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/SettingsFeature/Controllers/SettingsController.swift b/Sources/SettingsFeature/Controllers/SettingsController.swift index 08dce114..6dd584cf 100644 --- a/Sources/SettingsFeature/Controllers/SettingsController.swift +++ b/Sources/SettingsFeature/Controllers/SettingsController.swift @@ -3,7 +3,7 @@ import Shared import Combine import XXNavigation import DrawerFeature -import DependencyInjection +import DI import ScrollViewController public final class SettingsController: UIViewController { diff --git a/Sources/SettingsFeature/ViewModels/AccountDeleteViewModel.swift b/Sources/SettingsFeature/ViewModels/AccountDeleteViewModel.swift index 55f48f6c..08d8d574 100644 --- a/Sources/SettingsFeature/ViewModels/AccountDeleteViewModel.swift +++ b/Sources/SettingsFeature/ViewModels/AccountDeleteViewModel.swift @@ -7,7 +7,7 @@ import XXModels import XXClient import Foundation import XXMessengerClient -import DependencyInjection +import DI final class AccountDeleteViewModel { @Dependency var database: Database diff --git a/Sources/SettingsFeature/ViewModels/SettingsAdvancedViewModel.swift b/Sources/SettingsFeature/ViewModels/SettingsAdvancedViewModel.swift index 42814774..09985d18 100644 --- a/Sources/SettingsFeature/ViewModels/SettingsAdvancedViewModel.swift +++ b/Sources/SettingsFeature/ViewModels/SettingsAdvancedViewModel.swift @@ -4,7 +4,7 @@ import Defaults import Foundation import CrashReporting import ReportingFeature -import DependencyInjection +import DI struct AdvancedViewState: Equatable { var isRecordingLogs = false diff --git a/Sources/SettingsFeature/ViewModels/SettingsViewModel.swift b/Sources/SettingsFeature/ViewModels/SettingsViewModel.swift index 63d3713b..48b97ddc 100644 --- a/Sources/SettingsFeature/ViewModels/SettingsViewModel.swift +++ b/Sources/SettingsFeature/ViewModels/SettingsViewModel.swift @@ -8,7 +8,7 @@ import XXClient import XXMessengerClient import UserNotifications import CombineSchedulers -import DependencyInjection +import DI struct SettingsViewState: Equatable { var isHideActiveApps: Bool = false diff --git a/Sources/Shared/Controllers/RootViewController.swift b/Sources/Shared/Controllers/RootViewController.swift index ee367e2e..a0ca01e5 100644 --- a/Sources/Shared/Controllers/RootViewController.swift +++ b/Sources/Shared/Controllers/RootViewController.swift @@ -1,6 +1,6 @@ import UIKit import Combine -import DependencyInjection +import DI public final class RootViewController: UIViewController { @Dependency var barStylist: StatusBarStylist diff --git a/Sources/TermsFeature/TermsConditionsController.swift b/Sources/TermsFeature/TermsConditionsController.swift index 8d722933..95c43432 100644 --- a/Sources/TermsFeature/TermsConditionsController.swift +++ b/Sources/TermsFeature/TermsConditionsController.swift @@ -4,7 +4,7 @@ import Shared import Combine import Defaults import XXNavigation -import DependencyInjection +import DI public final class TermsConditionsController: UIViewController { @Dependency var navigator: Navigator diff --git a/Sources/XXNavigation/Chat/PresentChat.swift b/Sources/XXNavigation/Chat/PresentChat.swift index 52593d96..06fa031d 100644 --- a/Sources/XXNavigation/Chat/PresentChat.swift +++ b/Sources/XXNavigation/Chat/PresentChat.swift @@ -1,7 +1,7 @@ import UIKit import XXModels import Navigation -import DependencyInjection +import DI public struct PresentChat: Navigation.Action { public var contact: Contact diff --git a/Sources/XXNavigation/Chat/PresentChatList.swift b/Sources/XXNavigation/Chat/PresentChatList.swift index 8fc96301..14059d98 100644 --- a/Sources/XXNavigation/Chat/PresentChatList.swift +++ b/Sources/XXNavigation/Chat/PresentChatList.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentChatList: Navigation.Action { public var animated: Bool = true diff --git a/Sources/XXNavigation/Chat/PresentGroupChat.swift b/Sources/XXNavigation/Chat/PresentGroupChat.swift index 7770475e..a4e74db1 100644 --- a/Sources/XXNavigation/Chat/PresentGroupChat.swift +++ b/Sources/XXNavigation/Chat/PresentGroupChat.swift @@ -1,7 +1,7 @@ import UIKit import XXModels import Navigation -import DependencyInjection +import DI public struct PresentGroupChat: Navigation.Action { public var model: GroupInfo diff --git a/Sources/XXNavigation/Chat/PresentNewGroup.swift b/Sources/XXNavigation/Chat/PresentNewGroup.swift index e04adf50..d827f553 100644 --- a/Sources/XXNavigation/Chat/PresentNewGroup.swift +++ b/Sources/XXNavigation/Chat/PresentNewGroup.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentNewGroup: Navigation.Action { public var animated: Bool diff --git a/Sources/XXNavigation/Contact/PresentContact.swift b/Sources/XXNavigation/Contact/PresentContact.swift index 4addb00c..b662609b 100644 --- a/Sources/XXNavigation/Contact/PresentContact.swift +++ b/Sources/XXNavigation/Contact/PresentContact.swift @@ -1,7 +1,7 @@ import UIKit import XXModels import Navigation -import DependencyInjection +import DI public struct PresentContact: Navigation.Action { public var contact: Contact diff --git a/Sources/XXNavigation/Contact/PresentContactList.swift b/Sources/XXNavigation/Contact/PresentContactList.swift index f6f328f4..4758d801 100644 --- a/Sources/XXNavigation/Contact/PresentContactList.swift +++ b/Sources/XXNavigation/Contact/PresentContactList.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentContactList: Navigation.Action { public var animated: Bool = true diff --git a/Sources/XXNavigation/Onboarding/PresentOnboardingCode.swift b/Sources/XXNavigation/Onboarding/PresentOnboardingCode.swift index be83f0d1..1853c774 100644 --- a/Sources/XXNavigation/Onboarding/PresentOnboardingCode.swift +++ b/Sources/XXNavigation/Onboarding/PresentOnboardingCode.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentOnboardingCode: Navigation.Action { public var isEmail: Bool diff --git a/Sources/XXNavigation/Onboarding/PresentOnboardingEmail.swift b/Sources/XXNavigation/Onboarding/PresentOnboardingEmail.swift index 4d8905ad..c1786594 100644 --- a/Sources/XXNavigation/Onboarding/PresentOnboardingEmail.swift +++ b/Sources/XXNavigation/Onboarding/PresentOnboardingEmail.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentOnboardingEmail: Navigation.Action { public var animated: Bool diff --git a/Sources/XXNavigation/Onboarding/PresentOnboardingPhone.swift b/Sources/XXNavigation/Onboarding/PresentOnboardingPhone.swift index e890add3..95c6e958 100644 --- a/Sources/XXNavigation/Onboarding/PresentOnboardingPhone.swift +++ b/Sources/XXNavigation/Onboarding/PresentOnboardingPhone.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentOnboardingPhone: Navigation.Action { public var animated: Bool diff --git a/Sources/XXNavigation/Onboarding/PresentOnboardingStart.swift b/Sources/XXNavigation/Onboarding/PresentOnboardingStart.swift index c7dfbc31..943b31d7 100644 --- a/Sources/XXNavigation/Onboarding/PresentOnboardingStart.swift +++ b/Sources/XXNavigation/Onboarding/PresentOnboardingStart.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentOnboardingStart: Navigation.Action { public var animated: Bool diff --git a/Sources/XXNavigation/Onboarding/PresentOnboardingUsername.swift b/Sources/XXNavigation/Onboarding/PresentOnboardingUsername.swift index 48fa7be5..91817a3f 100644 --- a/Sources/XXNavigation/Onboarding/PresentOnboardingUsername.swift +++ b/Sources/XXNavigation/Onboarding/PresentOnboardingUsername.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentOnboardingUsername: Navigation.Action { public var animated: Bool diff --git a/Sources/XXNavigation/Onboarding/PresentOnboardingWelcome.swift b/Sources/XXNavigation/Onboarding/PresentOnboardingWelcome.swift index 7a55f0e6..64a0fdd7 100644 --- a/Sources/XXNavigation/Onboarding/PresentOnboardingWelcome.swift +++ b/Sources/XXNavigation/Onboarding/PresentOnboardingWelcome.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentOnboardingWelcome: Navigation.Action { public var animated: Bool diff --git a/Sources/XXNavigation/Onboarding/PresentTermsAndConditions.swift b/Sources/XXNavigation/Onboarding/PresentTermsAndConditions.swift index a71b7f79..0ec1ae5c 100644 --- a/Sources/XXNavigation/Onboarding/PresentTermsAndConditions.swift +++ b/Sources/XXNavigation/Onboarding/PresentTermsAndConditions.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentTermsAndConditions: Navigation.Action { public var popAllowed: Bool diff --git a/Sources/XXNavigation/PresentActivitySheet.swift b/Sources/XXNavigation/PresentActivitySheet.swift index c13c1faa..ae08e595 100644 --- a/Sources/XXNavigation/PresentActivitySheet.swift +++ b/Sources/XXNavigation/PresentActivitySheet.swift @@ -1,7 +1,7 @@ import UIKit import XXModels import Navigation -import DependencyInjection +import DI public struct PresentActivitySheet: Navigation.Action { public var items: [Any] diff --git a/Sources/XXNavigation/PresentCountryList.swift b/Sources/XXNavigation/PresentCountryList.swift index 2a8504ea..bd162148 100644 --- a/Sources/XXNavigation/PresentCountryList.swift +++ b/Sources/XXNavigation/PresentCountryList.swift @@ -1,7 +1,7 @@ import UIKit import Shared import Navigation -import DependencyInjection +import DI public struct PresentCountryList: Navigation.Action { public var completion: ((Country) -> Void) diff --git a/Sources/XXNavigation/PresentDrawer.swift b/Sources/XXNavigation/PresentDrawer.swift index fe5812eb..9d659610 100644 --- a/Sources/XXNavigation/PresentDrawer.swift +++ b/Sources/XXNavigation/PresentDrawer.swift @@ -1,7 +1,7 @@ import UIKit import Navigation import DrawerFeature -import DependencyInjection +import DI public struct PresentDrawer: Navigation.Action { public var items: [DrawerItem] diff --git a/Sources/XXNavigation/PresentMenu.swift b/Sources/XXNavigation/PresentMenu.swift index 12976625..ab9a82ec 100644 --- a/Sources/XXNavigation/PresentMenu.swift +++ b/Sources/XXNavigation/PresentMenu.swift @@ -1,7 +1,7 @@ import UIKit import Shared import Navigation -import DependencyInjection +import DI public struct PresentMenu: Navigation.Action { public var currentItem: MenuItem diff --git a/Sources/XXNavigation/PresentPermissionRequest.swift b/Sources/XXNavigation/PresentPermissionRequest.swift index f8d5e5e1..d126d596 100644 --- a/Sources/XXNavigation/PresentPermissionRequest.swift +++ b/Sources/XXNavigation/PresentPermissionRequest.swift @@ -1,7 +1,7 @@ import UIKit import Shared import Navigation -import DependencyInjection +import DI public struct PresentPermissionRequest: Navigation.Action { public var type: PermissionType diff --git a/Sources/XXNavigation/PresentPhotoLibrary.swift b/Sources/XXNavigation/PresentPhotoLibrary.swift index d0170d0a..8174fe21 100644 --- a/Sources/XXNavigation/PresentPhotoLibrary.swift +++ b/Sources/XXNavigation/PresentPhotoLibrary.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentPhotoLibrary: Navigation.Action { public var animated: Bool diff --git a/Sources/XXNavigation/PresentScan.swift b/Sources/XXNavigation/PresentScan.swift index def9482e..87cec305 100644 --- a/Sources/XXNavigation/PresentScan.swift +++ b/Sources/XXNavigation/PresentScan.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentScan: Navigation.Action { public var animated: Bool diff --git a/Sources/XXNavigation/PresentSearch.swift b/Sources/XXNavigation/PresentSearch.swift index d62a767b..6f5d2aba 100644 --- a/Sources/XXNavigation/PresentSearch.swift +++ b/Sources/XXNavigation/PresentSearch.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentSearch: Navigation.Action { public var searching: String? diff --git a/Sources/XXNavigation/Profile/PresentProfile.swift b/Sources/XXNavigation/Profile/PresentProfile.swift index 4eb70e97..6dfdd650 100644 --- a/Sources/XXNavigation/Profile/PresentProfile.swift +++ b/Sources/XXNavigation/Profile/PresentProfile.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentProfile: Navigation.Action { public var animated: Bool diff --git a/Sources/XXNavigation/Profile/PresentProfileCode.swift b/Sources/XXNavigation/Profile/PresentProfileCode.swift index 887c88b0..3c6a9134 100644 --- a/Sources/XXNavigation/Profile/PresentProfileCode.swift +++ b/Sources/XXNavigation/Profile/PresentProfileCode.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentProfileCode: Navigation.Action { public var isEmail: Bool diff --git a/Sources/XXNavigation/Profile/PresentProfileEmail.swift b/Sources/XXNavigation/Profile/PresentProfileEmail.swift index 0a150af8..c4844038 100644 --- a/Sources/XXNavigation/Profile/PresentProfileEmail.swift +++ b/Sources/XXNavigation/Profile/PresentProfileEmail.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentProfileEmail: Navigation.Action { public var animated: Bool diff --git a/Sources/XXNavigation/Profile/PresentProfilePhone.swift b/Sources/XXNavigation/Profile/PresentProfilePhone.swift index 37966c9d..37235bb9 100644 --- a/Sources/XXNavigation/Profile/PresentProfilePhone.swift +++ b/Sources/XXNavigation/Profile/PresentProfilePhone.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentProfilePhone: Navigation.Action { public var animated: Bool diff --git a/Sources/XXNavigation/RestoreAndBackup/PresentRequests.swift b/Sources/XXNavigation/RestoreAndBackup/PresentRequests.swift index 812da622..a72fbe33 100644 --- a/Sources/XXNavigation/RestoreAndBackup/PresentRequests.swift +++ b/Sources/XXNavigation/RestoreAndBackup/PresentRequests.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentRequests: Navigation.Action { public var animated: Bool diff --git a/Sources/XXNavigation/RestoreAndBackup/PresentRestoreList.swift b/Sources/XXNavigation/RestoreAndBackup/PresentRestoreList.swift index 23b40ab0..e1121be7 100644 --- a/Sources/XXNavigation/RestoreAndBackup/PresentRestoreList.swift +++ b/Sources/XXNavigation/RestoreAndBackup/PresentRestoreList.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentRestoreList: Navigation.Action { public var animated: Bool diff --git a/Sources/XXNavigation/Settings/PresentSettings.swift b/Sources/XXNavigation/Settings/PresentSettings.swift index 932a1868..387bc789 100644 --- a/Sources/XXNavigation/Settings/PresentSettings.swift +++ b/Sources/XXNavigation/Settings/PresentSettings.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentSettings: Navigation.Action { public var animated: Bool diff --git a/Sources/XXNavigation/Settings/PresentSettingsAccountDelete.swift b/Sources/XXNavigation/Settings/PresentSettingsAccountDelete.swift index 74119fe2..76b73f1e 100644 --- a/Sources/XXNavigation/Settings/PresentSettingsAccountDelete.swift +++ b/Sources/XXNavigation/Settings/PresentSettingsAccountDelete.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentSettingsAccountDelete: Navigation.Action { public var animated: Bool diff --git a/Sources/XXNavigation/Settings/PresentSettingsAdvanced.swift b/Sources/XXNavigation/Settings/PresentSettingsAdvanced.swift index fd258eba..0c008515 100644 --- a/Sources/XXNavigation/Settings/PresentSettingsAdvanced.swift +++ b/Sources/XXNavigation/Settings/PresentSettingsAdvanced.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentSettingsAdvanced: Navigation.Action { public var animated: Bool diff --git a/Sources/XXNavigation/Settings/PresentSettingsBackup.swift b/Sources/XXNavigation/Settings/PresentSettingsBackup.swift index 62a6e243..85856658 100644 --- a/Sources/XXNavigation/Settings/PresentSettingsBackup.swift +++ b/Sources/XXNavigation/Settings/PresentSettingsBackup.swift @@ -1,6 +1,6 @@ import UIKit import Navigation -import DependencyInjection +import DI public struct PresentSettingsBackup: Navigation.Action { public var animated: Bool diff --git a/Tests/DefaultsTests/KeyObjectTests.swift b/Tests/DefaultsTests/KeyObjectTests.swift index ffa4794f..1b3bf380 100644 --- a/Tests/DefaultsTests/KeyObjectTests.swift +++ b/Tests/DefaultsTests/KeyObjectTests.swift @@ -1,5 +1,5 @@ import XCTest -import DependencyInjection +import DI @testable import Defaults diff --git a/Tests/DependencyInjectionTests/ContainerTests.swift b/Tests/DependencyInjectionTests/ContainerTests.swift deleted file mode 100644 index b9de7d2e..00000000 --- a/Tests/DependencyInjectionTests/ContainerTests.swift +++ /dev/null @@ -1,33 +0,0 @@ -import XCTest - -@testable import DependencyInjection - -final class ContainerTests: XCTestCase { - func testRegisterAndResolveDependency() { - let container = Container() - let dependency = TestDependency() - container.register(dependency as TestDependencyProtocol) - let resolvedDependency: TestDependencyProtocol = try! container.resolve() - - XCTAssert(resolvedDependency === dependency) - } - - func testResolveUnregisterredDependency() { - let container = Container() - do { - let _: TestDependencyProtocol = try container.resolve() - XCTFail("expected to throw an error") - } catch { - XCTAssertEqual( - error as? UnregisteredDependencyError, - UnregisteredDependencyError( - type: String(describing: TestDependencyProtocol.self) - ) - ) - } - } -} - -private protocol TestDependencyProtocol: AnyObject {} - -private class TestDependency: TestDependencyProtocol {} diff --git a/Tests/DependencyInjectionTests/DependencyPropertyWrapperTests.swift b/Tests/DependencyInjectionTests/DependencyPropertyWrapperTests.swift deleted file mode 100644 index 97bf45ef..00000000 --- a/Tests/DependencyInjectionTests/DependencyPropertyWrapperTests.swift +++ /dev/null @@ -1,20 +0,0 @@ -import XCTest -@testable import DependencyInjection - -final class DependencyPropertyWrapperTests: XCTestCase { - func testPropertyGetter() { - struct Context { - static let container = Container() - @Dependency(container: container) var property: TestDependencyProtocol - } - - let dependency = TestDependency() - Context.container.register(dependency as TestDependencyProtocol) - - XCTAssert(Context().property === dependency) - } -} - -private protocol TestDependencyProtocol: AnyObject {} - -private class TestDependency: TestDependencyProtocol {} diff --git a/Tests/ThemeTests/ThemeTests.swift b/Tests/ThemeTests/ThemeTests.swift index 44f88ab5..3cdf37a0 100644 --- a/Tests/ThemeTests/ThemeTests.swift +++ b/Tests/ThemeTests/ThemeTests.swift @@ -2,7 +2,7 @@ import Quick import Nimble import Defaults import Foundation -import DependencyInjection +import DI @testable import Theme diff --git a/client-ios.xcworkspace/xcshareddata/swiftpm/Package.resolved b/client-ios.xcworkspace/xcshareddata/swiftpm/Package.resolved index 6006a39d..b17678ed 100644 --- a/client-ios.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/client-ios.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -386,6 +386,15 @@ "revision" : "16e6409ee82e1b81390bdffbf217b9c08ab32784", "version" : "0.5.0" } + }, + { + "identity" : "xxm-di", + "kind" : "remoteSourceControl", + "location" : "https://git.xx.network/elixxir/xxm-di.git", + "state" : { + "revision" : "43b1e12c32109f1753fcc62e5b0b21e479ee27e3", + "version" : "1.0.0" + } } ], "version" : 2 -- GitLab