init()

in HuggingChat-Mac/Models/LLMModel.swift [42:68]


    init(from decoder: Decoder) throws {
        let container = try decoder.container(keyedBy: CodingKeys.self)
        self.id = try container.decode(String.self, forKey: .id)
        self.name = try container.decode(String.self, forKey: .name)
        self.displayName = try container.decode(String.self, forKey: .displayName)

        if let url = try? container.decode(URL.self, forKey: .websiteUrl) {
            self.websiteUrl = url
        } else {
            self.websiteUrl = URL(string: "https://huggingface.co/\(self.name)")!
        }
        
        if let url = try? container.decode(URL.self, forKey: .modelUrl) {
            self.modelUrl = url
        } else {
            self.modelUrl = URL(string: "https://huggingface.co/\(self.name)")!
        }

        self.promptExamples = (try? container.decode([PromptExample].self, forKey: .promptExamples)) ?? []
        
        self.multimodal = try container.decode(Bool.self, forKey: .multimodal)
        self.unlisted = try container.decode(Bool.self, forKey: .unlisted)
        self.description = (try? container.decode(String.self, forKey: .description)) ?? ""

        self.preprompt = try container.decode(String.self, forKey: .preprompt)
        self.tools = try container.decode(Bool.self, forKey: .tools)
    }