diff --git a/p/db/index.js b/p/db/index.js index c298f09a..00995218 100644 --- a/p/db/index.js +++ b/p/db/index.js @@ -76,7 +76,8 @@ const parseAusstattungGrid = (g) => { // filter duplicate hint rows const rows = uniqBy(g.rows, ([key, val]) => key + ':' + val) - const res = {raw: rows} + const res = {} + Object.defineProperty(res, 'raw', {value: rows}) for (let [key, val] of rows) { key = ausstattungKeys[slugg(key)] if (key) res[key] = parseAusstattungVal(val) diff --git a/test/fixtures/db-stop.js b/test/fixtures/db-stop.js index 387b9688..446fd652 100644 --- a/test/fixtures/db-stop.js +++ b/test/fixtures/db-stop.js @@ -11,26 +11,6 @@ const facilities = { stepFreeAccess: true, boardingAid: 'ja, um voranmeldung unter 01806 512 512* wird gebeten', taxis: true, - raw: [ - ['DB Information', '06:00 - 22:30'], - ['3-S-Zentrale', '030/2971055'], - ['Parkplätze', 'Ja'], - ['Fahrrad-Stellplätze', 'Ja'], - ['ÖPNV-Anbindung', 'Ja'], - ['WC', 'Ja'], - ['Schließfächer', 'Ja'], - ['Reisebedarf', 'Nein'], - ['Stufenfreier Zugang', 'Ja'], - [ - 'Ein-/ Umsteigehilfe', - 'Ja, um Voranmeldung unter 01806 512 512* wird gebeten' - ], - ['Taxi am Bahnhof', 'Ja'], - [ - 'Hinweis', - '*20 ct/Anruf aus dem Festnetz, Tarif bei Mobilfunk max. 60 ct/Anruf, täglich von 6:00 bis 22:00 Uhr für Sie erreichbar.' - ] - ], } const reisezentrumOpeningHours = { diff --git a/test/fixtures/hvv-stop.json b/test/fixtures/hvv-stop.json new file mode 100644 index 00000000..62caeb04 --- /dev/null +++ b/test/fixtures/hvv-stop.json @@ -0,0 +1 @@ +{"ver":"1.16","ext":"HVV.1","lang":"eng","id":"ki22itti2igig6w8","svcResL":[{"meth":"LocDetails","err":"OK","res":{"common":{"locL":[{"lid":"A=1@O=Bf. Dammtor@X=9990315@Y=53561048@U=80@L=116@","type":"S","name":"Bf. Dammtor","icoX":0,"extId":"116","state":"F","crd":{"x":9990315,"y":53561048,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":386,"mMastLocX":1},{"lid":"A=1@O=Dammtor (Messe/CCH)@X=9989721@Y=53560949@U=80@L=163@","type":"S","name":"Dammtor (Messe/CCH)","icoX":0,"extId":"163","state":"F","crd":{"x":9989721,"y":53560949,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":386},{"lid":"A=1@O=Hamburg Dammtor@X=9989407@Y=53560787@U=80@L=8050@","type":"S","name":"Hamburg Dammtor","icoX":5,"extId":"8050","state":"F","crd":{"x":9989407,"y":53560787,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":220},{"lid":"A=1@O=Bf. Dammtor@X=9990449@Y=53561659@U=80@L=8860@","type":"S","name":"Bf. Dammtor","icoX":3,"extId":"8860","state":"F","crd":{"x":9990315,"y":53561048,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":256,"pRefL":[4],"entry":true,"mMastLocX":1},{"lid":"A=1@O=Bf. Dammtor@X=9990117@Y=53560841@U=80@L=8861@","type":"S","name":"Bf. Dammtor","icoX":2,"extId":"8861","state":"F","crd":{"x":9990315,"y":53561048,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":384,"pRefL":[3,4],"entry":true,"mMastLocX":1},{"lid":"A=1@O=Bf. Dammtor@X=9990063@Y=53561308@U=80@L=8862@","type":"S","name":"Bf. Dammtor","icoX":2,"extId":"8862","state":"F","crd":{"x":9990315,"y":53561048,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":128,"pRefL":[3],"entry":true,"mMastLocX":1},{"lid":"A=1@O=Bf. Dammtor@X=9991555@Y=53561111@U=80@L=8863@","type":"S","name":"Bf. Dammtor","icoX":2,"extId":"8863","state":"F","crd":{"x":9990315,"y":53561048,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":128,"pRefL":[3],"entry":true,"mMastLocX":1},{"lid":"A=1@O=Bf. Dammtor@X=9991303@Y=53560850@U=80@L=8884@","type":"S","name":"Bf. Dammtor","icoX":2,"extId":"8884","state":"F","crd":{"x":9990315,"y":53561048,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":128,"pRefL":[3],"entry":true,"mMastLocX":1},{"lid":"A=1@O=Dammtor (Messe/CCH)@X=9989569@Y=53560904@U=80@L=20500@","type":"S","name":"Dammtor (Messe/CCH)","icoX":0,"extId":"20500","state":"F","crd":{"x":9989721,"y":53560949,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":386,"entry":true,"mMastLocX":1},{"lid":"A=1@O=Dammtor (Messe/CCH)@X=9989721@Y=53560958@U=80@L=20501@","type":"S","name":"Dammtor (Messe/CCH)","icoX":0,"extId":"20501","state":"F","crd":{"x":9989721,"y":53560949,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":386,"entry":true,"mMastLocX":1},{"lid":"A=1@O=Hamburg Dammtor@X=9989569@Y=53560751@U=80@L=51666@","type":"S","name":"Hamburg Dammtor","icoX":1,"extId":"51666","state":"F","crd":{"x":9989569,"y":53560751,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":88,"pRefL":[1,2,5],"entry":true,"mMastLocX":2},{"lid":"A=1@O=Hamburg Dammtor@X=9989569@Y=53560751@U=80@L=51667@","type":"S","name":"Hamburg Dammtor","icoX":4,"extId":"51667","state":"F","crd":{"x":9989569,"y":53560751,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":64,"pRefL":[5],"entry":true,"mMastLocX":2},{"lid":"A=1@O=Bf. Dammtor@X=9991088@Y=53560679@U=80@L=59870@","type":"S","name":"Bf. Dammtor","icoX":0,"extId":"59870","state":"F","crd":{"x":9990315,"y":53561048,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":386,"entry":true,"mMastLocX":1},{"lid":"A=1@O=Bf. Dammtor@X=9991088@Y=53560679@U=80@L=59871@","type":"S","name":"Bf. Dammtor","icoX":0,"extId":"59871","state":"F","crd":{"x":9990315,"y":53561048,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":386,"entry":true,"mMastLocX":1},{"lid":"A=1@O=Bf. Dammtor@X=9991088@Y=53560679@U=80@L=59872@","type":"S","name":"Bf. Dammtor","icoX":0,"extId":"59872","state":"F","crd":{"x":9990315,"y":53561048,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":386,"entry":true,"mMastLocX":1},{"lid":"A=1@O=Bf. Dammtor@X=9991088@Y=53560679@U=80@L=59873@","type":"S","name":"Bf. Dammtor","icoX":0,"extId":"59873","state":"F","crd":{"x":9990315,"y":53561048,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":386,"entry":true,"mMastLocX":1},{"lid":"A=1@O=Bf. Dammtor@X=9991088@Y=53560679@U=80@L=59893@","type":"S","name":"Bf. Dammtor","icoX":0,"extId":"59893","state":"F","crd":{"x":9990315,"y":53561048,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":386,"entry":true,"mMastLocX":1},{"lid":"A=1@O=Dammtor (Messe/CCH)@X=9989613@Y=53560913@U=80@L=59928@","type":"S","name":"Dammtor (Messe/CCH)","icoX":0,"extId":"59928","state":"F","crd":{"x":9989613,"y":53560913,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":386,"entry":true,"mMastLocX":1},{"lid":"A=1@O=Dammtor (Messe/CCH)@X=9989757@Y=53560958@U=80@L=59929@","type":"S","name":"Dammtor (Messe/CCH)","icoX":0,"extId":"59929","state":"F","crd":{"x":9989757,"y":53560958,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":386,"entry":true,"mMastLocX":1},{"lid":"A=1@O=Dammtor (Messe/CCH)@X=9989613@Y=53560913@U=80@L=62065@","type":"S","name":"Dammtor (Messe/CCH)","icoX":0,"extId":"62065","state":"F","crd":{"x":9989613,"y":53560913,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":386,"entry":true,"mMastLocX":1},{"lid":"A=1@O=Bf. Dammtor@X=9990126@Y=53560850@U=80@L=80717@","type":"S","name":"Bf. Dammtor","icoX":0,"extId":"80717","state":"F","crd":{"x":9990126,"y":53560850,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":386,"entry":true,"mMastLocX":1},{"lid":"A=1@O=Bf. Dammtor@X=9991492@Y=53561021@U=80@L=88834@","type":"S","name":"Bf. Dammtor","icoX":0,"extId":"88834","state":"F","crd":{"x":9991492,"y":53561021,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":386,"entry":true,"mMastLocX":1},{"lid":"A=1@O=Bf. Dammtor@X=9990288@Y=53561057@U=80@L=88835@","type":"S","name":"Bf. Dammtor","icoX":0,"extId":"88835","state":"F","crd":{"x":9990288,"y":53561057,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":386,"entry":true,"mMastLocX":1},{"lid":"A=1@O=Bf. Dammtor@X=9990360@Y=53561596@U=80@L=89006@","type":"S","name":"Bf. Dammtor","icoX":0,"extId":"89006","state":"F","crd":{"x":9990360,"y":53561596,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":386,"entry":true,"mMastLocX":1},{"lid":"A=1@O=Hamburg Dammtor@X=9989569@Y=53560751@U=80@L=96361@","type":"S","name":"Hamburg Dammtor","icoX":5,"extId":"96361","state":"F","crd":{"x":9989569,"y":53560751,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":220,"entry":true,"mMastLocX":2},{"lid":"A=1@O=Dammtor (Messe/CCH)@X=9989721@Y=53560958@U=80@L=107530@","type":"S","name":"Dammtor (Messe/CCH)","icoX":0,"extId":"107530","state":"F","crd":{"x":9989721,"y":53560949,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":2,"pRefL":[0],"entry":true,"mMastLocX":1},{"lid":"A=1@O=Dammtor (Messe/CCH)@X=9989569@Y=53560904@U=80@L=107531@","type":"S","name":"Dammtor (Messe/CCH)","icoX":0,"extId":"107531","state":"F","crd":{"x":9989721,"y":53560949,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":2,"pRefL":[0],"entry":true,"mMastLocX":1},{"lid":"A=1@O=U Stephansplatz@X=9989056@Y=53558126@U=80@L=107@","type":"S","name":"U Stephansplatz","icoX":6,"extId":"107","state":"F","crd":{"x":9989056,"y":53558126,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":385,"mMastLocX":28},{"lid":"A=1@O=Stephansplatz (Oper/CCH)@X=9989353@Y=53558809@U=80@L=151@","type":"S","name":"Stephansplatz (Oper/CCH)","icoX":6,"extId":"151","state":"F","crd":{"x":9989353,"y":53558809,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":385},{"lid":"A=1@O=U Stephansplatz@X=9989092@Y=53557848@U=80@L=8839@","type":"S","name":"U Stephansplatz","icoX":2,"extId":"8839","state":"F","crd":{"x":9989056,"y":53558126,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":384,"pRefL":[3,4],"entry":true,"mMastLocX":28},{"lid":"A=1@O=U Stephansplatz@X=9988652@Y=53557614@U=80@L=8840@","type":"S","name":"U Stephansplatz","icoX":2,"extId":"8840","state":"F","crd":{"x":9989056,"y":53558126,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":384,"pRefL":[3,4],"entry":true,"mMastLocX":28},{"lid":"A=1@O=U Stephansplatz@X=9988310@Y=53558072@U=80@L=8845@","type":"S","name":"U Stephansplatz","icoX":2,"extId":"8845","state":"F","crd":{"x":9989056,"y":53558126,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":384,"pRefL":[3,4],"entry":true,"mMastLocX":28},{"lid":"A=1@O=U Stephansplatz@X=9988517@Y=53558351@U=80@L=8846@","type":"S","name":"U Stephansplatz","icoX":2,"extId":"8846","state":"F","crd":{"x":9989056,"y":53558126,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":128,"pRefL":[3],"entry":true,"mMastLocX":28},{"lid":"A=1@O=U Stephansplatz@X=9988768@Y=53557587@U=80@L=8900@","type":"S","name":"U Stephansplatz","icoX":6,"extId":"8900","state":"F","crd":{"x":9989056,"y":53558126,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":385,"entry":true,"mMastLocX":28},{"lid":"A=1@O=Stephansplatz (Oper/CCH)@X=9989101@Y=53558935@U=80@L=16293@","type":"S","name":"Stephansplatz (Oper/CCH)","icoX":6,"extId":"16293","state":"F","crd":{"x":9989353,"y":53558809,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":1,"pRefL":[6],"entry":true,"mMastLocX":28},{"lid":"A=1@O=Stephansplatz (Oper/CCH)@X=9989245@Y=53558989@U=80@L=16294@","type":"S","name":"Stephansplatz (Oper/CCH)","icoX":6,"extId":"16294","state":"F","crd":{"x":9989353,"y":53558809,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":1,"pRefL":[6],"entry":true,"mMastLocX":28},{"lid":"A=1@O=Hamburg Dammtor@X=9989569@Y=53560751@U=80@L=21131@","type":"S","name":"Hamburg Dammtor","icoX":5,"extId":"21131","state":"F","crd":{"x":9989407,"y":53560787,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":196,"pRefL":[7,3,5],"entry":true,"mMastLocX":2},{"lid":"A=1@O=U Stephansplatz@X=9989110@Y=53558090@U=80@L=54890@","type":"S","name":"U Stephansplatz","icoX":6,"extId":"54890","state":"F","crd":{"x":9989110,"y":53558090,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":385,"entry":true,"mMastLocX":28},{"lid":"A=1@O=U Stephansplatz@X=9989110@Y=53558090@U=80@L=59854@","type":"S","name":"U Stephansplatz","icoX":6,"extId":"59854","state":"F","crd":{"x":9989056,"y":53558126,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":385,"entry":true,"mMastLocX":28},{"lid":"A=1@O=U Stephansplatz@X=9989110@Y=53558090@U=80@L=59855@","type":"S","name":"U Stephansplatz","icoX":6,"extId":"59855","state":"F","crd":{"x":9989056,"y":53558126,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":385,"entry":true,"mMastLocX":28},{"lid":"A=1@O=U Stephansplatz@X=9989110@Y=53558090@U=80@L=59858@","type":"S","name":"U Stephansplatz","icoX":6,"extId":"59858","state":"F","crd":{"x":9989056,"y":53558126,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":385,"entry":true,"mMastLocX":28},{"lid":"A=1@O=U Stephansplatz@X=9989110@Y=53558090@U=80@L=59859@","type":"S","name":"U Stephansplatz","icoX":6,"extId":"59859","state":"F","crd":{"x":9989056,"y":53558126,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":385,"entry":true,"mMastLocX":28},{"lid":"A=1@O=Stephansplatz (Oper/CCH)@X=9989299@Y=53558845@U=80@L=61803@","type":"S","name":"Stephansplatz (Oper/CCH)","icoX":6,"extId":"61803","state":"F","crd":{"x":9989299,"y":53558845,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":385,"entry":true,"mMastLocX":28},{"lid":"A=1@O=Stephansplatz (Oper/CCH)@X=9989299@Y=53558845@U=80@L=61804@","type":"S","name":"Stephansplatz (Oper/CCH)","icoX":6,"extId":"61804","state":"F","crd":{"x":9989299,"y":53558845,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":385,"entry":true,"mMastLocX":28},{"lid":"A=1@O=Stephansplatz (Oper/CCH)@X=9989299@Y=53558845@U=80@L=62047@","type":"S","name":"Stephansplatz (Oper/CCH)","icoX":6,"extId":"62047","state":"F","crd":{"x":9989299,"y":53558845,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":385,"entry":true,"mMastLocX":28},{"lid":"A=1@O=U Stephansplatz@X=9988517@Y=53558297@U=80@L=80716@","type":"S","name":"U Stephansplatz","icoX":6,"extId":"80716","state":"F","crd":{"x":9988517,"y":53558297,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":385,"entry":true,"mMastLocX":28},{"lid":"A=1@O=U Stephansplatz@X=9989110@Y=53558090@U=80@L=88470@","type":"S","name":"U Stephansplatz","icoX":6,"extId":"88470","state":"F","crd":{"x":9989110,"y":53558090,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":385,"entry":true,"mMastLocX":28},{"lid":"A=1@O=Hamburg Dammtor@X=9989569@Y=53560751@U=80@L=96355@","type":"S","name":"Hamburg Dammtor","icoX":5,"extId":"96355","state":"F","crd":{"x":9989569,"y":53560751,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":220,"entry":true,"mMastLocX":2}],"prodL":[{"name":"","icoX":0,"cls":2},{"name":"","icoX":1,"cls":8},{"name":"","icoX":1,"cls":16},{"name":"","icoX":2,"cls":128},{"name":"","icoX":3,"cls":256},{"name":"","icoX":4,"cls":64},{"name":"","icoX":6,"cls":1},{"name":"","icoX":5,"cls":4}],"polyL":[],"layerL":[{"id":"standard","name":"standard","index":0,"annoCnt":0}],"crdSysL":[{"id":"standard","index":0,"type":"WGS84","dim":2}],"opL":[],"remL":[],"icoL":[{"res":"prod_comm_t","fg":{"r":255,"g":255,"b":255,"a":255},"bg":{"r":38,"g":169,"b":72,"a":255},"shp":"RES","shpRes":"oval"},{"res":"prod_reg","fg":{"r":255,"g":255,"b":255,"a":255},"bg":{"r":0,"g":0,"b":0,"a":255},"shp":"RES","shpRes":"rect_invert"},{"res":"prod_bus","fg":{"r":255,"g":255,"b":255,"a":255},"bg":{"r":211,"g":22,"b":29,"a":255},"shp":"RES","shpRes":"hexa"},{"res":"prod_bus_s","fg":{"r":255,"g":255,"b":255,"a":255},"bg":{"r":211,"g":22,"b":29,"a":255},"shp":"RES","shpRes":"hexa_s"},{"res":"prod_gen","fg":{"r":255,"g":255,"b":255,"a":255},"bg":{"r":0,"g":130,"b":193,"a":255}},{"res":"prod_reg_akn","fg":{"r":255,"g":255,"b":255,"a":255},"bg":{"r":228,"g":119,"b":34,"a":255},"shp":"RES","shpRes":"oval"},{"res":"prod_sub_t","fg":{"r":255,"g":255,"b":255,"a":255},"bg":{"r":0,"g":100,"b":164,"a":255},"shp":"RES","shpRes":"rect"}]},"locL":[{"lid":"A=1@O=Dammtor (Messe/CCH)@X=9989721@Y=53560949@U=80@L=163@","type":"S","name":"Dammtor (Messe/CCH)","icoX":0,"extId":"163","state":"F","crd":{"x":9989721,"y":53560949,"type":"WGS84","layerX":0,"crdSysX":0},"pCls":474,"pRefL":[0,1,2,3,4,5],"stopLocL":[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"entryLocL":[18,17,26,25,23,22,21,20,19,16,15,14,13,12,9,8,7,6,5,4,3]}]}}]} \ No newline at end of file