// // Filterable.swift // Todos // // Created by Sam Jaffe on 3/7/26. // import Foundation protocol Filterable { var name: String { get } var status: Status { get set } func containsText(_ text: String) -> Bool } extension SubTask: Filterable { func containsText(_ text: String) -> Bool { return name.contains(text) || notes.contains(text) } } extension Task: Filterable { func containsText(_ text: String) -> Bool { return name.contains(text) || notes.contains(text) || subtasks.contains(where: { $0.containsText(text) }) } }