code: function(nextBatch, roomsData, groupsData) {
          console.log("Persisting sync data up to ", nextBatch);
          return Promise.try(() => {
              const txn = this.db.transaction(["sync"], "readwrite");
              const store = txn.objectStore("sync");
              store.put({
                  clobber: "-", // constant key so will always clobber
                  nextBatch: nextBatch,
                  roomsData: roomsData,
                  groupsData: groupsData,
              }); // put == UPSERT
              return txnAsPromise(txn);
          });
      }
docs: Persist rooms /sync data along with the next batch token.
  @param {string} nextBatch The next_batch /sync value.
  @param {Object} roomsData The 'rooms' /sync data from a SyncAccumulator
  @param {Object} groupsData The 'groups' /sync data from a SyncAccumulator
  @return {Promise} Resolves if the data was persisted.