mirror of
https://github.com/public-transport/db-vendo-client.git
synced 2025-02-23 15:19:35 +02:00
26 lines
622 B
JavaScript
26 lines
622 B
JavaScript
'use strict'
|
|
|
|
const isRoughlyEqual = require('is-roughly-equal')
|
|
const {DateTime} = require('luxon')
|
|
|
|
const hour = 60 * 60 * 1000
|
|
const week = 7 * 24 * hour
|
|
|
|
// next Monday 10 am
|
|
const createWhen = (timezone, locale) => {
|
|
return DateTime.fromMillis(Date.now(), {
|
|
zone: timezone,
|
|
locale,
|
|
}).startOf('week').plus({weeks: 1, hours: 10}).toJSDate()
|
|
}
|
|
|
|
const isValidWhen = (actual, expected) => {
|
|
const ts = +new Date(actual)
|
|
if (Number.isNaN(ts)) return false
|
|
// the timestamps might be from long-distance trains
|
|
return isRoughlyEqual(14 * hour, +expected, ts)
|
|
}
|
|
|
|
module.exports = {
|
|
hour, createWhen, isValidWhen
|
|
}
|