mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 08:33:30 +01:00
equals function added (#948)
Adds an equals function that checks for differing size and differing key-value pairs, and takes into account the edge case for when there's an entry for the key, but the value is undefined.
This commit is contained in:
committed by
Schuyler Cebulskie
parent
a53dcd52e7
commit
a0b245bfe1
@@ -329,6 +329,22 @@ class Collection extends Map {
|
||||
}
|
||||
return returns;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the collections have identical key-value pairings.
|
||||
* This is different to checking for equality using equal-signs, because
|
||||
* the collections may be different objects, but functionally identical.
|
||||
* @param {Collection} collection Collection to compare with.
|
||||
* @returns {boolean}
|
||||
*/
|
||||
equals(collection) {
|
||||
if (this === collection) return true;
|
||||
if (this.size !== collection.size) return false;
|
||||
return !this.find((value, key) => {
|
||||
const testVal = collection.get(key);
|
||||
return testVal !== value || (testVal === undefined && !collection.has(key));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Collection;
|
||||
|
||||
Reference in New Issue
Block a user