@vim-crouwel/cfpc
Version:
TypeScript library for calculating CO2 emissions from food, energy, and transportation
86 lines (59 loc) • 2.3 kB
Markdown
# Carbon Footprint Calculator
A TypeScript library for calculating CO2 emissions from food, energy, and transportation.
## Data Sources
The library uses emission factors from:
- **Food**: CO2 emissions per kg for various food items
- **Energy**: CO2 emissions per kWh and AC usage calculations
- **Transportation**: CO2 emissions per km for different transport modes
## Installation
```bash
npm install @vim-crouwel/cfpc
```
## Usage
### Food Emissions
```typescript
import { co2PerKg, getFoodCategories, getFoodItems } from '@vim-crouwel/cfpc/calculators/food'
// Calculate CO2 for 0.5kg of beef
const beefEmissions = co2PerKg('meat', 'beef', 0.5)
console.log(`Beef emissions: ${beefEmissions} kg CO2`)
// List available categories and items
const categories = getFoodCategories()
const meatItems = getFoodItems('meat')
```
### Energy Emissions
```typescript
import { co2PerKwh, acCo2Emissions, acUsage } from '@vim-crouwel/cfpc/calculators/energy'
// Calculate CO2 for 100 kWh energy consumption (50 kg CO2)
const energyEmissions = co2PerKwh(100)
// Calculate kWh needed for AC in 50m² room for 8 hours (60 kWh)
const kwh = acUsage(50, 8)
// Calculate AC emissions for 50m² room running 8 hours (30 kg CO2)
const acEmissions = acCo2Emissions(50, 8)
```
### Transportation Emissions
```typescript
import { co2PerKm, getTransportationModes } from '@vim-crouwel/cfpc/calculators/transportation'
// Calculate CO2 for 25km car trip
const carEmissions = co2PerKm('car', 25)
// List available transportation modes
const modes = getTransportationModes()
```
### Complete Example
```typescript
import { co2PerKg } from '@vim-crouwel/cfpc/calculators/food'
import { co2PerKwh } from '@vim-crouwel/cfpc/calculators/energy'
import { co2PerKm } from '@vim-crouwel/cfpc/calculators/transportation'
// Daily carbon footprint calculation
const dailyFood = co2PerKg('meat', 'chicken', 0.2) + co2PerKg('dairy', 'milk', 0.3)
const dailyEnergy = co2PerKwh(8)
const dailyTransport = co2PerKm('car', 30)
const totalDaily = dailyFood + dailyEnergy + dailyTransport
console.log(`Daily CO2 emissions: ${totalDaily.toFixed(2)} kg`)
```
## Development
```bash
bun install
bun run index.ts
```
## API Reference
All functions include JSDoc documentation with parameter descriptions and return types.