@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.
Files changed (70) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/_vendor/@stoplight/json-ref-resolver/crawler.js +1 -1
  3. package/dist/_vendor/@stoplight/json-ref-resolver/index.js +1 -1
  4. package/dist/_vendor/@stoplight/json-ref-resolver/runner.js +2 -2
  5. package/dist/_vendor/@stoplight/spectral-core/dist/document.js +2 -2
  6. package/dist/_vendor/@stoplight/spectral-core/dist/documentInventory.js +2 -2
  7. package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/rule.js +2 -2
  8. package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/ruleset.js +2 -2
  9. package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/utils/guards.js +1 -1
  10. package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/assertions.js +1 -1
  11. package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/validators/alias.js +1 -1
  12. package/dist/_vendor/@stoplight/spectral-core/dist/runner/index.js +1 -1
  13. package/dist/_vendor/@stoplight/spectral-core/dist/runner/runner.js +1 -1
  14. package/dist/_vendor/@stoplight/spectral-core/dist/spectral.js +1 -1
  15. package/dist/_vendor/@stoplight/spectral-core/dist/types/index.js +1 -1
  16. package/dist/_vendor/@stoplight/spectral-formats/dist/arazzo.js +1 -1
  17. package/dist/_vendor/@stoplight/spectral-formats/dist/asyncapi.js +1 -1
  18. package/dist/_vendor/@stoplight/spectral-formats/dist/jsonSchema.js +1 -1
  19. package/dist/_vendor/@stoplight/spectral-formats/dist/openapi.js +1 -1
  20. package/dist/_vendor/@stoplight/spectral-functions/dist/index.js +1 -1
  21. package/dist/_vendor/@stoplight/spectral-functions/dist/length.js +1 -1
  22. package/dist/_vendor/@stoplight/spectral-functions/dist/unreferencedReusableObject.js +1 -1
  23. package/dist/_vendor/@stoplight/spectral-parsers/dist/json.js +1 -1
  24. package/dist/_vendor/@stoplight/spectral-runtime/dist/reader.js +1 -1
  25. package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/decodeSegmentFragment.js +1 -1
  26. package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/printPath.js +1 -1
  27. package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/printValue.js +1 -1
  28. package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/refs.js +2 -2
  29. package/dist/_vendor/ajv/dist/refs/json-schema-2019-09/index.js +1 -1
  30. package/dist/_vendor/ajv/dist/refs/json-schema-2020-12/index.js +1 -1
  31. package/dist/_vendor/ajv/dist/vocabularies/applicator/index.js +1 -1
  32. package/dist/_vendor/ajv/dist/vocabularies/core/index.js +1 -1
  33. package/dist/_vendor/ajv/dist/vocabularies/dynamic/index.js +1 -1
  34. package/dist/_vendor/ajv/dist/vocabularies/format/index.js +1 -1
  35. package/dist/_vendor/ajv/dist/vocabularies/unevaluated/index.js +1 -1
  36. package/dist/_vendor/ajv/dist/vocabularies/validation/index.js +1 -1
  37. package/dist/_vendor/fast-uri/index.js +180 -83
  38. package/dist/_vendor/fast-uri/index.js.map +1 -1
  39. package/dist/_vendor/fast-uri/lib/schemes.js +163 -82
  40. package/dist/_vendor/fast-uri/lib/schemes.js.map +1 -1
  41. package/dist/_vendor/fast-uri/lib/utils.js +327 -128
  42. package/dist/_vendor/fast-uri/lib/utils.js.map +1 -1
  43. package/dist/_vendor/json-schema-traverse/index.js +1 -1
  44. package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/index.js +1 -1
  45. package/dist/_vendor/nimma/dist/legacy/cjs/codegen/optimizer/index.js +1 -1
  46. package/dist/_virtual/index.es.js +3 -3
  47. package/dist/_virtual/index.es2.js +3 -3
  48. package/dist/_virtual/index16.js +2 -2
  49. package/dist/_virtual/index17.js +2 -2
  50. package/dist/_virtual/index25.js +2 -2
  51. package/dist/_virtual/index26.js +2 -2
  52. package/dist/_virtual/index27.js +2 -2
  53. package/dist/_virtual/index28.js +2 -2
  54. package/dist/_virtual/index31.js +2 -2
  55. package/dist/_virtual/index32.js +2 -2
  56. package/dist/_virtual/index34.js +2 -2
  57. package/dist/_virtual/index35.js +2 -2
  58. package/dist/_virtual/index54.js +2 -2
  59. package/dist/_virtual/index55.js +2 -2
  60. package/dist/_virtual/index56.js +2 -2
  61. package/dist/_virtual/index57.js +2 -2
  62. package/dist/_virtual/index58.js +2 -2
  63. package/dist/_virtual/index59.js +2 -2
  64. package/dist/packageVersion.d.ts +1 -1
  65. package/dist/packageVersion.js +1 -1
  66. package/dist/packageVersion.js.map +1 -1
  67. package/package.json +2 -2
  68. package/src/packageVersion.ts +1 -1
  69. package/dist/_vendor/fast-uri/lib/scopedChars.js +0 -40
  70. package/dist/_vendor/fast-uri/lib/scopedChars.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { __module as fastUri } from '../../_virtual/index34.js';
1
+ import { __module as fastUri } from '../../_virtual/index35.js';
2
2
  import { __require as requireUtils } from './lib/utils.js';
3
3
  import { __require as requireSchemes } from './lib/schemes.js';
4
4
 
