code: function WebStorageSessionStore(webStore) {
      this.store = webStore;
      if (!utils.isFunction(webStore.getItem) ||
          !utils.isFunction(webStore.setItem) ||
          !utils.isFunction(webStore.removeItem) ||
          !utils.isFunction(webStore.key) ||
          typeof(webStore.length) !== 'number'
         ) {
          throw new Error(
              "Supplied webStore does not meet the WebStorage API interface",
          );
      }
  }
docs: Construct a web storage session store, capable of storing account keys,
  session keys and access tokens.
  @constructor
  @param {WebStorage} webStore A web storage implementation, e.g.
  'window.localStorage' or 'window.sessionStorage' or a custom implementation.
  @throws if the supplied 'store' does not meet the Storage interface of the
  WebStorage API.