text-to-map 1.1.29 → 1.1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/clear-all.js +8 -19
- package/dist/bin/init-db.js +5 -16
- package/dist/bin/knex.js +6 -17
- package/dist/bin/parse-ordinance.js +60 -71
- package/dist/bin/polygons.js +22 -33
- package/dist/db/address-points.js +43 -54
- package/dist/db/cities.js +25 -31
- package/dist/db/db.js +24 -33
- package/dist/db/founders.js +101 -89
- package/dist/db/meta.js +12 -21
- package/dist/db/migrations/20230704125715_initial.js +291 -304
- package/dist/db/migrations/20230731232915_city_positions.js +9 -22
- package/dist/db/migrations/20240106224603_city_polygon.js +7 -20
- package/dist/db/migrations/20240320200534_district_polygon.js +7 -20
- package/dist/db/migrations/20240729211323_ordinance_city.js +11 -0
- package/dist/db/regions.js +20 -29
- package/dist/db/schools.d.ts +1 -1
- package/dist/db/schools.js +18 -24
- package/dist/db/street-sync.js +13 -22
- package/dist/db/sync-log.js +25 -34
- package/dist/index.js +10 -21
- package/dist/open-data-sync/address-points.js +21 -30
- package/dist/open-data-sync/cities.js +10 -19
- package/dist/open-data-sync/common.js +8 -17
- package/dist/open-data-sync/regions.js +13 -22
- package/dist/open-data-sync/schools.js +20 -29
- package/dist/open-data-sync/streets.js +29 -35
- package/dist/smd-to-csv/ordinance-to-csv-rules.js +4 -13
- package/dist/smd-to-csv/txt-to-json.js +59 -70
- package/dist/street-markdown/municipality.js +26 -29
- package/dist/street-markdown/polygons.d.ts +4 -4
- package/dist/street-markdown/polygons.js +127 -70
- package/dist/street-markdown/smd-line-parser.js +6 -9
- package/dist/street-markdown/smd-parser.js +2 -3
- package/dist/street-markdown/smd.d.ts +7 -1
- package/dist/street-markdown/smd.js +180 -152
- package/dist/street-markdown/types.d.ts +19 -10
- package/dist/street-markdown/types.js +1 -1
- package/dist/utils/atom.js +9 -18
- package/dist/utils/helpers.d.ts +1 -1
- package/dist/utils/helpers.js +10 -5
- package/package.json +5 -1
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import AdmZip from "adm-zip";
|
|
11
2
|
import { createWriteStream, existsSync, mkdirSync, rmSync } from "fs";
|
|
12
3
|
import fetch from "node-fetch";
|
|
@@ -31,13 +22,13 @@ const prepareFolders = (options) => {
|
|
|
31
22
|
const getTempFolder = (options) => {
|
|
32
23
|
return join(options.tmpDir, options.streetZipFolderName);
|
|
33
24
|
};
|
|
34
|
-
const downloadZipAndParseFiles = (url, index, options) =>
|
|
35
|
-
const response =
|
|
25
|
+
const downloadZipAndParseFiles = async (url, index, options) => {
|
|
26
|
+
const response = await fetch(url);
|
|
36
27
|
if (response.status !== 200) {
|
|
37
28
|
throw new Error(`The ZIP file from '${url}' could not be downloaded. HTTP Code: ${response.status}`);
|
|
38
29
|
}
|
|
39
30
|
const zipFilePath = join(getTempFolder(options), `street${index}.zip`);
|
|
40
|
-
|
|
31
|
+
await pipeline(response.body, createWriteStream(zipFilePath));
|
|
41
32
|
const zip = new AdmZip(zipFilePath);
|
|
42
33
|
const folderName = zip.getEntries()[0].entryName;
|
|
43
34
|
const cityCode = folderName.substring(0, 6);
|
|
@@ -54,10 +45,13 @@ const downloadZipAndParseFiles = (url, index, options) => __awaiter(void 0, void
|
|
|
54
45
|
}
|
|
55
46
|
rmSync(zipFilePath);
|
|
56
47
|
return { streetData, polygonData, districtsPolygonData, cityCode };
|
|
57
|
-
}
|
|
48
|
+
};
|
|
58
49
|
const convertShpToGeoJson = (shpBuffer, dbfBuffer) => {
|
|
59
50
|
const shp = new ShpToGeoJson({
|
|
60
|
-
arraybuffers:
|
|
51
|
+
arraybuffers: {
|
|
52
|
+
shpBuffer,
|
|
53
|
+
...(dbfBuffer ? { dbfBuffer } : {}),
|
|
54
|
+
},
|
|
61
55
|
});
|
|
62
56
|
const geoJson = shp.getGeoJson();
|
|
63
57
|
delete geoJson.bbox;
|
|
@@ -69,21 +63,21 @@ const convertShpToGeoJson = (shpBuffer, dbfBuffer) => {
|
|
|
69
63
|
});
|
|
70
64
|
return geoJson;
|
|
71
65
|
};
|
|
72
|
-
const importDataToDb = ({ streetData, cityCode, polygonData, districtsPolygonData, }) =>
|
|
66
|
+
const importDataToDb = async ({ streetData, cityCode, polygonData, districtsPolygonData, }) => {
|
|
73
67
|
if (streetData.length > 0) {
|
|
74
|
-
|
|
68
|
+
await insertStreetsFromDbf(streetData);
|
|
75
69
|
}
|
|
76
|
-
|
|
77
|
-
}
|
|
70
|
+
await setCityPolygonGeojson(cityCode, polygonData, districtsPolygonData);
|
|
71
|
+
};
|
|
78
72
|
const attempts = 5;
|
|
79
|
-
export const downloadAndImportStreets = (options = {}) =>
|
|
80
|
-
|
|
73
|
+
export const downloadAndImportStreets = async (options = {}) => {
|
|
74
|
+
await runSyncPart(SyncPart.Streets, [SyncPart.AddressPoints], async () => {
|
|
81
75
|
console.log("Starting to download and import streets. This takes up to 1 hour.");
|
|
82
76
|
const completeOptions = prepareOptions(options);
|
|
83
77
|
prepareFolders(completeOptions);
|
|
84
|
-
const allDatasetFeedLinks =
|
|
78
|
+
const allDatasetFeedLinks = await getAllUrlsFromAtomFeed(completeOptions.streetsAtomUrl);
|
|
85
79
|
console.log(`Total of ${allDatasetFeedLinks.length} links to ZIP files.`);
|
|
86
|
-
const syncedStreetLinks =
|
|
80
|
+
const syncedStreetLinks = await getAllSyncedStreets();
|
|
87
81
|
const toDelete = [];
|
|
88
82
|
// remove all deprecated links (not in the new list)
|
|
89
83
|
syncedStreetLinks.forEach((link) => {
|
|
@@ -92,7 +86,7 @@ export const downloadAndImportStreets = (options = {}) => __awaiter(void 0, void
|
|
|
92
86
|
delete syncedStreetLinks[link];
|
|
93
87
|
}
|
|
94
88
|
});
|
|
95
|
-
|
|
89
|
+
await deleteStreets(toDelete);
|
|
96
90
|
let done = syncedStreetLinks.size;
|
|
97
91
|
console.log(`Total of ${done} links to ZIP files already stored.`);
|
|
98
92
|
// get all links not yet stored
|
|
@@ -102,13 +96,13 @@ export const downloadAndImportStreets = (options = {}) => __awaiter(void 0, void
|
|
|
102
96
|
for (const link of newLinks) {
|
|
103
97
|
for (let i = 0; i < attempts; i++) {
|
|
104
98
|
try {
|
|
105
|
-
const zipLink =
|
|
106
|
-
const data =
|
|
107
|
-
|
|
108
|
-
|
|
99
|
+
const zipLink = await getLatestUrlFromAtomFeed(link);
|
|
100
|
+
const data = await downloadZipAndParseFiles(zipLink, done, completeOptions);
|
|
101
|
+
await importDataToDb(data);
|
|
102
|
+
await setStreetAsSynced(link);
|
|
109
103
|
done++;
|
|
110
104
|
console.log(`Loaded links: ${done}/${allDatasetFeedLinks.length}`);
|
|
111
|
-
|
|
105
|
+
await wait(delay);
|
|
112
106
|
break;
|
|
113
107
|
}
|
|
114
108
|
catch (error) {
|
|
@@ -117,7 +111,7 @@ export const downloadAndImportStreets = (options = {}) => __awaiter(void 0, void
|
|
|
117
111
|
const waitTime = (i + 1) * 3;
|
|
118
112
|
console.error(`Error connecting to CUZK servers, retrying in ${waitTime} seconds...`);
|
|
119
113
|
console.log(error);
|
|
120
|
-
|
|
114
|
+
await wait(waitTime * 1000);
|
|
121
115
|
}
|
|
122
116
|
else {
|
|
123
117
|
throw error;
|
|
@@ -125,9 +119,9 @@ export const downloadAndImportStreets = (options = {}) => __awaiter(void 0, void
|
|
|
125
119
|
}
|
|
126
120
|
}
|
|
127
121
|
}
|
|
128
|
-
})
|
|
129
|
-
}
|
|
130
|
-
const wait = (ms) =>
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVuLWRhdGEtc3luYy9zdHJlZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUU3QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDdEUsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQy9CLE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQztBQUNoQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsaUJBQWlCLEdBQ2xCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFhLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHdCQUF3QixHQUN6QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsY0FBYyxHQUNmLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxVQUFVLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxNQUFNLGNBQWMsR0FBRyxDQUFDLE9BQTRCLEVBQUUsRUFBRTtJQUN0RCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsSUFBSSxDQUFDLFVB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QUFFLENBQUMsQ0FBQyxDQUFDO0FBQzFELENBQUMsQ0FBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFkbVppcCBmcm9tIFwiYWRtLXppcFwiO1xyXG5pbXBvcnQgeyBCdWZmZXIgfSBmcm9tIFwiYnVmZmVyXCI7XHJcbmltcG9ydCB7IGNyZWF0ZVdyaXRlU3RyZWFtLCBleGlzdHNTeW5jLCBta2RpclN5bmMsIHJtU3luYyB9IGZyb20gXCJmc1wiO1xyXG5pbXBvcnQgZmV0Y2ggZnJvbSBcIm5vZGUtZmV0Y2hcIjtcclxuaW1wb3J0IHBhcnNlREJGIGZyb20gXCJwYXJzZWRiZlwiO1xyXG5pbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGhcIjtcclxuaW1wb3J0IFNocFRvR2VvSnNvbiBmcm9tIFwic2hwLXRvLWdlb2pzb25cIjtcclxuaW1wb3J0IHsgcGlwZWxpbmUgfSBmcm9tIFwic3RyZWFtL3Byb21pc2VzXCI7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlQ29sbGVjdGlvbiB9IGZyb20gXCJAdHVyZi9oZWxwZXJzXCI7XHJcbmltcG9ydCB7IGNvb3JkRWFjaCB9IGZyb20gXCJAdHVyZi9tZXRhXCI7XHJcbmltcG9ydCB7IHNldENpdHlQb2x5Z29uR2VvanNvbiB9IGZyb20gXCIuLi9kYi9jaXRpZXNcIjtcclxuaW1wb3J0IHtcclxuICBkZWxldGVTdHJlZXRzLFxyXG4gIGdldEFsbFN5bmNlZFN0cmVldHMsXHJcbiAgaW5zZXJ0U3RyZWV0c0Zyb21EYmYsXHJcbiAgc2V0U3RyZWV0QXNTeW5jZWQsXHJcbn0gZnJvbSBcIi4uL2RiL3N0cmVldC1zeW5jXCI7XHJcbmltcG9ydCB7IERiZlN0cmVldCwgU3luY1BhcnQgfSBmcm9tIFwiLi4vZGIvdHlwZXNcIjtcclxuaW1wb3J0IHtcclxuICBnZXRBbGxVcmxzRnJvbUF0b21GZWVkLFxyXG4gIGdldExhdGVzdFVybEZyb21BdG9tRmVlZCxcclxufSBmcm9tIFwiLi4vdXRpbHMvYXRvbVwiO1xyXG5pbXBvcnQge1xyXG4gIE9wZW5EYXRhU3luY09wdGlvbnMsXHJcbiAgT3BlbkRhdGFTeW5jT3B0aW9uc1BhcnRpYWwsXHJcbiAgcHJlcGFyZU9wdGlvbnMsXHJcbn0gZnJvbSBcIi4uL3V0aWxzL2hlbHBlcnNcIjtcclxuaW1wb3J0IGp0c2syd2dzODQgZnJvbSBcIi4uL3V0aWxzL2p0c2syd2dzODRcIjtcclxuaW1wb3J0IHsgcnVuU3luY1BhcnQgfSBmcm9tIFwiLi9jb21tb25cIjtcclxuXHJcbmNvbnN0IHByZXBhcmVGb2xkZXJzID0gKG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnMpID0+IHtcclxuICBjb25zdCB0ZW1wRm9sZGVyID0gZ2V0VGVtcEZvbGRlcihvcHRpb25zKTtcclxuICBpZiAoIWV4aXN0c1N5bmModGVtcEZvbGRlcikpIHtcclxuICAgIG1rZGlyU3luYyh0ZW1wRm9sZGVyKTtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCBnZXRUZW1wRm9sZGVyID0gKG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnMpID0+IHtcclxuICByZXR1cm4gam9pbihvcHRpb25zLnRtcERpciwgb3B0aW9ucy5zdHJlZXRaaXBGb2xkZXJOYW1lKTtcclxufTtcclxuXHJcbmNvbnN0IGRvd25sb2FkWmlwQW5kUGFyc2VGaWxlcyA9IGFzeW5jIChcclxuICB1cmw6IHN0cmluZyxcclxuICBpbmRleDogbnVtYmVyLFxyXG4gIG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnNcclxuKTogUHJvbWlzZTx7XHJcbiAgc3RyZWV0RGF0YTogRGJmU3RyZWV0W107XHJcbiAgcG9seWdvbkRhdGE6IEZlYXR1cmVDb2xsZWN0aW9uO1xyXG4gIGRpc3RyaWN0c1BvbHlnb25EYXRhPzogRmVhdHVyZUNvbGxlY3Rpb247XHJcbiAgY2l0eUNvZGU6IHN0cmluZztcclxufT4gPT4ge1xyXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKTtcclxuICBpZiAocmVzcG9uc2Uuc3RhdHVzICE9PSAyMDApIHtcclxuICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgYFRoZSBaSVAgZmlsZSBmcm9tICcke3VybH0nIGNvdWxkIG5vdCBiZSBkb3dubG9hZGVkLiBIVFRQIENvZGU6ICR7cmVzcG9uc2Uuc3RhdHVzfWBcclxuICAgICk7XHJcbiAgfVxyXG4gIGNvbnN0IHppcEZpbGVQYXRoID0gam9pbihnZXRUZW1wRm9sZGVyKG9wdGlvbnMpLCBgc3RyZWV0JHtpbmRleH0uemlwYCk7XHJcbiAgYXdhaXQgcGlwZWxpbmUocmVzcG9uc2UuYm9keSwgY3JlYXRlV3JpdGVTdHJlYW0oemlwRmlsZVBhdGgpKTtcclxuXHJcbiAgY29uc3QgemlwID0gbmV3IEFkbVppcCh6aXBGaWxlUGF0aCk7XHJcbiAgY29uc3QgZm9sZGVyTmFtZSA9IHppcC5nZXRFbnRyaWVzKClbMF0uZW50cnlOYW1lO1xyXG4gIGNvbnN0IGNpdHlDb2RlID0gZm9sZGVyTmFtZS5zdWJzdHJpbmcoMCwgNik7XHJcbiAgY29uc3QgZGJmRW50cnlOYW1lID0gYCR7Zm9sZGVyTmFtZX0ke29wdGlvbnMuc3RyZWV0RGJmRmlsZU5hbWV9YDtcclxuICBjb25zdCBzdHJlZXREYXRhID0gcGFyc2VEQkYoemlwLmdldEVudHJ5KGRiZkVudHJ5TmFtZSkuZ2V0RGF0YSgpLCBcIndpbjEyNTBcIik7XHJcblxyXG4gIGNvbnN0IHNocEVudHJ5TmFtZSA9IGAke2ZvbGRlck5hbWV9JHtvcHRpb25zLnBvbHlnb25TaHBGaWxlTmFtZX1gO1xyXG4gIGNvbnN0IHBvbHlnb25EYXRhID0gY29udmVydFNocFRvR2VvSnNvbih6aXAuZ2V0RW50cnkoc2hwRW50cnlOYW1lKS5nZXREYXRhKCkpO1xyXG5cclxuICBjb25zdCBkaXN0cmljdFNocEVudHJ5TmFtZSA9IGAke2ZvbGRlck5hbWV9JHtvcHRpb25zLmRpc3RyaWN0UG9seWdvblNocEZpbGVOYW1lfWA7XHJcbiAgY29uc3QgZGlzdHJpY3RTaHBFbnRyeSA9IHppcC5nZXRFbnRyeShkaXN0cmljdFNocEVudHJ5TmFtZSk7XHJcblxyXG4gIGxldCBkaXN0cmljdHNQb2x5Z29uRGF0YTogRmVhdHVyZUNvbGxlY3Rpb24gPSB1bmRlZmluZWQ7XHJcbiAgaWYgKGRpc3RyaWN0U2hwRW50cnkgIT09IG51bGwpIHtcclxuICAgIGNvbnN0IGRpc3RyaWN0RGJmRW50cnlOYW1lID0gYCR7Zm9sZGVyTmFtZX0ke29wdGlvbnMuZGlzdHJpY3RQb2x5Z29uRGJmRmlsZU5hbWV9YDtcclxuICAgIGRpc3RyaWN0c1BvbHlnb25EYXRhID0gY29udmVydFNocFRvR2VvSnNvbihcclxuICAgICAgZGlzdHJpY3RTaHBFbnRyeS5nZXREYXRhKCksXHJcbiAgICAgIHppcC5nZXRFbnRyeShkaXN0cmljdERiZkVudHJ5TmFtZSkuZ2V0RGF0YSgpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcm1TeW5jKHppcEZpbGVQYXRoKTtcclxuICByZXR1cm4geyBzdHJlZXREYXRhLCBwb2x5Z29uRGF0YSwgZGlzdHJpY3RzUG9seWdvbkRhdGEsIGNpdHlDb2RlIH07XHJcbn07XHJcblxyXG5jb25zdCBjb252ZXJ0U2hwVG9HZW9Kc29uID0gKFxyXG4gIHNocEJ1ZmZlcjogQnVmZmVyLFxyXG4gIGRiZkJ1ZmZlcj86IEJ1ZmZlclxyXG4pOiBGZWF0dXJlQ29sbGVjdGlvbiA9PiB7XHJcbiAgY29uc3Qgc2hwID0gbmV3IFNocFRvR2VvSnNvbih7XHJcbiAgICBhcnJheWJ1ZmZlcnM6IHtcclxuICAgICAgc2hwQnVmZmVyLFxyXG4gICAgICAuLi4oZGJmQnVmZmVyID8geyBkYmZCdWZmZXIgfSA6IHt9KSxcclxuICAgIH0sXHJcbiAgfSk7XHJcbiAgY29uc3QgZ2VvSnNvbiA9IHNocC5nZXRHZW9Kc29uKCk7XHJcbiAgZGVsZXRlIGdlb0pzb24uYmJveDtcclxuXHJcbiAgY29vcmRFYWNoKGdlb0pzb24sIChjdXJyZW50Q29vcmQpID0+IHtcclxuICAgIGNvbnN0IFt5LCB4XSA9IGN1cnJlbnRDb29yZDtcclxuICAgIGNvbnN0IHsgbGF0LCBsb24gfSA9IGp0c2syd2dzODQoLXgsIC15KTtcclxuICAgIGN1cnJlbnRDb29yZFswXSA9IGxvbjtcclxuICAgIGN1cnJlbnRDb29yZFsxXSA9IGxhdDtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGdlb0pzb247XHJcbn07XHJcblxyXG5jb25zdCBpbXBvcnREYXRhVG9EYiA9IGFzeW5jICh7XHJcbiAgc3RyZWV0RGF0YSxcclxuICBjaXR5Q29kZSxcclxuICBwb2x5Z29uRGF0YSxcclxuICBkaXN0cmljdHNQb2x5Z29uRGF0YSxcclxufToge1xyXG4gIHN0cmVldERhdGE6IERiZlN0cmVldFtdO1xyXG4gIGNpdHlDb2RlOiBzdHJpbmc7XHJcbiAgcG9seWdvbkRhdGE6IEZlYXR1cmVDb2xsZWN0aW9uO1xyXG4gIGRpc3RyaWN0c1BvbHlnb25EYXRhPzogRmVhdHVyZUNvbGxlY3Rpb247XHJcbn0pID0+IHtcclxuICBpZiAoc3RyZWV0RGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICBhd2FpdCBpbnNlcnRTdHJlZXRzRnJvbURiZihzdHJlZXREYXRhKTtcclxuICB9XHJcbiAgYXdhaXQgc2V0Q2l0eVBvbHlnb25HZW9qc29uKGNpdHlDb2RlLCBwb2x5Z29uRGF0YSwgZGlzdHJpY3RzUG9seWdvbkRhdGEpO1xyXG59O1xyXG5cclxuY29uc3QgYXR0ZW1wdHMgPSA1O1xyXG5cclxuZXhwb3J0IGNvbnN0IGRvd25sb2FkQW5kSW1wb3J0U3RyZWV0cyA9IGFzeW5jIChcclxuICBvcHRpb25zOiBPcGVuRGF0YVN5bmNPcHRpb25zUGFydGlhbCA9IHt9XHJcbik6IFByb21pc2U8dm9pZD4gPT4ge1xyXG4gIGF3YWl0IHJ1blN5bmNQYXJ0KFN5bmNQYXJ0LlN0cmVldHMsIFtTeW5jUGFydC5BZGRyZXNzUG9pbnRzXSwgYXN5bmMgKCkgPT4ge1xyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgIFwiU3RhcnRpbmcgdG8gZG93bmxvYWQgYW5kIGltcG9ydCBzdHJlZXRzLiBUaGlzIHRha2VzIHVwIHRvIDEgaG91ci5cIlxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBjb21wbGV0ZU9wdGlvbnMgPSBwcmVwYXJlT3B0aW9ucyhvcHRpb25zKTtcclxuICAgIHByZXBhcmVGb2xkZXJzKGNvbXBsZXRlT3B0aW9ucyk7XHJcblxyXG4gICAgY29uc3QgYWxsRGF0YXNldEZlZWRMaW5rcyA9IGF3YWl0IGdldEFsbFVybHNGcm9tQXRvbUZlZWQoXHJcbiAgICAgIGNvbXBsZXRlT3B0aW9ucy5zdHJlZXRzQXRvbVVybFxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zb2xlLmxvZyhgVG90YWwgb2YgJHthbGxEYXRhc2V0RmVlZExpbmtzLmxlbmd0aH0gbGlua3MgdG8gWklQIGZpbGVzLmApO1xyXG5cclxuICAgIGNvbnN0IHN5bmNlZFN0cmVldExpbmtzID0gYXdhaXQgZ2V0QWxsU3luY2VkU3RyZWV0cygpO1xyXG5cclxuICAgIGNvbnN0IHRvRGVsZXRlOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgLy8gcmVtb3ZlIGFsbCBkZXByZWNhdGVkIGxpbmtzIChub3QgaW4gdGhlIG5ldyBsaXN0KVxyXG4gICAgc3luY2VkU3RyZWV0TGlua3MuZm9yRWFjaCgobGluaykgPT4ge1xyXG4gICAgICBpZiAoIWFsbERhdGFzZXRGZWVkTGlua3MuaW5jbHVkZXMobGluaykpIHtcclxuICAgICAgICB0b0RlbGV0ZS5wdXNoKGxpbmspO1xyXG4gICAgICAgIGRlbGV0ZSBzeW5jZWRTdHJlZXRMaW5rc1tsaW5rXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgYXdhaXQgZGVsZXRlU3RyZWV0cyh0b0RlbGV0ZSk7XHJcblxyXG4gICAgbGV0IGRvbmUgPSBzeW5jZWRTdHJlZXRMaW5rcy5zaXplO1xyXG4gICAgY29uc29sZS5sb2coYFRvdGFsIG9mICR7ZG9uZX0gbGlua3MgdG8gWklQIGZpbGVzIGFscmVhZHkgc3RvcmVkLmApO1xyXG5cclxuICAgIC8vIGdldCBhbGwgbGlua3Mgbm90IHlldCBzdG9yZWRcclxuICAgIGNvbnN0IG5ld0xpbmtzID0gYWxsRGF0YXNldEZlZWRMaW5rcy5maWx0ZXIoXHJcbiAgICAgIChsaW5rKSA9PiAhc3luY2VkU3RyZWV0TGlua3MuaGFzKGxpbmspXHJcbiAgICApO1xyXG5cclxuICAgIGxldCBkZWxheSA9IDA7XHJcbiAgICBjb25zb2xlLmxvZyhgTG9hZGluZyAke25ld0xpbmtzLmxlbmd0aH0gbmV3IGxpbmtzIHRvIFpJUCBmaWxlcy5gKTtcclxuICAgIGZvciAoY29uc3QgbGluayBvZiBuZXdMaW5rcykge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGF0dGVtcHRzOyBpKyspIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY29uc3QgemlwTGluayA9IGF3YWl0IGdldExhdGVzdFVybEZyb21BdG9tRmVlZChsaW5rKTtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBkb3dubG9hZFppcEFuZFBhcnNlRmlsZXMoXHJcbiAgICAgICAgICAgIHppcExpbmssXHJcbiAgICAgICAgICAgIGRvbmUsXHJcbiAgICAgICAgICAgIGNvbXBsZXRlT3B0aW9uc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGF3YWl0IGltcG9ydERhdGFUb0RiKGRhdGEpO1xyXG4gICAgICAgICAgYXdhaXQgc2V0U3RyZWV0QXNTeW5jZWQobGluayk7XHJcblxyXG4gICAgICAgICAgZG9uZSsrO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coYExvYWRlZCBsaW5rczogJHtkb25lfS8ke2FsbERhdGFzZXRGZWVkTGlua3MubGVuZ3RofWApO1xyXG4gICAgICAgICAgYXdhaXQgd2FpdChkZWxheSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgaWYgKGkgPCBhdHRlbXB0cyAtIDEpIHtcclxuICAgICAgICAgICAgZGVsYXkgKz0gMTAwOyAvLyBpZiBlcnJvciBvY2N1cmVkLCBpdCBpcyBsaWtlbHkgdG8gcmVwZWF0IHNvIHdlIHdhaXQgYSBiaXQgbG9uZ2VyXHJcbiAgICAgICAgICAgIGNvbnN0IHdhaXRUaW1lID0gKGkgKyAxKSAqIDM7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXHJcbiAgICAgICAgICAgICAgYEVycm9yIGNvbm5lY3RpbmcgdG8gQ1VaSyBzZXJ2ZXJzLCByZXRyeWluZyBpbiAke3dhaXRUaW1lfSBzZWNvbmRzLi4uYFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgICAgIGF3YWl0IHdhaXQod2FpdFRpbWUgKiAxMDAwKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG59O1xyXG5cclxuY29uc3Qgd2FpdCA9IGFzeW5jIChtczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpKTtcclxufTtcclxuIl19
|
|
122
|
+
});
|
|
123
|
+
};
|
|
124
|
+
const wait = async (ms) => {
|
|
125
|
+
await new Promise((resolve) => setTimeout(resolve, ms));
|
|
126
|
+
};
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVuLWRhdGEtc3luYy9zdHJlZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUU3QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDdEUsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQy9CLE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQztBQUNoQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsaUJBQWlCLEdBQ2xCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFhLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHdCQUF3QixHQUN6QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsY0FBYyxHQUNmLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxVQUFVLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxNQUFNLGNBQWMsR0FBRyxDQUFDLE9BQTRCLEVBQUUsRUFBRTtJQUN0RCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxV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QUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDMUQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFkbVppcCBmcm9tIFwiYWRtLXppcFwiO1xyXG5pbXBvcnQgeyBCdWZmZXIgfSBmcm9tIFwiYnVmZmVyXCI7XHJcbmltcG9ydCB7IGNyZWF0ZVdyaXRlU3RyZWFtLCBleGlzdHNTeW5jLCBta2RpclN5bmMsIHJtU3luYyB9IGZyb20gXCJmc1wiO1xyXG5pbXBvcnQgZmV0Y2ggZnJvbSBcIm5vZGUtZmV0Y2hcIjtcclxuaW1wb3J0IHBhcnNlREJGIGZyb20gXCJwYXJzZWRiZlwiO1xyXG5pbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGhcIjtcclxuaW1wb3J0IFNocFRvR2VvSnNvbiBmcm9tIFwic2hwLXRvLWdlb2pzb25cIjtcclxuaW1wb3J0IHsgcGlwZWxpbmUgfSBmcm9tIFwic3RyZWFtL3Byb21pc2VzXCI7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlQ29sbGVjdGlvbiB9IGZyb20gXCJAdHVyZi9oZWxwZXJzXCI7XHJcbmltcG9ydCB7IGNvb3JkRWFjaCB9IGZyb20gXCJAdHVyZi9tZXRhXCI7XHJcbmltcG9ydCB7IHNldENpdHlQb2x5Z29uR2VvanNvbiB9IGZyb20gXCIuLi9kYi9jaXRpZXNcIjtcclxuaW1wb3J0IHtcclxuICBkZWxldGVTdHJlZXRzLFxyXG4gIGdldEFsbFN5bmNlZFN0cmVldHMsXHJcbiAgaW5zZXJ0U3RyZWV0c0Zyb21EYmYsXHJcbiAgc2V0U3RyZWV0QXNTeW5jZWQsXHJcbn0gZnJvbSBcIi4uL2RiL3N0cmVldC1zeW5jXCI7XHJcbmltcG9ydCB7IERiZlN0cmVldCwgU3luY1BhcnQgfSBmcm9tIFwiLi4vZGIvdHlwZXNcIjtcclxuaW1wb3J0IHtcclxuICBnZXRBbGxVcmxzRnJvbUF0b21GZWVkLFxyXG4gIGdldExhdGVzdFVybEZyb21BdG9tRmVlZCxcclxufSBmcm9tIFwiLi4vdXRpbHMvYXRvbVwiO1xyXG5pbXBvcnQge1xyXG4gIE9wZW5EYXRhU3luY09wdGlvbnMsXHJcbiAgT3BlbkRhdGFTeW5jT3B0aW9uc1BhcnRpYWwsXHJcbiAgcHJlcGFyZU9wdGlvbnMsXHJcbn0gZnJvbSBcIi4uL3V0aWxzL2hlbHBlcnNcIjtcclxuaW1wb3J0IGp0c2syd2dzODQgZnJvbSBcIi4uL3V0aWxzL2p0c2syd2dzODRcIjtcclxuaW1wb3J0IHsgcnVuU3luY1BhcnQgfSBmcm9tIFwiLi9jb21tb25cIjtcclxuXHJcbmNvbnN0IHByZXBhcmVGb2xkZXJzID0gKG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnMpID0+IHtcclxuICBjb25zdCB0ZW1wRm9sZGVyID0gZ2V0VGVtcEZvbGRlcihvcHRpb25zKTtcclxuICBpZiAoIWV4aXN0c1N5bmModGVtcEZvbGRlcikpIHtcclxuICAgIG1rZGlyU3luYyh0ZW1wRm9sZGVyKTtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCBnZXRUZW1wRm9sZGVyID0gKG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnMpID0+IHtcclxuICByZXR1cm4gam9pbihvcHRpb25zLnRtcERpciwgb3B0aW9ucy5zdHJlZXRaaXBGb2xkZXJOYW1lKTtcclxufTtcclxuXHJcbmNvbnN0IGRvd25sb2FkWmlwQW5kUGFyc2VGaWxlcyA9IGFzeW5jIChcclxuICB1cmw6IHN0cmluZyxcclxuICBpbmRleDogbnVtYmVyLFxyXG4gIG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnNcclxuKTogUHJvbWlzZTx7XHJcbiAgc3RyZWV0RGF0YTogRGJmU3RyZWV0W107XHJcbiAgcG9seWdvbkRhdGE6IEZlYXR1cmVDb2xsZWN0aW9uO1xyXG4gIGRpc3RyaWN0c1BvbHlnb25EYXRhPzogRmVhdHVyZUNvbGxlY3Rpb247XHJcbiAgY2l0eUNvZGU6IHN0cmluZztcclxufT4gPT4ge1xyXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKTtcclxuICBpZiAocmVzcG9uc2Uuc3RhdHVzICE9PSAyMDApIHtcclxuICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgYFRoZSBaSVAgZmlsZSBmcm9tICcke3VybH0nIGNvdWxkIG5vdCBiZSBkb3dubG9hZGVkLiBIVFRQIENvZGU6ICR7cmVzcG9uc2Uuc3RhdHVzfWBcclxuICAgICk7XHJcbiAgfVxyXG4gIGNvbnN0IHppcEZpbGVQYXRoID0gam9pbihnZXRUZW1wRm9sZGVyKG9wdGlvbnMpLCBgc3RyZWV0JHtpbmRleH0uemlwYCk7XHJcbiAgYXdhaXQgcGlwZWxpbmUocmVzcG9uc2UuYm9keSwgY3JlYXRlV3JpdGVTdHJlYW0oemlwRmlsZVBhdGgpKTtcclxuXHJcbiAgY29uc3QgemlwID0gbmV3IEFkbVppcCh6aXBGaWxlUGF0aCk7XHJcbiAgY29uc3QgZm9sZGVyTmFtZSA9IHppcC5nZXRFbnRyaWVzKClbMF0uZW50cnlOYW1lO1xyXG4gIGNvbnN0IGNpdHlDb2RlID0gZm9sZGVyTmFtZS5zdWJzdHJpbmcoMCwgNik7XHJcbiAgY29uc3QgZGJmRW50cnlOYW1lID0gYCR7Zm9sZGVyTmFtZX0ke29wdGlvbnMuc3RyZWV0RGJmRmlsZU5hbWV9YDtcclxuICBjb25zdCBzdHJlZXREYXRhID0gcGFyc2VEQkYoemlwLmdldEVudHJ5KGRiZkVudHJ5TmFtZSkuZ2V0RGF0YSgpLCBcIndpbjEyNTBcIik7XHJcblxyXG4gIGNvbnN0IHNocEVudHJ5TmFtZSA9IGAke2ZvbGRlck5hbWV9JHtvcHRpb25zLnBvbHlnb25TaHBGaWxlTmFtZX1gO1xyXG4gIGNvbnN0IHBvbHlnb25EYXRhID0gY29udmVydFNocFRvR2VvSnNvbih6aXAuZ2V0RW50cnkoc2hwRW50cnlOYW1lKS5nZXREYXRhKCkpO1xyXG5cclxuICBjb25zdCBkaXN0cmljdFNocEVudHJ5TmFtZSA9IGAke2ZvbGRlck5hbWV9JHtvcHRpb25zLmRpc3RyaWN0UG9seWdvblNocEZpbGVOYW1lfWA7XHJcbiAgY29uc3QgZGlzdHJpY3RTaHBFbnRyeSA9IHppcC5nZXRFbnRyeShkaXN0cmljdFNocEVudHJ5TmFtZSk7XHJcblxyXG4gIGxldCBkaXN0cmljdHNQb2x5Z29uRGF0YTogRmVhdHVyZUNvbGxlY3Rpb24gPSB1bmRlZmluZWQ7XHJcbiAgaWYgKGRpc3RyaWN0U2hwRW50cnkgIT09IG51bGwpIHtcclxuICAgIGNvbnN0IGRpc3RyaWN0RGJmRW50cnlOYW1lID0gYCR7Zm9sZGVyTmFtZX0ke29wdGlvbnMuZGlzdHJpY3RQb2x5Z29uRGJmRmlsZU5hbWV9YDtcclxuICAgIGRpc3RyaWN0c1BvbHlnb25EYXRhID0gY29udmVydFNocFRvR2VvSnNvbihcclxuICAgICAgZGlzdHJpY3RTaHBFbnRyeS5nZXREYXRhKCksXHJcbiAgICAgIHppcC5nZXRFbnRyeShkaXN0cmljdERiZkVudHJ5TmFtZSkuZ2V0RGF0YSgpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcm1TeW5jKHppcEZpbGVQYXRoKTtcclxuICByZXR1cm4geyBzdHJlZXREYXRhLCBwb2x5Z29uRGF0YSwgZGlzdHJpY3RzUG9seWdvbkRhdGEsIGNpdHlDb2RlIH07XHJcbn07XHJcblxyXG5jb25zdCBjb252ZXJ0U2hwVG9HZW9Kc29uID0gKFxyXG4gIHNocEJ1ZmZlcjogQnVmZmVyLFxyXG4gIGRiZkJ1ZmZlcj86IEJ1ZmZlclxyXG4pOiBGZWF0dXJlQ29sbGVjdGlvbiA9PiB7XHJcbiAgY29uc3Qgc2hwID0gbmV3IFNocFRvR2VvSnNvbih7XHJcbiAgICBhcnJheWJ1ZmZlcnM6IHtcclxuICAgICAgc2hwQnVmZmVyLFxyXG4gICAgICAuLi4oZGJmQnVmZmVyID8geyBkYmZCdWZmZXIgfSA6IHt9KSxcclxuICAgIH0sXHJcbiAgfSk7XHJcbiAgY29uc3QgZ2VvSnNvbiA9IHNocC5nZXRHZW9Kc29uKCk7XHJcbiAgZGVsZXRlIGdlb0pzb24uYmJveDtcclxuXHJcbiAgY29vcmRFYWNoKGdlb0pzb24sIChjdXJyZW50Q29vcmQpID0+IHtcclxuICAgIGNvbnN0IFt5LCB4XSA9IGN1cnJlbnRDb29yZDtcclxuICAgIGNvbnN0IHsgbGF0LCBsb24gfSA9IGp0c2syd2dzODQoLXgsIC15KTtcclxuICAgIGN1cnJlbnRDb29yZFswXSA9IGxvbjtcclxuICAgIGN1cnJlbnRDb29yZFsxXSA9IGxhdDtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGdlb0pzb247XHJcbn07XHJcblxyXG5jb25zdCBpbXBvcnREYXRhVG9EYiA9IGFzeW5jICh7XHJcbiAgc3RyZWV0RGF0YSxcclxuICBjaXR5Q29kZSxcclxuICBwb2x5Z29uRGF0YSxcclxuICBkaXN0cmljdHNQb2x5Z29uRGF0YSxcclxufToge1xyXG4gIHN0cmVldERhdGE6IERiZlN0cmVldFtdO1xyXG4gIGNpdHlDb2RlOiBzdHJpbmc7XHJcbiAgcG9seWdvbkRhdGE6IEZlYXR1cmVDb2xsZWN0aW9uO1xyXG4gIGRpc3RyaWN0c1BvbHlnb25EYXRhPzogRmVhdHVyZUNvbGxlY3Rpb247XHJcbn0pID0+IHtcclxuICBpZiAoc3RyZWV0RGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICBhd2FpdCBpbnNlcnRTdHJlZXRzRnJvbURiZihzdHJlZXREYXRhKTtcclxuICB9XHJcbiAgYXdhaXQgc2V0Q2l0eVBvbHlnb25HZW9qc29uKGNpdHlDb2RlLCBwb2x5Z29uRGF0YSwgZGlzdHJpY3RzUG9seWdvbkRhdGEpO1xyXG59O1xyXG5cclxuY29uc3QgYXR0ZW1wdHMgPSA1O1xyXG5cclxuZXhwb3J0IGNvbnN0IGRvd25sb2FkQW5kSW1wb3J0U3RyZWV0cyA9IGFzeW5jIChcclxuICBvcHRpb25zOiBPcGVuRGF0YVN5bmNPcHRpb25zUGFydGlhbCA9IHt9XHJcbik6IFByb21pc2U8dm9pZD4gPT4ge1xyXG4gIGF3YWl0IHJ1blN5bmNQYXJ0KFN5bmNQYXJ0LlN0cmVldHMsIFtTeW5jUGFydC5BZGRyZXNzUG9pbnRzXSwgYXN5bmMgKCkgPT4ge1xyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgIFwiU3RhcnRpbmcgdG8gZG93bmxvYWQgYW5kIGltcG9ydCBzdHJlZXRzLiBUaGlzIHRha2VzIHVwIHRvIDEgaG91ci5cIlxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBjb21wbGV0ZU9wdGlvbnMgPSBwcmVwYXJlT3B0aW9ucyhvcHRpb25zKTtcclxuICAgIHByZXBhcmVGb2xkZXJzKGNvbXBsZXRlT3B0aW9ucyk7XHJcblxyXG4gICAgY29uc3QgYWxsRGF0YXNldEZlZWRMaW5rcyA9IGF3YWl0IGdldEFsbFVybHNGcm9tQXRvbUZlZWQoXHJcbiAgICAgIGNvbXBsZXRlT3B0aW9ucy5zdHJlZXRzQXRvbVVybFxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zb2xlLmxvZyhgVG90YWwgb2YgJHthbGxEYXRhc2V0RmVlZExpbmtzLmxlbmd0aH0gbGlua3MgdG8gWklQIGZpbGVzLmApO1xyXG5cclxuICAgIGNvbnN0IHN5bmNlZFN0cmVldExpbmtzID0gYXdhaXQgZ2V0QWxsU3luY2VkU3RyZWV0cygpO1xyXG5cclxuICAgIGNvbnN0IHRvRGVsZXRlOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgLy8gcmVtb3ZlIGFsbCBkZXByZWNhdGVkIGxpbmtzIChub3QgaW4gdGhlIG5ldyBsaXN0KVxyXG4gICAgc3luY2VkU3RyZWV0TGlua3MuZm9yRWFjaCgobGluaykgPT4ge1xyXG4gICAgICBpZiAoIWFsbERhdGFzZXRGZWVkTGlua3MuaW5jbHVkZXMobGluaykpIHtcclxuICAgICAgICB0b0RlbGV0ZS5wdXNoKGxpbmspO1xyXG4gICAgICAgIGRlbGV0ZSBzeW5jZWRTdHJlZXRMaW5rc1tsaW5rXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgYXdhaXQgZGVsZXRlU3RyZWV0cyh0b0RlbGV0ZSk7XHJcblxyXG4gICAgbGV0IGRvbmUgPSBzeW5jZWRTdHJlZXRMaW5rcy5zaXplO1xyXG4gICAgY29uc29sZS5sb2coYFRvdGFsIG9mICR7ZG9uZX0gbGlua3MgdG8gWklQIGZpbGVzIGFscmVhZHkgc3RvcmVkLmApO1xyXG5cclxuICAgIC8vIGdldCBhbGwgbGlua3Mgbm90IHlldCBzdG9yZWRcclxuICAgIGNvbnN0IG5ld0xpbmtzID0gYWxsRGF0YXNldEZlZWRMaW5rcy5maWx0ZXIoXHJcbiAgICAgIChsaW5rKSA9PiAhc3luY2VkU3RyZWV0TGlua3MuaGFzKGxpbmspXHJcbiAgICApO1xyXG5cclxuICAgIGxldCBkZWxheSA9IDA7XHJcbiAgICBjb25zb2xlLmxvZyhgTG9hZGluZyAke25ld0xpbmtzLmxlbmd0aH0gbmV3IGxpbmtzIHRvIFpJUCBmaWxlcy5gKTtcclxuICAgIGZvciAoY29uc3QgbGluayBvZiBuZXdMaW5rcykge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGF0dGVtcHRzOyBpKyspIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY29uc3QgemlwTGluayA9IGF3YWl0IGdldExhdGVzdFVybEZyb21BdG9tRmVlZChsaW5rKTtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBkb3dubG9hZFppcEFuZFBhcnNlRmlsZXMoXHJcbiAgICAgICAgICAgIHppcExpbmssXHJcbiAgICAgICAgICAgIGRvbmUsXHJcbiAgICAgICAgICAgIGNvbXBsZXRlT3B0aW9uc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGF3YWl0IGltcG9ydERhdGFUb0RiKGRhdGEpO1xyXG4gICAgICAgICAgYXdhaXQgc2V0U3RyZWV0QXNTeW5jZWQobGluayk7XHJcblxyXG4gICAgICAgICAgZG9uZSsrO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coYExvYWRlZCBsaW5rczogJHtkb25lfS8ke2FsbERhdGFzZXRGZWVkTGlua3MubGVuZ3RofWApO1xyXG4gICAgICAgICAgYXdhaXQgd2FpdChkZWxheSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgaWYgKGkgPCBhdHRlbXB0cyAtIDEpIHtcclxuICAgICAgICAgICAgZGVsYXkgKz0gMTAwOyAvLyBpZiBlcnJvciBvY2N1cmVkLCBpdCBpcyBsaWtlbHkgdG8gcmVwZWF0IHNvIHdlIHdhaXQgYSBiaXQgbG9uZ2VyXHJcbiAgICAgICAgICAgIGNvbnN0IHdhaXRUaW1lID0gKGkgKyAxKSAqIDM7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXHJcbiAgICAgICAgICAgICAgYEVycm9yIGNvbm5lY3RpbmcgdG8gQ1VaSyBzZXJ2ZXJzLCByZXRyeWluZyBpbiAke3dhaXRUaW1lfSBzZWNvbmRzLi4uYFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgICAgIGF3YWl0IHdhaXQod2FpdFRpbWUgKiAxMDAwKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG59O1xyXG5cclxuY29uc3Qgd2FpdCA9IGFzeW5jIChtczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpKTtcclxufTtcclxuIl19
|
|
@@ -1,23 +1,14 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { districtsToCsvRules } from "./json-to-csv.js";
|
|
11
2
|
import { getParsedDistricts } from "./txt-to-json.js";
|
|
12
3
|
import { writeFileSync } from "fs";
|
|
13
|
-
const main = () =>
|
|
4
|
+
const main = async () => {
|
|
14
5
|
// take first node argument as a file name
|
|
15
6
|
if (process.argv.length < 3) {
|
|
16
7
|
console.error("Missing file name argument");
|
|
17
8
|
process.exit(1);
|
|
18
9
|
}
|
|
19
10
|
const fileName = process.argv[2];
|
|
20
|
-
const districts =
|
|
11
|
+
const districts = await getParsedDistricts(fileName);
|
|
21
12
|
const csv = districtsToCsvRules(districts);
|
|
22
13
|
if (process.argv.length >= 4) {
|
|
23
14
|
const outputFileName = process.argv[3];
|
|
@@ -27,6 +18,6 @@ const main = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
27
18
|
else {
|
|
28
19
|
console.log(csv);
|
|
29
20
|
}
|
|
30
|
-
}
|
|
21
|
+
};
|
|
31
22
|
main();
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkaW5hbmNlLXRvLWNzdi1ydWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbWQtdG8tY3N2L29yZGluYW5jZS10by1jc3YtcnVsZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLElBQUksQ0FBQztBQUVuQyxNQUFNLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtJQUN0QiwwQ0FBMEM7SUFDMUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7SUFFRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWpDLE1BQU0sU0FBUyxHQUFHLE1BQU0sa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsTUFBTSxHQUFHLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFM0MsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7UUFDNUIsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QyxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELGFBQWEsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDcEM7U0FBTTtRQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDbEI7QUFDSCxDQUFDLENBQUM7QUFFRixJQUFJLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRpc3RyaWN0c1RvQ3N2UnVsZXMgfSBmcm9tIFwiLi9qc29uLXRvLWNzdi5qc1wiO1xyXG5pbXBvcnQgeyBnZXRQYXJzZWREaXN0cmljdHMgfSBmcm9tIFwiLi90eHQtdG8tanNvbi5qc1wiO1xyXG5cclxuaW1wb3J0IHsgd3JpdGVGaWxlU3luYyB9IGZyb20gXCJmc1wiO1xyXG5cclxuY29uc3QgbWFpbiA9IGFzeW5jICgpID0+IHtcclxuICAvLyB0YWtlIGZpcnN0IG5vZGUgYXJndW1lbnQgYXMgYSBmaWxlIG5hbWVcclxuICBpZiAocHJvY2Vzcy5hcmd2Lmxlbmd0aCA8IDMpIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoXCJNaXNzaW5nIGZpbGUgbmFtZSBhcmd1bWVudFwiKTtcclxuICAgIHByb2Nlc3MuZXhpdCgxKTtcclxuICB9XHJcblxyXG4gIGNvbnN0IGZpbGVOYW1lID0gcHJvY2Vzcy5hcmd2WzJdO1xyXG5cclxuICBjb25zdCBkaXN0cmljdHMgPSBhd2FpdCBnZXRQYXJzZWREaXN0cmljdHMoZmlsZU5hbWUpO1xyXG4gIGNvbnN0IGNzdiA9IGRpc3RyaWN0c1RvQ3N2UnVsZXMoZGlzdHJpY3RzKTtcclxuXHJcbiAgaWYgKHByb2Nlc3MuYXJndi5sZW5ndGggPj0gNCkge1xyXG4gICAgY29uc3Qgb3V0cHV0RmlsZU5hbWUgPSBwcm9jZXNzLmFyZ3ZbM107XHJcbiAgICBjb25zb2xlLmxvZyhgV3JpdGluZyBvdXRwdXQgdG8gJHtvdXRwdXRGaWxlTmFtZX1gKTtcclxuICAgIHdyaXRlRmlsZVN5bmMob3V0cHV0RmlsZU5hbWUsIGNzdik7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnNvbGUubG9nKGNzdik7XHJcbiAgfVxyXG59O1xyXG5cclxubWFpbigpO1xyXG4iXX0=
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { createReadStream } from "fs";
|
|
11
2
|
import { once } from "events";
|
|
12
3
|
import { createInterface } from "readline";
|
|
@@ -23,81 +14,79 @@ function getNewSchool(name) {
|
|
|
23
14
|
lines: [],
|
|
24
15
|
};
|
|
25
16
|
}
|
|
26
|
-
export function getParsedDistricts(filePath) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
currentDistrict = getNewDistrict("");
|
|
48
|
-
}
|
|
49
|
-
currentDistrict.schools.push(currentSchool);
|
|
50
|
-
currentSchool = null;
|
|
51
|
-
}
|
|
52
|
-
if (currentDistrict != null) {
|
|
53
|
-
districts.push(currentDistrict);
|
|
17
|
+
export async function getParsedDistricts(filePath) {
|
|
18
|
+
const rl = createInterface({
|
|
19
|
+
input: createReadStream(filePath),
|
|
20
|
+
});
|
|
21
|
+
let lineNumber = 1;
|
|
22
|
+
let districts = [];
|
|
23
|
+
let currentDistrict = null;
|
|
24
|
+
let currentSchool = null;
|
|
25
|
+
rl.on("line", function (line) {
|
|
26
|
+
let s = line
|
|
27
|
+
.trim()
|
|
28
|
+
.replace(/ +(?= )/g, "")
|
|
29
|
+
.replace(/–/g, "-")
|
|
30
|
+
.replace(/nábř\./g, "nábřeží")
|
|
31
|
+
.replace(/Nábř\./g, "Nábřeží")
|
|
32
|
+
.replace(/nám\./g, "náměstí")
|
|
33
|
+
.replace(/Nám\./g, "Náměstí");
|
|
34
|
+
if (s[0] == "#") {
|
|
35
|
+
if (currentSchool != null) {
|
|
36
|
+
if (currentDistrict == null) {
|
|
37
|
+
currentDistrict = getNewDistrict("");
|
|
54
38
|
}
|
|
55
|
-
currentDistrict
|
|
39
|
+
currentDistrict.schools.push(currentSchool);
|
|
56
40
|
currentSchool = null;
|
|
57
41
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
42
|
+
if (currentDistrict != null) {
|
|
43
|
+
districts.push(currentDistrict);
|
|
44
|
+
}
|
|
45
|
+
currentDistrict = getNewDistrict(s.substring(1).trim());
|
|
46
|
+
currentSchool = null;
|
|
47
|
+
}
|
|
48
|
+
else if (s == "") {
|
|
49
|
+
if (currentSchool != null) {
|
|
50
|
+
if (currentDistrict == null) {
|
|
51
|
+
currentDistrict = getNewDistrict("");
|
|
65
52
|
}
|
|
53
|
+
currentDistrict.schools.push(currentSchool);
|
|
54
|
+
currentSchool = null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
if (currentSchool == null) {
|
|
59
|
+
currentSchool = getNewSchool(s);
|
|
66
60
|
}
|
|
67
61
|
else {
|
|
68
|
-
if (
|
|
69
|
-
currentSchool
|
|
62
|
+
if (s[0] == "!") {
|
|
63
|
+
currentSchool.lines.push(s);
|
|
70
64
|
}
|
|
71
65
|
else {
|
|
72
|
-
if (s
|
|
66
|
+
if (pattern.test(s)) {
|
|
73
67
|
currentSchool.lines.push(s);
|
|
74
68
|
}
|
|
75
69
|
else {
|
|
76
|
-
|
|
77
|
-
currentSchool.lines.push(s);
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
console.error("Invalid street line on line " + lineNumber + ": " + s);
|
|
81
|
-
}
|
|
70
|
+
console.error("Invalid street line on line " + lineNumber + ": " + s);
|
|
82
71
|
}
|
|
83
72
|
}
|
|
84
73
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
currentDistrict.schools.push(currentSchool);
|
|
93
|
-
}
|
|
94
|
-
if (currentDistrict != null) {
|
|
95
|
-
districts.push(currentDistrict);
|
|
74
|
+
}
|
|
75
|
+
lineNumber++;
|
|
76
|
+
});
|
|
77
|
+
rl.on("close", function () {
|
|
78
|
+
if (currentSchool != null) {
|
|
79
|
+
if (currentDistrict == null) {
|
|
80
|
+
currentDistrict = getNewDistrict("");
|
|
96
81
|
}
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
|
|
82
|
+
currentDistrict.schools.push(currentSchool);
|
|
83
|
+
}
|
|
84
|
+
if (currentDistrict != null) {
|
|
85
|
+
districts.push(currentDistrict);
|
|
86
|
+
}
|
|
87
|
+
// console.log(JSON.stringify(districts));
|
|
101
88
|
});
|
|
89
|
+
await once(rl, "close");
|
|
90
|
+
return districts;
|
|
102
91
|
}
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHh0LXRvLWpzb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc21kLXRvLWNzdi90eHQtdG8tanNvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDdEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTNDLE1BQU0sT0FBTyxHQUNYLCtiQUErYixDQUFDO0FBRWxjLFNBQVMsY0FBYyxDQUFDLElBQUk7SUFDMUIsT0FBTztRQUNMLElBQUksRUFBRSxJQUFJO1FBQ1YsT0FBTyxFQUFFLEVBQUU7S0FDWixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLElBQUk7SUFDeEIsT0FBTztRQUNMLElBQUksRUFBRSxJQUFJO1FBQ1YsS0FBSyxFQUFFLEVBQUU7S0FDVixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsa0JBQWtCLENBQUMsUUFBUTtJQUMvQyxNQUFNLEVBQUUsR0FBRyxlQUFlLENBQUM7UUFDekIsS0FBSyxFQUFFLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztLQUNsQyxDQUFDLENBQUM7SUFFSCxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDbkIsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ25CLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQztJQUMzQixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFFekIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxJQUFJO1FBQzFCLElBQUksQ0FBQyxHQUFHLElBQUk7YUFDVCxJQUFJLEVBQUU7YUFDTixPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQzthQUN2QixPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQzthQUNsQixPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzthQUM3QixPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzthQUM3QixPQUFPLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQzthQUM1QixPQUFPLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRWhDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRTtZQUNmLElBQUksYUFBYSxJQUFJLElBQUksRUFBRTtnQkFDekIsSUFBSSxlQUFlLElBQUksSUFBSSxFQUFFO29CQUMzQixlQUFlLEdBQUcsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN0QztnQkFDRCxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDNUMsYUFBYSxHQUFHLElBQUksQ0FBQzthQUN0QjtZQUVELElBQUksZUFBZSxJQUFJLElBQUksRUFBRTtnQkFDM0IsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUNqQztZQUVELGVBQWUsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBRXhELGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDdEI7YUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbEIsSUFBSSxhQUFhLElBQUksSUFBSSxFQUFFO2dCQUN6QixJQUFJLGVBQWUsSUFBSSxJQUFJLEVBQUU7b0JBQzNCLGVBQWUsR0FBRyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ3RDO2dCQUNELGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUM1QyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQ3RCO1NBQ0Y7YUFBTTtZQUNMLElBQUksYUFBYSxJQUFJLElBQUksRUFBRTtnQkFDekIsYUFBYSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNqQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUU7b0JBQ2YsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzdCO3FCQUFNO29CQUNMLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTt3QkFDbkIsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQzdCO3lCQUFNO3dCQUNMLE9BQU8sQ0FBQyxLQUFLLENBQ1gsOEJBQThCLEdBQUcsVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLENBQ3ZELENBQUM7cUJBQ0g7aUJBQ0Y7YUFDRjtTQUNGO1FBRUQsVUFBVSxFQUFFLENBQUM7SUFDZixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFO1FBQ2IsSUFBSSxhQUFhLElBQUksSUFBSSxFQUFFO1lBQ3pCLElBQUksZUFBZSxJQUFJLElBQUksRUFBRTtnQkFDM0IsZUFBZSxHQUFHLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN0QztZQUNELGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsSUFBSSxlQUFlLElBQUksSUFBSSxFQUFFO1lBQzNCLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDakM7UUFFRCwwQ0FBMEM7SUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLElBQUksQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEIsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlYWRTdHJlYW0gfSBmcm9tIFwiZnNcIjtcclxuaW1wb3J0IHsgb25jZSB9IGZyb20gXCJldmVudHNcIjtcclxuaW1wb3J0IHsgY3JlYXRlSW50ZXJmYWNlIH0gZnJvbSBcInJlYWRsaW5lXCI7XHJcblxyXG5jb25zdCBwYXR0ZXJuID1cclxuICAvXihbXiDigJMsLV0rKFsg4oCTLV1bXiAs4oCTLV0rKSopKCBb4oCTLV0gKGxpY2jDoSDEjS58c3Vkw6EgxI0ufMSNLnzEjS4gcC4pKCAoXFxkK1thLXpBLVpdPyA/W+KAky1dID9cXGQrW2EtekEtWl0/fChvZCApP1xcZCtbYS16QS1aXT8oIGEpPyB2w73FoWV8XFxkK1thLXpBLVpdPykoKCwgP3wgP2EgPykoXFxkK1thLXpBLVpdPyA/W+KAky1dID9cXGQrW2EtekEtWl0/fChvZCApP1xcZCtbYS16QS1aXT8oIGEpPyB2w73FoWV8XFxkK1thLXpBLVpdPykpKik/KCgsID98ID9hID8pKGxpY2jDoSDEjS58c3Vkw6EgxI0ufMSNLnzEjS4gcC4pKCAoXFxkK1thLXpBLVpdPyA/W+KAky1dID9cXGQrW2EtekEtWl0/fChvZCApP1xcZCtbYS16QS1aXT8oIGEpPyB2w73FoWV8XFxkK1thLXpBLVpdPykoKCwgP3wgP2EgPykoXFxkK1thLXpBLVpdPyA/W+KAky1dID9cXGQrW2EtekEtWl0/fChvZCApP1xcZCtbYS16QS1aXT8oIGEpPyB2w73FoWV8XFxkK1thLXpBLVpdPykpKik/KSopPyQvO1xyXG5cclxuZnVuY3Rpb24gZ2V0TmV3RGlzdHJpY3QobmFtZSkge1xyXG4gIHJldHVybiB7XHJcbiAgICBuYW1lOiBuYW1lLFxyXG4gICAgc2Nob29sczogW10sXHJcbiAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0TmV3U2Nob29sKG5hbWUpIHtcclxuICByZXR1cm4ge1xyXG4gICAgbmFtZTogbmFtZSxcclxuICAgIGxpbmVzOiBbXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UGFyc2VkRGlzdHJpY3RzKGZpbGVQYXRoKSB7XHJcbiAgY29uc3QgcmwgPSBjcmVhdGVJbnRlcmZhY2Uoe1xyXG4gICAgaW5wdXQ6IGNyZWF0ZVJlYWRTdHJlYW0oZmlsZVBhdGgpLFxyXG4gIH0pO1xyXG5cclxuICBsZXQgbGluZU51bWJlciA9IDE7XHJcbiAgbGV0IGRpc3RyaWN0cyA9IFtdO1xyXG4gIGxldCBjdXJyZW50RGlzdHJpY3QgPSBudWxsO1xyXG4gIGxldCBjdXJyZW50U2Nob29sID0gbnVsbDtcclxuXHJcbiAgcmwub24oXCJsaW5lXCIsIGZ1bmN0aW9uIChsaW5lKSB7XHJcbiAgICBsZXQgcyA9IGxpbmVcclxuICAgICAgLnRyaW0oKVxyXG4gICAgICAucmVwbGFjZSgvICsoPz0gKS9nLCBcIlwiKVxyXG4gICAgICAucmVwbGFjZSgv4oCTL2csIFwiLVwiKVxyXG4gICAgICAucmVwbGFjZSgvbsOhYsWZXFwuL2csIFwibsOhYsWZZcW+w61cIilcclxuICAgICAgLnJlcGxhY2UoL07DoWLFmVxcLi9nLCBcIk7DoWLFmWXFvsOtXCIpXHJcbiAgICAgIC5yZXBsYWNlKC9uw6FtXFwuL2csIFwibsOhbcSbc3TDrVwiKVxyXG4gICAgICAucmVwbGFjZSgvTsOhbVxcLi9nLCBcIk7DoW3Em3N0w61cIik7XHJcblxyXG4gICAgaWYgKHNbMF0gPT0gXCIjXCIpIHtcclxuICAgICAgaWYgKGN1cnJlbnRTY2hvb2wgIT0gbnVsbCkge1xyXG4gICAgICAgIGlmIChjdXJyZW50RGlzdHJpY3QgPT0gbnVsbCkge1xyXG4gICAgICAgICAgY3VycmVudERpc3RyaWN0ID0gZ2V0TmV3RGlzdHJpY3QoXCJcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGN1cnJlbnREaXN0cmljdC5zY2hvb2xzLnB1c2goY3VycmVudFNjaG9vbCk7XHJcbiAgICAgICAgY3VycmVudFNjaG9vbCA9IG51bGw7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChjdXJyZW50RGlzdHJpY3QgIT0gbnVsbCkge1xyXG4gICAgICAgIGRpc3RyaWN0cy5wdXNoKGN1cnJlbnREaXN0cmljdCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGN1cnJlbnREaXN0cmljdCA9IGdldE5ld0Rpc3RyaWN0KHMuc3Vic3RyaW5nKDEpLnRyaW0oKSk7XHJcblxyXG4gICAgICBjdXJyZW50U2Nob29sID0gbnVsbDtcclxuICAgIH0gZWxzZSBpZiAocyA9PSBcIlwiKSB7XHJcbiAgICAgIGlmIChjdXJyZW50U2Nob29sICE9IG51bGwpIHtcclxuICAgICAgICBpZiAoY3VycmVudERpc3RyaWN0ID09IG51bGwpIHtcclxuICAgICAgICAgIGN1cnJlbnREaXN0cmljdCA9IGdldE5ld0Rpc3RyaWN0KFwiXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjdXJyZW50RGlzdHJpY3Quc2Nob29scy5wdXNoKGN1cnJlbnRTY2hvb2wpO1xyXG4gICAgICAgIGN1cnJlbnRTY2hvb2wgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoY3VycmVudFNjaG9vbCA9PSBudWxsKSB7XHJcbiAgICAgICAgY3VycmVudFNjaG9vbCA9IGdldE5ld1NjaG9vbChzKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoc1swXSA9PSBcIiFcIikge1xyXG4gICAgICAgICAgY3VycmVudFNjaG9vbC5saW5lcy5wdXNoKHMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAocGF0dGVybi50ZXN0KHMpKSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRTY2hvb2wubGluZXMucHVzaChzKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXHJcbiAgICAgICAgICAgICAgXCJJbnZhbGlkIHN0cmVldCBsaW5lIG9uIGxpbmUgXCIgKyBsaW5lTnVtYmVyICsgXCI6IFwiICsgc1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxpbmVOdW1iZXIrKztcclxuICB9KTtcclxuXHJcbiAgcmwub24oXCJjbG9zZVwiLCBmdW5jdGlvbiAoKSB7XHJcbiAgICBpZiAoY3VycmVudFNjaG9vbCAhPSBudWxsKSB7XHJcbiAgICAgIGlmIChjdXJyZW50RGlzdHJpY3QgPT0gbnVsbCkge1xyXG4gICAgICAgIGN1cnJlbnREaXN0cmljdCA9IGdldE5ld0Rpc3RyaWN0KFwiXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGN1cnJlbnREaXN0cmljdC5zY2hvb2xzLnB1c2goY3VycmVudFNjaG9vbCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGN1cnJlbnREaXN0cmljdCAhPSBudWxsKSB7XHJcbiAgICAgIGRpc3RyaWN0cy5wdXNoKGN1cnJlbnREaXN0cmljdCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoZGlzdHJpY3RzKSk7XHJcbiAgfSk7XHJcblxyXG4gIGF3YWl0IG9uY2UocmwsIFwiY2xvc2VcIik7XHJcbiAgcmV0dXJuIGRpc3RyaWN0cztcclxufVxyXG4iXX0=
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { findMunicipalityByNameAndType, findMunicipalityPartByName, } from "../db/founders";
|
|
11
2
|
import { MunicipalityType } from "../db/types";
|
|
12
3
|
const municipalitySwitchStartPattern = /^navíc ulice /;
|
|
@@ -19,7 +10,7 @@ const restOfMunicipalityPartPattern = /^zbytek části (obce|města) (?<name>.+)
|
|
|
19
10
|
export const isMunicipalitySwitch = (line) => {
|
|
20
11
|
return municipalitySwitchStartPattern.test(line);
|
|
21
12
|
};
|
|
22
|
-
export const getSwitchMunicipality = (line, founder) =>
|
|
13
|
+
export const getSwitchMunicipality = async (line, founder) => {
|
|
23
14
|
const match = municipalitySwitchPattern.exec(line);
|
|
24
15
|
if (match === null) {
|
|
25
16
|
return {
|
|
@@ -34,8 +25,8 @@ export const getSwitchMunicipality = (line, founder) => __awaiter(void 0, void 0
|
|
|
34
25
|
};
|
|
35
26
|
}
|
|
36
27
|
const { type, name } = match.groups;
|
|
37
|
-
return
|
|
38
|
-
}
|
|
28
|
+
return await getMunicipalityResult(type, cleanName(name), line, founder);
|
|
29
|
+
};
|
|
39
30
|
export const isWholeMunicipality = (line) => {
|
|
40
31
|
return wholeMunicipalityStartPattern.test(line);
|
|
41
32
|
};
|
|
@@ -48,7 +39,7 @@ export const isRestOfMunicipalityLine = (line) => {
|
|
|
48
39
|
export const isRestOfMunicipalityPartLine = (line) => {
|
|
49
40
|
return restOfMunicipalityPartPattern.test(line);
|
|
50
41
|
};
|
|
51
|
-
export const getRestOfMunicipalityPart = (line, founder) =>
|
|
42
|
+
export const getRestOfMunicipalityPart = async (line, founder) => {
|
|
52
43
|
const match = restOfMunicipalityPartPattern.exec(line);
|
|
53
44
|
if (match === null) {
|
|
54
45
|
return {
|
|
@@ -63,9 +54,9 @@ export const getRestOfMunicipalityPart = (line, founder) => __awaiter(void 0, vo
|
|
|
63
54
|
};
|
|
64
55
|
}
|
|
65
56
|
const { name } = match.groups;
|
|
66
|
-
return
|
|
67
|
-
}
|
|
68
|
-
export const getWholeMunicipality = (line, founder) =>
|
|
57
|
+
return await getMunicipalityPartResult(name, line, founder);
|
|
58
|
+
};
|
|
59
|
+
export const getWholeMunicipality = async (line, founder) => {
|
|
69
60
|
const match = wholeMunicipalityPattern.exec(line);
|
|
70
61
|
if (match === null) {
|
|
71
62
|
return {
|
|
@@ -80,29 +71,35 @@ export const getWholeMunicipality = (line, founder) => __awaiter(void 0, void 0,
|
|
|
80
71
|
};
|
|
81
72
|
}
|
|
82
73
|
const { type, name } = match.groups;
|
|
83
|
-
return
|
|
84
|
-
}
|
|
85
|
-
const getMunicipalityResult = (type, name, line, founder) =>
|
|
74
|
+
return await getMunicipalityResult(type, cleanName(name), line, founder);
|
|
75
|
+
};
|
|
76
|
+
const getMunicipalityResult = async (type, name, line, founder) => {
|
|
86
77
|
const typeValue = getMunicipalityType(type);
|
|
87
|
-
const { municipality, errors } =
|
|
78
|
+
const { municipality, errors } = await findMunicipalityByNameAndType(name, typeValue, founder);
|
|
88
79
|
const startOffset = line.indexOf(name);
|
|
89
80
|
const endOffset = startOffset + name.length + 1;
|
|
90
81
|
return {
|
|
91
82
|
municipality,
|
|
92
|
-
errors: errors.map((error) => (
|
|
93
|
-
|
|
83
|
+
errors: errors.map((error) => ({
|
|
84
|
+
...error,
|
|
85
|
+
startOffset,
|
|
86
|
+
endOffset,
|
|
87
|
+
})),
|
|
94
88
|
};
|
|
95
|
-
}
|
|
96
|
-
export const getMunicipalityPartResult = (name, line, founder) =>
|
|
97
|
-
const { municipalityPartCode, errors } =
|
|
89
|
+
};
|
|
90
|
+
export const getMunicipalityPartResult = async (name, line, founder) => {
|
|
91
|
+
const { municipalityPartCode, errors } = await findMunicipalityPartByName(name, founder);
|
|
98
92
|
const startOffset = line.indexOf(name);
|
|
99
93
|
const endOffset = startOffset + name.length + 1;
|
|
100
94
|
return {
|
|
101
95
|
municipalityPartCode,
|
|
102
|
-
errors: errors.map((error) => (
|
|
103
|
-
|
|
96
|
+
errors: errors.map((error) => ({
|
|
97
|
+
...error,
|
|
98
|
+
startOffset,
|
|
99
|
+
endOffset,
|
|
100
|
+
})),
|
|
104
101
|
};
|
|
105
|
-
}
|
|
102
|
+
};
|
|
106
103
|
const getMunicipalityType = (type) => {
|
|
107
104
|
switch (type) {
|
|
108
105
|
case "městské části":
|
|
@@ -116,4 +113,4 @@ const getMunicipalityType = (type) => {
|
|
|
116
113
|
const cleanName = (name) => {
|
|
117
114
|
return name.trim();
|
|
118
115
|
};
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVuaWNpcGFsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmVldC1tYXJrZG93bi9tdW5pY2lwYWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLDZCQUE2QixFQUM3QiwwQkFBMEIsR0FDM0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQVcsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHeEQsTUFBTSw4QkFBOEIsR0FBRyxlQUFlLENBQUM7QUFFdkQsTUFBTSx5QkFBeUIsR0FDN0Isb0ZBQW9GLENBQUM7QUFFdkYsTUFBTSw2QkFBNkIsR0FBRyxTQUFTLENBQUM7QUFFaEQsTUFBTSx3QkFBd0IsR0FDNUIsd0VBQXdFLENBQUM7QUFFM0UsTUFBTSwyQkFBMkIsR0FDL0IsNkNBQTZDLENBQUM7QUFFaEQsTUFBTSx5QkFBeUIsR0FDN0IsZ0VBQWdFLENBQUM7QUFDbkUsTUFBTSw2QkFBNkIsR0FDakMsNENBQTRDLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxJQUFZLEVBQVcsRUFBRTtJQUM1RCxPQUFPLDhCQUE4QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNuRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUNuQyxJQUFZLEVBQ1osT0FBZ0IsRUFDZSxFQUFFO0lBQ2pDLE1BQU0sS0FBSyxHQUFHLHlCQUF5QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDbEIsT0FBTztZQUNMLE1BQU0sRUFBRTtnQkFDTjtvQkFDRSxPQUFPLEVBQ0wsbUxBQW1MO29CQUNyTCxXQUFXLEVBQUUsQ0FBQztvQkFDZCxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDO2lCQUMzQjthQUNGO1lBQ0QsWUFBWSxF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LGdCQUFnQixDQUFDLElBQUksQ0FBQztLQUNoQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBWSxFQUFVLEVBQUU7SUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDckIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBmaW5kTXVuaWNpcGFsaXR5QnlOYW1lQW5kVHlwZSxcclxuICBmaW5kTXVuaWNpcGFsaXR5UGFydEJ5TmFtZSxcclxufSBmcm9tIFwiLi4vZGIvZm91bmRlcnNcIjtcclxuaW1wb3J0IHsgRm91bmRlciwgTXVuaWNpcGFsaXR5VHlwZSB9IGZyb20gXCIuLi9kYi90eXBlc1wiO1xyXG5pbXBvcnQgeyBEYk11bmljaXBhbGl0eVJlc3VsdCwgTXVuaWNpcGFsaXR5UGFydFJlc3VsdCB9IGZyb20gXCIuL3R5cGVzXCI7XHJcblxyXG5jb25zdCBtdW5pY2lwYWxpdHlTd2l0Y2hTdGFydFBhdHRlcm4gPSAvXm5hdsOtYyB1bGljZSAvO1xyXG5cclxuY29uc3QgbXVuaWNpcGFsaXR5U3dpdGNoUGF0dGVybiA9XHJcbiAgL15uYXbDrWMgdWxpY2UgKHogKT8oPzx0eXBlPm3Em3N0c2vDqSDEjcOhc3RpfG3Em3N0c2vDqWhvIG9idm9kdXxvYmNlfG3Em3N0YSkgKD88bmFtZT4uKyk6JC87XHJcblxyXG5jb25zdCB3aG9sZU11bmljaXBhbGl0eVN0YXJ0UGF0dGVybiA9IC9ew7p6ZW3DrSAvO1xyXG5cclxuY29uc3Qgd2hvbGVNdW5pY2lwYWxpdHlQYXR0ZXJuID1cclxuICAvXsO6emVtw60gKD88dHlwZT5txJtzdHNrw6kgxI3DoXN0aXxtxJtzdHNrw6lobyBvYnZvZHV8b2JjZXxtxJtzdGEpICg/PG5hbWU+LispJC87XHJcblxyXG5jb25zdCByZXN0V2l0aE5vU3RyZWV0TmFtZVBhdHRlcm4gPVxyXG4gIC9edsWhZWNobnkgb3N0YXRuw60gYnVkb3Z5IGJleiBuw6F6dnUgdWxpY2VcXHMqJC87XHJcblxyXG5jb25zdCByZXN0T2ZNdW5pY2lwYWxpdHlQYXR0ZXJuID1cclxuICAvXnpieXRlayAoPzx0eXBlPm3Em3N0c2vDqSDEjcOhc3RpfG3Em3N0c2vDqWhvIG9idm9kdXxvYmNlfG3Em3N0YSlcXHMqJC87XHJcbmNvbnN0IHJlc3RPZk11bmljaXBhbGl0eVBhcnRQYXR0ZXJuID1cclxuICAvXnpieXRlayDEjcOhc3RpIChvYmNlfG3Em3N0YSkgKD88bmFtZT4uKylcXHMqJC87XHJcblxyXG5leHBvcnQgY29uc3QgaXNNdW5pY2lwYWxpdHlTd2l0Y2ggPSAobGluZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XHJcbiAgcmV0dXJuIG11bmljaXBhbGl0eVN3aXRjaFN0YXJ0UGF0dGVybi50ZXN0KGxpbmUpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFN3aXRjaE11bmljaXBhbGl0eSA9IGFzeW5jIChcclxuICBsaW5lOiBzdHJpbmcsXHJcbiAgZm91bmRlcjogRm91bmRlclxyXG4pOiBQcm9taXNlPERiTXVuaWNpcGFsaXR5UmVzdWx0PiA9PiB7XHJcbiAgY29uc3QgbWF0Y2ggPSBtdW5pY2lwYWxpdHlTd2l0Y2hQYXR0ZXJuLmV4ZWMobGluZSk7XHJcbiAgaWYgKG1hdGNoID09PSBudWxsKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBlcnJvcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBtZXNzYWdlOlxyXG4gICAgICAgICAgICBcIk5lcGxhdG7DvSB6w6FwaXMgcHJvIGRvxI1hc25vdSB6bcSbbnUgb2JjZSB2IGRlZmluaWNpIHVsaWMuIFNwcsOhdm7DvSB6w6FwaXMgamU6IG5hdsOtYyB1bGljZSA8dHlwPiA8bsOhemV2IG9iY2U+LiBOYXDFmS46ICduYXbDrWMgdWxpY2Ugb2JjZSBNb2tyw6EgTGhvdGE6JyAobsOhemV2IG9iY2UgbXVzw60gYsO9dCB2IDEuIHDDoWTEmykuXCIsXHJcbiAgICAgICAgICBzdGFydE9mZnNldDogMCxcclxuICAgICAgICAgIGVuZE9mZnNldDogbGluZS5sZW5ndGggKyAxLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIG11bmljaXBhbGl0eTogbnVsbCxcclxuICAgIH07XHJcbiAgfVxyXG4gIGNvbnN0IHsgdHlwZSwgbmFtZSB9ID0gbWF0Y2guZ3JvdXBzO1xyXG4gIHJldHVybiBhd2FpdCBnZXRNdW5pY2lwYWxpdHlSZXN1bHQodHlwZSwgY2xlYW5OYW1lKG5hbWUpLCBsaW5lLCBmb3VuZGVyKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc1dob2xlTXVuaWNpcGFsaXR5ID0gKGxpbmU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xyXG4gIHJldHVybiB3aG9sZU11bmljaXBhbGl0eVN0YXJ0UGF0dGVybi50ZXN0KGxpbmUpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzUmVzdFdpdGhOb1N0cmVldE5hbWVMaW5lID0gKGxpbmU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xyXG4gIHJldHVybiByZXN0V2l0aE5vU3RyZWV0TmFtZVBhdHRlcm4udGVzdChsaW5lKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc1Jlc3RPZk11bmljaXBhbGl0eUxpbmUgPSAobGluZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XHJcbiAgcmV0dXJuIHJlc3RPZk11bmljaXBhbGl0eVBhdHRlcm4udGVzdChsaW5lKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc1Jlc3RPZk11bmljaXBhbGl0eVBhcnRMaW5lID0gKGxpbmU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xyXG4gIHJldHVybiByZXN0T2ZNdW5pY2lwYWxpdHlQYXJ0UGF0dGVybi50ZXN0KGxpbmUpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFJlc3RPZk11bmljaXBhbGl0eVBhcnQgPSBhc3luYyAoXHJcbiAgbGluZTogc3RyaW5nLFxyXG4gIGZvdW5kZXI6IEZvdW5kZXJcclxuKTogUHJvbWlzZTxNdW5pY2lwYWxpdHlQYXJ0UmVzdWx0PiA9PiB7XHJcbiAgY29uc3QgbWF0Y2ggPSByZXN0T2ZNdW5pY2lwYWxpdHlQYXJ0UGF0dGVybi5leGVjKGxpbmUpO1xyXG4gIGlmIChtYXRjaCA9PT0gbnVsbCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZXJyb3JzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbWVzc2FnZTpcclxuICAgICAgICAgICAgXCJOZXBsYXRuw70gesOhcGlzIHBybyBwxZlpZMOhbsOtIHpieXRrdSDEjcOhc3RpIG9iY2UuIFNwcsOhdm7DvSB6w6FwaXMgamU6IHpieXRlayDEjcOhc3RpIDx0eXA+IDxuw6F6ZXYgb2JjZT4uIE5hcMWZLjogJ3pieXRlayDEjcOhc3RpIG9iY2UgTWFsxaFvdmljZScgKG7DoXpldiDEjcOhc3RpIG9iY2UgbXVzw60gYsO9dCB2IDEuIHDDoWTEmykuXCIsXHJcbiAgICAgICAgICBzdGFydE9mZnNldDogMCxcclxuICAgICAgICAgIGVuZE9mZnNldDogbGluZS5sZW5ndGggKyAxLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIG11bmljaXBhbGl0eVBhcnRDb2RlOiBudWxsLFxyXG4gICAgfTtcclxuICB9XHJcbiAgY29uc3QgeyBuYW1lIH0gPSBtYXRjaC5ncm91cHM7XHJcbiAgcmV0dXJuIGF3YWl0IGdldE11bmljaXBhbGl0eVBhcnRSZXN1bHQobmFtZSwgbGluZSwgZm91bmRlcik7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0V2hvbGVNdW5pY2lwYWxpdHkgPSBhc3luYyAoXHJcbiAgbGluZTogc3RyaW5nLFxyXG4gIGZvdW5kZXI6IEZvdW5kZXJcclxuKTogUHJvbWlzZTxEYk11bmljaXBhbGl0eVJlc3VsdD4gPT4ge1xyXG4gIGNvbnN0IG1hdGNoID0gd2hvbGVNdW5pY2lwYWxpdHlQYXR0ZXJuLmV4ZWMobGluZSk7XHJcbiAgaWYgKG1hdGNoID09PSBudWxsKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBlcnJvcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBtZXNzYWdlOlxyXG4gICAgICAgICAgICBcIk5lcGxhdG7DvSB6w6FwaXMgcHJvIHDFmWlkw6Fuw60gY2Vsw6kgb2JjZS4gU3Byw6F2bsO9IHrDoXBpcyBqZTogw7p6ZW3DrSA8dHlwPiA8bsOhemV2IG9iY2U+LiBOYXDFmS46ICfDunplbcOtIG9iY2UgS2xhZG5vJyAobsOhemV2IG9iY2UgbXVzw60gYsO9dCB2IDEuIHDDoWTEmykuXCIsXHJcbiAgICAgICAgICBzdGFydE9mZnNldDogMCxcclxuICAgICAgICAgIGVuZE9mZnNldDogbGluZS5sZW5ndGggKyAxLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIG11bmljaXBhbGl0eTogbnVsbCxcclxuICAgIH07XHJcbiAgfVxyXG4gIGNvbnN0IHsgdHlwZSwgbmFtZSB9ID0gbWF0Y2guZ3JvdXBzO1xyXG4gIHJldHVybiBhd2FpdCBnZXRNdW5pY2lwYWxpdHlSZXN1bHQodHlwZSwgY2xlYW5OYW1lKG5hbWUpLCBsaW5lLCBmb3VuZGVyKTtcclxufTtcclxuXHJcbmNvbnN0IGdldE11bmljaXBhbGl0eVJlc3VsdCA9IGFzeW5jIChcclxuICB0eXBlOiBzdHJpbmcsXHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIGxpbmU6IHN0cmluZyxcclxuICBmb3VuZGVyOiBGb3VuZGVyXHJcbik6IFByb21pc2U8RGJNdW5pY2lwYWxpdHlSZXN1bHQ+ID0+IHtcclxuICBjb25zdCB0eXBlVmFsdWUgPSBnZXRNdW5pY2lwYWxpdHlUeXBlKHR5cGUpO1xyXG4gIGNvbnN0IHsgbXVuaWNpcGFsaXR5LCBlcnJvcnMgfSA9IGF3YWl0IGZpbmRNdW5pY2lwYWxpdHlCeU5hbWVBbmRUeXBlKFxyXG4gICAgbmFtZSxcclxuICAgIHR5cGVWYWx1ZSxcclxuICAgIGZvdW5kZXJcclxuICApO1xyXG5cclxuICBjb25zdCBzdGFydE9mZnNldCA9IGxpbmUuaW5kZXhPZihuYW1lKTtcclxuICBjb25zdCBlbmRPZmZzZXQgPSBzdGFydE9mZnNldCArIG5hbWUubGVuZ3RoICsgMTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIG11bmljaXBhbGl0eSxcclxuICAgIGVycm9yczogZXJyb3JzLm1hcCgoZXJyb3IpID0+ICh7XHJcbiAgICAgIC4uLmVycm9yLFxyXG4gICAgICBzdGFydE9mZnNldCxcclxuICAgICAgZW5kT2Zmc2V0LFxyXG4gICAgfSkpLFxyXG4gIH07XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0TXVuaWNpcGFsaXR5UGFydFJlc3VsdCA9IGFzeW5jIChcclxuICBuYW1lOiBzdHJpbmcsXHJcbiAgbGluZTogc3RyaW5nLFxyXG4gIGZvdW5kZXI6IEZvdW5kZXJcclxuKTogUHJvbWlzZTxNdW5pY2lwYWxpdHlQYXJ0UmVzdWx0PiA9PiB7XHJcbiAgY29uc3QgeyBtdW5pY2lwYWxpdHlQYXJ0Q29kZSwgZXJyb3JzIH0gPSBhd2FpdCBmaW5kTXVuaWNpcGFsaXR5UGFydEJ5TmFtZShcclxuICAgIG5hbWUsXHJcbiAgICBmb3VuZGVyXHJcbiAgKTtcclxuXHJcbiAgY29uc3Qgc3RhcnRPZmZzZXQgPSBsaW5lLmluZGV4T2YobmFtZSk7XHJcbiAgY29uc3QgZW5kT2Zmc2V0ID0gc3RhcnRPZmZzZXQgKyBuYW1lLmxlbmd0aCArIDE7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBtdW5pY2lwYWxpdHlQYXJ0Q29kZSxcclxuICAgIGVycm9yczogZXJyb3JzLm1hcCgoZXJyb3IpID0+ICh7XHJcbiAgICAgIC4uLmVycm9yLFxyXG4gICAgICBzdGFydE9mZnNldCxcclxuICAgICAgZW5kT2Zmc2V0LFxyXG4gICAgfSkpLFxyXG4gIH07XHJcbn07XHJcblxyXG5jb25zdCBnZXRNdW5pY2lwYWxpdHlUeXBlID0gKHR5cGU6IHN0cmluZyk6IE11bmljaXBhbGl0eVR5cGUgPT4ge1xyXG4gIHN3aXRjaCAodHlwZSkge1xyXG4gICAgY2FzZSBcIm3Em3N0c2vDqSDEjcOhc3RpXCI6XHJcbiAgICBjYXNlIFwibcSbc3Rza8OpaG8gb2J2b2R1XCI6XHJcbiAgICAgIHJldHVybiBNdW5pY2lwYWxpdHlUeXBlLkRpc3RyaWN0O1xyXG4gICAgY2FzZSBcIm9iY2VcIjpcclxuICAgIGNhc2UgXCJtxJtzdGFcIjpcclxuICAgICAgcmV0dXJuIE11bmljaXBhbGl0eVR5cGUuQ2l0eTtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCBjbGVhbk5hbWUgPSAobmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICByZXR1cm4gbmFtZS50cmltKCk7XHJcbn07XHJcbiJdfQ==
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVuaWNpcGFsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmVldC1tYXJrZG93bi9tdW5pY2lwYWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDZCQUE2QixFQUM3QiwwQkFBMEIsR0FDM0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQVcsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHeEQsTUFBTSw4QkFBOEIsR0FBRyxlQUFlLENBQUM7QUFFdkQsTUFBTSx5QkFBeUIsR0FDN0Isb0ZBQW9GLENBQUM7QUFFdkYsTUFBTSw2QkFBNkIsR0FBRyxTQUFTLENBQUM7QUFFaEQsTUFBTSx3QkFBd0IsR0FDNUIsd0VBQXdFLENBQUM7QUFFM0UsTUFBTSwyQkFBMkIsR0FDL0IsNkNBQTZDLENBQUM7QUFFaEQsTUFBTSx5QkFBeUIsR0FDN0IsZ0VBQWdFLENBQUM7QUFDbkUsTUFBTSw2QkFBNkIsR0FDakMsNENBQTRDLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxJQUFZLEVBQVcsRUFBRTtJQUM1RCxPQUFPLDhCQUE4QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNuRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLEVBQ3hDLElBQVksRUFDWixPQUFnQixFQUNlLEVBQUU7SUFDakMsTUFBTSxLQUFLLEdBQUcseUJBQXlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtRQUNsQixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOO29CQUNFLE9BQU8sRUFDTCxtTEFBbUw7b0JBQ3JMLFdBQVcsRUFBRSxDQUFDO29CQUNkLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUM7aUJBQzNCO2FBQ0Y7WUFDRCxZQUFZLEVBQUUs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S0FBSyxPQUFPO1lBQ1YsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7S0FDaEM7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLFNBQVMsR0FBRyxDQUFDLElBQVksRUFBVSxFQUFFO0lBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3JCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgZmluZE11bmljaXBhbGl0eUJ5TmFtZUFuZFR5cGUsXHJcbiAgZmluZE11bmljaXBhbGl0eVBhcnRCeU5hbWUsXHJcbn0gZnJvbSBcIi4uL2RiL2ZvdW5kZXJzXCI7XHJcbmltcG9ydCB7IEZvdW5kZXIsIE11bmljaXBhbGl0eVR5cGUgfSBmcm9tIFwiLi4vZGIvdHlwZXNcIjtcclxuaW1wb3J0IHsgRGJNdW5pY2lwYWxpdHlSZXN1bHQsIE11bmljaXBhbGl0eVBhcnRSZXN1bHQgfSBmcm9tIFwiLi90eXBlc1wiO1xyXG5cclxuY29uc3QgbXVuaWNpcGFsaXR5U3dpdGNoU3RhcnRQYXR0ZXJuID0gL15uYXbDrWMgdWxpY2UgLztcclxuXHJcbmNvbnN0IG11bmljaXBhbGl0eVN3aXRjaFBhdHRlcm4gPVxyXG4gIC9ebmF2w61jIHVsaWNlICh6ICk/KD88dHlwZT5txJtzdHNrw6kgxI3DoXN0aXxtxJtzdHNrw6lobyBvYnZvZHV8b2JjZXxtxJtzdGEpICg/PG5hbWU+LispOiQvO1xyXG5cclxuY29uc3Qgd2hvbGVNdW5pY2lwYWxpdHlTdGFydFBhdHRlcm4gPSAvXsO6emVtw60gLztcclxuXHJcbmNvbnN0IHdob2xlTXVuaWNpcGFsaXR5UGF0dGVybiA9XHJcbiAgL17DunplbcOtICg/PHR5cGU+bcSbc3Rza8OpIMSNw6FzdGl8bcSbc3Rza8OpaG8gb2J2b2R1fG9iY2V8bcSbc3RhKSAoPzxuYW1lPi4rKSQvO1xyXG5cclxuY29uc3QgcmVzdFdpdGhOb1N0cmVldE5hbWVQYXR0ZXJuID1cclxuICAvXnbFoWVjaG55IG9zdGF0bsOtIGJ1ZG92eSBiZXogbsOhenZ1IHVsaWNlXFxzKiQvO1xyXG5cclxuY29uc3QgcmVzdE9mTXVuaWNpcGFsaXR5UGF0dGVybiA9XHJcbiAgL156Ynl0ZWsgKD88dHlwZT5txJtzdHNrw6kgxI3DoXN0aXxtxJtzdHNrw6lobyBvYnZvZHV8b2JjZXxtxJtzdGEpXFxzKiQvO1xyXG5jb25zdCByZXN0T2ZNdW5pY2lwYWxpdHlQYXJ0UGF0dGVybiA9XHJcbiAgL156Ynl0ZWsgxI3DoXN0aSAob2JjZXxtxJtzdGEpICg/PG5hbWU+LispXFxzKiQvO1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzTXVuaWNpcGFsaXR5U3dpdGNoID0gKGxpbmU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xyXG4gIHJldHVybiBtdW5pY2lwYWxpdHlTd2l0Y2hTdGFydFBhdHRlcm4udGVzdChsaW5lKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRTd2l0Y2hNdW5pY2lwYWxpdHkgPSBhc3luYyAoXHJcbiAgbGluZTogc3RyaW5nLFxyXG4gIGZvdW5kZXI6IEZvdW5kZXJcclxuKTogUHJvbWlzZTxEYk11bmljaXBhbGl0eVJlc3VsdD4gPT4ge1xyXG4gIGNvbnN0IG1hdGNoID0gbXVuaWNpcGFsaXR5U3dpdGNoUGF0dGVybi5leGVjKGxpbmUpO1xyXG4gIGlmIChtYXRjaCA9PT0gbnVsbCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZXJyb3JzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbWVzc2FnZTpcclxuICAgICAgICAgICAgXCJOZXBsYXRuw70gesOhcGlzIHBybyBkb8SNYXNub3Ugem3Em251IG9iY2UgdiBkZWZpbmljaSB1bGljLiBTcHLDoXZuw70gesOhcGlzIGplOiBuYXbDrWMgdWxpY2UgPHR5cD4gPG7DoXpldiBvYmNlPi4gTmFwxZkuOiAnbmF2w61jIHVsaWNlIG9iY2UgTW9rcsOhIExob3RhOicgKG7DoXpldiBvYmNlIG11c8OtIGLDvXQgdiAxLiBww6FkxJspLlwiLFxyXG4gICAgICAgICAgc3RhcnRPZmZzZXQ6IDAsXHJcbiAgICAgICAgICBlbmRPZmZzZXQ6IGxpbmUubGVuZ3RoICsgMSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBtdW5pY2lwYWxpdHk6IG51bGwsXHJcbiAgICB9O1xyXG4gIH1cclxuICBjb25zdCB7IHR5cGUsIG5hbWUgfSA9IG1hdGNoLmdyb3VwcztcclxuICByZXR1cm4gYXdhaXQgZ2V0TXVuaWNpcGFsaXR5UmVzdWx0KHR5cGUsIGNsZWFuTmFtZShuYW1lKSwgbGluZSwgZm91bmRlcik7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgaXNXaG9sZU11bmljaXBhbGl0eSA9IChsaW5lOiBzdHJpbmcpOiBib29sZWFuID0+IHtcclxuICByZXR1cm4gd2hvbGVNdW5pY2lwYWxpdHlTdGFydFBhdHRlcm4udGVzdChsaW5lKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc1Jlc3RXaXRoTm9TdHJlZXROYW1lTGluZSA9IChsaW5lOiBzdHJpbmcpOiBib29sZWFuID0+IHtcclxuICByZXR1cm4gcmVzdFdpdGhOb1N0cmVldE5hbWVQYXR0ZXJuLnRlc3QobGluZSk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgaXNSZXN0T2ZNdW5pY2lwYWxpdHlMaW5lID0gKGxpbmU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xyXG4gIHJldHVybiByZXN0T2ZNdW5pY2lwYWxpdHlQYXR0ZXJuLnRlc3QobGluZSk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgaXNSZXN0T2ZNdW5pY2lwYWxpdHlQYXJ0TGluZSA9IChsaW5lOiBzdHJpbmcpOiBib29sZWFuID0+IHtcclxuICByZXR1cm4gcmVzdE9mTXVuaWNpcGFsaXR5UGFydFBhdHRlcm4udGVzdChsaW5lKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRSZXN0T2ZNdW5pY2lwYWxpdHlQYXJ0ID0gYXN5bmMgKFxyXG4gIGxpbmU6IHN0cmluZyxcclxuICBmb3VuZGVyOiBGb3VuZGVyXHJcbik6IFByb21pc2U8TXVuaWNpcGFsaXR5UGFydFJlc3VsdD4gPT4ge1xyXG4gIGNvbnN0IG1hdGNoID0gcmVzdE9mTXVuaWNpcGFsaXR5UGFydFBhdHRlcm4uZXhlYyhsaW5lKTtcclxuICBpZiAobWF0Y2ggPT09IG51bGwpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGVycm9yczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIG1lc3NhZ2U6XHJcbiAgICAgICAgICAgIFwiTmVwbGF0bsO9IHrDoXBpcyBwcm8gcMWZaWTDoW7DrSB6Ynl0a3UgxI3DoXN0aSBvYmNlLiBTcHLDoXZuw70gesOhcGlzIGplOiB6Ynl0ZWsgxI3DoXN0aSA8dHlwPiA8bsOhemV2IG9iY2U+LiBOYXDFmS46ICd6Ynl0ZWsgxI3DoXN0aSBvYmNlIE1hbMWhb3ZpY2UnIChuw6F6ZXYgxI3DoXN0aSBvYmNlIG11c8OtIGLDvXQgdiAxLiBww6FkxJspLlwiLFxyXG4gICAgICAgICAgc3RhcnRPZmZzZXQ6IDAsXHJcbiAgICAgICAgICBlbmRPZmZzZXQ6IGxpbmUubGVuZ3RoICsgMSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBtdW5pY2lwYWxpdHlQYXJ0Q29kZTogbnVsbCxcclxuICAgIH07XHJcbiAgfVxyXG4gIGNvbnN0IHsgbmFtZSB9ID0gbWF0Y2guZ3JvdXBzO1xyXG4gIHJldHVybiBhd2FpdCBnZXRNdW5pY2lwYWxpdHlQYXJ0UmVzdWx0KG5hbWUsIGxpbmUsIGZvdW5kZXIpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFdob2xlTXVuaWNpcGFsaXR5ID0gYXN5bmMgKFxyXG4gIGxpbmU6IHN0cmluZyxcclxuICBmb3VuZGVyOiBGb3VuZGVyXHJcbik6IFByb21pc2U8RGJNdW5pY2lwYWxpdHlSZXN1bHQ+ID0+IHtcclxuICBjb25zdCBtYXRjaCA9IHdob2xlTXVuaWNpcGFsaXR5UGF0dGVybi5leGVjKGxpbmUpO1xyXG4gIGlmIChtYXRjaCA9PT0gbnVsbCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZXJyb3JzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbWVzc2FnZTpcclxuICAgICAgICAgICAgXCJOZXBsYXRuw70gesOhcGlzIHBybyBwxZlpZMOhbsOtIGNlbMOpIG9iY2UuIFNwcsOhdm7DvSB6w6FwaXMgamU6IMO6emVtw60gPHR5cD4gPG7DoXpldiBvYmNlPi4gTmFwxZkuOiAnw7p6ZW3DrSBvYmNlIEtsYWRubycgKG7DoXpldiBvYmNlIG11c8OtIGLDvXQgdiAxLiBww6FkxJspLlwiLFxyXG4gICAgICAgICAgc3RhcnRPZmZzZXQ6IDAsXHJcbiAgICAgICAgICBlbmRPZmZzZXQ6IGxpbmUubGVuZ3RoICsgMSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBtdW5pY2lwYWxpdHk6IG51bGwsXHJcbiAgICB9O1xyXG4gIH1cclxuICBjb25zdCB7IHR5cGUsIG5hbWUgfSA9IG1hdGNoLmdyb3VwcztcclxuICByZXR1cm4gYXdhaXQgZ2V0TXVuaWNpcGFsaXR5UmVzdWx0KHR5cGUsIGNsZWFuTmFtZShuYW1lKSwgbGluZSwgZm91bmRlcik7XHJcbn07XHJcblxyXG5jb25zdCBnZXRNdW5pY2lwYWxpdHlSZXN1bHQgPSBhc3luYyAoXHJcbiAgdHlwZTogc3RyaW5nLFxyXG4gIG5hbWU6IHN0cmluZyxcclxuICBsaW5lOiBzdHJpbmcsXHJcbiAgZm91bmRlcjogRm91bmRlclxyXG4pOiBQcm9taXNlPERiTXVuaWNpcGFsaXR5UmVzdWx0PiA9PiB7XHJcbiAgY29uc3QgdHlwZVZhbHVlID0gZ2V0TXVuaWNpcGFsaXR5VHlwZSh0eXBlKTtcclxuICBjb25zdCB7IG11bmljaXBhbGl0eSwgZXJyb3JzIH0gPSBhd2FpdCBmaW5kTXVuaWNpcGFsaXR5QnlOYW1lQW5kVHlwZShcclxuICAgIG5hbWUsXHJcbiAgICB0eXBlVmFsdWUsXHJcbiAgICBmb3VuZGVyXHJcbiAgKTtcclxuXHJcbiAgY29uc3Qgc3RhcnRPZmZzZXQgPSBsaW5lLmluZGV4T2YobmFtZSk7XHJcbiAgY29uc3QgZW5kT2Zmc2V0ID0gc3RhcnRPZmZzZXQgKyBuYW1lLmxlbmd0aCArIDE7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBtdW5pY2lwYWxpdHksXHJcbiAgICBlcnJvcnM6IGVycm9ycy5tYXAoKGVycm9yKSA9PiAoe1xyXG4gICAgICAuLi5lcnJvcixcclxuICAgICAgc3RhcnRPZmZzZXQsXHJcbiAgICAgIGVuZE9mZnNldCxcclxuICAgIH0pKSxcclxuICB9O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldE11bmljaXBhbGl0eVBhcnRSZXN1bHQgPSBhc3luYyAoXHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIGxpbmU6IHN0cmluZyxcclxuICBmb3VuZGVyOiBGb3VuZGVyXHJcbik6IFByb21pc2U8TXVuaWNpcGFsaXR5UGFydFJlc3VsdD4gPT4ge1xyXG4gIGNvbnN0IHsgbXVuaWNpcGFsaXR5UGFydENvZGUsIGVycm9ycyB9ID0gYXdhaXQgZmluZE11bmljaXBhbGl0eVBhcnRCeU5hbWUoXHJcbiAgICBuYW1lLFxyXG4gICAgZm91bmRlclxyXG4gICk7XHJcblxyXG4gIGNvbnN0IHN0YXJ0T2Zmc2V0ID0gbGluZS5pbmRleE9mKG5hbWUpO1xyXG4gIGNvbnN0IGVuZE9mZnNldCA9IHN0YXJ0T2Zmc2V0ICsgbmFtZS5sZW5ndGggKyAxO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgbXVuaWNpcGFsaXR5UGFydENvZGUsXHJcbiAgICBlcnJvcnM6IGVycm9ycy5tYXAoKGVycm9yKSA9PiAoe1xyXG4gICAgICAuLi5lcnJvcixcclxuICAgICAgc3RhcnRPZmZzZXQsXHJcbiAgICAgIGVuZE9mZnNldCxcclxuICAgIH0pKSxcclxuICB9O1xyXG59O1xyXG5cclxuY29uc3QgZ2V0TXVuaWNpcGFsaXR5VHlwZSA9ICh0eXBlOiBzdHJpbmcpOiBNdW5pY2lwYWxpdHlUeXBlID0+IHtcclxuICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgIGNhc2UgXCJtxJtzdHNrw6kgxI3DoXN0aVwiOlxyXG4gICAgY2FzZSBcIm3Em3N0c2vDqWhvIG9idm9kdVwiOlxyXG4gICAgICByZXR1cm4gTXVuaWNpcGFsaXR5VHlwZS5EaXN0cmljdDtcclxuICAgIGNhc2UgXCJvYmNlXCI6XHJcbiAgICBjYXNlIFwibcSbc3RhXCI6XHJcbiAgICAgIHJldHVybiBNdW5pY2lwYWxpdHlUeXBlLkNpdHk7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3QgY2xlYW5OYW1lID0gKG5hbWU6IHN0cmluZyk6IHN0cmluZyA9PiB7XHJcbiAgcmV0dXJuIG5hbWUudHJpbSgpO1xyXG59O1xyXG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Area, Municipality } from "./types";
|
|
2
2
|
import { Feature, FeatureCollection, MultiPolygon, Polygon, featureCollection } from "@turf/helpers";
|
|
3
3
|
export declare const municipalitiesToPolygons: (municipalities: Municipality[]) => Promise<Record<number, FeatureCollection>>;
|
|
4
|
-
export declare const createPolygons: (municipality: Municipality,
|
|
5
|
-
featureCollection: FeatureCollection
|
|
6
|
-
extraPolygons: Map<
|
|
4
|
+
export declare const createPolygons: (municipality: Municipality, extraAreas: Area[], municipalityPolygons: Record<number, FeatureCollection<Polygon | MultiPolygon>>) => {
|
|
5
|
+
featureCollection: FeatureCollection<Polygon | MultiPolygon>;
|
|
6
|
+
extraPolygons: Map<number, Feature<Polygon | MultiPolygon>>;
|
|
7
7
|
};
|