URLHint.swift 540 B

123456789101112131415161718192021222324252627282930
  1. //
  2. // URLHint.swift
  3. // Todos
  4. //
  5. // Created by Sam Jaffe on 3/1/26.
  6. //
  7. import Foundation
  8. import SwiftData
  9. final class URLHint {
  10. var prefix: String = ""
  11. var replacement: String = ""
  12. init() {}
  13. init(prefix: String, replacement: String) {
  14. self.prefix = prefix
  15. self.replacement = replacement
  16. }
  17. func matches(_ tag: Tag) -> Bool {
  18. return tag.id.hasPrefix(prefix)
  19. }
  20. func url(_ tag: Tag) -> URL {
  21. let url = tag.id.replacingOccurrences(of: prefix, with: replacement)
  22. return URL(string: url)!
  23. }
  24. }