@@ -8,29 +8,50 @@ function requireFastUri () {
8
8
  if (hasRequiredFastUri) return fastUri.exports;
9
9
  hasRequiredFastUri = 1;
10
10
 
11
- const { normalizeIPv6, normalizeIPv4, removeDotSegments, recomposeAuthority, normalizeComponentEncoding } = /*@__PURE__*/ requireUtils();
12
- const SCHEMES = /*@__PURE__*/ requireSchemes();
11
+ const { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizePercentEncoding, normalizePathEncoding, escapePreservingEscapes, reescapeHostDelimiters, isIPv4, nonSimpleDomain } = /*@__PURE__*/ requireUtils();
12
+ const { SCHEMES, getSchemeHandler } = /*@__PURE__*/ requireSchemes();
13
13
 
14
+ /**
15
+ * @template {import('./types/index').URIComponent|string} T
16
+ * @param {T} uri
17
+ * @param {import('./types/index').Options} [options]
18
+ * @returns {T}
19
+ */
14
20
  function normalize (uri, options) {
15
21
  if (typeof uri === 'string') {
16
- uri = serialize(parse(uri, options), options);
22
+ uri = /** @type {T} */ (normalizeString(uri, options));
17
23
  } else if (typeof uri === 'object') {
18
- uri = parse(serialize(uri, options), options);
24
+ uri = /** @type {T} */ (parse(serialize(uri, options), options));
19
25
  }
20
26
  return uri
21
27
  }
22
28
 
29
+ /**
30
+ * @param {string} baseURI
31
+ * @param {string} relativeURI
32
+ * @param {import('./types/index').Options} [options]
33
+ * @returns {string}
34
+ */
23
35
  function resolve (baseURI, relativeURI, options) {
24
- const schemelessOptions = Object.assign({ scheme: 'null' }, options);
25
- const resolved = resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true);
26
- return serialize(resolved, { ...schemelessOptions, skipEscape: true })
36
+ const schemelessOptions = options ? Object.assign({ scheme: 'null' }, options) : { scheme: 'null' };
37
+ const resolved = resolveComponent(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true);
38
+ schemelessOptions.skipEscape = true;
39
+ return serialize(resolved, schemelessOptions)
27
40
  }
28
41
 
