import Messaging; import opponent from Room; import Save; import Session; import Table; import Time; var entries = Table.make(makeEntry, 'date'); initMessageHandlers(); return { entries: entries }; function entry(state) { var sessionKey = Session.getKey(); return Time.timestamp({ vs: opponent(state.public.nextPlayer[sessionKey]), yourTurn: state.public.playing == sessionKey }); } function makeEntry(key, config) { return { key: key, vs: config.vs, yourTurn: config.yourTurn, date: config.date }; } function initMessageHandlers() { Messaging.addEventListener(["Game"], function(o) { var gameID = o.state.public.gameState.gameID; Save.set("games.state." + gameID, o.state); Save.set("games.entry." + gameID, entry(o.state)); }); }