unify logic of SkLatestNote.areEquivalent and SkLatestNote.keyFor

This commit is contained in:
Hazelnoot 2024-10-14 11:35:16 -04:00
parent 5dc700938d
commit e19193c9d0

View file

@ -87,11 +87,14 @@ export class SkLatestNote {
* Checks if two notes would produce equivalent compound keys. * Checks if two notes would produce equivalent compound keys.
*/ */
static areEquivalent(first: MiNote, second: MiNote): boolean { static areEquivalent(first: MiNote, second: MiNote): boolean {
const firstKey = SkLatestNote.keyFor(first);
const secondKey = SkLatestNote.keyFor(second);
return ( return (
first.userId === second.userId && firstKey.userId === secondKey.userId &&
first.visibility === second.visibility && firstKey.isPublic === secondKey.isPublic &&
(first.replyId != null) === (second.replyId != null) && firstKey.isReply === secondKey.isReply &&
(isRenote(first) && isQuote(first)) === (isRenote(second) && isQuote(second)) firstKey.isQuote === secondKey.isQuote
); );
} }
} }