lib/mongodb/mongodb-core/lib/uri_parser.js
function parseQueryString(query, options) {
  const result = {};
  let parsedQueryString = qs.parse(query);

  for (const key in parsedQueryString) {
    const value = parsedQueryString[key];
    if (value === '' || value == null) {
      throw new MongoParseError('Incomplete key value pair for option');
    }

    const normalizedKey = key.toLowerCase();
    const parsedValue = parseQueryStringItemValue(normalizedKey, value);
    applyConnectionStringOption(result, normalizedKey, parsedValue, options);
  }

  // special cases for known deprecated options
  if (result.wtimeout && result.wtimeoutms) {
    delete result.wtimeout;
    console.warn('Unsupported option `wtimeout` specified');
  }

  return Object.keys(result).length ? result : null;
}
function parseQueryString(query, options) {
  const result = {};
  let parsedQueryString = qs.parse(query);

  for (const key in parsedQueryString) {
    const value = parsedQueryString[key];
    if (value === '' || value == null) {
      throw new MongoParseError('Incomplete key value pair for option');
    }

    const normalizedKey = key.toLowerCase();
    const parsedValue = parseQueryStringItemValue(normalizedKey, value);
    applyConnectionStringOption(result, normalizedKey, parsedValue, options);
  }

  // special cases for known deprecated options
  if (result.wtimeout && result.wtimeoutms) {
    delete result.wtimeout;
    console.warn('Unsupported option `wtimeout` specified');
  }

  return Object.keys(result).length ? result : null;
}
function parseQueryString ( query , options ) { const result = { } ; let parsedQueryString = qs . parse ( query ) ; for ( const key in parsedQueryString ) { const value = parsedQueryString [ key ] ; if ( value === '' || value == null ) { throw new MongoParseError ( 'Incomplete key value pair for option' ) ; } const normalizedKey = key . toLowerCase ( ) ; const parsedValue = parseQueryStringItemValue ( normalizedKey , value ) ; applyConnectionStringOption ( result , normalizedKey , parsedValue , options ) ; } // special cases for known deprecated options if ( result . wtimeout && result . wtimeoutms ) { delete result . wtimeout ; console . warn ( 'Unsupported option `wtimeout` specified' ) ; } return Object . keys ( result ) . length ? result : null ; }
Parses a query string according the connection string spec.

@param {String} query The query string to parse
@param {object} [options] The options used for options parsing
@return {Object|Error} The parsed query string as an object, or an error if one was encountered
Parses a query string according the connection string spec .