// // Combine.swift // GitHubSearchWithSwiftUI // // Created by marty-suzuki on 2019/06/05. // Copyright © 2019 jp.marty-suzuki. All rights reserved. // import Foundation struct CombineExtension { let base: Base init(_ base: Base) { self.base = base } } protocol CombineCompatible { associatedtype CombineExtensionBase static var combine: CombineExtension.Type { get set } var combine: CombineExtension { get set } } extension CombineCompatible { static var combine: CombineExtension.Type { get { return CombineExtension.self } set {} } var combine: CombineExtension { get { return CombineExtension(self) } set {} } }