29
- function resolveComponents (base, relative, options, skipNormalization) {
42
+ /**
43
+ * @param {import ('./types/index').URIComponent} base
44
+ * @param {import ('./types/index').URIComponent} relative
45
+ * @param {import('./types/index').Options} [options]
46
+ * @param {boolean} [skipNormalization=false]
47
+ * @returns {import ('./types/index').URIComponent}
48
+ */
49
+ function resolveComponent (base, relative, options, skipNormalization) {
50
+ /** @type {import('./types/index').URIComponent} */
30
51
  const target = {};
31
52
  if (!skipNormalization) {
32
- base = parse(serialize(base, options), options); // normalize base components
33
- relative = parse(serialize(relative, options), options); // normalize relative components
53
+ base = parse(serialize(base, options), options); // normalize base component
54
+ relative = parse(serialize(relative, options), options); // normalize relative component
34
55
  }
35
56
  options = options || {};
36
57
 
@@ -59,7 +80,7 @@ function requireFastUri () {
59
80
  target.query = base.query;
60
81
  }
61
82
  } else {
62
- if (relative.path.charAt(0) === '/') {
83
+ if (relative.path[0] === '/') {
63
84
  target.path = removeDotSegments(relative.path);
64
85
  } else {
65
86
  if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {
@@ -86,26 +107,26 @@ function requireFastUri () {
86
107
  return target
87
108
  }
88
109
 
110
+ /**
111
+ * @param {import ('./types/index').URIComponent|string} uriA
112
+ * @param {import ('./types/index').URIComponent|string} uriB
113
+ * @param {import ('./types/index').Options} options
114
+ * @returns {boolean}
115
+ */
89
116
  function equal (uriA, uriB, options) {
90
- if (typeof uriA === 'string') {
91
- uriA = unescape(uriA);
92
- uriA = serialize(normalizeComponentEncoding(parse(uriA, options), true), { ...options, skipEscape: true });
93
- } else if (typeof uriA === 'object') {
94
- uriA = serialize(normalizeComponentEncoding(uriA, true), { ...options, skipEscape: true });
95
- }
96
-
97
- if (typeof uriB === 'string') {
98
- uriB = unescape(uriB);
99
- uriB = serialize(normalizeComponentEncoding(parse(uriB, options), true), { ...options, skipEscape: true });
100
- } else if (typeof uriB === 'object') {
101
- uriB = serialize(normalizeComponentEncoding(uriB, true), { ...options, skipEscape: true });
102
- }
117
+ const normalizedA = normalizeComparableURI(uriA, options);
118
+ const normalizedB = normalizeComparableURI(uriB, options);
103
119
 
104
- return uriA.toLowerCase() === uriB.toLowerCase()
120
+ return normalizedA !== undefined && normalizedB !== undefined && normalizedA.toLowerCase() === normalizedB.toLowerCase()
105
121
  }
106
122
 
123
+ /**
124
+ * @param {Readonly<import('./types/index').URIComponent>} cmpts
125
+ * @param {import('./types/index').Options} [opts]
126
+ * @returns {string}
127
+ */
107
128
  function serialize (cmpts, opts) {
108
- const components = {
129
+ const component = {
109
130
  host: cmpts.host,
110
131
  scheme: cmpts.scheme,
111
132
  userinfo: cmpts.userinfo,
@@ -125,29 +146,28 @@ function requireFastUri () {
125
146
  const uriTokens = [];
126
147
 
127
148
  // find scheme handler
128
- const schemeHandler = SCHEMES[(options.scheme || components.scheme || '').toLowerCase()];
149
+ const schemeHandler = getSchemeHandler(options.scheme || component.scheme);
129
150
 
130
151
  // perform scheme specific serialization
131
- if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options);
152
+ if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(component, options);
132
153
 
133
- if (components.path !== undefined) {
154
+ if (component.path !== undefined) {
134
155
  if (!options.skipEscape) {
135
- components.path = escape(components.path);
156
+ component.path = escapePreservingEscapes(component.path);
136
157
 
137
- if (components.scheme !== undefined) {
138
- components.path = components.path.split('%3A').join(':');
158
+ if (component.scheme !== undefined) {
159
+ component.path = component.path.split('%3A').join(':');
139
160
  }
140
161
  } else {
141
- components.path = unescape(components.path);
162
+ component.path = normalizePercentEncoding(component.path);
142
163
  }
143
164
  }
144
165
 
145
- if (options.reference !== 'suffix' && components.scheme) {
146
- uriTokens.push(components.scheme);
147
- uriTokens.push(':');
166
+ if (options.reference !== 'suffix' && component.scheme) {
167
+ uriTokens.push(component.scheme, ':');
148
168
  }
149
169
 
150
- const authority = recomposeAuthority(components, options);
170
+ const authority = recomposeAuthority(component);
151
171
  if (authority !== undefined) {
152
172
  if (options.reference !== 'suffix') {
153
173
  uriTokens.push('//');
@@ -155,53 +175,66 @@ function requireFastUri () {
155
175
 
156
176
  uriTokens.push(authority);
157
177
 
158
- if (components.path && components.path.charAt(0) !== '/') {
178
+ if (component.path && component.path[0] !== '/') {
159
179
  uriTokens.push('/');
160
180
  }
161
181
  }
162
- if (components.path !== undefined) {
163
- let s = components.path;
182
+ if (component.path !== undefined) {
183
+ let s = component.path;
164
184
 
165
185
  if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {
166
186
  s = removeDotSegments(s);
167
187
  }
168
188
 
169
- if (authority === undefined) {
170
- s = s.replace(/^\/\//u, '/%2F'); // don't allow the path to start with "//"
189
+ if (
190
+ authority === undefined &&
191
+ s[0] === '/' &&
192
+ s[1] === '/'
193
+ ) {
194
+ // don't allow the path to start with "//"
195
+ s = '/%2F' + s.slice(2);
171
196
  }
172
197
 
173
198
  uriTokens.push(s);
174
199
  }
175
200
 
176
- if (components.query !== undefined) {
177
- uriTokens.push('?');
178
- uriTokens.push(components.query);
201
+ if (component.query !== undefined) {
202
+ uriTokens.push('?', component.query);
179
203
  }
180
204
 
181
- if (components.fragment !== undefined) {
182
- uriTokens.push('#');
183
- uriTokens.push(components.fragment);
205
+ if (component.fragment !== undefined) {
206
+ uriTokens.push('#', component.fragment);
184
207
  }
185
208
  return uriTokens.join('')
186
209
  }
187
210
 
188
- const hexLookUp = Array.from({ length: 127 }, (v, k) => /[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(k)));
211
+ const URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;
189
212
 
190
- function nonSimpleDomain (value) {
191
- let code = 0;
192
- for (let i = 0, len = value.length; i < len; ++i) {
193
- code = value.charCodeAt(i);
194
- if (code > 126 || hexLookUp[code]) {
195
- return true
196
- }
213
+ /**
214
+ * @param {import('./types/index').URIComponent} parsed
215
+ * @param {RegExpMatchArray} matches
216
+ * @returns {string|undefined}
217
+ */
218
+ function getParseError (parsed, matches) {
219
+ if (matches[2] !== undefined && parsed.path && parsed.path[0] !== '/') {
220
+ return 'URI path must start with "/" when authority is present.'
197
221
  }
198
- return false
199
- }
200
222
 
201
- const URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;
223
+ if (typeof parsed.port === 'number' && (parsed.port < 0 || parsed.port > 65535)) {
224
+ return 'URI port is malformed.'
225
+ }
202
226
 
203
- function parse (uri, opts) {
227
+ return undefined
228
+ }
229
+
230
+ /**
231
+ * @param {string} uri
232
+ * @param {import('./types/index').Options} [opts]
233
+ * @returns {{ parsed: import('./types/index').URIComponent, malformedAuthorityOrPort: boolean }}
234
+ */
235
+ function parseWithStatus (uri, opts) {
204
236
  const options = Object.assign({}, opts);
237
+ /** @type {import('./types/index').URIComponent} */
205
238
  const parsed = {
206
239
  scheme: undefined,
207
240
  userinfo: undefined,
@@ -211,9 +244,17 @@ function requireFastUri () {
211
244
  query: undefined,
212
245
  fragment: undefined
213
246
  };
214
- const gotEncoding = uri.indexOf('%') !== -1;
247
+
248
+ let malformedAuthorityOrPort = false;
249
+
215
250
  let isIP = false;
216
- if (options.reference === 'suffix') uri = (options.scheme ? options.scheme + ':' : '') + '//' + uri;
251
+ if (options.reference === 'suffix') {
252
+ if (options.scheme) {
253
+ uri = options.scheme + ':' + uri;
254
+ } else {
255
+ uri = '//' + uri;
256
+ }
257
+ }
217
258
 
218
259
  const matches = uri.match(URI_PARSE);
219
260
 
@@ -231,18 +272,24 @@ function requireFastUri () {
231
272
  if (isNaN(parsed.port)) {
232
273
  parsed.port = matches[5];
233
274
  }
275
+
276
+ const parseError = getParseError(parsed, matches);
277
+ if (parseError !== undefined) {
278
+ parsed.error = parsed.error || parseError;
279
+ malformedAuthorityOrPort = true;
280
+ }
281
+
234
282
  if (parsed.host) {
235
- const ipv4result = normalizeIPv4(parsed.host);
236
- if (ipv4result.isIPV4 === false) {
237
- const ipv6result = normalizeIPv6(ipv4result.host, { isIPV4: false });
283
+ const ipv4result = isIPv4(parsed.host);
284
+ if (ipv4result === false) {
285
+ const ipv6result = normalizeIPv6(parsed.host);
238
286
  parsed.host = ipv6result.host.toLowerCase();
239
287
  isIP = ipv6result.isIPV6;
240
288
  } else {
241
- parsed.host = ipv4result.host;
242
289
  isIP = true;
243
290
  }
244
291
  }
245
- if (parsed.scheme === undefined && parsed.userinfo === undefined && parsed.host === undefined && parsed.port === undefined && !parsed.path && parsed.query === undefined) {
292
+ if (parsed.scheme === undefined && parsed.userinfo === undefined && parsed.host === undefined && parsed.port === undefined && parsed.query === undefined && !parsed.path) {
246
293
  parsed.reference = 'same-document';
247
294
  } else if (parsed.scheme === undefined) {
248
295
  parsed.reference = 'relative';
@@ -258,7 +305,7 @@ function requireFastUri () {
258
305
  }
259
306
 
260
307
  // find scheme handler
261
- const schemeHandler = SCHEMES[(options.scheme || parsed.scheme || '').toLowerCase()];
308
+ const schemeHandler = getSchemeHandler(options.scheme || parsed.scheme);
262
309
 
263
310
  // check if scheme can't handle IRIs
264
311
  if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {
@@ -275,20 +322,23 @@ function requireFastUri () {
275
322
  }
276
323
 
277
324
  if (!schemeHandler || (schemeHandler && !schemeHandler.skipNormalize)) {
278
- if (gotEncoding && parsed.scheme !== undefined) {
279
- parsed.scheme = unescape(parsed.scheme);
280
- }
281
- if (gotEncoding && parsed.userinfo !== undefined) {
282
- parsed.userinfo = unescape(parsed.userinfo);
283
- }
284
- if (gotEncoding && parsed.host !== undefined) {
285
- parsed.host = unescape(parsed.host);
325
+ if (uri.indexOf('%') !== -1) {
326
+ if (parsed.scheme !== undefined) {
327
+ parsed.scheme = unescape(parsed.scheme);
328
+ }
329
+ if (parsed.host !== undefined) {
330
+ parsed.host = reescapeHostDelimiters(unescape(parsed.host), isIP);
331
+ }
286
332
  }
287
- if (parsed.path !== undefined && parsed.path.length) {
288
- parsed.path = escape(unescape(parsed.path));
333
+ if (parsed.path) {
334
+ parsed.path = normalizePathEncoding(parsed.path);
289
335
  }
290
- if (parsed.fragment !== undefined && parsed.fragment.length) {
291
- parsed.fragment = encodeURI(decodeURIComponent(parsed.fragment));
336
+ if (parsed.fragment) {
337
+ try {
338
+ parsed.fragment = encodeURI(decodeURIComponent(parsed.fragment));
339
+ } catch {
340
+ parsed.error = parsed.error || 'URI malformed';
341
+ }
292
342
  }
293
343
  }
294
344
 
@@ -299,14 +349,61 @@ function requireFastUri () {
299
349
  } else {
300
350
  parsed.error = parsed.error || 'URI can not be parsed.';
301
351
  }
302
- return parsed
352
+ return { parsed, malformedAuthorityOrPort }
353
+ }
354
+
355
+ /**
356
+ * @param {string} uri
357
+ * @param {import('./types/index').Options} [opts]
358
+ * @returns
359
+ */
360
+ function parse (uri, opts) {
361
+ return parseWithStatus(uri, opts).parsed
362
+ }
363
+
364
+ /**
365
+ * @param {string} uri
366
+ * @param {import('./types/index').Options} [opts]
367
+ * @returns {string}
368
+ */
369
+ function normalizeString (uri, opts) {
370
+ return normalizeStringWithStatus(uri, opts).normalized
371
+ }
372
+
373
+ /**
374
+ * @param {string} uri
375
+ * @param {import('./types/index').Options} [opts]
376
+ * @returns {{ normalized: string, malformedAuthorityOrPort: boolean }}
377
+ */
378
+ function normalizeStringWithStatus (uri, opts) {
379
+ const { parsed, malformedAuthorityOrPort } = parseWithStatus(uri, opts);
380
+ return {
381
+ normalized: malformedAuthorityOrPort ? uri : serialize(parsed, opts),
382
+ malformedAuthorityOrPort
383
+ }
384
+ }
385
+
386
+ /**
387
+ * @param {import ('./types/index').URIComponent|string} uri
388
+ * @param {import('./types/index').Options} [opts]
389
+ * @returns {string|undefined}
390
+ */
391
+ function normalizeComparableURI (uri, opts) {
392
+ if (typeof uri === 'string') {
393
+ const { normalized, malformedAuthorityOrPort } = normalizeStringWithStatus(uri, opts);
394
+ return malformedAuthorityOrPort ? undefined : normalized
395
+ }
396
+
397
+ if (typeof uri === 'object') {
398
+ return serialize(uri, opts)
399
+ }
303
400
  }
304
401
 
305
402
  const fastUri$1 = {
306
403
  SCHEMES,
307
404
  normalize,
308
405
  resolve,
309
- resolveComponents,
406
+ resolveComponent,
310
407
  equal,
311
408
  serialize,
312
409
  parse
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../node_modules/fast-uri/index.js"],"sourcesContent":["'use strict'\n\nconst { normalizeIPv6, normalizeIPv4, removeDotSegments, recomposeAuthority, normalizeComponentEncoding } = require('./lib/utils')\nconst SCHEMES = require('./lib/schemes')\n\nfunction normalize (uri, options) {\n if (typeof uri === 'string') {\n uri = serialize(parse(uri, options), options)\n } else if (typeof uri === 'object') {\n uri = parse(serialize(uri, options), options)\n }\n return uri\n}\n\nfunction resolve (baseURI, relativeURI, options) {\n const schemelessOptions = Object.assign({ scheme: 'null' }, options)\n const resolved = resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true)\n return serialize(resolved, { ...schemelessOptions, skipEscape: true })\n}\n\nfunction resolveComponents (base, relative, options, skipNormalization) {\n const target = {}\n if (!skipNormalization) {\n base = parse(serialize(base, options), options) // normalize base components\n relative = parse(serialize(relative, options), options) // normalize relative components\n }\n options = options || {}\n\n if (!options.tolerant && relative.scheme) {\n target.scheme = relative.scheme\n // target.authority = relative.authority;\n target.userinfo = relative.userinfo\n target.host = relative.host\n target.port = relative.port\n target.path = removeDotSegments(relative.path || '')\n target.query = relative.query\n } else {\n if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {\n // target.authority = relative.authority;\n target.userinfo = relative.userinfo\n target.host = relative.host\n target.port = relative.port\n target.path = removeDotSegments(relative.path || '')\n target.query = relative.query\n } else {\n if (!relative.path) {\n target.path = base.path\n if (relative.query !== undefined) {\n target.query = relative.query\n } else {\n target.query = base.query\n }\n } else {\n if (relative.path.charAt(0) === '/') {\n target.path = removeDotSegments(relative.path)\n } else {\n if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n target.path = '/' + relative.path\n } else if (!base.path) {\n target.path = relative.path\n } else {\n target.path = base.path.slice(0, base.path.lastIndexOf('/') + 1) + relative.path\n }\n target.path = removeDotSegments(target.path)\n }\n target.query = relative.query\n }\n // target.authority = base.authority;\n target.userinfo = base.userinfo\n target.host = base.host\n target.port = base.port\n }\n target.scheme = base.scheme\n }\n\n target.fragment = relative.fragment\n\n return target\n}\n\nfunction equal (uriA, uriB, options) {\n if (typeof uriA === 'string') {\n uriA = unescape(uriA)\n uriA = serialize(normalizeComponentEncoding(parse(uriA, options), true), { ...options, skipEscape: true })\n } else if (typeof uriA === 'object') {\n uriA = serialize(normalizeComponentEncoding(uriA, true), { ...options, skipEscape: true })\n }\n\n if (typeof uriB === 'string') {\n uriB = unescape(uriB)\n uriB = serialize(normalizeComponentEncoding(parse(uriB, options), true), { ...options, skipEscape: true })\n } else if (typeof uriB === 'object') {\n uriB = serialize(normalizeComponentEncoding(uriB, true), { ...options, skipEscape: true })\n }\n\n return uriA.toLowerCase() === uriB.toLowerCase()\n}\n\nfunction serialize (cmpts, opts) {\n const components = {\n host: cmpts.host,\n scheme: cmpts.scheme,\n userinfo: cmpts.userinfo,\n port: cmpts.port,\n path: cmpts.path,\n query: cmpts.query,\n nid: cmpts.nid,\n nss: cmpts.nss,\n uuid: cmpts.uuid,\n fragment: cmpts.fragment,\n reference: cmpts.reference,\n resourceName: cmpts.resourceName,\n secure: cmpts.secure,\n error: ''\n }\n const options = Object.assign({}, opts)\n const uriTokens = []\n\n // find scheme handler\n const schemeHandler = SCHEMES[(options.scheme || components.scheme || '').toLowerCase()]\n\n // perform scheme specific serialization\n if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options)\n\n if (components.path !== undefined) {\n if (!options.skipEscape) {\n components.path = escape(components.path)\n\n if (components.scheme !== undefined) {\n components.path = components.path.split('%3A').join(':')\n }\n } else {\n components.path = unescape(components.path)\n }\n }\n\n if (options.reference !== 'suffix' && components.scheme) {\n uriTokens.push(components.scheme)\n uriTokens.push(':')\n }\n\n const authority = recomposeAuthority(components, options)\n if (authority !== undefined) {\n if (options.reference !== 'suffix') {\n uriTokens.push('//')\n }\n\n uriTokens.push(authority)\n\n if (components.path && components.path.charAt(0) !== '/') {\n uriTokens.push('/')\n }\n }\n if (components.path !== undefined) {\n let s = components.path\n\n if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {\n s = removeDotSegments(s)\n }\n\n if (authority === undefined) {\n s = s.replace(/^\\/\\//u, '/%2F') // don't allow the path to start with \"//\"\n }\n\n uriTokens.push(s)\n }\n\n if (components.query !== undefined) {\n uriTokens.push('?')\n uriTokens.push(components.query)\n }\n\n if (components.fragment !== undefined) {\n uriTokens.push('#')\n uriTokens.push(components.fragment)\n }\n return uriTokens.join('')\n}\n\nconst hexLookUp = Array.from({ length: 127 }, (v, k) => /[^!\"$&'()*+,\\-.;=_`a-z{}~]/u.test(String.fromCharCode(k)))\n\nfunction nonSimpleDomain (value) {\n let code = 0\n for (let i = 0, len = value.length; i < len; ++i) {\n code = value.charCodeAt(i)\n if (code > 126 || hexLookUp[code]) {\n return true\n }\n }\n return false\n}\n\nconst URI_PARSE = /^(?:([^#/:?]+):)?(?:\\/\\/((?:([^#/?@]*)@)?(\\[[^#/?\\]]+\\]|[^#/:?]*)(?::(\\d*))?))?([^#?]*)(?:\\?([^#]*))?(?:#((?:.|[\\n\\r])*))?/u\n\nfunction parse (uri, opts) {\n const options = Object.assign({}, opts)\n const parsed = {\n scheme: undefined,\n userinfo: undefined,\n host: '',\n port: undefined,\n path: '',\n query: undefined,\n fragment: undefined\n }\n const gotEncoding = uri.indexOf('%') !== -1\n let isIP = false\n if (options.reference === 'suffix') uri = (options.scheme ? options.scheme + ':' : '') + '//' + uri\n\n const matches = uri.match(URI_PARSE)\n\n if (matches) {\n // store each component\n parsed.scheme = matches[1]\n parsed.userinfo = matches[3]\n parsed.host = matches[4]\n parsed.port = parseInt(matches[5], 10)\n parsed.path = matches[6] || ''\n parsed.query = matches[7]\n parsed.fragment = matches[8]\n\n // fix port number\n if (isNaN(parsed.port)) {\n parsed.port = matches[5]\n }\n if (parsed.host) {\n const ipv4result = normalizeIPv4(parsed.host)\n if (ipv4result.isIPV4 === false) {\n const ipv6result = normalizeIPv6(ipv4result.host, { isIPV4: false })\n parsed.host = ipv6result.host.toLowerCase()\n isIP = ipv6result.isIPV6\n } else {\n parsed.host = ipv4result.host\n isIP = true\n }\n }\n if (parsed.scheme === undefined && parsed.userinfo === undefined && parsed.host === undefined && parsed.port === undefined && !parsed.path && parsed.query === undefined) {\n parsed.reference = 'same-document'\n } else if (parsed.scheme === undefined) {\n parsed.reference = 'relative'\n } else if (parsed.fragment === undefined) {\n parsed.reference = 'absolute'\n } else {\n parsed.reference = 'uri'\n }\n\n // check for reference errors\n if (options.reference && options.reference !== 'suffix' && options.reference !== parsed.reference) {\n parsed.error = parsed.error || 'URI is not a ' + options.reference + ' reference.'\n }\n\n // find scheme handler\n const schemeHandler = SCHEMES[(options.scheme || parsed.scheme || '').toLowerCase()]\n\n // check if scheme can't handle IRIs\n if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {\n // if host component is a domain name\n if (parsed.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost)) && isIP === false && nonSimpleDomain(parsed.host)) {\n // convert Unicode IDN -> ASCII IDN\n try {\n parsed.host = URL.domainToASCII(parsed.host.toLowerCase())\n } catch (e) {\n parsed.error = parsed.error || \"Host's domain name can not be converted to ASCII: \" + e\n }\n }\n // convert IRI -> URI\n }\n\n if (!schemeHandler || (schemeHandler && !schemeHandler.skipNormalize)) {\n if (gotEncoding && parsed.scheme !== undefined) {\n parsed.scheme = unescape(parsed.scheme)\n }\n if (gotEncoding && parsed.userinfo !== undefined) {\n parsed.userinfo = unescape(parsed.userinfo)\n }\n if (gotEncoding && parsed.host !== undefined) {\n parsed.host = unescape(parsed.host)\n }\n if (parsed.path !== undefined && parsed.path.length) {\n parsed.path = escape(unescape(parsed.path))\n }\n if (parsed.fragment !== undefined && parsed.fragment.length) {\n parsed.fragment = encodeURI(decodeURIComponent(parsed.fragment))\n }\n }\n\n // perform scheme specific parsing\n if (schemeHandler && schemeHandler.parse) {\n schemeHandler.parse(parsed, options)\n }\n } else {\n parsed.error = parsed.error || 'URI can not be parsed.'\n }\n return parsed\n}\n\nconst fastUri = {\n SCHEMES,\n normalize,\n resolve,\n resolveComponents,\n equal,\n serialize,\n parse\n}\n\nmodule.exports = fastUri\nmodule.exports.default = fastUri\nmodule.exports.fastUri = fastUri\n"],"names":["require$$0","require$$1","fastUri","fastUriModule"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../../../../../node_modules/fast-uri/index.js"],"sourcesContent":["'use strict'\n\nconst { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizePercentEncoding, normalizePathEncoding, escapePreservingEscapes, reescapeHostDelimiters, isIPv4, nonSimpleDomain } = require('./lib/utils')\nconst { SCHEMES, getSchemeHandler } = require('./lib/schemes')\n\n/**\n * @template {import('./types/index').URIComponent|string} T\n * @param {T} uri\n * @param {import('./types/index').Options} [options]\n * @returns {T}\n */\nfunction normalize (uri, options) {\n if (typeof uri === 'string') {\n uri = /** @type {T} */ (normalizeString(uri, options))\n } else if (typeof uri === 'object') {\n uri = /** @type {T} */ (parse(serialize(uri, options), options))\n }\n return uri\n}\n\n/**\n * @param {string} baseURI\n * @param {string} relativeURI\n * @param {import('./types/index').Options} [options]\n * @returns {string}\n */\nfunction resolve (baseURI, relativeURI, options) {\n const schemelessOptions = options ? Object.assign({ scheme: 'null' }, options) : { scheme: 'null' }\n const resolved = resolveComponent(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true)\n schemelessOptions.skipEscape = true\n return serialize(resolved, schemelessOptions)\n}\n\n/**\n * @param {import ('./types/index').URIComponent} base\n * @param {import ('./types/index').URIComponent} relative\n * @param {import('./types/index').Options} [options]\n * @param {boolean} [skipNormalization=false]\n * @returns {import ('./types/index').URIComponent}\n */\nfunction resolveComponent (base, relative, options, skipNormalization) {\n /** @type {import('./types/index').URIComponent} */\n const target = {}\n if (!skipNormalization) {\n base = parse(serialize(base, options), options) // normalize base component\n relative = parse(serialize(relative, options), options) // normalize relative component\n }\n options = options || {}\n\n if (!options.tolerant && relative.scheme) {\n target.scheme = relative.scheme\n // target.authority = relative.authority;\n target.userinfo = relative.userinfo\n target.host = relative.host\n target.port = relative.port\n target.path = removeDotSegments(relative.path || '')\n target.query = relative.query\n } else {\n if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {\n // target.authority = relative.authority;\n target.userinfo = relative.userinfo\n target.host = relative.host\n target.port = relative.port\n target.path = removeDotSegments(relative.path || '')\n target.query = relative.query\n } else {\n if (!relative.path) {\n target.path = base.path\n if (relative.query !== undefined) {\n target.query = relative.query\n } else {\n target.query = base.query\n }\n } else {\n if (relative.path[0] === '/') {\n target.path = removeDotSegments(relative.path)\n } else {\n if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n target.path = '/' + relative.path\n } else if (!base.path) {\n target.path = relative.path\n } else {\n target.path = base.path.slice(0, base.path.lastIndexOf('/') + 1) + relative.path\n }\n target.path = removeDotSegments(target.path)\n }\n target.query = relative.query\n }\n // target.authority = base.authority;\n target.userinfo = base.userinfo\n target.host = base.host\n target.port = base.port\n }\n target.scheme = base.scheme\n }\n\n target.fragment = relative.fragment\n\n return target\n}\n\n/**\n * @param {import ('./types/index').URIComponent|string} uriA\n * @param {import ('./types/index').URIComponent|string} uriB\n * @param {import ('./types/index').Options} options\n * @returns {boolean}\n */\nfunction equal (uriA, uriB, options) {\n const normalizedA = normalizeComparableURI(uriA, options)\n const normalizedB = normalizeComparableURI(uriB, options)\n\n return normalizedA !== undefined && normalizedB !== undefined && normalizedA.toLowerCase() === normalizedB.toLowerCase()\n}\n\n/**\n * @param {Readonly<import('./types/index').URIComponent>} cmpts\n * @param {import('./types/index').Options} [opts]\n * @returns {string}\n */\nfunction serialize (cmpts, opts) {\n const component = {\n host: cmpts.host,\n scheme: cmpts.scheme,\n userinfo: cmpts.userinfo,\n port: cmpts.port,\n path: cmpts.path,\n query: cmpts.query,\n nid: cmpts.nid,\n nss: cmpts.nss,\n uuid: cmpts.uuid,\n fragment: cmpts.fragment,\n reference: cmpts.reference,\n resourceName: cmpts.resourceName,\n secure: cmpts.secure,\n error: ''\n }\n const options = Object.assign({}, opts)\n const uriTokens = []\n\n // find scheme handler\n const schemeHandler = getSchemeHandler(options.scheme || component.scheme)\n\n // perform scheme specific serialization\n if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(component, options)\n\n if (component.path !== undefined) {\n if (!options.skipEscape) {\n component.path = escapePreservingEscapes(component.path)\n\n if (component.scheme !== undefined) {\n component.path = component.path.split('%3A').join(':')\n }\n } else {\n component.path = normalizePercentEncoding(component.path)\n }\n }\n\n if (options.reference !== 'suffix' && component.scheme) {\n uriTokens.push(component.scheme, ':')\n }\n\n const authority = recomposeAuthority(component)\n if (authority !== undefined) {\n if (options.reference !== 'suffix') {\n uriTokens.push('//')\n }\n\n uriTokens.push(authority)\n\n if (component.path && component.path[0] !== '/') {\n uriTokens.push('/')\n }\n }\n if (component.path !== undefined) {\n let s = component.path\n\n if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {\n s = removeDotSegments(s)\n }\n\n if (\n authority === undefined &&\n s[0] === '/' &&\n s[1] === '/'\n ) {\n // don't allow the path to start with \"//\"\n s = '/%2F' + s.slice(2)\n }\n\n uriTokens.push(s)\n }\n\n if (component.query !== undefined) {\n uriTokens.push('?', component.query)\n }\n\n if (component.fragment !== undefined) {\n uriTokens.push('#', component.fragment)\n }\n return uriTokens.join('')\n}\n\nconst URI_PARSE = /^(?:([^#/:?]+):)?(?:\\/\\/((?:([^#/?@]*)@)?(\\[[^#/?\\]]+\\]|[^#/:?]*)(?::(\\d*))?))?([^#?]*)(?:\\?([^#]*))?(?:#((?:.|[\\n\\r])*))?/u\n\n/**\n * @param {import('./types/index').URIComponent} parsed\n * @param {RegExpMatchArray} matches\n * @returns {string|undefined}\n */\nfunction getParseError (parsed, matches) {\n if (matches[2] !== undefined && parsed.path && parsed.path[0] !== '/') {\n return 'URI path must start with \"/\" when authority is present.'\n }\n\n if (typeof parsed.port === 'number' && (parsed.port < 0 || parsed.port > 65535)) {\n return 'URI port is malformed.'\n }\n\n return undefined\n}\n\n/**\n * @param {string} uri\n * @param {import('./types/index').Options} [opts]\n * @returns {{ parsed: import('./types/index').URIComponent, malformedAuthorityOrPort: boolean }}\n */\nfunction parseWithStatus (uri, opts) {\n const options = Object.assign({}, opts)\n /** @type {import('./types/index').URIComponent} */\n const parsed = {\n scheme: undefined,\n userinfo: undefined,\n host: '',\n port: undefined,\n path: '',\n query: undefined,\n fragment: undefined\n }\n\n let malformedAuthorityOrPort = false\n\n let isIP = false\n if (options.reference === 'suffix') {\n if (options.scheme) {\n uri = options.scheme + ':' + uri\n } else {\n uri = '//' + uri\n }\n }\n\n const matches = uri.match(URI_PARSE)\n\n if (matches) {\n // store each component\n parsed.scheme = matches[1]\n parsed.userinfo = matches[3]\n parsed.host = matches[4]\n parsed.port = parseInt(matches[5], 10)\n parsed.path = matches[6] || ''\n parsed.query = matches[7]\n parsed.fragment = matches[8]\n\n // fix port number\n if (isNaN(parsed.port)) {\n parsed.port = matches[5]\n }\n\n const parseError = getParseError(parsed, matches)\n if (parseError !== undefined) {\n parsed.error = parsed.error || parseError\n malformedAuthorityOrPort = true\n }\n\n if (parsed.host) {\n const ipv4result = isIPv4(parsed.host)\n if (ipv4result === false) {\n const ipv6result = normalizeIPv6(parsed.host)\n parsed.host = ipv6result.host.toLowerCase()\n isIP = ipv6result.isIPV6\n } else {\n isIP = true\n }\n }\n if (parsed.scheme === undefined && parsed.userinfo === undefined && parsed.host === undefined && parsed.port === undefined && parsed.query === undefined && !parsed.path) {\n parsed.reference = 'same-document'\n } else if (parsed.scheme === undefined) {\n parsed.reference = 'relative'\n } else if (parsed.fragment === undefined) {\n parsed.reference = 'absolute'\n } else {\n parsed.reference = 'uri'\n }\n\n // check for reference errors\n if (options.reference && options.reference !== 'suffix' && options.reference !== parsed.reference) {\n parsed.error = parsed.error || 'URI is not a ' + options.reference + ' reference.'\n }\n\n // find scheme handler\n const schemeHandler = getSchemeHandler(options.scheme || parsed.scheme)\n\n // check if scheme can't handle IRIs\n if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {\n // if host component is a domain name\n if (parsed.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost)) && isIP === false && nonSimpleDomain(parsed.host)) {\n // convert Unicode IDN -> ASCII IDN\n try {\n parsed.host = URL.domainToASCII(parsed.host.toLowerCase())\n } catch (e) {\n parsed.error = parsed.error || \"Host's domain name can not be converted to ASCII: \" + e\n }\n }\n // convert IRI -> URI\n }\n\n if (!schemeHandler || (schemeHandler && !schemeHandler.skipNormalize)) {\n if (uri.indexOf('%') !== -1) {\n if (parsed.scheme !== undefined) {\n parsed.scheme = unescape(parsed.scheme)\n }\n if (parsed.host !== undefined) {\n parsed.host = reescapeHostDelimiters(unescape(parsed.host), isIP)\n }\n }\n if (parsed.path) {\n parsed.path = normalizePathEncoding(parsed.path)\n }\n if (parsed.fragment) {\n try {\n parsed.fragment = encodeURI(decodeURIComponent(parsed.fragment))\n } catch {\n parsed.error = parsed.error || 'URI malformed'\n }\n }\n }\n\n // perform scheme specific parsing\n if (schemeHandler && schemeHandler.parse) {\n schemeHandler.parse(parsed, options)\n }\n } else {\n parsed.error = parsed.error || 'URI can not be parsed.'\n }\n return { parsed, malformedAuthorityOrPort }\n}\n\n/**\n * @param {string} uri\n * @param {import('./types/index').Options} [opts]\n * @returns\n */\nfunction parse (uri, opts) {\n return parseWithStatus(uri, opts).parsed\n}\n\n/**\n * @param {string} uri\n * @param {import('./types/index').Options} [opts]\n * @returns {string}\n */\nfunction normalizeString (uri, opts) {\n return normalizeStringWithStatus(uri, opts).normalized\n}\n\n/**\n * @param {string} uri\n * @param {import('./types/index').Options} [opts]\n * @returns {{ normalized: string, malformedAuthorityOrPort: boolean }}\n */\nfunction normalizeStringWithStatus (uri, opts) {\n const { parsed, malformedAuthorityOrPort } = parseWithStatus(uri, opts)\n return {\n normalized: malformedAuthorityOrPort ? uri : serialize(parsed, opts),\n malformedAuthorityOrPort\n }\n}\n\n/**\n * @param {import ('./types/index').URIComponent|string} uri\n * @param {import('./types/index').Options} [opts]\n * @returns {string|undefined}\n */\nfunction normalizeComparableURI (uri, opts) {\n if (typeof uri === 'string') {\n const { normalized, malformedAuthorityOrPort } = normalizeStringWithStatus(uri, opts)\n return malformedAuthorityOrPort ? undefined : normalized\n }\n\n if (typeof uri === 'object') {\n return serialize(uri, opts)\n }\n}\n\nconst fastUri = {\n SCHEMES,\n normalize,\n resolve,\n resolveComponent,\n equal,\n serialize,\n parse\n}\n\nmodule.exports = fastUri\nmodule.exports.default = fastUri\nmodule.exports.fastUri = fastUri\n"],"names":["require$$0","require$$1","fastUri","fastUriModule"],"mappings":"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","x_google_ignoreList":[0]}