77 lines
2.4 KiB
Swift
77 lines
2.4 KiB
Swift
import Foundation
|
|
|
|
final class PathSettings: ObservableObject {
|
|
|
|
@Published
|
|
var assetsOutputFolderPath: String
|
|
|
|
@Published
|
|
var pagesOutputFolderPath: String
|
|
|
|
@Published
|
|
var imagesOutputFolderPath: String
|
|
|
|
@Published
|
|
var filesOutputFolderPath: String
|
|
|
|
@Published
|
|
var videosOutputFolderPath: String
|
|
|
|
@Published
|
|
var audioOutputFolderPath: String
|
|
|
|
@Published
|
|
var tagsOutputFolderPath: String
|
|
|
|
init(assetsOutputFolderPath: String,
|
|
pagesOutputFolderPath: String,
|
|
imagesOutputFolderPath: String,
|
|
filesOutputFolderPath: String,
|
|
videosOutputFolderPath: String,
|
|
audioOutputFolderPath: String,
|
|
tagsOutputFolderPath: String) {
|
|
self.assetsOutputFolderPath = assetsOutputFolderPath
|
|
self.pagesOutputFolderPath = pagesOutputFolderPath
|
|
self.imagesOutputFolderPath = imagesOutputFolderPath
|
|
self.filesOutputFolderPath = filesOutputFolderPath
|
|
self.videosOutputFolderPath = videosOutputFolderPath
|
|
self.audioOutputFolderPath = audioOutputFolderPath
|
|
self.tagsOutputFolderPath = tagsOutputFolderPath
|
|
}
|
|
}
|
|
|
|
extension PathSettings {
|
|
|
|
convenience init(data: Data) {
|
|
self.init(
|
|
assetsOutputFolderPath: data.assetsOutputFolderPath,
|
|
pagesOutputFolderPath: data.pagesOutputFolderPath,
|
|
imagesOutputFolderPath: data.imagesOutputFolderPath,
|
|
filesOutputFolderPath: data.filesOutputFolderPath,
|
|
videosOutputFolderPath: data.videosOutputFolderPath,
|
|
audioOutputFolderPath: data.audioOutputFolderPath,
|
|
tagsOutputFolderPath: data.tagsOutputFolderPath)
|
|
}
|
|
|
|
var data: Data {
|
|
.init(
|
|
assetsOutputFolderPath: assetsOutputFolderPath,
|
|
pagesOutputFolderPath: pagesOutputFolderPath,
|
|
imagesOutputFolderPath: imagesOutputFolderPath,
|
|
filesOutputFolderPath: filesOutputFolderPath,
|
|
videosOutputFolderPath: videosOutputFolderPath,
|
|
audioOutputFolderPath: audioOutputFolderPath,
|
|
tagsOutputFolderPath: tagsOutputFolderPath)
|
|
}
|
|
|
|
struct Data: Codable, Equatable {
|
|
let assetsOutputFolderPath: String
|
|
let pagesOutputFolderPath: String
|
|
let imagesOutputFolderPath: String
|
|
let filesOutputFolderPath: String
|
|
let videosOutputFolderPath: String
|
|
let audioOutputFolderPath: String
|
|
let tagsOutputFolderPath: String
|
|
}
|
|
}
|