A type-safe, lightweight API client for CRTM (Consorcio Regional de Transportes de Madrid) public transport data.
npm install @dubisdev/crtm-api
import { getStopByCode, getLineByCode, getStopTimesByStopCode } from '@dubisdev/crtm-api';
// Get stop information
const stop = await getStopByCode('8_21044');
// Get line information
const line = await getLineByCode('123');
// Get stop times
const times = await getStopTimesByStopCode('8_21044');
import { NotFoundError, NetworkError } from '@dubisdev/crtm-api';
try {
const stop = await getStopByCode('INVALID_CODE');
} catch (error) {
if (error instanceof NotFoundError) {
console.error('Resource not found');
} else if (error instanceof NetworkError) {
console.error('Network error occurred');
}
}
Full API documentation is available at https://dubisdev.github.io/crtm-api/
# Install dependencies
bun install
# Run tests
bun test
# Run tests in watch mode
bun test:watch
# Run tests with coverage
bun test:coverage
# Build
bun run build
MIT © David Jiménez