// cadence: string,
// increment: integer (seconds),
// type: string ("live" or "corr")
-// imported: boolean (optional, default false)
// // Game (dynamic) state:
// fen: string,
// moves: array of Move objects,
objectStore.get(gameId).onsuccess = function(event) {
// Ignoring error silently: shouldn't happen now. TODO?
if (event.target.result) {
- const game = event.target.result;
+ let game = event.target.result;
Object.keys(obj).forEach(k => {
if (k == "move") game.moves.push(obj[k]);
else game[k] = obj[k];
},
// Retrieve all local games (running, completed, imported...)
- getAll: function(callback) {
+ // light: do not retrieve moves or clocks (TODO: this is the only usage)
+ getAll: function(light, callback) {
dbOperation((err,db) => {
let objectStore = db.transaction("games").objectStore("games");
let games = [];
let cursor = event.target.result;
// if there is still another cursor to go, keep running this code
if (cursor) {
- games.push(cursor.value);
+ let g = cursor.value;
+ if (light) {
+ g.movesCount = g.moves.length;
+ delete g.moves;
+ delete g.clocks;
+ delete g.initime;
+ }
+ games.push(g);
cursor.continue();
} else callback(games);
};