text-to-map 1.1.45 → 1.1.47
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/LICENSE +21 -21
- package/README.md +69 -69
- package/dist/bin/address-points.d.ts +1 -1
- package/dist/bin/address-points.js +16 -16
- package/dist/bin/cities.d.ts +1 -1
- package/dist/bin/cities.js +10 -10
- package/dist/bin/clear-all.d.ts +1 -1
- package/dist/bin/clear-all.js +13 -13
- package/dist/bin/constants.d.ts +2 -2
- package/dist/bin/constants.js +4 -4
- package/dist/bin/generate-syntax-diagrams.d.ts +1 -1
- package/dist/bin/generate-syntax-diagrams.js +20 -20
- package/dist/bin/init-db.d.ts +1 -1
- package/dist/bin/init-db.js +8 -8
- package/dist/bin/knex.d.ts +1 -1
- package/dist/bin/knex.js +10 -10
- package/dist/bin/parse-ordinance.d.ts +1 -1
- package/dist/bin/parse-ordinance.js +74 -74
- package/dist/bin/polygons.d.ts +1 -1
- package/dist/bin/polygons.js +27 -27
- package/dist/bin/regions.d.ts +1 -1
- package/dist/bin/regions.js +10 -10
- package/dist/bin/schools.d.ts +1 -1
- package/dist/bin/schools.js +10 -10
- package/dist/bin/streets.d.ts +1 -1
- package/dist/bin/streets.js +19 -19
- package/dist/bin/sync-all.d.ts +1 -1
- package/dist/bin/sync-all.js +4 -4
- package/dist/db/address-points.d.ts +59 -59
- package/dist/db/address-points.js +401 -399
- package/dist/db/cities.d.ts +7 -7
- package/dist/db/cities.js +95 -95
- package/dist/db/db.d.ts +37 -37
- package/dist/db/db.js +191 -191
- package/dist/db/founders.d.ts +14 -14
- package/dist/db/founders.js +461 -461
- package/dist/db/meta.d.ts +4 -4
- package/dist/db/meta.js +26 -26
- package/dist/db/migrations/20230704125715_initial.js +304 -304
- package/dist/db/migrations/20230731232915_city_positions.js +13 -13
- package/dist/db/migrations/20240106224603_city_polygon.js +11 -11
- package/dist/db/migrations/20240320200534_district_polygon.js +11 -11
- package/dist/db/migrations/20250316162700_kindergartens.js +12 -12
- package/dist/db/regions.d.ts +31 -31
- package/dist/db/regions.js +81 -81
- package/dist/db/schools.d.ts +7 -7
- package/dist/db/schools.js +95 -95
- package/dist/db/street-sync.d.ts +6 -6
- package/dist/db/street-sync.js +22 -22
- package/dist/db/sync-log.d.ts +9 -9
- package/dist/db/sync-log.js +66 -66
- package/dist/db/types.d.ts +59 -59
- package/dist/db/types.js +26 -26
- package/dist/index.d.ts +23 -23
- package/dist/index.js +32 -32
- package/dist/open-data-sync/address-points.d.ts +2 -2
- package/dist/open-data-sync/address-points.js +68 -68
- package/dist/open-data-sync/cities.d.ts +2 -2
- package/dist/open-data-sync/cities.js +32 -32
- package/dist/open-data-sync/common.d.ts +2 -2
- package/dist/open-data-sync/common.js +22 -22
- package/dist/open-data-sync/regions.d.ts +2 -2
- package/dist/open-data-sync/regions.js +37 -37
- package/dist/open-data-sync/schools.d.ts +3 -3
- package/dist/open-data-sync/schools.js +207 -207
- package/dist/open-data-sync/streets.d.ts +2 -2
- package/dist/open-data-sync/streets.js +132 -132
- package/dist/smd-to-csv/json-to-csv.d.ts +1 -1
- package/dist/smd-to-csv/json-to-csv.js +154 -154
- package/dist/smd-to-csv/ordinance-to-csv-rules.d.ts +1 -1
- package/dist/smd-to-csv/ordinance-to-csv-rules.js +23 -23
- package/dist/smd-to-csv/txt-to-json.d.ts +1 -1
- package/dist/smd-to-csv/txt-to-json.js +92 -92
- package/dist/souradnice.csv +6260 -6260
- package/dist/street-markdown/municipality.d.ts +11 -11
- package/dist/street-markdown/municipality.js +116 -116
- package/dist/street-markdown/polygons.d.ts +7 -7
- package/dist/street-markdown/polygons.js +261 -261
- package/dist/street-markdown/roman-numerals.d.ts +1 -1
- package/dist/street-markdown/roman-numerals.js +68 -68
- package/dist/street-markdown/smd-line-parser.d.ts +4 -4
- package/dist/street-markdown/smd-line-parser.js +40 -40
- package/dist/street-markdown/smd-parser.d.ts +23 -23
- package/dist/street-markdown/smd-parser.js +393 -393
- package/dist/street-markdown/smd.d.ts +24 -24
- package/dist/street-markdown/smd.js +440 -440
- package/dist/street-markdown/token-definition.d.ts +25 -25
- package/dist/street-markdown/token-definition.js +168 -168
- package/dist/street-markdown/types.d.ts +148 -148
- package/dist/street-markdown/types.js +13 -13
- package/dist/utils/atom.d.ts +2 -2
- package/dist/utils/atom.js +57 -57
- package/dist/utils/helpers.d.ts +28 -28
- package/dist/utils/helpers.js +176 -176
- package/dist/utils/jtsk2wgs84.d.ts +17 -17
- package/dist/utils/jtsk2wgs84.js +82 -82
- package/package.json +109 -109
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Founder } from "../db/types";
|
|
2
|
-
import { DbMunicipalityResult, MunicipalityPartResult } from "./types";
|
|
3
|
-
export declare const isMunicipalitySwitch: (line: string) => boolean;
|
|
4
|
-
export declare const getSwitchMunicipality: (line: string, founder: Founder) => Promise<DbMunicipalityResult>;
|
|
5
|
-
export declare const isWholeMunicipality: (line: string) => boolean;
|
|
6
|
-
export declare const isRestWithNoStreetNameLine: (line: string) => boolean;
|
|
7
|
-
export declare const isRestOfMunicipalityLine: (line: string) => boolean;
|
|
8
|
-
export declare const isRestOfMunicipalityPartLine: (line: string) => boolean;
|
|
9
|
-
export declare const getRestOfMunicipalityPart: (line: string, founder: Founder) => Promise<MunicipalityPartResult>;
|
|
10
|
-
export declare const getWholeMunicipality: (line: string, founder: Founder) => Promise<DbMunicipalityResult>;
|
|
11
|
-
export declare const getMunicipalityPartResult: (name: string, line: string, cityCode: number) => Promise<MunicipalityPartResult>;
|
|
1
|
+
import { Founder } from "../db/types";
|
|
2
|
+
import { DbMunicipalityResult, MunicipalityPartResult } from "./types";
|
|
3
|
+
export declare const isMunicipalitySwitch: (line: string) => boolean;
|
|
4
|
+
export declare const getSwitchMunicipality: (line: string, founder: Founder) => Promise<DbMunicipalityResult>;
|
|
5
|
+
export declare const isWholeMunicipality: (line: string) => boolean;
|
|
6
|
+
export declare const isRestWithNoStreetNameLine: (line: string) => boolean;
|
|
7
|
+
export declare const isRestOfMunicipalityLine: (line: string) => boolean;
|
|
8
|
+
export declare const isRestOfMunicipalityPartLine: (line: string) => boolean;
|
|
9
|
+
export declare const getRestOfMunicipalityPart: (line: string, founder: Founder) => Promise<MunicipalityPartResult>;
|
|
10
|
+
export declare const getWholeMunicipality: (line: string, founder: Founder) => Promise<DbMunicipalityResult>;
|
|
11
|
+
export declare const getMunicipalityPartResult: (name: string, line: string, cityCode: number) => Promise<MunicipalityPartResult>;
|
|
@@ -1,116 +1,116 @@
|
|
|
1
|
-
import { findMunicipalityByNameAndType, findMunicipalityPartByName, getFounderCityCode, } from "../db/founders";
|
|
2
|
-
import { MunicipalityType } from "../db/types";
|
|
3
|
-
const municipalitySwitchStartPattern = /^navíc ulice /;
|
|
4
|
-
const municipalitySwitchPattern = /^navíc ulice (z )?(?<type>městské části|městského obvodu|obce|města) (?<name>.+):$/;
|
|
5
|
-
const wholeMunicipalityStartPattern = /^území /;
|
|
6
|
-
const wholeMunicipalityPattern = /^území (?<type>městské části|městského obvodu|obce|města) (?<name>.+)$/;
|
|
7
|
-
const restWithNoStreetNamePattern = /^všechny ostatní budovy bez názvu ulice\s*$/;
|
|
8
|
-
const restOfMunicipalityPattern = /^zbytek (?<type>městské části|městského obvodu|obce|města)\s*$/;
|
|
9
|
-
const restOfMunicipalityPartPattern = /^zbytek části (obce|města) (?<name>.+)\s*$/;
|
|
10
|
-
export const isMunicipalitySwitch = (line) => {
|
|
11
|
-
return municipalitySwitchStartPattern.test(line);
|
|
12
|
-
};
|
|
13
|
-
export const getSwitchMunicipality = async (line, founder) => {
|
|
14
|
-
const match = municipalitySwitchPattern.exec(line);
|
|
15
|
-
if (match === null) {
|
|
16
|
-
return {
|
|
17
|
-
errors: [
|
|
18
|
-
{
|
|
19
|
-
message: "Neplatný zápis pro dočasnou změnu obce v definici ulic. Správný zápis je: navíc ulice <typ> <název obce>. Např.: 'navíc ulice obce Mokrá Lhota:' (název obce musí být v 1. pádě).",
|
|
20
|
-
startOffset: 0,
|
|
21
|
-
endOffset: line.length + 1,
|
|
22
|
-
},
|
|
23
|
-
],
|
|
24
|
-
municipality: null,
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
const { type, name } = match.groups;
|
|
28
|
-
return await getMunicipalityResult(type, cleanName(name), line, founder);
|
|
29
|
-
};
|
|
30
|
-
export const isWholeMunicipality = (line) => {
|
|
31
|
-
return wholeMunicipalityStartPattern.test(line);
|
|
32
|
-
};
|
|
33
|
-
export const isRestWithNoStreetNameLine = (line) => {
|
|
34
|
-
return restWithNoStreetNamePattern.test(line);
|
|
35
|
-
};
|
|
36
|
-
export const isRestOfMunicipalityLine = (line) => {
|
|
37
|
-
return restOfMunicipalityPattern.test(line);
|
|
38
|
-
};
|
|
39
|
-
export const isRestOfMunicipalityPartLine = (line) => {
|
|
40
|
-
return restOfMunicipalityPartPattern.test(line);
|
|
41
|
-
};
|
|
42
|
-
export const getRestOfMunicipalityPart = async (line, founder) => {
|
|
43
|
-
const match = restOfMunicipalityPartPattern.exec(line);
|
|
44
|
-
if (match === null) {
|
|
45
|
-
return {
|
|
46
|
-
errors: [
|
|
47
|
-
{
|
|
48
|
-
message: "Neplatný zápis pro přidání zbytku části obce. Správný zápis je: zbytek části <typ> <název obce>. Např.: 'zbytek části obce Malšovice' (název části obce musí být v 1. pádě).",
|
|
49
|
-
startOffset: 0,
|
|
50
|
-
endOffset: line.length + 1,
|
|
51
|
-
},
|
|
52
|
-
],
|
|
53
|
-
municipalityPartCode: null,
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
const { name } = match.groups;
|
|
57
|
-
return await getMunicipalityPartResult(name, line, await getFounderCityCode(founder.municipalityType, founder.municipalityCode));
|
|
58
|
-
};
|
|
59
|
-
export const getWholeMunicipality = async (line, founder) => {
|
|
60
|
-
const match = wholeMunicipalityPattern.exec(line);
|
|
61
|
-
if (match === null) {
|
|
62
|
-
return {
|
|
63
|
-
errors: [
|
|
64
|
-
{
|
|
65
|
-
message: "Neplatný zápis pro přidání celé obce. Správný zápis je: území <typ> <název obce>. Např.: 'území obce Kladno' (název obce musí být v 1. pádě).",
|
|
66
|
-
startOffset: 0,
|
|
67
|
-
endOffset: line.length + 1,
|
|
68
|
-
},
|
|
69
|
-
],
|
|
70
|
-
municipality: null,
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
const { type, name } = match.groups;
|
|
74
|
-
return await getMunicipalityResult(type, cleanName(name), line, founder);
|
|
75
|
-
};
|
|
76
|
-
const getMunicipalityResult = async (type, name, line, founder) => {
|
|
77
|
-
const typeValue = getMunicipalityType(type);
|
|
78
|
-
const { municipality, errors } = await findMunicipalityByNameAndType(name, typeValue, founder);
|
|
79
|
-
const startOffset = line.indexOf(name);
|
|
80
|
-
const endOffset = startOffset + name.length + 1;
|
|
81
|
-
return {
|
|
82
|
-
municipality,
|
|
83
|
-
errors: errors.map((error) => ({
|
|
84
|
-
...error,
|
|
85
|
-
startOffset,
|
|
86
|
-
endOffset,
|
|
87
|
-
})),
|
|
88
|
-
};
|
|
89
|
-
};
|
|
90
|
-
export const getMunicipalityPartResult = async (name, line, cityCode) => {
|
|
91
|
-
const { municipalityPartCode, errors } = await findMunicipalityPartByName(name, cityCode);
|
|
92
|
-
const startOffset = line.indexOf(name);
|
|
93
|
-
const endOffset = startOffset + name.length + 1;
|
|
94
|
-
return {
|
|
95
|
-
municipalityPartCode,
|
|
96
|
-
errors: errors.map((error) => ({
|
|
97
|
-
...error,
|
|
98
|
-
startOffset,
|
|
99
|
-
endOffset,
|
|
100
|
-
})),
|
|
101
|
-
};
|
|
102
|
-
};
|
|
103
|
-
const getMunicipalityType = (type) => {
|
|
104
|
-
switch (type) {
|
|
105
|
-
case "městské části":
|
|
106
|
-
case "městského obvodu":
|
|
107
|
-
return MunicipalityType.District;
|
|
108
|
-
case "obce":
|
|
109
|
-
case "města":
|
|
110
|
-
return MunicipalityType.City;
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
const cleanName = (name) => {
|
|
114
|
-
return name.trim();
|
|
115
|
-
};
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVuaWNpcGFsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmVldC1tYXJrZG93bi9tdW5pY2lwYWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIsa0JBQWtCLEdBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFXLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3hELE1BQU0sOEJBQThCLEdBQUcsZUFBZSxDQUFDO0FBRXZELE1BQU0seUJBQXlCLEdBQzdCLG9GQUFvRixDQUFDO0FBRXZGLE1BQU0sNkJBQTZCLEdBQUcsU0FBUyxDQUFDO0FBRWhELE1BQU0sd0JBQXdCLEdBQzVCLHdFQUF3RSxDQUFDO0FBRTNFLE1BQU0sMkJBQTJCLEdBQy9CLDZDQUE2QyxDQUFDO0FBRWhELE1BQU0seUJBQXlCLEdBQzdCLGdFQUFnRSxDQUFDO0FBQ25FLE1BQU0sNkJBQTZCLEdBQ2pDLDRDQUE0QyxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBWSxFQUFXLEVBQUU7SUFDNUQsT0FBTyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbkQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxFQUN4QyxJQUFZLEVBQ1osT0FBZ0IsRUFDZSxFQUFFO0lBQ2pDLE1BQU0sS0FBSyxHQUFHLHlCQUF5QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDbEIsT0FBTztZQUNMLE1BQU0sRUFBRTtnQkFDTjtvQkFDRSxPQUFPLEVBQ0wsbUxBQW1MO29CQUNyTCxXQUFXLEVBQUUsQ0FBQztvQkFDZCxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDO2lCQUMzQjthQUNGO1lB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QUFLLGtCQUFrQjtZQUNyQixPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztRQUNuQyxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssT0FBTztZQUNWLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDO0tBQ2hDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRTtJQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNyQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIGZpbmRNdW5pY2lwYWxpdHlCeU5hbWVBbmRUeXBlLFxyXG4gIGZpbmRNdW5pY2lwYWxpdHlQYXJ0QnlOYW1lLFxyXG4gIGdldEZvdW5kZXJDaXR5Q29kZSxcclxufSBmcm9tIFwiLi4vZGIvZm91bmRlcnNcIjtcclxuaW1wb3J0IHsgRm91bmRlciwgTXVuaWNpcGFsaXR5VHlwZSB9IGZyb20gXCIuLi9kYi90eXBlc1wiO1xyXG5pbXBvcnQgeyBEYk11bmljaXBhbGl0eVJlc3VsdCwgTXVuaWNpcGFsaXR5UGFydFJlc3VsdCB9IGZyb20gXCIuL3R5cGVzXCI7XHJcblxyXG5jb25zdCBtdW5pY2lwYWxpdHlTd2l0Y2hTdGFydFBhdHRlcm4gPSAvXm5hdsOtYyB1bGljZSAvO1xyXG5cclxuY29uc3QgbXVuaWNpcGFsaXR5U3dpdGNoUGF0dGVybiA9XHJcbiAgL15uYXbDrWMgdWxpY2UgKHogKT8oPzx0eXBlPm3Em3N0c2vDqSDEjcOhc3RpfG3Em3N0c2vDqWhvIG9idm9kdXxvYmNlfG3Em3N0YSkgKD88bmFtZT4uKyk6JC87XHJcblxyXG5jb25zdCB3aG9sZU11bmljaXBhbGl0eVN0YXJ0UGF0dGVybiA9IC9ew7p6ZW3DrSAvO1xyXG5cclxuY29uc3Qgd2hvbGVNdW5pY2lwYWxpdHlQYXR0ZXJuID1cclxuICAvXsO6emVtw60gKD88dHlwZT5txJtzdHNrw6kgxI3DoXN0aXxtxJtzdHNrw6lobyBvYnZvZHV8b2JjZXxtxJtzdGEpICg/PG5hbWU+LispJC87XHJcblxyXG5jb25zdCByZXN0V2l0aE5vU3RyZWV0TmFtZVBhdHRlcm4gPVxyXG4gIC9edsWhZWNobnkgb3N0YXRuw60gYnVkb3Z5IGJleiBuw6F6dnUgdWxpY2VcXHMqJC87XHJcblxyXG5jb25zdCByZXN0T2ZNdW5pY2lwYWxpdHlQYXR0ZXJuID1cclxuICAvXnpieXRlayAoPzx0eXBlPm3Em3N0c2vDqSDEjcOhc3RpfG3Em3N0c2vDqWhvIG9idm9kdXxvYmNlfG3Em3N0YSlcXHMqJC87XHJcbmNvbnN0IHJlc3RPZk11bmljaXBhbGl0eVBhcnRQYXR0ZXJuID1cclxuICAvXnpieXRlayDEjcOhc3RpIChvYmNlfG3Em3N0YSkgKD88bmFtZT4uKylcXHMqJC87XHJcblxyXG5leHBvcnQgY29uc3QgaXNNdW5pY2lwYWxpdHlTd2l0Y2ggPSAobGluZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XHJcbiAgcmV0dXJuIG11bmljaXBhbGl0eVN3aXRjaFN0YXJ0UGF0dGVybi50ZXN0KGxpbmUpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFN3aXRjaE11bmljaXBhbGl0eSA9IGFzeW5jIChcclxuICBsaW5lOiBzdHJpbmcsXHJcbiAgZm91bmRlcjogRm91bmRlclxyXG4pOiBQcm9taXNlPERiTXVuaWNpcGFsaXR5UmVzdWx0PiA9PiB7XHJcbiAgY29uc3QgbWF0Y2ggPSBtdW5pY2lwYWxpdHlTd2l0Y2hQYXR0ZXJuLmV4ZWMobGluZSk7XHJcbiAgaWYgKG1hdGNoID09PSBudWxsKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBlcnJvcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBtZXNzYWdlOlxyXG4gICAgICAgICAgICBcIk5lcGxhdG7DvSB6w6FwaXMgcHJvIGRvxI1hc25vdSB6bcSbbnUgb2JjZSB2IGRlZmluaWNpIHVsaWMuIFNwcsOhdm7DvSB6w6FwaXMgamU6IG5hdsOtYyB1bGljZSA8dHlwPiA8bsOhemV2IG9iY2U+LiBOYXDFmS46ICduYXbDrWMgdWxpY2Ugb2JjZSBNb2tyw6EgTGhvdGE6JyAobsOhemV2IG9iY2UgbXVzw60gYsO9dCB2IDEuIHDDoWTEmykuXCIsXHJcbiAgICAgICAgICBzdGFydE9mZnNldDogMCxcclxuICAgICAgICAgIGVuZE9mZnNldDogbGluZS5sZW5ndGggKyAxLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIG11bmljaXBhbGl0eTogbnVsbCxcclxuICAgIH07XHJcbiAgfVxyXG4gIGNvbnN0IHsgdHlwZSwgbmFtZSB9ID0gbWF0Y2guZ3JvdXBzO1xyXG4gIHJldHVybiBhd2FpdCBnZXRNdW5pY2lwYWxpdHlSZXN1bHQodHlwZSwgY2xlYW5OYW1lKG5hbWUpLCBsaW5lLCBmb3VuZGVyKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc1dob2xlTXVuaWNpcGFsaXR5ID0gKGxpbmU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xyXG4gIHJldHVybiB3aG9sZU11bmljaXBhbGl0eVN0YXJ0UGF0dGVybi50ZXN0KGxpbmUpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzUmVzdFdpdGhOb1N0cmVldE5hbWVMaW5lID0gKGxpbmU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xyXG4gIHJldHVybiByZXN0V2l0aE5vU3RyZWV0TmFtZVBhdHRlcm4udGVzdChsaW5lKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc1Jlc3RPZk11bmljaXBhbGl0eUxpbmUgPSAobGluZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XHJcbiAgcmV0dXJuIHJlc3RPZk11bmljaXBhbGl0eVBhdHRlcm4udGVzdChsaW5lKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc1Jlc3RPZk11bmljaXBhbGl0eVBhcnRMaW5lID0gKGxpbmU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xyXG4gIHJldHVybiByZXN0T2ZNdW5pY2lwYWxpdHlQYXJ0UGF0dGVybi50ZXN0KGxpbmUpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFJlc3RPZk11bmljaXBhbGl0eVBhcnQgPSBhc3luYyAoXHJcbiAgbGluZTogc3RyaW5nLFxyXG4gIGZvdW5kZXI6IEZvdW5kZXJcclxuKTogUHJvbWlzZTxNdW5pY2lwYWxpdHlQYXJ0UmVzdWx0PiA9PiB7XHJcbiAgY29uc3QgbWF0Y2ggPSByZXN0T2ZNdW5pY2lwYWxpdHlQYXJ0UGF0dGVybi5leGVjKGxpbmUpO1xyXG4gIGlmIChtYXRjaCA9PT0gbnVsbCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZXJyb3JzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbWVzc2FnZTpcclxuICAgICAgICAgICAgXCJOZXBsYXRuw70gesOhcGlzIHBybyBwxZlpZMOhbsOtIHpieXRrdSDEjcOhc3RpIG9iY2UuIFNwcsOhdm7DvSB6w6FwaXMgamU6IHpieXRlayDEjcOhc3RpIDx0eXA+IDxuw6F6ZXYgb2JjZT4uIE5hcMWZLjogJ3pieXRlayDEjcOhc3RpIG9iY2UgTWFsxaFvdmljZScgKG7DoXpldiDEjcOhc3RpIG9iY2UgbXVzw60gYsO9dCB2IDEuIHDDoWTEmykuXCIsXHJcbiAgICAgICAgICBzdGFydE9mZnNldDogMCxcclxuICAgICAgICAgIGVuZE9mZnNldDogbGluZS5sZW5ndGggKyAxLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIG11bmljaXBhbGl0eVBhcnRDb2RlOiBudWxsLFxyXG4gICAgfTtcclxuICB9XHJcbiAgY29uc3QgeyBuYW1lIH0gPSBtYXRjaC5ncm91cHM7XHJcbiAgcmV0dXJuIGF3YWl0IGdldE11bmljaXBhbGl0eVBhcnRSZXN1bHQoXHJcbiAgICBuYW1lLFxyXG4gICAgbGluZSxcclxuICAgIGF3YWl0IGdldEZvdW5kZXJDaXR5Q29kZShmb3VuZGVyLm11bmljaXBhbGl0eVR5cGUsIGZvdW5kZXIubXVuaWNpcGFsaXR5Q29kZSlcclxuICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFdob2xlTXVuaWNpcGFsaXR5ID0gYXN5bmMgKFxyXG4gIGxpbmU6IHN0cmluZyxcclxuICBmb3VuZGVyOiBGb3VuZGVyXHJcbik6IFByb21pc2U8RGJNdW5pY2lwYWxpdHlSZXN1bHQ+ID0+IHtcclxuICBjb25zdCBtYXRjaCA9IHdob2xlTXVuaWNpcGFsaXR5UGF0dGVybi5leGVjKGxpbmUpO1xyXG4gIGlmIChtYXRjaCA9PT0gbnVsbCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZXJyb3JzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbWVzc2FnZTpcclxuICAgICAgICAgICAgXCJOZXBsYXRuw70gesOhcGlzIHBybyBwxZlpZMOhbsOtIGNlbMOpIG9iY2UuIFNwcsOhdm7DvSB6w6FwaXMgamU6IMO6emVtw60gPHR5cD4gPG7DoXpldiBvYmNlPi4gTmFwxZkuOiAnw7p6ZW3DrSBvYmNlIEtsYWRubycgKG7DoXpldiBvYmNlIG11c8OtIGLDvXQgdiAxLiBww6FkxJspLlwiLFxyXG4gICAgICAgICAgc3RhcnRPZmZzZXQ6IDAsXHJcbiAgICAgICAgICBlbmRPZmZzZXQ6IGxpbmUubGVuZ3RoICsgMSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBtdW5pY2lwYWxpdHk6IG51bGwsXHJcbiAgICB9O1xyXG4gIH1cclxuICBjb25zdCB7IHR5cGUsIG5hbWUgfSA9IG1hdGNoLmdyb3VwcztcclxuICByZXR1cm4gYXdhaXQgZ2V0TXVuaWNpcGFsaXR5UmVzdWx0KHR5cGUsIGNsZWFuTmFtZShuYW1lKSwgbGluZSwgZm91bmRlcik7XHJcbn07XHJcblxyXG5jb25zdCBnZXRNdW5pY2lwYWxpdHlSZXN1bHQgPSBhc3luYyAoXHJcbiAgdHlwZTogc3RyaW5nLFxyXG4gIG5hbWU6IHN0cmluZyxcclxuICBsaW5lOiBzdHJpbmcsXHJcbiAgZm91bmRlcjogRm91bmRlclxyXG4pOiBQcm9taXNlPERiTXVuaWNpcGFsaXR5UmVzdWx0PiA9PiB7XHJcbiAgY29uc3QgdHlwZVZhbHVlID0gZ2V0TXVuaWNpcGFsaXR5VHlwZSh0eXBlKTtcclxuICBjb25zdCB7IG11bmljaXBhbGl0eSwgZXJyb3JzIH0gPSBhd2FpdCBmaW5kTXVuaWNpcGFsaXR5QnlOYW1lQW5kVHlwZShcclxuICAgIG5hbWUsXHJcbiAgICB0eXBlVmFsdWUsXHJcbiAgICBmb3VuZGVyXHJcbiAgKTtcclxuXHJcbiAgY29uc3Qgc3RhcnRPZmZzZXQgPSBsaW5lLmluZGV4T2YobmFtZSk7XHJcbiAgY29uc3QgZW5kT2Zmc2V0ID0gc3RhcnRPZmZzZXQgKyBuYW1lLmxlbmd0aCArIDE7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBtdW5pY2lwYWxpdHksXHJcbiAgICBlcnJvcnM6IGVycm9ycy5tYXAoKGVycm9yKSA9PiAoe1xyXG4gICAgICAuLi5lcnJvcixcclxuICAgICAgc3RhcnRPZmZzZXQsXHJcbiAgICAgIGVuZE9mZnNldCxcclxuICAgIH0pKSxcclxuICB9O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldE11bmljaXBhbGl0eVBhcnRSZXN1bHQgPSBhc3luYyAoXHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIGxpbmU6IHN0cmluZyxcclxuICBjaXR5Q29kZTogbnVtYmVyXHJcbik6IFByb21pc2U8TXVuaWNpcGFsaXR5UGFydFJlc3VsdD4gPT4ge1xyXG4gIGNvbnN0IHsgbXVuaWNpcGFsaXR5UGFydENvZGUsIGVycm9ycyB9ID0gYXdhaXQgZmluZE11bmljaXBhbGl0eVBhcnRCeU5hbWUoXHJcbiAgICBuYW1lLFxyXG4gICAgY2l0eUNvZGVcclxuICApO1xyXG5cclxuICBjb25zdCBzdGFydE9mZnNldCA9IGxpbmUuaW5kZXhPZihuYW1lKTtcclxuICBjb25zdCBlbmRPZmZzZXQgPSBzdGFydE9mZnNldCArIG5hbWUubGVuZ3RoICsgMTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIG11bmljaXBhbGl0eVBhcnRDb2RlLFxyXG4gICAgZXJyb3JzOiBlcnJvcnMubWFwKChlcnJvcikgPT4gKHtcclxuICAgICAgLi4uZXJyb3IsXHJcbiAgICAgIHN0YXJ0T2Zmc2V0LFxyXG4gICAgICBlbmRPZmZzZXQsXHJcbiAgICB9KSksXHJcbiAgfTtcclxufTtcclxuXHJcbmNvbnN0IGdldE11bmljaXBhbGl0eVR5cGUgPSAodHlwZTogc3RyaW5nKTogTXVuaWNpcGFsaXR5VHlwZSA9PiB7XHJcbiAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICBjYXNlIFwibcSbc3Rza8OpIMSNw6FzdGlcIjpcclxuICAgIGNhc2UgXCJtxJtzdHNrw6lobyBvYnZvZHVcIjpcclxuICAgICAgcmV0dXJuIE11bmljaXBhbGl0eVR5cGUuRGlzdHJpY3Q7XHJcbiAgICBjYXNlIFwib2JjZVwiOlxyXG4gICAgY2FzZSBcIm3Em3N0YVwiOlxyXG4gICAgICByZXR1cm4gTXVuaWNpcGFsaXR5VHlwZS5DaXR5O1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IGNsZWFuTmFtZSA9IChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG4gIHJldHVybiBuYW1lLnRyaW0oKTtcclxufTtcclxuIl19
|
|
1
|
+
import { findMunicipalityByNameAndType, findMunicipalityPartByName, getFounderCityCode, } from "../db/founders";
|
|
2
|
+
import { MunicipalityType } from "../db/types";
|
|
3
|
+
const municipalitySwitchStartPattern = /^navíc ulice /;
|
|
4
|
+
const municipalitySwitchPattern = /^navíc ulice (z )?(?<type>městské části|městského obvodu|obce|města) (?<name>.+):$/;
|
|
5
|
+
const wholeMunicipalityStartPattern = /^území /;
|
|
6
|
+
const wholeMunicipalityPattern = /^území (?<type>městské části|městského obvodu|obce|města) (?<name>.+)$/;
|
|
7
|
+
const restWithNoStreetNamePattern = /^všechny ostatní budovy bez názvu ulice\s*$/;
|
|
8
|
+
const restOfMunicipalityPattern = /^zbytek (?<type>městské části|městského obvodu|obce|města)\s*$/;
|
|
9
|
+
const restOfMunicipalityPartPattern = /^zbytek části (obce|města) (?<name>.+)\s*$/;
|
|
10
|
+
export const isMunicipalitySwitch = (line) => {
|
|
11
|
+
return municipalitySwitchStartPattern.test(line);
|
|
12
|
+
};
|
|
13
|
+
export const getSwitchMunicipality = async (line, founder) => {
|
|
14
|
+
const match = municipalitySwitchPattern.exec(line);
|
|
15
|
+
if (match === null) {
|
|
16
|
+
return {
|
|
17
|
+
errors: [
|
|
18
|
+
{
|
|
19
|
+
message: "Neplatný zápis pro dočasnou změnu obce v definici ulic. Správný zápis je: navíc ulice <typ> <název obce>. Např.: 'navíc ulice obce Mokrá Lhota:' (název obce musí být v 1. pádě).",
|
|
20
|
+
startOffset: 0,
|
|
21
|
+
endOffset: line.length + 1,
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
municipality: null,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const { type, name } = match.groups;
|
|
28
|
+
return await getMunicipalityResult(type, cleanName(name), line, founder);
|
|
29
|
+
};
|
|
30
|
+
export const isWholeMunicipality = (line) => {
|
|
31
|
+
return wholeMunicipalityStartPattern.test(line);
|
|
32
|
+
};
|
|
33
|
+
export const isRestWithNoStreetNameLine = (line) => {
|
|
34
|
+
return restWithNoStreetNamePattern.test(line);
|
|
35
|
+
};
|
|
36
|
+
export const isRestOfMunicipalityLine = (line) => {
|
|
37
|
+
return restOfMunicipalityPattern.test(line);
|
|
38
|
+
};
|
|
39
|
+
export const isRestOfMunicipalityPartLine = (line) => {
|
|
40
|
+
return restOfMunicipalityPartPattern.test(line);
|
|
41
|
+
};
|
|
42
|
+
export const getRestOfMunicipalityPart = async (line, founder) => {
|
|
43
|
+
const match = restOfMunicipalityPartPattern.exec(line);
|
|
44
|
+
if (match === null) {
|
|
45
|
+
return {
|
|
46
|
+
errors: [
|
|
47
|
+
{
|
|
48
|
+
message: "Neplatný zápis pro přidání zbytku části obce. Správný zápis je: zbytek části <typ> <název obce>. Např.: 'zbytek části obce Malšovice' (název části obce musí být v 1. pádě).",
|
|
49
|
+
startOffset: 0,
|
|
50
|
+
endOffset: line.length + 1,
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
municipalityPartCode: null,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
const { name } = match.groups;
|
|
57
|
+
return await getMunicipalityPartResult(name, line, await getFounderCityCode(founder.municipalityType, founder.municipalityCode));
|
|
58
|
+
};
|
|
59
|
+
export const getWholeMunicipality = async (line, founder) => {
|
|
60
|
+
const match = wholeMunicipalityPattern.exec(line);
|
|
61
|
+
if (match === null) {
|
|
62
|
+
return {
|
|
63
|
+
errors: [
|
|
64
|
+
{
|
|
65
|
+
message: "Neplatný zápis pro přidání celé obce. Správný zápis je: území <typ> <název obce>. Např.: 'území obce Kladno' (název obce musí být v 1. pádě).",
|
|
66
|
+
startOffset: 0,
|
|
67
|
+
endOffset: line.length + 1,
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
municipality: null,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
const { type, name } = match.groups;
|
|
74
|
+
return await getMunicipalityResult(type, cleanName(name), line, founder);
|
|
75
|
+
};
|
|
76
|
+
const getMunicipalityResult = async (type, name, line, founder) => {
|
|
77
|
+
const typeValue = getMunicipalityType(type);
|
|
78
|
+
const { municipality, errors } = await findMunicipalityByNameAndType(name, typeValue, founder);
|
|
79
|
+
const startOffset = line.indexOf(name);
|
|
80
|
+
const endOffset = startOffset + name.length + 1;
|
|
81
|
+
return {
|
|
82
|
+
municipality,
|
|
83
|
+
errors: errors.map((error) => ({
|
|
84
|
+
...error,
|
|
85
|
+
startOffset,
|
|
86
|
+
endOffset,
|
|
87
|
+
})),
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
export const getMunicipalityPartResult = async (name, line, cityCode) => {
|
|
91
|
+
const { municipalityPartCode, errors } = await findMunicipalityPartByName(name, cityCode);
|
|
92
|
+
const startOffset = line.indexOf(name);
|
|
93
|
+
const endOffset = startOffset + name.length + 1;
|
|
94
|
+
return {
|
|
95
|
+
municipalityPartCode,
|
|
96
|
+
errors: errors.map((error) => ({
|
|
97
|
+
...error,
|
|
98
|
+
startOffset,
|
|
99
|
+
endOffset,
|
|
100
|
+
})),
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
const getMunicipalityType = (type) => {
|
|
104
|
+
switch (type) {
|
|
105
|
+
case "městské části":
|
|
106
|
+
case "městského obvodu":
|
|
107
|
+
return MunicipalityType.District;
|
|
108
|
+
case "obce":
|
|
109
|
+
case "města":
|
|
110
|
+
return MunicipalityType.City;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
const cleanName = (name) => {
|
|
114
|
+
return name.trim();
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVuaWNpcGFsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmVldC1tYXJrZG93bi9tdW5pY2lwYWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIsa0JBQWtCLEdBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFXLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3hELE1BQU0sOEJBQThCLEdBQUcsZUFBZSxDQUFDO0FBRXZELE1BQU0seUJBQXlCLEdBQzdCLG9GQUFvRixDQUFDO0FBRXZGLE1BQU0sNkJBQTZCLEdBQUcsU0FBUyxDQUFDO0FBRWhELE1BQU0sd0JBQXdCLEdBQzVCLHdFQUF3RSxDQUFDO0FBRTNFLE1BQU0sMkJBQTJCLEdBQy9CLDZDQUE2QyxDQUFDO0FBRWhELE1BQU0seUJBQXlCLEdBQzdCLGdFQUFnRSxDQUFDO0FBQ25FLE1BQU0sNkJBQTZCLEdBQ2pDLDRDQUE0QyxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBWSxFQUFXLEVBQUU7SUFDNUQsT0FBTyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbkQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxFQUN4QyxJQUFZLEVBQ1osT0FBZ0IsRUFDZSxFQUFFO0lBQ2pDLE1BQU0sS0FBSyxHQUFHLHlCQUF5QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDbEIsT0FBTztZQUNMLE1BQU0sRUFBRTtnQkFDTjtvQkFDRSxPQUFPLEVBQ0wsbUxBQW1MO29CQUNyTCxXQUFXLEVBQUUsQ0FBQztvQkFDZCxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDO2lCQUMzQjthQUNGO1lB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QUFLLGtCQUFrQjtZQUNyQixPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztRQUNuQyxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssT0FBTztZQUNWLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDO0tBQ2hDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRTtJQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNyQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmaW5kTXVuaWNpcGFsaXR5QnlOYW1lQW5kVHlwZSxcbiAgZmluZE11bmljaXBhbGl0eVBhcnRCeU5hbWUsXG4gIGdldEZvdW5kZXJDaXR5Q29kZSxcbn0gZnJvbSBcIi4uL2RiL2ZvdW5kZXJzXCI7XG5pbXBvcnQgeyBGb3VuZGVyLCBNdW5pY2lwYWxpdHlUeXBlIH0gZnJvbSBcIi4uL2RiL3R5cGVzXCI7XG5pbXBvcnQgeyBEYk11bmljaXBhbGl0eVJlc3VsdCwgTXVuaWNpcGFsaXR5UGFydFJlc3VsdCB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmNvbnN0IG11bmljaXBhbGl0eVN3aXRjaFN0YXJ0UGF0dGVybiA9IC9ebmF2w61jIHVsaWNlIC87XG5cbmNvbnN0IG11bmljaXBhbGl0eVN3aXRjaFBhdHRlcm4gPVxuICAvXm5hdsOtYyB1bGljZSAoeiApPyg/PHR5cGU+bcSbc3Rza8OpIMSNw6FzdGl8bcSbc3Rza8OpaG8gb2J2b2R1fG9iY2V8bcSbc3RhKSAoPzxuYW1lPi4rKTokLztcblxuY29uc3Qgd2hvbGVNdW5pY2lwYWxpdHlTdGFydFBhdHRlcm4gPSAvXsO6emVtw60gLztcblxuY29uc3Qgd2hvbGVNdW5pY2lwYWxpdHlQYXR0ZXJuID1cbiAgL17DunplbcOtICg/PHR5cGU+bcSbc3Rza8OpIMSNw6FzdGl8bcSbc3Rza8OpaG8gb2J2b2R1fG9iY2V8bcSbc3RhKSAoPzxuYW1lPi4rKSQvO1xuXG5jb25zdCByZXN0V2l0aE5vU3RyZWV0TmFtZVBhdHRlcm4gPVxuICAvXnbFoWVjaG55IG9zdGF0bsOtIGJ1ZG92eSBiZXogbsOhenZ1IHVsaWNlXFxzKiQvO1xuXG5jb25zdCByZXN0T2ZNdW5pY2lwYWxpdHlQYXR0ZXJuID1cbiAgL156Ynl0ZWsgKD88dHlwZT5txJtzdHNrw6kgxI3DoXN0aXxtxJtzdHNrw6lobyBvYnZvZHV8b2JjZXxtxJtzdGEpXFxzKiQvO1xuY29uc3QgcmVzdE9mTXVuaWNpcGFsaXR5UGFydFBhdHRlcm4gPVxuICAvXnpieXRlayDEjcOhc3RpIChvYmNlfG3Em3N0YSkgKD88bmFtZT4uKylcXHMqJC87XG5cbmV4cG9ydCBjb25zdCBpc011bmljaXBhbGl0eVN3aXRjaCA9IChsaW5lOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIG11bmljaXBhbGl0eVN3aXRjaFN0YXJ0UGF0dGVybi50ZXN0KGxpbmUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFN3aXRjaE11bmljaXBhbGl0eSA9IGFzeW5jIChcbiAgbGluZTogc3RyaW5nLFxuICBmb3VuZGVyOiBGb3VuZGVyXG4pOiBQcm9taXNlPERiTXVuaWNpcGFsaXR5UmVzdWx0PiA9PiB7XG4gIGNvbnN0IG1hdGNoID0gbXVuaWNpcGFsaXR5U3dpdGNoUGF0dGVybi5leGVjKGxpbmUpO1xuICBpZiAobWF0Y2ggPT09IG51bGwpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZXJyb3JzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgICAgXCJOZXBsYXRuw70gesOhcGlzIHBybyBkb8SNYXNub3Ugem3Em251IG9iY2UgdiBkZWZpbmljaSB1bGljLiBTcHLDoXZuw70gesOhcGlzIGplOiBuYXbDrWMgdWxpY2UgPHR5cD4gPG7DoXpldiBvYmNlPi4gTmFwxZkuOiAnbmF2w61jIHVsaWNlIG9iY2UgTW9rcsOhIExob3RhOicgKG7DoXpldiBvYmNlIG11c8OtIGLDvXQgdiAxLiBww6FkxJspLlwiLFxuICAgICAgICAgIHN0YXJ0T2Zmc2V0OiAwLFxuICAgICAgICAgIGVuZE9mZnNldDogbGluZS5sZW5ndGggKyAxLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIG11bmljaXBhbGl0eTogbnVsbCxcbiAgICB9O1xuICB9XG4gIGNvbnN0IHsgdHlwZSwgbmFtZSB9ID0gbWF0Y2guZ3JvdXBzO1xuICByZXR1cm4gYXdhaXQgZ2V0TXVuaWNpcGFsaXR5UmVzdWx0KHR5cGUsIGNsZWFuTmFtZShuYW1lKSwgbGluZSwgZm91bmRlcik7XG59O1xuXG5leHBvcnQgY29uc3QgaXNXaG9sZU11bmljaXBhbGl0eSA9IChsaW5lOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIHdob2xlTXVuaWNpcGFsaXR5U3RhcnRQYXR0ZXJuLnRlc3QobGluZSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNSZXN0V2l0aE5vU3RyZWV0TmFtZUxpbmUgPSAobGluZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiByZXN0V2l0aE5vU3RyZWV0TmFtZVBhdHRlcm4udGVzdChsaW5lKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1Jlc3RPZk11bmljaXBhbGl0eUxpbmUgPSAobGluZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiByZXN0T2ZNdW5pY2lwYWxpdHlQYXR0ZXJuLnRlc3QobGluZSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNSZXN0T2ZNdW5pY2lwYWxpdHlQYXJ0TGluZSA9IChsaW5lOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIHJlc3RPZk11bmljaXBhbGl0eVBhcnRQYXR0ZXJuLnRlc3QobGluZSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UmVzdE9mTXVuaWNpcGFsaXR5UGFydCA9IGFzeW5jIChcbiAgbGluZTogc3RyaW5nLFxuICBmb3VuZGVyOiBGb3VuZGVyXG4pOiBQcm9taXNlPE11bmljaXBhbGl0eVBhcnRSZXN1bHQ+ID0+IHtcbiAgY29uc3QgbWF0Y2ggPSByZXN0T2ZNdW5pY2lwYWxpdHlQYXJ0UGF0dGVybi5leGVjKGxpbmUpO1xuICBpZiAobWF0Y2ggPT09IG51bGwpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZXJyb3JzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgICAgXCJOZXBsYXRuw70gesOhcGlzIHBybyBwxZlpZMOhbsOtIHpieXRrdSDEjcOhc3RpIG9iY2UuIFNwcsOhdm7DvSB6w6FwaXMgamU6IHpieXRlayDEjcOhc3RpIDx0eXA+IDxuw6F6ZXYgb2JjZT4uIE5hcMWZLjogJ3pieXRlayDEjcOhc3RpIG9iY2UgTWFsxaFvdmljZScgKG7DoXpldiDEjcOhc3RpIG9iY2UgbXVzw60gYsO9dCB2IDEuIHDDoWTEmykuXCIsXG4gICAgICAgICAgc3RhcnRPZmZzZXQ6IDAsXG4gICAgICAgICAgZW5kT2Zmc2V0OiBsaW5lLmxlbmd0aCArIDEsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgbXVuaWNpcGFsaXR5UGFydENvZGU6IG51bGwsXG4gICAgfTtcbiAgfVxuICBjb25zdCB7IG5hbWUgfSA9IG1hdGNoLmdyb3VwcztcbiAgcmV0dXJuIGF3YWl0IGdldE11bmljaXBhbGl0eVBhcnRSZXN1bHQoXG4gICAgbmFtZSxcbiAgICBsaW5lLFxuICAgIGF3YWl0IGdldEZvdW5kZXJDaXR5Q29kZShmb3VuZGVyLm11bmljaXBhbGl0eVR5cGUsIGZvdW5kZXIubXVuaWNpcGFsaXR5Q29kZSlcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRXaG9sZU11bmljaXBhbGl0eSA9IGFzeW5jIChcbiAgbGluZTogc3RyaW5nLFxuICBmb3VuZGVyOiBGb3VuZGVyXG4pOiBQcm9taXNlPERiTXVuaWNpcGFsaXR5UmVzdWx0PiA9PiB7XG4gIGNvbnN0IG1hdGNoID0gd2hvbGVNdW5pY2lwYWxpdHlQYXR0ZXJuLmV4ZWMobGluZSk7XG4gIGlmIChtYXRjaCA9PT0gbnVsbCkge1xuICAgIHJldHVybiB7XG4gICAgICBlcnJvcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgICBcIk5lcGxhdG7DvSB6w6FwaXMgcHJvIHDFmWlkw6Fuw60gY2Vsw6kgb2JjZS4gU3Byw6F2bsO9IHrDoXBpcyBqZTogw7p6ZW3DrSA8dHlwPiA8bsOhemV2IG9iY2U+LiBOYXDFmS46ICfDunplbcOtIG9iY2UgS2xhZG5vJyAobsOhemV2IG9iY2UgbXVzw60gYsO9dCB2IDEuIHDDoWTEmykuXCIsXG4gICAgICAgICAgc3RhcnRPZmZzZXQ6IDAsXG4gICAgICAgICAgZW5kT2Zmc2V0OiBsaW5lLmxlbmd0aCArIDEsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgbXVuaWNpcGFsaXR5OiBudWxsLFxuICAgIH07XG4gIH1cbiAgY29uc3QgeyB0eXBlLCBuYW1lIH0gPSBtYXRjaC5ncm91cHM7XG4gIHJldHVybiBhd2FpdCBnZXRNdW5pY2lwYWxpdHlSZXN1bHQodHlwZSwgY2xlYW5OYW1lKG5hbWUpLCBsaW5lLCBmb3VuZGVyKTtcbn07XG5cbmNvbnN0IGdldE11bmljaXBhbGl0eVJlc3VsdCA9IGFzeW5jIChcbiAgdHlwZTogc3RyaW5nLFxuICBuYW1lOiBzdHJpbmcsXG4gIGxpbmU6IHN0cmluZyxcbiAgZm91bmRlcjogRm91bmRlclxuKTogUHJvbWlzZTxEYk11bmljaXBhbGl0eVJlc3VsdD4gPT4ge1xuICBjb25zdCB0eXBlVmFsdWUgPSBnZXRNdW5pY2lwYWxpdHlUeXBlKHR5cGUpO1xuICBjb25zdCB7IG11bmljaXBhbGl0eSwgZXJyb3JzIH0gPSBhd2FpdCBmaW5kTXVuaWNpcGFsaXR5QnlOYW1lQW5kVHlwZShcbiAgICBuYW1lLFxuICAgIHR5cGVWYWx1ZSxcbiAgICBmb3VuZGVyXG4gICk7XG5cbiAgY29uc3Qgc3RhcnRPZmZzZXQgPSBsaW5lLmluZGV4T2YobmFtZSk7XG4gIGNvbnN0IGVuZE9mZnNldCA9IHN0YXJ0T2Zmc2V0ICsgbmFtZS5sZW5ndGggKyAxO1xuXG4gIHJldHVybiB7XG4gICAgbXVuaWNpcGFsaXR5LFxuICAgIGVycm9yczogZXJyb3JzLm1hcCgoZXJyb3IpID0+ICh7XG4gICAgICAuLi5lcnJvcixcbiAgICAgIHN0YXJ0T2Zmc2V0LFxuICAgICAgZW5kT2Zmc2V0LFxuICAgIH0pKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRNdW5pY2lwYWxpdHlQYXJ0UmVzdWx0ID0gYXN5bmMgKFxuICBuYW1lOiBzdHJpbmcsXG4gIGxpbmU6IHN0cmluZyxcbiAgY2l0eUNvZGU6IG51bWJlclxuKTogUHJvbWlzZTxNdW5pY2lwYWxpdHlQYXJ0UmVzdWx0PiA9PiB7XG4gIGNvbnN0IHsgbXVuaWNpcGFsaXR5UGFydENvZGUsIGVycm9ycyB9ID0gYXdhaXQgZmluZE11bmljaXBhbGl0eVBhcnRCeU5hbWUoXG4gICAgbmFtZSxcbiAgICBjaXR5Q29kZVxuICApO1xuXG4gIGNvbnN0IHN0YXJ0T2Zmc2V0ID0gbGluZS5pbmRleE9mKG5hbWUpO1xuICBjb25zdCBlbmRPZmZzZXQgPSBzdGFydE9mZnNldCArIG5hbWUubGVuZ3RoICsgMTtcblxuICByZXR1cm4ge1xuICAgIG11bmljaXBhbGl0eVBhcnRDb2RlLFxuICAgIGVycm9yczogZXJyb3JzLm1hcCgoZXJyb3IpID0+ICh7XG4gICAgICAuLi5lcnJvcixcbiAgICAgIHN0YXJ0T2Zmc2V0LFxuICAgICAgZW5kT2Zmc2V0LFxuICAgIH0pKSxcbiAgfTtcbn07XG5cbmNvbnN0IGdldE11bmljaXBhbGl0eVR5cGUgPSAodHlwZTogc3RyaW5nKTogTXVuaWNpcGFsaXR5VHlwZSA9PiB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgXCJtxJtzdHNrw6kgxI3DoXN0aVwiOlxuICAgIGNhc2UgXCJtxJtzdHNrw6lobyBvYnZvZHVcIjpcbiAgICAgIHJldHVybiBNdW5pY2lwYWxpdHlUeXBlLkRpc3RyaWN0O1xuICAgIGNhc2UgXCJvYmNlXCI6XG4gICAgY2FzZSBcIm3Em3N0YVwiOlxuICAgICAgcmV0dXJuIE11bmljaXBhbGl0eVR5cGUuQ2l0eTtcbiAgfVxufTtcblxuY29uc3QgY2xlYW5OYW1lID0gKG5hbWU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIHJldHVybiBuYW1lLnRyaW0oKTtcbn07XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
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
|
-
};
|
|
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
|
+
};
|