function qstring$2 (val) {
  var str = String(val);

  // no need to quote tokens
  if (TOKEN_REGEXP$1.test(str)) {
    return str
  }

  if (str.length > 0 && !TEXT_REGEXP$1.test(str)) {
    throw new TypeError('invalid parameter value')
  }

  return '"' + str.replace(QUOTE_REGEXP$1, '\\$1') + '"'
}
Quote a string if necessary.

@param {string} val
@return {string}
@private