func model()

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
            )
        }