UNPKG

advanced-map-base

Version:

Abstract base class of advanced-map packages

17 lines (16 loc) 644 B
import { MapLikeConstructor, MapLike } from 'advanced-map-types'; /** * Abstract base class for every Map-like class within `advanced-map` package */ declare abstract class Base<Key, Value, Data extends MapLike<Key, Value> = Map<Key, Value>> implements MapLike<Key, Value> { protected readonly data: Data; abstract has(key: Key): boolean; abstract get(key: Key): Value | undefined; abstract set(key: Key, value: Value): this; abstract delete(key: Key): boolean; /** * @param Map A constructor (a.k.a class) that creates a Map-like instance */ constructor(Map: MapLikeConstructor<Data>); } export = Base;