"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PidContainer = void 0;
const GeoMeasurementHelper_1 = require("../../helpers/geo/GeoMeasurementHelper");
const DeparturePresetsRepository_1 = require("../ropid-gtfs/data-access/DeparturePresetsRepository");
const RopidDeparturesPresetsTransformation_1 = require("../ropid-gtfs/transformations/RopidDeparturesPresetsTransformation");
const PresetLogRepository_1 = require("../ropid-gtfs/workers/presets/data-access/PresetLogRepository");
const PresetLogDataSourceFactory_1 = require("../ropid-gtfs/workers/presets/datasources/PresetLogDataSourceFactory");
const GrafanaLokiDataSourceProvider_1 = require("../ropid-gtfs/workers/presets/datasources/grafana-loki/GrafanaLokiDataSourceProvider");
const LogFilter_1 = require("../ropid-gtfs/workers/presets/helpers/LogFilter");
const RopidMonitoringService_1 = require("../ropid-gtfs/workers/presets/helpers/RopidMonitoringService");
const PresetLogTransformation_1 = require("../ropid-gtfs/workers/presets/transformations/PresetLogTransformation");
const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
const ModuleContainerToken_1 = require("./ModuleContainerToken");
//#region Initialization
const PidContainer = Di_1.IntegrationEngineContainer.createChildContainer();
exports.PidContainer = PidContainer;
//#endregion
//#region Helpers
PidContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.GeoMeasurementHelper, GeoMeasurementHelper_1.GeoMeasurementHelper);
PidContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.PresetLogFilter, LogFilter_1.LogFilter);
PidContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.RopidMonitoringService, RopidMonitoringService_1.RopidMonitoringService);
//#endregion
//#region Datasources
PidContainer.register(ModuleContainerToken_1.ModuleContainerToken.GrafanaLokiDataSourceProvider, GrafanaLokiDataSourceProvider_1.GrafanaLokiDataSourceProvider);
PidContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.PresetLogDataSourceFactory, PresetLogDataSourceFactory_1.PresetLogDataSourceFactory);
//#endregion
//#region Data Access
PidContainer.register(ModuleContainerToken_1.ModuleContainerToken.DeparturePresetsRepository, DeparturePresetsRepository_1.DeparturePresetsRepository);
PidContainer.register(ModuleContainerToken_1.ModuleContainerToken.PresetLogRepository, PresetLogRepository_1.PresetLogRepository);
//#endregion
//#region Transformations
PidContainer.register(ModuleContainerToken_1.ModuleContainerToken.RopidDeparturesPresetsTransformation, RopidDeparturesPresetsTransformation_1.RopidDeparturesPresetsTransformation);
PidContainer.register(ModuleContainerToken_1.ModuleContainerToken.PresetLogTransformation, PresetLogTransformation_1.PresetLogTransformation);
//# sourceMappingURL=Di.js.map