|
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