UNPKG

@golemio/parkings

Version:
60 lines 2.45 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.mergeParkingZoneDataSets = void 0; const uuid_by_string_1 = __importDefault(require("uuid-by-string")); const GeodataHelper_1 = require("./GeodataHelper"); const IPR_DATA_PROVIDER = "/opendata.iprpraha.cz"; const getLocationData = async (dataTsk, dataIprTransformed) => { const locationBaseData = { data_provider: dataTsk.data_provider, location: dataTsk.location, centroid: dataTsk.centroid, total_spot_number: dataTsk.total_spot_number, source: dataTsk.source, source_id: dataTsk.source_id, }; if (!dataIprTransformed || dataIprTransformed.length === 1) { return [ { ...locationBaseData, id: dataIprTransformed ? dataIprTransformed[0].id : (0, uuid_by_string_1.default)(JSON.stringify({ source_id: dataTsk.source_id, source: `${dataTsk.source}`.toUpperCase() })), total_spot_number: dataIprTransformed ? dataIprTransformed[0].total_spot_number : dataTsk.total_spot_number, }, ]; } return dataIprTransformed.map((el) => { const centroid = (0, GeodataHelper_1.getPointOnFeature)(el.location); return { id: el.id, ...locationBaseData, location: el.location, total_spot_number: el.total_spot_number, centroid, }; }); }; const mergeParkingZoneDataSets = async (dataTsk, dataIpr) => { const result = { parking: [], locations: [], }; for (const item of dataTsk) { const parkingData = { ...item }; if (dataIpr[item.source_id]) { parkingData.location = (0, GeodataHelper_1.mergeGeometries)(dataIpr[item.source_id]); parkingData.data_provider += IPR_DATA_PROVIDER; } parkingData.centroid = (0, GeodataHelper_1.getPointOnFeature)(parkingData.location); const locationData = await getLocationData(parkingData, dataIpr[item.source_id]); result.parking.push(parkingData); result.locations.push(...locationData); } return result; }; exports.mergeParkingZoneDataSets = mergeParkingZoneDataSets; //# sourceMappingURL=LocationBuilderHelper.js.map