updated method

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2022-08-23 08:04:46 -05:00
parent e34f8f0ed8
commit 48a84960f4

View File

@ -12,12 +12,10 @@ public protocol Initable {
}
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(&copy)
return copy
/// Construct a new instance, setting an arbitrary subset of properties
public init(with closure: (inout Self) -> Void) {
self.init()
closure(&self)
}
}