mirror of
https://github.com/public-transport/db-vendo-client.git
synced 2025-02-22 22:59:35 +02:00
stringify date & time, locations
This commit is contained in:
parent
08b4fdfb0e
commit
ed1d63321e
1 changed files with 39 additions and 0 deletions
39
stringify.js
Normal file
39
stringify.js
Normal file
|
@ -0,0 +1,39 @@
|
|||
'use strict'
|
||||
|
||||
const moment = require('moment-timezone')
|
||||
|
||||
|
||||
|
||||
const date = (tz, when) => moment(when).tz(tz).format('YYYYMMDD')
|
||||
const time = (tz, when) => moment(when).tz(tz).format('HHmmss')
|
||||
|
||||
|
||||
|
||||
// filters
|
||||
const bike = {type: 'BC', mode: 'INC'}
|
||||
const accessibility = {
|
||||
none: {type: 'META', mode: 'INC', meta: 'notBarrierfree'}
|
||||
, partial: {type: 'META', mode: 'INC', meta: 'limitedBarrierfree'}
|
||||
, complete: {type: 'META', mode: 'INC', meta: 'completeBarrierfree'}
|
||||
}
|
||||
|
||||
|
||||
|
||||
const coord = (x) => Math.round(x * 1000000)
|
||||
const station = (id) => ({type: 'S', lid: 'L=' + id})
|
||||
const address = (latitude, longitude, name) => {
|
||||
if (!latitude || !longitude || !name) throw new Error('invalid address.')
|
||||
return {type: 'A', name, crd: {x: coord(longitude), y: coord(latitude)}}
|
||||
}
|
||||
const poi = (latitude, longitude, id, name) => {
|
||||
if (!latitude || !longitude || !id || !name) throw new Error('invalid poi.')
|
||||
return {type: 'P', name, lid: 'L=' + id, crd: {x: coord(longitude), y: coord(latitude)}}
|
||||
}
|
||||
|
||||
|
||||
|
||||
module.exports = {
|
||||
date, time,
|
||||
bike, accessibility,
|
||||
coord, station, address, poi
|
||||
}
|
Loading…
Add table
Reference in a new issue