UNPKG

traffic-fine-calculator

Version:
85 lines (66 loc) 2.14 kB
var fines = require('../fine_dictionary').distance, distance = function (args) { if (args.speed <= 80) { if (args.distance <= 0.5) { if (args.damage) { return fines.fine2; } else if (args.thread) { return fines.fine1; } else { return fines.fine0; } } else { // distance > 0.5 return fines.no_fine; } } else if (args.speed > 80 && args.speed <= 130) { if (args.distance <= 0.1) { if (args.speed <= 100) { return fines.fine8; } else { // > 100 km/h return fines.fine15; } } if (args.distance <= 0.2) { if (args.speed <= 100) { return fines.fine7; } else { // > 100 km/h return fines.fine14; } } if (args.distance <= 0.3) { if (args.speed <= 100) { return fines.fine6; } else { // > 100 km/h return fines.fine13; } } if (args.distance <= 0.4) { return fines.fine5; } if (args.distance <= 0.5) { return fines.fine2; } else { // distance > 0.5 return fines.no_fine; } } else if (args.speed > 130) { if (args.distance <= 0.1) { return fines.fine12; } if (args.distance <= 0.2) { return fines.fine11; } if (args.distance <= 0.3) { return fines.fine10; } if (args.distance <= 0.4) { return fines.fine9; } if (args.distance <= 0.5) { return fines.fine5; } } else { throw Error('Invalid arguments'); } }; module.exports = distance;