chore(deps): bump underscore from 1.13.7 to 1.13.8 (#3843)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vlad Stan <stan.v.vlad@gmail.com>
This commit is contained in:
dependabot[bot]
2026-03-19 11:11:06 +02:00
committed by GitHub
co-authored by dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Vlad Stan
parent e15f3cd207
commit 92fc9a130f
4 changed files with 138 additions and 120 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+131 -114
View File
@@ -7,13 +7,13 @@
exports.noConflict = function () { global._ = current; return exports; }; exports.noConflict = function () { global._ = current; return exports; };
}())); }()));
}(this, (function () { }(this, (function () {
// Underscore.js 1.13.7 // Underscore.js 1.13.8
// https://underscorejs.org // https://underscorejs.org
// (c) 2009-2024 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors // (c) 2009-2026 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors
// Underscore may be freely distributed under the MIT license. // Underscore may be freely distributed under the MIT license.
// Current version. // Current version.
var VERSION = '1.13.7'; var VERSION = '1.13.8';
// Establish the root object, `window` (`self`) in the browser, `global` // Establish the root object, `window` (`self`) in the browser, `global`
// on the server, or `this` in some virtual machines. We use `self` // on the server, or `this` in some virtual machines. We use `self`
@@ -357,131 +357,146 @@
// We use this string twice, so give it a name for minification. // We use this string twice, so give it a name for minification.
var tagDataView = '[object DataView]'; var tagDataView = '[object DataView]';
// Internal recursive comparison function for `_.isEqual`. // Perform a deep comparison to check if two objects are equal.
function eq(a, b, aStack, bStack) { function isEqual(a, b) {
// Identical objects are equal. `0 === -0`, but they aren't identical. var todo = [{a: a, b: b}];
// See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal). // Initializing stacks of traversed objects for cycle detection.
if (a === b) return a !== 0 || 1 / a === 1 / b; var aStack = [], bStack = [];
// `null` or `undefined` only equal to itself (strict comparison).
if (a == null || b == null) return false; while (todo.length) {
// `NaN`s are equivalent, but non-reflexive. var frame = todo.pop();
if (a !== a) return b !== b; if (frame === true) {
// Exhaust primitive checks // Remove the first object from the stack of traversed objects.
var type = typeof a; aStack.pop();
if (type !== 'function' && type !== 'object' && typeof b != 'object') return false; bStack.pop();
return deepEq(a, b, aStack, bStack); continue;
} }
a = frame.a;
b = frame.b;
// Identical objects are equal. `0 === -0`, but they aren't identical.
// See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal).
if (a === b) {
if (a !== 0 || 1 / a === 1 / b) continue;
return false;
}
// `null` or `undefined` only equal to itself (strict comparison).
if (a == null || b == null) return false;
// `NaN`s are equivalent, but non-reflexive.
if (a !== a) {
if (b !== b) continue;
return false;
}
// Exhaust primitive checks
var type = typeof a;
if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;
// Internal recursive comparison function for `_.isEqual`. // Internal recursive comparison function for `_.isEqual`.
function deepEq(a, b, aStack, bStack) { // Unwrap any wrapped objects.
// Unwrap any wrapped objects. if (a instanceof _$1) a = a._wrapped;
if (a instanceof _$1) a = a._wrapped; if (b instanceof _$1) b = b._wrapped;
if (b instanceof _$1) b = b._wrapped; // Compare `[[Class]]` names.
// Compare `[[Class]]` names. var className = toString.call(a);
var className = toString.call(a); if (className !== toString.call(b)) return false;
if (className !== toString.call(b)) return false; // Work around a bug in IE 10 - Edge 13.
// Work around a bug in IE 10 - Edge 13. if (hasDataViewBug && className == '[object Object]' && isDataView$1(a)) {
if (hasDataViewBug && className == '[object Object]' && isDataView$1(a)) { if (!isDataView$1(b)) return false;
if (!isDataView$1(b)) return false; className = tagDataView;
className = tagDataView; }
} switch (className) {
switch (className) { // These types are compared by value.
// These types are compared by value.
case '[object RegExp]': case '[object RegExp]':
// RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')
case '[object String]': case '[object String]':
// Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is
// equivalent to `new String("5")`. // equivalent to `new String("5")`.
return '' + a === '' + b; if ('' + a === '' + b) continue;
return false;
case '[object Number]': case '[object Number]':
// `NaN`s are equivalent, but non-reflexive. todo.push({a: +a, b: +b});
// Object(NaN) is equivalent to NaN. continue;
if (+a !== +a) return +b !== +b;
// An `egal` comparison is performed for other numeric values.
return +a === 0 ? 1 / +a === 1 / b : +a === +b;
case '[object Date]': case '[object Date]':
case '[object Boolean]': case '[object Boolean]':
// Coerce dates and booleans to numeric primitive values. Dates are compared by their // Coerce dates and booleans to numeric primitive values. Dates are compared by their
// millisecond representations. Note that invalid dates with millisecond representations // millisecond representations. Note that invalid dates with millisecond representations
// of `NaN` are not equivalent. // of `NaN` are not equivalent.
return +a === +b; if (+a === +b) continue;
return false;
case '[object Symbol]': case '[object Symbol]':
return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b); if (SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b)) continue;
return false;
case '[object ArrayBuffer]': case '[object ArrayBuffer]':
case tagDataView: case tagDataView:
// Coerce to typed array so we can fall through. // Coerce to typed array so we can fall through.
return deepEq(toBufferView(a), toBufferView(b), aStack, bStack); todo.push({a: toBufferView(a), b: toBufferView(b)});
} continue;
}
var areArrays = className === '[object Array]'; var areArrays = className === '[object Array]';
if (!areArrays && isTypedArray$1(a)) { if (!areArrays && isTypedArray$1(a)) {
var byteLength = getByteLength(a); var byteLength = getByteLength(a);
if (byteLength !== getByteLength(b)) return false; if (byteLength !== getByteLength(b)) return false;
if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true; if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) continue;
areArrays = true; areArrays = true;
}
if (!areArrays) {
if (typeof a != 'object' || typeof b != 'object') return false;
// Objects with different constructors are not equivalent, but `Object`s or `Array`s
// from different frames are.
var aCtor = a.constructor, bCtor = b.constructor;
if (aCtor !== bCtor && !(isFunction$1(aCtor) && aCtor instanceof aCtor &&
isFunction$1(bCtor) && bCtor instanceof bCtor)
&& ('constructor' in a && 'constructor' in b)) {
return false;
} }
} if (!areArrays) {
// Assume equality for cyclic structures. The algorithm for detecting cyclic if (typeof a != 'object' || typeof b != 'object') return false;
// structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.
// Initializing stack of traversed objects. // Objects with different constructors are not equivalent, but `Object`s or `Array`s
// It's done here since we only need them for objects and arrays comparison. // from different frames are.
aStack = aStack || []; var aCtor = a.constructor, bCtor = b.constructor;
bStack = bStack || []; if (aCtor !== bCtor && !(isFunction$1(aCtor) && aCtor instanceof aCtor &&
var length = aStack.length; isFunction$1(bCtor) && bCtor instanceof bCtor)
while (length--) { && ('constructor' in a && 'constructor' in b)) {
// Linear search. Performance is inversely proportional to the number of return false;
// unique nested structures. }
if (aStack[length] === a) return bStack[length] === b; }
}
// Add the first object to the stack of traversed objects. // Assume equality for cyclic structures. The algorithm for detecting cyclic
aStack.push(a); // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.
bStack.push(b);
// Recursively compare objects and arrays. var length = aStack.length;
if (areArrays) {
// Compare array lengths to determine if a deep comparison is necessary.
length = a.length;
if (length !== b.length) return false;
// Deep compare the contents, ignoring non-numeric properties.
while (length--) { while (length--) {
if (!eq(a[length], b[length], aStack, bStack)) return false; // Linear search. Performance is inversely proportional to the number of
// unique nested structures.
if (aStack[length] === a) {
if (bStack[length] === b) break;
return false;
}
} }
} else { if (length >= 0) continue;
// Deep compare objects.
var _keys = keys(a), key; // Add the first object to the stack of traversed objects.
length = _keys.length; aStack.push(a);
// Ensure that both objects contain the same number of properties before comparing deep equality. bStack.push(b);
if (keys(b).length !== length) return false; todo.push(true);
while (length--) {
// Deep compare each member // Recursively compare objects and arrays.
key = _keys[length]; if (areArrays) {
if (!(has$1(b, key) && eq(a[key], b[key], aStack, bStack))) return false; // Compare array lengths to determine if a deep comparison is necessary.
length = a.length;
if (length !== b.length) return false;
// Deep compare the contents, ignoring non-numeric properties.
while (length--) {
todo.push({a: a[length], b: b[length]});
}
} else {
// Deep compare objects.
var _keys = keys(a), key;
length = _keys.length;
// Ensure that both objects contain the same number of properties before comparing deep equality.
if (keys(b).length !== length) return false;
while (length--) {
// Deep compare each member
key = _keys[length];
if (!has$1(b, key)) return false;
todo.push({a: a[key], b: b[key]});
}
} }
} }
// Remove the first object from the stack of traversed objects.
aStack.pop();
bStack.pop();
return true; return true;
} }
// Perform a deep comparison to check if two objects are equal.
function isEqual(a, b) {
return eq(a, b);
}
// Retrieve all the enumerable property names of an object. // Retrieve all the enumerable property names of an object.
function allKeys(obj) { function allKeys(obj) {
if (!isObject(obj)) return []; if (!isObject(obj)) return [];
@@ -1032,25 +1047,27 @@
var isArrayLike = createSizePropertyCheck(getLength); var isArrayLike = createSizePropertyCheck(getLength);
// Internal implementation of a recursive `flatten` function. // Internal implementation of a recursive `flatten` function.
function flatten$1(input, depth, strict, output) { function flatten$1(input, depth, strict) {
output = output || []; if (!depth && depth !== 0) depth = Infinity;
if (!depth && depth !== 0) { var output = [], idx = 0, i = 0, length = getLength(input) || 0, stack = [];
depth = Infinity; while (true) {
} else if (depth <= 0) { if (i >= length) {
return output.concat(input); if (!stack.length) break;
} var frame = stack.pop();
var idx = output.length; i = frame.i;
for (var i = 0, length = getLength(input); i < length; i++) { input = frame.v;
var value = input[i]; length = getLength(input);
if (isArrayLike(value) && (isArray(value) || isArguments$1(value))) { continue;
}
var value = input[i++];
if (stack.length >= depth) {
output[idx++] = value;
} else if (isArrayLike(value) && (isArray(value) || isArguments$1(value))) {
// Flatten current level of array or arguments object. // Flatten current level of array or arguments object.
if (depth > 1) { stack.push({i: i, v: input});
flatten$1(value, depth - 1, strict, output); i = 0;
idx = output.length; input = value;
} else { length = getLength(input);
var j = 0, len = value.length;
while (j < len) output[idx++] = value[j++];
}
} else if (!strict) { } else if (!strict) {
output[idx++] = value; output[idx++] = value;
} }
+5 -4
View File
@@ -13,7 +13,7 @@
"qrcode.vue": "^3.6.0", "qrcode.vue": "^3.6.0",
"quasar": "2.18.6", "quasar": "2.18.6",
"showdown": "^2.1.0", "showdown": "^2.1.0",
"underscore": "^1.13.7", "underscore": "^1.13.8",
"vue": "3.5.25", "vue": "3.5.25",
"vue-i18n": "^11.2.2", "vue-i18n": "^11.2.2",
"vue-qrcode-reader": "^5.7.3", "vue-qrcode-reader": "^5.7.3",
@@ -1722,9 +1722,10 @@
} }
}, },
"node_modules/underscore": { "node_modules/underscore": {
"version": "1.13.7", "version": "1.13.8",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.8.tgz",
"integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==" "integrity": "sha512-DXtD3ZtEQzc7M8m4cXotyHR+FAS18C64asBYY5vqZexfYryNNnDc02W4hKg3rdQuqOYas1jkseX0+nZXjTXnvQ==",
"license": "MIT"
}, },
"node_modules/vue": { "node_modules/vue": {
"version": "3.5.25", "version": "3.5.25",
+1 -1
View File
@@ -28,7 +28,7 @@
"qrcode.vue": "^3.6.0", "qrcode.vue": "^3.6.0",
"quasar": "2.18.6", "quasar": "2.18.6",
"showdown": "^2.1.0", "showdown": "^2.1.0",
"underscore": "^1.13.7", "underscore": "^1.13.8",
"vue": "3.5.25", "vue": "3.5.25",
"vue-i18n": "^11.2.2", "vue-i18n": "^11.2.2",
"vue-qrcode-reader": "^5.7.3", "vue-qrcode-reader": "^5.7.3",