in Sources/PackageRegistryExample/DataAccess/Postgres/PackageManifestsDAO+Postgres.swift [76:104]
func model() throws -> PackageRegistryModel.PackageManifest {
guard let package = PackageIdentity(scope: self.scope, name: self.name) else {
throw DataAccessError.invalidData(detail: "Invalid scope ('\(self.scope)') or name ('\(self.name)')")
}
guard let version = Version(self.version) else {
throw DataAccessError.invalidData(detail: "Invalid version '\(self.version)'")
}
var swiftVersion: SwiftLanguageVersion?
if let swiftVersionString = self.swift_version {
swiftVersion = SwiftLanguageVersion(string: swiftVersionString)
guard swiftVersion != nil else {
throw DataAccessError.invalidData(detail: "Invalid Swift version '\(swiftVersionString)'")
}
}
guard let swiftToolsVersion = ToolsVersion(string: self.swift_tools_version) else {
throw DataAccessError.invalidData(detail: "Invalid Swift tools version '\(self.swift_tools_version)'")
}
return PackageRegistryModel.PackageManifest(
package: package,
version: version,
swiftVersion: swiftVersion,
filename: self.filename,
swiftToolsVersion: swiftToolsVersion,
bytes: self.bytes
)
}