export function publishActionReply(redisCnx, options) { const { action, reqid, sender, reply, replyChannel, senderId = 'gps', } = options reply.action = action reply.sender = senderId if(reqid) reply.reqid = reqid const chan = replyChannel.replace(/\[UID\]/g, sender) redisCnx.redisPublish(chan, reply) } export function parseSimTime(payload, fallbackFn) { if(payload?.t != null && typeof(payload.t) === 'number' && !Number.isNaN(payload.t)) return(payload.t) if(payload?.at != null && typeof(payload.at) === 'number' && !Number.isNaN(payload.at)) return(payload.at) return(fallbackFn()) }