rss-reader

Форк
0
/
parser.js 
23 строки · 717.0 Байт
1
const parser = new DOMParser();
2

3
const extractDataFromItem = (item) => ({
4
  title: item.querySelector('title').textContent,
5
  description: item.querySelector('description').textContent,
6
  link: item.querySelector('link').textContent,
7
});
8

9
export default (rss) => {
10
  const xml = parser.parseFromString(rss.data.contents, 'application/xml');
11
  const parseError = xml.querySelector('parsererror');
12
  if (parseError) {
13
    const error = new Error(parseError.textContent);
14
    error.name = 'ParsingError';
15
    throw error;
16
  }
17
  const items = xml.querySelectorAll('item');
18
  const data = {
19
    feeds: extractDataFromItem(xml),
20
    items: Array.from(items).map((item) => extractDataFromItem(item)),
21
  };
22
  return data;
23
};
24

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.