Deduplicate subject updates. Fixes #3.
This commit is contained in:
parent
3617582d37
commit
4d0cc4b2f7
|
@ -95,10 +95,14 @@ export class Graph<SubjectId, ObjectId> implements ObservingGraph<ObjectId> {
|
|||
|
||||
if (workSet.size === 0) break;
|
||||
|
||||
const updatedSubjects = new FlexSet(this.subjectIdCanonicalizer);
|
||||
workSet.forEach(objectId => {
|
||||
this.observersOf(objectId).forEach((subjectId: SubjectId) => {
|
||||
if (!updatedSubjects.has(subjectId)) {
|
||||
updatedSubjects.add(subjectId);
|
||||
this.forgetSubject(subjectId);
|
||||
this.withSubject(subjectId, () => repairNode(subjectId));
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue