URLHintArray.swift 603 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. class URLHintArray : ObservableObject {
  11. typealias Serial = [[String:String]]
  12. @Published var array: [URLHint] = [URLHint]()
  13. init() {}
  14. init(_ array: [URLHint]) {
  15. self.array = array
  16. }
  17. init(fromSerial: Serial?) {
  18. self.array = fromSerial?.map({
  19. URLHint(prefix: $0["prefix"]!, replacement: $0["replacement"]!)
  20. }) ?? []
  21. }
  22. var serial: Serial {
  23. return array.map({["prefix": $0.prefix, "replacement": $0.replacement]})
  24. }
  25. }