diff --git a/src/equality-map.ts b/src/equality-map.ts index c91d105..4c962e0 100644 --- a/src/equality-map.ts +++ b/src/equality-map.ts @@ -149,6 +149,7 @@ export function createEqualityMap(keyComparer?: Equater): EqualityMap extends Iterable<[K, V]> { + readonly size: number; get(key: K): Promise; set(key: K, value: V): Promise; contains(key: K): Promise; @@ -162,6 +163,10 @@ export interface AsyncEqualityMap extends Iterable<[K, V]> { class NativeAsyncEqualityMap implements AsyncEqualityMap { readonly #map = new Map(); + get size() { + return this.#map.size; + } + async get(key: K) { return this.#map.get(key); } @@ -211,6 +216,10 @@ class CustomAsyncEqualityMap implements AsyncEqualityMap { this.#keyComparer = keyComparer; } + get size() { + return this.#list.length; + } + async get(key: K) { for (const entry of this.#list) { if (await this.#keyComparer(key, entry[0])) {