Skip to content

Commit 3c947a7

Browse files
committed
build
1 parent 775f509 commit 3c947a7

File tree

1 file changed

+38
-7
lines changed

1 file changed

+38
-7
lines changed

chai.js

Lines changed: 38 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9430,10 +9430,10 @@ function FakeMap() {
94309430
}
94319431

94329432
FakeMap.prototype = {
9433-
get: function getMap(key) {
9433+
get: function get(key) {
94349434
return key[this._key];
94359435
},
9436-
set: function setMap(key, value) {
9436+
set: function set(key, value) {
94379437
if (Object.isExtensible(key)) {
94389438
Object.defineProperty(key, this._key, {
94399439
value: value,
@@ -9625,8 +9625,9 @@ function extensiveDeepEqualByType(leftHandOperand, rightHandOperand, leftHandTyp
96259625
case 'function':
96269626
case 'WeakMap':
96279627
case 'WeakSet':
9628-
case 'Error':
96299628
return leftHandOperand === rightHandOperand;
9629+
case 'Error':
9630+
return keysEqual(leftHandOperand, rightHandOperand, [ 'name', 'message', 'code' ], options);
96309631
case 'Arguments':
96319632
case 'Int8Array':
96329633
case 'Uint8Array':
@@ -9651,6 +9652,19 @@ function extensiveDeepEqualByType(leftHandOperand, rightHandOperand, leftHandTyp
96519652
return entriesEqual(leftHandOperand, rightHandOperand, options);
96529653
case 'Map':
96539654
return entriesEqual(leftHandOperand, rightHandOperand, options);
9655+
case 'Temporal.PlainDate':
9656+
case 'Temporal.PlainTime':
9657+
case 'Temporal.PlainDateTime':
9658+
case 'Temporal.Instant':
9659+
case 'Temporal.ZonedDateTime':
9660+
case 'Temporal.PlainYearMonth':
9661+
case 'Temporal.PlainMonthDay':
9662+
return leftHandOperand.equals(rightHandOperand);
9663+
case 'Temporal.Duration':
9664+
return leftHandOperand.total('nanoseconds') === rightHandOperand.total('nanoseconds');
9665+
case 'Temporal.TimeZone':
9666+
case 'Temporal.Calendar':
9667+
return leftHandOperand.toString() === rightHandOperand.toString();
96549668
default:
96559669
return objectEqual(leftHandOperand, rightHandOperand, options);
96569670
}
@@ -9796,6 +9810,11 @@ function getEnumerableKeys(target) {
97969810
return keys;
97979811
}
97989812

9813+
function getNonEnumerableSymbols(target) {
9814+
var keys = Object.getOwnPropertySymbols(target);
9815+
return keys;
9816+
}
9817+
97999818
/*!
98009819
* Determines if two objects have matching values, given a set of keys. Defers to deepEqual for the equality check of
98019820
* each key. If any value of the given key is not equal, the function will return false (early).
@@ -9828,14 +9847,16 @@ function keysEqual(leftHandOperand, rightHandOperand, keys, options) {
98289847
* @param {Object} [options] (Optional)
98299848
* @return {Boolean} result
98309849
*/
9831-
98329850
function objectEqual(leftHandOperand, rightHandOperand, options) {
98339851
var leftHandKeys = getEnumerableKeys(leftHandOperand);
98349852
var rightHandKeys = getEnumerableKeys(rightHandOperand);
9853+
var leftHandSymbols = getNonEnumerableSymbols(leftHandOperand);
9854+
var rightHandSymbols = getNonEnumerableSymbols(rightHandOperand);
9855+
leftHandKeys = leftHandKeys.concat(leftHandSymbols);
9856+
rightHandKeys = rightHandKeys.concat(rightHandSymbols);
9857+
98359858
if (leftHandKeys.length && leftHandKeys.length === rightHandKeys.length) {
9836-
leftHandKeys.sort();
9837-
rightHandKeys.sort();
9838-
if (iterableEqual(leftHandKeys, rightHandKeys) === false) {
9859+
if (iterableEqual(mapSymbols(leftHandKeys).sort(), mapSymbols(rightHandKeys).sort()) === false) {
98399860
return false;
98409861
}
98419862
return keysEqual(leftHandOperand, rightHandOperand, leftHandKeys, options);
@@ -9872,6 +9893,16 @@ function isPrimitive(value) {
98729893
return value === null || typeof value !== 'object';
98739894
}
98749895

9896+
function mapSymbols(arr) {
9897+
return arr.map(function mapSymbol(entry) {
9898+
if (typeof entry === 'symbol') {
9899+
return entry.toString();
9900+
}
9901+
9902+
return entry;
9903+
});
9904+
}
9905+
98759906
},{"type-detect":39}],36:[function(require,module,exports){
98769907
'use strict';
98779908

0 commit comments

Comments
 (0)