@gooddata/code-cli 0.57.0-alpha.3 → 0.57.0-alpha.5
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/NOTICE +437 -343
- package/dist/index.js +661 -221
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -37370,7 +37370,7 @@ function isPromise(value) {
|
|
|
37370
37370
|
//#endregion
|
|
37371
37371
|
//#region package.json
|
|
37372
37372
|
var name$1 = "@gooddata/code-cli";
|
|
37373
|
-
var version$1 = "0.57.0-alpha.
|
|
37373
|
+
var version$1 = "0.57.0-alpha.5";
|
|
37374
37374
|
//#endregion
|
|
37375
37375
|
//#region ../../../common/temp/aac/node_modules/.pnpm/vscode-languageserver@8.1.0/node_modules/vscode-languageserver/lib/common/utils/is.js
|
|
37376
37376
|
var require_is$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
@@ -80144,7 +80144,7 @@ var require_src$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
80144
80144
|
else module.exports = require_node$1();
|
|
80145
80145
|
}));
|
|
80146
80146
|
//#endregion
|
|
80147
|
-
//#region ../../../common/temp/aac/node_modules/.pnpm/follow-redirects@1.16.
|
|
80147
|
+
//#region ../../../common/temp/aac/node_modules/.pnpm/follow-redirects@1.16.1_debug@4.4.3/node_modules/follow-redirects/debug.js
|
|
80148
80148
|
var require_debug$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
80149
80149
|
var debug;
|
|
80150
80150
|
module.exports = function() {
|
|
@@ -80158,7 +80158,7 @@ var require_debug$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
80158
80158
|
};
|
|
80159
80159
|
}));
|
|
80160
80160
|
//#endregion
|
|
80161
|
-
//#region ../../../common/temp/aac/node_modules/.pnpm/follow-redirects@1.16.
|
|
80161
|
+
//#region ../../../common/temp/aac/node_modules/.pnpm/follow-redirects@1.16.1_debug@4.4.3/node_modules/follow-redirects/index.js
|
|
80162
80162
|
var require_follow_redirects$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
80163
80163
|
var url$4 = __require("url");
|
|
80164
80164
|
var URL = url$4.URL;
|
|
@@ -80362,6 +80362,11 @@ var require_follow_redirects$1 = /* @__PURE__ */ __commonJSMin(((exports, module
|
|
|
80362
80362
|
});
|
|
80363
80363
|
RedirectableRequest.prototype._sanitizeOptions = function(options) {
|
|
80364
80364
|
if (!options.headers) options.headers = {};
|
|
80365
|
+
else if (Array.isArray(options.headers)) {
|
|
80366
|
+
var headerList = options.headers;
|
|
80367
|
+
options.headers = {};
|
|
80368
|
+
for (var i = 0; i < headerList.length; i += 2) options.headers[headerList[i]] = headerList[i + 1];
|
|
80369
|
+
}
|
|
80365
80370
|
if (!isArray(options.sensitiveHeaders)) options.sensitiveHeaders = [];
|
|
80366
80371
|
if (options.host) {
|
|
80367
80372
|
if (!options.hostname) options.hostname = options.host;
|
|
@@ -80594,7 +80599,7 @@ var require_follow_redirects$1 = /* @__PURE__ */ __commonJSMin(((exports, module
|
|
|
80594
80599
|
return URL && value instanceof URL;
|
|
80595
80600
|
}
|
|
80596
80601
|
function escapeRegex(regex) {
|
|
80597
|
-
return regex.replace(/[\]\\/()
|
|
80602
|
+
return regex.replace(/[[\]\\/()*+?.^$|]/g, "\\$&");
|
|
80598
80603
|
}
|
|
80599
80604
|
module.exports = wrap({
|
|
80600
80605
|
http: http$6,
|
|
@@ -99715,18 +99720,34 @@ var require_data = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
99715
99720
|
};
|
|
99716
99721
|
}));
|
|
99717
99722
|
//#endregion
|
|
99718
|
-
//#region ../../../common/temp/aac/node_modules/.pnpm/fast-uri@3.1.
|
|
99723
|
+
//#region ../../../common/temp/aac/node_modules/.pnpm/fast-uri@3.1.8/node_modules/fast-uri/lib/utils.js
|
|
99719
99724
|
var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
99720
99725
|
/** @type {(value: string) => boolean} */
|
|
99721
99726
|
const isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
|
|
99722
99727
|
/** @type {(value: string) => boolean} */
|
|
99723
99728
|
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);
|
|
99724
99729
|
/** @type {(value: string) => boolean} */
|
|
99730
|
+
const isPort = RegExp.prototype.test.bind(/^\d*$/u);
|
|
99731
|
+
/** @type {(value: string) => boolean} */
|
|
99725
99732
|
const isHexPair = RegExp.prototype.test.bind(/^[\da-f]{2}$/iu);
|
|
99726
99733
|
/** @type {(value: string) => boolean} */
|
|
99727
99734
|
const isUnreserved = RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu);
|
|
99728
99735
|
/** @type {(value: string) => boolean} */
|
|
99729
|
-
const isPathCharacter = RegExp.prototype.test.bind(/^[
|
|
99736
|
+
const isPathCharacter = RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:@/]$/u);
|
|
99737
|
+
/** @type {(value: string) => boolean} */
|
|
99738
|
+
const isQueryFragmentCharacter = RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:@/?]$/u);
|
|
99739
|
+
/** @type {(value: string) => boolean} */
|
|
99740
|
+
const isUserinfoCharacter = RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:]$/u);
|
|
99741
|
+
const BYTE_HEX = new Array(256);
|
|
99742
|
+
{
|
|
99743
|
+
const HEX_DIGITS = "0123456789ABCDEF";
|
|
99744
|
+
for (let i = 0; i < 256; i++) BYTE_HEX[i] = "%" + HEX_DIGITS[i >> 4] + HEX_DIGITS[i & 15];
|
|
99745
|
+
}
|
|
99746
|
+
function percentEncodeNonAscii(cp) {
|
|
99747
|
+
if (cp < 2048) return BYTE_HEX[192 | cp >> 6] + BYTE_HEX[128 | cp & 63];
|
|
99748
|
+
if (cp < 65536) return BYTE_HEX[224 | cp >> 12] + BYTE_HEX[128 | cp >> 6 & 63] + BYTE_HEX[128 | cp & 63];
|
|
99749
|
+
return BYTE_HEX[240 | cp >> 18] + BYTE_HEX[128 | cp >> 12 & 63] + BYTE_HEX[128 | cp >> 6 & 63] + BYTE_HEX[128 | cp & 63];
|
|
99750
|
+
}
|
|
99730
99751
|
/**
|
|
99731
99752
|
* @param {Array<string>} input
|
|
99732
99753
|
* @returns {string}
|
|
@@ -99749,119 +99770,162 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
99749
99770
|
}
|
|
99750
99771
|
return acc;
|
|
99751
99772
|
}
|
|
99752
|
-
/**
|
|
99753
|
-
|
|
99754
|
-
|
|
99755
|
-
|
|
99756
|
-
|
|
99757
|
-
|
|
99773
|
+
/** @type {(value: string) => boolean} */
|
|
99774
|
+
const isHextet = RegExp.prototype.test.bind(/^[\dA-Fa-f]{1,4}$/);
|
|
99775
|
+
/** @type {(value: string) => boolean} */
|
|
99776
|
+
const isIPvFuture = RegExp.prototype.test.bind(/^[vV][\dA-Fa-f]+\.[A-Za-z\d\-._~!$&'()*+,;=:]+$/);
|
|
99777
|
+
/** @type {(value: string) => boolean} */
|
|
99778
|
+
const isZoneCharacter = RegExp.prototype.test.bind(/^[A-Za-z\d\-._~]$/);
|
|
99758
99779
|
/**
|
|
99759
99780
|
* @param {string} value
|
|
99760
99781
|
* @returns {boolean}
|
|
99761
99782
|
*/
|
|
99762
99783
|
const nonSimpleDomain = RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);
|
|
99763
99784
|
/**
|
|
99764
|
-
* @param {
|
|
99785
|
+
* @param {string} zone
|
|
99765
99786
|
* @returns {boolean}
|
|
99766
99787
|
*/
|
|
99767
|
-
function
|
|
99768
|
-
|
|
99788
|
+
function isZoneIdentifier(zone) {
|
|
99789
|
+
if (zone.length === 0) return false;
|
|
99790
|
+
for (let i = 0; i < zone.length; i++) {
|
|
99791
|
+
if (isZoneCharacter(zone[i])) continue;
|
|
99792
|
+
if (zone[i] === "%" && i + 2 < zone.length && isHexPair(zone.slice(i + 1, i + 3))) {
|
|
99793
|
+
i += 2;
|
|
99794
|
+
continue;
|
|
99795
|
+
}
|
|
99796
|
+
return false;
|
|
99797
|
+
}
|
|
99769
99798
|
return true;
|
|
99770
99799
|
}
|
|
99771
99800
|
/**
|
|
99772
|
-
*
|
|
99773
|
-
*
|
|
99774
|
-
*
|
|
99775
|
-
* @
|
|
99801
|
+
* Compresses the longest run of zero hextets to "::" per RFC 5952. A run of a
|
|
99802
|
+
* single zero hextet is left uncompressed. On ties the leftmost run wins.
|
|
99803
|
+
*
|
|
99804
|
+
* @param {string[]} hextets
|
|
99805
|
+
* @returns {string}
|
|
99776
99806
|
*/
|
|
99777
|
-
function
|
|
99778
|
-
|
|
99779
|
-
|
|
99780
|
-
|
|
99781
|
-
|
|
99782
|
-
|
|
99783
|
-
|
|
99807
|
+
function compressIPv6ZeroRun(hextets) {
|
|
99808
|
+
let bestStart = -1;
|
|
99809
|
+
let bestLength = 0;
|
|
99810
|
+
let runStart = -1;
|
|
99811
|
+
let runLength = 0;
|
|
99812
|
+
for (let i = 0; i < hextets.length; i++) if (hextets[i] === "0") {
|
|
99813
|
+
if (runStart === -1) runStart = i;
|
|
99814
|
+
runLength++;
|
|
99815
|
+
if (runLength > bestLength) {
|
|
99816
|
+
bestLength = runLength;
|
|
99817
|
+
bestStart = runStart;
|
|
99784
99818
|
}
|
|
99785
|
-
|
|
99819
|
+
} else {
|
|
99820
|
+
runStart = -1;
|
|
99821
|
+
runLength = 0;
|
|
99786
99822
|
}
|
|
99787
|
-
return
|
|
99823
|
+
if (bestLength < 2) return hextets.join(":");
|
|
99824
|
+
const head = hextets.slice(0, bestStart).join(":");
|
|
99825
|
+
const tail = hextets.slice(bestStart + bestLength).join(":");
|
|
99826
|
+
return head + "::" + tail;
|
|
99788
99827
|
}
|
|
99789
99828
|
/**
|
|
99829
|
+
* Validates an IPv6 address against the alternatives in RFC 3986 section
|
|
99830
|
+
* 3.2.2 and returns the same address with leading hextet zeroes removed.
|
|
99831
|
+
* An embedded IPv4 address counts as two hextets and is only valid at the end.
|
|
99832
|
+
*
|
|
99790
99833
|
* @param {string} input
|
|
99791
|
-
* @returns {
|
|
99834
|
+
* @returns {string|undefined}
|
|
99792
99835
|
*/
|
|
99793
|
-
function
|
|
99794
|
-
|
|
99795
|
-
|
|
99796
|
-
|
|
99797
|
-
|
|
99798
|
-
|
|
99799
|
-
|
|
99800
|
-
|
|
99801
|
-
|
|
99802
|
-
|
|
99803
|
-
|
|
99804
|
-
let
|
|
99805
|
-
|
|
99806
|
-
|
|
99807
|
-
|
|
99808
|
-
|
|
99809
|
-
|
|
99810
|
-
if (cursor === ":") {
|
|
99811
|
-
if (endipv6Encountered === true) endIpv6 = true;
|
|
99812
|
-
if (!consume(buffer, address, output)) break;
|
|
99813
|
-
if (++tokenCount > 7) {
|
|
99814
|
-
output.error = true;
|
|
99815
|
-
break;
|
|
99816
|
-
}
|
|
99817
|
-
if (i > 0 && input[i - 1] === ":") endipv6Encountered = true;
|
|
99818
|
-
address.push(":");
|
|
99819
|
-
continue;
|
|
99820
|
-
} else if (cursor === "%") {
|
|
99821
|
-
if (!consume(buffer, address, output)) break;
|
|
99822
|
-
consume = consumeIsZone;
|
|
99823
|
-
} else {
|
|
99824
|
-
buffer.push(cursor);
|
|
99836
|
+
function normalizeIPv6Address(input) {
|
|
99837
|
+
const compression = input.indexOf("::");
|
|
99838
|
+
if (compression !== -1 && input.indexOf("::", compression + 1) !== -1) return void 0;
|
|
99839
|
+
const left = compression === -1 ? input.split(":") : input.slice(0, compression).split(":");
|
|
99840
|
+
const right = compression === -1 ? [] : input.slice(compression + 2).split(":");
|
|
99841
|
+
if (compression !== -1) {
|
|
99842
|
+
if (left.length === 1 && left[0] === "") left.length = 0;
|
|
99843
|
+
if (right.length === 1 && right[0] === "") right.length = 0;
|
|
99844
|
+
}
|
|
99845
|
+
const parts = left.concat(right);
|
|
99846
|
+
let hextetCount = 0;
|
|
99847
|
+
for (let i = 0; i < parts.length; i++) {
|
|
99848
|
+
const part = parts[i];
|
|
99849
|
+
if (part === "") return void 0;
|
|
99850
|
+
if (part.indexOf(".") !== -1) {
|
|
99851
|
+
if (i !== parts.length - 1 || compression !== -1 && right.length === 0 || !isIPv4(part)) return void 0;
|
|
99852
|
+
hextetCount += 2;
|
|
99825
99853
|
continue;
|
|
99826
99854
|
}
|
|
99855
|
+
if (!isHextet(part)) return void 0;
|
|
99856
|
+
parts[i] = parseInt(part, 16).toString(16);
|
|
99857
|
+
hextetCount++;
|
|
99827
99858
|
}
|
|
99828
|
-
if (
|
|
99829
|
-
|
|
99830
|
-
|
|
99831
|
-
|
|
99832
|
-
return
|
|
99859
|
+
if (compression === -1) {
|
|
99860
|
+
if (hextetCount !== 8) return void 0;
|
|
99861
|
+
return compressIPv6ZeroRun(parts);
|
|
99862
|
+
}
|
|
99863
|
+
if (hextetCount >= 8) return void 0;
|
|
99864
|
+
const expanded = parts.slice(0, left.length);
|
|
99865
|
+
for (let i = hextetCount; i < 8; i++) expanded.push("0");
|
|
99866
|
+
for (let i = left.length; i < parts.length; i++) expanded.push(parts[i]);
|
|
99867
|
+
return compressIPv6ZeroRun(expanded);
|
|
99833
99868
|
}
|
|
99834
99869
|
/**
|
|
99835
99870
|
* @typedef {Object} NormalizeIPv6Result
|
|
99836
99871
|
* @property {string} host - The normalized host.
|
|
99837
99872
|
* @property {string} [escapedHost] - The escaped host.
|
|
99838
99873
|
* @property {boolean} isIPV6 - Indicates if the host is an IPv6 address.
|
|
99874
|
+
* @property {boolean} [isIPVFuture] - Indicates if the host is an IPvFuture literal.
|
|
99875
|
+
* @property {boolean} [error] - Indicates if a bracketed IP literal is malformed.
|
|
99839
99876
|
*/
|
|
99840
99877
|
/**
|
|
99878
|
+
* Validates and normalizes a bracketed IP literal. Raw zone separators remain
|
|
99879
|
+
* accepted for backwards compatibility, while encoded separators and zone
|
|
99880
|
+
* contents follow RFC 6874.
|
|
99881
|
+
*
|
|
99841
99882
|
* @param {string} host
|
|
99842
99883
|
* @returns {NormalizeIPv6Result}
|
|
99843
99884
|
*/
|
|
99844
99885
|
function normalizeIPv6(host) {
|
|
99845
|
-
|
|
99886
|
+
const bracketed = host[0] === "[" && host[host.length - 1] === "]";
|
|
99887
|
+
if ((host[0] === "[" || host[host.length - 1] === "]") && !bracketed) return {
|
|
99846
99888
|
host,
|
|
99847
|
-
isIPV6: false
|
|
99889
|
+
isIPV6: false,
|
|
99890
|
+
error: true
|
|
99848
99891
|
};
|
|
99849
|
-
|
|
99850
|
-
if (
|
|
99851
|
-
|
|
99852
|
-
let escapedHost = ipv6.address;
|
|
99853
|
-
if (ipv6.zone) {
|
|
99854
|
-
newHost += "%" + ipv6.zone;
|
|
99855
|
-
escapedHost += "%25" + ipv6.zone;
|
|
99856
|
-
}
|
|
99892
|
+
let input = bracketed ? host.slice(1, -1) : host;
|
|
99893
|
+
if (bracketed && isIPvFuture(input)) {
|
|
99894
|
+
input = input.toLowerCase();
|
|
99857
99895
|
return {
|
|
99858
|
-
host:
|
|
99859
|
-
|
|
99860
|
-
|
|
99896
|
+
host: `[${input}]`,
|
|
99897
|
+
escapedHost: input,
|
|
99898
|
+
isIPV6: false,
|
|
99899
|
+
isIPVFuture: true
|
|
99861
99900
|
};
|
|
99862
|
-
}
|
|
99901
|
+
}
|
|
99902
|
+
if (findToken(input, ":") < 2) return {
|
|
99863
99903
|
host,
|
|
99864
|
-
isIPV6: false
|
|
99904
|
+
isIPV6: false,
|
|
99905
|
+
error: bracketed
|
|
99906
|
+
};
|
|
99907
|
+
let zoneIdentifier = "";
|
|
99908
|
+
const zoneSeparator = input.indexOf("%");
|
|
99909
|
+
if (zoneSeparator !== -1) {
|
|
99910
|
+
const separatorLength = input.slice(zoneSeparator, zoneSeparator + 3).toLowerCase() === "%25" ? 3 : 1;
|
|
99911
|
+
zoneIdentifier = input.slice(zoneSeparator + separatorLength);
|
|
99912
|
+
if (!isZoneIdentifier(zoneIdentifier)) return {
|
|
99913
|
+
host,
|
|
99914
|
+
isIPV6: false,
|
|
99915
|
+
error: true
|
|
99916
|
+
};
|
|
99917
|
+
input = input.slice(0, zoneSeparator);
|
|
99918
|
+
}
|
|
99919
|
+
const address = normalizeIPv6Address(input);
|
|
99920
|
+
if (address === void 0) return {
|
|
99921
|
+
host,
|
|
99922
|
+
isIPV6: false,
|
|
99923
|
+
error: true
|
|
99924
|
+
};
|
|
99925
|
+
return {
|
|
99926
|
+
host: address + (zoneIdentifier ? "%" + zoneIdentifier : ""),
|
|
99927
|
+
escapedHost: address + (zoneIdentifier ? "%25" + zoneIdentifier : ""),
|
|
99928
|
+
isIPV6: true
|
|
99865
99929
|
};
|
|
99866
99930
|
}
|
|
99867
99931
|
/**
|
|
@@ -99974,7 +100038,7 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
99974
100038
|
}
|
|
99975
100039
|
/**
|
|
99976
100040
|
* Normalizes percent escapes and optionally decodes only unreserved ASCII bytes.
|
|
99977
|
-
* Reserved delimiters such as `%2F`
|
|
100041
|
+
* Reserved delimiters such as `%2F` stay escaped; `%2E` is unreserved.
|
|
99978
100042
|
*
|
|
99979
100043
|
* @param {string} input
|
|
99980
100044
|
* @param {boolean} [decodeUnreserved=false]
|
|
@@ -100010,7 +100074,8 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100010
100074
|
function normalizePathEncoding(input) {
|
|
100011
100075
|
let output = "";
|
|
100012
100076
|
for (let i = 0; i < input.length; i++) {
|
|
100013
|
-
|
|
100077
|
+
const ch = input[i];
|
|
100078
|
+
if (ch === "%" && i + 2 < input.length) {
|
|
100014
100079
|
const hex = input.slice(i + 1, i + 3);
|
|
100015
100080
|
if (isHexPair(hex)) {
|
|
100016
100081
|
const normalizedHex = hex.toUpperCase();
|
|
@@ -100021,8 +100086,168 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100021
100086
|
continue;
|
|
100022
100087
|
}
|
|
100023
100088
|
}
|
|
100024
|
-
if (isPathCharacter(
|
|
100025
|
-
else
|
|
100089
|
+
if (isPathCharacter(ch)) output += ch;
|
|
100090
|
+
else {
|
|
100091
|
+
const code = input.charCodeAt(i);
|
|
100092
|
+
if (code < 128) output += isEscapeSafe(code) ? ch : BYTE_HEX[code];
|
|
100093
|
+
else if (code < 55296 || code > 57343) output += percentEncodeNonAscii(code);
|
|
100094
|
+
else if (code <= 56319 && i + 1 < input.length) {
|
|
100095
|
+
const low = input.charCodeAt(i + 1);
|
|
100096
|
+
if (low >= 56320 && low <= 57343) {
|
|
100097
|
+
output += percentEncodeNonAscii(65536 + (code - 55296 << 10) + (low - 56320));
|
|
100098
|
+
i++;
|
|
100099
|
+
} else output += percentEncodeNonAscii(65533);
|
|
100100
|
+
} else output += percentEncodeNonAscii(65533);
|
|
100101
|
+
}
|
|
100102
|
+
}
|
|
100103
|
+
return output;
|
|
100104
|
+
}
|
|
100105
|
+
/**
|
|
100106
|
+
* Serializes a path without rewriting reserved data. Raw RFC 3986 path
|
|
100107
|
+
* characters remain literal, valid escapes are preserved and uppercased, and
|
|
100108
|
+
* everything else is UTF-8 percent-encoded. In a path-noscheme, a colon in the
|
|
100109
|
+
* first segment must be escaped so the result cannot be parsed as a scheme.
|
|
100110
|
+
*
|
|
100111
|
+
* @param {string} input
|
|
100112
|
+
* @param {boolean} [pathNoScheme=false]
|
|
100113
|
+
* @returns {string}
|
|
100114
|
+
*/
|
|
100115
|
+
function serializePathEncoding(input, pathNoScheme = false) {
|
|
100116
|
+
let output = "";
|
|
100117
|
+
let firstSegment = pathNoScheme && input[0] !== "/";
|
|
100118
|
+
for (let i = 0; i < input.length; i++) {
|
|
100119
|
+
const ch = input[i];
|
|
100120
|
+
if (ch === "%" && i + 2 < input.length) {
|
|
100121
|
+
const hex = input.slice(i + 1, i + 3);
|
|
100122
|
+
if (isHexPair(hex)) {
|
|
100123
|
+
output += "%" + hex.toUpperCase();
|
|
100124
|
+
i += 2;
|
|
100125
|
+
continue;
|
|
100126
|
+
}
|
|
100127
|
+
}
|
|
100128
|
+
if (ch === "/") firstSegment = false;
|
|
100129
|
+
if (isPathCharacter(ch) && (ch !== ":" || !firstSegment)) output += ch;
|
|
100130
|
+
else {
|
|
100131
|
+
const code = input.charCodeAt(i);
|
|
100132
|
+
if (code < 128) output += BYTE_HEX[code];
|
|
100133
|
+
else if (code < 55296 || code > 57343) output += percentEncodeNonAscii(code);
|
|
100134
|
+
else if (code <= 56319 && i + 1 < input.length) {
|
|
100135
|
+
const low = input.charCodeAt(i + 1);
|
|
100136
|
+
if (low >= 56320 && low <= 57343) {
|
|
100137
|
+
output += percentEncodeNonAscii(65536 + (code - 55296 << 10) + (low - 56320));
|
|
100138
|
+
i++;
|
|
100139
|
+
} else output += percentEncodeNonAscii(65533);
|
|
100140
|
+
} else output += percentEncodeNonAscii(65533);
|
|
100141
|
+
}
|
|
100142
|
+
}
|
|
100143
|
+
return output;
|
|
100144
|
+
}
|
|
100145
|
+
/**
|
|
100146
|
+
* Percent-encodes a URI component using its RFC 3986 literal character set.
|
|
100147
|
+
* Existing valid escapes are preserved and normalized to uppercase hex.
|
|
100148
|
+
*
|
|
100149
|
+
* @param {string} input
|
|
100150
|
+
* @param {(value: string) => boolean} isAllowed
|
|
100151
|
+
* @returns {string}
|
|
100152
|
+
*/
|
|
100153
|
+
function encodeComponent(input, isAllowed) {
|
|
100154
|
+
let output = "";
|
|
100155
|
+
for (let i = 0; i < input.length; i++) {
|
|
100156
|
+
const ch = input[i];
|
|
100157
|
+
if (ch === "%" && i + 2 < input.length) {
|
|
100158
|
+
const hex = input.slice(i + 1, i + 3);
|
|
100159
|
+
if (isHexPair(hex)) {
|
|
100160
|
+
output += "%" + hex.toUpperCase();
|
|
100161
|
+
i += 2;
|
|
100162
|
+
continue;
|
|
100163
|
+
}
|
|
100164
|
+
}
|
|
100165
|
+
if (isAllowed(ch)) output += ch;
|
|
100166
|
+
else {
|
|
100167
|
+
const code = input.charCodeAt(i);
|
|
100168
|
+
if (code < 128) output += BYTE_HEX[code];
|
|
100169
|
+
else if (code < 55296 || code > 57343) output += percentEncodeNonAscii(code);
|
|
100170
|
+
else if (code <= 56319 && i + 1 < input.length) {
|
|
100171
|
+
const low = input.charCodeAt(i + 1);
|
|
100172
|
+
if (low >= 56320 && low <= 57343) {
|
|
100173
|
+
output += percentEncodeNonAscii(65536 + (code - 55296 << 10) + (low - 56320));
|
|
100174
|
+
i++;
|
|
100175
|
+
} else output += percentEncodeNonAscii(65533);
|
|
100176
|
+
} else output += percentEncodeNonAscii(65533);
|
|
100177
|
+
}
|
|
100178
|
+
}
|
|
100179
|
+
return output;
|
|
100180
|
+
}
|
|
100181
|
+
/**
|
|
100182
|
+
* Encodes userinfo while preserving its RFC 3986 §3.2.1 literal characters.
|
|
100183
|
+
* In particular, authority delimiters such as `@`, `/`, `?`, and `#` are data.
|
|
100184
|
+
*
|
|
100185
|
+
* @param {string} input
|
|
100186
|
+
* @returns {string}
|
|
100187
|
+
*/
|
|
100188
|
+
function encodeUserinfo(input) {
|
|
100189
|
+
return encodeComponent(input, isUserinfoCharacter);
|
|
100190
|
+
}
|
|
100191
|
+
/**
|
|
100192
|
+
* Encodes query data using the RFC 3986 §3.4 grammar. A literal `#` must be
|
|
100193
|
+
* escaped because it would otherwise begin the fragment component.
|
|
100194
|
+
*
|
|
100195
|
+
* @param {string} input
|
|
100196
|
+
* @returns {string}
|
|
100197
|
+
*/
|
|
100198
|
+
function encodeQuery(input) {
|
|
100199
|
+
return encodeComponent(input, isQueryFragmentCharacter);
|
|
100200
|
+
}
|
|
100201
|
+
/**
|
|
100202
|
+
* Encodes fragment data using the RFC 3986 §3.5 grammar.
|
|
100203
|
+
*
|
|
100204
|
+
* @param {string} input
|
|
100205
|
+
* @returns {string}
|
|
100206
|
+
*/
|
|
100207
|
+
function encodeFragment(input) {
|
|
100208
|
+
return encodeComponent(input, isQueryFragmentCharacter);
|
|
100209
|
+
}
|
|
100210
|
+
function isEscapeSafe(cp) {
|
|
100211
|
+
return cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 42 || cp === 43 || cp === 45 || cp === 46 || cp === 47 || cp === 64 || cp === 95;
|
|
100212
|
+
}
|
|
100213
|
+
/**
|
|
100214
|
+
* Normalizes the percent-encoding of a query or fragment component.
|
|
100215
|
+
*
|
|
100216
|
+
* Like `normalizePathEncoding`, but uses the query/fragment character set
|
|
100217
|
+
* (which additionally allows `?`) and decodes `.` since it has no dot-segment
|
|
100218
|
+
* meaning outside of a path.
|
|
100219
|
+
*
|
|
100220
|
+
* @param {string} input
|
|
100221
|
+
* @returns {string}
|
|
100222
|
+
*/
|
|
100223
|
+
function normalizeQueryFragmentEncoding(input) {
|
|
100224
|
+
let output = "";
|
|
100225
|
+
for (let i = 0; i < input.length; i++) {
|
|
100226
|
+
const ch = input[i];
|
|
100227
|
+
if (ch === "%" && i + 2 < input.length) {
|
|
100228
|
+
const hex = input.slice(i + 1, i + 3);
|
|
100229
|
+
if (isHexPair(hex)) {
|
|
100230
|
+
const normalizedHex = hex.toUpperCase();
|
|
100231
|
+
const decoded = String.fromCharCode(parseInt(normalizedHex, 16));
|
|
100232
|
+
if (isUnreserved(decoded)) output += decoded;
|
|
100233
|
+
else output += "%" + normalizedHex;
|
|
100234
|
+
i += 2;
|
|
100235
|
+
continue;
|
|
100236
|
+
}
|
|
100237
|
+
}
|
|
100238
|
+
if (isQueryFragmentCharacter(ch)) output += ch;
|
|
100239
|
+
else {
|
|
100240
|
+
const code = input.charCodeAt(i);
|
|
100241
|
+
if (code < 128) output += isEscapeSafe(code) ? ch : BYTE_HEX[code];
|
|
100242
|
+
else if (code < 55296 || code > 57343) output += percentEncodeNonAscii(code);
|
|
100243
|
+
else if (code <= 56319 && i + 1 < input.length) {
|
|
100244
|
+
const low = input.charCodeAt(i + 1);
|
|
100245
|
+
if (low >= 56320 && low <= 57343) {
|
|
100246
|
+
output += percentEncodeNonAscii(65536 + (code - 55296 << 10) + (low - 56320));
|
|
100247
|
+
i++;
|
|
100248
|
+
} else output += percentEncodeNonAscii(65533);
|
|
100249
|
+
} else output += percentEncodeNonAscii(65533);
|
|
100250
|
+
}
|
|
100026
100251
|
}
|
|
100027
100252
|
return output;
|
|
100028
100253
|
}
|
|
@@ -100054,21 +100279,27 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100054
100279
|
function recomposeAuthority(component) {
|
|
100055
100280
|
const uriTokens = [];
|
|
100056
100281
|
if (component.userinfo !== void 0) {
|
|
100057
|
-
uriTokens.push(component.userinfo);
|
|
100282
|
+
uriTokens.push(encodeUserinfo(component.userinfo));
|
|
100058
100283
|
uriTokens.push("@");
|
|
100059
100284
|
}
|
|
100060
100285
|
if (component.host !== void 0) {
|
|
100061
|
-
let host =
|
|
100286
|
+
let host = component.host;
|
|
100062
100287
|
if (!isIPv4(host)) {
|
|
100063
|
-
|
|
100064
|
-
if (ipV6res.isIPV6
|
|
100288
|
+
let ipV6res = normalizeIPv6(host);
|
|
100289
|
+
if (ipV6res.isIPV6 !== true && ipV6res.isIPVFuture !== true) {
|
|
100290
|
+
host = normalizePercentEncoding(host, true);
|
|
100291
|
+
ipV6res = normalizeIPv6(host);
|
|
100292
|
+
}
|
|
100293
|
+
if (ipV6res.isIPV6 === true || ipV6res.isIPVFuture === true) host = `[${ipV6res.escapedHost}]`;
|
|
100065
100294
|
else host = reescapeHostDelimiters(host, false);
|
|
100066
100295
|
}
|
|
100067
100296
|
uriTokens.push(host);
|
|
100068
100297
|
}
|
|
100069
100298
|
if (typeof component.port === "number" || typeof component.port === "string") {
|
|
100299
|
+
const port = String(component.port);
|
|
100300
|
+
if (!isPort(port)) throw new TypeError("URI port is malformed.");
|
|
100070
100301
|
uriTokens.push(":");
|
|
100071
|
-
uriTokens.push(
|
|
100302
|
+
uriTokens.push(port);
|
|
100072
100303
|
}
|
|
100073
100304
|
return uriTokens.length ? uriTokens.join("") : void 0;
|
|
100074
100305
|
}
|
|
@@ -100078,6 +100309,11 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100078
100309
|
reescapeHostDelimiters,
|
|
100079
100310
|
normalizePercentEncoding,
|
|
100080
100311
|
normalizePathEncoding,
|
|
100312
|
+
serializePathEncoding,
|
|
100313
|
+
normalizeQueryFragmentEncoding,
|
|
100314
|
+
encodeUserinfo,
|
|
100315
|
+
encodeQuery,
|
|
100316
|
+
encodeFragment,
|
|
100081
100317
|
escapePreservingEscapes,
|
|
100082
100318
|
removeDotSegments,
|
|
100083
100319
|
isIPv4,
|
|
@@ -100087,10 +100323,10 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100087
100323
|
};
|
|
100088
100324
|
}));
|
|
100089
100325
|
//#endregion
|
|
100090
|
-
//#region ../../../common/temp/aac/node_modules/.pnpm/fast-uri@3.1.
|
|
100326
|
+
//#region ../../../common/temp/aac/node_modules/.pnpm/fast-uri@3.1.8/node_modules/fast-uri/lib/schemes.js
|
|
100091
100327
|
var require_schemes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
100092
100328
|
const { isUUID } = require_utils();
|
|
100093
|
-
const URN_REG =
|
|
100329
|
+
const URN_REG = /^([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-./:;=@]|%[\da-f]{2})+)$/iu;
|
|
100094
100330
|
const supportedSchemeNames = [
|
|
100095
100331
|
"http",
|
|
100096
100332
|
"https",
|
|
@@ -100161,9 +100397,10 @@ var require_schemes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100161
100397
|
wsComponent.secure = void 0;
|
|
100162
100398
|
}
|
|
100163
100399
|
if (wsComponent.resourceName) {
|
|
100164
|
-
const
|
|
100400
|
+
const queryIndex = wsComponent.resourceName.indexOf("?");
|
|
100401
|
+
const path = queryIndex === -1 ? wsComponent.resourceName : wsComponent.resourceName.slice(0, queryIndex);
|
|
100165
100402
|
wsComponent.path = path && path !== "/" ? path : void 0;
|
|
100166
|
-
wsComponent.query =
|
|
100403
|
+
wsComponent.query = queryIndex === -1 ? void 0 : wsComponent.resourceName.slice(queryIndex + 1);
|
|
100167
100404
|
wsComponent.resourceName = void 0;
|
|
100168
100405
|
}
|
|
100169
100406
|
wsComponent.fragment = void 0;
|
|
@@ -100176,7 +100413,7 @@ var require_schemes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100176
100413
|
return urnComponent;
|
|
100177
100414
|
}
|
|
100178
100415
|
const matches = urnComponent.path.match(URN_REG);
|
|
100179
|
-
if (matches) {
|
|
100416
|
+
if (matches && matches[0] === urnComponent.path) {
|
|
100180
100417
|
const scheme = options.scheme || urnComponent.scheme || "urn";
|
|
100181
100418
|
urnComponent.nid = matches[1].toLowerCase();
|
|
100182
100419
|
urnComponent.nss = matches[2];
|
|
@@ -100270,10 +100507,21 @@ var require_schemes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100270
100507
|
};
|
|
100271
100508
|
}));
|
|
100272
100509
|
//#endregion
|
|
100273
|
-
//#region ../../../common/temp/aac/node_modules/.pnpm/fast-uri@3.1.
|
|
100510
|
+
//#region ../../../common/temp/aac/node_modules/.pnpm/fast-uri@3.1.8/node_modules/fast-uri/index.js
|
|
100274
100511
|
var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
100275
|
-
const { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizePercentEncoding, normalizePathEncoding,
|
|
100512
|
+
const { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizePercentEncoding, normalizePathEncoding, serializePathEncoding, normalizeQueryFragmentEncoding, encodeQuery, encodeFragment, reescapeHostDelimiters, isIPv4, nonSimpleDomain } = require_utils();
|
|
100276
100513
|
const { SCHEMES, getSchemeHandler } = require_schemes();
|
|
100514
|
+
const VALID_SCHEME = /^[A-Za-z][A-Za-z0-9+.-]*$/u;
|
|
100515
|
+
const MALFORMED_SCHEME_ERROR = "URI scheme is malformed.";
|
|
100516
|
+
/**
|
|
100517
|
+
* @param {string} scheme
|
|
100518
|
+
* @returns {string}
|
|
100519
|
+
*/
|
|
100520
|
+
function decodeValidScheme(scheme) {
|
|
100521
|
+
const decodedScheme = unescape(String(scheme));
|
|
100522
|
+
if (!VALID_SCHEME.test(decodedScheme)) throw new TypeError(MALFORMED_SCHEME_ERROR);
|
|
100523
|
+
return decodedScheme;
|
|
100524
|
+
}
|
|
100277
100525
|
/**
|
|
100278
100526
|
* @template {import('./types/index').URIComponent|string} T
|
|
100279
100527
|
* @param {T} uri
|
|
@@ -100293,7 +100541,16 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100293
100541
|
*/
|
|
100294
100542
|
function resolve(baseURI, relativeURI, options) {
|
|
100295
100543
|
const schemelessOptions = options ? Object.assign({ scheme: "null" }, options) : { scheme: "null" };
|
|
100296
|
-
const
|
|
100544
|
+
const { parsed: baseParsed, malformedAuthorityOrPort: baseMalformed, malformedPercentEncoding: baseMalformedPercentEncoding, malformedSchemeSpecific: baseMalformedSchemeSpecific, malformedHost: baseMalformedHost, malformedScheme: baseMalformedScheme } = parseWithStatus(baseURI, schemelessOptions);
|
|
100545
|
+
const { parsed: relativeParsed, malformedAuthorityOrPort: relativeMalformed, malformedPercentEncoding: relativeMalformedPercentEncoding, malformedSchemeSpecific: relativeMalformedSchemeSpecific, malformedHost: relativeMalformedHost, malformedScheme: relativeMalformedScheme } = parseWithStatus(relativeURI, schemelessOptions);
|
|
100546
|
+
if (baseMalformed || relativeMalformed || baseMalformedPercentEncoding || relativeMalformedPercentEncoding || baseMalformedSchemeSpecific || relativeMalformedSchemeSpecific || baseMalformedHost || relativeMalformedHost || baseMalformedScheme || relativeMalformedScheme) throw new Error(baseParsed.error || relativeParsed.error || "URI is malformed.");
|
|
100547
|
+
const resolved = resolveComponent(baseParsed, relativeParsed, schemelessOptions, true);
|
|
100548
|
+
const resolvedSchemeHandler = getSchemeHandler(options && options.scheme || resolved.scheme);
|
|
100549
|
+
const resolvedHost = resolved.host;
|
|
100550
|
+
const resolvedHostIsIP = resolvedHost !== void 0 && resolvedHost !== "" && (isIPv4(resolvedHost) || normalizeIPv6(resolvedHost).isIPV6);
|
|
100551
|
+
canonicalizeHost(resolved, options || {}, resolvedSchemeHandler, resolvedHostIsIP);
|
|
100552
|
+
const encodedASCIIHost = resolvedHost && resolvedHost.indexOf("%") !== -1 && !/\P{ASCII}/u.test(resolvedHost);
|
|
100553
|
+
if (resolved.error && !encodedASCIIHost) throw new Error(resolved.error);
|
|
100297
100554
|
schemelessOptions.skipEscape = true;
|
|
100298
100555
|
return serialize(resolved, schemelessOptions);
|
|
100299
100556
|
}
|
|
@@ -100359,7 +100616,7 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100359
100616
|
function equal(uriA, uriB, options) {
|
|
100360
100617
|
const normalizedA = normalizeComparableURI(uriA, options);
|
|
100361
100618
|
const normalizedB = normalizeComparableURI(uriB, options);
|
|
100362
|
-
return normalizedA !== void 0 && normalizedB !== void 0 && normalizedA
|
|
100619
|
+
return normalizedA !== void 0 && normalizedB !== void 0 && normalizedA === normalizedB;
|
|
100363
100620
|
}
|
|
100364
100621
|
/**
|
|
100365
100622
|
* @param {Readonly<import('./types/index').URIComponent>} cmpts
|
|
@@ -100385,13 +100642,17 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100385
100642
|
};
|
|
100386
100643
|
const options = Object.assign({}, opts);
|
|
100387
100644
|
const uriTokens = [];
|
|
100645
|
+
if (component.scheme) component.scheme = decodeValidScheme(component.scheme);
|
|
100388
100646
|
const schemeHandler = getSchemeHandler(options.scheme || component.scheme);
|
|
100389
100647
|
if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(component, options);
|
|
100390
|
-
|
|
100391
|
-
|
|
100392
|
-
|
|
100393
|
-
|
|
100394
|
-
if (options.reference !== "suffix" && component.scheme)
|
|
100648
|
+
const hasAuthority = component.userinfo !== void 0 || component.host !== void 0 || component.port !== void 0;
|
|
100649
|
+
const pathNoScheme = !options.skipEscape && component.scheme === void 0 && !hasAuthority;
|
|
100650
|
+
if (component.path !== void 0) if (!options.skipEscape) component.path = serializePathEncoding(component.path, pathNoScheme);
|
|
100651
|
+
else component.path = normalizePercentEncoding(component.path);
|
|
100652
|
+
if (options.reference !== "suffix" && component.scheme) {
|
|
100653
|
+
component.scheme = decodeValidScheme(component.scheme);
|
|
100654
|
+
uriTokens.push(component.scheme, ":");
|
|
100655
|
+
}
|
|
100395
100656
|
const authority = recomposeAuthority(component);
|
|
100396
100657
|
if (authority !== void 0) {
|
|
100397
100658
|
if (options.reference !== "suffix") uriTokens.push("//");
|
|
@@ -100401,15 +100662,17 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100401
100662
|
if (component.path !== void 0) {
|
|
100402
100663
|
let s = component.path;
|
|
100403
100664
|
if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) s = removeDotSegments(s);
|
|
100665
|
+
if (pathNoScheme) s = serializePathEncoding(s, true);
|
|
100404
100666
|
if (authority === void 0 && s[0] === "/" && s[1] === "/") s = "/%2F" + s.slice(2);
|
|
100405
100667
|
uriTokens.push(s);
|
|
100406
100668
|
}
|
|
100407
|
-
if (component.query !== void 0) uriTokens.push("?", component.query);
|
|
100408
|
-
if (component.fragment !== void 0) uriTokens.push("#", component.fragment);
|
|
100669
|
+
if (component.query !== void 0) uriTokens.push("?", encodeQuery(component.query));
|
|
100670
|
+
if (component.fragment !== void 0) uriTokens.push("#", encodeFragment(component.fragment));
|
|
100409
100671
|
return uriTokens.join("");
|
|
100410
100672
|
}
|
|
100411
100673
|
const URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;
|
|
100412
100674
|
const AUTHORITY_PREFIX = /^(?:[^#/:?]+:)?\/\/([^/?#]*)/;
|
|
100675
|
+
const AUTHORITY_INTRODUCER_REGION = /^(?:[^#/:?]+:)?([/\\\t\n\r]*)/;
|
|
100413
100676
|
/**
|
|
100414
100677
|
* @param {import('./types/index').URIComponent} parsed
|
|
100415
100678
|
* @param {RegExpMatchArray} matches
|
|
@@ -100420,9 +100683,61 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100420
100683
|
if (typeof parsed.port === "number" && (parsed.port < 0 || parsed.port > 65535)) return "URI port is malformed.";
|
|
100421
100684
|
}
|
|
100422
100685
|
/**
|
|
100686
|
+
* Checks percent syntax without decoding the represented octets. RFC 3986
|
|
100687
|
+
* percent-encoding is byte-oriented, so sequences such as `%FF` are valid even
|
|
100688
|
+
* though they are not independently valid UTF-8.
|
|
100689
|
+
*
|
|
100690
|
+
* @param {string|undefined} component
|
|
100691
|
+
* @returns {boolean}
|
|
100692
|
+
*/
|
|
100693
|
+
function hasMalformedPercentEncoding(component) {
|
|
100694
|
+
if (component === void 0) return false;
|
|
100695
|
+
let percent = component.indexOf("%");
|
|
100696
|
+
while (percent !== -1) {
|
|
100697
|
+
if (percent + 2 >= component.length || !/^[\da-f]{2}$/iu.test(component.slice(percent + 1, percent + 3))) return true;
|
|
100698
|
+
percent = component.indexOf("%", percent + 3);
|
|
100699
|
+
}
|
|
100700
|
+
return false;
|
|
100701
|
+
}
|
|
100702
|
+
/**
|
|
100703
|
+
* Whether the host is a bracketed IP literal (RFC 3986 `IP-literal`).
|
|
100704
|
+
* An unterminated `[` is not a literal, so it must still be validated as a
|
|
100705
|
+
* reg-name instead of being waved through as an IP.
|
|
100706
|
+
*
|
|
100707
|
+
* @param {string} host
|
|
100708
|
+
* @returns {boolean}
|
|
100709
|
+
*/
|
|
100710
|
+
function isIPLiteral(host) {
|
|
100711
|
+
return host[0] === "[" && host[host.length - 1] === "]";
|
|
100712
|
+
}
|
|
100713
|
+
/**
|
|
100714
|
+
* @param {RegExpMatchArray} matches
|
|
100715
|
+
* @returns {boolean}
|
|
100716
|
+
*/
|
|
100717
|
+
function hasMalformedComponentPercentEncoding(matches) {
|
|
100718
|
+
const host = matches[4];
|
|
100719
|
+
return hasMalformedPercentEncoding(matches[3]) || host !== void 0 && !isIPLiteral(host) && hasMalformedPercentEncoding(host) || hasMalformedPercentEncoding(matches[6]) || hasMalformedPercentEncoding(matches[7]) || hasMalformedPercentEncoding(matches[8]);
|
|
100720
|
+
}
|
|
100721
|
+
/**
|
|
100722
|
+
* @param {import('./types/index').URIComponent} parsed
|
|
100723
|
+
* @param {import('./types/index').Options} options
|
|
100724
|
+
* @param {{ domainHost?: boolean, unicodeSupport?: boolean }|undefined} schemeHandler
|
|
100725
|
+
* @param {boolean} isIP
|
|
100726
|
+
* @returns {boolean} whether host conversion failed
|
|
100727
|
+
*/
|
|
100728
|
+
function canonicalizeHost(parsed, options, schemeHandler, isIP) {
|
|
100729
|
+
if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport) && parsed.host && !isIPLiteral(parsed.host) && (options.domainHost || schemeHandler && schemeHandler.domainHost) && isIP === false && nonSimpleDomain(parsed.host)) try {
|
|
100730
|
+
parsed.host = new URL("http://" + parsed.host).hostname;
|
|
100731
|
+
} catch (e) {
|
|
100732
|
+
parsed.error = parsed.error || "Host's domain name can not be converted to ASCII: " + e;
|
|
100733
|
+
return true;
|
|
100734
|
+
}
|
|
100735
|
+
return false;
|
|
100736
|
+
}
|
|
100737
|
+
/**
|
|
100423
100738
|
* @param {string} uri
|
|
100424
100739
|
* @param {import('./types/index').Options} [opts]
|
|
100425
|
-
* @returns {{ parsed: import('./types/index').URIComponent, malformedAuthorityOrPort: boolean }}
|
|
100740
|
+
* @returns {{ parsed: import('./types/index').URIComponent, malformedAuthorityOrPort: boolean, malformedPercentEncoding: boolean, malformedSchemeSpecific: boolean, malformedHost: boolean, malformedScheme: boolean }}
|
|
100426
100741
|
*/
|
|
100427
100742
|
function parseWithStatus(uri, opts) {
|
|
100428
100743
|
const options = Object.assign({}, opts);
|
|
@@ -100437,6 +100752,11 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100437
100752
|
fragment: void 0
|
|
100438
100753
|
};
|
|
100439
100754
|
let malformedAuthorityOrPort = false;
|
|
100755
|
+
let malformedPercentEncoding = false;
|
|
100756
|
+
let malformedSchemeSpecific = false;
|
|
100757
|
+
let malformedHost = false;
|
|
100758
|
+
let malformedIPLiteral = false;
|
|
100759
|
+
let malformedScheme = false;
|
|
100440
100760
|
let isIP = false;
|
|
100441
100761
|
if (options.reference === "suffix") if (options.scheme) uri = options.scheme + ":" + uri;
|
|
100442
100762
|
else uri = "//" + uri;
|
|
@@ -100445,6 +100765,20 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100445
100765
|
parsed.error = "URI authority must not contain a literal backslash.";
|
|
100446
100766
|
malformedAuthorityOrPort = true;
|
|
100447
100767
|
}
|
|
100768
|
+
const introducerMatch = uri.match(AUTHORITY_INTRODUCER_REGION);
|
|
100769
|
+
if (introducerMatch !== null) {
|
|
100770
|
+
const region = introducerMatch[1];
|
|
100771
|
+
const normalizedRegion = region.replace(/[\t\n\r]/g, "");
|
|
100772
|
+
if (normalizedRegion.length >= 2) {
|
|
100773
|
+
if (normalizedRegion.slice(0, 2) !== "//") {
|
|
100774
|
+
parsed.error = parsed.error || "URI authority must not contain a literal backslash.";
|
|
100775
|
+
malformedAuthorityOrPort = true;
|
|
100776
|
+
} else if (region.length !== normalizedRegion.length) {
|
|
100777
|
+
parsed.error = parsed.error || "URI authority introducer must not contain whitespace.";
|
|
100778
|
+
malformedAuthorityOrPort = true;
|
|
100779
|
+
}
|
|
100780
|
+
}
|
|
100781
|
+
}
|
|
100448
100782
|
const matches = uri.match(URI_PARSE);
|
|
100449
100783
|
if (matches) {
|
|
100450
100784
|
parsed.scheme = matches[1];
|
|
@@ -100454,6 +100788,16 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100454
100788
|
parsed.path = matches[6] || "";
|
|
100455
100789
|
parsed.query = matches[7];
|
|
100456
100790
|
parsed.fragment = matches[8];
|
|
100791
|
+
if (parsed.scheme !== void 0) {
|
|
100792
|
+
const decodedScheme = unescape(parsed.scheme);
|
|
100793
|
+
if (VALID_SCHEME.test(decodedScheme)) parsed.scheme = decodedScheme.toLowerCase();
|
|
100794
|
+
else {
|
|
100795
|
+
parsed.error = parsed.error || MALFORMED_SCHEME_ERROR;
|
|
100796
|
+
malformedScheme = true;
|
|
100797
|
+
}
|
|
100798
|
+
}
|
|
100799
|
+
malformedPercentEncoding = hasMalformedComponentPercentEncoding(matches);
|
|
100800
|
+
if (malformedPercentEncoding) parsed.error = parsed.error || "URI contains malformed percent-encoding.";
|
|
100457
100801
|
if (isNaN(parsed.port)) parsed.port = matches[5];
|
|
100458
100802
|
const parseError = getParseError(parsed, matches);
|
|
100459
100803
|
if (parseError !== void 0) {
|
|
@@ -100461,9 +100805,16 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100461
100805
|
malformedAuthorityOrPort = true;
|
|
100462
100806
|
}
|
|
100463
100807
|
if (parsed.host) if (isIPv4(parsed.host) === false) {
|
|
100808
|
+
const bracketedIPLiteral = isIPLiteral(parsed.host);
|
|
100809
|
+
const hasIPLiteralBracket = parsed.host.indexOf("[") !== -1 || parsed.host.indexOf("]") !== -1;
|
|
100464
100810
|
const ipv6result = normalizeIPv6(parsed.host);
|
|
100465
|
-
|
|
100466
|
-
|
|
100811
|
+
isIP = ipv6result.isIPV6 || ipv6result.isIPVFuture === true;
|
|
100812
|
+
malformedIPLiteral = hasIPLiteralBracket && (!bracketedIPLiteral || ipv6result.error === true);
|
|
100813
|
+
parsed.host = isIP ? ipv6result.host : ipv6result.host.toLowerCase();
|
|
100814
|
+
if (malformedIPLiteral) {
|
|
100815
|
+
parsed.error = parsed.error || "URI host is malformed.";
|
|
100816
|
+
malformedAuthorityOrPort = true;
|
|
100817
|
+
}
|
|
100467
100818
|
} else isIP = true;
|
|
100468
100819
|
if (parsed.scheme === void 0 && parsed.userinfo === void 0 && parsed.host === void 0 && parsed.port === void 0 && parsed.query === void 0 && !parsed.path) parsed.reference = "same-document";
|
|
100469
100820
|
else if (parsed.scheme === void 0) parsed.reference = "relative";
|
|
@@ -100471,30 +100822,29 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100471
100822
|
else parsed.reference = "uri";
|
|
100472
100823
|
if (options.reference && options.reference !== "suffix" && options.reference !== parsed.reference) parsed.error = parsed.error || "URI is not a " + options.reference + " reference.";
|
|
100473
100824
|
const schemeHandler = getSchemeHandler(options.scheme || parsed.scheme);
|
|
100474
|
-
if (!
|
|
100475
|
-
|
|
100476
|
-
|
|
100477
|
-
|
|
100478
|
-
|
|
100479
|
-
}
|
|
100825
|
+
if (!malformedIPLiteral) malformedHost = canonicalizeHost(parsed, options, schemeHandler, isIP);
|
|
100826
|
+
if (uri.indexOf("%") !== -1 && parsed.host !== void 0 && !malformedIPLiteral) {
|
|
100827
|
+
let host = isIP ? parsed.host : normalizePercentEncoding(parsed.host, true);
|
|
100828
|
+
if (!isIP) host = normalizePercentEncoding(host.toLowerCase());
|
|
100829
|
+
parsed.host = reescapeHostDelimiters(host, isIP);
|
|
100480
100830
|
}
|
|
100481
100831
|
if (!schemeHandler || schemeHandler && !schemeHandler.skipNormalize) {
|
|
100482
|
-
if (uri.indexOf("%") !== -1) {
|
|
100483
|
-
if (parsed.scheme !== void 0) parsed.scheme = unescape(parsed.scheme);
|
|
100484
|
-
if (parsed.host !== void 0) parsed.host = reescapeHostDelimiters(unescape(parsed.host), isIP);
|
|
100485
|
-
}
|
|
100486
100832
|
if (parsed.path) parsed.path = normalizePathEncoding(parsed.path);
|
|
100487
|
-
if (parsed.
|
|
100488
|
-
|
|
100489
|
-
|
|
100490
|
-
|
|
100491
|
-
|
|
100833
|
+
if (parsed.query) parsed.query = normalizeQueryFragmentEncoding(parsed.query);
|
|
100834
|
+
if (parsed.fragment) parsed.fragment = normalizeQueryFragmentEncoding(parsed.fragment);
|
|
100835
|
+
}
|
|
100836
|
+
if (schemeHandler && schemeHandler.parse) {
|
|
100837
|
+
schemeHandler.parse(parsed, options);
|
|
100838
|
+
if (schemeHandler === SCHEMES.urn && parsed.nid === void 0) malformedSchemeSpecific = true;
|
|
100492
100839
|
}
|
|
100493
|
-
if (schemeHandler && schemeHandler.parse) schemeHandler.parse(parsed, options);
|
|
100494
100840
|
} else parsed.error = parsed.error || "URI can not be parsed.";
|
|
100495
100841
|
return {
|
|
100496
100842
|
parsed,
|
|
100497
|
-
malformedAuthorityOrPort
|
|
100843
|
+
malformedAuthorityOrPort,
|
|
100844
|
+
malformedPercentEncoding,
|
|
100845
|
+
malformedSchemeSpecific,
|
|
100846
|
+
malformedHost,
|
|
100847
|
+
malformedScheme
|
|
100498
100848
|
};
|
|
100499
100849
|
}
|
|
100500
100850
|
/**
|
|
@@ -100516,13 +100866,17 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100516
100866
|
/**
|
|
100517
100867
|
* @param {string} uri
|
|
100518
100868
|
* @param {import('./types/index').Options} [opts]
|
|
100519
|
-
* @returns {{ normalized: string, malformedAuthorityOrPort: boolean }}
|
|
100869
|
+
* @returns {{ normalized: string, malformedAuthorityOrPort: boolean, malformedPercentEncoding: boolean, malformedSchemeSpecific: boolean, malformedHost: boolean, malformedScheme: boolean }}
|
|
100520
100870
|
*/
|
|
100521
100871
|
function normalizeStringWithStatus(uri, opts) {
|
|
100522
|
-
const { parsed, malformedAuthorityOrPort } = parseWithStatus(uri, opts);
|
|
100872
|
+
const { parsed, malformedAuthorityOrPort, malformedPercentEncoding, malformedSchemeSpecific, malformedHost, malformedScheme } = parseWithStatus(uri, opts);
|
|
100523
100873
|
return {
|
|
100524
|
-
normalized: malformedAuthorityOrPort ? uri : serialize(parsed, opts),
|
|
100525
|
-
malformedAuthorityOrPort
|
|
100874
|
+
normalized: malformedAuthorityOrPort || malformedPercentEncoding || malformedSchemeSpecific || malformedHost || malformedScheme ? uri : serialize(parsed, opts),
|
|
100875
|
+
malformedAuthorityOrPort,
|
|
100876
|
+
malformedPercentEncoding,
|
|
100877
|
+
malformedSchemeSpecific,
|
|
100878
|
+
malformedHost,
|
|
100879
|
+
malformedScheme
|
|
100526
100880
|
};
|
|
100527
100881
|
}
|
|
100528
100882
|
/**
|
|
@@ -100531,11 +100885,15 @@ var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
100531
100885
|
* @returns {string|undefined}
|
|
100532
100886
|
*/
|
|
100533
100887
|
function normalizeComparableURI(uri, opts) {
|
|
100534
|
-
if (typeof uri
|
|
100535
|
-
|
|
100536
|
-
|
|
100888
|
+
if (typeof uri !== "string" && typeof uri !== "object") return;
|
|
100889
|
+
let value;
|
|
100890
|
+
try {
|
|
100891
|
+
value = typeof uri === "string" ? uri : serialize(uri, opts);
|
|
100892
|
+
} catch {
|
|
100893
|
+
return;
|
|
100537
100894
|
}
|
|
100538
|
-
|
|
100895
|
+
const { normalized, malformedAuthorityOrPort, malformedPercentEncoding, malformedSchemeSpecific, malformedHost, malformedScheme } = normalizeStringWithStatus(value, opts);
|
|
100896
|
+
return malformedAuthorityOrPort || malformedPercentEncoding || malformedSchemeSpecific || malformedHost || malformedScheme ? void 0 : normalized;
|
|
100539
100897
|
}
|
|
100540
100898
|
const fastUri = {
|
|
100541
100899
|
SCHEMES,
|
|
@@ -104360,6 +104718,10 @@ var import_brace_expansion = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJS
|
|
|
104360
104718
|
var escClose = "\0CLOSE" + Math.random() + "\0";
|
|
104361
104719
|
var escComma = "\0COMMA" + Math.random() + "\0";
|
|
104362
104720
|
var escPeriod = "\0PERIOD" + Math.random() + "\0";
|
|
104721
|
+
var EXPANSION_MAX = 1e5;
|
|
104722
|
+
var EXPANSION_MAX_LENGTH = 4e6;
|
|
104723
|
+
var EXPANSION_MAX_DEPTH = 1e3;
|
|
104724
|
+
var EXPANSION_MAX_REWRITES = 1e3;
|
|
104363
104725
|
function numeric(str) {
|
|
104364
104726
|
return parseInt(str, 10) == str ? parseInt(str, 10) : str.charCodeAt(0);
|
|
104365
104727
|
}
|
|
@@ -104369,30 +104731,44 @@ var import_brace_expansion = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJS
|
|
|
104369
104731
|
function unescapeBraces(str) {
|
|
104370
104732
|
return str.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
|
|
104371
104733
|
}
|
|
104734
|
+
function pushAll(target, items) {
|
|
104735
|
+
for (var i = 0; i < items.length; i++) target.push(items[i]);
|
|
104736
|
+
}
|
|
104372
104737
|
function parseCommaParts(str) {
|
|
104373
|
-
if (!str) return [""];
|
|
104374
104738
|
var parts = [];
|
|
104375
|
-
var
|
|
104376
|
-
|
|
104377
|
-
|
|
104378
|
-
|
|
104379
|
-
|
|
104380
|
-
|
|
104381
|
-
|
|
104382
|
-
|
|
104383
|
-
|
|
104384
|
-
|
|
104385
|
-
|
|
104386
|
-
|
|
104387
|
-
|
|
104388
|
-
|
|
104739
|
+
var carry = "";
|
|
104740
|
+
for (;;) {
|
|
104741
|
+
var m = balanced("{", "}", str);
|
|
104742
|
+
if (!m) {
|
|
104743
|
+
var tail = str.split(",");
|
|
104744
|
+
tail[0] = carry + tail[0];
|
|
104745
|
+
pushAll(parts, tail);
|
|
104746
|
+
return parts;
|
|
104747
|
+
}
|
|
104748
|
+
var pre = m.pre;
|
|
104749
|
+
var body = m.body;
|
|
104750
|
+
var post = m.post;
|
|
104751
|
+
var p = pre.split(",");
|
|
104752
|
+
p[0] = carry + p[0];
|
|
104753
|
+
p[p.length - 1] += "{" + body + "}";
|
|
104754
|
+
if (!post.length) {
|
|
104755
|
+
pushAll(parts, p);
|
|
104756
|
+
return parts;
|
|
104757
|
+
}
|
|
104758
|
+
carry = p.pop();
|
|
104759
|
+
pushAll(parts, p);
|
|
104760
|
+
str = post;
|
|
104761
|
+
}
|
|
104389
104762
|
}
|
|
104390
104763
|
function expandTop(str, options) {
|
|
104391
104764
|
if (!str) return [];
|
|
104392
104765
|
options = options || {};
|
|
104393
|
-
var max = options.max == null ?
|
|
104766
|
+
var max = options.max == null ? EXPANSION_MAX : options.max;
|
|
104767
|
+
var maxLength = options.maxLength == null ? EXPANSION_MAX_LENGTH : options.maxLength;
|
|
104768
|
+
var maxDepth = options.maxDepth == null ? EXPANSION_MAX_DEPTH : options.maxDepth;
|
|
104769
|
+
var maxRewrites = options.maxRewrites == null ? EXPANSION_MAX_REWRITES : options.maxRewrites;
|
|
104394
104770
|
if (str.substr(0, 2) === "{}") str = "\\{\\}" + str.substr(2);
|
|
104395
|
-
return expand(escapeBraces(str), max, true).map(unescapeBraces);
|
|
104771
|
+
return expand(escapeBraces(str), max, maxLength, maxDepth, 0, maxRewrites, true).map(unescapeBraces);
|
|
104396
104772
|
}
|
|
104397
104773
|
function embrace(str) {
|
|
104398
104774
|
return "{" + str + "}";
|
|
@@ -104406,85 +104782,126 @@ var import_brace_expansion = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJS
|
|
|
104406
104782
|
function gte(i, y) {
|
|
104407
104783
|
return i >= y;
|
|
104408
104784
|
}
|
|
104409
|
-
function
|
|
104410
|
-
var
|
|
104785
|
+
function combine(acc, pre, values, max, maxLength, dropEmpties) {
|
|
104786
|
+
var out = [];
|
|
104787
|
+
var length = 0;
|
|
104788
|
+
for (var a = 0; a < acc.length; a++) for (var v = 0; v < values.length; v++) {
|
|
104789
|
+
if (out.length >= max) return out;
|
|
104790
|
+
var expansion = acc[a] + pre + values[v];
|
|
104791
|
+
if (dropEmpties && !expansion) continue;
|
|
104792
|
+
if (length + expansion.length > maxLength) return out;
|
|
104793
|
+
out.push(expansion);
|
|
104794
|
+
length += expansion.length;
|
|
104795
|
+
}
|
|
104796
|
+
return out;
|
|
104797
|
+
}
|
|
104798
|
+
function expandSequence(body, isAlphaSequence, max, maxLength) {
|
|
104799
|
+
var n = body.split(/\.\./);
|
|
104800
|
+
var N = [];
|
|
104801
|
+
/* c8 ignore start */
|
|
104802
|
+
if (n[0] === void 0 || n[1] === void 0) return N;
|
|
104803
|
+
/* c8 ignore stop */
|
|
104804
|
+
var x = numeric(n[0]);
|
|
104805
|
+
var y = numeric(n[1]);
|
|
104806
|
+
var width = Math.max(n[0].length, n[1].length);
|
|
104807
|
+
var incr = n.length === 3 && n[2] !== void 0 ? Math.max(Math.abs(numeric(n[2])), 1) : 1;
|
|
104808
|
+
var test = lte;
|
|
104809
|
+
if (y < x) {
|
|
104810
|
+
incr *= -1;
|
|
104811
|
+
test = gte;
|
|
104812
|
+
}
|
|
104813
|
+
var pad = n.some(isPadded);
|
|
104814
|
+
var length = 0;
|
|
104815
|
+
for (var i = x; test(i, y) && N.length < max; i += incr) {
|
|
104816
|
+
var c;
|
|
104817
|
+
if (isAlphaSequence) {
|
|
104818
|
+
c = String.fromCharCode(i);
|
|
104819
|
+
if (c === "\\") c = "";
|
|
104820
|
+
} else {
|
|
104821
|
+
c = String(i);
|
|
104822
|
+
if (pad) {
|
|
104823
|
+
var need = width - c.length;
|
|
104824
|
+
if (need > 0) {
|
|
104825
|
+
var z = new Array(need + 1).join("0");
|
|
104826
|
+
if (i < 0) c = "-" + z + c.slice(1);
|
|
104827
|
+
else c = z + c;
|
|
104828
|
+
}
|
|
104829
|
+
}
|
|
104830
|
+
}
|
|
104831
|
+
if (length + c.length > maxLength) break;
|
|
104832
|
+
N.push(c);
|
|
104833
|
+
length += c.length;
|
|
104834
|
+
}
|
|
104835
|
+
return N;
|
|
104836
|
+
}
|
|
104837
|
+
function expand(str, max, maxLength, maxDepth, depth, maxRewrites, isTop) {
|
|
104838
|
+
if (depth > maxDepth) return [str];
|
|
104839
|
+
var acc = [""];
|
|
104840
|
+
var rewrites = 0;
|
|
104841
|
+
var dropEmpties = false;
|
|
104842
|
+
var firstGroup = true;
|
|
104411
104843
|
for (;;) {
|
|
104412
104844
|
const m = balanced("{", "}", str);
|
|
104413
|
-
if (!m) return [
|
|
104845
|
+
if (!m) return combine(acc, str, [""], max, maxLength, dropEmpties);
|
|
104414
104846
|
const pre = m.pre;
|
|
104415
|
-
if (/\$$/.test(
|
|
104416
|
-
|
|
104417
|
-
|
|
104418
|
-
|
|
104419
|
-
|
|
104420
|
-
|
|
104421
|
-
return expansions;
|
|
104847
|
+
if (/\$$/.test(pre)) {
|
|
104848
|
+
acc = combine(acc, pre + "{" + m.body + "}", [""], max, maxLength, dropEmpties && !m.post.length);
|
|
104849
|
+
firstGroup = false;
|
|
104850
|
+
if (!m.post.length) break;
|
|
104851
|
+
str = m.post;
|
|
104852
|
+
continue;
|
|
104422
104853
|
}
|
|
104423
104854
|
var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
|
|
104424
104855
|
var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
|
|
104425
104856
|
var isSequence = isNumericSequence || isAlphaSequence;
|
|
104426
104857
|
var isOptions = m.body.indexOf(",") >= 0;
|
|
104427
104858
|
if (!isSequence && !isOptions) {
|
|
104428
|
-
if (m.post.match(/,(?!,).*\}/)) {
|
|
104859
|
+
if (rewrites < maxRewrites && m.post.match(/,(?!,).*\}/)) {
|
|
104860
|
+
rewrites++;
|
|
104429
104861
|
str = m.pre + "{" + m.body + escClose + m.post;
|
|
104430
104862
|
isTop = true;
|
|
104431
104863
|
continue;
|
|
104432
104864
|
}
|
|
104433
|
-
return [
|
|
104865
|
+
return combine(acc, pre + "{" + m.body + "}" + m.post, [""], max, maxLength, dropEmpties);
|
|
104434
104866
|
}
|
|
104435
|
-
|
|
104436
|
-
|
|
104437
|
-
|
|
104867
|
+
if (firstGroup) {
|
|
104868
|
+
dropEmpties = isTop && !isSequence;
|
|
104869
|
+
firstGroup = false;
|
|
104870
|
+
}
|
|
104871
|
+
var values;
|
|
104872
|
+
if (isSequence) values = expandSequence(m.body, isAlphaSequence, max, maxLength);
|
|
104438
104873
|
else {
|
|
104439
|
-
n = parseCommaParts(m.body);
|
|
104440
|
-
if (n.length === 1) {
|
|
104441
|
-
n = expand(n[0], max, false).map(embrace);
|
|
104442
|
-
|
|
104443
|
-
|
|
104444
|
-
|
|
104874
|
+
var n = parseCommaParts(m.body);
|
|
104875
|
+
if (n.length === 1 && n[0] !== void 0) {
|
|
104876
|
+
n = expand(n[0], max, maxLength, maxDepth, depth + 1, maxRewrites, false).map(embrace);
|
|
104877
|
+
/* c8 ignore start */
|
|
104878
|
+
if (n.length === 1) {
|
|
104879
|
+
acc = combine(acc, pre + n[0], [""], max, maxLength, dropEmpties && !m.post.length);
|
|
104880
|
+
if (!m.post.length) break;
|
|
104881
|
+
str = m.post;
|
|
104882
|
+
continue;
|
|
104883
|
+
}
|
|
104445
104884
|
}
|
|
104446
|
-
|
|
104447
|
-
|
|
104448
|
-
|
|
104449
|
-
var
|
|
104450
|
-
var
|
|
104451
|
-
|
|
104452
|
-
|
|
104453
|
-
|
|
104454
|
-
|
|
104455
|
-
|
|
104456
|
-
|
|
104457
|
-
|
|
104458
|
-
var pad = n.some(isPadded);
|
|
104459
|
-
N = [];
|
|
104460
|
-
for (var i = x; test(i, y) && N.length < max; i += incr) {
|
|
104461
|
-
var c;
|
|
104462
|
-
if (isAlphaSequence) {
|
|
104463
|
-
c = String.fromCharCode(i);
|
|
104464
|
-
if (c === "\\") c = "";
|
|
104465
|
-
} else {
|
|
104466
|
-
c = String(i);
|
|
104467
|
-
if (pad) {
|
|
104468
|
-
var need = width - c.length;
|
|
104469
|
-
if (need > 0) {
|
|
104470
|
-
var z = new Array(need + 1).join("0");
|
|
104471
|
-
if (i < 0) c = "-" + z + c.slice(1);
|
|
104472
|
-
else c = z + c;
|
|
104473
|
-
}
|
|
104474
|
-
}
|
|
104885
|
+
var dropsEmpties = dropEmpties && !m.post.length && !pre;
|
|
104886
|
+
for (var d = 0; dropsEmpties && d < acc.length; d++) if (acc[d]) dropsEmpties = false;
|
|
104887
|
+
values = [];
|
|
104888
|
+
var valuesLength = 0;
|
|
104889
|
+
outer: for (var j = 0; j < n.length; j++) {
|
|
104890
|
+
var expanded = expand(n[j], max, maxLength, maxDepth, depth + 1, maxRewrites, false);
|
|
104891
|
+
for (var k = 0; k < expanded.length; k++) {
|
|
104892
|
+
var v = expanded[k];
|
|
104893
|
+
if (dropsEmpties && !v) continue;
|
|
104894
|
+
if (values.length >= max || valuesLength + v.length > maxLength) break outer;
|
|
104895
|
+
values.push(v);
|
|
104896
|
+
valuesLength += v.length;
|
|
104475
104897
|
}
|
|
104476
|
-
N.push(c);
|
|
104477
104898
|
}
|
|
104478
|
-
} else {
|
|
104479
|
-
N = [];
|
|
104480
|
-
for (var j = 0; j < n.length; j++) N.push.apply(N, expand(n[j], max, false));
|
|
104481
|
-
}
|
|
104482
|
-
for (var j = 0; j < N.length; j++) for (var k = 0; k < post.length && expansions.length < max; k++) {
|
|
104483
|
-
var expansion = pre + N[j] + post[k];
|
|
104484
|
-
if (!isTop || isSequence || expansion) expansions.push(expansion);
|
|
104485
104899
|
}
|
|
104486
|
-
|
|
104900
|
+
acc = combine(acc, pre, values, max, maxLength, dropEmpties && !m.post.length);
|
|
104901
|
+
if (!m.post.length) break;
|
|
104902
|
+
str = m.post;
|
|
104487
104903
|
}
|
|
104904
|
+
return acc;
|
|
104488
104905
|
}
|
|
104489
104906
|
})))(), 1);
|
|
104490
104907
|
const MAX_PATTERN_LENGTH = 1024 * 64;
|
|
@@ -130140,7 +130557,7 @@ var require_dist$4 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
130140
130557
|
module.exports = createHttpsProxyAgent;
|
|
130141
130558
|
}));
|
|
130142
130559
|
//#endregion
|
|
130143
|
-
//#region ../../../common/temp/sdk/node_modules/.pnpm/follow-redirects@1.16.
|
|
130560
|
+
//#region ../../../common/temp/sdk/node_modules/.pnpm/follow-redirects@1.16.1/node_modules/follow-redirects/debug.js
|
|
130144
130561
|
var require_debug = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
130145
130562
|
var debug;
|
|
130146
130563
|
module.exports = function() {
|
|
@@ -130154,7 +130571,7 @@ var require_debug = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
130154
130571
|
};
|
|
130155
130572
|
}));
|
|
130156
130573
|
//#endregion
|
|
130157
|
-
//#region ../../../common/temp/sdk/node_modules/.pnpm/follow-redirects@1.16.
|
|
130574
|
+
//#region ../../../common/temp/sdk/node_modules/.pnpm/follow-redirects@1.16.1/node_modules/follow-redirects/index.js
|
|
130158
130575
|
var require_follow_redirects = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
130159
130576
|
var url$3 = __require("url");
|
|
130160
130577
|
var URL = url$3.URL;
|
|
@@ -130358,6 +130775,11 @@ var require_follow_redirects = /* @__PURE__ */ __commonJSMin(((exports, module)
|
|
|
130358
130775
|
});
|
|
130359
130776
|
RedirectableRequest.prototype._sanitizeOptions = function(options) {
|
|
130360
130777
|
if (!options.headers) options.headers = {};
|
|
130778
|
+
else if (Array.isArray(options.headers)) {
|
|
130779
|
+
var headerList = options.headers;
|
|
130780
|
+
options.headers = {};
|
|
130781
|
+
for (var i = 0; i < headerList.length; i += 2) options.headers[headerList[i]] = headerList[i + 1];
|
|
130782
|
+
}
|
|
130361
130783
|
if (!isArray(options.sensitiveHeaders)) options.sensitiveHeaders = [];
|
|
130362
130784
|
if (options.host) {
|
|
130363
130785
|
if (!options.hostname) options.hostname = options.host;
|
|
@@ -130590,7 +131012,7 @@ var require_follow_redirects = /* @__PURE__ */ __commonJSMin(((exports, module)
|
|
|
130590
131012
|
return URL && value instanceof URL;
|
|
130591
131013
|
}
|
|
130592
131014
|
function escapeRegex(regex) {
|
|
130593
|
-
return regex.replace(/[\]\\/()
|
|
131015
|
+
return regex.replace(/[[\]\\/()*+?.^$|]/g, "\\$&");
|
|
130594
131016
|
}
|
|
130595
131017
|
module.exports = wrap({
|
|
130596
131018
|
http: http$4,
|
|
@@ -136007,12 +136429,14 @@ function yamlSizeToDeclarative(input) {
|
|
|
136007
136429
|
gridHeight: input.rows ?? 22
|
|
136008
136430
|
} };
|
|
136009
136431
|
}
|
|
136432
|
+
/** @internal */
|
|
136010
136433
|
function yamlInsightWidgetToDeclarative(entities, input) {
|
|
136434
|
+
const target = entities.filter((e) => VisualisationsTypes.includes(e.type)).find((e) => e.id === input.visualization)?.data;
|
|
136011
136435
|
return {
|
|
136012
136436
|
...input.id ? { localIdentifier: input.id } : {},
|
|
136013
136437
|
type: "insight",
|
|
136014
136438
|
insight: createIdentifier(input.visualization, { forceType: "visualizationObject" }),
|
|
136015
|
-
title: input.title || "",
|
|
136439
|
+
title: input.title || target?.title || "",
|
|
136016
136440
|
description: useInherit(input.description),
|
|
136017
136441
|
configuration: {
|
|
136018
136442
|
hideTitle: input.title === false,
|
|
@@ -149814,6 +150238,10 @@ const metadata_v1 = {
|
|
|
149814
150238
|
"description": "Custom variables the report's text can interpolate as {name}. Built-in variable names win a collision.",
|
|
149815
150239
|
"items": { "$ref": "#/$global/gaac/reportVariable" }
|
|
149816
150240
|
},
|
|
150241
|
+
"takeaways_instruction": {
|
|
150242
|
+
"type": "string",
|
|
150243
|
+
"description": "Instructions every AI takeaway without instructions of its own is generated with. Supports {variables}."
|
|
150244
|
+
},
|
|
149817
150245
|
"variable_values": {
|
|
149818
150246
|
"type": "object",
|
|
149819
150247
|
"description": "Values for the declared variables, keyed by variable name. A variable with no value here falls back to its default.",
|
|
@@ -149878,6 +150306,10 @@ const metadata_v1 = {
|
|
|
149878
150306
|
"type": "array",
|
|
149879
150307
|
"description": "Custom variables the template's text can interpolate as {name}. A report created from it gives them values.",
|
|
149880
150308
|
"items": { "$ref": "#/$global/gaac/reportVariable" }
|
|
150309
|
+
},
|
|
150310
|
+
"takeaways_instruction": {
|
|
150311
|
+
"type": "string",
|
|
150312
|
+
"description": "Instructions every AI takeaway without instructions of its own is generated with. Supports {variables}."
|
|
149881
150313
|
}
|
|
149882
150314
|
},
|
|
149883
150315
|
"$semantic": {
|
|
@@ -155796,6 +156228,10 @@ const metadata_v1 = {
|
|
|
155796
156228
|
"description": "Custom variables the report's text can interpolate as {name}. Built-in variable names win a collision.",
|
|
155797
156229
|
"items": { "$ref": "#/$global/gaac/reportVariable" }
|
|
155798
156230
|
},
|
|
156231
|
+
"takeaways_instruction": {
|
|
156232
|
+
"type": "string",
|
|
156233
|
+
"description": "Instructions every AI takeaway without instructions of its own is generated with. Supports {variables}."
|
|
156234
|
+
},
|
|
155799
156235
|
"variable_values": {
|
|
155800
156236
|
"type": "object",
|
|
155801
156237
|
"description": "Values for the declared variables, keyed by variable name. A variable with no value here falls back to its default.",
|
|
@@ -156068,6 +156504,10 @@ const metadata_v1 = {
|
|
|
156068
156504
|
"type": "array",
|
|
156069
156505
|
"description": "Custom variables the template's text can interpolate as {name}. A report created from it gives them values.",
|
|
156070
156506
|
"items": { "$ref": "#/$global/gaac/reportVariable" }
|
|
156507
|
+
},
|
|
156508
|
+
"takeaways_instruction": {
|
|
156509
|
+
"type": "string",
|
|
156510
|
+
"description": "Instructions every AI takeaway without instructions of its own is generated with. Supports {variables}."
|
|
156071
156511
|
}
|
|
156072
156512
|
},
|
|
156073
156513
|
"$semantic": {
|
|
@@ -162562,7 +163002,7 @@ async function open(state, emitter, file) {
|
|
|
162562
163002
|
//#endregion
|
|
162563
163003
|
//#region ../code/package.json
|
|
162564
163004
|
var name = "@gooddata/code";
|
|
162565
|
-
var version = "0.57.0-alpha.
|
|
163005
|
+
var version = "0.57.0-alpha.5";
|
|
162566
163006
|
//#endregion
|
|
162567
163007
|
//#region ../../../sdk/libs/api-client-tiger/src/axios.ts
|
|
162568
163008
|
/**
|
|
@@ -162584,7 +163024,7 @@ const _CONFIG = {
|
|
|
162584
163024
|
common: {
|
|
162585
163025
|
"X-Requested-With": "XMLHttpRequest",
|
|
162586
163026
|
"X-GDC-JS-PACKAGE": "@gooddata/api-client-tiger",
|
|
162587
|
-
"X-GDC-JS-PACKAGE-VERSION": "11.61.0-alpha.
|
|
163027
|
+
"X-GDC-JS-PACKAGE-VERSION": "11.61.0-alpha.5"
|
|
162588
163028
|
},
|
|
162589
163029
|
post: { "Content-Type": "application/json;charset=utf8" },
|
|
162590
163030
|
put: { "Content-Type": "application/json;charset=utf8" }
|
|
@@ -166945,7 +167385,7 @@ async function EntitiesApiAxiosParamCreator_CreateEntityExportTemplates(jsonApiE
|
|
|
166945
167385
|
* @summary Post Filter Context
|
|
166946
167386
|
* @param {string} workspaceId
|
|
166947
167387
|
* @param {JsonApiFilterContextPostOptionalIdDocument} jsonApiFilterContextPostOptionalIdDocument
|
|
166948
|
-
* @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
|
|
167388
|
+
* @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'metrics' | 'facts' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
|
|
166949
167389
|
* @param {Array<'origin' | 'all' | 'ALL'>} [metaInclude] Include Meta objects.
|
|
166950
167390
|
* @param {*} [options] Override http request option.
|
|
166951
167391
|
* @param {Configuration} [configuration] Optional configuration.
|
|
@@ -170595,7 +171035,7 @@ async function EntitiesApiAxiosParamCreator_GetAllEntitiesFacts(workspaceId, ori
|
|
|
170595
171035
|
* @param {string} workspaceId
|
|
170596
171036
|
* @param {'ALL' | 'PARENTS' | 'NATIVE'} [origin]
|
|
170597
171037
|
* @param {string} [filter] Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title==\'Some Title\';description==\'desc\'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty==\'Value 123\').
|
|
170598
|
-
* @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
|
|
171038
|
+
* @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'metrics' | 'facts' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
|
|
170599
171039
|
* @param {number} [page] Zero-based page index (0..N)
|
|
170600
171040
|
* @param {number} [size] The size of the page to be returned
|
|
170601
171041
|
* @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
|
|
@@ -173045,7 +173485,7 @@ async function EntitiesApiAxiosParamCreator_GetEntityFacts(workspaceId, objectId
|
|
|
173045
173485
|
* @param {string} workspaceId
|
|
173046
173486
|
* @param {string} objectId
|
|
173047
173487
|
* @param {string} [filter] Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title==\'Some Title\';description==\'desc\'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty==\'Value 123\').
|
|
173048
|
-
* @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
|
|
173488
|
+
* @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'metrics' | 'facts' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
|
|
173049
173489
|
* @param {boolean} [xGDCVALIDATERELATIONS]
|
|
173050
173490
|
* @param {Array<'origin' | 'all' | 'ALL'>} [metaInclude] Include Meta objects.
|
|
173051
173491
|
* @param {*} [options] Override http request option.
|
|
@@ -175176,7 +175616,7 @@ async function EntitiesApiAxiosParamCreator_PatchEntityFacts(workspaceId, object
|
|
|
175176
175616
|
* @param {string} objectId
|
|
175177
175617
|
* @param {JsonApiFilterContextPatchDocument} jsonApiFilterContextPatchDocument
|
|
175178
175618
|
* @param {string} [filter] Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title==\'Some Title\';description==\'desc\'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty==\'Value 123\').
|
|
175179
|
-
* @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
|
|
175619
|
+
* @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'metrics' | 'facts' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
|
|
175180
175620
|
* @param {*} [options] Override http request option.
|
|
175181
175621
|
* @param {Configuration} [configuration] Optional configuration.
|
|
175182
175622
|
* @throws {RequiredError}
|
|
@@ -178080,7 +178520,7 @@ async function EntitiesApiAxiosParamCreator_UpdateEntityExportTemplates(id, json
|
|
|
178080
178520
|
* @param {string} objectId
|
|
178081
178521
|
* @param {JsonApiFilterContextInDocument} jsonApiFilterContextInDocument
|
|
178082
178522
|
* @param {string} [filter] Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title==\'Some Title\';description==\'desc\'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty==\'Value 123\').
|
|
178083
|
-
* @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
|
|
178523
|
+
* @param {Array<'attributes' | 'datasets' | 'labels' | 'computedAttributes' | 'metrics' | 'facts' | 'ALL'>} [include] Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.
|
|
178084
178524
|
* @param {*} [options] Override http request option.
|
|
178085
178525
|
* @param {Configuration} [configuration] Optional configuration.
|
|
178086
178526
|
* @throws {RequiredError}
|