Skip to content

Commit b331ba6

Browse files
committed
url: move to module.exports = {} pattern
PR-URL: #12717 Reviewed-By: Daijiro Wachi <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]
1 parent 7c238be commit b331ba6

File tree

1 file changed

+26
-11
lines changed

1 file changed

+26
-11
lines changed

lib/url.js

+26-11
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,19 @@
2323

2424
const { toASCII } = process.binding('config').hasIntl ?
2525
process.binding('icu') : require('punycode');
26+
2627
const { hexTable } = require('internal/querystring');
27-
const internalUrl = require('internal/url');
28-
exports.parse = urlParse;
29-
exports.resolve = urlResolve;
30-
exports.resolveObject = urlResolveObject;
31-
exports.format = urlFormat;
32-
exports.URL = internalUrl.URL;
33-
exports.URLSearchParams = internalUrl.URLSearchParams;
34-
exports.domainToASCII = internalUrl.domainToASCII;
35-
exports.domainToUnicode = internalUrl.domainToUnicode;
3628

29+
// WHATWG URL implementation provided by internal/url
30+
const {
31+
URL,
32+
URLSearchParams,
33+
domainToASCII,
34+
domainToUnicode,
35+
formatSymbol
36+
} = require('internal/url');
3737

38-
exports.Url = Url;
38+
// Original url.parse() API
3939

4040
function Url() {
4141
this.protocol = null;
@@ -559,7 +559,7 @@ function urlFormat(obj, options) {
559559
throw new TypeError('Parameter "urlObj" must be an object, not ' +
560560
(obj === null ? 'null' : typeof obj));
561561
} else if (!(obj instanceof Url)) {
562-
var format = obj[internalUrl.formatSymbol];
562+
var format = obj[formatSymbol];
563563
return format ?
564564
format.call(obj, options) :
565565
Url.prototype.format.call(obj);
@@ -1030,3 +1030,18 @@ function encodeAuth(str) {
10301030
return out + str.slice(lastPos);
10311031
return out;
10321032
}
1033+
1034+
module.exports = {
1035+
// Original API
1036+
Url,
1037+
parse: urlParse,
1038+
resolve: urlResolve,
1039+
resolveObject: urlResolveObject,
1040+
format: urlFormat,
1041+
1042+
// WHATWG API
1043+
URL,
1044+
URLSearchParams,
1045+
domainToASCII,
1046+
domainToUnicode
1047+
};

0 commit comments

Comments
 (0)