1
0
This commit is contained in:
Herve BECHER
2025-09-10 10:21:37 +02:00
parent 6a23adb75d
commit b6a29cdec2
20 changed files with 480 additions and 259 deletions

21
src/equality-set/types.ts Normal file
View File

@@ -0,0 +1,21 @@
import { MaybeAsyncIterable } from "../types.js";
export interface EqualitySet<T> extends Iterable<T> {
readonly size: number;
add(value: T): boolean;
addAll(values: Iterable<T>): number;
contains(value: T): boolean;
remove(value: T): boolean;
clear(): void;
values(): IterableIterator<T>;
}
export interface AsyncEqualitySet<T> extends Iterable<T> {
readonly size: number;
add(value: T): Promise<boolean>;
addAll(values: MaybeAsyncIterable<T>): Promise<number>;
contains(value: T): Promise<boolean>;
remove(value: T): Promise<boolean>;
clear(): void;
values(): IterableIterator<T>;
}