URLHintArray.swift 660 B

1234567891011121314151617181920212223242526272829303132
  1. //
  2. // URLHintArray.swift
  3. // Todos
  4. //
  5. // Created by Sam Jaffe on 3/1/26.
  6. //
  7. import Foundation
  8. import SwiftData
  9. internal import Combine
  10. typealias URLHintArray = [URLHint]
  11. extension URLHintArray : @retroactive RawRepresentable {
  12. public init?(rawValue: String) {
  13. guard let data = rawValue.data(using: .utf8),
  14. let result = try? JSONDecoder().decode(URLHintArray.self, from: data)
  15. else {
  16. return nil
  17. }
  18. self = result
  19. }
  20. public var rawValue: String {
  21. guard let data = try? JSONEncoder().encode(self),
  22. let result = String(data: data, encoding: .utf8)
  23. else {
  24. return "[]"
  25. }
  26. return result
  27. }
  28. }