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.
 
 
 
 

27 lines
939 B

//
// Copyright © 2019 Swinject Contributors. All rights reserved.
//
/// The `Assembly` provides a means to organize your `Service` registration in logic groups which allows
/// the user to swap out different implementations of `Services` by providing different `Assembly` instances
/// to the `Assembler`
public protocol Assembly {
/// Provide hook for `Assembler` to load Services into the provided container
///
/// - parameter container: the container provided by the `Assembler`
///
func assemble(container: Container)
/// Provides a hook to the `Assembly` that will be called once the `Assembler` has loaded all `Assembly`
/// instances into the container.
///
/// - parameter resolver: the resolver that can resolve instances from the built container
///
func loaded(resolver: Resolver)
}
public extension Assembly {
func loaded(resolver _: Resolver) {
// no-op
}
}