add equality collection element iterators
This commit is contained in:
@@ -7,6 +7,7 @@ export interface EqualitySet<T> extends Iterable<T> {
|
||||
contains(obj: T): boolean;
|
||||
remove(obj: T): boolean;
|
||||
clear(): void;
|
||||
values(): IterableIterator<T>;
|
||||
}
|
||||
|
||||
class NativeEqualitySet<T> implements EqualitySet<T> {
|
||||
@@ -34,6 +35,10 @@ class NativeEqualitySet<T> implements EqualitySet<T> {
|
||||
this.#set.clear();
|
||||
}
|
||||
|
||||
values() {
|
||||
return this.#set.values();
|
||||
}
|
||||
|
||||
[Symbol.iterator]() {
|
||||
return this.#set[Symbol.iterator]();
|
||||
}
|
||||
@@ -88,6 +93,10 @@ class CustomEqualitySet<T> implements EqualitySet<T> {
|
||||
this.#list.length = 0;
|
||||
}
|
||||
|
||||
values() {
|
||||
return this[Symbol.iterator]();
|
||||
}
|
||||
|
||||
[Symbol.iterator]() {
|
||||
return this.#list[Symbol.iterator]();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user