text-to-map 1.1.28 → 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/address-points.js +1 -0
- package/dist/bin/cities.js +1 -0
- package/dist/bin/clear-all.js +8 -18
- package/dist/bin/constants.js +1 -0
- package/dist/bin/generate-syntax-diagrams.js +1 -0
- package/dist/bin/init-db.js +5 -15
- package/dist/bin/knex.js +6 -16
- package/dist/bin/parse-ordinance.js +60 -71
- package/dist/bin/polygons.js +23 -32
- package/dist/bin/regions.js +1 -0
- package/dist/bin/schools.js +1 -0
- package/dist/bin/streets.js +1 -0
- package/dist/bin/sync-all.js +1 -0
- package/dist/db/address-points.js +43 -54
- package/dist/db/cities.d.ts +5 -3
- package/dist/db/cities.js +56 -25
- package/dist/db/db.js +24 -32
- package/dist/db/founders.js +104 -91
- package/dist/db/meta.js +12 -20
- package/dist/db/migrations/20230704125715_initial.js +291 -303
- package/dist/db/migrations/20230731232915_city_positions.js +9 -21
- package/dist/db/migrations/20240106224603_city_polygon.js +7 -19
- package/dist/db/migrations/20240320200534_district_polygon.js +11 -0
- package/dist/db/migrations/20240729211323_ordinance_city.js +11 -0
- package/dist/db/regions.js +20 -28
- package/dist/db/schools.d.ts +1 -1
- package/dist/db/schools.js +18 -23
- package/dist/db/street-sync.js +13 -21
- package/dist/db/sync-log.js +25 -33
- package/dist/db/types.d.ts +3 -1
- package/dist/db/types.js +2 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +12 -22
- package/dist/open-data-sync/address-points.js +21 -29
- package/dist/open-data-sync/cities.js +10 -18
- package/dist/open-data-sync/common.js +8 -16
- package/dist/open-data-sync/regions.js +13 -21
- package/dist/open-data-sync/schools.js +20 -28
- package/dist/open-data-sync/streets.js +40 -39
- package/dist/smd-to-csv/json-to-csv.js +1 -0
- package/dist/smd-to-csv/ordinance-to-csv-rules.js +4 -12
- package/dist/smd-to-csv/txt-to-json.js +59 -69
- package/dist/street-markdown/municipality.js +26 -28
- package/dist/street-markdown/polygons.d.ts +7 -4
- package/dist/street-markdown/polygons.js +190 -44
- package/dist/street-markdown/roman-numerals.js +1 -0
- package/dist/street-markdown/smd-line-parser.js +6 -8
- package/dist/street-markdown/smd-parser.js +2 -2
- package/dist/street-markdown/smd.d.ts +7 -1
- package/dist/street-markdown/smd.js +190 -164
- package/dist/street-markdown/token-definition.js +1 -0
- package/dist/street-markdown/types.d.ts +21 -11
- package/dist/street-markdown/types.js +3 -2
- package/dist/utils/atom.js +9 -17
- package/dist/utils/helpers.d.ts +3 -1
- package/dist/utils/helpers.js +12 -4
- package/dist/utils/jtsk2wgs84.js +1 -0
- package/package.json +5 -1
|
@@ -151,3 +151,4 @@ export function districtsToCsvRules(districts, includeDistrictName = false) {
|
|
|
151
151
|
// console.log(error);
|
|
152
152
|
// return;
|
|
153
153
|
// }
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi10by1jc3YuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc21kLXRvLWNzdi9qc29uLXRvLWNzdi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBRWxDLE1BQU0saUJBQWlCLEdBQUcseUJBQXlCLENBQUM7QUFDcEQsTUFBTSx1QkFBdUIsR0FBRyw2QkFBNkIsQ0FBQztBQUM5RCxNQUFNLFlBQVksR0FDaEIsMEVBQTBFLENBQUM7QUFDN0UsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDO0FBRTVCLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUNqQyxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUM7QUFDakMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDO0FBQzNCLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQztBQUU3QixNQUFNLHNCQUFzQixHQUFHO0lBQzdCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixFQUFFLEVBQUUsSUFBSTtJQUNSLEdBQUcsRUFBRSxLQUFLO0NBQ1gsQ0FBQztBQUVGLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQztBQUNmLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQztBQUNuQixNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEVBQUU7UUFDVCxJQUFJLEVBQUUsc0JBQXNCLENBQUMsR0FBRztRQUNoQyxJQUFJLEVBQUUsSUFBSTtRQUNWLEVBQUUsRUFBRSxJQUFJO0tBQ1Q7Q0FDRixDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxDQUN2QixJQUFJLEVBQ0osSUFBSSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sRUFDL0IsRUFBRSxHQUFHLGdCQUFnQixDQUFDLEtBQUssRUFDM0IsRUFBRTtJQUNGLE9BQU87UUFDTCxJQUFJLEVBQUUs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SyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtvQkFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLENBQUM7b0JBQ2xDLE9BQU87aUJBQ1I7Z0JBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUNyQixLQUFLLENBQUMsSUFBSSxDQUNSLFVBQVU7d0JBQ1IsR0FBRzt3QkFDSCxJQUFJLENBQUMsSUFBSTt3QkFDVCxHQUFHO3dCQUNILElBQUksQ0FBQyxFQUFFO3dCQUNQLEdBQUc7d0JBQ0gsSUFBSSxDQUFDLElBQUk7d0JBQ1QsR0FBRzt3QkFDSCxNQUFNLENBQUMsSUFBSTt3QkFDWCxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ25ELENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVELCtDQUErQztBQUMvQyxpQkFBaUI7QUFDakIsUUFBUTtBQUNSLGlDQUFpQztBQUNqQyxvQkFBb0I7QUFDcEIsd0JBQXdCO0FBQ3hCLFlBQVk7QUFDWixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSBcImZzXCI7XHJcblxyXG5jb25zdCBzdHJlZXROYW1lUGF0dGVybiA9IC9eKFteIC1dKyhbIC1dP1teIC1dKykqKS87XHJcbmNvbnN0IHN0cmVldFNlcmllc1BhcnRQYXR0ZXJuID0gLyhsaWNow6EgxI0ufHN1ZMOhIMSNLnzEjS4gcC58xI0uKS87XHJcbmNvbnN0IHJhbmdlUGF0dGVybiA9XHJcbiAgLyhcXGQrW2Etel0/ID9bLV0gP1xcZCtbYS16XT98KG9kICk/XFxkK1thLXpdPyggYSk/IHbDvcWhZXxcXGQrW2Etel0/KSgsID98IGEgKS87XHJcbmNvbnN0IG51bWJlclBhdHRlcm4gPSAvXFxkKy87XHJcblxyXG5jb25zdCBPZGRUeXBlU3RyaW5nID0gXCJsaWNow6EgxI0uXCI7XHJcbmNvbnN0IEV2ZW5UeXBlU3RyaW5nID0gXCJzdWTDoSDEjS5cIjtcclxuY29uc3QgQWxsVHlwZVN0cmluZyA9IFwixI0uXCI7XHJcbmNvbnN0IENQVHlwZVN0cmluZyA9IFwixI0uIHAuXCI7XHJcblxyXG5jb25zdCBTdHJlZXROdW1iZXJTZXJpZXNUeXBlID0ge1xyXG4gIE9kZDogXCJvZGRcIixcclxuICBFdmVuOiBcImV2ZW5cIixcclxuICBDUDogXCJjcFwiLFxyXG4gIEFsbDogXCJhbGxcIixcclxufTtcclxuXHJcbmNvbnN0IF9taW4gPSAwO1xyXG5jb25zdCBfbWF4ID0gMTAwMDA7XHJcbmNvbnN0IFN0cmVldE51bWJlclJ1bGUgPSB7XHJcbiAgTWluRnJvbTogX21pbixcclxuICBNYXhUbzogX21heCxcclxuICBFbXB0eVJ1bGU6IHtcclxuICAgIHR5cGU6IFN0cmVldE51bWJlclNlcmllc1R5cGUuQWxsLFxyXG4gICAgZnJvbTogX21pbixcclxuICAgIHRvOiBfbWF4LFxyXG4gIH0sXHJcbn07XHJcblxyXG5jb25zdCBjcmVhdGVTdHJlZXRSdWxlID0gKFxyXG4gIHR5cGUsXHJcbiAgZnJvbSA9IFN0cmVldE51bWJlclJ1bGUuTWluRnJvbSxcclxuICB0byA9IFN0cmVldE51bWJlclJ1bGUuTWF4VG9cclxuKSA9PiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGU6IHR5cGUsXHJcbiAgICBmcm9tOiBmcm9tLFxyXG4gICAgdG86IHRvLFxyXG4gIH07XHJcbn07XHJcblxyXG5jb25zdCBnZXRTdHJlZXRSdWxlcyA9IChudW1iZXJTcGVjaWZpY2F0aW9uKSA9PiB7XHJcbiAgbGV0IHJ1bGVzID0gW107XHJcbiAgbGV0IHBvc2l0aW9uID0gMDtcclxuXHJcbiAgaWYgKG51bWJlclNwZWNpZmljYXRpb24gPT0gXCJcIikge1xyXG4gICAgcmV0dXJuIFtTdHJlZXROdW1iZXJSdWxlLkVtcHR5UnVsZV07XHJcbiAgfVxyXG5cclxuICB3aGlsZSAocG9zaXRpb24gPCBudW1iZXJTcGVjaWZpY2F0aW9uLmxlbmd0aCkge1xyXG4gICAgdmFyIHJlbWFpbmRlciA9IG51bWJlclNwZWNpZmljYXRpb24uc3Vic3RyKHBvc2l0aW9uKTtcclxuICAgIHZhciBtYXRjaCA9IHN0cmVldFNlcmllc1BhcnRQYXR0ZXJuLmV4ZWMocmVtYWluZGVyKTtcclxuICAgIC8vIGlmIG5vIHNlcmllcyB0eXBlIGlzIGZvdW5kLCBpdCdzIGFuIGVycm9yXHJcbiAgICBpZiAobWF0Y2ggPT0gbnVsbCB8fCBtYXRjaC5pbmRleCAhPSAwKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgdmFyIHR5cGUgPSBnZXRTZXJpZXNUeXBlKG1hdGNoWzBdKTtcclxuICAgIHBvc2l0aW9uICs9IG1hdGNoWzBdLmxlbmd0aDtcclxuICAgIHJlbWFpbmRlciA9IG51bWJlclNwZWNpZmljYXRpb24uc3Vic3RyKHBvc2l0aW9uKTtcclxuICAgIG1hdGNoID0gc3RyZWV0U2VyaWVzUGFydFBhdHRlcm4uZXhlYyhyZW1haW5kZXIpO1xyXG4gICAgdmFyIGVuZCA9IG51bWJlclNwZWNpZmljYXRpb24ubGVuZ3RoO1xyXG4gICAgaWYgKG1hdGNoICE9IG51bGwpIHtcclxuICAgICAgZW5kID0gcG9zaXRpb24gKyBtYXRjaC5pbmRleDtcclxuICAgIH1cclxuICAgIHZhciByYW5nZVBhcnQgPSBudW1iZXJTcGVjaWZpY2F0aW9uLnN1YnN0cihwb3NpdGlvbiwgZW5kIC0gcG9zaXRpb24pO1xyXG4gICAgcnVsZXMgPSBydWxlcy5jb25jYXQoZ2V0UnVsZXNGcm9tUmFuZ2VQYXJ0KHJhbmdlUGFydCwgdHlwZSkpO1xyXG4gICAgcG9zaXRpb24gPSBlbmQ7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcnVsZXM7XHJcbn07XHJcblxyXG5jb25zdCBnZXRSdWxlc0Zyb21SYW5nZVBhcnQgPSAocmFuZ2VQYXJ0LCBzZXJpZXNUeXBlKSA9PiB7XHJcbiAgbGV0IHJ1bGVzID0gW107XHJcblxyXG4gIGlmIChyZW1vdmVTZXBhcmF0b3JGcm9tRW5kKHJhbmdlUGFydCkgPT0gXCJcIikge1xyXG4gICAgcnVsZXMucHVzaChjcmVhdGVTdHJlZXRSdWxlKHNlcmllc1R5cGUpKTtcclxuICAgIHJldHVybiBydWxlcztcclxuICB9XHJcblxyXG4gIGxldCBwb3NpdGlvbiA9IDA7XHJcbiAgcmFuZ2VQYXJ0ID0gcmFuZ2VQYXJ0LnRyaW0oKSArIFwiLCBcIjtcclxuICB3aGlsZSAocG9zaXRpb24gPCByYW5nZVBhcnQubGVuZ3RoKSB7XHJcbiAgICB2YXIgbWF0Y2ggPSByYW5nZVBhdHRlcm4uZXhlYyhyYW5nZVBhcnQuc3Vic3RyKHBvc2l0aW9uKSk7XHJcbiAgICBpZiAobWF0Y2ggPT0gbnVsbCkge1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHBvc2l0aW9uICs9IG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoO1xyXG5cclxuICAgIHZhciB2YWx1ZSA9IHJlbW92ZVNlcGFyYXRvckZyb21FbmQobWF0Y2hbMF0pO1xyXG4gICAgaWYgKHZhbHVlLmluZGV4T2YoXCItXCIpICE9IC0xKSB7XHJcbiAgICAgIHZhciBmcm9tVG8gPSB2YWx1ZS5zcGxpdChcIi1cIik7XHJcbiAgICAgIHJ1bGVzLnB1c2goY3JlYXRlU3RyZWV0UnVsZShzZXJpZXNUeXBlLCBwYXJzZUludChmcm9tVG9bMF0pLCBmcm9tVG9bMV0pKTtcclxuICAgIH0gZWxzZSBpZiAodmFsdWUuaW5kZXhPZihcInbDvcWhZVwiKSAhPSAtMSkge1xyXG4gICAgICB2YXIgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyUGF0dGVybi5leGVjKHZhbHVlKVswXSk7XHJcbiAgICAgIHJ1bGVzLnB1c2goY3JlYXRlU3RyZWV0UnVsZShzZXJpZXNUeXBlLCBudW1iZXIpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHZhciBudW1iZXIgPSBwYXJzZUludChudW1iZXJQYXR0ZXJuLmV4ZWModmFsdWUpWzBdKTtcclxuICAgICAgcnVsZXMucHVzaChjcmVhdGVTdHJlZXRSdWxlKHNlcmllc1R5cGUsIG51bWJlciwgbnVtYmVyKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcnVsZXM7XHJcbn07XHJcblxyXG5jb25zdCBnZXRTZXJpZXNUeXBlID0gKHBhdHRlcm4pID0+IHtcclxuICBzd2l0Y2ggKHBhdHRlcm4pIHtcclxuICAgIGNhc2UgT2RkVHlwZVN0cmluZzpcclxuICAgICAgcmV0dXJuIFN0cmVldE51bWJlclNlcmllc1R5cGUuT2RkO1xyXG4gICAgY2FzZSBFdmVuVHlwZVN0cmluZzpcclxuICAgICAgcmV0dXJuIFN0cmVldE51bWJlclNlcmllc1R5cGUuRXZlbjtcclxuICAgIGNhc2UgQ1BUeXBlU3RyaW5nOlxyXG4gICAgICByZXR1cm4gU3RyZWV0TnVtYmVyU2VyaWVzVHlwZS5DUDtcclxuICAgIGNhc2UgQWxsVHlwZVN0cmluZzpcclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHJldHVybiBTdHJlZXROdW1iZXJTZXJpZXNUeXBlLkFsbDtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCByZW1vdmVTZXBhcmF0b3JGcm9tRW5kID0gKHRleHQpID0+IHtcclxuICB0ZXh0ID0gdGV4dC50cmltKCk7XHJcbiAgaWYgKHRleHRbdGV4dC5sZW5ndGggLSAxXSA9PSBcImFcIiB8fCB0ZXh0W3RleHQubGVuZ3RoIC0gMV0gPT0gXCIsXCIpIHtcclxuICAgIHRleHQgPSB0ZXh0LnN1YnN0cigwLCB0ZXh0Lmxlbmd0aCAtIDEpO1xyXG4gIH1cclxuICByZXR1cm4gdGV4dC50cmltKCk7XHJcbn07XHJcblxyXG4vLyBkZXNpcmVkIG91dHB1dCBmb3JtYXQ6XHJcbi8vIFDFmcOtxI1uw6Eoc3RyKTtmcm9tKGludCk7dG8oaW50KTtbb2RkfGV2ZW58YWxsfGNwXTtzY2hvb2woc3RyKVxyXG5leHBvcnQgZnVuY3Rpb24gZGlzdHJpY3RzVG9Dc3ZSdWxlcyhkaXN0cmljdHMsIGluY2x1ZGVEaXN0cmljdE5hbWUgPSBmYWxzZSkge1xyXG4gIGNvbnN0IGxpbmVzID0gW107XHJcbiAgZGlzdHJpY3RzLmZvckVhY2goKGRpc3RyaWN0KSA9PiB7XHJcbiAgICBkaXN0cmljdC5zY2hvb2xzLmZvckVhY2goKHNjaG9vbCkgPT4ge1xyXG4gICAgICBzY2hvb2wubGluZXMuZm9yRWFjaCgoc3RyZWV0KSA9PiB7XHJcbiAgICAgICAgaWYgKHN0cmVldFswXSA9PSBcIiFcIiB8fCBzdHJlZXQgPT0gXCJcIikge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgcmVzdWx0ID0gc3RyZWV0TmFtZVBhdHRlcm4uZXhlYyhzdHJlZXQpO1xyXG4gICAgICAgIGxldCBzdHJlZXROYW1lID0gcmVzdWx0WzBdO1xyXG4gICAgICAgIGxldCBudW1iZXJTcGVjaWZpY2F0aW9uID0gc3RyZWV0LnN1YnN0cihzdHJlZXROYW1lLmxlbmd0aCArIDMpLnRyaW0oKTtcclxuICAgICAgICBsZXQgcnVsZXMgPSBnZXRTdHJlZXRSdWxlcyhudW1iZXJTcGVjaWZpY2F0aW9uKTtcclxuICAgICAgICBpZiAocnVsZXMgPT0gbnVsbCB8fCBydWxlcy5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yOiBcIiArIHN0cmVldCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJ1bGVzLmZvckVhY2goKHJ1bGUpID0+IHtcclxuICAgICAgICAgIGxpbmVzLnB1c2goXHJcbiAgICAgICAgICAgIHN0cmVldE5hbWUgK1xyXG4gICAgICAgICAgICAgIFwiO1wiICtcclxuICAgICAgICAgICAgICBydWxlLmZyb20gK1xyXG4gICAgICAgICAgICAgIFwiO1wiICtcclxuICAgICAgICAgICAgICBydWxlLnRvICtcclxuICAgICAgICAgICAgICBcIjtcIiArXHJcbiAgICAgICAgICAgICAgcnVsZS50eXBlICtcclxuICAgICAgICAgICAgICBcIjtcIiArXHJcbiAgICAgICAgICAgICAgc2Nob29sLm5hbWUgK1xyXG4gICAgICAgICAgICAgIChpbmNsdWRlRGlzdHJpY3ROYW1lID8gXCI7XCIgKyBkaXN0cmljdC5uYW1lIDogXCJcIilcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiBsaW5lcy5qb2luKFwiXFxuXCIpO1xyXG59XHJcblxyXG4vLyBsZXQgcmF3ID0gcmVhZEZpbGVTeW5jKFwib3V0Lmpzb25cIiwgXCJ1dGYtOFwiKTtcclxuLy8gbGV0IGRpc3RyaWN0cztcclxuLy8gdHJ5IHtcclxuLy8gICBkaXN0cmljdHMgPSBKU09OLnBhcnNlKHJhdyk7XHJcbi8vIH0gY2F0Y2ggKGVycm9yKSB7XHJcbi8vICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4vLyAgIHJldHVybjtcclxuLy8gfVxyXG4iXX0=
|
|
@@ -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,5 +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();
|
|
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,80 +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
|
}
|
|
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,3 +113,4 @@ const getMunicipalityType = (type) => {
|
|
|
116
113
|
const cleanName = (name) => {
|
|
117
114
|
return name.trim();
|
|
118
115
|
};
|
|
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,4 +1,7 @@
|
|
|
1
|
-
import { Municipality } from "./types";
|
|
2
|
-
import { FeatureCollection, MultiPolygon, Polygon } from "@turf/helpers";
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const createPolygons: (municipality: Municipality,
|
|
1
|
+
import { Area, Municipality } from "./types";
|
|
2
|
+
import { Feature, FeatureCollection, MultiPolygon, Polygon, featureCollection } from "@turf/helpers";
|
|
3
|
+
export declare const municipalitiesToPolygons: (municipalities: Municipality[]) => Promise<Record<number, FeatureCollection>>;
|
|
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
|
+
};
|