ConfigEditorProvider.swift 727 B

12345678910111213141516171819202122232425
  1. import Foundation
  2. extension ConfigEditor {
  3. final class Provider: BaseProvider, ConfigEditorProvider {
  4. @Injected() private var storage: FileStorage!
  5. func load(file: String) -> RawJSON {
  6. if let value = try? storage.retrieve(file, as: RawJSON.self) {
  7. return value
  8. } else if let value = try? storage.retrieve(file, as: [PumpHistoryEvent].self) {
  9. return value.rawJSON
  10. }
  11. return OpenAPS.defaults(for: file)
  12. }
  13. func urlFor(file: String) -> URL? {
  14. storage.urlFor(file: file)
  15. }
  16. func save(_ value: RawJSON, as file: String) {
  17. try? storage.save(value, as: file)
  18. }
  19. }
  20. }