49 lines
1013 B
Swift
49 lines
1013 B
Swift
|
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 }
|
||
|
|
||
|
}
|