|
23 | 23 |
|
24 | 24 | const { toASCII } = process.binding('config').hasIntl ?
|
25 | 25 | process.binding('icu') : require('punycode');
|
| 26 | + |
26 | 27 | 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; |
36 | 28 |
|
| 29 | +// WHATWG URL implementation provided by internal/url |
| 30 | +const { |
| 31 | + URL, |
| 32 | + URLSearchParams, |
| 33 | + domainToASCII, |
| 34 | + domainToUnicode, |
| 35 | + formatSymbol |
| 36 | +} = require('internal/url'); |
37 | 37 |
|
38 |
| -exports.Url = Url; |
| 38 | +// Original url.parse() API |
39 | 39 |
|
40 | 40 | function Url() {
|
41 | 41 | this.protocol = null;
|
@@ -559,7 +559,7 @@ function urlFormat(obj, options) {
|
559 | 559 | throw new TypeError('Parameter "urlObj" must be an object, not ' +
|
560 | 560 | (obj === null ? 'null' : typeof obj));
|
561 | 561 | } else if (!(obj instanceof Url)) {
|
562 |
| - var format = obj[internalUrl.formatSymbol]; |
| 562 | + var format = obj[formatSymbol]; |
563 | 563 | return format ?
|
564 | 564 | format.call(obj, options) :
|
565 | 565 | Url.prototype.format.call(obj);
|
@@ -1030,3 +1030,18 @@ function encodeAuth(str) {
|
1030 | 1030 | return out + str.slice(lastPos);
|
1031 | 1031 | return out;
|
1032 | 1032 | }
|
| 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