import { writeInDataDir } from './utils.js' const CURRENT_YEAR = 2023 const CSV_URL = 'https://fichierdirect.declaration.urssaf.fr/static/tauxTransport.20230928.csv' const INDEX = { TAUX: 2, CODE_COMMUNE: 0, DATE_EFFET: 4, } const response = await fetch(CSV_URL) const rawCSV = await response.text() const data = rawCSV .split('\n') .slice(1, -1) .map((row) => row.split(';')) .filter((r) => r[INDEX.TAUX] !== '0') .filter((r) => !r[INDEX.DATE_EFFET].startsWith((CURRENT_YEAR + 1).toString())) .map((r) => { r[INDEX.CODE_COMMUNE] = r[INDEX.CODE_COMMUNE].slice(1, -1) // Remove single quote '' return r }) .sort((a, b) => +a[INDEX.CODE_COMMUNE] < +b[INDEX.CODE_COMMUNE] ? -1 : +a[INDEX.CODE_COMMUNE] > +b[INDEX.CODE_COMMUNE] ? 1 : a[INDEX.DATE_EFFET] > b[INDEX.DATE_EFFET] ? -1 : 1 ) .reduce( (acc, r) => ({ [r[INDEX.CODE_COMMUNE]]: +r[INDEX.TAUX], ...acc, }), {} ) writeInDataDir('versement-mobilité.json', data)