Parcourir la source

fix: separate yaml/json modes

Sam Jaffe il y a 2 semaines
Parent
commit
36a07e7552

+ 1 - 1
Todos/View/Menu/ExportMenu.swift

@@ -22,7 +22,7 @@ struct ExportMenu: View {
       showingExporter = true
     }
     .keyboardShortcut("E", modifiers: [.command, .shift])
-    .fileExporter(isPresented: $showingExporter, document: StubDocument(),
+    .fileExporter(isPresented: $showingExporter, document: StubJsonDocument(),
                   contentType: .json) { result in
       switch result {
       case .success(let url):

+ 1 - 1
Todos/View/Menu/SaveAsMenu.swift

@@ -20,7 +20,7 @@ struct SaveAsMenu: View {
       showingExporter = true
     }
     .keyboardShortcut("S", modifiers: [.command, .shift])
-    .fileExporter(isPresented: $showingExporter, document: StubDocument(),
+    .fileExporter(isPresented: $showingExporter, document: StubYamlDocument(),
                   contentType: .yaml) { result in
       switch result {
       case .success(let url):

+ 13 - 1
Todos/ViewModel/StubDocument.swift

@@ -9,7 +9,7 @@ import Foundation
 import SwiftUI
 import UniformTypeIdentifiers
 
-struct StubDocument : FileDocument {
+struct StubYamlDocument : FileDocument {
   static var readableContentTypes = [UTType.yaml]
     
   init() {}
@@ -20,3 +20,15 @@ struct StubDocument : FileDocument {
     return FileWrapper(regularFileWithContents: Data())
   }
 }
+
+struct StubJsonDocument : FileDocument {
+  static var readableContentTypes = [UTType.json]
+  
+  init() {}
+  
+  init(configuration: ReadConfiguration) throws {}
+  
+  func fileWrapper(configuration: WriteConfiguration) throws -> FileWrapper {
+    return FileWrapper(regularFileWithContents: Data())
+  }
+}