49 lines
1007 B
Swift
Raw Normal View History

enum Folder {
case app
case libraryPublic
case libraryInternal
case root
case testCasesPublic
case testCasesInternal
case testHelpers
}
// MARK: - Properties
extension Folder {
// MARK: Computed
var path: String {
switch self {
case .app: "App/Sources"
case .libraryPublic: "Library/Sources/Public"
case .libraryInternal: "Library/Sources/Internal"
case .root: ""
case .testCasesPublic: "Test/Sources/Cases/Public"
case .testCasesInternal: "Test/Sources/Cases/Internal"
case .testHelpers: "Test/Sources/Helpers"
}
}
}
// MARK: - CaseIterable
extension Folder: CaseIterable {
// MARK: Properties
static var allCases: [Folder] {[
.app,
.libraryPublic,
.libraryInternal,
.testCasesPublic,
.testCasesInternal,
.testHelpers
]}
static var allCasesWithRoot: [Folder] { [.root] + Folder.allCases }
}