From c38092c60ed4660df28412a9c906883778204586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20BECHER?= Date: Mon, 13 May 2024 22:43:39 +0200 Subject: [PATCH] add size to async equality map --- src/equality-map.ts | 9 +++++++++ 1 file changed, 9 insertions(+) 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])) {