created static initWith for withable
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
6156ed18fd
commit
632f7498bc
@ -10,3 +10,14 @@ import Foundation
|
|||||||
public protocol Initable {
|
public protocol Initable {
|
||||||
init()
|
init()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extension Withable where Self:Initable {
|
||||||
|
/// Provides a closure to configure instances inline.
|
||||||
|
/// - Parameter closure: A closure with a mutable copy of `self` as the argument.
|
||||||
|
/// - Returns: Simply returns the mutated copy of the instance after called the `closure`.
|
||||||
|
@discardableResult public static func initWith(_ closure: (_ instance: inout Self) -> Void) -> Self {
|
||||||
|
var copy = Self()
|
||||||
|
closure(©)
|
||||||
|
return copy
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user