rss-reader
23 строки · 717.0 Байт
1const parser = new DOMParser();2
3const extractDataFromItem = (item) => ({4title: item.querySelector('title').textContent,5description: item.querySelector('description').textContent,6link: item.querySelector('link').textContent,7});8
9export default (rss) => {10const xml = parser.parseFromString(rss.data.contents, 'application/xml');11const parseError = xml.querySelector('parsererror');12if (parseError) {13const error = new Error(parseError.textContent);14error.name = 'ParsingError';15throw error;16}17const items = xml.querySelectorAll('item');18const data = {19feeds: extractDataFromItem(xml),20items: Array.from(items).map((item) => extractDataFromItem(item)),21};22return data;23};24