|
|
@@ -468,253 +468,3 @@ public extension Bundle {
|
|
|
object(forInfoDictionaryKey: "AppDevVersion") as? String
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-// Super simple wrapper that just adds a lock
|
|
|
-private struct LockedResolver: Resolver {
|
|
|
- let resolver: Resolver
|
|
|
- let lock: NSRecursiveLock
|
|
|
-
|
|
|
- func resolve<Service, Arg1>(_ serviceType: Service.Type, argument: Arg1) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, argument: argument)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1>(_ serviceType: Service.Type, name: String?, argument: Arg1) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, name: name, argument: argument)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1, Arg2>(_ serviceType: Service.Type, arguments arg1: Arg1, _ arg2: Arg2) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, arguments: arg1, arg2)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1, Arg2>(
|
|
|
- _ serviceType: Service.Type,
|
|
|
- name: String?,
|
|
|
- arguments arg1: Arg1,
|
|
|
- _ arg2: Arg2
|
|
|
- ) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, name: name, arguments: arg1, arg2)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1, Arg2, Arg3>(
|
|
|
- _ serviceType: Service.Type,
|
|
|
- arguments arg1: Arg1,
|
|
|
- _ arg2: Arg2,
|
|
|
- _ arg3: Arg3
|
|
|
- ) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, arguments: arg1, arg2, arg3)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1, Arg2, Arg3>(
|
|
|
- _ serviceType: Service.Type,
|
|
|
- name: String?,
|
|
|
- arguments arg1: Arg1,
|
|
|
- _ arg2: Arg2,
|
|
|
- _ arg3: Arg3
|
|
|
- ) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, name: name, arguments: arg1, arg2, arg3)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1, Arg2, Arg3, Arg4>(
|
|
|
- _ serviceType: Service.Type,
|
|
|
- arguments arg1: Arg1,
|
|
|
- _ arg2: Arg2,
|
|
|
- _ arg3: Arg3,
|
|
|
- _ arg4: Arg4
|
|
|
- ) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, arguments: arg1, arg2, arg3, arg4)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1, Arg2, Arg3, Arg4>(
|
|
|
- _ serviceType: Service.Type,
|
|
|
- name: String?,
|
|
|
- arguments arg1: Arg1,
|
|
|
- _ arg2: Arg2,
|
|
|
- _ arg3: Arg3,
|
|
|
- _ arg4: Arg4
|
|
|
- ) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, name: name, arguments: arg1, arg2, arg3, arg4)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5>(
|
|
|
- _ serviceType: Service.Type,
|
|
|
- arguments arg1: Arg1,
|
|
|
- _ arg2: Arg2,
|
|
|
- _ arg3: Arg3,
|
|
|
- _ arg4: Arg4,
|
|
|
- _ arg5: Arg5
|
|
|
- ) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, arguments: arg1, arg2, arg3, arg4, arg5)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5>(
|
|
|
- _ serviceType: Service.Type,
|
|
|
- name: String?,
|
|
|
- arguments arg1: Arg1,
|
|
|
- _ arg2: Arg2,
|
|
|
- _ arg3: Arg3,
|
|
|
- _ arg4: Arg4,
|
|
|
- _ arg5: Arg5
|
|
|
- ) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, name: name, arguments: arg1, arg2, arg3, arg4, arg5)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6>(
|
|
|
- _ serviceType: Service.Type,
|
|
|
- arguments arg1: Arg1,
|
|
|
- _ arg2: Arg2,
|
|
|
- _ arg3: Arg3,
|
|
|
- _ arg4: Arg4,
|
|
|
- _ arg5: Arg5,
|
|
|
- _ arg6: Arg6
|
|
|
- ) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, arguments: arg1, arg2, arg3, arg4, arg5, arg6)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6>(
|
|
|
- _ serviceType: Service.Type,
|
|
|
- name: String?,
|
|
|
- arguments arg1: Arg1,
|
|
|
- _ arg2: Arg2,
|
|
|
- _ arg3: Arg3,
|
|
|
- _ arg4: Arg4,
|
|
|
- _ arg5: Arg5,
|
|
|
- _ arg6: Arg6
|
|
|
- ) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, name: name, arguments: arg1, arg2, arg3, arg4, arg5, arg6)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7>(
|
|
|
- _ serviceType: Service.Type,
|
|
|
- arguments arg1: Arg1,
|
|
|
- _ arg2: Arg2,
|
|
|
- _ arg3: Arg3,
|
|
|
- _ arg4: Arg4,
|
|
|
- _ arg5: Arg5,
|
|
|
- _ arg6: Arg6,
|
|
|
- _ arg7: Arg7
|
|
|
- ) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, arguments: arg1, arg2, arg3, arg4, arg5, arg6, arg7)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7>(
|
|
|
- _ serviceType: Service.Type,
|
|
|
- name: String?,
|
|
|
- arguments arg1: Arg1,
|
|
|
- _ arg2: Arg2,
|
|
|
- _ arg3: Arg3,
|
|
|
- _ arg4: Arg4,
|
|
|
- _ arg5: Arg5,
|
|
|
- _ arg6: Arg6,
|
|
|
- _ arg7: Arg7
|
|
|
- ) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, name: name, arguments: arg1, arg2, arg3, arg4, arg5, arg6, arg7)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8>(
|
|
|
- _ serviceType: Service.Type,
|
|
|
- arguments arg1: Arg1,
|
|
|
- _ arg2: Arg2,
|
|
|
- _ arg3: Arg3,
|
|
|
- _ arg4: Arg4,
|
|
|
- _ arg5: Arg5,
|
|
|
- _ arg6: Arg6,
|
|
|
- _ arg7: Arg7,
|
|
|
- _ arg8: Arg8
|
|
|
- ) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, arguments: arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8>(
|
|
|
- _ serviceType: Service.Type,
|
|
|
- name: String?,
|
|
|
- arguments arg1: Arg1,
|
|
|
- _ arg2: Arg2,
|
|
|
- _ arg3: Arg3,
|
|
|
- _ arg4: Arg4,
|
|
|
- _ arg5: Arg5,
|
|
|
- _ arg6: Arg6,
|
|
|
- _ arg7: Arg7,
|
|
|
- _ arg8: Arg8
|
|
|
- ) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, name: name, arguments: arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9>(
|
|
|
- _ serviceType: Service.Type,
|
|
|
- arguments arg1: Arg1,
|
|
|
- _ arg2: Arg2,
|
|
|
- _ arg3: Arg3,
|
|
|
- _ arg4: Arg4,
|
|
|
- _ arg5: Arg5,
|
|
|
- _ arg6: Arg6,
|
|
|
- _ arg7: Arg7,
|
|
|
- _ arg8: Arg8,
|
|
|
- _ arg9: Arg9
|
|
|
- ) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, arguments: arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9>(
|
|
|
- _ serviceType: Service.Type,
|
|
|
- name: String?,
|
|
|
- arguments arg1: Arg1,
|
|
|
- _ arg2: Arg2,
|
|
|
- _ arg3: Arg3,
|
|
|
- _ arg4: Arg4,
|
|
|
- _ arg5: Arg5,
|
|
|
- _ arg6: Arg6,
|
|
|
- _ arg7: Arg7,
|
|
|
- _ arg8: Arg8,
|
|
|
- _ arg9: Arg9
|
|
|
- ) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, name: name, arguments: arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service>(_ serviceType: Service.Type) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType)
|
|
|
- }
|
|
|
-
|
|
|
- func resolve<Service>(_ serviceType: Service.Type, name: String?) -> Service? {
|
|
|
- lock.lock()
|
|
|
- defer { lock.unlock() }
|
|
|
- return resolver.resolve(serviceType, name: name)
|
|
|
- }
|
|
|
-}
|