code: function iterate(iterator, callback) {
          var self = this;
  
          var promise = new Promise(function(resolve, reject) {
              self.ready().then(function() {
                  try {
                      var keyPrefix = self._dbInfo.keyPrefix;
                      var keyPrefixLength = keyPrefix.length;
                      var length = localStorage.length;
  
                      for (var i = 0; i < length; i++) {
                          var key = localStorage.key(i);
                          var value = localStorage.getItem(key);
  
                          // If a result was found, parse it from the serialized
                          // string into a JS object. If result isn't truthy, the
                          // key is likely undefined and we'll pass it straight
                          // to the iterator.
                          if (value) {
                              value = _deserialize(value);
                          }
  
                          value = iterator(value, key.substring(keyPrefixLength));
  
                          if (value !== void(0)) {
                              resolve(value);
                              return;
                          }
                      }
  
                      resolve();
                  } catch (e) {
                      reject(e);
                  }
              })["catch"](reject);
          });
  
          executeCallback(promise, callback);
          return promise;
      }
docs: Iterate over all items in the store.