@qraft/asyncapi-plugin 1.0.0-beta.7 → 1.0.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/_vendor/@stoplight/json-ref-resolver/crawler.js +1 -1
- package/dist/_vendor/@stoplight/json-ref-resolver/index.js +1 -1
- package/dist/_vendor/@stoplight/json-ref-resolver/runner.js +2 -2
- package/dist/_vendor/@stoplight/spectral-core/dist/document.js +2 -2
- package/dist/_vendor/@stoplight/spectral-core/dist/documentInventory.js +2 -2
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/rule.js +2 -2
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/ruleset.js +2 -2
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/utils/guards.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/assertions.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/validators/alias.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/runner/index.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/runner/runner.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/spectral.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/types/index.js +1 -1
- package/dist/_vendor/@stoplight/spectral-formats/dist/arazzo.js +1 -1
- package/dist/_vendor/@stoplight/spectral-formats/dist/asyncapi.js +1 -1
- package/dist/_vendor/@stoplight/spectral-formats/dist/jsonSchema.js +1 -1
- package/dist/_vendor/@stoplight/spectral-formats/dist/openapi.js +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/index.js +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/length.js +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/unreferencedReusableObject.js +1 -1
- package/dist/_vendor/@stoplight/spectral-parsers/dist/json.js +1 -1
- package/dist/_vendor/@stoplight/spectral-runtime/dist/reader.js +1 -1
- package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/decodeSegmentFragment.js +1 -1
- package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/printPath.js +1 -1
- package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/printValue.js +1 -1
- package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/refs.js +2 -2
- package/dist/_vendor/ajv/dist/refs/json-schema-2019-09/index.js +1 -1
- package/dist/_vendor/ajv/dist/refs/json-schema-2020-12/index.js +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/index.js +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/core/index.js +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/dynamic/index.js +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/format/index.js +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/unevaluated/index.js +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/validation/index.js +1 -1
- package/dist/_vendor/fast-uri/index.js +180 -83
- package/dist/_vendor/fast-uri/index.js.map +1 -1
- package/dist/_vendor/fast-uri/lib/schemes.js +163 -82
- package/dist/_vendor/fast-uri/lib/schemes.js.map +1 -1
- package/dist/_vendor/fast-uri/lib/utils.js +327 -128
- package/dist/_vendor/fast-uri/lib/utils.js.map +1 -1
- package/dist/_vendor/json-schema-traverse/index.js +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/index.js +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/optimizer/index.js +1 -1
- package/dist/_virtual/index.es.js +3 -3
- package/dist/_virtual/index.es2.js +3 -3
- package/dist/_virtual/index16.js +2 -2
- package/dist/_virtual/index17.js +2 -2
- package/dist/_virtual/index25.js +2 -2
- package/dist/_virtual/index26.js +2 -2
- package/dist/_virtual/index27.js +2 -2
- package/dist/_virtual/index28.js +2 -2
- package/dist/_virtual/index31.js +2 -2
- package/dist/_virtual/index32.js +2 -2
- package/dist/_virtual/index34.js +2 -2
- package/dist/_virtual/index35.js +2 -2
- package/dist/_virtual/index54.js +2 -2
- package/dist/_virtual/index55.js +2 -2
- package/dist/_virtual/index56.js +2 -2
- package/dist/_virtual/index57.js +2 -2
- package/dist/_virtual/index58.js +2 -2
- package/dist/_virtual/index59.js +2 -2
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/package.json +2 -2
- package/src/packageVersion.ts +1 -1
- package/dist/_vendor/fast-uri/lib/scopedChars.js +0 -40
- package/dist/_vendor/fast-uri/lib/scopedChars.js.map +0 -1
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { __require as requireScopedChars } from './scopedChars.js';
|
|
2
|
-
|
|
3
1
|
var utils;
|
|
4
2
|
var hasRequiredUtils;
|
|
5
3
|
|
|
@@ -7,60 +5,109 @@ function requireUtils () {
|
|
|
7
5
|
if (hasRequiredUtils) return utils;
|
|
8
6
|
hasRequiredUtils = 1;
|
|
9
7
|
|
|
10
|
-
|
|
8
|
+
/** @type {(value: string) => boolean} */
|
|
9
|
+
const isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
11
|
+
/** @type {(value: string) => boolean} */
|
|
12
|
+
const isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);
|
|
13
|
+
|
|
14
|
+
/** @type {(value: string) => boolean} */
|
|
15
|
+
const isHexPair = RegExp.prototype.test.bind(/^[\da-f]{2}$/iu);
|
|
16
|
+
|
|
17
|
+
/** @type {(value: string) => boolean} */
|
|
18
|
+
const isUnreserved = RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu);
|
|
19
|
+
|
|
20
|
+
/** @type {(value: string) => boolean} */
|
|
21
|
+
const isPathCharacter = RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
* @param {string
|
|
25
|
-
* @
|
|
26
|
-
* @returns {string|undefined}
|
|
24
|
+
* @param {Array<string>} input
|
|
25
|
+
* @returns {string}
|
|
27
26
|
*/
|
|
28
|
-
function stringArrayToHexStripped (input
|
|
27
|
+
function stringArrayToHexStripped (input) {
|
|
29
28
|
let acc = '';
|
|
30
|
-
let
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
let code = 0;
|
|
30
|
+
let i = 0;
|
|
31
|
+
|
|
32
|
+
for (i = 0; i < input.length; i++) {
|
|
33
|
+
code = input[i].charCodeAt(0);
|
|
34
|
+
if (code === 48) {
|
|
35
|
+
continue
|
|
36
|
+
}
|
|
37
|
+
if (!((code >= 48 && code <= 57) || (code >= 65 && code <= 70) || (code >= 97 && code <= 102))) {
|
|
38
|
+
return ''
|
|
39
|
+
}
|
|
40
|
+
acc += input[i];
|
|
41
|
+
break
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
for (i += 1; i < input.length; i++) {
|
|
45
|
+
code = input[i].charCodeAt(0);
|
|
46
|
+
if (!((code >= 48 && code <= 57) || (code >= 65 && code <= 70) || (code >= 97 && code <= 102))) {
|
|
47
|
+
return ''
|
|
48
|
+
}
|
|
49
|
+
acc += input[i];
|
|
35
50
|
}
|
|
36
|
-
if (keepZero && acc.length === 0) acc = '0';
|
|
37
51
|
return acc
|
|
38
52
|
}
|
|
39
53
|
|
|
54
|
+
/**
|
|
55
|
+
* @typedef {Object} GetIPV6Result
|
|
56
|
+
* @property {boolean} error - Indicates if there was an error parsing the IPv6 address.
|
|
57
|
+
* @property {string} address - The parsed IPv6 address.
|
|
58
|
+
* @property {string} [zone] - The zone identifier, if present.
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @param {string} value
|
|
63
|
+
* @returns {boolean}
|
|
64
|
+
*/
|
|
65
|
+
const nonSimpleDomain = RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* @param {Array<string>} buffer
|
|
69
|
+
* @returns {boolean}
|
|
70
|
+
*/
|
|
71
|
+
function consumeIsZone (buffer) {
|
|
72
|
+
buffer.length = 0;
|
|
73
|
+
return true
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* @param {Array<string>} buffer
|
|
78
|
+
* @param {Array<string>} address
|
|
79
|
+
* @param {GetIPV6Result} output
|
|
80
|
+
* @returns {boolean}
|
|
81
|
+
*/
|
|
82
|
+
function consumeHextets (buffer, address, output) {
|
|
83
|
+
if (buffer.length) {
|
|
84
|
+
const hex = stringArrayToHexStripped(buffer);
|
|
85
|
+
if (hex !== '') {
|
|
86
|
+
address.push(hex);
|
|
87
|
+
} else {
|
|
88
|
+
output.error = true;
|
|
89
|
+
return false
|
|
90
|
+
}
|
|
91
|
+
buffer.length = 0;
|
|
92
|
+
}
|
|
93
|
+
return true
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* @param {string} input
|
|
98
|
+
* @returns {GetIPV6Result}
|
|
99
|
+
*/
|
|
40
100
|
function getIPV6 (input) {
|
|
41
101
|
let tokenCount = 0;
|
|
42
102
|
const output = { error: false, address: '', zone: '' };
|
|
103
|
+
/** @type {Array<string>} */
|
|
43
104
|
const address = [];
|
|
105
|
+
/** @type {Array<string>} */
|
|
44
106
|
const buffer = [];
|
|
45
|
-
let isZone = false;
|
|
46
107
|
let endipv6Encountered = false;
|
|
47
108
|
let endIpv6 = false;
|
|
48
109
|
|
|
49
|
-
|
|
50
|
-
if (buffer.length) {
|
|
51
|
-
if (isZone === false) {
|
|
52
|
-
const hex = stringArrayToHexStripped(buffer);
|
|
53
|
-
if (hex !== undefined) {
|
|
54
|
-
address.push(hex);
|
|
55
|
-
} else {
|
|
56
|
-
output.error = true;
|
|
57
|
-
return false
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
buffer.length = 0;
|
|
61
|
-
}
|
|
62
|
-
return true
|
|
63
|
-
}
|
|
110
|
+
let consume = consumeHextets;
|
|
64
111
|
|
|
65
112
|
for (let i = 0; i < input.length; i++) {
|
|
66
113
|
const cursor = input[i];
|
|
@@ -69,29 +116,28 @@ function requireUtils () {
|
|
|
69
116
|
if (endipv6Encountered === true) {
|
|
70
117
|
endIpv6 = true;
|
|
71
118
|
}
|
|
72
|
-
if (!consume()) { break }
|
|
73
|
-
tokenCount
|
|
74
|
-
address.push(':');
|
|
75
|
-
if (tokenCount > 7) {
|
|
119
|
+
if (!consume(buffer, address, output)) { break }
|
|
120
|
+
if (++tokenCount > 7) {
|
|
76
121
|
// not valid
|
|
77
122
|
output.error = true;
|
|
78
123
|
break
|
|
79
124
|
}
|
|
80
|
-
if (i
|
|
125
|
+
if (i > 0 && input[i - 1] === ':') {
|
|
81
126
|
endipv6Encountered = true;
|
|
82
127
|
}
|
|
128
|
+
address.push(':');
|
|
83
129
|
continue
|
|
84
130
|
} else if (cursor === '%') {
|
|
85
|
-
if (!consume()) { break }
|
|
131
|
+
if (!consume(buffer, address, output)) { break }
|
|
86
132
|
// switch to zone detection
|
|
87
|
-
|
|
133
|
+
consume = consumeIsZone;
|
|
88
134
|
} else {
|
|
89
135
|
buffer.push(cursor);
|
|
90
136
|
continue
|
|
91
137
|
}
|
|
92
138
|
}
|
|
93
139
|
if (buffer.length) {
|
|
94
|
-
if (
|
|
140
|
+
if (consume === consumeIsZone) {
|
|
95
141
|
output.zone = buffer.join('');
|
|
96
142
|
} else if (endIpv6) {
|
|
97
143
|
address.push(buffer.join(''));
|
|
@@ -103,7 +149,18 @@ function requireUtils () {
|
|
|
103
149
|
return output
|
|
104
150
|
}
|
|
105
151
|
|
|
106
|
-
|
|
152
|
+
/**
|
|
153
|
+
* @typedef {Object} NormalizeIPv6Result
|
|
154
|
+
* @property {string} host - The normalized host.
|
|
155
|
+
* @property {string} [escapedHost] - The escaped host.
|
|
156
|
+
* @property {boolean} isIPV6 - Indicates if the host is an IPv6 address.
|
|
157
|
+
*/
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* @param {string} host
|
|
161
|
+
* @returns {NormalizeIPv6Result}
|
|
162
|
+
*/
|
|
163
|
+
function normalizeIPv6 (host) {
|
|
107
164
|
if (findToken(host, ':') < 2) { return { host, isIPV6: false } }
|
|
108
165
|
const ipv6 = getIPV6(host);
|
|
109
166
|
|
|
@@ -114,35 +171,17 @@ function requireUtils () {
|
|
|
114
171
|
newHost += '%' + ipv6.zone;
|
|
115
172
|
escapedHost += '%25' + ipv6.zone;
|
|
116
173
|
}
|
|
117
|
-
return { host: newHost,
|
|
174
|
+
return { host: newHost, isIPV6: true, escapedHost }
|
|
118
175
|
} else {
|
|
119
176
|
return { host, isIPV6: false }
|
|
120
177
|
}
|
|
121
178
|
}
|
|
122
179
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
const c = str[i];
|
|
129
|
-
if (c === '0' && skip) {
|
|
130
|
-
if ((i + 1 <= l && str[i + 1] === token) || i + 1 === l) {
|
|
131
|
-
out += c;
|
|
132
|
-
skip = false;
|
|
133
|
-
}
|
|
134
|
-
} else {
|
|
135
|
-
if (c === token) {
|
|
136
|
-
skip = true;
|
|
137
|
-
} else {
|
|
138
|
-
skip = false;
|
|
139
|
-
}
|
|
140
|
-
out += c;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return out
|
|
144
|
-
}
|
|
145
|
-
|
|
180
|
+
/**
|
|
181
|
+
* @param {string} str
|
|
182
|
+
* @param {string} token
|
|
183
|
+
* @returns {number}
|
|
184
|
+
*/
|
|
146
185
|
function findToken (str, token) {
|
|
147
186
|
let ind = 0;
|
|
148
187
|
for (let i = 0; i < str.length; i++) {
|
|
@@ -151,98 +190,258 @@ function requireUtils () {
|
|
|
151
190
|
return ind
|
|
152
191
|
}
|
|
153
192
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
193
|
+
/**
|
|
194
|
+
* @param {string} path
|
|
195
|
+
* @returns {string}
|
|
196
|
+
*
|
|
197
|
+
* @see https://datatracker.ietf.org/doc/html/rfc3986#section-5.2.4
|
|
198
|
+
*/
|
|
199
|
+
function removeDotSegments (path) {
|
|
200
|
+
let input = path;
|
|
160
201
|
const output = [];
|
|
202
|
+
let nextSlash = -1;
|
|
203
|
+
let len = 0;
|
|
161
204
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
} else if (input === '.' || input === '..') {
|
|
171
|
-
input = '';
|
|
172
|
-
} else {
|
|
173
|
-
const im = input.match(RDS5);
|
|
174
|
-
if (im) {
|
|
175
|
-
const s = im[0];
|
|
176
|
-
input = input.slice(s.length);
|
|
177
|
-
output.push(s);
|
|
205
|
+
// eslint-disable-next-line no-cond-assign
|
|
206
|
+
while (len = input.length) {
|
|
207
|
+
if (len === 1) {
|
|
208
|
+
if (input === '.') {
|
|
209
|
+
break
|
|
210
|
+
} else if (input === '/') {
|
|
211
|
+
output.push('/');
|
|
212
|
+
break
|
|
178
213
|
} else {
|
|
179
|
-
|
|
214
|
+
output.push(input);
|
|
215
|
+
break
|
|
216
|
+
}
|
|
217
|
+
} else if (len === 2) {
|
|
218
|
+
if (input[0] === '.') {
|
|
219
|
+
if (input[1] === '.') {
|
|
220
|
+
break
|
|
221
|
+
} else if (input[1] === '/') {
|
|
222
|
+
input = input.slice(2);
|
|
223
|
+
continue
|
|
224
|
+
}
|
|
225
|
+
} else if (input[0] === '/') {
|
|
226
|
+
if (input[1] === '.' || input[1] === '/') {
|
|
227
|
+
output.push('/');
|
|
228
|
+
break
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
} else if (len === 3) {
|
|
232
|
+
if (input === '/..') {
|
|
233
|
+
if (output.length !== 0) {
|
|
234
|
+
output.pop();
|
|
235
|
+
}
|
|
236
|
+
output.push('/');
|
|
237
|
+
break
|
|
180
238
|
}
|
|
181
239
|
}
|
|
240
|
+
if (input[0] === '.') {
|
|
241
|
+
if (input[1] === '.') {
|
|
242
|
+
if (input[2] === '/') {
|
|
243
|
+
input = input.slice(3);
|
|
244
|
+
continue
|
|
245
|
+
}
|
|
246
|
+
} else if (input[1] === '/') {
|
|
247
|
+
input = input.slice(2);
|
|
248
|
+
continue
|
|
249
|
+
}
|
|
250
|
+
} else if (input[0] === '/') {
|
|
251
|
+
if (input[1] === '.') {
|
|
252
|
+
if (input[2] === '/') {
|
|
253
|
+
input = input.slice(2);
|
|
254
|
+
continue
|
|
255
|
+
} else if (input[2] === '.') {
|
|
256
|
+
if (input[3] === '/') {
|
|
257
|
+
input = input.slice(3);
|
|
258
|
+
if (output.length !== 0) {
|
|
259
|
+
output.pop();
|
|
260
|
+
}
|
|
261
|
+
continue
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
// Rule 2E: Move normal path segment to output
|
|
268
|
+
if ((nextSlash = input.indexOf('/', 1)) === -1) {
|
|
269
|
+
output.push(input);
|
|
270
|
+
break
|
|
271
|
+
} else {
|
|
272
|
+
output.push(input.slice(0, nextSlash));
|
|
273
|
+
input = input.slice(nextSlash);
|
|
274
|
+
}
|
|
182
275
|
}
|
|
276
|
+
|
|
183
277
|
return output.join('')
|
|
184
278
|
}
|
|
185
279
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
280
|
+
/**
|
|
281
|
+
* Re-escape RFC 3986 gen-delims that must not appear literally in the host.
|
|
282
|
+
* After the URI regex parses, these characters cannot be literal in the host
|
|
283
|
+
* field, so any that appear after decoding came from percent-encoding and
|
|
284
|
+
* must be restored to prevent authority structure changes.
|
|
285
|
+
*
|
|
286
|
+
* @param {string} host
|
|
287
|
+
* @param {boolean} isIP - true for IPv4/IPv6 hosts (skip colon re-escaping)
|
|
288
|
+
* @returns {string}
|
|
289
|
+
*/
|
|
290
|
+
const HOST_DELIMS = { '@': '%40', '/': '%2F', '?': '%3F', '#': '%23', ':': '%3A' };
|
|
291
|
+
const HOST_DELIM_RE = /[@/?#:]/g;
|
|
292
|
+
const HOST_DELIM_NO_COLON_RE = /[@/?#]/g;
|
|
293
|
+
|
|
294
|
+
function reescapeHostDelimiters (host, isIP) {
|
|
295
|
+
const re = isIP ? HOST_DELIM_NO_COLON_RE : HOST_DELIM_RE;
|
|
296
|
+
re.lastIndex = 0;
|
|
297
|
+
return host.replace(re, (ch) => HOST_DELIMS[ch])
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* Normalizes percent escapes and optionally decodes only unreserved ASCII bytes.
|
|
302
|
+
* Reserved delimiters such as `%2F` and `%2E` stay escaped.
|
|
303
|
+
*
|
|
304
|
+
* @param {string} input
|
|
305
|
+
* @param {boolean} [decodeUnreserved=false]
|
|
306
|
+
* @returns {string}
|
|
307
|
+
*/
|
|
308
|
+
function normalizePercentEncoding (input, decodeUnreserved = false) {
|
|
309
|
+
if (input.indexOf('%') === -1) {
|
|
310
|
+
return input
|
|
196
311
|
}
|
|
197
|
-
|
|
198
|
-
|
|
312
|
+
|
|
313
|
+
let output = '';
|
|
314
|
+
|
|
315
|
+
for (let i = 0; i < input.length; i++) {
|
|
316
|
+
if (input[i] === '%' && i + 2 < input.length) {
|
|
317
|
+
const hex = input.slice(i + 1, i + 3);
|
|
318
|
+
if (isHexPair(hex)) {
|
|
319
|
+
const normalizedHex = hex.toUpperCase();
|
|
320
|
+
const decoded = String.fromCharCode(parseInt(normalizedHex, 16));
|
|
321
|
+
|
|
322
|
+
if (decodeUnreserved && isUnreserved(decoded)) {
|
|
323
|
+
output += decoded;
|
|
324
|
+
} else {
|
|
325
|
+
output += '%' + normalizedHex;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
i += 2;
|
|
329
|
+
continue
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
output += input[i];
|
|
199
334
|
}
|
|
200
|
-
|
|
201
|
-
|
|
335
|
+
|
|
336
|
+
return output
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* Normalizes path data without turning reserved escapes into live path syntax.
|
|
341
|
+
* Valid escapes are uppercased, raw unsafe characters are escaped, and only
|
|
342
|
+
* unreserved bytes that are not `.` are decoded.
|
|
343
|
+
*
|
|
344
|
+
* @param {string} input
|
|
345
|
+
* @returns {string}
|
|
346
|
+
*/
|
|
347
|
+
function normalizePathEncoding (input) {
|
|
348
|
+
let output = '';
|
|
349
|
+
|
|
350
|
+
for (let i = 0; i < input.length; i++) {
|
|
351
|
+
if (input[i] === '%' && i + 2 < input.length) {
|
|
352
|
+
const hex = input.slice(i + 1, i + 3);
|
|
353
|
+
if (isHexPair(hex)) {
|
|
354
|
+
const normalizedHex = hex.toUpperCase();
|
|
355
|
+
const decoded = String.fromCharCode(parseInt(normalizedHex, 16));
|
|
356
|
+
|
|
357
|
+
if (decoded !== '.' && isUnreserved(decoded)) {
|
|
358
|
+
output += decoded;
|
|
359
|
+
} else {
|
|
360
|
+
output += '%' + normalizedHex;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
i += 2;
|
|
364
|
+
continue
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
if (isPathCharacter(input[i])) {
|
|
369
|
+
output += input[i];
|
|
370
|
+
} else {
|
|
371
|
+
output += escape(input[i]);
|
|
372
|
+
}
|
|
202
373
|
}
|
|
203
|
-
|
|
204
|
-
|
|
374
|
+
|
|
375
|
+
return output
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* Escapes a component while preserving existing valid percent escapes.
|
|
380
|
+
*
|
|
381
|
+
* @param {string} input
|
|
382
|
+
* @returns {string}
|
|
383
|
+
*/
|
|
384
|
+
function escapePreservingEscapes (input) {
|
|
385
|
+
let output = '';
|
|
386
|
+
|
|
387
|
+
for (let i = 0; i < input.length; i++) {
|
|
388
|
+
if (input[i] === '%' && i + 2 < input.length) {
|
|
389
|
+
const hex = input.slice(i + 1, i + 3);
|
|
390
|
+
if (isHexPair(hex)) {
|
|
391
|
+
output += '%' + hex.toUpperCase();
|
|
392
|
+
i += 2;
|
|
393
|
+
continue
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
output += escape(input[i]);
|
|
205
398
|
}
|
|
206
|
-
|
|
399
|
+
|
|
400
|
+
return output
|
|
207
401
|
}
|
|
208
402
|
|
|
209
|
-
|
|
403
|
+
/**
|
|
404
|
+
* @param {import('../types/index').URIComponent} component
|
|
405
|
+
* @returns {string|undefined}
|
|
406
|
+
*/
|
|
407
|
+
function recomposeAuthority (component) {
|
|
210
408
|
const uriTokens = [];
|
|
211
409
|
|
|
212
|
-
if (
|
|
213
|
-
uriTokens.push(
|
|
410
|
+
if (component.userinfo !== undefined) {
|
|
411
|
+
uriTokens.push(component.userinfo);
|
|
214
412
|
uriTokens.push('@');
|
|
215
413
|
}
|
|
216
414
|
|
|
217
|
-
if (
|
|
218
|
-
let host = unescape(
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
if (ipV4res.isIPV4) {
|
|
222
|
-
host = ipV4res.host;
|
|
223
|
-
} else {
|
|
224
|
-
const ipV6res = normalizeIPv6(ipV4res.host, { });
|
|
415
|
+
if (component.host !== undefined) {
|
|
416
|
+
let host = unescape(component.host);
|
|
417
|
+
if (!isIPv4(host)) {
|
|
418
|
+
const ipV6res = normalizeIPv6(host);
|
|
225
419
|
if (ipV6res.isIPV6 === true) {
|
|
226
420
|
host = `[${ipV6res.escapedHost}]`;
|
|
227
421
|
} else {
|
|
228
|
-
host =
|
|
422
|
+
host = reescapeHostDelimiters(host, false);
|
|
229
423
|
}
|
|
230
424
|
}
|
|
231
425
|
uriTokens.push(host);
|
|
232
426
|
}
|
|
233
427
|
|
|
234
|
-
if (typeof
|
|
428
|
+
if (typeof component.port === 'number' || typeof component.port === 'string') {
|
|
235
429
|
uriTokens.push(':');
|
|
236
|
-
uriTokens.push(String(
|
|
430
|
+
uriTokens.push(String(component.port));
|
|
237
431
|
}
|
|
238
432
|
|
|
239
433
|
return uriTokens.length ? uriTokens.join('') : undefined
|
|
240
434
|
}
|
|
241
435
|
utils = {
|
|
436
|
+
nonSimpleDomain,
|
|
242
437
|
recomposeAuthority,
|
|
243
|
-
|
|
438
|
+
reescapeHostDelimiters,
|
|
439
|
+
normalizePercentEncoding,
|
|
440
|
+
normalizePathEncoding,
|
|
441
|
+
escapePreservingEscapes,
|
|
244
442
|
removeDotSegments,
|
|
245
|
-
|
|
443
|
+
isIPv4,
|
|
444
|
+
isUUID,
|
|
246
445
|
normalizeIPv6,
|
|
247
446
|
stringArrayToHexStripped
|
|
248
447
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../../node_modules/fast-uri/lib/utils.js"],"sourcesContent":["'use strict'\n\nconst { HEX } = require('./scopedChars')\n\nfunction normalizeIPv4 (host) {\n if (findToken(host, '.') < 3) { return { host, isIPV4: false } }\n const matches = host.match(/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/u) || []\n const [address] = matches\n if (address) {\n return { host: stripLeadingZeros(address, '.'), isIPV4: true }\n } else {\n return { host, isIPV4: false }\n }\n}\n\n/**\n * @param {string[]} input\n * @param {boolean} [keepZero=false]\n * @returns {string|undefined}\n */\nfunction stringArrayToHexStripped (input, keepZero = false) {\n let acc = ''\n let strip = true\n for (const c of input) {\n if (HEX[c] === undefined) return undefined\n if (c !== '0' && strip === true) strip = false\n if (!strip) acc += c\n }\n if (keepZero && acc.length === 0) acc = '0'\n return acc\n}\n\nfunction getIPV6 (input) {\n let tokenCount = 0\n const output = { error: false, address: '', zone: '' }\n const address = []\n const buffer = []\n let isZone = false\n let endipv6Encountered = false\n let endIpv6 = false\n\n function consume () {\n if (buffer.length) {\n if (isZone === false) {\n const hex = stringArrayToHexStripped(buffer)\n if (hex !== undefined) {\n address.push(hex)\n } else {\n output.error = true\n return false\n }\n }\n buffer.length = 0\n }\n return true\n }\n\n for (let i = 0; i < input.length; i++) {\n const cursor = input[i]\n if (cursor === '[' || cursor === ']') { continue }\n if (cursor === ':') {\n if (endipv6Encountered === true) {\n endIpv6 = true\n }\n if (!consume()) { break }\n tokenCount++\n address.push(':')\n if (tokenCount > 7) {\n // not valid\n output.error = true\n break\n }\n if (i - 1 >= 0 && input[i - 1] === ':') {\n endipv6Encountered = true\n }\n continue\n } else if (cursor === '%') {\n if (!consume()) { break }\n // switch to zone detection\n isZone = true\n } else {\n buffer.push(cursor)\n continue\n }\n }\n if (buffer.length) {\n if (isZone) {\n output.zone = buffer.join('')\n } else if (endIpv6) {\n address.push(buffer.join(''))\n } else {\n address.push(stringArrayToHexStripped(buffer))\n }\n }\n output.address = address.join('')\n return output\n}\n\nfunction normalizeIPv6 (host, opts = {}) {\n if (findToken(host, ':') < 2) { return { host, isIPV6: false } }\n const ipv6 = getIPV6(host)\n\n if (!ipv6.error) {\n let newHost = ipv6.address\n let escapedHost = ipv6.address\n if (ipv6.zone) {\n newHost += '%' + ipv6.zone\n escapedHost += '%25' + ipv6.zone\n }\n return { host: newHost, escapedHost, isIPV6: true }\n } else {\n return { host, isIPV6: false }\n }\n}\n\nfunction stripLeadingZeros (str, token) {\n let out = ''\n let skip = true\n const l = str.length\n for (let i = 0; i < l; i++) {\n const c = str[i]\n if (c === '0' && skip) {\n if ((i + 1 <= l && str[i + 1] === token) || i + 1 === l) {\n out += c\n skip = false\n }\n } else {\n if (c === token) {\n skip = true\n } else {\n skip = false\n }\n out += c\n }\n }\n return out\n}\n\nfunction findToken (str, token) {\n let ind = 0\n for (let i = 0; i < str.length; i++) {\n if (str[i] === token) ind++\n }\n return ind\n}\n\nconst RDS1 = /^\\.\\.?\\//u\nconst RDS2 = /^\\/\\.(?:\\/|$)/u\nconst RDS3 = /^\\/\\.\\.(?:\\/|$)/u\nconst RDS5 = /^\\/?(?:.|\\n)*?(?=\\/|$)/u\n\nfunction removeDotSegments (input) {\n const output = []\n\n while (input.length) {\n if (input.match(RDS1)) {\n input = input.replace(RDS1, '')\n } else if (input.match(RDS2)) {\n input = input.replace(RDS2, '/')\n } else if (input.match(RDS3)) {\n input = input.replace(RDS3, '/')\n output.pop()\n } else if (input === '.' || input === '..') {\n input = ''\n } else {\n const im = input.match(RDS5)\n if (im) {\n const s = im[0]\n input = input.slice(s.length)\n output.push(s)\n } else {\n throw new Error('Unexpected dot segment condition')\n }\n }\n }\n return output.join('')\n}\n\nfunction normalizeComponentEncoding (components, esc) {\n const func = esc !== true ? escape : unescape\n if (components.scheme !== undefined) {\n components.scheme = func(components.scheme)\n }\n if (components.userinfo !== undefined) {\n components.userinfo = func(components.userinfo)\n }\n if (components.host !== undefined) {\n components.host = func(components.host)\n }\n if (components.path !== undefined) {\n components.path = func(components.path)\n }\n if (components.query !== undefined) {\n components.query = func(components.query)\n }\n if (components.fragment !== undefined) {\n components.fragment = func(components.fragment)\n }\n return components\n}\n\nfunction recomposeAuthority (components, options) {\n const uriTokens = []\n\n if (components.userinfo !== undefined) {\n uriTokens.push(components.userinfo)\n uriTokens.push('@')\n }\n\n if (components.host !== undefined) {\n let host = unescape(components.host)\n const ipV4res = normalizeIPv4(host)\n\n if (ipV4res.isIPV4) {\n host = ipV4res.host\n } else {\n const ipV6res = normalizeIPv6(ipV4res.host, { isIPV4: false })\n if (ipV6res.isIPV6 === true) {\n host = `[${ipV6res.escapedHost}]`\n } else {\n host = components.host\n }\n }\n uriTokens.push(host)\n }\n\n if (typeof components.port === 'number' || typeof components.port === 'string') {\n uriTokens.push(':')\n uriTokens.push(String(components.port))\n }\n\n return uriTokens.length ? uriTokens.join('') : undefined\n};\n\nmodule.exports = {\n recomposeAuthority,\n normalizeComponentEncoding,\n removeDotSegments,\n normalizeIPv4,\n normalizeIPv6,\n stringArrayToHexStripped\n}\n"],"names":["require$$0"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../../node_modules/fast-uri/lib/utils.js"],"sourcesContent":["'use strict'\n\n/** @type {(value: string) => boolean} */\nconst isUUID = RegExp.prototype.test.bind(/^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}$/iu)\n\n/** @type {(value: string) => boolean} */\nconst isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)$/u)\n\n/** @type {(value: string) => boolean} */\nconst isHexPair = RegExp.prototype.test.bind(/^[\\da-f]{2}$/iu)\n\n/** @type {(value: string) => boolean} */\nconst isUnreserved = RegExp.prototype.test.bind(/^[\\da-z\\-._~]$/iu)\n\n/** @type {(value: string) => boolean} */\nconst isPathCharacter = RegExp.prototype.test.bind(/^[\\da-z\\-._~!$&'()*+,;=:@/]$/iu)\n\n/**\n * @param {Array<string>} input\n * @returns {string}\n */\nfunction stringArrayToHexStripped (input) {\n let acc = ''\n let code = 0\n let i = 0\n\n for (i = 0; i < input.length; i++) {\n code = input[i].charCodeAt(0)\n if (code === 48) {\n continue\n }\n if (!((code >= 48 && code <= 57) || (code >= 65 && code <= 70) || (code >= 97 && code <= 102))) {\n return ''\n }\n acc += input[i]\n break\n }\n\n for (i += 1; i < input.length; i++) {\n code = input[i].charCodeAt(0)\n if (!((code >= 48 && code <= 57) || (code >= 65 && code <= 70) || (code >= 97 && code <= 102))) {\n return ''\n }\n acc += input[i]\n }\n return acc\n}\n\n/**\n * @typedef {Object} GetIPV6Result\n * @property {boolean} error - Indicates if there was an error parsing the IPv6 address.\n * @property {string} address - The parsed IPv6 address.\n * @property {string} [zone] - The zone identifier, if present.\n */\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nconst nonSimpleDomain = RegExp.prototype.test.bind(/[^!\"$&'()*+,\\-.;=_`a-z{}~]/u)\n\n/**\n * @param {Array<string>} buffer\n * @returns {boolean}\n */\nfunction consumeIsZone (buffer) {\n buffer.length = 0\n return true\n}\n\n/**\n * @param {Array<string>} buffer\n * @param {Array<string>} address\n * @param {GetIPV6Result} output\n * @returns {boolean}\n */\nfunction consumeHextets (buffer, address, output) {\n if (buffer.length) {\n const hex = stringArrayToHexStripped(buffer)\n if (hex !== '') {\n address.push(hex)\n } else {\n output.error = true\n return false\n }\n buffer.length = 0\n }\n return true\n}\n\n/**\n * @param {string} input\n * @returns {GetIPV6Result}\n */\nfunction getIPV6 (input) {\n let tokenCount = 0\n const output = { error: false, address: '', zone: '' }\n /** @type {Array<string>} */\n const address = []\n /** @type {Array<string>} */\n const buffer = []\n let endipv6Encountered = false\n let endIpv6 = false\n\n let consume = consumeHextets\n\n for (let i = 0; i < input.length; i++) {\n const cursor = input[i]\n if (cursor === '[' || cursor === ']') { continue }\n if (cursor === ':') {\n if (endipv6Encountered === true) {\n endIpv6 = true\n }\n if (!consume(buffer, address, output)) { break }\n if (++tokenCount > 7) {\n // not valid\n output.error = true\n break\n }\n if (i > 0 && input[i - 1] === ':') {\n endipv6Encountered = true\n }\n address.push(':')\n continue\n } else if (cursor === '%') {\n if (!consume(buffer, address, output)) { break }\n // switch to zone detection\n consume = consumeIsZone\n } else {\n buffer.push(cursor)\n continue\n }\n }\n if (buffer.length) {\n if (consume === consumeIsZone) {\n output.zone = buffer.join('')\n } else if (endIpv6) {\n address.push(buffer.join(''))\n } else {\n address.push(stringArrayToHexStripped(buffer))\n }\n }\n output.address = address.join('')\n return output\n}\n\n/**\n * @typedef {Object} NormalizeIPv6Result\n * @property {string} host - The normalized host.\n * @property {string} [escapedHost] - The escaped host.\n * @property {boolean} isIPV6 - Indicates if the host is an IPv6 address.\n */\n\n/**\n * @param {string} host\n * @returns {NormalizeIPv6Result}\n */\nfunction normalizeIPv6 (host) {\n if (findToken(host, ':') < 2) { return { host, isIPV6: false } }\n const ipv6 = getIPV6(host)\n\n if (!ipv6.error) {\n let newHost = ipv6.address\n let escapedHost = ipv6.address\n if (ipv6.zone) {\n newHost += '%' + ipv6.zone\n escapedHost += '%25' + ipv6.zone\n }\n return { host: newHost, isIPV6: true, escapedHost }\n } else {\n return { host, isIPV6: false }\n }\n}\n\n/**\n * @param {string} str\n * @param {string} token\n * @returns {number}\n */\nfunction findToken (str, token) {\n let ind = 0\n for (let i = 0; i < str.length; i++) {\n if (str[i] === token) ind++\n }\n return ind\n}\n\n/**\n * @param {string} path\n * @returns {string}\n *\n * @see https://datatracker.ietf.org/doc/html/rfc3986#section-5.2.4\n */\nfunction removeDotSegments (path) {\n let input = path\n const output = []\n let nextSlash = -1\n let len = 0\n\n // eslint-disable-next-line no-cond-assign\n while (len = input.length) {\n if (len === 1) {\n if (input === '.') {\n break\n } else if (input === '/') {\n output.push('/')\n break\n } else {\n output.push(input)\n break\n }\n } else if (len === 2) {\n if (input[0] === '.') {\n if (input[1] === '.') {\n break\n } else if (input[1] === '/') {\n input = input.slice(2)\n continue\n }\n } else if (input[0] === '/') {\n if (input[1] === '.' || input[1] === '/') {\n output.push('/')\n break\n }\n }\n } else if (len === 3) {\n if (input === '/..') {\n if (output.length !== 0) {\n output.pop()\n }\n output.push('/')\n break\n }\n }\n if (input[0] === '.') {\n if (input[1] === '.') {\n if (input[2] === '/') {\n input = input.slice(3)\n continue\n }\n } else if (input[1] === '/') {\n input = input.slice(2)\n continue\n }\n } else if (input[0] === '/') {\n if (input[1] === '.') {\n if (input[2] === '/') {\n input = input.slice(2)\n continue\n } else if (input[2] === '.') {\n if (input[3] === '/') {\n input = input.slice(3)\n if (output.length !== 0) {\n output.pop()\n }\n continue\n }\n }\n }\n }\n\n // Rule 2E: Move normal path segment to output\n if ((nextSlash = input.indexOf('/', 1)) === -1) {\n output.push(input)\n break\n } else {\n output.push(input.slice(0, nextSlash))\n input = input.slice(nextSlash)\n }\n }\n\n return output.join('')\n}\n\n/**\n * Re-escape RFC 3986 gen-delims that must not appear literally in the host.\n * After the URI regex parses, these characters cannot be literal in the host\n * field, so any that appear after decoding came from percent-encoding and\n * must be restored to prevent authority structure changes.\n *\n * @param {string} host\n * @param {boolean} isIP - true for IPv4/IPv6 hosts (skip colon re-escaping)\n * @returns {string}\n */\nconst HOST_DELIMS = { '@': '%40', '/': '%2F', '?': '%3F', '#': '%23', ':': '%3A' }\nconst HOST_DELIM_RE = /[@/?#:]/g\nconst HOST_DELIM_NO_COLON_RE = /[@/?#]/g\n\nfunction reescapeHostDelimiters (host, isIP) {\n const re = isIP ? HOST_DELIM_NO_COLON_RE : HOST_DELIM_RE\n re.lastIndex = 0\n return host.replace(re, (ch) => HOST_DELIMS[ch])\n}\n\n/**\n * Normalizes percent escapes and optionally decodes only unreserved ASCII bytes.\n * Reserved delimiters such as `%2F` and `%2E` stay escaped.\n *\n * @param {string} input\n * @param {boolean} [decodeUnreserved=false]\n * @returns {string}\n */\nfunction normalizePercentEncoding (input, decodeUnreserved = false) {\n if (input.indexOf('%') === -1) {\n return input\n }\n\n let output = ''\n\n for (let i = 0; i < input.length; i++) {\n if (input[i] === '%' && i + 2 < input.length) {\n const hex = input.slice(i + 1, i + 3)\n if (isHexPair(hex)) {\n const normalizedHex = hex.toUpperCase()\n const decoded = String.fromCharCode(parseInt(normalizedHex, 16))\n\n if (decodeUnreserved && isUnreserved(decoded)) {\n output += decoded\n } else {\n output += '%' + normalizedHex\n }\n\n i += 2\n continue\n }\n }\n\n output += input[i]\n }\n\n return output\n}\n\n/**\n * Normalizes path data without turning reserved escapes into live path syntax.\n * Valid escapes are uppercased, raw unsafe characters are escaped, and only\n * unreserved bytes that are not `.` are decoded.\n *\n * @param {string} input\n * @returns {string}\n */\nfunction normalizePathEncoding (input) {\n let output = ''\n\n for (let i = 0; i < input.length; i++) {\n if (input[i] === '%' && i + 2 < input.length) {\n const hex = input.slice(i + 1, i + 3)\n if (isHexPair(hex)) {\n const normalizedHex = hex.toUpperCase()\n const decoded = String.fromCharCode(parseInt(normalizedHex, 16))\n\n if (decoded !== '.' && isUnreserved(decoded)) {\n output += decoded\n } else {\n output += '%' + normalizedHex\n }\n\n i += 2\n continue\n }\n }\n\n if (isPathCharacter(input[i])) {\n output += input[i]\n } else {\n output += escape(input[i])\n }\n }\n\n return output\n}\n\n/**\n * Escapes a component while preserving existing valid percent escapes.\n *\n * @param {string} input\n * @returns {string}\n */\nfunction escapePreservingEscapes (input) {\n let output = ''\n\n for (let i = 0; i < input.length; i++) {\n if (input[i] === '%' && i + 2 < input.length) {\n const hex = input.slice(i + 1, i + 3)\n if (isHexPair(hex)) {\n output += '%' + hex.toUpperCase()\n i += 2\n continue\n }\n }\n\n output += escape(input[i])\n }\n\n return output\n}\n\n/**\n * @param {import('../types/index').URIComponent} component\n * @returns {string|undefined}\n */\nfunction recomposeAuthority (component) {\n const uriTokens = []\n\n if (component.userinfo !== undefined) {\n uriTokens.push(component.userinfo)\n uriTokens.push('@')\n }\n\n if (component.host !== undefined) {\n let host = unescape(component.host)\n if (!isIPv4(host)) {\n const ipV6res = normalizeIPv6(host)\n if (ipV6res.isIPV6 === true) {\n host = `[${ipV6res.escapedHost}]`\n } else {\n host = reescapeHostDelimiters(host, false)\n }\n }\n uriTokens.push(host)\n }\n\n if (typeof component.port === 'number' || typeof component.port === 'string') {\n uriTokens.push(':')\n uriTokens.push(String(component.port))\n }\n\n return uriTokens.length ? uriTokens.join('') : undefined\n};\n\nmodule.exports = {\n nonSimpleDomain,\n recomposeAuthority,\n reescapeHostDelimiters,\n normalizePercentEncoding,\n normalizePathEncoding,\n escapePreservingEscapes,\n removeDotSegments,\n isIPv4,\n isUUID,\n normalizeIPv6,\n stringArrayToHexStripped\n}\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as fastPaths } from '../../../../../../../_virtual/
|
|
1
|
+
import { __exports as fastPaths } from '../../../../../../../_virtual/index55.js';
|
|
2
2
|
import { __require as requireAllParents } from './all-parents.js';
|
|
3
3
|
import { __require as requireDeepSingleMember } from './deep-single-member.js';
|
|
4
4
|
import { __require as requireDeepWildcard } from './deep-wildcard.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as optimizer } from '../../../../../../../_virtual/
|
|
1
|
+
import { __exports as optimizer } from '../../../../../../../_virtual/index54.js';
|
|
2
2
|
import { __require as requireInternalScope } from '../templates/internal-scope.js';
|
|
3
3
|
import { __require as requireScope } from '../templates/scope.js';
|
|
4
4
|
|