UNPKG

@vim-crouwel/cfpc

Version:

TypeScript library for calculating CO2 emissions from food, energy, and transportation

42 lines (41 loc) 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.co2PerKm = co2PerKm; exports.dataSource = dataSource; exports.getTransportationModes = getTransportationModes; const utils_1 = require("../utils"); const transportationData = (0, utils_1.getTransportation)(); /** * Calculate CO2 emissions for transportation * @param mode - Transportation mode (car, bus, train, etc.) * @param km - Distance in kilometers * @returns CO2 emissions in kg */ function co2PerKm(mode, km) { checkMode(mode); if (km < 0) throw new Error('Distance cannot be negative'); return transportationData[mode].co2_per_km * km; } /** * Get data source for a specific transportation mode * @param mode - Transportation mode * @returns Data source reference */ function dataSource(mode) { checkMode(mode); return transportationData[mode].source; } /** * Get all available transportation modes * @returns Array of transportation mode names */ function getTransportationModes() { return Object.keys(transportationData); } //UTILS function checkMode(mode) { const transportMode = transportationData[mode]; if (!transportMode) throw new Error(`${mode} does not exist.`); }