code: function qstring (val) {
    var str = String(val)
  
    // no need to quote tokens
    if (TOKEN_REGEXP.test(str)) {
      return str
    }
  
    if (str.length > 0 && !TEXT_REGEXP.test(str)) {
      throw new TypeError('invalid parameter value')
    }
  
    return '"' + str.replace(QUOTE_REGEXP, '\\$1') + '"'
  }
docs: Quote a string if necessary.
  
  @param {string} val
  @return {string}
  @private