16 lines
288 B
Swift
16 lines
288 B
Swift
import Foundation
|
|
|
|
protocol Flattenable {
|
|
func flattened() -> Any?
|
|
}
|
|
|
|
extension Optional: Flattenable {
|
|
func flattened() -> Any? {
|
|
switch self {
|
|
case .some(let x as Flattenable): x.flattened()
|
|
case .some(let x): x
|
|
case .none: nil
|
|
}
|
|
}
|
|
}
|