function toFileUrl(path) {
  if (!isAbsolute(path)) {
    throw new TypeError("Must be an absolute path.");
  }
  const [, hostname, pathname] = path.match(
    /^(?:[/\\]{2}([^/\\]+)(?=[/\\](?:[^/\\]|$)))?(.*)/,
  );
  const url = new URL("file:///");
  url.pathname = encodeWhitespace(pathname.replace(/%/g, "%25"));
  if (hostname != null && hostname != "localhost") {
    url.hostname = hostname;
    if (!url.hostname) {
      throw new TypeError("Invalid hostname.");
    }
  }
  return url;
}
/**
 * Converts a path string to a file URL.
 *
 *      toFileUrl("\\home\\foo"); // new URL("file:///home/foo")
 *      toFileUrl("C:\\Users\\foo"); // new URL("file:///C:/Users/foo")
 *      toFileUrl("\\\\127.0.0.1\\home\\foo"); // new URL("file://127.0.0.1/home/foo")
 * @param path to convert to file URL
 */
Converts a path string to a file URL.
Converts a path string to a file URL .
function toFileUrl(path) {
  if (!isAbsolute(path)) {
    throw new TypeError("Must be an absolute path.");
  }
  const [, hostname, pathname] = path.match(
    /^(?:[/\\]{2}([^/\\]+)(?=[/\\](?:[^/\\]|$)))?(.*)/,
  );
  const url = new URL("file:///");
  url.pathname = encodeWhitespace(pathname.replace(/%/g, "%25"));
  if (hostname != null && hostname != "localhost") {
    url.hostname = hostname;
    if (!url.hostname) {
      throw new TypeError("Invalid hostname.");
    }
  }
  return url;
}
function toFileUrl ( path ) { if ( ! isAbsolute ( path ) ) { throw new TypeError ( "Must be an absolute path." ) ; } const [ , hostname , pathname ] = path . match ( / ^(?:[/\\]{2}([^/\\]+)(?=[/\\](?:[^/\\]|$)))?(.*) / , ) ; const url = new URL ( "file:///" ) ; url . pathname = encodeWhitespace ( pathname . replace ( / % / g , "%25" ) ) ; if ( hostname != null && hostname != "localhost" ) { url . hostname = hostname ; if ( ! url . hostname ) { throw new TypeError ( "Invalid hostname." ) ; } } return url ; }
Converts a path string to a file URL.
Converts a path string to a file URL .