TrackingSet.js 537 B

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. MIT License http://www.opensource.org/licenses/mit-license.php
  3. Author Tobias Koppers @sokra
  4. */
  5. "use strict";
  6. module.exports = class TrackingSet {
  7. constructor(set) {
  8. this.set = set;
  9. this.set2 = new Set();
  10. this.stack = set.stack;
  11. }
  12. add(item) {
  13. this.set2.add(item);
  14. return this.set.add(item);
  15. }
  16. delete(item) {
  17. this.set2.delete(item);
  18. return this.set.delete(item);
  19. }
  20. has(item) {
  21. return this.set.has(item);
  22. }
  23. createChild() {
  24. return this.set.createChild();
  25. }
  26. getAddedItems() {
  27. return this.set2;
  28. }
  29. };