You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

24 lines
1.0 KiB

//
// Copyright © 2019 Swinject Contributors. All rights reserved.
//
/// This protocol is designed for the use to extend Swinject functionality.
/// Do NOT use this protocol unless you intend to write an extension or plugin to Swinject framework.
///
/// A type conforming Resolver protocol must conform _Resolver protocol too.
public protocol _Resolver {
/// This method is designed for the use to extend Swinject functionality.
/// Do NOT use this method unless you intend to write an extension or plugin to Swinject framework.
///
/// - Parameter name: The registration name.
/// - Parameter option: A service key option for an extension/plugin.
/// - Parameter invoker: A closure to execute service resolution.
///
/// - Returns: The resolved service type instance, or nil if no service is found.
// swiftlint:disable:next identifier_name
func _resolve<Service, Arguments>(
name: String?,
option: ServiceKeyOption?,
invoker: @escaping ((Arguments) -> Any) -> Any
) -> Service?
}