mirror of
https://github.com/lnbits/lnbits.git
synced 2026-08-13 12:42:47 +02:00
chore: make bundle [skip ci]
This commit is contained in:
parent
4bcde634c5
commit
b0eb860c33
9 changed files with 3575 additions and 254 deletions
2
lnbits/static/bundle.min.css
vendored
2
lnbits/static/bundle.min.css
vendored
File diff suppressed because one or more lines are too long
30
lnbits/static/bundle.min.js
vendored
30
lnbits/static/bundle.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -240,10 +240,10 @@ body[data-theme=classic].card-gradient .q-drawer {
|
|||
body[data-theme=classic].card-gradient.body--dark .q-card:not(.q-dialog .q-card,
|
||||
.lnbits__dialog-card,
|
||||
.q-dialog-plugin--dark) {
|
||||
background-image: linear-gradient(135deg, rgb(38.6192771084, 42.356626506, 64.7807228916), rgba(103, 58, 183, 0.07));
|
||||
background-image: linear-gradient(135deg, rgb(15.1448145523%, 16.6104417671%, 25.4042050555%), rgba(103, 58, 183, 0.07));
|
||||
}
|
||||
body[data-theme=classic].card-gradient.body--dark .q-drawer {
|
||||
background-image: linear-gradient(165deg, rgb(36.7144578313, 40.2674698795, 61.5855421687), rgba(103, 58, 183, 0.05));
|
||||
background-image: linear-gradient(165deg, rgb(14.3978266005%, 15.7911646586%, 24.1511930073%), rgba(103, 58, 183, 0.05));
|
||||
}
|
||||
|
||||
body[data-theme=bitcoin].card-gradient .q-card:not(.q-dialog .q-card,
|
||||
|
|
@ -258,10 +258,10 @@ body[data-theme=bitcoin].card-gradient .q-drawer {
|
|||
body[data-theme=bitcoin].card-gradient.body--dark .q-card:not(.q-dialog .q-card,
|
||||
.lnbits__dialog-card,
|
||||
.q-dialog-plugin--dark) {
|
||||
background-image: linear-gradient(135deg, rgb(54.18, 49.364, 71.036), rgba(234, 97, 29, 0.07));
|
||||
background-image: linear-gradient(135deg, rgb(21.2470588235%, 19.3584313725%, 27.857254902%), rgba(234, 97, 29, 0.07));
|
||||
}
|
||||
body[data-theme=bitcoin].card-gradient.body--dark .q-drawer {
|
||||
background-image: linear-gradient(165deg, rgb(51.885, 47.273, 68.027), rgba(234, 97, 29, 0.05));
|
||||
background-image: linear-gradient(165deg, rgb(20.3470588235%, 18.5384313725%, 26.677254902%), rgba(234, 97, 29, 0.05));
|
||||
}
|
||||
|
||||
body[data-theme=freedom].card-gradient .q-card:not(.q-dialog .q-card,
|
||||
|
|
@ -276,10 +276,10 @@ body[data-theme=freedom].card-gradient .q-drawer {
|
|||
body[data-theme=freedom].card-gradient.body--dark .q-card:not(.q-dialog .q-card,
|
||||
.lnbits__dialog-card,
|
||||
.q-dialog-plugin--dark) {
|
||||
background-image: linear-gradient(135deg, rgb(82.2051282051, 55.1948717949, 63.4153846154), rgba(226, 33, 86, 0.07));
|
||||
background-image: linear-gradient(135deg, rgb(32.2373051785%, 21.6450477627%, 24.8687782805%), rgba(226, 33, 86, 0.07));
|
||||
}
|
||||
body[data-theme=freedom].card-gradient.body--dark .q-drawer {
|
||||
background-image: linear-gradient(165deg, rgb(79.1538461538, 53.1461538462, 61.0615384615), rgba(226, 33, 86, 0.05));
|
||||
background-image: linear-gradient(165deg, rgb(31.0407239819%, 20.8416289593%, 23.9457013575%), rgba(226, 33, 86, 0.05));
|
||||
}
|
||||
|
||||
body[data-theme=cyber].card-gradient .q-card:not(.q-dialog .q-card,
|
||||
|
|
@ -294,10 +294,10 @@ body[data-theme=cyber].card-gradient .q-drawer {
|
|||
body[data-theme=cyber].card-gradient.body--dark .q-card:not(.q-dialog .q-card,
|
||||
.lnbits__dialog-card,
|
||||
.q-dialog-plugin--dark) {
|
||||
background-image: linear-gradient(135deg, rgb(10.2, 10.2, 10.2), rgba(124, 179, 66, 0.07));
|
||||
background-image: linear-gradient(135deg, rgb(4%, 4%, 4%), rgba(124, 179, 66, 0.07));
|
||||
}
|
||||
body[data-theme=cyber].card-gradient.body--dark .q-drawer {
|
||||
background-image: linear-gradient(165deg, rgb(7.65, 7.65, 7.65), rgba(124, 179, 66, 0.05));
|
||||
background-image: linear-gradient(165deg, rgb(3%, 3%, 3%), rgba(124, 179, 66, 0.05));
|
||||
}
|
||||
|
||||
body[data-theme=mint].card-gradient .q-card:not(.q-dialog .q-card,
|
||||
|
|
@ -312,10 +312,10 @@ body[data-theme=mint].card-gradient .q-drawer {
|
|||
body[data-theme=mint].card-gradient.body--dark .q-card:not(.q-dialog .q-card,
|
||||
.lnbits__dialog-card,
|
||||
.q-dialog-plugin--dark) {
|
||||
background-image: linear-gradient(135deg, rgb(38.6192771084, 64.7807228916, 53.5686746988), rgba(58, 183, 125, 0.07));
|
||||
background-image: linear-gradient(135deg, rgb(15.1448145523%, 25.4042050555%, 21.0073234113%), rgba(58, 183, 125, 0.07));
|
||||
}
|
||||
body[data-theme=mint].card-gradient.body--dark .q-drawer {
|
||||
background-image: linear-gradient(165deg, rgb(36.7144578313, 61.5855421687, 50.9265060241), rgba(58, 183, 125, 0.05));
|
||||
background-image: linear-gradient(165deg, rgb(14.3978266005%, 24.1511930073%, 19.971178833%), rgba(58, 183, 125, 0.05));
|
||||
}
|
||||
|
||||
body[data-theme=autumn].card-gradient .q-card:not(.q-dialog .q-card,
|
||||
|
|
@ -330,10 +330,10 @@ body[data-theme=autumn].card-gradient .q-drawer {
|
|||
body[data-theme=autumn].card-gradient.body--dark .q-card:not(.q-dialog .q-card,
|
||||
.lnbits__dialog-card,
|
||||
.q-dialog-plugin--dark) {
|
||||
background-image: linear-gradient(135deg, rgb(64.7807228916, 51.0771084337, 38.6192771084), rgba(183, 118, 58, 0.07));
|
||||
background-image: linear-gradient(135deg, rgb(25.4042050555%, 20.0302386015%, 15.1448145523%), rgba(183, 118, 58, 0.07));
|
||||
}
|
||||
body[data-theme=autumn].card-gradient.body--dark .q-drawer {
|
||||
background-image: linear-gradient(165deg, rgb(61.5855421687, 48.5578313253, 36.7144578313), rgba(183, 118, 58, 0.05));
|
||||
background-image: linear-gradient(165deg, rgb(24.1511930073%, 19.0422867942%, 14.3978266005%), rgba(183, 118, 58, 0.05));
|
||||
}
|
||||
|
||||
body[data-theme=flamingo].card-gradient .q-card:not(.q-dialog .q-card,
|
||||
|
|
@ -348,10 +348,10 @@ body[data-theme=flamingo].card-gradient .q-drawer {
|
|||
body[data-theme=flamingo].card-gradient.body--dark .q-card:not(.q-dialog .q-card,
|
||||
.lnbits__dialog-card,
|
||||
.q-dialog-plugin--dark) {
|
||||
background-image: linear-gradient(135deg, rgb(66.176, 4.224, 66.176), rgba(255, 0, 255, 0.07));
|
||||
background-image: linear-gradient(135deg, rgb(25.951372549%, 1.6564705882%, 25.951372549%), rgba(255, 0, 255, 0.07));
|
||||
}
|
||||
body[data-theme=flamingo].card-gradient.body--dark .q-drawer {
|
||||
background-image: linear-gradient(165deg, rgb(61.382, 3.918, 61.382), rgba(255, 0, 255, 0.05));
|
||||
background-image: linear-gradient(165deg, rgb(24.071372549%, 1.5364705882%, 24.071372549%), rgba(255, 0, 255, 0.05));
|
||||
}
|
||||
|
||||
body[data-theme=monochrome].card-gradient .q-card:not(.q-dialog .q-card,
|
||||
|
|
@ -366,10 +366,10 @@ body[data-theme=monochrome].card-gradient .q-drawer {
|
|||
body[data-theme=monochrome].card-gradient.body--dark .q-card:not(.q-dialog .q-card,
|
||||
.lnbits__dialog-card,
|
||||
.q-dialog-plugin--dark) {
|
||||
background-image: linear-gradient(135deg, rgb(10.2, 10.2, 10.2), rgba(73, 73, 73, 0.07));
|
||||
background-image: linear-gradient(135deg, rgb(4%, 4%, 4%), rgba(73, 73, 73, 0.07));
|
||||
}
|
||||
body[data-theme=monochrome].card-gradient.body--dark .q-drawer {
|
||||
background-image: linear-gradient(165deg, rgb(7.65, 7.65, 7.65), rgba(73, 73, 73, 0.05));
|
||||
background-image: linear-gradient(165deg, rgb(3%, 3%, 3%), rgba(73, 73, 73, 0.05));
|
||||
}
|
||||
|
||||
body[data-theme=salvador].card-gradient .q-card:not(.q-dialog .q-card,
|
||||
|
|
@ -384,10 +384,10 @@ body[data-theme=salvador].card-gradient .q-drawer {
|
|||
body[data-theme=salvador].card-gradient.body--dark .q-card:not(.q-dialog .q-card,
|
||||
.lnbits__dialog-card,
|
||||
.q-dialog-plugin--dark) {
|
||||
background-image: linear-gradient(135deg, rgb(43.9888888889, 64.2, 84.4111111111), rgba(25, 118, 210, 0.07));
|
||||
background-image: linear-gradient(135deg, rgb(17.2505446623%, 25.1764705882%, 33.1023965142%), rgba(25, 118, 210, 0.07));
|
||||
}
|
||||
body[data-theme=salvador].card-gradient.body--dark .q-drawer {
|
||||
background-image: linear-gradient(165deg, rgb(42.2416666667, 61.65, 81.0583333333), rgba(25, 118, 210, 0.05));
|
||||
background-image: linear-gradient(165deg, rgb(16.5653594771%, 24.1764705882%, 31.7875816993%), rgba(25, 118, 210, 0.05));
|
||||
}
|
||||
|
||||
body.card-shadow .q-card:not(.q-dialog .q-card, .lnbits__dialog-card, .q-dialog-plugin--dark) {
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
"vendor/qrcode.vue.browser.js",
|
||||
"vendor/chart.umd.js",
|
||||
"vendor/showdown.js",
|
||||
"vendor/purify.js",
|
||||
"vendor/nostr.bundle.js",
|
||||
"i18n/i18n.js",
|
||||
"i18n/de.js",
|
||||
|
|
|
|||
511
lnbits/static/vendor/axios.js
vendored
511
lnbits/static/vendor/axios.js
vendored
|
|
@ -1,4 +1,4 @@
|
|||
/*! Axios v1.18.0 Copyright (c) 2026 Matt Zabriskie and contributors */
|
||||
/*! Axios v1.19.0 Copyright (c) 2026 Matt Zabriskie and contributors */
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
||||
typeof define === 'function' && define.amd ? define(factory) :
|
||||
|
|
@ -825,6 +825,7 @@
|
|||
* @returns {boolean} True if value is a FileList, otherwise false
|
||||
*/
|
||||
var isFileList = kindOfTest('FileList');
|
||||
var isSet = kindOfTest('Set');
|
||||
|
||||
/**
|
||||
* Determine if a value is a Stream
|
||||
|
|
@ -1354,11 +1355,29 @@
|
|||
if (!('toJSON' in source)) {
|
||||
// add-on descent / delete-on-ascent: preserves path semantics, so DAG nodes serialise at every occurrence (see #7230).
|
||||
visited.add(source);
|
||||
var target = isArray(source) ? [] : {};
|
||||
forEach(source, function (value, key) {
|
||||
var reducedValue = _visit(value);
|
||||
!isUndefined(reducedValue) && (target[key] = reducedValue);
|
||||
});
|
||||
var target;
|
||||
if (isSet(source)) {
|
||||
target = [];
|
||||
var _iterator2 = _createForOfIteratorHelper(source),
|
||||
_step;
|
||||
try {
|
||||
for (_iterator2.s(); !(_step = _iterator2.n()).done;) {
|
||||
var value = _step.value;
|
||||
var reducedValue = _visit(value);
|
||||
!isUndefined(reducedValue) && target.push(reducedValue);
|
||||
}
|
||||
} catch (err) {
|
||||
_iterator2.e(err);
|
||||
} finally {
|
||||
_iterator2.f();
|
||||
}
|
||||
} else {
|
||||
target = isArray(source) ? [] : {};
|
||||
forEach(source, function (value, key) {
|
||||
var reducedValue = _visit(value);
|
||||
!isUndefined(reducedValue) && (target[key] = reducedValue);
|
||||
});
|
||||
}
|
||||
visited["delete"](source);
|
||||
return target;
|
||||
}
|
||||
|
|
@ -1539,17 +1558,18 @@
|
|||
i = line.indexOf(':');
|
||||
key = line.substring(0, i).trim().toLowerCase();
|
||||
val = line.substring(i + 1).trim();
|
||||
if (!key || parsed[key] && ignoreDuplicateOf[key]) {
|
||||
var hasKey = utils$1.hasOwnProp(parsed, key);
|
||||
if (!key || hasKey && utils$1.hasOwnProp(ignoreDuplicateOf, key)) {
|
||||
return;
|
||||
}
|
||||
if (key === 'set-cookie') {
|
||||
if (parsed[key]) {
|
||||
if (hasKey) {
|
||||
parsed[key].push(val);
|
||||
} else {
|
||||
parsed[key] = [val];
|
||||
}
|
||||
} else {
|
||||
parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
|
||||
parsed[key] = hasKey ? parsed[key] + ', ' + val : val;
|
||||
}
|
||||
});
|
||||
return parsed;
|
||||
|
|
@ -1621,6 +1641,90 @@
|
|||
}
|
||||
return tokens;
|
||||
}
|
||||
var parameterNameRE = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
|
||||
function trimOWS(value) {
|
||||
var start = 0;
|
||||
var end = value.length;
|
||||
while (start < end) {
|
||||
var code = value.charCodeAt(start);
|
||||
if (code !== 0x09 && code !== 0x20) {
|
||||
break;
|
||||
}
|
||||
start += 1;
|
||||
}
|
||||
while (end > start) {
|
||||
var _code = value.charCodeAt(end - 1);
|
||||
if (_code !== 0x09 && _code !== 0x20) {
|
||||
break;
|
||||
}
|
||||
end -= 1;
|
||||
}
|
||||
return start === 0 && end === value.length ? value : value.slice(start, end);
|
||||
}
|
||||
function decodeQuotedString(value) {
|
||||
var last = value.length - 1;
|
||||
if (last < 1 || value.charCodeAt(0) !== 0x22 || value.charCodeAt(last) !== 0x22) {
|
||||
return value;
|
||||
}
|
||||
var decoded = '';
|
||||
for (var i = 1; i < last; i++) {
|
||||
var code = value.charCodeAt(i);
|
||||
if (code === 0x22) {
|
||||
return value;
|
||||
}
|
||||
if (code === 0x5c) {
|
||||
i += 1;
|
||||
if (i >= last) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
decoded += value[i];
|
||||
}
|
||||
return decoded;
|
||||
}
|
||||
function _parseParameters(value) {
|
||||
var parameters = Object.create(null);
|
||||
var str = String(value);
|
||||
var start = 0;
|
||||
var quoted = false;
|
||||
var escaped = false;
|
||||
function parseParameter(end) {
|
||||
var part = trimOWS(str.slice(start, end));
|
||||
var equals = part.indexOf('=');
|
||||
if (equals < 1) {
|
||||
return;
|
||||
}
|
||||
var name = trimOWS(part.slice(0, equals));
|
||||
if (!parameterNameRE.test(name)) {
|
||||
return;
|
||||
}
|
||||
var normalizedName = name.toLowerCase();
|
||||
if (normalizedName === '__proto__' || normalizedName === 'constructor' || normalizedName === 'prototype') {
|
||||
return;
|
||||
}
|
||||
var parameterValue = trimOWS(part.slice(equals + 1));
|
||||
parameters[normalizedName] = decodeQuotedString(parameterValue);
|
||||
}
|
||||
for (var i = 0; i < str.length; i++) {
|
||||
var code = str.charCodeAt(i);
|
||||
if (quoted) {
|
||||
if (escaped) {
|
||||
escaped = false;
|
||||
} else if (code === 0x5c) {
|
||||
escaped = true;
|
||||
} else if (code === 0x22) {
|
||||
quoted = false;
|
||||
}
|
||||
} else if (code === 0x22) {
|
||||
quoted = true;
|
||||
} else if (code === 0x2c || code === 0x3b) {
|
||||
parseParameter(i);
|
||||
start = i + 1;
|
||||
}
|
||||
}
|
||||
parseParameter(str.length);
|
||||
return parameters;
|
||||
}
|
||||
var isValidHeaderName = function isValidHeaderName(str) {
|
||||
return /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());
|
||||
};
|
||||
|
|
@ -1845,7 +1949,8 @@
|
|||
}, {
|
||||
key: "getSetCookie",
|
||||
value: function getSetCookie() {
|
||||
return this.get('set-cookie') || [];
|
||||
var value = this.get('set-cookie');
|
||||
return utils$1.isArray(value) ? value : value == null || value === false ? [] : [value];
|
||||
}
|
||||
}, {
|
||||
key: Symbol.toStringTag,
|
||||
|
|
@ -1857,6 +1962,11 @@
|
|||
value: function from(thing) {
|
||||
return thing instanceof this ? thing : new this(thing);
|
||||
}
|
||||
}, {
|
||||
key: "parseParameters",
|
||||
value: function parseParameters(value) {
|
||||
return _parseParameters(value);
|
||||
}
|
||||
}, {
|
||||
key: "concat",
|
||||
value: function concat(first) {
|
||||
|
|
@ -1967,6 +2077,23 @@
|
|||
};
|
||||
return _visit(config);
|
||||
}
|
||||
function stringifySafely$1(value) {
|
||||
try {
|
||||
return String(value);
|
||||
} catch (err) {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
function aggregateErrorMessage(error) {
|
||||
var message = error.errors.map(function (entry) {
|
||||
try {
|
||||
return entry && entry.message ? stringifySafely$1(entry.message) : stringifySafely$1(entry);
|
||||
} catch (err) {
|
||||
return '';
|
||||
}
|
||||
}).filter(Boolean).join('; ');
|
||||
return message || error.name || 'AggregateError';
|
||||
}
|
||||
var AxiosError = /*#__PURE__*/function (_Error) {
|
||||
/**
|
||||
* Create an Error with the specified message, config, error code, request and response.
|
||||
|
|
@ -2039,8 +2166,27 @@
|
|||
}], [{
|
||||
key: "from",
|
||||
value: function from(error, code, config, request, response, customProps) {
|
||||
var axiosError = new AxiosError(error.message, code || error.code, config, request, response);
|
||||
axiosError.cause = error;
|
||||
// `AggregateError` (thrown by Node on dual-stack/Happy-Eyeballs connection
|
||||
// failures) has an empty `message`; its detail lives in `errors[]`. Without
|
||||
// this, the wrapped error surfaces with a blank message (see #6721).
|
||||
var message = error.message;
|
||||
if (!message && utils$1.isArray(error.errors) && error.errors.length) {
|
||||
message = aggregateErrorMessage(error);
|
||||
}
|
||||
var axiosError = new AxiosError(message, code || error.code, config, request, response);
|
||||
// Match native `Error` `cause` semantics: non-enumerable. The wrapped
|
||||
// error often carries circular internals (sockets, requests, agents), so
|
||||
// an enumerable `cause` makes structured loggers (pino/winston) and any
|
||||
// own-property walk throw "Converting circular structure to JSON".
|
||||
// Regression from #6982; see #7205. `__proto__: null` mirrors the
|
||||
// `message` descriptor below (prototype-pollution-safe descriptor).
|
||||
Object.defineProperty(axiosError, 'cause', {
|
||||
__proto__: null,
|
||||
value: error,
|
||||
writable: true,
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
axiosError.name = error.name;
|
||||
|
||||
// Preserve status from the original error if not already set from response
|
||||
|
|
@ -2192,7 +2338,10 @@
|
|||
throw new AxiosError('Blob is not supported. Use a Buffer instead.');
|
||||
}
|
||||
if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) {
|
||||
return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);
|
||||
if (useBlob && typeof _Blob === 'function') {
|
||||
return new _Blob([value]);
|
||||
}
|
||||
throw new AxiosError('Blob is not supported. Use a Buffer instead.', AxiosError.ERR_NOT_SUPPORT);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
|
@ -2325,8 +2474,9 @@
|
|||
this._pairs.push([name, value]);
|
||||
};
|
||||
prototype.toString = function toString(encoder) {
|
||||
var _this = this;
|
||||
var _encode = encoder ? function (value) {
|
||||
return encoder.call(this, value, encode$1);
|
||||
return encoder.call(_this, value, encode$1);
|
||||
} : encode$1;
|
||||
return this._pairs.map(function each(pair) {
|
||||
return _encode(pair[0]) + '=' + _encode(pair[1]);
|
||||
|
|
@ -2358,6 +2508,7 @@
|
|||
if (!params) {
|
||||
return url;
|
||||
}
|
||||
url = url || '';
|
||||
var _options = utils$1.isFunction(options) ? {
|
||||
serialize: options
|
||||
} : options;
|
||||
|
|
@ -2561,12 +2712,18 @@
|
|||
* @returns An array of strings.
|
||||
*/
|
||||
function parsePropPath(name) {
|
||||
// foo[x][y][z]
|
||||
// foo.x.y.z
|
||||
// foo-x-y-z
|
||||
// foo x y z
|
||||
// foo[x][y][z] -> ['foo', 'x', 'y', 'z']
|
||||
// foo.x.y.z -> ['foo', 'x', 'y', 'z']
|
||||
// A path is split on `.` and on `[...]` groups. A segment — whether written
|
||||
// in dot notation or captured inside brackets — may contain any character
|
||||
// except `.`, `[` and `]`, so a key like `user-name` or `user name` is kept
|
||||
// literal instead of being split (#5402). `.`, `[` and `]` keep their existing
|
||||
// meaning, e.g. `foo[bar.baz]` -> ['foo', 'bar', 'baz'] and `[]` is an array push.
|
||||
// Excluding `[` from the bracket group also makes the match fail fast at the
|
||||
// next `[`, so a malformed name cannot rescan to the end of the string from
|
||||
// every unmatched `[` — parsing stays linear in the length of the name.
|
||||
var path = [];
|
||||
var pattern = /\w+|\[(\w*)]/g;
|
||||
var pattern = /[^.[\]]+|\[([^.[\]]*)]/g;
|
||||
var match;
|
||||
while ((match = pattern.exec(name)) !== null) {
|
||||
throwIfDepthExceeded(path.length);
|
||||
|
|
@ -2923,7 +3080,7 @@
|
|||
}
|
||||
var rawLoaded = e.loaded;
|
||||
var total = e.lengthComputable ? e.total : undefined;
|
||||
var loaded = total != null ? Math.min(rawLoaded, total) : rawLoaded;
|
||||
var loaded = Math.max(0, total != null ? Math.min(rawLoaded, total) : rawLoaded);
|
||||
var progressBytes = Math.max(0, loaded - bytesNotified);
|
||||
var rate = _speedometer(progressBytes);
|
||||
bytesNotified = Math.max(bytesNotified, loaded);
|
||||
|
|
@ -2951,11 +3108,12 @@
|
|||
}, throttled[1]];
|
||||
};
|
||||
var asyncDecorator = function asyncDecorator(fn) {
|
||||
var scheduler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : utils$1.asap;
|
||||
return function () {
|
||||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
||||
args[_key] = arguments[_key];
|
||||
}
|
||||
return utils$1.asap(function () {
|
||||
return scheduler(function () {
|
||||
return fn.apply(void 0, args);
|
||||
});
|
||||
};
|
||||
|
|
@ -3005,7 +3163,11 @@
|
|||
var cookie = cookies[i].replace(/^\s+/, '');
|
||||
var eq = cookie.indexOf('=');
|
||||
if (eq !== -1 && cookie.slice(0, eq) === name) {
|
||||
return decodeURIComponent(cookie.slice(eq + 1));
|
||||
try {
|
||||
return decodeURIComponent(cookie.slice(eq + 1));
|
||||
} catch (e) {
|
||||
return cookie.slice(eq + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
|
@ -3049,7 +3211,14 @@
|
|||
* @returns {string} The combined URL
|
||||
*/
|
||||
function combineURLs(baseURL, relativeURL) {
|
||||
return relativeURL ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL;
|
||||
if (!relativeURL) {
|
||||
return baseURL;
|
||||
}
|
||||
var end = baseURL.length;
|
||||
while (end > 0 && baseURL.charCodeAt(end - 1) === 47) {
|
||||
end--;
|
||||
}
|
||||
return baseURL.slice(0, end) + '/' + relativeURL.replace(/^\/+/, '');
|
||||
}
|
||||
|
||||
var malformedHttpProtocol = /^https?:(?!\/\/)/i;
|
||||
|
|
@ -3064,9 +3233,40 @@
|
|||
function normalizeURLForProtocolCheck(url) {
|
||||
return stripLeadingC0ControlOrSpace(url).replace(httpProtocolControlCharacters, '');
|
||||
}
|
||||
|
||||
// Redact the parts of a URL that can carry secrets before it is embedded in an
|
||||
// error message. AxiosError.toJSON() serializes `message` verbatim and errors
|
||||
// are commonly logged, while the opt-in `config.redact` model only cleans
|
||||
// config keys — it cannot reach the message. Redact only the genuinely
|
||||
// sensitive substrings — userinfo (credentials), query parameter values and
|
||||
// fragment contents — with the same REDACTED marker the config redaction uses,
|
||||
// while keeping the scheme, host, path and parameter names so the offending
|
||||
// request stays accurately identifiable.
|
||||
function redactFragment(fragment) {
|
||||
if (!fragment) {
|
||||
return fragment;
|
||||
}
|
||||
return fragment.replace(/(^|&)([^=&]*=)?[^&]+/g, function (match, separator) {
|
||||
var parameterName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
||||
return "".concat(separator).concat(parameterName).concat(REDACTED);
|
||||
});
|
||||
}
|
||||
function redactSensitiveURLParts(url) {
|
||||
var redactedURL = url.replace(/^(https?:\/{0,2})[^/?#]*@/i, "$1".concat(REDACTED, "@"));
|
||||
var fragmentIndex = redactedURL.indexOf('#');
|
||||
var urlWithoutFragment = fragmentIndex === -1 ? redactedURL : redactedURL.slice(0, fragmentIndex);
|
||||
var redactedURLWithoutFragment = urlWithoutFragment.replace(/([?&][^=&#]*=)[^&#]*/g, "$1".concat(REDACTED));
|
||||
if (fragmentIndex === -1) {
|
||||
return redactedURLWithoutFragment;
|
||||
}
|
||||
return "".concat(redactedURLWithoutFragment, "#").concat(redactFragment(redactedURL.slice(fragmentIndex + 1)));
|
||||
}
|
||||
function assertValidHttpProtocolURL(url, config) {
|
||||
if (typeof url === 'string' && malformedHttpProtocol.test(normalizeURLForProtocolCheck(url))) {
|
||||
throw new AxiosError('Invalid URL: missing "//" after protocol', AxiosError.ERR_INVALID_URL, config);
|
||||
if (typeof url === 'string') {
|
||||
var normalizedURL = normalizeURLForProtocolCheck(url);
|
||||
if (malformedHttpProtocol.test(normalizedURL)) {
|
||||
throw new AxiosError("Invalid URL ".concat(JSON.stringify(redactSensitiveURLParts(normalizedURL)), ": missing \"//\" after protocol"), AxiosError.ERR_INVALID_URL, config);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3093,6 +3293,14 @@
|
|||
var headersToObject = function headersToObject(thing) {
|
||||
return thing instanceof AxiosHeaders ? _objectSpread2({}, thing) : thing;
|
||||
};
|
||||
var ownEnumerableKeys = function ownEnumerableKeys(thing) {
|
||||
if (Object.getOwnPropertySymbols && Object.getOwnPropertyDescriptor) {
|
||||
return Object.keys(thing).concat(Object.getOwnPropertySymbols(thing).filter(function (symbol) {
|
||||
return Object.getOwnPropertyDescriptor(thing, symbol).enumerable;
|
||||
}));
|
||||
}
|
||||
return Object.keys(thing);
|
||||
};
|
||||
|
||||
/**
|
||||
* Config-specific merge-function which creates a new config-object
|
||||
|
|
@ -3105,6 +3313,7 @@
|
|||
*/
|
||||
function mergeConfig(config1, config2) {
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
config1 = config1 || {};
|
||||
config2 = config2 || {};
|
||||
|
||||
// Use a null-prototype object so that downstream reads such as `config.auth`
|
||||
|
|
@ -3216,7 +3425,7 @@
|
|||
return mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true);
|
||||
}
|
||||
};
|
||||
utils$1.forEach(Object.keys(_objectSpread2(_objectSpread2({}, config1), config2)), function computeConfigValue(prop) {
|
||||
utils$1.forEach(ownEnumerableKeys(_objectSpread2(_objectSpread2({}, config1), config2)), function computeConfigValue(prop) {
|
||||
if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return;
|
||||
var merge = utils$1.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties;
|
||||
var a = utils$1.hasOwnProp(config1, prop) ? config1[prop] : undefined;
|
||||
|
|
@ -3235,12 +3444,24 @@
|
|||
}
|
||||
|
||||
var FORM_DATA_CONTENT_HEADERS = ['content-type', 'content-length'];
|
||||
|
||||
/**
|
||||
* Apply the headers generated by a FormData implementation to the request headers,
|
||||
* honoring the `formDataHeaderPolicy` option: with 'content-only', copy only the
|
||||
* content-* headers; otherwise merge all of them.
|
||||
*
|
||||
* @param {AxiosHeaders} headers - the request headers to mutate
|
||||
* @param {Object | null | undefined} formHeaders - headers produced by the FormData implementation
|
||||
* @param {String} [policy] - the resolved `formDataHeaderPolicy` config value
|
||||
*
|
||||
* @returns {void}
|
||||
*/
|
||||
function setFormDataHeaders(headers, formHeaders, policy) {
|
||||
if (policy !== 'content-only') {
|
||||
headers.set(formHeaders);
|
||||
return;
|
||||
}
|
||||
Object.entries(formHeaders).forEach(function (_ref) {
|
||||
Object.entries(formHeaders || {}).forEach(function (_ref) {
|
||||
var _ref2 = _slicedToArray(_ref, 2),
|
||||
key = _ref2[0],
|
||||
val = _ref2[1];
|
||||
|
|
@ -3287,7 +3508,11 @@
|
|||
if (auth) {
|
||||
var username = utils$1.getSafeProp(auth, 'username') || '';
|
||||
var password = utils$1.getSafeProp(auth, 'password') || '';
|
||||
headers.set('Authorization', 'Basic ' + btoa(username + ':' + (password ? encodeUTF8$1(password) : '')));
|
||||
try {
|
||||
headers.set('Authorization', 'Basic ' + btoa(username + ':' + (password ? encodeUTF8$1(password) : '')));
|
||||
} catch (e) {
|
||||
throw AxiosError.from(e, AxiosError.ERR_BAD_OPTION_VALUE, config);
|
||||
}
|
||||
}
|
||||
if (utils$1.isFormData(data)) {
|
||||
if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv || utils$1.isReactNative(data)) {
|
||||
|
|
@ -3492,6 +3717,7 @@
|
|||
var protocol = parseProtocol(_config.url);
|
||||
if (protocol && !platform.protocols.includes(protocol)) {
|
||||
reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));
|
||||
done();
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -3531,7 +3757,16 @@
|
|||
signals = null;
|
||||
};
|
||||
signals.forEach(function (signal) {
|
||||
return signal.addEventListener('abort', onabort);
|
||||
if (aborted) {
|
||||
return;
|
||||
}
|
||||
if (signal.aborted) {
|
||||
onabort.call(signal);
|
||||
return;
|
||||
}
|
||||
signal.addEventListener('abort', onabort, {
|
||||
once: true
|
||||
});
|
||||
});
|
||||
var signal = controller.signal;
|
||||
signal.unsubscribe = function () {
|
||||
|
|
@ -3744,13 +3979,11 @@
|
|||
};
|
||||
|
||||
/**
|
||||
* Estimate decoded byte length of a data:// URL *without* allocating large buffers.
|
||||
* - For base64: compute exact decoded size using length and padding;
|
||||
* handle %XX at the character-count level (no string allocation).
|
||||
* - For non-base64: compute the exact percent-decoded UTF-8 byte length.
|
||||
*
|
||||
* @param {string} url
|
||||
* @returns {number}
|
||||
* Estimate data: URL byte lengths *without* allocating large buffers.
|
||||
* - Fetch percent-decodes a base64 body before decoding it.
|
||||
* - Node's Buffer.from(body, 'base64') sizes its backing allocation from the
|
||||
* raw body, including ignored characters and content after padding.
|
||||
* - Non-base64 data is percent-decoded and then encoded as UTF-8.
|
||||
*/
|
||||
var isHexDigit = function isHexDigit(charCode) {
|
||||
return charCode >= 48 && charCode <= 57 || charCode >= 65 && charCode <= 70 || charCode >= 97 && charCode <= 102;
|
||||
|
|
@ -3758,7 +3991,80 @@
|
|||
var isPercentEncodedByte = function isPercentEncodedByte(str, i, len) {
|
||||
return i + 2 < len && isHexDigit(str.charCodeAt(i + 1)) && isHexDigit(str.charCodeAt(i + 2));
|
||||
};
|
||||
function estimateDataURLDecodedBytes(url) {
|
||||
var hexValue = function hexValue(charCode) {
|
||||
return charCode <= 57 ? charCode - 48 : (charCode & 0xdf) - 55;
|
||||
};
|
||||
var isBase64Char = function isBase64Char(charCode) {
|
||||
return charCode >= 65 && charCode <= 90 ||
|
||||
// A-Z
|
||||
charCode >= 97 && charCode <= 122 ||
|
||||
// a-z
|
||||
charCode >= 48 && charCode <= 57 ||
|
||||
// 0-9
|
||||
charCode === 43 ||
|
||||
// +
|
||||
charCode === 47 ||
|
||||
// /
|
||||
charCode === 45 ||
|
||||
// - (base64url)
|
||||
charCode === 95;
|
||||
}; // _ (base64url)
|
||||
|
||||
var isBase64Whitespace = function isBase64Whitespace(charCode) {
|
||||
return charCode === 9 || charCode === 10 || charCode === 12 || charCode === 13 || charCode === 32;
|
||||
};
|
||||
var base64Bytes = function base64Bytes(significant) {
|
||||
var groups = Math.floor(significant / 4);
|
||||
var remainder = significant % 4;
|
||||
return groups * 3 + (remainder === 2 ? 1 : remainder === 3 ? 2 : 0);
|
||||
};
|
||||
|
||||
// Buffer.byteLength(body, 'base64') uses the raw string length as an allocation
|
||||
// upper bound even when Buffer.from later ignores characters or stops at '='.
|
||||
var estimateBase64BufferAllocation = function estimateBase64BufferAllocation(body) {
|
||||
var len = body.length;
|
||||
var padding = 0;
|
||||
if (len > 0 && body.charCodeAt(len - 1) === 61 /* '=' */) {
|
||||
padding++;
|
||||
if (len > 1 && body.charCodeAt(len - 2) === 61 /* '=' */) {
|
||||
padding++;
|
||||
}
|
||||
}
|
||||
return Math.floor((len - padding) * 3 / 4);
|
||||
};
|
||||
var estimatePercentDecodedBase64Bytes = function estimatePercentDecodedBase64Bytes(body) {
|
||||
var len = body.length;
|
||||
var significant = 0;
|
||||
var padding = 0;
|
||||
var invalid = false;
|
||||
for (var i = 0; i < len; i++) {
|
||||
var code = body.charCodeAt(i);
|
||||
if (code === 37 /* '%' */ && isPercentEncodedByte(body, i, len)) {
|
||||
code = hexValue(body.charCodeAt(i + 1)) * 16 + hexValue(body.charCodeAt(i + 2));
|
||||
i += 2;
|
||||
}
|
||||
if (isBase64Whitespace(code)) {
|
||||
continue;
|
||||
}
|
||||
if (code === 61 /* '=' */) {
|
||||
padding++;
|
||||
continue;
|
||||
}
|
||||
if (!isBase64Char(code) || padding > 0) {
|
||||
invalid = true;
|
||||
continue;
|
||||
}
|
||||
significant++;
|
||||
}
|
||||
|
||||
// Fetch rejects malformed forgiving-base64 input. Returning the raw-size
|
||||
// allocation bound keeps that invalid input from becoming a pre-check bypass.
|
||||
if (invalid || padding > 2 || padding > 0 && (significant + padding) % 4 !== 0 || significant % 4 === 1) {
|
||||
return estimateBase64BufferAllocation(body);
|
||||
}
|
||||
return base64Bytes(significant);
|
||||
};
|
||||
var estimateDataURLBytes = function estimateDataURLBytes(url, estimateBase64) {
|
||||
if (!url || typeof url !== 'string') return 0;
|
||||
if (!url.startsWith('data:')) return 0;
|
||||
var comma = url.indexOf(',');
|
||||
|
|
@ -3767,49 +4073,7 @@
|
|||
var body = url.slice(comma + 1);
|
||||
var isBase64 = /;base64/i.test(meta);
|
||||
if (isBase64) {
|
||||
var effectiveLen = body.length;
|
||||
var len = body.length; // cache length
|
||||
|
||||
for (var i = 0; i < len; i++) {
|
||||
if (body.charCodeAt(i) === 37 /* '%' */ && i + 2 < len) {
|
||||
var a = body.charCodeAt(i + 1);
|
||||
var b = body.charCodeAt(i + 2);
|
||||
var isHex = isHexDigit(a) && isHexDigit(b);
|
||||
if (isHex) {
|
||||
effectiveLen -= 2;
|
||||
i += 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
var pad = 0;
|
||||
var idx = len - 1;
|
||||
var tailIsPct3D = function tailIsPct3D(j) {
|
||||
return j >= 2 && body.charCodeAt(j - 2) === 37 &&
|
||||
// '%'
|
||||
body.charCodeAt(j - 1) === 51 && (
|
||||
// '3'
|
||||
body.charCodeAt(j) === 68 || body.charCodeAt(j) === 100);
|
||||
}; // 'D' or 'd'
|
||||
|
||||
if (idx >= 0) {
|
||||
if (body.charCodeAt(idx) === 61 /* '=' */) {
|
||||
pad++;
|
||||
idx--;
|
||||
} else if (tailIsPct3D(idx)) {
|
||||
pad++;
|
||||
idx -= 3;
|
||||
}
|
||||
}
|
||||
if (pad === 1 && idx >= 0) {
|
||||
if (body.charCodeAt(idx) === 61 /* '=' */) {
|
||||
pad++;
|
||||
} else if (tailIsPct3D(idx)) {
|
||||
pad++;
|
||||
}
|
||||
}
|
||||
var groups = Math.floor(effectiveLen / 4);
|
||||
var _bytes = groups * 3 - (pad || 0);
|
||||
return _bytes > 0 ? _bytes : 0;
|
||||
return estimateBase64(body);
|
||||
}
|
||||
|
||||
// Compute UTF-8 byte length directly from UTF-16 code units without allocating
|
||||
|
|
@ -3817,20 +4081,20 @@
|
|||
// Valid %XX triplets count as one decoded byte; this matches the bytes that
|
||||
// decodeURIComponent(body) would produce before Buffer re-encodes the string.
|
||||
var bytes = 0;
|
||||
for (var _i = 0, _len = body.length; _i < _len; _i++) {
|
||||
var c = body.charCodeAt(_i);
|
||||
if (c === 37 /* '%' */ && isPercentEncodedByte(body, _i, _len)) {
|
||||
for (var i = 0, len = body.length; i < len; i++) {
|
||||
var c = body.charCodeAt(i);
|
||||
if (c === 37 /* '%' */ && isPercentEncodedByte(body, i, len)) {
|
||||
bytes += 1;
|
||||
_i += 2;
|
||||
i += 2;
|
||||
} else if (c < 0x80) {
|
||||
bytes += 1;
|
||||
} else if (c < 0x800) {
|
||||
bytes += 2;
|
||||
} else if (c >= 0xd800 && c <= 0xdbff && _i + 1 < _len) {
|
||||
var next = body.charCodeAt(_i + 1);
|
||||
} else if (c >= 0xd800 && c <= 0xdbff && i + 1 < len) {
|
||||
var next = body.charCodeAt(i + 1);
|
||||
if (next >= 0xdc00 && next <= 0xdfff) {
|
||||
bytes += 4;
|
||||
_i++;
|
||||
i++;
|
||||
} else {
|
||||
bytes += 3;
|
||||
}
|
||||
|
|
@ -3839,9 +4103,21 @@
|
|||
}
|
||||
}
|
||||
return bytes;
|
||||
};
|
||||
|
||||
/**
|
||||
* Estimate the percent-decoded payload size used by Fetch data: URLs.
|
||||
*
|
||||
* @param {string} url
|
||||
* @returns {number}
|
||||
*/
|
||||
function estimateDataURLDecodedBytes(url) {
|
||||
// Fetch removes URL fragments before processing a data: URL.
|
||||
var fragmentIndex = typeof url === 'string' ? url.indexOf('#') : -1;
|
||||
return estimateDataURLBytes(fragmentIndex === -1 ? url : url.slice(0, fragmentIndex), estimatePercentDecodedBase64Bytes);
|
||||
}
|
||||
|
||||
var VERSION = "1.18.0";
|
||||
var VERSION = "1.19.0";
|
||||
|
||||
var DEFAULT_CHUNK_SIZE = 64 * 1024;
|
||||
var isFunction = utils$1.isFunction;
|
||||
|
|
@ -4045,7 +4321,7 @@
|
|||
}();
|
||||
return /*#__PURE__*/function () {
|
||||
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(config) {
|
||||
var _resolveConfig, url, method, data, signal, cancelToken, timeout, onDownloadProgress, onUploadProgress, responseType, headers, _resolveConfig$withCr, withCredentials, fetchOptions, maxContentLength, maxBodyLength, hasMaxContentLength, hasMaxBodyLength, own, _fetch, composedSignal, request, unsubscribe, requestContentLength, pendingBodyError, maxBodyLengthError, auth, configAuth, username, password, parsedURL, urlUsername, urlPassword, estimated, outboundLength, mustEnforceStreamBody, trackRequestStream, _request, contentTypeHeader, _ref5, _ref6, onProgress, flush, isCredentialsSupported, contentType, resolvedOptions, response, responseHeaders, declaredLength, isStreamResponse, options, responseContentLength, _ref7, _ref8, _onProgress, _flush, bytesRead, onChunkProgress, responseData, materializedSize, canceledError, _t3, _t4;
|
||||
var _resolveConfig, url, method, data, signal, cancelToken, timeout, onDownloadProgress, onUploadProgress, responseType, headers, _resolveConfig$withCr, withCredentials, fetchOptions, maxContentLength, maxBodyLength, hasMaxContentLength, hasMaxBodyLength, own, _fetch, composedSignal, request, unsubscribe, requestContentLength, pendingBodyError, maxBodyLengthError, auth, configAuth, username, password, parsedURL, urlUsername, urlPassword, estimated, outboundLength, mustEnforceStreamBody, trackRequestStream, _request, contentTypeHeader, _ref5, _ref6, onProgress, flush, isCredentialsSupported, contentType, resolvedOptions, response, responseHeaders, declaredLength, isStreamResponse, options, responseContentLength, _ref7, _ref8, _onProgress, _flush, bytesRead, onChunkProgress, responseData, materializedSize, canceledError, networkError, _t3, _t4;
|
||||
return _regenerator().w(function (_context4) {
|
||||
while (1) switch (_context4.p = _context4.n) {
|
||||
case 0:
|
||||
|
|
@ -4317,7 +4593,17 @@
|
|||
canceledError = composedSignal.reason;
|
||||
canceledError.config = config;
|
||||
request && (canceledError.request = request);
|
||||
_t4 !== canceledError && (canceledError.cause = _t4);
|
||||
if (_t4 !== canceledError) {
|
||||
// Non-enumerable to match native Error `cause` semantics so loggers
|
||||
// don't recurse into circular fetch internals (see #7205).
|
||||
Object.defineProperty(canceledError, 'cause', {
|
||||
__proto__: null,
|
||||
value: _t4,
|
||||
writable: true,
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
throw canceledError;
|
||||
case 17:
|
||||
if (!pendingBodyError) {
|
||||
|
|
@ -4338,9 +4624,16 @@
|
|||
_context4.n = 20;
|
||||
break;
|
||||
}
|
||||
throw Object.assign(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, _t4 && _t4.response), {
|
||||
cause: _t4.cause || _t4
|
||||
networkError = new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, _t4 && _t4.response); // Non-enumerable to match native Error `cause` semantics so loggers
|
||||
// don't recurse into circular fetch internals (see #7205).
|
||||
Object.defineProperty(networkError, 'cause', {
|
||||
__proto__: null,
|
||||
value: _t4.cause || _t4,
|
||||
writable: true,
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
throw networkError;
|
||||
case 20:
|
||||
throw AxiosError.from(_t4, _t4 && _t4.code, config, request, _t4 && _t4.response);
|
||||
case 21:
|
||||
|
|
@ -4472,7 +4765,7 @@
|
|||
return "adapter ".concat(id, " ") + (state === false ? 'is not supported by the environment' : 'is not available in the build');
|
||||
});
|
||||
var s = length ? reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0]) : 'as no adapter specified';
|
||||
throw new AxiosError("There is no suitable adapter to dispatch the request " + s, 'ERR_NOT_SUPPORT');
|
||||
throw new AxiosError("There is no suitable adapter to dispatch the request " + s, AxiosError.ERR_NOT_SUPPORT);
|
||||
}
|
||||
return adapter;
|
||||
}
|
||||
|
|
@ -4615,7 +4908,7 @@
|
|||
*/
|
||||
|
||||
function assertOptions(options, schema, allowUnknown) {
|
||||
if (_typeof(options) !== 'object') {
|
||||
if (_typeof(options) !== 'object' || options === null) {
|
||||
throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);
|
||||
}
|
||||
var keys = Object.keys(options);
|
||||
|
|
@ -4728,6 +5021,7 @@
|
|||
}, {
|
||||
key: "_request",
|
||||
value: function _request(configOrUrl, config) {
|
||||
var _this = this;
|
||||
/*eslint no-param-reassign:0*/
|
||||
// Allow for axios('example/url'[, config]) a la fetch API
|
||||
if (typeof configOrUrl === 'string') {
|
||||
|
|
@ -4825,16 +5119,31 @@
|
|||
var onFulfilled = requestInterceptorChain[i++];
|
||||
var onRejected = requestInterceptorChain[i++];
|
||||
try {
|
||||
newConfig = onFulfilled(newConfig);
|
||||
newConfig = onFulfilled ? onFulfilled(newConfig) : newConfig;
|
||||
} catch (error) {
|
||||
onRejected.call(this, error);
|
||||
if (!onRejected) {
|
||||
promise = Promise.reject(error);
|
||||
break;
|
||||
}
|
||||
try {
|
||||
var rejectedResult = onRejected.call(this, error);
|
||||
if (utils$1.isThenable(rejectedResult)) {
|
||||
promise = Promise.resolve(rejectedResult).then(function () {
|
||||
return dispatchRequest.call(_this, newConfig);
|
||||
});
|
||||
}
|
||||
} catch (rejectedError) {
|
||||
promise = Promise.reject(rejectedError);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
try {
|
||||
promise = dispatchRequest.call(this, newConfig);
|
||||
} catch (error) {
|
||||
return Promise.reject(error);
|
||||
if (!promise) {
|
||||
try {
|
||||
promise = dispatchRequest.call(this, newConfig);
|
||||
} catch (error) {
|
||||
promise = Promise.reject(error);
|
||||
}
|
||||
}
|
||||
i = 0;
|
||||
len = responseInterceptorChain.length;
|
||||
|
|
@ -5114,6 +5423,7 @@
|
|||
LoopDetected: 508,
|
||||
NotExtended: 510,
|
||||
NetworkAuthenticationRequired: 511,
|
||||
WebServerReturnsAnUnknownError: 520,
|
||||
WebServerIsDown: 521,
|
||||
ConnectionTimedOut: 522,
|
||||
OriginIsUnreachable: 523,
|
||||
|
|
@ -5197,4 +5507,3 @@
|
|||
return axios;
|
||||
|
||||
}));
|
||||
//# sourceMappingURL=axios.js.map
|
||||
|
|
|
|||
729
lnbits/static/vendor/nostr.bundle.js
vendored
729
lnbits/static/vendor/nostr.bundle.js
vendored
File diff suppressed because it is too large
Load diff
2433
lnbits/static/vendor/purify.js
vendored
Normal file
2433
lnbits/static/vendor/purify.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
83
lnbits/static/vendor/qrcode.vue.browser.js
vendored
83
lnbits/static/vendor/qrcode.vue.browser.js
vendored
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* qrcode.vue v3.9.0
|
||||
* qrcode.vue v3.10.0
|
||||
* A Vue.js component to generate QRCode. Both support Vue 2 and Vue 3
|
||||
* © 2017-PRESENT @scopewu(https://github.com/scopewu)
|
||||
* MIT License.
|
||||
|
|
@ -910,11 +910,10 @@ var qrcodegen;
|
|||
var QR = qrcodegen;
|
||||
|
||||
var _uid = 0;
|
||||
function getUid() {
|
||||
if (typeof vue.useId === 'function') {
|
||||
return "".concat(vue.useId(), "-").concat(_uid++);
|
||||
}
|
||||
return "vue-".concat(Math.random().toString(36).slice(2), "-").concat(_uid++);
|
||||
function getUid(id) {
|
||||
if (id)
|
||||
return id;
|
||||
return "v-".concat(_uid++);
|
||||
}
|
||||
var defaultErrorCorrectLevel = 'L';
|
||||
var DEFAULT_QR_SIZE = 100;
|
||||
|
|
@ -1074,6 +1073,14 @@ function useQRCode(props) {
|
|||
});
|
||||
return { margin: margin, numCells: numCells, cells: cells, fgPath: fgPath, imageProps: imageProps, imageBorderProps: imageBorderProps };
|
||||
}
|
||||
function downloadDataURLAsFile(data, filename) {
|
||||
var link = document.createElement('a');
|
||||
link.download = filename;
|
||||
link.href = data;
|
||||
document.body.appendChild(link);
|
||||
link.click();
|
||||
document.body.removeChild(link);
|
||||
}
|
||||
var QRCodeProps = {
|
||||
value: {
|
||||
type: String,
|
||||
|
|
@ -1099,41 +1106,39 @@ var QRCodeProps = {
|
|||
},
|
||||
margin: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: DEFAULT_MARGIN,
|
||||
validator: function (m) { return m >= 0; },
|
||||
},
|
||||
imageSettings: {
|
||||
type: Object,
|
||||
required: false,
|
||||
default: function () { return ({}); },
|
||||
},
|
||||
gradient: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false,
|
||||
},
|
||||
gradientType: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: 'linear',
|
||||
validator: function (t) { return ['linear', 'radial'].indexOf(t) > -1; },
|
||||
},
|
||||
gradientStartColor: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: '#000',
|
||||
},
|
||||
gradientEndColor: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: '#fff',
|
||||
},
|
||||
radius: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: 0,
|
||||
validator: function (r) { return !isNaN(r) && r >= 0 && r <= 0.5; },
|
||||
},
|
||||
id: {
|
||||
type: String,
|
||||
required: false,
|
||||
},
|
||||
};
|
||||
var QRCodeVueProps = __assign(__assign({}, QRCodeProps), { renderAs: {
|
||||
type: String,
|
||||
|
|
@ -1144,9 +1149,10 @@ var QRCodeVueProps = __assign(__assign({}, QRCodeProps), { renderAs: {
|
|||
var QrcodeSvg = vue.defineComponent({
|
||||
name: 'QRCodeSvg',
|
||||
props: QRCodeProps,
|
||||
setup: function (props) {
|
||||
setup: function (props, ctx) {
|
||||
var _a = useQRCode(props), numCells = _a.numCells, fgPath = _a.fgPath, imageProps = _a.imageProps, imageBorderProps = _a.imageBorderProps;
|
||||
var uid = getUid();
|
||||
var svgEl = vue.ref();
|
||||
var uid = getUid(props.id);
|
||||
var qrGradientId = "qrcode.vue-gradient-".concat(uid);
|
||||
var qrLogoClipPathId = "qrcode.vue-logo-clip-path-".concat(uid);
|
||||
var gradientVNode = vue.computed(function () {
|
||||
|
|
@ -1194,15 +1200,32 @@ var QrcodeSvg = vue.defineComponent({
|
|||
}),
|
||||
]);
|
||||
});
|
||||
var getSvgDataURL = function (svg) { return 'data:image/svg+xml;charset=utf-8,' +
|
||||
encodeURIComponent('<?xml version="1.0" standalone="no"?>' + new XMLSerializer().serializeToString(svg)); };
|
||||
ctx.expose({
|
||||
toDataURL: function () {
|
||||
var svg = svgEl.value;
|
||||
if (!svg)
|
||||
return;
|
||||
return getSvgDataURL(svg);
|
||||
},
|
||||
download: function (filename) {
|
||||
if (filename === void 0) { filename = 'qrcode.svg'; }
|
||||
var svg = svgEl.value;
|
||||
if (!svg)
|
||||
return;
|
||||
downloadDataURLAsFile(getSvgDataURL(svg), filename);
|
||||
},
|
||||
});
|
||||
return function () { return vue.h('svg', {
|
||||
ref: svgEl,
|
||||
width: props.size,
|
||||
height: props.size,
|
||||
xmlns: 'http://www.w3.org/2000/svg',
|
||||
viewBox: "0 0 ".concat(numCells.value, " ").concat(numCells.value),
|
||||
role: 'img',
|
||||
'aria-label': props.value,
|
||||
}, [
|
||||
vue.h('defs', {}, [gradientVNode.value, clipPathVNode.value]),
|
||||
vue.h('defs', {}, [gradientVNode.value, clipPathVNode.value].filter(Boolean)),
|
||||
vue.h('rect', {
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
|
|
@ -1221,7 +1244,7 @@ var QrcodeSvg = vue.defineComponent({
|
|||
rx: imageBorderProps.value.borderRadius,
|
||||
ry: imageBorderProps.value.borderRadius,
|
||||
}),
|
||||
props.imageSettings.src && imageProps.value && vue.h('image', __assign(__assign({ href: props.imageSettings.src }, imageProps.value), (imageProps.value.borderRadius > 0 ? { 'clip-path': "url(#".concat(qrLogoClipPathId, ")") } : {}))),
|
||||
props.imageSettings.src && imageProps.value && vue.h('image', __assign({ href: props.imageSettings.src, crossorigin: props.imageSettings.crossOrigin, 'clip-path': imageProps.value.borderRadius > 0 ? "url(#".concat(qrLogoClipPathId, ")") : void 0 }, imageProps.value)),
|
||||
]); };
|
||||
},
|
||||
});
|
||||
|
|
@ -1307,12 +1330,23 @@ var QrcodeCanvas = vue.defineComponent({
|
|||
}
|
||||
};
|
||||
vue.onMounted(generate);
|
||||
vue.watchEffect(generate);
|
||||
vue.watchEffect(generate, { flush: 'post' });
|
||||
ctx.expose({
|
||||
toDataURL: function (type, quality) { var _a; return (_a = canvasEl.value) === null || _a === void 0 ? void 0 : _a.toDataURL(type, quality); },
|
||||
download: function (filename) {
|
||||
if (filename === void 0) { filename = 'qrcode.png'; }
|
||||
var canvas = canvasEl.value;
|
||||
if (!canvas)
|
||||
return;
|
||||
downloadDataURLAsFile(canvas.toDataURL('image/png'), filename);
|
||||
},
|
||||
});
|
||||
return function () { return vue.h(vue.Fragment, [
|
||||
vue.h('canvas', __assign(__assign({}, ctx.attrs), { ref: canvasEl, role: 'img', 'aria-label': props.value, style: __assign(__assign({}, ctx.attrs.style), { width: "".concat(props.size, "px"), height: "".concat(props.size, "px") }) })),
|
||||
vue.h('canvas', __assign(__assign({}, ctx.attrs), { ref: canvasEl, role: 'img', style: __assign(__assign({}, ctx.attrs.style), { width: "".concat(props.size, "px"), height: "".concat(props.size, "px") }) })),
|
||||
props.imageSettings.src && vue.h('img', {
|
||||
ref: imageEl,
|
||||
src: props.imageSettings.src,
|
||||
crossorigin: props.imageSettings.crossOrigin,
|
||||
style: { display: 'none' },
|
||||
onLoad: generate,
|
||||
})
|
||||
|
|
@ -1322,8 +1356,14 @@ var QrcodeCanvas = vue.defineComponent({
|
|||
var QrcodeVue = vue.defineComponent({
|
||||
name: 'Qrcode',
|
||||
props: QRCodeVueProps,
|
||||
setup: function (props) {
|
||||
setup: function (props, ctx) {
|
||||
var childRef = vue.ref();
|
||||
ctx.expose({
|
||||
toDataURL: function (type, quality) { var _a, _b; return (_b = (_a = childRef.value) === null || _a === void 0 ? void 0 : _a.toDataURL) === null || _b === void 0 ? void 0 : _b.call(_a, type, quality); },
|
||||
download: function (filename) { var _a, _b; return (_b = (_a = childRef.value) === null || _a === void 0 ? void 0 : _a.download) === null || _b === void 0 ? void 0 : _b.call(_a, filename); },
|
||||
});
|
||||
return function () { return vue.h(props.renderAs === 'svg' ? QrcodeSvg : QrcodeCanvas, {
|
||||
ref: childRef,
|
||||
value: props.value,
|
||||
size: props.size,
|
||||
margin: props.margin,
|
||||
|
|
@ -1336,6 +1376,7 @@ var QrcodeVue = vue.defineComponent({
|
|||
gradientStartColor: props.gradientStartColor,
|
||||
gradientEndColor: props.gradientEndColor,
|
||||
radius: props.radius,
|
||||
id: props.id,
|
||||
}); };
|
||||
},
|
||||
});
|
||||
|
|
|
|||
4
lnbits/static/vendor/vue-i18n.global.prod.js
vendored
4
lnbits/static/vendor/vue-i18n.global.prod.js
vendored
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue