UNPKG

kinopoisk-rating

Version:

API-клиент для получения рейтингов с Кинопоиска и IMDb

34 lines (33 loc) 1.19 kB
import { parseString } from 'xml2js'; import { KinopoiskError } from "./errors"; export function parseXML(xml) { return new Promise((resolve, reject) => { parseString(xml, { explicitArray: false, trim: true, mergeAttrs: false, normalizeTags: true, normalize: true }, (err, result) => { var _a, _b; if (err) { reject(err); } else if (!((_a = result === null || result === void 0 ? void 0 : result.rating) === null || _a === void 0 ? void 0 : _a.kp_rating) || !((_b = result === null || result === void 0 ? void 0 : result.rating) === null || _b === void 0 ? void 0 : _b.imdb_rating)) { reject(new KinopoiskError('Неверный формат XML')); } else { resolve(result.rating); } }); }); } export async function parseXMLPromise(xml) { try { return await parseXML(xml); } catch (error) { console.error("Ошибка при парсинге XML:", error); throw new KinopoiskError("Ошибка парсинга XML"); } }