add Time, reducing some duplication

This commit is contained in:
Zutatensuppe 2021-04-14 19:30:45 +02:00
parent e737015d7e
commit b6999e4f1f
7 changed files with 70 additions and 85 deletions

View file

@ -1,5 +1,6 @@
import Geometry from './Geometry.js'
import Protocol from './Protocol.js'
import Time from './Time.js'
import Util from './Util.js'
// Map<gameId, GameObject>
@ -89,14 +90,14 @@ function playerExists(gameId, playerId) {
}
function getRelevantPlayers(gameId, ts) {
const minTs = ts - 30000
const minTs = ts - 30 * Time.SEC
return getAllPlayers(gameId).filter(player => {
return player.ts >= minTs || player.points > 0
})
}
function getActivePlayers(gameId, ts) {
const minTs = ts - 30000
const minTs = ts - 30 * Time.SEC
return getAllPlayers(gameId).filter(player => {
return player.ts >= minTs
})

45
common/Time.js Normal file
View file

@ -0,0 +1,45 @@
const MS = 1
const SEC = MS * 1000
const MIN = SEC * 60
const HOUR = MIN * 60
const DAY = HOUR * 24
export const timestamp = () => {
const d = new Date();
return Date.UTC(
d.getUTCFullYear(),
d.getUTCMonth(),
d.getUTCDate(),
d.getUTCHours(),
d.getUTCMinutes(),
d.getUTCSeconds(),
d.getUTCMilliseconds(),
)
}
export const timeDiffStr = (from, to) => {
let diff = to - from
const d = Math.floor(diff / DAY)
diff = diff % DAY
const h = Math.floor(diff / HOUR)
diff = diff % HOUR
const m = Math.floor(diff / MIN)
diff = diff % MIN
const s = Math.floor(diff / SEC)
return `${d}d ${h}h ${m}m ${s}s`
}
export default {
MS,
SEC,
MIN,
HOUR,
DAY,
timestamp,
timeDiffStr,
}

View file

@ -69,19 +69,6 @@ export const shuffle = (
return arr
}
export const timestamp = () => {
const d = new Date();
return Date.UTC(
d.getUTCFullYear(),
d.getUTCMonth(),
d.getUTCDate(),
d.getUTCHours(),
d.getUTCMinutes(),
d.getUTCSeconds(),
d.getUTCMilliseconds(),
)
}
function encodeShape(data) {
if (typeof data === 'number') {
return data
@ -224,7 +211,6 @@ export default {
choice,
throttle,
shuffle,
timestamp,
encodeShape,
decodeShape,