import { UrlWithStringQuery, parse as uriParse } from 'url'
+import { isString } from '@vue/shared'
// We need an extra transform context API for injecting arbitrary import
// statements.
* @param urlString an url as a string
*/
function parseUriParts(urlString: string): UrlWithStringQuery {
- // initialize return value
- const returnValue: UrlWithStringQuery = uriParse('')
- if (urlString) {
- // A TypeError is thrown if urlString is not a string
- // @see https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost
- if ('string' === typeof urlString) {
- // check is an uri
- return uriParse(urlString) // take apart the uri
- }
- }
- return returnValue
+ // A TypeError is thrown if urlString is not a string
+ // @see https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost
+ return uriParse(isString(urlString) ? urlString : '')
}