Skip to content
Snippets Groups Projects

Update Bindings

1 file
+ 37
0
Compare changes
  • Side-by-side
  • Inline
import Bindings
import XCTestDynamicOverlay
public struct GroupRequest {
public init(handle: @escaping (Group) -> Void) {
self.handle = handle
}
public var handle: (Group) -> Void
}
extension GroupRequest {
public static let unimplemented = GroupRequest(
handle: XCTUnimplemented("\(Self.self)")
)
}
extension GroupRequest {
func makeBindingsGroupRequest() -> BindingsGroupRequestProtocol {
class CallbackObject: NSObject, BindingsGroupRequestProtocol {
init(_ callback: GroupRequest) {
self.callback = callback
}
let callback: GroupRequest
func callback(_ g: BindingsGroup?) {
guard let bindingsGroup = g else {
fatalError("BindingsGroupRequest.handle received `nil` group")
}
callback.handle(.live(bindingsGroup))
}
}
return CallbackObject(self)
}
}
Loading