configuration/src/config/match.config.ts

41 lines
1.2 KiB
TypeScript

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,
}));