You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
537 B
36 lines
537 B
4 years ago
|
/*
|
||
|
MIT License http://www.opensource.org/licenses/mit-license.php
|
||
|
Author Tobias Koppers @sokra
|
||
|
*/
|
||
|
"use strict";
|
||
|
|
||
|
module.exports = class TrackingSet {
|
||
|
constructor(set) {
|
||
|
this.set = set;
|
||
|
this.set2 = new Set();
|
||
|
this.stack = set.stack;
|
||
|
}
|
||
|
|
||
|
add(item) {
|
||
|
this.set2.add(item);
|
||
|
return this.set.add(item);
|
||
|
}
|
||
|
|
||
|
delete(item) {
|
||
|
this.set2.delete(item);
|
||
|
return this.set.delete(item);
|
||
|
}
|
||
|
|
||
|
has(item) {
|
||
|
return this.set.has(item);
|
||
|
}
|
||
|
|
||
|
createChild() {
|
||
|
return this.set.createChild();
|
||
|
}
|
||
|
|
||
|
getAddedItems() {
|
||
|
return this.set2;
|
||
|
}
|
||
|
};
|