function qstring(val) {
  const 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") + '"';
}
/**
 * Quote a string if necessary.
 */
Quote a string if necessary.
Quote a string if necessary .
function qstring(val) {
  const str = String(val);
  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") + '"';
}
function qstring ( val ) { const str = String ( val ) ; 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" ) + '"' ; }
Quote a string if necessary.
Quote a string if necessary .
// no need to quote tokens