ConfigEditorProvider.swift 658 B

12345678910111213141516171819202122
  1. import Foundation
  2. extension ConfigEditor {
  3. final class Provider: BaseProvider, ConfigEditorProvider {
  4. func load(file: String) -> RawJSON {
  5. storage.retrieveRaw(file) ?? OpenAPS.defaults(for: file)
  6. }
  7. func urlFor(file: String) -> URL? {
  8. storage.urlFor(file: file)
  9. }
  10. func save(_ value: RawJSON, as file: String) {
  11. guard let data = value.data(using: .utf8), (try? JSONSerialization.jsonObject(with: data, options: [])) != nil else {
  12. warning(.service, "Invalid JSON")
  13. return
  14. }
  15. storage.save(value, as: file)
  16. }
  17. }
  18. }