UNPKG

national-rail-darwin-promise

Version:

A promise based wrapper for the national-rail-darwin library to access national rails SOAP API.

161 lines (145 loc) 4.22 kB
const Darwin = require('national-rail-darwin') class Rail { constructor (apiKey, options) { this.apiKey = apiKey || process.env.DARWIN_TOKEN this.options = options this.darwin = new Darwin(this.apiKey, options) } async getDepartureBoard (crsCode, options) { return new Promise((resolve, reject) => { this.darwin.getDepartureBoard(crsCode, options, (err, result) => { if (err !== null) { reject(err) } else { resolve(result) } }) }) } async getDepartureBoardWithDetails (crsCode, options) { return new Promise((resolve, reject) => { this.darwin.getDepartureBoardWithDetails(crsCode, options, (err, result) => { if (err !== null) { reject(err) } else { resolve(result) } }) }) } async getArrivalsBoard (crsCode, options) { return new Promise((resolve, reject) => { this.darwin.getArrivalsBoard(crsCode, options, (err, result) => { if (err !== null) { reject(err) } else { resolve(result) } }) }) } async getArrivalsBoardWithDetails (crsCode, options) { return new Promise((resolve, reject) => { this.darwin.getArrivalsBoardWithDetails(crsCode, options, (err, result) => { if (err !== null) { reject(err) } else { resolve(result) } }) }) } async getArrivalsDepartureBoard (crsCode, options) { return new Promise((resolve, reject) => { this.darwin.getArrivalsDepartureBoard(crsCode, options, (err, result) => { if (err !== null) { reject(err) } else { resolve(result) } }) }) } async getArrivalsDepartureBoardWithDetails (crsCode, options) { return new Promise((resolve, reject) => { this.darwin.getArrivalsDepartureBoardWithDetails(crsCode, options, (err, result) => { if (err !== null) { reject(err) } else { resolve(result) } }) }) } async getNextDeparture (crsCode, destinationCrsCode, options) { if (typeof options === 'undefined') options = {} return new Promise((resolve, reject) => { this.darwin.getNextDeparture(crsCode, destinationCrsCode, options, (err, result) => { if (err !== null) { reject(err) } else { resolve(result) } }) }) } async getNextDepartureWithDetails (crsCode, destinationCrsCode, options) { if (typeof options === 'undefined') options = {} return new Promise((resolve, reject) => { this.darwin.getNextDepartureWithDetails(crsCode, destinationCrsCode, options, (err, result) => { if (err !== null) { reject(err) } else { resolve(result) } }) }) } async getFastestDeparture (crsCode, destinationCrsCode, options) { if (typeof options === 'undefined') options = {} return new Promise((resolve, reject) => { this.darwin.getFastestDeparture(crsCode, destinationCrsCode, options, (err, result) => { if (err !== null) { reject(err) } else { resolve(result) } }) }) } async getFastestDepartureWithDetails (crsCode, destinationCrsCode, options) { if (typeof options === 'undefined') options = {} return new Promise((resolve, reject) => { this.darwin.getFastestDepartureWithDetails(crsCode, destinationCrsCode, options, (err, result) => { if (err !== null) { reject(err) } else { resolve(result) } }) }) } async getServiceDetails (serviceId) { return new Promise((resolve, reject) => { this.darwin.getServiceDetails(serviceId, (err, result) => { if (err !== null) { reject(err) } else { resolve(result) } }) }) } async getStationDetails (crsCode) { return new Promise((resolve, reject) => { this.darwin.getStationDetails(crsCode, (err, result) => { if (err !== null) { reject(err) } else { resolve(result) } }) }) } } module.exports = Rail