@golemio/parkings
Version:
Golemio Parkings Module
41 lines • 2.03 kB
JavaScript
;
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