code: function Tokens (options) {
    if (!(this instanceof Tokens)) {
      return new Tokens(options)
    }
  
    var opts = options || {}
  
    var saltLength = opts.saltLength !== undefined
      ? opts.saltLength
      : 8
  
    if (typeof saltLength !== 'number' || !isFinite(saltLength) || saltLength < 1) {
      throw new TypeError('option saltLength must be finite number > 1')
    }
  
    var secretLength = opts.secretLength !== undefined
      ? opts.secretLength
      : 18
  
    if (typeof secretLength !== 'number' || !isFinite(secretLength) || secretLength < 1) {
      throw new TypeError('option secretLength must be finite number > 1')
    }
  
    this.saltLength = saltLength
    this.secretLength = secretLength
  }
docs: Token generation/verification class.
  
  @param {object} [options]
  @param {number} [options.saltLength=8] The string length of the salt
  @param {number} [options.secretLength=18] The byte length of the secret key
  @public