// // URLHint.swift // Todos // // Created by Sam Jaffe on 3/1/26. // import Foundation import SwiftData final class URLHint: Identifiable, Codable { var prefix: String = "" var replacement: String = "" var id: String { prefix } init() {} init(prefix: String, replacement: String) { self.prefix = prefix self.replacement = replacement } func matches(_ tag: Tag) -> Bool { return tag.id.hasPrefix(prefix) } func url(_ tag: Tag) -> URL { let url = tag.id.replacingOccurrences(of: prefix, with: replacement) return URL(string: url)! } var valid: Bool { !prefix.isEmpty && !replacement.isEmpty } }