UNPKG

@golemio/parkings

Version:
41 lines 2.03 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Smart4CityMeasurementTransformation = void 0; const SourceEnum_1 = require("../../helpers/constants/SourceEnum"); const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation"); const uuid_by_string_1 = __importDefault(require("uuid-by-string")); class Smart4CityMeasurementTransformation extends AbstractTransformation_1.AbstractTransformation { constructor(transformationDate) { super(); this.transformationDate = transformationDate; this.name = "Smart4CityLocationTransformation"; this.transformInternal = (data) => { const uuid = (0, uuid_by_string_1.default)(SourceEnum_1.SourceEnum.Smart4City + data.id.toString()); return { source: SourceEnum_1.SourceEnum.Smart4City, source_id: uuid, parking_id: `${SourceEnum_1.SourceEnum.Smart4City}-${uuid}`, total_spot_number: data.capacity, available_spot_number: data.correctionunoccupied, occupied_spot_number: Number.isInteger(data.capacity) && Number.isInteger(data.correctionunoccupied) ? data.capacity - data.correctionunoccupied : null, date_modified: this.transformationDate.toISOString(), }; }; this.transformArray = (data) => { const result = []; for (const el of data) { if (!el.closed && el.capacity && el.correctionunoccupied !== null) { result.push(this.transformElement(el)); } } return result; }; } } exports.Smart4CityMeasurementTransformation = Smart4CityMeasurementTransformation; //# sourceMappingURL=Smart4CityMeasurementTransformation.js.map