text-to-map 1.1.46 → 1.1.48

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.
Files changed (97) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +69 -69
  3. package/dist/bin/address-points.d.ts +1 -1
  4. package/dist/bin/address-points.js +16 -16
  5. package/dist/bin/cities.d.ts +1 -1
  6. package/dist/bin/cities.js +10 -10
  7. package/dist/bin/clear-all.d.ts +1 -1
  8. package/dist/bin/clear-all.js +13 -13
  9. package/dist/bin/constants.d.ts +2 -2
  10. package/dist/bin/constants.js +4 -4
  11. package/dist/bin/generate-syntax-diagrams.d.ts +1 -1
  12. package/dist/bin/generate-syntax-diagrams.js +20 -20
  13. package/dist/bin/init-db.d.ts +1 -1
  14. package/dist/bin/init-db.js +8 -8
  15. package/dist/bin/knex.d.ts +1 -1
  16. package/dist/bin/knex.js +10 -10
  17. package/dist/bin/parse-ordinance.d.ts +1 -1
  18. package/dist/bin/parse-ordinance.js +74 -74
  19. package/dist/bin/polygons.d.ts +1 -1
  20. package/dist/bin/polygons.js +27 -27
  21. package/dist/bin/regions.d.ts +1 -1
  22. package/dist/bin/regions.js +10 -10
  23. package/dist/bin/schools.d.ts +1 -1
  24. package/dist/bin/schools.js +10 -10
  25. package/dist/bin/streets.d.ts +1 -1
  26. package/dist/bin/streets.js +19 -19
  27. package/dist/bin/sync-all.d.ts +1 -1
  28. package/dist/bin/sync-all.js +4 -4
  29. package/dist/db/address-points.d.ts +59 -59
  30. package/dist/db/address-points.js +406 -399
  31. package/dist/db/cities.d.ts +7 -7
  32. package/dist/db/cities.js +95 -95
  33. package/dist/db/db.d.ts +45 -37
  34. package/dist/db/db.js +212 -191
  35. package/dist/db/founders.d.ts +14 -14
  36. package/dist/db/founders.js +461 -461
  37. package/dist/db/meta.d.ts +4 -4
  38. package/dist/db/meta.js +26 -26
  39. package/dist/db/migrations/20230704125715_initial.js +304 -304
  40. package/dist/db/migrations/20230731232915_city_positions.js +13 -13
  41. package/dist/db/migrations/20240106224603_city_polygon.js +11 -11
  42. package/dist/db/migrations/20240320200534_district_polygon.js +11 -11
  43. package/dist/db/migrations/20250316162700_kindergartens.js +12 -12
  44. package/dist/db/regions.d.ts +31 -31
  45. package/dist/db/regions.js +81 -81
  46. package/dist/db/schools.d.ts +7 -7
  47. package/dist/db/schools.js +95 -95
  48. package/dist/db/street-sync.d.ts +6 -6
  49. package/dist/db/street-sync.js +24 -22
  50. package/dist/db/sync-log.d.ts +9 -9
  51. package/dist/db/sync-log.js +66 -66
  52. package/dist/db/types.d.ts +59 -59
  53. package/dist/db/types.js +26 -26
  54. package/dist/index.d.ts +23 -23
  55. package/dist/index.js +32 -32
  56. package/dist/open-data-sync/address-points.d.ts +2 -2
  57. package/dist/open-data-sync/address-points.js +68 -68
  58. package/dist/open-data-sync/cities.d.ts +2 -2
  59. package/dist/open-data-sync/cities.js +32 -32
  60. package/dist/open-data-sync/common.d.ts +2 -2
  61. package/dist/open-data-sync/common.js +22 -22
  62. package/dist/open-data-sync/regions.d.ts +2 -2
  63. package/dist/open-data-sync/regions.js +37 -37
  64. package/dist/open-data-sync/schools.d.ts +3 -3
  65. package/dist/open-data-sync/schools.js +207 -207
  66. package/dist/open-data-sync/streets.d.ts +2 -2
  67. package/dist/open-data-sync/streets.js +132 -132
  68. package/dist/smd-to-csv/json-to-csv.d.ts +1 -1
  69. package/dist/smd-to-csv/json-to-csv.js +154 -154
  70. package/dist/smd-to-csv/ordinance-to-csv-rules.d.ts +1 -1
  71. package/dist/smd-to-csv/ordinance-to-csv-rules.js +23 -23
  72. package/dist/smd-to-csv/txt-to-json.d.ts +1 -1
  73. package/dist/smd-to-csv/txt-to-json.js +92 -92
  74. package/dist/souradnice.csv +6260 -6260
  75. package/dist/street-markdown/municipality.d.ts +11 -11
  76. package/dist/street-markdown/municipality.js +116 -116
  77. package/dist/street-markdown/polygons.d.ts +7 -7
  78. package/dist/street-markdown/polygons.js +261 -261
  79. package/dist/street-markdown/roman-numerals.d.ts +1 -1
  80. package/dist/street-markdown/roman-numerals.js +68 -68
  81. package/dist/street-markdown/smd-line-parser.d.ts +4 -4
  82. package/dist/street-markdown/smd-line-parser.js +40 -40
  83. package/dist/street-markdown/smd-parser.d.ts +23 -23
  84. package/dist/street-markdown/smd-parser.js +393 -393
  85. package/dist/street-markdown/smd.d.ts +24 -24
  86. package/dist/street-markdown/smd.js +440 -440
  87. package/dist/street-markdown/token-definition.d.ts +25 -25
  88. package/dist/street-markdown/token-definition.js +168 -168
  89. package/dist/street-markdown/types.d.ts +148 -148
  90. package/dist/street-markdown/types.js +13 -13
  91. package/dist/utils/atom.d.ts +2 -2
  92. package/dist/utils/atom.js +57 -57
  93. package/dist/utils/helpers.d.ts +28 -28
  94. package/dist/utils/helpers.js +176 -176
  95. package/dist/utils/jtsk2wgs84.d.ts +17 -17
  96. package/dist/utils/jtsk2wgs84.js +82 -82
  97. package/package.json +109 -109
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2023 Marek Lisy
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Marek Lisy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,69 +1,69 @@
1
- # Text To Map
2
- Text To Map usiluje o lepší, strojově zpracovatelné využití částí vyhlášek s výčtem ulic a dalších lokací. Jde o rozšiřitelnou sadu konceptů a nástrojů, které zajistí hladký převod výčtu ulic a jejich rozsahů v lidsky srozumitelném jazyce do strojově zpracovatelného, uchopitelného formátu.
3
-
4
- ## Odkazy
5
- - [text-to-map-frontend](https://github.com/maral/text-to-map-frontend) - mapa zobrazující výstupy této knihovny
6
-
7
- ## Živě na webu
8
- - [Spádové oblasti - Praha](https://mareklisy.cz/spadovosti-praha/)
9
-
10
- ## Návod na použití
11
- 1. `npm install`
12
- 2. `npm run address-points` - stažení a import adresních bodů z RÚIAN
13
- 3. `npm run schools` - stažení a import dat o školách a zřizovatelích z rejstříku MŠMT
14
- 4. `npm run streets` - dotažení všech ulic z RÚIAN (nepovinné, ale zmizí tím warningy o neexistujících ulicích ve vyhlášce v případech, kdy jsou ve vyhlášce ulice bez jediného adresního bodu)
15
- 5. `npm run parse-ordinance /some/path/input.txt /path/output.json` - parsování vyhlášky a namapování adresních míst na spádové školy
16
-
17
- Pro vyzkoušení je možné použít již vyčištěné vyhlášky ze složky *examples*.
18
-
19
- ## Street Markdown
20
- Street Markdown je formát, který po vzoru značkovacího jazyka [Markdown](https://en.wikipedia.org/wiki/Markdown) má za cíl usnadnit psaní strukturovaných dat bez nutnosti učit se složité formátovací tagy nebo používat speciální znaky. Vznikl na základě [pražské spádové vyhlášky z roku 2021](https://www.praha.eu/file/3251117/vyhlaska_c._4.pdf) a snaží se být co nejkompatibilnější s již používaným formátem.
21
-
22
- Street Markdown je dále možný rozšiřovat pro další případy použití - například protialkoholová vyhláška (do standardu by byla třeba přidat definice parků), tržní vyhláška, vyhláška o buskingu a další.
23
-
24
- ### Pravidla Street Markdownu
25
-
26
- * **prázdné znaky a řádky**
27
- * veškeré po sobě jdoucí mezery jsou ignorovány a počítají se jako jedna mezera
28
- * prázdné řádky mají ve formátu speciální význam, několik prázdných řádků za sebou se ignoruje a počítá se jako jeden prázdný řádek
29
- * **blok oblasti**
30
- * v případě SMD pro více obcí či městských částí je uvozen blok oblasti pomocí _názvu oblasti_, následuje prázdný řádek a poté libovolný počet _bloků škol_
31
- * _blok oblasti_ končí řádkem před _nadpisem oblasti_ následujícího _bloku obce_ nebo koncem souboru
32
- * **název oblasti**
33
- * začíná znakem "#" následovaný mezerou a textovým řetězcem, který obsahuje přesný název obce
34
- * příklady:
35
- * \# Praha 1
36
- * \# Pelhřimov
37
- * \# Poděbrady
38
- * **blok školy**
39
- * jde o souvislý blok bez vynechaných řádků
40
- * bloky škol jsou od sebe odděleny jedním či více prázdnými řádky
41
- * **název školy**
42
- * první řádek bloku řádků je název školy
43
- * libovolný neprázdný textový řetězec
44
- * **definice ulice**
45
- * definice ulice obsahuje _jméno ulice_ a volitelně _specifikaci orientačních čísel_
46
- * pokud celá ulice patří do aktuálního bloku školy, pak se specifikace orientačních čísel neuvádí, uvede se pouze název ulice
47
- * název ulice se uvádí v plně rozvinutém tvaru
48
- * špatně: nám. Míru, Rašínovo nábř.
49
- * správně: náměstí Míru, Rašínovo nábřeží
50
- * jméno ulice a specifikace ulice je odděleno znaménkem minus (a volitelnými mezerami okolo pomlčky) - místo minus jsou přípustné i pomlčka a spojovník
51
- * **specifikace orientačních čísel**
52
- * za sebou jdoucí výčet _rozsahů čísel_
53
- * _rozsahy čísel_ jsou odděleny čárkou a mezerou (", ") nebo spojkou " a "
54
- * **rozsah čísel**
55
- * jako rozsah čísel se považuje specifikace, zda jde o _typ čísel_ (všechna, sudá či lichá čísla) a _rozsah_ od-do, a to v následujícím formátu:
56
- * **typ čísel**
57
- * všechna = "č."
58
- * lichá = "lichá č."
59
- * sudá = "sudá č."
60
- * čísla popisná = "č. p."
61
- * **rozsah čísel**
62
- * může jít o výčet (oddělený ", " nebo " a ") těchto možností:
63
- * a) <číslo>, např. 7
64
- * b) <číslo>-<číslo>, např. 2-66 (přípustné jsou pomlčka, spojovník, minus)
65
- * c) (od) <číslo> (a) výše, např. od 20 výše, 14 a výše, od 7 a výše
66
- * d) do (č.) <číslo>
67
- * např. 1-9, 11, od 23 výše
68
-
69
- [![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/E1E5JOMLT)
1
+ # Text To Map
2
+ Text To Map usiluje o lepší, strojově zpracovatelné využití částí vyhlášek s výčtem ulic a dalších lokací. Jde o rozšiřitelnou sadu konceptů a nástrojů, které zajistí hladký převod výčtu ulic a jejich rozsahů v lidsky srozumitelném jazyce do strojově zpracovatelného, uchopitelného formátu.
3
+
4
+ ## Odkazy
5
+ - [text-to-map-frontend](https://github.com/maral/text-to-map-frontend) - mapa zobrazující výstupy této knihovny
6
+
7
+ ## Živě na webu
8
+ - [Spádové oblasti - Praha](https://mareklisy.cz/spadovosti-praha/)
9
+
10
+ ## Návod na použití
11
+ 1. `npm install`
12
+ 2. `npm run address-points` - stažení a import adresních bodů z RÚIAN
13
+ 3. `npm run schools` - stažení a import dat o školách a zřizovatelích z rejstříku MŠMT
14
+ 4. `npm run streets` - dotažení všech ulic z RÚIAN (nepovinné, ale zmizí tím warningy o neexistujících ulicích ve vyhlášce v případech, kdy jsou ve vyhlášce ulice bez jediného adresního bodu)
15
+ 5. `npm run parse-ordinance /some/path/input.txt /path/output.json` - parsování vyhlášky a namapování adresních míst na spádové školy
16
+
17
+ Pro vyzkoušení je možné použít již vyčištěné vyhlášky ze složky *examples*.
18
+
19
+ ## Street Markdown
20
+ Street Markdown je formát, který po vzoru značkovacího jazyka [Markdown](https://en.wikipedia.org/wiki/Markdown) má za cíl usnadnit psaní strukturovaných dat bez nutnosti učit se složité formátovací tagy nebo používat speciální znaky. Vznikl na základě [pražské spádové vyhlášky z roku 2021](https://www.praha.eu/file/3251117/vyhlaska_c._4.pdf) a snaží se být co nejkompatibilnější s již používaným formátem.
21
+
22
+ Street Markdown je dále možný rozšiřovat pro další případy použití - například protialkoholová vyhláška (do standardu by byla třeba přidat definice parků), tržní vyhláška, vyhláška o buskingu a další.
23
+
24
+ ### Pravidla Street Markdownu
25
+
26
+ * **prázdné znaky a řádky**
27
+ * veškeré po sobě jdoucí mezery jsou ignorovány a počítají se jako jedna mezera
28
+ * prázdné řádky mají ve formátu speciální význam, několik prázdných řádků za sebou se ignoruje a počítá se jako jeden prázdný řádek
29
+ * **blok oblasti**
30
+ * v případě SMD pro více obcí či městských částí je uvozen blok oblasti pomocí _názvu oblasti_, následuje prázdný řádek a poté libovolný počet _bloků škol_
31
+ * _blok oblasti_ končí řádkem před _nadpisem oblasti_ následujícího _bloku obce_ nebo koncem souboru
32
+ * **název oblasti**
33
+ * začíná znakem "#" následovaný mezerou a textovým řetězcem, který obsahuje přesný název obce
34
+ * příklady:
35
+ * \# Praha 1
36
+ * \# Pelhřimov
37
+ * \# Poděbrady
38
+ * **blok školy**
39
+ * jde o souvislý blok bez vynechaných řádků
40
+ * bloky škol jsou od sebe odděleny jedním či více prázdnými řádky
41
+ * **název školy**
42
+ * první řádek bloku řádků je název školy
43
+ * libovolný neprázdný textový řetězec
44
+ * **definice ulice**
45
+ * definice ulice obsahuje _jméno ulice_ a volitelně _specifikaci orientačních čísel_
46
+ * pokud celá ulice patří do aktuálního bloku školy, pak se specifikace orientačních čísel neuvádí, uvede se pouze název ulice
47
+ * název ulice se uvádí v plně rozvinutém tvaru
48
+ * špatně: nám. Míru, Rašínovo nábř.
49
+ * správně: náměstí Míru, Rašínovo nábřeží
50
+ * jméno ulice a specifikace ulice je odděleno znaménkem minus (a volitelnými mezerami okolo pomlčky) - místo minus jsou přípustné i pomlčka a spojovník
51
+ * **specifikace orientačních čísel**
52
+ * za sebou jdoucí výčet _rozsahů čísel_
53
+ * _rozsahy čísel_ jsou odděleny čárkou a mezerou (", ") nebo spojkou " a "
54
+ * **rozsah čísel**
55
+ * jako rozsah čísel se považuje specifikace, zda jde o _typ čísel_ (všechna, sudá či lichá čísla) a _rozsah_ od-do, a to v následujícím formátu:
56
+ * **typ čísel**
57
+ * všechna = "č."
58
+ * lichá = "lichá č."
59
+ * sudá = "sudá č."
60
+ * čísla popisná = "č. p."
61
+ * **rozsah čísel**
62
+ * může jít o výčet (oddělený ", " nebo " a ") těchto možností:
63
+ * a) <číslo>, např. 7
64
+ * b) <číslo>-<číslo>, např. 2-66 (přípustné jsou pomlčka, spojovník, minus)
65
+ * c) (od) <číslo> (a) výše, např. od 20 výše, 14 a výše, od 7 a výše
66
+ * d) do (č.) <číslo>
67
+ * např. 1-9, 11, od 23 výše
68
+
69
+ [![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/E1E5JOMLT)
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,16 +1,16 @@
1
- import { downloadAndImportAddressPoints } from "../open-data-sync/address-points";
2
- import { defaultBinOptions } from "./constants";
3
- console.time("downloadAndImportAllLatestAddressPoints");
4
- downloadAndImportAddressPoints(defaultBinOptions)
5
- .then(() => {
6
- console.timeEnd("downloadAndImportAllLatestAddressPoints");
7
- })
8
- .catch((error) => {
9
- if (error.hasOwnProperty("stack")) {
10
- console.log(error, error.stack);
11
- }
12
- else {
13
- console.log(error);
14
- }
15
- });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1wb2ludHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmluL2FkZHJlc3MtcG9pbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxPQUFPLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7QUFDeEQsOEJBQThCLENBQUMsaUJBQWlCLENBQUM7S0FDOUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtJQUNULE9BQU8sQ0FBQyxPQUFPLENBQUMseUNBQXlDLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7S0FDRCxLQUFLLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtJQUNwQixJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ2pDO1NBQU07UUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3BCO0FBQ0gsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkb3dubG9hZEFuZEltcG9ydEFkZHJlc3NQb2ludHMgfSBmcm9tIFwiLi4vb3Blbi1kYXRhLXN5bmMvYWRkcmVzcy1wb2ludHNcIjtcclxuaW1wb3J0IHsgZGVmYXVsdEJpbk9wdGlvbnMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcclxuXHJcbmNvbnNvbGUudGltZShcImRvd25sb2FkQW5kSW1wb3J0QWxsTGF0ZXN0QWRkcmVzc1BvaW50c1wiKTtcclxuZG93bmxvYWRBbmRJbXBvcnRBZGRyZXNzUG9pbnRzKGRlZmF1bHRCaW5PcHRpb25zKVxyXG4gIC50aGVuKCgpID0+IHtcclxuICAgIGNvbnNvbGUudGltZUVuZChcImRvd25sb2FkQW5kSW1wb3J0QWxsTGF0ZXN0QWRkcmVzc1BvaW50c1wiKTtcclxuICB9KVxyXG4gIC5jYXRjaCgoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgaWYgKGVycm9yLmhhc093blByb3BlcnR5KFwic3RhY2tcIikpIHtcclxuICAgICAgY29uc29sZS5sb2coZXJyb3IsIGVycm9yLnN0YWNrKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgIH1cclxuICB9KTtcclxuIl19
1
+ import { downloadAndImportAddressPoints } from "../open-data-sync/address-points";
2
+ import { defaultBinOptions } from "./constants";
3
+ console.time("downloadAndImportAllLatestAddressPoints");
4
+ downloadAndImportAddressPoints(defaultBinOptions)
5
+ .then(() => {
6
+ console.timeEnd("downloadAndImportAllLatestAddressPoints");
7
+ })
8
+ .catch((error) => {
9
+ if (error.hasOwnProperty("stack")) {
10
+ console.log(error, error.stack);
11
+ }
12
+ else {
13
+ console.log(error);
14
+ }
15
+ });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1wb2ludHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmluL2FkZHJlc3MtcG9pbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxPQUFPLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7QUFDeEQsOEJBQThCLENBQUMsaUJBQWlCLENBQUM7S0FDOUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtJQUNULE9BQU8sQ0FBQyxPQUFPLENBQUMseUNBQXlDLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7S0FDRCxLQUFLLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtJQUNwQixJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ2pDO1NBQU07UUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3BCO0FBQ0gsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkb3dubG9hZEFuZEltcG9ydEFkZHJlc3NQb2ludHMgfSBmcm9tIFwiLi4vb3Blbi1kYXRhLXN5bmMvYWRkcmVzcy1wb2ludHNcIjtcbmltcG9ydCB7IGRlZmF1bHRCaW5PcHRpb25zIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmNvbnNvbGUudGltZShcImRvd25sb2FkQW5kSW1wb3J0QWxsTGF0ZXN0QWRkcmVzc1BvaW50c1wiKTtcbmRvd25sb2FkQW5kSW1wb3J0QWRkcmVzc1BvaW50cyhkZWZhdWx0QmluT3B0aW9ucylcbiAgLnRoZW4oKCkgPT4ge1xuICAgIGNvbnNvbGUudGltZUVuZChcImRvd25sb2FkQW5kSW1wb3J0QWxsTGF0ZXN0QWRkcmVzc1BvaW50c1wiKTtcbiAgfSlcbiAgLmNhdGNoKChlcnJvcjogYW55KSA9PiB7XG4gICAgaWYgKGVycm9yLmhhc093blByb3BlcnR5KFwic3RhY2tcIikpIHtcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yLCBlcnJvci5zdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcbiAgICB9XG4gIH0pO1xuIl19
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,10 +1,10 @@
1
- import { importCities } from "../open-data-sync/cities";
2
- import { defaultBinOptions } from "./constants";
3
- importCities(defaultBinOptions)
4
- .then(() => {
5
- console.log("Completed");
6
- })
7
- .catch((error) => {
8
- console.log(error);
9
- });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2l0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9jaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxZQUFZLENBQUMsaUJBQWlCLENBQUM7S0FDNUIsSUFBSSxDQUFDLEdBQUcsRUFBRTtJQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0tBQ0QsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW1wb3J0Q2l0aWVzIH0gZnJvbSBcIi4uL29wZW4tZGF0YS1zeW5jL2NpdGllc1wiO1xyXG5pbXBvcnQgeyBkZWZhdWx0QmluT3B0aW9ucyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xyXG5cclxuaW1wb3J0Q2l0aWVzKGRlZmF1bHRCaW5PcHRpb25zKVxyXG4gIC50aGVuKCgpID0+IHtcclxuICAgIGNvbnNvbGUubG9nKFwiQ29tcGxldGVkXCIpO1xyXG4gIH0pXHJcbiAgLmNhdGNoKChlcnJvcikgPT4ge1xyXG4gICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gIH0pO1xyXG4iXX0=
1
+ import { importCities } from "../open-data-sync/cities";
2
+ import { defaultBinOptions } from "./constants";
3
+ importCities(defaultBinOptions)
4
+ .then(() => {
5
+ console.log("Completed");
6
+ })
7
+ .catch((error) => {
8
+ console.log(error);
9
+ });
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2l0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9jaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxZQUFZLENBQUMsaUJBQWlCLENBQUM7S0FDNUIsSUFBSSxDQUFDLEdBQUcsRUFBRTtJQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0tBQ0QsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW1wb3J0Q2l0aWVzIH0gZnJvbSBcIi4uL29wZW4tZGF0YS1zeW5jL2NpdGllc1wiO1xuaW1wb3J0IHsgZGVmYXVsdEJpbk9wdGlvbnMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuaW1wb3J0Q2l0aWVzKGRlZmF1bHRCaW5PcHRpb25zKVxuICAudGhlbigoKSA9PiB7XG4gICAgY29uc29sZS5sb2coXCJDb21wbGV0ZWRcIik7XG4gIH0pXG4gIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gIH0pO1xuIl19
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,13 +1,13 @@
1
- import { clearDb, disconnectKnex } from "../db/db";
2
- import { deleteSchoolsJsonldFile } from "../open-data-sync/schools";
3
- import { defaultBinOptions } from "./constants";
4
- async function main() {
5
- console.log("Clearing all data...");
6
- await clearDb();
7
- console.log("DB cleared. Now deleting schools XML file...");
8
- deleteSchoolsJsonldFile(defaultBinOptions);
9
- await disconnectKnex();
10
- console.log("Everything cleared, ready for a new sync.");
11
- }
12
- main();
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXItYWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9jbGVhci1hbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWhELEtBQUssVUFBVSxJQUFJO0lBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNwQyxNQUFNLE9BQU8sRUFBRSxDQUFDO0lBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsOENBQThDLENBQUMsQ0FBQztJQUM1RCx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sY0FBYyxFQUFFLENBQUM7SUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsZWFyRGIsIGRpc2Nvbm5lY3RLbmV4IH0gZnJvbSBcIi4uL2RiL2RiXCI7XHJcbmltcG9ydCB7IGRlbGV0ZVNjaG9vbHNKc29ubGRGaWxlIH0gZnJvbSBcIi4uL29wZW4tZGF0YS1zeW5jL3NjaG9vbHNcIjtcclxuaW1wb3J0IHsgZGVmYXVsdEJpbk9wdGlvbnMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcclxuXHJcbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XHJcbiAgY29uc29sZS5sb2coXCJDbGVhcmluZyBhbGwgZGF0YS4uLlwiKTtcclxuICBhd2FpdCBjbGVhckRiKCk7XHJcbiAgY29uc29sZS5sb2coXCJEQiBjbGVhcmVkLiBOb3cgZGVsZXRpbmcgc2Nob29scyBYTUwgZmlsZS4uLlwiKTtcclxuICBkZWxldGVTY2hvb2xzSnNvbmxkRmlsZShkZWZhdWx0QmluT3B0aW9ucyk7XHJcbiAgYXdhaXQgZGlzY29ubmVjdEtuZXgoKTtcclxuICBjb25zb2xlLmxvZyhcIkV2ZXJ5dGhpbmcgY2xlYXJlZCwgcmVhZHkgZm9yIGEgbmV3IHN5bmMuXCIpO1xyXG59XHJcblxyXG5tYWluKCk7XHJcbiJdfQ==
1
+ import { clearDb, disconnectKnex } from "../db/db";
2
+ import { deleteSchoolsJsonldFile } from "../open-data-sync/schools";
3
+ import { defaultBinOptions } from "./constants";
4
+ async function main() {
5
+ console.log("Clearing all data...");
6
+ await clearDb();
7
+ console.log("DB cleared. Now deleting schools XML file...");
8
+ deleteSchoolsJsonldFile(defaultBinOptions);
9
+ await disconnectKnex();
10
+ console.log("Everything cleared, ready for a new sync.");
11
+ }
12
+ main();
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXItYWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9jbGVhci1hbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWhELEtBQUssVUFBVSxJQUFJO0lBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNwQyxNQUFNLE9BQU8sRUFBRSxDQUFDO0lBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsOENBQThDLENBQUMsQ0FBQztJQUM1RCx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sY0FBYyxFQUFFLENBQUM7SUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsZWFyRGIsIGRpc2Nvbm5lY3RLbmV4IH0gZnJvbSBcIi4uL2RiL2RiXCI7XG5pbXBvcnQgeyBkZWxldGVTY2hvb2xzSnNvbmxkRmlsZSB9IGZyb20gXCIuLi9vcGVuLWRhdGEtc3luYy9zY2hvb2xzXCI7XG5pbXBvcnQgeyBkZWZhdWx0QmluT3B0aW9ucyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICBjb25zb2xlLmxvZyhcIkNsZWFyaW5nIGFsbCBkYXRhLi4uXCIpO1xuICBhd2FpdCBjbGVhckRiKCk7XG4gIGNvbnNvbGUubG9nKFwiREIgY2xlYXJlZC4gTm93IGRlbGV0aW5nIHNjaG9vbHMgWE1MIGZpbGUuLi5cIik7XG4gIGRlbGV0ZVNjaG9vbHNKc29ubGRGaWxlKGRlZmF1bHRCaW5PcHRpb25zKTtcbiAgYXdhaXQgZGlzY29ubmVjdEtuZXgoKTtcbiAgY29uc29sZS5sb2coXCJFdmVyeXRoaW5nIGNsZWFyZWQsIHJlYWR5IGZvciBhIG5ldyBzeW5jLlwiKTtcbn1cblxubWFpbigpO1xuIl19
@@ -1,2 +1,2 @@
1
- import { OpenDataSyncOptionsPartial } from "../utils/helpers";
2
- export declare const defaultBinOptions: OpenDataSyncOptionsPartial;
1
+ import { OpenDataSyncOptionsPartial } from "../utils/helpers";
2
+ export declare const defaultBinOptions: OpenDataSyncOptionsPartial;
@@ -1,4 +1,4 @@
1
- export const defaultBinOptions = {
2
- dataDir: "./tmp/db",
3
- };
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQStCO0lBQzNELE9BQU8sRUFBRSxVQUFVO0NBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcGVuRGF0YVN5bmNPcHRpb25zUGFydGlhbCB9IGZyb20gXCIuLi91dGlscy9oZWxwZXJzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgZGVmYXVsdEJpbk9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnNQYXJ0aWFsID0ge1xyXG4gIGRhdGFEaXI6IFwiLi90bXAvZGJcIixcclxufTsiXX0=
1
+ export const defaultBinOptions = {
2
+ dataDir: "./tmp/db",
3
+ };
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQStCO0lBQzNELE9BQU8sRUFBRSxVQUFVO0NBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcGVuRGF0YVN5bmNPcHRpb25zUGFydGlhbCB9IGZyb20gXCIuLi91dGlscy9oZWxwZXJzXCI7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0QmluT3B0aW9uczogT3BlbkRhdGFTeW5jT3B0aW9uc1BhcnRpYWwgPSB7XG4gIGRhdGFEaXI6IFwiLi90bXAvZGJcIixcbn07Il19
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,20 +1,20 @@
1
- import { writeFileSync } from "fs";
2
- import { createSyntaxDiagramsCode } from "chevrotain";
3
- import { smdParser } from "../street-markdown/smd-line-parser";
4
- // extract the serialized grammar.
5
- const serializedGrammar = smdParser.getSerializedGastProductions();
6
- // create the HTML Text
7
- const htmlText = `
8
- <!DOCTYPE html>
9
- <html lang="en">
10
- <head>
11
- <meta charset="UTF-8">
12
- <title>SMD street line Syntax Diagrams</title>
13
- </head>
14
- <body>
15
- ${createSyntaxDiagramsCode(serializedGrammar)}
16
- </body>
17
- </html>`;
18
- // Write the HTML file to disk
19
- writeFileSync("generated_diagrams.html", htmlText);
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtc3ludGF4LWRpYWdyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9nZW5lcmF0ZS1zeW50YXgtZGlhZ3JhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLElBQUksQ0FBQztBQUNuQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRS9ELGtDQUFrQztBQUNsQyxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0FBRW5FLHVCQUF1QjtBQUN2QixNQUFNLFFBQVEsR0FBRzs7Ozs7Ozs7RUFRZix3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQzs7UUFFckMsQ0FBQztBQUVULDhCQUE4QjtBQUM5QixhQUFhLENBQUMseUJBQXlCLEVBQUUsUUFBUSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB3cml0ZUZpbGVTeW5jIH0gZnJvbSBcImZzXCI7XHJcbmltcG9ydCB7IGNyZWF0ZVN5bnRheERpYWdyYW1zQ29kZSB9IGZyb20gXCJjaGV2cm90YWluXCI7XHJcbmltcG9ydCB7IHNtZFBhcnNlciB9IGZyb20gXCIuLi9zdHJlZXQtbWFya2Rvd24vc21kLWxpbmUtcGFyc2VyXCI7XHJcblxyXG4vLyBleHRyYWN0IHRoZSBzZXJpYWxpemVkIGdyYW1tYXIuXHJcbmNvbnN0IHNlcmlhbGl6ZWRHcmFtbWFyID0gc21kUGFyc2VyLmdldFNlcmlhbGl6ZWRHYXN0UHJvZHVjdGlvbnMoKTtcclxuXHJcbi8vIGNyZWF0ZSB0aGUgSFRNTCBUZXh0XHJcbmNvbnN0IGh0bWxUZXh0ID0gYFxyXG48IURPQ1RZUEUgaHRtbD5cclxuPGh0bWwgbGFuZz1cImVuXCI+XHJcbjxoZWFkPlxyXG4gICAgPG1ldGEgY2hhcnNldD1cIlVURi04XCI+XHJcbiAgICA8dGl0bGU+U01EIHN0cmVldCBsaW5lIFN5bnRheCBEaWFncmFtczwvdGl0bGU+XHJcbjwvaGVhZD5cclxuPGJvZHk+XHJcbiR7Y3JlYXRlU3ludGF4RGlhZ3JhbXNDb2RlKHNlcmlhbGl6ZWRHcmFtbWFyKX1cclxuPC9ib2R5PlxyXG48L2h0bWw+YDtcclxuXHJcbi8vIFdyaXRlIHRoZSBIVE1MIGZpbGUgdG8gZGlza1xyXG53cml0ZUZpbGVTeW5jKFwiZ2VuZXJhdGVkX2RpYWdyYW1zLmh0bWxcIiwgaHRtbFRleHQpO1xyXG4iXX0=
1
+ import { writeFileSync } from "fs";
2
+ import { createSyntaxDiagramsCode } from "chevrotain";
3
+ import { smdParser } from "../street-markdown/smd-line-parser";
4
+ // extract the serialized grammar.
5
+ const serializedGrammar = smdParser.getSerializedGastProductions();
6
+ // create the HTML Text
7
+ const htmlText = `
8
+ <!DOCTYPE html>
9
+ <html lang="en">
10
+ <head>
11
+ <meta charset="UTF-8">
12
+ <title>SMD street line Syntax Diagrams</title>
13
+ </head>
14
+ <body>
15
+ ${createSyntaxDiagramsCode(serializedGrammar)}
16
+ </body>
17
+ </html>`;
18
+ // Write the HTML file to disk
19
+ writeFileSync("generated_diagrams.html", htmlText);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtc3ludGF4LWRpYWdyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9nZW5lcmF0ZS1zeW50YXgtZGlhZ3JhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLElBQUksQ0FBQztBQUNuQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRS9ELGtDQUFrQztBQUNsQyxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0FBRW5FLHVCQUF1QjtBQUN2QixNQUFNLFFBQVEsR0FBRzs7Ozs7Ozs7RUFRZix3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQzs7UUFFckMsQ0FBQztBQUVULDhCQUE4QjtBQUM5QixhQUFhLENBQUMseUJBQXlCLEVBQUUsUUFBUSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB3cml0ZUZpbGVTeW5jIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgeyBjcmVhdGVTeW50YXhEaWFncmFtc0NvZGUgfSBmcm9tIFwiY2hldnJvdGFpblwiO1xuaW1wb3J0IHsgc21kUGFyc2VyIH0gZnJvbSBcIi4uL3N0cmVldC1tYXJrZG93bi9zbWQtbGluZS1wYXJzZXJcIjtcblxuLy8gZXh0cmFjdCB0aGUgc2VyaWFsaXplZCBncmFtbWFyLlxuY29uc3Qgc2VyaWFsaXplZEdyYW1tYXIgPSBzbWRQYXJzZXIuZ2V0U2VyaWFsaXplZEdhc3RQcm9kdWN0aW9ucygpO1xuXG4vLyBjcmVhdGUgdGhlIEhUTUwgVGV4dFxuY29uc3QgaHRtbFRleHQgPSBgXG48IURPQ1RZUEUgaHRtbD5cbjxodG1sIGxhbmc9XCJlblwiPlxuPGhlYWQ+XG4gICAgPG1ldGEgY2hhcnNldD1cIlVURi04XCI+XG4gICAgPHRpdGxlPlNNRCBzdHJlZXQgbGluZSBTeW50YXggRGlhZ3JhbXM8L3RpdGxlPlxuPC9oZWFkPlxuPGJvZHk+XG4ke2NyZWF0ZVN5bnRheERpYWdyYW1zQ29kZShzZXJpYWxpemVkR3JhbW1hcil9XG48L2JvZHk+XG48L2h0bWw+YDtcblxuLy8gV3JpdGUgdGhlIEhUTUwgZmlsZSB0byBkaXNrXG53cml0ZUZpbGVTeW5jKFwiZ2VuZXJhdGVkX2RpYWdyYW1zLmh0bWxcIiwgaHRtbFRleHQpO1xuIl19
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,8 +1,8 @@
1
- import { disconnectKnex, initDb } from "../db/db";
2
- async function main() {
3
- await initDb();
4
- console.log("Database ready to use.");
5
- await disconnectKnex();
6
- }
7
- main();
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC1kYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vaW5pdC1kYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsRCxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLE1BQU0sRUFBRSxDQUFDO0lBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sY0FBYyxFQUFFLENBQUM7QUFDekIsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGlzY29ubmVjdEtuZXgsIGluaXREYiB9IGZyb20gXCIuLi9kYi9kYlwiO1xyXG5cclxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcclxuICBhd2FpdCBpbml0RGIoKTtcclxuICBjb25zb2xlLmxvZyhcIkRhdGFiYXNlIHJlYWR5IHRvIHVzZS5cIik7XHJcbiAgYXdhaXQgZGlzY29ubmVjdEtuZXgoKTtcclxufVxyXG5cclxubWFpbigpO1xyXG4iXX0=
1
+ import { disconnectKnex, initDb } from "../db/db";
2
+ async function main() {
3
+ await initDb();
4
+ console.log("Database ready to use.");
5
+ await disconnectKnex();
6
+ }
7
+ main();
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC1kYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vaW5pdC1kYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsRCxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLE1BQU0sRUFBRSxDQUFDO0lBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sY0FBYyxFQUFFLENBQUM7QUFDekIsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGlzY29ubmVjdEtuZXgsIGluaXREYiB9IGZyb20gXCIuLi9kYi9kYlwiO1xuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICBhd2FpdCBpbml0RGIoKTtcbiAgY29uc29sZS5sb2coXCJEYXRhYmFzZSByZWFkeSB0byB1c2UuXCIpO1xuICBhd2FpdCBkaXNjb25uZWN0S25leCgpO1xufVxuXG5tYWluKCk7XG4iXX0=
@@ -1 +1 @@
1
- export {};
1
+ export {};
package/dist/bin/knex.js CHANGED
@@ -1,10 +1,10 @@
1
- import { disconnectKnex, getKnexDb } from "../db/db";
2
- async function main() {
3
- const knex = getKnexDb();
4
- await knex.schema.alterTable("school_founder", (table) => {
5
- table.unique(["school_izo", "founder_id"]);
6
- });
7
- await disconnectKnex();
8
- }
9
- main();
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia25leC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4va25leC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVyRCxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLElBQUksR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUN6QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDdkQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxjQUFjLEVBQUUsQ0FBQztBQUN6QixDQUFDO0FBRUQsSUFBSSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkaXNjb25uZWN0S25leCwgZ2V0S25leERiIH0gZnJvbSBcIi4uL2RiL2RiXCI7XHJcblxyXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xyXG4gIGNvbnN0IGtuZXggPSBnZXRLbmV4RGIoKTtcclxuICBhd2FpdCBrbmV4LnNjaGVtYS5hbHRlclRhYmxlKFwic2Nob29sX2ZvdW5kZXJcIiwgKHRhYmxlKSA9PiB7XHJcbiAgICB0YWJsZS51bmlxdWUoW1wic2Nob29sX2l6b1wiLCBcImZvdW5kZXJfaWRcIl0pO1xyXG4gIH0pO1xyXG4gIGF3YWl0IGRpc2Nvbm5lY3RLbmV4KCk7XHJcbn1cclxuXHJcbm1haW4oKTtcclxuIl19
1
+ import { disconnectKnex, getKnexDb } from "../db/db";
2
+ async function main() {
3
+ const knex = getKnexDb();
4
+ await knex.schema.alterTable("school_founder", (table) => {
5
+ table.unique(["school_izo", "founder_id"]);
6
+ });
7
+ await disconnectKnex();
8
+ }
9
+ main();
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia25leC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4va25leC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVyRCxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLElBQUksR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUN6QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDdkQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxjQUFjLEVBQUUsQ0FBQztBQUN6QixDQUFDO0FBRUQsSUFBSSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkaXNjb25uZWN0S25leCwgZ2V0S25leERiIH0gZnJvbSBcIi4uL2RiL2RiXCI7XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IGtuZXggPSBnZXRLbmV4RGIoKTtcbiAgYXdhaXQga25leC5zY2hlbWEuYWx0ZXJUYWJsZShcInNjaG9vbF9mb3VuZGVyXCIsICh0YWJsZSkgPT4ge1xuICAgIHRhYmxlLnVuaXF1ZShbXCJzY2hvb2xfaXpvXCIsIFwiZm91bmRlcl9pZFwiXSk7XG4gIH0pO1xuICBhd2FpdCBkaXNjb25uZWN0S25leCgpO1xufVxuXG5tYWluKCk7XG4iXX0=
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,74 +1,74 @@
1
- import { readFileSync, writeFileSync } from "fs";
2
- import { parseOrdinanceToAddressPoints, } from "../street-markdown/smd";
3
- import { municipalitiesToPolygons } from "../street-markdown/polygons";
4
- import { disconnectKnex } from "../db/db";
5
- import { SchoolType } from "../db/types";
6
- async function main() {
7
- // take first node argument as a file name
8
- if (process.argv.length < 4) {
9
- console.error("Missing file name argument");
10
- process.exit(1);
11
- }
12
- if (process.argv[2] !== "zs" && process.argv[2] !== "ms") {
13
- console.error("Invalid school type argument, must be one of 'zs' or 'ms'");
14
- process.exit(1);
15
- }
16
- const schoolType = process.argv[2] === "zs" ? SchoolType.Elementary : SchoolType.Kindergarten;
17
- const fileName = process.argv[3];
18
- const fileContent = readFileSync(fileName);
19
- const lines = fileContent.toString().split("\n");
20
- let errorCount = 0;
21
- const errorLines = [];
22
- let warningCount = 0;
23
- const reportErrors = ({ lineNumber, line, errors, }) => {
24
- errors.forEach((error) => console.error(error.message));
25
- console.error(`Invalid street definition on line ${lineNumber}: ${line}`);
26
- errorCount++;
27
- errorLines.push(`line ${lineNumber}: ${line}`);
28
- };
29
- const reportWarnings = ({ lineNumber, errors: warnings, }) => {
30
- warnings.forEach((error) => {
31
- console.error(`Line ${lineNumber}: ${error.message}`);
32
- });
33
- warningCount++;
34
- };
35
- console.time("parseOrdinanceToAddressPoints");
36
- // const { municipality } = await getNewMunicipalityByFounderId(2016); // ostrava something
37
- const municipalities = await parseOrdinanceToAddressPoints({
38
- lines,
39
- schoolType,
40
- initialState: {
41
- // currentMunicipality: municipality,
42
- },
43
- onError: reportErrors,
44
- onWarning: reportWarnings,
45
- includeUnmappedAddressPoints: true,
46
- });
47
- console.timeEnd("parseOrdinanceToAddressPoints");
48
- console.log(`Parsed ${lines.length} lines, ${errorCount} errors, ${warningCount} warnings.`);
49
- // if (errorCount > 0) {
50
- // console.log("Errors:");
51
- // errorLines.forEach((line) => console.log(line));
52
- // }
53
- if (process.argv.length >= 5) {
54
- const outputFileName = process.argv[4];
55
- const output = JSON.stringify(municipalities);
56
- console.log(`Writing output to ${outputFileName}`);
57
- writeFileSync(outputFileName, output);
58
- }
59
- else {
60
- console.log(JSON.stringify(municipalities));
61
- }
62
- if (process.argv.length >= 6) {
63
- console.time("municipalityToPolygons");
64
- const polygons = await municipalitiesToPolygons(municipalities);
65
- console.timeEnd("municipalityToPolygons");
66
- const outputFileName = process.argv[5];
67
- const output = JSON.stringify(polygons);
68
- console.log(`Writing polygons to ${outputFileName}`);
69
- writeFileSync(outputFileName, output);
70
- }
71
- await disconnectKnex();
72
- }
73
- main();
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2Utb3JkaW5hbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9wYXJzZS1vcmRpbmFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDakQsT0FBTyxFQUVMLDZCQUE2QixHQUM5QixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV6QyxLQUFLLFVBQVUsSUFBSTtJQUNqQiwwQ0FBMEM7SUFDMUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7SUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ3hELE9BQU8sQ0FBQyxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUMzRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2pCO0lBQ0QsTUFBTSxVQUFVLEdBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUM7SUFDN0UsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNq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QVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELGFBQWEsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDdkM7SUFDRCxNQUFNLGNBQWMsRUFBRSxDQUFDO0FBQ3pCLENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlYWRGaWxlU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gXCJmc1wiO1xyXG5pbXBvcnQge1xyXG4gIGdldE5ld011bmljaXBhbGl0eUJ5Rm91bmRlcklkLFxyXG4gIHBhcnNlT3JkaW5hbmNlVG9BZGRyZXNzUG9pbnRzLFxyXG59IGZyb20gXCIuLi9zdHJlZXQtbWFya2Rvd24vc21kXCI7XHJcbmltcG9ydCB7IEVycm9yQ2FsbGJhY2tQYXJhbXMgfSBmcm9tIFwiLi4vc3RyZWV0LW1hcmtkb3duL3R5cGVzXCI7XHJcbmltcG9ydCB7IG11bmljaXBhbGl0aWVzVG9Qb2x5Z29ucyB9IGZyb20gXCIuLi9zdHJlZXQtbWFya2Rvd24vcG9seWdvbnNcIjtcclxuaW1wb3J0IHsgZGlzY29ubmVjdEtuZXggfSBmcm9tIFwiLi4vZGIvZGJcIjtcclxuaW1wb3J0IHsgU2Nob29sVHlwZSB9IGZyb20gXCIuLi9kYi90eXBlc1wiO1xyXG5cclxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcclxuICAvLyB0YWtlIGZpcnN0IG5vZGUgYXJndW1lbnQgYXMgYSBmaWxlIG5hbWVcclxuICBpZiAocHJvY2Vzcy5hcmd2Lmxlbmd0aCA8IDQpIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoXCJNaXNzaW5nIGZpbGUgbmFtZSBhcmd1bWVudFwiKTtcclxuICAgIHByb2Nlc3MuZXhpdCgxKTtcclxuICB9XHJcblxyXG4gIGlmIChwcm9jZXNzLmFyZ3ZbMl0gIT09IFwienNcIiAmJiBwcm9jZXNzLmFyZ3ZbMl0gIT09IFwibXNcIikge1xyXG4gICAgY29uc29sZS5lcnJvcihcIkludmFsaWQgc2Nob29sIHR5cGUgYXJndW1lbnQsIG11c3QgYmUgb25lIG9mICd6cycgb3IgJ21zJ1wiKTtcclxuICAgIHByb2Nlc3MuZXhpdCgxKTtcclxuICB9XHJcbiAgY29uc3Qgc2Nob29sVHlwZSA9XHJcbiAgICBwcm9jZXNzLmFyZ3ZbMl0gPT09IFwienNcIiA/IFNjaG9vbFR5cGUuRWxlbWVudGFyeSA6IFNjaG9vbFR5cGUuS2luZGVyZ2FydGVuO1xyXG4gIGNvbnN0IGZpbGVOYW1lID0gcHJvY2Vzcy5hcmd2WzNdO1xyXG4gIGNvbnN0IGZpbGVDb250ZW50ID0gcmVhZEZpbGVTeW5jKGZpbGVOYW1lKTtcclxuICBjb25zdCBsaW5lcyA9IGZpbGVDb250ZW50LnRvU3RyaW5nKCkuc3BsaXQoXCJcXG5cIik7XHJcblxyXG4gIGxldCBlcnJvckNvdW50ID0gMDtcclxuICBjb25zdCBlcnJvckxpbmVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGxldCB3YXJuaW5nQ291bnQgPSAwO1xyXG5cclxuICBjb25zdCByZXBvcnRFcnJvcnMgPSAoe1xyXG4gICAgbGluZU51bWJlcixcclxuICAgIGxpbmUsXHJcbiAgICBlcnJvcnMsXHJcbiAgfTogRXJyb3JDYWxsYmFja1BhcmFtcyk6IHZvaWQgPT4ge1xyXG4gICAgZXJyb3JzLmZvckVhY2goKGVycm9yKSA9PiBjb25zb2xlLmVycm9yKGVycm9yLm1lc3NhZ2UpKTtcclxuICAgIGNvbnNvbGUuZXJyb3IoYEludmFsaWQgc3RyZWV0IGRlZmluaXRpb24gb24gbGluZSAke2xpbmVOdW1iZXJ9OiAke2xpbmV9YCk7XHJcbiAgICBlcnJvckNvdW50Kys7XHJcbiAgICBlcnJvckxpbmVzLnB1c2goYGxpbmUgJHtsaW5lTnVtYmVyfTogJHtsaW5lfWApO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0IHJlcG9ydFdhcm5pbmdzID0gKHtcclxuICAgIGxpbmVOdW1iZXIsXHJcbiAgICBlcnJvcnM6IHdhcm5pbmdzLFxyXG4gIH06IEVycm9yQ2FsbGJhY2tQYXJhbXMpOiB2b2lkID0+IHtcclxuICAgIHdhcm5pbmdzLmZvckVhY2goKGVycm9yKSA9PiB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoYExpbmUgJHtsaW5lTnVtYmVyfTogJHtlcnJvci5tZXNzYWdlfWApO1xyXG4gICAgfSk7XHJcbiAgICB3YXJuaW5nQ291bnQrKztcclxuICB9O1xyXG5cclxuICBjb25zb2xlLnRpbWUoXCJwYXJzZU9yZGluYW5jZVRvQWRkcmVzc1BvaW50c1wiKTtcclxuXHJcbiAgLy8gY29uc3QgeyBtdW5pY2lwYWxpdHkgfSA9IGF3YWl0IGdldE5ld011bmljaXBhbGl0eUJ5Rm91bmRlcklkKDIwMTYpOyAvLyBvc3RyYXZhIHNvbWV0aGluZ1xyXG5cclxuICBjb25zdCBtdW5pY2lwYWxpdGllcyA9IGF3YWl0IHBhcnNlT3JkaW5hbmNlVG9BZGRyZXNzUG9pbnRzKHtcclxuICAgIGxpbmVzLFxyXG4gICAgc2Nob29sVHlwZSxcclxuICAgIGluaXRpYWxTdGF0ZToge1xyXG4gICAgICAvLyBjdXJyZW50TXVuaWNpcGFsaXR5OiBtdW5pY2lwYWxpdHksXHJcbiAgICB9LFxyXG4gICAgb25FcnJvcjogcmVwb3J0RXJyb3JzLFxyXG4gICAgb25XYXJuaW5nOiByZXBvcnRXYXJuaW5ncyxcclxuICAgIGluY2x1ZGVVbm1hcHBlZEFkZHJlc3NQb2ludHM6IHRydWUsXHJcbiAgfSk7XHJcbiAgY29uc29sZS50aW1lRW5kKFwicGFyc2VPcmRpbmFuY2VUb0FkZHJlc3NQb2ludHNcIik7XHJcblxyXG4gIGNvbnNvbGUubG9nKFxyXG4gICAgYFBhcnNlZCAke2xpbmVzLmxlbmd0aH0gbGluZXMsICR7ZXJyb3JDb3VudH0gZXJyb3JzLCAke3dhcm5pbmdDb3VudH0gd2FybmluZ3MuYFxyXG4gICk7XHJcbiAgLy8gaWYgKGVycm9yQ291bnQgPiAwKSB7XHJcbiAgLy8gICBjb25zb2xlLmxvZyhcIkVycm9yczpcIik7XHJcbiAgLy8gICBlcnJvckxpbmVzLmZvckVhY2goKGxpbmUpID0+IGNvbnNvbGUubG9nKGxpbmUpKTtcclxuICAvLyB9XHJcblxyXG4gIGlmIChwcm9jZXNzLmFyZ3YubGVuZ3RoID49IDUpIHtcclxuICAgIGNvbnN0IG91dHB1dEZpbGVOYW1lID0gcHJvY2Vzcy5hcmd2WzRdO1xyXG4gICAgY29uc3Qgb3V0cHV0ID0gSlNPTi5zdHJpbmdpZnkobXVuaWNpcGFsaXRpZXMpO1xyXG4gICAgY29uc29sZS5sb2coYFdyaXRpbmcgb3V0cHV0IHRvICR7b3V0cHV0RmlsZU5hbWV9YCk7XHJcbiAgICB3cml0ZUZpbGVTeW5jKG91dHB1dEZpbGVOYW1lLCBvdXRwdXQpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShtdW5pY2lwYWxpdGllcykpO1xyXG4gIH1cclxuXHJcbiAgaWYgKHByb2Nlc3MuYXJndi5sZW5ndGggPj0gNikge1xyXG4gICAgY29uc29sZS50aW1lKFwibXVuaWNpcGFsaXR5VG9Qb2x5Z29uc1wiKTtcclxuICAgIGNvbnN0IHBvbHlnb25zID0gYXdhaXQgbXVuaWNpcGFsaXRpZXNUb1BvbHlnb25zKG11bmljaXBhbGl0aWVzKTtcclxuICAgIGNvbnNvbGUudGltZUVuZChcIm11bmljaXBhbGl0eVRvUG9seWdvbnNcIik7XHJcblxyXG4gICAgY29uc3Qgb3V0cHV0RmlsZU5hbWUgPSBwcm9jZXNzLmFyZ3ZbNV07XHJcbiAgICBjb25zdCBvdXRwdXQgPSBKU09OLnN0cmluZ2lmeShwb2x5Z29ucyk7XHJcbiAgICBjb25zb2xlLmxvZyhgV3JpdGluZyBwb2x5Z29ucyB0byAke291dHB1dEZpbGVOYW1lfWApO1xyXG4gICAgd3JpdGVGaWxlU3luYyhvdXRwdXRGaWxlTmFtZSwgb3V0cHV0KTtcclxuICB9XHJcbiAgYXdhaXQgZGlzY29ubmVjdEtuZXgoKTtcclxufVxyXG5cclxubWFpbigpO1xyXG4iXX0=
1
+ import { readFileSync, writeFileSync } from "fs";
2
+ import { parseOrdinanceToAddressPoints, } from "../street-markdown/smd";
3
+ import { municipalitiesToPolygons } from "../street-markdown/polygons";
4
+ import { disconnectKnex } from "../db/db";
5
+ import { SchoolType } from "../db/types";
6
+ async function main() {
7
+ // take first node argument as a file name
8
+ if (process.argv.length < 4) {
9
+ console.error("Missing file name argument");
10
+ process.exit(1);
11
+ }
12
+ if (process.argv[2] !== "zs" && process.argv[2] !== "ms") {
13
+ console.error("Invalid school type argument, must be one of 'zs' or 'ms'");
14
+ process.exit(1);
15
+ }
16
+ const schoolType = process.argv[2] === "zs" ? SchoolType.Elementary : SchoolType.Kindergarten;
17
+ const fileName = process.argv[3];
18
+ const fileContent = readFileSync(fileName);
19
+ const lines = fileContent.toString().split("\n");
20
+ let errorCount = 0;
21
+ const errorLines = [];
22
+ let warningCount = 0;
23
+ const reportErrors = ({ lineNumber, line, errors, }) => {
24
+ errors.forEach((error) => console.error(error.message));
25
+ console.error(`Invalid street definition on line ${lineNumber}: ${line}`);
26
+ errorCount++;
27
+ errorLines.push(`line ${lineNumber}: ${line}`);
28
+ };
29
+ const reportWarnings = ({ lineNumber, errors: warnings, }) => {
30
+ warnings.forEach((error) => {
31
+ console.error(`Line ${lineNumber}: ${error.message}`);
32
+ });
33
+ warningCount++;
34
+ };
35
+ console.time("parseOrdinanceToAddressPoints");
36
+ // const { municipality } = await getNewMunicipalityByFounderId(2016); // ostrava something
37
+ const municipalities = await parseOrdinanceToAddressPoints({
38
+ lines,
39
+ schoolType,
40
+ initialState: {
41
+ // currentMunicipality: municipality,
42
+ },
43
+ onError: reportErrors,
44
+ onWarning: reportWarnings,
45
+ includeUnmappedAddressPoints: true,
46
+ });
47
+ console.timeEnd("parseOrdinanceToAddressPoints");
48
+ console.log(`Parsed ${lines.length} lines, ${errorCount} errors, ${warningCount} warnings.`);
49
+ // if (errorCount > 0) {
50
+ // console.log("Errors:");
51
+ // errorLines.forEach((line) => console.log(line));
52
+ // }
53
+ if (process.argv.length >= 5) {
54
+ const outputFileName = process.argv[4];
55
+ const output = JSON.stringify(municipalities);
56
+ console.log(`Writing output to ${outputFileName}`);
57
+ writeFileSync(outputFileName, output);
58
+ }
59
+ else {
60
+ console.log(JSON.stringify(municipalities));
61
+ }
62
+ if (process.argv.length >= 6) {
63
+ console.time("municipalityToPolygons");
64
+ const polygons = await municipalitiesToPolygons(municipalities);
65
+ console.timeEnd("municipalityToPolygons");
66
+ const outputFileName = process.argv[5];
67
+ const output = JSON.stringify(polygons);
68
+ console.log(`Writing polygons to ${outputFileName}`);
69
+ writeFileSync(outputFileName, output);
70
+ }
71
+ await disconnectKnex();
72
+ }
73
+ main();
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2Utb3JkaW5hbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9wYXJzZS1vcmRpbmFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDakQsT0FBTyxFQUVMLDZCQUE2QixHQUM5QixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV6QyxLQUFLLFVBQVUsSUFBSTtJQUNqQiwwQ0FBMEM7SUFDMUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7SUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ3hELE9BQU8sQ0FBQyxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUMzRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2pCO0lBQ0QsTUFBTSxVQUFVLEdBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUM7SUFDN0UsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNq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QVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELGFBQWEsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDdkM7SUFDRCxNQUFNLGNBQWMsRUFBRSxDQUFDO0FBQ3pCLENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlYWRGaWxlU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gXCJmc1wiO1xuaW1wb3J0IHtcbiAgZ2V0TmV3TXVuaWNpcGFsaXR5QnlGb3VuZGVySWQsXG4gIHBhcnNlT3JkaW5hbmNlVG9BZGRyZXNzUG9pbnRzLFxufSBmcm9tIFwiLi4vc3RyZWV0LW1hcmtkb3duL3NtZFwiO1xuaW1wb3J0IHsgRXJyb3JDYWxsYmFja1BhcmFtcyB9IGZyb20gXCIuLi9zdHJlZXQtbWFya2Rvd24vdHlwZXNcIjtcbmltcG9ydCB7IG11bmljaXBhbGl0aWVzVG9Qb2x5Z29ucyB9IGZyb20gXCIuLi9zdHJlZXQtbWFya2Rvd24vcG9seWdvbnNcIjtcbmltcG9ydCB7IGRpc2Nvbm5lY3RLbmV4IH0gZnJvbSBcIi4uL2RiL2RiXCI7XG5pbXBvcnQgeyBTY2hvb2xUeXBlIH0gZnJvbSBcIi4uL2RiL3R5cGVzXCI7XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIC8vIHRha2UgZmlyc3Qgbm9kZSBhcmd1bWVudCBhcyBhIGZpbGUgbmFtZVxuICBpZiAocHJvY2Vzcy5hcmd2Lmxlbmd0aCA8IDQpIHtcbiAgICBjb25zb2xlLmVycm9yKFwiTWlzc2luZyBmaWxlIG5hbWUgYXJndW1lbnRcIik7XG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG5cbiAgaWYgKHByb2Nlc3MuYXJndlsyXSAhPT0gXCJ6c1wiICYmIHByb2Nlc3MuYXJndlsyXSAhPT0gXCJtc1wiKSB7XG4gICAgY29uc29sZS5lcnJvcihcIkludmFsaWQgc2Nob29sIHR5cGUgYXJndW1lbnQsIG11c3QgYmUgb25lIG9mICd6cycgb3IgJ21zJ1wiKTtcbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH1cbiAgY29uc3Qgc2Nob29sVHlwZSA9XG4gICAgcHJvY2Vzcy5hcmd2WzJdID09PSBcInpzXCIgPyBTY2hvb2xUeXBlLkVsZW1lbnRhcnkgOiBTY2hvb2xUeXBlLktpbmRlcmdhcnRlbjtcbiAgY29uc3QgZmlsZU5hbWUgPSBwcm9jZXNzLmFyZ3ZbM107XG4gIGNvbnN0IGZpbGVDb250ZW50ID0gcmVhZEZpbGVTeW5jKGZpbGVOYW1lKTtcbiAgY29uc3QgbGluZXMgPSBmaWxlQ29udGVudC50b1N0cmluZygpLnNwbGl0KFwiXFxuXCIpO1xuXG4gIGxldCBlcnJvckNvdW50ID0gMDtcbiAgY29uc3QgZXJyb3JMaW5lczogc3RyaW5nW10gPSBbXTtcbiAgbGV0IHdhcm5pbmdDb3VudCA9IDA7XG5cbiAgY29uc3QgcmVwb3J0RXJyb3JzID0gKHtcbiAgICBsaW5lTnVtYmVyLFxuICAgIGxpbmUsXG4gICAgZXJyb3JzLFxuICB9OiBFcnJvckNhbGxiYWNrUGFyYW1zKTogdm9pZCA9PiB7XG4gICAgZXJyb3JzLmZvckVhY2goKGVycm9yKSA9PiBjb25zb2xlLmVycm9yKGVycm9yLm1lc3NhZ2UpKTtcbiAgICBjb25zb2xlLmVycm9yKGBJbnZhbGlkIHN0cmVldCBkZWZpbml0aW9uIG9uIGxpbmUgJHtsaW5lTnVtYmVyfTogJHtsaW5lfWApO1xuICAgIGVycm9yQ291bnQrKztcbiAgICBlcnJvckxpbmVzLnB1c2goYGxpbmUgJHtsaW5lTnVtYmVyfTogJHtsaW5lfWApO1xuICB9O1xuXG4gIGNvbnN0IHJlcG9ydFdhcm5pbmdzID0gKHtcbiAgICBsaW5lTnVtYmVyLFxuICAgIGVycm9yczogd2FybmluZ3MsXG4gIH06IEVycm9yQ2FsbGJhY2tQYXJhbXMpOiB2b2lkID0+IHtcbiAgICB3YXJuaW5ncy5mb3JFYWNoKChlcnJvcikgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcihgTGluZSAke2xpbmVOdW1iZXJ9OiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgfSk7XG4gICAgd2FybmluZ0NvdW50Kys7XG4gIH07XG5cbiAgY29uc29sZS50aW1lKFwicGFyc2VPcmRpbmFuY2VUb0FkZHJlc3NQb2ludHNcIik7XG5cbiAgLy8gY29uc3QgeyBtdW5pY2lwYWxpdHkgfSA9IGF3YWl0IGdldE5ld011bmljaXBhbGl0eUJ5Rm91bmRlcklkKDIwMTYpOyAvLyBvc3RyYXZhIHNvbWV0aGluZ1xuXG4gIGNvbnN0IG11bmljaXBhbGl0aWVzID0gYXdhaXQgcGFyc2VPcmRpbmFuY2VUb0FkZHJlc3NQb2ludHMoe1xuICAgIGxpbmVzLFxuICAgIHNjaG9vbFR5cGUsXG4gICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAvLyBjdXJyZW50TXVuaWNpcGFsaXR5OiBtdW5pY2lwYWxpdHksXG4gICAgfSxcbiAgICBvbkVycm9yOiByZXBvcnRFcnJvcnMsXG4gICAgb25XYXJuaW5nOiByZXBvcnRXYXJuaW5ncyxcbiAgICBpbmNsdWRlVW5tYXBwZWRBZGRyZXNzUG9pbnRzOiB0cnVlLFxuICB9KTtcbiAgY29uc29sZS50aW1lRW5kKFwicGFyc2VPcmRpbmFuY2VUb0FkZHJlc3NQb2ludHNcIik7XG5cbiAgY29uc29sZS5sb2coXG4gICAgYFBhcnNlZCAke2xpbmVzLmxlbmd0aH0gbGluZXMsICR7ZXJyb3JDb3VudH0gZXJyb3JzLCAke3dhcm5pbmdDb3VudH0gd2FybmluZ3MuYFxuICApO1xuICAvLyBpZiAoZXJyb3JDb3VudCA+IDApIHtcbiAgLy8gICBjb25zb2xlLmxvZyhcIkVycm9yczpcIik7XG4gIC8vICAgZXJyb3JMaW5lcy5mb3JFYWNoKChsaW5lKSA9PiBjb25zb2xlLmxvZyhsaW5lKSk7XG4gIC8vIH1cblxuICBpZiAocHJvY2Vzcy5hcmd2Lmxlbmd0aCA+PSA1KSB7XG4gICAgY29uc3Qgb3V0cHV0RmlsZU5hbWUgPSBwcm9jZXNzLmFyZ3ZbNF07XG4gICAgY29uc3Qgb3V0cHV0ID0gSlNPTi5zdHJpbmdpZnkobXVuaWNpcGFsaXRpZXMpO1xuICAgIGNvbnNvbGUubG9nKGBXcml0aW5nIG91dHB1dCB0byAke291dHB1dEZpbGVOYW1lfWApO1xuICAgIHdyaXRlRmlsZVN5bmMob3V0cHV0RmlsZU5hbWUsIG91dHB1dCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkobXVuaWNpcGFsaXRpZXMpKTtcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmFyZ3YubGVuZ3RoID49IDYpIHtcbiAgICBjb25zb2xlLnRpbWUoXCJtdW5pY2lwYWxpdHlUb1BvbHlnb25zXCIpO1xuICAgIGNvbnN0IHBvbHlnb25zID0gYXdhaXQgbXVuaWNpcGFsaXRpZXNUb1BvbHlnb25zKG11bmljaXBhbGl0aWVzKTtcbiAgICBjb25zb2xlLnRpbWVFbmQoXCJtdW5pY2lwYWxpdHlUb1BvbHlnb25zXCIpO1xuXG4gICAgY29uc3Qgb3V0cHV0RmlsZU5hbWUgPSBwcm9jZXNzLmFyZ3ZbNV07XG4gICAgY29uc3Qgb3V0cHV0ID0gSlNPTi5zdHJpbmdpZnkocG9seWdvbnMpO1xuICAgIGNvbnNvbGUubG9nKGBXcml0aW5nIHBvbHlnb25zIHRvICR7b3V0cHV0RmlsZU5hbWV9YCk7XG4gICAgd3JpdGVGaWxlU3luYyhvdXRwdXRGaWxlTmFtZSwgb3V0cHV0KTtcbiAgfVxuICBhd2FpdCBkaXNjb25uZWN0S25leCgpO1xufVxuXG5tYWluKCk7XG4iXX0=
@@ -1 +1 @@
1
- export {};
1
+ export {};