{"version":3,"file":"metromobilite-m-features-dyn.mjs","sources":["../../../projects/lib-m-features/dyn/src/citiz/citiz.helper.ts","../../../projects/lib-m-features/dyn/src/citiz/citiz.pipe.ts","../../../projects/lib-m-features/dyn/src/parkings/parkings.token.ts","../../../projects/lib-m-features/dyn/src/dyn.module.ts","../../../projects/lib-m-features/dyn/src/citiz/citiz.service.ts","../../../projects/lib-m-features/dyn/src/citiz/citiz-yea.helper.ts","../../../projects/lib-m-features/dyn/src/citiz/citiz-yea.service.ts","../../../projects/lib-m-features/dyn/src/atmo/atmo.service.ts","../../../projects/lib-m-features/dyn/src/parkings/parkings.model.ts","../../../projects/lib-m-features/dyn/src/parkings/parkings.service.ts","../../../projects/lib-m-features/dyn/src/parkings/parkings.resolver.ts","../../../projects/lib-m-features/dyn/src/road-section/road-section.service.ts","../../../projects/lib-m-features/dyn/src/vh/vh.service.ts","../../../projects/lib-m-features/dyn/src/disturbances/disturbances.service.ts","../../../projects/lib-m-features/dyn/src/tier/tier.service.ts","../../../projects/lib-m-features/dyn/src/pony/pony.service.ts","../../../projects/lib-m-features/dyn/src/lines/lines.service.ts","../../../projects/lib-m-features/dyn/src/lines/lines.resolver.ts","../../../projects/lib-m-features/dyn/src/voi/voi.service.ts","../../../projects/lib-m-features/dyn/metromobilite-m-features-dyn.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { DateHelper } from '@metromobilite/m-features/core';\r\nimport { Vehicule } from '../models';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CitizHelper {\r\n\r\n\tconstructor(private dateHelper: DateHelper) { }\r\n\r\n\tget(vehicle: Vehicule, handler: string, ...handlerArgs: any[]) {\r\n\t\treturn this[handler](vehicle, ...handlerArgs);\r\n\t}\r\n\r\n\t// availability(vehicle: Vehicule): string {\r\n\t// \tconsole.log('[CitizHelper] [availability] vehicle', vehicle);\r\n\t\t\r\n\t// \tlet availability = 'available_today';\r\n\t// \tconst availabilityStart = new Date(vehicle.availabilityStart);\r\n\t// \tconst availabilityEnd = new Date(vehicle.availabilityEnd);\r\n\t// \tconst now = new Date();\r\n\t// \tconst isAfterAvailabilityStart = this.dateHelper.isAfter(availabilityStart, now);\r\n\t// \tif (isAfterAvailabilityStart) {\r\n\t// \t\tavailability = 'in_use';\r\n\t// \t} else {\r\n\t// \t\tconst isAfterAvailabilityEnd = this.dateHelper.isAfter(availabilityEnd, now);\r\n\t// \t\tif (isAfterAvailabilityEnd) {\r\n\t// \t\t\tif (availabilityStart.getDate() === availabilityEnd.getDate()) {\r\n\t// \t\t\t\tconst isAfterAvailabilityEndSameDay = this.dateHelper.isAfterSameDay(availabilityEnd, now);\r\n\t// \t\t\t\tif (isAfterAvailabilityEndSameDay) availability = 'available_until';\r\n\t// \t\t\t}\r\n\t// \t\t}\r\n\t// \t}\r\n\t// \treturn availability;\r\n\t// }\r\n\r\n\tname(vehicle: Vehicule) {\t\t\r\n\t\treturn vehicle.type.name[0].text;\r\n\t}\r\n\r\n\t// availabilityStartDate(vehicle: Vehicule): any {\r\n\t// \tconsole.log('[CitizHelper] [availabilityStartDate] vehicle', vehicle);\r\n\t// \tconst availabilityStart = new Date(vehicle.availabilityStart);\r\n\t// \treturn availabilityStart.toLocaleDateString();\r\n\t// }\r\n\r\n\t// availabilityStartTime(vehicle: Vehicule): any {\r\n\t// \tconsole.log('[CitizHelper] [availabilityStartTime] vehicle', vehicle);\r\n\t// \tconst availabilityStart = new Date(vehicle.availabilityStart);\r\n\t// \tconst availabilityStartTime = availabilityStart.getHours() + 'h' + (availabilityStart.getMinutes() > 0 ? availabilityStart.getUTCMinutes() + 'mn' : '00');\r\n\t// \treturn availabilityStartTime;\r\n\t// }\r\n\r\n\t// availabilityEndDate(vehicle: Vehicule): any {\r\n\t// \tconsole.log('[CitizHelper] [availabilityEndDate] vehicle', vehicle);\r\n\t// \tconst availabilityEnd = new Date(vehicle.availabilityEnd);\r\n\t// \treturn availabilityEnd.toLocaleDateString();\r\n\t// }\r\n\r\n\t// availabilityEndTime(vehicle: Vehicule): string {\r\n\t// \tconsole.log('[CitizHelper] [availabilityEndTime] vehicle', vehicle);\r\n\t// \tconst availabilityEnd = new Date(vehicle.);\r\n\t// \treturn (availabilityEnd.getHours() + 'h' + (availabilityEnd.getMinutes() > 0 ? availabilityEnd.getUTCMinutes() + 'mn' : '00'));\r\n\t// }\r\n\r\n\tavailability(vehicle: Vehicule) {\r\n\t\tconst myDate = new Date(vehicle.available_until);\r\n\t\tconst now = new Date();\r\n\r\n\t\t//si la donnée n'est pas mise à jour, il est possible que la date de fin de disponibilité soit antérieure à la date actuelle\r\n\t\tif(myDate < now) return 'Information indisponible';\r\n\r\n\t\tconst hours = myDate.getHours();\r\n\t\tconst minutes = myDate.getMinutes();\r\n\t\r\n\t\t// Réinitialiser l'heure pour ne comparer que les dates (pas les heures)\r\n\t\tnow.setHours(0, 0, 0, 0);\r\n\t\tmyDate.setHours(0, 0, 0, 0);\r\n\t\r\n\t\tif (myDate > now) {\r\n\t\t  return `Disponible aujourd'hui`;\r\n\t\t} else if (myDate.getTime() === now.getTime()) {\r\n\t\t\tconst minutesToString = minutes == 0 ? '00' : minutes;\r\n\t\t  \treturn `Disponible jusqu'à ${hours}h${minutesToString}`;\r\n\t\t}\r\n\t\r\n\t\treturn 'Information indisponible';\r\n\t}\r\n\r\n\tfuelLevel(vehicle: Vehicule): string {\r\n\t\tconst fuelLevel = vehicle.current_fuel_percent;\r\n\t\treturn (fuelLevel > 0 && fuelLevel <= 100) ? `${fuelLevel*100} %` : ' Inconnu ';\r\n\t}\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { CitizHelper } from './citiz.helper';\r\nimport { Vehicule } from '../models';\r\n\r\n@Pipe({\r\n\tname: 'vehicle'\r\n})\r\nexport class VehiclePipe implements PipeTransform {\r\n\r\n\tconstructor(private citizHelper: CitizHelper) { }\r\n\r\n\ttransform(vehicle: Vehicule, handler: string, ...args: any[]) {\r\n\t\treturn this.citizHelper.get(vehicle, handler, ...args);\r\n\t}\r\n\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const DYN_PARKINGS_TYPES = new InjectionToken<string[]>('MFeaturesParkingsTypes');\r\n\r\nexport const DYN_PARKINGS_DISABLE_WARNING = new InjectionToken<boolean>('MFeaturesParkingsDisableWarning');\r\n","import { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CoreModule } from '@metromobilite/m-features/core';\r\nimport { VehiclePipe } from './citiz/citiz.pipe';\r\nimport { DYN_PARKINGS_DISABLE_WARNING, DYN_PARKINGS_TYPES } from './parkings/parkings.token';\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tVehiclePipe\r\n\t],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tHttpClientModule,\r\n\t\tCoreModule,\r\n\t],\r\n\texports: [\r\n\t\tVehiclePipe\r\n\t],\r\n\tproviders: [\r\n\t\t{ provide: DYN_PARKINGS_TYPES, useValue: ['parking'] }\r\n\t]\r\n})\r\nexport class DynModule {\r\n\tstatic forRoot(config: { parking: { disableWarning: boolean } }): ModuleWithProviders<DynModule> {\r\n\t\treturn {\r\n\t\t\tngModule: DynModule,\r\n\t\t\tproviders: [\r\n\t\t\t\t{ provide: DYN_PARKINGS_DISABLE_WARNING, useValue: config && config.parking && config.parking.disableWarning || false },\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { GbfsStationInformationV3, VehiculeStatus, VehiculesType } from '../models';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CitizService {\r\n\r\n\tvehiculeType : VehiculesType | undefined = undefined;\r\n\r\n\tconstructor(\r\n\t\tprivate http: HttpClient\r\n\t) { }\r\n\r\n\t// getData(): Observable<CitizCollection> {\r\n\t// \tconsole.log('[CitizService] [getData]');\r\n\t\t\r\n\t// \treturn this.http.get<CitizCollection>(`@domain/@api/dyn/citiz/json`).pipe(map((response => {\r\n\t// \t\treturn response;\r\n\t// \t})));\r\n\t// }\r\n\r\n\tgetData(): Observable<GbfsStationInformationV3> {\r\n\t\treturn this.http.get<GbfsStationInformationV3>(`@domain/@api/gbfs/citiz_grenoble/station_information`);\r\n\t}\r\n\r\n\tgetVehiculeStatus(): Observable<VehiculeStatus> {\r\n\t\treturn this.http.get<VehiculeStatus>(`@domain/@api/gbfs/citiz_grenoble/vehicle_status`);\r\n\t}\r\n\r\n\tgetVehiculeTypes(): Observable<VehiculesType> {\r\n\t\tif (this.vehiculeType) {\r\n\t\t\treturn of(this.vehiculeType);\r\n\t\t}\r\n\t\treturn this.http.get<VehiculesType>(`@domain/@api/gbfs/citiz_grenoble/vehicle_types`);\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DateHelper } from '@metromobilite/m-features/core';\r\nimport { Vehicule } from '../models';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class _CitizYeaHelper {\r\n\r\n\tconstructor(private dateHelper: DateHelper) { }\r\n\r\n\tget(vehicle: Vehicule, handler: string, ...handlerArgs: any[]) {\r\n\t\treturn this[handler](vehicle, ...handlerArgs);\r\n\t}\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class _CitizYeaService {\r\n\r\n\tconstructor(\r\n\t\tprivate http: HttpClient\r\n\t) { }\r\n\r\n\tgetData(): Observable<any> {\r\n\t\treturn this.http.get<any>(`@domain/@api/dyn/citizyea/json`);\r\n\t}\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Atmo, AtmoCity } from './atmo.model';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class AtmoService {\r\n\r\n\tconstructor(private http: HttpClient) { }\r\n\r\n\t/**\r\n\t * @deprecated getData() is deprecated. You must pass a INSEE code as first parameter.\r\n\t */\r\n\tgetData(): Observable<Atmo>;\r\n\r\n\t/**\r\n\t * @param cityCode the INSEE code of the city.\r\n\t */\r\n\tgetData(cityCode: string | number): Observable<AtmoCity>;\r\n\tgetData(cityCode?: string | number): Observable<Atmo | AtmoCity> {\r\n\t\tif (!cityCode) {\r\n\t\t\tconsole.error('The getData() is deprecated and no longer return a valid result, consider using an INSEE code as first parameter');\r\n\t\t\treturn this.http.get<Atmo>(`@domain/@api/dyn/indiceAtmoFull/json`);\r\n\t\t}\r\n\t\treturn this.http.get<Atmo>(`@domain/@api/dyn/indiceAtmoCommunal/${cityCode}/json`);\r\n\t}\r\n\r\n\r\n\r\n}\r\n","\r\nexport interface ParkingsConfig {\r\n\ttypes: string[];\r\n}\r\n\r\nexport interface Parking {\r\n\tnsv_id: number;\r\n\t/**\r\n\t * PAR,PKG only.\r\n\t */\r\n\tdispo?: number;\r\n\ttime: number;\r\n\t/**\r\n\t * parking only.\r\n\t */\r\n\tnb_parking_libres?: null;\r\n\t/**\r\n\t * parking only.\r\n\t */\r\n\tnb_places_libres?: null;\r\n\t/**\r\n\t * parking only.\r\n\t */\r\n\tnb_pr_libres?: null;\r\n}\r\n\r\nexport interface Parkings {\r\n\t[key: string]: Parking;\r\n}\r\n\r\nexport interface ParkingsCollection {\r\n\t[key: string]: Parkings;\r\n}\r\n\r\nexport enum PARKINGS {\r\n\tPARKING = 'parking',\r\n\tPAR = 'PAR',\r\n\tPKG = 'PKG',\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { Observable, zip } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ParkingsCollection } from './parkings.model';\r\nimport { DYN_PARKINGS_DISABLE_WARNING, DYN_PARKINGS_TYPES } from './parkings.token';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ParkingsService {\r\n\r\n\tconstructor(\r\n\t\tprivate http: HttpClient,\r\n\t\t@Inject(DYN_PARKINGS_TYPES) public types: string[],\r\n\t\t@Optional() @Inject(DYN_PARKINGS_DISABLE_WARNING) private disableWarning: boolean\r\n\t) {\r\n\t\tif (!this.disableWarning && (this.types.includes('PAR') || this.types.includes('PKG'))) {\r\n\t\t\tconsole.warn('Warning Parking Type: PAR,PKG are deprecated, please use the \"parking\" type instead.');\r\n\t\t}\r\n\t}\r\n\r\n\tgetData(type: string): Observable<ParkingsCollection> {\r\n\t\treturn this.http.get<ParkingsCollection>(`@domain/@api/dyn/${type}/json`).pipe(map(response => {\r\n\t\t\tconst wrapper = {};\r\n\t\t\twrapper[type] = response;\r\n\t\t\treturn wrapper;\r\n\t\t}));\r\n\t}\r\n\r\n\tgetParkings(types = this.types): Observable<ParkingsCollection> {\r\n\t\treturn zip<ParkingsCollection[]>(...this.types.filter(type => types.includes(type)).map(type => this.getData(type))).pipe(\r\n\t\t\tmap(wrappers => {\r\n\t\t\t\treturn wrappers.reduce((acc, wrapper) => ({ ...acc, ...wrapper }), {});\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n}\r\n","import {Inject, Injectable} from '@angular/core';\r\nimport {ActivatedRouteSnapshot, Resolve, RouterStateSnapshot} from '@angular/router';\r\nimport {of} from 'rxjs';\r\nimport {catchError} from 'rxjs/operators';\r\nimport {ParkingsCollection} from './parkings.model';\r\nimport {ParkingsService} from './parkings.service';\r\nimport {DYN_PARKINGS_TYPES} from './parkings.token';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root',\r\n})\r\nexport class ParkingsResolver implements Resolve<ParkingsCollection> {\r\n\r\n\tconstructor(private parkingsService: ParkingsService, @Inject(DYN_PARKINGS_TYPES) private types: string[]) {\r\n\t}\r\n\r\n\tresolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n\t\treturn new Promise<ParkingsCollection>(resolve => {\r\n\t\t\tthis.parkingsService.getParkings(route.data.parkingsTypes || this.types)\r\n\t\t\t.pipe(catchError((error) => {\r\n\t\t\t\t// console.error('Error fetching getParkings in ParkingsResolver: ', error);\r\n\t\t\t\treturn of({} as ParkingsCollection);\r\n\t\t\t}))\r\n\t\t\t.subscribe(parkings => resolve(parkings));\r\n\t\t});\r\n\t}\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Sections } from './road-section.model';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class RoadSectionService {\r\n\r\n\tconstructor(\r\n\t\tprivate http: HttpClient\r\n\t) { }\r\n\r\n\tgetData(): Observable<Sections> {\r\n\t\treturn this.http.get<Sections>(`@domain/@api/dyn/trr/json`);\r\n\t}\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { WinterServiceReport } from './vh.model';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class WinterServiceReportService {\r\n\r\n\tconstructor(\r\n\t\tprivate http: HttpClient\r\n\t) { }\r\n\r\n\tgetData(): Observable<WinterServiceReport> {\r\n\t\treturn this.http.get<WinterServiceReport>(`@domain/@api/dyn/vh/json`);\r\n\t}\r\n}\r\n","import {HttpClient} from '@angular/common/http';\r\nimport {Injectable} from '@angular/core';\r\nimport {BehaviorSubject, Observable} from 'rxjs';\r\nimport {map} from 'rxjs/operators';\r\nimport {DisturbancesCollection} from './disturbances.model';\r\nimport {Interval, IntervalBuilderService} from '@metromobilite/m-features/core';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class DisturbancesService {\r\n\r\n\tprivate interval: Interval;\r\n\tprivate _disturbances$ = new BehaviorSubject({});\r\n\tprivate _disturbancesTC$ = new BehaviorSubject({});\r\n\tpublic dataDisturbance = {};\r\n\r\n\tconstructor(private http: HttpClient, private intervalBuilder: IntervalBuilderService) {\r\n\t\t\tthis.interval = this.intervalBuilder.build(60000);\r\n\t\t\tthis.loadData();\r\n\t\t}\r\n\r\n\tgetData(): Observable<DisturbancesCollection> {\r\n\t\treturn this.http.get<DisturbancesCollection>(`@domain/@api/dyn/evt/json`);\r\n\t}\r\n\r\n\tloadData(){\r\n\t\tthis.interval.on(this.getData()).pipe(\r\n\t\t\tmap((data: DisturbancesCollection) => {\r\n\t\t\t\tthis.disturbances$.next(data);\r\n\t\t\t\tthis.dataDisturbance = data\r\n;\t\t\t\tlet evtTc: any = {};\r\n\t\t\t\tfor (const key in data) {\r\n\t\t\t\t\tif (typeof data[key]['visibleTC'] !== 'undefined' && data[key]['visibleTC']) {\r\n\t\t\t\t\t\tevtTc[key] = data[key];\r\n\r\n\t\t\t\t\t\tif (typeof evtTc[key].listeLigne !== 'undefined') {\r\n\t\t\t\t\t\t\tlet ligne = data[key].listeLigne.replace('_', ':');\r\n\t\t\t\t\t\t\tif (typeof evtTc[ligne] === 'undefined') {\r\n\t\t\t\t\t\t\t\tevtTc[ligne] = {'niveauService': 0, 'disturances': {}};\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tevtTc[ligne]['disturances'][key] = data[key];\r\n\t\t\t\t\t\t\tevtTc[ligne]['niveauService'] < data[key]['nsv_id'] ? evtTc[ligne]['niveauService'] = data[key]['nsv_id'] : '';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.disturbancesTC$.next(evtTc);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn data;\r\n\t\t\t})\r\n\t\t).subscribe();\r\n\t}\r\n\r\n\tintervalPause(){\r\n\t\tthis.interval.pause();\r\n\t}\r\n\r\n\tintervalResume(){\r\n\t\tthis.interval.resume();\r\n\t}\r\n\r\n\tintervalDestroy(){\r\n\t\tthis.interval.destroy();\r\n\t}\r\n\r\n\tpublic get disturbances$() {\r\n\t\treturn this._disturbances$;\r\n\t}\r\n\r\n\tpublic set disturbances$(value) {\r\n\t\tthis._disturbances$ = value;\r\n\t}\r\n\r\n\tpublic disturbanceAsObservable() {\r\n\t\treturn this._disturbances$.asObservable();\r\n\t}\r\n\r\n\t// Disturbance TC\r\n\tpublic get disturbancesTC$() {\r\n\t\treturn this._disturbancesTC$;\r\n\t}\r\n\r\n\tpublic set disturbancesTC$(value) {\r\n\t\tthis._disturbancesTC$ = value;\r\n\t}\r\n\r\n\tpublic disturbanceTCAsObservable() {\r\n\t\treturn this._disturbancesTC$.asObservable();\r\n\t}\r\n\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { TierCollection, TierZoneCollection } from './tier.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class TierService {\r\n\tconstructor(\r\n\t\tprivate http: HttpClient\r\n\t) { }\r\n\r\n\tgetData(): Observable<TierCollection> {\r\n\t\treturn this.http.get<TierCollection>(`@domain/@api/dyn/tierVehicle/json`);\r\n\t}\r\n\r\n\tgetZone(): Observable<TierZoneCollection> {\r\n\t\tconst params = new HttpParams({\r\n\t\t\tfromObject: {\r\n\t\t\t\ttypes: 'vitesselimitee'\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this.http.get<TierZoneCollection>(`@domain/@api/polygons/json`, { params });\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { GbfsV2Collection, GbfsSystemInformationV2 } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PonyService {\r\n\tconstructor(\r\n\t\tprivate http: HttpClient\r\n\t) { }\r\n\r\n\tgetData(): Observable<GbfsV2Collection> {\r\n\t\treturn this.http.get<GbfsV2Collection>(`@domain/@api/gbfs/pony_grenoble/free_bike_status`);\r\n\t}\r\n\r\n\tgetSystemInformation(): Observable<GbfsSystemInformationV2> {\r\n\t\treturn this.http.get<GbfsSystemInformationV2>(`@domain/@api/gbfs/pony_grenoble/system_information`);\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { DynLinesCollection } from './lines.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DynLinesService {\r\n\tconstructor(\r\n\t\tprivate http: HttpClient\r\n\t) { }\r\n\r\n\tgetData(): Observable<DynLinesCollection> {\r\n\t\treturn this.http.get<DynLinesCollection>(`@domain/@api/dyn/ligne/json`);\r\n\t}\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {ActivatedRouteSnapshot, Resolve, RouterStateSnapshot} from '@angular/router';\r\nimport {Observable, of} from 'rxjs';\r\nimport {catchError} from 'rxjs/operators';\r\nimport {DynLinesCollection} from './lines.model';\r\nimport {DynLinesService} from './lines.service';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class DynLinesResolver implements Resolve<DynLinesCollection> {\r\n\r\n\tconstructor(private dynLinesService: DynLinesService) {\r\n\t}\r\n\r\n\tresolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<DynLinesCollection> {\r\n\t\treturn this.dynLinesService.getData().pipe(catchError((error) => {\r\n\t\t\t// console.error('Error fetching getDynLines in DynLinesResolver: ', error);\r\n\t\t\treturn of({} as DynLinesCollection);\r\n\t\t}));\r\n\t}\r\n}\r\n","import {HttpClient, HttpParams} from '@angular/common/http';\r\nimport {Injectable} from '@angular/core';\r\nimport {Observable} from 'rxjs';\r\nimport {GbfsV2Collection, GbfsSystemInformationV2} from '../models';\r\nimport {TierZoneCollection} from '../tier';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class VoiService {\r\n\tconstructor(private http: HttpClient) {\r\n\t}\r\n\r\n\tgetData(): Observable<GbfsV2Collection> {\r\n\t\treturn this.http.get<GbfsV2Collection>(`@domain/@api/gbfs/voi_grenoble/free_bike_status`);\r\n\t}\r\n\r\n\tgetSystemInformation(): Observable<GbfsSystemInformationV2> {\r\n\t\treturn this.http.get<GbfsSystemInformationV2>(`@domain/@api/gbfs/voi_grenoble/system_information`);\r\n\t}\r\n\r\n\tgetZone(): Observable<TierZoneCollection> {\r\n\t\tconst params = new HttpParams({\r\n\t\t\tfromObject: {\r\n\t\t\t\ttypes: 'vitesselimitee',\r\n\t\t\t},\r\n\t\t});\r\n\t\treturn this.http.get<TierZoneCollection>(`@domain/@api/polygons/json`, {params});\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.CitizHelper","i1","i2","i1.DynLinesService"],"mappings":"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"}