| 12345678910111213141516171819202122232425262728293031323334 |
- //
- // 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 }
- }
|