async function getSnapshot() {
  return new Promise((resolve, reject) => {
    socket.emit('getSnapshot', (snapshot) => {
      snapshot.xml = Blockly.utils.xml.textToDom(snapshot.xml);
      resolve(snapshot);
    });
  });
}
Query the database a snapshot of the current workspace.
@returns {!Promise} Promise object that represents the latest snapshot of the
workspace.
@public