import { registerAs } from '@nestjs/config'; import { Config } from './config'; export interface MatchConfig extends Config { algorithm: string; remoteness: number; useProportion: boolean; proportion: number; useAzimuth: boolean; azimuthMargin: number; maxDetourDistanceRatio: number; maxDetourDurationRatio: number; } export default registerAs('match', () => ({ algorithm: process.env.ALGORITHM ?? 'PASSENGER_ORIENTED', remoteness: process.env.REMOTENESS ? parseInt(process.env.REMOTENESS, 10) : 15000, useProportion: process.env.USE_PROPORTION ? process.env.USE_PROPORTION === 'false' ? false : true : true, proportion: process.env.PROPORTION ? parseFloat(process.env.PROPORTION) : 0.3, useAzimuth: process.env.USE_AZIMUTH ? process.env.USE_AZIMUTH === 'false' ? false : true : true, azimuthMargin: process.env.AZIMUTH_MARGIN ? parseInt(process.env.AZIMUTH_MARGIN, 10) : 10, maxDetourDistanceRatio: process.env.MAX_DETOUR_DISTANCE_RATIO ? parseFloat(process.env.MAX_DETOUR_DISTANCE_RATIO) : 0.3, maxDetourDurationRatio: process.env.MAX_DETOUR_DURATION_RATIO ? parseFloat(process.env.MAX_DETOUR_DURATION_RATIO) : 0.3, }));