UNPKG

@golemio/pid

Version:
51 lines 2.58 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.TransferDepartureTransformation = void 0; const DepartureCalculator_1 = require("../../../shared/DepartureCalculator"); const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation"); const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe"); const PlatformCodeResolver_1 = require("../helpers/PlatformCodeResolver"); let TransferDepartureTransformation = exports.TransferDepartureTransformation = class TransferDepartureTransformation extends AbstractTransformation_1.AbstractTransformation { constructor() { super(...arguments); this.name = "TransferDepartureTransformation"; this.transformInternal = (departure) => { return { departure_timestamp: { minutes: this.calculateDepartureMinutes(departure.departure_datetime_real), }, route: { short_name: departure.route_short_name, type: departure.route_type, }, stop: { platform_code: PlatformCodeResolver_1.PlatformCodeResolver.resolve(departure), }, trip: { headsign: departure.stop_headsign ?? departure.trip_headsign, id: departure.trip_id, }, }; }; } calculateDepartureMinutes(predicted) { if (!predicted) { return null; } const departure_minutes = DepartureCalculator_1.DepartureCalculator.getDepartureMinutes(predicted); if (departure_minutes < 1) { return "<1"; } return departure_minutes.toString(); } }; exports.TransferDepartureTransformation = TransferDepartureTransformation = __decorate([ (0, tsyringe_1.injectable)() ], TransferDepartureTransformation); //# sourceMappingURL=TransferDepartureTransformation.js.map