{"_id":"hafas-monitor-trips","_rev":"34-d7b560a467be5599e5f48a5b10af8525","name":"hafas-monitor-trips","dist-tags":{"latest":"6.3.0","next":"4.0.0-alpha.8"},"versions":{"1.0.0":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"1.0.0","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=8"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","live-moving-average":"^0.1.1","lodash.throttle":"^4.1.1","p-queue":"^5.0.0"},"peerDependencies":{"hafas-client":"^4"},"devDependencies":{"vbb-hafas":"^6.0.0"},"scripts":{"test":"env NODE_ENV=dev node test.js","prepublishOnly":"npm test"},"gitHead":"c9017640308e21fe886fcdd46f9c5072cd8e4710","_id":"hafas-monitor-trips@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.2","_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"dist":{"integrity":"sha512-ykwp7kbAWoBmdu2gFvbgoEEdt/iex9zI9GG4uk1scnxMFIDtb0RoVmj8lz+F4UpiGBIysESzuuNMUjqCNNIRig==","shasum":"4b66b5e086a122c365d007668d3fc9da3914a471","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-1.0.0.tgz","fileCount":5,"unpackedSize":9325,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcq8bFCRA9TVsSAnZWagAAnOoP+wSQ8fxNv2f2kw3FTo87\ntVstgWS4hEb6eYOxb3aOHiZfG1drVOL95SBXniCBWRSgvXnuebivVRCTyLyR\nCiavzkBMXBDd364BmZHSovTYGcA5o6ol+kbw/yu4V+y8Qv7Is0pAX1Ly1ypB\nOB02IjR2/7QKXBskzdMgUEGs+0MUzC2GfMAAry1ArYGO9hY7SQxP7OfgnhHr\nQ3xvzlUMFHAif+NSK1+aJz6pcDbJhRWeKywDm99JwNh0Ctnh4TdxZelL6YnQ\ngO/aRNdK0ZQ5IcFyEJchqX8z+5fBCCXxp9vHxUGdvRDvI/Gm0BAPt7tdMFYB\nMuBwe48oiUWq6d7Lg97GAVUWEcC23wLMMR5KR1ATrjR4rT8soD2LnmNIqqdy\nla6EwpJc6U6yvNsY3jfzBT5C+toa270GjrV1sAgyb0aHobXJM75UxiMRdjUa\ntW06HIJlT2X7ru1+ZVPicnqiBzfQEv162xpAGnK9ZHQCS/Z2SUxeXOKNO4vl\nqWRlJzXxj+YQuJ70SjQA9+id023lZ1rFF2eqY2LjkRCDEZ8OFkS7C+ywC9IV\nlFrkDkYC9xpasHmFI67sf08fwYWCKljDZeei2zTk8FLLN39WmYUEK9kd2+Rc\nlUkNNzB1ECkiDKSEnjaTIWLJctasIXOjC7Oo630XCr/rgoyQChDAUMt4s+XC\necuK\r\n=mObZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlhx9+YbmpJa4EogRa/rm2sYRCYOPyi/s119M5LLWfOgIhAKhZXV+e2qrGDiEnILWjoZOhEAxjKlZCN2KCpk6+Zzmq"}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_1.0.0_1554761412209_0.05561703626740244"},"_hasShrinkwrap":false},"1.0.1":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"1.0.1","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=8"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","live-moving-average":"^0.1.1","lodash.throttle":"^4.1.1","p-queue":"^5.0.0"},"peerDependencies":{"hafas-client":"^4"},"devDependencies":{"vbb-hafas":"^6.0.0"},"scripts":{"test":"env NODE_ENV=dev node test.js","prepublishOnly":"npm test"},"gitHead":"4b87e4debcba2bcd6afb81bf49fe37d83933a6a2","_id":"hafas-monitor-trips@1.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"dist":{"integrity":"sha512-sU8TLHXGfEc2mqGdj7hxLFzRSpiuEhv1vHNd7YyXigJONBsYVAFzFbl4gxFG0rp/NO1+ZFyHzlkVbppn+Ymsiw==","shasum":"41663d5191ca2ac8485587300df85f65f126a119","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-1.0.1.tgz","fileCount":5,"unpackedSize":9604,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc9AH3CRA9TVsSAnZWagAAFEcP/i9LH3dmLTwil2N4IVBP\nd2fq5ys7Ud4Aj4SMPftl95uKyVIGSLnVHbTVlR0LbjBc/8KIYTmmVdG4O34i\nKzCnlpCw2TzUElpzNewys4iJSQUSYaZt9EslmNIfvvr4jcsgV+44k+k0TLcZ\nwshsBBj35wIuqVB7Ymzj4bA8ZUmkiOA8LCk8MLzbeoy+e8auNN/GRjTeCPX9\no/mMbdIzC6QVpClZiIY2Vcn0yfVPV264ochsuWImCrt2gx7A6cOCsH/25wyN\n3AcLlyJl02mQcuIYyqkRYuaLxwVOU2lEW7CWWKvfPOTaSz9gGLnozUzo0SEI\nX+t/erCnmupp684xL9THv+/vXWa4bhPCe1GdiKy7BGzTKqDYcrLNKrWP3tzz\npr1lOHvuHfvVmXzQ6OyhqbqWfo0jfQkxakGMjqD1cWfzCESgW7dKucRhUUpW\nzkowrdJNPbLfi3+yd2LdfwJvHnOXtqtvx/jYHawSjFkgZpxF9iyIYDRaB4KI\nq923LyIRN1+s1Xfutbozj/TnxgZlNc4SNlPUMhq59t+vLy23B7L+THF1PMio\nN8a7cijjUiK03Q1FJtyxcAc2O7Bagd9sVF/n22m+YFYXhRVu7hqp2jdNGz4Y\nzGbsD0HBrS6XXO05OL5UlT0hfCnVIRtldU5TLJWkd71PeplDUSHQEQLbZARD\nKaZW\r\n=u+jX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCiPTqi/fKGlhmzdh5uiDSD9F6zTBQsy5W3dJ5S0YCPkwIhAMI3XTSEsKcD7R65QuC0htzxDfdsCtddiwS+7jQihC9L"}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_1.0.1_1559495158350_0.6394845616074925"},"_hasShrinkwrap":false},"1.0.2":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"1.0.2","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=8"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","live-moving-average":"^0.1.1","lodash.throttle":"^4.1.1","p-queue":"^5.0.0"},"peerDependencies":{"hafas-client":"^4"},"devDependencies":{"vbb-hafas":"^6.0.0"},"scripts":{"test":"env NODE_ENV=dev node test.js","prepublishOnly":"npm test"},"gitHead":"73ac92e207a771f8c9b42094e1465091fb7a4bcf","_id":"hafas-monitor-trips@1.0.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"dist":{"integrity":"sha512-LKaENL6QJ8EbEmf9rUP2iLxNaDjSppuYz6ssZqLcTZbC0eDBvU1nhQwmbbWJy3VJOUcYify5Bj8B48kb7HKq0w==","shasum":"ed7607028e1f2f3746e7193d5e5d6bdd42f377d8","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-1.0.2.tgz","fileCount":5,"unpackedSize":9602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc9B7yCRA9TVsSAnZWagAAjJMP/jBd3EtNhkP3UG82HFVp\nJrxx935zFSG9W0R4y8WyHRRTQZheN51Ey5kEPZo7Z3D34vzXm+O067qM12UU\nv7+o519I/KAcmBcBuYPGuLE0WjO7zAjqYriJNcgjQ4Gnqz/aaeWMVjx8lSaI\nRmgyfmtAlPIeeJcTxssIJsR82jdzfwUSp7dbiHFuqU28sDQANtQt+CtPZXjp\nhhe+qZR2bhZF/bOJAv8z1p/+XuldPV7POfb4s3Uet1Jj3cCVRABKe/Fv+MVP\nuw8m9zDttQX9kSD4kgwukz9PXpaumTQCriWPruX8zU7nGLr5HECq0WpcjF65\nflv/0LzNk0PCGP/5J/WeG2G7KAzdtceFlyKErQ9jzq0wijn3jbuDs3xn3jOB\nU8c3VuWsF05ZTw04r0V5VOwjriIzwY2cnw6W1pPpA6RU2nmo9pfVWZrFOj5p\nS5VvXpyU0EuYkcIWVie1p08LEUWQflf6IPVqYPj/++7oUW1etHvS9J2MyhHv\nhWl9/nL2efoSfed4eaxJCuW/CnFiysGCWGlqfGhIfUOkxcVV9DNlspU1DJ2f\ndx/cxmNisF7u+IipXt+hTwV1WdjQDSA5wcNek27M8MEuwWLJimSvyQAvNTaX\nuWGCkNjgQ5TNLIddFUJb/FffrGVv3iLq5Nk6tPXw82pvaJl4e1I+Y4859lB1\njaUT\r\n=SGXL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVDtkaOExY2d7279vvbk52ZGPTI1i8Ogn2SHN/C+5wsAIhAIHVEmSsxVLfzNjA1U1mkoEfhmtNhqutPJV9XLYPmsNV"}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_1.0.2_1559502575893_0.22437829082489635"},"_hasShrinkwrap":false},"2.0.0":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"2.0.0","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=8"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","live-moving-average":"^0.1.1","lodash.throttle":"^4.1.1","p-queue":"^5.0.0"},"peerDependencies":{"hafas-client":"^4"},"devDependencies":{"vbb-hafas":"^6.0.0"},"scripts":{"test":"env NODE_ENV=dev node test.js","prepublishOnly":"npm test"},"gitHead":"e3a83626f1f123dbce6fa188ce0f2dd7610c980d","_id":"hafas-monitor-trips@2.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"dist":{"integrity":"sha512-Nr8sfLTEJenib1ThpopmDeGQTU0ioQGPV6Bhst+yZJtVUUDj5C++I1gOiyvORxen+RfHSrNQbkN8jjJ6k22j4Q==","shasum":"c8298267392d3ed5af37d1e4df6bb5452a38884d","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-2.0.0.tgz","fileCount":5,"unpackedSize":10191,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc9CAlCRA9TVsSAnZWagAAF7MP/jxH3jsadLdqO7KvcPV8\nSVrIKrag4LsiqNLoJ00CwgaOXAnJViUqL3y8QtKNf+lSmbh3gwQGXNINgBIQ\nhryohQ+xLQVa9wmVP0fwyx8Oc/5iIWi7ykK7ZGr1/Pw6CFFEDhcbhBaNPevs\nmSGyovG6/AVduDGHBJBxD9LUXN3jtxeHSeAR7AVORkqjgOFg32W9WeDQCtUz\nzPhZ5BBCU/ZinVW6vecmEqcgOFf9QJ0N0RHKd4imv7Es8ziQ0G4wvAmyMOG3\n/w4I6EfQsQi3IrYpuG2AP2f+WmLVj9FBVLfPABlrRBKNxHuGGHT2U1X+UtFg\nLIv++P8hKo6CoS4QuzHttoE6Ftn3sgGY6K0z6b22JZLgFLzy7333aRsE1qCa\nCeENuc64eucqwRJ5wbwezXSuRqfPOIqOENSb96DE+YxkqtBLOZcUO0WX5mWK\nqwPpUtohj2oPt8HWDIQRH4atSNMK02POTfE1OMX5ObKP+N5JvKLTP0XnjIan\nTcVQ79tiK14rZiy+lH0ICf+AvOHAbf7ge8SDz+wlJOFURNaqwWM9INGl23Hu\nQKI2TBIBrDCYp/dZZxBL/07Yg52XESeM1Xd858fS8uizmpl8D8A66IBzTU4S\nZZdJKtTHDavoUOOkbai2WqFxbbeWIMhZ0MA6XacpKCzkwswrM4LZ42RDcnbP\ndTZE\r\n=jzXC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCfzs6Nk607NLj1oZAMuiyGDiM3d9hKeHI+14TEVNHHAIgdu4lce8kTcD4Q9up1qDRVFGAoJbf8ScxRpmJQbeyED4="}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_2.0.0_1559502882339_0.16201414944513992"},"_hasShrinkwrap":false},"2.0.1":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"2.0.1","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=8"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","live-moving-average":"^0.1.1","lodash.throttle":"^4.1.1","p-queue":"^5.0.0"},"peerDependencies":{"hafas-client":"^4"},"devDependencies":{"vbb-hafas":"^6.0.0"},"scripts":{"test":"env NODE_ENV=dev node test.js","prepublishOnly":"npm test"},"gitHead":"b8d348424b9d6108fb93f87dee1fa576925cd95e","_id":"hafas-monitor-trips@2.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"dist":{"integrity":"sha512-SWMdnl04EIYgDciEFVEZYNSoTkzQnshk/pxCYnxIfK6ls9wTGa7cfI1safuBNWHO2vETwOTGJ9EwGTW2U5rZag==","shasum":"a006a074d3ae4c1d33c5cce05ecfe37071c85e6e","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-2.0.1.tgz","fileCount":5,"unpackedSize":10219,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc9QQxCRA9TVsSAnZWagAARbUP/jX8ECGjSC59X70P3MMo\n81hCK1BRORt4j2dDeF8dVCtXHpPtwCFzSiLo29SAmXWqeYa7I+nPnuYR+ziC\nYvaeis5dEbAfFwh8VXtYBcD6ZsQWz5bJhSgY8hS3oacDySFtWQ9WJ/2al6Np\nGL1DEfwAPdGa0XN+6j44zJLusPsdFA/c+eH9TYhs5rWGdjOo0WwJx6S6EdNG\nARmhyUOF9SkpQyUA7aQ1fN+ZsrkBlHk3lgtiSlNR6u8ObxRuxnvaJcIWxro/\n9E9XFHO6BJ447AfJPdfEVfAvFbbJgmoX2BVgUHgzw3Ro8wYZYBIjGo3PlQ0n\nNiZBR8mIZFm1yRmFNV3PnQWBOiNlKBboklL3ZgoNjApxfHjDC54eWAVLzk9I\nML+Vx81WUK3E1LleIamUUn3zg+a6C0uiOPu/dyEYBTS8N+SR4rFDRkdKBHqs\n4/rDEAJ6pb7kXwYVc1fQ5wcSYYwt0cDN2QjWFqPFepcSoyoHoKru8qMxFWSZ\nl8DxwYaLqS2sT591S6TbGtqbsr/oIiyHsXGF+q7cmGOTfZZEIuAGlQhLss+c\njSStLL/Sy9uP9j4BS/30ea21Up636I7Fc/S1/+ea0d6Rw63z2sz7uF+6dUk2\nfBeYLZXn0P5O514ZIXV94QYvZEEWq0u4pektahXzhSbFTlrVA0XzHeZlG/Kr\nZk/1\r\n=YAb+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID6+cIg/BE3oiTkE6x6tyQqYtLRpGf8iFb7T96iIW7aFAiEAmmlwBZjppG4WVe090zpnyFx3if2Dby3OKO47W7bFvNg="}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_2.0.1_1559561264653_0.8677331522607177"},"_hasShrinkwrap":false},"2.0.2":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"2.0.2","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=8"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","live-moving-average":"^0.1.1","lodash.throttle":"^4.1.1","p-queue":"^6.0.1"},"peerDependencies":{"hafas-client":"^4"},"devDependencies":{"vbb-hafas":"^6.0.0"},"scripts":{"test":"env NODE_ENV=dev node test.js","prepublishOnly":"npm test"},"gitHead":"2ea6413598d86858fc643ea3c489ac746ef7b6d4","_id":"hafas-monitor-trips@2.0.2","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"dist":{"integrity":"sha512-t60UKUtQgpebWGU49tx4aCc6L10avuDeZMSUQ6XlyOYGHEKbwoWP2MthG7J8AKrIYaBN9L67nN3w34EqLcLHng==","shasum":"ff6f556c106be78b753ce910e867ef3823bc225b","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-2.0.2.tgz","fileCount":7,"unpackedSize":10816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc+nxzCRA9TVsSAnZWagAAPLoP/i4RKC42FwE1w5WAYRgK\nWBKs70Z7HugG/knAwgJmhBy1gl9cKJfoSVXTyY2abgmaVryhUl4INTqqNB2P\nM1GYgEvUN9gaVZjeMwnEIpBrA2CfTBM2HHFSzH6BOFtYB3nd+QlJdClJdkYl\nmybIy11jEUhsKsOcTJyuGGdCRxIrOp/y3nruPKNc1K+BDUfg0ACCgzogs7yG\nQ7qyGq6NL1qq/fSx8rppu7A+LGNzfSrYZ2Ele2QHSshUSATdqDQc6eYjpDyz\nmrvDoOsdAqVYQZfWqMGMFBcRwgMu/xAJQHZB/OTsNE+fNGpIp3S21dy+I/rv\nenZODr4GGbB0Z4/jg1ticuupqvc+657G8oNzyXHyNp+C/gc+JArc/xALMgRy\naZaDUG6ymiuk/KyC8mk0WJcC0sm4N2iTb5A5iIuD3/KUdJ4U6uMNJTqTmAFm\n8tfjhzHRXKUGah7xYw26MTnOJA8iPOWhGuZAJd6LJbtcuLDjW79grVv7IBhU\nN3LWqbpootR3h/1qzndEiqZgrzFKig6XQz19vRVHgvvjXWKoL3FumNdq+aqg\nlmd0nHsvBOYnQgZ3K7wMfp3ZgtRAh4I1+G6vI8p74DL40o1xn8IPygAHr0Cj\n5boQG11v+6029dHoBEdjoVn37WzMFlzrwZgU2XpYyi9klxteFDFYHdGXFjyY\nBwTl\r\n=YChM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQL/8io/l/Cgx2Jtzphd6AMqJBk4kmPX4qSLVVPaFUQwIgG5/Ho2HBYfHRnmck/jwFrHFz/ymv4dWzR22bf2OjuZ0="}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_2.0.2_1559919730909_0.07220216390264134"},"_hasShrinkwrap":false},"2.1.0":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"2.1.0","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=8"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","live-moving-average":"^0.1.1","lodash.throttle":"^4.1.1","p-queue":"^6.0.1"},"peerDependencies":{"hafas-client":"^4"},"devDependencies":{"vbb-hafas":"^6.0.0"},"scripts":{"test":"env NODE_ENV=dev node test.js","prepublishOnly":"npm test"},"gitHead":"8a29c00dc77c7cfd5f31425d3be0b5d4291eed5d","_id":"hafas-monitor-trips@2.1.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-R/eKGelg7fgCYHnNYsygic62RaTBKccXjXXnn8qhmStk8YrS48Tqp7ZS2XlgEFxQkcmSL/41Ovc2HN0242+KYw==","shasum":"fe376dc801b90544d2cd37848c5fb1b76a5ee295","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-2.1.0.tgz","fileCount":7,"unpackedSize":10835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAVQoCRA9TVsSAnZWagAAH3EP/1UhI1mn/fzZ8VBYGNH7\nqP45Ukf6/Vx51fP5p3w8/QyfNPNEBdaqIeuIR/tOe7DuAxhOHesPLT8n5XFt\npRqxZi/iC5rQIW2OQHmt8pXyoDDAVwFc+wt8ifdmEAtrdW/np337M0eEVKTD\n6V/SDv8truh7MHBN6ts0DGFNeNgBvGZIxWAW9v1BlMyQFvkRl3Tx/3X03Dsc\nfYNq2HsD1tv+aZI5U7j98w2UhXzOvFuzsdnHtaCp22zKzbbs2JDoqSBFUMG7\nVl0SIfG+TjoujZxjB28FaKyTHW+vt1InrSSl62S5Yls29DySHLU6jayKGrCu\n2tAC8ol7nz5DXZQT8XGma7JFf2dpS/fye1g1CUqwUI2/bD0i/Q9i3TZGH6n3\nJIHFMpkgN284DuYtooDgPOxL6hMWPCjATGIWy6Py+/k1CGV8+eDACEGXWFGd\nzkXI66wRtDYAUmW1wWYASSYbv7PjLPnuEtHl1900x899xP+AibhU9sG4mDTv\n5A1ihLc8MLo9bDahqFXj3PLQAJHZN1rcT5dFt7QRQvZAk9F95WwBrXF1wlOW\n6m4AUizoOWxu90pDDmyu4nj/rZbzI3kwTRvxYsrXRaonhllGPEF2/0UwXsyV\nu7Bn+Pdpa/Erf6vxr4HNKGxKCV23Xd43ST1gSUHqmpWwUXqxqlZ88quzG7zr\nWRc6\r\n=Dz1V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHjE0TIAw6E2gQUc5TZFTR3V/Smnmr4qzH4sUWSokODHAiEA+8P7xzCo7HYOddt7i/td17QiPJVBhR6MlpV1+n2PC4I="}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_2.1.0_1560368167443_0.02632120232748547"},"_hasShrinkwrap":false},"2.1.1":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"2.1.1","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=8"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","live-moving-average":"^0.1.1","lodash.throttle":"^4.1.1","p-queue":"^6.0.1"},"peerDependencies":{"hafas-client":"^4"},"devDependencies":{"vbb-hafas":"^6.0.0"},"scripts":{"test":"env NODE_ENV=dev node test.js","prepublishOnly":"npm test"},"gitHead":"6a0f14d78b272bed7d01cfaceaf9dd73939e0350","_id":"hafas-monitor-trips@2.1.1","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-tKPnN2fn6BhCGo2Dk8nU31Bu8E6tBj9tGoR8Il4fk7ZyGdOgapr+CmSvX+sXon1Ly8VMoNPpZmIEsxP5zHAl5Q==","shasum":"7399473d04de3bf93c574c1116a3452e5f93b892","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-2.1.1.tgz","fileCount":7,"unpackedSize":10828,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdM3a2CRA9TVsSAnZWagAA8cYP/2xm7SlYv6ajAJvkTSzK\nZaEaN0ulOSLMz1JiOdgmWhuMXk65/IzS0ib1uCc0+gmZ3B1/TqnmDnF6gHzD\nMrW4I3/zi3NXslnoRS1sniX2fZLPqivqA/S2jTrkYGbjsOTPs/AhJprARFDu\nKZWQaRX9pJ32YiiWl8Ovbdr0sc+JFhVXT7bWQnDrky1alvWkbxOceyFuP84+\njEWdnj/YwUnE8rz1BBOqG3pLhj1i8XaaY+g9hJk3xQApsdrC1eiJoc45R0PZ\nBKx2DvR/HpHnaDWTUNr/k/wc+gMjQP9ip4TaIJ1mY4sDV0nI9TTYFHcxZeIL\nX6YtmCytT7/FM0y8wt7qs9g2vGKn7nChjfqVgcftX7IuJu1wJXmPdvrRqPLG\nvcVE37x+nJ2OhleXfA4DAeU5GlNnYQtrND42O0DAQfndZt9g/zNITF3kuVEf\nFt2/X262nKIXvTaOwFDyHO8HG9wESQ4cTn/4haDRaCNTcSMXAKxyQXMRMNmG\nkM9o+tYHrZdIMs3Ld3XUH6pXX29CdijIPBO3EDNjlQ94XEkalShFZ6y2O36m\nbftIgOonMeyuL1U/fIVjwe7k+BwrpZVKJJNhZeJvP6jtzo/LQHTU9MRBvEZh\nUz0F+rBUczMZnKajlz9k8brjLAtst3Xryp8vCdpjgaOSV11aUCgFdx5PueyX\nI5OQ\r\n=N2+6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSkD48mbrByBHfv6VtzdPCMUAQ9y/daeiFrXXS5jiuvQIgaP2XWniBMzDg6J7twCJQ3Xj23bBAvpjOdsx7gsOb0TY="}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_2.1.1_1563653813190_0.6277997100121648"},"_hasShrinkwrap":false},"2.1.2":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"2.1.2","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=8"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","live-moving-average":"^0.1.1","lodash.throttle":"^4.1.1","p-queue":"^6.0.1"},"peerDependencies":{"hafas-client":"^4"},"devDependencies":{"vbb-hafas":"^6.0.0"},"scripts":{"test":"env NODE_ENV=dev node test.js","prepublishOnly":"npm test"},"gitHead":"6781933ddb8537ff126079697c9dadbb533f0fc8","_id":"hafas-monitor-trips@2.1.2","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-bbCYMOTQaxYrxLDCkKMSFdeMUJwwWLqksEdWgXKSTOjuxU/HcJBDPQNVrYu2FN5miqKT4FMsETgKr9QkVKqhyA==","shasum":"c6cd32b587c034862e6aedd5882a20695a67fbde","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-2.1.2.tgz","fileCount":7,"unpackedSize":11076,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOKpdCRA9TVsSAnZWagAAupwP/RGjvmlF7XonRUbdoykv\nJeVyxV5O9thiha8VniD248GlYRRFOa6MUzj/Ni7s91IEnnl3Zs5S6/rfkW50\nsmuAZ9mb7bjO+uzraFGYo+oCqxj+AtlXO6oR6ixHmAWuENpaVT6g9E1qc0lT\nlPxLc87JVSbZKrQIOdsDIO6uIA7sxQRhl+aI+LbHwATw5BSWFxI9LmTDbDL2\n4s4TA4wY28ZMfKnFftY6FpDDb0la0sOhfAnt0Go2qMBpn2ooKotXgCWqs1Dg\nKTe3wAIkC8hTbIeRcvvzjhvM8pZ70YjDDnWPvuH0TNtxowCH2LJpV6iB3su+\nY81hl8R36LRjEwP6Pej6KI8qmrORRPgt7hol3zO1RgGwPj88oF/okBqW7Zlv\nURj24FMGvD/abXA28Fcp0V+ESUgKvVUFS0GmqFiP7F95pRBWUX9WnZotww9X\nvMx6H4ViQvXx/ao78q8JvsBDgg8bi+eLVFUoNPncT2WSrUl8ay1CYxMI07As\nhYArFTOF9rQ1QZkaSoKy0wJMek/kP7Cyvj8mfZY3PQqCp/jkcgr4HwuAF6yt\nL9ZNpvrX+7b0W+uOhz0PG8J2e8FBZ1Pa/xM+KgObmCEqbz0CjUIheD6DCUrN\nJLH8vuI6KxWNrkPx8HkrrCPUpjtbk9+U85eBzj7HLDM1H4tQN2DMR2zXJMnY\n1Fam\r\n=hAds\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGiMrQ4zCC5I7C3FYt7JQ6ii9aK/Th++r/TE50jr3s3DAiEA3xVe1OQWZOOCsY8kNAyEWqOUvsYQIfDEp9KrQNyq7hk="}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_2.1.2_1563994716521_0.524065467594309"},"_hasShrinkwrap":false},"2.1.3":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"2.1.3","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=8"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","live-moving-average":"^0.1.1","lodash.throttle":"^4.1.1","p-queue":"^6.0.1"},"peerDependencies":{"hafas-client":"^4"},"devDependencies":{"vbb-hafas":"^6.0.0"},"scripts":{"test":"env NODE_ENV=dev node test.js","prepublishOnly":"npm test"},"gitHead":"6453e4aa2e25a4b7cb6fbe9d90a443673c08bed3","_id":"hafas-monitor-trips@2.1.3","_nodeVersion":"12.10.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-Lfz7LsSQs+p5alZc59pzgmgX+p7tpp8u5mznETF8gIdZ+W+XYsSBLL/KAk+6rqW4JvkpKp0kdDxkoE4Prliyxg==","shasum":"367cadc09cd19c766eb8157f8bd8b7a61781bc7b","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-2.1.3.tgz","fileCount":7,"unpackedSize":11204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdywVlCRA9TVsSAnZWagAAaNUP+wXOCZ+lvToV90k5W0NS\nFY9MmS/j954EVvhmrLvts7Cqna7KABuEl87NK6b+EvVXu020+lYnCyu2dru+\nd2RJR4jR/2INOsOD0I7pej9E2UWhvce3rwZgByGgXzzOeqI52h4dQuwvZ7nt\nJHxu6lO1+fZx+qlMb4OjZk1iCH2r01S0Vgl4wfH7dR3DtKaES725WNEcmYBa\nF/fiXkb89t3PMinNh7NQqXyDs7v6fW+mez50oUT9zgWZnUlqZymilrU0JBKH\nMF+5EoDAcEv7voxkufNe5D7fEm9VP2EGNwzLDMGVZSO52NGG2PJZRx1ty1C2\niPd/jj22Vz0kpmB0T/FAEuWgoUHaLu4RjvUwqoPzUyg62Wdld0+V0pSxl+Dq\nxlcmpNnzORGt4bpcobxeVSb6urlbY6EgHaQ05f8E0yo05IN47vncUSNqapkW\nAToRTRDcnX3D1TsuDi18e35br/asyyL3prERkEdLwfYWWTqARhwVGjQQUdCT\nllIRpJtTQrjh0lPzc26niM6Ntq1vzE0Vp/SUU8D17WrdHZypqPxs8fHcOX4w\nhZTVMnOB3bp9eEyNJHL7GTg4BgQxzPhBcAzOFHLMZSzhm12DNcjFrqSLZfxg\nSFoRld7YiIzpXKsDLwTzla60lMfEvraB5W7vcb+TiTEEiyTwlsBZwCrSIK8n\n9ard\r\n=7ZDu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBQkX2shp5/FBczXBVWOsnV2u4yZefYyORdN4z+Dv33KAiEAki7+xxBxjUVC3HNxXF5Path/eePocZu2Oqq6YHjStZE="}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_2.1.3_1573586277213_0.6145788109848236"},"_hasShrinkwrap":false},"2.2.0":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"2.2.0","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=8"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","live-moving-average":"^0.1.1","lodash.throttle":"^4.1.1","p-queue":"^6.0.1"},"peerDependencies":{"hafas-client":"^4"},"devDependencies":{"vbb-hafas":"^6.0.0"},"scripts":{"test":"env NODE_ENV=dev node test.js","prepublishOnly":"npm test"},"gitHead":"264b8f70d8d5798724f4501081b58a913d8ac147","_id":"hafas-monitor-trips@2.2.0","_nodeVersion":"12.10.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-Pd8aHun91NOu+FdZJVgONoUu6JjylUkwMB31LciGDchO32PfYPHutOTfbXa7cy+OQx2UYhK5+p+jNkSB6x4wAQ==","shasum":"cc09fe97aa76a60bd5e9eae785ebde890aa4e33f","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-2.2.0.tgz","fileCount":7,"unpackedSize":11308,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdywXrCRA9TVsSAnZWagAAGAMP/j9PXsd5O+4anXOIFvbU\nmUTiVCHHfLeKFggF80uHIGe1nFApxIGaa69cElzUgrwf341YfJVbYPZpyjei\nqOOd5194UM1RZQuJMCV9Vku3P2AqZDWXFrkihMHvCHBqKg4wdsngdN43A/SV\nl61pJcT6LubiIResi4sK52YNQesj0/7tAo/BTEyPcs8ujOVmlnApfaogCSky\nc8Ehir+9qyd22zkUkAnRMVvS6X5Q91fg7sDW8wm8LcJUVmk5rAw5cOybfdgc\najNP5XQfPIOYimmmJxQbMdO/+9p5E5DNXLLJc6HTwY4LFM0tcN5FYCrRXlhH\nWyp9PbsENt3eLERG2HQIb06qOk4yHrcUaV77hKarpgqRxWaa0YltJuUz1I/h\nMVpCZT1LRfY7yx3FeYkSpnQk0nVNX5JlODkbmJKrYxwrr9zVj2GRlIFmessv\nfgAukqhx0oR43XlKgTU/er5xqwdtV6GOzrDSxdNa92lemK0Jd5zpXcc3nYGt\naf9V1yWRAcx2d6bTXh8Nwn1hzHDL1Pv5m00PyYC5wMzNFWgC8jr1cAGHQSym\nG8bu/ChkCivaocSaQ5x0DjKghEce+jnREzRuB3UXhK/pfGDZXBy+boYFEAhk\nktjuPQLh2b/f41RnqnOJKRMi+z7X1f9yLaAYhUQ+EjvX387GV+JOPawW8+Mz\nLOcq\r\n=y3NC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIANxsmyWOPN7Mf0JFzvNs5hSDqfQjJiZze81MkWbqxDyAiEA5Ctwn6eiasNpkXLSHhyVRhECdE67Z5aSTpujsPZiUoo="}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_2.2.0_1573586410707_0.21745001410092013"},"_hasShrinkwrap":false},"3.0.0":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"3.0.0","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=10"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","live-moving-average":"^0.1.1","lodash.throttle":"^4.1.1","p-queue":"^6.0.1"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"vbb-hafas":"^7.0.1"},"scripts":{"test":"env NODE_ENV=dev node test.js","prepublishOnly":"npm test"},"gitHead":"d35b3d0edfedad3f13f14c20832d3a1cc3cb4a93","_id":"hafas-monitor-trips@3.0.0","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-eDD1xfatLopy/4EhHMoJ7zS6YBYz0ABtZdGxR2/q0UWYIyzpHjNJ06pLEvF2+x2t71K/Ux0kYKVkEfmw+E32xg==","shasum":"11349a1b8871939d6ec74db9b7f58af841d4c105","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-3.0.0.tgz","fileCount":7,"unpackedSize":11553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWpAZCRA9TVsSAnZWagAA0T0P/RH1kW2S6fJoAcnGEacx\n4NvuO7mEFQ8o0IK3vk440NJaneYkfBj8SvEzq4tLgj2nuCJN4XMgG/Jgbwdu\nyUPyUME2G6JabkMm7S0gTRBeUJCa+fC8j7jeXXZth2zERQEftgn2Zq0pT9fF\nJVs3xB0HYbRXDucKPxLsm9U1EBeBjMV/tBfurBkR7nTpuINP06UyHzQHpXWU\nXxr+nLol42TPPGiews0vYb5PHbrulVEm6JmMXMKeFnJ1YFH2h7uyVwZLQ2p5\nO3dP+E4SIOQifbJ5uJchX3MlSfJwioRJTTjDubL+8rAy/58xoYN5UohIjXD4\nBEqXfprztpJAMYs6/9iwEneGnjbhvC9qmlfm9rBBxOlJ9h+kTnvScptamQ/d\nw6YULAlm/FW6UI/c6AxvTMKcN+AqK4C2lbg1IWSC9fU6w8+8ZIUiK0dQiNeb\ntpneNLSTkw+lFTPxx+xTUM51UBchvIm0AxlUTmKuaDGFQq5i8Wa7DpEQohwG\n7YmpqaYrGIT4LDLHrkJqnGWbdyl+RSAWQFZDfngzM+crOl3iKtfZ0m/HHNHT\nbVbaCSfVakwvyMA1WNcBlVpPq5ONvKlUECi45Yj53da/GtHNrFVn+kxEvAGV\nCV9E3d7O6kDLdM7x4b2XeZr70ZG8u3OnPm/3mYJR7iFBH8B07ZKVVSgbEPQl\nrQOo\r\n=bgF6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCT4e+6t7Fa6YL/2R+3t5k5ItaygvDwUcspOKZmocAxEAIhAMoVZmSKe5UV3X+iencBYz0hCFssBdCZDcYFRe3Im5sA"}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_3.0.0_1582993432690_0.704793331877301"},"_hasShrinkwrap":false},"4.0.0-alpha.1":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"4.0.0-alpha.1","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=10"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","bullmq":"^1.5.0","debug":"^4.1.1","live-moving-average":"^0.1.1","lodash.throttle":"^4.1.1","tslib":"^1.10.0"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"vbb-hafas":"^7.0.1"},"scripts":{"redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","test":"env NODE_ENV=dev node test.js","prepublishOnly":"npm test"},"readme":"# hafas-monitor-trips\n\n**Using a HAFAS endpoint, watch all trips in a bounding box.**\n\n[![npm version](https://img.shields.io/npm/v/hafas-monitor-trips.svg)](https://www.npmjs.com/package/hafas-monitor-trips)\n[![build status](https://api.travis-ci.org/derhuerst/hafas-monitor-trips.svg?branch=master)](https://travis-ci.org/derhuerst/hafas-monitor-trips)\n![ISC-licensed](https://img.shields.io/github/license/derhuerst/hafas-monitor-trips.svg)\n[![chat with me on Gitter](https://img.shields.io/badge/chat%20with%20me-on%20gitter-512e92.svg)](https://gitter.im/derhuerst)\n[![support me on Patreon](https://img.shields.io/badge/support%20me-on%20patreon-fa7664.svg)](https://patreon.com/derhuerst)\n\n\n## Installation\n\n```shell\nnpm install hafas-monitor-trips\n```\n\n\n## Usage\n\n*Note:* `hafas-monitor-trips` only works with [`hafas-client@5`](https://github.com/public-transport/hafas-client/tree/5)-compatible API clients, and requires a running [Redis](https://redis.io/) instance to queue its work.\n\n```js\n// worker.js\nconst createHafas = require('vbb-hafas')\nconst createMonitorWorker = require('hafas-monitor-trips/worker')\n\nconst onData = (type, data) => {\n\tif (type === 'stopover') {\n\t\tprocess.stdout.write(JSON.stringify(data) + '\\n')\n\t}\n}\n\nconst hafas = createHafas('hafas-monitor-trips example')\nconst monitor = createMonitorWorker(hafas, {\n\tnorth: 52.52,\n\twest: 13.36,\n\tsouth: 52.5,\n\teast: 13.39\n}, onData)\n\nmonitor.on('error', console.error)\n```\n\n```js\n// orchestrator.js\nconst createMonitor = require('hafas-monitor-trips/orchestrator')\n\nconst monitor = createMonitor()\nmonitor.on('error', console.error)\nmonitor.start()\n```\n\n\n## Contributing\n\nIf you have a question or need support using `hafas-monitor-trips`, 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](https://github.com/derhuerst/hafas-monitor-trips/issues).\n","readmeFilename":"readme.md","gitHead":"44a37fb3063e24bcd648de5cce0e7ab27d57c414","_id":"hafas-monitor-trips@4.0.0-alpha.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-WhPkFdgTuZjGsDB0TDKTfeSGRYqCChbZN59fpV5WYkvSVu2qXeDf74fkhhpiO3KK9es0yQbdqm/NuffOlfh8rg==","shasum":"4f32ff5d08960112a5776b4ca45d393a20842a9a","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-4.0.0-alpha.1.tgz","fileCount":14,"unpackedSize":15993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetrrKCRA9TVsSAnZWagAA8j8P/0fjZji+Ipc7t2OHkTbN\nPur3NXcaWI/OjAinDyVsBXH4dSSNEuX2iBZOG074+Kr6IR3w7VrfPOSLPTHi\nGpfag4IJocH8hGxUQKhTTq++roiqWKx+ypaL7jvTUehE22dH0bbZp1QY2M0D\nMUXr4wTS1G7ywzMDdrUllOEevJDjsqdSWu7SrTSWt0Ocz4jjwoBRGufKrAr7\n4/tgHJ5kc++JcuMJ67lJm1plFTK+kNxpHzyFS+/YOlLln5WgzSW7WBEZnbah\nTEdHV8eOGzkvR3s9xXTY8ZsJWXhA9CJww3X5Q3tOo/nsZ4BwbauEcWtfr1FC\njMA+cZILM1qvC/9XBQY74ipIxvCbtHRJP6w8CUKiVZ+eBlOgVajJh/utv2VV\npt5eMr2HIGp3bkTkGHU52KUiqM+AAkh3wNf8y0o5JyVTL9voUB8HTZbkU74q\ngCdYXtI5QhUG1stgCECRVgH4XC6Xa1eabh3m9Z8eFJem1dcKkBxmNgAt/QH1\n+gWfgRu50I8R2TAz90JFC8w+WK6ymfrvCIQKv2yGVQlXZ/NsRg0TTiUF2/xx\nixyF4wFMfEj74eN9yS61rhQ0rnR8t8yeRV/LWkUVp0mI86yDWbXTVJLP0fn8\n7qS5E3lDJ6yyKSDCxslrE8M+XwopRiCYLQlvrJkbnBnTl1T9nmuZyf+R2HGn\nlDMl\r\n=zJgc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBjvff/uyZaivyuh2wuZgiAKfht5yqOp+5c6LnB/0pxjAiEAzD8JiEaNECBTM0b0Mp1DcMiYLu3pkbOVkqG7XfKrrSg="}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_4.0.0-alpha.1_1589033673357_0.394285409317493"},"_hasShrinkwrap":false},"4.0.0-alpha.2":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"4.0.0-alpha.2","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=10"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","bullmq":"^1.5.0","debug":"^4.1.1","live-moving-average":"^1.0.0","lodash.throttle":"^4.1.1","tslib":"^1.10.0"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"vbb-hafas":"^7.0.1"},"scripts":{"test":"env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm test"},"readme":"# hafas-monitor-trips\n\n**Using a HAFAS endpoint, watch all trips in a bounding box.**\n\n[![npm version](https://img.shields.io/npm/v/hafas-monitor-trips.svg)](https://www.npmjs.com/package/hafas-monitor-trips)\n[![build status](https://api.travis-ci.org/derhuerst/hafas-monitor-trips.svg?branch=master)](https://travis-ci.org/derhuerst/hafas-monitor-trips)\n![ISC-licensed](https://img.shields.io/github/license/derhuerst/hafas-monitor-trips.svg)\n[![chat with me on Gitter](https://img.shields.io/badge/chat%20with%20me-on%20gitter-512e92.svg)](https://gitter.im/derhuerst)\n[![support me on Patreon](https://img.shields.io/badge/support%20me-on%20patreon-fa7664.svg)](https://patreon.com/derhuerst)\n\nA `hafas-monitor-trips` setup needs 1 orchestrator and `n` workers. The orchestrator keeps track of all monitored trips, and tells (via a Redis message queue) workers to fetch data from HAFAS.\n\nIn order to be flexible and efficient, this library only implements the core logic. You need to\n\n- spawn an appropriate number of workers (e.g. via [worker threads](https://nodejs.org/api/worker_threads.html), separate processes, or on another machine) and keep them running\n- collect the data fetched by each individual worker (e.g. using a [message queue](https://en.wikipedia.org/wiki/Message_queue), [log collection tool](https://en.wikipedia.org/wiki/Log_file#Event_logs), [named pipe](https://en.wikipedia.org/wiki/Named_pipe)/[IPC](https://en.wikipedia.org/wiki/Unix_domain_socket) or 1 log file each)\n\n*Note:* You can theoretically run the orchestrator and the worker(s) in the same process, but it will be more work to separate the worker(s) later in order to scale up.\n\n\n## Installation\n\n*Note:* `hafas-monitor-trips` needs access to a [Redis](https://redis.io/) instance with [Pub/Sub](https://redis.io/topics/pubsub) support.\n\n```shell\nnpm install hafas-monitor-trips\n```\n\n\n## Usage\n\nIn the following example, we'll keep things simple:\n\n- We let the orchestrator [spawn](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options) 1 worker as a child process.\n- The worker will send its fetched data to the `stdout` of the orchestrator process.\n\n### basic worker\n\n*Note:* `hafas-monitor-trips` only works with [`hafas-client@5`](https://github.com/public-transport/hafas-client/tree/5)-compatible API clients.\n\n```js\nconst createHafas = require('vbb-hafas')\nconst createMonitorWorker = require('hafas-monitor-trips/worker')\n\nconst bbox = JSON.parse(process.argv[2])\n\nconst onData = (type, data) => {\n\tif (type === 'stopover') {\n\t\tprocess.stdout.write(JSON.stringify(data) + '\\n')\n\t}\n}\n\nconst hafas = createHafas('hafas-monitor-trips example')\nconst monitor = createMonitorWorker(hafas, bbox, onData)\nmonitor.on('error', console.error)\n```\n\n### basic orchestrator\n\n```js\nconst createMonitor = require('hafas-monitor-trips/orchestrator')\nconst {spawn} = require('child_process')\n\nconst bbox = {\n\tnorth: 52.52,\n\twest: 13.36,\n\tsouth: 52.5,\n\teast: 13.39\n}\n\nconst workerProcess = spawn('node', ['worker.js', JSON.stringify(bbox)], {\n\tstdio: ['ignore', 'inherit', 'inherit'], // stdin, stdout, stderr\n})\nworkerProcess.on('close', (exitCode) => {\n\tconsole.error('worker exited with', exitCode)\n\tprocess.exit(exitCode)\n})\n\nconst monitor = createMonitor()\nmonitor.on('error', console.error)\nmonitor.start()\n```\n\n### picking the right number of workers\n\nThe above example uses 1 worker to fetch data from HAFAS. You might want to have more than 1 worker, because\n\n- … most HAFAS endpoints have an IP-based [rate limiting](https://en.wikipedia.org/wiki/Rate_limiting) set up, and you want to query from several machines to avoid it. The specific rate limiting scheme depends on the endpoint however, so you need to experiment.\n- … you want to be able to take a single worker down for maintenance.\n- … you want to monitor a large area and might hit CPU/memory limits of a single machine (this seems unlikely).\n\n\n## Contributing\n\nIf you have a question or need support using `hafas-monitor-trips`, 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](https://github.com/derhuerst/hafas-monitor-trips/issues).\n","readmeFilename":"readme.md","gitHead":"b17e56950feb4b9506d297b14b24417dec8d3ae8","_id":"hafas-monitor-trips@4.0.0-alpha.2","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Upd410yn7IsmMopkXdgL1rvrK3g6Al5YFNr8YYDxz3C+lydZEIajdo1k6vg5iO0wSAErrDqQRQAj80V+7aAiiA==","shasum":"f31867f7df281b1baf33baeb30d9cb5cf6d52300","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-4.0.0-alpha.2.tgz","fileCount":15,"unpackedSize":19270,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5AZUCRA9TVsSAnZWagAAF3cP/3ZWkBpv16g5DHnF7eaL\ncG2MIyYxR2juffP332lctIYBqPNz51Chi7Po5T8J8bW0tCxDtwBKtymdBmYx\nzhFC2agG0WmVRdfh1fw3m0l4ndOjzvKpxtFs4dWSMtVsR+YAOZg1dsr2+TlC\no2GigvvYHQ85ewY9UOihJgs5lnTEGNFEde/Bu9OEo5tgfSxU1OIEXAY2wh0B\ngtL3qxrkCOwSt+Z0FTCFR5Q5o0kPoBY/bweYBpCCl6nVZ8jSW50d39xBg7uU\nix78kaRrmjRVTMuCG8tvRu/7ksL0fP94qFhwDDexN+cVTsCXWEcbR/sQ9KUy\nmCcN4fhLM4r8D665ocd5ojToSckQIqPY7IUIViqPzPDMiVhHAJWinh+F2lOE\n3gOCZa3LFloCiNjEQVSABILbjejEQH9voCGUTWn+XjhHOxSwZ4DNkJy1Jni0\nGDdeTu1QZ7OF+DK2WqCQTEREE63HsXK50q7c48WaWipM6gsgKq3NSkSYhXzQ\nO1IuulcnWXVS7jdYbooYS7OQRjOf2BRKZ8K6ckYZfQ+vAW63FfrFGJpaCSUE\n8RUJZH8K16B8YtDUDvT6fM8jn/htbenfB/+g9Ix54bAb5S+rEp8AzVQzlQc+\n6WXmejaW4nBkxf7/RXVN1T/ExHG88NWcN2RvdvAozf7+auk3SOwaxeFx0qUg\ncaS7\r\n=WwYa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUrTlD303mVSqBNY2I9N7SkxWu+PEnb00GyrBBdse1YAIhAI91huizDrt9CbL5q27tr8gVDTHoHDsNYxMh1vJ0zjva"}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_4.0.0-alpha.2_1592002132265_0.9281263734267693"},"_hasShrinkwrap":false},"4.0.0-alpha.4":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"4.0.0-alpha.4","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=10"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","bullmq":"^1.5.0","debug":"^4.1.1","live-moving-average":"^1.0.0","lodash.throttle":"^4.1.1","tslib":"^1.10.0"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"redis-cli flushdb && env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint && npm test"},"readme":"# hafas-monitor-trips\n\n**Using a HAFAS endpoint, watch all trips in a bounding box.**\n\n[![npm version](https://img.shields.io/npm/v/hafas-monitor-trips.svg)](https://www.npmjs.com/package/hafas-monitor-trips)\n[![build status](https://api.travis-ci.org/derhuerst/hafas-monitor-trips.svg?branch=master)](https://travis-ci.org/derhuerst/hafas-monitor-trips)\n![ISC-licensed](https://img.shields.io/github/license/derhuerst/hafas-monitor-trips.svg)\n[![chat with me on Gitter](https://img.shields.io/badge/chat%20with%20me-on%20gitter-512e92.svg)](https://gitter.im/derhuerst)\n[![support me on Patreon](https://img.shields.io/badge/support%20me-on%20patreon-fa7664.svg)](https://patreon.com/derhuerst)\n\nA `hafas-monitor-trips` setup needs 1 orchestrator and `n` workers. The orchestrator keeps track of all monitored trips, and tells (via a Redis message queue) workers to fetch data from HAFAS.\n\nIn order to be flexible and efficient, this library only implements the core logic. You need to\n\n- spawn an appropriate number of workers (e.g. via [worker threads](https://nodejs.org/api/worker_threads.html), separate processes, or on another machine) and keep them running\n- collect the data fetched by each individual worker (e.g. using a [message queue](https://en.wikipedia.org/wiki/Message_queue), [log collection tool](https://en.wikipedia.org/wiki/Log_file#Event_logs), [named pipe](https://en.wikipedia.org/wiki/Named_pipe)/[IPC](https://en.wikipedia.org/wiki/Unix_domain_socket) or 1 log file each)\n\n*Note:* You can theoretically run the orchestrator and the worker(s) in the same process, but it will be more work to separate the worker(s) later in order to scale up.\n\n\n## Installation\n\n*Note:* `hafas-monitor-trips` needs access to a [Redis](https://redis.io/) instance with [Pub/Sub](https://redis.io/topics/pubsub) support. Set the `REDIS_URL` environment variable to configure access to it.\n\n```shell\nnpm install hafas-monitor-trips\n```\n\n\n## Usage\n\nIn the following example, we'll keep things simple:\n\n- We let the orchestrator [spawn](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options) 1 worker as a child process.\n- The worker will send its fetched data to the `stdout` of the orchestrator process.\n\n### basic worker\n\n*Note:* `hafas-monitor-trips` only works with [`hafas-client@5`](https://github.com/public-transport/hafas-client/tree/5)-compatible API clients.\n\n```js\nconst createHafas = require('vbb-hafas')\nconst createMonitorWorker = require('hafas-monitor-trips/worker')\n\nconst bbox = JSON.parse(process.argv[2])\n\nconst onData = (type, data) => {\n\tif (type === 'stopover') {\n\t\tprocess.stdout.write(JSON.stringify(data) + '\\n')\n\t}\n}\n\nconst hafas = createHafas('hafas-monitor-trips example')\nconst monitor = createMonitorWorker(hafas, bbox, onData)\nmonitor.on('error', console.error)\n```\n\n### basic orchestrator\n\n```js\nconst createMonitor = require('hafas-monitor-trips/orchestrator')\nconst {spawn} = require('child_process')\n\nconst bbox = {\n\tnorth: 52.52,\n\twest: 13.36,\n\tsouth: 52.5,\n\teast: 13.39\n}\n\nconst workerProcess = spawn('node', ['worker.js', JSON.stringify(bbox)], {\n\tstdio: ['ignore', 'inherit', 'inherit'], // stdin, stdout, stderr\n})\nworkerProcess.on('close', (exitCode) => {\n\tconsole.error('worker exited with', exitCode)\n\tprocess.exit(exitCode)\n})\n\nconst monitor = createMonitor()\nmonitor.on('error', console.error)\nmonitor.start()\n```\n\n### picking the right number of workers\n\nThe above example uses 1 worker to fetch data from HAFAS. You might want to have more than 1 worker, because\n\n- … most HAFAS endpoints have an IP-based [rate limiting](https://en.wikipedia.org/wiki/Rate_limiting) set up, and you want to query from several machines to avoid it. The specific rate limiting scheme depends on the endpoint however, so you need to experiment.\n- … you want to be able to take a single worker down for maintenance.\n- … you want to monitor a large area and might hit CPU/memory limits of a single machine (this seems unlikely).\n\n\n## Contributing\n\nIf you have a question or need support using `hafas-monitor-trips`, 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](https://github.com/derhuerst/hafas-monitor-trips/issues).\n","readmeFilename":"readme.md","gitHead":"656d14669b4334aad272e100a4e967507166f6c1","_id":"hafas-monitor-trips@4.0.0-alpha.4","_nodeVersion":"14.9.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-q36gMLbMUGJFwM59QxLKcxXwIOk8F/zAZcVPnIlsHvSYDijcu3vZOsw4/axLbWhp3QfzCgln31qGOB8jqEmAsg==","shasum":"ead35b533024ccd37ddaf11db9a35bd544b8cd29","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-4.0.0-alpha.4.tgz","fileCount":17,"unpackedSize":21339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXTIwCRA9TVsSAnZWagAAuXsQAImB0Db2P6h2s/CeOTsO\ntDIEsXF2gwWSJDw5yQ5/PwvvFfgYiz4juSFzx4coXQVsuga783rR8rDTSSw8\nVXI2sWyToHbJwm4XzAUTXVKGLO4QQXW1s1y/ayU8v4rUhbO3u69HT5VwS5yk\nJ/8Ukk7E0U3fmwdMq5KQ+j12FPpt2t/T0Goh6r6tFYMnELSuLEyEt6IArdvp\nOuh2362I0KMIgM69XKL0QfTOLtCzhfyg2dYYlzF09st8AdG/ppilS2l8mXpb\nynTW28D/ZglBO7tWHRAAZ9SIIeu8QTIjxpakb17Baz3FNbuNl8zX6upi2PqM\nqkhwqTXghNCk7qhG4H5pUQpD0r3F77GqF1rU15ZBC6mvnDNcUjekjqjzljtu\nRvuWMY3eXF06k+hsdUJQ+4LTWPh7ed5VwBIYgFr5mCtd/Vv2f0NE4Hu5pybh\n7CaeRoE4S9qWPDaft/Arg23Fn2qYAgSXJt3wIk/0JLIimOSbG8GhEyJ5GsYp\n+RbdbTqxU3yna3G/DNH/u6tku9gwCj2ITCs8KeKUBlsqc+m5tsSFLoMpy4Mr\nNfbkGu1RkObhsYuNM1n8aWlE6cmp0QyDFe66qp1H923J2n1goRxt8S81HFiQ\n95QDiQK+qouRqPAm3s/ighgwGEb2VLImqbxsDNUnLsnn9A0vbBZqKzlsaCcq\nDGIS\r\n=qYLK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCeEaxeTD++RMS/H7xh2HDtPpkxKXxKz7iaclCcFHPzagIgdZL3caXIOL7VKm6M1neGw/b5dPRGKIyPmGzcLuAIvW4="}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_4.0.0-alpha.4_1599943216379_0.14134678722818195"},"_hasShrinkwrap":false},"4.0.0-alpha.5":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"4.0.0-alpha.5","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=10"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","bullmq":"^1.5.0","debug":"^4.1.1","live-moving-average":"^1.0.0","lodash.throttle":"^4.1.1","tslib":"^1.10.0"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"redis-cli flushdb && env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null"},"readme":"# hafas-monitor-trips\n\n**Using a HAFAS endpoint, watch all trips in a bounding box.**\n\n[![npm version](https://img.shields.io/npm/v/hafas-monitor-trips.svg)](https://www.npmjs.com/package/hafas-monitor-trips)\n[![build status](https://api.travis-ci.org/derhuerst/hafas-monitor-trips.svg?branch=master)](https://travis-ci.org/derhuerst/hafas-monitor-trips)\n![ISC-licensed](https://img.shields.io/github/license/derhuerst/hafas-monitor-trips.svg)\n[![chat with me on Gitter](https://img.shields.io/badge/chat%20with%20me-on%20gitter-512e92.svg)](https://gitter.im/derhuerst)\n[![support me on Patreon](https://img.shields.io/badge/support%20me-on%20patreon-fa7664.svg)](https://patreon.com/derhuerst)\n\nA `hafas-monitor-trips` setup needs 1 orchestrator and `n` workers. The orchestrator keeps track of all monitored trips, and tells (via a Redis message queue) workers to fetch data from HAFAS.\n\nIn order to be flexible and efficient, this library only implements the core logic. You need to\n\n- spawn an appropriate number of workers (e.g. via [worker threads](https://nodejs.org/api/worker_threads.html), separate processes, or on another machine) and keep them running\n- collect the data fetched by each individual worker (e.g. using a [message queue](https://en.wikipedia.org/wiki/Message_queue), [log collection tool](https://en.wikipedia.org/wiki/Log_file#Event_logs), [named pipe](https://en.wikipedia.org/wiki/Named_pipe)/[IPC](https://en.wikipedia.org/wiki/Unix_domain_socket) or 1 log file each)\n\n*Note:* You can theoretically run the orchestrator and the worker(s) in the same process, but it will be more work to separate the worker(s) later in order to scale up.\n\n\n## Installation\n\n*Note:* `hafas-monitor-trips` needs access to a [Redis](https://redis.io/) instance with [Pub/Sub](https://redis.io/topics/pubsub) support. Set the `REDIS_URL` environment variable to configure access to it.\n\n```shell\nnpm install hafas-monitor-trips\n```\n\n\n## Usage\n\nIn the following example, we'll keep things simple:\n\n- We let the orchestrator [spawn](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options) 1 worker as a child process.\n- The worker will send its fetched data to the `stdout` of the orchestrator process.\n\n### basic worker\n\n*Note:* `hafas-monitor-trips` only works with [`hafas-client@5`](https://github.com/public-transport/hafas-client/tree/5)-compatible API clients.\n\n```js\nconst createHafas = require('vbb-hafas')\nconst createMonitorWorker = require('hafas-monitor-trips/worker')\n\nconst bbox = JSON.parse(process.argv[2])\n\nconst onData = (type, data) => {\n\tif (type === 'stopover') {\n\t\tprocess.stdout.write(JSON.stringify(data) + '\\n')\n\t}\n}\n\nconst hafas = createHafas('hafas-monitor-trips example')\nconst monitor = createMonitorWorker(hafas, bbox, onData)\nmonitor.on('error', console.error)\n```\n\n### basic orchestrator\n\n```js\nconst createMonitor = require('hafas-monitor-trips/orchestrator')\nconst {spawn} = require('child_process')\n\nconst bbox = {\n\tnorth: 52.52,\n\twest: 13.36,\n\tsouth: 52.5,\n\teast: 13.39\n}\n\nconst workerProcess = spawn('node', ['worker.js', JSON.stringify(bbox)], {\n\tstdio: ['ignore', 'inherit', 'inherit'], // stdin, stdout, stderr\n})\nworkerProcess.on('close', (exitCode) => {\n\tconsole.error('worker exited with', exitCode)\n\tprocess.exit(exitCode)\n})\n\nconst monitor = createMonitor()\nmonitor.on('error', console.error)\nmonitor.start()\n```\n\n### picking the right number of workers\n\nThe above example uses 1 worker to fetch data from HAFAS. You might want to have more than 1 worker, because\n\n- … most HAFAS endpoints have an IP-based [rate limiting](https://en.wikipedia.org/wiki/Rate_limiting) set up, and you want to query from several machines to avoid it. The specific rate limiting scheme depends on the endpoint however, so you need to experiment.\n- … you want to be able to take a single worker down for maintenance.\n- … you want to monitor a large area and might hit CPU/memory limits of a single machine (this seems unlikely).\n\n\n## Contributing\n\nIf you have a question or need support using `hafas-monitor-trips`, 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](https://github.com/derhuerst/hafas-monitor-trips/issues).\n","readmeFilename":"readme.md","gitHead":"3482908b95e96f67be62a2d7753114afcde6c192","_id":"hafas-monitor-trips@4.0.0-alpha.5","_nodeVersion":"14.9.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-oFC6ruILoQxp4pWMlL3kZmw6QjjYUsU3AqX0bdxdblRfct75veHVeKj8dSfechuRVqKuiP6io5qhBhi5NDRdSQ==","shasum":"73386593015c482aeb9ab4cb71a2ae2e140d09b6","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-4.0.0-alpha.5.tgz","fileCount":17,"unpackedSize":21294,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXkDxCRA9TVsSAnZWagAAgAMQAJrnmL5V14YCHkiI5Vil\n3A+8bTZSZE81+WZHWE3cF+zJPRCaDWlVhFVFQ0x1uD/onV7X7Rs8lfr9N/gg\nvUuf+uazpglgRDObRqgRKXQG3aM1HTpzO3AnKjc2eEEC5UJqJFfEYKNjp/0C\n5iXBncjMJeinUtrq2M9Os/VFxR4i10YwFP/EuGnlcsooumxTEnAwRZqYOFEV\n3ZeuVlpyqSD2zedcKQ9aDLG+hMchhItwZEMO9vAds15f9WpqV7Zk+J0Np0Ch\n3xCPoaiNCiBO8MVPK1QvEaE6e6jbppGCV2n6jD3MKTyKr96ZugSh9Vgwktjt\nrElSqhG2EbRD31yMakEvF0VA4nwoZ/xgc4TcxADxQJtPmRoJv62Y5+vYeHxG\na6yOt2MLRwhCXi1xR/AAK4784SWRRzqmfh+TWAIW6JpKxIz/8zh++6JbNzWN\nStMgn2cWOGVJ2kc38l7ZJzIWSj9bFp2zbsjtliyk1rJorcbHIVpF2hOGoDlq\nMy4BgmYQc+C9TB8zhViKZDH2XtN4vcCiJCMxOlRtxPeZhQJVCIMhoKz1A7sT\nbo8F4e0D/nW0jzJZG7hXAUyAl0/2Pac+GHqoBQNMcFU1Y+1z8r5wawzi9Zqm\n1iWzEQ93FED92VFvqHxKD2fYoCOOWR0+URE3EGE4TGJnobTUsQY+TrkdQXfT\nM+b0\r\n=K4ci\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHuEgE+xjEO6tBtS8TechEDXW+JGoE15jvBkLfgQNFrwAiEAm967H5Fouiz10lEMOyJeqNW67P97ZY8xXhLKoxuAwGU="}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_4.0.0-alpha.5_1600012528854_0.713852749932917"},"_hasShrinkwrap":false},"4.0.0-alpha.6":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"4.0.0-alpha.6","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=10"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","ioredis":"^4.17.3","live-moving-average":"^1.0.0","lodash.throttle":"^4.1.1"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"redis-cli flushdb && env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint && npm test"},"readme":"# hafas-monitor-trips\n\n**Using a HAFAS endpoint, watch all trips in a bounding box.**\n\n[![npm version](https://img.shields.io/npm/v/hafas-monitor-trips.svg)](https://www.npmjs.com/package/hafas-monitor-trips)\n[![build status](https://api.travis-ci.org/derhuerst/hafas-monitor-trips.svg?branch=master)](https://travis-ci.org/derhuerst/hafas-monitor-trips)\n![ISC-licensed](https://img.shields.io/github/license/derhuerst/hafas-monitor-trips.svg)\n[![chat with me on Gitter](https://img.shields.io/badge/chat%20with%20me-on%20gitter-512e92.svg)](https://gitter.im/derhuerst)\n[![support me on Patreon](https://img.shields.io/badge/support%20me-on%20patreon-fa7664.svg)](https://patreon.com/derhuerst)\n\n`hafas-monitor-trips` will periodically refresh the list of watched trips by querying the whole bounding box. It will then refresh each watched trip individually to get up-to-date data about its stopovers.\n\n\n## Installation\n\n*Note:* `hafas-monitor-trips` needs access to [Redis](https://redis.io/). Set the `REDIS_URL` environment variable to configure access to it.\n\n```shell\nnpm install hafas-monitor-trips\n```\n\n\n## Usage\n\nIn the following example, we'll keep things simple:\n\n- We use [`vbb-hafas`](https://github.com/public-transport/vbb-hafas), a HAFAS client querying endpoint of the Berlin & Brandenburg public transport service (VBB).\n- We monitor a small bounding box in the center of Berlin.\n- We `console.log` all `stopover`s (a stopover is a vehicle stopping at a stop/station at a specific point in time) monitored.\n\n*Note:* `hafas-monitor-trips` only works with [`hafas-client@5`](https://github.com/public-transport/hafas-client/tree/5)-compatible API clients.\n\n```js\nconst createHafas = require('vbb-hafas')\nconst createMonitor = require('hafas-monitor-trips')\n\nconst bbox = { // Potsdamer Platz in Berlin\n\tnorth: 52.52,\n\twest: 13.36,\n\tsouth: 52.5,\n\teast: 13.39,\n}\n\nconst hafas = createHafas('hafas-monitor-trips example')\nconst monitor = createMonitor(hafas, bbox)\n\nmonitor.on('error', err => console.error(err))\nmonitor.on('stats', stats => console.error(stats))\nmonitor.on('stopover', stopover => console.log(stopover))\n```\n\n*Note:* With a bounding larger than a few km², there will be so many HAFAS calls made that you will likely get **rate-limited by the endpoint**. One way to handle this, instead of passing a `hafas-client` instance directly into `hafas-monitor-trips`, is to **use e.g. [`hafas-client-rpc`](https://github.com/derhuerst/hafas-client-rpc) to distribute the requests** to a pool of worker machines.\n\nYou can listen for these events:\n\n- `error` – An error occured, e.g. a network error.\n- `stats` – Stats about the monitoring process, e.g. nr of requests sent.\n- `too-many-queued` – There seem to bw too many requests queued. Pick a smaller bounding box, or increase the request speed (e.g. by using more workers as explained above).\n- `trip` – Every trip that has been fetched.\n- `stopover` – Each stopover of every trip that has been fetched.\n- `position` – The current (estimated) position of a vehicle.\n\n\n## Contributing\n\nIf you have a question or need support using `hafas-monitor-trips`, 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](https://github.com/derhuerst/hafas-monitor-trips/issues).\n","readmeFilename":"readme.md","gitHead":"b0e7bd4808d193a824f979b19e08b3b46701ab19","_id":"hafas-monitor-trips@4.0.0-alpha.6","_nodeVersion":"14.9.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-2c3XAHj52f3kP5jqZ55tUIDo6UXBRAptR7VnqMXkq5x+pGuoGC4tkxY+/NcPxJSA4J7tsYPu7TeHNVkssaopBQ==","shasum":"74bbc634fd555012e046001eb2417eee657a587e","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-4.0.0-alpha.6.tgz","fileCount":11,"unpackedSize":16491,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZOQeCRA9TVsSAnZWagAAKAIQAKC//dJUfZOdyuoCjfZB\n8vArVns+4qcULlDYSstG8yZC1EsMI1g1E36h+5JnC7y/f4lTwtoX9RoYE6tF\nONhDJZy8ponP5uKpgQTq4dos0t4zkowFikJz1Ydglk8Xpj2Kn2anGFl+UnFd\nAPUiWPD96b6qv7ufwuP7R0+qb1SeH25m4Rb3+Kc4jHrYH5XxAE0aFaoN7dex\nmhLu9hf/o+Uw2ydyj5sj90dagTnShn4Iz8Jxrbwr49LcJdDvP2vEuYChOXDV\nerPiZE6JJxnju4APtLs4z3IOD8MV256gMD20ga10jmW8gtgzqfkpyn4nBf62\nJ+xlmMkzeKSa8Kfw/TcHN1Gf7IFDlIrrIsT3sJhh7G/Bn5+LEOtajRCt3mbv\nr3zuGrXDp0T/DzVPsT4QQWKJVukhh7oUMOW0DSvUQvGVqqnHObc8/avyFXqf\n7Lmy4e8My1quaSOP68moi96yONl6PJQfSFB07vrMUWJ1Pm4UT10aV9uTEHin\nV7e+rDKaiU8XwDr5KYi1gkQwdLKJt0lMk8JcH69jBCJ2yrynfwI+VvZlatVy\nDkD6phnon5aHUTP6Ja0w+AyJWD6TqlBLD2Wtu/cNcAieeEDI2Crl3gjifm1t\ntHPMC810807oYmIwfldKBzql51ei+PBnMqnyGMjSFLhu5D8umgNkXATymod2\nkyn1\r\n=vWcI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmBvMhdw/zI3nIQ+fJ4rwixPqC9o3x77F0Vddg2IQNcAIhAJk8JIXW8RsY6Qir/IhyAzjStfRaO+52Hlpc7ijIi3mb"}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_4.0.0-alpha.6_1600447517900_0.31744975131918873"},"_hasShrinkwrap":false},"4.0.0-alpha.7":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"4.0.0-alpha.7","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=10"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","ioredis":"^4.17.3","live-moving-average":"^1.0.0","lodash.throttle":"^4.1.1"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"redis-cli flushdb && env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint && npm test"},"gitHead":"bdff8abb1a9fe457216fc4ff430c36309a0b5876","_id":"hafas-monitor-trips@4.0.0-alpha.7","_nodeVersion":"14.9.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-0bZurmDGyNTyKcpjKfSYbLULKw4YA91AONr64RFANG9fLSQt+CgO1PMLHIN7Na3beIVNu2l5zcOzq0VLz6iegw==","shasum":"4d866c5c2a0f30081d1c433a7657c5255dd63191","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-4.0.0-alpha.7.tgz","fileCount":11,"unpackedSize":16831,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZck8CRA9TVsSAnZWagAAyOAP/RrHIttpNRYfnIHgOvjv\njgllSBDpMkjjQDYSwp3Ni61Rgo963dVD8Px7q/DYAtPI+DAPHn5tPlJtDK2Z\nrmUV07EBR67yjsZjiiTitX2W5K8PJvDSDUXT1XMTS8FoXqDDoPUdqRcRC2i6\n1NBSDi3cCD1ZJ8NrXJ0qvLRST1bLgzseKrXAvyaEiwvsaprDn0MaDEt1icbx\nuTrD7ji9JDgSda5DYNUaI9ZJbtQpJa2E6Srrbk12DzIdFha0xPETuGf9sBWs\nndUMan1NXtKirwSEAR0DacSPvCHTD+NVqnxAwJPza0U+1srhjYChpie6QtLe\ns8Nv+7pko6QP+6Slk9znHKQF3+EDiKuGFGCRnAvoFtmXxoZKoyFJZ/GtLlEH\nc+IS9LmyNfBCo4caVdrKEITsL2KbZXRWMnY0/3AZWPL+/elkf6Bt50o2NGth\nVGNSZYnyRr+6YQlNwCxBpe8ULaOqv7pbhz7G7SOy3XOzx/3+1jNCKLVsOxxQ\nT3b7R0isWyIcxKtIct2/yq6ksOlLkcJWByQd1oKB1AowzScARNdfAi+hH4O9\n2M9GPBBghwu1rnHGR87wkL8CRWeewzPiD35nu+HkEyMlCMz+8q8bY4jEy+d1\nOXdAkxohV1Y/XccRAe5t/ZEgnLB4mV/ePJvQBWi7RpiqFwGc/49G2PjBNsFV\nzU7v\r\n=lUIE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHHqMSSwphxLRNDymK+2qY6YKr66RHpvzOzy2u+W6qyLAiAPm8rBHhoc02QXgUtgQN998cGYR3yTyYfe9zunZH6XOw=="}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_4.0.0-alpha.7_1600506172096_0.02695334968988905"},"_hasShrinkwrap":false},"4.0.0-alpha.8":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"4.0.0-alpha.8","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=10"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","ioredis":"^4.17.3","live-moving-average":"^1.0.0","lodash.throttle":"^4.1.1"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"redis-cli flushdb && env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint && npm test"},"readme":"# hafas-monitor-trips\n\n**Using a HAFAS endpoint, watch all trips in a bounding box.**\n\n[![npm version](https://img.shields.io/npm/v/hafas-monitor-trips.svg)](https://www.npmjs.com/package/hafas-monitor-trips)\n[![build status](https://api.travis-ci.org/derhuerst/hafas-monitor-trips.svg?branch=master)](https://travis-ci.org/derhuerst/hafas-monitor-trips)\n![ISC-licensed](https://img.shields.io/github/license/derhuerst/hafas-monitor-trips.svg)\n[![chat with me on Gitter](https://img.shields.io/badge/chat%20with%20me-on%20gitter-512e92.svg)](https://gitter.im/derhuerst)\n[![support me on Patreon](https://img.shields.io/badge/support%20me-on%20patreon-fa7664.svg)](https://patreon.com/derhuerst)\n\n`hafas-monitor-trips` will periodically refresh the list of watched trips by querying the whole bounding box. It will then refresh each watched trip individually to get up-to-date data about its stopovers.\n\n\n## Installation\n\n*Note:* `hafas-monitor-trips` needs access to [Redis](https://redis.io/). Set the `REDIS_URL` environment variable to configure access to it.\n\n```shell\nnpm install hafas-monitor-trips\n```\n\n\n## Usage\n\nIn the following example, we'll keep things simple:\n\n- We use [`vbb-hafas`](https://github.com/public-transport/vbb-hafas), a HAFAS client querying endpoint of the Berlin & Brandenburg public transport service (VBB).\n- We monitor a small bounding box in the center of Berlin.\n- We `console.log` all `stopover`s (a stopover is a vehicle stopping at a stop/station at a specific point in time) monitored.\n\n*Note:* `hafas-monitor-trips` only works with [`hafas-client@5`](https://github.com/public-transport/hafas-client/tree/5)-compatible API clients.\n\n```js\nconst createHafas = require('vbb-hafas')\nconst createMonitor = require('hafas-monitor-trips')\n\nconst bbox = { // Potsdamer Platz in Berlin\n\tnorth: 52.52,\n\twest: 13.36,\n\tsouth: 52.5,\n\teast: 13.39,\n}\n\nconst hafas = createHafas('hafas-monitor-trips example')\nconst monitor = createMonitor(hafas, bbox)\n\nmonitor.on('error', err => console.error(err))\nmonitor.on('hafas-error', err => console.error(err))\nmonitor.on('stats', stats => console.error(stats))\nmonitor.on('stopover', stopover => console.log(stopover))\n```\n\n*Note:* With a bounding larger than a few km², there will be so many HAFAS calls made that you will likely get **rate-limited by the endpoint**. One way to handle this, instead of passing a `hafas-client` instance directly into `hafas-monitor-trips`, is to **use e.g. [`hafas-client-rpc`](https://github.com/derhuerst/hafas-client-rpc) to distribute the requests** to a pool of worker machines.\n\nYou can listen for these events:\n\n- `error` – An error occured, e.g. a network error.\n- `hafas-error` – The HAFAS endpoint rejected a request with an error.\n- `stats` – Stats about the monitoring process, e.g. nr of requests sent.\n- `too-many-queued` – There seem to bw too many requests queued. Pick a smaller bounding box, or increase the request speed (e.g. by using more workers as explained above).\n- `trip` – Every trip that has been fetched.\n- `stopover` – Each stopover of every trip that has been fetched.\n- `position` – The current (estimated) position of a vehicle.\n\n\n## Contributing\n\nIf you have a question or need support using `hafas-monitor-trips`, 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](https://github.com/derhuerst/hafas-monitor-trips/issues).\n","readmeFilename":"readme.md","gitHead":"92661cd583bc9bf207dc7b50066916d4542ee92d","_id":"hafas-monitor-trips@4.0.0-alpha.8","_nodeVersion":"14.9.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-EWCWHdDgjiOSAwtfC48S0picE3nLmpaUpFQSCIPjwuGRdmVdtLdHgn1YzepQpMYQBnfBDM6/M4E5QsZo+PM8ww==","shasum":"994d5e5e6525538754daa7060ec9f4d2cac883ab","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-4.0.0-alpha.8.tgz","fileCount":11,"unpackedSize":17020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZfJeCRA9TVsSAnZWagAAO0MP/jmp8jCVl2JrlN25Opp3\nJpRoUlStEGfjfhV00+cs2U0vP2ZjDT9IIsdWHYSM9NZog22zuG9uiqkxebk1\nb0a795CQVy0jr6qwZEMphrLNzr1nAnj1/xRHA7V+quYeLPFpN1YwoLfFX1/R\nFIywyqa/bc1TI1ktDqjUcYh50vIzh14ys49OsHR1R6OWd3OjP45hGA0iH0lz\nNwLkAqan6LQiveX2cGGUFt3dl8BrDbGufaPteQnwrxmY+SVIXuX1SJdkpT9z\nXK3ZzrkRvICqoLUvlv0vsu5OFaGKv0wNsudsP2fSLIDKwD3sOFIiW6dU7cRH\nDlOmOMvUwUxQlDq+29zm5UI6S6Dg0AXVUdStvaTQXqmLzSbUZvP4kXe93pVI\nYOVVj3LmZGn663elDDhfoEgyvncr/W5zGvtIBwouSbepYyCZ9riDIOA0R/6G\nr8x9CVY8+FIPxzVZmCtCNt3HlTxno3JyJTdz6TgoM9096Wu31CsJRGxSCetm\nuV6udORMYzQNuVRRohtdfjo5/d++vCbra/QQVU21Kw+W4b3oMgdhL68JYQEt\nTYdJ4ZsbMWwRk3kBzN3L+I3sh1vA70GKOFIwrn//83HzBOz/TbDGqX0gS8YE\nDex5ZyDhBT08Q66JnfBqdsMI+kJGfr0/XrkiIPwZzHySaTDkO8a8DJO4AjXE\ndVMQ\r\n=lYCI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDf0BukAvsqIbT0ABZTn/US9m3wBDQci061juEbYq7QQAIhAMWzGsW7olMRpVEmpVNh+cDt+Orw/R6K8b2pUU1DqRHY"}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_4.0.0-alpha.8_1600516701860_0.5789282162432408"},"_hasShrinkwrap":false},"4.0.0":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"4.0.0","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=10"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","ioredis":"^4.17.3","live-moving-average":"^1.0.0","lodash.throttle":"^4.1.1"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"redis-cli flushdb && env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint && npm test"},"gitHead":"ea36e67259ee6b91079ac4d7390a8b091684c8fd","_id":"hafas-monitor-trips@4.0.0","_nodeVersion":"14.9.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-TRme/FulcOeN+vfICBiUxvlQtyNHic5e2WyS95smMKUMMeyUWZ+9B1dU1SIWKqVwA0YLXFA3yvX/GMVFIBwCuQ==","shasum":"9a1fde30eef5e2da2ed670282db7c78b956630d1","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-4.0.0.tgz","fileCount":11,"unpackedSize":17012,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfacJPCRA9TVsSAnZWagAAhjMP/R10Hs6Fkn/217jQttCf\noyf/L/XgplSN4wfL/HglfdHQmTSJreXzsYQDbv7R7U9wwZfOLj57+3PlEPNW\nEk7bj4yJi4SCAAcYjYjm/gLCWNq5PhbGFeUtNAZ7XbsGYB+XO7XeKxm4r+k+\nQhdaMGtZbNzPO6DAl6ExHBSQjVhw2Qe80cPxiKEhp4AzLIQgqXSB0f6TnMZa\nYI/qoMTMJ7gqZPKAlqDNTl6XdZbHfdoU0favAmhhZIbR7ii05xoX/+zKGXP2\nLBvhj2f16HrOAIhdR8Rmy+4hvPZzTybOvFcqOG50zDNgE9pDAyo5e4p9u3Pm\nd0MZjWYSc0OOZZwrhY4g5foA37bMpY4W3OR33EbHH0BKeCilJXj+Y7LHGlH6\nLxk28RAK3qbH3zJ2C1pHM3tzC8ekT+AqDwUziS1Jy6FJMvGYOA1Utujwa9EC\nHgFfNT75jmeDEEEWmyz63cOt+5sGuqBqyoxxY70cKge/R3F3ovIBsjoDL4Pm\nUdCU3m1Pyu0IclCDrRLcnI9ZceNGiIuD5skN1PxnEVFKTS72KMgmvOHXTXIp\ns9ax2VYGlWZo06XPiA3cVbyS0b7jocc6l3K/ap5p7dcapkm+uQRaTd2hocj/\njUfIgk0xXYEwwb3Yx6Je7wat7YV6e2HkG/In9v3sAC4UBD4Ce0xAX1Vosj83\nqI46\r\n=L5xt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDYoVCla3vMq2a/Njj7AWEKLyQSK0OWkuC7o64uT70+uAiEAlHux2RxZuOl225lMk6+PjRxmFE35Jb9yZvvH0HhkjK4="}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_4.0.0_1600766542652_0.386058695113197"},"_hasShrinkwrap":false},"4.0.1":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"4.0.1","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=10"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","ioredis":"^4.17.3","live-moving-average":"^1.0.0","lodash.throttle":"^4.1.1"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"redis-cli flushdb && env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint && npm test"},"gitHead":"e5fadced7e6d413615eb7b65ccc0cbb0d5a07ceb","_id":"hafas-monitor-trips@4.0.1","_nodeVersion":"14.9.0","_npmVersion":"6.14.7","dist":{"integrity":"sha512-tC+D6mJ5tGXwtx8e1jTLPyCt9Xon65y5bQExIP28C/NG9pRrbCmkUtfQRKoLA57jeLsLZplXDO1iXCxsdcCEnQ==","shasum":"a7175f1d0500b6421bfadec86fad0514381a7e43","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-4.0.1.tgz","fileCount":11,"unpackedSize":16991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkW3cCRA9TVsSAnZWagAAQ8sP/1cCEhqKSvcV/DpPgbLt\nvCiuIFUO72BnY5Z/OaIlhsWELEXgz+9mValgfwCb+TFipqCu+Cwq3DsMQYKB\nx4vzvlSyaWyJUKkmv73TFDgibmKCFiH6RlVK5lZCJmZzpdnAWrDnP7tH8zur\nHKldf1NQSaKR4/ONxHSnL35B2uRkJV2RM9GGB0HMW6jAI+USs3lhmSpE+Ua7\nfQCIEZ7KuzqZKpqPoFugUjvZAKnbdOXonv38k016YchbgKvMloqiNqYzlLYs\nW3rbbGAGuafHX6X0qfD2B8KZIw2MFoNW6QUP0HcwfB+MpzOdLAqhNxfjU0ZN\nrWutTJhOKhJ+6CouuHgBSNu2ftkGvCT7TFUPASTR0nwIIqNHepnE35y93fxV\nz28Qh+Y8OxEJJkCHWfoiNz4lH+4H88yRcasFE7BU/X0yu5VZqpTMlIIsVV1X\nrPIgnu+gsMHk/wlFm6WrSDlFZj8pnHbs4vCumNQc2jQGWHL7GutNCSouEvGr\nkL7M5kmr/izfWsgaFyb1QLbB8z7Z6p866fLOeOJpP6fE3QJnC0c5JKIcsi1S\npdaIgpi92BLf2ofqeke4zz3Zi5zqh4beh18rNwCpMRSP/vHGrXQBybqRmGYB\nZLH8CTDelIlukJdLeXKT7FGEn/J3nSX7+Qn6xhI4C5KEnmsdCy0kGfuWYIMl\niX5J\r\n=rKTX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHh7OPut/I7YtzbCi4tkciOU+BurUXE889DC0tBij8FbAiEA3Ai4pj+pnpFGkKxL5bFaGAoWdASKTa6NT2dlU4lxrVw="}]},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_4.0.1_1603366363993_0.3109434884344413"},"_hasShrinkwrap":false},"4.1.0":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"4.1.0","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=10"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","ioredis":"^4.17.3","live-moving-average":"^1.0.0","lodash.throttle":"^4.1.1"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"redis-cli flushdb && env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint && npm test"},"gitHead":"dab60fa6795b49e88f6e1af2a869f9113ef5918b","_id":"hafas-monitor-trips@4.1.0","_nodeVersion":"15.9.0","_npmVersion":"7.5.3","dist":{"integrity":"sha512-VuxwHd7MMGWkXzCdZ540xWcFXqMjgvVP+tHDi44+/MdO38GHJ5BoAcqV8aVOCurReuIGqztLtmI5le6X4PVoxw==","shasum":"a7cde0b4b5b374abf3c06a283abd4a370d26fc83","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-4.1.0.tgz","fileCount":11,"unpackedSize":17477,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgN9gyCRA9TVsSAnZWagAAlgkP/0H11w0wziV+PWxMynlX\nf1xbkH6qwOkuFXc4H3UwD+P1sL9aJ+eEBY3oOW7R0DwiXOPUqMwCSalFTIed\nDUr7Q6CohsuryJ3M1qSSalzqqW7XbnI0HxWlL/WODuyGmN39flWtTafmIHFp\n0gN0kMl/RDsew4aWw7ATxEeC5LWWxgTP0ohdIKL78mVRnsnZM8SHoEZ5Cijx\n2EYyg42gK4PP8pwFVAQP1Mj3DNoJaXjX2DD5dQM12cgxJm+pcBoeg0QiyN0V\n9Lwz3dW8deHMRl63yutDA8yZaCZFmXh6ioKulnYj2UBaW+OQ0mkBsWFTQtT/\nyMcijyPK1f23hq9JzywAWkL1JTdWgEUZRw4xaObEBRW9eoXrHErN6kBmSoqr\nKGuSqVJiHSsfEFVlcot+8sPxAw49RF0RZM2mOrCZvaHdeQqU7SyI+DmtsN/4\nXZaICjx4JdrmJjAeOu/7d7LHWI3QE/Y9PxeAxliT6clDTssTR2RdIpSZnoGV\nnlwu61AwZizFF5UcA2VPJq1s5WzZulRRsi+SC1nsF9ALnTZzH1tWcEIxinj4\nGOY8Lge7L0sMuNv+QFQtXKnzCSWmCtasgTzHPsU49FH30tumDB5zOFz8ImCZ\nYGa2DoWJQpXG9OM1WLFcMZUuZStLVEboUbEW9/l52YHULELi9XbvcywdxLE/\n4TuP\r\n=3u18\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF3KVJR13RUncFPsxM5Q9AYoI7it9+StB8Xoy2s7rsNKAiEA06TmWYurtHgr2iRc+cXRVgWPHpn2XsiK/bv4JmOsba4="}]},"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_4.1.0_1614272561823_0.8740614101261643"},"_hasShrinkwrap":false},"4.1.1":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"4.1.1","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=10"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","ioredis":"^4.17.3","live-moving-average":"^1.0.0","lodash.throttle":"^4.1.1"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"redis-cli flushdb && env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint && npm test"},"gitHead":"f6db982c9f83111c97cea36ab1e8919a3e04c778","_id":"hafas-monitor-trips@4.1.1","_nodeVersion":"16.5.0","_npmVersion":"7.19.1","dist":{"integrity":"sha512-FfF2QKWs/LJEJb/3vJG5+4WFq56MosSwZskNVVpV3qTkbiAJ3XCLAagt50eajXO/j9PqvtItbLDwKy24Xi/srQ==","shasum":"4db70337001fb9eae688490d71d9394374cae32e","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-4.1.1.tgz","fileCount":11,"unpackedSize":17444,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA6EtH5iP+zO1YSsbmJS/APTIGfR+nlFdp5B3PUfkyKsAiBCvoNH5CjntDzg0AmJCt0DEIoIrYGsqa5HjdA8EMEHXA=="}]},"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_4.1.1_1632228885575_0.588097087473539"},"_hasShrinkwrap":false},"4.2.0":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"4.2.0","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=10"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","ioredis":"^4.17.3","live-moving-average":"^1.0.0","lodash.throttle":"^4.1.1","prom-client":"^14.0.0"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint && npm test"},"gitHead":"2e0bad7791213563791a2b4c45e48e9595656241","_id":"hafas-monitor-trips@4.2.0","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-KDOTrII9w61CJjtl3OKqn9OpVdvImsPcm/wLdaSQxXQLcz2hHVfkbJZ8w4wY6x680KJj7TONbI7S+iKALowfEQ==","shasum":"489d6ebe002a06a3cdc5e5b8d0bbdc9ceb98212b","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-4.2.0.tgz","fileCount":10,"unpackedSize":19521,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9IMgsXb4l7dIAYx+2DibGM3XnkLsCOTf6GqTamIRA9AIgFPSJ7/pvOW0wRzjLHAGQutlMNnhS83txRhxvGtOpq5U="}]},"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_4.2.0_1633882092978_0.14717147247548845"},"_hasShrinkwrap":false},"4.2.1":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"4.2.1","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=10"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","ioredis":"^4.17.3","live-moving-average":"^1.0.0","lodash.throttle":"^4.1.1","prom-client":"^14.0.0"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint && npm test"},"gitHead":"bb46ee062da3b77c994ac04c89c73eade8540cd8","_id":"hafas-monitor-trips@4.2.1","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-bqVf6cvidr4y7ybaZcHyvAIF1PKpjjW6KHO1aHIzzIIeU5N9wMjMZO0puWV9iBS5f4h2EK8egVjkqOIeY4/u8g==","shasum":"66433e3d10a5599bf64a4478c9acc0aafd9904a6","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-4.2.1.tgz","fileCount":10,"unpackedSize":19698,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICeGvNnmaslY8jLwBucavXsVzquBzGhC8+4B18NoJj7SAiAW8vNls6TdeyCZvdO63jjmAOK8MtQxdmtWJ+tiBiKUNA=="}]},"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_4.2.1_1633885537482_0.1293531929953533"},"_hasShrinkwrap":false},"5.0.0":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"5.0.0","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=14"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","ioredis":"^4.17.3","live-moving-average":"^1.0.0","lodash.throttle":"^4.1.1","prom-client":"^14.0.0"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint && npm test"},"gitHead":"8260a18ae96dd33eb195811bfe440e0533006754","_id":"hafas-monitor-trips@5.0.0","_nodeVersion":"16.11.1","_npmVersion":"8.0.0","dist":{"integrity":"sha512-U0LVI02rs2WJdhDcCdgfNLlt8CdZUEYK7xAtW7igtJjslge6V5ZOiLAINJKeRbTRxkSxTyOz1bbCRL8WyK/aag==","shasum":"479356f9722be5b626a1ea169d507b6d4d3e7977","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-5.0.0.tgz","fileCount":10,"unpackedSize":18186,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEs+9Rq+P71oo0I4K5Bo4b0JS6gYjMUa0SSr9w8w4xabAiBxhwXY0M03e0xLpQ1rUsSd099PrNXg9Q6k674MPTrK1A=="}]},"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_5.0.0_1635089223739_0.28954279371648406"},"_hasShrinkwrap":false},"5.1.0":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all trips in a bounding box.","version":"5.1.0","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=14"},"dependencies":{"@turf/boolean-within":"^6.0.1","@turf/distance":"^6.0.1","@turf/helpers":"^6.1.4","@turf/square-grid":"^6.0.2","debug":"^4.1.1","ioredis":"^4.17.3","live-moving-average":"^1.0.0","lodash.throttle":"^4.1.1","prom-client":"^14.0.0"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint"},"gitHead":"999d9f7e7ed7a5dde1ab0c35a68964364ae55e8a","_id":"hafas-monitor-trips@5.1.0","_nodeVersion":"17.2.0","_npmVersion":"8.3.0","dist":{"integrity":"sha512-HjP63F5ghOCC9yINxpgMzhcJQKREffphzJ7V7s42Z6gA8p9rI8VAv9Nhnv8wVtCtnJsUYGYjWVseaT9lHsq59w==","shasum":"d3e909c1f82f062f2adf0e719bbafdd0ac6e1525","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-5.1.0.tgz","fileCount":10,"unpackedSize":18407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzcyCCRA9TVsSAnZWagAAQD0P/jVmKqiv0Jo0+uJkKsIE\n3MbMGLEzX5dR+P6R16sfMRcBSR34LDIPEKwbAoKhdvYQUCmRKDLT0os+qouc\nZfRE9vnSy0eBuqm2Fce8Pzy7d+o24gTYaYN3Bt1W3Pi20AvBh9WbssTsQwT8\nifJBDYaLCEHi3bDAOKGOyVoEhWD0fKi4M2bMD49estN6LJSDlXl7KELi1HwI\nnuTQFebAL4DVXtS+z88F7O2dsXPHKqe85Uqr8F7+Z1GpVFVgA4KgNsNlpKsy\njSpYnsLqPNmyRTrvNW3gRQmQUze7B5yH7fyxxMqE3tuHvQXLxCYtiJk2XiqH\ndu0qMs/4ICjq6h/S7+SQ5nYXZp1UMt2EoCvfM5e9fV2dnUZ/OudUGLNutYTu\nE+uaSwHH7QnMvKOE4R3ZbkrPToqlJrtk4ukVpF8AmIDTAPRrgVcPGbLD6dGi\nhu8yTVSLVgvom1rv93K++MmI4qz2HFmNhKt4Blphpz3g+hj2qoiqiycXxHPM\nPk8ZfeScHUVHNDKT44sYi2gUsAN1dL1s75vUsVcRY5I1+FOMuKQa/JHCijB5\nqUdf1qpmiyXUGqB74jDRQIvXPum43E2eUR6goAujZ/5AM7Uwfhz8UNP1V7DL\nSyVJGK13XlERNRRUPz5hMZaur1cke4y7i0h458SAn/hLyIpp2tNsHOwekd6B\nGWLH\r\n=zjnf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0NOjDw1i6QoxxZiUq/4Q4f5M1ZEONeFvN6PI8tS86SAIhAI1EVPuJU6++H5vdFr3IGmy4J1CNjU8B5WrB4dBWYswC"}]},"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_5.1.0_1640877186702_0.13026675483575567"},"_hasShrinkwrap":false},"6.0.0":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all movements/vehicles in a bounding box, and optionally their trips.","version":"6.0.0","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=14"},"dependencies":{"@turf/destination":"^6.5.0","@turf/distance":"^6.0.1","debug":"^4.1.1","ioredis":"^4.17.3","live-moving-average":"^1.0.0","p-queue":"^6.6.2","prom-client":"^14.0.0","sorted-array-functions":"^1.3.0"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"redis-cli flushdb && env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint && npm test"},"gitHead":"6a3cd751f8afaa6c2aa4a62f82f6d79e8ddcfa28","_id":"hafas-monitor-trips@6.0.0","_nodeVersion":"17.2.0","_npmVersion":"8.3.0","dist":{"integrity":"sha512-Pbv11dM5fmJQHl0aW6d1NFavKg+ppmEedstVaXlGMRj0MKgFPC11hG009J+VaMDZ99i/O4Vp87mkarQ05AgaIA==","shasum":"4f055a618e3d256623e69b9b74fe16948d89d4db","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-6.0.0.tgz","fileCount":14,"unpackedSize":32205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2zdRCRA9TVsSAnZWagAAzMYQAJCUveeg63XZU33Kc2WX\ngzySvyLInE2JMpdY+tcTAgMMbrAuqRaUL8Ar/lBSaE8gi56m1wfP6kFPmWW/\nXXNKgzohiFz/V1xEEo9MsIASior2x16npe9P/N/ttIk98H2Dt/Oedzi0/NkZ\n1XUtt7itPDd3gWjB8BPmG660o7Mgp9lnOyZ48NbEYwaYMJhQaNmB5PxC8axy\nPTAogtg9hrapnGRK3zVvIuOIuVwOWD2V/jdPmfBnefpEY9f5xEkJjpe0goUK\n8g3v8GK/NPLHK7w/75S4IC89SSParka4Lh/+mPQA4LR1oltZZq7UiSi+J65L\nizX+ET2JBCkXbcGOxwEBI2cIel0IOslZNsImDcro8ojP5YneKQLH7RwSifKL\nxJct5NyljyZOFQ03/aJ3q9Uwiq1ASdIxmpA8H3Vn/TZZiSCKZrx65yHxCGC5\nGAALldT+czqtdRc3fSVhqdKRCRUkRlS2ijlPkkRoP924pea3v9Q/tgKOILbS\nC2L9WuqIVBncZ/LqIYO4t+yKu+2HBaG7kecZknz2QDFgwICHOAq3U0WGvdT7\nSz1fo3xZpxYHzTR2QLiOCoC3SNK9gSCUZVe77v0wt1avoong0mwW5dWGp7C/\ntiN+LBsSXcRXfMQ8sFPQeFA5tStXw+97cRJxhHp9W5Ep9xVQo28x8nNdiCuE\nDEkh\r\n=k7hT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDPPv4jGiDoqhbDhGsCmkXaOzr/YkL4WNRmIratihOfCAiA8GATPimupVO36rdpuIg+9LOHP5DuA1OXL/V67kKXjIg=="}]},"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_6.0.0_1641756496824_0.32191385526640404"},"_hasShrinkwrap":false},"6.0.1":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all movements/vehicles in a bounding box, and optionally their trips.","version":"6.0.1","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=14"},"dependencies":{"@turf/destination":"^6.5.0","@turf/distance":"^6.0.1","debug":"^4.1.1","ioredis":"^4.17.3","live-moving-average":"^1.0.0","p-queue":"^6.6.2","prom-client":"^14.0.0","sorted-array-functions":"^1.3.0"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"redis-cli flushdb && env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint && npm test"},"gitHead":"955517e3c50cfcdc85395132a639286c4bc2664b","_id":"hafas-monitor-trips@6.0.1","_nodeVersion":"17.2.0","_npmVersion":"8.3.0","dist":{"integrity":"sha512-iNfIlOI5AXfcxR8uN6e7gCW+PhYcKza4hEQ6HjidZJPLjrsLXYrtHBvcUugYeyv3QAvMiIInocW9BdQzfhHLRQ==","shasum":"348b1a0a1a6489bb093e39e972ea570c9ad7ee17","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-6.0.1.tgz","fileCount":14,"unpackedSize":32169,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5ugzCRA9TVsSAnZWagAAWkwP/jMmU1ADmVeCU5KELe2x\nc+/AqxKjRkV13gI7N7XACoL4LUxF0ccs4f6AmzrviMDrBrXCTb2kkOsB0Tkk\nqosOsPlwJ+MqxsuELpd/gB1x1T9uJP6ZxjAVoShjTcn2Q41qQrSN46QUx4ir\nj7HykuqeKNqfEn/l6+xgKtBOmms5LYULZ2vyvGwrk7nXYeLlOuLFYfLJ1I/c\nGxr7e9UEuGk1o4WCKiK7TrQvPMk7SPih/2wGW8em1ZPV3hXP4G2ypH/5iECD\n+efOlRH3irZdczY1GnbcBU4I+niCzP/NUUMpKVPEGLTCGPOS1/5n9A2AjnBH\nLoheT/M6KHoZsZKqxfuFK9rm+YeLQ067N8xxlMrVz0Gu7H6Rai2OFLe72OUU\nMAJgMqWtDmHvPaGwz+CRKKwPOtQondnpjemtBNf7XM5qPkCYyBCUuLvHODfo\n2pcKY3+6Zh50j5KfnY9Da1FmErXuhCO0VDz4yaVx8wgNvZTTx7mcCVXTj2xN\nD17SrXOZQUOIRwdCl+sybza76/KRh1nB9xyZhakLI3/ro5rvNOAvOtpXlC+p\ndz2QiCx0szmIGLtL2xSlSTwmFDopBbjOa9TQ3Bnqd3RNPRIhrQQtyWNOxG4H\n6LTrK4hMAKoAVDv+x+oIfszAC3xYQZOeRkZMvA8Q3I98mwph5LqQVAixImaf\nVyWE\r\n=LmDS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwCf1Yp4QnfOua4ZEDj3md9YM7hm3b1xKq36z+usDGvwIgBCxJlMoSLBWg29astEhJNZiXITWfQJuIHexEPBwb49k="}]},"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_6.0.1_1642522675487_0.8612962448753845"},"_hasShrinkwrap":false},"6.1.0":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all movements/vehicles in a bounding box, and optionally their trips.","version":"6.1.0","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=14"},"dependencies":{"@turf/destination":"^6.5.0","@turf/distance":"^6.0.1","debug":"^4.1.1","ioredis":"^4.17.3","live-moving-average":"^1.0.0","p-queue":"^6.6.2","prom-client":"^14.0.0","sorted-array-functions":"^1.3.0"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"redis-cli flushdb && env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint && npm test"},"gitHead":"5dd4fbc51ce559421a3d02a14a3d12bc4f0f8386","_id":"hafas-monitor-trips@6.1.0","_nodeVersion":"17.5.0","_npmVersion":"8.4.1","dist":{"integrity":"sha512-w5bQVKsCA7guV/u3Ovz7Zgv68+2scu35w0dutZz/zVK2d0p3H+1Rjb2cW9KGDV967cgjp1bR7LfScTkSi9DZow==","shasum":"b418c68cad6f0f4b0c85dfcdaca8f2264d17a5fb","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-6.1.0.tgz","fileCount":14,"unpackedSize":32356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiDo5AACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqiLA//YOG/y4DJcRhnzpHQe+DWyknCjWa2ohgRZYdm1qllFlDiCxKL\r\nnbCG6VGDReqeeH55hL43STlP5HmFemnhdCAzD//abHhcvFRrlT8F2UIKZWOA\r\nascTf8nQST4hsKL21HYskA+2amxo4fwSbVnJdka41xxzpPuWmCzowL+o2F+a\r\nJ0Lnm2ttzcB7l01jrP7Kq/xqlmyZ859jNO+e9cfXeizVNAGpqsPUYggJeKVZ\r\nOKnAGOxEnUfUTFAB3aqVSTXKLx7i2cXu1Uo/zmup2xOzafC9kfwWoKp1ZCav\r\n+prRu+02PkttP77TuaBpI7XMszx6AyrhjtESamZpavrxp+E8OiTRMwhsKrSU\r\nY+oGb/WopzEVIJT2BRaBhk3QHBBDJ/i6maNM3++gP8Uv/c79Gp2VPQp3ReND\r\nUDEH85SWD6F61N6aOwPizo8YZ/9pr3w6puHhenzkZEnlWqnrCVYDPk+0r2KP\r\nSJ+XoBPssY+AK7ezj6U8UhNB6tKC8L4J9TJQYizjVsgG2unVr6JM8Uno3nlS\r\nKVaZEkCDKyapyM+6WH5PYxFa7/V0Y+vcvNfo8KU5jhieNZNuZsp9+XYVK7ea\r\nY1mjinVAWaj3uFHybcdnJHys2yzvBsLtrqdY0HupJG3w4oPK/qRpPVT7PzMc\r\nP7O4NxMYOK4nm52qmOgNS8QjBj+KPy9H9gs=\r\n=s3cY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHaY0UEJO4FbIv2bAbaROdzQVsu3HkZn0iFger9w40/DAiEAxXrSHKQxZD8J50n0RtOCVpwrHUe/wFAnYtIg8WdQoRE="}]},"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_6.1.0_1645121087842_0.6768158348419444"},"_hasShrinkwrap":false},"6.2.0":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all movements/vehicles in a bounding box, and optionally their trips.","version":"6.2.0","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=14"},"dependencies":{"@turf/destination":"^6.5.0","@turf/distance":"^6.0.1","debug":"^4.1.1","ioredis":"^4.17.3","live-moving-average":"^1.0.0","p-queue":"^6.6.2","prom-client":"^14.0.0","sorted-array-functions":"^1.3.0"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"redis-cli flushdb && env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint && npm test"},"gitHead":"3791217a5b8e9acf0c0b4608e398be60b3dfadb0","_id":"hafas-monitor-trips@6.2.0","_nodeVersion":"17.5.0","_npmVersion":"8.4.1","dist":{"integrity":"sha512-5tZd845fqnS/1SYGbXKQ7lReoLlz9dRoKicP4QmlsUOg7pBx3sH4jlwry/XxQl9ZYUDRkmivezzZI3hPlinbWQ==","shasum":"bb50956b47e012f0e2cc32cd83f8943908645f0f","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-6.2.0.tgz","fileCount":14,"unpackedSize":32830,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFS8xACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqllA/+KcTK5hz68C08t0EnIeG/uQcJWOYjEu9p0Jv1Hrede/dlDJTs\r\nwpEctN2Af+sTVwjmFWE7EtBW55rFmYox6FS4c15FxRgcYUylS8JfEYj3KUA9\r\nSN3Ztchc+/WifmCwhhKq4YiiwPhE4oVZEwmvs6p5Bme08WmxNvzvDee7MuBv\r\nEGn1M1eHzjxSNIsiysZsLeynjSu+0YRYiIoie8VqfmkVuIfjysawcTOAYzuF\r\n8t6a0L2Hu0GiM6nyKlwbkyRfpDMtsQhQkyU2HBR0Kwaah+P6J08x4gKW6sv7\r\nD1/E4u41MlSUL7qyfEkMQL4b1jiATUPKCERFmhbVRauTGLt/4ninEXOuZNDz\r\noWflXWulQKgbzUH4qaxl+Gqv3pPCxZAWLBiIGeslKWOv1e6JVVaiOUQOOyFS\r\n1zOwrGvqMhRxFENwYlSwvE5o5gQIuIjxdii4tnUSmlLc5Ora3WO5zNndccCH\r\nXbfQa73iS2lrgkcNz3r48y+ZmCXKYfM+2uVoGQ0ZcwcyN8j3KsKgnQxZeg3P\r\nkYgtCN6HwORVqOiswQGh+ReAOFj7eZ3Ztivhl4ESOUIaFXQ1SNy1b1IhY/8M\r\njxJtTA9JPiZ/qkTPbGhJEyth7PrmFT6xdnm9gz4njdL+hCfi79WhWMBQVylz\r\nIni1102L8CGU+1tvhc3a20mTPfApuzbFWl4=\r\n=dMvk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAGZRqXn+q2UUrP9zjixEp3Rutu4xMXnTmWZasRmkUqfAiB9SlNVCfu8dvoS0BfH/1HW6PU43pZsxwA0OAtAm2M6lA=="}]},"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_6.2.0_1645555505055_0.7084273793391129"},"_hasShrinkwrap":false},"6.3.0":{"name":"hafas-monitor-trips","description":"Using a HAFAS endpoint, watch all movements/vehicles in a bounding box, and optionally their trips.","version":"6.3.0","main":"index.js","keywords":["hafas","public","transport","transit","trips","delays"],"author":{"name":"Jannis R","email":"mail@jannisr.de"},"homepage":"https://github.com/derhuerst/hafas-monitor-trips","repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","engines":{"node":">=14"},"dependencies":{"@turf/destination":"^6.5.0","@turf/distance":"^6.0.1","debug":"^4.1.1","ioredis":"^4.17.3","live-moving-average":"^1.0.0","p-queue":"^6.6.2","prom-client":"^14.0.0","sorted-array-functions":"^1.3.0"},"peerDependencies":{"hafas-client":"^5"},"devDependencies":{"eslint":"^7.6.0","vbb-hafas":"^7.0.1"},"scripts":{"lint":"eslint .","test":"redis-cli flushdb && env DEBUG='hafas-monitor-trips:*' node test.js","redis":"printf 'save\nappendonly no' | redis-server - >/dev/null","prepublishOnly":"npm run lint"},"gitHead":"4472a0e1b5c9e1ffed192b77027d741987709711","_id":"hafas-monitor-trips@6.3.0","_nodeVersion":"17.8.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-94jjmNkadVf+p9WXsysp0GQJodVXkuafnc2v2rPbi3o5kDwEbbrQqaIZDAdOELOcp8rQPbCD4EK5yVKLKA39VQ==","shasum":"5b8a395af2cd2b37c17718797a329d6319587712","tarball":"https://registry.npmjs.org/hafas-monitor-trips/-/hafas-monitor-trips-6.3.0.tgz","fileCount":14,"unpackedSize":33142,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrOebM5bwhY9LlxBibTiGoWCIXvDsH37H5uyE+bXmOcgIhAP65PKMQCeNohSvys9WiMWIxLtw2RpCLAiZkMxAhAyoU"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTWnuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoHzA/+Kcoc6uY6DhUINl21YBx3utpc97p9Yk5mAu8CS6hIJJnKbUTX\r\nSy6vw6VoAC+Z3TdoTW1Or1hrPZaRzYL8ke5OYq0G6jui1a1T7VIpf0iCeJUM\r\n87AwYBlm4618oG4yQTVvruNRkHfe6tVy5A5FTR/9s7DM3yr6NnueBJh1o0fL\r\nB9J1axxVgU+utFAFU+9xOD7JjTsel0JmJhBTdbYIkTdSc3NqbfXVDwGq1gi2\r\ncsEz7mlYdknCeVamC4AbWBDSNOQGPR1cOl80dAW71v1/7sWyYP7Nq2zjF05B\r\nnquVkIR27tEZ1Xyx3F1yfOi9nOjE/b9Zt9DOZt3TncaIPt8CjySowaEGrvFI\r\nroYdK+cy23/B8Hz5LV4BWzTZkPa+GMgxfhjMsPZS68dGzdIeZgll4HOJ8b4k\r\n6Q+b7S54i0GtHgoGpMBT8HnjJwNKv/FgZl4gFxRBUe1L6bB98VPzNP9hcvYP\r\n6TTepKzQvdosJrPFU9XyNaApkA7n86TNdhIwI9awQKhmdl8Da5rtVpCK7iOd\r\nUX5oNNSLeqGA5M0g+ph5ilAmDpMAKI2SBX4nzHWg9IecVDW7utMV07kBLINi\r\nRTertrWG33MFsgfFDECY1n+cLB91Wc+5ztUGeruoenbYSkPHLr65Ys9hmnHI\r\nw8MbQHbtJ7EixMwxC/85SUbElvBiqaIRGR8=\r\n=SD9H\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"derhuerst","email":"mail@jannisr.de"},"directories":{},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hafas-monitor-trips_6.3.0_1649240558596_0.916871287699822"},"_hasShrinkwrap":false}},"time":{"created":"2019-04-08T22:10:12.208Z","1.0.0":"2019-04-08T22:10:12.342Z","modified":"2022-05-04T15:23:50.135Z","1.0.1":"2019-06-02T17:05:58.767Z","1.0.2":"2019-06-02T19:09:36.021Z","2.0.0":"2019-06-02T19:14:42.623Z","2.0.1":"2019-06-03T11:27:44.754Z","2.0.2":"2019-06-07T15:02:11.083Z","2.1.0":"2019-06-12T19:36:07.574Z","2.1.1":"2019-07-20T20:16:53.321Z","2.1.2":"2019-07-24T18:58:36.675Z","2.1.3":"2019-11-12T19:17:57.330Z","2.2.0":"2019-11-12T19:20:10.904Z","3.0.0":"2020-02-29T16:23:52.840Z","4.0.0-alpha.1":"2020-05-09T14:14:33.592Z","4.0.0-alpha.2":"2020-06-12T22:48:52.341Z","4.0.0-alpha.4":"2020-09-12T20:40:16.516Z","4.0.0-alpha.5":"2020-09-13T15:55:28.954Z","4.0.0-alpha.6":"2020-09-18T16:45:18.054Z","4.0.0-alpha.7":"2020-09-19T09:02:52.204Z","4.0.0-alpha.8":"2020-09-19T11:58:21.993Z","4.0.0":"2020-09-22T09:22:22.765Z","4.0.1":"2020-10-22T11:32:44.130Z","4.1.0":"2021-02-25T17:02:42.016Z","4.1.1":"2021-09-21T12:54:45.781Z","4.2.0":"2021-10-10T16:08:13.142Z","4.2.1":"2021-10-10T17:05:37.624Z","5.0.0":"2021-10-24T15:27:03.900Z","5.1.0":"2021-12-30T15:13:06.862Z","6.0.0":"2022-01-09T19:28:17.038Z","6.0.1":"2022-01-18T16:17:55.648Z","6.1.0":"2022-02-17T18:04:48.204Z","6.2.0":"2022-02-22T18:45:05.220Z","6.3.0":"2022-04-06T10:22:38.703Z"},"maintainers":[{"name":"derhuerst","email":"mail@jannisr.de"}],"description":"Using a HAFAS endpoint, watch all movements/vehicles in a bounding box, and optionally their trips.","homepage":"https://github.com/derhuerst/hafas-monitor-trips","keywords":["hafas","public","transport","transit","trips","delays"],"repository":{"type":"git","url":"git+https://github.com/derhuerst/hafas-monitor-trips.git"},"author":{"name":"Jannis R","email":"mail@jannisr.de"},"bugs":{"url":"https://github.com/derhuerst/hafas-monitor-trips/issues"},"license":"ISC","readme":"# hafas-monitor-trips\n\n**Using a HAFAS endpoint, watch all [movements/vehicles](https://github.com/public-transport/hafas-client/blob/5/docs/radar.md) in a bounding box**, and optionally their [trips](https://github.com/public-transport/hafas-client/blob/5/docs/trip.md).\n\n[![npm version](https://img.shields.io/npm/v/hafas-monitor-trips.svg)](https://www.npmjs.com/package/hafas-monitor-trips)\n[![build status](https://api.travis-ci.org/derhuerst/hafas-monitor-trips.svg?branch=master)](https://travis-ci.org/derhuerst/hafas-monitor-trips)\n![ISC-licensed](https://img.shields.io/github/license/derhuerst/hafas-monitor-trips.svg)\n[![support me via GitHub Sponsors](https://img.shields.io/badge/support%20me-donate-fa7664.svg)](https://github.com/sponsors/derhuerst)\n[![chat with me on Twitter](https://img.shields.io/badge/chat%20with%20me-on%20Twitter-1da1f2.svg)](https://twitter.com/derhuerst)\n\n`hafas-monitor-trips` will periodically fetch all movements/vehicles in the whole bounding box. If configured, it will then fetch each vehicle's whole trip to get up-to-date data about its stopovers.\n\n\n## Installation\n\n*Note:* `hafas-monitor-trips` needs access to [Redis](https://redis.io/). Set the `REDIS_URL` environment variable to configure access to it.\n\n```shell\nnpm install hafas-monitor-trips\n```\n\n\n## Usage\n\nIn the following example, we'll keep things simple:\n\n- We use [`vbb-hafas`](https://github.com/public-transport/vbb-hafas), a HAFAS client querying endpoint of the Berlin & Brandenburg public transport service (VBB).\n- We monitor a small bounding box in the center of Berlin.\n- We `console.log` all `positions`s (of all movements/vehicles being monitored).\n\n*Note:* `hafas-monitor-trips` only works with [`hafas-client@5`](https://github.com/public-transport/hafas-client/tree/5)-compatible API clients.\n\n```js\nconst createHafas = require('vbb-hafas')\nconst createMonitor = require('hafas-monitor-trips')\n\nconst bbox = { // Potsdamer Platz in Berlin\n\tnorth: 52.52,\n\twest: 13.36,\n\tsouth: 52.5,\n\teast: 13.39,\n}\n\nconst hafas = createHafas('hafas-monitor-trips example')\nconst monitor = createMonitor(hafas, bbox)\n\nmonitor.on('error', err => console.error(err))\nmonitor.on('hafas-error', err => console.error(err))\nmonitor.on('hafas-client-error', err => console.error(err))\nmonitor.on('position', (loc, movement) => console.log(loc, movement))\n```\n\nYou can listen for these events:\n\n- `error` – An error occured, e.g. a network error.\n- `hafas-error` – The HAFAS endpoint rejected a request with an error.\n- `hafas-client-error` – `hafas-client` failed to process the HAFAS response.\n- `position` – The current (estimated) position and full details of a movement/vehicle.\n\nIf you listen to `position` events, you'll receive all movements (a movement one of >0 results of a [`radar()` call](https://github.com/public-transport/hafas-client/blob/5/docs/radar.md)) which are within the bounding box right now. Each movement will not have *all* stopovers of its trip though, just the next few; If you want to access all stopovers, you need to fetch the respective trip (see below).\n\n### fetching trips\n\nYou can configure `hafas-monitor-trips` to also fetch a movements trip, including *all* its stopovers. You can configure\n- which movements/vehicles to fetch the trip for (e.g. all, or just buses starting with \"1\"), as well as\n- when to fetch the trip (by default, right after the movement/vehicle has been fetched, see below for more details), the *trip fetching strategy*.\n\nThese additional events will be emitted:\n\n- `trip` – Every trip that has been fetched.\n- `stopover` – Each stopover of every trip that has been fetched.\n\n#### fetching trips right away\n\nFor example, we can fetch all buses' trips, right away:\n\n```js\nconst fetchTrips = require('hafas-monitor-trips/fetch-trips')\nconst rightAwayStrategy = require('hafas-monitor-trips/fetch-trips/right-away')\n\nconst shouldFetchTrip = movement => movement.line.product === 'bus'\nfetchTrips(monitor, rightAwayStrategy(shouldFetchTrip))\n\nmonitor.on('trip', trip => console.log(trip.stopovers))\n```\n\n#### fetching important trips first\n\nYou can control the order in which the trips get fetched. For example, let's fetch the \"A\" line's trips first, then all other buses' trips:\n\n```js\nconst fetchTrips = require('hafas-monitor-trips/fetch-trips')\nconst priorityBasedStrategy = require('hafas-monitor-trips/fetch-trips/priority-based')\n\nconst shouldFetchTrip = (movement) => {\n\tif (movement.line.product === 'bus') {\n\t\treturn movement.line.name === 'A' ? 1 : 0\n\t}\n\treturn null // don't fetch other products\n}\nfetchTrips(monitor, priorityBasedStrategy(shouldFetchTrip))\n```\n\n#### fetching trips with a delay\n\nYou can fetch the trips after a certain delay. For example, let's fetch trips after 10s, but only for movements with a delayed next stopover:\n\n```js\nconst fetchTrips = require('hafas-monitor-trips/fetch-trips')\nconst timeBasedStrategy = require('hafas-monitor-trips/fetch-trips/time-based')\n\nconst shouldFetchTrip = (movement) => {\n\tconst nextStopover = movement.nextStopovers[0]\n\tif (nextStopover && nextStopover.arrivalDelay > 0) {\n\t\treturn 10 * 1000\n\t}\n\treturn null // don't fetch other movements' trips\n}\nfetchTrips(monitor, timeBasedStrategy(shouldFetchTrip))\n```\n\n### preventing excessive requests\n\nIf you fetch *all* movements' trips, with a bounding larger than a few km², there will be so many HAFAS calls made that you will likely get **rate-limited by the HAFAS endpoint**; The amount depends on the specific endpoint. This is how you can reduce the request rate:\n\n- Use the `shouldFetchTrip(movement)` function to restrict the number of movements/vehicles that you fetch trips of, e.g. to only the line you're interested in, or only buses.\n- Instead of passing a `hafas-client` instance directly into `hafas-monitor-trips`, use [`hafas-client/throttle`](https://github.com/public-transport/hafas-client/blob/5/docs/readme.md#throttling-requests) to prevent bursts of requests. You will have to experiment with the rate until you get a balance, between not sending too many requests, and being able to monitor all relevant trips.\n- Use e.g. [`hafas-client-rpc`](https://github.com/derhuerst/hafas-client-rpc) to run the requests from a pool of worker machines.\n\n\n## Contributing\n\nIf you have a question or need support using `hafas-monitor-trips`, 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](https://github.com/derhuerst/hafas-monitor-trips/issues).\n","readmeFilename":"readme.md"}