UNPKG

text-to-map

Version:

Text To Map usiluje o lepší, strojově zpracovatelné využití částí vyhlášek s výčtem ulic a dalších lokací. Jde o rozšiřitelnou sadu konceptů a nástrojů, které zajistí hladký převod výčtu ulic a jejich rozsahů v lidsky srozumitelném jazyce do strojově zpra

57 lines 7.37 kB
import FeedParser from "feedparser"; import fetch from "node-fetch"; import { pipeline } from "stream/promises"; export const getLatestUrlFromAtomFeed = async (atomFeedUrl) => { const response = await fetch(atomFeedUrl); const feedparser = new FeedParser({}); let link = null; if (response.status !== 200) { throw new Error(`The Atom feed from atom.cuzk.cz not working. HTTP status ${response.status}`); } feedparser.on("error", (error) => { throw new Error(`The Atom feed from atom.cuzk.cz could not be loaded.`); }); feedparser.on("readable", function () { let item; let maxDate = new Date(); maxDate.setFullYear(1990); while ((item = this.read())) { if (item.date > maxDate) { maxDate = item.date; link = item.link; } } }); await pipeline(response.body, feedparser); if (link != null) { return link; } else { throw new Error("Could not find any dataset feed link."); } }; export const getAllUrlsFromAtomFeed = async (atomFeedUrl) => { const response = await fetch(atomFeedUrl); const feedparser = new FeedParser({}); const links = []; if (response.status !== 200) { throw new Error(`The Atom feed from atom.cuzk.cz not working. HTTP status ${response.status}`); } feedparser.on("error", (error) => { throw new Error(`The Atom feed from atom.cuzk.cz could not be loaded.`); }); feedparser.on("readable", function () { let item; while ((item = this.read())) { links.push(item.link); } }); await pipeline(response.body, feedparser); if (links.length > 0) { return links; } else { throw new Error("Could not find any dataset feed link."); } }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hdG9tLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sVUFBVSxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFDL0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEtBQUssRUFDM0MsV0FBbUIsRUFDRixFQUFFO0lBQ25CLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztJQUVoQixJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQ2IsNERBQTRELFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FDOUUsQ0FBQztLQUNIO0lBRUQsVUFBVSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7SUFDMUUsQ0FBQyxDQUFDLENBQUM7SUFFSCxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRTtRQUN4QixJQUFJLElBQXFCLENBQUM7UUFFMUIsSUFBSSxPQUFPLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUU7WUFDM0IsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRTtnQkFDdkIsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2xCO1NBQ0Y7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFFMUMsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7U0FBTTtRQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztLQUMxRDtBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEtBQUssRUFDekMsV0FBbUIsRUFDQSxFQUFFO0lBQ3JCLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztJQUUzQixJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQ2IsNERBQTRELFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FDOUUsQ0FBQztLQUNIO0lBRUQsVUFBVSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7SUFDMUUsQ0FBQyxDQUFDLENBQUM7SUFFSCxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRTtRQUN4QixJQUFJLElBQXFCLENBQUM7UUFFMUIsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRTtZQUMzQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztJQUUxQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7U0FBTTtRQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztLQUMxRDtBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBGZWVkUGFyc2VyIGZyb20gXCJmZWVkcGFyc2VyXCI7XHJcbmltcG9ydCBmZXRjaCBmcm9tIFwibm9kZS1mZXRjaFwiO1xyXG5pbXBvcnQgeyBwaXBlbGluZSB9IGZyb20gXCJzdHJlYW0vcHJvbWlzZXNcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRMYXRlc3RVcmxGcm9tQXRvbUZlZWQgPSBhc3luYyAoXHJcbiAgYXRvbUZlZWRVcmw6IHN0cmluZ1xyXG4pOiBQcm9taXNlPHN0cmluZz4gPT4ge1xyXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYXRvbUZlZWRVcmwpO1xyXG4gIGNvbnN0IGZlZWRwYXJzZXIgPSBuZXcgRmVlZFBhcnNlcih7fSk7XHJcbiAgbGV0IGxpbmsgPSBudWxsO1xyXG5cclxuICBpZiAocmVzcG9uc2Uuc3RhdHVzICE9PSAyMDApIHtcclxuICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgYFRoZSBBdG9tIGZlZWQgZnJvbSBhdG9tLmN1emsuY3ogbm90IHdvcmtpbmcuIEhUVFAgc3RhdHVzICR7cmVzcG9uc2Uuc3RhdHVzfWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBmZWVkcGFyc2VyLm9uKFwiZXJyb3JcIiwgKGVycm9yKSA9PiB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBBdG9tIGZlZWQgZnJvbSBhdG9tLmN1emsuY3ogY291bGQgbm90IGJlIGxvYWRlZC5gKTtcclxuICB9KTtcclxuXHJcbiAgZmVlZHBhcnNlci5vbihcInJlYWRhYmxlXCIsIGZ1bmN0aW9uICgpIHtcclxuICAgIGxldCBpdGVtOiBGZWVkUGFyc2VyLkl0ZW07XHJcblxyXG4gICAgbGV0IG1heERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgbWF4RGF0ZS5zZXRGdWxsWWVhcigxOTkwKTtcclxuICAgIHdoaWxlICgoaXRlbSA9IHRoaXMucmVhZCgpKSkge1xyXG4gICAgICBpZiAoaXRlbS5kYXRlID4gbWF4RGF0ZSkge1xyXG4gICAgICAgIG1heERhdGUgPSBpdGVtLmRhdGU7XHJcbiAgICAgICAgbGluayA9IGl0ZW0ubGluaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICBhd2FpdCBwaXBlbGluZShyZXNwb25zZS5ib2R5LCBmZWVkcGFyc2VyKTtcclxuXHJcbiAgaWYgKGxpbmsgIT0gbnVsbCkge1xyXG4gICAgcmV0dXJuIGxpbms7XHJcbiAgfSBlbHNlIHtcclxuICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkIG5vdCBmaW5kIGFueSBkYXRhc2V0IGZlZWQgbGluay5cIik7XHJcbiAgfVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEFsbFVybHNGcm9tQXRvbUZlZWQgPSBhc3luYyAoXHJcbiAgYXRvbUZlZWRVcmw6IHN0cmluZ1xyXG4pOiBQcm9taXNlPHN0cmluZ1tdPiA9PiB7XHJcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChhdG9tRmVlZFVybCk7XHJcbiAgY29uc3QgZmVlZHBhcnNlciA9IG5ldyBGZWVkUGFyc2VyKHt9KTtcclxuICBjb25zdCBsaW5rczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgaWYgKHJlc3BvbnNlLnN0YXR1cyAhPT0gMjAwKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgIGBUaGUgQXRvbSBmZWVkIGZyb20gYXRvbS5jdXprLmN6IG5vdCB3b3JraW5nLiBIVFRQIHN0YXR1cyAke3Jlc3BvbnNlLnN0YXR1c31gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZmVlZHBhcnNlci5vbihcImVycm9yXCIsIChlcnJvcikgPT4ge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgQXRvbSBmZWVkIGZyb20gYXRvbS5jdXprLmN6IGNvdWxkIG5vdCBiZSBsb2FkZWQuYCk7XHJcbiAgfSk7XHJcblxyXG4gIGZlZWRwYXJzZXIub24oXCJyZWFkYWJsZVwiLCBmdW5jdGlvbiAoKSB7XHJcbiAgICBsZXQgaXRlbTogRmVlZFBhcnNlci5JdGVtO1xyXG5cclxuICAgIHdoaWxlICgoaXRlbSA9IHRoaXMucmVhZCgpKSkge1xyXG4gICAgICBsaW5rcy5wdXNoKGl0ZW0ubGluayk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIGF3YWl0IHBpcGVsaW5lKHJlc3BvbnNlLmJvZHksIGZlZWRwYXJzZXIpO1xyXG5cclxuICBpZiAobGlua3MubGVuZ3RoID4gMCkge1xyXG4gICAgcmV0dXJuIGxpbmtzO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZCBub3QgZmluZCBhbnkgZGF0YXNldCBmZWVkIGxpbmsuXCIpO1xyXG4gIH1cclxufTtcclxuIl19