Skip to content

Transform a stream of DIFFERENTIAL-mode GTFS Realtime (GTFS-RT) FeedEntities into a FULL_DATASET-mode feed.

License

Notifications You must be signed in to change notification settings

derhuerst/gtfs-rt-differential-to-full-dataset

Repository files navigation

gtfs-rt-differential-to-full-dataset

Transform a continuous GTFS Realtime (GTFS-RT) stream of DIFFERENTIAL incrementality data into a FULL_DATASET dump.

Note: Right now, this package does not obey the draft DIFFERENTIAL spec exactly. See below and #1 for details.

npm version build status ISC-licensed support me via GitHub Sponsors chat with me on Twitter

Installing

npm install gtfs-rt-differential-to-full-dataset

Usage

const toFullDataset = require('gtfs-rt-differential-to-full-dataset')

const toFull = toFullDataset({
	ttl: 2 * 60 * 1000, // 2 minutes
})
toFull.on('error')

differentialFeedEntities.pipe(toFull)
setInterval(() => {
	console.log(toFull.asFeedMessage())
}, 5000)

toFull will be a writable stream in object mode that expects JS objects in the FeedEntity structure/format.

toFull.asFeedMessage() returns a protocol-buffer-encoded FeedMessage with all relevant FeedEntitys that have been written into toFull so far.

toFull.nrOfEntities() returns the number of FeedEntitys that are currently part of the FeedMessage.

Contributing

If you have a question or have difficulties using gtfs-rt-differential-to-full-dataset, please double-check your code and setup first. If you think you have found a bug or want to propose a feature, refer to the issues page.

About

Transform a stream of DIFFERENTIAL-mode GTFS Realtime (GTFS-RT) FeedEntities into a FULL_DATASET-mode feed.

Topics

Resources

License

Stars

Watchers

Forks