code: function ClientState(client) {
  
    /**
     * The associated client instance.
     *
     * @property client
     * @type Client
     */
    this.client = client;
  
    /**
     * The time (in milliseconds) to wait before the next request
     * may be sent to the API; this value is only updated upon
     * reception of a server response and thus valid only in
     * combination with the time of reception.
     *
     * @property retry
     * @type Number
     */
    this.retry = 0;
  
    /**
     * The time (in milliseconds) the client should back-off
     * before resuming normal API interactions; this value is
     * only updated upon reception of a server response and
     * thus valid only in combination with the time of reception.
     *
     * @property backoff
     * @type Number
     */
    this.backoff = 0;
  
    /**
     * The HTTP status code of the last response received
     * by the client.
     *
     * @property code
     * @type Number|null
     */
    this.code = null;
  
    /**
     * The UNIX timestamp of the last API response received
     * by the client.
     *
     * @property timestamp
     * @type Number
     */
    this.timestamp = Date.now();
  }
docs: --- ClientState --- 
  Keeps track of a rate-limits or backoff directives issued
  by the Zotero API servers.
  
  @class ClientState
  @constructor
  
  @param {Client} client The associated client instance.