I've successfully retrieved a stopTimeUpdate from the MTA GTFS Realtime feed using this code:
const Long = require("long");
const GtfsRealtimeBindings = require('gtfs-realtime-bindings');
const request = require('request');
var requestSettings = {
headers: { 'x-api-key': 'NiLi4PZxxxxxxxxxxxxxxxxxxxxxcvCzODm' },
method: 'GET',
url: 'https://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct%2Fgtfs-g',
encoding: null
};
request(requestSettings, function (error, response, body) {
if (!error && response.statusCode == 200) {
var feedMessage = GtfsRealtimeBindings.transit_realtime.FeedMessage.decode(body);
feedMessage.entity.forEach(function(entity) {
if (entity.tripUpdate) {
console.log(entity.tripUpdate.stopTimeUpdate);
}
});
}
});
with an output of:
StopTimeUpdate {
arrival: StopTimeEvent { time: [Long] },
departure: StopTimeEvent { time: [Long] },
stopId: 'F27S'
}
How do I make it so that [Long] is read as a number?