File indexing completed on 2024-05-12 16:16:03

0001 /*
0002    SPDX-FileCopyrightText: 2019-2023 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "languagetoollistoflanguagesparser.h"
0008 
0009 #include <QJsonArray>
0010 #include <QJsonObject>
0011 using namespace TextGrammarCheck;
0012 LanguageToolListOfLanguagesParser::LanguageToolListOfLanguagesParser() = default;
0013 
0014 LanguageToolListOfLanguagesParser::~LanguageToolListOfLanguagesParser() = default;
0015 
0016 QVector<LanguageInfo> LanguageToolListOfLanguagesParser::parseResult(const QJsonArray &array) const
0017 {
0018     QVector<LanguageInfo> lstLanguageInfo;
0019     for (const QJsonValue &current : array) {
0020         // qDebug() << " current " << current;
0021         if (current.type() == QJsonValue::Object) {
0022             const QJsonObject languageToolObject = current.toObject();
0023             LanguageInfo lang;
0024             lang.parse(languageToolObject);
0025             if (lang.isValid()) {
0026                 lstLanguageInfo.append(std::move(lang));
0027             }
0028         }
0029     }
0030     lstLanguageInfo.erase(std::unique(lstLanguageInfo.begin(), lstLanguageInfo.end()), lstLanguageInfo.end());
0031     return lstLanguageInfo;
0032 }