import fs from "fs"; import * as path from "path"; const stations = [ { id: 1, name: 'Tesla Supercharger', address: '123 Main St', lat: 37.7749, lon: -122.4194, network_operator: 'Tesla' }, { id: 2, name: 'Electrify America', address: '456 Maple Ave', lat: 40.7128, lon: -74.0060, network_operator: 'Electrify America' }, {id: 3, name: 'ChargePoint', address: '789 Oak St', lat: 34.0522, lon: -118.2437, network_operator: 'ChargePoint'}, ]; interface Station { [key: string]: string } function groupStationsByNetworkOperator(stations: Station[]): Map { const groups = new Map(); for (const station of stations) { if (!groups.has(station.properties.network_operator)) { groups.set(station.properties.network_operator, []); } groups.get(station.properties.network_operator)!.push(station); } return groups; } function groupStationsByNetworkOperatorAndWriteToFiles(stations: any[], outputDir: string): void { const groups = groupStationsByNetworkOperator(stations); for (const [networkOperator, stationsForOperator] of groups.entries()) { const fileName = `${networkOperator}.json`; const filePath = path.join(outputDir, fileName); fs.writeFileSync(filePath, JSON.stringify(stationsForOperator, null, 2)); } } groupStationsByNetworkOperatorAndWriteToFiles(stations, "output")