The `url` module provides functionality for the parsing and retrieving of URLs.
@class
@constructor
The URL constructor creates an object that represents a URL, verifying that
the provided string is a valid URL in the process. Any API in the SDK which
has a URL parameter will accept `URL` objects, not raw strings, unless
otherwise noted.
@param source {string}
A string to be converted into a URL. If `source` is not a valid URI, this
constructor will throw an exception.
@param [base] {string}
An optional string used to resolve relative `source` URLs into absolute ones.
@property {string}
The name of the protocol in the URL.
@property {string}
The username:password part of the URL, `null` if not present.
@property {string}
The host of the URL, `null` if not present.
@property {integer}
The port number of the URL, `null` if none was specified.
@property {string}
The path component of the URL.
@method
Returns a string representation of the URL.
@returns {string}
The URL as a string.
@function
Attempts to convert the given URL to a native file path. This function will
automatically attempt to resolve non-file protocols, such as the `resource:`
protocol, to their place on the file system. An exception is raised if the URL
can't be converted; otherwise, the native file path is returned as a string.
@param url {string}
The URL, as a string, to be converted.
@returns {string}
The converted native file path as a string.
@function
Converts the given native file path to a `file:` URL.
@param path {string}
The native file path, as a string, to be converted.
@returns {string}
The converted URL as a string.