Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/json2d/mta-bustime

🚌 Node.js wrapper for MTA-BusTime REST API
https://github.com/json2d/mta-bustime

Last synced: 27 days ago
JSON representation

🚌 Node.js wrapper for MTA-BusTime REST API

Awesome Lists containing this project

README

        

# mta-bustime

🚌 Node.js wrapper for MTA-BusTime REST API

## Installation

```sh
npm install mta-bustime --save
```

## Usage
First, create a `BusTime` object with your API key.
```javascript
const BusTime = require('mta-bustime')

var bustime = new BusTime(API_KEY)
```

Then, use the wrapper functions to make requests to the API endpoints and retrieve the responses
```javascript
// OneBusAway API
bustime.agenciesWithCoverage({/* options */},function(err,res,body) { /* do something with response */ })
bustime.routesForAgency('MTA NYCT',{/* options */},function(err,res,body) { /* do something with response */ })
bustime.stopsForRoute('MTA NYCT_B70',{includePolylines:false /* , more options */ },function(err,res,body) { /* do something with response */ })

var LineRef ='B70',
DirectionRef = 0,
MonitoringRef = 308194

// SIRI API
bustime.stopMonitoring({LineRef,DirectionRef,MonitoringRef},function(err,res,body) { /* do something with response */ })

```

For more information on the API endpoints and available query options for each, see the references below:
http://bustime.mta.info/wiki/Developers/OneBusAwayRESTfulAPI
http://bustime.mta.info/wiki/Developers/SIRIStopMonitoring

## Tests
To run tests on the wrapper functions, first you'll need to create the file `/test/config/.env` with your API key like this:

```
KEY=
```

Then run the script:

```sh
npm test
```

Responses for test API requests are saved to `test/cache` for further inspection.

## Dependencies

- [request](https://github.com/request/request): Simplified HTTP request client.

## Dev Dependencies

- [tap](https://github.com/tapjs/node-tap): A Test-Anything-Protocol library
- [dotenv](https://github.com/motdotla/dotenv): Loads environment variables from .env file

## License

MIT