2023-08-18 22:47:24 +02:00
|
|
|
import Foundation
|
|
|
|
|
|
|
|
struct CVInfo {
|
|
|
|
|
2023-08-20 13:11:13 +02:00
|
|
|
let language: String
|
|
|
|
|
2023-08-18 22:47:24 +02:00
|
|
|
let top: TopInfo
|
|
|
|
|
|
|
|
let work: Titled<CareerStation>
|
|
|
|
|
|
|
|
let education: Titled<CareerStation>
|
|
|
|
|
|
|
|
let publications: Titled<Publication>
|
|
|
|
|
|
|
|
let skills: Titled<SkillsSet>
|
|
|
|
|
|
|
|
let about: Titled<String>
|
|
|
|
|
2023-08-20 13:11:13 +02:00
|
|
|
let footer: String
|
|
|
|
}
|
|
|
|
|
|
|
|
extension CVInfo: Identifiable {
|
|
|
|
|
|
|
|
var id: String {
|
|
|
|
language
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
extension CVInfo: Equatable {
|
|
|
|
|
|
|
|
static func == (lhs: CVInfo, rhs: CVInfo) -> Bool {
|
|
|
|
lhs.language == rhs.language
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
extension CVInfo: Hashable {
|
|
|
|
|
|
|
|
func hash(into hasher: inout Hasher) {
|
|
|
|
hasher.combine(language)
|
|
|
|
}
|
2023-08-18 22:47:24 +02:00
|
|
|
}
|
2023-08-21 09:16:45 +02:00
|
|
|
|
|
|
|
extension CVInfo: Codable {
|
|
|
|
|
|
|
|
}
|